Python Optimization Package
Main.PythonApp History
Show minor edits - Show changes to markup
APM Python with Demo Applications on GitHub
APM Python with Demo Applications on GitHub
APM Python is designed for large-scale optimization and accesses solvers of constrained, unconstrained, continuous, and discrete problems. Problems in linear programming, quadratic programming, integer programming, nonlinear optimization, systems of dynamic nonlinear equations, and multiobjective optimization can be solved. The platform can find optimal solutions, perform tradeoff analyses, balance multiple design alternatives, and incorporate optimization methods into external modeling and analysis software. It is free for academic and commercial use. A newer Python interface is the GEKKO Optimization Suite that is available with:python pip install gekko
Instructions below are for working with the original APM Python package that requires an APM model and data files. The advantage of working with GEKKO is that the model equations and data are defined directly within the Python language instead of in separate files (see documentation).
APM Python is designed for large-scale optimization and accesses solvers of constrained, unconstrained, continuous, and discrete problems. Problems in linear programming, quadratic programming, integer programming, nonlinear optimization, systems of dynamic nonlinear equations, and multiobjective optimization can be solved. The platform can find optimal solutions, perform tradeoff analyses, balance multiple design alternatives, and incorporate optimization methods into external modeling and analysis software. It is free for academic and commercial use.Recommended: A newer Python interface is the GEKKO Optimization Suite that is available with:
python pip install gekko
Instructions below are for working with the original APM Python package that requires an APM model and data files. The advantage of working with GEKKO is that the model equations and data are defined directly within the Python language instead of in separate files (see documentation). There is also an option to run locally in GEKKO without an Apache server for Linux and Windows. Both APM Python and GEKKO solve optimization problems on public servers by default and this option is available for all platforms (Windows, Linux, MacOS, ARM processors, etc) that run Python.
APM Python is designed for large-scale optimization and accesses solvers of constrained, unconstrained, continuous, and discrete problems. Problems in linear programming, quadratic programming, integer programming, nonlinear optimization, systems of dynamic nonlinear equations, and multiobjective optimization can be solved. The platform can find optimal solutions, perform tradeoff analyses, balance multiple design alternatives, and incorporate optimization methods into external modeling and analysis software. It is free for academic and commercial use. A newer Python interface is the GekkoPythonOptimizationGEKKO Optimization Suite? that is available with:
APM Python is designed for large-scale optimization and accesses solvers of constrained, unconstrained, continuous, and discrete problems. Problems in linear programming, quadratic programming, integer programming, nonlinear optimization, systems of dynamic nonlinear equations, and multiobjective optimization can be solved. The platform can find optimal solutions, perform tradeoff analyses, balance multiple design alternatives, and incorporate optimization methods into external modeling and analysis software. It is free for academic and commercial use. A newer Python interface is the GEKKO Optimization Suite that is available with:
APM Python is designed for large-scale optimization and accesses solvers of constrained, unconstrained, continuous, and discrete problems. Problems in linear programming, quadratic programming, integer programming, nonlinear optimization, systems of dynamic nonlinear equations, and multiobjective optimization can be solved. The platform can find optimal solutions, perform tradeoff analyses, balance multiple design alternatives, and incorporate optimization methods into external modeling and analysis software. It is free for academic and commercial use.
APM Python is designed for large-scale optimization and accesses solvers of constrained, unconstrained, continuous, and discrete problems. Problems in linear programming, quadratic programming, integer programming, nonlinear optimization, systems of dynamic nonlinear equations, and multiobjective optimization can be solved. The platform can find optimal solutions, perform tradeoff analyses, balance multiple design alternatives, and incorporate optimization methods into external modeling and analysis software. It is free for academic and commercial use. A newer Python interface is the GekkoPythonOptimizationGEKKO Optimization Suite? that is available with:python pip install gekko
Instructions below are for working with the original APM Python package that requires an APM model and data files. The advantage of working with GEKKO is that the model equations and data are defined directly within the Python language instead of in separate files (see documentation).
Another method to obtain APMonitor is to include the following code snippet at the beginning of a Python script. If APMonitor is not available, it will use the pip module to install it.
try:
from APMonitor.apm import *
except:
# Automatically install APMonitor
import pip
pip.main(['install','APMonitor'])
from APMonitor.apm import *
Another method to obtain APMonitor is to include the following code snippet at the beginning of a Python script. The installation is only required once and then the code can be commented or removed.
(:source lang=python:) try:
from pip import main as pipmain
except:
from pip._internal import main as pipmain
pipmain(['install','APMonitor'])
- to upgrade: pipmain(['install','--upgrade','APMonitor'])
(:sourceend:)
The Dynamic Optimization Course is graduate level course taught over 14 weeks to introduce concepts in mathematical modeling, data reconciliation, estimation, and control. There are many other applications and instructional material posted to this freely available course web-site.
from apm import *
from APMonitor.apm import *
from apm import *
from APMonitor.apm import *
from APMonitor import *
from apm import *
from APMonitor import *
from apm import *
APM Python is designed for large-scale optimization and accesses solvers of constrained, unconstrained, continuous, and discrete problems. Problems in linear programming, quadratic programming, integer programming, nonlinear optimization, systems of dynamic nonlinear equations, and multiobjective optimization can be solved. The platform can find optimal solutions, perform tradeoff analyses, balance multiple design alternatives, and incorporate optimization methods into external modeling and analysis software. It is free for academic and commercial use. Example applications of nonlinear models with differential and algebraic equations are available for download below or from the following GitHub repository.
APM Python is designed for large-scale optimization and accesses solvers of constrained, unconstrained, continuous, and discrete problems. Problems in linear programming, quadratic programming, integer programming, nonlinear optimization, systems of dynamic nonlinear equations, and multiobjective optimization can be solved. The platform can find optimal solutions, perform tradeoff analyses, balance multiple design alternatives, and incorporate optimization methods into external modeling and analysis software. It is free for academic and commercial use.(:html:) <iframe width="560" height="315" src="https://www.youtube.com/embed/WF3iieZfRA0" frameborder="0" allowfullscreen></iframe> (:htmlend:)
Example applications of nonlinear models with differential and algebraic equations are available for download below or from the following GitHub repository.
(:html:) <iframe width="560" height="315" src="https://www.youtube.com/embed/t84YMw8p34w?rel=0" frameborder="0" allowfullscreen></iframe> (:htmlend:)
The development roadmap for this and other libraries are detailed in the release notes. The zipped archive contains the APM Python library apm.py and a number of example problems in separate folders. Descriptions of the example problems are provided below.
The development roadmap for this and other libraries are detailed in the release notes. The zipped archive contains the APM Python library apm.py and a number of example problems in separate folders. Descriptions of some of the example problems are provided below.
Download APM Python (version 0.7.5) - Released 1 Nov 2016
Download APM Python (version 0.7.6) - Released 31 Jan 2017
Download APM Python (version 0.7.4) - Released 5 Aug 2016
Download APM Python (version 0.7.5) - Released 1 Nov 2016(:source lang=python:) try:
Another method to obtain APMonitor is to include the following code snippet at the beginning of a Python script. If APMonitor is not available, it will use the pip module to install it.
try:
except:
except:
def install(package):
pip.main(['install', package])
# Example
if __name__ == _main_:
install('APMonitor')
pip.main(['install','APMonitor'])
(:sourceend:)
(:source lang=python:) try:
from APMonitor import *
except:
# Automatically install APMonitor
import pip
def install(package):
pip.main(['install', package])
# Example
if __name__ == _main_:
install('APMonitor')
from APMonitor import *
(:sourceend:)
$$ s.t. x_1 x_2 x_3 x_4 \ge 25$$
$$ \mathrm{subject\;to} \quad x_1 x_2 x_3 x_4 \ge 25$$
$$ s.t. x_1 x_2 x_3 x_4 /ge 25$$
$$ x_1^2 + x_2^2 + x_3^2 + x_4^2 = 40$$
$$ 1 \le x_1, x_2, x_3, x_4 \le 5$$
$$ x_0 = (1,5,5,1)$$
$$ s.t. x_1 x_2 x_3 x_4 \ge 25$$
$$\quad x_1^2 + x_2^2 + x_3^2 + x_4^2 = 40$$
$$\quad 1 \le x_1, x_2, x_3, x_4 \le 5$$
$$\quad x_0 = (1,5,5,1)$$
$$ \min \, x_1 x_4 (x_1 + x_2 + x_3) + x_3 $$
$$ \min x_1 x_4 (x_1 + x_2 + x_3) + x_3 $$ $$ s.t. x_1 x_2 x_3 x_4 /ge 25$$ $$ x_1^2 + x_2^2 + x_3^2 + x_4^2 = 40$$ $$ 1 \le x_1, x_2, x_3, x_4 \le 5$$
$$ x_0 = (1,5,5,1)$$
$$ /min /, x_1 x_4 \left(x_1 + x_2 + x_3 \right) + x_3 $$
$$ \min \, x_1 x_4 (x_1 + x_2 + x_3) + x_3 $$

