10.02.2015 Views

Hybrid Model Predictive Control

Hybrid Model Predictive Control

Hybrid Model Predictive Control

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

:;#%3-(/'-$"(CBD$&=&'(,83;+,+E&FG&5H53+&#IFF F !"#<br />

012,3.&L1L8()L<br />

Computer<br />

Science<br />

:+;8,+5<br />

JK(+,1<br />

Finite<br />

state<br />

machines<br />

:+;83;+L&<br />

.1;-)37-5&<br />

L1L8()L<br />

"<br />

!<br />

!"#$%&'("()*+(<br />

"<br />

#<br />

"<br />

#<br />

u!t"<br />

L1L8()<br />

y!t"<br />

#<br />

!<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF # !"#


O)2(..(.&L1L8()L<br />

#,-./0#(<br />

!"#$%&'&(")*+'#<br />

-8+)-8+;&!&5+H37<br />

#,-./0#<br />

!"#$%&'&()*+,<br />

!"-./$,%0)1*"20&3+,,+,<br />

!"4&.,$'+0"+*+3%0&.)3,<br />

!"5&'+"122*)1.3+,<br />

!666<br />

3;8(,N-7(<br />

781'2*+9<br />

7+;83;+L&.1;-)37-5&L1L8()<br />

$/)'")+/+#(<br />

#'1'&#<br />

$/)'")+/+#(")*+'#<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF M !"#<br />

