root/applications/dual/IterativeLocal/text/bpkomplet.lyx @ 906

Revision 906, 85.7 kB (checked in by vahalam, 14 years ago)
Line 
1#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
2\lyxformat 345
3\begin_document
4\begin_header
5\textclass scrreprt
6\use_default_options true
7\language czech
8\inputencoding auto
9\font_roman default
10\font_sans default
11\font_typewriter default
12\font_default_family default
13\font_sc false
14\font_osf false
15\font_sf_scale 100
16\font_tt_scale 100
17
18\graphics default
19\paperfontsize default
20\spacing single
21\use_hyperref false
22\papersize a4paper
23\use_geometry false
24\use_amsmath 1
25\use_esint 1
26\cite_engine basic
27\use_bibtopic false
28\paperorientation portrait
29\secnumdepth 2
30\tocdepth 2
31\paragraph_separation indent
32\defskip medskip
33\quotes_language german
34\papercolumns 1
35\papersides 1
36\paperpagestyle default
37\tracking_changes false
38\output_changes false
39\author ""
40\author ""
41\end_header
42
43\begin_body
44
45\begin_layout Standard
46\align left
47\begin_inset ERT
48status open
49
50\begin_layout Plain Layout
51
52
53\backslash
54thispagestyle{empty}
55\end_layout
56
57\end_inset
58
59
60\end_layout
61
62\begin_layout Standard
63\align center
64
65\size large
66České vysoké učení technické v Praze
67\end_layout
68
69\begin_layout Standard
70\align center
71
72\size large
73Fakulta jaderná a fyzikálně inženýrská
74\end_layout
75
76\begin_layout Standard
77\begin_inset VSpace bigskip
78\end_inset
79
80
81\end_layout
82
83\begin_layout Standard
84\align center
85Katedra matematiky
86\end_layout
87
88\begin_layout Standard
89\align center
90Obor: Inženýrská informatika
91\end_layout
92
93\begin_layout Standard
94\align center
95Zaměření: Softwarové inženýrství
96\end_layout
97
98\begin_layout Standard
99\begin_inset VSpace bigskip
100\end_inset
101
102
103\end_layout
104
105\begin_layout Standard
106\align center
107\begin_inset Graphics
108        filename logo_cvut.eps
109        lyxscale 20
110        scale 20
111
112\end_inset
113
114
115\end_layout
116
117\begin_layout Standard
118\begin_inset VSpace bigskip
119\end_inset
120
121
122\end_layout
123
124\begin_layout Standard
125\align center
126
127\size larger
128\color black
129Iterativní lokální dynamické programování pro návrh duálního řízení
130\end_layout
131
132\begin_layout Standard
133\begin_inset VSpace smallskip
134\end_inset
135
136
137\end_layout
138
139\begin_layout Standard
140\align center
141
142\size larger
143\color black
144Iterative local dynamic programming for dual control
145\end_layout
146
147\begin_layout Standard
148\begin_inset VSpace bigskip
149\end_inset
150
151
152\end_layout
153
154\begin_layout Standard
155\align center
156
157\size largest
158\color black
159BAKALÁŘSKÁ
160\size larger
161 
162\size largest
163PRÁCE
164\end_layout
165
166\begin_layout Standard
167\begin_inset VSpace vfill
168\end_inset
169
170
171\end_layout
172
173\begin_layout Standard
174\align center
175Vypracoval: Michal Vahala
176\end_layout
177
178\begin_layout Standard
179\align center
180Vedoucí práce: Ing.
181 Václav Šmídl, Ph.D.
182\end_layout
183
184\begin_layout Standard
185\align center
186Rok: 2010
187\end_layout
188
189\begin_layout Standard
190\begin_inset Newpage newpage
191\end_inset
192
193
194\end_layout
195
196\begin_layout Standard
197\begin_inset ERT
198status open
199
200\begin_layout Plain Layout
201
202
203\backslash
204thispagestyle{empty}
205\end_layout
206
207\end_inset
208
209
210\end_layout
211
212\begin_layout Standard
213zadání práce
214\end_layout
215
216\begin_layout Standard
217\begin_inset Newpage newpage
218\end_inset
219
220
221\end_layout
222
223\begin_layout Standard
224\begin_inset ERT
225status open
226
227\begin_layout Plain Layout
228
229
230\backslash
231thispagestyle{empty}~
232\end_layout
233
234\end_inset
235
236
237\end_layout
238
239\begin_layout Standard
240\begin_inset VSpace vfill
241\end_inset
242
243
244\end_layout
245
246\begin_layout Subsubsection*
247Prohlášení
248\end_layout
249
250\begin_layout Standard
251Prohlašuji, že jsem svou bakalářskou práci vypracoval samostatně a použil
252 jsem pouze podklady uvedené v přiloženém seznamu.
253\end_layout
254
255\begin_layout Standard
256\begin_inset VSpace bigskip
257\end_inset
258
259
260\end_layout
261
262\begin_layout Standard
263\noindent
264\align left
265V Praze dne \SpecialChar \ldots{}
266\SpecialChar \ldots{}
267\SpecialChar \ldots{}
268\SpecialChar \ldots{}
269\SpecialChar \ldots{}
270 
271\begin_inset space \hfill{}
272\end_inset
273
274\SpecialChar \ldots{}
275\SpecialChar \ldots{}
276\SpecialChar \ldots{}
277\SpecialChar \ldots{}
278\SpecialChar \ldots{}
279\SpecialChar \ldots{}
280
281\end_layout
282
283\begin_layout Standard
284\noindent
285\align block
286\begin_inset space \hfill{}
287\end_inset
288
289Michal Vahala
290\begin_inset ERT
291status open
292
293\begin_layout Plain Layout
294
295~~
296\end_layout
297
298\end_inset
299
300
301\end_layout
302
303\begin_layout Standard
304\begin_inset Newpage newpage
305\end_inset
306
307
308\end_layout
309
310\begin_layout Standard
311\begin_inset ERT
312status open
313
314\begin_layout Plain Layout
315
316
317\backslash
318thispagestyle{empty}~
319\end_layout
320
321\end_inset
322
323
324\end_layout
325
326\begin_layout Standard
327\begin_inset VSpace vfill
328\end_inset
329
330
331\end_layout
332
333\begin_layout Subsubsection*
334Poděkování
335\end_layout
336
337\begin_layout Standard
338Děkuji \SpecialChar \ldots{}
339 za \SpecialChar \ldots{}
340
341\end_layout
342
343\begin_layout Standard
344\begin_inset VSpace defskip
345\end_inset
346
347
348\end_layout
349
350\begin_layout Standard
351\begin_inset space \hfill{}
352\end_inset
353
354Michal Vahala
355\end_layout
356
357\begin_layout Standard
358\begin_inset Newpage newpage
359\end_inset
360
361
362\end_layout
363
364\begin_layout Standard
365\begin_inset ERT
366status open
367
368\begin_layout Plain Layout
369
370
371\backslash
372thispagestyle{empty}
373\end_layout
374
375\end_inset
376
377
378\end_layout
379
380\begin_layout Description
381
382\emph on
383Název
384\begin_inset space \space{}
385\end_inset
386
387práce:
388\emph default
389\color black
390
391\begin_inset ERT
392status open
393
394\begin_layout Plain Layout
395
396~
397\end_layout
398
399\end_inset
400
401
402\begin_inset Newline newline
403\end_inset
404
405Iterativní lokální dynamické programování pro návrh duálního řízení
406\end_layout
407
408\begin_layout Description
409\begin_inset VSpace defskip
410\end_inset
411
412
413\end_layout
414
415\begin_layout Description
416
417\emph on
418Autor:
419\emph default
420 Michal Vahala
421\end_layout
422
423\begin_layout Description
424
425\emph on
426Obor:
427\emph default
428 Inženýrská informatika
429\end_layout
430
431\begin_layout Description
432
433\emph on
434Druh
435\begin_inset space \space{}
436\end_inset
437
438práce:
439\emph default
440 Bakalářská práce
441\end_layout
442
443\begin_layout Description
444
445\emph on
446Vedoucí
447\begin_inset space \space{}
448\end_inset
449
450práce:
451\emph default
452 Ing.
453 Václav Šmídl, Ph.D.
454\end_layout
455
456\begin_layout Description
457
458\emph on
459Konzultant:
460\emph default
461 ---
462\end_layout
463
464\begin_layout Description
465
466\emph on
467Abstrakt:
468\emph default
469 abstrakt
470\end_layout
471
472\begin_layout Description
473
474\emph on
475Klíčová
476\begin_inset space \space{}
477\end_inset
478
479slova:
480\emph default
481 klíčová slova
482\end_layout
483
484\begin_layout Standard
485\begin_inset VSpace bigskip
486\end_inset
487
488
489\end_layout
490
491\begin_layout Description
492
493\emph on
494Title:
495\emph default
496\color black
497
498\begin_inset ERT
499status open
500
501\begin_layout Plain Layout
502
503~
504\end_layout
505
506\end_inset
507
508
509\begin_inset Newline newline
510\end_inset
511
512Iterative local dynamic programming for dual control
513\end_layout
514
515\begin_layout Description
516\begin_inset VSpace defskip
517\end_inset
518
519
520\end_layout
521
522\begin_layout Description
523
524\emph on
525Author:
526\emph default
527 Michal Vahala
528\end_layout
529
530\begin_layout Description
531
532\emph on
533Abstract:
534\emph default
535 abstrakt
536\end_layout
537
538\begin_layout Description
539
540\emph on
541Key
542\begin_inset space \space{}
543\end_inset
544
545words:
546\emph default
547 klíčová slova
548\end_layout
549
550\begin_layout Standard
551\begin_inset Newpage newpage
552\end_inset
553
554
555\end_layout
556
557\begin_layout Standard
558\begin_inset ERT
559status open
560
561\begin_layout Plain Layout
562
563
564\backslash
565thispagestyle{empty}
566\end_layout
567
568\end_inset
569
570
571\end_layout
572
573\begin_layout Standard
574\begin_inset CommandInset toc
575LatexCommand tableofcontents
576
577\end_inset
578
579
580\end_layout
581
582\begin_layout Standard
583\begin_inset Newpage newpage
584\end_inset
585
586
587\end_layout
588
589\begin_layout Standard
590\begin_inset ERT
591status open
592
593\begin_layout Plain Layout
594
595
596\backslash
597thispagestyle{empty}
598\end_layout
599
600\end_inset
601
602
603\end_layout
604
605\begin_layout Chapter*
606Seznam použitého označení
607\end_layout
608
609\begin_layout Labeling
610\labelwidthstring 00.00.0000
611iLDP iterativní lokální dynamické programování
612\end_layout
613
614\begin_layout Labeling
615\labelwidthstring 00.00.0000
616LQG lineáně kvadraticky gaussovské řízení (Linear-Quadratic-Gaussian)
617\end_layout
618
619\begin_layout Labeling
620\labelwidthstring 00.00.0000
621iLQG iterativní LQG
622\end_layout
623
624\begin_layout Labeling
625\labelwidthstring 00.00.0000
626
627\color red
628DDP
629\color inherit
630 diferenciální dynamické programování
631\end_layout
632
633\begin_layout Standard
634\begin_inset Newpage newpage
635\end_inset
636
637
638\end_layout
639
640\begin_layout Addchap
641Úvod
642\end_layout
643
644\begin_layout Standard
645Skutečný svět se nikdy nechová přesně podle matematických rovnic, protože
646 ty jsou vždy jen jakýmsi zjednodušením nebo přiblížením.
647 V reálném světě se vyskytuje mnoho neznámých veličin, poruch, nepředvídatelných
648 vlivů a ani naše měřící přístroje nejsou přesné.
649 Chceme-li efektivně řídit nějaký systém, musíme si být těchto vlivů vědomi
650 a zahrnout je do našich uvažování.
651 Situace se však ještě může zkomplikovat, když jeden nebo více parametrů
652 neznáme.
653 To může nastat z různých důvodů, například příšlušné čidlo nebo měřící
654 přístroj nemůžeme nebo nechceme (například z důvodů vysoké ceny) instalovat
655 a tedy o velikosti příslušné hodnoty můžeme jen usuzovat ze známých dat.
656 Ještě složitější situace nastane, když uvažujeme neznámý parametr proměnný.
657 
658\end_layout
659
660\begin_layout Standard
661
662\color black
663Máme tedy dva cíle, musíme systém co nejlépe řídit a současně se snažit
664 o co nejpřesnější určení neznámých parametrů.
665 Tyto dva postupy jsou však obecně v rozporu, protože parametry se nejlépe
666 určují, když je systém vybuzen a nechová se optimálně.
667 Právě tento rozpor a nalezení kompromisu, který povede k jeho řešení, je
668 podstatou duálního řízení.
669\end_layout
670
671\begin_layout Standard
672
673\color black
674Pro přiblížení ilustrujme problém na jednoduchém příkladě: Uvažujme elektromotor
675 s možností řídit napětí na vstupu motoru a měřit příslušné proudy.
676 Jedná se tedy o systém se dvěma vstupy a dvěma výstupy.
677 Cílem našeho řízení je dosažení požadovaných otáček rotoru.
678 Ovšem otáčky a ani polohu hřídele měřit nemůžeme.
679 Máme o nich však znalost v podobě středních hodnot a variancí.
680 Naší snahou je co nejpřesněji určit hodnotu otáček a polohy hřídele a současně
681 systém řídit tak, abychom dosáhly požadované hodnoty otáček.
682 Tyto dvě snahy jsou ale v rozporu, protože nejvíce informací o neznámých
683 parametrech získáme, když je motor vybuzen.
684 Tedy například se prudce rozjíždí, brzdí, rychle mění rychlost nebo kmitá,
685 což se projevuje v proudech, které máme možnost měřit.
686 Ale právě vybuzení motoru je v rozporu se snahou o dobré řízení, protože
687 chyba, které se dopustíme je většinou nepřijatelná.
688 Naopak, když se systém snažíme řídit, bez dostatečné znalosti jeho parametrů,
689 s velkou pravděpodobností selžeme.
690\end_layout
691
692\begin_layout Standard
693\begin_inset VSpace bigskip
694\end_inset
695
696
697\end_layout
698
699\begin_layout Standard
700Námětem této bakalářské práce je algoritmus
701\emph on
702iterativního lokálního dynamického programování
703\emph default
704(iLDP) jako jedna z metod pro řešení problému duálního řízení.
705 Algoritmus byl navržen a popsán v článku
706\color black
707
708\begin_inset CommandInset citation
709LatexCommand cite
710key "TodorovTassaILDP"
711
712\end_inset
713
714
715\color inherit
716.
717 Jak už prozrazuje název algoritmu, jedná se o iterační metodu.
718 Tedy stručně řečeno, algoritmus vyjde od nějakého počátečního řízení, které
719 je ovšem nutno dodat jako apriorní informaci a v cyklech (iteracích) tuto
720 řídící strategii vylepšuje, za účelem získání řízení optimálního.
721 Dále se jedná o metodu lokální, což v můžeme jednoduše chápat tak, že kandidáti
722 na
723\begin_inset Quotes gld
724\end_inset
725
726vylepšení
727\begin_inset Quotes grd
728\end_inset
729
730 řízení jsou vybírání z jistého, zatím blíže nespecifikovaného, okolí původní
731 řídící strategie.
732 Nakonec algoritmus využívá obecné schéma dynamického programování, které
733 bude blíže popsáno v dalším textu.
734\end_layout
735
736\begin_layout Standard
737\begin_inset VSpace bigskip
738\end_inset
739
740
741\end_layout
742
743\begin_layout Standard
744Cílem této práce bylo seznámit se s obecnou tématikou duálního řízení a
745 detailněji s konkrétním algoritmem - iterativním lokálním dynamickým programová
746ním.
747 Následně tento algoritmus implementovat a aplikovat na jednoduchý systém.
748 Otestovat jeho funkčnost a schopnost řídit a to i v porovnání s jinými
749 metodami a algoritmy.
750 
751\emph on
752\color blue
753Dále implementovat algoritmus iLDP pro složitější systém blíže praktické
754 aplikaci, konkrétně se jedná o synchronní motor s permanentními magnety.
755 Opět otestovat funkčnost a případně srovnat s dostupnými výsledky jiných
756 řídících strategii.
757
758\emph default
759\color inherit
760 Na základě získaných výsledků posoudit výhody a nevýhody algoritmu a jeho
761 použitelnost na další úlohy.
762\end_layout
763
764\begin_layout Standard
765Hlavním přínosem práce je otestování vlastností algoritmu iLDP na jiných
766 problémech, než pro které byla vyvinuta autory.
767 Objevení kladů a záporů algoritmu a dále díky srovnání s jinými algoritmy
768 získání přehledu, pro které praktické aplikace je vhodnější respektive
769 méně vhodný než srovnávané metody.
770 Prvotní očekávání pro srovnání algoritmu iLDP a
771\emph on
772\color blue
773principu separace
774\emph default
775\color inherit
776 jsou, že iLDP bude rychlejší co do výpočetního času, avšak přesnost získaných
777 výsledků bude nižší.
778 Dále je očekávána nezanedbatelná závislost výsledného řízení na volbě použitých
779 aproximací a apriorní řídící strategie.
780\end_layout
781
782\begin_layout Standard
783\begin_inset Newpage newpage
784\end_inset
785
786
787\end_layout
788
789\begin_layout Chapter
790Teorie duálního řízení
791\end_layout
792
793\begin_layout Section
794Základní pojmy
795\end_layout
796
797\begin_layout Subsection
798Systém a řízení
799\end_layout
800
801\begin_layout Subsubsection
802Systém
803\end_layout
804
805\begin_layout Standard
806Základním pojmem, se kterým budeme v textu pracovat je
807\emph on
808systém
809\emph default
810.
811 Obdobně jako základní pojmy zejména v matematických vědách (bod, množina,
812 algoritmus,\SpecialChar \ldots{}
813), nelze tento pojem exaktně definovat.
814 Systém si můžeme představit jako jistý
815\begin_inset Quotes gld
816\end_inset
817
818objekt
819\begin_inset Quotes grd
820\end_inset
821
822, často bude reprezentovat objekt skutečného světa.
823 Hlavní vlastností systému je, že má zpravidla jeden nebo více vstupů, pomocí
824 kterých mu můžeme předávat informaci -- řízení a jeden nebo více výstupu,
825 což jsou hodnyty, které pozorujeme.
826 Co se odehrává uvnitř systému však obecně nevíme.
827 Řízení, které budeme dodávat systému na vstup bude v textu značeno písmenem
828 
829\emph on
830
831\begin_inset Formula $u$
832\end_inset
833
834
835\emph default
836.
837 Analogicky bude písmenem
838\emph on
839
840\begin_inset Formula $y$
841\end_inset
842
843
844\emph default
845 označena pozorovaná hodnota na výstupu.
846 
847\end_layout
848
849\begin_layout Standard
850Chování systému, to je jakým výstupem reaguje na vstup, popisujeme dle
851\begin_inset CommandInset citation
852LatexCommand cite
853key "MelicharLS"
854
855\end_inset
856
857 obecně diferenciální rovnicí respektive soustavou diferenciálních rovnic
858 vyšších řádů.
859 Jedná se o takzvaný
860\color black
861vnější popis
862\color inherit
863.
864 Tento druh popisu, pohlíží na systém
865\begin_inset Quotes gld
866\end_inset
867
868zvenku
869\begin_inset Quotes grd
870\end_inset
871
872 bez skutečné znalosti, co se odehrává uvnitř systému a jaká je jeho podstata.
873 Vnější popis obvykle obdržíme při odvození modelu systému z fyzikálních
874 rovnic.
875 Omezení, která z něj plynou, se snažíme odstranit zavedením
876\color black
877vnitřního (stavového) popisu
878\color inherit
879, kdy (soustavu) diferenciálních rovnic vyššího řádu, převedeme vhodnou
880 volbou nových proměnných
881\emph on
882
883\begin_inset Formula $x$
884\end_inset
885
886
887\series bold
888 
889\series default
890\emph default
891na soustavu diferenciálních rovnic prvního řádu.
892 Proměnné
893\emph on
894
895\begin_inset Formula $x$
896\end_inset
897
898
899\series bold
900 
901\series default
902\emph default
903označujeme jako
904\color black
905stavové proměnné
906\color inherit
907.
908\end_layout
909
910\begin_layout Subsubsection
911Řízení
912\end_layout
913
914\begin_layout Standard
915Naším úkolem je pro zadaný systém nalézt regulátor, tedy obecně řízení
916\emph on
917
918\begin_inset Formula $u$
919\end_inset
920
921
922\emph default
923 takové, které dodané na vstup způsobí, že systém se bude
924\begin_inset Quotes gld
925\end_inset
926
927chovat podle našich požadavků
928\begin_inset Quotes grd
929\end_inset
930
931.
932 To zpravidla znamená, že hodnoty výstupní veličiny
933\series bold
934\emph on
935
936\begin_inset Formula $y$
937\end_inset
938
939
940\series default
941\emph default
942 dosáhnou (nebo se přiblíží s danou přesností) požadované hodnotě v podobě
943 referenčního signálu, který regulátor dostavá z vnějšku a současně dodrží
944 předem stanovená omezení.
945 Práce je ovšem zaměřena na řízení složitějších systémů, u kterých jeden
946 nebo více parametrů neznáme přesně.
947 Tedy některý (více) z koeficientů v rovnicích popisujících systém není
948 znám.
949 Máme však o něm jistou statistickou informaci v podob
950\color black
951ě jeho
952\color inherit
953 očekávané hodnoty a variance.
954 Dále je-li systém nelineární, jsou výsledné rovnice příliš složité a tedy
955 analyticky neřešitelné.
956 Pro numerické řešení, jsou rovnice systému zpravidla převáděny do diskrétního
957 tvaru.
958\end_layout
959
960\begin_layout Standard
961Řízení obecně dělíme podle
962\begin_inset CommandInset citation
963LatexCommand cite
964key "MelicharLS"
965
966\end_inset
967
968 na dva typy:
969\emph on
970Přímovazební řízení
971\emph default
972 užíváme v případě, kde je k dispozici přesný matematický model systému
973 a je vyloučen výskyt neurčitostí.
974 Toto řízení nevyužívá žádné zpětné informace od systému a regulátor pracuje
975 pouze s referenčním signálem.
976 Naproti tomu
977\emph on
978zpětnovazební řízení
979\emph default
980 využívá i informace o skutečném výstupu systému a snaží se tak eliminovat
981 chyby v důsledku neurčitostí a chyb způsobenych nepřesností modelu.
982\end_layout
983
984\begin_layout Subsubsection
985Duální řízení
986\end_layout
987
988\begin_layout Standard
989Chceme navrhnout regulátor pro zadaný systém s neznámými parametry.
990 Úkoly jsou tedy dva: 1.
991
992\emph on
993 opatrnost
994\emph default
995 - efektivně systém řídit a 2.
996
997\emph on
998 testování
999\emph default
1000 - určit neznáme parametry.
1001 Tyto dva přístupy jsou ale obecně v rozporu.
1002 Abychom mohli systém dobře řídit, potřebujeme znát parametry co nejpřesněji.
1003 Nejvíce informací o parametrech však získáme, když je systém vybuzen a
1004 nechová optimálně.
1005 Tyto pojmy není snadné kvantifikovat, ale velmi často se projevují v konkrétníc
1006h řídících schématech.
1007 Naším úkolem je pokusit nalézt nějaký kompromis mezi oběma úkoly.
1008 Právě tento přístup je označován jako
1009\emph on
1010duální řízení
1011\emph default
1012 
1013\begin_inset CommandInset citation
1014LatexCommand cite
1015key "BertsekasDPOC"
1016
1017\end_inset
1018
1019.
1020 
1021\end_layout
1022
1023\begin_layout Subsection
1024Formulace problému
1025\end_layout
1026
1027\begin_layout Standard
1028V textu budeme pracovat zpravidla s diskrétním systémem, ve smyslu systému
1029 s diskrétním časem, protože výpočty jsou prováděny ve většině případů problemat
1030iky duálního řízení numericky.
1031 Rovnice popisující systém jsou však zpravidla ve spojitém tvaru, (model
1032 často vychází ze skutečnosti, popřípadě fyzikálních zákonů).
1033 V tomto případě provádíme diskretizaci.
1034\end_layout
1035
1036\begin_layout Standard
1037Základní problém je formulován podle
1038\begin_inset CommandInset citation
1039LatexCommand cite
1040key "BertsekasDPOC"
1041
1042\end_inset
1043
1044 následovně:
1045\end_layout
1046
1047\begin_layout Standard
1048\begin_inset VSpace defskip
1049\end_inset
1050
1051
1052\end_layout
1053
1054\begin_layout Standard
1055Uvažujme stavový popis diskrétního dynamického systému
1056\begin_inset Formula \begin{equation}
1057\begin{array}{cc}
1058x_{k+1}=f_{k}(x_{k},u_{k},w_{k}), & k=0,\ldots,N-1\end{array},\label{eq:zakladniproblem}\end{equation}
1059
1060\end_inset
1061
1062kde
1063\begin_inset Formula $x_{k}$
1064\end_inset
1065
1066 je stavová proměná z prostoru
1067\begin_inset Formula $S_{k}$
1068\end_inset
1069
1070,
1071\begin_inset Formula $u_{k}$
1072\end_inset
1073
1074 řízení z prostoru
1075\begin_inset Formula $C_{k}$
1076\end_inset
1077
1078 a
1079\begin_inset Formula $w_{k}$
1080\end_inset
1081
1082 náhodná porucha z prostoru
1083\begin_inset Formula $D_{k}$
1084\end_inset
1085
1086, vše v čase
1087\begin_inset Formula $k$
1088\end_inset
1089
1090 při celkovém časovém horizontu
1091\begin_inset Formula $N$
1092\end_inset
1093
1094.
1095 Na řízení
1096\begin_inset Formula $u_{k}$
1097\end_inset
1098
1099 klademe omezení, že může nabývat pouze hodnot z neprázdné podmonožiny
1100\begin_inset Formula $U_{k}(x_{k})\subset C_{k}$
1101\end_inset
1102
1103 závislé na stavu
1104\begin_inset Formula $x_{k}$
1105\end_inset
1106
1107.
1108 Náhodná porucha
1109\begin_inset Formula $w_{k}$
1110\end_inset
1111
1112 je charakterizována rozdělením pravděpodobnosti
1113\begin_inset Formula $P_{k}$
1114\end_inset
1115
1116, které může explicitně záviset na
1117\begin_inset Formula $x_{k}$
1118\end_inset
1119
1120 a
1121\begin_inset Formula $u_{k}$
1122\end_inset
1123
1124, ne však na předchozích poruchách
1125\begin_inset Formula $w_{k-1},\ldots,w_{0}$
1126\end_inset
1127
1128.
1129\end_layout
1130
1131\begin_layout Standard
1132Dále uvažujme množinu řízení, jedná se o posloupnost funkcí
1133\begin_inset Formula \[
1134\pi=\{\mu_{0},\ldots,\mu_{N-1}\},\]
1135
1136\end_inset
1137
1138kde
1139\begin_inset Formula $\mu_{k}$
1140\end_inset
1141
1142 přiřazuje stavu
1143\begin_inset Formula $x_{k}$
1144\end_inset
1145
1146 přípustné řízení
1147\begin_inset Formula $u_{k}=\mu_{k}(x_{k})$
1148\end_inset
1149
1150, to je takové, že
1151\begin_inset Formula $\mu_{k}(x_{k})\in U_{k}(x_{k})$
1152\end_inset
1153
1154, množinu přípustných řešení označme
1155\begin_inset Formula $\Pi$
1156\end_inset
1157
1158.
1159 Máme-li dány počáteční stav
1160\begin_inset Formula $x_{0}$
1161\end_inset
1162
1163 a přípustné řešení
1164\begin_inset Formula $\pi$
1165\end_inset
1166
1167 můžeme stavy
1168\begin_inset Formula $x_{k}$
1169\end_inset
1170
1171 a poruchy
1172\begin_inset Formula $w_{k}$
1173\end_inset
1174
1175 považovat za náhodné veličiny s rozdělemím definovaným systémem rovnic
1176 
1177\begin_inset CommandInset ref
1178LatexCommand ref
1179reference "eq:zakladniproblem"
1180
1181\end_inset
1182
1183, kde za řízení
1184\begin_inset Formula $u_{k}$
1185\end_inset
1186
1187 dosadíme hodnotu funkce
1188\begin_inset Formula $\mu_{k}$
1189\end_inset
1190
1191 v
1192\begin_inset Formula $x_{k}$
1193\end_inset
1194
1195.
1196\end_layout
1197
1198\begin_layout Standard
1199Pro dané ztráty v jednotlivých časech -- funkce
1200\begin_inset Formula $g_{k}$
1201\end_inset
1202
1203, pak definujeme očekávanou ztrátu
1204\begin_inset Formula $\pi$
1205\end_inset
1206
1207 v
1208\begin_inset Formula $x_{0}$
1209\end_inset
1210
1211 jako
1212\begin_inset Formula \[
1213J_{\pi}(x_{0})=\mathbf{E}\left\{ g_{N}(x_{N})+\sum_{k=0}^{N-1}g_{k}\left(x_{k},\mu_{k}(x_{k}),w_{k}\right)\right\} \]
1214
1215\end_inset
1216
1217kde je očekávaná hodnota počítána přes náhodné veličiny
1218\begin_inset Formula $w_{k}$
1219\end_inset
1220
1221 a
1222\begin_inset Formula $x_{k}$
1223\end_inset
1224
1225.
1226 Optimální řízení
1227\begin_inset Formula $\pi^{*}$
1228\end_inset
1229
1230je právě to, které minimalizuje ztrátu
1231\begin_inset Formula \[
1232J_{\pi^{*}}(x_{0})=\min_{\pi\in\Pi}J_{\pi}(x_{0}).\]
1233
1234\end_inset
1235
1236Optimální ztrátu označme
1237\begin_inset Formula $J^{*}(x_{0})$
1238\end_inset
1239
1240.
1241\end_layout
1242
1243\begin_layout Subsection
1244Dynamické programování
1245\end_layout
1246
1247\begin_layout Standard
1248Dynamické programovní dle
1249\begin_inset CommandInset citation
1250LatexCommand cite
1251key "ViriusZA"
1252
1253\end_inset
1254
1255 je jedním ze způsobů návrhu algoritmů pro řešení jistých typu optimalizačních
1256 problémů.
1257 Konkrétně se uplatňuje v případě, že jde o diskrétní optimalizační úlohu,
1258 na řešení daného problému můžeme nahlížet jako na konečnou posloupnost
1259 rozhodnutí a platí
1260\emph on
1261princip optimality
1262\emph default
1263.
1264\end_layout
1265
1266\begin_layout Subsubsection
1267Princip optimality
1268\end_layout
1269
1270\begin_layout Standard
1271říká, že optimální posloupnost rozhodnutí musí mít následující vlastnost:
1272 
1273\emph on
1274Jestliže jsme už udělali
1275\emph default
1276k
1277\emph on
1278rozhodnutí, musí být všechna následující rozhodnutí optimální vzhledem k
1279 výsledkům rozhodnutí předchozích, jinak nemůžeme dostat optimální řešení
1280 
1281\emph default
1282
1283\begin_inset CommandInset citation
1284LatexCommand cite
1285key "ViriusZA"
1286
1287\end_inset
1288
1289
1290\emph on
1291.
1292\end_layout
1293
1294\begin_layout Subsubsection
1295Princip optimality v teorii řízení
1296\end_layout
1297
1298\begin_layout Standard
1299Nechť
1300\begin_inset Formula $\pi^{*}=\left\{ \mu_{0}^{*},\mu_{1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1301\end_inset
1302
1303 je optimální řídící strategie pro
1304\color black
1305základní
1306\color inherit
1307 problém a předpokládejme, že když aplikujeme řízení
1308\begin_inset Formula $\pi^{*}$
1309\end_inset
1310
1311, daný stav
1312\begin_inset Formula $x_{i}$
1313\end_inset
1314
1315 se vyskytne v čase
1316\begin_inset Formula $i$
1317\end_inset
1318
1319 s pozitivní pravděpodobností.
1320 Uvažujme podproblém, kdy ve stavu
1321\begin_inset Formula $x_{i}$
1322\end_inset
1323
1324 a čase
1325\begin_inset Formula $i$
1326\end_inset
1327
1328 chceme minimalizovat
1329\emph on
1330náklady na pokračování
1331\emph default
1332 (v anglické literatuře označováno jako
1333\color black
1334
1335\begin_inset Quotes gld
1336\end_inset
1337
1338cost-to-go
1339\color inherit
1340
1341\begin_inset Quotes grd
1342\end_inset
1343
1344) od času
1345\begin_inset Formula $i$
1346\end_inset
1347
1348 do
1349\begin_inset Formula $N$
1350\end_inset
1351
1352
1353\begin_inset Formula \[
1354\mathbf{E}\left\{ g_{N}(x_{N})+\sum_{k=i}^{N-1}g_{k}(x_{k},\mu_{k}(x_{k}),w_{k})\right\} \]
1355
1356\end_inset
1357
1358Potom úsek strategie
1359\family roman
1360\series medium
1361\shape up
1362\size normal
1363\emph off
1364\bar no
1365\noun off
1366\color none
1367
1368\begin_inset Formula $\left\{ \mu_{i}^{*},\mu_{i+1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1369\end_inset
1370
1371 je optimální pro tento podproblém.
1372\begin_inset VSpace medskip
1373\end_inset
1374
1375
1376\end_layout
1377
1378\begin_layout Standard
1379Intuitivně je princip optimality velmi jednoduchý.
1380 Jestliže úsek strategie
1381\begin_inset Formula $\left\{ \mu_{i}^{*},\mu_{i+1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1382\end_inset
1383
1384 nebude optimální, budeme schopni dále zredukovat cenu přechodem k optimální
1385 strategii pro podproblém.
1386\end_layout
1387
1388\begin_layout Standard
1389Princip optimality umožňuje optimální strategii konstruovat postupně.
1390 Nejdříve nalezneme optimální strategii pro koncový podproblém zahrnující
1391 poslední krok.
1392 Poté rozšiřujeme podproblém od konce přidáním předposledního kroku a tak
1393 dále.
1394 Takto může být vytvořena optimální strategie pro celý problém.
1395\end_layout
1396
1397\begin_layout Standard
1398Algoritmus dynamického programování je tedy založen na následující myšlence:
1399 Algoritmus pracuje iterativně a řeší
1400\color black
1401koncové
1402\color inherit
1403 podproblémy pro daný časový úsek, při tom využívá řešení předchozích
1404\color black
1405koncových
1406\color inherit
1407 podproblémů pro kratší časové úseky.
1408 Převzato z
1409\begin_inset CommandInset citation
1410LatexCommand cite
1411key "BertsekasDPOC"
1412
1413\end_inset
1414
1415.
1416\end_layout
1417
1418\begin_layout Subsubsection
1419Formulace algoritmu dynamického programování
1420\end_layout
1421
1422\begin_layout Standard
1423Podle
1424\begin_inset CommandInset citation
1425LatexCommand cite
1426key "BertsekasDPOC"
1427
1428\end_inset
1429
1430, pro každý počáteční stav
1431\begin_inset Formula $x_{0}$
1432\end_inset
1433
1434, je optimální cena
1435\begin_inset Formula $J^{*}(x_{0})$
1436\end_inset
1437
1438 základního problému rovna
1439\begin_inset Formula $J_{0}(x_{0})$
1440\end_inset
1441
1442, získané z posledního kroku následujícího algoritmu, který prochází zpět
1443 časy od
1444\begin_inset Formula $N-1$
1445\end_inset
1446
1447 do
1448\begin_inset Formula $0$
1449\end_inset
1450
1451:
1452\begin_inset Formula \[
1453J_{N}(x_{N})=g_{N}(x_{N})\]
1454
1455\end_inset
1456
1457
1458\end_layout
1459
1460\begin_layout Standard
1461\begin_inset Formula \begin{equation}
1462J_{k}(x_{k})=\min_{u_{k}\in U_{k}(x_{k})w_{k}}\mathbf{E}\left\{ g_{k}(x_{k},u_{k},w_{k})+J_{k+1}(f_{k}(x_{k},u_{k},w_{k}))\right\} \label{eq:Jkeqmin}\end{equation}
1463
1464\end_inset
1465
1466
1467\begin_inset Formula \[
1468k=0,1,\ldots,N-1\]
1469
1470\end_inset
1471
1472
1473\end_layout
1474
1475\begin_layout Standard
1476kde je očekávaná hodnota počítána podle náhodné veličiny
1477\begin_inset Formula $w_{k}$
1478\end_inset
1479
1480, která obecně závisí na
1481\begin_inset Formula $x_{k}$
1482\end_inset
1483
1484 a
1485\begin_inset Formula $u_{k}$
1486\end_inset
1487
1488.
1489 Dále, když
1490\begin_inset Formula $u_{k}^{*}=\mu_{k}^{*}(x_{k})$
1491\end_inset
1492
1493 minimalizuje pravou stranu rovnice
1494\begin_inset CommandInset ref
1495LatexCommand eqref
1496reference "eq:Jkeqmin"
1497
1498\end_inset
1499
1500 pro každé
1501\begin_inset Formula $x_{k}$
1502\end_inset
1503
1504 a
1505\begin_inset Formula $k$
1506\end_inset
1507
1508, stretegie
1509\begin_inset Formula $\pi*=\left\{ \mu_{1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1510\end_inset
1511
1512 je optimální.
1513\begin_inset VSpace medskip
1514\end_inset
1515
1516
1517\end_layout
1518
1519\begin_layout Standard
1520Hodnotu
1521\begin_inset Formula $J_{k}(x_{k})$
1522\end_inset
1523
1524 je možno interpretovat jako optimální cenu pro
1525\emph on
1526
1527\begin_inset Formula $(N-k)$
1528\end_inset
1529
1530
1531\emph default
1532-tý krok problému začínajícího ve stavu
1533\begin_inset Formula $x_{k}$
1534\end_inset
1535
1536 a čase
1537\begin_inset Formula $k$
1538\end_inset
1539
1540, a končícího v čase
1541\begin_inset Formula $N$
1542\end_inset
1543
1544.
1545 Následně označujeme
1546\begin_inset Formula $J_{k}(x_{k})$
1547\end_inset
1548
1549 náklady na pokračování (
1550\color black
1551
1552\begin_inset Quotes gld
1553\end_inset
1554
1555cost-to-go
1556\color inherit
1557
1558\begin_inset Quotes grd
1559\end_inset
1560
1561) ve stavu
1562\begin_inset Formula $x_{k}$
1563\end_inset
1564
1565 a čase
1566\begin_inset Formula $k$
1567\end_inset
1568
1569, a
1570\begin_inset Formula $J_{k}$
1571\end_inset
1572
1573 označujeme jako funkci nákladů na pokračování (
1574\color black
1575
1576\begin_inset Quotes gld
1577\end_inset
1578
1579cost-to-go
1580\color inherit
1581 function
1582\begin_inset Quotes grd
1583\end_inset
1584
1585) v čase
1586\begin_inset Formula $k$
1587\end_inset
1588
1589.
1590 
1591\end_layout
1592
1593\begin_layout Standard
1594Ideálně bychom chtěli využít algoritmus dynamického programování k získání
1595 
1596\begin_inset Formula $J_{k}$
1597\end_inset
1598
1599 vyjádřené v uzavřeném tvaru nebo k získání optimální strategie.
1600 Existuje mnoho případů, kdy je daná úloha řešitelná analyticky, obzvláště
1601 za zjednodušujících předpokladů.
1602 To je velmi užitečné zejména pro lepší náhled do problematiky a jako vodítko
1603 pro složitější modely.
1604 Avšak ve většíně případů není analytické řešení možné, pak je třeba použít
1605 numerické řešení pomocí algoritmu dynamického programování.
1606 Tento přístup může být časově velmi náročný, zejména minimalizaci v rovnici
1607 
1608\begin_inset CommandInset ref
1609LatexCommand eqref
1610reference "eq:Jkeqmin"
1611
1612\end_inset
1613
1614 je třeba provést pro každou hodnotu
1615\begin_inset Formula $x_{k}$
1616\end_inset
1617
1618.
1619 Stavový prostor musí být diskretizován, nejedná-li se o konečnou množinu
1620 a výpočetní nároky pak narůstají proporcionálně k počtu možných hodnot
1621 
1622\begin_inset Formula $x_{k}$
1623\end_inset
1624
1625.
1626 Nicméně dynamické programování je pouze obecný přístup pro iterativní optimaliz
1627aci při uvažování nejistoty v systému.
1628\end_layout
1629
1630\begin_layout Subsection
1631Úplná a neúplná stavová informace
1632\end_layout
1633
1634\begin_layout Standard
1635V optimálním případě by bylo možno měřit všechny stavové veličiny systému
1636 a na jejich základě libovolným způsobem upravovat jeho dynamické vlastnosti.
1637 Ve skutečnosti ale zpravidla není možné všechny stavy změřit a musíme se
1638 rozhodovat pouze na základě informací, které máme k dispozici, pak mluvíme
1639 o
1640\emph on
1641neúplné informaci o stavu systému
1642\emph default
1643 
1644\begin_inset CommandInset citation
1645LatexCommand cite
1646key "StechaTDS,BertsekasDPOC"
1647
1648\end_inset
1649
1650.
1651 Může to být způsobeno například nedostupností hodnot některých stavů, použité
1652 měřící přístroje mohou být nepřesné nebo náklady na získání přesné hodnoty
1653 stavu mohou být příliš omezující.
1654 Případy tohoto typu modelujeme zpravidla tak, že v každém kroku regulátor
1655 obdrží jisté pozorování skutečné hodnoty stavu, které ovšem může být ovlivněno
1656 a narušeno stochastickou nejistotou.
1657 Teoreticky se však problém s neúplnou informací o stavu neodlišuje od úloh
1658 s úplnou stavovou informací, protože existují způsoby, jak převést (redukovat)
1659 systém s neúplnou informací na systém s úplnou.
1660 Tyto postupy obecně vedou na algoritmy využívající dynamické programování,
1661 ale jsou výpočetně mnohem náročnější, než v případě úplné informace.
1662 Dva možné postupy redukce převzaté z
1663\begin_inset CommandInset citation
1664LatexCommand cite
1665key "BertsekasDPOC"
1666
1667\end_inset
1668
1669 budou následovat po formulaci problému:
1670\end_layout
1671
1672\begin_layout Subsubsection
1673Formulace problému s neúplnou informací o stavu
1674\end_layout
1675
1676\begin_layout Standard
1677Nejdříve formulujme základní problém s neúplnou stavovou informací, který
1678 následně redukujeme na systém s informací úplnou.
1679 Uvažujme rozšíření základního problému
1680\begin_inset CommandInset ref
1681LatexCommand ref
1682reference "eq:zakladniproblem"
1683
1684\end_inset
1685
1686, kde ale regulátor, namísto přístupu ke stavu systému, získává pouze pozorování
1687 
1688\begin_inset Formula $z_{k}$
1689\end_inset
1690
1691 ve tvaru
1692\begin_inset Formula \begin{equation}
1693z_{0}=h_{0}(x_{0},v_{0}),\quad z_{k}=h_{k}(x_{k},u_{k-1},v_{k}),\quad k=1,2,\ldots,N-1,\label{eq:zaklprobneuplnystav}\end{equation}
1694
1695\end_inset
1696
1697kde
1698\begin_inset Formula $v_{k}$
1699\end_inset
1700
1701 reprezentuje náhodnou poruchu pozorování charakterizovanou rozdělením pravděpod
1702obnosti
1703\begin_inset Formula $P_{v_{k}}$
1704\end_inset
1705
1706, která závisí na současném stavu a všech předchozích stavech, řízeních
1707 a poruchách.
1708 Dále také počáteční stav
1709\begin_inset Formula $x_{0}$
1710\end_inset
1711
1712 považujeme za náhodnou veličinu s rozdělením
1713\begin_inset Formula $P_{x_{0}}$
1714\end_inset
1715
1716.
1717\end_layout
1718
1719\begin_layout Standard
1720Soubor informací dostupných regulátoru v čase
1721\begin_inset Formula $k$
1722\end_inset
1723
1724 označme
1725\begin_inset Formula $I_{k}$
1726\end_inset
1727
1728 informačním vektorem.
1729 Tedy
1730\begin_inset Formula \begin{eqnarray*}
1731I_{k} & = & (z_{0},\ldots,z_{k},u_{0},\ldots,u_{k-1}),\quad k=1,\ldots,N-1,\\
1732I_{0} & = & z_{0}.\end{eqnarray*}
1733
1734\end_inset
1735
1736Uvažujme množinu přípustných řízení jako posloupnost funkcí
1737\begin_inset Formula $\pi=\{\mu_{0},\ldots,\mu_{N-1}\}$
1738\end_inset
1739
1740, kde každá funkce
1741\begin_inset Formula $\mu_{k}$
1742\end_inset
1743
1744 přiřazuje informačnímu vektoru
1745\begin_inset Formula $I_{k}$
1746\end_inset
1747
1748 řízení
1749\begin_inset Formula $\mu_{k}(I_{k})\in U_{k}$
1750\end_inset
1751
1752, pro všechna
1753\begin_inset Formula $I_{k}$
1754\end_inset
1755
1756, kde
1757\begin_inset Formula $k=0,\ldots,N-1$
1758\end_inset
1759
1760.
1761 Chceme najít přípustnou řídící strategii, to jest posloupnost
1762\begin_inset Formula $\pi$
1763\end_inset
1764
1765, která minimalizuje očekávanou ztrátu
1766\begin_inset Formula \[
1767J_{\pi}=\mathbf{E}\left\{ g_{N}(x_{N})+\sum_{k=0}^{N-1}g_{k}\left(x_{k},\mu_{k}(I_{k}),w_{k}\right)\right\} ,\]
1768
1769\end_inset
1770
1771kde je očekávaná hodnota počítána přes náhodné veličiny
1772\begin_inset Formula $x_{0}$
1773\end_inset
1774
1775 a
1776\begin_inset Formula $w_{k},v_{k}$
1777\end_inset
1778
1779 pro
1780\begin_inset Formula $k=0,\ldots,N-1$
1781\end_inset
1782
1783.
1784 Veličiny
1785\begin_inset Formula $x_{k}$
1786\end_inset
1787
1788 a
1789\begin_inset Formula $z_{k}$
1790\end_inset
1791
1792 se vypočítají z rovnic
1793\begin_inset CommandInset ref
1794LatexCommand ref
1795reference "eq:zakladniproblem"
1796
1797\end_inset
1798
1799 respektive
1800\begin_inset CommandInset ref
1801LatexCommand ref
1802reference "eq:zaklprobneuplnystav"
1803
1804\end_inset
1805
1806, přičemž v nich položíme
1807\begin_inset Formula $u_{k}=\mu_{k}(I_{k})$
1808\end_inset
1809
1810.
1811\end_layout
1812
1813\begin_layout Subsubsection
1814Redukce na systém s úplnou stavovou informací
1815\end_layout
1816
1817\begin_layout Standard
1818Tento postup je založen na myšlence definovat nový systém, jehož stav v
1819 čase
1820\begin_inset Formula $k$
1821\end_inset
1822
1823 je množina všech hodnot, kterých může využít regulátor při tvorbě řízení.
1824 Jako stav nového systému tedy volíme informační vektor
1825\begin_inset Formula $I_{k}$
1826\end_inset
1827
1828 a získáme systém
1829\begin_inset Formula \begin{equation}
1830I_{k+1}=(I_{k,}z_{k+1},u_{k}),\quad I_{0}=z_{0},\quad k=0,\ldots,N-2.\label{eq:rednewsystem}\end{equation}
1831
1832\end_inset
1833
1834Na tento systém povahy základního problému s úplnou informací můžeme pohlížet
1835 tak, že
1836\begin_inset Formula $I_{k}$
1837\end_inset
1838
1839 je stav.
1840 Řízení
1841\begin_inset Formula $u_{k}$
1842\end_inset
1843
1844 a pozorování
1845\begin_inset Formula $z_{k}$
1846\end_inset
1847
1848 lze pak chápat jako náhodné poruchy.
1849 Dále rozdělení pravděpodobnosti
1850\begin_inset Formula $z_{k+1}$
1851\end_inset
1852
1853 závisí explicitně pouze na stavu
1854\begin_inset Formula $I_{k}$
1855\end_inset
1856
1857 a řízení
1858\begin_inset Formula $u_{k}$
1859\end_inset
1860
1861.
1862 Ztrátovou funkci vyjádřenou pro nový systém je možno zapsat jako
1863\begin_inset Formula \[
1864\mathbf{E}\left\{ g_{k}\left(x_{k},u_{k},w_{k}\right)\right\} =\mathbf{E}\left\{ \mathbf{E}_{x_{k},w_{k}}\left\{ g_{k}\left(x_{k},u_{k},w_{k}\right)\mid I_{k},u_{k}\right\} \right\} .\]
1865
1866\end_inset
1867
1868Tedy ztráta během jednoho kroku vyjádřená jako funkce nového stavu
1869\begin_inset Formula $I_{k}$
1870\end_inset
1871
1872 a řízení
1873\begin_inset Formula $u_{k}$
1874\end_inset
1875
1876 je
1877\begin_inset Formula \begin{equation}
1878\tilde{g}_{k}(I_{k,}u_{k})=\mathbf{E}_{x_{k},w_{k}}\left\{ g_{k}\left(x_{k},u_{k},w_{k}\right)\mid I_{k},u_{k}\right\} .\label{eq:rednewztrata}\end{equation}
1879
1880\end_inset
1881
1882Původní základní problém s neúplnou stavovou informací byl tedy převeden
1883 na úlohu s úplnou stavovou informací s rovnicí popisující systém
1884\begin_inset CommandInset ref
1885LatexCommand ref
1886reference "eq:rednewsystem"
1887
1888\end_inset
1889
1890 a ztrátou během jednoho kroku
1891\begin_inset CommandInset ref
1892LatexCommand ref
1893reference "eq:rednewztrata"
1894
1895\end_inset
1896
1897.
1898 Nyní je pro něj možno napsat algoritmus dynamického programování.
1899 
1900\color blue
1901(možná sem dát i rovnice DP)
1902\end_layout
1903
1904\begin_layout Subsubsection
1905Postačující statistika
1906\end_layout
1907
1908\begin_layout Standard
1909Při užití algoritmu dynamického programování za neúplné stavové informace
1910 je hlavní problém v jeho vyhodnocování ve stavovém prostoru, jehož dimenze
1911 neustále roste.
1912 S každým dalším měřením dimenze stavu a tedy informační vektor
1913\begin_inset Formula $I_{k}$
1914\end_inset
1915
1916 narůstá, proto se snažíme redukovat množství dat skutečně potřebných pro
1917 účely řízení.
1918 Hledáme tedy popis známý jako
1919\emph on
1920postačující statistika
1921\emph default
1922, který bude mít menší dimenzi než
1923\begin_inset Formula $I_{k}$
1924\end_inset
1925
1926 ale současně zahrne veškerý důležitý obsah
1927\begin_inset Formula $I_{k}$
1928\end_inset
1929
1930 potřebný pro řízení.
1931 Jako postačující statistiku označme funkci
1932\begin_inset Formula $S_{k}$
1933\end_inset
1934
1935 informačního vektoru
1936\begin_inset Formula $I_{k}$
1937\end_inset
1938
1939, tedy
1940\begin_inset Formula $S_{k}(I_{k})$
1941\end_inset
1942
1943 takovou, že minimalizuje ztrátu v algoritmu dynamického programování přes
1944 všechna přípustná řízení.
1945 Což můžeme zapsat pro vhodnou funkci
1946\begin_inset Formula $H_{k}$
1947\end_inset
1948
1949 jako
1950\begin_inset Formula \begin{eqnarray*}
1951J_{k}(I_{k}) & = & \min_{u_{k}\in U_{k}}H_{k}(S_{k}(I_{k}),u_{k}).\end{eqnarray*}
1952
1953\end_inset
1954
1955Po funkci
1956\begin_inset Formula $S_{k}$
1957\end_inset
1958
1959 samozřejmě chceme, aby byla charakterizována menší množinou čísel, než
1960 informační vektor
1961\begin_inset Formula $I_{k}$
1962\end_inset
1963
1964, abychom získaly výhody z jejího použití.
1965 Obecně existuje mnoho funkcí, které mohou sloužit jako postačující statistika.
1966 Triviálním příkladem může být identita
1967\begin_inset Formula $S_{k}(I_{k})=I_{k}$
1968\end_inset
1969
1970.
1971 
1972\end_layout
1973
1974\begin_layout Standard
1975Závisí-li rozdělení pravděpodobnosti poruchy pozorování
1976\begin_inset Formula $v_{k}$
1977\end_inset
1978
1979 explicitně pouze na bezprostředně předcházejícím stavu, řízení a poruše
1980 systému, tedy na
1981\begin_inset Formula $x_{k},u_{k},w_{k}$
1982\end_inset
1983
1984 a nezávisí na předchozích hodnotách
1985\begin_inset Formula $x_{k-1},\ldots,x_{0},u_{k-1},\ldots,u_{0},w_{k-1},\ldots,w_{0},v_{k-1},\ldots,v_{0}$
1986\end_inset
1987
1988 můžeme za postačující statistiku volit podmíněné rozdělení pravděpodobnosti
1989 
1990\begin_inset Formula $P_{x_{k}|I_{k}}$
1991\end_inset
1992
1993, o kterém lze ukázat (viz
1994\begin_inset CommandInset citation
1995LatexCommand cite
1996key "BertsekasDPOC"
1997
1998\end_inset
1999
2000), že
2001\begin_inset Formula \[
2002J_{k}(I_{k})=\min_{u_{k}\in U_{k}}H_{k}(P_{x_{k}|I_{k}},u_{k})=\overline{J}_{k}(P_{x_{k}|I_{k}}),\]
2003
2004\end_inset
2005
2006kde
2007\begin_inset Formula $H_{k}$
2008\end_inset
2009
2010 a
2011\begin_inset Formula $\overline{J}_{k}$
2012\end_inset
2013
2014 jsou vhodné funkce.
2015 Optimální řízení pak získáme ve tvaru funkcí podmíněného rozdělení pravděpodobn
2016osti
2017\begin_inset Formula $\mu_{k}(I_{k})=\overline{\mu}_{k}(P_{x_{k}|I_{k}})$
2018\end_inset
2019
2020 pro
2021\begin_inset Formula $k=0,\ldots,N-1$
2022\end_inset
2023
2024.
2025 Tato reprezentace může být velmi užitečná, protože nám umožňuje rozložit
2026 optimální řízení na dvě nezávislé časti:
2027\end_layout
2028
2029\begin_layout Enumerate
2030
2031\emph on
2032pozorovatel
2033\emph default
2034 (estimátor), který v čase
2035\begin_inset Formula $k$
2036\end_inset
2037
2038 použije měření
2039\begin_inset Formula $z_{k}$
2040\end_inset
2041
2042 a řízení
2043\begin_inset Formula $u_{k-1}$
2044\end_inset
2045
2046 k vygenerování rozdělení pravděpodobnosti
2047\begin_inset Formula $P_{x_{k}|I_{k}}$
2048\end_inset
2049
2050
2051\end_layout
2052
2053\begin_layout Enumerate
2054
2055\emph on
2056ovladač
2057\emph default
2058 (regulátor), který generuje vstupy (řízení) pro systém jako funkci rozdělení
2059 pravděpodobnosti
2060\begin_inset Formula $P_{x_{k}|I_{k}}$
2061\end_inset
2062
2063
2064\end_layout
2065
2066\begin_layout Standard
2067Tento rozklad pak umožňuje navrhovat každou z částí samostatně podle charakteru
2068 konkrétní úlohy.
2069\end_layout
2070
2071\begin_layout Subsection
2072Kalmanův filtr
2073\end_layout
2074
2075\begin_layout Standard
2076Chceme řešit následující problém, viz
2077\begin_inset CommandInset citation
2078LatexCommand cite
2079key "StechaTDS"
2080
2081\end_inset
2082
2083: Máme lineární systém s neúplnou stavovou informací a snažíme se odhadnout
2084 (rekonstruovat, estimovat) stav systému z měřitelných vstupních a výstupních
2085 veličin.
2086 Dále předpokládejme, že měření výstupu a popřípadě i vstupu je zatíženo
2087 chybou měření.
2088 Tyto nepřesnosti měření můžeme modelovat jako aditivní šum.
2089 Odhadování (rekonstrukci, estimaci) potom navrhujeme pomocí stochastických
2090 metod.
2091 Řešení vede na takzvaný
2092\emph on
2093Kalmanův filtr
2094\emph default
2095.
2096\end_layout
2097
2098\begin_layout Standard
2099\begin_inset VSpace medskip
2100\end_inset
2101
2102
2103\end_layout
2104
2105\begin_layout Standard
2106Následující formulace problému a popis algoritmu Kalmanova filtru je převzat
2107 z
2108\begin_inset CommandInset citation
2109LatexCommand cite
2110key "BertsekasDPOC"
2111
2112\end_inset
2113
2114, kde lze také nalézt odvození příslušných rovnic: Máme dva náhodné vektory
2115 
2116\begin_inset Formula $x$
2117\end_inset
2118
2119 a
2120\begin_inset Formula $y$
2121\end_inset
2122
2123, které jsou svázány
2124\color red
2125společným rozdělením pravděpodobnosti
2126\color inherit
2127 (
2128\begin_inset Quotes gld
2129\end_inset
2130
2131joint probability distribution
2132\begin_inset Quotes grd
2133\end_inset
2134
2135) tak, že hodnota jednoho poskytuje informaci o hodnotě druhého.
2136 Známe hodnotu
2137\begin_inset Formula $y$
2138\end_inset
2139
2140 a chceme určit (odhadnout) hodnotu
2141\begin_inset Formula $x$
2142\end_inset
2143
2144 tak, aby střední kvadratická odchylka mezi
2145\begin_inset Formula $x$
2146\end_inset
2147
2148 a jeho odhadem byla minimální.
2149\end_layout
2150
2151\begin_layout Standard
2152Takový odhad můžeme zístat v nejjednodušším případě metodou nejmenších čtverců,
2153 ale pro tento způsob je třeba velkého počtu měření.
2154 Jako lepší způsob se ale jeví využít sekvenční struktury problému a iterativně
2155 použít Kalmanův filtr, kdy odhad v čase
2156\begin_inset Formula $k+1$
2157\end_inset
2158
2159 získáme na základě jednoduchých rovnic pouze z předchozího odhadu a nového
2160 měření v čase
2161\begin_inset Formula $k$
2162\end_inset
2163
2164, žádná předchozí měření nejsou explicitně zahrnuta.
2165\end_layout
2166
2167\begin_layout Standard
2168V dalším textu označme
2169\begin_inset Formula $\hat{x}_{k|k-1}$
2170\end_inset
2171
2172 apriorní odhad stavu, tedy odhad stavu v čase
2173\begin_inset Formula $k$
2174\end_inset
2175
2176 na základě informací až do času
2177\begin_inset Formula $k-1$
2178\end_inset
2179
2180.
2181 Analogicky
2182\begin_inset Formula $\Sigma_{k|k-1}$
2183\end_inset
2184
2185 označuje apriorní kovarianční matici.
2186 Aposteriorní odhad stavu označme
2187\begin_inset Formula $\hat{x}_{k|k}$
2188\end_inset
2189
2190, to jest odhad v čase
2191\begin_inset Formula $k$
2192\end_inset
2193
2194 na základě informačí až do času
2195\begin_inset Formula $k$
2196\end_inset
2197
2198.
2199 Aposteriorní kovarianční matice je pak označena
2200\begin_inset Formula $\Sigma_{k|k}$
2201\end_inset
2202
2203.
2204 
2205\end_layout
2206
2207\begin_layout Standard
2208\begin_inset VSpace bigskip
2209\end_inset
2210
2211
2212\end_layout
2213
2214\begin_layout Subsubsection
2215System
2216\end_layout
2217
2218\begin_layout Standard
2219Uvažujme lineární dynamický systém bez řízení (
2220\begin_inset Formula $u_{k}\equiv0$
2221\end_inset
2222
2223) ve tvaru
2224\begin_inset Formula \[
2225x_{k+1}=A_{k}x_{k}+w_{k},\; k=0,1,\ldots,N-1,\]
2226
2227\end_inset
2228
2229kde
2230\begin_inset Formula $x_{k}$
2231\end_inset
2232
2233 je vektor stavu,
2234\begin_inset Formula $w_{k}$
2235\end_inset
2236
2237 vektor náhodné poruchy a matice
2238\begin_inset Formula $A_{k}$
2239\end_inset
2240
2241 předpokládáme známé.
2242 Dále rovnice měření je
2243\begin_inset Formula \[
2244z_{k}=C_{k}x_{k}+v_{k},\; k=0,1,\ldots,N-1,\]
2245
2246\end_inset
2247
2248kde
2249\begin_inset Formula $z_{k}$
2250\end_inset
2251
2252 je vektor pozorování (měřených veličin) a
2253\begin_inset Formula $v_{k}$
2254\end_inset
2255
2256 vektor šumu.
2257 Nechť
2258\begin_inset Formula $x_{0},w_{0},\ldots,w_{N-1},v_{0},\ldots,v_{N-1}$
2259\end_inset
2260
2261 jsou vektory nezávislých náhodných veličin s daným rozdělením pravděpodobnosti,
2262 takovým, že
2263\begin_inset Formula \[
2264\mathrm{E}\{w_{k}\}=\mathrm{E}\{v_{k}\}=0,\; k=0,1,\ldots,N-1.\]
2265
2266\end_inset
2267
2268Označme
2269\begin_inset Formula \[
2270S=\mathrm{E}\left\{ \left(x_{0}-\mathrm{E}\{x_{0}\}\right)\left(x_{0}-\mathrm{E}\{x_{0}\}\right)^{T}\right\} ,\; M_{k}=\mathrm{E}\{w_{k}w_{k}^{T}\},\; N_{k}=\mathrm{E}\{v_{k}v_{k}^{T}\},\]
2271
2272\end_inset
2273
2274a nechť matice
2275\begin_inset Formula $N_{k}$
2276\end_inset
2277
2278 pozitivně definitní pro všechny časy
2279\begin_inset Formula $k$
2280\end_inset
2281
2282.
2283\end_layout
2284
2285\begin_layout Subsubsection
2286Algoritmus Kalmanova filtru
2287\end_layout
2288
2289\begin_layout Standard
2290Předpokládejme, že máme spočítaný odhad
2291\begin_inset Formula $\hat{x}_{k|k-1}$
2292\end_inset
2293
2294 společně s kovarianční maticí
2295\begin_inset Formula $\Sigma_{k|k-1}=\mathrm{E}\left\{ \left(x_{k}-\hat{x}_{k|k-1}\right)\left(x_{k}-\hat{x}_{k|k-1}\right)^{T}\right\} $
2296\end_inset
2297
2298.
2299 V čase
2300\begin_inset Formula $k$
2301\end_inset
2302
2303 získáme další měření
2304\begin_inset Formula $z_{k}=C_{k}x_{k}+v_{k}$
2305\end_inset
2306
2307.
2308 Nyní můžeme získat aposteriorní odhad stavu
2309\begin_inset Formula $\hat{x}_{k|k}$
2310\end_inset
2311
2312 v čase
2313\begin_inset Formula $k$
2314\end_inset
2315
2316 jako
2317\begin_inset Formula \begin{equation}
2318\hat{x}_{k|k}=\hat{x}_{k|k-1}+\Sigma_{k|k-1}C_{k}^{T}\left(C_{k}\Sigma_{k|k-1}C_{k}^{T}+N_{k}\right)^{-1}\left(z_{k}-C_{k}\hat{x}_{k|k-1}\right),\label{eq:kalmanaposkk}\end{equation}
2319
2320\end_inset
2321
2322dále pak apriorní odhad stavu
2323\begin_inset Formula $\hat{x}_{k+1|k}$
2324\end_inset
2325
2326 v čase
2327\begin_inset Formula $k+1,$
2328\end_inset
2329
2330 tedy
2331\begin_inset Formula $\hat{x}_{k+1|k}=A_{k}\hat{x}_{k|k}$
2332\end_inset
2333
2334.
2335 Apriorní kovarianční matici v čase
2336\begin_inset Formula $k+1$
2337\end_inset
2338
2339 vypočítáme z
2340\begin_inset Formula \[
2341\Sigma_{k+1|k}=A_{k}\Sigma_{k|k}A_{k}^{T}+M_{k},\]
2342
2343\end_inset
2344
2345kde aposteriorní kovarianční matici
2346\begin_inset Formula $\Sigma_{k|k}=\mathrm{E}\left\{ \left(x_{k}-\hat{x}_{k|k}\right)\left(x_{k}-\hat{x}_{k|k}\right)^{T}\right\} $
2347\end_inset
2348
2349 můžeme získat z rovnice
2350\begin_inset Formula \[
2351\Sigma_{k|k}=\Sigma_{k|k-1}-\Sigma_{k|k-1}C_{k}^{T}\left(C_{k}\Sigma_{k|k-1}C_{k}^{T}+N_{k}\right)^{-1}C_{k}\Sigma_{k|k-1}.\]
2352
2353\end_inset
2354
2355Přidáním počátečních podmínek
2356\begin_inset Formula $\hat{x}_{0|-1}=\mathrm{E}\{x_{0}\}$
2357\end_inset
2358
2359 a
2360\begin_inset Formula $\Sigma_{0|-1}=S$
2361\end_inset
2362
2363 získáme
2364\emph on
2365algoritmus Kalmanova filtru
2366\emph default
2367, který ve své podstatě rekurzivně generuje posloupnost lineárních odhadů
2368 založených na metodě nejmenších čtverců.
2369\end_layout
2370
2371\begin_layout Standard
2372Dále je možno vyjádřit rovnici
2373\begin_inset CommandInset ref
2374LatexCommand ref
2375reference "eq:kalmanaposkk"
2376
2377\end_inset
2378
2379 ve tvaru
2380\begin_inset Formula \[
2381\hat{x}_{k|k}=A_{k-1}\hat{x}_{k-1|k-1}+\Sigma_{k|k}C_{k}^{T}N_{k}^{-1}\left(z_{k}-C_{k}A_{k-1}\hat{x}_{k-1|k-1}\right),\]
2382
2383\end_inset
2384
2385který při uvažování systému se vstupem
2386\begin_inset Formula \[
2387x_{k+1}=A_{k}x_{k}+B_{k}u_{k}+w_{k},\; k=0,1,\ldots,N-1,\]
2388
2389\end_inset
2390
2391umožňuje vypočítat rekurzivně aposteriorní odhady stavů
2392\begin_inset Formula $\hat{x}_{k|k}$
2393\end_inset
2394
2395 v časech
2396\begin_inset Formula $k$
2397\end_inset
2398
2399 z rovnice
2400\begin_inset Formula \[
2401\hat{x}_{k|k}=A_{k-1}\hat{x}_{k-1|k-1}+B_{k-1}u_{k-1}+\Sigma_{k|k}C_{k}^{T}N_{k}^{-1}\left(z_{k}-C_{k}A_{k-1}\hat{x}_{k-1|k-1}\right),\]
2402
2403\end_inset
2404
2405přičemž rovnice pro výpočet aposteriorní kovarianční matice
2406\begin_inset Formula $\Sigma_{k|k}$
2407\end_inset
2408
2409 zůstávají nezměněny.
2410\end_layout
2411
2412\begin_layout Subsection
2413Deterministické systémy se spojitým časem
2414\end_layout
2415
2416\begin_layout Standard
2417I když zpravidla pracujeme s diskrétními systémy, zejména z důvodů výpočtů
2418 na počítači, teorie optimálního řízení spojitých systémů může být velmi
2419 užitečná.
2420 Poskytuje totiž důležité principy, které jsou velmi často používány při
2421 návrhu algoritmů pro duální řízení.
2422 Konkrétně se jedná o Hamilton-Jacobi-Bellmanovu rovnost a Pontryaginův
2423 princip minima.
2424\end_layout
2425
2426\begin_layout Subsubsection
2427Spojitý systém
2428\end_layout
2429
2430\begin_layout Standard
2431Dynamický systém se spojitým časem uvažujeme dle
2432\begin_inset CommandInset citation
2433LatexCommand cite
2434key "BertsekasDPOC"
2435
2436\end_inset
2437
2438 ve tvaru
2439\begin_inset Formula \begin{eqnarray}
2440\dot{x}(t) & = & f(x(t),u(t)),\;0\leq t\leq T,\label{eq:spojsystemHJBP}\\
2441x(0) & = & x_{0},\nonumber \end{eqnarray}
2442
2443\end_inset
2444
2445kde
2446\begin_inset Formula $x(t)$
2447\end_inset
2448
2449 je stavový vektor v čase
2450\begin_inset Formula $t$
2451\end_inset
2452
2453,
2454\begin_inset Formula $\dot{x}(t)$
2455\end_inset
2456
2457 je vektor prvních derivací podle času v čase
2458\begin_inset Formula $t$
2459\end_inset
2460
2461,
2462\begin_inset Formula $u(t)\in U$
2463\end_inset
2464
2465 je řídící vektor v čase
2466\begin_inset Formula $t$
2467\end_inset
2468
2469,
2470\begin_inset Formula $U$
2471\end_inset
2472
2473 je množina omezení řízení a
2474\begin_inset Formula $T$
2475\end_inset
2476
2477 je časový horizont.
2478 O funkci
2479\begin_inset Formula $f$
2480\end_inset
2481
2482 předpokládáme, že je spojitě diferencovatelná vzhledem k
2483\begin_inset Formula $x$
2484\end_inset
2485
2486 a spojitá vzhledem k
2487\begin_inset Formula $u$
2488\end_inset
2489
2490.
2491 Rovnice
2492\begin_inset CommandInset ref
2493LatexCommand ref
2494reference "eq:spojsystemHJBP"
2495
2496\end_inset
2497
2498 představuje soustavu
2499\begin_inset Formula $n$
2500\end_inset
2501
2502 diferenciálních rovnic prvního řádu.
2503 Naším cílem je nalézení přípustné řídící trajektorie
2504\begin_inset Formula $\left\{ u(t)\mid t\in[0,T]\right\} $
2505\end_inset
2506
2507 a odpovídající stavové trajektorie
2508\family roman
2509\series medium
2510\shape up
2511\size normal
2512\emph off
2513\bar no
2514\noun off
2515\color none
2516
2517\begin_inset Formula $\left\{ x(t)\mid t\in[0,T]\right\} $
2518\end_inset
2519
2520 takové, že minimalizují ztrátovou funkci ve tvaru
2521\begin_inset Formula \[
2522h(x(T))+\int_{0}^{T}g\left(x(t),u(t)\right)dt,\]
2523
2524\end_inset
2525
2526o funkcích
2527\begin_inset Formula $g$
2528\end_inset
2529
2530 a
2531\begin_inset Formula $h$
2532\end_inset
2533
2534 předpokládáme, že jsou spojitě diferencovatelné vzhledem k
2535\begin_inset Formula $x$
2536\end_inset
2537
2538 a
2539\begin_inset Formula $g$
2540\end_inset
2541
2542 je spojitá vzhledem k
2543\begin_inset Formula $u$
2544\end_inset
2545
2546.
2547\end_layout
2548
2549\begin_layout Subsubsection
2550Hamilton-Jacobi-Bellmanova rovnost
2551\end_layout
2552
2553\begin_layout Standard
2554Hamilton-Jacobi-Bellmanova rovnost je parciální diferenciální rovnicí, která
2555 je splněna optimální funkcí nákladů na pokračování
2556\begin_inset Formula $J^{*}(t,x)$
2557\end_inset
2558
2559.
2560 Tato rovnice je analogií algoritmu dynamického programování ve spojitém
2561 čase.
2562 Rovnici lze psát podle
2563\begin_inset CommandInset citation
2564LatexCommand cite
2565key "BertsekasDPOC"
2566
2567\end_inset
2568
2569 ve tvaru
2570\begin_inset Formula \begin{eqnarray}
25710 & = & \min_{u\in U}\left[g(x,u)+\nabla_{t}J^{*}(t,x)+\nabla_{x}J^{*}(t,x)^{T}f(x,u)\right],\quad\forall t,x,\label{eq:hjbrovnostJ}\\
2572J^{*}(T,x) & = & h(x).\nonumber \end{eqnarray}
2573
2574\end_inset
2575
2576Jedná se tedy o parciální diferenciální rovnici s okrajovou podmínkou.
2577 O funkci
2578\begin_inset Formula $J^{*}(t,x)$
2579\end_inset
2580
2581 jsme předpokládali diferencovatelnost, apriorně ale její diferencovatelnost
2582 neznáme a tedy nevíme, jestli
2583\begin_inset Formula $J^{*}(t,x)$
2584\end_inset
2585
2586 řeší rovnici
2587\begin_inset CommandInset ref
2588LatexCommand ref
2589reference "eq:hjbrovnostJ"
2590
2591\end_inset
2592
2593.
2594 Můžeme však použít následující tvrzení, jehož formulaci i důkaz lze nalézt
2595 v
2596\begin_inset CommandInset citation
2597LatexCommand cite
2598key "BertsekasDPOC"
2599
2600\end_inset
2601
2602:
2603\end_layout
2604
2605\begin_layout Description
2606Věta
2607\begin_inset space \space{}
2608\end_inset
2609
2610o
2611\begin_inset space \space{}
2612\end_inset
2613
2614dostatečnosti:
2615\begin_inset ERT
2616status open
2617
2618\begin_layout Plain Layout
2619
2620~
2621\end_layout
2622
2623\end_inset
2624
2625
2626\begin_inset Newline newline
2627\end_inset
2628
2629Nechť je funkce
2630\begin_inset Formula $V(t,x)$
2631\end_inset
2632
2633 spojitě diferencovatelná vzhledem k
2634\begin_inset Formula $t$
2635\end_inset
2636
2637 a
2638\begin_inset Formula $x$
2639\end_inset
2640
2641 a nechť je řešením Hamilton-Jacobi-Bellmanovy rovnosti:
2642\begin_inset Formula \begin{eqnarray}
26430 & = & \min_{u\in U}\left[g(x,u)+\nabla_{t}V(t,x)+\nabla_{x}V(t,x)^{T}f(x,u)\right],\quad\forall t,x,\label{eq:hjbrovnostV}\\
2644V(T,x) & = & h(x),\quad\forall x.\nonumber \end{eqnarray}
2645
2646\end_inset
2647
2648Předpokládejme dále, že
2649\begin_inset Formula $\mu^{*}(t,x)$
2650\end_inset
2651
2652 dosáhne minima v rovnosti
2653\begin_inset CommandInset ref
2654LatexCommand ref
2655reference "eq:hjbrovnostV"
2656
2657\end_inset
2658
2659 pro všechna
2660\begin_inset Formula $t$
2661\end_inset
2662
2663 a
2664\begin_inset Formula $x$
2665\end_inset
2666
2667.
2668 Nechť
2669\family roman
2670\series medium
2671\shape up
2672\size normal
2673\emph off
2674\bar no
2675\noun off
2676\color none
2677 
2678\begin_inset Formula $\left\{ x^{*}(t)\mid t\in[0,T]\right\} $
2679\end_inset
2680
2681 označuje stavovou trajektorii získanou při dané počáteční podmínce
2682\begin_inset Formula $x^{*}(0)=x_{0}$
2683\end_inset
2684
2685 a řídící trajektorii
2686\family default
2687\series default
2688\shape default
2689\size default
2690\emph default
2691\bar default
2692\noun default
2693\color inherit
2694
2695\begin_inset Formula $u^{*}(t)=\mu^{*}(t,x^{*}(t)),\; t\in[0,T]$
2696\end_inset
2697
2698.
2699 Pak
2700\begin_inset Formula $V$
2701\end_inset
2702
2703 je rovno optimální funkci nákladů na pokračování, tedy
2704\begin_inset Formula \[
2705V(t,x)=J^{*}(t,x),\quad\forall t,x.\]
2706
2707\end_inset
2708
2709Navíc řídící trajektorie
2710\begin_inset Formula $\left\{ u^{*}(t)\mid t\in[0,T]\right\} $
2711\end_inset
2712
2713 je optimální.
2714 
2715\end_layout
2716
2717\begin_layout Subsubsection
2718Pontryaginův princip minima
2719\end_layout
2720
2721\begin_layout Standard
2722Pontryaginův princip minima je důležitým teorémem optimálního řízení.
2723 Poskytuje nutnou (ne však postačující) podmínku pro optimální trajektorii,
2724 je úzce spřízněn s Hamilton-Jacobi-Bellmanovou rovností a lze ho z ní podle
2725 
2726\begin_inset CommandInset citation
2727LatexCommand cite
2728key "BertsekasDPOC"
2729
2730\end_inset
2731
2732 také odvodit.
2733 Princip minima je výhodné formulovat pomocí Hamiltoniánu.
2734 Označme
2735\begin_inset Formula $p$
2736\end_inset
2737
2738 gradient optimální funkce nákladů na pokračování pro optimální stavovou
2739 trajektorii
2740\begin_inset Formula $p(t)=\nabla_{x}J^{*}\left(t,x^{*}(t)\right)$
2741\end_inset
2742
2743 a definujme Hamiltonián jako funkci zobrazující trojice vektorů
2744\begin_inset Formula $(x,u,p)$
2745\end_inset
2746
2747 do reálných čísel
2748\begin_inset Formula \[
2749H(x,u,p)=g(x,u)+p^{T}f(x,u).\]
2750
2751\end_inset
2752
2753Rovnice pro systém pak může být zapsána v kompaktním tvaru
2754\begin_inset Formula \[
2755\dot{x}^{*}(t)=\nabla_{p}H\left(x^{*}(t),u^{*}(t),p(t)\right).\]
2756
2757\end_inset
2758
2759Obdobně může být zapsána pro
2760\begin_inset Formula $p$
2761\end_inset
2762
2763 takzvaná
2764\emph on
2765adjungovaná rovnice
2766\emph default
2767
2768\begin_inset Formula \[
2769\dot{p}(t)=-\nabla_{x}H\left(x^{*}(t),u^{*}(t),p(t)\right).\]
2770
2771\end_inset
2772
2773Pontryaginův princip minima je podle
2774\begin_inset CommandInset citation
2775LatexCommand cite
2776key "BertsekasDPOC"
2777
2778\end_inset
2779
2780 formulován následovně:
2781\end_layout
2782
2783\begin_layout Description
2784Princip
2785\begin_inset space \space{}
2786\end_inset
2787
2788minima:
2789\begin_inset ERT
2790status open
2791
2792\begin_layout Plain Layout
2793
2794~
2795\end_layout
2796
2797\end_inset
2798
2799
2800\begin_inset Newline newline
2801\end_inset
2802
2803Nechť
2804\family roman
2805\series medium
2806\shape up
2807\size normal
2808\emph off
2809\bar no
2810\noun off
2811\color none
2812
2813\begin_inset Formula $\left\{ u^{*}(t)\mid t\in[0,T]\right\} $
2814\end_inset
2815
2816 je optimální řídící trajektorie a nechť
2817\begin_inset Formula $\left\{ x^{*}(t)\mid t\in[0,T]\right\} $
2818\end_inset
2819
2820 je odpovídající stavová trajektorie, to jest
2821\begin_inset Formula \[
2822\dot{x}^{*}(t)=f\left(x^{*}(t),u^{*}(t)\right),\quad x^{*}(0)=x_{0}.\]
2823
2824\end_inset
2825
2826Nechť dále
2827\begin_inset Formula $p(t)$
2828\end_inset
2829
2830 je řešením adjungované rovnice
2831\begin_inset Formula \[
2832\dot{p}(t)=-\nabla_{x}H\left(x^{*}(t),u^{*}(t),p(t)\right),\]
2833
2834\end_inset
2835
2836s okrajovou podmínkou
2837\begin_inset Formula $p(T)=\nabla h\left(x^{*}(T)\right)$
2838\end_inset
2839
2840.
2841 Pak pro všechna
2842\begin_inset Formula $t\in[0,T]$
2843\end_inset
2844
2845
2846\begin_inset Formula \[
2847u^{*}(t)=\arg\min_{u\in U}H\left(x^{*}(t),u,p(t)\right).\]
2848
2849\end_inset
2850
2851Navíc existuje konstanta
2852\begin_inset Formula $C$
2853\end_inset
2854
2855 taková, že
2856\begin_inset Formula \[
2857H\left(x^{*}(t),u^{*}(t),p(t)\right)=C,\quad\forall t\in[0,T].\]
2858
2859\end_inset
2860
2861
2862\end_layout
2863
2864\begin_layout Subsection
2865Algoritmy pro duální řízení
2866\end_layout
2867
2868\begin_layout Standard
2869Metody pro nalezení optimálního řízení lze obecně rozdělit do dvou základních
2870 kategorií na
2871\emph on
2872globální
2873\emph default
2874a
2875\emph on
2876lokální
2877\emph default
2878viz
2879\begin_inset CommandInset citation
2880LatexCommand cite
2881key "TodorovWeiweiILQG,TodorovTassaILDP"
2882
2883\end_inset
2884
2885
2886\emph on
2887.
2888
2889\emph default
2890 
2891\end_layout
2892
2893\begin_layout Standard
2894Globální metody, používané zejména v posilovaném učení
2895\color black
2896(
2897\begin_inset Quotes gld
2898\end_inset
2899
2900Reinforcement Learning
2901\color inherit
2902
2903\begin_inset Quotes grd
2904\end_inset
2905
2906), jsou založeny na na
2907\color black
2908Bellmanově principu optimality, Hamilton-Jacobi-Bellmanově rovnosti
2909\color inherit
2910 a dynamickém programování.
2911 Tyto algoritmy hledají globálně optimální zpětnovazební řízení pro všechny
2912 stavy obecného stochastického systému a proto podléhají nebezpečí
2913\begin_inset Quotes gld
2914\end_inset
2915
2916problému dimenzionality
2917\begin_inset Quotes grd
2918\end_inset
2919
2920 nebo také rozměrnosti (z anglického
2921\begin_inset Quotes eld
2922\end_inset
2923
2924curse of dimensionality
2925\begin_inset Quotes erd
2926\end_inset
2927
2928 doslovně -
2929\emph on
2930kletba rozměrnosti
2931\emph default
2932).
2933 Jednoduše můžeme tento problém chápat tak, že při numerickém řešení úlohy
2934 jsou počítačem procházeny všechny body diskretizovaného stavového a řídícího
2935 prostoru jejichž počet s rostoucím počtem dimenzí extrémně (exponenciálně)
2936 rychle roste.
2937 Výpočet pro mnohadimenzionální úlohy se pak stává co do paměťových nároků,
2938 ale hlavně z hlediska výpočetního času prakticky nerealizovatelným.
2939\end_layout
2940
2941\begin_layout Standard
2942Lokální metody, častěji studované v teorii řízení, souvisí s
2943\color black
2944Pontryaginovým principem maxima
2945\color inherit
2946.
2947 Jejich podstatou je nalezení řízení, které je pouze lokálně optimální v
2948 okolí nějaké
2949\begin_inset Quotes gld
2950\end_inset
2951
2952extremalní
2953\begin_inset Quotes grd
2954\end_inset
2955
2956 trajektorie.
2957 Většinou je užito deterministických prostředků jako řešení soustavy obyčejných
2958 diferenciálních rovnic (střelbou, relaxací,
2959\color red
2960uspořádáním - collocation
2961\color inherit
2962 nebo
2963\color red
2964spádem gradientu - gradient descent
2965\color inherit
2966).
2967 Tento přístup ale vede na přímovazební
2968\color red
2969 
2970\color black
2971řízení
2972\color red
2973 
2974\color inherit
2975a nezle užít pro stochastické úlohy, vyhýbá se ale problému dimenzionality,
2976 což umožňuje řešit i komplexnější problémy.
2977\end_layout
2978
2979\begin_layout Standard
2980V poslední době je snaha vyvíjet nové algoritmy, které kombinují výhody
2981 obou výše zmíněných přístupů.
2982 Příkladem může být
2983\emph on
2984diferenciální dynamické programování
2985\emph default
2986 (DDP).
2987 Tento algoritmus zůstává lokální metodou ve smyslu, že uchovává pouzve
2988 jedinou trajektorii, která je lokálně vylepšována.
2989 Vylepšení však není založeno na řešení soustavy obyčejných diferenciálních
2990 rovnic, ale na dynamickém programování aplikovaném na okolí -
2991\begin_inset Quotes eld
2992\end_inset
2993
2994trubici
2995\begin_inset Quotes erd
2996\end_inset
2997
2998 podél současné trajektorie.
2999 Jedná se o algoritmus s konvergencí druhého řádu.
3000 Ještě efektivnější je metoda podobná DDP,
3001\emph on
3002iterativní LQG
3003\emph default
3004 (iLQG).
3005 Tento algoritmus je založen na linearizaci nelineární úlohy v každém bodě
3006 reprezentativní trajektorie a následném řešení modifikované Riccatiho rovnice.
3007 Výhodou DDP i iLQG je, že jejich výsledkem je zpětnovazební řízení.
3008 Obě metody jsou ale stále deterministické a nedokáží se vypořádat s nekvadratic
3009kými ztrátovými funkcemi a požadavky na omezené řízení.
3010 
3011\end_layout
3012
3013\begin_layout Standard
3014S výše zmíněnými problémy se snaží vypořádat modifikovaná iLQG, která bude
3015 
3016\color red
3017možná
3018\color inherit
3019 použita pro srovnání s ústřední metodou této práce iLDP.
3020 Dále pak do kategorie smíšených metod spadá právě i metoda iLDP, která
3021 bude podrobně popsána dále.
3022 
3023\end_layout
3024
3025\begin_layout Section
3026Výběr konkrétních algoritmů pro srovnání
3027\end_layout
3028
3029\begin_layout Subsection
3030LQG
3031\end_layout
3032
3033\begin_layout Standard
3034
3035\color blue
3036(iLQG)
3037\end_layout
3038
3039\begin_layout Subsection
3040Princip separace
3041\end_layout
3042
3043\begin_layout Section
3044Algoritmus iterativního lokálního dynamického programování
3045\end_layout
3046
3047\begin_layout Standard
3048Algoritmus iLDP byl vytvořen pro účely nalezení stochastického optimálního
3049 řízení v mnohadimenzionálních stavových a řídících prostorech.
3050 Tento případ je častý zejména při řízení biologických pohybů.
3051 Metoda je popsána autory v článku
3052\begin_inset CommandInset citation
3053LatexCommand cite
3054key "TodorovTassaILDP"
3055
3056\end_inset
3057
3058
3059\emph on
3060 
3061\emph default
3062a z tohoto zdroje je také převzata
3063\emph on
3064.
3065 
3066\end_layout
3067
3068\begin_layout Standard
3069Základní popis algoritmu, tak jak ho autoři podali, je však pouze šablonou
3070 a mnoho detailů a dílčích částí je ponecháno na vyřešení při konkrétní
3071 realizaci.
3072 To se týká zejména použitých aproximací pro jednotlivé funkce, zejména
3073 aproximace Bellmanovy funkce a aproximace hledaného regulátoru.
3074 Dále, protože algoritmus využívá hledání minima, není v základním popisu
3075 algoritmu vyřešen konkrétní typ minimalizace.
3076 Použitý minimalizační algoritmus se samozřejmě liší podle konkrétního problému,
3077 zejména jedná-li se o minimalizaci omezenou nebo neomezenou.
3078 Ještě je třeba zmínil, že pro algoritmus je nutno zvolit parametr
3079\begin_inset Quotes gld
3080\end_inset
3081
3082velikosti
3083\begin_inset Quotes grd
3084\end_inset
3085
3086 okolí, protože se jedná o lokální metodu.
3087\end_layout
3088
3089\begin_layout Standard
3090\begin_inset VSpace defskip
3091\end_inset
3092
3093
3094\end_layout
3095
3096\begin_layout Subsection
3097Formulace problému
3098\end_layout
3099
3100\begin_layout Standard
3101Naším úkolem je nalézt řízení
3102\begin_inset Formula $\mathbf{u}=\pi(t,\mathbf{\, x})$
3103\end_inset
3104
3105, které minimalizuje očekávanou ztrátu
3106\end_layout
3107
3108\begin_layout Standard
3109\align center
3110\begin_inset Formula \[
3111J(\pi)=E_{\omega}\left(h(\mathbf{x},\pi(t,\mathbf{x}))+\int_{0}^{T}l(\mathbf{x},\pi(t,\mathbf{x}))dt\right)\]
3112
3113\end_inset
3114
3115
3116\end_layout
3117
3118\begin_layout Standard
3119obecně pro spojitý systém:
3120\end_layout
3121
3122\begin_layout Standard
3123\begin_inset Formula \begin{eqnarray}
3124d\mathbf{x} & = & \mathbf{f}(\mathbf{x},\mathbf{u})dt+F(\mathbf{x},\mathbf{u})d\omega\nonumber \\
3125\mathbf{x}(0) & = & \mathbf{x}_{0}\label{eq:systemSpoj}\\
3126t & \in & [0,T]\nonumber \end{eqnarray}
3127
3128\end_inset
3129
3130
3131\end_layout
3132
3133\begin_layout Standard
3134v diskrétním tvaru:
3135\end_layout
3136
3137\begin_layout Standard
3138\begin_inset Formula \begin{eqnarray}
3139\mathbf{x}_{k+1}-\mathbf{x}_{k} & = & \mathbf{f}(\mathbf{x},\mathbf{u})\cdot\Delta k+F(\mathbf{x},\mathbf{u})e_{k}\nonumber \\
3140\mathbf{x}_{(k=0)} & = & \mathbf{x}_{0}\label{eq:systemDis}\\
3141k & \in & \{0,1,\ldots,N\}\nonumber \\
3142\Delta k & = & (k+1)-(k)\nonumber \end{eqnarray}
3143
3144\end_inset
3145
3146
3147\end_layout
3148
3149\begin_layout Standard
3150kde hledáme řízení
3151\begin_inset Formula $\mathbf{u}=\pi(k,\mathbf{\, x})$
3152\end_inset
3153
3154, které minimalizuje očekávanou ztrátu
3155\series bold
3156\emph on
3157\color red
3158asi
3159\end_layout
3160
3161\begin_layout Standard
3162\begin_inset Formula \[
3163J(\pi)=E\left(h(\mathbf{x},\pi(N,\mathbf{x}))+\sum_{k=0}^{N-1}l_{k}(\mathbf{x},\pi(k,\mathbf{x}))\Delta k\right)\]
3164
3165\end_inset
3166
3167
3168\end_layout
3169
3170\begin_layout Subsection
3171Osnova algoritmu
3172\end_layout
3173
3174\begin_layout Standard
3175Algoritmus pracuje iteračně, každá iterace začne s řízením
3176\begin_inset Formula $\pi$
3177\end_inset
3178
3179 a vytvoří zlepšení
3180\begin_inset Formula $\pi'$
3181\end_inset
3182
3183.
3184 Přičemž prvotní řešení
3185\begin_inset Formula $\pi_{0}$
3186\end_inset
3187
3188 musíme algoritmu dodat jako apriorní informaci.
3189 Pro zajištění globální konvergence je možno nové řešení hledat jako konvexní
3190 kombinaci starého a algoritmem nalezeného řešení
3191\begin_inset Formula \[
3192\pi^{nové}=\alpha\pi'+(1-\alpha)\pi;\;0<\alpha\leq1;\; J(\pi^{nové})<J(\pi)\]
3193
3194\end_inset
3195
3196
3197\end_layout
3198
3199\begin_layout Standard
3200V každé iteraci proběhne nejprve přípravná fáze, kdy z řízení
3201\begin_inset Formula $\pi(k,\mathbf{x})$
3202\end_inset
3203
3204 generuje průměrnou trajektorii
3205\begin_inset Formula $\bar{x}(k)$
3206\end_inset
3207
3208 řešením rovnice
3209\begin_inset CommandInset ref
3210LatexCommand ref
3211reference "eq:systemSpoj"
3212
3213\end_inset
3214
3215 respektive
3216\begin_inset CommandInset ref
3217LatexCommand ref
3218reference "eq:systemDis"
3219
3220\end_inset
3221
3222
3223\emph on
3224.
3225 
3226\emph default
3227Následně se počítá aproximace
3228\begin_inset Formula $\tilde{V}(k,\mathbf{x})$
3229\end_inset
3230
3231 Bellmanovy funkce
3232\begin_inset Formula $V(k,\mathbf{x})$
3233\end_inset
3234
3235 v čase odzadu, tj.
3236 od
3237\begin_inset Formula $N$
3238\end_inset
3239
3240 k
3241\begin_inset Formula $1$
3242\end_inset
3243
3244.
3245 Současně počítáme i aproximaci řízení
3246\begin_inset Formula $\pi'(k,\mathbf{x})\ldots\pi'(N-1,\mathbf{x})$
3247\end_inset
3248
3249.
3250 Tedy pro každý čas
3251\begin_inset Formula $k$
3252\end_inset
3253
3254 takový, že
3255\begin_inset Formula $k=N-1\ldots1$
3256\end_inset
3257
3258 jdeme zpět, přičemž pokládáme v koncovém čase
3259\begin_inset Formula $N$
3260\end_inset
3261
3262 hodnotu aproximace Bellmanovy funkce
3263\begin_inset Formula $\tilde{V}(N,\mathbf{x})=h(\mathbf{x})$
3264\end_inset
3265
3266 a provádíme následující čtyři kroky:
3267\end_layout
3268
3269\begin_layout Enumerate
3270Generujeme množinu stavů
3271\begin_inset Formula $\left\{ \mathbf{x}^{(n)}\right\} _{n=1\ldots M}$
3272\end_inset
3273
3274 shromážděných kolem průměrného stavu
3275\begin_inset Formula $\bar{\mathbf{x}}(k)$
3276\end_inset
3277
3278.
3279\end_layout
3280
3281\begin_deeper
3282\begin_layout Standard
3283Zde se projevuje lokálnost metody.
3284 Množina stavů
3285\begin_inset Formula $\left\{ \mathbf{x}^{(n)}\right\} $
3286\end_inset
3287
3288 je vybrána z okolí průměrného stavu
3289\begin_inset Formula $\bar{\mathbf{x}}(k)$
3290\end_inset
3291
3292.
3293 Toto okolí a způsob výběru množiny je třeba konkrétně specifikovat.
3294 Pro účely implementace tohoto algoritmu bylo okolí specifikováno parametrem
3295 
3296\begin_inset Formula $\rho^{2}$
3297\end_inset
3298
3299.
3300 Množina stavů
3301\begin_inset Formula $\left\{ \mathbf{x}^{(n)}\right\} $
3302\end_inset
3303
3304 pak byla generována náhodně jako náhodná veličina s normálním rozdělením
3305 se střední hodnotou rovnou průměrnému stavu
3306\begin_inset Formula $\bar{\mathbf{x}}(k)$
3307\end_inset
3308
3309 a rozptylem specifikovaným parametrem
3310\begin_inset Formula $\rho^{2}$
3311\end_inset
3312
3313.
3314\begin_inset Newline newline
3315\end_inset
3316
3317Počet vzorků
3318\begin_inset Formula $M$
3319\end_inset
3320
3321 je nutno zvolit při implementaci algoritmu.
3322 Obecně je nejlepší volit maximální možné číslo, ovšem s rostoucím počtem
3323 vzorků rostou i paměťové nároky a výpočetní čas algoritmu.
3324\end_layout
3325
3326\end_deeper
3327\begin_layout Enumerate
3328Pro každé
3329\begin_inset Formula $\mathbf{x}^{(n)}$
3330\end_inset
3331
3332 vypočítáme optimální řízení
3333\begin_inset Formula $\mathbf{u}^{(n)}$
3334\end_inset
3335
3336 minimalizací Hamiltoniánu
3337\begin_inset Formula \[
3338H(k,\mathbf{x},\mathbf{u})=\mathbf{l}(\mathbf{x},\mathbf{u})+\mathbf{f}(\mathbf{x},\mathbf{u})^{T}\tilde{V}_{x}(k+1,\mathbf{x})+\frac{1}{2}\mathbf{tr}\left(\sum(\mathbf{x},\mathbf{u})\tilde{V}_{xx}(k+1,\mathbf{x})\right)\]
3339
3340\end_inset
3341
3342s inicializačním bodem
3343\begin_inset Formula $\pi(k,\mathbf{x}^{(n)})$
3344\end_inset
3345
3346.
3347 Kde
3348\begin_inset Formula $\Sigma(\mathbf{x},\mathbf{u})=\mathbf{F}(\mathbf{x},\mathbf{u})\mathbf{F}(\mathbf{x},\mathbf{u})^{T}$
3349\end_inset
3350
3351.
3352 Tedy optimální řízení v čase
3353\begin_inset Formula $k$
3354\end_inset
3355
3356 pro stav
3357\begin_inset Formula $n$
3358\end_inset
3359
3360 hledáme jako
3361\begin_inset Formula $\mathbf{u}^{(n)}=\arg\min_{\mathbf{u}}H(k,\mathbf{x},\mathbf{u})$
3362\end_inset
3363
3364.
3365\end_layout
3366
3367\begin_deeper
3368\begin_layout Standard
3369Pro minimalizaci lze použít například minimalizační funkce programu
3370\emph on
3371Matlab
3372\emph default
3373z balíku
3374\emph on
3375 Optimization Toolbox
3376\emph default
3377, konkrétně se jedná o funkce
3378\family typewriter
3379fminunc
3380\family default
3381 respektive
3382\family typewriter
3383fmincon
3384\family default
3385 pro neomezenou respektive omezenou minimalizaci.
3386 V případě, že by bylo možno spočítat minimalizaci analyticky, jedná se
3387 samozřejmě o nejlepší způsob.
3388\end_layout
3389
3390\end_deeper
3391\begin_layout Enumerate
3392Pro každé
3393\begin_inset Formula $\mathbf{x}(k)$
3394\end_inset
3395
3396 aproximovat
3397\begin_inset Formula $v^{(n)}=V(k,\mathbf{x}^{(n)})$
3398\end_inset
3399
3400 použitím Hamolton-Jacobi-Bellmanovi rovnosti
3401\begin_inset Formula \[
3402V(k,\mathbf{x}^{(n)})\approx\Delta k\cdot H(k,\mathbf{x}^{(n)},\mathbf{u}^{(n)})+\tilde{V}(k+1,\mathbf{x}^{(n)})\]
3403
3404\end_inset
3405
3406
3407\end_layout
3408
3409\begin_layout Enumerate
3410Vypočítat novou aporximaci funkce
3411\begin_inset Formula $\tilde{V}(k,\mathbf{x})$
3412\end_inset
3413
3414 z množiny bodů
3415\begin_inset Formula $\left\{ \mathbf{x}^{(n)},v^{(n)}\right\} $
3416\end_inset
3417
3418 a aproximaci řízení
3419\begin_inset Formula $\pi'(k,\mathbf{x}^{(n)})$
3420\end_inset
3421
3422 definované pro všechna
3423\begin_inset Formula $x$
3424\end_inset
3425
3426 jako z množiny bodů
3427\begin_inset Formula $\left\{ \mathbf{x}^{(n)},\mathbf{u}^{(n)}\right\} $
3428\end_inset
3429
3430.
3431\end_layout
3432
3433\begin_layout Subsection
3434Detaily implementace
3435\end_layout
3436
3437\begin_layout Subsection
3438Konkrétní použité aproximace
3439\end_layout
3440
3441\begin_layout Standard
3442Výpočet hodnot a aproximace
3443\begin_inset Formula $\tilde{V}\;(\tilde{V}_{x},\tilde{V}_{xx})$
3444\end_inset
3445
3446 je opakovaný.
3447 Je tedy třeba vysoké optimalizace, proto je použita lineární aproximace
3448 ve tvaru lineární kombinace dvakrát diferencovatelných základních funkcí
3449 
3450\begin_inset Formula $\phi(x)\in\mathbf{R}^{P}$
3451\end_inset
3452
3453 kde
3454\begin_inset Formula $P<N$
3455\end_inset
3456
3457.
3458 Jako základní funkce jsou voleny funkce
3459\begin_inset Formula $1,\: x_{i},\: x_{i}x_{j},\: x_{i}^{2}x_{j}$
3460\end_inset
3461
3462.
3463 Aproximace je volena jako časově proměnná, kdy
3464\begin_inset Formula $\tilde{V}(k,\mathbf{x})=\phi(\mathbf{x}-\bar{\mathbf{x}}(k))^{T}\mathbf{w}(k)$
3465\end_inset
3466
3467, kde
3468\begin_inset Formula $\mathbf{w}(k)$
3469\end_inset
3470
3471 je parametrický vektor závislý na čase
3472\begin_inset Formula $k$
3473\end_inset
3474
3475.
3476 
3477\end_layout
3478
3479\begin_layout Standard
3480Označme
3481\begin_inset Formula $\tilde{V}_{x}=\phi_{x}^{T}\mathbf{w}$
3482\end_inset
3483
3484 a
3485\begin_inset Formula $\tilde{V}_{xx}=\phi_{xx}^{T}\mathbf{w}$
3486\end_inset
3487
3488 první a druhou derivaci aproximace Bellmanovy funkce podle proměnné
3489\begin_inset Formula $\mathbf{x}$
3490\end_inset
3491
3492 respektive
3493\emph on
3494vektor
3495\emph default
3496a
3497\emph on
3498matici
3499\emph default
3500 parciálních derivací podle složek vektoru
3501\begin_inset Formula $\mathbf{x}$
3502\end_inset
3503
3504.
3505 Parametry aproximace pro jednotlivé časy
3506\begin_inset Formula $\mathbf{w}$
3507\end_inset
3508
3509 se určí lineární regresí.
3510 Pro
3511\begin_inset Formula $\mathbf{v}=\left[v^{(1)}\ldots v^{(M)}\right]$
3512\end_inset
3513
3514 vektor cílových hodnot a matici
3515\begin_inset Formula $\mathbf{\Phi}=\left[\phi(\mathbf{x}^{(1)}-\bar{\mathbf{x}}(k))\ldots\phi(\mathbf{x}^{(M)}-\bar{\mathbf{x}}(k))\right]$
3516\end_inset
3517
3518 je minimální kvadratická odchylka
3519\begin_inset Formula $\parallel\mathbf{v}-\mathbf{\Phi}^{T}\mathbf{w}\parallel^{2}$
3520\end_inset
3521
3522 pro volbu parametru
3523\begin_inset Formula $\mathbf{w}=\left(\mathbf{\Phi\Phi}^{T}\right)^{-1}\mathbf{\Phi v}$
3524\end_inset
3525
3526.
3527 
3528\end_layout
3529
3530\begin_layout Standard
3531Protože je průměrná trajektorie
3532\begin_inset Formula $\bar{\mathbf{x}}(k)$
3533\end_inset
3534
3535 konstantní v iteraci algoritmu, je z důvodu urychlení výpočtu aproximace
3536 vycentrována v tomto bodě.
3537 Množina
3538\begin_inset Formula $\left\{ \mathbf{x}^{(n)}\right\} $
3539\end_inset
3540
3541 je časově proměnná, abychom nemuseli v každém kroku počítat
3542\begin_inset Formula $\left(\mathbf{\Phi\Phi}^{T}\right)^{-1}\mathbf{\Phi}$
3543\end_inset
3544
3545, položíme
3546\begin_inset Formula $\mathbf{x}^{(n)}=\bar{\mathbf{x}}(k)+\varepsilon^{(n)}$
3547\end_inset
3548
3549, kde
3550\begin_inset Formula $\left\{ \varepsilon^{(n)}\right\} $
3551\end_inset
3552
3553 je stejná pro všechny časy
3554\begin_inset Formula $k$
3555\end_inset
3556
3557.
3558 Množina
3559\begin_inset Formula $\left\{ \mathbf{x}^{(n)}\right\} $
3560\end_inset
3561
3562 se pak jakoby pohybuje podél trajektorie
3563\begin_inset Formula $\bar{\mathbf{x}}(k)$
3564\end_inset
3565
3566.
3567 Tedy
3568\begin_inset Formula $\tilde{V}(k,\mathbf{x}^{(n)})=\phi(\varepsilon^{(n)})^{T}\mathbf{w}(k)$
3569\end_inset
3570
3571 a
3572\begin_inset Formula $\Phi$
3573\end_inset
3574
3575 je konstantní v nejen čase, ale i v iteracích algoritmu a matici
3576\begin_inset Formula $\left(\mathbf{\Phi\Phi}^{T}\right)^{-1}\mathbf{\Phi}$
3577\end_inset
3578
3579 je možno předpočítat (což by nešlo při závislosti na stavech).
3580\end_layout
3581
3582\begin_layout Subsection
3583Předběžný odhad vlatností algoritmu
3584\end_layout
3585
3586\begin_layout Standard
3587\begin_inset Newpage newpage
3588\end_inset
3589
3590
3591\end_layout
3592
3593\begin_layout Chapter
3594Systémy pro testování
3595\end_layout
3596
3597\begin_layout Section
3598Jednoduchý systém
3599\end_layout
3600
3601\begin_layout Subsection
3602Popis problému
3603\end_layout
3604
3605\begin_layout Standard
3606Tato úloha byla převzata z článku
3607\begin_inset CommandInset citation
3608LatexCommand cite
3609key "ThompsonCluettSIDP"
3610
3611\end_inset
3612
3613 zejména z důvodu, aby mohla být porovnána s algoritmem navrženým ve zmíněném
3614 zdroji.
3615 Sami autoři
3616\begin_inset CommandInset citation
3617LatexCommand cite
3618key "ThompsonCluettSIDP"
3619
3620\end_inset
3621
3622 pak přejali tento problém z
3623\begin_inset CommandInset citation
3624LatexCommand cite
3625key "AstromHelmerssonDCIUG"
3626
3627\end_inset
3628
3629.
3630\end_layout
3631
3632\begin_layout Standard
3633Jedná se o integrátor s neznámým ziskem, tedy lineární časově invariantní
3634 systém s jedním vstupem a jedním výstupem.
3635\end_layout
3636
3637\begin_layout Standard
3638\begin_inset Formula \begin{eqnarray}
3639y_{k+1} & = & y_{k}+b_{k}u_{k}+e_{k+1},\nonumber \\
3640b_{k} & \sim & N(\hat{b}_{k},P_{k}),\label{eq:simplesystem}\\
3641e_{k} & \sim & N(0,\sigma^{2}),\nonumber \\
3642\mathrm{cov}(e_{k},b_{k}) & = & 0,\;\forall k.\nonumber \end{eqnarray}
3643
3644\end_inset
3645
3646
3647\end_layout
3648
3649\begin_layout Standard
3650kde
3651\begin_inset Formula $y_{k}$
3652\end_inset
3653
3654 je výstup nebo také stav procesu v čase
3655\begin_inset Formula $k$
3656\end_inset
3657
3658,
3659\begin_inset Formula $u_{k}$
3660\end_inset
3661
3662 je řízení v čase
3663\begin_inset Formula $k$
3664\end_inset
3665
3666.
3667 Varianci šumu
3668\begin_inset Formula $\sigma^{2}$
3669\end_inset
3670
3671 předpokládáme známou, stejně jako počáteční hodnoty systému
3672\begin_inset Formula $y_{0}$
3673\end_inset
3674
3675,
3676\begin_inset Formula $\hat{b}_{0}$
3677\end_inset
3678
3679 a
3680\begin_inset Formula $P_{0}$
3681\end_inset
3682
3683.
3684 Úkolem je nalézt zpětnovazební řízení
3685\begin_inset Formula \[
3686u_{k}^{*}=u_{k}^{*}(y_{k},y_{k-1},\ldots,y_{0},u_{k-1},u_{k-2},\ldots,u_{0}),\;0\leq k\leq N-1\]
3687
3688\end_inset
3689
3690 minimalizující očekávanou ztrátu
3691\begin_inset Formula \begin{eqnarray*}
3692J_{0} & = & \left\{ \sum_{k=0}^{N-1}g_{k}\right\} ,\\
3693g_{k} & = & (y_{k+1}-r_{k+1})^{2},\end{eqnarray*}
3694
3695\end_inset
3696
3697
3698\end_layout
3699
3700\begin_layout Standard
3701pro daný časový horizont
3702\begin_inset Formula $N$
3703\end_inset
3704
3705 a referenční signál, tj.
3706 požadovanou hodnotu výstupu, ve formě posloupnosti
3707\begin_inset Formula $\left\{ r_{k}\right\} _{k=1}^{N}$
3708\end_inset
3709
3710.
3711\end_layout
3712
3713\begin_layout Standard
3714Při řešení tohoto problému je výhodné nahlížet na systému jako úlohu s hyperstav
3715em
3716\begin_inset Formula $H_{k}=[y_{k},\hat{b}_{k},P_{k}].$
3717\end_inset
3718
3719 Pak první rovnici v
3720\begin_inset CommandInset ref
3721LatexCommand ref
3722reference "eq:simplesystem"
3723
3724\end_inset
3725
3726 doplníme rovnicemi, ze kterých mohou být rekurzivně napočítány parametry
3727 
3728\begin_inset Formula $\hat{b}_{k}$
3729\end_inset
3730
3731 a
3732\begin_inset Formula $P_{k}$
3733\end_inset
3734
3735
3736\begin_inset Formula \begin{eqnarray*}
3737\hat{b}_{k+1} & = & \hat{b}_{k}+K_{k}(y_{k+1}-y_{k}-\hat{b}_{k}u_{k}),\\
3738P_{k+1} & = & (1-K_{k}u_{k})P_{k},\\
3739K_{k} & = & \frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}}.\end{eqnarray*}
3740
3741\end_inset
3742
3743Přičemž ztráta v čase
3744\begin_inset Formula $k$
3745\end_inset
3746
3747 se změní na
3748\begin_inset Formula \[
3749g_{k}=(y_{k+1}-r_{k+1})^{2}+P_{k}u_{k}^{2}.\]
3750
3751\end_inset
3752
3753
3754\end_layout
3755
3756\begin_layout Subsection
3757Úpravy rovnic
3758\end_layout
3759
3760\begin_layout Subsection
3761Konkrétní užití
3762\end_layout
3763
3764\begin_layout Subsection
3765Pozorované výsledky
3766\end_layout
3767
3768\begin_layout Section
3769Synchronní motor s permanentními magnety
3770\end_layout
3771
3772\begin_layout Subsection
3773Popis systému
3774\end_layout
3775
3776\begin_layout Standard
3777Následující model popisuje synchronní elektromotormotor s rotorem tvořeným
3778 permanentními magnety.
3779 Systém je popsán standartními rovnicemi synchronního stroje s permanentními
3780 magnety ve stacionárním tvaru
3781\begin_inset Formula \begin{eqnarray}
3782\frac{di_{\alpha}}{dt} & = & -\frac{R_{s}}{L_{s}}i_{\alpha}+\frac{\Psi_{PM}}{L_{s}}\omega\sin\vartheta+\frac{u_{\alpha}}{L_{s}},\nonumber \\
3783\frac{di_{\beta}}{dt} & = & -\frac{R_{s}}{L_{s}}i_{\beta}-\frac{\Psi_{PM}}{L_{s}}\omega\cos\vartheta+\frac{u_{\beta}}{L_{s}},\label{eq:pmsmspojity}\\
3784\frac{d\omega}{dt} & = & \frac{k_{p}p_{p}^{2}\Psi_{PM}}{J}\left(i_{\beta}\cos\vartheta-i_{\alpha}\sin\vartheta\right)-\frac{B}{J}\omega-\frac{p_{p}}{J}T_{L},\nonumber \\
3785\frac{d\vartheta}{dt} & = & \omega.\nonumber \end{eqnarray}
3786
3787\end_inset
3788
3789
3790\end_layout
3791
3792\begin_layout Standard
3793Zde
3794\begin_inset Formula $i_{\alpha,\beta}$
3795\end_inset
3796
3797 reprezentují proudy a
3798\begin_inset Formula $u_{\alpha,\beta}$
3799\end_inset
3800
3801 napětí na statoru.
3802 Poloha (úhel otočení) rotoru je označen
3803\begin_inset Formula $\vartheta$
3804\end_inset
3805
3806 a
3807\begin_inset Formula $\omega$
3808\end_inset
3809
3810 je pak rychlost otáčení.
3811 Dále
3812\begin_inset Formula $R_{s}$
3813\end_inset
3814
3815 je rezistance a
3816\begin_inset Formula $L_{s}$
3817\end_inset
3818
3819 induktance statoru.
3820 
3821\begin_inset Formula $\Psi_{PM}$
3822\end_inset
3823
3824 má význam magnetického toku permanentních magnetů rotoru,
3825\begin_inset Formula $B$
3826\end_inset
3827
3828 tření a
3829\begin_inset Formula $T_{L}$
3830\end_inset
3831
3832 je zatěžovací moment.
3833 Konstanta
3834\begin_inset Formula $p_{p}$
3835\end_inset
3836
3837 označuje počet párů polů a
3838\begin_inset Formula $k_{p}$
3839\end_inset
3840
3841 Parkovu konstantu.
3842\end_layout
3843
3844\begin_layout Standard
3845Cílem je návrh řízení bez senzorů, kdy čidla pro měření polohy a otáček
3846 nejsou (z různých důvodů) přítomna.
3847 Tedy jediné měřitelné veličiny jsou:
3848\begin_inset Formula \[
3849y_{t}=\left[i_{\alpha}(t),i_{\beta}(t),u_{\alpha}(t),u_{\beta}(t)\right].\]
3850
3851\end_inset
3852
3853Které samozřejmě můžeme měřit jen s určitou přesností.
3854\end_layout
3855
3856\begin_layout Standard
3857Diskretizace modelu
3858\begin_inset CommandInset ref
3859LatexCommand ref
3860reference "eq:pmsmspojity"
3861
3862\end_inset
3863
3864 pomocí Eulerovy metody vede na následující diskrétní popis:
3865\begin_inset Formula \begin{eqnarray*}
3866i_{\alpha,k+1} & = & \left(1-\frac{R_{s}}{L_{s}}\Delta k\right)i_{\alpha,k}+\frac{\Psi_{PM}}{L_{s}}\Delta k\omega_{k}\sin\vartheta_{k}+\frac{\Delta k}{L_{s}}u_{\alpha,k},\\
3867i_{\beta,k+1} & = & \left(1-\frac{R_{s}}{L_{s}}\Delta k\right)i_{\beta,k}-\frac{\Psi_{PM}}{L_{s}}\Delta k\omega_{k}\cos\vartheta_{k}+\frac{\Delta k}{L_{s}}u_{\beta,k},\\
3868\omega_{k+1} & = & \left(1-\frac{B}{J}\Delta k\right)\omega_{k}+\frac{k_{p}p_{p}^{2}\Psi_{PM}}{J}\Delta k\left(i_{\beta,k}\cos\vartheta_{k}-i_{\alpha,k}\sin\vartheta_{k}\right)-\frac{p_{p}}{J}T_{L}\Delta k,\\
3869\vartheta_{k+1} & = & \vartheta_{k}+\omega_{k}\Delta k.\end{eqnarray*}
3870
3871\end_inset
3872
3873Kde
3874\begin_inset Formula $\Delta k$
3875\end_inset
3876
3877 označuje diskrétní časový okamžik.
3878 Předpokládáme, že paremetry modelu známe, můžeme tedy provést následující
3879 substituci za účelem zjednodušení:
3880\begin_inset Formula $a=1-\frac{R_{s}}{L_{s}}\Delta k$
3881\end_inset
3882
3883,
3884\begin_inset Formula $b=\frac{\Psi_{PM}}{L_{s}}\Delta k$
3885\end_inset
3886
3887,
3888\begin_inset Formula $c=\frac{\Delta k}{L_{s}}$
3889\end_inset
3890
3891,
3892\begin_inset Formula $d=1-\frac{B}{J}\Delta k$
3893\end_inset
3894
3895,
3896\begin_inset Formula $e=\frac{k_{p}p_{p}^{2}\Psi_{PM}}{J}\Delta k$
3897\end_inset
3898
3899.
3900 Pro jednoduchost uvažujme model bez zatížení, tedy zatěžovací moment
3901\begin_inset Formula $T_{L}$
3902\end_inset
3903
3904 je nulovy a zjednodušený model je:
3905\begin_inset Formula \begin{eqnarray}
3906i_{\alpha,k+1} & = & ai_{\alpha,k}+b\omega_{k}\sin\vartheta_{k}+cu_{\alpha,k},\nonumber \\
3907i_{\beta,k+1} & = & ai_{\beta,k}-b\omega_{k}\cos\vartheta_{k}+cu_{\beta,k},\label{eq:pmsmdiskretni}\\
3908\omega_{k+1} & = & d\omega_{k}+e\left(i_{\beta,k}\cos\vartheta_{k}-i_{\alpha,k}\sin\vartheta_{k}\right),\nonumber \\
3909\vartheta_{k+1} & = & \vartheta_{k}+\omega_{k}\Delta k.\nonumber \end{eqnarray}
3910
3911\end_inset
3912
3913Tyto rovnice můžeme chápat jako popis systému se stavem
3914\begin_inset Formula $x_{k}=\left[i_{\alpha,k},i_{\beta,k},\omega_{k},\vartheta_{k}\right]$
3915\end_inset
3916
3917.
3918\end_layout
3919
3920\begin_layout Subsection
3921Úprava rovnic
3922\end_layout
3923
3924\begin_layout Subsection
3925Aplikace iLDP
3926\end_layout
3927
3928\begin_layout Subsection
3929Výsledky jiných metod
3930\end_layout
3931
3932\begin_layout Standard
3933\begin_inset Newpage newpage
3934\end_inset
3935
3936
3937\end_layout
3938
3939\begin_layout Chapter
3940Výsledky
3941\end_layout
3942
3943\begin_layout Section
3944Výsledky algoritmu iLDP
3945\end_layout
3946
3947\begin_layout Subsection
3948Různá počáteční nastavení
3949\end_layout
3950
3951\begin_layout Section
3952Výsledky ostatních použitých metod
3953\end_layout
3954
3955\begin_layout Subsection
3956LQG
3957\end_layout
3958
3959\begin_layout Subsection
3960Princip separace
3961\end_layout
3962
3963\begin_layout Section
3964Srovnání
3965\end_layout
3966
3967\begin_layout Subsection
3968Získané výsledky
3969\end_layout
3970
3971\begin_layout Subsection
3972Porovnání algoritmů
3973\end_layout
3974
3975\begin_layout Section
3976Diskuze pro metodu iLDP
3977\end_layout
3978
3979\begin_layout Standard
3980\begin_inset Newpage newpage
3981\end_inset
3982
3983
3984\end_layout
3985
3986\begin_layout Addchap
3987Závěr
3988\end_layout
3989
3990\begin_layout Standard
3991\begin_inset Newpage newpage
3992\end_inset
3993
3994
3995\end_layout
3996
3997\begin_layout Standard
3998\begin_inset ERT
3999status open
4000
4001\begin_layout Plain Layout
4002
4003
4004\backslash
4005addcontentsline{toc}{chapter}{Literatura}
4006\end_layout
4007
4008\begin_layout Plain Layout
4009
4010
4011\backslash
4012markboth{Literatura}{Literatura}
4013\end_layout
4014
4015\end_inset
4016
4017
4018\end_layout
4019
4020\begin_layout Standard
4021\begin_inset CommandInset bibtex
4022LatexCommand bibtex
4023btprint "btPrintAll"
4024bibfiles "bpzdroje"
4025options "czechiso"
4026
4027\end_inset
4028
4029
4030\end_layout
4031
4032\end_body
4033\end_document
Note: See TracBrowser for help on using the browser.