This appendix provides a comprehensive list of optimization software packages organized by problem type. Many commercial solvers offer free academic licenses, making them accessible for educational and research purposes.
| Problem class | Open-source solvers | Commercial solvers1 |
| Linear programming | HiGHS, CLP, GLPK, SoPlex | Gurobi, CPLEX, Xpress, COPT, MOSEK |
| Mixed-integer linear programming | HiGHS, CBC, SCIP2 | Gurobi, CPLEX, Xpress, COPT, MOSEK |
| Quadratic programming | OSQP, HiGHS, Clarabel | Gurobi, CPLEX, MOSEK, KNITRO |
| General nonlinear programming | IPOPT, Bonmin (mixed-integer), NLopt | KNITRO, BARON (global), SNOPT |
The solver landscape changes quickly. For comprehensive, actively maintained solver lists, see the YALMIP solver page maintained by Johan Löfberg and the COIN-OR project.
For the examples in this book, we primarily use:
Gurobi:
A high-performance commercial solver with excellent support for LP, MIP, and QP problems. Free for academic use with registration at https://www.gurobi.com/academia/academic-program-and-licenses/.
GLPK (GNU Linear Programming Kit):
A free, open-source solver for LP and MIP problems. Available at https://www.gnu.org/software/glpk/.
CBC (COIN-OR Branch and Cut):
A free, open-source MIP solver. Part of the COIN-OR project at https://github.com/coin-or/Cbc.
SCIP:
One of the fastest non-commercial solvers for MIP. Free for academic use at https://www.scipopt.org/.
In addition to solvers, you’ll need a way to formulate your optimization problems. We use:
Python with PuLP:
A free, open-source library for formulating LP and MIP problems in Python. Install with pip install pulp.
Python with Gurobipy:
Gurobi’s native Python interface, providing direct access to all Gurobi features. Included with Gurobi installation.
Excel Solver:
Built into Microsoft Excel, suitable for small problems and educational purposes.
AMPL:
A widely used algebraic modeling language. The AMPL Book is available for free download at https://ampl.com/resources/the-ampl-book/chapter-downloads/.
AIMMS:
A commercial modeling system with free academic licenses. Optimization modeling resources available at https://www.aimms.com/english/developers/resources/manuals/optimization-modeling/.
Gurobi provides extensive free educational materials:
Example files and code: https://github.com/Gurobi