OQ-)*5(&+N&K12,3.&7+;8,+5&*,+25()<br />

4$8%(*'29:)$9;'


R(1&,(S3,()(;8L&N+,&K12,3.&)+.(5L<br />

!!=*(2$%*'+.&$:A"%&"312%$0+"%A+"(+A1B)&0"&C"%A+",>,%+'<br />

D"3&.%).$&$,"/>.1')3,"E2A>,)31*"*1F,G<br />

D"*&:)3"3&'2&.+.%,"E,F)%3A+,;"1$%&'1%1;",&C%F10+"3&/+G<br />

D").%+03&..+3%)&."(+%F++."*&:)3"1./"/>.1')3,<br />

!!7%+(0)/",>,%+',<br />

@13*'*>*$")A%:B'1('(%+.1')3,"10()%010)*>"F+**<br />

x3k456<br />

C 5((( C 7((( C 8(((( C 9((((( C 2((((((( C :<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF G !"#<br />

x3k6


B3L7,(8(&012,3.&$8+)-8+;&WB0$X<br />

WJ+,,3L3E&'()*+,-.E&#IIPX<br />

.'&+/*(*<br />

O9(;8&<br />

Y(;(,-8+,<br />

>U387K(.&<br />

$V;(&>1L8()<br />

Z3;38(&>8-8(&<br />

4-7K3;(<br />

'"-&(/%<br />

&;&)'(<br />

$/+)'&%<br />

F<br />

#<br />

s<br />

4+.(&>(5(78+,<br />

)+.(<br />

+,#('#-,-&<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF " !"#<br />

>U387K(.&-V;(&L1L8()<br />

IF)%3A+/"#J.+"I>,%+'<br />

.'&+/*(*<br />

+,#('#-,-&<br />

KA+"1J.+"/>.1')3,"/+2+./"&."%A+"3$00+.%"'&/+"iEkG9<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF [ !"#


O9(;8&H(;(,-8+,<br />

.'&+/*(*<br />

+,#('#-,-&<br />

7B+.%"B10)1(*+,"10+":+.+01%+/"(>"*).+10"%A0+,A&*/"3&./)%)&.,"&B+0"3&.%).$&$,"<br />

,%1%+,;"3&.%).$&$,").2$%,;"1./"%)'+9<br />

[δ i e(k) = 1] ←→ [H i x c (k)+K i u c (k) ≤ W i ]<br />

781'2*+9"LδEkGMNO"! Lx c EkG"PO<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF \ !"#<br />

Z3;38(&L8-8(&)-7K3;(<br />

Q).)%+"I%1%+"R13A).+<br />

.'&+/*(*<br />

+,#('#-,-&<br />

KA+"().10>",%1%+"&C"%A+"S.)%+",%1%+"'13A).+"+B&*B+,"<br />

133&0/).:"%&"1"T&&*+1.",%1%+"$2/1%+"C$.3%)&.9<br />

781'2*+9<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF FI !"#


4+.(&L(5(78+,<br />

R&/+"I+*+3%&0<br />

.'&+/*(*<br />

=>&(-/!&(#&0&$'/%($1)(.&(#&&)(<br />

1#('>&(/+'*+'(+)$'"/)(/('>&(<br />

!"#$%&'&(!,)1-"$#<br />

+,#('#-,-&<br />

KA+"13%)B+"'&/+"iEkG"),",+*+3%+/"(>"1"T&&*+1."C$.3%)&."&C"%A+"3$00+.%"().10>"<br />

,%1%+,;"().10>").2$%,;"1./"+B+.%"B10)1(*+,9<br />

781'2*+9"<br />

<<br />

5<br />

< 5<br />

8K(&L1L8()&K-L&M&)+.(L<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF FF !"#<br />

`+H37&#&3;(S-5383(L<br />

WY5+9(,&F\"]E&<br />

^3553-)L&F\""E<br />

0++_(,&#IIIX<br />

"P6"X)B+."1"T&&*+1.",%1%+'+.%<br />

"N6"4&.B+0%"%&"4&.U$.3%)B+"V&0'1*"Q&0'"E4VQG9<br />

W6"K01.,C&0'").%&").+$1*)%)+,9<br />

2&*>A+/0&.<br />

#.>"*&:)3"20&2&,)%)&."31."(+"%01.,*1%+/").%&"*).+10").%+:+0").+$1*)%)+,<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF F# !"#


@/A"$(#(")&B+10"'"&#C(#,-./0"$(1**%/1$><br />

"781'2*+9<br />

"N6"4&.B+0%"%&"4&.U$.3%)B+"V&0'1*"Q&0'"E4VQG9<br />

""""E,++"+6:69"http://www.oursland.net/aima/propositionApplet.html<br />

"""""&0"U$,%",+103A"L4VQ"Y"122*+%O"&."X&&:*+"666G<br />

W6"K01.,C&0'").%&").+$1*)%)+,9<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF FM !"#<br />

'3H=4&8(7K;3S(&W3aX<br />

!"4&.,)/+0"%A+"'01"#.1,#$%1'0"3&./)%)&.<br />

! "#,,$'+"X"(&$./+/"1./"*+%"M"1./"m",$3A"%A1%<br />

!"KA+"'01"#.1,#$%1'0"3&./)%)&."),"+$)B1*+.%"%&<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF FP !"#


'3H=4&8(7K;3S(&W3N=8K(;=(5L(X<br />

!"4&.,)/+0"%A+"'01()*#1*$&*"3&./)%)&.<br />

! "#,,$'+"X"(&$./+/"1./"*+%"M 5; M 7 "1./"m 5 ; m 7 ",$3A"%A1%<br />

!"KA+"'01()*#1*$&*"3&./)%)&."),"+$)B1*+.%"%&<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF F] !"#<br />

>U387K(.&-V;(&L1L8()<br />

#-.&/012)<br />

34%1)#56&17<br />

*<br />

KA+",%1%+Z$2/1%+"+$1%)&."31."(+"0+F0)%%+."1,"1"/)[+0+.3+"<br />

+$1%)&."Y"'01()*#1*$&*!3&./)%)&.,9<br />

8<br />

s<br />

FA+0+"""""""""""""""""""""""""""""6"<br />

\$%2$%"+$1%)&.,"y c EkGMC i x c EkGYD i u $ EkGYg i "1/')%"1",)')*10"%01.,C&0'1%)&.6<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF FG !"#


`+H37&-;.&3;(S-5383(L<br />

3D0/;&%(5EF2G(<br />

H"00"1-#(5EFFG<br />

I//J&%(7


$&L3)*5(&(Q-)*5(<br />

!"I>,%+'9<br />

!"#,,&3)1%+<br />

1./"%01.,C&0'<br />

!"KA+.<br />

!"`+F0)%+"1,"1"*).+10"+$1%)&.<br />

W@+8(b&;+;53;(-,&L1L8()&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&X<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF F\ !"#<br />

0c>BO`<br />

5]I^7_<br />

E5](0)/"I>,%+',"^7,30)2%)&."_1.:$1:+G<br />

!"^+,30)(+")%2/'.!&%&(*3&4<br />

D"#$%&'1%1<br />

D"_&:)3<br />

D"_).6"^>.1')3,<br />

D"-.%+0C13+,<br />

D"4&.,%01).%,<br />

!C$


012,3.&J++52+Q&N+,&4$J`$'<br />

$,&4%$2@<br />

!"5>(0)/"'&/+*,9"/+,):.;",)'$*1%)&.;"B+0)S31%)&.<br />

!"Ra4"/+,):."C&0"*).+10",>,%+',"F@"3&.,%01).%,"<br />

""""1./"A>(0)/",>,%+',"E&.Z*).+"&2%)')=1%)&."B)1"ba@R-_a@R-baG<br />

!"782*)3)%"Ra4"EB)1"'$*%)Z2101'+%0)3"20&:01'').:G<br />

!"#$%&'1%)3"4Z3&/+":+.+01%)&.<br />

!"I)'$*).


'+;73;H&2-55&(Q-)*5(<br />

8<br />

56!3!7<br />

9<br />

5&F"%&"'&/+*"%A+"(&$.3).:"(1**"1,"1"/),30+%+Z<br />

%)'+"A>(0)/",>,%+'"c<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF #M !"#<br />

'+;73;H&2-55&e&J3)(&.3L7,(83A-83+;<br />

x<br />

Zmg<br />

x<br />

:&"%&"/+'&""@demos/hybrid/bball.m<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF #P!"#


'+;73;H&2-55&&=&0c>BO`&)+.(5<br />

SYSTEM bouncing_ball {<br />

INTERFACE {<br />

/* Description of variables and constants */<br />

STATE { REAL height [-10,10];<br />

REAL velocity [-100,100]; }<br />

}<br />

IMPLEMENTATION {<br />

AUX {<br />

PARAMETER {<br />

REAL g;<br />

REAL alpha; /* 0=elastic, 1=completely anelastic */<br />

REAL Ts; }<br />

REAL hnext;<br />

REAL vnext;<br />

BOOL negative; }<br />

AD { negative = height CBD$&=&'(,83;+,+E&FG&5H53+&#IFF #] !"#<br />

'+;73;H&2-55&=&>3)5-83+;<br />

>>Ts=0.05;<br />

>>g=9.8;<br />

>>alpha=0.3;<br />

>>S=mld('bouncing_ball',Ts);<br />

>>N=150;<br />

>>U=zeros(N,0);<br />

>>x0=[5 0]';<br />

>>[X,T,D]=sim(S,x0,U);<br />

V&%+9".&"d+.&"+[+3%,<br />

)."/),30+%+"%)'+"e<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF #G!"#


OQ-)*5(b&D++)&8()*(,-8,(<br />

$:&L1L8()<br />

$%&'(#)#%"!*(+,<br />

0(-8(,<br />

- K+8<br />

- 7+5.<br />

K '7F<br />

C 5<br />

C 7<br />

•&fF&8,;L&8K(&K(-8(,&W$!:X&+;&<br />

&&&UK(;(9(,&K(&3L&7+5.&WK+8X<br />

•&CN&f#&3L&7+5.&K(&8,;L&8K(&K(-8(,&+;E&<br />

&&;5(LL&fF&3L&K+8<br />

•&CN&f#&3L&K+8&K(&8,;L&$!:&+;E&<br />

&&;5(LL&&f#&3L&7+5.<br />

•&g8K(,U3L(E&K(-8(,&-;.&$!:&-,(&+a<br />

:&"%&"/+'&""@demos/hybrid/heatcool.m<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF #" !"#<br />

0c>BO`&4+.(5<br />

!"#$%&'F99;#9G'<br />

H9$'@1);1#<br />

http://www.dii.unisi.it/hybrid/toolbox<br />

>>S=mld('heatcoolmodel',Ts)<br />

H(8&8K(&4`B&)+.(5&3;&4-85-2<br />

>>[XX,TT]=sim(S,x0,U);<br />

L3)5-8(&8K(&4`B&)+.(5<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF #[!"#


012,3.&4`B&4+.(5<br />

!"R_^"'&/+*<br />

!"W"3&.%).$&$,",%1%+,9<br />

!"N"3&.%).$&$,").2$%9<br />

!"W"1$8)*)10>"3&.%).$&$,"B10,9<br />

!"f"1$8)*)10>"().10>"B10,9<br />

E%+'2+01%$0+,"T 5 ;T 7 G<br />

E0&&'"%+'2+01%$0+"T 1-. G<br />

E2&F+0"g&F,"u >/' ;"u $/0! G<br />

Eh"%A0+,A&*/,"Y"W"C&0"\`"3&./)%)&.G<br />

!"WP"')8+/Z).%+:+0").+$1*)%)+,<br />

"a&,,)(*+"3&'().1%)&."&C").%+:+0"B10)1(*+,9"W :( M"fh"<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF #\!"#<br />

012,3.&6^$&4+.(5<br />

!"ai#"'&/+*<br />

>>P=pwa(S);<br />

!"W"3&.%).$&$,",%1%+,9<br />

E%+'2+01%$0+,"T 5 ;T 7 G<br />

!"N"3&.%).$&$,").2$%9<br />

E0&&'"%+'2+01%$0+"T 1-. G<br />

01'&1A+/01*"0+:)&.,<br />

""":;"/('(',#!.,*&!#,(!.*;*#.!,#!'#;-(<<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF MI!"#


3)5-83+;&3;&>3)53;_<br />

R_^"1./"ai#"'&/+*,"10+"+$)B1*+.%<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF MF !"#<br />

4+.(5&*,(.37839(&7+;8,+5&+N&K12,3.&L1L8()L<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF M# !"#


012,3.&7+;8,+5&*,+25()<br />

2%&'(#)5'-+0,,<br />

$/)'")+/+#(<br />

")*+'#<br />

$/)'")+/+#(<br />

#'1'&#<br />

.")1%,(<br />

")*+'#<br />

.")1%,(<br />

#'1'&#<br />

-"./("0)#0+(,(-")*!10'<br />

#0,('0#)&02!3(-'<br />

+-",4'!("4,<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF MM !"#<br />

46:&+N&K12,3.&L1L8()L<br />

"R_^"'&/+*<br />

3&.%0&**+0<br />

A>(0)/",>,%+'<br />

0+C+0+.3+<br />

rWtX<br />

).2$%<br />

uWtX<br />

&$%2$%<br />

yWtX<br />

'+1,$0+'+.%,<br />

! R\^7_9"$,+"1."R_^"E&0"ai#G"'&/+*"&C"%A+"2*1.%"%&"20+/)3%"%A+"C$%$0+"(+A1B)&0"<br />

&C"%A+"A>(0)/",>,%+'<br />

! a`7^-4K-k79"&2%)')=1%)&."),",%)**"(1,+/"&."%A+"20+/)3%+/"C$%$0+"+B&*$%)&."&C"%A+"<br />

A>(0)/",>,%+'<br />

! 4\VK`\_9"%A+":&1*"),"%&"3&.%0&*"%A+"A>(0)/",>,%+'<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF MP!"#


46:&N+,&K12,3.&L1L8()L<br />

5>(0)/"R&/+*"a0+/)3%)B+"4&.%0&*<br />

!"#%"%)'+"t",&*B+"%A+"S.)%+ZA&0)=&."&2%)'1*"3&.%0&*"20&(*+'"F606%6 U <br />

min<br />

u 0 ,...,u N−1<br />

N−1 <br />

k=0<br />

y k − r 2 Q + u k − u r 2 R<br />

+σ δ k − δ r 2 + z k − z r 2 + x k − x r 2<br />

⎡<br />

⎢<br />

⎣<br />

⎤<br />

u 0<br />

⎥<br />

. ⎦<br />

u N−1<br />

subject to<br />

MLD equations<br />

x 0 = x(t)<br />

x N = x r<br />

;+8-83+;b<br />

v 2 Q v Qv<br />

FA+0+"%A+"+$)*)(0)$'"3&./)%)&."""""""""""""""""""""""""""),"&(%1).+/"(>",&*B).:"%A+"<br />

(x r ,u r , δ r ,z r )<br />

C&**&F).:"')8+/Z).%+:+0"C+1,)()*)%>"20&(*+'<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

x r = Ax r + B 1 u r + B 2 δ r + B 3 z r<br />

r = Cx r + D 1 u r + D 2 δ r + D 3 z r<br />

E 2 δ r + E 3 z r ≤ E 4 x r + E 1 u r + E 5<br />

!"#<br />

!"#22*>"&.*>"u(t)Mu 0 *"E/),310/"%A+"0+'1).).:"&2%)'1*").2$%,G<br />

!"#%"%)'+"t+19":+%".+F"'+1,$0+'+.%,;"0+2+1%"&2%)')=1%)&.<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF M]<br />

:5+L(.=5++*&7+;9(,H(;7(<br />

4*&,+/Z*&&2"4&.B+0:+.3+<br />

FA*9$*+'_+%""""""""""""""""""""""""""""(+"%A+"+$)*)(0)$'"B1*$+,"3&00+,2&./).:'%&",+%"2&).%"r6"<br />

(x r ,u r , δ r ,z r )<br />

#,,$'+"x(0)"),",$3A"%A1%"%A+"Ra4"20&(*+'"),"C+1,)(*+"1%"%)'+"t=06""<br />

KA+."""""""""""""""""""""""""""""""""""""%A+"3*&,+/Z*&&2"A>(0)/"Ra4"*&&2"3&.B+0:+,"1,>'2%&%)31**><br />

∀Q, R 0, ∀σ > 0<br />

lim<br />

t→∞ y(t) = r<br />

lim<br />

t→∞ u(t) = u r<br />

lim<br />

t→∞ x(t) = x r<br />

lim<br />

t→∞ δ(t) = δ r<br />

lim<br />

t→∞ z(t) = z r<br />

1./"1**"3&.,%01).%,"10+"C$*S**+/"1%"+13A"%)'+"t≥06<br />

!@17A$CBD$&=&'(,83;+,+E&FG&5H53+&#IFF MG!"#


:+;9(,H(;7(&*,++N<br />

R1).")/+19"l,+"3!/60)76"+4(-")V*(x(t))"1,"1"8%!56"-3"C$.3%)&.<br />

! _+%"Ut"M"&2%)'1*"3&.%0&*",+$+.3+"1%"%)'+"t; U t =[u t 0 ... ut N−1 ]<br />

! T>"3&.,%0$3%)&.""""""""""""""""""""""""""""""""""""""""""""""""""""),"1"C+1,)(*+",+$+.3+"1%"%)'+"t+1"<br />

Ū =[u t 1 ... ut N−1 0]<br />

! KA+"3&,%"&C""""""""""""),<br />

Ū t+1<br />

V ∗ (x(t)) −y(t) − r 2 Q −u − u r 2 R<br />

−σ δ(t) − δ r 2 + z(t) − z r 2 + x(t) − x r 2 ≥ V ∗ (x(t + 1))<br />

! V""""""""""""""""""),"'&.&%&.)31**>"/+30+1,).:"1./"!0;",&<br />

∗ (x(t))<br />

∃ lim t→∞<br />

V ∗ (x(t)) V ∞<br />

! 5+.3+""""""""""""""""""""""""""""""""""""""""""""""""""""1./<br />

y(t) − r 2 Q , u(t) − u r 2 R<br />

δ(t) − δ r 2 , z(t) − z r 2 , x(t) − x r 2 → 0<br />

! I).3+"R,Q>0;"""""""""""""""""""""""""""""""""""""""""""""""""""""""";"1./"1**"&%A+0"B10)1(*+,"3&.B+0:+6<br />

lim y(t) =r, lim<br />

t→∞<br />

t→∞ u(t) =u r<br />

<br />

X*&(1*"&2%)'$'"),".&%".++/+/"%&"20&B+"3&.B+0:+.3+"e<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF M" !"#<br />

4Ch6&Z+,)5-83+;&+N&46:<br />

R-ba"Q&0'$*1%)&."&C"Ra4<br />

!@17A$


4C`6&N+,)5-83+;&+N&46:<br />

R-ba"Q&0'$*1%)&."&C"Ra4<br />

!@17A$


012,3.&46:&(Q-)*5(<br />

5>(0)/"Ra4"Z"781'2*+<br />

ai#",>,%+'9<br />

&:+;L8,-3;8b<br />

\2+."*&&2"(+A1B)&0<br />

:&"%&"/+'&""@demos/hybrid/bm99sim.m<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF PF !"#<br />

012,3.&46:&(Q-)*5(<br />

5>(0)/"Ra4"Z"781'2*+<br />

5]I^7_<br />

'&/+*<br />

/* 2x2 PWA system - Example from the paper<br />

A. Bemporad and M. Morari, ``<strong>Control</strong> of systems integrating logic, dynamics,<br />

and constraints,'' Automatica, vol. 35, no. 3, pp. 407-427, 1999.<br />

(C) 2003 by A. Bemporad, 2003 */<br />

SYSTEM pwa {<br />

INTERFACE {<br />

STATE { REAL x1 [-10,10];<br />

REAL x2 [-10,10];}<br />

INPUT { REAL u [-1.1,1.1];}<br />

OUTPUT{ REAL y;}<br />

PARAMETER {<br />

REAL alpha = 1.0472; /* 60 deg in radiants */<br />

REAL C = cos(alpha);<br />

REAL S = sin(alpha);}<br />

}<br />

IMPLEMENTATION {<br />

AUX { REAL z1,z2;<br />

BOOL sign; }<br />

AD { sign = x1


012,3.&46:&(Q-)*5(<br />

5>(0)/"Ra4"Z"781'2*+<br />

4*&,+/Z*&&29<br />

&6(,N+,)-;7(&3;.(Qb<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF PM!"#<br />

012,3.&46:&e&J()*(,-8,(&7+;8,+5<br />

>>refs.x=2; % just weight state #2<br />

>>Q.x=1;<br />

>>Q.rho=Inf; % hard constraints<br />

>>Q.norm=2; % quadratic costs<br />

>>N=2; % optimization horizon<br />

>>limits.xmin=[25;-Inf];<br />

>>C=hybcon(S,Q,N,limits,refs);<br />

>> C<br />

<strong>Hybrid</strong> controller based on MLD model S <br />

2 state measurement(s)<br />

0 output reference(s)<br />

0 input reference(s)<br />

1 state reference(s)<br />

0 reference(s) on auxiliary continuous z-variables<br />

20 optimization variable(s) (8 continuous, 12 binary)<br />

46 mixed-integer linear inequalities<br />

sampling time = 0.5, MILP solver = 'glpk'<br />

Type "struct(C)" for more details.<br />

>><br />

>>[XX,UU,DD,ZZ,TT]=sim(C,S,r,x0,Tstop);<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF PP!"#


012,3.&46:&e&J()*(,-8,(&7+;8,+5<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF P]!"#<br />

$&>3)*5(&OQ-)*5(&3;&>**51&:K-3;&4-;-H()(;8<br />

-1)+1$'+%&%(L<br />

");&)'/%,(5<br />

%&'1"0&%(5<br />

-1)+1$'+%&%(M<br />

");&)'/%,(7<br />

-1)+1$'+%&%(K<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF PG!"#


1L8()&i-,3-25(L<br />

!"3&.%).$&$,",%1%+,9<br />

x ij WkX&k&-)+;8&+N&j&K+5.&3;&3;9(;8+,1&i<br />

-8&83)( k&WikFE#E&jkFE#X<br />

!"3&.%).$&$,"&$%2$%,9<br />

y j WkX&k&-)+;8&+N&j&L+5.&-8&83)(&k<br />

WjkFE#X<br />

!"3&.%).$&$,").2$%,9<br />

u ij WkX&k&-)+;8&+N&j&8-_(;&N,+)&3;9(;8+,1&i&<br />

&&&&&&&&&&&-8&83)(&k WikFE#E&jkFE#X<br />

!"().10>").2$%,9<br />

U Xij WkX&k&F&3N&)-;N-78,(,&X&*,+.7(L&-;.&L(;.&j&8+&3;9(;8+,1&i&<br />

&&&&&&&&&&&&-8&83)(&k<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF P"!"#<br />

:+;L8,-3;8L<br />

!"R18"31213)%>"&C").B+.%&0>"i9"<br />

""<br />

""P·"∑ j x ij WkX"·"x Mi<br />

@)(,37-5&9-5(Lb&&<br />

x MF kFIE&x M# kFI<br />

!"R18"%01.,2&0%1%)&."C0&'").B+.%&0)+,9"<br />

""<br />

""P·"u ij WkX"·"u M<br />

!"#"20&/$3%"31."&.*>"(+",+.%"%&"&.+").B+.%&0>9<br />

l#NNEkG"1./"l#WNEkG"31..&%"(+"MN"1%"%A+",1'+"%)'+<br />

lTNNEkG"1./"lTWNEkG"31..&%"(+"MN"1%"%A+",1'+"%)'+"lTNWEkG"1./"lTWWEkG"<br />

31..&%"(+"MN"1%"%A+",1'+"%)'+<br />

l4NWEkG"1./"l4WWEkG"31..&%"(+"MN"1%"%A+",1'+"%)'+<br />

!"#"'1.$C13%$0+0"31."&.*>"20&/$3+"&.+"%>2+"&C"20&/$3%"1%"&.+"%)'+9<br />

LlTNNEkGMN"&0"lTWNEkGMNO"1./"LlTNWEkGMN"&0"lTWWEkGMNO"31..&%"(+"%0$+<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF P[!"#


B1;-)37L<br />

@)(,37-5&9-5(Lb<br />

P AF kPE&P BF kGE&P B# k"E&P C# kM<br />

!"_+B+*"&C").B+.%&0)+,9"<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF P\!"#<br />

012,3.&B1;-)37-5&4+.(5<br />

SYSTEM supply_chain{<br />

INTERFACE {<br />

STATE { REAL x11 [0,10];<br />

REAL x12 [0,10];<br />

REAL x21 [0,10];<br />

REAL x22 [0,10]; }<br />

INPUT { REAL u11 [0,10];<br />

REAL u12 [0,10];<br />

REAL u21 [0,10];<br />

REAL u22 [0,10];<br />

BOOL UA11,UA21,UB11,UB12,UB21,UB22,UC12,UC22; }<br />

OUTPUT {REAL y1,y2;}<br />

PARAMETER { REAL PA1,PB1,PB2,PC2,xM1,xM2;}<br />

}<br />

IMPLEMENTATION {<br />

AUX { REAL zA11, zB11, zB12, zC12, zA21, zB21, zB22, zC22;}<br />

DA { zA11 = {IF UA11 THEN PA1 ELSE 0};<br />

zB11 = {IF UB11 THEN PB1 ELSE 0};<br />

zB12 = {IF UB12 THEN PB2 ELSE 0};<br />

zC12 = {IF UC12 THEN PC2 ELSE 0};<br />

zA21 = {IF UA21 THEN PA1 ELSE 0};<br />

zB21 = {IF UB21 THEN PB1 ELSE 0};<br />

zB22 = {IF UB22 THEN PB2 ELSE 0};<br />

zC22 = {IF UC22 THEN PC2 ELSE 0}; }<br />

!demos/hybrid/supply_chain.m<br />

} }<br />

CONTINUOUS {x11 = x11 + zA11 + zB11 - u11;<br />

x12 = x12 + zB12 + zC12 - u12;<br />

x21 = x21 + zA21 + zB21 - u21;<br />

x22 = x22 + zB22 + zC22 - u22; }<br />

OUTPUT { y1 = u11 + u21;<br />

y2 = u12 + u22; }<br />

MUST { ~(UA11 & UA21);<br />

~(UC12 & UC22);<br />

~((UB11 | UB21) & (UB12 | UB22));<br />

~(UB11 & UB21);<br />

~(UB12 & UB22);<br />

x11+x12 =0;<br />

x21+x22 =0; }<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF ]I!"#


g2l(7839(L<br />

! "R++%"3$,%&'+0"/+'1./"1,"'$3A"1,"2&,,)(*+9"""""y 5( $"r 5 ;"y 7( $"r 7<br />

!"R).)')=+"%01.,2&0%1%)&."3&,%,<br />

!"Q$*S**"1**"3&.,%01).%,<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF ]F !"#<br />

6(,N+,)-;7(&>*(7L<br />

penalty on demand tracking error<br />

cost for shipping<br />

from inv.#1 to<br />

market<br />

cost for<br />

shipping<br />

from inv.#2 to<br />

market cost from A to<br />

inventories<br />

cost from B to<br />

inventories<br />

cost from C to<br />

inventories<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF ]# !"#


3)5-83+;&L(8*<br />

>>refs.y=[1 2]; % weights output2 #1,#2<br />

>>Q.y=diag([10 10]); % output weights<br />

…<br />

>>Q.norm=Inf; % infinity norms<br />

>>N=2;<br />

% optimization horizon<br />

>>limits.umin=umin; % constraints<br />

>>limits.umax=umax;<br />

>>limits.xmin=xmin;<br />

>>limits.xmax=xmax;<br />

>>C=hybcon(S,Q,N,limits,refs);<br />

>> C<br />

<strong>Hybrid</strong> controller based on MLD model S [Inf-norm]<br />

4 state measurement(s)<br />

2 output reference(s)<br />

12 input reference(s)<br />

0 state reference(s)<br />

0 reference(s) on auxiliary continuous z-variables<br />

44 optimization variable(s) (28 continuous, 16 binary)<br />

176 mixed-integer linear inequalities<br />

sampling time = 1, MILP solver = 'glpk'<br />

Type "struct(C)" for more details.<br />

>><br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF ]M !"#<br />

>3)5-83+;&,(L58L<br />

>>x0=[0;0;0;0];<br />

>>r.y=[6+2*sin((0:Tstop-1)'/5)<br />

5+3*cos((0:Tstop-1)'/3)];<br />

% Initial condition<br />

% Reference trajectories<br />

>>[XX,UU,DD,ZZ,TT]=sim(C,S,r,x0,Tstop);<br />

4al"%)'+9"$"No"',"2+0"%)'+",%+2"E$,).:"X_an"&."%A),"'13A).+G<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF ]P!"#


OQ*53738&K12,3.&46:<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF ]] !"#<br />

OQ*53738&K12,3.&46:&W4`B&N+,)5-83+;X<br />

min ξ J(ξ,x(t)) =<br />

subject to<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

T<br />

−1<br />

k=0<br />

Q(y k ) ∞ + Ru k ∞<br />

x k+1 = Ax k + B 1 u k + B 2 δ k + B 3 z k + B 5<br />

y k = Cx k + D 1 u k + D 2 δ k + D 3 z k + D 5<br />

E 2 δ k + E 3 z k ≤ E 4 x k + E 1 u k + E 5<br />

x 0 = x(t)<br />

!"\.Z*).+"&2%)')=1%)&.9",&*B+"%A+"20&(*+'"C&0!1":)B+.",%1%+"xEtG<br />

R)8+/Z-.%+:+0"_).+10"a0&:01'"ER-_aG<br />

!"\[Z*).+"&2%)')=1%)&.9",&*B+"%A+"R-_a")."1/B1.3+"H9$'1;;"xEtG<br />

min ξ<br />

s.t.<br />

T −1 <br />

k=0<br />

x k + u k<br />

Gξ ≤ W + Sx(t)<br />

+8;)%NCBD$&=&'(,83;+,+E&FG&5H53+&#IFF ]G!"#


OQ-)*5(&+N&)583*-,-)(8,37&L+583+;<br />

R$*%)2101'+%0)3"_a<br />

GI<br />

PI<br />

#I<br />

x 2 I<br />

=#I<br />

CR { 1,4}<br />

CR { 1,2,3 }<br />

CR { 1,3 }<br />

CR { 2,3 }<br />

=PI<br />

=GI<br />

=GI =PI =#I I #I PI GI<br />

x 1<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF ]" !"#<br />

4583*-,-)(8,37&4C`6<br />

min<br />

ξ c ,ξ d<br />

s.t.<br />

f cξ c + f d ξ d<br />

G c ξ c + G d ξ d ≤ W + Sx<br />

!"'2ZR-_a"31."(+",&*B+/"E(>"1*%+0.1%).:"R-_a,"1./"'2Z_a,G<br />

!KL'B)M.6&.N$A$L;$6B)*+++"<br />

O'FA*9$*+0"KA+"'$*%)2101'+%0)3",&*$%)&.""""""""""""""),"2)+3+F),+"1J.+<br />

!"FA*'@K4'29:)$9;;*$'%('CBD$&=&'(,83;+,+E&FG&5H53+&#IFF ][!"#


OQ*53738&K12,3.&46:&W6^$&N+,)5-83+;X<br />

min U J(U, x(t))<br />

T<br />

−1<br />

= Q(y k ) ∞ + Ru k ∞<br />

subject to<br />

⎧ k=0<br />

x ⎪⎨ k+1 = A i(k) x k + B i(k) u k + f i(k)<br />

y k = C i(k) x k + D i(k) u k + g i(k)<br />

⎪⎩<br />

i(k) such that H i(k) x k + W i(k) u k ≤ K i(k)<br />

x 0 = x(t)<br />

!"FA*'@K4'29:)$9;;*$'%('".&%"(+"C$**>"2&*>A+/01*"E,++".+8%",*)/+G<br />

h<br />

j<br />

W<br />

N<br />

f<br />

R<br />

o<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF ]\!"#<br />

:+)*8-83+;&+N&(Q*53738&K12,3.&46:&W6^$X<br />

R+%A&/"#9<br />

R+%A&/"T9<br />

W'+,,(553E&'-+837E&'()*+,-.E&4+,-,3E&>-(,3"('+"E&#II]X<br />

mL(&-&7+)23;-83+;&+N&B6&W.1;-)37&*,+H,-))3;HX&-;.&)*`6<br />

WF=;+,)E&%=;+,)XE&+,&)*h6&WS-.,-837&N+,)LX<br />

W'()*+,-.E&%2/'.!@,,$2,8E&#IIMX&W$5(LL3+E&'()*+,-.E&$B0>&#IIGXW4-1;(E&O::&#IIFX<br />

F&=&mL(&2-7_U-,.L&WkB6X&,(-7K-235381&-;-51L3L&N+,&(;)(,-83;H&-55&<br />

&&&&N(-L325(&)+.(&L(S(;7(L&Ik{iWIXEiWFXEnEiWTX}o<br />

#&=&Z+,&(-7K&pQ(.&L(S(;7(&IE&L+59(&8K(&(Q*53738&p;38(=83)(<br />

&&&&&+*83)-5&7+;8,+5&*,+25()&N+,&8K(&7+,,(L*+;.3;H&53;(-,&<br />

&&&&&83)(=9-,13;H&L1L8()&W)*h6&+,&)*`6Xo<br />

M&=&:-L(&F!%=;+,)b&:+)*-,(&9-5(&N;783+;L&-;.&L*538&,(H3+;L%<br />

""""b$1/01%)3"31,+9"".&%"(+"C$**>"<br />

2&*>A+/01* T+%%+0"A+/01<br />

$%&'()*+,-.<br />

/012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF<br />

!"#


012,3.&7+;8,+5&(Q-)*5(L&W,(93L38(.X<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF GF !"#<br />

012,3.&7+;8,+5&(Q-)*5(<br />

ai#",>,%+'9<br />

4*&,+/"*&&29<br />

"4&.,%01).%,9<br />

"\(U+3%)B+9<br />

\2+."*&&2<br />

(+A1B)&09<br />

5>(K(89""@demos/hybrid/bm99sim.m<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF G#!"#


OQ*53738&6^$&7+;8,+55(,<br />

>(783+;&U38K& rkI<br />

x #<br />

5>(K(89""@demos/hybrid/bm99sim.m<br />

3KNO('"-&C(5P25(#G(N&)'"+-(Q(5P9DIR6<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF GM!"#<br />

x F<br />

ai#"*1F"&"Ra4"*1F"e<br />

5>(0)/"3&.%0&*"+81'2*+<br />

012,3.&7+;8,+5&(Q-)*5(<br />

4*&,+/"*&&29<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF GP!"#


OQ*53738&6^$&,(H5-8+,<br />

"\(U+3%)B+9<br />

6,(.3783+;&K+,3A+;&NkF<br />

6,(.3783+;&K+,3A+;&Nk#<br />

6,(.3783+;&K+,3A+;&NkM<br />

5>(K(89""@demos/hybrid/bm99benchmark.m<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF G]!"#<br />

OQ*53738&46:&e&J()*(,-8,(&7+;8,+5<br />

>>E=expcon(C,range,options);<br />

>> E<br />

Explicit controller (based on hybrid controller C)<br />

3 parameter(s)<br />

1 input(s)<br />

12 partition(s)<br />

sampling time = 0.5<br />

The controller is for hybrid systems (tracking)<br />

This is a state-feedback controller.<br />

Type "struct(E)" for more details.<br />

>><br />

S&$'"/)(")('>&(3= 5 G= 7 6T#*1$&<br />

/%(= %&( U(8<<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF GG!"#


OQ*53738&46:&e&J()*(,-8,(&7+;8,+5<br />

X+.+01%+/"<br />

4Z3&/+<br />

utils/expcon.h<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF G"!"#<br />

C)*5()(;8-83+;&-L*(78L&+N&K12,3.&46:<br />

!".;)*$:1)%>*(9" ENG",&*B+"R-a"&.Z*).+<br />

""""""""""""""""""" EWG"+B1*$1%+"1"ai#"C$.3%)&.<br />

!"I'1**"20&(*+',"E,A&0%"A&0)=&."NMN;W;"&.+"&0"%F&").2$%,G9"+82*)3)%"ai#"3&.%0&*"*1F"<br />

""""20+C+01(*+<br />

Z"%)'+"%&"+B1*$1%+"%A+"3&.%0&*"*1F"),",A&0%+0"%A1."R-a<br />

Z"3&.%0&*"3&/+"),",)'2*+0"E.&"3&'2*+8",&*B+0"'$,%"(+"<br />

"").3*$/+/")."%A+"3&.%0&*",&C%F10+"eG<br />

Z"'&0+").,):A%")."3&.%0&**+0p,"(+A1B)&0<br />

!"R+/)$'@*10:+"20&(*+',"E*&.:+0"A&0)=&.;"'1.>").2$%,"1./"().10>"B10)1(*+,G9"<br />

""""R-a"20+C+01(*+<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF G[!"#


012,3.&7+;8,+5&.(L3H;&q+U<br />

2A>,)31*<br />

,>,%+'<br />

3&.%0&*"&(U+3%)B+,<br />

m"3&.,%01).%,<br />

A>(0)/<br />

'&/+*<br />

,)'$*1%)&.<br />

1./"B1*)/1%)&.<br />

&2%)'1*"3&.%0&*<br />

,+%$2<br />

3/)T0")&(QVN6<br />

,)'$*1%)&.<br />

1./"B1*)/1%)&.<br />

-+0'"T<br />

*1%1-&'%"$<br />

#/0;&%<br />

NHL($/)'%/0(01W<br />

R1%*1("%&&*9<br />

!"#$%&'F99;#9G<br />

)'2*+'+.%1%)&."<br />

E4"3&/+G"1./"<br />

+82+0)'+.%,<br />

>+,<br />

.&<br />

%&&"<br />

3&'2*+8<br />

c<br />

$%&'()*+,-. /012,3.&4+.(5&6,(.37839(&:+;8,+57+5-&@-A3+;-5(&.3&B+88+,-8+&>CBD$&=&'(,83;+,+E&FG&5H53+&#IFF G\!"#<br />

Y(;(,-5&,()-,_L&-2+8&4C6&)+.(53;H<br />

KA+"3&'2*+8)%>"&C",&*B).:"1"')8+/Z).%+:+0"20&:01'<br />

*10:+*>"/+2+./,"&."%A+".$'(+0"&C").%+:+0"E().10>G"<br />

B10)1(*+,").B&*B+/")."%A+"20&(*+'6<br />

5+.3+C&0%A;"FA+."30+1%).:"1"A>(0)/"'&/+*"&.+"A1,"%&<br />

90)42'(74%):(42)("40;0')3!'(!&/0,)<<br />

=##(";)/-;(+!/)+-",4'!("4,)6,6!//%)20/5,)>>><br />

X+.+01**>",2+1CBD$&=&'(,83;+,+E&FG&5H53+&#IFF "I!"#


'3253+H,-*K1<br />

`+C+0+.3+,<br />

P*Q))))3J)@17A$

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!