Pyomo is a Python-based, open-source algebraic modelling language (AML) with a diverse set of optimization capabilities. It uses an object-oriented design for the definition of optimization models.
In Pyomo, the basic steps of the modelling process are:
- Create model.
- Declare components.
- Instantiate the model.
- Apply solver.
- Interrogate solver results.
Access to a wide range of solvers is build-in, including CBC, GLPK, IPOPT, BARON, CPLEX, and Gurobi – though the solvers need to be installed separately. Pyomo can also send a model to the NEOS Server for solving in the cloud.
For more information: Pyomo