Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +!...

39
Path Constraints and Numerical Optimization Robert Stengel Optimal Control and Estimation, MAE 546, Princeton University, 2018 State and Control Equality Constraints Pseudoinverse State and Control Inequality Constraints Singular Control Copyright 2018 by Robert Stengel. All rights reserved. For educational use only. http://www.princeton.edu/~stengel/MAE546.html http://www.princeton.edu/~stengel/OptConEst.html Numerical Methods Parametric optimization Penalty function and collocation Neighboring extremal Multiple shooting Gradient Newton-Raphson Steepest descent Optimal Treatment of an Infection 1 Minimization with Equality Constraints 2

Transcript of Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +!...

Page 1: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Path Constraints and Numerical Optimization!

Robert Stengel! Optimal Control and Estimation, MAE 546,

Princeton University, 2018•! State and Control

Equality Constraints•! Pseudoinverse•! State and Control

Inequality Constraints•! Singular Control

Copyright 2018 by Robert Stengel. All rights reserved. For educational use only.http://www.princeton.edu/~stengel/MAE546.html

http://www.princeton.edu/~stengel/OptConEst.html

•! Numerical Methods–! Parametric optimization–! Penalty function and collocation–! Neighboring extremal–! Multiple shooting–! Gradient

•! Newton-Raphson•! Steepest descent

•! Optimal Treatment of an Infection

1

Minimization with Equality Constraints!

2

Page 2: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Minimization with Equality Constraint on State and Control

minu(t )

J = ! x(t f )"# $% + L x(t),u(t)[ ]t0

t f

& dt

!x(t) = f[x(t),u(t)], x t0( ) given

c x(t),u(t)[ ]! 0 in (t0, t f ); dim(c) = r "1( ) # m "1( )

Dynamic Constraint

State/Control Equality Constraint

!! subject to

dim(x) = n !1dim(f ) = n !1dim(u) = m !1

3

Aeronautical Example:Longitudinal Point-Mass Dynamics

!V = T !CD12"V 2S#

$%&'( m ! gsin)

!) = 1V

CL12"V 2S#

$%&'( m ! gcos)*

+,-./

!h =V sin)!r =V cos)!m = ! SFC( ) T( )

x1 =V : Velocity, m/sx2 = ! : Flight path angle, radx3 = h : Height, mx4 = r : Range, mx5 = m : Mass, kg

4

Page 3: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Aeronautical Example:Variables and Constants

! = Air density = !SLe"#h ,kg/m3

T = TmaxSLe"#h( )$T : Thrust, N

CD = CDo+ %CL

2( ) Drag coefficient

CL = CL&& = Lift coefficient

u1 = !T : Throttle setting, %u2 =" : Angle of attack, rad

5

S = Reference area, m2

m = Vehicle mass, kgg = Gravitational acceleration, m/s2

SFC = Specific Fuel Consumption, g/kN-s

Path Constraint Included in the Cost Function Hamiltonian

J1 =! x(t f )"# $% + L + &&1

T (t) f ' !x(t)[ ]+ µµTc{ }t0

t f

( dt

H ! L + !!1T f + µµTc

dim(x) = dim(f ) = dim(!!) = n "1dim(u) = m "1dim(c) = dim(µµ) = r "1, r # m

c x(t),u(t)[ ]! 0 in (to, t f )

Constraint must be satisfied at every instant of the trajectoryDimension of the constraint " dimension of the control

The constraint is adjoined to the Hamiltonian

6

Page 4: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Euler-Lagrange Equations Including Equality Constraint

!!(t f ) ="#[x(t f )]

"x$%&

'()

T

!!! = " #H[x,u,!!,c,µµ,t]#x

$%&

'()

T

= " #L#x

+ !!T # f#x

+ µµT #c#x

*+,

-./

T

= " LxT + FT!! ++ #c

#x012

345T

µµ*

+,

-

./

!H[x,u,"",c,µµ,t]!u

#$%

&'(

T

= )!L!u

*+,

-./T

+GT"" +!c!u

*+,

-./T

µµ0

122

3

455= 0

c x(t),u(t)[ ]! 0 in (to, t f )dim(x) = dim(!!) = n "1dim F( ) = n " ndim G( ) = n " mdim(u) = m "1dim(c) = dim(µµ) = r "1, r # m 7

No Optimization When r = m!! Control entirely specified by constraint

!! m unknowns, m equations

µµ = !"c"u

#$%

&'(!T "L

"u#$%

&'(T

+GT))*

+,,

-

.//

c x(t),u(t)[ ] ! 0" u(t) = fcn x(t[ ]

!c!u

"#$

%&'

is square and non-singular

!! Constraint Lagrange multiplier is unneeded but can be expressed:!! from dH/du = 0,

