Difference between revisions of "Lotka Volterra fishing problem (TACO)"

From mintOC
Jump to: navigation, search
m (Text replacement - "\<bibref\>(.*)\<\/bibref\>" to "<bib id="$1" />")
m
 
Line 45: Line 45:
  
 
</source>
 
</source>
 
== Other Descriptions ==
 
 
Other descriptions of this problem are available in
 
 
* Mathematical notation at [[Lotka Volterra fishing problem]]
 
* [[:Category:AMPL | AMPL]] (using a fixed discretization) at [[Lotka Volterra fishing problem (AMPL)]]
 
* [[:Category:C | C code]] at [[Lotka Volterra fishing problem (C)]]
 
* [[:Category:optimica | optimica]] at [[Lotka Volterra fishing problem (optimica)]]
 
  
 
== References ==
 
== References ==

Latest revision as of 11:25, 28 January 2016

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
Link to Google Scholar
. 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%Link to Google Scholar