Hybrid Model Predictive Control
Hybrid Model Predictive Control
Hybrid Model Predictive Control
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$