Example : State & Controlc = Ax t( ) +Bu t( ) = 0; dim(x) = n !1; dim(c) = dim(u) = m !1

dim(A) = m ! n; dim(B) = m !mu t( ) = "B"1Ax t( )

8

UNNECESSARY

Page 5: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Effect of Equality Constraint Dimensionality: r < m

c x(t),u(t)[ ]! 0 = !" = 1V t( )

CL## 12$V 2 t( )S%

&'()*

m+ gcos" t( )

,

-

.

.

.

.

/

0

1111

MINIMIZE FUEL AND CONTROL USE WHILE MAINTAINING CONSTANT FLIGHT PATH ANGLE

minu(t )

J = q !m2 + r1u12 + r2u2

2( )t0

t f

! dt

! 0( ) = ! desired

9

Effect of Constraint Dimensionality: r < m

dim(x) = n !1dim(u) = m !1dim(c) = r !1

!c!u

"#$

%&' is not square when r < m

( !c!u

"#$

%&' is not strictly invertible

!! Three approaches to constrained optimization!! Algebraic solution for r control variables using an

invertible subset of the constraint (if it exists)!! Pseudoinverse of control effect [or weighted

pseudoinverse (TBD)]!! Soft constraint

10

Page 6: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

1st Approach: Algebraic Solution for r Control Variables

Example1:State & Controldim(x) = n !1; dim(Ar ) = r ! n

dim(u) = m !1; dim(ur ) = r !1; dim(Br ) = r ! rc ! Arx t( ) +Brur t( ) = 0; det(Br ) " 0

ur t( ) = #Br#1Ax t( )

Example 2 : Control onlydim(u) = m !1; dim(ur ) = r !1; dim(B1) = r ! r; dim(B2 ) = r ! m " r( )

c ! B1 B2#$

%&

urum"r

#

$''

%

&((= B1ur +B2um"r = 0; det(B1) ) 0

ur t( ) = "B1"1B2um"r t( )

11

Pseudoinverse of Matrix!

y = Ax dim(x) = r !1dim(y) = m !1

Matrix inverse if r = m, A is square and non-singular

x = A!1yIf r # m, A is not square, maximum rank of A is r or m,

whichever is smallerUse pseudoninverse of A

x = A#y = A†y

See http://en.wikipedia.org/wiki/Moore-Penrose_pseudoinverse12

Page 7: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Left and Right Pseudoinverse!

r < m, use Left pseudoinverse

Averaging solution

dim A( ) = m ! r

dim ATA( ) = r ! rdim AAT( ) = m !m

Ax = yATAx = ATy

x = ATA( )!1ATy

AL ! ATA( )!1AT

x = ALy

13

r > m, use Right pseudoinverse

Minimum-Euclidean-error-norm solution

Ax = y = Iy

Ax = AAT( ) AAT( )!1 y= Iy

Ax = A AT AAT( )!1 y"#

$%

x = AT AAT( )!1 yAR ! AT AAT( )!1x = ARy

2nd Approach: Satisfy Constraint Using Left Pseudoinverse: r < m

µµL = !"c"u

#$%

&'(T)

*++

,

-..

L"L"u

#$%

&'(T

+GT//)

*++

,

-..

Lagrange multiplier

!c!u

"#$

%&'T(

)*

+

,-

L

is the left pseudoinverse of control sensitivity

dim !c!u

"#$

%&'T(

)*

+

,-

L

= r .m

14

Page 8: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Necessary Conditions Use Left Pseudoinverse for r < m

!L!u

"#$

%&'T

+GT(( + !c!u

"#$

%&'T

µµL

)

*+

,

-. = 0

plus

!!(t f ) ="#[x(t f )]

"x$%&

'()

T

!!! = " LxT + FT!! ++ #c

#x$%&

'()T

µµL

*

+,

-

./

c x(t),u(t)[ ]! 0

15

µµL = ! "c"u

#$%

&'(T)

*+

,

-.

L"L"u

#$%

&'(T

+GT//)

*+

,

-.

Third Approach: Penalty Function Provides Soft State-Control

Equality Constraint: r < m

L ! Loriginal + !cTc

!Lorig!u

+ 2"cT !c!u

#$%

&'(

T

+GT))*

+,,

-

.//= 0

!!(t f ) ="#[x(t f )]

"x$%&

'()

T

c x(t),u(t)[ ]! 0

!!! = " LxT + FT!!#$ %&

= "'Lorig'x

+ 2(cT 'c'x

)*+

,-.

T

+ FT!!#

$//

%

&00

Euler-Lagrange equations are adjusted accordingly

! : Scalar penalty weight

16

Page 9: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Equality Constraint on State Alone

Hamiltonian J1 =! x(t f )"# $% + L x,u( ) + &&1