$$ /min /, x_1 x_4 \left(x_1 + x_2 + x_3 \right) + x_3 $$
The APMonitor package is also available through the package manager pip in Python.
python pip install APMonitor
Download APM Python (version 0.7.3) - Released 18 Jun 2016
Download APM Python (version 0.7.4) - Released 5 Aug 2016
Download APM Python (version 0.7.2) - Released 19 Feb 2016
Download APM Python (version 0.7.3) - Released 18 Jun 2016The latest APM Python libraries are attached below. Functionality has been tested with Python 2.7. Example applications that use the apm.py library are listed further down on this page.
Download APM Python (version 0.7.1) - Released 29 Apr 2015The latest APM Python libraries are attached below. Functionality has been tested with Python 2.7 and 3.5. Example applications that use the apm.py library are listed further down on this page.
Download APM Python (version 0.7.2) - Released 19 Feb 2016APM Python
APM Python is designed for large-scale optimization and accesses solvers of constrained, unconstrained, continuous, and discrete problems. Problems in linear programming, quadratic programming, integer programming, nonlinear optimization, systems of dynamic nonlinear equations, and multiobjective optimization can be solved. The platform can find optimal solutions, perform tradeoff analyses, balance multiple design alternatives, and incorporate optimization methods into external modeling and analysis software. It is free for academic and commercial use.
APM Python is designed for large-scale optimization and accesses solvers of constrained, unconstrained, continuous, and discrete problems. Problems in linear programming, quadratic programming, integer programming, nonlinear optimization, systems of dynamic nonlinear equations, and multiobjective optimization can be solved. The platform can find optimal solutions, perform tradeoff analyses, balance multiple design alternatives, and incorporate optimization methods into external modeling and analysis software. It is free for academic and commercial use. Example applications of nonlinear models with differential and algebraic equations are available for download below or from the following GitHub repository.
APM Python with Demo Applications on GitHub- APM IPython Notebook Example on GitHub
(:title Nonlinear Optimization with Python:)
(:title Python Optimization Package:)
Download APM Python (version 0.7.0) - Released 30 Jan 2015
Download APM Python (version 0.7.1) - Released 29 Apr 2015
Download APM Python (version 0.6.1) - Released 5 May 2014
Download APM Python (version 0.7.0) - Released 30 Jan 2015
Download APM Python (version 0.6.0) - Released 20 January 2014
Download APM Python (version 0.6.1) - Released 5 May 2014
Download APM Python (version 0.5.8d) - Released 25 March 2013
Download APM Python (version 0.6.0) - Released 20 January 2014Solve this problem problem from a web-browser interface.
- Solve this optimization problem from a web-browser interface or download the Python source above. The Python files are contained in folder example_hs71.
Hock-Schittkowsky Test Suite #71
Solve this problem problem from a web-browser interface.
Download APM Python (version 0.5.8) - Released 7 January 2013
Download APM Python (version 0.5.8d) - Released 25 March 2013(:html:) <iframe width="560" height="315" src="https://www.youtube.com/embed/t84YMw8p34w?rel=0" frameborder="0" allowfullscreen></iframe> (:htmlend:)
Python offers a powerful scripting capabilities for solving nonlinear optimization problems. The optimization problem is sent to the APMonitor server and results are returned to the Python script. A web-interface to the solution helps to visualize the dynamic optimization problems. Example applications of nonlinear models with differential and algebraic equations are available for download below.
APM Python is designed for large-scale optimization and accesses solvers of constrained, unconstrained, continuous, and discrete problems. Problems in linear programming, quadratic programming, integer programming, nonlinear optimization, systems of dynamic nonlinear equations, and multiobjective optimization can be solved. The platform can find optimal solutions, perform tradeoff analyses, balance multiple design alternatives, and incorporate optimization methods into external modeling and analysis software. It is free for academic and commercial use.
Download APM Python (version 0.5.8) - Released 1 January 2013
Download APM Python (version 0.5.8) - Released 7 January 2013
Download APM Python (version 0.5.7) - Released 7 March 2012
Download APM Python (version 0.5.8) - Released 1 January 2013
Download APM Python (version 0.5.6) - Released 7 March 2012
Download APM Python (version 0.5.7) - Released 7 March 2012