Home › Optimization & solvers

Optimization & solvers

LP and MIP, constraint programming, SAT and SMT, metaheuristics, and routing, scheduling and packing heuristics.

LP, MIP & convex solvers

Exact solvers for linear, integer and quadratic programs.

Simplex method

low

Solves linear programs by walking along the edges of the feasible polytope from vertex to vertex, one basis swap (pivot) at a time; the workhorse behind MIP solvers.

exponential worst case (Klee-Minty), polynomial in smoothed analysis; dense tableau costs O(m(n+m)) per pivot

Mixed-integer programming (branch and bound)

medium

Solves LPs with integer variables by solving the LP relaxation, branching on a fractional variable, and pruning subtrees whose LP bound cannot beat the incumbent.

exponential worst case (NP-hard); each node costs one warm-started dual-simplex re-solve, typically a few to tens of pivots

Cutting planes

medium

Valid inequalities added to an LP relaxation to cut off its fractional optimum without removing any integer point; the engine of branch-and-cut MIP solvers.

one dual-simplex re-solve per round plus O(nnz) per cut; Gomory proved finite termination for pure integer programs, but rounds blow up and numerics degrade

Presolve reductions

medium

Cheap, provably safe reductions run before the solver (fix variables, drop rows, tighten bounds and coefficients) so LP and MIP solves start from a smaller, tighter model.

each pass O(nonzeros); iterate to a fixpoint, usually a handful of rounds

Column generation

medium

Solve a huge LP by keeping only a few columns and pricing new ones from a subproblem until none can improve; gives the Dantzig-Wolfe bound.

per iteration one restricted-LP re-solve plus one pricing problem; iterations usually O(rows) to a few times that, with tailing-off near the end

Interior-point method (primal-dual, Mehrotra)

medium

Follows the central path with Newton steps on the perturbed KKT system, one sparse Cholesky per iteration; Mehrotra's predictor-corrector makes it fast.

tens of iterations (general knowledge); each one factorization of A D Aᵀ, m³/3 flops dense

primal dual hybrid gradient

Planned.

quadratic programming

Planned.

stochastic programming

Planned.

SAT, SMT & constraint programming

Boolean and constraint solvers and the encodings that feed them.

Metaheuristics & local search

Good-enough answers for problems too big for exact solvers.

Routing & scheduling

Vehicle routes, tours and machine or runway schedules.

Packing & supply planning

Packing items, planning materials and stock.