T (t) f x,u( )' !x(t)"# $% + µµT t( )c x( ){ }t0

t f

( dt

H ! L + !!1T f + µµTc

c x(t)[ ]! 0 in (t0, t f )

Constraint is insensitive to control perturbations to first order

!c = "c"x

#$%

&'(!x + "c

"u#$%

&'(!u = "c

"x#$%

&'(!x

0 17

Equality Constraint Has No Effect on Optimality Condition!H!u

"#$

%&'

T

= ( !L!u

)*+

,-.T

+GT// + !c!u

)*+

,-.T

µµ0

12

3

45

= ( !L!u

)*+

,-.T

+GT//0

12

3

45

Solution: Incorporate time-derivative of c[x(t)] in optimization

18

Page 10: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Introduce Time-Derivative of Equality Constraint

Define c[x(t)] as the zeroth-order equality constraint

c x(t)[ ]! c(0) x(t)[ ]! 0Compute first-order equality constraint

dc(0) x(t)[ ]dt

=!c(0) x(t)[ ]

!t+!c(0) x(t)[ ]

!xdx(t)dt

=!c(0) x(t)[ ]

!t+!c(0) x(t)[ ]

!xf x(t),u(t)[ ]

! c(1) x(t),u(t)[ ] = 019

Include Derivative in Optimality Condition

Includes derivative of equality constraint

!H x,u,""( )!u

#

$%&

'(

T

= )!L x,u( )

!u*+,

-./

T

+GT x,u( )"" t( ) + !c(1) x,u( )!u

*+,

-./

T

µµ#

$%%

&

'((

Must satisfy zeroth-order constraint at one point on path

e.g., c(0) x(to )[ ] ! 0 or c(0) x(t f )"# $% ! 0

!! If !c(1)/!u = 0, differentiate again, … and again, if control does not appear in c(2)

!! See Supplemental Material20

Page 11: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Minimization with Inequality Constraints!

21

Hard Inequality ConstraintConstraint not in force for entire trajectory

Trajectory must not pass beyond the constraint

22

Page 12: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Inequality Constraints

23

Different constraints invoked at different times

Some constraints never invoked

Transversality (“Corner”) Conditions

Juncture between unconstrained and constrained points

Three Weierstrass-Erdmann conditions

24

!! t1 –( ) = !! t1 +( )H t1 –( ) = H t1 +( )

"H"u

t1 –( ) = "H"u

t1 +( ) # 0

Page 13: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Corners and DiscontinuitiesContinuous " implies continuous u(t) at juncture

25

u t1 –( ) = u t1 +( )! !x t1 –( ) = !x t1 +( )Not a corner

Discontinuous " implies discontinuous u(t) at juncture

u t1 –( ) ! u t1 +( )" !x t1 –( ) ! !x t1 +( )Corner

“Soft” Control Inequality Constraint

L ! Loriginal + !cTc ! : Scalar penalty weight

c u(t)[ ] =u ! umax( )2

0u ! umin( )2

, u " umax, umin < u < umax, u # umin

$

%&&

'&&

Scalar Example

26

Page 14: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Singular Optimal Control Arcs

!! Analogous to constrained arcs; incorporation of time derivatives

!! Optimality dependent on order of singularity, p or q, e.g., Generalized convexity condition:

27

!!u

d (q)

dt (q)!H!u

"#$

%&'

(

)*

+

,- = 0, q is odd !1( )p 2 "

"ud ( p)

dt ( p)"H"u

#$%

&'(

)

*+

,

-. / 0, p is even or zero

!! p or q determined as on pp. 247-254, OCE

Numerical Optimization!

28

Page 15: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Numerical Optimization Methods

29Also see Betts, J., , “Survey of Numerical Methods for Trajectory Optimization,”

JGCD, 1998 (on Blackboard)

Parametric Optimization

Control specified by a parameter vector, kNo adjoint equations

minu(t )

J = ! x(t f )"# $% + L x(t),u(t)[ ]t0

t f

& dt

subject to!x(t) = f[x(t),u(t)] , x(t0 ) given

u(t) = k

u(t) = k0 + k1t + k2t2 +!, k = k0 k1 ! km!

"#$T

u(t) = k

u(t) = k0 + k1t + k2t2 +!, k = k0 k1 ! km!

"#$

u(t) = k0 + k1 sin% t

t f & t0

'

()*

+,+ k2 cos

% tt f & t0

'

()*

+,, k = k0 k1 k2!

"#$

Examples

30

Page 16: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Parametric Optimization

Necessary and sufficient conditions for a minimum

minu(t )

J = ! x(t f )"# $% + L x(t),u(t)[ ]t0

t f

& dt

subject to!x(t) = f[x(t),u(t)] , x(to ) given

! J!k

