<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mintoc.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SebastianSager</id>
	<title>mintOC - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://mintoc.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SebastianSager"/>
	<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Special:Contributions/SebastianSager"/>
	<updated>2026-06-09T07:58:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://mintoc.de/index.php?title=Batch_reactor&amp;diff=2920</id>
		<title>Batch reactor</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Batch_reactor&amp;diff=2920"/>
		<updated>2026-04-16T12:10:55Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 2&lt;br /&gt;
|nu        = 1&lt;br /&gt;
|nc        = 2&lt;br /&gt;
|nre       = 2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This batch reactor problem describes the consecutive reaction of some substance A via substance B into a desired product C.&lt;br /&gt;
&lt;br /&gt;
The system is interacted with via the control function &amp;lt;math&amp;gt; T(t) &amp;lt;/math&amp;gt; which stands for the temperature.&lt;br /&gt;
The goal is to produce as much of substance B (which can then be converted into product C) as possible within the time limit.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
The optimal control problem is given by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{llcl}&lt;br /&gt;
 \displaystyle \max_{x, T} &amp;amp; x_2(t_f)   \\[1.5ex]&lt;br /&gt;
 \mbox{s.t.} &amp;amp; \dot{x}_1 &amp;amp; = &amp;amp; -k_1 x_1^2.\\&lt;br /&gt;
 &amp;amp; \dot{x}_2 &amp;amp; = &amp;amp; k_1 x_1^2 - k_2 x_2,\\&lt;br /&gt;
 &amp;amp; k_1 &amp;amp; = &amp;amp; 4000 \; e^{(-2500/T(t))}, \\&lt;br /&gt;
 &amp;amp; k_2 &amp;amp; = &amp;amp; 620000 \; e^{(-5000/T(t))}, \\[1.5ex]&lt;br /&gt;
 &amp;amp; x(0) &amp;amp;=&amp;amp; (1, 0)^T, \\&lt;br /&gt;
 &amp;amp; T(t) &amp;amp;\in&amp;amp;  [298, 398].&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; x_1(t) &amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt; x_2(t) &amp;lt;/math&amp;gt; represent the concentrations of A and B at timepoint &amp;lt;math&amp;gt; t &amp;lt;/math&amp;gt; respectively. The control function &amp;lt;math&amp;gt; T(t) &amp;lt;/math&amp;gt; represents the temperature.&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
&lt;br /&gt;
The starting time and end time are given by &amp;lt;math&amp;gt; [t_0, t_f] = [0, 1] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Reference Solutions ==&lt;br /&gt;
&lt;br /&gt;
This solution was computed using JuMP with a collocation method and 300 discretization points. The differential equations were solved using the explicit Euler Method. The source code can be found at [[Batch reactor (JuMP)]].&lt;br /&gt;
&lt;br /&gt;
The optimal objective value of the problem is &amp;lt;math&amp;gt;x_2(t_f) = 0.611715&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Reference solution plots&amp;quot; widths=&amp;quot;180px&amp;quot; heights=&amp;quot;140px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
 File:batch_reactor_states_plot.png| Optimal states &amp;lt;math&amp;gt; x_1(t)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_2(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
 File:batch_reactor_control_plot.png| Optimal control &amp;lt;math&amp;gt;u(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
&lt;br /&gt;
Model descriptions are available in&lt;br /&gt;
* [[:Category:Gekko | GEKKO Python code]] at [[Batch reactor (GEKKO)]]&lt;br /&gt;
* [[:Category: Julia/JuMP | JuMP code]] at [[Batch reactor (JuMP)]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
The problem can be found in [http://www.tomopt.com/docs/TOMLAB_PROPT.pdf the Tomlab PROPT guide] or in [http://www.kirp.chtf.stuba.sk/moodle/mod/resource/view.php?id=5464 the Dynopt guide].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;br /&gt;
[[Category:Chemical engineering]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Oil_Shale_Pyrolysis&amp;diff=2474</id>
		<title>Oil Shale Pyrolysis</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Oil_Shale_Pyrolysis&amp;diff=2474"/>
		<updated>2025-07-24T13:18:33Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: /* Mathematical formulation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 4&lt;br /&gt;
|nx        = 4&lt;br /&gt;
|nu        = 1&lt;br /&gt;
|nw        = 0&lt;br /&gt;
|nc        = 4&lt;br /&gt;
|nre       = 0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The following problem is an example from the global optimal control literature and was introduced in &amp;lt;bib id=&amp;quot;Wen1977&amp;quot; /&amp;gt;. The process starts with kerogen and is decomposed into pyrolytic bitumen, oil and gas, and residual carbon. The objective is to maximize the fraction of pyrolytic bitumen. There are 5 reactions including:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_1 \xrightarrow{k_1} A_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_2 \xrightarrow{k_2} A_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_1 + A_2 \xrightarrow{k_3} A_2 + A_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_1 + A_2 \xrightarrow{k_4} A_3 + A_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_1 + A_2 \xrightarrow{k_5} A_4 + A_2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each reaction is governed by a rate described by:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;k_i = k_{i0} \exp{\left(-E_i/RT\right)}, (i=1,2,3,4,5)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{llll}&lt;br /&gt;
 \displaystyle \max_{T} &amp;amp;  \displaystyle x_2(t_N)  \\[1.5ex]&lt;br /&gt;
 \mbox{s.t.} &amp;amp;  \displaystyle \dot{x}_1 &amp;amp;=&amp;amp; -k_1x_1-(k_3+k_4+k_5)x_1x_2\\&lt;br /&gt;
 &amp;amp;  \displaystyle \dot{x}_2 &amp;amp;=&amp;amp; k_1x_1-k_2x_2 + k_3x_1x_2\\&lt;br /&gt;
 &amp;amp;  \displaystyle \dot{x}_3 &amp;amp;=&amp;amp; k_2x_2 + k_4x_1x_2\\&lt;br /&gt;
 &amp;amp;  \displaystyle \dot{x}_4 &amp;amp;=&amp;amp; k_5x_1x_2\\ &lt;br /&gt;
 &amp;amp;  \displaystyle k_i &amp;amp;=&amp;amp; a_i e^{-\frac{b_i}{RT}},\quad \forall i\in \{1,\dots,5\} \\[1.5ex]&lt;br /&gt;
 &amp;amp;  \displaystyle t &amp;amp;\in&amp;amp; \left[t_0,t_N\right] \\&lt;br /&gt;
 &amp;amp;  \displaystyle T(t) &amp;amp;\in&amp;amp; \left[698.15K,748.15K\right]\\&lt;br /&gt;
 &amp;amp;  \displaystyle x(t_0) &amp;amp;=&amp;amp; (1,0,0,0)^T\\&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+State variables&lt;br /&gt;
|-&lt;br /&gt;
|Symbol&lt;br /&gt;
|Initial value (&amp;lt;math&amp;gt;t_0&amp;lt;/math&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;x_1(t_0)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;x_2(t_0)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;0 &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;x_3(t_0)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;0 &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;x_4(t_0)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;0 &amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
|Symbol&lt;br /&gt;
|Value&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;a_1&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;20.3&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;a_2&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;37.4&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;a_3&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;33.8&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;a_4&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;28.2&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;a_5&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;31.0&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;b_1&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\exp{(8.86)}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;b_2&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\exp{(24.25)}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;b_3&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\exp{(23.67)}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;b_4&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\exp{(18.75)}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;b_5&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;\exp{(20.7)}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Control variable&lt;br /&gt;
|-&lt;br /&gt;
|Symbol&lt;br /&gt;
|Interval&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
|[698.15,748.15]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Solutions ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Gekko | GEKKO Python code]] at [[Oil shale pyrolysis (GEKKO)]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, or presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Diels-Alder_Reaction_Experimental_Design&amp;diff=2473</id>
		<title>Diels-Alder Reaction Experimental Design</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Diels-Alder_Reaction_Experimental_Design&amp;diff=2473"/>
		<updated>2025-07-24T12:49:19Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Diels-Alder Reaction&#039;&#039;&#039; is an organic chemical reaction.  &lt;br /&gt;
A conjugated diene and a substituted alkene react and form a substituted cyclohexene system.&lt;br /&gt;
Stefan Körkel used this model in his PhD thesis to compute optimum experimental designs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Model Formulation ==&lt;br /&gt;
&lt;br /&gt;
The reactionkinetics can be modelled by the following differential equation system:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rcl}&lt;br /&gt;
\dot{n_1}(t) &amp;amp;=&amp;amp; -k \cdot \frac{n_1(t) \ \cdot \ n_2(t)}{m_{tot}},   \\&lt;br /&gt;
  &amp;amp; &amp;amp;                                                              \\&lt;br /&gt;
\dot{n_2}(t) &amp;amp;=&amp;amp; -k \cdot \frac{n_1(t) \ \cdot \ n_2(t)}{m_{tot}}, \\&lt;br /&gt;
  &amp;amp; &amp;amp;                                                              \\&lt;br /&gt;
\dot{n_3}(t) &amp;amp;=&amp;amp; \ \ k \cdot \frac{n_1(t) \ \cdot \ n_2(t)}{m_{tot}} \\&lt;br /&gt;
  &amp;amp; &amp;amp;                                                              \\&lt;br /&gt;
\dot{n_4}(t) &amp;amp;=&amp;amp; 0&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The reaction velocity constant &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; consists of two parts. One part reflects the non-catalytic and the other the catalytic reaction. The velocity law follows the Arrhenius relation&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 k = k_1 \ \cdot \ exp(- \frac{E_1}{R} \ \cdot \ (\frac{1}{T(t)} \ - \ \frac{1}{T_{ref}}) ) \ + \ k_{cat} \ \cdot \ c_{cat} \ \cdot \ exp(-\lambda \ \cdot \ t) \ \cdot \ exp( - \frac{E_{cat}}{R} \ \cdot \ (\ \frac{1}{T(t)} \ - \ \frac{1}{T_{ref}}) )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Total mass: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 m_{tot} = n_1 \ \cdot \ M_1 \ + \ n_2 \ \cdot \ M_2 \ + \ n_3 \ \cdot \ M_3 \ + \ n_4 \ \cdot \ M_4 &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Temperature in Kelvin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T(t) = \vartheta (t) + 273&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ODE system is summarized to:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rcl}&lt;br /&gt;
\dot{x}(t) &amp;amp;=&amp;amp; f(x(t), u(t), p) &lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Constraints ==&lt;br /&gt;
&lt;br /&gt;
The control variables are constrained with respect to the mass of sample weights (initial mass):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{cll}&lt;br /&gt;
 0.1 &amp;amp; \le &amp;amp; n_{a1} \ \cdot \ M_1 \ + \ n_{a2} \ \cdot \ M_2 \ + \ n_{a4} \ \cdot \ M_4 \le 10   &lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and to the mass of active ingredient content (fraction of active substances):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{cll}&lt;br /&gt;
 0.1 &amp;amp; \le &amp;amp; \frac{ n_{a1} \ \cdot \ M_1 \ + \ n_{a2} \ \cdot \ M_2 }{ n_{a1} \ \cdot \ M_1 \ + \ n_{a2} \ \cdot \ M_2  \ + \ n_{a4} \ \cdot \ M_4 }  \le 0.7&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optimum Experimental Design Problem ==&lt;br /&gt;
&lt;br /&gt;
The aim is to compute an optimal experimental design &amp;lt;math&amp;gt;\xi = (q,w)&amp;lt;/math&amp;gt; which minimizes the uncertainties of the parameters &amp;lt;math&amp;gt;k_1, k_{cat}, E_1, E_{cat}, \lambda&amp;lt;/math&amp;gt;. So, we have to solve the following optimum experimental design problem:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{cll}&lt;br /&gt;
 \displaystyle \min_{x^i,\ G^i,\ F^i,\ Tc^i,\ n_{a1}^i,\ n_{a2}^i,\ n_{a4}^i,\ c_{kat}^i,\ \vartheta(t)^i} &amp;amp;&amp;amp; trace(F^{-1} (t_{end})) \\[1.5ex]&lt;br /&gt;
 \mbox{s.t.} \\&lt;br /&gt;
\dot{x}^i(t) &amp;amp; = &amp;amp; f(x^i(t), u^i(t),p),   \\&lt;br /&gt;
\\&lt;br /&gt;
 h(t) &amp;amp; = &amp;amp; \frac{n_3(t) \ \cdot \ M_3}{m_{tot}} \ \cdot \ 100 \\&lt;br /&gt;
 \\&lt;br /&gt;
 \dot{G}^i(t) &amp;amp; = &amp;amp; f_x(x^i(t),u^i(t),p)G^i(t) \ + \ f_p(x^i(t),u^i(t),p) \\&lt;br /&gt;
 \\&lt;br /&gt;
 \dot{F}(t) &amp;amp; = &amp;amp; \sum\limits_{i=1}^{4} w^i(t) (h^i_x(x^i(t),u^i(t),p)G^i(t))^T (h^i_x(x^i(t),u(t),p)G^i(t)) \\&lt;br /&gt;
 \\&lt;br /&gt;
 0.1 &amp;amp; \le &amp;amp; n_{a1} \ \cdot \ M_1 \ + \ n_{a2} \ \cdot \ M_2 \ + \ n_{a4} \ \cdot \ M_4    \\&lt;br /&gt;
 \\&lt;br /&gt;
 10 &amp;amp; \ge &amp;amp; n_{a1} \ \cdot \ M_1 \ + \ n_{a2} \ \cdot \ M_2 \ + \ n_{a4} \ \cdot \ M_4     \\&lt;br /&gt;
 \\&lt;br /&gt;
 0.1 &amp;amp; \le &amp;amp; \frac{ n_{a1} \ \cdot \ M_1 \ + \ n_{a2} \ \cdot \ M_2 }{ n_{a1} \ \cdot \ M_1 \ + \ n_{a2} \ \cdot \ M_2  \ + \ n_{a4} \ \cdot \ M_4 }   \\&lt;br /&gt;
 \\&lt;br /&gt;
 0.7 &amp;amp; \ge &amp;amp; \frac{ n_{a1} \ \cdot \ M_1 \ + \ n_{a2} \ \cdot \ M_2 }{ n_{a1} \ \cdot \ M_1 \ + \ n_{a2} \ \cdot \ M_2  \ + \ n_{a4} \ \cdot \ M_4 }   \\&lt;br /&gt;
 \\&lt;br /&gt;
\vartheta(t)  &amp;amp; = &amp;amp; \left\{ \begin{array}{cl} \vartheta_{lo} + 273  &amp;amp; t \in [t_0,2]   \\ &lt;br /&gt;
                                      \vartheta_{lo} + \frac{t-2}{6} ( \vartheta_{up} - \vartheta_{lo} ) + 273  &amp;amp; t \in [2,8]    \\&lt;br /&gt;
                                       \vartheta_{up} + 273  &amp;amp;  t \in [8,t_{end}]&lt;br /&gt;
                     \end{array} \right. \\&lt;br /&gt;
&amp;amp; &amp;amp; x  \in  \mathcal{X},\,u \in \mathcal{U},\, p \in P \\&lt;br /&gt;
 \dot{z}^i(t)   &amp;amp; = &amp;amp; w^i(t)  \\&lt;br /&gt;
z(0) &amp;amp; = &amp;amp; 0 \\&lt;br /&gt;
w^i(t) &amp;amp;\in&amp;amp; [0,1] \\&lt;br /&gt;
0 &amp;amp;  \le &amp;amp; 4 - z^i(t_f). \\&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+State variables&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Symbol&lt;br /&gt;
|Initial value (&amp;lt;math&amp;gt;t_0&amp;lt;/math&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|Molar number 1&lt;br /&gt;
|&amp;lt;math&amp;gt;n_1(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;n_1(t_0) = n_{a1} &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Molar number 2&lt;br /&gt;
|&amp;lt;math&amp;gt;n_2(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;n_2(t_0) = n_{a2} &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Molar number 3&lt;br /&gt;
|&amp;lt;math&amp;gt;n_3(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;n_3(t_0) = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Solvent&lt;br /&gt;
|&amp;lt;math&amp;gt;n_4(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;n_4(t_0) = n_{a4} &amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Constants&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Symbol&lt;br /&gt;
|Value&lt;br /&gt;
|-&lt;br /&gt;
|Molar Mass&lt;br /&gt;
|&amp;lt;math&amp;gt;M_1&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.1362&lt;br /&gt;
|-&lt;br /&gt;
|Molar Mass&lt;br /&gt;
|&amp;lt;math&amp;gt;M_2&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.09806&lt;br /&gt;
|-&lt;br /&gt;
|Molar Mass&lt;br /&gt;
|&amp;lt;math&amp;gt;M_3&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.23426&lt;br /&gt;
|-&lt;br /&gt;
|Molar Mass&lt;br /&gt;
|&amp;lt;math&amp;gt;M_4&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.236&lt;br /&gt;
|-&lt;br /&gt;
|Universal gas constant&lt;br /&gt;
|&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;&lt;br /&gt;
|8.314&lt;br /&gt;
|-&lt;br /&gt;
|Reference temperature&lt;br /&gt;
|&amp;lt;math&amp;gt;T_{ref}&amp;lt;/math&amp;gt;&lt;br /&gt;
|293&lt;br /&gt;
|-&lt;br /&gt;
|St.dev of measurement error&lt;br /&gt;
|&amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt;&lt;br /&gt;
|1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Remember, in an optimum experimental design problem the parameters of the model are fixed. But, we minimize the parameter&#039;s uncertainties by optimizing over the control variables and functions.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Fixed parameters&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Symbol&lt;br /&gt;
|Value&lt;br /&gt;
|-&lt;br /&gt;
|Steric factor&lt;br /&gt;
|&amp;lt;math&amp;gt;k_1&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;p_1 \cdot 0.01&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Steric factor&lt;br /&gt;
|&amp;lt;math&amp;gt;k_{kat}&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;p_2 \cdot 0.10&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Activation energie&lt;br /&gt;
|&amp;lt;math&amp;gt;E_1&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;p_3 \cdot 60000&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Activation energie&lt;br /&gt;
|&amp;lt;math&amp;gt;E_{kat}&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;p_4 \cdot 40000&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Catalyst deactivation coefficient&lt;br /&gt;
|&amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;p_5 \cdot 0.25&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
with &amp;lt;math&amp;gt;p_j = 1, \ j =1, \dots, 5&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Optimization/control variables&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Symbol&lt;br /&gt;
|Interval&lt;br /&gt;
|Initial value Exp 1&lt;br /&gt;
|Initial value Exp 2&lt;br /&gt;
|Initial value Exp 3&lt;br /&gt;
|Initial value Exp 4&lt;br /&gt;
|-&lt;br /&gt;
|Initial molar number 1&lt;br /&gt;
|&amp;lt;math&amp;gt;n_{a1}&amp;lt;/math&amp;gt;&lt;br /&gt;
|[0,10.0]&lt;br /&gt;
|1.0&lt;br /&gt;
|1.0&lt;br /&gt;
|1.0&lt;br /&gt;
|1.0&lt;br /&gt;
|-&lt;br /&gt;
|Initial molar number 2&lt;br /&gt;
|&amp;lt;math&amp;gt;n_{a2}&amp;lt;/math&amp;gt;&lt;br /&gt;
|[0,10.0]&lt;br /&gt;
|1.0&lt;br /&gt;
|1.0&lt;br /&gt;
|1.0&lt;br /&gt;
|1.0&lt;br /&gt;
|-&lt;br /&gt;
|Initial molar number 4&lt;br /&gt;
|&amp;lt;math&amp;gt;n_{a4}&amp;lt;/math&amp;gt;&lt;br /&gt;
|[0.4,9.0]&lt;br /&gt;
|2.0&lt;br /&gt;
|2.0&lt;br /&gt;
|2.0&lt;br /&gt;
|2.0&lt;br /&gt;
|-&lt;br /&gt;
|Concentration of the catalyst&lt;br /&gt;
|&amp;lt;math&amp;gt;c_{kat}&amp;lt;/math&amp;gt;&lt;br /&gt;
|[0,10.0]&lt;br /&gt;
|0.0&lt;br /&gt;
|1.0&lt;br /&gt;
|2.0&lt;br /&gt;
|3.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Control function&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Symbol&lt;br /&gt;
|Time interval&lt;br /&gt;
|Value interval&lt;br /&gt;
|Initial value Exp 1&lt;br /&gt;
|Initial value Exp 2&lt;br /&gt;
|Initial value Exp 3&lt;br /&gt;
|Initial value Exp 4&lt;br /&gt;
|-&lt;br /&gt;
|Initial molar number 1&lt;br /&gt;
|&amp;lt;math&amp;gt;\vartheta(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;[t_0,2]&amp;lt;/math&amp;gt;&lt;br /&gt;
|[20.0,100.0]&lt;br /&gt;
|20.0&lt;br /&gt;
|60.0&lt;br /&gt;
|40.0&lt;br /&gt;
|20.0&lt;br /&gt;
|-&lt;br /&gt;
|Initial molar number 1&lt;br /&gt;
|&amp;lt;math&amp;gt;\vartheta(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;[2,8]&amp;lt;/math&amp;gt;&lt;br /&gt;
|[20.0,100.0]&lt;br /&gt;
|20.0&lt;br /&gt;
|60.0&lt;br /&gt;
|40.0&lt;br /&gt;
|20.0&lt;br /&gt;
|-&lt;br /&gt;
|Initial molar number 1&lt;br /&gt;
|&amp;lt;math&amp;gt;\vartheta(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;[8,t_{end}]&amp;lt;/math&amp;gt;&lt;br /&gt;
|[20.0,100.0]&lt;br /&gt;
|20.0&lt;br /&gt;
|60.0&lt;br /&gt;
|40.0&lt;br /&gt;
|20.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Measurement grid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{llll}&lt;br /&gt;
t_0 = 0  &amp;amp; &amp;amp; &amp;amp;  \\&lt;br /&gt;
t_{end} = 20  &amp;amp; &amp;amp; &amp;amp;  \\&lt;br /&gt;
t_j = j/3, &amp;amp; j = 1,\dots, 15, &amp;amp; t_j = j - 10, &amp;amp; j = 16, \dots, 20.&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
&lt;br /&gt;
* The VPLAN code using [[:Category: VPLAN | VPLAN]] can be found in: [[Diels-Alder Reaction Experimental Design (VPLAN)]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
 R. T. Morrison and R.N. Boyd. Organic Chemistry. Allyn and Bacon, Inc., 4th edition, 1983&lt;br /&gt;
 S. Körkel. Numerische Methoden für Optimale Versuchsplanungsprobleme bei nichtlinearen DAE-Modellen.PhD thesis, Universität Heidelberg, Heidelber,2002&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:Optimum Experimental Design]]&lt;br /&gt;
[[Category:ODE model]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=User:SebastianSager&amp;diff=2472</id>
		<title>User:SebastianSager</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=User:SebastianSager&amp;diff=2472"/>
		<updated>2025-06-05T12:21:49Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: /* Contact */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Prevent creation of a table of content --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;!-- User image&lt;br /&gt;
  You have to upload it first. &lt;br /&gt;
  If you do not want an image comment out the following line. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Image:Sager.jpg|thumb]]&lt;br /&gt;
 &lt;br /&gt;
== Personal ==&lt;br /&gt;
{|&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Name&#039;&#039;&#039;: || Prof. Dr. Sebastian Sager&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Affiliation 1&#039;&#039;&#039;: || [https://mathopt.de Mathematical Algorithmic Optimization], [https://ovgu.de University of Magdeburg]&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Affiliation 2&#039;&#039;&#039;: || [https://www.mpi-magdeburg.mpg.de/oml Optimization and Machine Learning], [https://www.mpi-magdeburg.mpg.de/ Max-Planck Institute Magdeburg]&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Background&#039;&#039;&#039;: || Mathematics&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
{|&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Address&#039;&#039;&#039;: || Universitätsplatz 2, 39108 Magdeburg, Germany&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Web&#039;&#039;&#039;: || work group [https://mathopt.de https://mathopt.de]&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Email&#039;&#039;&#039;: || sager -- ovgu.de&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
I started these pages and am the owner of the domain. Hence, if you have any questions or comments concerning mintOC.de, feel free to write me an email.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Categories&lt;br /&gt;
  Here you can list the categories you are interested in.&lt;br /&gt;
  You can find a list of all categories at [[Special:Categories]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=External_Links&amp;diff=2470</id>
		<title>External Links</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=External_Links&amp;diff=2470"/>
		<updated>2025-04-25T06:49:28Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: /* Benchmark Libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Work Groups =&lt;br /&gt;
&lt;br /&gt;
An incomplete list of work groups interested in aspects of mixed-integer dynamic optimization.&lt;br /&gt;
&lt;br /&gt;
* [http://mathopt.de Mathematical and Computational Optimization], Uni Magdeburg, led by Sebastian Sager&lt;br /&gt;
* [https://www.imtek.de/professuren/systemtheorie Systems Control and Optimization Laboratory], Uni Freiburg, led by Moritz Diehl&lt;br /&gt;
* [http://www.unibw.de/lrt1/gerdts Optimal Control], Universität der Bundeswehr München, led by Matthias Gerdts&lt;br /&gt;
* [http://www.am.uni-erlangen.de/wima Discrete Optimization], Uni Erlangen, led by Alexander Martin&lt;br /&gt;
* [http://www3.mathematik.tu-darmstadt.de/ags/optimization/research/nonlinear-optimization.html Nonlinear Optimization], Uni Darmstadt, led by Stefan Ulbrich&lt;br /&gt;
* [http://www.dyn.bci.tu-dortmund.de/ Process Dynamics and Operations], Uni Dortmund, led by Sebastian Engell&lt;br /&gt;
* [http://www.aices.rwth-aachen.de/organization/institutes/procsyseng Process Systems Engineering], RWTH Aachen, led by Wolfgang Marquardt&lt;br /&gt;
* [http://numero.cheme.cmu.edu/ Biegler Research Group], Carnegie Mellon, led by Larry Biegler&lt;br /&gt;
* [http://www.am.uni-erlangen.de/home/leugering/ Applied Mathematics II], Uni Erlangen, led by Günter Leugering&lt;br /&gt;
* [http://egon.cheme.cmu.edu/ Grossmann Research Group], Carnegie Mellon, led by Ignacio Grossmann&lt;br /&gt;
* [http://www.control.lth.se/user/johan.akesson/ Automatic Control], Lund University, led by Johan Akesson&lt;br /&gt;
* [https://www.tu-braunschweig.de/mo/team/kirches Mathematical Optimization], led by Christian Kirches&lt;br /&gt;
* [http://www.mathematik.tu-clausthal.de/arbeitsgruppen/kontinuierliche-optimierung/ Continuous Optimization], led by Andreas Potschka&lt;br /&gt;
* [https://www.mathematik.hu-berlin.de/de/forschung/forschungsgebiete/mathematische-optimierung/Falk-hante/falk-hante-fp Applied Mathematics], led by Falk Hante&lt;br /&gt;
&lt;br /&gt;
Feel free to update this list!&lt;br /&gt;
&lt;br /&gt;
= Benchmark Libraries =&lt;br /&gt;
&lt;br /&gt;
=== Hybrid Systems ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.ist-hycon.org/ HYCON] network: two benchmark problems have been defined.&lt;br /&gt;
&lt;br /&gt;
=== Optimal Control ===&lt;br /&gt;
&lt;br /&gt;
* The [http://tomdyn.com/ PROPT homepage] (a matlab toolkit for dynamic optimization using collocation) states over 100 test cases from different applications with their results and computation time. &lt;br /&gt;
* With the software package [http://abs-5.me.washington.edu/noc/dsoa.html dsoa] come currently 77 test problems. &lt;br /&gt;
* The ESA provides a [https://www.esa.int/gsp/ACT/projects/gtop/ test set of global optimization spacecraft trajectory problems] and their best putative solutions.&lt;br /&gt;
* The [http://www.mcs.anl.gov/~more/cops/ COPS library] contains around 10 dynamic control and parameter estimation problems&lt;br /&gt;
* The [http://www.optpde.net OPTPDE collection] contains problems in PDE-constrained optimization&lt;br /&gt;
* The [http://plato.asu.edu/pdecon.html PDECON collection] contains discretized PDE problems in AMPL as part of a [http://plato.asu.edu/bench.html larger benchmark effort] by Hans Mittelmann&lt;br /&gt;
&lt;br /&gt;
=== MINLP ===&lt;br /&gt;
&lt;br /&gt;
* CMU-IBM Cyber-Infrastructure for MINLP [http://minlp.org/ collaborative site]&lt;br /&gt;
* MINLPlib &amp;lt;bib id=&amp;quot;Bussieck2003a&amp;quot; /&amp;gt; &lt;br /&gt;
* [http://www.gamsworld.org/performance GAMSWORLD]&lt;br /&gt;
&lt;br /&gt;
=== Generic Optimization ===&lt;br /&gt;
&lt;br /&gt;
* [http://cuter.rl.ac.uk/cuter-www/ CUTEr] is a versatile testing environment for optimization and linear algebra solvers.&lt;br /&gt;
* [http://www.netlib.org/lp/ NETLIB] for linear programming (LP)&lt;br /&gt;
* [http://miplib.zib.de/ MIPLIB] for mixed-integer linear programming (MILP)&lt;br /&gt;
* Schittkowski Library &amp;lt;bib id=&amp;quot;Schittkowski2002&amp;quot; /&amp;gt; for nonlinear programming (LP)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=DOW_Experimental_Design&amp;diff=2455</id>
		<title>DOW Experimental Design</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=DOW_Experimental_Design&amp;diff=2455"/>
		<updated>2024-12-09T08:37:32Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: gmol to mol&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 11&lt;br /&gt;
|nw        = 2&lt;br /&gt;
|nc        = 4&lt;br /&gt;
|nre       = 11&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;DOW Experimental Design problem&#039;&#039;&#039; models the OED problem for the parameter estimation problem formulated by the DOW Chemical Co. in 1981. The following formulation is taken from [[#Biegler1986|[1]]].&lt;br /&gt;
&lt;br /&gt;
== Chemical background ==&lt;br /&gt;
&lt;br /&gt;
The chemical species are disguised for proprietary reasons and the desired reaction is given by &amp;lt;math&amp;gt;HA + 2BM \rightarrow AB + HBMH&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;AB&amp;lt;/math&amp;gt; is the desired product. The reactions are described as follows:&lt;br /&gt;
&lt;br /&gt;
Slow Kinetic Reactions:&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{c}&lt;br /&gt;
 M^- + BM \underset{k_{-1}}{\leftarrow} \overset{k_1}{\rightarrow} MBM^- \\&lt;br /&gt;
 A^- + BM \overset{k_2}{\rightarrow} ABM^- \\&lt;br /&gt;
 M^- + AB \underset{k_{-3}}{\leftarrow} \overset{k_3}{\rightarrow} ABM^- &lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acid-Base Reactions:&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{c}&lt;br /&gt;
 MBMH \leftarrow K_1 \rightarrow MBM^- + H^+ \\&lt;br /&gt;
 HA \leftarrow K_2 \rightarrow A^- + H^+ \\&lt;br /&gt;
 HABM \leftarrow K_3 \rightarrow ABM^- + H^+ &lt;br /&gt;
 \end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In order to devise a model to account for these reactions, it is&lt;br /&gt;
first necessary to distinguish between the overall concentration of&lt;br /&gt;
a species and the concentration of its neutral form. Overall concentrations are defined for three components based on neutral&lt;br /&gt;
and ionic species&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{align}&lt;br /&gt;
  \left[HBMH\right] &amp;amp;= \left[ (MBMH)_N \right] + \left[ MBM^- \right] \\&lt;br /&gt;
  \left[HA\right] &amp;amp;= \left[ (HA)_N \right] + \left[ A^- \right] \\&lt;br /&gt;
  \left[HABM\right] &amp;amp;= \left[ (HABM)_N \right] + \left[ ABM^- \right]&lt;br /&gt;
 \end{align} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
Here &amp;lt;math&amp;gt;[ \ ]&amp;lt;/math&amp;gt; denotes the concentration of the species in &amp;lt;math&amp;gt;\operatorname{mol}/\operatorname{kg}&amp;lt;/math&amp;gt;.&lt;br /&gt;
By assuming the rapid acid-base reactions are at equilibrium, the equilibrium constants &amp;lt;math&amp;gt;K_1,K_2,K_3&amp;lt;/math&amp;gt; can be defined as&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align}&lt;br /&gt;
 K_1 &amp;amp;= \frac{[MBM^-][H^+]}{[(MBMH)_N]} \\&lt;br /&gt;
 K_2 &amp;amp;= \frac{[A^-][H^+]}{[(HA)_N]} \\&lt;br /&gt;
 K_3 &amp;amp;= \frac{[ABM^-][H^+]}{[(HABM)_N]} &lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The anionic species may then be represented by&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align}&lt;br /&gt;
 \left[MBM^-\right] &amp;amp;= \frac{K_1[MBMH]}{K_1 + [H^+]} &amp;amp;&amp;amp; \quad (a) \\&lt;br /&gt;
 \left[A^-\right] &amp;amp;= \frac{K_2[HA]}{K_2 + [H^+]} &amp;amp;&amp;amp; \quad (b)\\&lt;br /&gt;
 \left[ABM^-\right] &amp;amp;= \frac{K_3[HABM]}{K_3 + [H^+]} &amp;amp;&amp;amp; \quad (c)&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
Material balance equations for the three reactants in the slow&lt;br /&gt;
kinetic reactions yield:&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align}&lt;br /&gt;
 \frac{d[M^-]}{dt} &amp;amp;= -k_1 \left[ M^- \right] \left[ BM \right] + k_{-1} \left[ MBM^- \right] - k_3 \left[ M^- \right]\left[ AB \right] + k_{-1} \left[ ABM^- \right] &amp;amp;&amp;amp;  \quad (d)\\&lt;br /&gt;
 \frac{d[BM]}{dt} &amp;amp;= -k_1 \left[ M^- \right] \left[ BM \right] + k_{-1} \left[ MBM^- \right] - k_2 \left[ A^- \right]\left[ BM \right] &amp;amp;&amp;amp;  \quad (e)\\ &lt;br /&gt;
 \frac{d[AB]}{dt} &amp;amp;= -k_3 \left[ M^- \right] \left[ AB \right] + k_{-3} \left[ ABM^- \right]  &amp;amp;&amp;amp;  \quad (f) &lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
From stoichiometry, rate expressions can also be written for&lt;br /&gt;
the total species:&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align}&lt;br /&gt;
 \frac{d[MBMH]}{dt} &amp;amp;= k_1 \left[ M^- \right] \left[ BM \right] + k_{-1} \left[ MBM^- \right]  &amp;amp;&amp;amp;  \quad (g)\\&lt;br /&gt;
 \frac{d[HA]}{dt} &amp;amp;= k_2 \left[ A^- \right] \left[ BM \right] &amp;amp;&amp;amp;  \quad (h)\\&lt;br /&gt;
 \frac{d[HABM]}{dt} &amp;amp;= k_2 \left[ A^- \right] \left[ BM \right] + k_3 \left[ M^- \right] \left[ AB \right] - k_{-3} \left[ ABM^- \right] &amp;amp;&amp;amp;  \quad (i)&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
An electroneutrality constraint gives the hydrogen ion concentration &amp;lt;math&amp;gt;\left[ H^+ \right]&amp;lt;/math&amp;gt; as&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \left[ H^+ \right] + \left[ Q^+ \right] = \left[ M^- \right] + \left[ MBM^- \right] + \left[ A^- \right] + \left[ ABM^- \right] \quad \quad (j)&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Based on similarities of reacting species, we assume&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt; k_3 = k_1, \quad k_{-3} = \frac{1}{2} k_{-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
With these assumptions, the three rate constants &amp;lt;math&amp;gt;k_1,k_2&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;k_{-1}&amp;lt;/math&amp;gt; must be estimated. Each of these can be fitted with two adjustable model parameters, assuming an Arrhenius temperature dependence. That is&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt; &lt;br /&gt;
 \begin{array}{c}&lt;br /&gt;
  k_i = \alpha_i \exp(-E_i /(RT)), \quad i \in \{-1,1,2\}&lt;br /&gt;
 \end{array} &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
Here &amp;lt;math&amp;gt;R \approx 1.98720425864083 \ cal/(K \cdot mol) &amp;lt;/math&amp;gt; is the gas constant and &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; is the reaction temperature in Kelvins. The parameters &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt;, given in &amp;lt;math&amp;gt;mol/( kg \cdot h)&amp;lt;/math&amp;gt;, represent the pre-exponential factors and the &amp;lt;math&amp;gt;E_i&amp;lt;/math&amp;gt;, with unit &amp;lt;math&amp;gt;cal/mol&amp;lt;/math&amp;gt;, are the activation energies.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
The chemical processes &amp;lt;math&amp;gt;(a)-(j)&amp;lt;/math&amp;gt; can be expressed mathematically as six differential equations and four algebraic equations: &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \begin{align}&lt;br /&gt;
  \dot{y}_1 &amp;amp;= -k_2 y_8 y_2 &amp;amp;&amp;amp; \quad (1),(h) \\&lt;br /&gt;
  \dot{y}_2 &amp;amp;= -k_1 y_6 y_2 + k_{-1} y_{10} - k_2 y_8 y_2 &amp;amp;&amp;amp; \quad (2),(e) \\&lt;br /&gt;
  \dot{y}_3 &amp;amp;= k_2 y_8 y_2 + k_1 y_6 y_4 - \frac{1}{2} k_{-1} y_9 &amp;amp;&amp;amp; \quad (3),(i) \\&lt;br /&gt;
  \dot{y}_4 &amp;amp;= -k_1 y_6 y_4  + \frac{1}{2} k_{-1} y_9 &amp;amp;&amp;amp; \quad (4),(f) \\&lt;br /&gt;
  \dot{y}_5 &amp;amp;= k_1 y_6 y_2 - k_{-1} y_{10} &amp;amp;&amp;amp; \quad (5),(g) \\&lt;br /&gt;
  \dot{y}_6 &amp;amp;= -k_1 (y_6 y_2 + y_6 y_4) + k_{-1} (y_{10} + \frac{1}{2} y_9) &amp;amp;&amp;amp; \quad (6),(d) \\&lt;br /&gt;
  y_7 &amp;amp;= -\left[ Q^+ \right] + y_6 + y_8 + y_9 + y_{10} &amp;amp;&amp;amp; \quad (7),(j)\\&lt;br /&gt;
  y_8 &amp;amp;= \frac{\theta_8 y_1}{\theta_8 + y_7} &amp;amp;&amp;amp; \quad (8),(b)\\&lt;br /&gt;
  y_9 &amp;amp;= \frac{\theta_9 y_3}{\theta_9 + y_7} &amp;amp;&amp;amp; \quad (9),(c)\\&lt;br /&gt;
  y_{10} &amp;amp;= \frac{\theta_7 y_5}{\theta_7 + y_7} &amp;amp;&amp;amp; \quad (10),(a)&lt;br /&gt;
  \end{align}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
Here the letters in parentheses stand for the corresponding chemical process and the quantity &amp;lt;math&amp;gt;\left[Q^+\right]=0.00131&amp;lt;/math&amp;gt; is a constant during the reaction.&lt;br /&gt;
The nine parameters form the vector &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
 \theta = (\alpha_1,E_1,\alpha_2,E_2,\alpha_{-1},E_{-1},K_1,K_2,K_3)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The predicted concentrations form the vector &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
 y = (HA,BM,HABM,AB,MBMH,M^-,H^+,A^-,ABM^-,MBM^-)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;math&amp;gt;f_k(\cdot)&amp;lt;/math&amp;gt; denote the right hand side of equation &amp;lt;math&amp;gt;(k)&amp;lt;/math&amp;gt; for &amp;lt;math&amp;gt;k=1,\ldots,6&amp;lt;/math&amp;gt;. &lt;br /&gt;
We reformulate the last four algebraic equations as differential ones:&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \begin{align}&lt;br /&gt;
   \dot{y}_7 &amp;amp;= f_7 = f_6 + f_8 + f_9 + f_{10} &amp;amp;&amp;amp; \quad (7&#039;) \\&lt;br /&gt;
   \dot{y}_8 &amp;amp;= f_8 = \frac{\theta_8 f_1 \cdot (\theta_8 + y_7) - \theta_8 y_1 f_7}{(\theta_8 + y_7)^2} &amp;amp;&amp;amp; \quad (8&#039;) \\&lt;br /&gt;
   \dot{y}_9 &amp;amp;= f_9 = \frac{\theta_9 f_3 \cdot (\theta_9 + y_7) - \theta_9 y_3 f_7}{(\theta_9 + y_7)^2}  &amp;amp;&amp;amp; \quad (9&#039;)\\&lt;br /&gt;
   \dot{y}_{10} &amp;amp;= f_{10} = \frac{\theta_7 f_5 \cdot (\theta_7 + y_7) - \theta_7 y_5 f_7}{(\theta_7 + y_7)^2} &amp;amp;&amp;amp; \quad (10&#039;) &lt;br /&gt;
  \end{align}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The right hand sides of &amp;lt;math&amp;gt;(1)-(6)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;(7&#039;)-(9&#039;)&amp;lt;/math&amp;gt; are summarized as the vector-valued function &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;.&lt;br /&gt;
Moreover, let&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \begin{align}&lt;br /&gt;
  f_{y,m,n}(\cdot) &amp;amp;= \frac{\partial f_m(\cdot)}{\partial y_n}, \quad m,n \in \{1,\ldots,10\} \\&lt;br /&gt;
  f_{\theta,m,n}(\cdot) &amp;amp;= \frac{\partial f_m(\cdot)}{\partial \theta_n}, \quad m \in \{1,\ldots,10\}; \ n\in \{1,\ldots,9\}&lt;br /&gt;
  \end{align}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
&lt;br /&gt;
The initial parameter estimates are:&lt;br /&gt;
&amp;lt;table style=&amp;quot;border-collapse: collapse;&amp;quot; border=&amp;quot;1.&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt; &amp;lt;math&amp;gt; \alpha_1 &amp;lt;/math&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt; &amp;lt;math&amp;gt;2.0 \cdot 10^{13} \ mol / (kg \cdot h)&amp;lt;/math&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;\alpha_2&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;2.0 \cdot 10^{13} \ mol / (kg \cdot h)&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;\alpha_{-1}&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;4.3 \cdot 10^{15} \ mol / (kg \cdot h)&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;E_1&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;2.0 \cdot 10^{4} \ cal / mol&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;E_2&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;2.0 \cdot 10^{4} \ cal / mol &amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;E_{-1}&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;2.0 \cdot 10^{4} \ cal / mol&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;K_1&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;1.0\cdot 10^{-17} \ mol / kg&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;K_2&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;1.0\cdot 10^{-11} \ mol / kg&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;K_3&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;1.0\cdot 10^{-17} \ mol / kg&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are three datasets for different temperatures &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;, with corresponding starting values&lt;br /&gt;
&amp;lt;table style=&amp;quot;border-collapse: collapse;&amp;quot; border=&amp;quot;1.&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;tr style=&amp;quot;border-bottom: 2pt solid black;&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;th style=&amp;quot;border-right: 2pt solid black;&amp;quot;&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
                &amp;lt;th style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt; &amp;lt;math&amp;gt;40^\circ C &amp;lt;/math&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
                &amp;lt;th style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt; &amp;lt;math&amp;gt;67^\circ C &amp;lt;/math&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
                &amp;lt;th style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt; &amp;lt;math&amp;gt;100^\circ C &amp;lt;/math&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt; border-right: 2pt solid black;&amp;quot;&amp;gt; &amp;lt;math&amp;gt; y_1(0) &amp;lt;/math&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt; &amp;lt;math&amp;gt; 1.7066 &amp;lt;/math&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt; &amp;lt;math&amp;gt; 1.6749 &amp;lt;/math&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt; &amp;lt;math&amp;gt; 1.5608 &amp;lt;/math&amp;gt; &amp;lt;/td&amp;gt;            &lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt; border-right: 2pt solid black&amp;quot;&amp;gt;&amp;lt;math&amp;gt;y_2(0)&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;8.32&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;8.2262&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;8.3546&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt; border-right: 2pt solid black&amp;quot;&amp;gt;&amp;lt;math&amp;gt;y_3(0)&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;0.01&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;0.0104&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;0.0082&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt; border-right: 2pt solid black&amp;quot;&amp;gt;&amp;lt;math&amp;gt;y_4(0)&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;0.0017&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;text-align: center; padding:5pt&amp;quot;&amp;gt;&amp;lt;math&amp;gt;0.0086&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \begin{array}{lccc}&lt;br /&gt;
   &amp;amp; 40^\circ C &amp;amp; 67^\circ C &amp;amp; 100^\circ C \\&lt;br /&gt;
  y_1(0) = &amp;amp; 1.7066 &amp;amp; 1.6749 &amp;amp; 1.5608 \\&lt;br /&gt;
  y_2(0) = &amp;amp; 8.32 &amp;amp; 8.2262 &amp;amp; 8.3546 \\&lt;br /&gt;
  y_3(0) = &amp;amp; 0.01 &amp;amp; 0.0104 &amp;amp; 0.0082 \\&lt;br /&gt;
  y_4 (0) = &amp;amp; 0 &amp;amp; 0.0017 &amp;amp; 0.0086&lt;br /&gt;
  \end{array}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
The initial model conditions in addition to those given in the&lt;br /&gt;
data sets are:&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \begin{array}{l}&lt;br /&gt;
   y_5 = 0 \\&lt;br /&gt;
   y_6 = 0.0131 \\&lt;br /&gt;
   y_7 = \frac{1}{2} \cdot \left( -K_2 + \sqrt{K_2^2 + 4K_2 y_1(0)} \right) \\&lt;br /&gt;
   y_8 = y_7 \\&lt;br /&gt;
   y_9 = 0 \\&lt;br /&gt;
   y_{10} = 0&lt;br /&gt;
  \end{array}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optimal Experimental Design Problem ==&lt;br /&gt;
To be specified.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
To simplify the notation, the derivatives of the &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; with respect to the &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;E_i&amp;lt;/math&amp;gt; are written as&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \begin{align}&lt;br /&gt;
  k_{i,\alpha} &amp;amp;:= \frac{\partial k_i}{\partial \alpha_i} = \exp(-E_i/(RT)) \\&lt;br /&gt;
  k_{i,E} &amp;amp;:= \frac{\partial k_i}{\partial E_i} = -\frac{\alpha_i}{RT} \exp(-E_i/(RT))&lt;br /&gt;
  \end{align}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The non-zero derivatives for the first six components are given by&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{array}{lcl}&lt;br /&gt;
 f_{y,1,2} = -k_2 y_8 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,1,8} = -k_2 y_2 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,2,2} = -k_1 y_6 - k_2 y_8 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,2,6} = -k_1 y_2 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,2,8} = -k_2 y_2 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,2,10} = k_{-1} &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,3,2} = -k_2 y_8 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,3,4} = k_1 y_6 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,3,6} = k_1 y_4 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,3,8} = -k_2 y_2 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,3,9} = -\frac{1}{2} k_{-1} &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,4,4} = -k_1 y_6 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,4,6} = -k_1 y_4 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,4,9} = \frac{1}{2} k_{-1} &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,5,2} = -k_1 y_6 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,5,6} = -k_1 y_2 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,5,10} = k_{-1} &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,6,2} = -k_1 y_6 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,6,4} = -k_1 y_6 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,6,6} = -k_1 (y_2 + y_4) &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,6,9} = \frac{1}{2} k_{-1} &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,6,10} = k_{-1} &amp;amp; &amp;amp;&lt;br /&gt;
 \end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
We are interested in when to measure (with an upper bound &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; on the measuring time for each observable). &lt;br /&gt;
We define &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{align}&lt;br /&gt;
  f_y(\cdot) &amp;amp;\in \mathbb{R}^{10 \times 10} \quad &amp;amp;&amp;amp;\text{ with } (f_y)_{i,j} = f_{y,i,j}, \\&lt;br /&gt;
  f_\theta(\cdot) &amp;amp;\in \mathbb{R}^{10 \times 9} \quad &amp;amp;&amp;amp;\text{ with } (f_\theta)_{i,j} = f_{\theta,i,j}&lt;br /&gt;
 \end{align}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt; &lt;br /&gt;
In this approach, we add the so-called sensitivities &amp;lt;math&amp;gt;G=dy/d\theta&amp;lt;/math&amp;gt;. For the differential equations this means&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \dot{G}(t) = f_y(y(t),\theta) G(t) + f_\theta(y(t),\theta), \quad G(0) = \frac{\partial y(0)}{\partial \theta}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we formulate the OED problem as described in [[#OEDUDE | [2]]].&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{array}{lll}&lt;br /&gt;
 \displaystyle \min_{y,G,F,z,w} &amp;amp;&amp;amp; \text{trace} \; \left( F^{-1}(t_f) \right) \\&lt;br /&gt;
 \text{subject to} \\&lt;br /&gt;
\quad \dot{y}(t) &amp;amp; = &amp;amp; f(y(t),\theta) \\&lt;br /&gt;
\quad \dot{G}(t) &amp;amp; = &amp;amp; f_y(y(t),\theta) G(t) + f_\theta(y(t),\theta) \\&lt;br /&gt;
\quad \dot{F}(t) &amp;amp; = &amp;amp; \sum_{i=1}^{n_o} w_i(t)(h^i_y(y(t))G(t))^T(h^i_y(y(t))G(t)) \\&lt;br /&gt;
\quad \dot{z}(t) &amp;amp; = &amp;amp; w(t), \\&lt;br /&gt;
\quad y(0) &amp;amp; = &amp;amp; y_0 \\&lt;br /&gt;
\quad G(0) &amp;amp; = &amp;amp; \frac{\partial y(0)}{\partial \theta} \\&lt;br /&gt;
\quad F(0) &amp;amp; = &amp;amp; 0, \\ &lt;br /&gt;
\quad z(0) &amp;amp; = &amp;amp; 0 \\&lt;br /&gt;
\quad w(t) &amp;amp; \in &amp;amp; \mathcal{W} \\&lt;br /&gt;
\quad z_i(t_f) &amp;amp; \leq &amp;amp; M_i&lt;br /&gt;
  \end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here &amp;lt;math&amp;gt;h:\mathbb{R}^{10} \rightarrow \mathbb{R}^{n_o}&amp;lt;/math&amp;gt; is the observed function. The&lt;br /&gt;
evolution of the symmetric matrix &amp;lt;math&amp;gt;F: \left[0,t_f \right] \rightarrow \mathbb{R}^{9 \times 9}&amp;lt;/math&amp;gt; is given by the weighted sum of observability Gramians&lt;br /&gt;
&amp;lt;math&amp;gt;h^i_y (y(t)) G(t), \ i = 1,\ldots,n_o&amp;lt;/math&amp;gt; for each observed function of states. The weights &amp;lt;math&amp;gt;w_i (t) \in \{0, 1\}, \ i = 1,\ldots,n_o&amp;lt;/math&amp;gt;&lt;br /&gt;
are the (binary) sampling decisions, where &amp;lt;math&amp;gt; w_i (t) = 1 &amp;lt;/math&amp;gt; denotes the decision to perform a measurement at&lt;br /&gt;
time &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous and Further Reading ==&lt;br /&gt;
To be specified.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Biegler1986&amp;quot;&amp;gt;[1]&amp;lt;/span&amp;gt; &amp;quot;Nonlinear Parameter Estimation: a Case Study Comparison&amp;quot; by L. T. Biegler and J. J. Damiano  &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;OEDUDE&amp;quot;&amp;gt;[2]&amp;lt;/span&amp;gt; &amp;quot;Optimal Experimental Design for Universal Differential Equations&amp;quot; by C. Plate, C.J. Martensen and S. Sager &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;Stortelder1998&amp;quot;&amp;gt;[3]&amp;lt;/span&amp;gt; &amp;quot;Parameter estimation in nonlinear systems&amp;quot; by W.J.H. Stortelder &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:Optimum Experimental Design]]&lt;br /&gt;
[[Category:ODE model]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=DOW_Experimental_Design&amp;diff=2394</id>
		<title>DOW Experimental Design</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=DOW_Experimental_Design&amp;diff=2394"/>
		<updated>2024-09-24T10:36:43Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: Some readjustments&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 11&lt;br /&gt;
|nw        = 2&lt;br /&gt;
|nc        = 4&lt;br /&gt;
|nre       = 11&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;DOW Experimental Design problem&#039;&#039;&#039; models the OED problem for the parameter estimation problem formulated by the DOW Chemical Co. in 1981. The following formulation is taken from &amp;quot;Nonlinear Parameter Estimation:&lt;br /&gt;
a Case Study Comparison&amp;quot; by L. T. Biegler and J. J. Damiano &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;add quote&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Chemical background ==&lt;br /&gt;
&lt;br /&gt;
The chemical species are disguised for proprietary reasons and the desired reaction is given by &amp;lt;math&amp;gt;HA + 2BM \rightarrow AB + HBMH&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;AB&amp;lt;/math&amp;gt; is the desired product. The reactions are described as follows:&lt;br /&gt;
&lt;br /&gt;
Slow Kinetic Reactions:&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{c}&lt;br /&gt;
 M^- + BM \underset{k_{-1}}{\leftarrow} \overset{k_1}{\rightarrow} MBM^- \\&lt;br /&gt;
 A^- + BM \overset{k_2}{\rightarrow} ABM^- \\&lt;br /&gt;
 M^- + AB \underset{k_{-3}}{\leftarrow} \overset{k_3}{\rightarrow} ABM^- &lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acid-Base Reactions:&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{c}&lt;br /&gt;
 MBMH \leftarrow K_1 \rightarrow MBM^- + H^+ \\&lt;br /&gt;
 HA \leftarrow K_2 \rightarrow A^- + H^+ \\&lt;br /&gt;
 HABM \leftarrow K_2 \rightarrow ABM^- + H^+ &lt;br /&gt;
 \end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In order to devise a model to account for these reactions, it is&lt;br /&gt;
first necessary to distinguish between the overall concentration of&lt;br /&gt;
a species and the concentration of its neutral form. Overall concentrations are defined for three components based on neutral&lt;br /&gt;
and ionic species&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{array}{c} &lt;br /&gt;
  \left[HBMH\right] = \left[ (MBMH)_N \right] + \left[ MBM^- \right] \\&lt;br /&gt;
  \left[HA\right] = \left[ (HA)_N \right] + \left[ A^- \right] \\&lt;br /&gt;
  \left[HABM\right] = \left[ (HABM)_N \right] + \left[ ABM^- \right]&lt;br /&gt;
 \end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
Here &amp;lt;math&amp;gt;[ \ ]&amp;lt;/math&amp;gt; denotes the concentration of the species in &amp;lt;math&amp;gt;\operatorname{gmol}/\operatorname{kg}&amp;lt;/math&amp;gt;.&lt;br /&gt;
By assuming the rapid acid-base reactions are at equilibrium, the equilibrium constants &amp;lt;math&amp;gt;K_1,K_2,K_3&amp;lt;/math&amp;gt; can be defined as&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{c}&lt;br /&gt;
 K_1 = \frac{[MBM^-][H^+]}{[(MBMH)_N]} \\&lt;br /&gt;
 K_1 = \frac{[A^-][H^+]}{[(HA)_N]} \\&lt;br /&gt;
 K_1 = \frac{[ABM^-][H^+]}{[(HABM)_N]} &lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The anionic species may then be represented by&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{cr}&lt;br /&gt;
 \left[MBM^-\right] = \frac{K_1[MBMH]}{K_1 + [H^+]} &amp;amp; \quad (a) \\&lt;br /&gt;
 \left[A^-\right] = \frac{K_2[HA]}{K_2 + [H^+]} &amp;amp; \quad (b)\\&lt;br /&gt;
 \left[ABM^-\right] = \frac{K_3[HABM]}{K_3 + [H^+]}&amp;amp; \quad (c)&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
Material balance equations for the three reactants in the slow&lt;br /&gt;
kinetic reactions yield:&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{cr}&lt;br /&gt;
 \frac{d[M^-]}{dt} = -k_1 \left[ M^- \right] \left[ BM \right] + k_{-1} \left[ MBM^- \right] - k_3 \left[ M^- \right]\left[ AB \right] + k_{-1} \left[ ABM^- \right] &amp;amp;  \quad (d)\\&lt;br /&gt;
 \frac{d[BM]}{dt} = -k_1 \left[ M^- \right] \left[ BM \right] + k_{-1} \left[ MBM^- \right] - k_2 \left[ A^- \right]\left[ BM \right] &amp;amp;  \quad (e)\\ &lt;br /&gt;
 \frac{d[AB]}{dt} = -k_3 \left[ M^- \right] \left[ AB \right] + k_{-3} \left[ ABM^- \right]  &amp;amp;  \quad (f) &lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
From stoichiometry, rate expressions can also be written for&lt;br /&gt;
the total species:&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{cr}&lt;br /&gt;
 \frac{d[MBMH]}{dt} = k_1 \left[ M^- \right] \left[ BM \right] + k_{-1} \left[ MBM^- \right]  &amp;amp;  \quad (g)\\&lt;br /&gt;
 \frac{d[HA]}{dt} = k_2 \left[ A^- \right] \left[ BM \right] &amp;amp;  \quad (h)\\&lt;br /&gt;
 \frac{d[HABM]}{dt} = k_2 \left[ A^- \right] \left[ BM \right] + k_3 \left[ M^- \right] \left[ AB \right] - k_{-3} \left[ ABM^- \right]&amp;amp;  \quad (i)&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
An electroneutrality constraint gives the hydrogen ion con-&lt;br /&gt;
centration &amp;lt;math&amp;gt;\left[ H^+ \right]&amp;lt;/math&amp;gt; as&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \left[ H^+ \right] + \left[ Q^+ \right] = \left[ M^- \right] + \left[ MBM^- \right] + \left[ A^- \right] + \left[ ABM^- \right] \quad \quad (j)&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Based on similarities of reacting species, we assume&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt; k_3 = k_1, \quad k_{-3} = \frac{1}{2} k_{-1} &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
With these assumptions, the three rate constants &amp;lt;math&amp;gt;k_1,k_2&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;k_3&amp;lt;/math&amp;gt; must be estimated. Each of these can be fitted with two adjustable model parameters, assuming an Arrhenius temperature dependence. That is&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt; &lt;br /&gt;
 \begin{array}{c}&lt;br /&gt;
  k_i = \alpha_i \exp(-E_i /(RT)), \quad i \in \{-1,1,2\}&lt;br /&gt;
 \end{array} &lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
Here &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; is the gas constant and &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; is reaction temperature in Kelvins. The parameter &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt;, given in &amp;lt;math&amp;gt;\operatorname{mol}/( \operatorname{kg} \cdot \operatorname{h})&amp;lt;/math&amp;gt;, represent the pre-exponential factor and &amp;lt;math&amp;gt;E_i&amp;lt;/math&amp;gt;, with unit &amp;lt;math&amp;gt;\operatorname{cal}/{\operatorname{mol}}&amp;lt;/math&amp;gt;, is the activation energy. &lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
The chemical processes &amp;lt;math&amp;gt;(a)-(j)&amp;lt;/math&amp;gt; can be expressed mathematically as six differential equations and four algebraic equations: &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \begin{array}{lr}&lt;br /&gt;
  \dot{y}_1 = -k_2 y_8 y_2 &amp;amp; \quad (1),(h) \\&lt;br /&gt;
  \dot{y}_2 = -k_1 y_6 y_2 + k_{-1} y_{10} - k_2 y_8 y_2 &amp;amp; \quad (2),(e) \\&lt;br /&gt;
  \dot{y}_3 = -k_2 y_8 y_2 + k_1 y_6 y_4 - \frac{1}{2} k_{-1} y_9 &amp;amp; \quad (3),(i) \\&lt;br /&gt;
  \dot{y}_4 = -k_1 y_6 y_4  + \frac{1}{2} k_{-1} y_9 &amp;amp; \quad (4),(f) \\&lt;br /&gt;
  \dot{y}_5 = -k_1 y_6 y_2 + k_{-1} y_{10} &amp;amp; \quad (5),(g) \\&lt;br /&gt;
  \dot{y}_6 = -k_1 (y_6 y_2 + y_6 y_4) + k_{-1} (y_{10} + \frac{1}{2} y_9) &amp;amp; \quad (6),(d) \\&lt;br /&gt;
  y_7 = -\left[ Q^+ \right] + y_6 + y_8 + y_9 + y_{10} &amp;amp; \quad (7),(j)\\&lt;br /&gt;
  y_8 = \frac{\theta_8 y_1}{\theta_8 + y_7} &amp;amp; \quad (8),(b)\\&lt;br /&gt;
  y_9 = \frac{\theta_9 y_3}{\theta_9 + y_7} &amp;amp; \quad (9),(c)\\&lt;br /&gt;
  y_{10} = \frac{\theta_7 y_5}{\theta_7 + y_7} &amp;amp; \quad (10),(a)&lt;br /&gt;
  \end{array}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
Here the letters in parentheses stand for the corresponding chemical process and the quantity &amp;lt;math&amp;gt;\left[Q^+\right]&amp;lt;/math&amp;gt; is a constant during the reaction.&lt;br /&gt;
The nine parameters form the vector &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
 \theta = (\alpha_1,E_1,\alpha_2,E_2,\alpha_{-1},E_{-1},K_1,K_2,K_3)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The predicted concentrations form the vector &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
 y = (HA,BM,HABM,AB,MBMH,M^-,H^+,A^-,ABM^-,MBM^-)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;math&amp;gt;f_k(\cdot)&amp;lt;/math&amp;gt; denote the right hand side of equation &amp;lt;math&amp;gt;(k)&amp;lt;/math&amp;gt; for &amp;lt;math&amp;gt;k=1,\ldots,6&amp;lt;/math&amp;gt;. &lt;br /&gt;
We reformulate the last four algebraic equations as differential ones:&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \begin{array}{l r}&lt;br /&gt;
   \dot{y}_7 = f_7 = f_6 + f_8 + f_9 + f_{10} &amp;amp; \quad (7&#039;) \\&lt;br /&gt;
   \dot{y}_8 = f_8 = \frac{\theta_8 f_1 \cdot (\theta_8 + f_7) - \theta_8 y_1 f_7}{(\theta_8 + y_7)^2} &amp;amp; \quad (8&#039;) \\&lt;br /&gt;
   \dot{y}_9 = f_9 = \frac{\theta_9 f_3 \cdot (\theta_9 + f_7) - \theta_9 y_3 f_7}{(\theta_9 + y_7)^2}  &amp;amp; \quad (9&#039;)\\&lt;br /&gt;
   \dot{y}_{10} = f_{10} = \frac{\theta_7 f_5 \cdot (\theta_7 + f_7) - \theta_7 y_5 f_7}{(\theta_7 + y_7)^2} &amp;amp; \quad (10&#039;) &lt;br /&gt;
  \end{array}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The right hand sides of &amp;lt;math&amp;gt;(1)-(6)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;(7&#039;)-(9&#039;)&amp;lt;/math&amp;gt; are summarized as the vector-valued function &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;.&lt;br /&gt;
Moreover, let&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \begin{array}{l}&lt;br /&gt;
  f_{y,m,n}(\cdot) = \frac{\partial f_m(\cdot)}{\partial y_n}, \quad m,n \in \{1,\ldots,10\} \\&lt;br /&gt;
  f_{\theta,m,n}(\cdot) = \frac{\partial f_m(\cdot)}{\partial \theta_n}, \quad m \in \{1,\ldots,10\}; \ n\in \{1,\ldots,9\}&lt;br /&gt;
  \end{array}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
&lt;br /&gt;
The initial parameter estimates are:&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \begin{array}{c}&lt;br /&gt;
   \alpha_1 = 2.0 \times 10^{13} \\&lt;br /&gt;
   E_1 = 2.0 \times 10^{4} \\&lt;br /&gt;
   \alpha_2 = 2.0 \times 10^{13} \\&lt;br /&gt;
   E_2 = 2.0 \times 10^{4} \\&lt;br /&gt;
   \alpha_{-1} = 4.3 \times 10^{15} \\&lt;br /&gt;
   E_{-1} = 2.0 \times 10^{4} \\&lt;br /&gt;
   K_1 = 1.0 \times 10^{-17} \\&lt;br /&gt;
   K_2 = 1.0 \times 10^{-11} \\&lt;br /&gt;
   K_3 = 1.0 \times 10^{-17} \\&lt;br /&gt;
  \end{array}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
There are four datasets for different temperatures &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;, with corresponding starting values&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \begin{array}{lccc}&lt;br /&gt;
   &amp;amp; 40^\circ C &amp;amp; 67^\circ C &amp;amp; 100^\circ C \\&lt;br /&gt;
  y_1(0) = &amp;amp; 1.7066 &amp;amp; 1.6749 &amp;amp; 1.5608 \\&lt;br /&gt;
  y_2(0) = &amp;amp; 8.32 &amp;amp; 8.2262 &amp;amp; 8.3546 \\&lt;br /&gt;
  y_3(0) = &amp;amp; 0.01 &amp;amp; 0.0104 &amp;amp; 0.0082 \\&lt;br /&gt;
  y_4 (0) = &amp;amp; 0 &amp;amp; 0.0017 &amp;amp; 0.0086&lt;br /&gt;
  \end{array}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The initial model conditions in addition to those given in the&lt;br /&gt;
data sets are:&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \begin{array}{l}&lt;br /&gt;
   y_5 = 0 \\&lt;br /&gt;
   y_6 = 0.0131 \\&lt;br /&gt;
   y_7 = \frac{1}{2} \cdot \left( -K_2 + \sqrt{K_2^2 + 4K_2 y_1(0)} \right) \\&lt;br /&gt;
   y_8 = y_7 \\&lt;br /&gt;
   y_9 = 0 \\&lt;br /&gt;
   y_{10} = 0&lt;br /&gt;
  \end{array}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optimal Experimental Design Problem ==&lt;br /&gt;
To be specified.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
To simplify the notation, the derivatives of the &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; with respect to the &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;E_i&amp;lt;/math&amp;gt; are written as&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \begin{array}{c}&lt;br /&gt;
  k_{i,\alpha} := \frac{\partial k_i}{\partial \alpha_i} = \exp(-E_i/(RT)) \\&lt;br /&gt;
  k_{i,E} := \frac{\partial k_i}{\partial E_i} = -\frac{\alpha_i}{RT} \exp(-E_i/(RT))&lt;br /&gt;
  \end{array}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The non-zero derivatives for the first six components are given by&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{array}{lcl}&lt;br /&gt;
 f_{y,1,2} = -k_2 y_8 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,1,8} = -k_2 y_2 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,2,2} = -k_1 y_6 - k_2 y_8 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,2,6} = -k_1 y_2 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,2,8} = -k_2 y_2 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,2,10} = k_{-1} &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,3,2} = -k_2 y_8 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,3,4} = k_1 y_6 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,3,6} = k_1 y_4 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,3,8} = -k_2 y_2 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,3,9} = -\frac{1}{2} k_{-1} &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,4,4} = -k_1 y_6 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,4,6} = -k_1 y_4 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,4,9} = \frac{1}{2} k_{-1} &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,5,2} = -k_1 y_6 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,5,6} = -k_1 y_2 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,5,10} = k_{-1} &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,6,2} = -k_1 y_6 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,6,4} = -k_1 y_6 &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,6,6} = -k_1 (y_2 + y_4) &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,6,9} = \frac{1}{2} k_{-1} &amp;amp; &amp;amp; \\&lt;br /&gt;
 f_{y,6,10} = k_{-1} &amp;amp; &amp;amp;&lt;br /&gt;
 \end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
We are interested in when to measure (with an upper bound &amp;lt;math&amp;gt;M_i&amp;lt;/math&amp;gt; on the measuring time for each observable). &lt;br /&gt;
We define &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{l}&lt;br /&gt;
  f_y(\cdot) \in \mathbb{R}^{10 \times 10} \quad \text{ with } (f_y)_{i,j} = f_{y,i,j}, \\&lt;br /&gt;
  f_\theta(\cdot) \in \mathbb{R}^{10 \times 9} \quad \text{ with } (f_\theta)_{i,j} = \frac{\partial f_i}{\partial \theta_j}&lt;br /&gt;
 \end{array}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt; &lt;br /&gt;
In this approach, we add the so-called sensitivities &amp;lt;math&amp;gt;G=dy/d\theta&amp;lt;/math&amp;gt;. For the differential equations this means&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;&lt;br /&gt;
  \dot{G}(t) = f_y(y(t),\theta) G(t) + f_\theta(y(t),\theta), \quad G(0) = \frac{\partial y(0)}{\partial \theta}&lt;br /&gt;
 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we formulate the OED problem as described in (Optimal Experimental Design for Universal Differential Equations &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;add quote&amp;lt;/span&amp;gt;)&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{array}{lll}&lt;br /&gt;
 \displaystyle \min_{y,G,F,z,w} &amp;amp;&amp;amp; \text{trace} \; \left( F^{-1}(t_f) \right) \\&lt;br /&gt;
 \text{subject to} \\&lt;br /&gt;
\quad \dot{y}(t) &amp;amp; = &amp;amp; f(y(t),\theta) \\&lt;br /&gt;
\quad \dot{G}(t) &amp;amp; = &amp;amp; f_y(y(t),\theta) G(t) + f_\theta(y(t),\theta) \\&lt;br /&gt;
\quad \dot{F}(t) &amp;amp; = &amp;amp; \sum_{i=1}^{n_o} w_i(t)(h^i_y(y(t))G(t))^T(h^i_y(y(t))G(t)) \\&lt;br /&gt;
\quad \dot{z}(t) &amp;amp; = &amp;amp; w(t), \\&lt;br /&gt;
\quad y(0) &amp;amp; = &amp;amp; y_0 \\&lt;br /&gt;
\quad G(0) &amp;amp; = &amp;amp; \frac{\partial y(0)}{\partial \theta} \\&lt;br /&gt;
\quad F(0) &amp;amp; = &amp;amp; 0, \\ &lt;br /&gt;
\quad z(0) &amp;amp; = &amp;amp; 0 \\&lt;br /&gt;
\quad w(t) &amp;amp; \in &amp;amp; \mathcal{W} \\&lt;br /&gt;
\quad z_i(t_f) &amp;amp; \leq &amp;amp; M_i&lt;br /&gt;
  \end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here &amp;lt;math&amp;gt;h:\mathbb{R}^{10} \rightarrow \mathbb{R}^{n_o}&amp;lt;/math&amp;gt; is the observed function. The&lt;br /&gt;
evolution of the symmetric matrix &amp;lt;math&amp;gt;F: \left[0,t_f \right] \rightarrow \mathbb{R}^{9 \times 9}&amp;lt;/math&amp;gt; is given by the weighted sum of observability Gramians&lt;br /&gt;
&amp;lt;math&amp;gt;h^i_y (y(t)) G(t), \ i = 1,\ldots,n_o&amp;lt;/math&amp;gt; for each observed function of states. The weights &amp;lt;math&amp;gt;w_i (t) \in \{0, 1\}, \ i = 1,\ldots,n_o&amp;lt;/math&amp;gt;&lt;br /&gt;
are the (binary) sampling decisions, where &amp;lt;math&amp;gt; w_i (t) = 1 &amp;lt;/math&amp;gt; denotes the decision to perform a measurement at&lt;br /&gt;
time &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous and Further Reading ==&lt;br /&gt;
To be specified.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
To be added.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:Optimum Experimental Design]]&lt;br /&gt;
[[Category:ODE model]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=User:SebastianSager&amp;diff=2393</id>
		<title>User:SebastianSager</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=User:SebastianSager&amp;diff=2393"/>
		<updated>2024-09-24T09:10:06Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: /* Personal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Prevent creation of a table of content --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;!-- User image&lt;br /&gt;
  You have to upload it first. &lt;br /&gt;
  If you do not want an image comment out the following line. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Image:Sager.jpg|thumb]]&lt;br /&gt;
 &lt;br /&gt;
== Personal ==&lt;br /&gt;
{|&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Name&#039;&#039;&#039;: || Prof. Dr. Sebastian Sager&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Affiliation 1&#039;&#039;&#039;: || [https://mathopt.de Mathematical Algorithmic Optimization], [https://ovgu.de University of Magdeburg]&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Affiliation 2&#039;&#039;&#039;: || [https://www.mpi-magdeburg.mpg.de/oml Optimization and Machine Learning], [https://www.mpi-magdeburg.mpg.de/ Max-Planck Institute Magdeburg]&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Background&#039;&#039;&#039;: || Mathematics&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
{|&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Address&#039;&#039;&#039;: || Universitätsplatz 2, 39108 Magdeburg, Germany&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Web&#039;&#039;&#039;: || work group [https://mathopt.de http://mathopt.de]&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Email&#039;&#039;&#039;: || sager -- ovgu.de&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
I started these pages and am the owner of the domain. Hence, if you have any questions or comments concerning mintOC.de, feel free to write me an email.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Categories&lt;br /&gt;
  Here you can list the categories you are interested in.&lt;br /&gt;
  You can find a list of all categories at [[Special:Categories]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=User:SebastianSager&amp;diff=2392</id>
		<title>User:SebastianSager</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=User:SebastianSager&amp;diff=2392"/>
		<updated>2024-09-24T09:07:23Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: /* Contact */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Prevent creation of a table of content --&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;!-- User image&lt;br /&gt;
  You have to upload it first. &lt;br /&gt;
  If you do not want an image comment out the following line. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Image:Sager.jpg|thumb]]&lt;br /&gt;
 &lt;br /&gt;
== Personal ==&lt;br /&gt;
{|&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Name&#039;&#039;&#039;: || Prof. Dr. Sebastian Sager&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Affiliation&#039;&#039;&#039;: || [http://mathopt.de Mathematical Algorithmic Optimization], [http://ovgu University of Magdeburg]&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Background&#039;&#039;&#039;: || Mathematics&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
== Contact ==&lt;br /&gt;
{|&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Address&#039;&#039;&#039;: || Universitätsplatz 2, 39108 Magdeburg, Germany&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Web&#039;&#039;&#039;: || work group [https://mathopt.de http://mathopt.de]&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Email&#039;&#039;&#039;: || sager -- ovgu.de&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
I started these pages and am the owner of the domain. Hence, if you have any questions or comments concerning mintOC.de, feel free to write me an email.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Categories&lt;br /&gt;
  Here you can list the categories you are interested in.&lt;br /&gt;
  You can find a list of all categories at [[Special:Categories]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Main_Page&amp;diff=2391</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Main_Page&amp;diff=2391"/>
		<updated>2024-09-24T09:06:27Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: /* Direct links to Problems (add) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This wiki contains a &#039;&#039;&#039;benchmark library&#039;&#039;&#039; of &#039;&#039;&#039;mixed-integer optimal control problems&#039;&#039;&#039;. The main intention is to provide algorithm developers with a set of challenging problems to evaluate their numerical optimization methods. An important focus is given on &#039;&#039;&#039;reproducibility&#039;&#039;&#039; of optimal solutions.&lt;br /&gt;
As, in contrast to say linear programming, there are no standard formats for the formulation of such problems, and they often show completely different characteristics, these pages dedicate some space for a thorough description of problem and solutions.&lt;br /&gt;
&lt;br /&gt;
A more detailed description of the underlying concepts of this library can be found in the article &amp;lt;bib id=&amp;quot;Sager2012b&amp;quot; /&amp;gt;, of which a [http://mathopt.de/PUBLICATIONS/Sager2012b.pdf preprint pdf] is available.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TOP TABLE WITH NEWS  --&amp;gt;&lt;br /&gt;
==[[:Category:News|News]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Current News|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&amp;lt;table bgcolor=&amp;quot;#EEEEFF&amp;quot; width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;80%&amp;quot; bgcolor=&amp;quot;#EEEEFF&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- The actual news are being included from the page Current News with the following line. --&amp;gt;&lt;br /&gt;
{{Current News}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CATEGORY FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot;&amp;gt;&lt;br /&gt;
==[[:Category:Problem characterization|Problem characterization]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a problem characterization|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Application|application area]]&#039;&#039;, e.g., [[:Category: Aeronautics | Aeronautics]] - [[:Category: Chemical engineering | Chemical engineering]] - [[:Category:Medicine | Medicine]] - [[:Category:Systems biology | Systems biology]] - [[:Category:Transport | Transport]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Model characterization|mathematical model]]&#039;&#039;, e.g., [[:Category: ODE model | ODE]], [[:Category: PDE model | PDE]] or [[:Category: DAE model | DAE model]] - [[:Category:GIOC | GIOC]] - [[:Category:Optimum_Experimental_Design | OED]] - [[:Category: Multistage process | Multistage process]] - [[:Category: State dependent switches | State dependent switches]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Solution characterization|optimal solution]]&#039;&#039;, e.g., [[:Category: Bang bang | Bang bang]] - [[:Category: Chattering | Chattering]] - [[:Category: Sensitivity-seeking arcs | Sensitivity-seeking arcs]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category: Implementation | implementation]], e.g., [[:Category: ACADO | ACADO]] - [[:Category: AMPL | AMPL]] - [[:Category: AMPL/TACO | AMPL with TACO]] - [[:Category:Casadi | Casadi]] - [[:Category: Switch | Switch]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- PROBLEM FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Direct links to [[:Category:MIOCP|Problems]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a Problem|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
[[Bang-bang approximation of a traveling wave | 1D wave]] - [[Control of Heat Equation with Actuator Placement | Actuator Placement]] - [[Bioreactor]] - [[Batch reactor]] - [[Annihilation of calcium oscillations | Calcium]] - [[Annihilation of calcium oscillations with PLC activation inhibition| Calcium 2]] - [[Car testdrive]] - [[Cushioned Oscillation]] - [[Diels-Alder Reaction Experimental Design | Diels-Alder OED]] - [[Double Tank]] - [[DOW Experimental Design | DOW OED]] - [[Electric Car]] - [[F-8 aircraft]] - [[Fuller&#039;s problem]] - [[Gravity Turn Maneuver | Gravity Turn]] - [[Controlled Heating | Heating]] - [[Industrial robot]] - [[Lotka Volterra fishing problem | Lotka]] - [[Lotka Experimental Design | Lotka OED]] - [[Van der Pol Oscillator | Oscillator]] - [[Oil Shale Pyrolysis | Pyrolysis]] - [[Goddart&#039;s rocket problem | Rocket]] - [[Source Inversion]] - [[Subway ride | Subway]] - &#039;&#039;[[Supermarket refrigeration system | Supermarket]] - [[Truck cruise control | Truck]]&#039;&#039;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- HELP FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Help|Help]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[User:SebastianSager|(contact)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;[[Help:How to contribute|How to contribute]]&#039;&#039; - &#039;&#039;[[Help:How to cite|How to cite]]&#039;&#039; - &#039;&#039;[[Help:Using LaTeX|LaTeX]]&#039;&#039; - &#039;&#039;[[Help:Description guidelines | Guidelines]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- COMMUNITY FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Community|Community]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a User|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Community|Contributors]] - &#039;&#039;[[External Links]]&#039;&#039; - &#039;&#039;Feel encouraged to participate!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Main]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Template:Current_News&amp;diff=2390</id>
		<title>Template:Current News</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Template:Current_News&amp;diff=2390"/>
		<updated>2024-09-24T09:04:20Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;background:#EEEEFF;&amp;quot;&lt;br /&gt;
&amp;lt;!-- Add news below this comment --&amp;gt;&lt;br /&gt;
{{News|2024/09/24| Added [[DOW_Experimental_Design | DOW]] optimal experimental design problem}}&lt;br /&gt;
{{News|2023/10/19| Added new category [[:Category:GIOC | generalized inverse optimal control]]}}&lt;br /&gt;
{{News|2023/10/19| Added [[LinearMetabolic]] problem}}&lt;br /&gt;
&amp;lt;!-- Add news above this comment --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!-- Text within the following tag is not shown when this page is included in a different page (e.g. the main page, &amp;quot;News&amp;quot; section --&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt; &lt;br /&gt;
== Older news ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#eaecd0;&amp;quot;&lt;br /&gt;
&amp;lt;!-- Copy old news below this comment --&amp;gt;&lt;br /&gt;
{{News|2019/3/14| Added multiple control problems with [[:Category: Gekko | Python GEKKO]] implementation}}&lt;br /&gt;
{{News|2018/9/12| Added [[Control of Transmission Lines]] problem}}&lt;br /&gt;
{{News|2016/7/26 | Added [[Industrial robot]] problem}}&lt;br /&gt;
{{News|2016/7/24 | Added [[Continuously Stirred Tank Reactor problem | CSTR problem]]}}&lt;br /&gt;
{{News|2016/6/30 | Added [[Electric Car]] problem}}&lt;br /&gt;
{{News|2016/5/5| Added multiple control problems with [[:Category: AMPL/TACO | AMPL with TACO]] implementation}}&lt;br /&gt;
{{News|2016/2/23|Added [[Control of Heat Equation with Actuator Placement | Actuator Placement]] control problem and [[:Category:Elliptic | Elliptic]], [[:Category:Parabolic | Parabolic]] and [[:Category:Hyperbolic | Hyperbolic]] categories}}&lt;br /&gt;
{{News|2016/1/10|Added [[Van der Pol Oscillator]], [[Batch reactor]], [[Cushioned Oscillation]] and [[Goddart&#039;s rocket problem]] control problems}}&lt;br /&gt;
{{News|2015/11/10|Moved mintoc.de to a new server}}&lt;br /&gt;
{{News|2012/09/01|Added the [[Lotka Experimental Design]] and a [[:Category:Optimum Experimental Design | category for experimental design problems]]}}&lt;br /&gt;
{{News|2011/09/29|Added the [[:Category:AMPL/TACO | first set of AMPL optimal control problems]] using the TACO toolkit}}&lt;br /&gt;
{{News|2010/11/21|Added New York [[Subway ride]] control problem}}&lt;br /&gt;
{{News|2010/11/18|Extended description of [[:Category:Problem characterization | problem characterization]]}}&lt;br /&gt;
{{News|2010/11/18|Description of benchmark library as [http://mathopt.de/PUBLICATIONS/Sager2011b.pdf pdf file] preprint}}&lt;br /&gt;
{{News|2010/08/16|Added [[Bang-bang approximation of a traveling wave]] 1D PDE example}}&lt;br /&gt;
{{News|2010/02/11|Launch of EU project [http://embocon.org embocon.org]}}&lt;br /&gt;
{{News|2009/11/20|Added [[External Links]] page}}&lt;br /&gt;
{{News|2009/10/26|Revision and Correction of several [[:Category:Optimica | optimica]] models}}&lt;br /&gt;
{{News|2009/08/26|Knitro solution for [[F-8 aircraft (AMPL)]]}}&lt;br /&gt;
{{News|2009/08/11|[[F-8 aircraft]] new local minimum found with [[:Category:Optimica | optimica]]/ipopt}}&lt;br /&gt;
{{News|2009/07/31|New category [[:Category:Optimica | optimica]] introduced}}&lt;br /&gt;
{{News|2009/07/07|[[:Category:AMPL]] revised page with discretized MINLPs in AMPL format}}&lt;br /&gt;
&amp;lt;!-- Add news above this comment --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Adding items ==&lt;br /&gt;
If you want to add events you have to edit this page. At the top of the page you will see something like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:#EEEEFF;&amp;quot;&lt;br /&gt;
&amp;lt;!-- Add items below this comment --&amp;gt;&lt;br /&gt;
{{News|2008/08/14, 15:15|Presentation of the restructured group wiki in the group meeting, room 432.}}&lt;br /&gt;
&amp;lt;!-- Add items above this comment --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To add a new item you have to enter a line of the form:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{News|date|content}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt; is the date and &amp;lt;code&amp;gt;content&amp;lt;/code&amp;gt; is the subject and further information. The field &amp;lt;code&amp;gt;News&amp;lt;/code&amp;gt; is mandatory. Please write the &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt; in the format &#039;&#039;&#039;YYYY/MM/DD, HH:MM&#039;&#039;&#039; to keep it nice and clean. The field &amp;lt;code&amp;gt;content&amp;lt;/code&amp;gt; can contain any information you like (but please keep it short) and even wiki syntax is possible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please keep the items in a chronological order and remove older ones to keep the list short.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:News]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Main_Page&amp;diff=2389</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Main_Page&amp;diff=2389"/>
		<updated>2024-09-24T09:02:23Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: /* Problem characterization (add) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This wiki contains a &#039;&#039;&#039;benchmark library&#039;&#039;&#039; of &#039;&#039;&#039;mixed-integer optimal control problems&#039;&#039;&#039;. The main intention is to provide algorithm developers with a set of challenging problems to evaluate their numerical optimization methods. An important focus is given on &#039;&#039;&#039;reproducibility&#039;&#039;&#039; of optimal solutions.&lt;br /&gt;
As, in contrast to say linear programming, there are no standard formats for the formulation of such problems, and they often show completely different characteristics, these pages dedicate some space for a thorough description of problem and solutions.&lt;br /&gt;
&lt;br /&gt;
A more detailed description of the underlying concepts of this library can be found in the article &amp;lt;bib id=&amp;quot;Sager2012b&amp;quot; /&amp;gt;, of which a [http://mathopt.de/PUBLICATIONS/Sager2012b.pdf preprint pdf] is available.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TOP TABLE WITH NEWS  --&amp;gt;&lt;br /&gt;
==[[:Category:News|News]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Current News|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&amp;lt;table bgcolor=&amp;quot;#EEEEFF&amp;quot; width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;80%&amp;quot; bgcolor=&amp;quot;#EEEEFF&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- The actual news are being included from the page Current News with the following line. --&amp;gt;&lt;br /&gt;
{{Current News}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CATEGORY FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot;&amp;gt;&lt;br /&gt;
==[[:Category:Problem characterization|Problem characterization]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a problem characterization|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Application|application area]]&#039;&#039;, e.g., [[:Category: Aeronautics | Aeronautics]] - [[:Category: Chemical engineering | Chemical engineering]] - [[:Category:Medicine | Medicine]] - [[:Category:Systems biology | Systems biology]] - [[:Category:Transport | Transport]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Model characterization|mathematical model]]&#039;&#039;, e.g., [[:Category: ODE model | ODE]], [[:Category: PDE model | PDE]] or [[:Category: DAE model | DAE model]] - [[:Category:GIOC | GIOC]] - [[:Category:Optimum_Experimental_Design | OED]] - [[:Category: Multistage process | Multistage process]] - [[:Category: State dependent switches | State dependent switches]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Solution characterization|optimal solution]]&#039;&#039;, e.g., [[:Category: Bang bang | Bang bang]] - [[:Category: Chattering | Chattering]] - [[:Category: Sensitivity-seeking arcs | Sensitivity-seeking arcs]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category: Implementation | implementation]], e.g., [[:Category: ACADO | ACADO]] - [[:Category: AMPL | AMPL]] - [[:Category: AMPL/TACO | AMPL with TACO]] - [[:Category:Casadi | Casadi]] - [[:Category: Switch | Switch]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- PROBLEM FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Direct links to [[:Category:MIOCP|Problems]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a Problem|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
[[Bang-bang approximation of a traveling wave | 1D wave]] - [[Control of Heat Equation with Actuator Placement | Actuator Placement]] - [[Bioreactor]] - [[Batch reactor]] - [[Annihilation of calcium oscillations | Calcium]] - [[Annihilation of calcium oscillations with PLC activation inhibition| Calcium 2]] - [[Car testdrive]] - [[Cushioned Oscillation]] - [[Diels-Alder Reaction Experimental Design | Diels-Alder OED]] - [[Double Tank]] - [[Electric Car]] - [[F-8 aircraft]] - [[Fuller&#039;s problem]] - [[Gravity Turn Maneuver | Gravity Turn]] - [[Controlled Heating | Heating]] - [[Industrial robot]] - [[Lotka Volterra fishing problem | Lotka]] - [[Lotka Experimental Design | Lotka OED]] - [[Van der Pol Oscillator | Oscillator]] - [[Oil Shale Pyrolysis | Pyrolysis]] - [[Goddart&#039;s rocket problem | Rocket]] - [[Source Inversion]] - [[Subway ride | Subway]] - &#039;&#039;[[Supermarket refrigeration system | Supermarket]] - [[Truck cruise control | Truck]]&#039;&#039;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- HELP FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Help|Help]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[User:SebastianSager|(contact)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;[[Help:How to contribute|How to contribute]]&#039;&#039; - &#039;&#039;[[Help:How to cite|How to cite]]&#039;&#039; - &#039;&#039;[[Help:Using LaTeX|LaTeX]]&#039;&#039; - &#039;&#039;[[Help:Description guidelines | Guidelines]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- COMMUNITY FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Community|Community]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a User|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Community|Contributors]] - &#039;&#039;[[External Links]]&#039;&#039; - &#039;&#039;Feel encouraged to participate!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Main]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=External_Links&amp;diff=2368</id>
		<title>External Links</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=External_Links&amp;diff=2368"/>
		<updated>2024-06-11T12:06:48Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Work Groups =&lt;br /&gt;
&lt;br /&gt;
An incomplete list of work groups interested in aspects of mixed-integer dynamic optimization.&lt;br /&gt;
&lt;br /&gt;
* [http://mathopt.de Mathematical and Computational Optimization], Uni Magdeburg, led by Sebastian Sager&lt;br /&gt;
* [https://www.imtek.de/professuren/systemtheorie Systems Control and Optimization Laboratory], Uni Freiburg, led by Moritz Diehl&lt;br /&gt;
* [http://www.unibw.de/lrt1/gerdts Optimal Control], Universität der Bundeswehr München, led by Matthias Gerdts&lt;br /&gt;
* [http://www.am.uni-erlangen.de/wima Discrete Optimization], Uni Erlangen, led by Alexander Martin&lt;br /&gt;
* [http://www3.mathematik.tu-darmstadt.de/ags/optimization/research/nonlinear-optimization.html Nonlinear Optimization], Uni Darmstadt, led by Stefan Ulbrich&lt;br /&gt;
* [http://www.dyn.bci.tu-dortmund.de/ Process Dynamics and Operations], Uni Dortmund, led by Sebastian Engell&lt;br /&gt;
* [http://www.aices.rwth-aachen.de/organization/institutes/procsyseng Process Systems Engineering], RWTH Aachen, led by Wolfgang Marquardt&lt;br /&gt;
* [http://numero.cheme.cmu.edu/ Biegler Research Group], Carnegie Mellon, led by Larry Biegler&lt;br /&gt;
* [http://www.am.uni-erlangen.de/home/leugering/ Applied Mathematics II], Uni Erlangen, led by Günter Leugering&lt;br /&gt;
* [http://egon.cheme.cmu.edu/ Grossmann Research Group], Carnegie Mellon, led by Ignacio Grossmann&lt;br /&gt;
* [http://www.control.lth.se/user/johan.akesson/ Automatic Control], Lund University, led by Johan Akesson&lt;br /&gt;
* [https://www.tu-braunschweig.de/mo/team/kirches Mathematical Optimization], led by Christian Kirches&lt;br /&gt;
* [http://www.mathematik.tu-clausthal.de/arbeitsgruppen/kontinuierliche-optimierung/ Continuous Optimization], led by Andreas Potschka&lt;br /&gt;
* [https://www.mathematik.hu-berlin.de/de/forschung/forschungsgebiete/mathematische-optimierung/Falk-hante/falk-hante-fp Applied Mathematics], led by Falk Hante&lt;br /&gt;
&lt;br /&gt;
Feel free to update this list!&lt;br /&gt;
&lt;br /&gt;
= Benchmark Libraries =&lt;br /&gt;
&lt;br /&gt;
=== Embedded Optimization and Control ===&lt;br /&gt;
&lt;br /&gt;
* European FP 7 project [http://embocon.org EMBOCON]&lt;br /&gt;
&lt;br /&gt;
=== Hybrid Systems ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.ist-hycon.org/ HYCON] network: two benchmark problems have been defined.&lt;br /&gt;
&lt;br /&gt;
=== Optimal Control ===&lt;br /&gt;
&lt;br /&gt;
* The [http://tomdyn.com/ PROPT homepage] (a matlab toolkit for dynamic optimization using collocation) states over 100 test cases from different applications with their results and computation time. &lt;br /&gt;
* With the software package [http://abs-5.me.washington.edu/noc/dsoa.html dsoa] come currently 77 test problems. &lt;br /&gt;
* The ESA provides a [https://www.esa.int/gsp/ACT/projects/gtop/ test set of global optimization spacecraft trajectory problems] and their best putative solutions.&lt;br /&gt;
* The [http://www.mcs.anl.gov/~more/cops/ COPS library] contains around 10 dynamic control and parameter estimation problems&lt;br /&gt;
* The [http://www.optpde.net OPTPDE collection] contains problems in PDE-constrained optimization&lt;br /&gt;
* The [http://plato.asu.edu/pdecon.html PDECON collection] contains discretized PDE problems in AMPL as part of a [http://plato.asu.edu/bench.html larger benchmark effort] by Hans Mittelmann&lt;br /&gt;
&lt;br /&gt;
=== MINLP ===&lt;br /&gt;
&lt;br /&gt;
* CMU-IBM Cyber-Infrastructure for MINLP [http://minlp.org/ collaborative site]&lt;br /&gt;
* MINLPlib &amp;lt;bib id=&amp;quot;Bussieck2003a&amp;quot; /&amp;gt; &lt;br /&gt;
* [http://www.gamsworld.org/performance GAMSWORLD]&lt;br /&gt;
&lt;br /&gt;
=== Generic Optimization ===&lt;br /&gt;
&lt;br /&gt;
* [http://cuter.rl.ac.uk/cuter-www/ CUTEr] is a versatile testing environment for optimization and linear algebra solvers.&lt;br /&gt;
* [http://www.netlib.org/lp/ NETLIB] for linear programming (LP)&lt;br /&gt;
* [http://miplib.zib.de/ MIPLIB] for mixed-integer linear programming (MILP)&lt;br /&gt;
* Schittkowski Library &amp;lt;bib id=&amp;quot;Schittkowski2002&amp;quot; /&amp;gt; for nonlinear programming (LP)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2366</id>
		<title>LinearMetabolic</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2366"/>
		<updated>2023-10-20T11:35:17Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 4&lt;br /&gt;
|nu        = 3&lt;br /&gt;
|nc        = 1&lt;br /&gt;
|nri       = 0&lt;br /&gt;
|nre       = 5&lt;br /&gt;
}}&amp;lt;!-- Do not insert line break here or Dimensions Box moves up in the layout...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Linear Metabolic problem&#039;&#039;&#039; is a generalized inverse optimal control problem formulated and investigated in &amp;lt;bib id=&amp;quot;Tsiantis2018&amp;quot; /&amp;gt;. It tries to identify an a priori unknown objective function from data.&lt;br /&gt;
&lt;br /&gt;
The problem is a generalization of the one studied by de Hijas-Liste et al. (2014), where it was considered as a standard optimal control problem (OCP). Here, we take the solution reference of the inner problem as the multi-objective OCP described in de Hijas-Liste et al. (2014), selecting a specific point of the resulting Pareto front. This case study is interesting, because it includes path constraints on the states and the inputs.&lt;br /&gt;
&lt;br /&gt;
A 3-step linear metabolic pathway with mass action kinetics is considered. The differential states &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; are metabolite concentrations, the time-dependent control functions &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt; are enzyme concentrations, and the model parameters &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; are kinetic parameters in mass action expressions. Candidate objective functionals &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; are the final time and the time-integral of the intermediate metabolite concentrations. The measurement function  is a map to the values of the differential states and  comprises measurements of metabolite concentrations. The differential equations are assumed to be fully known as standard mass action kinetics. An inequality path constraint is present (but potentially unknown in such settings) on the inner level and critical from a biological point of view: limitations due to molecular crowding impose an upper bound on the maximum total concentration of enzymes (controls) at any given time. Boundary conditions are fixed initial and terminal values of the metabolite concentrations.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
The gIOC is given by&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;math&amp;gt;&lt;br /&gt;
   \displaystyle \min_{(p, w, x^*, u^*, T^*)} \; \| x^* - \eta \|&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
      subject to&lt;br /&gt;
      &amp;lt;math&amp;gt;&lt;br /&gt;
      (x^*,u^*, T^*) \in \displaystyle \arg \min_{x, u, T}  w_1 \cdot \int_{0}^{T} (x_2 + x_3) \, dt + w_2 \cdot \int_{0}^{T} 1 \,dt &lt;br /&gt;
      &amp;lt;/math&amp;gt;&lt;br /&gt;
                 subject to&lt;br /&gt;
                 &amp;lt;math&amp;gt;&lt;br /&gt;
                 \begin{array}{rcl}&lt;br /&gt;
                 \dot{x_1}(t) &amp;amp;=&amp;amp; \displaystyle 0 \\&lt;br /&gt;
                 \dot{x_2}(t) &amp;amp;=&amp;amp; \displaystyle p_1 \cdot x_1 \cdot u_1 - p_2 \cdot x_2 \cdot u_2 \\&lt;br /&gt;
                 \dot{x_3}(t) &amp;amp;=&amp;amp; \displaystyle p_2 \cdot x_2 \cdot u_2 - p_3 \cdot x_3 \cdot u_3 \\&lt;br /&gt;
                 \dot{x_4}(t) &amp;amp;=&amp;amp; \displaystyle p_3 \cdot x_3 \cdot u_3 \\&lt;br /&gt;
                 x(0) &amp;amp;=&amp;amp; (1, 0, 0, 0) \\&lt;br /&gt;
                 x_4(T) &amp;amp;=&amp;amp; 0.9 \\&lt;br /&gt;
                 x_i(t) &amp;amp;\ge&amp;amp; 0 \; \forall \; i \in \{1,2,3,4\} \\                 &lt;br /&gt;
                 u_i(t) &amp;amp;\in&amp;amp; [0,1] \; \forall \; i \in \{1,2,3\} \\&lt;br /&gt;
                 1 &amp;amp;\ge&amp;amp; u_1(t) + u_2(t) + u_3(t) \\&lt;br /&gt;
                 w_1, w_2 \in [0,1] \\&lt;br /&gt;
                 w_1 + w_2 = 1&lt;br /&gt;
                 \end{array}&lt;br /&gt;
                 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here the four differential states and three control functions stand for the metabolite concentrations (&amp;lt;math&amp;gt; x_1, x_2, x_3, x_4 &amp;lt;/math&amp;gt;) and the enzyme concentrations (&amp;lt;math&amp;gt; u_1, u_2, u_3 &amp;lt;/math&amp;gt;). The two objective function candidates are the sum of intermediate metabolite concentrations and the transition time. The three model parameters &amp;lt;math&amp;gt;p_1, p_2, p_3&amp;lt;/math&amp;gt; are kinetic parameters in mass action expressions.&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
&lt;br /&gt;
The following table gives different values for &amp;lt;math&amp;gt;\eta&amp;lt;/math&amp;gt;, componentwise for all four entries of &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; as time series, for different combinations of weights and noise levels that were used to produce the synthetic data via solution of forward optimal control problems.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Data&lt;br /&gt;
|-&lt;br /&gt;
|weights &amp;lt;math&amp;gt;w_1, w_2&amp;lt;/math&amp;gt;&lt;br /&gt;
|parameters &amp;lt;math&amp;gt;p_1, p_2, p_3&amp;lt;/math&amp;gt;&lt;br /&gt;
|noise&lt;br /&gt;
|data &amp;lt;math&amp;gt;\eta&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[0.232, 0.768]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
| 0&lt;br /&gt;
|&lt;br /&gt;
 [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],&lt;br /&gt;
 [0, 0.215, 0.4298, 0.6446, 0.8593, 1.074, 1.2885, 1.503, 1.6591, 1.3381, 1.0792, 0.8704, 0.7021, 0.5662, 0.4849, 0.4846, 0.4844, 0.4842, 0.484, 0.4838, 0.4836],&lt;br /&gt;
 [0, 0.0, 0.0002, 0.0004, 0.0007, 0.001, 0.0015, 0.002, 0.0391, 0.36, 0.6186, 0.827, 0.9948, 1.1301, 1.1405, 0.92, 0.7423, 0.5989, 0.4832, 0.3899, 0.3147],&lt;br /&gt;
 [0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0001, 0.0004, 0.0008, 0.0013, 0.0019, 0.0729, 0.2935, 0.4715, 0.6152, 0.731, 0.8245, 0.9]]&lt;br /&gt;
|-&lt;br /&gt;
|[0.232, 0.768]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
|0.2&lt;br /&gt;
|&lt;br /&gt;
 [[1., 0.9590812,0.82266497,0.95877308,0.60614596,1.20781224, 0.92205471,1.0215116 ,0.89080449,1.05747735,1.04019676,1.06665347, 0.78545416,1.17084962,1.08658091,1.01467309,0.91098074,1.10349004, 0.83411596,0.73187308,0.70399766],&lt;br /&gt;
 [0.,0.37493181,0.10514573,0.79448823,0.44666767,1.19676033,1.14532119,1.64453389,1.93572019,1.37435635,0.92790967,1.11928728, 0.52061388,0.43837628,0.31518386,0.50300858,0.52891948,0.74255261, 0.07589526,0.64051491,0.47184952],&lt;br /&gt;
 [ 0., 0.23680072, 0.05047157,-0.03770305, 0.34603556,-0.45259701,0.25340369, 0.25177705, 0.16210031, 0.34367395, 0.96197961, 1.10224845, 1.21656021, 1.38442255, 1.02149302, 0.68818982, 0.7921558 , 0.32238544, 0.30229594, 0.43876605, 0.22073986],&lt;br /&gt;
 [ 0.,-0.01591557,-0.12432336,-0.17669569,-0.21325853,-0.2489822 , -0.22989873,-0.0564741 ,-0.19961696,-0.16036058,-0.04386598, 0.25004781, -0.07279584, 0.09573081,-0.12329308,-0.03451486, 0.0173815 , 0.79895333, 0.8178261 , 0.53498205, 1.1021996]]&lt;br /&gt;
|-&lt;br /&gt;
|[0,1]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
 [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],&lt;br /&gt;
 [0, 0.211317, 0.422635, 0.633952, 0.845269, 1.05659, 1.2679, 1.47922, 1.69054, 1.90186, 1.95601, 1.58342, 1.2818, 1.03764, 0.839981, 0.685458, 0.685458, 0.685458, 0.685458, 0.685458, 0.685458],&lt;br /&gt;
 [0, 3.40252e-10, 2.02262e-09, 6.04129e-09, 1.32631e-08, 2.47434e-08, 4.23248e-08, 6.98021e-08, 1.16723e-07, 2.20847e-07, 0.103509, 0.476095, 0.777716, 1.02188, 1.21954, 1.36367, 1.10391, 0.893635, 0.72341, 0.58561, 0.474061],&lt;br /&gt;
 [0, 2.79389e-19, 2.05361e-18, 7.26553e-18, 1.82666e-17, 3.77412e-17, 6.87107e-17, 1.14894e-16, 1.82155e-16, 2.86358e-16, 3.73778e-11, 7.31532e-10, 5.75723e-09, 2.28945e-08, 7.3467e-08, 0.0103927, 0.270148, 0.480425, 0.65065, 0.78845, 0.9]]&lt;br /&gt;
|-&lt;br /&gt;
|[0,1]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
|0.1&lt;br /&gt;
|&lt;br /&gt;
 [[1.,0.98392517,1.02825092,1.0127091 ,1.21814838,1.03987996, 1.17367563,1.0721497 ,1.11254303,0.91560159,0.92664064,0.93069442, 1.01285111,1.10017347,0.9952073 ,1.05616016,1.12564585,1.02743444, 0.93306189,1.04808763,0.87659083],&lt;br /&gt;
 [0.,0.19112834,0.6016258 ,0.70894548,0.86077117,0.95316772, 1.12244906,1.51535841,1.48548905,1.87282215,2.13181979,1.48523121, 1.14624017,1.06839771,0.8838448 ,0.72466348,0.61379013,0.70096009, 0.73549769,0.62452413,0.61907767],&lt;br /&gt;
 [0., 0.04514029,-0.06510522,-0.00304812,-0.01620013, 0.006101, 0.04992798, 0.29317191, 0.11305888, 0.2285637 , 0.26142926, 0.50457228, 0.87829835, 0.90900075, 1.32279588, 1.42225272, 1.18086941, 0.67720058, 0.61562944, 0.6339817 , 0.36613472],&lt;br /&gt;
 [0.,-0.13882966, 0.18200648,-0.06629627,-0.01496019, 0.21349797,-0.10124824,-0.05505019, 0.23235014, 0.09448396, 0.06059911,-0.12137716, -0.00781841, 0.04355511, 0.1369212 ,-0.13011339, 0.2027646 , 0.51512985, 0.65331917, 0.78324169, 0.81304223]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
The plots show noise free data for different weights from forward optimal control problems.&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Solution plots&amp;quot; widths=&amp;quot;280px&amp;quot; heights=&amp;quot;240px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
 Image:LPN3B_min_sum_data.png| OCP with weights [0.232, 0.768].&lt;br /&gt;
 Image:LPN3B_minT_x_data.png| OCP with weights [0,1].&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:gIOC]]&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;br /&gt;
[[Category: Bang bang]]&lt;br /&gt;
[[Category: Path-constrained arcs]]&lt;br /&gt;
[[Category:Systems biology]]&lt;br /&gt;
[[Category:Tracking objective]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2365</id>
		<title>LinearMetabolic</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2365"/>
		<updated>2023-10-20T11:28:15Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 4&lt;br /&gt;
|nw        = 3&lt;br /&gt;
|nc        = 2&lt;br /&gt;
|nri        = 2&lt;br /&gt;
|nre       = 5&lt;br /&gt;
}}&amp;lt;!-- Do not insert line break here or Dimensions Box moves up in the layout...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Linear Metabolic problem&#039;&#039;&#039; is a generalized inverse optimal control problem formulated and investigated in &amp;lt;bib id=&amp;quot;Tsiantis2018&amp;quot; /&amp;gt;. It tries to identify an a priori unknown objective function from data.&lt;br /&gt;
&lt;br /&gt;
The problem is a generalization of the one studied by de Hijas-Liste et al. (2014), where it was considered as a standard optimal control problem (OCP). Here, we take the solution reference of the inner problem as the multi-objective OCP described in de Hijas-Liste et al. (2014), selecting a specific point of the resulting Pareto front. This case study is interesting, because it includes path constraints on the states and the inputs.&lt;br /&gt;
&lt;br /&gt;
A 3-step linear metabolic pathway with mass action kinetics is considered. The differential states &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; are metabolite concentrations, the time-dependent control functions &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt; are enzyme concentrations, and the model parameters &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; are kinetic parameters in mass action expressions. Candidate objective functionals &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; are the final time and the time-integral of the intermediate metabolite concentrations. The measurement function  is a map to the values of the differential states and  comprises measurements of metabolite concentrations. The differential equations are assumed to be fully known as standard mass action kinetics. An inequality path constraint is present (but potentially unknown in such settings) on the inner level and critical from a biological point of view: limitations due to molecular crowding impose an upper bound on the maximum total concentration of enzymes (controls) at any given time. Boundary conditions are fixed initial and terminal values of the metabolite concentrations.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
The gIOC is given by&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;math&amp;gt;&lt;br /&gt;
   \displaystyle \min_{(p, w, x^*, u^*, T^*)} \; \| x^* - \eta \|&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
      subject to&lt;br /&gt;
      &amp;lt;math&amp;gt;&lt;br /&gt;
      (x^*,u^*, T^*) \in \displaystyle \arg \min_{x, u, T}  w_1 \cdot \int_{0}^{T} (x_2 + x_3) \, dt + w_2 \cdot \int_{0}^{T} 1 \,dt &lt;br /&gt;
      &amp;lt;/math&amp;gt;&lt;br /&gt;
                 subject to&lt;br /&gt;
                 &amp;lt;math&amp;gt;&lt;br /&gt;
                 \begin{array}{rcl}&lt;br /&gt;
                 \dot{x_1}(t) &amp;amp;=&amp;amp; \displaystyle 0 \\&lt;br /&gt;
                 \dot{x_2}(t) &amp;amp;=&amp;amp; \displaystyle p_1 \cdot x_1 \cdot u_1 - p_2 \cdot x_2 \cdot u_2 \\&lt;br /&gt;
                 \dot{x_3}(t) &amp;amp;=&amp;amp; \displaystyle p_2 \cdot x_2 \cdot u_2 - p_3 \cdot x_3 \cdot u_3 \\&lt;br /&gt;
                 \dot{x_4}(t) &amp;amp;=&amp;amp; \displaystyle p_3 \cdot x_3 \cdot u_3 \\&lt;br /&gt;
                 x(0) &amp;amp;=&amp;amp; (1, 0, 0, 0) \\&lt;br /&gt;
                 x_4(T) &amp;amp;=&amp;amp; 0.9 \\&lt;br /&gt;
                 x_i(t) &amp;amp;\ge&amp;amp; 0 \; \forall \; i \in \{1,2,3,4\} \\                 &lt;br /&gt;
                 u_i(t) &amp;amp;\in&amp;amp; [0,1] \; \forall \; i \in \{1,2,3\} \\&lt;br /&gt;
                 1 &amp;amp;\ge&amp;amp; u_1(t) + u_2(t) + u_3(t) \\&lt;br /&gt;
                 w_1, w_2 \in [0,1] \\&lt;br /&gt;
                 w_1 + w_2 = 1&lt;br /&gt;
                 \end{array}&lt;br /&gt;
                 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here the four differential states and three control functions stand for the metabolite concentrations (&amp;lt;math&amp;gt; x_1, x_2, x_3, x_4 &amp;lt;/math&amp;gt;) and the enzyme concentrations (&amp;lt;math&amp;gt; u_1, u_2, u_3 &amp;lt;/math&amp;gt;). The objective function candidates are the sum of intermediate metabolite concentrations and the transition time. The parameters (&amp;lt;math&amp;gt; k_1, k_2, k_3 &amp;lt;/math&amp;gt;) are kinetic parameters in mass action expressions.&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
&lt;br /&gt;
The following table gives different values for &amp;lt;math&amp;gt;\eta&amp;lt;/math&amp;gt;, componentwise for all four entries of &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; as time series, for different combinations of weights and noise levels that were used to produce the synthetic data via solution of forward optimal control problems.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Data&lt;br /&gt;
|-&lt;br /&gt;
|weights &amp;lt;math&amp;gt;w_1, w_2&amp;lt;/math&amp;gt;&lt;br /&gt;
|parameters &amp;lt;math&amp;gt;p_1, p_2, p_3&amp;lt;/math&amp;gt;&lt;br /&gt;
|noise&lt;br /&gt;
|data &amp;lt;math&amp;gt;\eta&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[0.232, 0.768]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
| 0&lt;br /&gt;
|&lt;br /&gt;
 [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],&lt;br /&gt;
 [0, 0.215, 0.4298, 0.6446, 0.8593, 1.074, 1.2885, 1.503, 1.6591, 1.3381, 1.0792, 0.8704, 0.7021, 0.5662, 0.4849, 0.4846, 0.4844, 0.4842, 0.484, 0.4838, 0.4836],&lt;br /&gt;
 [0, 0.0, 0.0002, 0.0004, 0.0007, 0.001, 0.0015, 0.002, 0.0391, 0.36, 0.6186, 0.827, 0.9948, 1.1301, 1.1405, 0.92, 0.7423, 0.5989, 0.4832, 0.3899, 0.3147],&lt;br /&gt;
 [0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0001, 0.0004, 0.0008, 0.0013, 0.0019, 0.0729, 0.2935, 0.4715, 0.6152, 0.731, 0.8245, 0.9]]&lt;br /&gt;
|-&lt;br /&gt;
|[0.232, 0.768]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
|0.2&lt;br /&gt;
|&lt;br /&gt;
 [[1., 0.9590812,0.82266497,0.95877308,0.60614596,1.20781224, 0.92205471,1.0215116 ,0.89080449,1.05747735,1.04019676,1.06665347, 0.78545416,1.17084962,1.08658091,1.01467309,0.91098074,1.10349004, 0.83411596,0.73187308,0.70399766],&lt;br /&gt;
 [0.,0.37493181,0.10514573,0.79448823,0.44666767,1.19676033,1.14532119,1.64453389,1.93572019,1.37435635,0.92790967,1.11928728, 0.52061388,0.43837628,0.31518386,0.50300858,0.52891948,0.74255261, 0.07589526,0.64051491,0.47184952],&lt;br /&gt;
 [ 0., 0.23680072, 0.05047157,-0.03770305, 0.34603556,-0.45259701,0.25340369, 0.25177705, 0.16210031, 0.34367395, 0.96197961, 1.10224845, 1.21656021, 1.38442255, 1.02149302, 0.68818982, 0.7921558 , 0.32238544, 0.30229594, 0.43876605, 0.22073986],&lt;br /&gt;
 [ 0.,-0.01591557,-0.12432336,-0.17669569,-0.21325853,-0.2489822 , -0.22989873,-0.0564741 ,-0.19961696,-0.16036058,-0.04386598, 0.25004781, -0.07279584, 0.09573081,-0.12329308,-0.03451486, 0.0173815 , 0.79895333, 0.8178261 , 0.53498205, 1.1021996]]&lt;br /&gt;
|-&lt;br /&gt;
|[0,1]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
 [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],&lt;br /&gt;
 [0, 0.211317, 0.422635, 0.633952, 0.845269, 1.05659, 1.2679, 1.47922, 1.69054, 1.90186, 1.95601, 1.58342, 1.2818, 1.03764, 0.839981, 0.685458, 0.685458, 0.685458, 0.685458, 0.685458, 0.685458],&lt;br /&gt;
 [0, 3.40252e-10, 2.02262e-09, 6.04129e-09, 1.32631e-08, 2.47434e-08, 4.23248e-08, 6.98021e-08, 1.16723e-07, 2.20847e-07, 0.103509, 0.476095, 0.777716, 1.02188, 1.21954, 1.36367, 1.10391, 0.893635, 0.72341, 0.58561, 0.474061],&lt;br /&gt;
 [0, 2.79389e-19, 2.05361e-18, 7.26553e-18, 1.82666e-17, 3.77412e-17, 6.87107e-17, 1.14894e-16, 1.82155e-16, 2.86358e-16, 3.73778e-11, 7.31532e-10, 5.75723e-09, 2.28945e-08, 7.3467e-08, 0.0103927, 0.270148, 0.480425, 0.65065, 0.78845, 0.9]]&lt;br /&gt;
|-&lt;br /&gt;
|[0,1]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
|0.1&lt;br /&gt;
|&lt;br /&gt;
 [[1.,0.98392517,1.02825092,1.0127091 ,1.21814838,1.03987996, 1.17367563,1.0721497 ,1.11254303,0.91560159,0.92664064,0.93069442, 1.01285111,1.10017347,0.9952073 ,1.05616016,1.12564585,1.02743444, 0.93306189,1.04808763,0.87659083],&lt;br /&gt;
 [0.,0.19112834,0.6016258 ,0.70894548,0.86077117,0.95316772, 1.12244906,1.51535841,1.48548905,1.87282215,2.13181979,1.48523121, 1.14624017,1.06839771,0.8838448 ,0.72466348,0.61379013,0.70096009, 0.73549769,0.62452413,0.61907767],&lt;br /&gt;
 [0., 0.04514029,-0.06510522,-0.00304812,-0.01620013, 0.006101, 0.04992798, 0.29317191, 0.11305888, 0.2285637 , 0.26142926, 0.50457228, 0.87829835, 0.90900075, 1.32279588, 1.42225272, 1.18086941, 0.67720058, 0.61562944, 0.6339817 , 0.36613472],&lt;br /&gt;
 [0.,-0.13882966, 0.18200648,-0.06629627,-0.01496019, 0.21349797,-0.10124824,-0.05505019, 0.23235014, 0.09448396, 0.06059911,-0.12137716, -0.00781841, 0.04355511, 0.1369212 ,-0.13011339, 0.2027646 , 0.51512985, 0.65331917, 0.78324169, 0.81304223]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
The plots show noise free data for different weights from forward optimal control problems.&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Solution plots&amp;quot; widths=&amp;quot;280px&amp;quot; heights=&amp;quot;240px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
 Image:LPN3B_min_sum_data.png| OCP with weights [0.232, 0.768].&lt;br /&gt;
 Image:LPN3B_minT_x_data.png| OCP with weights [0,1].&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:gIOC]]&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;br /&gt;
[[Category: Bang bang]]&lt;br /&gt;
[[Category: Path-constrained arcs]]&lt;br /&gt;
[[Category:Systems biology]]&lt;br /&gt;
[[Category:Tracking objective]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2364</id>
		<title>LinearMetabolic</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2364"/>
		<updated>2023-10-20T11:27:04Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 4&lt;br /&gt;
|nw        = 3&lt;br /&gt;
|nc        = 2&lt;br /&gt;
|nri        = 2&lt;br /&gt;
|nre       = 5&lt;br /&gt;
}}&amp;lt;!-- Do not insert line break here or Dimensions Box moves up in the layout...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Linear Metabolic problem&#039;&#039;&#039; is a generalized inverse optimal control problem formulated and investigated in &amp;lt;bib id=&amp;quot;Tsiantis2018&amp;quot; /&amp;gt;. It tries to identify an a priori unknown objective function from data.&lt;br /&gt;
&lt;br /&gt;
The problem is a generalization of the one studied by de Hijas-Liste et al. (2014), where it was considered as a standard optimal control problem (OCP). Here, we take the solution reference of the inner problem as the multi-objective OCP described in de Hijas-Liste et al. (2014), selecting a specific point of the resulting Pareto front. This case study is interesting, because it includes path constraints on the states and the inputs.&lt;br /&gt;
&lt;br /&gt;
A 3-step linear metabolic pathway with mass action kinetics is considered. The differential states &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; are metabolite concentrations, the time-dependent control functions &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt; are enzyme concentrations, and the model parameters &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; are kinetic parameters in mass action expressions. Candidate objective functionals &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; are the final time and the time-integral of the intermediate metabolite concentrations. The measurement function  is a map to the values of the differential states and  comprises measurements of metabolite concentrations. The differential equations are assumed to be fully known as standard mass action kinetics. An inequality path constraint is present (but potentially unknown in such settings) on the inner level and critical from a biological point of view: limitations due to molecular crowding impose an upper bound on the maximum total concentration of enzymes (controls) at any given time. Boundary conditions are fixed initial and terminal values of the metabolite concentrations.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
The gIOC is given by&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;math&amp;gt;&lt;br /&gt;
   \displaystyle \min_{(p, w, x^*, u^*, T^*)} \; \| x^* - \eta \|&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
      subject to&lt;br /&gt;
      &amp;lt;math&amp;gt;&lt;br /&gt;
      (x^*,u^*, T^*) \in \displaystyle \arg \min_{x, u, T}  w_1 \cdot \int_{0}^{T} (x_2 + x_3) \, dt + w_2 \cdot \int_{0}^{T} 1 \,dt &lt;br /&gt;
      &amp;lt;/math&amp;gt;&lt;br /&gt;
                 subject to&lt;br /&gt;
                 &amp;lt;math&amp;gt;&lt;br /&gt;
                 \begin{array}{rcl}&lt;br /&gt;
                 \dot{x_1}(t) &amp;amp;=&amp;amp; \displaystyle 0 \\&lt;br /&gt;
                 \dot{x_2}(t) &amp;amp;=&amp;amp; \displaystyle p_1 \cdot x_1 \cdot u_1 - p_2 \cdot x_2 \cdot u_2 \\&lt;br /&gt;
                 \dot{x_3}(t) &amp;amp;=&amp;amp; \displaystyle p_2 \cdot x_2 \cdot u_2 - p_3 \cdot x_3 \cdot u_3 \\&lt;br /&gt;
                 \dot{x_4}(t) &amp;amp;=&amp;amp; \displaystyle p_3 \cdot x_3 \cdot u_3 \\&lt;br /&gt;
                 x(0) &amp;amp;=&amp;amp; (1, 0, 0, 0) \\&lt;br /&gt;
                 x_4(T) &amp;amp;=&amp;amp; 0.9 \\&lt;br /&gt;
                 x_i(t) &amp;amp;\ge&amp;amp; 0 \; \forall \; i \in \{1,2,3,4\} \\                 &lt;br /&gt;
                 u_i(t) &amp;amp;\in&amp;amp; [0,1] \; \forall \; i \in \{1,2,3\} \\&lt;br /&gt;
                 1 &amp;amp;\ge&amp;amp; u_1(t) + u_2(t) + u_3(t) \\&lt;br /&gt;
                 w_1, w_2 \in [0,1] \\&lt;br /&gt;
                 w_1 + w_2 = 1&lt;br /&gt;
                 \end{array}&lt;br /&gt;
                 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here the four differential states and three control functions stand for the metabolite concentrations (&amp;lt;math&amp;gt; x_1, x_2, x_3, x_4 &amp;lt;/math&amp;gt;) and the enzyme concentrations (&amp;lt;math&amp;gt; u_1, u_2, u_3 &amp;lt;/math&amp;gt;). The objective function candidates are the sum of intermediate metabolite concentrations and the transition time. The parameters (&amp;lt;math&amp;gt; k_1, k_2, k_3 &amp;lt;/math&amp;gt;) are kinetic parameters in mass action expressions.&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
&lt;br /&gt;
The following table gives different values for &amp;lt;math&amp;gt;\eta&amp;lt;/math&amp;gt;, componentwise for all four entries of &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; as time series, for different combinations of weights and noise levels that were used to produce the synthetic data via solution of forward optimal control problems.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Data&lt;br /&gt;
|-&lt;br /&gt;
|weights &amp;lt;math&amp;gt;w_1, w_2&amp;lt;/math&amp;gt;&lt;br /&gt;
|parameters &amp;lt;math&amp;gt;p_1, p_2, p_3&amp;lt;/math&amp;gt;&lt;br /&gt;
|noise&lt;br /&gt;
|data &amp;lt;math&amp;gt;\eta&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[0.232, 0.768]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
| 0&lt;br /&gt;
|&lt;br /&gt;
 [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],&lt;br /&gt;
 [0, 0.215, 0.4298, 0.6446, 0.8593, 1.074, 1.2885, 1.503, 1.6591, 1.3381, 1.0792, 0.8704, 0.7021, 0.5662, 0.4849, 0.4846, 0.4844, 0.4842, 0.484, 0.4838, 0.4836],&lt;br /&gt;
 [0, 0.0, 0.0002, 0.0004, 0.0007, 0.001, 0.0015, 0.002, 0.0391, 0.36, 0.6186, 0.827, 0.9948, 1.1301, 1.1405, 0.92, 0.7423, 0.5989, 0.4832, 0.3899, 0.3147],&lt;br /&gt;
 [0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0001, 0.0004, 0.0008, 0.0013, 0.0019, 0.0729, 0.2935, 0.4715, 0.6152, 0.731, 0.8245, 0.9]]&lt;br /&gt;
|-&lt;br /&gt;
|[0.232, 0.768]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
|0.2&lt;br /&gt;
|&lt;br /&gt;
 [[1., 0.9590812,0.82266497,0.95877308,0.60614596,1.20781224, 0.92205471,1.0215116 ,0.89080449,1.05747735,1.04019676,1.06665347, 0.78545416,1.17084962,1.08658091,1.01467309,0.91098074,1.10349004, 0.83411596,0.73187308,0.70399766],&lt;br /&gt;
 [0.,0.37493181,0.10514573,0.79448823,0.44666767,1.19676033,1.14532119,1.64453389,1.93572019,1.37435635,0.92790967,1.11928728, 0.52061388,0.43837628,0.31518386,0.50300858,0.52891948,0.74255261, 0.07589526,0.64051491,0.47184952],&lt;br /&gt;
 [ 0., 0.23680072, 0.05047157,-0.03770305, 0.34603556,-0.45259701,0.25340369, 0.25177705, 0.16210031, 0.34367395, 0.96197961, 1.10224845, 1.21656021, 1.38442255, 1.02149302, 0.68818982, 0.7921558 , 0.32238544, 0.30229594, 0.43876605, 0.22073986],&lt;br /&gt;
 [ 0.,-0.01591557,-0.12432336,-0.17669569,-0.21325853,-0.2489822 , -0.22989873,-0.0564741 ,-0.19961696,-0.16036058,-0.04386598, 0.25004781, -0.07279584, 0.09573081,-0.12329308,-0.03451486, 0.0173815 , 0.79895333, 0.8178261 , 0.53498205, 1.1021996]]&lt;br /&gt;
|-&lt;br /&gt;
|[0,1]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
 [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],&lt;br /&gt;
 [0, 0.211317, 0.422635, 0.633952, 0.845269, 1.05659, 1.2679, 1.47922, 1.69054, 1.90186, 1.95601, 1.58342, 1.2818, 1.03764, 0.839981, 0.685458, 0.685458, 0.685458, 0.685458, 0.685458, 0.685458],&lt;br /&gt;
 [0, 3.40252e-10, 2.02262e-09, 6.04129e-09, 1.32631e-08, 2.47434e-08, 4.23248e-08, 6.98021e-08, 1.16723e-07, 2.20847e-07, 0.103509, 0.476095, 0.777716, 1.02188, 1.21954, 1.36367, 1.10391, 0.893635, 0.72341, 0.58561, 0.474061],&lt;br /&gt;
 [0, 2.79389e-19, 2.05361e-18, 7.26553e-18, 1.82666e-17, 3.77412e-17, 6.87107e-17, 1.14894e-16, 1.82155e-16, 2.86358e-16, 3.73778e-11, 7.31532e-10, 5.75723e-09, 2.28945e-08, 7.3467e-08, 0.0103927, 0.270148, 0.480425, 0.65065, 0.78845, 0.9]]&lt;br /&gt;
|-&lt;br /&gt;
|[0,1]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
|0.1&lt;br /&gt;
|&lt;br /&gt;
 [[1.,0.98392517,1.02825092,1.0127091 ,1.21814838,1.03987996, 1.17367563,1.0721497 ,1.11254303,0.91560159,0.92664064,0.93069442, 1.01285111,1.10017347,0.9952073 ,1.05616016,1.12564585,1.02743444, 0.93306189,1.04808763,0.87659083],&lt;br /&gt;
 [0.,0.19112834,0.6016258 ,0.70894548,0.86077117,0.95316772, 1.12244906,1.51535841,1.48548905,1.87282215,2.13181979,1.48523121, 1.14624017,1.06839771,0.8838448 ,0.72466348,0.61379013,0.70096009, 0.73549769,0.62452413,0.61907767],&lt;br /&gt;
 [0., 0.04514029,-0.06510522,-0.00304812,-0.01620013, 0.006101, 0.04992798, 0.29317191, 0.11305888, 0.2285637 , 0.26142926, 0.50457228, 0.87829835, 0.90900075, 1.32279588, 1.42225272, 1.18086941, 0.67720058, 0.61562944, 0.6339817 , 0.36613472],&lt;br /&gt;
 [0.,-0.13882966, 0.18200648,-0.06629627,-0.01496019, 0.21349797,-0.10124824,-0.05505019, 0.23235014, 0.09448396, 0.06059911,-0.12137716, -0.00781841, 0.04355511, 0.1369212 ,-0.13011339, 0.2027646 , 0.51512985, 0.65331917, 0.78324169, 0.81304223]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Here are two plots with noise free data for weights [0.232, 0.768] to compare with the solution of different optimal control problems.&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Solution plots&amp;quot; widths=&amp;quot;280px&amp;quot; heights=&amp;quot;240px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
 Image:LPN3B_min_sum_data.png| OCP with weights [0.232, 0.768].&lt;br /&gt;
 Image:LPN3B_minT_x_data.png| OCP with weights [0,1].&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:gIOC]]&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;br /&gt;
[[Category: Bang bang]]&lt;br /&gt;
[[Category: Path-constrained arcs]]&lt;br /&gt;
[[Category:Systems biology]]&lt;br /&gt;
[[Category:Tracking objective]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2363</id>
		<title>LinearMetabolic</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2363"/>
		<updated>2023-10-20T11:26:21Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: Edited the data table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 4&lt;br /&gt;
|nw        = 3&lt;br /&gt;
|nc        = 2&lt;br /&gt;
|nri        = 2&lt;br /&gt;
|nre       = 5&lt;br /&gt;
}}&amp;lt;!-- Do not insert line break here or Dimensions Box moves up in the layout...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Linear Metabolic problem&#039;&#039;&#039; is a generalized inverse optimal control problem formulated and investigated in &amp;lt;bib id=&amp;quot;Tsiantis2018&amp;quot; /&amp;gt;. It tries to identify an a priori unknown objective function from data.&lt;br /&gt;
&lt;br /&gt;
The problem is a generalization of the one studied by de Hijas-Liste et al. (2014), where it was considered as a standard optimal control problem (OCP). Here, we take the solution reference of the inner problem as the multi-objective OCP described in de Hijas-Liste et al. (2014), selecting a specific point of the resulting Pareto front. This case study is interesting, because it includes path constraints on the states and the inputs.&lt;br /&gt;
&lt;br /&gt;
A 3-step linear metabolic pathway with mass action kinetics is considered. The differential states &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; are metabolite concentrations, the time-dependent control functions &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt; are enzyme concentrations, and the model parameters &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; are kinetic parameters in mass action expressions. Candidate objective functionals &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; are the final time and the time-integral of the intermediate metabolite concentrations. The measurement function  is a map to the values of the differential states and  comprises measurements of metabolite concentrations. The differential equations are assumed to be fully known as standard mass action kinetics. An inequality path constraint is present (but potentially unknown in such settings) on the inner level and critical from a biological point of view: limitations due to molecular crowding impose an upper bound on the maximum total concentration of enzymes (controls) at any given time. Boundary conditions are fixed initial and terminal values of the metabolite concentrations.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
The gIOC is given by&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;math&amp;gt;&lt;br /&gt;
   \displaystyle \min_{(p, w, x^*, u^*, T^*)} \; \| x^* - \eta \|&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
      subject to&lt;br /&gt;
      &amp;lt;math&amp;gt;&lt;br /&gt;
      (x^*,u^*, T^*) \in \displaystyle \arg \min_{x, u, T}  w_1 \cdot \int_{0}^{T} (x_2 + x_3) \, dt + w_2 \cdot \int_{0}^{T} 1 \,dt &lt;br /&gt;
      &amp;lt;/math&amp;gt;&lt;br /&gt;
                 subject to&lt;br /&gt;
                 &amp;lt;math&amp;gt;&lt;br /&gt;
                 \begin{array}{rcl}&lt;br /&gt;
                 \dot{x_1}(t) &amp;amp;=&amp;amp; \displaystyle 0 \\&lt;br /&gt;
                 \dot{x_2}(t) &amp;amp;=&amp;amp; \displaystyle p_1 \cdot x_1 \cdot u_1 - p_2 \cdot x_2 \cdot u_2 \\&lt;br /&gt;
                 \dot{x_3}(t) &amp;amp;=&amp;amp; \displaystyle p_2 \cdot x_2 \cdot u_2 - p_3 \cdot x_3 \cdot u_3 \\&lt;br /&gt;
                 \dot{x_4}(t) &amp;amp;=&amp;amp; \displaystyle p_3 \cdot x_3 \cdot u_3 \\&lt;br /&gt;
                 x(0) &amp;amp;=&amp;amp; (1, 0, 0, 0) \\&lt;br /&gt;
                 x_4(T) &amp;amp;=&amp;amp; 0.9 \\&lt;br /&gt;
                 x_i(t) &amp;amp;\ge&amp;amp; 0 \; \forall \; i \in \{1,2,3,4\} \\                 &lt;br /&gt;
                 u_i(t) &amp;amp;\in&amp;amp; [0,1] \; \forall \; i \in \{1,2,3\} \\&lt;br /&gt;
                 1 &amp;amp;\ge&amp;amp; u_1 + u_2 + u_3 \\&lt;br /&gt;
                 w_1, w_2 \in [0,1] \\&lt;br /&gt;
                 w_1 + w_2 = 1&lt;br /&gt;
                 \end{array}&lt;br /&gt;
                 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here the four differential states and three control functions stand for the metabolite concentrations (&amp;lt;math&amp;gt; x_1, x_2, x_3, x_4 &amp;lt;/math&amp;gt;) and the enzyme concentrations (&amp;lt;math&amp;gt; u_1, u_2, u_3 &amp;lt;/math&amp;gt;). The objective function candidates are the sum of intermediate metabolite concentrations and the transition time. The parameters (&amp;lt;math&amp;gt; k_1, k_2, k_3 &amp;lt;/math&amp;gt;) are kinetic parameters in mass action expressions.&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
&lt;br /&gt;
The following table gives different values for &amp;lt;math&amp;gt;\eta&amp;lt;/math&amp;gt;, componentwise for all four entries of &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; as time series, for different combinations of weights and noise levels that were used to produce the synthetic data via solution of forward optimal control problems.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Data&lt;br /&gt;
|-&lt;br /&gt;
|weights &amp;lt;math&amp;gt;w_1, w_2&amp;lt;/math&amp;gt;&lt;br /&gt;
|parameters &amp;lt;math&amp;gt;p_1, p_2, p_3&amp;lt;/math&amp;gt;&lt;br /&gt;
|noise&lt;br /&gt;
|data &amp;lt;math&amp;gt;\eta&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[0.232, 0.768]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
| 0&lt;br /&gt;
|&lt;br /&gt;
 [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],&lt;br /&gt;
 [0, 0.215, 0.4298, 0.6446, 0.8593, 1.074, 1.2885, 1.503, 1.6591, 1.3381, 1.0792, 0.8704, 0.7021, 0.5662, 0.4849, 0.4846, 0.4844, 0.4842, 0.484, 0.4838, 0.4836],&lt;br /&gt;
 [0, 0.0, 0.0002, 0.0004, 0.0007, 0.001, 0.0015, 0.002, 0.0391, 0.36, 0.6186, 0.827, 0.9948, 1.1301, 1.1405, 0.92, 0.7423, 0.5989, 0.4832, 0.3899, 0.3147],&lt;br /&gt;
 [0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0001, 0.0004, 0.0008, 0.0013, 0.0019, 0.0729, 0.2935, 0.4715, 0.6152, 0.731, 0.8245, 0.9]]&lt;br /&gt;
|-&lt;br /&gt;
|[0.232, 0.768]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
|0.2&lt;br /&gt;
|&lt;br /&gt;
 [[1., 0.9590812,0.82266497,0.95877308,0.60614596,1.20781224, 0.92205471,1.0215116 ,0.89080449,1.05747735,1.04019676,1.06665347, 0.78545416,1.17084962,1.08658091,1.01467309,0.91098074,1.10349004, 0.83411596,0.73187308,0.70399766],&lt;br /&gt;
 [0.,0.37493181,0.10514573,0.79448823,0.44666767,1.19676033,1.14532119,1.64453389,1.93572019,1.37435635,0.92790967,1.11928728, 0.52061388,0.43837628,0.31518386,0.50300858,0.52891948,0.74255261, 0.07589526,0.64051491,0.47184952],&lt;br /&gt;
 [ 0., 0.23680072, 0.05047157,-0.03770305, 0.34603556,-0.45259701,0.25340369, 0.25177705, 0.16210031, 0.34367395, 0.96197961, 1.10224845, 1.21656021, 1.38442255, 1.02149302, 0.68818982, 0.7921558 , 0.32238544, 0.30229594, 0.43876605, 0.22073986],&lt;br /&gt;
 [ 0.,-0.01591557,-0.12432336,-0.17669569,-0.21325853,-0.2489822 , -0.22989873,-0.0564741 ,-0.19961696,-0.16036058,-0.04386598, 0.25004781, -0.07279584, 0.09573081,-0.12329308,-0.03451486, 0.0173815 , 0.79895333, 0.8178261 , 0.53498205, 1.1021996]]&lt;br /&gt;
|-&lt;br /&gt;
|[0,1]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
 [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],&lt;br /&gt;
 [0, 0.211317, 0.422635, 0.633952, 0.845269, 1.05659, 1.2679, 1.47922, 1.69054, 1.90186, 1.95601, 1.58342, 1.2818, 1.03764, 0.839981, 0.685458, 0.685458, 0.685458, 0.685458, 0.685458, 0.685458],&lt;br /&gt;
 [0, 3.40252e-10, 2.02262e-09, 6.04129e-09, 1.32631e-08, 2.47434e-08, 4.23248e-08, 6.98021e-08, 1.16723e-07, 2.20847e-07, 0.103509, 0.476095, 0.777716, 1.02188, 1.21954, 1.36367, 1.10391, 0.893635, 0.72341, 0.58561, 0.474061],&lt;br /&gt;
 [0, 2.79389e-19, 2.05361e-18, 7.26553e-18, 1.82666e-17, 3.77412e-17, 6.87107e-17, 1.14894e-16, 1.82155e-16, 2.86358e-16, 3.73778e-11, 7.31532e-10, 5.75723e-09, 2.28945e-08, 7.3467e-08, 0.0103927, 0.270148, 0.480425, 0.65065, 0.78845, 0.9]]&lt;br /&gt;
|-&lt;br /&gt;
|[0,1]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
|0.1&lt;br /&gt;
|&lt;br /&gt;
 [[1.,0.98392517,1.02825092,1.0127091 ,1.21814838,1.03987996, 1.17367563,1.0721497 ,1.11254303,0.91560159,0.92664064,0.93069442, 1.01285111,1.10017347,0.9952073 ,1.05616016,1.12564585,1.02743444, 0.93306189,1.04808763,0.87659083],&lt;br /&gt;
 [0.,0.19112834,0.6016258 ,0.70894548,0.86077117,0.95316772, 1.12244906,1.51535841,1.48548905,1.87282215,2.13181979,1.48523121, 1.14624017,1.06839771,0.8838448 ,0.72466348,0.61379013,0.70096009, 0.73549769,0.62452413,0.61907767],&lt;br /&gt;
 [0., 0.04514029,-0.06510522,-0.00304812,-0.01620013, 0.006101, 0.04992798, 0.29317191, 0.11305888, 0.2285637 , 0.26142926, 0.50457228, 0.87829835, 0.90900075, 1.32279588, 1.42225272, 1.18086941, 0.67720058, 0.61562944, 0.6339817 , 0.36613472],&lt;br /&gt;
 [0.,-0.13882966, 0.18200648,-0.06629627,-0.01496019, 0.21349797,-0.10124824,-0.05505019, 0.23235014, 0.09448396, 0.06059911,-0.12137716, -0.00781841, 0.04355511, 0.1369212 ,-0.13011339, 0.2027646 , 0.51512985, 0.65331917, 0.78324169, 0.81304223]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Here are two plots with noise free data for weights [0.232, 0.768] to compare with the solution of different optimal control problems.&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Solution plots&amp;quot; widths=&amp;quot;280px&amp;quot; heights=&amp;quot;240px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
 Image:LPN3B_min_sum_data.png| OCP with weights [0.232, 0.768].&lt;br /&gt;
 Image:LPN3B_minT_x_data.png| OCP with weights [0,1].&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:gIOC]]&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;br /&gt;
[[Category: Bang bang]]&lt;br /&gt;
[[Category: Path-constrained arcs]]&lt;br /&gt;
[[Category:Systems biology]]&lt;br /&gt;
[[Category:Tracking objective]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2361</id>
		<title>LinearMetabolic</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2361"/>
		<updated>2023-10-20T06:46:23Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: Removed old code and p&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 4&lt;br /&gt;
|nw        = 3&lt;br /&gt;
|nc        = 2&lt;br /&gt;
|nri        = 2&lt;br /&gt;
|nre       = 5&lt;br /&gt;
}}&amp;lt;!-- Do not insert line break here or Dimensions Box moves up in the layout...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Linear Metabolic problem&#039;&#039;&#039; is a generalized inverse optimal control problem formulated and investigated in &amp;lt;bib id=&amp;quot;Tsiantis2018&amp;quot; /&amp;gt;. It tries to identify an a priori unknown objective function from data.&lt;br /&gt;
&lt;br /&gt;
The problem is a generalization of the one studied by de Hijas-Liste et al. (2014), where it was considered as a standard optimal control problem (OCP). Here, we take the solution reference of the inner problem as the multi-objective OCP described in de Hijas-Liste et al. (2014), selecting a specific point of the resulting Pareto front. This case study is interesting, because it includes path constraints on the states and the inputs.&lt;br /&gt;
&lt;br /&gt;
A 3-step linear metabolic pathway with mass action kinetics is considered. The differential states &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; are metabolite concentrations, the time-dependent control functions &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt; are enzyme concentrations, and the model parameters &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; are kinetic parameters in mass action expressions. Candidate objective functionals &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; are the final time and the time-integral of the intermediate metabolite concentrations. The measurement function  is a map to the values of the differential states and  comprises measurements of metabolite concentrations. The differential equations are assumed to be fully known as standard mass action kinetics. An inequality path constraint is present (but potentially unknown in such settings) on the inner level and critical from a biological point of view: limitations due to molecular crowding impose an upper bound on the maximum total concentration of enzymes (controls) at any given time. Boundary conditions are fixed initial and terminal values of the metabolite concentrations.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
Under construction...&lt;br /&gt;
&lt;br /&gt;
The gIOC is given by&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;math&amp;gt;&lt;br /&gt;
   \displaystyle \min_{(p, w, x^*, u^*, T^*)} \; \| x^* - \eta \|&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
      subject to&lt;br /&gt;
      &amp;lt;math&amp;gt;&lt;br /&gt;
      (x^*,u^*, T^*) \in \displaystyle \arg \min_{x, u, T}  w_1 \cdot \int_{0}^{T} (x_2 + x_3) \, dt + w_2 \cdot \int_{0}^{T} 1 \,dt &lt;br /&gt;
      &amp;lt;/math&amp;gt;&lt;br /&gt;
                 subject to&lt;br /&gt;
                 &amp;lt;math&amp;gt;&lt;br /&gt;
                 \begin{array}{rcl}&lt;br /&gt;
                 \dot{x_1}(t) &amp;amp;=&amp;amp; \displaystyle 0 \\&lt;br /&gt;
                 \dot{x_2}(t) &amp;amp;=&amp;amp; \displaystyle p_1 \cdot x_1 \cdot u_1 - p_2 \cdot x_2 \cdot u_2 \\&lt;br /&gt;
                 \dot{x_3}(t) &amp;amp;=&amp;amp; \displaystyle p_2 \cdot x_2 \cdot u_2 - p_3 \cdot x_3 \cdot u_3 \\&lt;br /&gt;
                 \dot{x_4}(t) &amp;amp;=&amp;amp; \displaystyle p_3 \cdot x_3 \cdot u_3 \\&lt;br /&gt;
                 x(0) &amp;amp;=&amp;amp; (1, 0, 0, 0) \\&lt;br /&gt;
                 x_4(T) &amp;amp;=&amp;amp; 0.9 \\&lt;br /&gt;
                 x_i(t) &amp;amp;\ge&amp;amp; 0 \; \forall \; i \in \{1,2,3,4\} \\                 &lt;br /&gt;
                 u_i(t) &amp;amp;\in&amp;amp; [0,1] \; \forall \; i \in \{1,2,3\} \\&lt;br /&gt;
                 w_1, w_2 \in [0,1] \\&lt;br /&gt;
                 w_1 + w_2 = 1&lt;br /&gt;
                 \end{array}&lt;br /&gt;
                 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here the four differential states and three control functions stand for the metabolite concentrations (&amp;lt;math&amp;gt; x_1, x_2, x_3, x_4 &amp;lt;/math&amp;gt;) and the enzyme concentrations (&amp;lt;math&amp;gt; u_1, u_2, u_3 &amp;lt;/math&amp;gt;). The objective function candidates are the sum of intermediate metabolite concentrations and the transition time. The parameters (&amp;lt;math&amp;gt; k_1, k_2, k_3 &amp;lt;/math&amp;gt;) are kinetic parameters in mass action expressions.&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Data&lt;br /&gt;
|-&lt;br /&gt;
|weights&lt;br /&gt;
|parameters&lt;br /&gt;
|noise&lt;br /&gt;
|data&lt;br /&gt;
|-&lt;br /&gt;
|[0.232, 0.768]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
| 0&lt;br /&gt;
|[[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],&lt;br /&gt;
      [0, 0.215, 0.4298, 0.6446, 0.8593, 1.074, 1.2885, 1.503, 1.6591, 1.3381, 1.0792, 0.8704, 0.7021, 0.5662, 0.4849, 0.4846, 0.4844, 0.4842, 0.484, 0.4838, 0.4836],&lt;br /&gt;
      [0, 0.0, 0.0002, 0.0004, 0.0007, 0.001, 0.0015, 0.002, 0.0391, 0.36, 0.6186, 0.827, 0.9948, 1.1301, 1.1405, 0.92, 0.7423, 0.5989, 0.4832, 0.3899, 0.3147],&lt;br /&gt;
      [0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0001, 0.0004, 0.0008, 0.0013, 0.0019, 0.0729, 0.2935, 0.4715, 0.6152, 0.731, 0.8245, 0.9]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[0.232, 0.768]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
|0.2&lt;br /&gt;
|[[1.        ,0.9590812 ,0.82266497,0.95877308,0.60614596,1.20781224,&lt;br /&gt;
 0.92205471,1.0215116 ,0.89080449,1.05747735,1.04019676,1.06665347,&lt;br /&gt;
 0.78545416,1.17084962,1.08658091,1.01467309,0.91098074,1.10349004,&lt;br /&gt;
 0.83411596,0.73187308,0.70399766],[0.        ,0.37493181,0.10514573,0.79448823,0.44666767,1.19676033,&lt;br /&gt;
 1.14532119,1.64453389,1.93572019,1.37435635,0.92790967,1.11928728,&lt;br /&gt;
 0.52061388,0.43837628,0.31518386,0.50300858,0.52891948,0.74255261,&lt;br /&gt;
 0.07589526,0.64051491,0.47184952],[ 0.        , 0.23680072, 0.05047157,-0.03770305, 0.34603556,-0.45259701,&lt;br /&gt;
  0.25340369, 0.25177705, 0.16210031, 0.34367395, 0.96197961, 1.10224845,&lt;br /&gt;
  1.21656021, 1.38442255, 1.02149302, 0.68818982, 0.7921558 , 0.32238544,&lt;br /&gt;
  0.30229594, 0.43876605, 0.22073986],[ 0.        ,-0.01591557,-0.12432336,-0.17669569,-0.21325853,-0.2489822 ,&lt;br /&gt;
 -0.22989873,-0.0564741 ,-0.19961696,-0.16036058,-0.04386598, 0.25004781,&lt;br /&gt;
 -0.07279584, 0.09573081,-0.12329308,-0.03451486, 0.0173815 , 0.79895333,&lt;br /&gt;
  0.8178261 , 0.53498205, 1.1021996 ]]&lt;br /&gt;
|-&lt;br /&gt;
|[0,1]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
|0&lt;br /&gt;
|[[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],&lt;br /&gt;
      [0, 0.211317, 0.422635, 0.633952, 0.845269, 1.05659, 1.2679, 1.47922, 1.69054, 1.90186, 1.95601, 1.58342, 1.2818, 1.03764, 0.839981, 0.685458, 0.685458, 0.685458, 0.685458, 0.685458, 0.685458],&lt;br /&gt;
      [0, 3.40252e-10, 2.02262e-09, 6.04129e-09, 1.32631e-08, 2.47434e-08, 4.23248e-08, 6.98021e-08, 1.16723e-07, 2.20847e-07, 0.103509, 0.476095, 0.777716, 1.02188, 1.21954, 1.36367, 1.10391, 0.893635, 0.72341, 0.58561, 0.474061],&lt;br /&gt;
      [0, 2.79389e-19, 2.05361e-18, 7.26553e-18, 1.82666e-17, 3.77412e-17, 6.87107e-17, 1.14894e-16, 1.82155e-16, 2.86358e-16, 3.73778e-11, 7.31532e-10, 5.75723e-09, 2.28945e-08, 7.3467e-08, 0.0103927, 0.270148, 0.480425, 0.65065, 0.78845, 0.9]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[0,1]&lt;br /&gt;
|[1,1,1]&lt;br /&gt;
|0.1&lt;br /&gt;
|[[1.        ,0.98392517,1.02825092,1.0127091 ,1.21814838,1.03987996,&lt;br /&gt;
 1.17367563,1.0721497 ,1.11254303,0.91560159,0.92664064,0.93069442,&lt;br /&gt;
 1.01285111,1.10017347,0.9952073 ,1.05616016,1.12564585,1.02743444,&lt;br /&gt;
 0.93306189,1.04808763,0.87659083],[0.        ,0.19112834,0.6016258 ,0.70894548,0.86077117,0.95316772,&lt;br /&gt;
 1.12244906,1.51535841,1.48548905,1.87282215,2.13181979,1.48523121,&lt;br /&gt;
 1.14624017,1.06839771,0.8838448 ,0.72466348,0.61379013,0.70096009,&lt;br /&gt;
 0.73549769,0.62452413,0.61907767],[ 0.        , 0.04514029,-0.06510522,-0.00304812,-0.01620013, 0.006101  ,&lt;br /&gt;
  0.04992798, 0.29317191, 0.11305888, 0.2285637 , 0.26142926, 0.50457228,&lt;br /&gt;
  0.87829835, 0.90900075, 1.32279588, 1.42225272, 1.18086941, 0.67720058,&lt;br /&gt;
  0.61562944, 0.6339817 , 0.36613472],[ 0.        ,-0.13882966, 0.18200648,-0.06629627,-0.01496019, 0.21349797,&lt;br /&gt;
 -0.10124824,-0.05505019, 0.23235014, 0.09448396, 0.06059911,-0.12137716,&lt;br /&gt;
 -0.00781841, 0.04355511, 0.1369212 ,-0.13011339, 0.2027646 , 0.51512985,&lt;br /&gt;
  0.65331917, 0.78324169, 0.81304223]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Here are two plots with noise free data for weights [0.232, 0.768] to compare with the solution of different optimal control problems.&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Solution plots&amp;quot; widths=&amp;quot;280px&amp;quot; heights=&amp;quot;240px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
 Image:LPN3B_min_sum_data.png| OCP with weights [0.232, 0.768].&lt;br /&gt;
 Image:LPN3B_minT_x_data.png| OCP with weights [0,1].&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:gIOC]]&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;br /&gt;
[[Category: Bang bang]]&lt;br /&gt;
[[Category: Path-constrained arcs]]&lt;br /&gt;
[[Category:Systems biology]]&lt;br /&gt;
[[Category:Tracking objective]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Main_Page&amp;diff=2352</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Main_Page&amp;diff=2352"/>
		<updated>2023-10-19T13:21:22Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This wiki contains a &#039;&#039;&#039;benchmark library&#039;&#039;&#039; of &#039;&#039;&#039;mixed-integer optimal control problems&#039;&#039;&#039;. The main intention is to provide algorithm developers with a set of challenging problems to evaluate their numerical optimization methods. An important focus is given on &#039;&#039;&#039;reproducibility&#039;&#039;&#039; of optimal solutions.&lt;br /&gt;
As, in contrast to say linear programming, there are no standard formats for the formulation of such problems, and they often show completely different characteristics, these pages dedicate some space for a thorough description of problem and solutions.&lt;br /&gt;
&lt;br /&gt;
A more detailed description of the underlying concepts of this library can be found in the article &amp;lt;bib id=&amp;quot;Sager2012b&amp;quot; /&amp;gt;, of which a [http://mathopt.de/PUBLICATIONS/Sager2012b.pdf preprint pdf] is available.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TOP TABLE WITH NEWS  --&amp;gt;&lt;br /&gt;
==[[:Category:News|News]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Current News|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&amp;lt;table bgcolor=&amp;quot;#EEEEFF&amp;quot; width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;80%&amp;quot; bgcolor=&amp;quot;#EEEEFF&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- The actual news are being included from the page Current News with the following line. --&amp;gt;&lt;br /&gt;
{{Current News}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CATEGORY FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot;&amp;gt;&lt;br /&gt;
==[[:Category:Problem characterization|Problem characterization]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a problem characterization|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Application|application area]]&#039;&#039;, e.g., [[:Category: Aeronautics | Aeronautics]] - [[:Category: Chemical engineering | Chemical engineering]] - [[:Category:Medicine | Medicine]] - [[:Category:Systems biology | Systems biology]] - [[:Category:Transport | Transport]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Model characterization|mathematical model]]&#039;&#039;, e.g., [[:Category: ODE model | ODE]], [[:Category: PDE model | PDE]] or [[:Category: DAE model | DAE model]] - [[:Category:GIOC | GIOC]] - [[:Category: Multistage process | Multistage process]] - [[:Category: State dependent switches | State dependent switches]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Solution characterization|optimal solution]]&#039;&#039;, e.g., [[:Category: Bang bang | Bang bang]] - [[:Category: Chattering | Chattering]] - [[:Category: Sensitivity-seeking arcs | Sensitivity-seeking arcs]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category: Implementation | implementation]], e.g., [[:Category: ACADO | ACADO]] - [[:Category: AMPL | AMPL]] - [[:Category: AMPL/TACO | AMPL with TACO]] - [[:Category:Casadi | Casadi]] - [[:Category: Switch | Switch]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- PROBLEM FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Direct links to [[:Category:MIOCP|Problems]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a Problem|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
[[Bang-bang approximation of a traveling wave | 1D wave]] - [[Control of Heat Equation with Actuator Placement | Actuator Placement]] - [[Bioreactor]] - [[Batch reactor]] - [[Annihilation of calcium oscillations | Calcium]] - [[Annihilation of calcium oscillations with PLC activation inhibition| Calcium 2]] - [[Car testdrive]] - [[Cushioned Oscillation]] - [[Diels-Alder Reaction Experimental Design | Diels-Alder OED]] - [[Double Tank]] - [[Electric Car]] - [[F-8 aircraft]] - [[Fuller&#039;s problem]] - [[Gravity Turn Maneuver | Gravity Turn]] - [[Controlled Heating | Heating]] - [[Industrial robot]] - [[Lotka Volterra fishing problem | Lotka]] - [[Lotka Experimental Design | Lotka OED]] - [[Van der Pol Oscillator | Oscillator]] - [[Oil Shale Pyrolysis | Pyrolysis]] - [[Goddart&#039;s rocket problem | Rocket]] - [[Source Inversion]] - [[Subway ride | Subway]] - &#039;&#039;[[Supermarket refrigeration system | Supermarket]] - [[Truck cruise control | Truck]]&#039;&#039;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- HELP FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Help|Help]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[User:SebastianSager|(contact)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;[[Help:How to contribute|How to contribute]]&#039;&#039; - &#039;&#039;[[Help:How to cite|How to cite]]&#039;&#039; - &#039;&#039;[[Help:Using LaTeX|LaTeX]]&#039;&#039; - &#039;&#039;[[Help:Description guidelines | Guidelines]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- COMMUNITY FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Community|Community]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a User|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Community|Contributors]] - &#039;&#039;[[External Links]]&#039;&#039; - &#039;&#039;Feel encouraged to participate!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Main]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Main_Page&amp;diff=2351</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Main_Page&amp;diff=2351"/>
		<updated>2023-10-19T13:19:38Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: added GIOC direct link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This wiki contains a &#039;&#039;&#039;benchmark library&#039;&#039;&#039; of &#039;&#039;&#039;mixed-integer optimal control problems&#039;&#039;&#039;. The main intention is to provide algorithm developers with a set of challenging problems to evaluate their numerical optimization methods. An important focus is given on &#039;&#039;&#039;reproducibility&#039;&#039;&#039; of optimal solutions.&lt;br /&gt;
As, in contrast to say linear programming, there are no standard formats for the formulation of such problems, and they often show completely different characteristics, these pages dedicate some space for a thorough description of problem and solutions.&lt;br /&gt;
&lt;br /&gt;
A more detailed description of the underlying concepts of this library can be found in the article &amp;lt;bib id=&amp;quot;Sager2012b&amp;quot; /&amp;gt;, of which a [http://mathopt.de/PUBLICATIONS/Sager2012b.pdf preprint pdf] is available.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TOP TABLE WITH NEWS  --&amp;gt;&lt;br /&gt;
==[[:Category:News|News]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Current News|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&amp;lt;table bgcolor=&amp;quot;#EEEEFF&amp;quot; width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;80%&amp;quot; bgcolor=&amp;quot;#EEEEFF&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- The actual news are being included from the page Current News with the following line. --&amp;gt;&lt;br /&gt;
{{Current News}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CATEGORY FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot;&amp;gt;&lt;br /&gt;
==[[:Category:Problem characterization|Problem characterization]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a problem characterization|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Application|application area]]&#039;&#039;, e.g., [[:Category: Aeronautics | Aeronautics]] - [[:Category: Chemical engineering | Chemical engineering]] - [[:Category:Medicine | Medicine]] - [[:Category:Transport | Transport]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Model characterization|mathematical model]]&#039;&#039;, e.g., [[:Category: ODE model | ODE]], [[:Category: PDE model | PDE]] or [[:Category: DAE model | DAE model]] - [[:Category:GIOC | GIOC]] - [[:Category: Multistage process | Multistage process]] - [[:Category: State dependent switches | State dependent switches]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Solution characterization|optimal solution]]&#039;&#039;, e.g., [[:Category: Bang bang | Bang bang]] - [[:Category: Chattering | Chattering]] - [[:Category: Sensitivity-seeking arcs | Sensitivity-seeking arcs]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category: Implementation | implementation]], e.g., [[:Category: ACADO | ACADO]] - [[:Category: AMPL | AMPL]] - [[:Category: AMPL/TACO | AMPL with TACO]] - [[:Category:Casadi | Casadi]] - [[:Category: Switch | Switch]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- PROBLEM FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Direct links to [[:Category:MIOCP|Problems]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a Problem|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
[[Bang-bang approximation of a traveling wave | 1D wave]] - [[Control of Heat Equation with Actuator Placement | Actuator Placement]] - [[Bioreactor]] - [[Batch reactor]] - [[Annihilation of calcium oscillations | Calcium]] - [[Annihilation of calcium oscillations with PLC activation inhibition| Calcium 2]] - [[Car testdrive]] - [[Cushioned Oscillation]] - [[Diels-Alder Reaction Experimental Design | Diels-Alder OED]] - [[Double Tank]] - [[Electric Car]] - [[F-8 aircraft]] - [[Fuller&#039;s problem]] - [[Gravity Turn Maneuver | Gravity Turn]] - [[Controlled Heating | Heating]] - [[Industrial robot]] - [[Lotka Volterra fishing problem | Lotka]] - [[Lotka Experimental Design | Lotka OED]] - [[Van der Pol Oscillator | Oscillator]] - [[Oil Shale Pyrolysis | Pyrolysis]] - [[Goddart&#039;s rocket problem | Rocket]] - [[Source Inversion]] - [[Subway ride | Subway]] - &#039;&#039;[[Supermarket refrigeration system | Supermarket]] - [[Truck cruise control | Truck]]&#039;&#039;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- HELP FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Help|Help]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[User:SebastianSager|(contact)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;[[Help:How to contribute|How to contribute]]&#039;&#039; - &#039;&#039;[[Help:How to cite|How to cite]]&#039;&#039; - &#039;&#039;[[Help:Using LaTeX|LaTeX]]&#039;&#039; - &#039;&#039;[[Help:Description guidelines | Guidelines]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- COMMUNITY FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Community|Community]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a User|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Community|Contributors]] - &#039;&#039;[[External Links]]&#039;&#039; - &#039;&#039;Feel encouraged to participate!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Main]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Template:Current_News&amp;diff=2350</id>
		<title>Template:Current News</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Template:Current_News&amp;diff=2350"/>
		<updated>2023-10-19T13:18:17Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;background:#EEEEFF;&amp;quot;&lt;br /&gt;
&amp;lt;!-- Add news below this comment --&amp;gt;&lt;br /&gt;
{{News|2023/10/19| Added new category [[:Category:GIOC | generalized inverse optimal control]]}}&lt;br /&gt;
{{News|2023/10/19| Added [[LinearMetabolic]] problem}}&lt;br /&gt;
&amp;lt;!-- Add news above this comment --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!-- Text within the following tag is not shown when this page is included in a different page (e.g. the main page, &amp;quot;News&amp;quot; section --&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt; &lt;br /&gt;
== Older news ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#eaecd0;&amp;quot;&lt;br /&gt;
&amp;lt;!-- Copy old news below this comment --&amp;gt;&lt;br /&gt;
{{News|2019/3/14| Added multiple control problems with [[:Category: Gekko | Python GEKKO]] implementation}}&lt;br /&gt;
{{News|2018/9/12| Added [[Control of Transmission Lines]] problem}}&lt;br /&gt;
{{News|2016/7/26 | Added [[Industrial robot]] problem}}&lt;br /&gt;
{{News|2016/7/24 | Added [[Continuously Stirred Tank Reactor problem | CSTR problem]]}}&lt;br /&gt;
{{News|2016/6/30 | Added [[Electric Car]] problem}}&lt;br /&gt;
{{News|2016/5/5| Added multiple control problems with [[:Category: AMPL/TACO | AMPL with TACO]] implementation}}&lt;br /&gt;
{{News|2016/2/23|Added [[Control of Heat Equation with Actuator Placement | Actuator Placement]] control problem and [[:Category:Elliptic | Elliptic]], [[:Category:Parabolic | Parabolic]] and [[:Category:Hyperbolic | Hyperbolic]] categories}}&lt;br /&gt;
{{News|2016/1/10|Added [[Van der Pol Oscillator]], [[Batch reactor]], [[Cushioned Oscillation]] and [[Goddart&#039;s rocket problem]] control problems}}&lt;br /&gt;
{{News|2015/11/10|Moved mintoc.de to a new server}}&lt;br /&gt;
{{News|2012/09/01|Added the [[Lotka Experimental Design]] and a [[:Category:Optimum Experimental Design | category for experimental design problems]]}}&lt;br /&gt;
{{News|2011/09/29|Added the [[:Category:AMPL/TACO | first set of AMPL optimal control problems]] using the TACO toolkit}}&lt;br /&gt;
{{News|2010/11/21|Added New York [[Subway ride]] control problem}}&lt;br /&gt;
{{News|2010/11/18|Extended description of [[:Category:Problem characterization | problem characterization]]}}&lt;br /&gt;
{{News|2010/11/18|Description of benchmark library as [http://mathopt.de/PUBLICATIONS/Sager2011b.pdf pdf file] preprint}}&lt;br /&gt;
{{News|2010/08/16|Added [[Bang-bang approximation of a traveling wave]] 1D PDE example}}&lt;br /&gt;
{{News|2010/02/11|Launch of EU project [http://embocon.org embocon.org]}}&lt;br /&gt;
{{News|2009/11/20|Added [[External Links]] page}}&lt;br /&gt;
{{News|2009/10/26|Revision and Correction of several [[:Category:Optimica | optimica]] models}}&lt;br /&gt;
{{News|2009/08/26|Knitro solution for [[F-8 aircraft (AMPL)]]}}&lt;br /&gt;
{{News|2009/08/11|[[F-8 aircraft]] new local minimum found with [[:Category:Optimica | optimica]]/ipopt}}&lt;br /&gt;
{{News|2009/07/31|New category [[:Category:Optimica | optimica]] introduced}}&lt;br /&gt;
{{News|2009/07/07|[[:Category:AMPL]] revised page with discretized MINLPs in AMPL format}}&lt;br /&gt;
&amp;lt;!-- Add news above this comment --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Adding items ==&lt;br /&gt;
If you want to add events you have to edit this page. At the top of the page you will see something like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:#EEEEFF;&amp;quot;&lt;br /&gt;
&amp;lt;!-- Add items below this comment --&amp;gt;&lt;br /&gt;
{{News|2008/08/14, 15:15|Presentation of the restructured group wiki in the group meeting, room 432.}}&lt;br /&gt;
&amp;lt;!-- Add items above this comment --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To add a new item you have to enter a line of the form:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{News|date|content}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt; is the date and &amp;lt;code&amp;gt;content&amp;lt;/code&amp;gt; is the subject and further information. The field &amp;lt;code&amp;gt;News&amp;lt;/code&amp;gt; is mandatory. Please write the &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt; in the format &#039;&#039;&#039;YYYY/MM/DD, HH:MM&#039;&#039;&#039; to keep it nice and clean. The field &amp;lt;code&amp;gt;content&amp;lt;/code&amp;gt; can contain any information you like (but please keep it short) and even wiki syntax is possible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please keep the items in a chronological order and remove older ones to keep the list short.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:News]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Category:GIOC&amp;diff=2349</id>
		<title>Category:GIOC</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Category:GIOC&amp;diff=2349"/>
		<updated>2023-10-19T12:53:11Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: integer controls&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category includes all generalized inverse optimal control problems.&lt;br /&gt;
To formalize this problem class, we define the following bilevel problem with differential states &amp;lt;math&amp;gt;x \in \mathcal{X}&amp;lt;/math&amp;gt;, controls &amp;lt;math&amp;gt;u \in \mathcal{U}&amp;lt;/math&amp;gt;, model parameters &amp;lt;math&amp;gt;p \in \mathbb{R}^{n_p}&amp;lt;/math&amp;gt;, and convex multipliers &amp;lt;math&amp;gt;w \in \mathcal{W}&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;math&amp;gt;&lt;br /&gt;
   \displaystyle \min_{(p, w, x^*, u^*) \in \Omega_1} \; \| h(x^*, u^*) - \eta \| + R(p,w)&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
      subject to&lt;br /&gt;
      &amp;lt;math&amp;gt;&lt;br /&gt;
      (x^*,u^*) \in \displaystyle \arg \min_{x, u} \sum_{i \in M_1} w_i \; \phi_i[x,u,p]&lt;br /&gt;
      &amp;lt;/math&amp;gt;&lt;br /&gt;
                 subject to&lt;br /&gt;
                 &amp;lt;math&amp;gt;&lt;br /&gt;
                 \begin{array}{rcl}&lt;br /&gt;
                 \dot{x}(t) &amp;amp;=&amp;amp; \displaystyle \sum_{i \in M_2} w_i f_i(x(t), u(t), p) \\&lt;br /&gt;
                 0 &amp;amp;\le&amp;amp; \displaystyle w_i \; g_i(x(t), u(t), p) \quad \forall \; i \in M_3\\&lt;br /&gt;
                 (x,u,p,w) &amp;amp;\in&amp;amp; \Omega_2&lt;br /&gt;
                 \end{array}&lt;br /&gt;
                 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as a generalized inverse optimal control problem. Here &amp;lt;math&amp;gt;\mathcal{X}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\mathcal{U}&amp;lt;/math&amp;gt; are properly defined function spaces. The variables &amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt; indicate which objective functions, right hand side functions, and constraints are relevant in the inner problem. The variables are normalized for given index sets &amp;lt;math&amp;gt;M_1, M_2, M_3&amp;lt;/math&amp;gt; that partition the indices from &amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;n_w&amp;lt;/math&amp;gt;. For normalization, we define the feasible set &amp;lt;math&amp;gt;\mathcal{W} := \{ w \in [0,1]^{n_w}: \; \textstyle \sum^{i \in M_j} w_i = 1 \text{ for } j \in \{1,2,3\}\}&amp;lt;/math&amp;gt;. On the outer level, the feasible set is &amp;lt;math&amp;gt;\Omega_1 := \mathbb{R}^{n_p} \times \mathcal{W} \times \mathcal{X} \times \mathcal{U}&amp;lt;/math&amp;gt;, while on the inner level &amp;lt;math&amp;gt;\Omega_2&amp;lt;/math&amp;gt; contains bounds, boundary conditions, mixed path and control constraints, and more involved constraints such as dwell time constraints. We have observational data &amp;lt;math&amp;gt;\eta \in \mathbb{R}^{n_\eta}&amp;lt;/math&amp;gt;, a measurement function &amp;lt;math&amp;gt;h: \mathcal{X} \times \mathcal{U} \mapsto \mathbb{R}^{n_\eta}&amp;lt;/math&amp;gt;, a regularization function with a priori knowledge on parameters and weights &amp;lt;math&amp;gt;R: \mathbb{R}^{n_p} \times \mathcal{W} \mapsto \mathbb{R}&amp;lt;/math&amp;gt; and candidate functionals &amp;lt;math&amp;gt;\phi_i: \mathcal{X} \times \mathcal {U} \times \mathbb{R}^{n_p} \mapsto \mathbb{R}&amp;lt;/math&amp;gt; and functions &amp;lt;math&amp;gt;f_i: \mathcal{X} \times \mathcal {U} \times \mathbb{R}^{n_p} \mapsto \mathbb{R}^{n_x}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g_i: \mathcal{X} \times \mathcal {U} \times \mathbb{R}^{n_p} \mapsto \mathbb{R}^{n_g}&amp;lt;/math&amp;gt; for the unknown objective function, dynamics, and constraints, respectively. Two cases are of practical interest: first, the manual, often cumbersome and trial-and-error based a priori definition of all candidates &amp;lt;math&amp;gt;\phi_i, f_i, g_i&amp;lt;/math&amp;gt; by experts and second, a systematic, but often challenging automatic symbolic regression of these unknown functions.&lt;br /&gt;
&lt;br /&gt;
On the outer level, a norm &amp;lt;math&amp;gt;\| \cdot \|&amp;lt;/math&amp;gt; and the regularization term &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; define a data fit (regression) problem and relate to prior knowledge and statistical assumptions. On the inner level, the above bilevel problem is constrained by a possibly nonconvex optimal control problem. The unknown parts of this inner level optimal control problem are modeled as convex combinations of a finite set of candidates (and a multiplication of constraints &amp;lt;math&amp;gt;g_i&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;w_i&amp;lt;/math&amp;gt; that can be either zero or strictly positive). On the one hand the problem formulation is restrictive in the interest of a clearer presentation and might be further generalized, e.g., to multi-stage formulations involving differential-algebraic or partial differential equations. On the other hand, the problem class is quite generic and allows, e.g., the consideration of switched systems, periodic processes, different underlying function spaces &amp;lt;math&amp;gt;\mathcal{X}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\mathcal{U}&amp;lt;/math&amp;gt;, and the usage of universal approximators such as neural networks as candidate functions.&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
* The functions &amp;lt;math&amp;gt;u \in \mathcal{U}&amp;lt;/math&amp;gt; may also include integer controls.&lt;br /&gt;
* For some problems the functions may as well depend explicitely on the time &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;.&lt;br /&gt;
* The differential equations might depend on [[:Category:State dependent switches | state-dependent switches]].&lt;br /&gt;
* The variables may include [[:Category:Boolean variables | boolean variables]].&lt;br /&gt;
* The underlying process might be a [[:Category:Multistage process | multistage process]].&lt;br /&gt;
* The dynamics might be [[:Category:Unstable | unstable]].&lt;br /&gt;
* There might be an underlying [[:Category:Network topology | network topology]].&lt;br /&gt;
* The integer control functions might have been (re)formulated by means of an [[:Category:Outer convexification|outer convexification]].&lt;br /&gt;
&lt;br /&gt;
Note that a Lagrange term &amp;lt;math&amp;gt;\int_{t_0}^{t_f} L( x(t), u(t), v(t), q, \rho) \; \mathrm{d} t&amp;lt;/math&amp;gt; can be transformed into a Mayer-type objective functional.&lt;br /&gt;
&lt;br /&gt;
[[Category:Model characterization]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2348</id>
		<title>LinearMetabolic</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2348"/>
		<updated>2023-10-19T12:48:26Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: Introductory text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 4&lt;br /&gt;
|nw        = 1&lt;br /&gt;
|nc        = 2&lt;br /&gt;
|nri        = 2&lt;br /&gt;
|nre       = 5&lt;br /&gt;
}}&amp;lt;!-- Do not insert line break here or Dimensions Box moves up in the layout...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Linear Metabolic problem&#039;&#039;&#039; is a generalized inverse optimal control problem formulated and investigated in &amp;lt;bib id=&amp;quot;Tsiantis2018&amp;quot; /&amp;gt;. It tries to identify an a priori unknown objective function from data.&lt;br /&gt;
&lt;br /&gt;
The problem is a generalization of the one studied by de Hijas-Liste et al. (2014), where it was considered as a standard optimal control problem (OCP). Here, we take the solution reference of the inner problem as the multi-objective OCP described in de Hijas-Liste et al. (2014), selecting a specific point of the resulting Pareto front. This case study is interesting, because it includes path constraints on the states and the inputs.&lt;br /&gt;
&lt;br /&gt;
A 3-step linear metabolic pathway with mass action kinetics is considered. The differential states &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; are metabolite concentrations, the time-dependent control functions &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt; are enzyme concentrations, and the model parameters &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; are kinetic parameters in mass action expressions. Candidate objective functionals &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; are the final time and the time-integral of the intermediate metabolite concentrations. The measurement function  is a map to the values of the differential states and  comprises measurements of metabolite concentrations. The differential equations are assumed to be fully known as standard mass action kinetics. An inequality path constraint is present (but potentially unknown in such settings) on the inner level and critical from a biological point of view: limitations due to molecular crowding impose an upper bound on the maximum total concentration of enzymes (controls) at any given time. Boundary conditions are fixed initial and terminal values of the metabolite concentrations.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
Under construction...&lt;br /&gt;
&lt;br /&gt;
The gIOC is given by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{llclr}&lt;br /&gt;
 \displaystyle \min_{x, u} &amp;amp; x_3(t_f)   \\[1.5ex]&lt;br /&gt;
 \mbox{s.t.} &lt;br /&gt;
&amp;amp; \dot{x}_0 &amp;amp; = &amp;amp; (V_{alim} u - R_m x_0 - K_m x_1) / L_m,  \\&lt;br /&gt;
&amp;amp; \dot{x}_1 &amp;amp; = &amp;amp; \frac{K_r^2}{Mr^2} (K_m x_0 - \frac{r}{K_r} ( M g K_f + \frac{1}{2} \rho S C_x \frac{r^2}{K_r^2} x_1^2)),  \\&lt;br /&gt;
&amp;amp; \dot{x}_2 &amp;amp; = &amp;amp; \frac{r}{K_r} x_1,  \\&lt;br /&gt;
&amp;amp; \dot{x}_3 &amp;amp; = &amp;amp; V_{alim} u x_0 + R_{bat} x_0^2, \\[1.5ex]&lt;br /&gt;
&amp;amp; x(t_0) &amp;amp;=&amp;amp; (0,0,0,0)^T, \\&lt;br /&gt;
&amp;amp; x(t_f) &amp;amp; \in &amp;amp; \mathcal{T} \subseteq \mathbb{R}^4,\\&lt;br /&gt;
&amp;amp; x_0(t) &amp;amp; \in &amp;amp; [-i_{max}, i_{max}], \\&lt;br /&gt;
&amp;amp; u(t) &amp;amp;\in&amp;amp;  \{-1, 1\}.&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
Here the four differential states stand for the electrical current (&amp;lt;math&amp;gt; x_0 &amp;lt;/math&amp;gt;), the angular velocity (&amp;lt;math&amp;gt; x_1 &amp;lt;/math&amp;gt;), the position of the car (&amp;lt;math&amp;gt; x_2 &amp;lt;/math&amp;gt;), and the consumed energy (&amp;lt;math&amp;gt; x_3 &amp;lt;/math&amp;gt;). The objective function &amp;lt;math&amp;gt; x_3(t_f) &amp;lt;/math&amp;gt;is just a reformulation of the Lagrange-type objective function tracking the used energy over time.&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
These fixed values are used within the model.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Symbol&lt;br /&gt;
|Value&lt;br /&gt;
|Unit&lt;br /&gt;
|-&lt;br /&gt;
|Coefficient of reduction&lt;br /&gt;
|&amp;lt;math&amp;gt;K_r&amp;lt;/math&amp;gt;&lt;br /&gt;
|10&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Air density&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt;&lt;br /&gt;
|1.293&lt;br /&gt;
|&amp;lt;math&amp;gt; kg/m^3 &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Aerodynamic coefficient&lt;br /&gt;
|&amp;lt;math&amp;gt;C_x&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.4&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Area in the front of the vehicle&lt;br /&gt;
|&amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;&lt;br /&gt;
|2&lt;br /&gt;
|&amp;lt;math&amp;gt; m^2  &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Radius of the wheel&lt;br /&gt;
|&amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.33&lt;br /&gt;
|&amp;lt;math&amp;gt; m &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Constant representing the friction of the wheels on the road&lt;br /&gt;
|&amp;lt;math&amp;gt;K_f &amp;lt;/math&amp;gt;&lt;br /&gt;
|0.03&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Coefficient of the motor torque&lt;br /&gt;
|&amp;lt;math&amp;gt;K_m&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.27&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Inductor resistance&lt;br /&gt;
|&amp;lt;math&amp;gt;R_m&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.03&lt;br /&gt;
|&amp;lt;math&amp;gt; Ohms &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|inductance of the rotor&lt;br /&gt;
|&amp;lt;math&amp;gt;L_m&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.05&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Mass&lt;br /&gt;
|&amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt;&lt;br /&gt;
|250&lt;br /&gt;
|&amp;lt;math&amp;gt; kg &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Gravity constant&lt;br /&gt;
|&amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt;&lt;br /&gt;
|9,81&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Battery voltage&lt;br /&gt;
|&amp;lt;math&amp;gt;V_{alim}&amp;lt;/math&amp;gt;&lt;br /&gt;
|150&lt;br /&gt;
|&amp;lt;math&amp;gt; V &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Resistance of the battery&lt;br /&gt;
|&amp;lt;math&amp;gt;R_{bat}&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.05&lt;br /&gt;
|&amp;lt;math&amp;gt; Ohms &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Reference Solutions ==&lt;br /&gt;
We look at the particular instance of our problem with &amp;lt;math&amp;gt; t_f = 10s &amp;lt;/math&amp;gt;and target set &amp;lt;math&amp;gt; \mathcal{T} = \mathbb{R} \times \mathbb{R}  \times \{100\} \times \mathbb{R} &amp;lt;/math&amp;gt;, in which the car needs to cover 100m in 10s.&lt;br /&gt;
Figure 1 shows a plot of the differential states of the optimal trajectory of the relaxed problem (i.e. &amp;lt;math&amp;gt; u \in [-1,1] &amp;lt;/math&amp;gt;instead of &amp;lt;math&amp;gt; u \in \{-1,1\} &amp;lt;/math&amp;gt;) for &amp;lt;math&amp;gt; N = 1000, N &amp;lt;/math&amp;gt;being the number of time discretization points. The current &amp;lt;math&amp;gt;  x_0 &amp;lt;/math&amp;gt;increases to its maximal value of 150A, stays there for a certain time, decreases on its minimal value of -150A, stays on this value and eventually increases slightly. This behavior corresponds to the different arcs bang, path-constrained, singular, path-constrained, bang and can be observed also in Figure 2. It shows the corresponding switching function and the optimal control. Note that the plots show data from the solution with the indirect approach.&lt;br /&gt;
&lt;br /&gt;
Applying the sum up rounding strategy results in an integer-feasible chattering solution.&lt;br /&gt;
The resulting primal states are shown in Figure 3. One observes the high-frequency zig-zagging of the current  &amp;lt;math&amp;gt; x_0 &amp;lt;/math&amp;gt;that results from the fast switches in the control.&lt;br /&gt;
&lt;br /&gt;
The direct and indirect approaches are local optimization techniques and only provide upper bounds for the relaxed problem and hence for the original problem. Here the indirect solution of the relaxed problem gives us a bound of &amp;lt;math&amp;gt; x_3(t_f) = 22777.2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Reference solution plots&amp;quot; widths=&amp;quot;180px&amp;quot; heights=&amp;quot;140px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
 Image:ElectricCar PrimalStates Plot.PNG| Primal states of an optimal trajectory for the relaxed problem on a control discretization grid with &amp;lt;math&amp;gt; N = 1,000 &amp;lt;/math&amp;gt;.&lt;br /&gt;
 Image:ElectricCar Control PathConstraints SwitchingFunction Plot.PNG| The optimal control and switching function. The dotted vertical lines show the switching times &amp;lt;math&amp;gt; \tau_i &amp;lt;/math&amp;gt; where transitions between different kinds of arcs occur.&lt;br /&gt;
 Image:ElectricCar PrimalStates SumUpRounding.PNG| Primal states with Sum up rounding on grid with &amp;lt;math&amp;gt; \Delta t = 10^{-2} &amp;lt;/math&amp;gt;. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
&lt;br /&gt;
Model descriptions are available in&lt;br /&gt;
&lt;br /&gt;
* [[:Category:AMPL | AMPL code]] at [[Electric car problem (AMPL)]]&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
There are several alternative formulations and variants of the above problem, in particular&lt;br /&gt;
* fixed final velocity, &amp;lt;math&amp;gt; \mathcal{T} = \mathbb{R} \times \{ 50 \frac{K_r}{3.6r} \} \times \{100\} \times \mathbb{R}, t_f = 10s &amp;lt;/math&amp;gt;&lt;br /&gt;
* bounded velocity, &amp;lt;math&amp;gt; \mathcal{T} = \mathbb{R} \times \mathbb{R} \times \{100\} \times \mathbb{R}, t_f = 10s, x_2(t) \leq 45 \frac{K_r}{3.6r} \forall t &amp;lt;/math&amp;gt;&lt;br /&gt;
* fixed final velocity, bounded velocity, longer time horizon, &amp;lt;math&amp;gt; x_2(t) \leq 30 \frac{K_r}{3.6r} \forall t, \mathcal{T} = \mathbb{R} \times \{ 30 \frac{K_r}{3.6r} \} \times \{100\} \times \mathbb{R}, t_f = 15s &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:gIOC]]&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;br /&gt;
[[Category: Bang bang]]&lt;br /&gt;
[[Category: Path-constrained arcs]]&lt;br /&gt;
[[Category:Systems biology]]&lt;br /&gt;
[[Category:Tracking objective]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2347</id>
		<title>LinearMetabolic</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2347"/>
		<updated>2023-10-19T12:41:07Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: Tsiantis reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 4&lt;br /&gt;
|nw        = 1&lt;br /&gt;
|nc        = 2&lt;br /&gt;
|nri        = 2&lt;br /&gt;
|nre       = 5&lt;br /&gt;
}}&amp;lt;!-- Do not insert line break here or Dimensions Box moves up in the layout...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under construction...&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Linear Metabolic problem&#039;&#039;&#039; is a generalized inverse optimal control problem. It tries to identify an a priori unknown objective function from data. The control unction &amp;lt;math&amp;gt; u(t) &amp;lt;/math&amp;gt; is ...&lt;br /&gt;
&lt;br /&gt;
The problem is discussed in detail in &amp;lt;bib id=&amp;quot;Tsiantis2018&amp;quot; /&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
The mixed-integer optimal control problem is given by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{llclr}&lt;br /&gt;
 \displaystyle \min_{x, u} &amp;amp; x_3(t_f)   \\[1.5ex]&lt;br /&gt;
 \mbox{s.t.} &lt;br /&gt;
&amp;amp; \dot{x}_0 &amp;amp; = &amp;amp; (V_{alim} u - R_m x_0 - K_m x_1) / L_m,  \\&lt;br /&gt;
&amp;amp; \dot{x}_1 &amp;amp; = &amp;amp; \frac{K_r^2}{Mr^2} (K_m x_0 - \frac{r}{K_r} ( M g K_f + \frac{1}{2} \rho S C_x \frac{r^2}{K_r^2} x_1^2)),  \\&lt;br /&gt;
&amp;amp; \dot{x}_2 &amp;amp; = &amp;amp; \frac{r}{K_r} x_1,  \\&lt;br /&gt;
&amp;amp; \dot{x}_3 &amp;amp; = &amp;amp; V_{alim} u x_0 + R_{bat} x_0^2, \\[1.5ex]&lt;br /&gt;
&amp;amp; x(t_0) &amp;amp;=&amp;amp; (0,0,0,0)^T, \\&lt;br /&gt;
&amp;amp; x(t_f) &amp;amp; \in &amp;amp; \mathcal{T} \subseteq \mathbb{R}^4,\\&lt;br /&gt;
&amp;amp; x_0(t) &amp;amp; \in &amp;amp; [-i_{max}, i_{max}], \\&lt;br /&gt;
&amp;amp; u(t) &amp;amp;\in&amp;amp;  \{-1, 1\}.&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
Here the four differential states stand for the electrical current (&amp;lt;math&amp;gt; x_0 &amp;lt;/math&amp;gt;), the angular velocity (&amp;lt;math&amp;gt; x_1 &amp;lt;/math&amp;gt;), the position of the car (&amp;lt;math&amp;gt; x_2 &amp;lt;/math&amp;gt;), and the consumed energy (&amp;lt;math&amp;gt; x_3 &amp;lt;/math&amp;gt;). The objective function &amp;lt;math&amp;gt; x_3(t_f) &amp;lt;/math&amp;gt;is just a reformulation of the Lagrange-type objective function tracking the used energy over time.&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
These fixed values are used within the model.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Symbol&lt;br /&gt;
|Value&lt;br /&gt;
|Unit&lt;br /&gt;
|-&lt;br /&gt;
|Coefficient of reduction&lt;br /&gt;
|&amp;lt;math&amp;gt;K_r&amp;lt;/math&amp;gt;&lt;br /&gt;
|10&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Air density&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt;&lt;br /&gt;
|1.293&lt;br /&gt;
|&amp;lt;math&amp;gt; kg/m^3 &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Aerodynamic coefficient&lt;br /&gt;
|&amp;lt;math&amp;gt;C_x&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.4&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Area in the front of the vehicle&lt;br /&gt;
|&amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;&lt;br /&gt;
|2&lt;br /&gt;
|&amp;lt;math&amp;gt; m^2  &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Radius of the wheel&lt;br /&gt;
|&amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.33&lt;br /&gt;
|&amp;lt;math&amp;gt; m &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Constant representing the friction of the wheels on the road&lt;br /&gt;
|&amp;lt;math&amp;gt;K_f &amp;lt;/math&amp;gt;&lt;br /&gt;
|0.03&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Coefficient of the motor torque&lt;br /&gt;
|&amp;lt;math&amp;gt;K_m&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.27&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Inductor resistance&lt;br /&gt;
|&amp;lt;math&amp;gt;R_m&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.03&lt;br /&gt;
|&amp;lt;math&amp;gt; Ohms &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|inductance of the rotor&lt;br /&gt;
|&amp;lt;math&amp;gt;L_m&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.05&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Mass&lt;br /&gt;
|&amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt;&lt;br /&gt;
|250&lt;br /&gt;
|&amp;lt;math&amp;gt; kg &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Gravity constant&lt;br /&gt;
|&amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt;&lt;br /&gt;
|9,81&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Battery voltage&lt;br /&gt;
|&amp;lt;math&amp;gt;V_{alim}&amp;lt;/math&amp;gt;&lt;br /&gt;
|150&lt;br /&gt;
|&amp;lt;math&amp;gt; V &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Resistance of the battery&lt;br /&gt;
|&amp;lt;math&amp;gt;R_{bat}&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.05&lt;br /&gt;
|&amp;lt;math&amp;gt; Ohms &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Reference Solutions ==&lt;br /&gt;
We look at the particular instance of our problem with &amp;lt;math&amp;gt; t_f = 10s &amp;lt;/math&amp;gt;and target set &amp;lt;math&amp;gt; \mathcal{T} = \mathbb{R} \times \mathbb{R}  \times \{100\} \times \mathbb{R} &amp;lt;/math&amp;gt;, in which the car needs to cover 100m in 10s.&lt;br /&gt;
Figure 1 shows a plot of the differential states of the optimal trajectory of the relaxed problem (i.e. &amp;lt;math&amp;gt; u \in [-1,1] &amp;lt;/math&amp;gt;instead of &amp;lt;math&amp;gt; u \in \{-1,1\} &amp;lt;/math&amp;gt;) for &amp;lt;math&amp;gt; N = 1000, N &amp;lt;/math&amp;gt;being the number of time discretization points. The current &amp;lt;math&amp;gt;  x_0 &amp;lt;/math&amp;gt;increases to its maximal value of 150A, stays there for a certain time, decreases on its minimal value of -150A, stays on this value and eventually increases slightly. This behavior corresponds to the different arcs bang, path-constrained, singular, path-constrained, bang and can be observed also in Figure 2. It shows the corresponding switching function and the optimal control. Note that the plots show data from the solution with the indirect approach.&lt;br /&gt;
&lt;br /&gt;
Applying the sum up rounding strategy results in an integer-feasible chattering solution.&lt;br /&gt;
The resulting primal states are shown in Figure 3. One observes the high-frequency zig-zagging of the current  &amp;lt;math&amp;gt; x_0 &amp;lt;/math&amp;gt;that results from the fast switches in the control.&lt;br /&gt;
&lt;br /&gt;
The direct and indirect approaches are local optimization techniques and only provide upper bounds for the relaxed problem and hence for the original problem. Here the indirect solution of the relaxed problem gives us a bound of &amp;lt;math&amp;gt; x_3(t_f) = 22777.2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Reference solution plots&amp;quot; widths=&amp;quot;180px&amp;quot; heights=&amp;quot;140px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
 Image:ElectricCar PrimalStates Plot.PNG| Primal states of an optimal trajectory for the relaxed problem on a control discretization grid with &amp;lt;math&amp;gt; N = 1,000 &amp;lt;/math&amp;gt;.&lt;br /&gt;
 Image:ElectricCar Control PathConstraints SwitchingFunction Plot.PNG| The optimal control and switching function. The dotted vertical lines show the switching times &amp;lt;math&amp;gt; \tau_i &amp;lt;/math&amp;gt; where transitions between different kinds of arcs occur.&lt;br /&gt;
 Image:ElectricCar PrimalStates SumUpRounding.PNG| Primal states with Sum up rounding on grid with &amp;lt;math&amp;gt; \Delta t = 10^{-2} &amp;lt;/math&amp;gt;. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
&lt;br /&gt;
Model descriptions are available in&lt;br /&gt;
&lt;br /&gt;
* [[:Category:AMPL | AMPL code]] at [[Electric car problem (AMPL)]]&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
There are several alternative formulations and variants of the above problem, in particular&lt;br /&gt;
* fixed final velocity, &amp;lt;math&amp;gt; \mathcal{T} = \mathbb{R} \times \{ 50 \frac{K_r}{3.6r} \} \times \{100\} \times \mathbb{R}, t_f = 10s &amp;lt;/math&amp;gt;&lt;br /&gt;
* bounded velocity, &amp;lt;math&amp;gt; \mathcal{T} = \mathbb{R} \times \mathbb{R} \times \{100\} \times \mathbb{R}, t_f = 10s, x_2(t) \leq 45 \frac{K_r}{3.6r} \forall t &amp;lt;/math&amp;gt;&lt;br /&gt;
* fixed final velocity, bounded velocity, longer time horizon, &amp;lt;math&amp;gt; x_2(t) \leq 30 \frac{K_r}{3.6r} \forall t, \mathcal{T} = \mathbb{R} \times \{ 30 \frac{K_r}{3.6r} \} \times \{100\} \times \mathbb{R}, t_f = 15s &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:gIOC]]&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;br /&gt;
[[Category: Bang bang]]&lt;br /&gt;
[[Category: Path-constrained arcs]]&lt;br /&gt;
[[Category:Systems biology]]&lt;br /&gt;
[[Category:Tracking objective]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Template:Current_News&amp;diff=2346</id>
		<title>Template:Current News</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Template:Current_News&amp;diff=2346"/>
		<updated>2023-10-19T12:27:14Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;background:#EEEEFF;&amp;quot;&lt;br /&gt;
&amp;lt;!-- Add news below this comment --&amp;gt;&lt;br /&gt;
{{News|2023/10/19| Added new category [[:Category:GIOC | generalized inverse optimal control]]}}&lt;br /&gt;
{{News|2023/10/19| Added [[LinearMetabolic]] problem}}&lt;br /&gt;
{{News|2019/3/14| Added multiple control problems with [[:Category: Gekko | Python GEKKO]] implementation}}&lt;br /&gt;
{{News|2018/9/12| Added [[Control of Transmission Lines]] problem}}&lt;br /&gt;
&amp;lt;!-- Add news above this comment --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!-- Text within the following tag is not shown when this page is included in a different page (e.g. the main page, &amp;quot;News&amp;quot; section --&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt; &lt;br /&gt;
== Older news ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#eaecd0;&amp;quot;&lt;br /&gt;
&amp;lt;!-- Copy old news below this comment --&amp;gt;&lt;br /&gt;
{{News|2016/7/26 | Added [[Industrial robot]] problem}}&lt;br /&gt;
{{News|2016/7/24 | Added [[Continuously Stirred Tank Reactor problem | CSTR problem]]}}&lt;br /&gt;
{{News|2016/6/30 | Added [[Electric Car]] problem}}&lt;br /&gt;
{{News|2016/5/5| Added multiple control problems with [[:Category: AMPL/TACO | AMPL with TACO]] implementation}}&lt;br /&gt;
{{News|2016/2/23|Added [[Control of Heat Equation with Actuator Placement | Actuator Placement]] control problem and [[:Category:Elliptic | Elliptic]], [[:Category:Parabolic | Parabolic]] and [[:Category:Hyperbolic | Hyperbolic]] categories}}&lt;br /&gt;
{{News|2016/1/10|Added [[Van der Pol Oscillator]], [[Batch reactor]], [[Cushioned Oscillation]] and [[Goddart&#039;s rocket problem]] control problems}}&lt;br /&gt;
{{News|2015/11/10|Moved mintoc.de to a new server}}&lt;br /&gt;
{{News|2012/09/01|Added the [[Lotka Experimental Design]] and a [[:Category:Optimum Experimental Design | category for experimental design problems]]}}&lt;br /&gt;
{{News|2011/09/29|Added the [[:Category:AMPL/TACO | first set of AMPL optimal control problems]] using the TACO toolkit}}&lt;br /&gt;
{{News|2010/11/21|Added New York [[Subway ride]] control problem}}&lt;br /&gt;
{{News|2010/11/18|Extended description of [[:Category:Problem characterization | problem characterization]]}}&lt;br /&gt;
{{News|2010/11/18|Description of benchmark library as [http://mathopt.de/PUBLICATIONS/Sager2011b.pdf pdf file] preprint}}&lt;br /&gt;
{{News|2010/08/16|Added [[Bang-bang approximation of a traveling wave]] 1D PDE example}}&lt;br /&gt;
{{News|2010/02/11|Launch of EU project [http://embocon.org embocon.org]}}&lt;br /&gt;
{{News|2009/11/20|Added [[External Links]] page}}&lt;br /&gt;
{{News|2009/10/26|Revision and Correction of several [[:Category:Optimica | optimica]] models}}&lt;br /&gt;
{{News|2009/08/26|Knitro solution for [[F-8 aircraft (AMPL)]]}}&lt;br /&gt;
{{News|2009/08/11|[[F-8 aircraft]] new local minimum found with [[:Category:Optimica | optimica]]/ipopt}}&lt;br /&gt;
{{News|2009/07/31|New category [[:Category:Optimica | optimica]] introduced}}&lt;br /&gt;
{{News|2009/07/07|[[:Category:AMPL]] revised page with discretized MINLPs in AMPL format}}&lt;br /&gt;
&amp;lt;!-- Add news above this comment --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Adding items ==&lt;br /&gt;
If you want to add events you have to edit this page. At the top of the page you will see something like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;background:#EEEEFF;&amp;quot;&lt;br /&gt;
&amp;lt;!-- Add items below this comment --&amp;gt;&lt;br /&gt;
{{News|2008/08/14, 15:15|Presentation of the restructured group wiki in the group meeting, room 432.}}&lt;br /&gt;
&amp;lt;!-- Add items above this comment --&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To add a new item you have to enter a line of the form:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{News|date|content}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt; is the date and &amp;lt;code&amp;gt;content&amp;lt;/code&amp;gt; is the subject and further information. The field &amp;lt;code&amp;gt;News&amp;lt;/code&amp;gt; is mandatory. Please write the &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt; in the format &#039;&#039;&#039;YYYY/MM/DD, HH:MM&#039;&#039;&#039; to keep it nice and clean. The field &amp;lt;code&amp;gt;content&amp;lt;/code&amp;gt; can contain any information you like (but please keep it short) and even wiki syntax is possible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please keep the items in a chronological order and remove older ones to keep the list short.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:News]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Category:GIOC&amp;diff=2345</id>
		<title>Category:GIOC</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Category:GIOC&amp;diff=2345"/>
		<updated>2023-10-19T12:24:08Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: Initial setup of gIOC class&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category includes all generalized inverse optimal control problems.&lt;br /&gt;
To formalize this problem class, we define the following bilevel problem with differential states &amp;lt;math&amp;gt;x \in \mathcal{X}&amp;lt;/math&amp;gt;, controls &amp;lt;math&amp;gt;u \in \mathcal{U}&amp;lt;/math&amp;gt;, model parameters &amp;lt;math&amp;gt;p \in \mathbb{R}^{n_p}&amp;lt;/math&amp;gt;, and convex multipliers &amp;lt;math&amp;gt;w \in \mathcal{W}&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
   &amp;lt;math&amp;gt;&lt;br /&gt;
   \displaystyle \min_{(p, w, x^*, u^*) \in \Omega_1} \; \| h(x^*, u^*) - \eta \| + R(p,w)&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
      subject to&lt;br /&gt;
      &amp;lt;math&amp;gt;&lt;br /&gt;
      (x^*,u^*) \in \displaystyle \arg \min_{x, u} \sum_{i \in M_1} w_i \; \phi_i[x,u,p]&lt;br /&gt;
      &amp;lt;/math&amp;gt;&lt;br /&gt;
                 subject to&lt;br /&gt;
                 &amp;lt;math&amp;gt;&lt;br /&gt;
                 \begin{array}{rcl}&lt;br /&gt;
                 \dot{x}(t) &amp;amp;=&amp;amp; \displaystyle \sum_{i \in M_2} w_i f_i(x(t), u(t), p) \\&lt;br /&gt;
                 0 &amp;amp;\le&amp;amp; \displaystyle w_i \; g_i(x(t), u(t), p) \quad \forall \; i \in M_3\\&lt;br /&gt;
                 (x,u,p,w) &amp;amp;\in&amp;amp; \Omega_2&lt;br /&gt;
                 \end{array}&lt;br /&gt;
                 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as a generalized inverse optimal control problem. Here &amp;lt;math&amp;gt;\mathcal{X}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\mathcal{U}&amp;lt;/math&amp;gt; are properly defined function spaces. The variables &amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt; indicate which objective functions, right hand side functions, and constraints are relevant in the inner problem. The variables are normalized for given index sets &amp;lt;math&amp;gt;M_1, M_2, M_3&amp;lt;/math&amp;gt; that partition the indices from &amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;n_w&amp;lt;/math&amp;gt;. For normalization, we define the feasible set &amp;lt;math&amp;gt;\mathcal{W} := \{ w \in [0,1]^{n_w}: \; \textstyle \sum^{i \in M_j} w_i = 1 \text{ for } j \in \{1,2,3\}\}&amp;lt;/math&amp;gt;. On the outer level, the feasible set is &amp;lt;math&amp;gt;\Omega_1 := \mathbb{R}^{n_p} \times \mathcal{W} \times \mathcal{X} \times \mathcal{U}&amp;lt;/math&amp;gt;, while on the inner level &amp;lt;math&amp;gt;\Omega_2&amp;lt;/math&amp;gt; contains bounds, boundary conditions, mixed path and control constraints, and more involved constraints such as dwell time constraints. We have observational data &amp;lt;math&amp;gt;\eta \in \mathbb{R}^{n_\eta}&amp;lt;/math&amp;gt;, a measurement function &amp;lt;math&amp;gt;h: \mathcal{X} \times \mathcal{U} \mapsto \mathbb{R}^{n_\eta}&amp;lt;/math&amp;gt;, a regularization function with a priori knowledge on parameters and weights &amp;lt;math&amp;gt;R: \mathbb{R}^{n_p} \times \mathcal{W} \mapsto \mathbb{R}&amp;lt;/math&amp;gt; and candidate functionals &amp;lt;math&amp;gt;\phi_i: \mathcal{X} \times \mathcal {U} \times \mathbb{R}^{n_p} \mapsto \mathbb{R}&amp;lt;/math&amp;gt; and functions &amp;lt;math&amp;gt;f_i: \mathcal{X} \times \mathcal {U} \times \mathbb{R}^{n_p} \mapsto \mathbb{R}^{n_x}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;g_i: \mathcal{X} \times \mathcal {U} \times \mathbb{R}^{n_p} \mapsto \mathbb{R}^{n_g}&amp;lt;/math&amp;gt; for the unknown objective function, dynamics, and constraints, respectively. Two cases are of practical interest: first, the manual, often cumbersome and trial-and-error based a priori definition of all candidates &amp;lt;math&amp;gt;\phi_i, f_i, g_i&amp;lt;/math&amp;gt; by experts and second, a systematic, but often challenging automatic symbolic regression of these unknown functions.&lt;br /&gt;
&lt;br /&gt;
On the outer level, a norm &amp;lt;math&amp;gt;\| \cdot \|&amp;lt;/math&amp;gt; and the regularization term &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt; define a data fit (regression) problem and relate to prior knowledge and statistical assumptions. On the inner level, the above bilevel problem is constrained by a possibly nonconvex optimal control problem. The unknown parts of this inner level optimal control problem are modeled as convex combinations of a finite set of candidates (and a multiplication of constraints &amp;lt;math&amp;gt;g_i&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;w_i&amp;lt;/math&amp;gt; that can be either zero or strictly positive). On the one hand the problem formulation is restrictive in the interest of a clearer presentation and might be further generalized, e.g., to multi-stage formulations involving differential-algebraic or partial differential equations. On the other hand, the problem class is quite generic and allows, e.g., the consideration of switched systems, periodic processes, different underlying function spaces &amp;lt;math&amp;gt;\mathcal{X}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;\mathcal{U}&amp;lt;/math&amp;gt;, and the usage of universal approximators such as neural networks as candidate functions.&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
* For some problems the functions may as well depend explicitely on the time &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;.&lt;br /&gt;
* The differential equations might depend on [[:Category:State dependent switches | state-dependent switches]].&lt;br /&gt;
* The variables may include [[:Category:Boolean variables | boolean variables]].&lt;br /&gt;
* The underlying process might be a [[:Category:Multistage process | multistage process]].&lt;br /&gt;
* The dynamics might be [[:Category:Unstable | unstable]].&lt;br /&gt;
* There might be an underlying [[:Category:Network topology | network topology]].&lt;br /&gt;
* The integer control functions might have been (re)formulated by means of an [[:Category:Outer convexification|outer convexification]].&lt;br /&gt;
&lt;br /&gt;
Note that a Lagrange term &amp;lt;math&amp;gt;\int_{t_0}^{t_f} L( x(t), u(t), v(t), q, \rho) \; \mathrm{d} t&amp;lt;/math&amp;gt; can be transformed into a Mayer-type objective functional.&lt;br /&gt;
&lt;br /&gt;
[[Category:Model characterization]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2344</id>
		<title>LinearMetabolic</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=LinearMetabolic&amp;diff=2344"/>
		<updated>2023-10-19T11:33:00Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: Created page with &amp;quot;{{Dimensions |nd        = 1 |nx        = 4 |nw        = 1 |nc        = 2 |nri        = 2 |nre       = 5 }}&amp;lt;!-- Do not insert line break here or Dimensions Box moves up in the...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 4&lt;br /&gt;
|nw        = 1&lt;br /&gt;
|nc        = 2&lt;br /&gt;
|nri        = 2&lt;br /&gt;
|nre       = 5&lt;br /&gt;
}}&amp;lt;!-- Do not insert line break here or Dimensions Box moves up in the layout...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under construction...&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Linear Metabolic problem&#039;&#039;&#039; is a generalized inverse optimal control problem. It tries to identify an a priori unknown objective function from data. The control unction &amp;lt;math&amp;gt; u(t) &amp;lt;/math&amp;gt; is ...&lt;br /&gt;
&lt;br /&gt;
The problem is discussed in detail in &amp;lt;bib id=&amp;quot;Sager2015&amp;quot; /&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
The mixed-integer optimal control problem is given by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{llclr}&lt;br /&gt;
 \displaystyle \min_{x, u} &amp;amp; x_3(t_f)   \\[1.5ex]&lt;br /&gt;
 \mbox{s.t.} &lt;br /&gt;
&amp;amp; \dot{x}_0 &amp;amp; = &amp;amp; (V_{alim} u - R_m x_0 - K_m x_1) / L_m,  \\&lt;br /&gt;
&amp;amp; \dot{x}_1 &amp;amp; = &amp;amp; \frac{K_r^2}{Mr^2} (K_m x_0 - \frac{r}{K_r} ( M g K_f + \frac{1}{2} \rho S C_x \frac{r^2}{K_r^2} x_1^2)),  \\&lt;br /&gt;
&amp;amp; \dot{x}_2 &amp;amp; = &amp;amp; \frac{r}{K_r} x_1,  \\&lt;br /&gt;
&amp;amp; \dot{x}_3 &amp;amp; = &amp;amp; V_{alim} u x_0 + R_{bat} x_0^2, \\[1.5ex]&lt;br /&gt;
&amp;amp; x(t_0) &amp;amp;=&amp;amp; (0,0,0,0)^T, \\&lt;br /&gt;
&amp;amp; x(t_f) &amp;amp; \in &amp;amp; \mathcal{T} \subseteq \mathbb{R}^4,\\&lt;br /&gt;
&amp;amp; x_0(t) &amp;amp; \in &amp;amp; [-i_{max}, i_{max}], \\&lt;br /&gt;
&amp;amp; u(t) &amp;amp;\in&amp;amp;  \{-1, 1\}.&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
Here the four differential states stand for the electrical current (&amp;lt;math&amp;gt; x_0 &amp;lt;/math&amp;gt;), the angular velocity (&amp;lt;math&amp;gt; x_1 &amp;lt;/math&amp;gt;), the position of the car (&amp;lt;math&amp;gt; x_2 &amp;lt;/math&amp;gt;), and the consumed energy (&amp;lt;math&amp;gt; x_3 &amp;lt;/math&amp;gt;). The objective function &amp;lt;math&amp;gt; x_3(t_f) &amp;lt;/math&amp;gt;is just a reformulation of the Lagrange-type objective function tracking the used energy over time.&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
These fixed values are used within the model.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Symbol&lt;br /&gt;
|Value&lt;br /&gt;
|Unit&lt;br /&gt;
|-&lt;br /&gt;
|Coefficient of reduction&lt;br /&gt;
|&amp;lt;math&amp;gt;K_r&amp;lt;/math&amp;gt;&lt;br /&gt;
|10&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Air density&lt;br /&gt;
|&amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt;&lt;br /&gt;
|1.293&lt;br /&gt;
|&amp;lt;math&amp;gt; kg/m^3 &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Aerodynamic coefficient&lt;br /&gt;
|&amp;lt;math&amp;gt;C_x&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.4&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Area in the front of the vehicle&lt;br /&gt;
|&amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;&lt;br /&gt;
|2&lt;br /&gt;
|&amp;lt;math&amp;gt; m^2  &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Radius of the wheel&lt;br /&gt;
|&amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.33&lt;br /&gt;
|&amp;lt;math&amp;gt; m &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Constant representing the friction of the wheels on the road&lt;br /&gt;
|&amp;lt;math&amp;gt;K_f &amp;lt;/math&amp;gt;&lt;br /&gt;
|0.03&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Coefficient of the motor torque&lt;br /&gt;
|&amp;lt;math&amp;gt;K_m&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.27&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Inductor resistance&lt;br /&gt;
|&amp;lt;math&amp;gt;R_m&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.03&lt;br /&gt;
|&amp;lt;math&amp;gt; Ohms &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|inductance of the rotor&lt;br /&gt;
|&amp;lt;math&amp;gt;L_m&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.05&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Mass&lt;br /&gt;
|&amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt;&lt;br /&gt;
|250&lt;br /&gt;
|&amp;lt;math&amp;gt; kg &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Gravity constant&lt;br /&gt;
|&amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt;&lt;br /&gt;
|9,81&lt;br /&gt;
|[-]&lt;br /&gt;
|-&lt;br /&gt;
|Battery voltage&lt;br /&gt;
|&amp;lt;math&amp;gt;V_{alim}&amp;lt;/math&amp;gt;&lt;br /&gt;
|150&lt;br /&gt;
|&amp;lt;math&amp;gt; V &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Resistance of the battery&lt;br /&gt;
|&amp;lt;math&amp;gt;R_{bat}&amp;lt;/math&amp;gt;&lt;br /&gt;
|0.05&lt;br /&gt;
|&amp;lt;math&amp;gt; Ohms &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Reference Solutions ==&lt;br /&gt;
We look at the particular instance of our problem with &amp;lt;math&amp;gt; t_f = 10s &amp;lt;/math&amp;gt;and target set &amp;lt;math&amp;gt; \mathcal{T} = \mathbb{R} \times \mathbb{R}  \times \{100\} \times \mathbb{R} &amp;lt;/math&amp;gt;, in which the car needs to cover 100m in 10s.&lt;br /&gt;
Figure 1 shows a plot of the differential states of the optimal trajectory of the relaxed problem (i.e. &amp;lt;math&amp;gt; u \in [-1,1] &amp;lt;/math&amp;gt;instead of &amp;lt;math&amp;gt; u \in \{-1,1\} &amp;lt;/math&amp;gt;) for &amp;lt;math&amp;gt; N = 1000, N &amp;lt;/math&amp;gt;being the number of time discretization points. The current &amp;lt;math&amp;gt;  x_0 &amp;lt;/math&amp;gt;increases to its maximal value of 150A, stays there for a certain time, decreases on its minimal value of -150A, stays on this value and eventually increases slightly. This behavior corresponds to the different arcs bang, path-constrained, singular, path-constrained, bang and can be observed also in Figure 2. It shows the corresponding switching function and the optimal control. Note that the plots show data from the solution with the indirect approach.&lt;br /&gt;
&lt;br /&gt;
Applying the sum up rounding strategy results in an integer-feasible chattering solution.&lt;br /&gt;
The resulting primal states are shown in Figure 3. One observes the high-frequency zig-zagging of the current  &amp;lt;math&amp;gt; x_0 &amp;lt;/math&amp;gt;that results from the fast switches in the control.&lt;br /&gt;
&lt;br /&gt;
The direct and indirect approaches are local optimization techniques and only provide upper bounds for the relaxed problem and hence for the original problem. Here the indirect solution of the relaxed problem gives us a bound of &amp;lt;math&amp;gt; x_3(t_f) = 22777.2 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Reference solution plots&amp;quot; widths=&amp;quot;180px&amp;quot; heights=&amp;quot;140px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
 Image:ElectricCar PrimalStates Plot.PNG| Primal states of an optimal trajectory for the relaxed problem on a control discretization grid with &amp;lt;math&amp;gt; N = 1,000 &amp;lt;/math&amp;gt;.&lt;br /&gt;
 Image:ElectricCar Control PathConstraints SwitchingFunction Plot.PNG| The optimal control and switching function. The dotted vertical lines show the switching times &amp;lt;math&amp;gt; \tau_i &amp;lt;/math&amp;gt; where transitions between different kinds of arcs occur.&lt;br /&gt;
 Image:ElectricCar PrimalStates SumUpRounding.PNG| Primal states with Sum up rounding on grid with &amp;lt;math&amp;gt; \Delta t = 10^{-2} &amp;lt;/math&amp;gt;. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
&lt;br /&gt;
Model descriptions are available in&lt;br /&gt;
&lt;br /&gt;
* [[:Category:AMPL | AMPL code]] at [[Electric car problem (AMPL)]]&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
There are several alternative formulations and variants of the above problem, in particular&lt;br /&gt;
* fixed final velocity, &amp;lt;math&amp;gt; \mathcal{T} = \mathbb{R} \times \{ 50 \frac{K_r}{3.6r} \} \times \{100\} \times \mathbb{R}, t_f = 10s &amp;lt;/math&amp;gt;&lt;br /&gt;
* bounded velocity, &amp;lt;math&amp;gt; \mathcal{T} = \mathbb{R} \times \mathbb{R} \times \{100\} \times \mathbb{R}, t_f = 10s, x_2(t) \leq 45 \frac{K_r}{3.6r} \forall t &amp;lt;/math&amp;gt;&lt;br /&gt;
* fixed final velocity, bounded velocity, longer time horizon, &amp;lt;math&amp;gt; x_2(t) \leq 30 \frac{K_r}{3.6r} \forall t, \mathcal{T} = \mathbb{R} \times \{ 30 \frac{K_r}{3.6r} \} \times \{100\} \times \mathbb{R}, t_f = 15s &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:gIOC]]&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;br /&gt;
[[Category: Bang bang]]&lt;br /&gt;
[[Category: Path-constrained arcs]]&lt;br /&gt;
[[Category:Systems biology]]&lt;br /&gt;
[[Category:Tracking objective]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=External_Links&amp;diff=2342</id>
		<title>External Links</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=External_Links&amp;diff=2342"/>
		<updated>2022-03-02T14:38:48Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: /* Work Groups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Work Groups =&lt;br /&gt;
&lt;br /&gt;
An incomplete list of work groups interested in aspects of mixed-integer dynamic optimization.&lt;br /&gt;
&lt;br /&gt;
* [http://mathopt.de Mathematical and Computational Optimization], Uni Magdeburg, led by Sebastian Sager&lt;br /&gt;
* [https://www.imtek.de/professuren/systemtheorie Systems Control and Optimization Laboratory], Uni Freiburg, led by Moritz Diehl&lt;br /&gt;
* [http://www.unibw.de/lrt1/gerdts Optimal Control], Universität der Bundeswehr München, led by Matthias Gerdts&lt;br /&gt;
* [http://www.am.uni-erlangen.de/wima Discrete Optimization], Uni Erlangen, led by Alexander Martin&lt;br /&gt;
* [http://www3.mathematik.tu-darmstadt.de/ags/optimization/research/nonlinear-optimization.html Nonlinear Optimization], Uni Darmstadt, led by Stefan Ulbrich&lt;br /&gt;
* [http://www.dyn.bci.tu-dortmund.de/ Process Dynamics and Operations], Uni Dortmund, led by Sebastian Engell&lt;br /&gt;
* [http://www.aices.rwth-aachen.de/organization/institutes/procsyseng Process Systems Engineering], RWTH Aachen, led by Wolfgang Marquardt&lt;br /&gt;
* [http://numero.cheme.cmu.edu/ Biegler Research Group], Carnegie Mellon, led by Larry Biegler&lt;br /&gt;
* [http://www.am.uni-erlangen.de/home/leugering/ Applied Mathematics II], Uni Erlangen, led by Günter Leugering&lt;br /&gt;
* [http://egon.cheme.cmu.edu/ Grossmann Research Group], Carnegie Mellon, led by Ignacio Grossmann&lt;br /&gt;
* [http://www.control.lth.se/user/johan.akesson/ Automatic Control], Lund University, led by Johan Akesson&lt;br /&gt;
* [https://www.tu-braunschweig.de/mo/team/kirches Mathematical Optimization], led by Christian Kirches&lt;br /&gt;
* [http://www.mathematik.tu-clausthal.de/arbeitsgruppen/kontinuierliche-optimierung/ Continuous Optimization], led by Andreas Potschka&lt;br /&gt;
* [https://www.mathematik.hu-berlin.de/de/forschung/forschungsgebiete/mathematische-optimierung/Falk-hante/falk-hante-fp Applied Mathematics], led by Falk Hante&lt;br /&gt;
&lt;br /&gt;
Feel free to update this list!&lt;br /&gt;
&lt;br /&gt;
= Benchmark Libraries =&lt;br /&gt;
&lt;br /&gt;
=== Embedded Optimization and Control ===&lt;br /&gt;
&lt;br /&gt;
* European FP 7 project [http://embocon.org EMBOCON]&lt;br /&gt;
&lt;br /&gt;
=== Hybrid Systems ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.ist-hycon.org/ HYCON] network: two benchmark problems have been defined.&lt;br /&gt;
&lt;br /&gt;
=== Optimal Control ===&lt;br /&gt;
&lt;br /&gt;
* The [http://tomdyn.com/ PROPT homepage] (a matlab toolkit for dynamic optimization using collocation) states over 100 test cases from different applications with their results and computation time. &lt;br /&gt;
* With the software package [http://abs-5.me.washington.edu/noc/dsoa.html dsoa] come currently 77 test problems. &lt;br /&gt;
* The ESA provides a [http://www.esa.int/gsp/ACT/inf/op/globopt.htm test set of global optimization spacecraft trajectory problems] and their best putative solutions.&lt;br /&gt;
* The [http://www.mcs.anl.gov/~more/cops/ COPS library] contains around 10 dynamic control and parameter estimation problems&lt;br /&gt;
* The [http://www.optpde.net OPTPDE collection] contains problems in PDE-constrained optimization&lt;br /&gt;
* The [http://plato.asu.edu/pdecon.html PDECON collection] contains discretized PDE problems in AMPL as part of a [http://plato.asu.edu/bench.html larger benchmark effort] by Hans Mittelmann&lt;br /&gt;
&lt;br /&gt;
=== MINLP ===&lt;br /&gt;
&lt;br /&gt;
* CMU-IBM Cyber-Infrastructure for MINLP [http://minlp.org/ collaborative site]&lt;br /&gt;
* MINLPlib &amp;lt;bib id=&amp;quot;Bussieck2003a&amp;quot; /&amp;gt; &lt;br /&gt;
* [http://www.gamsworld.org/performance GAMSWORLD]&lt;br /&gt;
&lt;br /&gt;
=== Generic Optimization ===&lt;br /&gt;
&lt;br /&gt;
* [http://cuter.rl.ac.uk/cuter-www/ CUTEr] is a versatile testing environment for optimization and linear algebra solvers.&lt;br /&gt;
* [http://www.netlib.org/lp/ NETLIB] for linear programming (LP)&lt;br /&gt;
* [http://miplib.zib.de/ MIPLIB] for mixed-integer linear programming (MILP)&lt;br /&gt;
* Schittkowski Library &amp;lt;bib id=&amp;quot;Schittkowski2002&amp;quot; /&amp;gt; for nonlinear programming (LP)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Oil_Shale_Pyrolysis&amp;diff=1663</id>
		<title>Oil Shale Pyrolysis</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Oil_Shale_Pyrolysis&amp;diff=1663"/>
		<updated>2016-02-04T19:40:52Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 2&lt;br /&gt;
|nu        = 1&lt;br /&gt;
|nw        = 0&lt;br /&gt;
|nre       = 2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The following problem is an example from the global optimal control literature and was introduced in &amp;lt;bib id=&amp;quot;Wen1977&amp;quot; /&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{ll}&lt;br /&gt;
 \displaystyle \min_{u} &amp;amp;  \displaystyle -x_1(t_N)^2  \\[1.5ex]&lt;br /&gt;
 \mbox{s.t.} &amp;amp;  \displaystyle \dot{x}_0(t) = -k_0x_0(t)-(k_2+k_3+k_4)x_0(t)x_1(t)\\&lt;br /&gt;
 &amp;amp;  \displaystyle \dot{x}_1(t) = k_0x_0(t)-k_1x_1(t) + k_2x_0(t)x_1(t)\\&lt;br /&gt;
 &amp;amp;  \displaystyle k_i = a_i e^{-u(t)\frac{b_i}{R}},\quad \forall i\in \{1,\dots,5\} \\ [1.5ex]&lt;br /&gt;
 &amp;amp;  \displaystyle t \in \left[t_0,t_N\right] \\&lt;br /&gt;
 &amp;amp;  \displaystyle u(t) \in \left[698.15/748.15,1\right]\\&lt;br /&gt;
 &amp;amp;  \displaystyle x(t_0) = (1,0)^T\\&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where this is the normalized form with &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; u(t)= \frac{1}{u_{temp}} &amp;lt;/math&amp;gt;, with &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; u_{temp} \in \left[698.15,748.15\right] &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+State variables&lt;br /&gt;
|-&lt;br /&gt;
|Symbol&lt;br /&gt;
|Initial value (&amp;lt;math&amp;gt;t_0&amp;lt;/math&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;x_0(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;x_1(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;0 &amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
|Symbol&lt;br /&gt;
|Value&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;a_1&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;8.86&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;a_2&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;24.25&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;a_3&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;23.67&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;a_4&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;18.75&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;a_5&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;20.7&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;b_1&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;20.3&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;b_2&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;37.4&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;b_3&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;33.8&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;b_4&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;28.2&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;b_5&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;31.0&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Control variable&lt;br /&gt;
|-&lt;br /&gt;
|Symbol&lt;br /&gt;
|Interval&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;u(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
|[698.15/748.15,1]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Measurement grid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Reference solution ==&lt;br /&gt;
&lt;br /&gt;
Coming soon.&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
&lt;br /&gt;
Model descriptions are not yet available.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, or presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Lotka_Volterra_fishing_problem&amp;diff=1662</id>
		<title>Lotka Volterra fishing problem</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Lotka_Volterra_fishing_problem&amp;diff=1662"/>
		<updated>2016-02-04T19:38:59Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 3&lt;br /&gt;
|nw        = 1&lt;br /&gt;
|nre       = 3&lt;br /&gt;
}}&amp;lt;!-- Do not insert line break here or Dimensions Box moves up in the layout...&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;The &#039;&#039;&#039;Lotka Volterra fishing problem&#039;&#039;&#039; looks for an optimal fishing strategy to be performed on a fixed time horizon to bring the biomasses of both predator as prey fish to a prescribed steady state. The problem was set up as a small-scale benchmark problem. &lt;br /&gt;
The well known [http://en.wikipedia.org/wiki/Lotka_volterra Lotka Volterra equations] for a predator-prey system have been augmented by an additional linear term, relating to fishing by man. The control can be regarded both in a relaxed, as in a discrete manner, corresponding to a part of the fleet, or the full fishing fleet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The mathematical equations form a small-scale [[:Category:ODE model|ODE model]]. The interior point equality conditions fix the initial values of the differential states.&lt;br /&gt;
&lt;br /&gt;
The optimal integer control functions shows [[:Category:Chattering|chattering]] behavior, making the Lotka Volterra fishing problem an ideal candidate for benchmarking of algorithms.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;t \in [t_0, t_f]&amp;lt;/math&amp;gt; almost everywhere the mixed-integer optimal control problem is given by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{llcl}&lt;br /&gt;
 \displaystyle \min_{x, w} &amp;amp; x_2(t_f)   \\[1.5ex]&lt;br /&gt;
 \mbox{s.t.} &amp;amp; \dot{x}_0(t) &amp;amp; = &amp;amp; x_0(t) - x_0(t) x_1(t) - \; c_0 x_0(t) \; w(t), \\&lt;br /&gt;
 &amp;amp; \dot{x}_1(t) &amp;amp; = &amp;amp; - x_1(t) + x_0(t) x_1(t) - \; c_1 x_1(t) \; w(t),  \\&lt;br /&gt;
 &amp;amp; \dot{x}_2(t) &amp;amp; = &amp;amp; (x_0(t) - 1)^2 + (x_1(t) - 1)^2,  \\[1.5ex]&lt;br /&gt;
 &amp;amp; x(0) &amp;amp;=&amp;amp; (0.5, 0.7, 0)^T, \\&lt;br /&gt;
 &amp;amp; w(t) &amp;amp;\in&amp;amp;  \{0, 1\}.&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here the differential states &amp;lt;math&amp;gt;(x_0, x_1)&amp;lt;/math&amp;gt; describe the biomasses of prey and predator, respectively. The third differential state is used here to transform the objective, an integrated deviation, into the Mayer formulation &amp;lt;math&amp;gt;\min \; x_2(t_f)&amp;lt;/math&amp;gt;. The decision, whether the fishing fleet is actually fishing at time &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; is denoted by &amp;lt;math&amp;gt;w(t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
&lt;br /&gt;
These fixed values are used within the model.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rcl}&lt;br /&gt;
[t_0, t_f] &amp;amp;=&amp;amp; [0, 12],\\&lt;br /&gt;
(c_0, c_1) &amp;amp;=&amp;amp; (0.4, 0.2).&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reference Solutions ==&lt;br /&gt;
&lt;br /&gt;
If the problem is relaxed, i.e., we demand that &amp;lt;math&amp;gt;w(t)&amp;lt;/math&amp;gt; be in the continuous interval &amp;lt;math&amp;gt;[0, 1]&amp;lt;/math&amp;gt; instead of the binary choice &amp;lt;math&amp;gt;\{0,1\}&amp;lt;/math&amp;gt;, the optimal solution can be determined by means of [http://en.wikipedia.org/wiki/Pontryagin%27s_minimum_principle Pontryagins maximum principle]. The optimal solution contains a singular arc, as can be seen in the plot of the optimal control. The two differential states and corresponding adjoint variables in the indirect approach are also displayed. A different approach to solving the relaxed problem is by using a direct method such as collocation or Bock&#039;s direct multiple shooting method. Optimal solutions for different control discretizations are also plotted in the leftmost figure.&lt;br /&gt;
&lt;br /&gt;
The optimal objective value of this relaxed problem is &amp;lt;math&amp;gt;x_2(t_f) = 1.34408&amp;lt;/math&amp;gt;. As follows from MIOC theory &amp;lt;bib id=&amp;quot;Sager2011d&amp;quot; /&amp;gt; this is the best lower bound on the optimal value of the original problem with the integer restriction on the control function. In other words, this objective value can be approximated arbitrarily close, if the control only switches often enough between 0 and 1. As no optimal solution exists, two suboptimal ones are shown, one with only two switches and an objective function value of &amp;lt;math&amp;gt;x_2(t_f) = 1.38276&amp;lt;/math&amp;gt;, and one with 56 switches and &amp;lt;math&amp;gt;x_2(t_f) = 1.34416&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Reference solution plots&amp;quot; widths=&amp;quot;180px&amp;quot; heights=&amp;quot;140px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
 Image:lotkaRelaxedControls.png| Optimal relaxed control determined by an indirect approach and by a direct approach on different control discretization grids.&lt;br /&gt;
 Image:lotkaindirektStates.png| Differential states and corresponding adjoint variables in the indirect approach.&lt;br /&gt;
 Image:lotka2Switches.png| Control and differential states with only two switches.&lt;br /&gt;
 Image:lotka56Switches.png| Control and differential states with 56 switches.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
&lt;br /&gt;
Model descriptions are available in&lt;br /&gt;
&lt;br /&gt;
* [[:Category:AMPL | AMPL code]] at [[Lotka Volterra fishing problem (AMPL)]]&lt;br /&gt;
* [[:Category:Muscod | Muscod code]] at [[Lotka Volterra fishing problem (Muscod)]]&lt;br /&gt;
* [[:Category:optimica | optimica code]] at [[Lotka Volterra fishing problem (optimica)]]&lt;br /&gt;
* [[:Category:Julia/JuMP | JuMP code]] at [[Lotka Volterra fishing problem (JuMP)]]&lt;br /&gt;
* [[:Category:ACADO | ACADO code]] at [[Lotka Volterra fishing problem (ACADO)]]&lt;br /&gt;
* [[:Category:Casadi | Casadi code]] at [[Lotka Volterra fishing problem (Casadi)]]&lt;br /&gt;
* [[:Category:switch | switch code]] at [[Lotka Volterra fishing problem (switch)]]&lt;br /&gt;
* [[:Category:JModelica | JModelica code]] at [[Lotka Volterra fishing problem (JModelica)]]&lt;br /&gt;
* [[:Category:TomDyn/PROPT | PROPT code]] at [[Lotka Volterra fishing problem (TomDyn/PROPT)]]&lt;br /&gt;
* [[:Category:Bocop | Bocop code]] at [[Lotka Volterra fishing problem (Bocop)]]&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
There are several alternative formulations and variants of the above problem, in particular&lt;br /&gt;
&lt;br /&gt;
* a prescribed time grid for the control function &amp;lt;bib id=&amp;quot;Sager2006&amp;quot; /&amp;gt;, see also [[Lotka Volterra fishing problem (AMPL)]],&lt;br /&gt;
* a time-optimal formulation to get into a steady-state &amp;lt;bib id=&amp;quot;Sager2005&amp;quot; /&amp;gt;,&lt;br /&gt;
* the usage of a different target steady-state, as the one corresponding to &amp;lt;math&amp;gt; w(t) = 1&amp;lt;/math&amp;gt; which is &amp;lt;math&amp;gt;(1 + c_1, 1 - c_0)&amp;lt;/math&amp;gt;,&lt;br /&gt;
* different fishing control functions for the two species,&lt;br /&gt;
* different parameters and start values.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous and Further Reading ==&lt;br /&gt;
The Lotka Volterra fishing problem was introduced by Sebastian Sager in a proceedings paper &amp;lt;bib id=&amp;quot;Sager2006&amp;quot; /&amp;gt; and revisited in his PhD thesis &amp;lt;bib id=&amp;quot;Sager2005&amp;quot; /&amp;gt;. These are also the references to look for more details.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;br /&gt;
[[Category:Tracking objective]]&lt;br /&gt;
[[Category:Chattering]]&lt;br /&gt;
[[Category:Sensitivity-seeking arcs]]&lt;br /&gt;
[[Category:Population dynamics]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Testing Graphviz&lt;br /&gt;
&amp;lt;graphviz border=&#039;frame&#039; format=&#039;svg&#039;&amp;gt;&lt;br /&gt;
digraph G {Hello-&amp;gt;World!}&lt;br /&gt;
&amp;lt;/graphviz&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=External_Links&amp;diff=1591</id>
		<title>External Links</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=External_Links&amp;diff=1591"/>
		<updated>2016-01-28T10:09:13Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Work Groups =&lt;br /&gt;
&lt;br /&gt;
An incomplete list of work groups interested in aspects of mixed-integer dynamic optimization.&lt;br /&gt;
&lt;br /&gt;
* [http://mathopt.de Mathematical and Computational Optimization], Uni Magdeburg, led by Sebastian Sager&lt;br /&gt;
* [https://www.imtek.de/professuren/systemtheorie Systems Control and Optimization Laboratory], Uni Freiburg, led by Moritz Diehl&lt;br /&gt;
* [http://www.unibw.de/lrt1/gerdts Optimal Control], Universität der Bundeswehr München, led by Matthias Gerdts&lt;br /&gt;
* [http://www.am.uni-erlangen.de/wima Discrete Optimization], Uni Erlangen, led by Alexander Martin&lt;br /&gt;
* [http://www3.mathematik.tu-darmstadt.de/ags/optimization/research/nonlinear-optimization.html Nonlinear Optimization], Uni Darmstadt, led by Stefan Ulbrich&lt;br /&gt;
* [http://www.dyn.bci.tu-dortmund.de/ Process Dynamics and Operations], Uni Dortmund, led by Sebastian Engell&lt;br /&gt;
* [http://www.aices.rwth-aachen.de/organization/institutes/procsyseng Process Systems Engineering], RWTH Aachen, led by Wolfgang Marquardt&lt;br /&gt;
* [http://numero.cheme.cmu.edu/ Biegler Research Group], Carnegie Mellon, led by Larry Biegler&lt;br /&gt;
* [http://www.am.uni-erlangen.de/home/leugering/ Applied Mathematics II], Uni Erlangen, led by Günter Leugering&lt;br /&gt;
* [http://egon.cheme.cmu.edu/ Grossmann Research Group], Carnegie Mellon, led by Ignacio Grossmann&lt;br /&gt;
* [http://www.control.lth.se/user/johan.akesson/ Automatic Control], Lund University, led by Johan Akesson&lt;br /&gt;
&lt;br /&gt;
Feel free to update this list!&lt;br /&gt;
&lt;br /&gt;
= Benchmark Libraries =&lt;br /&gt;
&lt;br /&gt;
=== Embedded Optimization and Control ===&lt;br /&gt;
&lt;br /&gt;
* European FP 7 project [http://embocon.org EMBOCON]&lt;br /&gt;
&lt;br /&gt;
=== Hybrid Systems ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.ist-hycon.org/ HYCON] network: two benchmark problems have been defined.&lt;br /&gt;
&lt;br /&gt;
=== Optimal Control ===&lt;br /&gt;
&lt;br /&gt;
* The [http://tomdyn.com/ PROPT homepage] (a matlab toolkit for dynamic optimization using collocation) states over 100 test cases from different applications with their results and computation time. &lt;br /&gt;
* With the software package [http://abs-5.me.washington.edu/noc/dsoa.html dsoa] come currently 77 test problems. &lt;br /&gt;
* The ESA provides a [http://www.esa.int/gsp/ACT/inf/op/globopt.htm test set of global optimization spacecraft trajectory problems] and their best putative solutions.&lt;br /&gt;
* The [http://www.mcs.anl.gov/~more/cops/ COPS library] contains around 10 dynamic control and parameter estimation problems&lt;br /&gt;
* The [http://www.optpde.net OPTPDE collection] contains problems in PDE-constrained optimization&lt;br /&gt;
* The [http://plato.asu.edu/pdecon.html PDECON collection] contains discretized PDE problems in AMPL as part of a [http://plato.asu.edu/bench.html larger benchmark effort] by Hans Mittelmann&lt;br /&gt;
&lt;br /&gt;
=== MINLP ===&lt;br /&gt;
&lt;br /&gt;
* CMU-IBM Cyber-Infrastructure for MINLP [http://minlp.org/ collaborative site]&lt;br /&gt;
* MINLPlib &amp;lt;bib id=&amp;quot;Bussieck2003a&amp;quot; /&amp;gt; &lt;br /&gt;
* [http://www.gamsworld.org/performance GAMSWORLD]&lt;br /&gt;
&lt;br /&gt;
=== Generic Optimization ===&lt;br /&gt;
&lt;br /&gt;
* [http://cuter.rl.ac.uk/cuter-www/ CUTEr] is a versatile testing environment for optimization and linear algebra solvers.&lt;br /&gt;
* [http://www.netlib.org/lp/ NETLIB] for linear programming (LP)&lt;br /&gt;
* [http://miplib.zib.de/ MIPLIB] for mixed-integer linear programming (MILP)&lt;br /&gt;
* Schittkowski Library &amp;lt;bib id=&amp;quot;Schittkowski2002&amp;quot; /&amp;gt; for nonlinear programming (LP)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Main_Page&amp;diff=1590</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Main_Page&amp;diff=1590"/>
		<updated>2016-01-28T10:01:22Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This wiki contains a &#039;&#039;&#039;benchmark library&#039;&#039;&#039; of &#039;&#039;&#039;mixed-integer optimal control problems&#039;&#039;&#039;. The main intention is to provide algorithm developers with a set of challenging problems to evaluate their numerical optimization methods. An important focus is given on &#039;&#039;&#039;reproducibility&#039;&#039;&#039; of optimal solutions.&lt;br /&gt;
As, in contrast to say linear programming, there are no standard formats for the formulation of such problems, and they often show completely different characteristics, these pages dedicate some space for a thorough description of problem and solutions.&lt;br /&gt;
&lt;br /&gt;
A more detailed description of the underlying concepts of this library can be found in the article &amp;lt;bib id=&amp;quot;Sager2012b&amp;quot; /&amp;gt;, of which a [http://mathopt.de/PUBLICATIONS/Sager2012b.pdf preprint pdf] is available.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TOP TABLE WITH NEWS  --&amp;gt;&lt;br /&gt;
==[[:Category:News|News]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Current News|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&amp;lt;table bgcolor=&amp;quot;#EEEEFF&amp;quot; width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;80%&amp;quot; bgcolor=&amp;quot;#EEEEFF&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- The actual news are being included from the page Current News with the following line. --&amp;gt;&lt;br /&gt;
{{Current News}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CATEGORY FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot;&amp;gt;&lt;br /&gt;
==[[:Category:Problem characterization|Problem characterization]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a problem characterization|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Application|application area]]&#039;&#039;, e.g., [[:Category: Aeronautics | Aeronautics]] - [[:Category: Chemical engineering | Chemical engineering]] - [[:Category:Medicine | Medicine]] - [[:Category:Transport | Transport]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Model characterization|mathematical model]]&#039;&#039;, e.g., [[:Category: ODE model | ODE]], [[:Category: PDE model | PDE]] or [[:Category: DAE model | DAE model]] - [[:Category: Multistage process | Multistage process]] - [[:Category: State dependent switches | State dependent switches]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Solution characterization|optimal solution]]&#039;&#039;, e.g., [[:Category: Bang bang | Bang bang]] - [[:Category: Chattering | Chattering]] - [[:Category: Sensitivity-seeking arcs | Sensitivity-seeking arcs]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category: Implementation | Implementation]], e.g., [[:Category: ACADO | ACADO]] - [[:Category: AMPL | AMPL]] - [[:Category: AMPL/TACO | AMPL with TACO]] - [[:Category:Casadi | Casadi]] - [[:Category: Switch | Switch]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- PROBLEM FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Direct links to [[:Category:MIOCP|Problems]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a Problem|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
[[Bang-bang approximation of a traveling wave | 1D wave]] - [[Bioreactor]] - [[Batch reactor]] - [[Annihilation of calcium oscillations | Calcium]] - [[Annihilation of calcium oscillations with PLC activation inhibition| Calcium 2]] - [[Car testdrive]] - [[Cushioned Oscillation]] - [[Diels-Alder Reaction Experimental Design | Diels-Alder OED]] - [[Double Tank]] - [[F-8 aircraft]] - [[Fuller&#039;s problem]] - [[Gravity Turn Maneuver | Gravity Turn]] - [[Controlled Heating | Heating]]&#039;&#039; - &#039;&#039;[[Lotka Volterra fishing problem | Lotka]] - [[Lotka Experimental Design | Lotka OED]] - [[Van der Pol Oscillator | Oscillator]] - [[Oil Shale Pyrolysis | Pyrolysis]] - [[Goddart&#039;s rocket problem | Rocket]] - [[Source Inversion]] - [[Subway ride | Subway]] - &#039;&#039;[[Supermarket refrigeration system | Supermarket]] - [[Truck cruise control | Truck]]&#039;&#039;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- HELP FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Help|Help]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[User:SebastianSager|(contact)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;[[Help:How to contribute|How to contribute]]&#039;&#039; - &#039;&#039;[[Help:How to cite|How to cite]]&#039;&#039; - &#039;&#039;[[Help:Using LaTeX|LaTeX]]&#039;&#039; - &#039;&#039;[[Help:Description guidelines | Guidelines]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- COMMUNITY FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Community|Community]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a User|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Community|Contributors]] - &#039;&#039;[[External Links]]&#039;&#039; - &#039;&#039;Feel encouraged to participate!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Main]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Main_Page&amp;diff=1589</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Main_Page&amp;diff=1589"/>
		<updated>2016-01-28T09:53:28Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This wiki contains a &#039;&#039;&#039;benchmark library&#039;&#039;&#039; of &#039;&#039;&#039;mixed-integer optimal control problems&#039;&#039;&#039;. The main intention is to provide algorithm developers with a set of challenging problems to evaluate their numerical optimization methods. An important focus is given on &#039;&#039;&#039;reproducibility&#039;&#039;&#039; of optimal solutions.&lt;br /&gt;
As, in contrast to say linear programming, there are no standard formats for the formulation of such problems, and they often show completely different characteristics, these pages dedicate some space for a thorough description of problem and solutions.&lt;br /&gt;
&lt;br /&gt;
A more detailed description of the underlying concepts of this library can be found in the article &amp;lt;bib id=&amp;quot;Sager2012b&amp;quot; /&amp;gt;, of which a [http://mathopt.de/PUBLICATIONS/Sager2012b.pdf preprint pdf] is available.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TOP TABLE WITH NEWS  --&amp;gt;&lt;br /&gt;
==[[:Category:News|News]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Current News|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&amp;lt;table bgcolor=&amp;quot;#EEEEFF&amp;quot; width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;80%&amp;quot; bgcolor=&amp;quot;#EEEEFF&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- The actual news are being included from the page Current News with the following line. --&amp;gt;&lt;br /&gt;
{{Current News}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CATEGORY FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot;&amp;gt;&lt;br /&gt;
==[[:Category:Problem characterization|Problem characterization]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a problem characterization|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Application|application area]]&#039;&#039;, e.g., [[:Category: Aeronautics | Aeronautics]] - [[:Category: Chemical engineering | Chemical engineering]] - [[:Category:Medicine | Medicine]] - [[:Category:Transport | Transport]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Model characterization|mathematical model]]&#039;&#039;, e.g., [[:Category: ODE model | ODE]], [[:Category: PDE model | PDE]] or [[:Category: DAE model | DAE model]] - [[:Category: Multistage process | Multistage process]] - [[:Category: State dependent switches | State dependent switches]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Solution characterization|optimal solution]]&#039;&#039;, e.g., [[:Category: Bang bang | Bang bang]] - [[:Category: Chattering | Chattering]] - [[:Category: Sensitivity-seeking arcs | Sensitivity-seeking arcs]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category: Implementation | Implementation]], e.g., [[:Category: ACADO | ACADO]] - [[:Category: AMPL | AMPL]] - [[:Category: AMPL/TACO | AMPL with TACO]] - [[:Category: Muscod | Muscod]] - [[:Category: Switch | Switch]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- PROBLEM FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Direct links to [[:Category:MIOCP|Problems]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a Problem|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
[[Bang-bang approximation of a traveling wave | 1D wave]] - [[Bioreactor]] - [[Batch reactor]] - [[Annihilation of calcium oscillations | Calcium]] - [[Annihilation of calcium oscillations with PLC activation inhibition| Calcium 2]] - [[Car testdrive]] - [[Cushioned Oscillation]] - [[Diels-Alder Reaction Experimental Design | Diels-Alder OED]] - [[Double Tank]] - [[F-8 aircraft]] - [[Fuller&#039;s problem]] - [[Gravity Turn Maneuver | Gravity Turn]] - [[Controlled Heating | Heating]]&#039;&#039; - &#039;&#039;[[Lotka Volterra fishing problem | Lotka]] - [[Lotka Experimental Design | Lotka OED]] - [[Van der Pol Oscillator | Oscillator]] - [[Oil Shale Pyrolysis | Pyrolysis]] - [[Goddart&#039;s rocket problem | Rocket]] - [[Source Inversion]] - [[Subway ride | Subway]] - &#039;&#039;[[Supermarket refrigeration system | Supermarket]] - [[Truck cruise control | Truck]]&#039;&#039;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- HELP FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Help|Help]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[User:SebastianSager|(contact)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;[[Help:How to contribute|How to contribute]]&#039;&#039; - &#039;&#039;[[Help:How to cite|How to cite]]&#039;&#039; - &#039;&#039;[[Help:Using LaTeX|LaTeX]]&#039;&#039; - &#039;&#039;[[Help:Description guidelines | Guidelines]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- COMMUNITY FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Community|Community]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a User|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Community|Contributors]] - &#039;&#039;[[External Links]]&#039;&#039; - &#039;&#039;Feel encouraged to participate!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Main]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Annihilation_of_calcium_oscillations_with_PLC_activation_inhibition&amp;diff=1588</id>
		<title>Annihilation of calcium oscillations with PLC activation inhibition</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Annihilation_of_calcium_oscillations_with_PLC_activation_inhibition&amp;diff=1588"/>
		<updated>2016-01-28T09:51:48Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 4&lt;br /&gt;
|nw        = 2&lt;br /&gt;
|nre       = 4&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This control problem is closely related to [[Annihilation of calcium oscillations]]. The only difference is an additional control function, the inhibition of PLC activation. We state only the differences in this article.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;t \in [t_0, t_f]&amp;lt;/math&amp;gt; almost everywhere the mixed-integer optimal control problem is given by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{llcl}&lt;br /&gt;
 \displaystyle \min_{x, w, w^{\mathrm{max}}} &amp;amp; &amp;amp; &amp;amp; {\int_{t_0}^{t_f} || x(\tau) - \tilde{x} ||_2^2  + p_1 w_1(\tau) + p_2 w_2(\tau) \; \mathrm{d}\tau} \\[1.5ex]&lt;br /&gt;
 \mbox{s.t.} &amp;amp; \dot{x}_0 &amp;amp; = &amp;amp; k_1 + k_2 x_0 - \frac{k_3 x_0 x_1}{x_0 + K_4} -  \frac{k_5 x_0 x_2}{x_0 + K_6} \\&lt;br /&gt;
&amp;amp; \dot{x}_1 &amp;amp; = &amp;amp; (1 - w_2) k_7 x_0 - \frac{k_8 x_1}{x_1 + K_9} \\&lt;br /&gt;
&amp;amp; \dot{x}_2 &amp;amp; = &amp;amp; \frac{k_{10} x_1 x_2 x_3}{x_3 + K_{11}} + k_{12} x_1 + k_{13} x_0 - \frac{k_{14} x_2}{w_1 \cdot x_2 + K_{15}} - \frac{k_{16} x_2}{x_2 + K_{17}} + \frac{x_3}{10} \\&lt;br /&gt;
&amp;amp; \dot{x}_3 &amp;amp; = &amp;amp; - \frac{k_{10} x_1 x_2 x_3}{x_3 + K_{11}} + \frac{k_{16} x_2}{x_2 + K_{17}} - \frac{x_3}{10} \\[1.5ex]&lt;br /&gt;
 &amp;amp; x(0) &amp;amp;=&amp;amp; (0.03966, 1.09799, 0.00142, 1.65431)^T, \\&lt;br /&gt;
 &amp;amp; x(t) &amp;amp; \ge &amp;amp; 0.0, \\&lt;br /&gt;
 &amp;amp; w_1(t) &amp;amp;\in&amp;amp;  \{1, w^{\mathrm{max}}\}, \\&lt;br /&gt;
 &amp;amp; w_2(t) &amp;amp;\in&amp;amp;  \{0, 1\}, \\&lt;br /&gt;
 &amp;amp; w^{\mathrm{max}} &amp;amp; \ge &amp;amp; 1.1, \\&lt;br /&gt;
 &amp;amp; w^{\mathrm{max}} &amp;amp; \le &amp;amp; 1.3.&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that we write &amp;lt;math&amp;gt;w_1(t)&amp;lt;/math&amp;gt; instead of &amp;lt;math&amp;gt;w(t)&amp;lt;/math&amp;gt; and have an additional control function &amp;lt;math&amp;gt;w_2(t)&amp;lt;/math&amp;gt;. The regularization parameters are set to &amp;lt;math&amp;gt;p_1 = p_2 = 100&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== Reference Solutions ==&lt;br /&gt;
&lt;br /&gt;
A solution for this problem is described in &amp;lt;bib id=&amp;quot;Lebiedz2005&amp;quot; /&amp;gt;. A local minimum that is actually slightly worse than the solution provided for only one control, is shown in the next plots.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Reference solution plots&amp;quot; widths=&amp;quot;180px&amp;quot; heights=&amp;quot;140px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
 Image:calcium2Controls.png| Optimal stimuli determined by mixed-integer optimal control.&lt;br /&gt;
 Image:calcium2States.png| Corresponding differential states.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
[[Annihilation of calcium oscillations| Only one control function]].&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, or presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:Medicine]]&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;br /&gt;
[[Category:Unstable]]&lt;br /&gt;
[[Category:Tracking objective]]&lt;br /&gt;
[[Category:Bang bang]]&lt;br /&gt;
[[Category:Systems biology]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Annihilation_of_calcium_oscillations&amp;diff=1587</id>
		<title>Annihilation of calcium oscillations</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Annihilation_of_calcium_oscillations&amp;diff=1587"/>
		<updated>2016-01-28T09:51:36Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 4&lt;br /&gt;
|nw        = 1&lt;br /&gt;
|nre       = 4&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The aim of the control problem is to identify strength and timing of inhibitor stimuli that lead to a phase singularity which annihilates intracellular calcium oscillations. This is formulated as an objective function that aims at minimizing the state deviation from a desired unstable steady state, integrated over time.&lt;br /&gt;
&lt;br /&gt;
The mathematical equations form a small-scale [[:Category:ODE model|ODE model]]. The interior point equality conditions fix the initial values of the differential states. The problem is, despite of its low dimension, very hard to solve, as the target state is [[:Category:Unstable | unstable]].&lt;br /&gt;
&lt;br /&gt;
== Biological motivation ==&lt;br /&gt;
&lt;br /&gt;
Biological rhythms as impressing manifestations of self-organized dynamics associated with the phenomenon life have been of particular interest since quite a long time. Even before the mechanistic basis of certain biochemical oscillators was elucidated by molecular biology techniques, their investigation and the issue of perturbation by external stimuli has attracted much attention.&lt;br /&gt;
&lt;br /&gt;
A calcium oscillator model describing intracellular calcium spiking in hepatocytes induced by an extracellular increase in adenosine triphosphate (ATP) concentration is described. The calcium signaling pathway is initiated via a receptor activated G-protein inducing the intracellular release of inositol triphoshate (IP3) by phospholipase C. The IP3 triggers the opening of endoplasmic reticulum and plasma membrane calcium channels and a subsequent inflow of calcium ions from intracellular and extracellular stores leading to transient calcium spikes.&lt;br /&gt;
&lt;br /&gt;
As a source of external control a temporally varying concentration of an uncompetitive inhibitor of the PMCA ion pump is considered.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;t \in [t_0, t_f]&amp;lt;/math&amp;gt; almost everywhere the mixed-integer optimal control problem is given by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{llcl}&lt;br /&gt;
 \displaystyle \min_{x, w, w^{\mathrm{max}}} &amp;amp; &amp;amp; &amp;amp; {\int_{t_0}^{t_f} || x(\tau) - \tilde{x} ||_2^2 + p_1 w(\tau) \; \mathrm{d}\tau} \\[1.5ex]&lt;br /&gt;
 \mbox{s.t.} &amp;amp; \dot{x}_0 &amp;amp; = &amp;amp; k_1 + k_2 x_0 - \frac{k_3 x_0 x_1}{x_0 + K_4} -  \frac{k_5 x_0 x_2}{x_0 + K_6} \\&lt;br /&gt;
&amp;amp; \dot{x}_1 &amp;amp; = &amp;amp; k_7 x_0 - \frac{k_8 x_1}{x_1 + K_9} \\&lt;br /&gt;
&amp;amp; \dot{x}_2 &amp;amp; = &amp;amp; \frac{k_{10} x_1 x_2 x_3}{x_3 + K_{11}} + k_{12} x_1 + k_{13} x_0 - \frac{k_{14} x_2}{w \cdot x_2 + K_{15}} - \frac{k_{16} x_2}{x_2 + K_{17}} + \frac{x_3}{10} \\&lt;br /&gt;
&amp;amp; \dot{x}_3 &amp;amp; = &amp;amp; - \frac{k_{10} x_1 x_2 x_3}{x_3 + K_{11}} + \frac{k_{16} x_2}{x_2 + K_{17}} - \frac{x_3}{10} \\[1.5ex]&lt;br /&gt;
 &amp;amp; x(0) &amp;amp;=&amp;amp; (0.03966, 1.09799, 0.00142, 1.65431)^T, \\&lt;br /&gt;
 &amp;amp; x(t) &amp;amp; \ge &amp;amp; 0.0, \\&lt;br /&gt;
 &amp;amp; w(t) &amp;amp;\in&amp;amp;  \{1, w^{\mathrm{max}}\}, \\&lt;br /&gt;
 &amp;amp; w^{\mathrm{max}} &amp;amp; \ge &amp;amp; 1.1, \\&lt;br /&gt;
 &amp;amp; w^{\mathrm{max}} &amp;amp; \le &amp;amp; 1.3.&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here the differential states &amp;lt;math&amp;gt;(x_0, x_1, x_2, x_3)&amp;lt;/math&amp;gt; describe concentrations of activated G-proteins, active phospholipase C, intracellular calcium, and intra-ER calcium, respectively. &lt;br /&gt;
&lt;br /&gt;
Modeling details including a comprehensive discussion of parameter values and the dynamical behavior observed in simulations with a comparison to experimental observations can be found in &amp;lt;bib id=&amp;quot;Kummer2000&amp;quot; /&amp;gt;. In the given equations that stem from &amp;lt;bib id=&amp;quot;Lebiedz2005&amp;quot; /&amp;gt;, the model is identical to the one derived there, except for an additional first-order leakage flow of calcium from the ER back to the cytoplasm, which is modeled by &amp;lt;math&amp;gt;\frac{x_3}{10}&amp;lt;/math&amp;gt; in equations 3 and 4. It reproduces well experimental observations of cytoplasmic calcium oscillations as well as bursting behavior and in particular the frequency encoding of the triggering stimulus strength, which is a well known mechanism for signal processing in cell biology.&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
&lt;br /&gt;
These fixed values are used within the model.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rcl}&lt;br /&gt;
[t_0, t_f] &amp;amp;=&amp;amp; [0, 22],\\&lt;br /&gt;
k_1 &amp;amp;=&amp;amp; 0.09, \\&lt;br /&gt;
k_2 &amp;amp;=&amp;amp; 2.30066, \\&lt;br /&gt;
k_3 &amp;amp;=&amp;amp; 0.64, \\&lt;br /&gt;
K_4 &amp;amp;=&amp;amp; 0.19, \\&lt;br /&gt;
k_5 &amp;amp;=&amp;amp; 4.88, \\&lt;br /&gt;
K_6 &amp;amp;=&amp;amp; 1.18, \\&lt;br /&gt;
k_7 &amp;amp;=&amp;amp; 2.08, \\&lt;br /&gt;
k_8 &amp;amp;=&amp;amp; 32.24, \\&lt;br /&gt;
K_9 &amp;amp;=&amp;amp; 29.09, \\&lt;br /&gt;
k_{10} &amp;amp;=&amp;amp; 5.0, \\&lt;br /&gt;
K_{11} &amp;amp;=&amp;amp; 2.67, \\&lt;br /&gt;
k_{12} &amp;amp;=&amp;amp; 0.7, \\&lt;br /&gt;
k_{13} &amp;amp;=&amp;amp; 13.58, \\&lt;br /&gt;
k_{14} &amp;amp;=&amp;amp; 153.0, \\&lt;br /&gt;
K_{15} &amp;amp;=&amp;amp; 0.16, \\&lt;br /&gt;
k_{16} &amp;amp;=&amp;amp; 4.85, \\&lt;br /&gt;
K_{17} &amp;amp;=&amp;amp; 0.05, \\&lt;br /&gt;
p_1    &amp;amp;=&amp;amp; 100, \\&lt;br /&gt;
\tilde{x}_0 &amp;amp;=&amp;amp; 6.78677, \\&lt;br /&gt;
\tilde{x}_1 &amp;amp;=&amp;amp; 22.65836, \\&lt;br /&gt;
\tilde{x}_2 &amp;amp;=&amp;amp; 0.384306, \\&lt;br /&gt;
\tilde{x}_3 &amp;amp;=&amp;amp; 0.28977.&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reference Solutions ==&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Reference solution plots&amp;quot; widths=&amp;quot;180px&amp;quot; heights=&amp;quot;140px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
 Image:calciumControl.png| Optimal stimuli determined by mixed-integer optimal control.&lt;br /&gt;
 Image:calciumStates.png| Corresponding differential states.&lt;br /&gt;
 Image:calciumStatesPerturbed.png| Slightly perturbed control: stimulus 0.001 too early.&lt;br /&gt;
 Image:calciumStatesLongTime.png| Long time behavior of optimal solution: numerical rounding errors lead to transition back from unstable steady-state to stable limit-cycle.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The depicted optimal solution consists of a stimulus of &amp;lt;math&amp;gt;w^{\mathrm{max}}=1.3&amp;lt;/math&amp;gt; and a timing given by the stage lengths 4.6947115, 0.1491038, and 17.1561845. The optimal objective function value is 1610.654. As can be seen from the additional plots, this solution is extremely unstable. A small perturbation in the control, or simply rounding errors on a longer time horizon lead to a transition back to the stable limit-cycle oscillations.&lt;br /&gt;
&lt;br /&gt;
== Optimization ==&lt;br /&gt;
&lt;br /&gt;
The determination of the stimulus by means of optimization is quite hard for two reasons. First, the unstable target steady-state. Only a stable all-at-once algorithm such as multiple shooting or collocation can be applied successfully.&lt;br /&gt;
&lt;br /&gt;
Second, the objective landscape of the problem in switching time formulation (this is, for a fixed stimulus strength and modifying only beginning and length of the stimulus) is quite nasty, as the following visualizations obtained by simulation show.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Objective landscape simulation plots&amp;quot; widths=&amp;quot;180px&amp;quot; heights=&amp;quot;140px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
 Image:calciumObjectiveSimulation1.png| Brute-force simulation of objective landscape for different values of stimulus beginning and length.&lt;br /&gt;
 Image:calciumObjectiveSimulation2.png| Zoom in.&lt;br /&gt;
 Image:calciumObjectiveSimulation3.png| Zoom in.&lt;br /&gt;
 Image:calciumObjectiveSimulation4.png| Note that the border line of the small channel is a local maximum, hence an initialization slightly away will not lead to the correct global minimum.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Muscod | Muscod code]] at [[Annihilation of calcium oscillations (Muscod)]]&lt;br /&gt;
* [[:Category:optimica | optimica]] at [[Annihilation of calcium oscillations (optimica)]]&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; [[Annihilation of calcium oscillations with PLC activation inhibition| Use of two control functions]].&lt;br /&gt;
 &amp;lt;li&amp;gt; Scaled deviation in objective function.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, or presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:Medicine]]&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;br /&gt;
[[Category:Unstable]]&lt;br /&gt;
[[Category:Bang bang]]&lt;br /&gt;
[[Category:Systems biology]]&lt;br /&gt;
[[Category:Tracking objective]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=De_Pillis_chemotherapy_model&amp;diff=1586</id>
		<title>De Pillis chemotherapy model</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=De_Pillis_chemotherapy_model&amp;diff=1586"/>
		<updated>2016-01-28T09:51:12Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 6&lt;br /&gt;
|nu        = 3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The model by de Pillis combines chemotherapy with immunotherapy.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;t \in [t_0, t_f]&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;D = d \frac{(x_2/x_0)^l}{s+(x_2/x_0)^l}&amp;lt;/math&amp;gt; the optimal control problem is given by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{llcl}&lt;br /&gt;
 \displaystyle \min_{x, u} &amp;amp; p_0 x_0(t_f) &amp;amp; + &amp;amp; \int_{t_0}^{t_f} p_1 x_0(t)^2 \mbox{d}t + \sum_{i=0}^{3} \int_{t_0}^{t_f} p_{i+2} u_i(t)^2 \mbox{d}t   \\[1.5ex]&lt;br /&gt;
 \mbox{s.t.} &amp;amp; \dot{x}_0(t) &amp;amp; = &amp;amp; a x_0 (1-b x_0) -c x_1 x_0 - D x_0 - K_T (1- \mbox{e}^{- x_4}) x_0 ,\\&lt;br /&gt;
             &amp;amp; \dot{x}_1(t) &amp;amp; = &amp;amp; e x_3 - f x_1 + g \frac{x_0^2}{h+x_0^2}-p x_1 x_0 - K_N (1- \mbox{e}^{- x_4}) x_1,  \\&lt;br /&gt;
             &amp;amp; \dot{x}_2(t) &amp;amp; = &amp;amp; -m x_2 + j \frac{D^2 x_0^2}{k+ D^2 x_0^2} x_2 - q x_1 x_2 + (r_1 x_1 + r_2 x_3) x_0 \\&lt;br /&gt;
&amp;amp; &amp;amp; &amp;amp; - v x_1 x_2^2 - K_L (1- \mbox{e}^{- x_4}) x_2 + \frac{p_I x_2 x_5}{g_I + x_5} + u_2,  \\&lt;br /&gt;
             &amp;amp; \dot{x}_3(t) &amp;amp; = &amp;amp; \alpha - \beta x_3 - K_C (1- \mbox{e}^{- x_4}) x_3,\\&lt;br /&gt;
             &amp;amp; \dot{x}_4(t) &amp;amp; = &amp;amp; - \gamma x_4 + u_0,\\&lt;br /&gt;
             &amp;amp; \dot{x}_5(t) &amp;amp; = &amp;amp; - \mu_I x_5 + u_1.&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The states &amp;lt;math&amp;gt;x_0&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;x_3&amp;lt;/math&amp;gt; are measured in absolute cell counts, where &amp;lt;math&amp;gt;x_0&amp;lt;/math&amp;gt; describes the number of tumor cells, &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; of unspecific immune cells, &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; of tumor-specific cytotoxic T-cells (CD&amp;lt;math&amp;gt;8^+&amp;lt;/math&amp;gt; T) and &amp;lt;math&amp;gt;x_3&amp;lt;/math&amp;gt; of circulating lymphocytes. The chemotherapeutic drug concentration is given by &amp;lt;math&amp;gt;x_4&amp;lt;/math&amp;gt; and the immunotherapeutic by &amp;lt;math&amp;gt;x_5&amp;lt;/math&amp;gt; (Interleukin-2) respectively.&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
&lt;br /&gt;
This set of parameters can be found as “patient 9” in [].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{lll}&lt;br /&gt;
a = 4.31 \times 10^{-1} &amp;amp; b = 1.02 \times 10^{-9} &amp;amp; c = 6.41 \times 10^{-11}\\&lt;br /&gt;
d = 2.34 &amp;amp; e = 2.08 \times 10^{-7} &amp;amp; f = 4.12 \times 10^{-2}\\&lt;br /&gt;
g = 1.25 \times 10^{-2} &amp;amp; h = 2.02 \times 10^{7} &amp;amp; j = 2.49 \times 10^{-2}\\&lt;br /&gt;
k = 3.66 \times 10^{7} &amp;amp; l = 2.09 &amp;amp; m = 2.04 \times 10^{-1}\\&lt;br /&gt;
q = 1.42 \times 10^{-6} &amp;amp; p = 3.42 \times 10^{-6} &amp;amp; s = 8.39 \times 10^{-2}\\&lt;br /&gt;
r_1 = 1.01 \times 10^{-7} &amp;amp; r_2 = 6.50 \times 10^{-11} &amp;amp; u = 3.00 \times 10^{-10}\\&lt;br /&gt;
\alpha = 7.50 \times 10^{8} &amp;amp; \beta = 1.20 \times 10^{-2} &amp;amp; \gamma = 9.00 \times 10^{-1}\\&lt;br /&gt;
p_I = 1.25 \times 10^{-1} &amp;amp; g_I = 2.00 \times 10^{7} &amp;amp; \mu_I = 1.00 \times 10^{1}\\&lt;br /&gt;
K_T = 9.00 \times 10^{-1} &amp;amp; K_N = K_L = K_C = 6 \times 10^{-1}&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reference Solutions ==&lt;br /&gt;
&lt;br /&gt;
The problem can be solved with the [multiple shooting method]. For the following solutions the control functions and states are discretized on the same grid, with 100 nodes. For the objective function parameters have been chosen from the following sets to grand the results shown in the graphics below.&lt;br /&gt;
&lt;br /&gt;
Objective function 1&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rclr}&lt;br /&gt;
p_0 &amp;amp;=&amp;amp; 1,&amp;amp;\\&lt;br /&gt;
p_2 &amp;amp;=&amp;amp; 1,&amp;amp;\\&lt;br /&gt;
p_i &amp;amp;=&amp;amp; 0,&amp;amp;otherwise.\\&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objective function 2&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rclr}&lt;br /&gt;
p_0 &amp;amp;=&amp;amp; -1,&amp;amp;\\&lt;br /&gt;
p_2 &amp;amp;=&amp;amp; 1,&amp;amp;\\&lt;br /&gt;
p_i &amp;amp;=&amp;amp; 0,&amp;amp;otherwise.\\&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In both objective function the amount of chemotherapeutic drugs is penalized. The objective function 2 describes the worst case scenario of the tumor growth at end time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Reference solution plots&amp;quot; widths=&amp;quot;180px&amp;quot; heights=&amp;quot;140px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
 Image:DePillis_1.png| Optimal controls and states computed with a multiple shooting approach on the same discretization grid with 100 nodes and objective function 1.&lt;br /&gt;
 Image:DePillis_2.png| Optimal controls and states with objective function 2.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Source Code==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Muscod | Muscod code]] at [[De Pillis chemotherapy model (Muscod)]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Medicine]]&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Category:Medicine&amp;diff=1585</id>
		<title>Category:Medicine</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Category:Medicine&amp;diff=1585"/>
		<updated>2016-01-28T09:50:15Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: Initial setup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category includes all control problems that stem from a medical application.  &lt;br /&gt;
&lt;br /&gt;
[[Category:Application]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=D%27Onofrio_chemotherapy_model&amp;diff=1584</id>
		<title>D&#039;Onofrio chemotherapy model</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=D%27Onofrio_chemotherapy_model&amp;diff=1584"/>
		<updated>2016-01-28T09:49:51Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: added medicine&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 4&lt;br /&gt;
|nu        = 2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This cancer chemotherapy model is based on the work of d&#039;Onofrio. The corresponding dynamic describes the effect of two different drugs administered to the patient. An anti-angiogetic drug is used to suppress the formation of blood vessels from existing vessels and thereby starving the tumors supply of proliferating vessels. In addition a cytostatic drug effects the proliferation of the tumor cells directly. The dynamic of the  problem is given by an [[:Category:ODE model|ODE model]].&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;t \in [t_0, t_f]&amp;lt;/math&amp;gt; the optimal control problem is given by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{llcl}&lt;br /&gt;
 \displaystyle \min_{x, u} &amp;amp; x_0(t_f) &amp;amp;+&amp;amp; \alpha \int_{t_0}^{t_f} u_0(t)^2 \text{d}t   \\[1.5ex]&lt;br /&gt;
 \mbox{s.t.} &amp;amp; \dot{x}_0(t) &amp;amp; = &amp;amp; - \zeta x_0(t) \text{ln} \left( \frac{x_0(t)}{x_1(t)} \right) - F \; x_0(t) u_1(t), \\&lt;br /&gt;
             &amp;amp; \dot{x}_1(t) &amp;amp; = &amp;amp; b x_0(t) - \mu x_1(t) - d x_0(t)^{\frac{2}{3}}x_1(t) - G u_0(t) x_1(t) - \eta x_1(t) u_1(t),  \\&lt;br /&gt;
             &amp;amp; \dot{x}_2(t) &amp;amp; = &amp;amp; u_0(t),  \\&lt;br /&gt;
             &amp;amp; \dot{x}_3(t) &amp;amp; = &amp;amp; u_1(t), \\ [1.5ex]&lt;br /&gt;
             &amp;amp; 0 &amp;amp; \leq &amp;amp; u_0(t) \leq  u_0^{max},  \\&lt;br /&gt;
             &amp;amp; 0 &amp;amp; \leq &amp;amp;  u_1(t) \leq u_1^{max}, \\&lt;br /&gt;
             &amp;amp; x_2(t) &amp;amp; \leq &amp;amp; x_2^{max},  \\&lt;br /&gt;
             &amp;amp; x_3(t) &amp;amp; \leq &amp;amp; x_3^{max}.&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the control &amp;lt;math&amp;gt;u_0&amp;lt;/math&amp;gt; denotes the administered amount of anti-angiogetic drugs and &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt; the amount of cytostatic drugs. The state &amp;lt;math&amp;gt;x_0&amp;lt;/math&amp;gt; describes the volume of tumor and &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; the volume of neighboring blood vessels. The remaining states &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_3&amp;lt;/math&amp;gt; are used to constraint the maximum amount of drugs over the duration of the therapy.&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
&lt;br /&gt;
In the model these parameters are fixed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rcl}&lt;br /&gt;
t_0 &amp;amp;=&amp;amp; 0,\\&lt;br /&gt;
(\zeta, b, \mu, d, G) &amp;amp;=&amp;amp; (0.192, 5.85, 0.0, 0.00873, 0.15),\\&lt;br /&gt;
(x_2(0), x_3(0), u_0^{max}, x_2^{max}) &amp;amp;=&amp;amp; (0,0,75,300).&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The parameters &amp;lt;math&amp;gt;(x_0(0), x_1(0), u_1^{max}, x_3^{max})&amp;lt;/math&amp;gt; can be taken from the parameter sets shown in the following section. To the remaining parameters &amp;lt;math&amp;gt;(F, \eta)&amp;lt;/math&amp;gt; exists no experimental data.&lt;br /&gt;
&lt;br /&gt;
== Reference Solutions ==&lt;br /&gt;
&lt;br /&gt;
The problem can be solved with the [multiple shooting method]. For the following solutions the control functions and states are discretized on the same grid, with 100 nodes. The unknown parameters are chosen from the following parameter sets &lt;br /&gt;
&lt;br /&gt;
Parameter set 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rclrcl}&lt;br /&gt;
x_0(0) &amp;amp;=&amp;amp; 12000,&amp;amp; x_1(0) &amp;amp;=&amp;amp; 15000,\\&lt;br /&gt;
u_1^{max} &amp;amp;=&amp;amp; 1,&amp;amp; x_3^{max} &amp;amp;=&amp;amp; 2.\\&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameter set 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rclrcl}&lt;br /&gt;
x_0(0) &amp;amp;=&amp;amp; 12000,&amp;amp; x_1(0) &amp;amp;=&amp;amp; 15000,\\&lt;br /&gt;
u_1^{max} &amp;amp;=&amp;amp; 2,&amp;amp; x_3^{max} &amp;amp;=&amp;amp; 10.\\&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameter set 3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rclrcl}&lt;br /&gt;
x_0(0) &amp;amp;=&amp;amp; 14000,&amp;amp; x_1(0) &amp;amp;=&amp;amp; 5000,\\&lt;br /&gt;
u_1^{max} &amp;amp;=&amp;amp; 1,&amp;amp; x_3^{max} &amp;amp;=&amp;amp; 2.\\&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameter set 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rclrcl}&lt;br /&gt;
x_0(0) &amp;amp;=&amp;amp; 14000,&amp;amp; x_1(0) &amp;amp;=&amp;amp; 5000,\\&lt;br /&gt;
u_1^{max} &amp;amp;=&amp;amp; 2,&amp;amp; x_3^{max} &amp;amp;=&amp;amp; 10.\\&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Furthermore in the objective function &amp;lt;math&amp;gt;\alpha =0&amp;lt;/math&amp;gt; is chosen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Reference solution plots&amp;quot; widths=&amp;quot;180px&amp;quot; heights=&amp;quot;140px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
 Image:d&#039;Onofrio 1.png| Optimal controls and states computed with a multiple shooting approach on the same discretization grid with 100 nodes and parameter set 1.&lt;br /&gt;
 Image:d&#039;Onofrio 2.png| Optimal controls and states with parameter set 2.&lt;br /&gt;
 Image:d&#039;Onofrio 3.png| Optimal controls and states with parameter set 3.&lt;br /&gt;
 Image:d&#039;Onofrio 4.png| Optimal controls and states with parameter set 4.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Source Code==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Muscod | Muscod code]] &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
/* volume of tumor */&lt;br /&gt;
rhs[0] = - zeta*x[0]*log(x[0]/x[1])-F*x[0]*u1_;&lt;br /&gt;
/* volume of neighboring blood vessels */&lt;br /&gt;
rhs[1] = b*x[0] - (mu + d*pow(x[0],2.0/3.0))*x[1] - G*u0_*x[1] - eta*x[1]*u1_;&lt;br /&gt;
/* amount of anti-angiogetic drug */&lt;br /&gt;
rhs[2] = u0_;&lt;br /&gt;
/* amount of cytostatic drug */&lt;br /&gt;
rhs[3] = u1_;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Medicine]]&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Cushioned_Oscillation&amp;diff=1583</id>
		<title>Cushioned Oscillation</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Cushioned_Oscillation&amp;diff=1583"/>
		<updated>2016-01-28T09:41:42Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 2&lt;br /&gt;
|nu        = 1&lt;br /&gt;
|nre       = 4&lt;br /&gt;
}}The Cushioned Oscillation is a simplified model of time optimal &amp;quot;stopping&amp;quot; of an oscillating object attached to a spring by applying a control and moving it back into the relaxed position and zero velocity.&lt;br /&gt;
&lt;br /&gt;
== Model formulation == &lt;br /&gt;
&lt;br /&gt;
An object with mass &amp;lt;math&amp;gt; m &amp;lt;/math&amp;gt; is attached to a spring with stiffness constant &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If the resetting spring force is proportional to the deviation &amp;lt;math&amp;gt;x=x(t)&amp;lt;/math&amp;gt;, an oscillation, induced by an external force &amp;lt;math&amp;gt;u(t)&amp;lt;/math&amp;gt;, satisfies:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;               m\dot v (t) + cx(t) = u(t)&amp;lt;/math&amp;gt;   (which is equivalent to &amp;lt;math&amp;gt;\dot v (t) = \frac{1}{m}(u(t) - cx(t))&amp;lt;/math&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; denotes the deviation to the relaxed position and &amp;lt;math&amp;gt; v(t)=\dot x (t) &amp;lt;/math&amp;gt; the velocity of the oscillating object.&lt;br /&gt;
&lt;br /&gt;
Through external force, the object has been put into an initial state :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(x(0),v(0)) = (x_0,v_0)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The goal is to reset position and velocity of the object as fast as possible, meaning:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(x(t_f),v(t_f)) = (0,0)&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
with the objective function:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\min\limits_{t_f} t_f&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optimal Control Problem (OCP) Formulation ==&lt;br /&gt;
&lt;br /&gt;
The above results in the following OCP &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 		\begin{array}{llr}&lt;br /&gt;
 		\min\limits_{x,v,u,t_f}  &amp;amp; t_f\\ &lt;br /&gt;
&lt;br /&gt;
			 		s.t. &amp;amp; 	 \dot x (t) = v(t), &amp;amp; \forall t \in [0,t_f]\\&lt;br /&gt;
&lt;br /&gt;
					 	 &amp;amp;	\dot v (t)= \frac{1}{m}(u(t) - cx(t)),  &amp;amp; \forall t \in [0,t_f]\\&lt;br /&gt;
\\                                                  &lt;br /&gt;
&amp;amp; x(0)=x_0,\\&lt;br /&gt;
&amp;amp; v(0)=v_0,\\&lt;br /&gt;
&amp;amp; x(t_f)=0,\\&lt;br /&gt;
&amp;amp; v(t_f)=0,\\&lt;br /&gt;
\\&lt;br /&gt;
&amp;amp; -u_{mm} \le u(t) \le u_{mm},  &amp;amp; \forall t \in [0,t_f]\\					 	&lt;br /&gt;
 		\end{array}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters and Reference Solution ==&lt;br /&gt;
&lt;br /&gt;
The following parameters were used, to create the reference solution below, with an almost optimal final time &amp;lt;math&amp;gt; t_f = 8.98 s&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; m=5, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; c=10, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x_0=2, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; v_0=5, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; u_{mm}=5.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reference Solution ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Reference solution plots&amp;quot; widths=&amp;quot;180px&amp;quot; heights=&amp;quot;140px&amp;quot; perrow=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
 Image:Ref_sol_plot_cushioned_oscillation_m5.png| States and Controls&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The OCP was solved within MATLAB R2015b, using the TOMLAB Optimization Package. PROPT reformulates such problems with the direct collocation approach (n=80 collocation points) and automatically finds a suiting solver included in the TOMLAB Optimization Package (in this case, SNOPT was used).&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
&lt;br /&gt;
* A MATLAB script using [[:Category:TomDyn/PROPT | PROPT]] can be found in: [[Cushioned Oscillation (PROPT)]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
[[Category:MIOCP]] &lt;br /&gt;
[[Category: Minimum time]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Cushioned_Oscillation&amp;diff=1582</id>
		<title>Cushioned Oscillation</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Cushioned_Oscillation&amp;diff=1582"/>
		<updated>2016-01-28T09:40:21Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 2&lt;br /&gt;
|nu        = 1&lt;br /&gt;
|nre       = 4&lt;br /&gt;
}}The Cushioned Oscillation is a simplified model of time optimal &amp;quot;stopping&amp;quot; of an oscillating object attached to a spring by applying a control and moving it back into the relaxed position and zero velocity.&lt;br /&gt;
&lt;br /&gt;
== Model formulation == &lt;br /&gt;
&lt;br /&gt;
An object with mass &amp;lt;math&amp;gt; m &amp;lt;/math&amp;gt; is attached to a spring with stiffness constant &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If the resetting spring force is proportional to the deviation &amp;lt;math&amp;gt;x=x(t)&amp;lt;/math&amp;gt;, an oscillation, induced by an external force &amp;lt;math&amp;gt;u(t)&amp;lt;/math&amp;gt;, satisfies:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;               m\dot v (t) + cx(t) = u(t)&amp;lt;/math&amp;gt;   (which is equivalent to &amp;lt;math&amp;gt;\dot v (t) = \frac{1}{m}(u(t) - cx(t))&amp;lt;/math&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; denotes the deviation to the relaxed position and &amp;lt;math&amp;gt; v(t)=\dot x (t) &amp;lt;/math&amp;gt; the velocity of the oscillating object.&lt;br /&gt;
&lt;br /&gt;
Through external force, the object has been put into an initial state :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(x(0),v(0)) = (x_0,v_0)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The goal is to reset position and velocity of the object as fast as possible, meaning:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(x(t_f),v(t_f)) = (0,0)&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
with the objective function:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\min\limits_{t_f} t_f&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optimal Control Problem (OCP) Formulation ==&lt;br /&gt;
&lt;br /&gt;
The above results in the following OCP &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 		\begin{array}{llr}&lt;br /&gt;
 		\min\limits_{x,v,u,t_f}  &amp;amp; t_f\\ &lt;br /&gt;
&lt;br /&gt;
			 		s.t. &amp;amp; 	 \dot x (t) = v(t), &amp;amp; \forall t \in [0,t_f]\\&lt;br /&gt;
&lt;br /&gt;
					 	 &amp;amp;	\dot v (t)= \frac{1}{m}(u(t) - cx(t)),  &amp;amp; \forall t \in [0,t_f]\\&lt;br /&gt;
\\                                                  &lt;br /&gt;
&amp;amp; x(0)=x_0,\\&lt;br /&gt;
&amp;amp; v(0)=v_0,\\&lt;br /&gt;
&amp;amp; x(t_f)=0,\\&lt;br /&gt;
&amp;amp; v(t_f)=0,\\&lt;br /&gt;
\\&lt;br /&gt;
&amp;amp; -u_{mm} \le u(t) \le u_{mm},  &amp;amp; \forall t \in [0,t_f]\\					 	&lt;br /&gt;
 		\end{array}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters and Reference Solution ==&lt;br /&gt;
&lt;br /&gt;
The following parameters were used, to create the reference solution below, with an almost optimal final time &amp;lt;math&amp;gt; t_f = 8.98 s&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; m=5, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; c=10, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; x_0=2, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; v_0=5, &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; u_{mm}=5.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reference Solution ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Reference solution plots&amp;quot; widths=&amp;quot;180px&amp;quot; heights=&amp;quot;140px&amp;quot; perrow=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
 Image:Ref_sol_plot_cushioned_oscillation_m5.png| States and Controls&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The OCP was solved within MATLAB R2015b, using the TOMLAB Optimization Package. PROPT reformulates such problems with the direct collocation approach (n=80 collocation points) and automatically finds a suiting solver included in the TOMLAB Optimization Package (in this case, SNOPT was used).&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
&lt;br /&gt;
* A MATLAB script using [[Category:TomDyn/PROPT]] can be found in: [[Cushioned Oscillation (PROPT)]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
[[Category:MIOCP]] &lt;br /&gt;
[[Category: Minimum time]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Main_Page&amp;diff=1581</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Main_Page&amp;diff=1581"/>
		<updated>2016-01-28T09:33:52Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: Moved C to Muscod&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This wiki contains a &#039;&#039;&#039;benchmark library&#039;&#039;&#039; of &#039;&#039;&#039;mixed-integer optimal control problems&#039;&#039;&#039;. The main intention is to provide algorithm developers with a set of challenging problems to evaluate their numerical optimization methods. An important focus is given on &#039;&#039;&#039;reproducibility&#039;&#039;&#039; of optimal solutions.&lt;br /&gt;
As, in contrast to say linear programming, there are no standard formats for the formulation of such problems, and they often show completely different characteristics, these pages dedicate some space for a thorough description of problem and solutions.&lt;br /&gt;
&lt;br /&gt;
A more detailed description of the underlying concepts of this library can be found in the article &amp;lt;bib id=&amp;quot;Sager2012b&amp;quot; /&amp;gt;, of which a [http://mathopt.de/PUBLICATIONS/Sager2012b.pdf preprint pdf] is available.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TOP TABLE WITH NEWS  --&amp;gt;&lt;br /&gt;
==[[:Category:News|News]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Current News|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&amp;lt;table bgcolor=&amp;quot;#EEEEFF&amp;quot; width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;80%&amp;quot; bgcolor=&amp;quot;#EEEEFF&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- The actual news are being included from the page Current News with the following line. --&amp;gt;&lt;br /&gt;
{{Current News}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CATEGORY FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot;&amp;gt;&lt;br /&gt;
==[[:Category:Problem characterization|Problem characterization]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a problem characterization|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Application|application area]]&#039;&#039;, e.g., [[:Category: Aeronautics | Aeronautics]] - [[:Category: Population dynamics | Population dynamics]] - [[:Category: Chemical engineering | Chemical engineering]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Model characterization|mathematical model]]&#039;&#039;, e.g., [[:Category: ODE model | ODE]], [[:Category: PDE model | PDE]] or [[:Category: DAE model | DAE model]] - [[:Category: Multistage process | Multistage process]] - [[:Category: State dependent switches | State dependent switches]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category:Solution characterization|optimal solution]]&#039;&#039;, e.g., [[:Category: Bang bang | Bang bang]] - [[:Category: Chattering | Chattering]] - [[:Category: Sensitivity-seeking arcs | Sensitivity-seeking arcs]]&lt;br /&gt;
&lt;br /&gt;
*via &#039;&#039;[[:Category: Implementation | Implementation]], e.g., [[:Category: ACADO | ACADO]] - [[:Category: AMPL | AMPL]] - [[:Category: AMPL/TACO | AMPL with TACO]] - [[:Category: Muscod | Muscod]] - [[:Category: Switch | Switch]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- PROBLEM FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Direct links to [[:Category:MIOCP|Problems]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a Problem|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
[[Bang-bang approximation of a traveling wave | 1D wave]] - [[Bioreactor]] - [[Batch reactor]] - [[Annihilation of calcium oscillations | Calcium]] - [[Annihilation of calcium oscillations with PLC activation inhibition| Calcium 2]] - [[Car testdrive]] - [[Cushioned Oscillation]] - [[Diels-Alder Reaction Experimental Design | Diels-Alder OED]] - [[Double Tank]] - [[F-8 aircraft]] - [[Fuller&#039;s problem]] - [[Gravity Turn Maneuver | Gravity Turn]] - [[Controlled Heating | Heating]]&#039;&#039; - &#039;&#039;[[Lotka Volterra fishing problem | Lotka]] - [[Lotka Experimental Design | Lotka OED]] - [[Van der Pol Oscillator | Oscillator]] - [[Oil Shale Pyrolysis | Pyrolysis]] - [[Goddart&#039;s rocket problem | Rocket]] - [[Source Inversion]] - [[Subway ride | Subway]] - &#039;&#039;[[Supermarket refrigeration system | Supermarket]] - [[Truck cruise control | Truck]]&#039;&#039;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- HELP FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Help|Help]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[User:SebastianSager|(contact)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;[[Help:How to contribute|How to contribute]]&#039;&#039; - &#039;&#039;[[Help:How to cite|How to cite]]&#039;&#039; - &#039;&#039;[[Help:Using LaTeX|LaTeX]]&#039;&#039; - &#039;&#039;[[Help:Description guidelines | Guidelines]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- COMMUNITY FIELD--&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50%&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Community|Community]] &amp;lt;span style=&amp;quot;font-variant:small-caps&amp;quot; style=&amp;quot;font-size:10px&amp;quot;&amp;gt;[[Help:Adding a User|(add)]]&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Community|Contributors]] - &#039;&#039;[[External Links]]&#039;&#039; - &#039;&#039;Feel encouraged to participate!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Main]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=De_Pillis_chemotherapy_model&amp;diff=1572</id>
		<title>De Pillis chemotherapy model</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=De_Pillis_chemotherapy_model&amp;diff=1572"/>
		<updated>2016-01-28T09:29:49Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: Moved C to Muscod&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 6&lt;br /&gt;
|nu        = 3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The model by de Pillis combines chemotherapy with immunotherapy.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;t \in [t_0, t_f]&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;D = d \frac{(x_2/x_0)^l}{s+(x_2/x_0)^l}&amp;lt;/math&amp;gt; the optimal control problem is given by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{llcl}&lt;br /&gt;
 \displaystyle \min_{x, u} &amp;amp; p_0 x_0(t_f) &amp;amp; + &amp;amp; \int_{t_0}^{t_f} p_1 x_0(t)^2 \mbox{d}t + \sum_{i=0}^{3} \int_{t_0}^{t_f} p_{i+2} u_i(t)^2 \mbox{d}t   \\[1.5ex]&lt;br /&gt;
 \mbox{s.t.} &amp;amp; \dot{x}_0(t) &amp;amp; = &amp;amp; a x_0 (1-b x_0) -c x_1 x_0 - D x_0 - K_T (1- \mbox{e}^{- x_4}) x_0 ,\\&lt;br /&gt;
             &amp;amp; \dot{x}_1(t) &amp;amp; = &amp;amp; e x_3 - f x_1 + g \frac{x_0^2}{h+x_0^2}-p x_1 x_0 - K_N (1- \mbox{e}^{- x_4}) x_1,  \\&lt;br /&gt;
             &amp;amp; \dot{x}_2(t) &amp;amp; = &amp;amp; -m x_2 + j \frac{D^2 x_0^2}{k+ D^2 x_0^2} x_2 - q x_1 x_2 + (r_1 x_1 + r_2 x_3) x_0 \\&lt;br /&gt;
&amp;amp; &amp;amp; &amp;amp; - v x_1 x_2^2 - K_L (1- \mbox{e}^{- x_4}) x_2 + \frac{p_I x_2 x_5}{g_I + x_5} + u_2,  \\&lt;br /&gt;
             &amp;amp; \dot{x}_3(t) &amp;amp; = &amp;amp; \alpha - \beta x_3 - K_C (1- \mbox{e}^{- x_4}) x_3,\\&lt;br /&gt;
             &amp;amp; \dot{x}_4(t) &amp;amp; = &amp;amp; - \gamma x_4 + u_0,\\&lt;br /&gt;
             &amp;amp; \dot{x}_5(t) &amp;amp; = &amp;amp; - \mu_I x_5 + u_1.&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The states &amp;lt;math&amp;gt;x_0&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;x_3&amp;lt;/math&amp;gt; are measured in absolute cell counts, where &amp;lt;math&amp;gt;x_0&amp;lt;/math&amp;gt; describes the number of tumor cells, &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; of unspecific immune cells, &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; of tumor-specific cytotoxic T-cells (CD&amp;lt;math&amp;gt;8^+&amp;lt;/math&amp;gt; T) and &amp;lt;math&amp;gt;x_3&amp;lt;/math&amp;gt; of circulating lymphocytes. The chemotherapeutic drug concentration is given by &amp;lt;math&amp;gt;x_4&amp;lt;/math&amp;gt; and the immunotherapeutic by &amp;lt;math&amp;gt;x_5&amp;lt;/math&amp;gt; (Interleukin-2) respectively.&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
&lt;br /&gt;
This set of parameters can be found as “patient 9” in [].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{lll}&lt;br /&gt;
a = 4.31 \times 10^{-1} &amp;amp; b = 1.02 \times 10^{-9} &amp;amp; c = 6.41 \times 10^{-11}\\&lt;br /&gt;
d = 2.34 &amp;amp; e = 2.08 \times 10^{-7} &amp;amp; f = 4.12 \times 10^{-2}\\&lt;br /&gt;
g = 1.25 \times 10^{-2} &amp;amp; h = 2.02 \times 10^{7} &amp;amp; j = 2.49 \times 10^{-2}\\&lt;br /&gt;
k = 3.66 \times 10^{7} &amp;amp; l = 2.09 &amp;amp; m = 2.04 \times 10^{-1}\\&lt;br /&gt;
q = 1.42 \times 10^{-6} &amp;amp; p = 3.42 \times 10^{-6} &amp;amp; s = 8.39 \times 10^{-2}\\&lt;br /&gt;
r_1 = 1.01 \times 10^{-7} &amp;amp; r_2 = 6.50 \times 10^{-11} &amp;amp; u = 3.00 \times 10^{-10}\\&lt;br /&gt;
\alpha = 7.50 \times 10^{8} &amp;amp; \beta = 1.20 \times 10^{-2} &amp;amp; \gamma = 9.00 \times 10^{-1}\\&lt;br /&gt;
p_I = 1.25 \times 10^{-1} &amp;amp; g_I = 2.00 \times 10^{7} &amp;amp; \mu_I = 1.00 \times 10^{1}\\&lt;br /&gt;
K_T = 9.00 \times 10^{-1} &amp;amp; K_N = K_L = K_C = 6 \times 10^{-1}&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reference Solutions ==&lt;br /&gt;
&lt;br /&gt;
The problem can be solved with the [multiple shooting method]. For the following solutions the control functions and states are discretized on the same grid, with 100 nodes. For the objective function parameters have been chosen from the following sets to grand the results shown in the graphics below.&lt;br /&gt;
&lt;br /&gt;
Objective function 1&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rclr}&lt;br /&gt;
p_0 &amp;amp;=&amp;amp; 1,&amp;amp;\\&lt;br /&gt;
p_2 &amp;amp;=&amp;amp; 1,&amp;amp;\\&lt;br /&gt;
p_i &amp;amp;=&amp;amp; 0,&amp;amp;otherwise.\\&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objective function 2&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rclr}&lt;br /&gt;
p_0 &amp;amp;=&amp;amp; -1,&amp;amp;\\&lt;br /&gt;
p_2 &amp;amp;=&amp;amp; 1,&amp;amp;\\&lt;br /&gt;
p_i &amp;amp;=&amp;amp; 0,&amp;amp;otherwise.\\&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In both objective function the amount of chemotherapeutic drugs is penalized. The objective function 2 describes the worst case scenario of the tumor growth at end time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Reference solution plots&amp;quot; widths=&amp;quot;180px&amp;quot; heights=&amp;quot;140px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
 Image:DePillis_1.png| Optimal controls and states computed with a multiple shooting approach on the same discretization grid with 100 nodes and objective function 1.&lt;br /&gt;
 Image:DePillis_2.png| Optimal controls and states with objective function 2.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Source Code==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Muscod | Muscod code]] at [[De Pillis chemotherapy model (Muscod)]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=De_Pillis_chemotherapy_model_(C)&amp;diff=1571</id>
		<title>De Pillis chemotherapy model (C)</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=De_Pillis_chemotherapy_model_(C)&amp;diff=1571"/>
		<updated>2016-01-28T09:29:12Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: SebastianSager moved page De Pillis chemotherapy model (C) to De Pillis chemotherapy model (Muscod): Moved C to Muscod&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[De Pillis chemotherapy model (Muscod)]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=De_Pillis_chemotherapy_model_(Muscod)&amp;diff=1570</id>
		<title>De Pillis chemotherapy model (Muscod)</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=De_Pillis_chemotherapy_model_(Muscod)&amp;diff=1570"/>
		<updated>2016-01-28T09:29:12Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: SebastianSager moved page De Pillis chemotherapy model (C) to De Pillis chemotherapy model (Muscod): Moved C to Muscod&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is source code written in [[:Category:Muscod | Muscod]] for the [[De Pillis chemotherapy model]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
/* volume of tumor in absolute cell count*/&lt;br /&gt;
rhs[0] = - a*x[0] (1-b*x[0]) -c*x[1]*x[0] - D*x[0] - K_T*(1- exp(- x[4]))*x[0];&lt;br /&gt;
&lt;br /&gt;
/* volume of unspecific immune cells */&lt;br /&gt;
rhs[1] = e*x[3] - f*x[1] + g*x[0]*x[0]/(h+x[0]*x[0])-p*x[1]*x[0] - K_N*(1- exp(- x[4]))*x[1];&lt;br /&gt;
&lt;br /&gt;
/* volume of tumor-specific cytotoxic T-cells */&lt;br /&gt;
rhs[2] = -m*x[2] + j*D*D*x[0]*x[0]/(k+ D*D*x[0]*x[0])*x[2] - q*x[1]*x[2] + (r_1*x[1] + r_2*x[3])*x[0] ...&lt;br /&gt;
- v*x[1]* x[2]*x[2] - K_L* (1- exp(- x[4]))*x[2] + p_I*x[2]*x[5]/(g_I + x[5]) + u[2];&lt;br /&gt;
&lt;br /&gt;
/* volume of circulating lymphocytes */&lt;br /&gt;
rhs[3] = alpha - beta *x[3] - K_C *(1- exp(- x[4])) *x[3];&lt;br /&gt;
&lt;br /&gt;
/* amount of chemotherapeutic drug */&lt;br /&gt;
rhs[4] = u[0] - gamma*x[4];&lt;br /&gt;
&lt;br /&gt;
/* amount of immunotherapeutic drug */&lt;br /&gt;
rhs[5] = u[1] - mu_I*x[5];&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Muscod]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=De_Pillis_chemotherapy_model_(Muscod)&amp;diff=1569</id>
		<title>De Pillis chemotherapy model (Muscod)</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=De_Pillis_chemotherapy_model_(Muscod)&amp;diff=1569"/>
		<updated>2016-01-28T09:29:01Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: Moved C to Muscod&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is source code written in [[:Category:Muscod | Muscod]] for the [[De Pillis chemotherapy model]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
/* volume of tumor in absolute cell count*/&lt;br /&gt;
rhs[0] = - a*x[0] (1-b*x[0]) -c*x[1]*x[0] - D*x[0] - K_T*(1- exp(- x[4]))*x[0];&lt;br /&gt;
&lt;br /&gt;
/* volume of unspecific immune cells */&lt;br /&gt;
rhs[1] = e*x[3] - f*x[1] + g*x[0]*x[0]/(h+x[0]*x[0])-p*x[1]*x[0] - K_N*(1- exp(- x[4]))*x[1];&lt;br /&gt;
&lt;br /&gt;
/* volume of tumor-specific cytotoxic T-cells */&lt;br /&gt;
rhs[2] = -m*x[2] + j*D*D*x[0]*x[0]/(k+ D*D*x[0]*x[0])*x[2] - q*x[1]*x[2] + (r_1*x[1] + r_2*x[3])*x[0] ...&lt;br /&gt;
- v*x[1]* x[2]*x[2] - K_L* (1- exp(- x[4]))*x[2] + p_I*x[2]*x[5]/(g_I + x[5]) + u[2];&lt;br /&gt;
&lt;br /&gt;
/* volume of circulating lymphocytes */&lt;br /&gt;
rhs[3] = alpha - beta *x[3] - K_C *(1- exp(- x[4])) *x[3];&lt;br /&gt;
&lt;br /&gt;
/* amount of chemotherapeutic drug */&lt;br /&gt;
rhs[4] = u[0] - gamma*x[4];&lt;br /&gt;
&lt;br /&gt;
/* amount of immunotherapeutic drug */&lt;br /&gt;
rhs[5] = u[1] - mu_I*x[5];&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Muscod]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=D%27Onofrio_chemotherapy_model&amp;diff=1568</id>
		<title>D&#039;Onofrio chemotherapy model</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=D%27Onofrio_chemotherapy_model&amp;diff=1568"/>
		<updated>2016-01-28T09:27:13Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: Moved C to Muscod&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 4&lt;br /&gt;
|nu        = 2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This cancer chemotherapy model is based on the work of d&#039;Onofrio. The corresponding dynamic describes the effect of two different drugs administered to the patient. An anti-angiogetic drug is used to suppress the formation of blood vessels from existing vessels and thereby starving the tumors supply of proliferating vessels. In addition a cytostatic drug effects the proliferation of the tumor cells directly. The dynamic of the  problem is given by an [[:Category:ODE model|ODE model]].&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;t \in [t_0, t_f]&amp;lt;/math&amp;gt; the optimal control problem is given by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{llcl}&lt;br /&gt;
 \displaystyle \min_{x, u} &amp;amp; x_0(t_f) &amp;amp;+&amp;amp; \alpha \int_{t_0}^{t_f} u_0(t)^2 \text{d}t   \\[1.5ex]&lt;br /&gt;
 \mbox{s.t.} &amp;amp; \dot{x}_0(t) &amp;amp; = &amp;amp; - \zeta x_0(t) \text{ln} \left( \frac{x_0(t)}{x_1(t)} \right) - F \; x_0(t) u_1(t), \\&lt;br /&gt;
             &amp;amp; \dot{x}_1(t) &amp;amp; = &amp;amp; b x_0(t) - \mu x_1(t) - d x_0(t)^{\frac{2}{3}}x_1(t) - G u_0(t) x_1(t) - \eta x_1(t) u_1(t),  \\&lt;br /&gt;
             &amp;amp; \dot{x}_2(t) &amp;amp; = &amp;amp; u_0(t),  \\&lt;br /&gt;
             &amp;amp; \dot{x}_3(t) &amp;amp; = &amp;amp; u_1(t), \\ [1.5ex]&lt;br /&gt;
             &amp;amp; 0 &amp;amp; \leq &amp;amp; u_0(t) \leq  u_0^{max},  \\&lt;br /&gt;
             &amp;amp; 0 &amp;amp; \leq &amp;amp;  u_1(t) \leq u_1^{max}, \\&lt;br /&gt;
             &amp;amp; x_2(t) &amp;amp; \leq &amp;amp; x_2^{max},  \\&lt;br /&gt;
             &amp;amp; x_3(t) &amp;amp; \leq &amp;amp; x_3^{max}.&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the control &amp;lt;math&amp;gt;u_0&amp;lt;/math&amp;gt; denotes the administered amount of anti-angiogetic drugs and &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt; the amount of cytostatic drugs. The state &amp;lt;math&amp;gt;x_0&amp;lt;/math&amp;gt; describes the volume of tumor and &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; the volume of neighboring blood vessels. The remaining states &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;x_3&amp;lt;/math&amp;gt; are used to constraint the maximum amount of drugs over the duration of the therapy.&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
&lt;br /&gt;
In the model these parameters are fixed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rcl}&lt;br /&gt;
t_0 &amp;amp;=&amp;amp; 0,\\&lt;br /&gt;
(\zeta, b, \mu, d, G) &amp;amp;=&amp;amp; (0.192, 5.85, 0.0, 0.00873, 0.15),\\&lt;br /&gt;
(x_2(0), x_3(0), u_0^{max}, x_2^{max}) &amp;amp;=&amp;amp; (0,0,75,300).&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The parameters &amp;lt;math&amp;gt;(x_0(0), x_1(0), u_1^{max}, x_3^{max})&amp;lt;/math&amp;gt; can be taken from the parameter sets shown in the following section. To the remaining parameters &amp;lt;math&amp;gt;(F, \eta)&amp;lt;/math&amp;gt; exists no experimental data.&lt;br /&gt;
&lt;br /&gt;
== Reference Solutions ==&lt;br /&gt;
&lt;br /&gt;
The problem can be solved with the [multiple shooting method]. For the following solutions the control functions and states are discretized on the same grid, with 100 nodes. The unknown parameters are chosen from the following parameter sets &lt;br /&gt;
&lt;br /&gt;
Parameter set 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rclrcl}&lt;br /&gt;
x_0(0) &amp;amp;=&amp;amp; 12000,&amp;amp; x_1(0) &amp;amp;=&amp;amp; 15000,\\&lt;br /&gt;
u_1^{max} &amp;amp;=&amp;amp; 1,&amp;amp; x_3^{max} &amp;amp;=&amp;amp; 2.\\&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameter set 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rclrcl}&lt;br /&gt;
x_0(0) &amp;amp;=&amp;amp; 12000,&amp;amp; x_1(0) &amp;amp;=&amp;amp; 15000,\\&lt;br /&gt;
u_1^{max} &amp;amp;=&amp;amp; 2,&amp;amp; x_3^{max} &amp;amp;=&amp;amp; 10.\\&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameter set 3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rclrcl}&lt;br /&gt;
x_0(0) &amp;amp;=&amp;amp; 14000,&amp;amp; x_1(0) &amp;amp;=&amp;amp; 5000,\\&lt;br /&gt;
u_1^{max} &amp;amp;=&amp;amp; 1,&amp;amp; x_3^{max} &amp;amp;=&amp;amp; 2.\\&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameter set 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rclrcl}&lt;br /&gt;
x_0(0) &amp;amp;=&amp;amp; 14000,&amp;amp; x_1(0) &amp;amp;=&amp;amp; 5000,\\&lt;br /&gt;
u_1^{max} &amp;amp;=&amp;amp; 2,&amp;amp; x_3^{max} &amp;amp;=&amp;amp; 10.\\&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Furthermore in the objective function &amp;lt;math&amp;gt;\alpha =0&amp;lt;/math&amp;gt; is chosen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Reference solution plots&amp;quot; widths=&amp;quot;180px&amp;quot; heights=&amp;quot;140px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
 Image:d&#039;Onofrio 1.png| Optimal controls and states computed with a multiple shooting approach on the same discretization grid with 100 nodes and parameter set 1.&lt;br /&gt;
 Image:d&#039;Onofrio 2.png| Optimal controls and states with parameter set 2.&lt;br /&gt;
 Image:d&#039;Onofrio 3.png| Optimal controls and states with parameter set 3.&lt;br /&gt;
 Image:d&#039;Onofrio 4.png| Optimal controls and states with parameter set 4.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Source Code==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Muscod | Muscod code]] &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
/* volume of tumor */&lt;br /&gt;
rhs[0] = - zeta*x[0]*log(x[0]/x[1])-F*x[0]*u1_;&lt;br /&gt;
/* volume of neighboring blood vessels */&lt;br /&gt;
rhs[1] = b*x[0] - (mu + d*pow(x[0],2.0/3.0))*x[1] - G*u0_*x[1] - eta*x[1]*u1_;&lt;br /&gt;
/* amount of anti-angiogetic drug */&lt;br /&gt;
rhs[2] = u0_;&lt;br /&gt;
/* amount of cytostatic drug */&lt;br /&gt;
rhs[3] = u1_;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Lotka_Volterra_fishing_problem_(TACO)&amp;diff=1567</id>
		<title>Lotka Volterra fishing problem (TACO)</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Lotka_Volterra_fishing_problem_(TACO)&amp;diff=1567"/>
		<updated>2016-01-28T09:25:35Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a model of the MIOCP [[Lotka Volterra fishing problem]] in [http://www.ampl.org AMPL] format, making use of the TACO toolkit for AMPL control optimization extensions. This problem is due to &amp;lt;bib id=&amp;quot;Sager2005&amp;quot; /&amp;gt;.&lt;br /&gt;
Note that you will need to include a generic [[support AMPL files|AMPL/TACO support file]], OptimalControl.mod.&lt;br /&gt;
To solve this model, you require an optimal control or MINLP code that uses the TACO toolkit to support the AMPL optimal control extensions.&lt;br /&gt;
&lt;br /&gt;
=== AMPL ===&lt;br /&gt;
&lt;br /&gt;
This is the source file lotka_taco.mod&lt;br /&gt;
&amp;lt;source lang=&amp;quot;AMPL&amp;quot;&amp;gt;&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
# Lotka Volterra fishing problem using AMPL and TACO&lt;br /&gt;
# (c) Christian Kirches, Sven Leyffer&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
include OptimalControl.mod;&lt;br /&gt;
&lt;br /&gt;
var t;&lt;br /&gt;
var xd0 := 0.5, &amp;gt;= 0, &amp;lt;= 20;&lt;br /&gt;
var xd1 := 0.7, &amp;gt;= 0, &amp;lt;= 20;&lt;br /&gt;
var dev := 0.0, &amp;gt;= 0, &amp;lt;= 20;&lt;br /&gt;
&lt;br /&gt;
var u := 1, &amp;gt;= 0, &amp;lt;= 1 integer suffix type &amp;quot;u0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
param p0 := 0.4;&lt;br /&gt;
param p1 := 0.2;&lt;br /&gt;
param ref0 := 1.0;&lt;br /&gt;
param ref1 := 1.0;&lt;br /&gt;
&lt;br /&gt;
# Minimize accumulated deviation from reference after 12 time units&lt;br /&gt;
minimize Mayer: eval(dev,12);&lt;br /&gt;
&lt;br /&gt;
subject to&lt;br /&gt;
&lt;br /&gt;
# ODE system&lt;br /&gt;
ODE_0: diff(xd0,t) = xd0 - xd0*xd1 - p0*u*xd0;      # prey&lt;br /&gt;
ODE_1: diff(xd1,t) = -xd1 + xd0*xd1 - p1*u*xd1;     # predator&lt;br /&gt;
ODE_2: diff(dev,t) = (xd0-ref0)^2 + (xd1-ref1)^2;   # deviation from reference&lt;br /&gt;
&lt;br /&gt;
# initial value constraints&lt;br /&gt;
IVC_0: eval(xd0,0) = 0.5;&lt;br /&gt;
IVC_1: eval(xd1,0) = 0.7;&lt;br /&gt;
IVC_2: eval(dev,0) = 0.0;&lt;br /&gt;
&lt;br /&gt;
option solver ...;&lt;br /&gt;
&lt;br /&gt;
solve;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:AMPL/TACO]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Supermarket_refrigeration_system&amp;diff=1566</id>
		<title>Supermarket refrigeration system</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Supermarket_refrigeration_system&amp;diff=1566"/>
		<updated>2016-01-28T09:24:31Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: Moved C to Muscod&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 9&lt;br /&gt;
|nw        = 3&lt;br /&gt;
|nre       = 9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;supermarket refrigeration system problem&#039;&#039;&#039; is based on a model describing a refrigeration system with 2 parallel connected compressors (called a compressor rack) which only can be controlled stepwise (each single compressor can be turned on or off) and 2 open refrigerated display cases containing goods needed to be refrigerated. Each display case is connected to the refrigeration circuit through an expansion valve which also can only be closed or opened. This valve controls the flow of refrigerant into the evaporator, where it absorbs heat from the surrounding air. The refrigerated air then creates the well-known air-curtain at the front of the display case.&lt;br /&gt;
&lt;br /&gt;
The air temperatures surrounding the goods in each display case are modeled by one differential state each. These states have to be bounded, so that the goods are properly refrigerated.&lt;br /&gt;
&lt;br /&gt;
The model was published by Larsen et. al. in 2007 &amp;lt;bib id=&amp;quot;Larsen2007&amp;quot; /&amp;gt;. The main goal is to control the refirgeration system energy-optimal. The problem was set up as a benchmark problem for MIOCPs. &lt;br /&gt;
&lt;br /&gt;
The mathematical equations form an [[:Category:ODE model|ODE model]]. The initial values of the differential states are not fixed but periodicity of the whole process is required.&lt;br /&gt;
&lt;br /&gt;
The optimal integer control function shows [[:Category:Chattering|chattering]] behavior, making the supermarket refrigeration system problem a candidate for benchmarking of algorithms.&lt;br /&gt;
&lt;br /&gt;
== Mathematical formulation ==&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;math&amp;gt;t \in [t_0, t_f]&amp;lt;/math&amp;gt; almost everywhere the mixed-integer optimal control problem is given by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\min_{x,u} \frac {1}{t_f - t_0}\int_{t_0}^{t_f} \left( u_2 \cdot 0.5 \cdot \eta_{vol} \cdot V_{sl} \cdot f \right) dt &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{llcl}&lt;br /&gt;
 \displaystyle &lt;br /&gt;
 \mbox{s.t.} &amp;amp; &lt;br /&gt;
\dot{x_0}(t) &amp;amp;=&amp;amp;  \dfrac{1}{V_{suc} \cdot \frac{d\rho_{suc}}{dP_{suc}}(x_0)} \cdot \bigg[ &lt;br /&gt;
                    \left(\dfrac{UA_{wall-ref, max}}{M_{ref, max} \cdot&lt;br /&gt;
                    \Delta h_{lg}(x_0)}\right) \Big( x_4 \big( x_2 - T_e(x_0) \big)\\ &lt;br /&gt;
&amp;amp;           &amp;amp;&amp;amp;  + \, x_8 \big( x_6 - T_e(x_0) \big) \Big) + \, M_{ref,const}   - \eta_{vol} \cdot V_{sl} \cdot 0.5 \, u_2 \rho_{suc}(x_0) &lt;br /&gt;
                \bigg] \\&lt;br /&gt;
 &amp;amp;\dot{x_1}(t) &amp;amp;=&amp;amp;  - \dfrac{&lt;br /&gt;
                    UA_{goods-air} \left( x_1 - x_3 \right)&lt;br /&gt;
}{&lt;br /&gt;
                    M_{goods} \cdot C_{p,goods} &lt;br /&gt;
} \\ &lt;br /&gt;
 &amp;amp;\dot{x_2}(t) &amp;amp;=&amp;amp;  \dfrac{&lt;br /&gt;
                    UA_{air-wall} \left( x_3-x_2 \right)&lt;br /&gt;
                    - \dfrac{UA_{wall-ref,max}}{M_{ref,max}}&lt;br /&gt;
                    \, x_4 \big( x_2 - T_e(x_0) \big)&lt;br /&gt;
}{&lt;br /&gt;
                    M_{wall} \cdot C_{p,wall}&lt;br /&gt;
} \\ [2.5ex]&lt;br /&gt;
&amp;amp;\dot{x_3}(t) &amp;amp;=&amp;amp;  \dfrac{&lt;br /&gt;
                    UA_{goods-air} \left( x_1-x_3 \right) + \dot{Q}_{airload}&lt;br /&gt;
                     - UA_{air-wall} \, (x_3-x_2)&lt;br /&gt;
}{&lt;br /&gt;
                    M_{air} \cdot C_{p,air}&lt;br /&gt;
} \\ [2.5ex]&lt;br /&gt;
&amp;amp;\dot{x_4}(t) &amp;amp;=&amp;amp;   \left(\dfrac{M_{ref,max} - x_4}{\tau_{fill}} \right) u_0&lt;br /&gt;
                    - \left( \dfrac{UA_{wall-ref,max}}{M_{ref,max} \cdot \Delta h_{lg}(x_0)} \,&lt;br /&gt;
                    x_4 \big( x_2 - T_e(x_0) \big) \right) (1-u_0)&lt;br /&gt;
                 \\ \\&lt;br /&gt;
&amp;amp;\dot{x_5}(t) &amp;amp;=&amp;amp;  - \dfrac{&lt;br /&gt;
                    UA_{goods-air} \left( x_5 - x_7 \right)&lt;br /&gt;
}{&lt;br /&gt;
                    M_{goods} \cdot C_{p,goods} &lt;br /&gt;
} \\ &lt;br /&gt;
 &amp;amp;\dot{x_6}(t) &amp;amp;=&amp;amp;  \dfrac{&lt;br /&gt;
                    UA_{air-wall} \left( x_7-x_6 \right)&lt;br /&gt;
                    - \dfrac{UA_{wall-ref,max}}{M_{ref,max}}&lt;br /&gt;
                    \, x_8 \big( x_6 - T_e(x_0) \big)&lt;br /&gt;
}{&lt;br /&gt;
                    M_{wall} \cdot C_{p,wall}&lt;br /&gt;
} \\ [2.5ex]&lt;br /&gt;
&amp;amp;\dot{x_7}(t) &amp;amp;=&amp;amp;  \dfrac{&lt;br /&gt;
                    UA_{goods-air} \left( x_5-x_7 \right) + \dot{Q}_{airload}&lt;br /&gt;
                     - UA_{air-wall} \, (x_7-x_6)&lt;br /&gt;
}{&lt;br /&gt;
                    M_{air} \cdot C_{p,air}&lt;br /&gt;
} \\ [2.5ex]&lt;br /&gt;
&amp;amp;\dot{x_8}(t) &amp;amp;=&amp;amp;   \left(\dfrac{M_{ref,max} - x_8}{\tau_{fill}} \right) u_1&lt;br /&gt;
                    - \left( \dfrac{UA_{wall-ref,max}}{M_{ref,max} \cdot \Delta h_{lg}(x_0)} \,&lt;br /&gt;
                    x_8 \big( x_6 - T_e(x_0) \big) \right) (1-u_1)&lt;br /&gt;
                 \\ [4ex]&lt;br /&gt;
&lt;br /&gt;
 &amp;amp; x_3(t) &amp;amp;\geq&amp;amp; 2.0 \quad \forall t \in [t_0, t_f],\\&lt;br /&gt;
 &amp;amp; x_3(t) &amp;amp;\leq&amp;amp; 5.0 \quad \forall t \in [t_0, t_f],\\&lt;br /&gt;
 &amp;amp; x_7(t) &amp;amp;\geq&amp;amp; 2.0 \quad \forall t \in [t_0, t_f],\\&lt;br /&gt;
 &amp;amp; x_7(t) &amp;amp;\leq&amp;amp; 5.0 \quad \forall t \in [t_0, t_f],\\&lt;br /&gt;
 &amp;amp; x_0(t) &amp;amp;\leq&amp;amp; 1.7 \quad \forall t \in [t_0, t_f], \\&lt;br /&gt;
 &amp;amp; x_i(t_0) &amp;amp;=&amp;amp; free \quad \forall i \in \{0,\dots, 8\}, \\&lt;br /&gt;
 &amp;amp; x_i(t_f) &amp;amp;=&amp;amp; x_i(t_0) \quad \forall i \in \{0,\dots, 8\}, \\&lt;br /&gt;
 &amp;amp; u_i(t)   &amp;amp;\in&amp;amp;  \{0, 1\} \quad \forall i \in \{0,\dots, 2\}, \\&lt;br /&gt;
 &amp;amp; t_f    &amp;amp;\in&amp;amp; [ 650, 750 ]. &lt;br /&gt;
&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here the differential state &amp;lt;math&amp;gt;x_0&amp;lt;/math&amp;gt; describes the suction pressure in the suction manifold (in bar). The next three states model temperatures in the first display case (in °C). &amp;lt;math&amp;gt;x_1&amp;lt;/math&amp;gt; is the goods&#039; temperature, &amp;lt;math&amp;gt;x_2&amp;lt;/math&amp;gt; the one of the evaporator wall and &amp;lt;math&amp;gt;x_3&amp;lt;/math&amp;gt; the air temperature surrounding the goods. &amp;lt;math&amp;gt;x_4&amp;lt;/math&amp;gt; then models the mass of the liquefied refrigerant in the evaporator (in kg).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(x_5, x_6, x_7, x_8)&amp;lt;/math&amp;gt; describe the corresponding states in the second display case.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_0&amp;lt;/math&amp;gt; describes the inlet valve of the first display case, &amp;lt;math&amp;gt;u_1&amp;lt;/math&amp;gt; respectively the valve of the second display case.&lt;br /&gt;
&amp;lt;math&amp;gt;u_2, u_3&amp;lt;/math&amp;gt; denote the activity of a single compressor.&lt;br /&gt;
&lt;br /&gt;
The following polynomial functions are used in the model description originating from interpolations:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rcl}&lt;br /&gt;
&lt;br /&gt;
T_e(x_0)                             &amp;amp;=&amp;amp; -4.3544 x_0^2 + 29.224 x_0 - 51.2005,\\&lt;br /&gt;
\Delta h_{lg}(x_0)                   &amp;amp;=&amp;amp; (0.0217 x_0^2 - 0.1704 x_0 + 2.2988)\cdot 10^5, \\&lt;br /&gt;
\rho_{suc}(x_0)                      &amp;amp;=&amp;amp; 4.6073 x_0 + 0.3798, \\&lt;br /&gt;
\frac{d\rho_{suc}}{dP_{suc}}(x_0)    &amp;amp;=&amp;amp; -0.0329 {x_0}^3 + 0.2161 {x_0}^2 - 0.4742 x_0 + 5.4817,\\&lt;br /&gt;
f(x_0)                               &amp;amp;=&amp;amp; (0.0265 x_0^3 - 0.4346 x_0^2 + 2.4923 x_0 + 1.2189) \cdot 10^5.&lt;br /&gt;
\end{array} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
&lt;br /&gt;
These fixed values are used within the model for the day scenario. A night scenario is also available, see [[#Variants|Variants]].&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- bgcolor=#c7c7c7&lt;br /&gt;
! Symbol !! Value !! Unit !! Description&lt;br /&gt;
|- &lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;\dot{Q}_{airload}&amp;lt;/math&amp;gt; || align=right | 3000.00 || &amp;lt;math&amp;gt;\frac{J}{s}&amp;lt;/math&amp;gt; || Disturbance, heat transfer from outside the display case&lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;\dot{m}_{ref,const}&amp;lt;/math&amp;gt; || align=right | 0.20 || &amp;lt;math&amp;gt;\frac{kg}{s}&amp;lt;/math&amp;gt; || Disturbance, constant mass flow of refrigerant&lt;br /&gt;
from unmodeled entities &lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;M_{goods}&amp;lt;/math&amp;gt; || align=right | 200.00 || &amp;lt;math&amp;gt;kg&amp;lt;/math&amp;gt; || Mass of goods &lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;C_{p,goods}&amp;lt;/math&amp;gt; || align=right | 1000.00 || &amp;lt;math&amp;gt;\frac{J}{kg \cdot K}&amp;lt;/math&amp;gt; || Heat capacity of goods&lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;&lt;br /&gt;
UA_{goods-air} &amp;lt;/math&amp;gt; || align=right | 300.00 || &amp;lt;math&amp;gt;\frac{J}{s \cdot K}&amp;lt;/math&amp;gt; || Heat transfer coefficient between goods&lt;br /&gt;
and air &lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;M_{wall} &amp;lt;/math&amp;gt; || align=right | 260.00 || &amp;lt;math&amp;gt;kg&amp;lt;/math&amp;gt; || Mass of evaporator wall &lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;C_{p,wall} &amp;lt;/math&amp;gt; || align=right | 385.00 || &amp;lt;math&amp;gt;\frac{J}{kg \cdot K}&amp;lt;/math&amp;gt; || Heat capacity of evaporator wall&lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;UA_{air-wall}&amp;lt;/math&amp;gt; || align=right | 500.00 || &amp;lt;math&amp;gt;\frac{J}{s \cdot K}&amp;lt;/math&amp;gt; || Heat transfer coefficient between air and&lt;br /&gt;
wall&lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;M_{air}&amp;lt;/math&amp;gt; || align=right | 50.00 || &amp;lt;math&amp;gt;kg&amp;lt;/math&amp;gt; || Mass of air in display case &lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;C_{p,air}&amp;lt;/math&amp;gt; || align=right | 1000.00 || &amp;lt;math&amp;gt;\frac{J}{kg \cdot K}&amp;lt;/math&amp;gt; || Heat capacity of air&lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;UA_{wall-ref,max}&amp;lt;/math&amp;gt; || align=right | 4000.00 || &amp;lt;math&amp;gt;\frac{J}{s \cdot K}&amp;lt;/math&amp;gt; || Maximum heat transfer coefficient between&lt;br /&gt;
refrigerant and evaporator wall&lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;\tau_{fill}&amp;lt;/math&amp;gt; || align=right | 40.00 || &amp;lt;math&amp;gt;s&amp;lt;/math&amp;gt; || Parameter describing the filling time of the&lt;br /&gt;
evaporator under opened valve &lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;T_{SH}&amp;lt;/math&amp;gt; || align=right | 10.00 || &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; || Superheat in the suction manifold&lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;M_{ref,max}&amp;lt;/math&amp;gt; || align=right | 1.00 || &amp;lt;math&amp;gt;kg&amp;lt;/math&amp;gt; || Maximum mass of refrigerant in evaporator&lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;V_{suc}&amp;lt;/math&amp;gt; || align=right | 5.00 || &amp;lt;math&amp;gt;m^3&amp;lt;/math&amp;gt; || Total volume of suction manifold&lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;V_{sl}&amp;lt;/math&amp;gt; || align=right | 0.08 || &amp;lt;math&amp;gt;\frac{m^3}{s}&amp;lt;/math&amp;gt; || Total displacement volume&lt;br /&gt;
|-&lt;br /&gt;
| align=center | &amp;lt;math&amp;gt;\eta_{vol}&amp;lt;/math&amp;gt; || align=right | 0.81 || &amp;lt;math&amp;gt;-&amp;lt;/math&amp;gt; || Volumetric efficiency&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Reference Solutions ==&lt;br /&gt;
&lt;br /&gt;
For the relaxed problem (we only demand &amp;lt;math&amp;gt;u_i(t) \in  [0,1]&amp;lt;/math&amp;gt; instead of &amp;lt;math&amp;gt;u_i(t) \in  \{0,1\}&amp;lt;/math&amp;gt; the optimal solution is 12072.45.&lt;br /&gt;
The illustrated solution with integer controls has a (suboptimal) objective function value of 12252.81.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Reference solution plots&amp;quot; widths=&amp;quot;350px&amp;quot; heights=&amp;quot;300px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
 Image:FridgeControlsRelaxed.png| Optimal relaxed control.&lt;br /&gt;
 Image:FridgeControls.png| Optimal integer control.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
&lt;br /&gt;
Model descriptions are available in&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Muscod | Muscod code]] at [[Supermarket refrigeration system (Muscod)]]&lt;br /&gt;
* [[:Category:optimica | optimica]] at [[Supermarket refrigeration system (optimica)]]&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
Since the compressors are parallel connected one can introduce a single control &amp;lt;math&amp;gt; u_2 \in \{0,1,2\}&amp;lt;/math&amp;gt; instead of two equivalent controls. The same holds for scenarions with &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; parallel connected compressors.&lt;br /&gt;
&lt;br /&gt;
In the paper &amp;lt;bib id=&amp;quot;Larsen2007&amp;quot; /&amp;gt; mentioned above, the problem was stated slightly different:&lt;br /&gt;
&lt;br /&gt;
* The temperature constraints weren&#039;t hard bounds but there was a penalization term added to the objective function to minimize the violation of these constraints.&lt;br /&gt;
* The differential equation for the mass of the refrigerant had another switch, if the valve (e.g. &amp;lt;math&amp;gt;u_0&amp;lt;/math&amp;gt;) is closed. It was formulated this way:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\dot{x_4} =  \begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dfrac{M_{ref,max} - x_4}{\tau_{fill}} &amp;amp; \qquad \text{if} \quad u_0 = 1 \\ \\&lt;br /&gt;
- \dfrac{UA_{wall-ref,max}}{M_{ref,max} \cdot \Delta h_{lg}(x_0)} x_4 \big( x_2 - T_e(x_0) \big) &amp;amp; \qquad \text{if} \quad u_0 = 0 \quad \text{and}\quad  x_4 &amp;gt; 0 \\ \\ &lt;br /&gt;
0 &amp;amp; \qquad \text{if} \quad u_0 = 0 \quad \text{and} \quad x_4 = 0&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This additional switch is redundant because the mass itself is a factor on the right hand side and so the complete right hand side is 0 if &amp;lt;math&amp;gt;x_4 = 0&amp;lt;/math&amp;gt;.&lt;br /&gt;
* A night scenario with two different parameters was given. At night the following parameters change their value:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{lcrr}&lt;br /&gt;
\dot{Q}_{airload}   &amp;amp;=&amp;amp; 1800.00 &amp;amp; \frac{J}{s}, \\&lt;br /&gt;
\dot{m}_{ref,const} &amp;amp;=&amp;amp;    0.00 &amp;amp; \frac{kg}{s},  \\&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally the constraint on the suction pressure &amp;lt;math&amp;gt;x_0(t)&amp;lt;/math&amp;gt; is softened to &amp;lt;math&amp;gt;x_0(t) \leq 1.9&amp;lt;/math&amp;gt;.&lt;br /&gt;
* No periodicity was required but the solution on a fixed time horizon 4 hours - 2 in day scenario and 2 in night scenario - with &amp;lt;math&amp;gt;t_f = 14400&amp;lt;/math&amp;gt; was asked.&lt;br /&gt;
* The number of compressors and display cases is not fixed. Larsen also proposed the problem with 3 compressors and 3 display cases. This leads to a change in the compressor rack&#039;s preformance to &amp;lt;math&amp;gt;V_{sl} = 0.095 \frac{m^3}{s}&amp;lt;/math&amp;gt;. Unfortunately this constant is only given for these two cases although Larsen proposed scenarios with more compressors and display cases.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;biblist /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--List of all categories this page is part of. List characterization of solution behavior, model properties, ore presence of implementation details (e.g., AMPL for AMPL model) here --&amp;gt;&lt;br /&gt;
[[Category:MIOCP]]&lt;br /&gt;
[[Category:ODE model]]&lt;br /&gt;
[[Category:Chattering]]&lt;br /&gt;
[[Category:Periodic]]&lt;br /&gt;
[[Category:Minimum energy]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Supermarket_refrigeration_system_(Muscod)&amp;diff=1565</id>
		<title>Supermarket refrigeration system (Muscod)</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Supermarket_refrigeration_system_(Muscod)&amp;diff=1565"/>
		<updated>2016-01-28T09:24:03Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: SebastianSager moved page Supermarket refrigeration system (C) to Supermarket refrigeration system (Muscod) without leaving a redirect: Moved C to Muscod&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The differential equations for the [[Supermarket refrigeration system]] in [[:Category:Muscod | Muscod code]] read as follows&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// number of compressors&lt;br /&gt;
#define NVALVES 2&lt;br /&gt;
&lt;br /&gt;
// constants&lt;br /&gt;
#define M_GOODS 200.0&lt;br /&gt;
#define C_P_GOODS 1000.0&lt;br /&gt;
#define UA_GOODS_AIR 300.0&lt;br /&gt;
#define M_WALL 260.0&lt;br /&gt;
#define C_P_WALL 385.0&lt;br /&gt;
#define UA_AIR_WALL 500.0&lt;br /&gt;
#define M_AIR 50.0&lt;br /&gt;
#define C_P_AIR 1000.0&lt;br /&gt;
#define UA_WALL_REF_MAX 4000.0&lt;br /&gt;
#define M_REF_MAX 1.0&lt;br /&gt;
#define TAU_FILL 40.0&lt;br /&gt;
#define T_SH 10.0&lt;br /&gt;
#define V_SUC 5.0&lt;br /&gt;
#define V_SL 0.08 // 2 display cases - 2 compressors&lt;br /&gt;
// #define V_SL 0.095 // 3 display cases - 3 compressors&lt;br /&gt;
#define ETA_VOL 0.81&lt;br /&gt;
&lt;br /&gt;
// disturbances - day scenario&lt;br /&gt;
#define Q_AIRLOAD 3000.0&lt;br /&gt;
#define M_REF_CONST 0.2&lt;br /&gt;
&lt;br /&gt;
// disturbances - night scenario&lt;br /&gt;
// #define Q_AIRLOAD 1800.0&lt;br /&gt;
// #define M_REF_CONST 0.0&lt;br /&gt;
&lt;br /&gt;
double delta_h = (0.0217*xd[0]*xd[0] - 0.1704*xd[0] + 2.2988)*1e5;&lt;br /&gt;
double T_e = -4.3544*xd[0]*xd[0] + 29.224*xd[0] - 51.2005;&lt;br /&gt;
double rho_suc = 4.6073*xd[0] + 0.3798;&lt;br /&gt;
double rho_suc__P_suc = -0.0329*xd[0]*xd[0]*xd[0] + 0.2161*xd[0]*xd[0] - 0.4742*xd[0] + 5.4817;&lt;br /&gt;
double f = (0.0265*xd[0]*xd[0]*xd[0] -0.4346*xd[0]*xd[0] + 2.4923*xd[0] + 1.2189)*1e5;&lt;br /&gt;
&lt;br /&gt;
double Q_goods_air[NVALVES];&lt;br /&gt;
double Q_air_wall[NVALVES];&lt;br /&gt;
double UA_wall_ref[NVALVES];&lt;br /&gt;
double Q_e[NVALVES];&lt;br /&gt;
double m[NVALVES];&lt;br /&gt;
&lt;br /&gt;
double m_in_suc = 0.0;&lt;br /&gt;
&lt;br /&gt;
int i;&lt;br /&gt;
&lt;br /&gt;
for (i=0; i&amp;lt;NVALVES; i++){&lt;br /&gt;
    Q_goods_air[i] = UA_GOODS_AIR*(xd[1 + i*4] - xd[3 + i*4]);&lt;br /&gt;
    Q_air_wall[i] = UA_AIR_WALL*(xd[3 + i*4] - xd[2 + i*4]);&lt;br /&gt;
    UA_wall_ref[i] = UA_WALL_REF_MAX * xd[4 + 4*i]/M_REF_MAX;&lt;br /&gt;
    Q_e[i] = UA_wall_ref[i]*(xd[2 + 4*i] - T_e);&lt;br /&gt;
&lt;br /&gt;
    m[i] = Q_e[i]/delta_h;&lt;br /&gt;
    m_in_suc += m[i];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
double V_comp = 0.0;&lt;br /&gt;
double comp_scale = (double) 1.0/NCOMPS;&lt;br /&gt;
V_comp = comp_scale*u[NVALVES]*ETA_VOL*V_SL;&lt;br /&gt;
&lt;br /&gt;
// suction pressure&lt;br /&gt;
rhs[0] = (m_in_suc + M_REF_CONST - V_comp*rho_suc) / (V_SUC*rho_suc__P_suc);&lt;br /&gt;
&lt;br /&gt;
// for each display/valve&lt;br /&gt;
for (i=0; i&amp;lt;NVALVES; i++){&lt;br /&gt;
&lt;br /&gt;
    // temperatures:&lt;br /&gt;
&lt;br /&gt;
    // goods&lt;br /&gt;
    rhs[1 + i*4] = - Q_goods_air[i]/(M_GOODS*C_P_GOODS);&lt;br /&gt;
&lt;br /&gt;
    // wall&lt;br /&gt;
    rhs[2 + i*4] = (Q_air_wall[i] - Q_e[i])/(M_WALL*C_P_WALL);&lt;br /&gt;
&lt;br /&gt;
    // air&lt;br /&gt;
    rhs[3 + i*4] = ((Q_goods_air[i] + Q_AIRLOAD - Q_air_wall[i]) /(M_AIR*C_P_AIR));&lt;br /&gt;
&lt;br /&gt;
    // mass of liquefied refrigerant:&lt;br /&gt;
    rhs[4 + i*4] = ((M_REF_MAX - xd[4 + 4*i])/TAU_FILL * u[i] - m[i] * (1 - u[i]));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Muscod]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
	<entry>
		<id>https://mintoc.de/index.php?title=Supermarket_refrigeration_system_(Muscod)&amp;diff=1564</id>
		<title>Supermarket refrigeration system (Muscod)</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Supermarket_refrigeration_system_(Muscod)&amp;diff=1564"/>
		<updated>2016-01-28T09:23:53Z</updated>

		<summary type="html">&lt;p&gt;SebastianSager: Moved C to Muscod&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The differential equations for the [[Supermarket refrigeration system]] in [[:Category:Muscod | Muscod code]] read as follows&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// number of compressors&lt;br /&gt;
#define NVALVES 2&lt;br /&gt;
&lt;br /&gt;
// constants&lt;br /&gt;
#define M_GOODS 200.0&lt;br /&gt;
#define C_P_GOODS 1000.0&lt;br /&gt;
#define UA_GOODS_AIR 300.0&lt;br /&gt;
#define M_WALL 260.0&lt;br /&gt;
#define C_P_WALL 385.0&lt;br /&gt;
#define UA_AIR_WALL 500.0&lt;br /&gt;
#define M_AIR 50.0&lt;br /&gt;
#define C_P_AIR 1000.0&lt;br /&gt;
#define UA_WALL_REF_MAX 4000.0&lt;br /&gt;
#define M_REF_MAX 1.0&lt;br /&gt;
#define TAU_FILL 40.0&lt;br /&gt;
#define T_SH 10.0&lt;br /&gt;
#define V_SUC 5.0&lt;br /&gt;
#define V_SL 0.08 // 2 display cases - 2 compressors&lt;br /&gt;
// #define V_SL 0.095 // 3 display cases - 3 compressors&lt;br /&gt;
#define ETA_VOL 0.81&lt;br /&gt;
&lt;br /&gt;
// disturbances - day scenario&lt;br /&gt;
#define Q_AIRLOAD 3000.0&lt;br /&gt;
#define M_REF_CONST 0.2&lt;br /&gt;
&lt;br /&gt;
// disturbances - night scenario&lt;br /&gt;
// #define Q_AIRLOAD 1800.0&lt;br /&gt;
// #define M_REF_CONST 0.0&lt;br /&gt;
&lt;br /&gt;
double delta_h = (0.0217*xd[0]*xd[0] - 0.1704*xd[0] + 2.2988)*1e5;&lt;br /&gt;
double T_e = -4.3544*xd[0]*xd[0] + 29.224*xd[0] - 51.2005;&lt;br /&gt;
double rho_suc = 4.6073*xd[0] + 0.3798;&lt;br /&gt;
double rho_suc__P_suc = -0.0329*xd[0]*xd[0]*xd[0] + 0.2161*xd[0]*xd[0] - 0.4742*xd[0] + 5.4817;&lt;br /&gt;
double f = (0.0265*xd[0]*xd[0]*xd[0] -0.4346*xd[0]*xd[0] + 2.4923*xd[0] + 1.2189)*1e5;&lt;br /&gt;
&lt;br /&gt;
double Q_goods_air[NVALVES];&lt;br /&gt;
double Q_air_wall[NVALVES];&lt;br /&gt;
double UA_wall_ref[NVALVES];&lt;br /&gt;
double Q_e[NVALVES];&lt;br /&gt;
double m[NVALVES];&lt;br /&gt;
&lt;br /&gt;
double m_in_suc = 0.0;&lt;br /&gt;
&lt;br /&gt;
int i;&lt;br /&gt;
&lt;br /&gt;
for (i=0; i&amp;lt;NVALVES; i++){&lt;br /&gt;
    Q_goods_air[i] = UA_GOODS_AIR*(xd[1 + i*4] - xd[3 + i*4]);&lt;br /&gt;
    Q_air_wall[i] = UA_AIR_WALL*(xd[3 + i*4] - xd[2 + i*4]);&lt;br /&gt;
    UA_wall_ref[i] = UA_WALL_REF_MAX * xd[4 + 4*i]/M_REF_MAX;&lt;br /&gt;
    Q_e[i] = UA_wall_ref[i]*(xd[2 + 4*i] - T_e);&lt;br /&gt;
&lt;br /&gt;
    m[i] = Q_e[i]/delta_h;&lt;br /&gt;
    m_in_suc += m[i];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
double V_comp = 0.0;&lt;br /&gt;
double comp_scale = (double) 1.0/NCOMPS;&lt;br /&gt;
V_comp = comp_scale*u[NVALVES]*ETA_VOL*V_SL;&lt;br /&gt;
&lt;br /&gt;
// suction pressure&lt;br /&gt;
rhs[0] = (m_in_suc + M_REF_CONST - V_comp*rho_suc) / (V_SUC*rho_suc__P_suc);&lt;br /&gt;
&lt;br /&gt;
// for each display/valve&lt;br /&gt;
for (i=0; i&amp;lt;NVALVES; i++){&lt;br /&gt;
&lt;br /&gt;
    // temperatures:&lt;br /&gt;
&lt;br /&gt;
    // goods&lt;br /&gt;
    rhs[1 + i*4] = - Q_goods_air[i]/(M_GOODS*C_P_GOODS);&lt;br /&gt;
&lt;br /&gt;
    // wall&lt;br /&gt;
    rhs[2 + i*4] = (Q_air_wall[i] - Q_e[i])/(M_WALL*C_P_WALL);&lt;br /&gt;
&lt;br /&gt;
    // air&lt;br /&gt;
    rhs[3 + i*4] = ((Q_goods_air[i] + Q_AIRLOAD - Q_air_wall[i]) /(M_AIR*C_P_AIR));&lt;br /&gt;
&lt;br /&gt;
    // mass of liquefied refrigerant:&lt;br /&gt;
    rhs[4 + i*4] = ((M_REF_MAX - xd[4 + 4*i])/TAU_FILL * u[i] - m[i] * (1 - u[i]));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Muscod]]&lt;/div&gt;</summary>
		<author><name>SebastianSager</name></author>
	</entry>
</feed>