#************************************************************* # 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; }}