= 0; ! 2 J!k2

> 0

31

Use static search algorithm to find minimizing control parameter, k

Parametric Optimization! Example

k =k0k1k2

!

"

###

$

%

&&&

' J'k

= 0

' 2 J'k2

> 0

!V = Tmax ! CDo+ " CL#

k0 + k1t + k2t2( )$% &'

2( ) 12 (V 2S{ } m ! gsin)

!) = 1V

CL#k0 + k1t + k2t

2( ) 12 (V2S$

%*&'+m ! gcos),

-.

/01

!h =V sin)!r =V cos)!m = ! SFC( ) T( )

u t( ) !! t( ) = k0 + k1t + k2t

2( )

32

Control = airplane angle of attack

minkJ = p x(t f )! xdesired"# $%

2+ !m t( ) + r& 2 (t)"# $%dt

t0

t f

'

Page 17: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Penalty Function MethodBalakrishnan s Epsilon Technique

min

wrt u(t ),x(t )J =! x(t f ),t f"# $% + L x(t),u(t),t[ ]+ 1

&'()

*+, f x(t),u(t),t[ ]- !x(t){ }T •{ }( ).

/0

123dt

t0

t f

4

•! No integration of the dynamic equation•! Parametric optimization of the control

and state history

Augment the integral cost function by the dynamic equation error

x(t) ! x(kx ,t)u(t) ! u(ku ,t)

dim(kx ) ! ndim(ku ) ! m

1 / ! is the penalty for not satisfying the dynamic constraint

33

Penalty Function Method

•! Choose reasonable starting values of state and control parameters

–! e.g., state and control satisfy boundary conditions

•! Evaluate cost function

Update state and control parameters (e.g., steepest descent)

kxi+1 = kxi ! gain" J"kx kx=kxi

#

$%%

&

'((

T

kui+1 = kui ! gain" J"ku ku=kui

#

$%%

&

'((

T

J0 =! x0 (t f )"# $% + L x0 (t),u (t)[ ]+ 1

&'()

*+, f x0 (t),u0 (t)[ ]- !x0 (t){ }T •{ }( ).

/0

123dt

t0

t f

4

xi+1(t) ! x(kxi+1 ,t)ui+1(t) ! u(kui+1 ,t)

Re-evaluate cost with higher penaltyRepeat to convergence

Ji ! Ji+1! J*, " i i!#$ !$$ 0, f x(t),u(t),t[ ]! !x(t)

Taylor, Smith Iliff, 1969

34

Page 18: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Parametric Optimization: Collocation

•! Admissible controls occur at discrete times, k

•! Cost and dynamic constraint are discretized

•! “Pseudospectral” Optimal Control: State and adjoint points may be connected by basis functions, e.g., Legendre polynomials, B-splines,…

•! Continuous solution approached as time interval decreased

minuk

J = ! xk f"# $% + L xk ,uk[ ]k=0

k f &1

'subject toxk+1 = fk[xk ,uk ] , x0 given

http://en.wikipedia.org/wiki/Legendre_polynomials

http://en.wikipedia.org/wiki/Collocation_method

http://en.wikipedia.org/wiki/Pseudospectral_optimal_control 35

!x(t) = dx(t)dt

= f[x(t),u(t)]

x(tk+1) = x(tk )+ !x(tk ,tk+1) = x(tk )+ f[x(t),u(t)]dttk

tk+1

" # x(tk )+ f[x(t),u(tk )]dttk

tk+1

"" $$[x(tk ),u(tk )]

Discrete-Time Model of Continuous-Time System

Step-by-Step Rectangular (Euler, R-K 1) Integration

x(tk+1) = x(tk )+ !x(tk ,tk+1)" x(tk )+ f x(tk ),u(tk )[ ] !t , !t = tk+1 # tk! $$[x(tk ),u(tk )]

36

Page 19: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Discrete-Time Model of Continuous-Time System

Trapezoidal (modified Euler, R-K 2) Integration (ode23, w/o variable time step)

x(tk+1) ! x(tk )+

12

"x1(tk )+ "x2 (tk )[ ] ! ##[x(tk ),u(tk )]

37

Fourth-Order Runge-Kutta Integration (ode45, w/o variable time step)

x(tk+1) ! x(tk )+

16

"x1(tk )+ 2"x2 (tk )+ 2"x3(tk )+ "x4 (tk )[ ]! ##[x(tk ),u(tk )]

!x1(tk ) = f x(tk ),u(tk )[ ] !t; !x2 (tk ) = f x(tk )+ !x1(tk )[ ],u(tk ){ } !t

