# Isomerization of Alpha-Pinene problem (TACO)

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 [Box1973]**Author: ** *G.E.P. Box; W.G. Hunter; J.F. MacGregor; J. Erjavec***Journal: ** *Technometrics***Pages: ** *33--51***Title: ** *Some problems associated with the analysis of multiresponse data***Volume: ** *15***Year: ** *1973*

. 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

[Box1973] | G.E.P. Box; W.G. Hunter; J.F. MacGregor; J. Erjavec (1973): Some problems associated with the analysis of multiresponse data. Technometrics, 15, 33--51 |