<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mintoc.de/index.php?action=history&amp;feed=atom&amp;title=Lotka_Volterra_%28terminal_constraint_violation%29</id>
	<title>Lotka Volterra (terminal constraint violation) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mintoc.de/index.php?action=history&amp;feed=atom&amp;title=Lotka_Volterra_%28terminal_constraint_violation%29"/>
	<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Lotka_Volterra_(terminal_constraint_violation)&amp;action=history"/>
	<updated>2026-06-09T08:07:04Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://mintoc.de/index.php?title=Lotka_Volterra_(terminal_constraint_violation)&amp;diff=2317&amp;oldid=prev</id>
		<title>ClemensZeile: Created page with &quot;{{Dimensions |nd        = 1 |nx        = 2 |nw        = 1 |nre       = 2 |nri       = 1 }}&lt;!-- Do not insert line break here or Dimensions Box moves up in the layout...  --&gt;Th...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mintoc.de/index.php?title=Lotka_Volterra_(terminal_constraint_violation)&amp;diff=2317&amp;oldid=prev"/>
		<updated>2019-10-14T11:48:38Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Dimensions |nd        = 1 |nx        = 2 |nw        = 1 |nre       = 2 |nri       = 1 }}&amp;lt;!-- Do not insert line break here or Dimensions Box moves up in the layout...  --&amp;gt;Th...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Dimensions&lt;br /&gt;
|nd        = 1&lt;br /&gt;
|nx        = 2&lt;br /&gt;
|nw        = 1&lt;br /&gt;
|nre       = 2&lt;br /&gt;
|nri       = 1&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;This site describes a Lotka Volterra variant where a terminal inequality constraint on the differential states is added. A violation of this constraint is penalized as part of the Mayer objective.&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, w, s} &amp;amp; x_2(t_f) + 10s   \\[1.5ex]&lt;br /&gt;
 \mbox{s.t.} &lt;br /&gt;
 &amp;amp; \dot{x}_0 &amp;amp; = &amp;amp;  x_0 - x_0 x_1 - \; c_0 x_0 \; w, \\&lt;br /&gt;
 &amp;amp; \dot{x}_1 &amp;amp; = &amp;amp; - x_1 + x_0 x_1 - \; c_1 x_1 \; w, \\&lt;br /&gt;
 &amp;amp; \dot{x}_2 &amp;amp; = &amp;amp; (x_0 - 1)^2 + (x_1 - 1)^2,  \\[1.5ex]&lt;br /&gt;
 &amp;amp; x_0 &amp;amp; \geq &amp;amp; 1.1 - s,  \\&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;
&amp;amp; s &amp;amp; \geq &amp;amp; 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;
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;. This problem variant penalizes a biomass x(0) that is below 1.1 at the end of the time horizon.&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; is in the continuous interval &amp;lt;math&amp;gt;[0, 1]&amp;lt;/math&amp;gt; rather than being binary, the optimal solution can be determined by means of direct optimal control. &lt;br /&gt;
&lt;br /&gt;
The optimal objective value of the relaxed problem with  &amp;lt;math&amp;gt; n_t=12000, \, n_u=200  &amp;lt;/math&amp;gt; is &amp;lt;math&amp;gt;x_2(t_f) =1.36548113&amp;lt;/math&amp;gt;. The objective value of the solution with binary controls obtained by Combinatorial Integral Approximation (CIA) is &amp;lt;math&amp;gt;x_2(t_f) =1.38756111&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:Lotka_term_ineq_Relaxed_12000_200.pdf| Optimal relaxed controls and states determined by an direct approach with ampl_mintoc (Radau collocation)  and &amp;lt;math&amp;gt;n_t=12000, \, n_u=200&amp;lt;/math&amp;gt;.&lt;br /&gt;
 Image:Lotka_term_ineq_CIA_12000_200.pdf| Differential states and binary cotnrol determined by an direct approach (Radau collocation) with ampl_mintoc and &amp;lt;math&amp;gt;n_t=12000, \, n_u=200&amp;lt;/math&amp;gt;. The relaxed controls were approximated by Combinatorial Integral Approximation.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&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=&amp;#039;frame&amp;#039; format=&amp;#039;svg&amp;#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>ClemensZeile</name></author>
	</entry>
</feed>