!x1(tk ) = f x(tk ),u(tk )[ ] !t !x2 (tk ) = f x(tk )+ !x1(tk ) 2[ ],u(tk ){ } !t!x3(tk ) = f x(tk )+ !x2 (tk ) 2[ ],u(tk ){ } !t !x4 (tk ) = f x(tk )+ !x3(tk )[ ],u(tk ){ } !t

Legendre Polynomials

Solutions to Legendre’s differential equation38

Page 20: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Parametric Optimization with Legendre Polynomials

P0 x( ) = 1P1 x( ) = x

P2 x( ) = 123x2 !1( )

P3 x( ) = 125x3 ! 3x( )

P4 x( ) = 1835x4 ! 30x2 + 3( )

P5 x( ) = 1863x5 ! 70x3 +15x( )

Optimizing Control: Find minimizing values of kn

u x( ) = k0P0 x( ) + k1P1 x( ) + k2P2 x( )+k3P3 x( ) + k4P4 x( ) + k5P5 x( ) +!

x ! t

t f ! to

39

Can combine with optimal shooting method

Neighboring Extremal (“Shooting”) Method

Shooting Method : Integrate both state and adjoint vector forward in time

uk+1(t) =fcn !H[xk (t),uk (t),"" k+1(t),t]!u

#$%

&'(= arg Luk (t)+ "" k+1

T t( ) ! f!u

)*+

,-. k

(t)#

$%

&

'( / 0

0123

4563

... but how do you know the initial value of the adjoint vector?

!!! k+1(t) = " # L#x k

t( ) + !! k+1T t( ) # f

#x$%&

'() k

t( )*

+,

-

./

T

, !! k (t0 ) given

!xk+1(t) = f[xk+1(t),uk (t)],x0 (t0 ) given, initial guess for u0 (t)

40

Control satisfies necessary condition #3

Page 21: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Neighboring Extremal (“Shooting”) Method

All trajectories are optimal (i.e., extremals ) for some cost function because

!H!u

= Hu =! L!u

"#$

%&' + ((T ! f

!u"#$

%&'

)*+

,-.= 0

Integrating state equation computes a value for

x(t f ) = x(t0 )+ f[xk+1(t),uk (t)]t0

t f

! ; " x(t f )#$ %&'(" x(t f )#$ %&

(x= ))** t f( )

Use a learning rule to estimate the initial value of the adjoint vector, e.g.,

!! k+1T t0( ) = !! k

T t0( )" gain !! kT t f( )" !!desired#$ %&

T

! x t f( )"# $%

41

Multiple Shooting Method•! Divide the total time

interval into n sub-intervals, defined by grid points

42

t0 < t1 < t2 <!< tN!1 < tN = t f

•! Optimize between grid points, e.g.,

minu t( )

J ! minu t( )

!Jn tn ,tn"1( )n=1

N

#

•! Constrain/correct/iterate final and initial state at grid points•! Option: Implement with discrete-time model•! Analogous to Nonlinear Programming (NLP)

Page 22: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Quasilinearization Method

!xk+1(t) = f[xk+1(t),uk (t)], x0 (t0 ) given, initial guess for u0 (t)

with

uk+1(t) defined by !H[xk (t),uk (t),"" k+1(t),t]!u

= Luk (t)+ "" k+1T t( ) ! f

!u#$%

&'( k

(t))

*+

,

-. = 0

!!! k+1(t) = " # L#x k

t( ) + !! k+1T t( ) # f

#x$%&

'() k

t( )*

+,

-

./

T

, !! k (t0 ) given

Initially similar to the Shooting Method

43

Quasilinearization Method

!x(t) = f[x(t),u(t)] = f '[x(t),!!(t)] as u(t) is a function of !!(t)

Write the state as a function of the adjoint

!x(t)! f '[x(t),""(t)]# !$!x(t)+ % f '%x

$x(t)+ % f '%""

$""(t)

!""(t)+ HxT = !$ !""(t)! %Hx

T '%x

$x(t)+ HxT '

%""$""(t)

Express first-order variations in state and adjoint equations

44

Page 23: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Quasilinearization Method

!!x(t) = " f '"x

!x(t)+ " f '"##

!##(t)

! !##(t) = $ "HxT '

"x!x(t)$ Hx

T '"##

!##(t)

Solve first-order state and adjoint equations

Estimate total state and adjoint vectorsxk+1(t) = xk (t)+ !"xk (t)## k+1(t) = ## k (t)+ !"## k (t)uk+1(t) = uk (t)+ "uk (t)

where "uk (t) is the linear - quadratic solution (TBD)45

Gradient-Based Methods!

46

Page 24: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Gradient-Based Search Algorithms

47

Gradient-Based Search Algorithms

uk+1(t) = uk (t) !" 2H"u2

t( )#

$%

&

'(k

!1"H"u

t( )#$%

&'(k

T

uk+1(t) = uk (t) ! "k#H#u

