Jump to content

Lotka Volterra fishing problem (JModelica)

From mintOC
Revision as of 13:57, 19 January 2016 by FelixMueller (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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


JModelica

The model for compilation with JModelica.

//--------------------------------------------------------------------
//Lotka Volterra Fishing Problem
// (c) Madeleine Schroeter
//--------------------------------------------------------------------

 
  optimization lotka(objective = cost(finalTime), startTime = 0, finalTime = 12)
    "Steady State Solution with u=0"
 
 
    Real cost(start=0, min=0, max=25) "Integrated Deviation";
 
    // Differential state variables
    Real x0(min=0, max=20.0) "Biomass of Prey";
    Real x1(min=0, max=20.0) "Biomass of Predator";
 
    // Control functions
    input Real u(free=true, min=0,max=1);
 
    constant Real ref0 = 1.0 "Steady State Prey";
    constant Real ref1 = 1.0 "Steady State Predator";
 

  equation
    der(x0) =  x0 - x0*x1 - 0.4*x0*u;
    der(x1) = -x1 + x0*x1 - 0.2*x1*u;
    der(cost) = (x0 - ref0)*(x0 - ref0) + (x1 - ref1)*(x1 - ref1); // Quadratic deviation
 
  constraint
 	x0(0)=0.5;
	x1(0)=0.7;
  end lotka;


The Python run file.

#Import the function for transfering a model to CasADiInterface
from pyjmi import transfer_optimization_problem

op=transfer_optimization_problem("lotka", "lotka.mop")

res=op.optimize()