Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


You should use a modeling library which abstracts away from individual solvers, such as pyomo for Python: 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....


We 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


Thanks!

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. :)


I recommend learning linear programming first. It's simple and useful, and makes it easier to understand quadratic programming, convex optimization, etc.


Yeah, way to provide some great references here. Thanks.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: