Deterministic Global Optimization of Nonlinear Dynamic Systems, Youdong Lin and Mark A. Stadtherr, Department of Chemical and Biomolecular Engineering, University of Notre Dame
Find u over t in [0; 1 ] to minimize:
J = −x2(tf) |
subject to:
| = −x2+u |
x(t0) = 9 |
−5 <= u <= 5 |
Reference: [36]
toms t p = tomPhase('p', t, 0, 1, 20); setPhase(p); tomStates x tomControls u % Box constraints, bounds and odo c = {-10 <= icollocate(x) <= 10 -5 <= collocate(u) <= 5 initial(x == 9) collocate(dot(x) == -x.^2+u)};
options = struct; options.name = 'Global Dynamic System'; Prob = sym2prob('con',-final(x)^2, c, [], options); Prob.xInit = 20; Result = tomRun('multiMin', Prob, 1); solution = getSolution(Result); t = subs(collocate(t),solution); x = subs(collocate(x),solution); u = subs(collocate(u),solution);
===== * * * =================================================================== * * * TOMLAB - Tomlab Optimization Inc. Development license 999001. Valid to 2011-02-05 ===================================================================================== Problem: --- 1: Global Dynamic System - Trial 13 f_k -8.232621699103969300 sum(|constr|) 0.000000001208069200 f(x_k) + sum(|constr|) -8.232621697895901000 Solver: multiMin with local solver snopt. EXIT=0. INFORM=0. Find local optima using multistart local search Did 20 local tries. Found 1 global, 2 minima. TotFuncEv 980. TotConstrEv 941 FuncEv 980 GradEv 940 ConstrEv 941 ConJacEv 33 Iter 489 CPU time: 1.453125 sec. Elapsed time: 1.500000 sec.
figure(1); subplot(2,1,1); plot(t,x,'*-'); legend('x'); subplot(2,1,2); plot(t,u,'*-'); legend('u');