t( )$%&

'()k

T

Steepest Descent

Newton Raphson

Generalized Direct Search

uk+1(t) = uk (t) !Kk"H"u

t( )#$%

&'(k

T

48

Page 25: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Numerical Optimization Using Steepest-Descent

AlgorithmIterative bidirectional procedure

!xk (t) = f[xk (t),uk!1(t)] , x(t0 ) given

Use educated guess for u0(t) on first iteration

Forward solution to find the state, x t( )Backward solution to find the adjoint vector, !! t( )

Steepest-descent adjustment of control history, u t( )

49

Estimation of Partial DerivativesAnalytic: Symbolic manipulation of

analytical model

J = u ! 4( )2 ; dJdu

= 2 u ! 4( ); " 2 J"u2

= 2

Numerical: Central differences of nonlinear function

! J!u!J u + "u( )# J u # "u( )

2"u; ! 2 J

!u2!

! J!u

u + "u( )# ! J!u

u # "u( )2"u

50

Page 26: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Backward Solution to Compute Adjoint Vector

!!! k (t) = " #H#x

$%&

'()k

T

= " # L#x

*+,

-./ (t)+ !!T t( ) # f

#x*+,

-./ (t)

$%&

'()k

T

,

!!(t f ) =#0[x(t f )]

#x123

456

T

E-L #2 and #1[ ]

51

Control History Adjustment

uk+1(t) = uk (t)! "#H#u u(t )=uk (t )

$

%&&

'

())

T

= uk (t)! "# L#u

*+,

-./ t( ) + 00T t( ) # f

#u*+,

-./ t( )$

%&'()k

T

!H!u

"#$

%&' k

= ! L!u

"#$

%&' (t)+ ((T t( ) ! f

!u"#$

%&' (t)

)*+

,-.k

E / L #3[ ]

Use x t( ), !! t( ), and u t( ) from previous step 52

Page 27: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Finding the Best Steepest-Descent Gain

J0kuk t( ), 0 < t < t f!" #$ : Best solution from the previous iteration

53

Calculate the gradient, !H!u

t( )"#$

%&'k

, in 0 < t < t f , k = 0

J1kuk t( )! " k

#H#u

t( )$%&

'()k

, 0 < t < t f$

%&

'

() : Steepest - descent calculation of Cost #1

Finding the Best Steepest-Descent Gain

J2kuk t( )! 2" k

#H#u

t( )$%&

'()k

, 0 < t < t f$

%&

'

() : Steepest - descent calculation of Cost # 2

54

J !( ) = a0 + a1! + a2!2

J0k

J1k

J2k

"

#

$$$$

%

&

''''

=

a0 + a1 0( ) + a2 0( )2

a0 + a1 ! k( ) + a2 ! k( )2

a0 + a1 2! k( ) + a2 2! k( )2

"

#

$$$$$

%

&

'''''

=

1 0 01 ! k( ) ! k( )2

1 2! k( ) 2! k( )2

"

#

$$$$

%

&

''''

a0

a1

a2

"

#

$$$

%

&

'''

Solve for a0, a1, and a2

Find !* that minimizes J !( )

J !( ) = a0 + a1! + a2! 2"J !( )"!

= 0 = a1! + 2a2!

!*= #a1 2a2

Page 28: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Best Steepest-Descent Iteration

Jk+1 = J ! *k( ) Go to next iteration, k" k +1

55

uk+1 t( ) = uk t( )! " *k#H#u

t( )$%&

'()k, 0 < t < t f

Steepest-Descent Algorithm for Problem with Terminal Constraint

Chose uk+1(t) such that

!HConstrained

!u= !HU

!u" a

b#$%

&'(!HC

!u)*+

,-.= 0

uk+1(t) = uk (t)! "#HConstrained

#u u(t )=uk (t )

$

%&&

'

())

T

= uk (t)! " LuT +GT (t)**U t( )$% '(k !

1bkGT

k (t)**C t( )+ k x(t f )$% '(

minu(t )

J = ! x(t f )"# $% + L x(t),u(t)[ ]t0

t f

& dt ! x(t f )"# $% & 0 (scalar)

56Bryson & Ho, 1969

Page 29: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Stopping Conditions for Numerical Optimization

!! Computed total cost, J, reaches a theoretical minimum, e.g., zero

!! Convergence of J is essentially complete

!! Control gradient, Hu(t), is essentially zero throughout [to, tf]

!! Terminal cost/constraint is satisfied, and integral cost is “good enough”

Jk+1 > Jk ! "

Jk+1 = 0 + !

Huk+1t( ) = 0 ± ! in to,t f"# $%

or

Huk+1t( )H

uk+1

T t( )dtt0

t f

& = 0 + !

!k+1 t f( ) = 0 + " , or # k+1 t f( ) = 0 ± " ,

and L x t( ),u t( )$% &'dt < (t0

t f

)57

Optimal Treatment of an Infection!

58

Page 30: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Model of Infection and Immune Response

•! x1 = Concentration of a pathogen, which displays antigen

•! x2 = Concentration of plasma cells, which are carriers and producers of antibodies

•! x3 = Concentration of antibodies, which recognize antigen and kill pathogen

•! x4 = Relative characteristic of a damaged organ [0 = healthy, 1 = dead]

59

Infection Dynamics

!x1 = (a11 ! a12x3)x1 + b1u1 + w1!x2 = a21(x4 )a22x1x3 ! a23(x2 ! x2*) + b2u2 + w2!x3 = a31x2 ! (a32 + a33x1)x3 + b3u3 + w3!x4 = a41x1 ! a42x4 + b4u4 + w4

Fourth-order ordinary differential equation, including

effects of therapy (control)

60

Page 31: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Uncontrolled Response to Infection

61

Cost Function to be Minimized by Optimal Therapy

J = 12p11x1 f

2 + p44x4 f2( ) + 12 q11x1

2 + q44x42 + ru2( )dt

t0

t f

!

•! Tradeoffs between final values, integral values over a fixed time interval, state, and control

•! Cost function includes weighted square values of–! Final concentration of the pathogen–! Final health of the damaged organ (0 is good, 1 is bad)–! Integral of pathogen concentration–! Integral health of the damaged organ (0 is good, 1 is bad)–! Integral of drug usage

•! Drug cost may reflect physiological cost (side effects) or financial cost

62

Page 32: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Examples of Optimal Therapy

•! u1 = Pathogen killer•! u2 = Plasma cell enhancer•! u3 = Antibody enhancer•! u4 = Organ health enhancer

Unit cost weights

63

Next Time:!Minimum-Time and -Fuel

Problems!!

Reading!OCE: Section 3.5, 3.6!

64

Page 33: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Supplemental Material!

65

Left Pseudoinverse Example!Ax = y, r < m

x = ATA( )!1ATy

13

!

"#

$

%& x =

26

!

"#

$

%&

x = 1 3!" $%13

!

"#

$

%&

'()

*)

+,)

-)

.1

1 3!" $%26

!

"#

$

%&

= 110

20( ) = 2Unique solution

66

A = 13

!

"#

$

%&; y = 2

6!

"#

$

%&

Page 34: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Minimum-Error-Norm Solution!!! Euclidean error norm for linear equation

Ax ! y 22 = Ax ! y[ ]T Ax ! y[ ]

2 Ax ! y[ ]T = 2 A AT AAT( )!1 y"#

$% ! y{ }T = 2 AAT( ) AAT( )!1 y ! y{ }T

= 2 y ! y[ ]T = 0

dim(x) = r !1dim(y) = m !1

r > m!! Necessary condition for minimum error

!!xAx " y 2

2 = 2 Ax " y[ ]T = 0

!! Express x as right pseudoinverse

!! Therefore, x is the minimizing solution, as long as AAT is non-singular

67

Right Pseudoinverse Example!Ax = y, r > m

x = AT AAT( )!1 yAx = y; 1 3!" #$

x1x2

!

"%%

#

$&&= 14

x1x2

!

"%%

#

$&&= 1

3!

"%

#

$& 1 3!" #$

13

!

"%

#

$&

'()

*)

+,)

-)

.1

14

=

13

!

"%

#

$&

1014( ) = 1.4

4.2!

"%

#

$&

At least two solutions

x1

x2

!

"##

$

%&&= 2

4!

"#

$

%& satisfies the equation, but x 2 = 20

x1

x2

!

"##

$

%&&= 1.4

4.2!

"#

$

%& and x 2 = 19.6

Right pseudoinverse provides minimum - norm solution

68

A = 1 3!" #$; y = 14

Page 35: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

No Optimization When r = m

c x(t),u(t)[ ]! 0 =0 = !V = Tmax"T # CDo

+ $CL2( ) 12 %V

2S&'(

)*+m # gsin,

0 = !, = 1V

CL-- 12%V 2S.

/0123 m # gcos,&

'()*+

&

'

