#************************************************************* # Test Problem 2 from Chapter 11, section 4.3 # Singular Control Problem #************************************************************* OPTION {{ FTOL = 1e-6; OTOL = 1e-6; NLP = "SNOPT"; RANDOMX; }} DECLARATION {{ INDEX {i}; SET I = |0:9|; # Number of control parameters SET J = |1:4|; # Number of states XVAR {z4f, # Final Time Value of state 4 w(I) # Control Parameters }; ZVAR {z(J),u}; ISPE {z(J)}; STP z(1) = 0; STP z(2) = -1; STP z(3) = -sqrt[5]; STP z(4) = 0; TIME {0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1}; # Variable Bounds LBDS w(I) = < i E I | -4>; UBDS w(I) = < i E I | 10>; LBDS z4f = 0; UBDS z4f = 1; }} MODEL {{ MIN: z4f; dae1: z'(1) =e= z(2); dae2: z'(2) =e= -z(3)*u + 16*t - 8; dae3: z'(3) =e= u; dae4: z'(4) =e= z(1)^2 + z(2)^2 + 0.0005*(z(2) + 16*t - 8 - 0.1*z(3)*u^2)^2; control: u =e= interv[i E I| w(i)]; endtime[10]: z4f - z(4) =e= 0; }}