Lotka Volterra fishing problem (optimica)

From Mintoc

Jump to: navigation, search

This page contains the model formulation of the MIOCP Lotka Volterra fishing problem in optimica format.

optimica

The model in optimica code.

// Benchmark Fishing Problem based on a simple Lotka Volterra system.
// (c) Sebastian Sager, 2005-2009
// More info on http://mintoc.de/index.php/Lotka_Volterra_fishing_problem
 
package lotka_pack
 
  model Lotka
    "Lotka-Volterra Problem"
 
    parameter Real c0(min=0, max=1.0);
    parameter Real c1(min=0, max=1.0);
 
    // Differential state variables
    Real x0 "Biomass of Prey";
    Real x1 "Biomass of Predator";
 
    // Control functions
    input Real u(min=0,max=1);
 
  equation
    der(x0) =  x0 - x0*x1 - c0*x0*u;
    der(x1) = -x1 + x0*x1 - c1*x1*u;
 
  end lotka;
 
  optimization lotka_opt(objective = cost(finalTime), startTime = 0, finalTime = 12)
    "Steady State Solution with u=0"
 
     extends Lotka(
 	c0=0.4, 
 	c1=0.2, 
 	x0(start=0.5, min=0, max=20.0), 
 	x1(start=0.7, min=0, max=20.0),
 	u(start=1.0, free=true));
 
    Real cost(start=0, min=0, max=25) "Integrated Deviation";
 
    constant Real ref0 = 1.0 "Steady State Prey";
    constant Real ref1 = 1.0 "Steady State Predator";
 
  equation
    der(cost) = (x0 - ref0)*(x0 - ref0) + (x1 - ref1)*(x1 - ref1); // Quadratic deviation
 
  constraint
 
  end lotka_opt;
 
  optimization lotka2_opt(objective = cost(finalTime), startTime = 0, finalTime = 12)
    "Steady State Solution with u=1"
 
    extends lotka_opt(ref0 = 1.2, ref1 = 0.6);
 
  end lotka2_opt;
 
end lotka_pack;
Personal tools