# Multiparametric programming

**URL:** https://discourse.julialang.org/t/multiparametric-programming/1316
**Category:** Optimization (Mathematical)
**Created:** [January 5, 2017, 9:51pm UTC](https://discourse.julialang.org/t/multiparametric-programming/1316 "2017-01-05T21:51:19Z")
**Posts on this page:** 1
**Showing post:** 3

<div class="post-metadata">

### Author: ![tkelman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkelman/32/692_2.png) [@tkelman](https://discourse.julialang.org/u/tkelman)
#### Post date: [January 7, 2017, 3:06pm UTC](https://discourse.julialang.org/t/multiparametric-programming/1316/3 "2017-01-07T15:06:40Z")

</div>

See [Parametric programming - Wikipedia](https://en.wikipedia.org/wiki/Parametric_programming) and [https://application.wiley-vch.de/books/sample/3527316914\_c01.pdf](https://application.wiley-vch.de/books/sample/3527316914_c01.pdf). In linear or convex-quadratic constrained optimization problems, if the linear coefficients of the objective function and/or the right-hand-side of the constraints are linear functions of some parameter vector, you can enumerate all the possible optimal active sets and express the optimal solution (w.r.t. the parameter vector) as a piecewise-affine function over polyhedral regions. It’s a really neat application of computational geometry, reducing the solutions to a whole parametric family of optimization problems to a lookup table.

I’m not sure whether there’s any mature Julia package for doing this yet, but many of the pieces that you’d need have been put together in [https://github.com/JuliaPolyhedra](https://github.com/JuliaPolyhedra) (cc @blegat if he’s on discourse, also @joehuchette’s [GitHub - joehuchette/PiecewiseLinearOpt.jl: Solve optimization problems containing piecewise linear functions](https://github.com/joehuchette/PiecewiseLinearOpt.jl) may be related / useful). The standard tool for multiparametric programming is the Matlab toolbox MPT [MPT3 Wiki | Main / HomePage](http://people.ee.ethz.ch/~mpt/3/), but the computationally demanding part is calls into cddlib and related computational geometry operations that there are now Julia wrappers for.

---

_[View the full topic](https://discourse.julialang.org/t/multiparametric-programming/1316)._
