PROPT
   HOME

TheInfoList



OR:

The PROPT
MATLAB MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
Optimal Control Optimal control theory is a branch of control theory that deals with finding a control for a dynamical system over a period of time such that an objective function is optimized. It has numerous applications in science, engineering and operations ...
Software is a new generation platform for solving applied optimal control (with
ODE An ode (from ) is a type of lyric poetry, with its origins in Ancient Greece. Odes are elaborately structured poems praising or glorifying an event or individual, describing nature intellectually as well as emotionally. A classic ode is structu ...
or DAE formulation) and parameters estimation problems. The platform was developed by MATLAB Programming Contest Winner
Per Rutquist
in 2008. The most recent version has support for binary and integer variables as well as an automated scaling module.


Description

PROPT is a combined
modeling A model is an informative representation of an object, person, or system. The term originally denoted the Plan_(drawing), plans of a building in late 16th-century English, and derived via French language, French and Italian language, Italian ult ...
,
compilation Compilation may refer to: *In computer programming, the translation of source code into object code by a compiler **Compilation error **Compilation unit *Product bundling, a marketing strategy used to sell multiple products, such as video game co ...
and solver engine, built upon the TomSym modeling class, for generation of highly complex optimal control problems. PROPT uses a pseudospectral
Collocation method In mathematics, a collocation method is a method for the numerical solution of ordinary differential equations, partial differential equations and integral equations. The idea is to choose a finite-dimensional space of candidate solutions (usually ...
(with Gauss or Chebyshev points) for solving optimal control problems. This means that the solution takes the form of a
Polynomial In mathematics, a polynomial is a Expression (mathematics), mathematical expression consisting of indeterminate (variable), indeterminates (also called variable (mathematics), variables) and coefficients, that involves only the operations of addit ...
, and this polynomial satisfies the DAE and the path
constraints Constraint may refer to: * Constraint (computer-aided design), a demarcation of geometrical characteristics between two or more entities or solid modeling bodies * Constraint (mathematics), a condition of an optimization problem that the solution m ...
at the collocation points. In general PROPT has the following main functions: * Computation of the constant
matrices Matrix (: matrices or matrixes) or MATRIX may refer to: Science and mathematics * Matrix (mathematics), a rectangular array of numbers, symbols or expressions * Matrix (logic), part of a formula in prenex normal form * Matrix (biology), the ...
used for the differentiation and
integration Integration may refer to: Biology *Multisensory integration *Path integration * Pre-integration complex, viral genetic material used to insert a viral genome into a host genome *DNA integration, by means of site-specific recombinase technology, ...
of the polynomials used to approximate the solution to the
Trajectory optimization Trajectory optimization is the process of designing a trajectory that minimizes (or maximizes) some measure of performance while satisfying a set of constraints. Generally speaking, trajectory optimization is a technique for computing an open-loop ...
problem. * Source transformation to turn user-supplied expressions into MATLAB code for the cost function f and constraint function c that are passed to a
Nonlinear programming In mathematics, nonlinear programming (NLP) is the process of solving an optimization problem where some of the constraints are not linear equalities or the objective function is not a linear function. An optimization problem is one of calculation ...
solver in TOMLAB. The source transformation package TomSym automatically generates first and second order derivatives. * Functionality for plotting and computing a variety of information for the solution to the problem. * Automatic detection of the following: ** Linear and quadratic objective. ** Simple bounds, linear and nonlinear constraints. ** Non-optimized expressions. * Integrated support for non-smooth (hybrid) optimal control problems. * Module for automatic scaling of difficult space related problem. * Support for binary and integer variables, controls or states.


Modeling

The PROPT system uses the TomSym symbolic source transformation engine to model optimal control problems. It is possible to define
independent Independent or Independents may refer to: Arts, entertainment, and media Artist groups * Independents (artist group), a group of modernist painters based in Pennsylvania, United States * Independentes (English: Independents), a Portuguese artist ...
variables, dependent functions, scalars and constant parameters: toms tf toms t p = tomPhase('p', t, 0, tf, 30); x0 = ; cbox = ; toms z1 cbox = ; x0 = ; ki0 = e3; 1e7; 10; 1e-3


States and controls

States and controls only differ in the sense that states need be continuous between phases. tomStates x1 x0 = ; tomControls u1 cbox = ; x0 = ;


Boundary, path, event and integral constraints

A variety of boundary, path, event and integral constraints are shown below: cbnd = initial(x1

1); % Starting point for x1 cbnd = final(x1

1); % End point for x1 cbnd = final(x2

2); % End point for x2 pathc = collocate(x3 >= 0.5); % Path constraint for x3 intc = ; % Integral constraint for x2 cbnd = final(x3 >= 0.5); % Final event constraint for x3 cbnd = initial(x1 <= 2.0); % Initial event constraint x1


Single-phase optimal control example

Van der Pol Oscillator Minimize: \begin J_ & = & x_3(t_f) \\ \end Subject to: \begin \frac = (1-x_2^2)*x_1-x_2+u \\ \frac = x_1 \\ \frac = x_1^2+x_2^2+u^2 \\ x(t_0) = \ 1 \ 0\\ t_f = 5 \\ -0.3 \le u \le 1.0 \\ \end To solve the problem with PROPT the following code can be used (with 60 collocation points): toms t p = tomPhase('p', t, 0, 5, 60); setPhase(p); tomStates x1 x2 x3 tomControls u % Initial guess x0 = ; % Box constraints cbox = ; % Boundary constraints cbnd = initial(); % ODEs and path constraints ceq = collocate(); % Objective objective = final(x3); % Solve the problem options = struct; options.name = 'Van Der Pol'; solution = ezsolve(objective, , x0, options);


Multi-phase optimal control example

One-dimensional rocket with free end time and undetermined phase shift Minimize: \begin J_ & = & tCut \\ \end Subject to: \begin \frac = x_2 \\ \frac = a-g \ (0 < t <= tCut) \\ \frac = -g \ (tCut < t < t_f) \\ x(t_0) = \ 0\\ g = 1 \\ a = 2 \\ x_1(t_f) = 100 \\ \end The problem is solved with PROPT by creating two phases and connecting them: toms t toms tCut tp2 p1 = tomPhase('p1', t, 0, tCut, 20); p2 = tomPhase('p2', t, tCut, tp2, 20); tf = tCut+tp2; x1p1 = tomState(p1,'x1p1'); x2p1 = tomState(p1,'x2p1'); x1p2 = tomState(p2,'x1p2'); x2p2 = tomState(p2,'x2p2'); % Initial guess x0 = ; % Box constraints cbox = ; % Boundary constraints cbnd = ; % ODEs and path constraints a = 2; g = 1; ceq = ; % Objective objective = tCut; % Link phase link = ; %% Solve the problem options = struct; options.name = 'One Dim Rocket'; constr = ; solution = ezsolve(objective, constr, x0, options);


Parameter estimation example

Parameter estimation problem Minimize: \begin J_ & = & \sum_ \\ \end Subject to: \begin \frac = x_2 \\ \frac = 1-2*x_2-x_1 \\ x_0 = _1 \ p_2\\ t_i = \ 2 \ 3 \ 5\\ x_1^m(t_i) = .264 \ 0.594 \ 0.801 \ 0.959\\ , p_, <= 1.5 \\ \end In the code below the problem is solved with a fine grid (10 collocation points). This solution is subsequently fine-tuned using 40 collocation points: toms t p1 p2 x1meas = .264;0.594;0.801;0.959 tmeas = ;2;3;5 % Box constraints cbox = ; %% Solve the problem, using a successively larger number collocation points for n= 0 40 p = tomPhase('p', t, 0, 6, n); setPhase(p); tomStates x1 x2 % Initial guess if n

10 x0 = ; else x0 = ; end % Boundary constraints cbnd = initial(); % ODEs and path constraints x1err = sum((atPoints(tmeas,x1) - x1meas).^2); ceq = collocate(); % Objective objective = x1err; %% Solve the problem options = struct; options.name = 'Parameter Estimation'; options.solver = 'snopt'; solution = ezsolve(objective, , x0, options); % Optimal x, p for starting point x1opt = subs(x1, solution); x2opt = subs(x2, solution); p1opt = subs(p1, solution); p2opt = subs(p2, solution); end


Optimal control problems supported

* Aerodynamic trajectory control *
Bang-bang control Bang Bang or Bang Bang Bang or similar may refer to: People * Abdul Razzaq (cricketer) (born 1979), nicknamed Bang Bang Razzaq * Bang Bang (Dubliner) (1906–1981), eccentric elderly gentleman in Dublin known for playing cowboy in the street ...
*
Chemical engineering Chemical engineering is an engineering field which deals with the study of the operation and design of chemical plants as well as methods of improving production. Chemical engineers develop economical commercial processes to convert raw materials ...
*
Dynamic systems In mathematics, a dynamical system is a system in which a function describes the time dependence of a point in an ambient space, such as in a parametric curve. Examples include the mathematical models that describe the swinging of a clock p ...
* General optimal control * Large-scale linear control * Multi-phase system control *
Mechanical engineering Mechanical engineering is the study of physical machines and mechanism (engineering), mechanisms that may involve force and movement. It is an engineering branch that combines engineering physics and engineering mathematics, mathematics principl ...
design * Nondifferentiable control * Parameters estimation for dynamic systems * Singular control


References

{{reflist


External links


TOMLAB
- Developer and distributor of the software.
TomSym
- Source transformation engine used in software.
PROPT
- Home page for PROPT.
SNOPT
- Default solver used in PROPT. Numerical software Mathematical optimization software Optimal control