Using Solvers with Pyomo

Pyomo supports modeling and scripting but does not install a solver automatically. For numerous reasons (including stability and managing intermittent dependency conflicts), Pyomo does not bundle solvers or have strict dependencies on any third-party solvers. The table below lists a subset of the solvers compatible with Pyomo that can be installed using pip or conda. It includes both commercial and open-source solvers – users are responsible for understanding the license requirements for their desired solver.

Table 1 Available Solvers through pip and conda

Solver

Pip

Conda

License
Docs

cplex

pip install cplex

conda install ‑c \ ibmdecisionoptimization cplex

License Docs

CPoptimizer

pip install cplex docplex

conda install ‑c \ ibmdecisionoptimization \        cplex docplex

License Docs

cuOpt

CUDA-version dependent; see the official documentation.

CUDA-version dependent; see the official documentation.

License Docs

cyipopt

pip install cyipopt

conda install ‑c conda‑forge cyipopt

License Docs

glpk

N/A

conda install ‑c conda‑forge glpk

License Docs

Gurobi

pip install gurobipy

conda install ‑c gurobi gurobi

License Docs

HiGHS

pip install highspy

conda install ‑c conda‑forge highspy

License Docs

KNITRO

pip install knitro

N/A

License Docs

MAiNGO

pip install maingopy

N/A

License Docs

PyMUMPS

pip install pymumps

conda install ‑c conda‑forge pymumps

License Docs

SCIP

N/A

conda install ‑c conda‑forge scip

License Docs

XPRESS

pip install xpress

conda install ‑c fico‑xpress xpress

License Docs

Note

We compiled this table of solvers to help you get started, but we encourage you to consult the official documentation of your desired solver for the most up-to-date and detailed information.