Difference between revisions of "Isomerization of Alpha-Pinene problem (TACO)"
From mintOC
(Pinene data) |
(Reference for alpha-pinene problem (TACO)) |
||
Line 1: | Line 1: | ||
− | This page contains a model of the [[Isomerization of Alpha-Pinene 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 [[Isomerization of Alpha-Pinene problem]] in [http://www.ampl.org AMPL] format, making use of the TACO toolkit for AMPL control optimization extensions. This problem is due to <bibref>Box1973</bibref>. 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 27: | Line 27: | ||
param z {1..nm,1..ne}; # observations | param z {1..nm,1..ne}; # observations | ||
− | var theta {1..np} >= 0, <= 100; | + | var theta {1..np} >= 0, <= 100; # ODE parameters |
var u{1..ne} >= 0, <= 200; | var u{1..ne} >= 0, <= 200; | ||
Line 111: | Line 111: | ||
* Mathematical notation at [[Isomerization of Alpha-Pinene problem]] | * Mathematical notation at [[Isomerization of Alpha-Pinene 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 == | ||
+ | <bibreferences/> | ||
[[Category:AMPL/TACO]] | [[Category:AMPL/TACO]] |
Revision as of 21:51, 29 September 2011
This page contains a model of the Isomerization of Alpha-Pinene problem in AMPL format, making use of the TACO toolkit for AMPL control optimization extensions. This problem is due to <bibref>Box1973</bibref>. 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 pinene_taco.mod
# ---------------------------------------------------------------- # Insomerization of Alpha-Pinene 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; param ne > 0, integer; # number of differential equations param np > 0, integer; # number of ODE parameters param nm > 0, integer; # number of measurements param bc {1..ne}; # boundary conditions param tau {1..nm}; # times at which observations made var t; var tf := tau[nm]; param z {1..nm,1..ne}; # observations var theta {1..np} >= 0, <= 100; # ODE parameters var u{1..ne} >= 0, <= 200; minimize l2error{i in 1..nm}: eval ( sum {s in 1..ne} (u[s] - z[i,s])^2, tau[i] ); subject to theta_bounds {i in 1..np}: theta[i] >= 0.0; subject to ode_bc {s in 1..ne}: eval(u[s], 0.0) = bc[s]; subject to de1: diff (u[1], t) = - (theta[1]+theta[2])*u[1]; subject to de2: diff (u[2], t) = theta[1]*u[1]; subject to de3: diff (u[3], t) = theta[2]*u[1] - (theta[3]+theta[4])*u[3] + theta[5]*u[5]; subject to de4: diff (u[4], t) = theta[3]*u[3]; subject to de5: diff (u[5], t) = theta[4]*u[3] - theta[5]*u[5]; data pinene_taco.dat; option solver ...; solve;
This is the data file pinene_taco.dat
param ne := 5; param np := 5; param nm := 8; # Time measurements param tau := 1 1230.0 2 3060.0 3 4920.0 4 7800.0 5 10680.0 6 15030.0 7 22620.0 8 36420.0; # Concentrations param z : 1 2 3 4 5 := 1 88.35 7.3 2.3 0.4 1.75 2 76.4 15.6 4.5 0.7 2.8 3 65.1 23.1 5.3 1.1 5.8 4 50.4 32.9 6.0 1.5 9.3 5 37.5 42.7 6.0 1.9 12.0 6 25.9 49.1 5.9 2.2 17.0 7 14.0 57.4 5.1 2.6 21.0 8 4.5 63.1 3.8 2.9 25.7; param bc := 1 100.0 2 0.0 3 0.0 4 0.0 5 0.0; # Initial values let {i in 1..np} theta[i] := 0.0;
Other Descriptions
Other descriptions of this problem are available in
- Mathematical notation at Isomerization of Alpha-Pinene problem
- AMPL (using a fixed discretization) at the COPS library
References
<bibreferences/>