((((

)

*

++++

4 u(t) = fcn x(t[ ]

MAINTAIN CONSTANT VELOCITY AND FLIGHT PATH ANGLE

V 0( ) =Vdesired! 0( ) = ! desired

69

Examples of Equality Constraints

c x(t),u(t)[ ] ! 0 Pitch Moment = 0 = fcn(Mach Number, Stabilator Trim Angle)

c u(t)[ ] ! 0 Stabilator Trim Angle – constant = 0

c x(t)[ ] ! 0 Altitude – constant = 0 70

Page 36: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Example of Equality Constraint on State Alone

c x(t),u(t)[ ] = c x(t)[ ] =0 = h t( )! hdesired

minu(t )

J = q !m2 + r1u12 + r2u2

2( )t0

t f

! dt

MINIMIZE FUEL AND CONTROL USE WHILE MAINTAINING CONSTANT ALTITUDE

71

State Equality Constraint Example

c x(t)[ ]! c 0( ) x(t)[ ] = 0 = h t( )! hdesiredNo control in the constraint; differentiate

Still no control in the constraint; differentiate again…

dc(0) x(t)[ ]dt

=!c(0) x(t)[ ]

!t+!c(0) x(t)[ ]

!xf x(t),u(t)[ ]

! c(1) x(t)[ ] = 0 = "h t( ) =V t( )sin" t( )

72

Page 37: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

State Equality Constraint ExampleStill no control in the constraint; differentiate again

dc(1) x(t)[ ]dt

=!c(1) x(t)[ ]

!t+!c(1) x(t)[ ]

!xf x(t),u(t)[ ]! c(2) x(t)[ ]

73

= 0 = !!h t( ) = dV

dtt( )sin! t( ) +V t( ) d sin! t( )"# $%

dt

= TmaxSL e!"h( )#T !CD $( ) 12%V 2S&

'()*+ m ! gsin,-

./012sin, t( )

+cos, t( ) CL$$ 12%V 2S&

'()*+ m ! gcos,-

./012

State Equality Constraint Example

c 0( ) x(t0 )[ ] = 0 ! h t0( ) = hdesiredc 1( ) x(t0 )[ ] = 0 !" t0( ) = 0

Success! Control appears in the 2nd-order equality constraint

c(2) x(t),u t( )!" #$ = 0

= TmaxSL e%&h( )'T %CD (( ) 12) h( )V 2 t( )S*

+,-./ m t( )% gsin0 t( )!

"1#$2sin0 t( )

+cos0 t( ) CL(( 12) h( )V 2 t( )S*

+,-./ m t( )% gcos0 t( )!

"1#$2

!! 0th- and 1st-order constraints satisfied at some point on the trajectory (e.g., t0)

H ! L + !!1T f + µµTc 2( )

74

Page 38: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Control History Optimized with Legendre Polynomials Could be

expressed as a Simple Power Series

P0 x( ) = 1P1 x( ) = x

P2 x( ) = 123x2 !1( )

P3 x( ) = 125x3 ! 3x( )

P4 x( ) = 1835x4 ! 30x2 + 3( )

P5 x( ) = 1863x5 ! 70x3 +15x( )

u * x( ) = k0*P0 x( ) + k1*P1 x( ) + k2*P2 x( )+k3

*P3 x( ) + k4*P4 x( ) + k5*P5 x( ) +!

u * x( ) = a0* + a1*x + a2*x2

+a3*x3 + a4

*x4 + a5*x5 +!

a0* = k0

* ! k2* 12

"#$

%&' + k4

* 38

"#$

%&' +!

a1* = k1

* ! k3* 32

"#$

%&' + k5

* 158

"#$

%&' +!

a2* = k2

* 32

"#$

%&' ! k4

* 308

"#$

%&' +!

!75

Zero Gradient Algorithm for Quadratic Control Cost

minu(t )

J = ! x(t f )"# $% + L x(t)[ ]+ 12uT t( )Ru t( )&

'(

)*+t0

t f

, dt

!H!u

t( ) = Hu t( ) = uT t( )R + ""T t( )G t( )#$ %& ' 0

H x(t),u(t),!!(t)[ ] = L x(t)[ ]+ 12uT t( )Ru t( )"

#$

%&'+ !!T (t)f x(t),u(t)[ ]

Optimality condition:

76

Page 39: Minimization with Equality Constraints · f)$%+ L+& 1 {T (t)[ ]f 'x!(t) +µµTc} t 0 t f (dt H!L +! 1 T f +µµTc dim(x)= dim(f)= dim(!)= n"1 dim(u)= m"1 dim(c)= dim(µ)= r "1, r

Zero Gradient Algorithm for Quadratic Control Cost

Chose uk+1(t) such that

uk+1(t) = 1! "( )uk (t)! " R!1GkT t( )## k t( )$% &'

" ! Relaxation parameter < 1

!H!u

t( ) = Hu t( ) = uT t( )R + ""T t( )G t( )#$ %& ' 0

u*T t( )R = !"" ##T t( )G* t( )u* t( ) = !R!1G*T t( )"" ## t( )

Optimal control, u*(t)

But Gk t( ) and !! k t( ) are sub-optimal before convergence,and optimal control cannot be computed in single step

!

77

Effects of Increased Drug Costr = 100

78