# Lotka Volterra fishing problem (TACO)

From mintOC

Revision as of 11:25, 28 January 2016 by SebastianSager (Talk | contribs)

This page contains a model of the MIOCP Lotka Volterra fishing problem in AMPL format, making use of the TACO toolkit for AMPL control optimization extensions. This problem is due to [Sager2005]**Address: ** *Tönning, Lübeck, Marburg***Author: ** *S. Sager***Editor: ** *ISBN 3-89959-416-9***Publisher: ** *Der andere Verlag***Title: ** *Numerical methods for mixed--integer optimal control problems***Url: ** *http://mathopt.de/PUBLICATIONS/Sager2005.pdf***Year: ** *2005*

.
Note that you will need to include a generic AMPL/TACO support file, OptimalControl.mod.
To solve this model, you require an optimal control or MINLP code that uses the TACO toolkit to support the AMPL optimal control extensions.

### AMPL

This is the source file lotka_taco.mod

# ---------------------------------------------------------------- # Lotka Volterra fishing problem using AMPL and TACO # (c) Christian Kirches, Sven Leyffer # ---------------------------------------------------------------- include OptimalControl.mod; var t; var xd0 := 0.5, >= 0, <= 20; var xd1 := 0.7, >= 0, <= 20; var dev := 0.0, >= 0, <= 20; var u := 1, >= 0, <= 1 integer suffix type "u0"; param p0 := 0.4; param p1 := 0.2; param ref0 := 1.0; param ref1 := 1.0; # Minimize accumulated deviation from reference after 12 time units minimize Mayer: eval(dev,12); subject to # ODE system ODE_0: diff(xd0,t) = xd0 - xd0*xd1 - p0*u*xd0; # prey ODE_1: diff(xd1,t) = -xd1 + xd0*xd1 - p1*u*xd1; # predator ODE_2: diff(dev,t) = (xd0-ref0)^2 + (xd1-ref1)^2; # deviation from reference # initial value constraints IVC_0: eval(xd0,0) = 0.5; IVC_1: eval(xd1,0) = 0.7; IVC_2: eval(dev,0) = 0.0; option solver ...; solve;

## References

[Sager2005] | S. Sager (2005): Numerical methods for mixed--integer optimal control problems. (%edition%). Der andere Verlag, Tönning, Lübeck, Marburg, %pages% |