-
Notifications
You must be signed in to change notification settings - Fork 0
/
opt_algo_solvers.qmd
35 lines (26 loc) · 2.07 KB
/
opt_algo_solvers.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
---
title: "Numerical solvers"
bibliography:
- ref_optimization.bib
format:
html:
html-math-method: katex
code-fold: true
execute:
enabled: false
warning: false
jupyter: julia-1.10
---
The number of numerical solvers is huge. First, we give a short biased list of solvers which we may use within this course.
- [Optimization Toolbox for Matlab](https://www.mathworks.com/products/optimization.html): fmincon, fminunc, linprog, quadpro, ... Available within the all-university Matlab license for all students and employees at CTU.
- [Gurobi Optimizer](https://www.gurobi.com/solutions/gurobi-optimizer/): LP, QP, SOCP, MIP, commercial (but free academic license available).
- [IBM ILOG CPLEX](https://www.ibm.com/products/ilog-cplex-optimization-studio/cplex-optimizer): LP, QP, SOCP, MIP, commercial (but free academic license available).
- [MOSEK](https://www.mosek.com): LP, QP, MIP, SOCP, SDP, commercial (but free academic license available).
- [HIGHS](https://highs.dev): LP, QP, MIP, open source.
- [Knitro](https://www.artelys.com/solvers/knitro/): NLP, commercial.
- [Ipopt](https://coin-or.github.io/Ipopt/): NLP, open source.
- [SEDUMI](http://sedumi.ie.lehigh.edu): SOCP, SDP, open source.
- ...
Second, for a reasonably comprehensive and well maintained list of solvers, consult the [NEOS Guide to Optimization](https://neos-guide.org/guide/) web page (in particular the [link at the bottom](https://neos-server.org/neos/solvers/index.html) of that page). Similar list is maintained within Hans Mittelman's [Decision Tree for Optimization Software](https://plato.asu.edu/sub/pns.html) web page.
Working in Matlab and using Yalmip for defining and solving optimization problems, the [list of optimization solvers supported by Yalmip](https://yalmip.github.io/allsolvers/) shows what is available.
Similarly, users of Julia and JuMP will find the [list of solvers supported by JuMP](https://jump.dev/JuMP.jl/stable/installation/#Supported-solvers) useful. The list is worth consulting even if Julia is not the tool of choice, as many solvers are indepdenent of Julia.