Difference between revisions of "Marine population dynamics problem (TACO)"
(Marine population dynamics problem (TACO)) |
JonasSchulze (Talk | contribs) m (Text replacement - "\<bibref\>(.*)\<\/bibref\>" to "<bib id="$1" />") |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | This page contains a model of the [[Marine population dynamics problem]] in [http://www.ampl.org AMPL] format, making use of the TACO toolkit for AMPL control optimization extensions. The original model using a collocation formulation can be found in the [http://www.mcs.anl.gov/~more/cops/ COPS library]. | + | This page contains a model of the [[Marine population dynamics problem]] in [http://www.ampl.org AMPL] format, making use of the TACO toolkit for AMPL control optimization extensions. This problem is due to <bib id="Rothschild1997" />. The original model using a collocation formulation can be found in the [http://www.mcs.anl.gov/~more/cops/ COPS library]. |
Note that you will need to include a generic [[support AMPL files|AMPL/TACO support file]], OptimalControl.mod. | Note that you will need to include a generic [[support AMPL files|AMPL/TACO support file]], OptimalControl.mod. | ||
To solve this model, you require an optimal control or NLP code that uses the TACO toolkit to support the AMPL optimal control extensions. | To solve this model, you require an optimal control or NLP code that uses the TACO toolkit to support the AMPL optimal control extensions. | ||
Line 25: | Line 25: | ||
param z {1..nm,1..ne}; # observations | param z {1..nm,1..ne}; # observations | ||
− | var g {1..ne-1} >= 0, <= 1; | + | var g {1..ne-1} >= 0, <= 1; # growth rates |
− | var m {1..ne} >= 0, <= 1; | + | var m {1..ne} >= 0, <= 1; # mortality rates |
var u {1..ne}; | var u {1..ne}; | ||
Line 45: | Line 45: | ||
diff(u[ne],t) = g[ne-1]*u[ne-1] - m[ne]*u[ne]; | diff(u[ne],t) = g[ne-1]*u[ne-1] - m[ne]*u[ne]; | ||
− | data | + | data marine_taco.dat; |
option solver ...; | option solver ...; | ||
Line 53: | Line 53: | ||
</source> | </source> | ||
− | This is the file | + | This is the file marine_taco.dat |
<source lang="AMPL"> | <source lang="AMPL"> | ||
Line 117: | Line 117: | ||
* Mathematical notation at [[Marine population dynamics problem]] | * Mathematical notation at [[Marine population dynamics problem]] | ||
* [[:Category:AMPL | AMPL]] (using a fixed discretization) at the [http://www.mcs.anl.gov/~more/cops/ COPS library] | * [[:Category:AMPL | AMPL]] (using a fixed discretization) at the [http://www.mcs.anl.gov/~more/cops/ COPS library] | ||
+ | |||
+ | == References == | ||
+ | <biblist /> | ||
[[Category:AMPL/TACO]] | [[Category:AMPL/TACO]] |
Latest revision as of 21:32, 30 December 2015
This page contains a model of the Marine population dynamics problem in AMPL format, making use of the TACO toolkit for AMPL control optimization extensions. This problem is due to [Rothschild1997]Author: B.J. Rothschild; A.F. Sharov; A.J. Kearsley; A.S. Bondarenko
Journal: Journal of Plankton Research
Pages: 1913--1928
Title: Estimating growth and mortality in stage-structured populations
Volume: 19
Year: 1997
. The original model using a collocation formulation can be found in the COPS library.
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 NLP code that uses the TACO toolkit to support the AMPL optimal control extensions.
AMPL
This is the source file marine_taco.mod
# ---------------------------------------------------------------- # Marine population dynamics problem using AMPL and TACO # (c) Christian Kirches, Sven Leyffer # # Source: COPS 3.1 collocation formulation - March 2004 # Alexander S. Bondarenko - Summer 1998 # ---------------------------------------------------------------- include OptimalControl.mod; var t; param ne > 0, integer; # number of differential equations param nm > 0, integer; # number of measurements param tau {1..nm}; # times at which observations made param tf := tau[nm]; # ODEs defined in [0,tf] param z {1..nm,1..ne}; # observations var g {1..ne-1} >= 0, <= 1; # growth rates var m {1..ne} >= 0, <= 1; # mortality rates var u {1..ne}; minimize l2error{j in 1..nm}: eval ( sum {s in 1..ne} (u[s] - z[j,s])^2, tau[j] ); subject to g_bounds {s in 1..ne-1}: g[s] >= 0; subject to m_bounds {s in 1..ne}: m[s] >= 0; subject to de_1: diff(u[1],t) = -(m[1]+g[1])*u[1]; subject to de_s {s in 2..ne-1}: diff(u[s],t) = g[s-1]*u[s-1] - (m[s]+g[s])*u[s]; subject to de_ne: diff(u[ne],t) = g[ne-1]*u[ne-1] - m[ne]*u[ne]; data marine_taco.dat; option solver ...; solve;
This is the file marine_taco.dat
param ne := 8; param nm := 21; # Time measurements param tau := 1 0.0 2 0.5 3 1.0 4 1.5 5 2.0 6 2.5 7 3.0 8 3.5 9 4.0 10 4.5 11 5.0 12 5.5 13 6.0 14 6.5 15 7.0 16 7.5 17 8.0 18 8.5 19 9.0 20 9.5 21 10.0; # Measurements param z: 1 2 3 4 5 6 7 8 := 1 20000.0 17000.0 10000.0 15000.0 12000.0 9000.0 7000.0 3000.0 2 12445.0 15411.0 13040.0 13338.0 13484.0 8426.0 6615.0 4022.0 3 7705.0 13074.0 14623.0 11976.0 12453.0 9272.0 6891.0 5020.0 4 4664.0 8579.0 12434.0 12603.0 11738.0 9710.0 6821.0 5722.0 5 2977.0 7053.0 11219.0 11340.0 13665.0 8534.0 6242.0 5695.0 6 1769.0 5054.0 10065.0 11232.0 12112.0 9600.0 6647.0 7034.0 7 943.0 3907.0 9473.0 10334.0 11115.0 8826.0 6842.0 7348.0 8 581.0 2624.0 7421.0 10297.0 12427.0 8747.0 7199.0 7684.0 9 355.0 1744.0 5369.0 7748.0 10057.0 8698.0 6542.0 7410.0 10 223.0 1272.0 4713.0 6869.0 9564.0 8766.0 6810.0 6961.0 11 137.0 821.0 3451.0 6050.0 8671.0 8291.0 6827.0 7525.0 12 87.0 577.0 2649.0 5454.0 8430.0 7411.0 6423.0 8388.0 13 49.0 337.0 2058.0 4115.0 7435.0 7627.0 6268.0 7189.0 14 32.0 228.0 1440.0 3790.0 6474.0 6658.0 5859.0 7467.0 15 17.0 168.0 1178.0 3087.0 6524.0 5880.0 5562.0 7144.0 16 11.0 99.0 919.0 2596.0 5360.0 5762.0 4480.0 7256.0 17 7.0 65.0 647.0 1873.0 4556.0 5058.0 4944.0 7538.0 18 4.0 44.0 509.0 1571.0 4009.0 4527.0 4233.0 6649.0 19 2.0 27.0 345.0 1227.0 3677.0 4229.0 3805.0 6378.0 20 1.0 20.0 231.0 934.0 3197.0 3695.0 3159.0 6454.0 21 1.0 12.0 198.0 707.0 2562.0 3163.0 3232.0 5566.0;
Other Descriptions
Other descriptions of this problem are available in
- Mathematical notation at Marine population dynamics problem
- AMPL (using a fixed discretization) at the COPS library
References
There were no citations found in the article.