pinene.gms : Isometrization of alpha-pinene COPS 2.0 #5

Description

Determine the reaction coefficients in the thermal isometrization of
alpha-pinene.

This model is from the COPS benchmarking suite.
See http://www-unix.mcs.anl.gov/~more/cops/.

The number of discretization points can be specified using the command
line parameter --nh. COPS performance tests have been reported for nh
= 25, 50, 100, 200


References

  • Dolan, E D, and More, J J, Benchmarking Optimization Software with COPS. Tech. rep., Mathematics and Computer Science Division, 2000.
  • Box, G E P, Hunter, W G, MacGregor, J F, and Erjavec, J, Some Problems Associated with the Analysis of Multiresponse Data. Technometrics 15 (1973), 33-51.
  • Tjoa, I B, and Biegler, L T, Simultaneous Solution and Optimization Strategies for Parameter Estimation of Differential-Algebraic Equations Systems. Industrial and Engineering Chemistry Research 30, 2 (1991), 376-385.
  • Averick, B M, Carter, R G, More, J J, and Xue, G L, The MINPACK-2 Test Problem Collection. Tech. rep., Mathematics and Computer Science Division, Argonne National Laboratory, 1992.
  • Ascher, U M, Mattheij, R M M, and Russell, R D, Numerical Solution of Boundary Value Problems for Ordinary Differential Equations. SIAM, 1995.

Large Model of Type : NLP


Category : GAMS Model library


Main file : pinene.gms   includes :  copspart.inc

$title Isometrization of alpha-pinene COPS 2.0 #5 (PINENE,SEQ=233)

$onText
Determine the reaction coefficients in the thermal isometrization of
alpha-pinene.

This model is from the COPS benchmarking suite.
See http://www-unix.mcs.anl.gov/~more/cops/.

The number of discretization points can be specified using the command
line parameter --nh. COPS performance tests have been reported for nh
= 25, 50, 100, 200


Dolan, E D, and More, J J, Benchmarking Optimization
Software with COPS. Tech. rep., Mathematics and Computer
Science Division, 2000.

Box, G E P, Hunter, W G, MacGregor, J F, and Erjavec, J,
Some Problems Associated with the Analysis of
Multiresponse Data. Technometrics 15 (1973), 33-51.

Tjoa, I B, and Biegler, L T, Simultaneous Solution and
Optimization Strategies for Parameter Estimation of
Differential-Algebraic Equations Systems. Ind. Eng.
Chem. Res. 30 (1991), 376-385.

Averick, B M, Carter, R G, More, J J, and Xue, G L,
The MINPACK-2 Test Problem Collection. Tech. rep.,
Mathematics and Computer Science Division,
Argonne National Laboratory, 1992.

Ascher, U M, Mattheij, R M M, and Russell, R D,
Numerical Solution of Boundary Value Problems
for Ordinary Differential Equations. SIAM, 1995.

Keywords: nonlinear programming, benchmarking
$offText

$if not set nh $set nh 50

Set
   ne 'differential equations'  / ne1*ne5 /
   np 'ODE parameters'          / np1*np5 /
   nc 'collocation points'      / nc1*nc3 /
   nh 'partition intervals'     / nh1*nh%nh% /
   nm 'measurements'            / 1*8 /;

Parameter
   bc(ne)  'ODE initial conditions'           /  ne1 100,  (ne2*ne5) 0 /
   tau(nm) 'times at which observations made' /  1  1230.0,  2  3060.0
                                                 3  4920.0,  4  7800.0
                                                 5 10680.0,  6 15030.0
                                                 7 22620.0,  8 36420.0 /;

Table z(nm,ne) 'observation'
         ne1    ne2     ne3     ne4      ne5
   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 ;

$batInclude copspart.inc nc3 8

Positive Variable theta(np) 'ODE parameters';

Equation
   collocation_eqn1(nh,nc)
   collocation_eqn2(nh,nc)
   collocation_eqn3(nh,nc)
   collocation_eqn4(nh,nc)
   collocation_eqn5(nh,nc);

collocation_eqn1(i,j)..  Duc[i,j,'ne1'] =e= - (theta['np1']+theta['np2'])*uc[i,j,'ne1'];

collocation_eqn2(i,j)..  Duc[i,j,'ne2'] =e= theta['np1']*uc[i,j,'ne1'];

collocation_eqn3(i,j)..  Duc[i,j,'ne3'] =e=   theta['np2']*uc[i,j,'ne1']
                                            - (theta['np3']+theta['np4'])*uc[i,j,'ne3']
                                            + theta['np5']*uc[i,j,'ne5'];

collocation_eqn4(i,j)..  Duc[i,j,'ne4'] =e= theta['np3']*uc[i,j,'ne3'];

collocation_eqn5(i,j)..  Duc[i,j,'ne5'] =e=   theta['np4']*uc[i,j,'ne3']
                                            - theta['np5']*uc[i,j,'ne5'];

v.fx['nh1',s] = bc(s);

Model pinene / all /;

$if set workSpace pinene.workSpace = %workSpace%;

solve pinene minimizing obj using nlp;