Difference between revisions of "Lotka Volterra fishing problem"
FelixMueller (Talk | contribs) (added more categories for software seminar) |
m |
||
Line 71: | Line 71: | ||
* [[:Category: Casadi | Casadi code]] at [[Lotka Volterra fishing problem (Casadi)]] | * [[:Category: Casadi | Casadi code]] at [[Lotka Volterra fishing problem (Casadi)]] | ||
* [[:Category: GloOptCon | GloOptCon code]] at [[Lotka Volterra fishing problem (GloOptCon)]] | * [[:Category: GloOptCon | GloOptCon code]] at [[Lotka Volterra fishing problem (GloOptCon)]] | ||
− | * [[:Category: switch | + | * [[:Category: switch | switch code]] at [[Lotka Volterra fishing problem (switch)]] |
== Variants == | == Variants == | ||
Revision as of 09:52, 4 December 2015
Lotka Volterra fishing problem | |
---|---|
State dimension: | 1 |
Differential states: | 3 |
Discrete control functions: | 1 |
Interior point equalities: | 3 |
The Lotka Volterra fishing problem 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. The well known 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.
The mathematical equations form a small-scale ODE model. The interior point equality conditions fix the initial values of the differential states.
The optimal integer control functions shows chattering behavior, making the Lotka Volterra fishing problem an ideal candidate for benchmarking of algorithms.
Contents
Mathematical formulation
For almost everywhere the mixed-integer optimal control problem is given by
Here the differential states 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 . The decision, whether the fishing fleet is actually fishing at time is denoted by .
Parameters
These fixed values are used within the model.
Reference Solutions
If the problem is relaxed, i.e., we demand that be in the continuous interval instead of the binary choice , the optimal solution can be determined by means of 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's direct multiple shooting method. Optimal solutions for different control discretizations are also plotted in the leftmost figure.
The optimal objective value of this relaxed problem is . As follows from MIOC theory<bibref>Sager2008</bibref> 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 , and one with 56 switches and .
Source Code
Model descriptions are available in
- AMPL code at Lotka Volterra fishing problem (AMPL)
- C code at Lotka Volterra fishing problem (C)
- optimica code at Lotka Volterra fishing problem (optimica)
- JuMP code at Lotka Volterra fishing problem (JuMP)
- Muscod code at Lotka Volterra fishing problem (Muscod)
- ACADO code at Lotka Volterra fishing problem (ACADO)
- VPLAN code at Lotka Volterra fishing problem (VPLAN)
- Casadi code at Lotka Volterra fishing problem (Casadi)
- GloOptCon code at Lotka Volterra fishing problem (GloOptCon)
- switch code at Lotka Volterra fishing problem (switch)
Variants
There are several alternative formulations and variants of the above problem, in particular
- a prescribed time grid for the control function <bibref>Sager2006</bibref>, see also Lotka Volterra fishing problem (AMPL),
- a time-optimal formulation to get into a steady-state <bibref>Sager2005</bibref>,
- the usage of a different target steady-state, as the one corresponding to which is ,
- different fishing control functions for the two species,
- different parameters and start values.
Miscellaneous and Further Reading
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.
References
<bibreferences/>