4 ms·
I hadn't even heard of them before now. Mixed-Integer Programming Solvers is what I found looking up the term. What are the best free ones to check out? And any
by nickpsecurity 8y ago
I hadn't even heard of them before now. Mixed-Integer Programming Solvers is what I found looking up the term. What are the best free ones to check out? And anyone got good tutorials w/ examples? I'll start keeping an eye out for CompSci work on them if they're really useful.
- allenz 8y agoYou should use a modeling library which abstracts away from individual solvers, such as pyomo for Python: http://www.pyomo.org http://www.pyomo.org Gurobi is the fastest solver, and it's free for college students. SCIP, MIPCL, and CBC are the fastest free solvers, in that order. To learn how to formulate a problem as a linear program, you can read through the examples at https://people.eecs.berkeley.edu/~vazirani/algorithms/chap7.pdf https://people.eecs.berkeley.edu/~vazirani/algorithms/chap7....
- nickpsecurity 8y agoThanks! Edit: "Pyomo supports a wide range of problem types, including: Linear programming Quadratic programming Nonlinear programming Mixed-integer linear programming Mixed-integer quadratic programming Mixed-integer nonlinear programming Stochastic programming Generalized disjunctive programming Differential algebraic equations Bilevel programming Mathematical programs with equilibrium constraints" Love it when someone links to one thing that has a pile of links to other useful techniques to learn about. :)
- allenz 8y agoI recommend learning linear programming first. It's simple and useful, and makes it easier to understand quadratic programming, convex optimization, etc.
- cjhanks 8y agoYeah, way to provide some great references here. Thanks.
- aidos 8y agoWe use SCIP in our system and it’s brilliant. They have proper python bindings so the call overhead is low. We reduced what was previously a complex hand optimised algorithm to a handful of equations a weight function. Highly recommended. https://github.com/SCIP-Interfaces/PySCIPOpt https://github.com/SCIP-Interfaces/PySCIPOpt