3 ms·
I love MIP. It's super useful. I like to think that MIP is a framework that meets halfway between a natural modeling language and a natural solution language.
by philzook 7y ago
I love MIP. It's super useful.
I like to think that MIP is a framework that meets halfway between a natural modeling language and a natural solution language. The reason it's good is that the framework naturally lends itself to abusing linear programming as a subroutine, which can cut out a large amount of search state space. And you tend to find you can encode many problems without too much difficulty with just a handful of tricks.
You can encode a great deal into MIP. Piecewise linearized versions of non linear problems, or logical constraints.
Some interesting applications I've seen or played with:
- Verifying neural nets https://github.com/vtjeng/MIPVerify.jl https://github.com/vtjeng/MIPVerify.jl
- Solving the classical Ising Model http://www.philipzucker.com/solving-the-ising-model-using-a-mixed-integer-linear-program-solver-gurobi/ http://www.philipzucker.com/solving-the-ising-model-using-a-...
- Global Robot arm kinematics http://www.philipzucker.com/2d-robot-arm-inverse-kinematics-using-mixed-integer-programming-in-cvxpy/ http://www.philipzucker.com/2d-robot-arm-inverse-kinematics-...
- model predictive control with collisions constraints http://www.philipzucker.com/flappy-bird-as-a-mixed-integer-program/ http://www.philipzucker.com/flappy-bird-as-a-mixed-integer-p... See Russ Tedrake's group https://groups.csail.mit.edu/locomotion/pubs.shtml https://groups.csail.mit.edu/locomotion/pubs.shtml