#*************************************************************
# Test Problem 3 from Chapter 11, section 3.5
# Catalytic Cracking of Gas Oil
#*************************************************************
OPTION {{
FTOL = 1e-8;
OTOL = 1e-8;
NLP = "SNOPT";
}}
DECLARATION {{
INDEX {m,i,p};
SET M = |1:20|; # Number of Data sets
SET I = |1:2|; # Number of Variables
SET P = |1:3|; # Number of Parameters
XVAR {x(M,I), # Fitted data variables
a(P) # Parameters
};
ZVAR {z(I)};
ISPE {z(I)};
ZINC {1,0};
TIME {0,0.025,0.05,0.075,0.10,0.125,0.150,0.175,0.20,0.225,
0.25,0.30,0.35,0.40,0.45,0.50,0.55,0.65,0.75,0.85,0.95};
# Observed data
PARA xe(M,I) = {0.7307,0.1954,0.5982,0.2808,0.4678,0.3175,0.4267,0.3047,
0.3436,0.2991,0.3126,0.2619,0.2808,0.2391,0.2692,0.2210,
0.2210,0.1898,0.2122,0.1801,0.1903,0.1503,0.1735,0.1030,
0.1615,0.0964,0.1240,0.0581,0.1190,0.0471,0.1109,0.0413,
0.0890,0.0367,0.0820,0.0219,0.0745,0.0124,0.0639,0.0089};
# Variable Bounds
LBDS x(M,I) = < m E M | < i E I | 0 > >;
UBDS x(M,I) = < m E M | < i E I | 1 > >;
LBDS a(P) = < p E P | 0>;
UBDS a(P) = < p E P | 20>;
}}
MODEL {{
MIN: <> >>;
dae1: z'(1) =e= -(a(1) + a(3))*z(1)^2;
dae2: z'(2) =e= a(1)*z(1)^2 - a(2)*z(2);
err(m E M,i E I)[m]: z(i) - x(m,i) =e= 0;
}}