mobook / MO-book

Hands-On Optimization with Python
MIT License
153 stars 40 forks source link

Provide overview of solvers #73

Open leonlan opened 10 months ago

leonlan commented 10 months ago

The MO-book uses many different solvers to tackle a large variety of optimization problems. Besides a brief introduction of what a solver is in 01/A Basic Pyomo Model, the rest of the notebooks don't mention anything about these solvers. This can be confusing to readers, especially starting from chapter 5, because then ipopt or mosek are used instead of highs to solve the resulting non-linear optimization problems. There's a brief section on why this non-linear optimization solver is used but it's not explicit enough about why it can then be used to solve convex optimization problems. Moreover, there's even a notebook in chapter 5 on using cvxpy, which also adds confusion to why there's another solver for convex optimization problems.

My suggestion is to:

leonlan commented 10 months ago

The actual book talks more about this (section 5.1). Probably good to take inspiration from there.