<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mintoc.de/index.php?action=history&amp;feed=atom&amp;title=Category%3AGekko</id>
	<title>Category:Gekko - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mintoc.de/index.php?action=history&amp;feed=atom&amp;title=Category%3AGekko"/>
	<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Category:Gekko&amp;action=history"/>
	<updated>2026-06-09T10:28:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://mintoc.de/index.php?title=Category:Gekko&amp;diff=2257&amp;oldid=prev</id>
		<title>JohnHedengren at 19:08, 13 March 2019</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Category:Gekko&amp;diff=2257&amp;oldid=prev"/>
		<updated>2019-03-13T19:08:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:08, 13 March 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GEKKO works on all platforms (Windows, MacOS, Linux, ARM processors) and with Python 2.7 and 3+. By default, the problem is sent to a public server where the solution is computed and returned to Python. There is a Windows and Linux option to solve without an Internet connection. GEKKO is an extension of the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:APMonitor|&lt;/del&gt;APMonitor Optimization Suite&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/del&gt;but has integrated the modeling and solution visualization directly within Python. A mathematical model is expressed in terms of variables and equations such as the Hock &amp;amp; Schittkowski Benchmark Problem #71 used to test the performance of nonlinear programming solvers. This particular optimization problem has an objective function &amp;lt;math&amp;gt;\min_{x\in\mathbb R}\; x_1 x_4 (x_1+x_2+x_3)+x_3&amp;lt;/math&amp;gt; and subject to the inequality constraint &amp;lt;math&amp;gt;x_1 x_2 x_3 x_4 \ge 25&amp;lt;/math&amp;gt; and equality constraint &amp;lt;math&amp;gt;{x_1}^2 + {x_2}^2 + {x_3}^2 + {x_4}^2=40&amp;lt;/math&amp;gt;. The four variables must be between a lower bound of 1 and an upper bound of 5. The initial guess values are &amp;lt;math&amp;gt;x_1 = 1, x_2=5, x_3=5, x_4=1&amp;lt;/math&amp;gt;. This optimization problem is solved with GEKKO as shown below.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GEKKO works on all platforms (Windows, MacOS, Linux, ARM processors) and with Python 2.7 and 3+. By default, the problem is sent to a public server where the solution is computed and returned to Python. There is a Windows and Linux option to solve without an Internet connection. GEKKO is an extension of the APMonitor Optimization Suite but has integrated the modeling and solution visualization directly within Python. A mathematical model is expressed in terms of variables and equations such as the Hock &amp;amp; Schittkowski Benchmark Problem #71 used to test the performance of nonlinear programming solvers. This particular optimization problem has an objective function &amp;lt;math&amp;gt;\min_{x\in\mathbb R}\; x_1 x_4 (x_1+x_2+x_3)+x_3&amp;lt;/math&amp;gt; and subject to the inequality constraint &amp;lt;math&amp;gt;x_1 x_2 x_3 x_4 \ge 25&amp;lt;/math&amp;gt; and equality constraint &amp;lt;math&amp;gt;{x_1}^2 + {x_2}^2 + {x_3}^2 + {x_4}^2=40&amp;lt;/math&amp;gt;. The four variables must be between a lower bound of 1 and an upper bound of 5. The initial guess values are &amp;lt;math&amp;gt;x_1 = 1, x_2=5, x_3=5, x_4=1&amp;lt;/math&amp;gt;. This optimization problem is solved with GEKKO as shown below.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JohnHedengren</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Category:Gekko&amp;diff=2256&amp;oldid=prev</id>
		<title>JohnHedengren: Correct link</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Category:Gekko&amp;diff=2256&amp;oldid=prev"/>
		<updated>2019-03-13T19:07:27Z</updated>

		<summary type="html">&lt;p&gt;Correct link&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:07, 13 March 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GEKKO works on all platforms (Windows, MacOS, Linux, ARM processors) and with Python 2.7 and 3+. By default, the problem is sent to a public server where the solution is computed and returned to Python. There is a Windows and Linux option to solve without an Internet connection. GEKKO is an extension of the [[APMonitor|APMonitor Optimization Suite]] but has integrated the modeling and solution visualization directly within Python. A mathematical model is expressed in terms of variables and equations such as the Hock &amp;amp; Schittkowski Benchmark Problem #71 used to test the performance of nonlinear programming solvers. This particular optimization problem has an objective function &amp;lt;math&amp;gt;\min_{x\in\mathbb R}\; x_1 x_4 (x_1+x_2+x_3)+x_3&amp;lt;/math&amp;gt; and subject to the inequality constraint &amp;lt;math&amp;gt;x_1 x_2 x_3 x_4 \ge 25&amp;lt;/math&amp;gt; and equality constraint &amp;lt;math&amp;gt;{x_1}^2 + {x_2}^2 + {x_3}^2 + {x_4}^2=40&amp;lt;/math&amp;gt;. The four variables must be between a lower bound of 1 and an upper bound of 5. The initial guess values are &amp;lt;math&amp;gt;x_1 = 1, x_2=5, x_3=5, x_4=1&amp;lt;/math&amp;gt;. This optimization problem is solved with GEKKO as shown below.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GEKKO works on all platforms (Windows, MacOS, Linux, ARM processors) and with Python 2.7 and 3+. By default, the problem is sent to a public server where the solution is computed and returned to Python. There is a Windows and Linux option to solve without an Internet connection. GEKKO is an extension of the [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Category:&lt;/ins&gt;APMonitor|APMonitor Optimization Suite]] but has integrated the modeling and solution visualization directly within Python. A mathematical model is expressed in terms of variables and equations such as the Hock &amp;amp; Schittkowski Benchmark Problem #71 used to test the performance of nonlinear programming solvers. This particular optimization problem has an objective function &amp;lt;math&amp;gt;\min_{x\in\mathbb R}\; x_1 x_4 (x_1+x_2+x_3)+x_3&amp;lt;/math&amp;gt; and subject to the inequality constraint &amp;lt;math&amp;gt;x_1 x_2 x_3 x_4 \ge 25&amp;lt;/math&amp;gt; and equality constraint &amp;lt;math&amp;gt;{x_1}^2 + {x_2}^2 + {x_3}^2 + {x_4}^2=40&amp;lt;/math&amp;gt;. The four variables must be between a lower bound of 1 and an upper bound of 5. The initial guess values are &amp;lt;math&amp;gt;x_1 = 1, x_2=5, x_3=5, x_4=1&amp;lt;/math&amp;gt;. This optimization problem is solved with GEKKO as shown below.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JohnHedengren</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Category:Gekko&amp;diff=2255&amp;oldid=prev</id>
		<title>JohnHedengren: Clean up GEKKO page</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Category:Gekko&amp;diff=2255&amp;oldid=prev"/>
		<updated>2019-03-13T19:06:28Z</updated>

		<summary type="html">&lt;p&gt;Clean up GEKKO page&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:06, 13 March 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &#039;&#039;&#039;GEKKO&#039;&#039;&#039; Python package&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;ref&amp;gt;{{cite journal | last=Beal | first=L. | title=GEKKO Optimization Suite | journal=Processes | year=2018 | doi=10.3390/pr6080106  | volume=6 | number=8 | pages=106}}&amp;lt;/ref&amp;gt; &lt;/del&gt;solves large-scale mixed-integer and differential algebraic equations with nonlinear programming solvers (&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;IPOPT&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;APOPT&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/del&gt;, BPOPT, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;SNOPT&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[MINOS_(optimization_software)|&lt;/del&gt;MINOS&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/del&gt;). Modes of operation include machine learning, data reconciliation, real-time optimization, dynamic simulation, and nonlinear &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Model_predictive_control|&lt;/del&gt;model predictive control&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/del&gt;. In addition, the package solves &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;Linear programming&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/del&gt;(LP), &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;Quadratic programming&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/del&gt;(QP), &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;Quadratically constrained quadratic program&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/del&gt;(QCQP), &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;Nonlinear programming&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/del&gt;(NLP), &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;Mixed integer programming&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/del&gt;(MIP), and &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;Mixed integer linear programming&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/del&gt;(MILP). GEKKO is available in Python and installed with pip from PyPI of the Python Software Foundation.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &#039;&#039;&#039;GEKKO&#039;&#039;&#039; Python package solves large-scale mixed-integer and differential algebraic equations with nonlinear programming solvers (IPOPT, APOPT, BPOPT, SNOPT, MINOS). Modes of operation include machine learning, data reconciliation, real-time optimization, dynamic simulation, and nonlinear model predictive control. In addition, the package solves Linear programming (LP), Quadratic programming (QP), Quadratically constrained quadratic program (QCQP), Nonlinear programming (NLP), Mixed integer programming (MIP), and Mixed integer linear programming (MILP). GEKKO is available in Python and installed with pip from PyPI of the Python Software Foundation.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GEKKO works on all platforms (Windows, MacOS, Linux, ARM processors) and with Python 2.7 and 3+. By default, the problem is sent to a public server where the solution is computed and returned to Python. There is a Windows and Linux option to solve without an Internet connection. GEKKO is an extension of the [[APMonitor|APMonitor Optimization Suite]] but has integrated the modeling and solution visualization directly within Python. A mathematical model is expressed in terms of variables and equations such as the Hock &amp;amp; Schittkowski Benchmark Problem #71&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;ref&amp;gt;W. Hock and K. Schittkowski, Test Examples for Nonlinear Programming Codes, Lecture Notes in Economics and Mathematical Systems, Vol. 187, Springer 1981.&amp;lt;/ref&amp;gt; &lt;/del&gt;used to test the performance of &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;nonlinear programming&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/del&gt;solvers. This particular optimization problem has an objective function &amp;lt;math&amp;gt;\min_{x\in\mathbb R}\; x_1 x_4 (x_1+x_2+x_3)+x_3&amp;lt;/math&amp;gt; and subject to the inequality constraint &amp;lt;math&amp;gt;x_1 x_2 x_3 x_4 \ge 25&amp;lt;/math&amp;gt; and equality constraint &amp;lt;math&amp;gt;{x_1}^2 + {x_2}^2 + {x_3}^2 + {x_4}^2=40&amp;lt;/math&amp;gt;. The four variables must be between a lower bound of 1 and an upper bound of 5. The initial guess values are &amp;lt;math&amp;gt;x_1 = 1, x_2=5, x_3=5, x_4=1&amp;lt;/math&amp;gt;. This optimization problem is solved with GEKKO as shown below.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GEKKO works on all platforms (Windows, MacOS, Linux, ARM processors) and with Python 2.7 and 3+. By default, the problem is sent to a public server where the solution is computed and returned to Python. There is a Windows and Linux option to solve without an Internet connection. GEKKO is an extension of the [[APMonitor|APMonitor Optimization Suite]] but has integrated the modeling and solution visualization directly within Python. A mathematical model is expressed in terms of variables and equations such as the Hock &amp;amp; Schittkowski Benchmark Problem #71 used to test the performance of nonlinear programming solvers. This particular optimization problem has an objective function &amp;lt;math&amp;gt;\min_{x\in\mathbb R}\; x_1 x_4 (x_1+x_2+x_3)+x_3&amp;lt;/math&amp;gt; and subject to the inequality constraint &amp;lt;math&amp;gt;x_1 x_2 x_3 x_4 \ge 25&amp;lt;/math&amp;gt; and equality constraint &amp;lt;math&amp;gt;{x_1}^2 + {x_2}^2 + {x_3}^2 + {x_4}^2=40&amp;lt;/math&amp;gt;. The four variables must be between a lower bound of 1 and an upper bound of 5. The initial guess values are &amp;lt;math&amp;gt;x_1 = 1, x_2=5, x_3=5, x_4=1&amp;lt;/math&amp;gt;. This optimization problem is solved with GEKKO as shown below.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l26&quot;&gt;Line 26:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;print(&amp;#039;Objective: &amp;#039; + str(m.options.objfcnval))&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;print(&amp;#039;Objective: &amp;#039; + str(m.options.objfcnval))&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Applications of GEKKO==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Applications include [[Cogeneration|cogeneration (power and heat)]]&amp;lt;ref&amp;gt;{{cite journal | last=Mojica | first=J. | title=Optimal combined long-term facility design and short-term operational strategy for CHP capacity investments | journal=Energy | year=2017 | doi=10.1016/j.energy.2016.12.009 | volume=118 | pages=97–115}}&amp;lt;/ref&amp;gt;, [[Oil well|drilling automation]]&amp;lt;ref&amp;gt;{{cite journal | last=Eaton | first=A. | title=Real time model identification using multi-fidelity models in managed pressure drilling | journal=Computers &amp;amp; Chemical Engineering | year=2017 | doi=10.1016/j.compchemeng.2016.11.008 | volume=97 | pages=76–84}}&amp;lt;/ref&amp;gt;, severe slugging control&amp;lt;ref&amp;gt;{{cite journal | last=Eaton | first=A. | title=Post-installed fiber optic pressure sensors on subsea production risers for severe slugging control | journal=OMAE 2015 Proceedings, St. John&#039;s, Canada | year=2015 | url=http://apm.byu.edu/prism/uploads/Projects/Eaton_OMAE15.pdf}}&amp;lt;/ref&amp;gt;, solar thermal energy production&amp;lt;ref&amp;gt;{{cite journal | last=Powell | first=K. | title=Dynamic Optimization of a Hybrid Solar Thermal and Fossil Fuel System | journal=Solar Energy | year=2014 | doi=10.1016/j.solener.2014.07.004 | volume=108 | pages=210–218}}&amp;lt;/ref&amp;gt;, [[solid oxide fuel cell]]s&amp;lt;ref&amp;gt;{{cite journal | last=Spivey | first=B. | title=Dynamic Modeling of Reliability Constraints in Solid Oxide Fuel Cells and Implications for Advanced Control | journal=AIChE Annual Meeting Proceedings, Salt Lake City, Utah | year=2010 | url=http://apmonitor.com/wiki/uploads/Apps/sofc.pdf}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal | last=Spivey | first=B. | title=Dynamic modeling, simulation, and MIMO predictive control of a tubular solid oxide fuel cell | journal=Journal of Process Control | year=2012 | doi=10.1016/j.jprocont.2012.01.015 | volume=22 | issue=8 | pages=1502–1520}}&amp;lt;/ref&amp;gt;, flow assurance &amp;lt;ref&amp;gt;{{cite journal | last=Hedengren | first=J. | title=New flow assurance system with high speed subsea fiber optic monitoring of pressure and temperature | journal=ASME 37th International Conference on Ocean, Offshore and Arctic Engineering, OMAE2018/78079, Madrid, Spain | pages=V005T04A034 | year=2018| doi=10.1115/OMAE2018-78079 | isbn=978-0-7918-5124-1 }}&amp;lt;/ref&amp;gt;, [[Enhanced oil recovery]] &amp;lt;ref&amp;gt;{{cite journal | last=Udy | first=J. | title=Reduced order modeling for reservoir injection optimization and forecasting | journal=FOCAPO / CPC 2017, Tuscon, AZ | year=2017 | url=https://apm.byu.edu/prism/uploads/Members/udy2017_eor.pdf}}&amp;lt;/ref&amp;gt;, [[Essential oil]] extraction&amp;lt;ref&amp;gt;{{cite journal | last=Valderrama | first=F. | title=An optimal control approach to steam distillation of essential oils from aromatic plants | journal=Computers &amp;amp; Chemical Engineering | volume=117 | pages=25–31 | year=2018 | doi=10.1016/j.compchemeng.2018.05.009 }}&amp;lt;/ref&amp;gt;, and [[Unmanned aerial vehicle|Unmanned Aerial Vehicles (UAVs)]]&amp;lt;ref&amp;gt;{{cite journal | last=Sun | first=L. | title=Optimal Trajectory Generation using Model Predictive Control for Aerially Towed Cable Systems | journal=Journal of Guidance, Control, and Dynamics | year=2013 | url=http://apm.byu.edu/prism/uploads/Members/sun_2013.pdf}}&amp;lt;/ref&amp;gt;. There are many other references to [http://apmonitor.com/wiki/index.php/Main/APMonitorReferences APMonitor and GEKKO] as a sample of the types of applications that can be solved. GEKKO is developed from the National Science Foundation (NSF) research grant #1547110 &amp;lt;ref&amp;gt;{{cite journal | last=Beal | first=L. | title=Integrated scheduling and control in discrete-time with dynamic parameters and constraints | journal=Computers &amp;amp; Chemical Engineering | volume=115 | pages=361–376 | year=2018 | doi=10.1016/j.compchemeng.2018.04.010}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal | last=Beal | first=L. | title=Combined model predictive control and scheduling with dominant time constant compensation | journal=Computers &amp;amp; Chemical Engineering | volume=104 | pages=271–282 | year=2017 | url=https://scholarsarchive.byu.edu/facpub/1905/ | doi=10.1016/j.compchemeng.2017.04.024}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal | last=Beal | first=L. | title=Economic benefit from progressive integration of scheduling and control for continuous chemical processes | journal=Processes | year=2017 | doi=10.3390/pr5040084 | volume=5| issue=4 | pages=84 }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal | last=Petersen | first=D. | title=Combined noncyclic scheduling and advanced control for continuous chemical processes | journal=Processes | year=2017 | doi=10.3390/pr5040083 | volume=5| issue=4 | pages=83 }}&amp;lt;/ref&amp;gt; and is detailed in a Special Issue collection on combined scheduling and control&amp;lt;ref&amp;gt;{{cite journal | last=Hedengren | first=J. | title=Special issue: combined scheduling and control | journal=Processes | volume=6 | issue=3 | pages=24 | year=2018 | url=http://www.mdpi.com/journal/processes/special_issues/Combined_Scheduling | doi=10.3390/pr6030024}}&amp;lt;/ref&amp;gt;. Other notable mentions of GEKKO are the listing in the Decision Tree for Optimization Software&amp;lt;ref&amp;gt;{{cite web |url=http://plato.asu.edu/sub/tools.html |title=Decision Tree for Optimization Software |last=Mittleman |first=Hans |date=1 May 2018 |website=Plato |publisher=Arizona State University |access-date=1 May 2018&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; |quote=Object-oriented python library for mixed-integer and differential-algebraic equations}}&amp;lt;/ref&amp;gt;, added support for [[APOPT]] and BPOPT solvers&amp;lt;ref&amp;gt;{{cite web&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; |url=https://apopt.com |title=Solver Solutions  |publisher=Advanced Process Solutions, LLC |access-date=1 May 2018 |quote=GEKKO Python with APOPT or BPOPT Solvers}}&amp;lt;/ref&amp;gt;, projects reports of the online Dynamic Optimization course from international participants&amp;lt;ref&amp;gt;{{cite web |url=http://apmonitor.com/do/index.php/Main/ProjectLab |title=Dynamic Optimization Projects |last=Everton |first=Colling |website=Petrobras |publisher=Petrobras, Statoil, Facebook |access-date=1 May 2018 |quote=Example Presentation: Everton Colling of Petrobras shares his experience with GEKKO for modeling and nonlinear control of distillation}}&amp;lt;/ref&amp;gt;. GEKKO is a topic in online forums where users are solving optimization and optimal control problems&amp;lt;ref&amp;gt;{{cite web |url=https://groups.google.com/forum/#!searchin/apmonitor/gekko |title=APMonitor Google Group: GEKKO |website=Google |access-date=1 May 2018}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://scicomp.stackexchange.com/questions/83/is-there-a-high-quality-nonlinear-programming-solver-for-python |title=Computational Science: Is there a high quality nonlinear programming solver for Python? |website=SciComp |access-date=1 May 2018}}&amp;lt;/ref&amp;gt;. GEKKO is used for advanced control in the Temperature Control Lab (TCLab)&amp;lt;ref&amp;gt;{{cite web |url=https://media.readthedocs.org/pdf/tclab/stable/tclab.pdf |title=TCLab Documentation |last=Kantor |first=Jeff |date=2 May 2018 |website=ReadTheDocs |publisher=University of Notre Dame |access-date=2 May 2018&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; |quote=pip install tclab}}&amp;lt;/ref&amp;gt; for process control education at 20 universities&amp;lt;ref&amp;gt;{{cite web |url=https://jckantor.github.io/CBE30338/ |title=Chemical Process Control |last=Kantor |first=Jeff |date=2 May 2018 |website=GitHub |publisher=University of Notre Dame |access-date=2 May 2018&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; |quote=Using the Temperature Control Lab (TCLab)}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://apmonitor.com/do/index.php/Main/AdvancedTemperatureControl |title=Advanced Temperature Control Lab |last=Hedengren |first=John |date=2 May 2018 |website=Dynamic Optimization Course |publisher=Brigham Young University |access-date=2 May 2018 |quote=Hands-on applications of advanced temperature control}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://github.com/alchemyst/Dynamics-and-Control |title=Jupyter notebooks for Dynamics and Control |last=Sandrock |first=Carl |date=2 May 2018 |website=GitHub |publisher=University of Pretoria, South Africa |access-date=2 May 2018 |quote=CPN321 (Process Dynamics), and CPB421 (Process Control) at the Chemical Engineering department of the University of Pretoria}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://cache.org/files/winter-2018-dynamic-simulation.pdf |title=CACHE News (Winter 2018): Incorporating Dynamic Simulation into Chemical Engineering Curricula |date=2 May 2018 |website=CACHE: Computer Aids for Chemical Engineering |publisher=University of Texas at Austin |access-date=2 May 2018 |quote=Short Course at the ASEE 2017 Summer School hosted at SCSU by Hedengren (BYU), Grover (Georgia Tech), and Badgwell (ExxonMobil)}}&amp;lt;/ref&amp;gt;.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==References==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{reflist}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== External links ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== External links ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [https://en.wikipedia.org/wiki/Gekko_(optimization_software) GEKKO on Wikipedia]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://gekko.readthedocs.io/en/latest/ GEKKO Documentation]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://gekko.readthedocs.io/en/latest/ GEKKO Documentation]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://github.com/BYU-PRISM/GEKKO GEKKO Source Code]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://github.com/BYU-PRISM/GEKKO GEKKO Source Code]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>JohnHedengren</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Category:Gekko&amp;diff=2254&amp;oldid=prev</id>
		<title>JohnHedengren: Create GEKKO page</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Category:Gekko&amp;diff=2254&amp;oldid=prev"/>
		<updated>2019-03-13T19:03:15Z</updated>

		<summary type="html">&lt;p&gt;Create GEKKO page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;GEKKO&amp;#039;&amp;#039;&amp;#039; Python package&amp;lt;ref&amp;gt;{{cite journal | last=Beal | first=L. | title=GEKKO Optimization Suite | journal=Processes | year=2018 | doi=10.3390/pr6080106  | volume=6 | number=8 | pages=106}}&amp;lt;/ref&amp;gt; solves large-scale mixed-integer and differential algebraic equations with nonlinear programming solvers ([[IPOPT]], [[APOPT]], BPOPT, [[SNOPT]], [[MINOS_(optimization_software)|MINOS]]). Modes of operation include machine learning, data reconciliation, real-time optimization, dynamic simulation, and nonlinear [[Model_predictive_control|model predictive control]]. In addition, the package solves [[Linear programming]] (LP), [[Quadratic programming]] (QP), [[Quadratically constrained quadratic program]] (QCQP), [[Nonlinear programming]] (NLP), [[Mixed integer programming]] (MIP), and [[Mixed integer linear programming]] (MILP). GEKKO is available in Python and installed with pip from PyPI of the Python Software Foundation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
