PROPT Global Dynamic System

From TomWiki
Revision as of 11:29, 2 November 2011 by Mbot (talk | contribs) (Created page with "{{Part Of Manual|title=the PROPT Manual|link=PROPT Manual}} Deterministic Global Optimization of Nonlinear Dynamic Systems, Youdong Lin and Mark A. Stadtherr, Depar...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Notice.png

This page is part of the PROPT Manual. See PROPT Manual.

Deterministic Global Optimization of Nonlinear Dynamic Systems, Youdong Lin and Mark A. Stadtherr, Department of Chemical and Biomolecular Engineering, University of Notre Dame

Problem Description

Find u over t in [0; 1 ] to minimize:

subject to:

% Copyright (c) 2007-2008 by Tomlab Optimization Inc.

Problem setup

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)};

Solve the problem

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 Development license  999007. Valid to 2011-12-31
=====================================================================================
Problem: ---  1: Global Dynamic System - Trial 10  f_k      -8.232621699201999400
                                          sum(|constr|)      0.000000000001198153
                                 f(x_k) + sum(|constr|)     -8.232621699200802100

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 930. TotConstrEv 890

FuncEv  930 GradEv  890 ConstrEv  890 ConJacEv   30 Iter  483 
CPU time: 0.561604 sec. Elapsed time: 0.531000 sec. 

Plot result

figure(1);
subplot(2,1,1);
plot(t,x,'*-');
legend('x');

subplot(2,1,2);
plot(t,u,'*-');
legend('u');