Difference between revisions of "Lotka Volterra fishing problem"

From mintOC
Jump to: navigation, search
Line 3: Line 3:
 
</div><noinclude>
 
</div><noinclude>
  
This problem was set up as a simple benchmark problem. Despite of its simple structure, the optimal solution contains a singular arcs, making the Lotka Volterra fishing problem an ideal candidate for benchmarking of algorithms.
+
This problem was set up as a small-scale benchmark problem. The optimal solution contains a singular arc, making the Lotka Volterra fishing problem an ideal candidate for benchmarking of algorithms.
  
 
In this problem the Lotka Volterra equations for a predator-prey system have been augmented by an additional linear term, relating to fishing by man.
 
In this problem the Lotka Volterra equations for a predator-prey system have been augmented by an additional linear term, relating to fishing by man.
Line 25: Line 25:
 
</math>
 
</math>
  
It is thus an [[ordinary differential equation|ODE]] model with a single integer control function. The interior point equality conditions fix the initial values of the differential states.
+
It is thus an [http://en.wikipedia.org/wiki/Ordinary_differential_equation ODE] model with a single integer control function. The interior point equality conditions fix the initial values of the differential states.
  
 
== Mathematical formulation ==
 
== Mathematical formulation ==
Line 43: Line 43:
  
 
== Initial values and parameters ==
 
== Initial values and parameters ==
 +
 +
These fixed values are used within the model.
  
 
<math>
 
<math>
Line 71: Line 73:
  
 
== Miscellaneous ==
 
== Miscellaneous ==
The Lotka Volterra fishing problem was introduced by Sebastian Sager in a proceedings paper <bibref>Sager2006</bibref> and reinvestigated in his PhD thesis <bibref>Sager2005</bibref>. These are also the references to look for more details.
+
The Lotka Volterra fishing problem was introduced by Sebastian Sager in a proceedings paper <bibref>Sager2006</bibref> and revisited in his PhD thesis <bibref>Sager2005</bibref>. These are also the references to look for more details.
  
Testing Graphviz
+
<!-Testing Graphviz
  
 
<graphviz border='frame' format='svg'>
 
<graphviz border='frame' format='svg'>
 
digraph G {Hello->World!}
 
digraph G {Hello->World!}
 
</graphviz>
 
</graphviz>
 +
->
  
 
== References ==
 
== References ==

Revision as of 21:20, 6 July 2008

This problem was set up as a small-scale benchmark problem. The optimal solution contains a singular arc, making the Lotka Volterra fishing problem an ideal candidate for benchmarking of algorithms.

In this problem the Lotka Volterra equations for a predator-prey system have been augmented by an additional linear term, relating to fishing by man.

Model dimensions and properties

The model has the following dimensions:


\begin{array}{rcl}
n_x &=& 3\\
n_z &=& 0\\
n_u &=& 0\\
n_w &=& 1\\
n_p &=& 0\\
n_{\rho} &=& 0\\
n_c &=& 0\\
n_{r^\mathrm{i}} &=& 0\\
n_{r^\mathrm{e}} &=& 3
\end{array}

It is thus an ODE model with a single integer control function. The interior point equality conditions fix the initial values of the differential states.

Mathematical formulation

For t \in [t_0, t_f] the mixed-integer optimal control problem is given by


\begin{array}{llcl}
 \displaystyle \min_{x, w} & x_2(t_f)   \\[1.5ex]
 \mbox{s.t.} & \dot{x}_0(t) & = & x_0(t) - x_0(t) x_1(t) - \; c_0 x_0(t) \; w(t), \\
 & \dot{x}_1(t) & = & - x_1(t) + x_0(t) x_1(t) - \; c_1 x_1(t) \; w(t),  \\
 & \dot{x}_2(t) & = & (x_0(t) - 1)^2 + (x_1(t) - 1)^2,  \\[1.5ex]
 & x(0) &=& x_0, \\
 & w(t) &\in&  \{0, 1\}.
\end{array}

Initial values and parameters

These fixed values are used within the model.


\begin{array}{rcl}
t_0 &=& 0\\
t_f &=& 12\\
c_0 &=& 0.4\\
c_1 &=& 0.2\\
x_0 &=& (0.5, 0.7, 0)^T
\end{array}

Reference Solutions

States


The two differential states and corresponding adjoint variables in the indirect approach

Source Code

  double ref0 = 1, ref1 = 1;                 /* steady state with u == 0 */
 
  rhs[0] =   xd[0] - xd[0]*xd[1] - p[0]*u[0]*xd[0];
  rhs[1] = - xd[1] + xd[0]*xd[1] - p[1]*u[0]*xd[1];
  rhs[2] = (xd[0]-ref0)*(xd[0]-ref0) + (xd[1]-ref1)*(xd[1]-ref1);

Miscellaneous

The Lotka Volterra fishing problem was introduced by Sebastian Sager in a proceedings paper <bibref>Sager2006</bibref> and revisited in his PhD thesis <bibref>Sager2005</bibref>. These are also the references to look for more details.

<!-Testing Graphviz

<graphviz border='frame' format='svg'> digraph G {Hello->World!} </graphviz> ->

References

<bibreferences/>