LP and MILP relaxation sequences for univariate functions
Author sujeevraja
6 Stars
Updated Last
1 Year Ago
Started In
December 2019

Build Status codecov

Latest: Dev:


PolyhedralRelaxations.jl is a Julia package to construct mixed-integer linear programming and linear programming (MILP and LP) relaxations for (i) univariate, continuous, and differentiable functions whose domain is also bounded (ii) bilinear terms with partitions on one of the variables.


  • Clone the repository.
  • Open a terminal in the repo folder and run julia --project=..
  • Hit ] to open the project environment and run test to run unit tests. If you see an error because of missing packages, run resolve.

Check the "examples" folder on how to use this package.

Bug reports and support

Please report any issues via the Github issue tracker. All types of issues are welcome and encouraged; this includes bug reports, documentation typos, feature requests, etc.


If you find PolyhedralRelaxations.jl useful in your work, we kindly request that you cite the following paper (arxiv link):

  title={Sequence of polyhedral relaxations for nonlinear univariate functions},
  author={Sundar, Kaarthik and Sanjeevi, Sujeevraja and Nagarajan, Harsha},
  journal={Optimization and Engineering},
  doi = {10.1007/s11081-021-09609-z},

The MILP relaxations for the bilinear term is not documented any where, but is an extension of the formulation proposed for the univariate MILP relaxation in the above paper. The MILP relaxation for nonlinear, univariate functions is a disjunction of a chain of triangles. For a bilinear term, they can be thought of as a disjunction of a chain of tetrahedrons that share edges (see the documentation for a visualization).

Used By Packages

No packages found.