pip install gekko&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
GEKKO works on all platforms (Windows, MacOS, Linux, ARM processors) and with Python 2.7 and 3+. By default, the problem is sent to a public server where the solution is computed and returned to Python. There is a Windows and Linux option to solve without an Internet connection. GEKKO is an extension of the [[APMonitor|APMonitor Optimization Suite]] but has integrated the modeling and solution visualization directly within Python. A mathematical model is expressed in terms of variables and equations such as the Hock &amp;amp; Schittkowski Benchmark Problem #71&amp;lt;ref&amp;gt;W. Hock and K. Schittkowski, Test Examples for Nonlinear Programming Codes, Lecture Notes in Economics and Mathematical Systems, Vol. 187, Springer 1981.&amp;lt;/ref&amp;gt; used to test the performance of [[nonlinear programming]] solvers. This particular optimization problem has an objective function &amp;lt;math&amp;gt;\min_{x\in\mathbb R}\; x_1 x_4 (x_1+x_2+x_3)+x_3&amp;lt;/math&amp;gt; and subject to the inequality constraint &amp;lt;math&amp;gt;x_1 x_2 x_3 x_4 \ge 25&amp;lt;/math&amp;gt; and equality constraint &amp;lt;math&amp;gt;{x_1}^2 + {x_2}^2 + {x_3}^2 + {x_4}^2=40&amp;lt;/math&amp;gt;. The four variables must be between a lower bound of 1 and an upper bound of 5. The initial guess values are &amp;lt;math&amp;gt;x_1 = 1, x_2=5, x_3=5, x_4=1&amp;lt;/math&amp;gt;. This optimization problem is solved with GEKKO as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from gekko import GEKKO&lt;br /&gt;
m = GEKKO() # Initialize gekko&lt;br /&gt;
# Initialize variables&lt;br /&gt;
x1 = m.Var(value=1,lb=1,ub=5)&lt;br /&gt;
x2 = m.Var(value=5,lb=1,ub=5)&lt;br /&gt;
x3 = m.Var(value=5,lb=1,ub=5)&lt;br /&gt;
x4 = m.Var(value=1,lb=1,ub=5)&lt;br /&gt;
# Equations&lt;br /&gt;
m.Equation(x1*x2*x3*x4&amp;gt;=25)&lt;br /&gt;
m.Equation(x1**2+x2**2+x3**2+x4**2==40)&lt;br /&gt;
m.Obj(x1*x4*(x1+x2+x3)+x3) # Objective&lt;br /&gt;
m.solve(disp=False) # Solve&lt;br /&gt;
print(&amp;#039;x1: &amp;#039; + str(x1.value))&lt;br /&gt;
print(&amp;#039;x2: &amp;#039; + str(x2.value))&lt;br /&gt;
print(&amp;#039;x3: &amp;#039; + str(x3.value))&lt;br /&gt;
print(&amp;#039;x4: &amp;#039; + str(x4.value))&lt;br /&gt;
print(&amp;#039;Objective: &amp;#039; + str(m.options.objfcnval))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Applications of GEKKO==&lt;br /&gt;
&lt;br /&gt;
Applications include [[Cogeneration|cogeneration (power and heat)]]&amp;lt;ref&amp;gt;{{cite journal | last=Mojica | first=J. | title=Optimal combined long-term facility design and short-term operational strategy for CHP capacity investments | journal=Energy | year=2017 | doi=10.1016/j.energy.2016.12.009 | volume=118 | pages=97–115}}&amp;lt;/ref&amp;gt;, [[Oil well|drilling automation]]&amp;lt;ref&amp;gt;{{cite journal | last=Eaton | first=A. | title=Real time model identification using multi-fidelity models in managed pressure drilling | journal=Computers &amp;amp; Chemical Engineering | year=2017 | doi=10.1016/j.compchemeng.2016.11.008 | volume=97 | pages=76–84}}&amp;lt;/ref&amp;gt;, severe slugging control&amp;lt;ref&amp;gt;{{cite journal | last=Eaton | first=A. | title=Post-installed fiber optic pressure sensors on subsea production risers for severe slugging control | journal=OMAE 2015 Proceedings, St. John&amp;#039;s, Canada | year=2015 | url=http://apm.byu.edu/prism/uploads/Projects/Eaton_OMAE15.pdf}}&amp;lt;/ref&amp;gt;, solar thermal energy production&amp;lt;ref&amp;gt;{{cite journal | last=Powell | first=K. | title=Dynamic Optimization of a Hybrid Solar Thermal and Fossil Fuel System | journal=Solar Energy | year=2014 | doi=10.1016/j.solener.2014.07.004 | volume=108 | pages=210–218}}&amp;lt;/ref&amp;gt;, [[solid oxide fuel cell]]s&amp;lt;ref&amp;gt;{{cite journal | last=Spivey | first=B. | title=Dynamic Modeling of Reliability Constraints in Solid Oxide Fuel Cells and Implications for Advanced Control | journal=AIChE Annual Meeting Proceedings, Salt Lake City, Utah | year=2010 | url=http://apmonitor.com/wiki/uploads/Apps/sofc.pdf}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal | last=Spivey | first=B. | title=Dynamic modeling, simulation, and MIMO predictive control of a tubular solid oxide fuel cell | journal=Journal of Process Control | year=2012 | doi=10.1016/j.jprocont.2012.01.015 | volume=22 | issue=8 | pages=1502–1520}}&amp;lt;/ref&amp;gt;, flow assurance &amp;lt;ref&amp;gt;{{cite journal | last=Hedengren | first=J. | title=New flow assurance system with high speed subsea fiber optic monitoring of pressure and temperature | journal=ASME 37th International Conference on Ocean, Offshore and Arctic Engineering, OMAE2018/78079, Madrid, Spain | pages=V005T04A034 | year=2018| doi=10.1115/OMAE2018-78079 | isbn=978-0-7918-5124-1 }}&amp;lt;/ref&amp;gt;, [[Enhanced oil recovery]] &amp;lt;ref&amp;gt;{{cite journal | last=Udy | first=J. | title=Reduced order modeling for reservoir injection optimization and forecasting | journal=FOCAPO / CPC 2017, Tuscon, AZ | year=2017 | url=https://apm.byu.edu/prism/uploads/Members/udy2017_eor.pdf}}&amp;lt;/ref&amp;gt;, [[Essential oil]] extraction&amp;lt;ref&amp;gt;{{cite journal | last=Valderrama | first=F. | title=An optimal control approach to steam distillation of essential oils from aromatic plants | journal=Computers &amp;amp; Chemical Engineering | volume=117 | pages=25–31 | year=2018 | doi=10.1016/j.compchemeng.2018.05.009 }}&amp;lt;/ref&amp;gt;, and [[Unmanned aerial vehicle|Unmanned Aerial Vehicles (UAVs)]]&amp;lt;ref&amp;gt;{{cite journal | last=Sun | first=L. | title=Optimal Trajectory Generation using Model Predictive Control for Aerially Towed Cable Systems | journal=Journal of Guidance, Control, and Dynamics | year=2013 | url=http://apm.byu.edu/prism/uploads/Members/sun_2013.pdf}}&amp;lt;/ref&amp;gt;. There are many other references to [http://apmonitor.com/wiki/index.php/Main/APMonitorReferences APMonitor and GEKKO] as a sample of the types of applications that can be solved. GEKKO is developed from the National Science Foundation (NSF) research grant #1547110 &amp;lt;ref&amp;gt;{{cite journal | last=Beal | first=L. | title=Integrated scheduling and control in discrete-time with dynamic parameters and constraints | journal=Computers &amp;amp; Chemical Engineering | volume=115 | pages=361–376 | year=2018 | doi=10.1016/j.compchemeng.2018.04.010}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal | last=Beal | first=L. | title=Combined model predictive control and scheduling with dominant time constant compensation | journal=Computers &amp;amp; Chemical Engineering | volume=104 | pages=271–282 | year=2017 | url=https://scholarsarchive.byu.edu/facpub/1905/ | doi=10.1016/j.compchemeng.2017.04.024}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal | last=Beal | first=L. | title=Economic benefit from progressive integration of scheduling and control for continuous chemical processes | journal=Processes | year=2017 | doi=10.3390/pr5040084 | volume=5| issue=4 | pages=84 }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal | last=Petersen | first=D. | title=Combined noncyclic scheduling and advanced control for continuous chemical processes | journal=Processes | year=2017 | doi=10.3390/pr5040083 | volume=5| issue=4 | pages=83 }}&amp;lt;/ref&amp;gt; and is detailed in a Special Issue collection on combined scheduling and control&amp;lt;ref&amp;gt;{{cite journal | last=Hedengren | first=J. | title=Special issue: combined scheduling and control | journal=Processes | volume=6 | issue=3 | pages=24 | year=2018 | url=http://www.mdpi.com/journal/processes/special_issues/Combined_Scheduling | doi=10.3390/pr6030024}}&amp;lt;/ref&amp;gt;. Other notable mentions of GEKKO are the listing in the Decision Tree for Optimization Software&amp;lt;ref&amp;gt;{{cite web |url=http://plato.asu.edu/sub/tools.html |title=Decision Tree for Optimization Software |last=Mittleman |first=Hans |date=1 May 2018 |website=Plato |publisher=Arizona State University |access-date=1 May 2018&lt;br /&gt;
 |quote=Object-oriented python library for mixed-integer and differential-algebraic equations}}&amp;lt;/ref&amp;gt;, added support for [[APOPT]] and BPOPT solvers&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 |url=https://apopt.com |title=Solver Solutions  |publisher=Advanced Process Solutions, LLC |access-date=1 May 2018 |quote=GEKKO Python with APOPT or BPOPT Solvers}}&amp;lt;/ref&amp;gt;, projects reports of the online Dynamic Optimization course from international participants&amp;lt;ref&amp;gt;{{cite web |url=http://apmonitor.com/do/index.php/Main/ProjectLab |title=Dynamic Optimization Projects |last=Everton |first=Colling |website=Petrobras |publisher=Petrobras, Statoil, Facebook |access-date=1 May 2018 |quote=Example Presentation: Everton Colling of Petrobras shares his experience with GEKKO for modeling and nonlinear control of distillation}}&amp;lt;/ref&amp;gt;. GEKKO is a topic in online forums where users are solving optimization and optimal control problems&amp;lt;ref&amp;gt;{{cite web |url=https://groups.google.com/forum/#!searchin/apmonitor/gekko |title=APMonitor Google Group: GEKKO |website=Google |access-date=1 May 2018}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://scicomp.stackexchange.com/questions/83/is-there-a-high-quality-nonlinear-programming-solver-for-python |title=Computational Science: Is there a high quality nonlinear programming solver for Python? |website=SciComp |access-date=1 May 2018}}&amp;lt;/ref&amp;gt;. GEKKO is used for advanced control in the Temperature Control Lab (TCLab)&amp;lt;ref&amp;gt;{{cite web |url=https://media.readthedocs.org/pdf/tclab/stable/tclab.pdf |title=TCLab Documentation |last=Kantor |first=Jeff |date=2 May 2018 |website=ReadTheDocs |publisher=University of Notre Dame |access-date=2 May 2018&lt;br /&gt;
 |quote=pip install tclab}}&amp;lt;/ref&amp;gt; for process control education at 20 universities&amp;lt;ref&amp;gt;{{cite web |url=https://jckantor.github.io/CBE30338/ |title=Chemical Process Control |last=Kantor |first=Jeff |date=2 May 2018 |website=GitHub |publisher=University of Notre Dame |access-date=2 May 2018&lt;br /&gt;
 |quote=Using the Temperature Control Lab (TCLab)}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://apmonitor.com/do/index.php/Main/AdvancedTemperatureControl |title=Advanced Temperature Control Lab |last=Hedengren |first=John |date=2 May 2018 |website=Dynamic Optimization Course |publisher=Brigham Young University |access-date=2 May 2018 |quote=Hands-on applications of advanced temperature control}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://github.com/alchemyst/Dynamics-and-Control |title=Jupyter notebooks for Dynamics and Control |last=Sandrock |first=Carl |date=2 May 2018 |website=GitHub |publisher=University of Pretoria, South Africa |access-date=2 May 2018 |quote=CPN321 (Process Dynamics), and CPB421 (Process Control) at the Chemical Engineering department of the University of Pretoria}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://cache.org/files/winter-2018-dynamic-simulation.pdf |title=CACHE News (Winter 2018): Incorporating Dynamic Simulation into Chemical Engineering Curricula |date=2 May 2018 |website=CACHE: Computer Aids for Chemical Engineering |publisher=University of Texas at Austin |access-date=2 May 2018 |quote=Short Course at the ASEE 2017 Summer School hosted at SCSU by Hedengren (BYU), Grover (Georgia Tech), and Badgwell (ExxonMobil)}}&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://gekko.readthedocs.io/en/latest/ GEKKO Documentation]&lt;br /&gt;
* [https://github.com/BYU-PRISM/GEKKO GEKKO Source Code]&lt;br /&gt;
* [https://pypi.org/project/gekko GEKKO on PyPI] for Python pip install&lt;br /&gt;
* GEKKO is open-source product of [https://www.nsf.gov/awardsearch/showAward?AWD_ID=1547110 National Science Foundation (NSF) research grant 1547110]&lt;br /&gt;
* [http://apmonitor.com/wiki/index.php/Main/APMonitorReferences References to APMonitor and GEKKO] in the literature&lt;br /&gt;
* [https://apmonitor.com/wiki/index.php/Main/GekkoPythonOptimization 18 examples of GEKKO]: machine learning, optimal control, data regression&lt;/div&gt;</summary>
		<author><name>JohnHedengren</name></author>
	</entry>
</feed>