Methanol to Hydrocarbons problem (TACO)
From mintOC
Revision as of 21:43, 29 September 2011 by Ckirches (Talk | contribs) (References for methanol problem (TACO))
This page contains a model of the Methanol to Hydrocarbons problem in AMPL format, making use of the TACO toolkit for AMPL control optimization extensions. This problem is due to <bibref>Floudas1999</bibref> and <bibref>Maria1989</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 methanol_taco.mod
# ---------------------------------------------------------------- # Methanol to Hydrocarbons problem using AMPL and TACO # (c) Christian Kirches, Sven Leyffer # # Source: COPS 3.1 collocation formulation - March 2004 # Michael Merritt - Summer 2000 # ---------------------------------------------------------------- include OptimalControl.mod; var t; param ne := 3; # number of differential equations param np := 5; # number of ODE parameters param nm > 0, integer; # number of measurements param bc {1..ne}; # ODE initial conditions param tau {1..nm}; # times at which observations made param z {1..nm, 1..ne}; # observations var theta {1..np} := 1.0; # ODE parameters var u {s in 1..ne}; minimize l2error{j in 1..nm}: eval (sum {s in 1..ne}(u[s] - z[j,s])^2, tau[j]); subject to theta_bounds {i in 1..np}: theta[i] >= 0.0; subject to bc_cond {s in 1..ne}: eval (u[s], 0) = bc[s]; subject to eqn1: diff(u[1],t) = - (2*theta[2] - (theta[1]*u[2])/((theta[2]+theta[5])*u[1]+u[2]) + theta[3] + theta[4])*u[1]; subject to eqn2: diff(u[2],t) = (theta[1]*u[1]*(theta[2]*u[1]-u[2]))/ ((theta[2]+theta[5])*u[1]+u[2]) + theta[3]*u[1]; subject to eqn3: diff(u[3],t) = (theta[1]*u[1]*(u[2]+theta[5]*u[1]))/ ((theta[2]+theta[5])*u[1]+u[2]) + theta[4]*u[1]; data methanol_taco.dat; option solver ...; solve;
This is the data file methanol_taco.dat
# Time measurements param tau := 1 0 2 0.050 3 0.065 4 0.080 5 0.123 6 0.233 7 0.273 8 0.354 9 0.397 10 0.418 11 0.502 12 0.553 13 0.681 14 0.750 15 0.916 16 0.937 17 1.122; # Concentrations param z: 1 2 3 := 1 1.0000 0 0 2 0.7085 0.1621 0.0811 3 0.5971 0.1855 0.0965 4 0.5537 0.1989 0.1198 5 0.3684 0.2845 0.1535 6 0.1712 0.3491 0.2097 7 0.1198 0.3098 0.2628 8 0.0747 0.3576 0.2467 9 0.0529 0.3347 0.2884 10 0.0415 0.3388 0.2757 11 0.0261 0.3557 0.3167 12 0.0208 0.3483 0.2954 13 0.0085 0.3836 0.2950 14 0.0053 0.3611 0.2937 15 0.0019 0.3609 0.2831 16 0.0018 0.3485 0.2846 17 0.0006 0.3698 0.2899; param bc := 1 1 2 0 3 0;
Other Descriptions
Other descriptions of this problem are available in
- Mathematical notation at Methanol to Hydrocarbons problem
- AMPL (using a fixed discretization) at the COPS library
References
<bibreferences/>