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

Revision 922, 139.3 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 Standard
625\begin_inset Newpage newpage
626\end_inset
627
628
629\end_layout
630
631\begin_layout Addchap
632Úvod
633\end_layout
634
635\begin_layout Standard
636Skutečný svět se nikdy nechová přesně podle matematických rovnic, protože
637 ty jsou vždy jen jakýmsi zjednodušením nebo přiblížením.
638 V reálném světě se vyskytuje mnoho neznámých veličin, poruch, nepředvídatelných
639 vlivů a ani naše měřící přístroje nejsou přesné.
640 Chceme-li efektivně řídit nějaký systém, musíme si být těchto vlivů vědomi
641 a zahrnout je do našich uvažování.
642 Situace se však ještě může zkomplikovat, když jeden nebo více parametrů
643 neznáme.
644 To může nastat z různých důvodů, například příšlušné čidlo nebo měřící
645 přístroj nemůžeme nebo nechceme (například z důvodů vysoké ceny) instalovat
646 a tedy o velikosti příslušné hodnoty můžeme jen usuzovat ze známých dat.
647 Ještě složitější situace nastane, když uvažujeme neznámý parametr proměnný.
648 
649\end_layout
650
651\begin_layout Standard
652
653\color black
654Máme tedy dva cíle, musíme systém co nejlépe řídit a současně se snažit
655 o co nejpřesnější určení neznámých parametrů.
656 Tyto dva postupy jsou však obecně v rozporu, protože parametry se nejlépe
657 určují, když je systém vybuzen a nechová se optimálně.
658 Právě tento rozpor a nalezení kompromisu, který povede k jeho řešení, je
659 podstatou duálního řízení.
660\end_layout
661
662\begin_layout Standard
663
664\color black
665Pro přiblížení ilustrujme problém na jednoduchém příkladě: Uvažujme elektromotor
666 s možností řídit napětí na vstupu motoru a měřit příslušné proudy.
667 Jedná se tedy o systém se dvěma vstupy a dvěma výstupy.
668 Cílem našeho řízení je dosažení požadovaných otáček rotoru.
669 Ovšem otáčky a ani polohu hřídele měřit nemůžeme.
670 Máme o nich však znalost v podobě středních hodnot a variancí.
671 Naší snahou je co nejpřesněji určit hodnotu otáček a polohy hřídele a současně
672 systém řídit tak, abychom dosáhly požadované hodnoty otáček.
673 Tyto dvě snahy jsou ale v rozporu, protože nejvíce informací o neznámých
674 parametrech získáme, když je motor vybuzen.
675 Tedy například se prudce rozjíždí, brzdí, rychle mění rychlost nebo kmitá,
676 což se projevuje v proudech, které máme možnost měřit.
677 Ale právě vybuzení motoru je v rozporu se snahou o dobré řízení, protože
678 chyba, které se dopustíme je většinou nepřijatelná.
679 Naopak, když se systém snažíme řídit, bez dostatečné znalosti jeho parametrů,
680 s velkou pravděpodobností selžeme.
681\end_layout
682
683\begin_layout Standard
684\begin_inset VSpace bigskip
685\end_inset
686
687
688\end_layout
689
690\begin_layout Standard
691Námětem této bakalářské práce je algoritmus
692\emph on
693iterativního lokálního dynamického programování
694\emph default
695(iLDP) jako jedna z metod pro řešení problému duálního řízení.
696 Algoritmus byl navržen a popsán v článku
697\color black
698
699\begin_inset CommandInset citation
700LatexCommand cite
701key "TodorovTassaILDP"
702
703\end_inset
704
705
706\color inherit
707.
708 Jak už prozrazuje název algoritmu, jedná se o iterační metodu.
709 Tedy stručně řečeno, algoritmus vyjde od nějakého počátečního řízení, které
710 je ovšem nutno dodat jako apriorní informaci a v cyklech (iteracích) tuto
711 řídící strategii vylepšuje, za účelem získání řízení optimálního.
712 Dále se jedná o metodu lokální, což v můžeme jednoduše chápat tak, že kandidáti
713 na
714\begin_inset Quotes gld
715\end_inset
716
717vylepšení
718\begin_inset Quotes grd
719\end_inset
720
721 řízení jsou vybírání z jistého, zatím blíže nespecifikovaného, okolí původní
722 řídící strategie.
723 Nakonec algoritmus využívá obecné schéma dynamického programování, které
724 bude blíže popsáno v dalším textu.
725\end_layout
726
727\begin_layout Standard
728\begin_inset VSpace bigskip
729\end_inset
730
731
732\end_layout
733
734\begin_layout Standard
735Cílem této práce bylo seznámit se s obecnou tématikou duálního řízení a
736 detailněji s konkrétním algoritmem - iterativním lokálním dynamickým programová
737ním.
738 Následně tento algoritmus implementovat a aplikovat na jednoduchý systém.
739 Otestovat jeho funkčnost a schopnost řídit a to i v porovnání s jinými
740 metodami a algoritmy.
741 Dále se pokusit implementovat algoritmus iLDP pro složitější systém blíže
742 praktické aplikaci, konkrétně se jedná o synchronní motor s permanentními
743 magnety.
744 Otestovat funkčnost a případně srovnat s dostupnými výsledky jiných řídících
745 strategii
746\emph on
747\color blue
748.
749
750\emph default
751\color inherit
752 Na základě získaných výsledků posoudit výhody a nevýhody algoritmu a jeho
753 použitelnost na další úlohy.
754\end_layout
755
756\begin_layout Standard
757Hlavním přínosem práce je otestování vlastností algoritmu iLDP na jiných
758 problémech, než pro které byla vyvinuta autory.
759 Objevení kladů a záporů algoritmu a dále díky srovnání s jinými algoritmy
760 získání přehledu, pro které praktické aplikace je vhodnější respektive
761 méně vhodný než srovnávané metody.
762 Prvotní očekávání pro srovnání algoritmu iLDP a řízení získaného pomocí
763 principu separace jsou, že iLDP bude pomalejší co do výpočetního času,
764 avšak přesnost získaných výsledků bude lepší.
765 Dále je očekávána nezanedbatelná závislost výsledného řízení na volbě použitých
766 aproximací a apriorní řídící strategie.
767\end_layout
768
769\begin_layout Standard
770\begin_inset Newpage newpage
771\end_inset
772
773
774\end_layout
775
776\begin_layout Chapter
777Teorie duálního řízení
778\end_layout
779
780\begin_layout Section
781Základní pojmy
782\end_layout
783
784\begin_layout Subsection
785Systém a řízení
786\end_layout
787
788\begin_layout Subsubsection
789Systém
790\end_layout
791
792\begin_layout Standard
793Základním pojmem, se kterým budeme v textu pracovat je
794\emph on
795systém
796\emph default
797.
798 Obdobně jako základní pojmy zejména v matematických vědách (bod, množina,
799 algoritmus,\SpecialChar \ldots{}
800), nelze tento pojem exaktně definovat.
801 Systém si můžeme představit jako jistý
802\begin_inset Quotes gld
803\end_inset
804
805objekt
806\begin_inset Quotes grd
807\end_inset
808
809, často bude reprezentovat objekt skutečného světa.
810 Hlavní vlastností systému je, že má zpravidla jeden nebo více vstupů, pomocí
811 kterých mu můžeme předávat informaci -- řízení a jeden nebo více výstupu,
812 což jsou hodnyty, které pozorujeme.
813 Co se odehrává uvnitř systému však obecně nevíme.
814 Řízení, které budeme dodávat systému na vstup bude v textu značeno písmenem
815 
816\emph on
817
818\begin_inset Formula $u$
819\end_inset
820
821
822\emph default
823.
824 Analogicky bude písmenem
825\emph on
826
827\begin_inset Formula $y$
828\end_inset
829
830
831\emph default
832 označena pozorovaná hodnota na výstupu.
833 
834\end_layout
835
836\begin_layout Standard
837Chování systému, to je jakým výstupem reaguje na vstup, popisujeme dle
838\begin_inset CommandInset citation
839LatexCommand cite
840key "MelicharLS"
841
842\end_inset
843
844 obecně diferenciální rovnicí respektive soustavou diferenciálních rovnic
845 vyšších řádů.
846 Jedná se o takzvaný
847\color black
848vnější popis
849\color inherit
850.
851 Tento druh popisu, pohlíží na systém
852\begin_inset Quotes gld
853\end_inset
854
855zvenku
856\begin_inset Quotes grd
857\end_inset
858
859 bez skutečné znalosti, co se odehrává uvnitř systému a jaká je jeho podstata.
860 Vnější popis obvykle obdržíme při odvození modelu systému z fyzikálních
861 rovnic.
862 Omezení, která z něj plynou, se snažíme odstranit zavedením
863\color black
864vnitřního (stavového) popisu
865\color inherit
866, kdy (soustavu) diferenciálních rovnic vyššího řádu, převedeme vhodnou
867 volbou nových proměnných
868\emph on
869
870\begin_inset Formula $x$
871\end_inset
872
873
874\series bold
875 
876\series default
877\emph default
878na soustavu diferenciálních rovnic prvního řádu.
879 Proměnné
880\emph on
881
882\begin_inset Formula $x$
883\end_inset
884
885
886\series bold
887 
888\series default
889\emph default
890označujeme jako
891\color black
892stavové proměnné
893\color inherit
894.
895\end_layout
896
897\begin_layout Subsubsection
898Řízení
899\end_layout
900
901\begin_layout Standard
902Naším úkolem je pro zadaný systém nalézt regulátor, tedy obecně řízení
903\emph on
904
905\begin_inset Formula $u$
906\end_inset
907
908
909\emph default
910 takové, které dodané na vstup způsobí, že systém se bude
911\begin_inset Quotes gld
912\end_inset
913
914chovat podle našich požadavků
915\begin_inset Quotes grd
916\end_inset
917
918.
919 To zpravidla znamená, že hodnoty výstupní veličiny
920\series bold
921\emph on
922
923\begin_inset Formula $y$
924\end_inset
925
926
927\series default
928\emph default
929 dosáhnou (nebo se přiblíží s danou přesností) požadované hodnotě v podobě
930 referenčního signálu, který regulátor dostavá z vnějšku a současně dodrží
931 předem stanovená omezení.
932 Práce je ovšem zaměřena na řízení složitějších systémů, u kterých jeden
933 nebo více parametrů neznáme přesně.
934 Tedy některý (více) z koeficientů v rovnicích popisujících systém není
935 znám.
936 Máme však o něm jistou statistickou informaci v podob
937\color black
938ě jeho
939\color inherit
940 očekávané hodnoty a variance.
941 Dále je-li systém nelineární, jsou výsledné rovnice příliš složité a tedy
942 analyticky neřešitelné.
943 Pro numerické řešení, jsou rovnice systému zpravidla převáděny do diskrétního
944 tvaru.
945\end_layout
946
947\begin_layout Standard
948Řízení obecně dělíme podle
949\begin_inset CommandInset citation
950LatexCommand cite
951key "MelicharLS"
952
953\end_inset
954
955 na dva typy:
956\emph on
957Přímovazební řízení
958\emph default
959 užíváme v případě, kde je k dispozici přesný matematický model systému
960 a je vyloučen výskyt neurčitostí.
961 Toto řízení nevyužívá žádné zpětné informace od systému a regulátor pracuje
962 pouze s referenčním signálem.
963 Naproti tomu
964\emph on
965zpětnovazební řízení
966\emph default
967 využívá i informace o skutečném výstupu systému a snaží se tak eliminovat
968 chyby v důsledku neurčitostí a chyb způsobenych nepřesností modelu.
969\end_layout
970
971\begin_layout Subsubsection
972Duální řízení
973\end_layout
974
975\begin_layout Standard
976Chceme navrhnout regulátor pro zadaný systém s neznámými parametry.
977 Úkoly jsou tedy dva: 1.
978
979\emph on
980 opatrnost
981\emph default
982 - efektivně systém řídit a 2.
983
984\emph on
985 buzení
986\emph default
987- určit neznáme parametry.
988 Tyto dva přístupy jsou ale obecně v rozporu.
989 Abychom mohli systém dobře řídit, potřebujeme znát parametry co nejpřesněji.
990 Nejvíce informací o parametrech však získáme, když je systém vybuzen a
991 nechová optimálně.
992 Tyto pojmy není snadné kvantifikovat, ale velmi často se projevují v konkrétníc
993h řídících schématech.
994 Naším úkolem je pokusit nalézt nějaký kompromis mezi oběma úkoly.
995 Právě tento přístup je označován jako
996\emph on
997duální řízení
998\emph default
999 
1000\begin_inset CommandInset citation
1001LatexCommand cite
1002key "BertsekasDPOC"
1003
1004\end_inset
1005
1006.
1007 
1008\end_layout
1009
1010\begin_layout Subsection
1011Formulace problému
1012\end_layout
1013
1014\begin_layout Standard
1015V textu budeme pracovat zpravidla s diskrétním systémem, ve smyslu systému
1016 s diskrétním časem, protože výpočty jsou prováděny ve většině případů problemat
1017iky duálního řízení numericky.
1018 Rovnice popisující systém jsou však zpravidla ve spojitém tvaru, (model
1019 často vychází ze skutečnosti, popřípadě fyzikálních zákonů).
1020 V tomto případě provádíme diskretizaci.
1021\end_layout
1022
1023\begin_layout Standard
1024Základní problém je formulován podle
1025\begin_inset CommandInset citation
1026LatexCommand cite
1027key "BertsekasDPOC"
1028
1029\end_inset
1030
1031 následovně:
1032\end_layout
1033
1034\begin_layout Standard
1035\begin_inset VSpace defskip
1036\end_inset
1037
1038
1039\end_layout
1040
1041\begin_layout Standard
1042Uvažujme stavový popis diskrétního dynamického systému
1043\begin_inset Formula \begin{equation}
1044\begin{array}{cc}
1045x_{k+1}=f_{k}(x_{k},u_{k},w_{k}), & k=0,\ldots,N-1\end{array},\label{eq:zakladniproblem}\end{equation}
1046
1047\end_inset
1048
1049kde
1050\begin_inset Formula $x_{k}$
1051\end_inset
1052
1053 je stavová proměná,
1054\begin_inset Formula $u_{k}$
1055\end_inset
1056
1057 řízení a
1058\begin_inset Formula $w_{k}$
1059\end_inset
1060
1061 náhodná porucha, vše v čase
1062\begin_inset Formula $k$
1063\end_inset
1064
1065 při celkovém časovém horizontu
1066\begin_inset Formula $N$
1067\end_inset
1068
1069.
1070 Na řízení
1071\begin_inset Formula $u_{k}$
1072\end_inset
1073
1074 klademe omezení, že může nabývat pouze hodnot z neprázdné monožiny
1075\begin_inset Formula $U_{k}(x_{k})$
1076\end_inset
1077
1078 závislé na stavu
1079\begin_inset Formula $x_{k}$
1080\end_inset
1081
1082.
1083 Náhodná porucha
1084\begin_inset Formula $w_{k}$
1085\end_inset
1086
1087 je charakterizována rozdělením pravděpodobnosti
1088\begin_inset Formula $P_{k}$
1089\end_inset
1090
1091, které může explicitně záviset na
1092\begin_inset Formula $x_{k}$
1093\end_inset
1094
1095 a
1096\begin_inset Formula $u_{k}$
1097\end_inset
1098
1099, ne však na předchozích poruchách
1100\begin_inset Formula $w_{k-1},\ldots,w_{0}$
1101\end_inset
1102
1103.
1104\end_layout
1105
1106\begin_layout Standard
1107Dále uvažujme množinu řízení, jedná se o posloupnost funkcí
1108\begin_inset Formula \[
1109\pi=\{\mu_{0},\ldots,\mu_{N-1}\},\]
1110
1111\end_inset
1112
1113kde
1114\begin_inset Formula $\mu_{k}$
1115\end_inset
1116
1117 přiřazuje stavu
1118\begin_inset Formula $x_{k}$
1119\end_inset
1120
1121 přípustné řízení
1122\begin_inset Formula $u_{k}=\mu_{k}(x_{k})$
1123\end_inset
1124
1125, to je takové, že
1126\begin_inset Formula $\mu_{k}(x_{k})\in U_{k}(x_{k})$
1127\end_inset
1128
1129, množinu přípustných řešení označme
1130\begin_inset Formula $\Pi$
1131\end_inset
1132
1133.
1134 Máme-li dány počáteční stav
1135\begin_inset Formula $x_{0}$
1136\end_inset
1137
1138 a přípustné řešení
1139\begin_inset Formula $\pi$
1140\end_inset
1141
1142 můžeme stavy
1143\begin_inset Formula $x_{k}$
1144\end_inset
1145
1146 a poruchy
1147\begin_inset Formula $w_{k}$
1148\end_inset
1149
1150 považovat za náhodné veličiny s rozdělemím definovaným systémem rovnic
1151 
1152\begin_inset CommandInset ref
1153LatexCommand ref
1154reference "eq:zakladniproblem"
1155
1156\end_inset
1157
1158, kde za řízení
1159\begin_inset Formula $u_{k}$
1160\end_inset
1161
1162 dosadíme hodnotu funkce
1163\begin_inset Formula $\mu_{k}$
1164\end_inset
1165
1166 v
1167\begin_inset Formula $x_{k}$
1168\end_inset
1169
1170.
1171\end_layout
1172
1173\begin_layout Standard
1174Pro dané ztráty v jednotlivých časech -- funkce
1175\begin_inset Formula $g_{k}$
1176\end_inset
1177
1178, pak definujeme očekávanou ztrátu
1179\begin_inset Formula $\pi$
1180\end_inset
1181
1182 v
1183\begin_inset Formula $x_{0}$
1184\end_inset
1185
1186 jako
1187\begin_inset Formula \[
1188J_{\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\} \]
1189
1190\end_inset
1191
1192kde je očekávaná hodnota počítána přes náhodné veličiny
1193\begin_inset Formula $w_{k}$
1194\end_inset
1195
1196 a
1197\begin_inset Formula $x_{k}$
1198\end_inset
1199
1200.
1201 Optimální řízení
1202\begin_inset Formula $\pi^{*}$
1203\end_inset
1204
1205je právě to, které minimalizuje ztrátu
1206\begin_inset Formula \[
1207J_{\pi^{*}}(x_{0})=\min_{\pi\in\Pi}J_{\pi}(x_{0}).\]
1208
1209\end_inset
1210
1211Optimální ztrátu označme
1212\begin_inset Formula $J^{*}(x_{0})$
1213\end_inset
1214
1215.
1216\end_layout
1217
1218\begin_layout Subsection
1219Dynamické programování
1220\end_layout
1221
1222\begin_layout Standard
1223Dynamické programovní dle
1224\begin_inset CommandInset citation
1225LatexCommand cite
1226key "ViriusZA"
1227
1228\end_inset
1229
1230 je jedním ze způsobů návrhu algoritmů pro řešení jistých typu optimalizačních
1231 problémů.
1232 Konkrétně se uplatňuje v případě, že jde o diskrétní optimalizační úlohu,
1233 na řešení daného problému můžeme nahlížet jako na konečnou posloupnost
1234 rozhodnutí a platí
1235\emph on
1236princip optimality
1237\emph default
1238.
1239\end_layout
1240
1241\begin_layout Subsubsection
1242Princip optimality
1243\end_layout
1244
1245\begin_layout Standard
1246říká, že optimální posloupnost rozhodnutí musí mít následující vlastnost:
1247 
1248\emph on
1249Jestliže jsme už udělali
1250\emph default
1251k
1252\emph on
1253rozhodnutí, musí být všechna následující rozhodnutí optimální vzhledem k
1254 výsledkům rozhodnutí předchozích, jinak nemůžeme dostat optimální řešení
1255 
1256\emph default
1257
1258\begin_inset CommandInset citation
1259LatexCommand cite
1260key "ViriusZA"
1261
1262\end_inset
1263
1264
1265\emph on
1266.
1267\end_layout
1268
1269\begin_layout Subsubsection
1270Princip optimality v teorii řízení
1271\end_layout
1272
1273\begin_layout Standard
1274Nechť
1275\begin_inset Formula $\pi^{*}=\left\{ \mu_{0}^{*},\mu_{1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1276\end_inset
1277
1278 je optimální řídící strategie pro
1279\color black
1280základní
1281\color inherit
1282 problém a předpokládejme, že když aplikujeme řízení
1283\begin_inset Formula $\pi^{*}$
1284\end_inset
1285
1286, daný stav
1287\begin_inset Formula $x_{i}$
1288\end_inset
1289
1290 se vyskytne v čase
1291\begin_inset Formula $i$
1292\end_inset
1293
1294 s pozitivní pravděpodobností.
1295 Uvažujme podproblém, kdy ve stavu
1296\begin_inset Formula $x_{i}$
1297\end_inset
1298
1299 a čase
1300\begin_inset Formula $i$
1301\end_inset
1302
1303 chceme minimalizovat
1304\emph on
1305náklady na pokračování
1306\emph default
1307 (v anglické literatuře označováno jako
1308\color black
1309
1310\begin_inset Quotes gld
1311\end_inset
1312
1313cost-to-go
1314\color inherit
1315
1316\begin_inset Quotes grd
1317\end_inset
1318
1319) od času
1320\begin_inset Formula $i$
1321\end_inset
1322
1323 do
1324\begin_inset Formula $N$
1325\end_inset
1326
1327
1328\begin_inset Formula \[
1329\mathbf{E}\left\{ g_{N}(x_{N})+\sum_{k=i}^{N-1}g_{k}(x_{k},\mu_{k}(x_{k}),w_{k})\right\} \]
1330
1331\end_inset
1332
1333Potom úsek strategie
1334\family roman
1335\series medium
1336\shape up
1337\size normal
1338\emph off
1339\bar no
1340\noun off
1341\color none
1342
1343\begin_inset Formula $\left\{ \mu_{i}^{*},\mu_{i+1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1344\end_inset
1345
1346 je optimální pro tento podproblém.
1347\begin_inset VSpace medskip
1348\end_inset
1349
1350
1351\end_layout
1352
1353\begin_layout Standard
1354Intuitivně je princip optimality velmi jednoduchý.
1355 Jestliže úsek strategie
1356\begin_inset Formula $\left\{ \mu_{i}^{*},\mu_{i+1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1357\end_inset
1358
1359 nebude optimální, budeme schopni dále zredukovat cenu přechodem k optimální
1360 strategii pro podproblém.
1361\end_layout
1362
1363\begin_layout Standard
1364Princip optimality umožňuje optimální strategii konstruovat postupně.
1365 Nejdříve nalezneme optimální strategii pro koncový podproblém zahrnující
1366 poslední krok.
1367 Poté rozšiřujeme podproblém od konce přidáním předposledního kroku a tak
1368 dále.
1369 Takto může být vytvořena optimální strategie pro celý problém.
1370\end_layout
1371
1372\begin_layout Standard
1373Algoritmus dynamického programování je tedy založen na následující myšlence:
1374 Algoritmus pracuje iterativně a řeší
1375\color black
1376koncové
1377\color inherit
1378 podproblémy pro daný časový úsek, při tom využívá řešení předchozích
1379\color black
1380koncových
1381\color inherit
1382 podproblémů pro kratší časové úseky.
1383 Převzato z
1384\begin_inset CommandInset citation
1385LatexCommand cite
1386key "BertsekasDPOC"
1387
1388\end_inset
1389
1390.
1391\end_layout
1392
1393\begin_layout Subsubsection
1394Formulace algoritmu dynamického programování
1395\end_layout
1396
1397\begin_layout Standard
1398Podle
1399\begin_inset CommandInset citation
1400LatexCommand cite
1401key "BertsekasDPOC"
1402
1403\end_inset
1404
1405, pro každý počáteční stav
1406\begin_inset Formula $x_{0}$
1407\end_inset
1408
1409, je optimální cena
1410\begin_inset Formula $J^{*}(x_{0})$
1411\end_inset
1412
1413 základního problému rovna
1414\begin_inset Formula $J_{0}(x_{0})$
1415\end_inset
1416
1417, získané z posledního kroku následujícího algoritmu, který prochází zpět
1418 časy od
1419\begin_inset Formula $N-1$
1420\end_inset
1421
1422 do
1423\begin_inset Formula $0$
1424\end_inset
1425
1426:
1427\begin_inset Formula \[
1428J_{N}(x_{N})=g_{N}(x_{N})\]
1429
1430\end_inset
1431
1432
1433\end_layout
1434
1435\begin_layout Standard
1436\begin_inset Formula \begin{equation}
1437J_{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}
1438
1439\end_inset
1440
1441
1442\begin_inset Formula \[
1443k=0,1,\ldots,N-1\]
1444
1445\end_inset
1446
1447
1448\end_layout
1449
1450\begin_layout Standard
1451kde je očekávaná hodnota počítána podle náhodné veličiny
1452\begin_inset Formula $w_{k}$
1453\end_inset
1454
1455, která obecně závisí na
1456\begin_inset Formula $x_{k}$
1457\end_inset
1458
1459 a
1460\begin_inset Formula $u_{k}$
1461\end_inset
1462
1463.
1464 Dále, když
1465\begin_inset Formula $u_{k}^{*}=\mu_{k}^{*}(x_{k})$
1466\end_inset
1467
1468 minimalizuje pravou stranu rovnice
1469\begin_inset CommandInset ref
1470LatexCommand eqref
1471reference "eq:Jkeqmin"
1472
1473\end_inset
1474
1475 pro každé
1476\begin_inset Formula $x_{k}$
1477\end_inset
1478
1479 a
1480\begin_inset Formula $k$
1481\end_inset
1482
1483, stretegie
1484\begin_inset Formula $\pi*=\left\{ \mu_{1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1485\end_inset
1486
1487 je optimální.
1488\begin_inset VSpace medskip
1489\end_inset
1490
1491
1492\end_layout
1493
1494\begin_layout Standard
1495Hodnotu
1496\begin_inset Formula $J_{k}(x_{k})$
1497\end_inset
1498
1499 je možno interpretovat jako optimální cenu pro
1500\emph on
1501
1502\begin_inset Formula $(N-k)$
1503\end_inset
1504
1505
1506\emph default
1507-tý krok problému začínajícího ve stavu
1508\begin_inset Formula $x_{k}$
1509\end_inset
1510
1511 a čase
1512\begin_inset Formula $k$
1513\end_inset
1514
1515, a končícího v čase
1516\begin_inset Formula $N$
1517\end_inset
1518
1519.
1520 Následně označujeme
1521\begin_inset Formula $J_{k}(x_{k})$
1522\end_inset
1523
1524 náklady na pokračování (
1525\color black
1526
1527\begin_inset Quotes gld
1528\end_inset
1529
1530cost-to-go
1531\color inherit
1532
1533\begin_inset Quotes grd
1534\end_inset
1535
1536) ve stavu
1537\begin_inset Formula $x_{k}$
1538\end_inset
1539
1540 a čase
1541\begin_inset Formula $k$
1542\end_inset
1543
1544, a
1545\begin_inset Formula $J_{k}$
1546\end_inset
1547
1548 označujeme jako funkci nákladů na pokračování (
1549\color black
1550
1551\begin_inset Quotes gld
1552\end_inset
1553
1554cost-to-go
1555\color inherit
1556 function
1557\begin_inset Quotes grd
1558\end_inset
1559
1560) v čase
1561\begin_inset Formula $k$
1562\end_inset
1563
1564.
1565 
1566\end_layout
1567
1568\begin_layout Standard
1569Ideálně bychom chtěli využít algoritmus dynamického programování k získání
1570 
1571\begin_inset Formula $J_{k}$
1572\end_inset
1573
1574 vyjádřené v uzavřeném tvaru nebo k získání optimální strategie.
1575 Existuje mnoho případů, kdy je daná úloha řešitelná analyticky, obzvláště
1576 za zjednodušujících předpokladů.
1577 To je velmi užitečné zejména pro lepší náhled do problematiky a jako vodítko
1578 pro složitější modely.
1579 Avšak ve většíně případů není analytické řešení možné, pak je třeba použít
1580 numerické řešení pomocí algoritmu dynamického programování.
1581 Tento přístup může být časově velmi náročný, zejména minimalizaci v rovnici
1582 
1583\begin_inset CommandInset ref
1584LatexCommand eqref
1585reference "eq:Jkeqmin"
1586
1587\end_inset
1588
1589 je třeba provést pro každou hodnotu
1590\begin_inset Formula $x_{k}$
1591\end_inset
1592
1593.
1594 Stavový prostor musí být diskretizován, nejedná-li se o konečnou množinu
1595 a výpočetní nároky pak narůstají proporcionálně k počtu možných hodnot
1596 
1597\begin_inset Formula $x_{k}$
1598\end_inset
1599
1600.
1601 Nicméně dynamické programování je pouze obecný přístup pro iterativní optimaliz
1602aci při uvažování nejistoty v systému.
1603\end_layout
1604
1605\begin_layout Subsection
1606Úplná a neúplná stavová informace
1607\end_layout
1608
1609\begin_layout Standard
1610V optimálním případě by bylo možno měřit všechny stavové veličiny systému
1611 a na jejich základě libovolným způsobem upravovat jeho dynamické vlastnosti.
1612 Ve skutečnosti ale zpravidla není možné všechny stavy změřit a musíme se
1613 rozhodovat pouze na základě informací, které máme k dispozici, pak mluvíme
1614 o
1615\emph on
1616neúplné informaci o stavu systému
1617\emph default
1618 
1619\begin_inset CommandInset citation
1620LatexCommand cite
1621key "StechaTDS,BertsekasDPOC"
1622
1623\end_inset
1624
1625.
1626 Může to být způsobeno například nedostupností hodnot některých stavů, použité
1627 měřící přístroje mohou být nepřesné nebo náklady na získání přesné hodnoty
1628 stavu mohou být příliš omezující.
1629 Případy tohoto typu modelujeme zpravidla tak, že v každém kroku regulátor
1630 obdrží jisté pozorování skutečné hodnoty stavu, které ovšem může být ovlivněno
1631 a narušeno stochastickou nejistotou.
1632 Teoreticky se však problém s neúplnou informací o stavu neodlišuje od úloh
1633 s úplnou stavovou informací, protože existují způsoby, jak převést (redukovat)
1634 systém s neúplnou informací na systém s úplnou.
1635 Tyto postupy obecně vedou na algoritmy využívající dynamické programování,
1636 ale jsou výpočetně mnohem náročnější, než v případě úplné informace.
1637 Dva možné postupy redukce převzaté z
1638\begin_inset CommandInset citation
1639LatexCommand cite
1640key "BertsekasDPOC"
1641
1642\end_inset
1643
1644 budou následovat po formulaci problému:
1645\end_layout
1646
1647\begin_layout Subsubsection
1648Formulace problému s neúplnou informací o stavu
1649\end_layout
1650
1651\begin_layout Standard
1652Nejdříve formulujme základní problém s neúplnou stavovou informací, který
1653 následně redukujeme na systém s informací úplnou.
1654 Uvažujme rozšíření základního problému
1655\begin_inset CommandInset ref
1656LatexCommand ref
1657reference "eq:zakladniproblem"
1658
1659\end_inset
1660
1661, kde ale regulátor, namísto přístupu ke stavu systému, získává pouze pozorování
1662 
1663\begin_inset Formula $z_{k}$
1664\end_inset
1665
1666 ve tvaru
1667\begin_inset Formula \begin{equation}
1668z_{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}
1669
1670\end_inset
1671
1672kde
1673\begin_inset Formula $v_{k}$
1674\end_inset
1675
1676 reprezentuje náhodnou poruchu pozorování charakterizovanou rozdělením pravděpod
1677obnosti
1678\begin_inset Formula $P_{v_{k}}$
1679\end_inset
1680
1681, která závisí na současném stavu a všech předchozích stavech, řízeních
1682 a poruchách.
1683 Dále také počáteční stav
1684\begin_inset Formula $x_{0}$
1685\end_inset
1686
1687 považujeme za náhodnou veličinu s rozdělením
1688\begin_inset Formula $P_{x_{0}}$
1689\end_inset
1690
1691.
1692\end_layout
1693
1694\begin_layout Standard
1695Soubor informací dostupných regulátoru v čase
1696\begin_inset Formula $k$
1697\end_inset
1698
1699 označme
1700\begin_inset Formula $I_{k}$
1701\end_inset
1702
1703 informačním vektorem.
1704 Tedy
1705\begin_inset Formula \begin{eqnarray*}
1706I_{k} & = & (z_{0},\ldots,z_{k},u_{0},\ldots,u_{k-1}),\quad k=1,\ldots,N-1,\\
1707I_{0} & = & z_{0}.\end{eqnarray*}
1708
1709\end_inset
1710
1711Uvažujme množinu přípustných řízení jako posloupnost funkcí
1712\begin_inset Formula $\pi=\{\mu_{0},\ldots,\mu_{N-1}\}$
1713\end_inset
1714
1715, kde každá funkce
1716\begin_inset Formula $\mu_{k}$
1717\end_inset
1718
1719 přiřazuje informačnímu vektoru
1720\begin_inset Formula $I_{k}$
1721\end_inset
1722
1723 řízení
1724\begin_inset Formula $\mu_{k}(I_{k})\in U_{k}$
1725\end_inset
1726
1727, pro všechna
1728\begin_inset Formula $I_{k}$
1729\end_inset
1730
1731, kde
1732\begin_inset Formula $k=0,\ldots,N-1$
1733\end_inset
1734
1735.
1736 Chceme najít přípustnou řídící strategii, to jest posloupnost
1737\begin_inset Formula $\pi$
1738\end_inset
1739
1740, která minimalizuje očekávanou ztrátu
1741\begin_inset Formula \[
1742J_{\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\} ,\]
1743
1744\end_inset
1745
1746kde je očekávaná hodnota počítána přes náhodné veličiny
1747\begin_inset Formula $x_{0}$
1748\end_inset
1749
1750 a
1751\begin_inset Formula $w_{k},v_{k}$
1752\end_inset
1753
1754 pro
1755\begin_inset Formula $k=0,\ldots,N-1$
1756\end_inset
1757
1758.
1759 Veličiny
1760\begin_inset Formula $x_{k}$
1761\end_inset
1762
1763 a
1764\begin_inset Formula $z_{k}$
1765\end_inset
1766
1767 se vypočítají z rovnic
1768\begin_inset CommandInset ref
1769LatexCommand ref
1770reference "eq:zakladniproblem"
1771
1772\end_inset
1773
1774 respektive
1775\begin_inset CommandInset ref
1776LatexCommand ref
1777reference "eq:zaklprobneuplnystav"
1778
1779\end_inset
1780
1781, přičemž v nich položíme
1782\begin_inset Formula $u_{k}=\mu_{k}(I_{k})$
1783\end_inset
1784
1785.
1786\end_layout
1787
1788\begin_layout Subsubsection
1789Redukce na systém s úplnou stavovou informací
1790\end_layout
1791
1792\begin_layout Standard
1793Tento postup je založen na myšlence definovat nový systém, jehož stav v
1794 čase
1795\begin_inset Formula $k$
1796\end_inset
1797
1798 je množina všech hodnot, kterých může využít regulátor při tvorbě řízení.
1799 Jako stav nového systému tedy volíme informační vektor
1800\begin_inset Formula $I_{k}$
1801\end_inset
1802
1803 a získáme systém
1804\begin_inset Formula \begin{equation}
1805I_{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}
1806
1807\end_inset
1808
1809Na tento systém povahy základního problému s úplnou informací můžeme pohlížet
1810 tak, že
1811\begin_inset Formula $I_{k}$
1812\end_inset
1813
1814 je stav.
1815 Řízení
1816\begin_inset Formula $u_{k}$
1817\end_inset
1818
1819 a pozorování
1820\begin_inset Formula $z_{k}$
1821\end_inset
1822
1823 lze pak chápat jako náhodné poruchy.
1824 Dále rozdělení pravděpodobnosti
1825\begin_inset Formula $z_{k+1}$
1826\end_inset
1827
1828 závisí explicitně pouze na stavu
1829\begin_inset Formula $I_{k}$
1830\end_inset
1831
1832 a řízení
1833\begin_inset Formula $u_{k}$
1834\end_inset
1835
1836.
1837 Ztrátovou funkci vyjádřenou pro nový systém je možno zapsat jako
1838\begin_inset Formula \[
1839\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\} .\]
1840
1841\end_inset
1842
1843Tedy ztráta během jednoho kroku vyjádřená jako funkce nového stavu
1844\begin_inset Formula $I_{k}$
1845\end_inset
1846
1847 a řízení
1848\begin_inset Formula $u_{k}$
1849\end_inset
1850
1851 je
1852\begin_inset Formula \begin{equation}
1853\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}
1854
1855\end_inset
1856
1857Původní základní problém s neúplnou stavovou informací byl tedy převeden
1858 na úlohu s úplnou stavovou informací s rovnicí popisující systém
1859\begin_inset CommandInset ref
1860LatexCommand ref
1861reference "eq:rednewsystem"
1862
1863\end_inset
1864
1865 a ztrátou během jednoho kroku
1866\begin_inset CommandInset ref
1867LatexCommand ref
1868reference "eq:rednewztrata"
1869
1870\end_inset
1871
1872.
1873 Nyní je pro něj možno napsat algoritmus dynamického programování.
1874 
1875\end_layout
1876
1877\begin_layout Subsubsection
1878Postačující statistika
1879\end_layout
1880
1881\begin_layout Standard
1882Při užití algoritmu dynamického programování za neúplné stavové informace
1883 je hlavní problém v jeho vyhodnocování ve stavovém prostoru, jehož dimenze
1884 neustále roste.
1885 S každým dalším měřením dimenze stavu a tedy informační vektor
1886\begin_inset Formula $I_{k}$
1887\end_inset
1888
1889 narůstá, proto se snažíme redukovat množství dat skutečně potřebných pro
1890 účely řízení.
1891 Hledáme tedy popis známý jako
1892\emph on
1893postačující statistika
1894\emph default
1895, který bude mít menší dimenzi než
1896\begin_inset Formula $I_{k}$
1897\end_inset
1898
1899 ale současně zahrne veškerý důležitý obsah
1900\begin_inset Formula $I_{k}$
1901\end_inset
1902
1903 potřebný pro řízení.
1904 Jako postačující statistiku označme funkci
1905\begin_inset Formula $S_{k}$
1906\end_inset
1907
1908 informačního vektoru
1909\begin_inset Formula $I_{k}$
1910\end_inset
1911
1912, tedy
1913\begin_inset Formula $S_{k}(I_{k})$
1914\end_inset
1915
1916 takovou, že minimalizuje ztrátu v algoritmu dynamického programování přes
1917 všechna přípustná řízení.
1918 Což můžeme zapsat pro vhodnou funkci
1919\begin_inset Formula $H_{k}$
1920\end_inset
1921
1922 jako
1923\begin_inset Formula \begin{eqnarray*}
1924J_{k}(I_{k}) & = & \min_{u_{k}\in U_{k}}H_{k}(S_{k}(I_{k}),u_{k}).\end{eqnarray*}
1925
1926\end_inset
1927
1928Po funkci
1929\begin_inset Formula $S_{k}$
1930\end_inset
1931
1932 samozřejmě chceme, aby byla charakterizována menší množinou čísel, než
1933 informační vektor
1934\begin_inset Formula $I_{k}$
1935\end_inset
1936
1937, abychom získaly výhody z jejího použití.
1938 Obecně existuje mnoho funkcí, které mohou sloužit jako postačující statistika.
1939 Triviálním příkladem může být identita
1940\begin_inset Formula $S_{k}(I_{k})=I_{k}$
1941\end_inset
1942
1943.
1944 
1945\end_layout
1946
1947\begin_layout Standard
1948Závisí-li rozdělení pravděpodobnosti poruchy pozorování
1949\begin_inset Formula $v_{k}$
1950\end_inset
1951
1952 explicitně pouze na bezprostředně předcházejícím stavu, řízení a poruše
1953 systému, tedy na
1954\begin_inset Formula $x_{k},u_{k},w_{k}$
1955\end_inset
1956
1957 a nezávisí na předchozích hodnotách
1958\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}$
1959\end_inset
1960
1961 můžeme za postačující statistiku volit podmíněné rozdělení pravděpodobnosti
1962 
1963\begin_inset Formula $P_{x_{k}|I_{k}}$
1964\end_inset
1965
1966, o kterém lze ukázat (viz
1967\begin_inset CommandInset citation
1968LatexCommand cite
1969key "BertsekasDPOC"
1970
1971\end_inset
1972
1973), že
1974\begin_inset Formula \[
1975J_{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}}),\]
1976
1977\end_inset
1978
1979kde
1980\begin_inset Formula $H_{k}$
1981\end_inset
1982
1983 a
1984\begin_inset Formula $\overline{J}_{k}$
1985\end_inset
1986
1987 jsou vhodné funkce.
1988 Optimální řízení pak získáme ve tvaru funkcí podmíněného rozdělení pravděpodobn
1989osti
1990\begin_inset Formula $\mu_{k}(I_{k})=\overline{\mu}_{k}(P_{x_{k}|I_{k}})$
1991\end_inset
1992
1993 pro
1994\begin_inset Formula $k=0,\ldots,N-1$
1995\end_inset
1996
1997.
1998 Tato reprezentace může být velmi užitečná, protože nám umožňuje rozložit
1999 optimální řízení na dvě nezávislé časti:
2000\end_layout
2001
2002\begin_layout Enumerate
2003
2004\emph on
2005pozorovatel
2006\emph default
2007 (estimátor), který v čase
2008\begin_inset Formula $k$
2009\end_inset
2010
2011 použije měření
2012\begin_inset Formula $z_{k}$
2013\end_inset
2014
2015 a řízení
2016\begin_inset Formula $u_{k-1}$
2017\end_inset
2018
2019 k vygenerování rozdělení pravděpodobnosti
2020\begin_inset Formula $P_{x_{k}|I_{k}}$
2021\end_inset
2022
2023
2024\end_layout
2025
2026\begin_layout Enumerate
2027
2028\emph on
2029regulátor
2030\emph default
2031 (akurátor), který generuje vstupy (řízení) pro systém jako funkci rozdělení
2032 pravděpodobnosti
2033\begin_inset Formula $P_{x_{k}|I_{k}}$
2034\end_inset
2035
2036
2037\end_layout
2038
2039\begin_layout Standard
2040Tento rozklad pak umožňuje navrhovat každou z částí samostatně podle charakteru
2041 konkrétní úlohy.
2042\end_layout
2043
2044\begin_layout Subsection
2045Kalmanův filtr
2046\begin_inset CommandInset label
2047LatexCommand label
2048name "sub:Kalmanův-filtr"
2049
2050\end_inset
2051
2052
2053\end_layout
2054
2055\begin_layout Standard
2056Chceme řešit následující problém, viz
2057\begin_inset CommandInset citation
2058LatexCommand cite
2059key "StechaTDS"
2060
2061\end_inset
2062
2063: Máme lineární systém s neúplnou stavovou informací a snažíme se odhadnout
2064 (rekonstruovat, estimovat) stav systému z měřitelných vstupních a výstupních
2065 veličin.
2066 Dále předpokládejme, že měření výstupu a popřípadě i vstupu je zatíženo
2067 chybou měření.
2068 Tyto nepřesnosti měření můžeme modelovat jako aditivní šum.
2069 Odhadování (rekonstrukci, estimaci) potom navrhujeme pomocí stochastických
2070 metod.
2071 Řešení vede na takzvaný
2072\emph on
2073Kalmanův filtr
2074\emph default
2075.
2076\end_layout
2077
2078\begin_layout Standard
2079\begin_inset VSpace medskip
2080\end_inset
2081
2082
2083\end_layout
2084
2085\begin_layout Standard
2086Následující formulace problému a popis algoritmu Kalmanova filtru je převzat
2087 z
2088\begin_inset CommandInset citation
2089LatexCommand cite
2090key "BertsekasDPOC"
2091
2092\end_inset
2093
2094, kde lze také nalézt odvození příslušných rovnic: Máme dva náhodné vektory
2095 
2096\begin_inset Formula $x$
2097\end_inset
2098
2099 a
2100\begin_inset Formula $y$
2101\end_inset
2102
2103, které jsou svázány sdruženým rozdělením pravděpodobnosti tak, že hodnota
2104 jednoho poskytuje informaci o hodnotě druhého.
2105 Známe hodnotu
2106\begin_inset Formula $y$
2107\end_inset
2108
2109 a chceme určit (odhadnout) hodnotu
2110\begin_inset Formula $x$
2111\end_inset
2112
2113 tak, aby střední kvadratická odchylka mezi
2114\begin_inset Formula $x$
2115\end_inset
2116
2117 a jeho odhadem byla minimální.
2118\end_layout
2119
2120\begin_layout Standard
2121Takový odhad můžeme zístat v nejjednodušším případě metodou nejmenších čtverců,
2122 ale pro tento způsob je třeba velkého počtu měření.
2123 Jako lepší způsob se ale jeví využít sekvenční struktury problému a iterativně
2124 použít Kalmanův filtr, kdy odhad v čase
2125\begin_inset Formula $k+1$
2126\end_inset
2127
2128 získáme na základě jednoduchých rovnic pouze z předchozího odhadu a nového
2129 měření v čase
2130\begin_inset Formula $k$
2131\end_inset
2132
2133, žádná předchozí měření nejsou explicitně zahrnuta.
2134\end_layout
2135
2136\begin_layout Standard
2137V dalším textu označme
2138\begin_inset Formula $\hat{x}_{k|k-1}$
2139\end_inset
2140
2141 apriorní odhad stavu, tedy odhad stavu v čase
2142\begin_inset Formula $k$
2143\end_inset
2144
2145 na základě informací až do času
2146\begin_inset Formula $k-1$
2147\end_inset
2148
2149.
2150 Analogicky
2151\begin_inset Formula $\Sigma_{k|k-1}$
2152\end_inset
2153
2154 označuje apriorní kovarianční matici.
2155 Aposteriorní odhad stavu označme
2156\begin_inset Formula $\hat{x}_{k|k}$
2157\end_inset
2158
2159, to jest odhad v čase
2160\begin_inset Formula $k$
2161\end_inset
2162
2163 na základě informačí až do času
2164\begin_inset Formula $k$
2165\end_inset
2166
2167.
2168 Aposteriorní kovarianční matice je pak označena
2169\begin_inset Formula $\Sigma_{k|k}$
2170\end_inset
2171
2172.
2173 
2174\end_layout
2175
2176\begin_layout Standard
2177\begin_inset VSpace bigskip
2178\end_inset
2179
2180
2181\end_layout
2182
2183\begin_layout Subsubsection
2184System
2185\end_layout
2186
2187\begin_layout Standard
2188Uvažujme lineární dynamický systém bez řízení (
2189\begin_inset Formula $u_{k}\equiv0$
2190\end_inset
2191
2192) ve tvaru
2193\begin_inset Formula \[
2194x_{k+1}=A_{k}x_{k}+w_{k},\; k=0,1,\ldots,N-1,\]
2195
2196\end_inset
2197
2198kde
2199\begin_inset Formula $x_{k}$
2200\end_inset
2201
2202 je vektor stavu,
2203\begin_inset Formula $w_{k}$
2204\end_inset
2205
2206 vektor náhodné poruchy a matice
2207\begin_inset Formula $A_{k}$
2208\end_inset
2209
2210 předpokládáme známé.
2211 Dále rovnice měření je
2212\begin_inset Formula \[
2213z_{k}=C_{k}x_{k}+v_{k},\; k=0,1,\ldots,N-1,\]
2214
2215\end_inset
2216
2217kde
2218\begin_inset Formula $z_{k}$
2219\end_inset
2220
2221 je vektor pozorování (měřených veličin) a
2222\begin_inset Formula $v_{k}$
2223\end_inset
2224
2225 vektor šumu.
2226 Nechť
2227\begin_inset Formula $x_{0},w_{0},\ldots,w_{N-1},v_{0},\ldots,v_{N-1}$
2228\end_inset
2229
2230 jsou vektory nezávislých náhodných veličin s daným rozdělením pravděpodobnosti,
2231 takovým, že
2232\begin_inset Formula \[
2233\mathrm{E}\{w_{k}\}=\mathrm{E}\{v_{k}\}=0,\; k=0,1,\ldots,N-1.\]
2234
2235\end_inset
2236
2237Označme
2238\begin_inset Formula \[
2239S=\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}\},\]
2240
2241\end_inset
2242
2243a nechť matice
2244\begin_inset Formula $N_{k}$
2245\end_inset
2246
2247 pozitivně definitní pro všechny časy
2248\begin_inset Formula $k$
2249\end_inset
2250
2251.
2252\end_layout
2253
2254\begin_layout Subsubsection
2255Algoritmus Kalmanova filtru
2256\end_layout
2257
2258\begin_layout Standard
2259Předpokládejme, že máme spočítaný odhad
2260\begin_inset Formula $\hat{x}_{k|k-1}$
2261\end_inset
2262
2263 společně s kovarianční maticí
2264\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\} $
2265\end_inset
2266
2267.
2268 V čase
2269\begin_inset Formula $k$
2270\end_inset
2271
2272 získáme další měření
2273\begin_inset Formula $z_{k}=C_{k}x_{k}+v_{k}$
2274\end_inset
2275
2276.
2277 Nyní můžeme získat aposteriorní odhad stavu
2278\begin_inset Formula $\hat{x}_{k|k}$
2279\end_inset
2280
2281 v čase
2282\begin_inset Formula $k$
2283\end_inset
2284
2285 jako
2286\begin_inset Formula \begin{equation}
2287\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}
2288
2289\end_inset
2290
2291dále pak apriorní odhad stavu
2292\begin_inset Formula $\hat{x}_{k+1|k}$
2293\end_inset
2294
2295 v čase
2296\begin_inset Formula $k+1,$
2297\end_inset
2298
2299 tedy
2300\begin_inset Formula $\hat{x}_{k+1|k}=A_{k}\hat{x}_{k|k}$
2301\end_inset
2302
2303.
2304 Apriorní kovarianční matici v čase
2305\begin_inset Formula $k+1$
2306\end_inset
2307
2308 vypočítáme z
2309\begin_inset Formula \[
2310\Sigma_{k+1|k}=A_{k}\Sigma_{k|k}A_{k}^{T}+M_{k},\]
2311
2312\end_inset
2313
2314kde aposteriorní kovarianční matici
2315\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\} $
2316\end_inset
2317
2318 můžeme získat z rovnice
2319\begin_inset Formula \[
2320\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}.\]
2321
2322\end_inset
2323
2324Přidáním počátečních podmínek
2325\begin_inset Formula $\hat{x}_{0|-1}=\mathrm{E}\{x_{0}\}$
2326\end_inset
2327
2328 a
2329\begin_inset Formula $\Sigma_{0|-1}=S$
2330\end_inset
2331
2332 získáme
2333\emph on
2334algoritmus Kalmanova filtru
2335\emph default
2336, který ve své podstatě rekurzivně generuje posloupnost lineárních odhadů
2337 založených na metodě nejmenších čtverců.
2338\end_layout
2339
2340\begin_layout Standard
2341Dále je možno vyjádřit rovnici
2342\begin_inset CommandInset ref
2343LatexCommand ref
2344reference "eq:kalmanaposkk"
2345
2346\end_inset
2347
2348 ve tvaru
2349\begin_inset Formula \[
2350\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),\]
2351
2352\end_inset
2353
2354který při uvažování systému se vstupem
2355\begin_inset Formula \[
2356x_{k+1}=A_{k}x_{k}+B_{k}u_{k}+w_{k},\; k=0,1,\ldots,N-1,\]
2357
2358\end_inset
2359
2360umožňuje vypočítat rekurzivně aposteriorní odhady stavů
2361\begin_inset Formula $\hat{x}_{k|k}$
2362\end_inset
2363
2364 v časech
2365\begin_inset Formula $k$
2366\end_inset
2367
2368 z rovnice
2369\begin_inset Formula \[
2370\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),\]
2371
2372\end_inset
2373
2374přičemž rovnice pro výpočet aposteriorní kovarianční matice
2375\begin_inset Formula $\Sigma_{k|k}$
2376\end_inset
2377
2378 zůstávají nezměněny.
2379\end_layout
2380
2381\begin_layout Subsection
2382Deterministické systémy se spojitým časem
2383\end_layout
2384
2385\begin_layout Standard
2386I když zpravidla pracujeme s diskrétními systémy, zejména z důvodů výpočtů
2387 na počítači, teorie optimálního řízení spojitých systémů může být velmi
2388 užitečná.
2389 Poskytuje totiž důležité principy, které jsou velmi často používány při
2390 návrhu algoritmů pro duální řízení.
2391 Konkrétně se jedná o Hamilton-Jacobi-Bellmanovu rovnost a Pontryaginův
2392 princip minima.
2393\end_layout
2394
2395\begin_layout Subsubsection
2396Spojitý systém
2397\end_layout
2398
2399\begin_layout Standard
2400Dynamický systém se spojitým časem uvažujeme dle
2401\begin_inset CommandInset citation
2402LatexCommand cite
2403key "BertsekasDPOC"
2404
2405\end_inset
2406
2407 ve tvaru
2408\begin_inset Formula \begin{eqnarray}
2409\dot{x}(t) & = & f(x(t),u(t)),\;0\leq t\leq T,\label{eq:spojsystemHJBP}\\
2410x(0) & = & x_{0},\nonumber \end{eqnarray}
2411
2412\end_inset
2413
2414kde
2415\begin_inset Formula $x(t)$
2416\end_inset
2417
2418 je stavový vektor v čase
2419\begin_inset Formula $t$
2420\end_inset
2421
2422,
2423\begin_inset Formula $\dot{x}(t)$
2424\end_inset
2425
2426 je vektor prvních derivací podle času v čase
2427\begin_inset Formula $t$
2428\end_inset
2429
2430,
2431\begin_inset Formula $u(t)\in U$
2432\end_inset
2433
2434 je řídící vektor v čase
2435\begin_inset Formula $t$
2436\end_inset
2437
2438,
2439\begin_inset Formula $U$
2440\end_inset
2441
2442 je množina omezení řízení a
2443\begin_inset Formula $T$
2444\end_inset
2445
2446 je časový horizont.
2447 O funkci
2448\begin_inset Formula $f$
2449\end_inset
2450
2451 předpokládáme, že je spojitě diferencovatelná vzhledem k
2452\begin_inset Formula $x$
2453\end_inset
2454
2455 a spojitá vzhledem k
2456\begin_inset Formula $u$
2457\end_inset
2458
2459.
2460 Rovnice
2461\begin_inset CommandInset ref
2462LatexCommand ref
2463reference "eq:spojsystemHJBP"
2464
2465\end_inset
2466
2467 představuje soustavu
2468\begin_inset Formula $n$
2469\end_inset
2470
2471 diferenciálních rovnic prvního řádu.
2472 Naším cílem je nalézení přípustné řídící trajektorie
2473\begin_inset Formula $\left\{ u(t)\mid t\in[0,T]\right\} $
2474\end_inset
2475
2476 a odpovídající stavové trajektorie
2477\family roman
2478\series medium
2479\shape up
2480\size normal
2481\emph off
2482\bar no
2483\noun off
2484\color none
2485
2486\begin_inset Formula $\left\{ x(t)\mid t\in[0,T]\right\} $
2487\end_inset
2488
2489 takové, že minimalizují ztrátovou funkci ve tvaru
2490\begin_inset Formula \[
2491h(x(T))+\int_{0}^{T}g\left(x(t),u(t)\right)dt,\]
2492
2493\end_inset
2494
2495o funkcích
2496\begin_inset Formula $g$
2497\end_inset
2498
2499 a
2500\begin_inset Formula $h$
2501\end_inset
2502
2503 předpokládáme, že jsou spojitě diferencovatelné vzhledem k
2504\begin_inset Formula $x$
2505\end_inset
2506
2507 a
2508\begin_inset Formula $g$
2509\end_inset
2510
2511 je spojitá vzhledem k
2512\begin_inset Formula $u$
2513\end_inset
2514
2515.
2516\end_layout
2517
2518\begin_layout Subsubsection
2519Hamilton-Jacobi-Bellmanova rovnost
2520\end_layout
2521
2522\begin_layout Standard
2523Hamilton-Jacobi-Bellmanova rovnost je parciální diferenciální rovnicí, která
2524 je splněna optimální funkcí nákladů na pokračování
2525\begin_inset Formula $J^{*}(t,x)$
2526\end_inset
2527
2528.
2529 Tato rovnice je analogií algoritmu dynamického programování ve spojitém
2530 čase.
2531 Rovnici lze psát podle
2532\begin_inset CommandInset citation
2533LatexCommand cite
2534key "BertsekasDPOC"
2535
2536\end_inset
2537
2538 ve tvaru
2539\begin_inset Formula \begin{eqnarray}
25400 & = & \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}\\
2541J^{*}(T,x) & = & h(x).\nonumber \end{eqnarray}
2542
2543\end_inset
2544
2545Jedná se tedy o parciální diferenciální rovnici s okrajovou podmínkou.
2546 O funkci
2547\begin_inset Formula $J^{*}(t,x)$
2548\end_inset
2549
2550 jsme předpokládali diferencovatelnost, apriorně ale její diferencovatelnost
2551 neznáme a tedy nevíme, jestli
2552\begin_inset Formula $J^{*}(t,x)$
2553\end_inset
2554
2555 řeší rovnici
2556\begin_inset CommandInset ref
2557LatexCommand ref
2558reference "eq:hjbrovnostJ"
2559
2560\end_inset
2561
2562.
2563 Můžeme však použít následující tvrzení, jehož formulaci i důkaz lze nalézt
2564 v
2565\begin_inset CommandInset citation
2566LatexCommand cite
2567key "BertsekasDPOC"
2568
2569\end_inset
2570
2571:
2572\end_layout
2573
2574\begin_layout Description
2575Věta
2576\begin_inset space \space{}
2577\end_inset
2578
2579o
2580\begin_inset space \space{}
2581\end_inset
2582
2583dostatečnosti:
2584\begin_inset ERT
2585status open
2586
2587\begin_layout Plain Layout
2588
2589~
2590\end_layout
2591
2592\end_inset
2593
2594
2595\begin_inset Newline newline
2596\end_inset
2597
2598Nechť je funkce
2599\begin_inset Formula $V(t,x)$
2600\end_inset
2601
2602 spojitě diferencovatelná vzhledem k
2603\begin_inset Formula $t$
2604\end_inset
2605
2606 a
2607\begin_inset Formula $x$
2608\end_inset
2609
2610 a nechť je řešením Hamilton-Jacobi-Bellmanovy rovnosti:
2611\begin_inset Formula \begin{eqnarray}
26120 & = & \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}\\
2613V(T,x) & = & h(x),\quad\forall x.\nonumber \end{eqnarray}
2614
2615\end_inset
2616
2617Předpokládejme dále, že
2618\begin_inset Formula $\mu^{*}(t,x)$
2619\end_inset
2620
2621 dosáhne minima v rovnosti
2622\begin_inset CommandInset ref
2623LatexCommand ref
2624reference "eq:hjbrovnostV"
2625
2626\end_inset
2627
2628 pro všechna
2629\begin_inset Formula $t$
2630\end_inset
2631
2632 a
2633\begin_inset Formula $x$
2634\end_inset
2635
2636.
2637 Nechť
2638\family roman
2639\series medium
2640\shape up
2641\size normal
2642\emph off
2643\bar no
2644\noun off
2645\color none
2646 
2647\begin_inset Formula $\left\{ x^{*}(t)\mid t\in[0,T]\right\} $
2648\end_inset
2649
2650 označuje stavovou trajektorii získanou při dané počáteční podmínce
2651\begin_inset Formula $x^{*}(0)=x_{0}$
2652\end_inset
2653
2654 a řídící trajektorii
2655\family default
2656\series default
2657\shape default
2658\size default
2659\emph default
2660\bar default
2661\noun default
2662\color inherit
2663
2664\begin_inset Formula $u^{*}(t)=\mu^{*}(t,x^{*}(t)),\; t\in[0,T]$
2665\end_inset
2666
2667.
2668 Pak
2669\begin_inset Formula $V$
2670\end_inset
2671
2672 je rovno optimální funkci nákladů na pokračování, tedy
2673\begin_inset Formula \[
2674V(t,x)=J^{*}(t,x),\quad\forall t,x.\]
2675
2676\end_inset
2677
2678Navíc řídící trajektorie
2679\begin_inset Formula $\left\{ u^{*}(t)\mid t\in[0,T]\right\} $
2680\end_inset
2681
2682 je optimální.
2683 
2684\end_layout
2685
2686\begin_layout Subsubsection
2687Pontryaginův princip minima
2688\end_layout
2689
2690\begin_layout Standard
2691Pontryaginův princip minima je důležitým teorémem optimálního řízení.
2692 Poskytuje nutnou (ne však postačující) podmínku pro optimální trajektorii,
2693 je úzce spřízněn s Hamilton-Jacobi-Bellmanovou rovností a lze ho z ní podle
2694 
2695\begin_inset CommandInset citation
2696LatexCommand cite
2697key "BertsekasDPOC"
2698
2699\end_inset
2700
2701 také odvodit.
2702 Princip minima je výhodné formulovat pomocí Hamiltoniánu.
2703 Označme
2704\begin_inset Formula $p$
2705\end_inset
2706
2707 gradient optimální funkce nákladů na pokračování pro optimální stavovou
2708 trajektorii
2709\begin_inset Formula $p(t)=\nabla_{x}J^{*}\left(t,x^{*}(t)\right)$
2710\end_inset
2711
2712 a definujme Hamiltonián jako funkci zobrazující trojice vektorů
2713\begin_inset Formula $(x,u,p)$
2714\end_inset
2715
2716 do reálných čísel
2717\begin_inset Formula \[
2718H(x,u,p)=g(x,u)+p^{T}f(x,u).\]
2719
2720\end_inset
2721
2722Rovnice pro systém pak může být zapsána v kompaktním tvaru
2723\begin_inset Formula \[
2724\dot{x}^{*}(t)=\nabla_{p}H\left(x^{*}(t),u^{*}(t),p(t)\right).\]
2725
2726\end_inset
2727
2728Obdobně může být zapsána pro
2729\begin_inset Formula $p$
2730\end_inset
2731
2732 takzvaná
2733\emph on
2734adjungovaná rovnice
2735\emph default
2736
2737\begin_inset Formula \[
2738\dot{p}(t)=-\nabla_{x}H\left(x^{*}(t),u^{*}(t),p(t)\right).\]
2739
2740\end_inset
2741
2742Pontryaginův princip minima je podle
2743\begin_inset CommandInset citation
2744LatexCommand cite
2745key "BertsekasDPOC"
2746
2747\end_inset
2748
2749 formulován následovně:
2750\end_layout
2751
2752\begin_layout Description
2753Princip
2754\begin_inset space \space{}
2755\end_inset
2756
2757minima:
2758\begin_inset ERT
2759status open
2760
2761\begin_layout Plain Layout
2762
2763~
2764\end_layout
2765
2766\end_inset
2767
2768
2769\begin_inset Newline newline
2770\end_inset
2771
2772Nechť
2773\family roman
2774\series medium
2775\shape up
2776\size normal
2777\emph off
2778\bar no
2779\noun off
2780\color none
2781
2782\begin_inset Formula $\left\{ u^{*}(t)\mid t\in[0,T]\right\} $
2783\end_inset
2784
2785 je optimální řídící trajektorie a nechť
2786\begin_inset Formula $\left\{ x^{*}(t)\mid t\in[0,T]\right\} $
2787\end_inset
2788
2789 je odpovídající stavová trajektorie, to jest
2790\begin_inset Formula \[
2791\dot{x}^{*}(t)=f\left(x^{*}(t),u^{*}(t)\right),\quad x^{*}(0)=x_{0}.\]
2792
2793\end_inset
2794
2795Nechť dále
2796\begin_inset Formula $p(t)$
2797\end_inset
2798
2799 je řešením adjungované rovnice
2800\begin_inset Formula \[
2801\dot{p}(t)=-\nabla_{x}H\left(x^{*}(t),u^{*}(t),p(t)\right),\]
2802
2803\end_inset
2804
2805s okrajovou podmínkou
2806\begin_inset Formula $p(T)=\nabla h\left(x^{*}(T)\right)$
2807\end_inset
2808
2809.
2810 Pak pro všechna
2811\begin_inset Formula $t\in[0,T]$
2812\end_inset
2813
2814
2815\begin_inset Formula \[
2816u^{*}(t)=\arg\min_{u\in U}H\left(x^{*}(t),u,p(t)\right).\]
2817
2818\end_inset
2819
2820Navíc existuje konstanta
2821\begin_inset Formula $C$
2822\end_inset
2823
2824 taková, že
2825\begin_inset Formula \[
2826H\left(x^{*}(t),u^{*}(t),p(t)\right)=C,\quad\forall t\in[0,T].\]
2827
2828\end_inset
2829
2830
2831\end_layout
2832
2833\begin_layout Subsection
2834Algoritmy pro duální řízení
2835\end_layout
2836
2837\begin_layout Standard
2838Metody pro nalezení optimálního řízení lze obecně rozdělit do dvou základních
2839 kategorií na
2840\emph on
2841globální
2842\emph default
2843a
2844\emph on
2845lokální
2846\emph default
2847viz
2848\begin_inset CommandInset citation
2849LatexCommand cite
2850key "TodorovWeiweiILQG,TodorovTassaILDP"
2851
2852\end_inset
2853
2854
2855\emph on
2856.
2857
2858\emph default
2859 
2860\end_layout
2861
2862\begin_layout Standard
2863Globální metody, používané zejména v posilovaném učení
2864\color black
2865(
2866\begin_inset Quotes gld
2867\end_inset
2868
2869Reinforcement Learning
2870\color inherit
2871
2872\begin_inset Quotes grd
2873\end_inset
2874
2875), jsou založeny na na
2876\color black
2877Bellmanově principu optimality, Hamilton-Jacobi-Bellmanově rovnosti
2878\color inherit
2879 a dynamickém programování.
2880 Tyto algoritmy hledají globálně optimální zpětnovazební řízení pro všechny
2881 stavy obecného stochastického systému a proto podléhají nebezpečí
2882\begin_inset Quotes gld
2883\end_inset
2884
2885problému dimenzionality
2886\begin_inset Quotes grd
2887\end_inset
2888
2889 nebo také rozměrnosti (z anglického
2890\begin_inset Quotes eld
2891\end_inset
2892
2893curse of dimensionality
2894\begin_inset Quotes erd
2895\end_inset
2896
2897 doslovně -
2898\emph on
2899kletba rozměrnosti
2900\emph default
2901).
2902 Jednoduše můžeme tento problém chápat tak, že při numerickém řešení úlohy
2903 jsou počítačem procházeny všechny body diskretizovaného stavového a řídícího
2904 prostoru jejichž počet s rostoucím počtem dimenzí extrémně (exponenciálně)
2905 rychle roste.
2906 Výpočet pro mnohadimenzionální úlohy se pak stává co do paměťových nároků,
2907 ale hlavně z hlediska výpočetního času prakticky nerealizovatelným.
2908\end_layout
2909
2910\begin_layout Standard
2911Lokální metody, častěji studované v teorii řízení, souvisí s
2912\color black
2913Pontryaginovým principem maxima
2914\color inherit
2915.
2916 Jejich podstatou je nalezení řízení, které je pouze lokálně optimální v
2917 okolí nějaké
2918\begin_inset Quotes gld
2919\end_inset
2920
2921extremalní
2922\begin_inset Quotes grd
2923\end_inset
2924
2925 trajektorie.
2926 Většinou je užito deterministických prostředků jako řešení soustavy obyčejných
2927 diferenciálních rovnic (například střelbou nebo relaxací).
2928 Tento přístup ale vede na přímovazební
2929\color red
2930 
2931\color black
2932řízení
2933\color red
2934 
2935\color inherit
2936a nezle užít pro stochastické úlohy, vyhýbá se ale problému dimenzionality,
2937 což umožňuje řešit i komplexnější problémy.
2938\end_layout
2939
2940\begin_layout Standard
2941V poslední době je snaha vyvíjet nové algoritmy, které kombinují výhody
2942 obou výše zmíněných přístupů.
2943 Příkladem může být
2944\emph on
2945diferenciální dynamické programování
2946\emph default
2947 (DDP).
2948 Tento algoritmus zůstává lokální metodou ve smyslu, že uchovává pouzve
2949 jedinou trajektorii, která je lokálně vylepšována.
2950 Vylepšení však není založeno na řešení soustavy obyčejných diferenciálních
2951 rovnic, ale na dynamickém programování aplikovaném na okolí -
2952\begin_inset Quotes eld
2953\end_inset
2954
2955trubici
2956\begin_inset Quotes erd
2957\end_inset
2958
2959 podél současné trajektorie.
2960 Jedná se o algoritmus s konvergencí druhého řádu.
2961 Ještě efektivnější je metoda podobná DDP,
2962\emph on
2963iterativní LQG
2964\emph default
2965 (iLQG).
2966 Tento algoritmus je založen na linearizaci nelineární úlohy v každém bodě
2967 reprezentativní trajektorie a následném řešení modifikované Riccatiho rovnice.
2968 Výhodou DDP i iLQG je, že jejich výsledkem je zpětnovazební řízení.
2969 Obě metody jsou ale stále deterministické a nedokáží se vypořádat s nekvadratic
2970kými ztrátovými funkcemi a požadavky na omezené řízení.
2971 
2972\end_layout
2973
2974\begin_layout Standard
2975S výše zmíněnými problémy se snaží vypořádat modifikovaná iLQG, která bude
2976 použita pro srovnání s ústřední metodou této práce iLDP.
2977 Dále pak do kategorie smíšených metod spadá právě i metoda iLDP, která
2978 bude podrobně popsána dále.
2979 
2980\end_layout
2981
2982\begin_layout Section
2983Výběr konkrétních algoritmů pro srovnání
2984\end_layout
2985
2986\begin_layout Subsection
2987Princip separace
2988\end_layout
2989
2990\begin_layout Standard
2991
2992\emph on
2993Princip separace
2994\emph default
2995 nebo také
2996\emph on
2997separační teorém pro lineární systémy s kvadratickou ztrátovou funkcí
2998\emph default
2999 zaujímá důležité místo v moderní teorii řízení.
3000 Intuitivně je velmi jednoduchý.
3001 Podle
3002\begin_inset CommandInset citation
3003LatexCommand cite
3004key "BertsekasDPOC"
3005
3006\end_inset
3007
3008 je formulován následovně:
3009\end_layout
3010
3011\begin_layout Standard
3012Optimální řízení pro lineární systém může být rozděleno do dvou částí:
3013\end_layout
3014
3015\begin_layout Enumerate
3016
3017\emph on
3018pozorovatel
3019\emph default
3020 (estimátor), který využívá měřená data k odhadu stavu systému,
3021\end_layout
3022
3023\begin_layout Enumerate
3024
3025\emph on
3026regulátor
3027\emph default
3028 (akurátor), který generuje ze stavu, respektive jeho odhadu, řízení pro
3029 systém.
3030\end_layout
3031
3032\begin_layout Standard
3033Navíc část optimálního řízení označená jako
3034\emph on
3035pozorovatel
3036\emph default
3037 je optimálním řešením problému určování (estimace) stavu nezávisle na uvažování
3038 řízení a část označená jako
3039\emph on
3040regulátor
3041\emph default
3042je optimální řešení řídícího problému za předpokladu úplné stavové informace.
3043 Každá část tedy může být navrhována nezávisle na sobě jako optimální řešení
3044 příslušných problémů estimace a regulace.
3045\end_layout
3046
3047\begin_layout Subsection
3048LQG
3049\begin_inset CommandInset label
3050LatexCommand label
3051name "sub:LQGkp1"
3052
3053\end_inset
3054
3055
3056\end_layout
3057
3058\begin_layout Standard
3059Řízení LQG (z anglického
3060\begin_inset Quotes gld
3061\end_inset
3062
3063Linear-Quadratic-Gaussian
3064\begin_inset Quotes grd
3065\end_inset
3066
3067) je primárně navrženo pro řízení lineárních systémů s kvadratickou ztrátovou
3068 funkci a Gaussovským šumem.
3069 Existují však různé modifikace i pro nelineární systémy.
3070 Algoritmus LQG je založen právě na
3071\emph on
3072principu separace
3073\emph default
3074kdy pozorovatel a regulátor jsou navrhovány zvlášť.
3075 Optimálním pozorovatelem je zde Kalmanův filtr a lze jej užít například
3076 ve tvaru, jak byl uveden v části
3077\begin_inset CommandInset ref
3078LatexCommand ref
3079reference "sub:Kalmanův-filtr"
3080
3081\end_inset
3082
3083.
3084 Optimálním regulátorem pak řízení označované jako LQ regulátor, které může
3085 být formulováno podle
3086\begin_inset CommandInset citation
3087LatexCommand cite
3088key "BertsekasDPOC"
3089
3090\end_inset
3091
3092 následovně:
3093\end_layout
3094
3095\begin_layout Paragraph
3096LQ regulátor
3097\end_layout
3098
3099\begin_layout Standard
3100pro lineární systém
3101\begin_inset Formula \[
3102x_{k+1}=A_{k}x_{k}+B_{k}u_{k}+w_{k},\quad k=0,1,\ldots,N-1,\]
3103
3104\end_inset
3105
3106s kvadratickou ztrátovou funkcí
3107\begin_inset Formula \[
3108\mathbf{E}\left\{ x_{N}^{T}Q_{N}x_{N}+\sum_{k=0}^{N-1}\left(x_{k}^{T}Q_{k}x_{k}+u_{k}^{T}R_{k}u_{k}\right)\right\} ,\]
3109
3110\end_inset
3111
3112při uvažování neúplné stavové informace je optimálním řízením v každém čase
3113 rovno
3114\begin_inset Formula \[
3115\mu_{k}^{*}(I_{k})=L_{k}\mathrm{E}\left\{ x_{k}\mid I_{k}\right\} ,\]
3116
3117\end_inset
3118
3119kde matice
3120\begin_inset Formula $L_{k}$
3121\end_inset
3122
3123 je dána rovností
3124\begin_inset Formula \[
3125L_{k}=-\left(R_{k}+B_{k}^{T}K_{k+1}B_{k}\right)^{-1}B_{k}^{T}K_{k+1}A_{k},\]
3126
3127\end_inset
3128
3129přičemž matice
3130\begin_inset Formula $K_{k}$
3131\end_inset
3132
3133 získáme rekurzivně z Riccatiho rovnice
3134\begin_inset Formula \begin{eqnarray*}
3135K_{N} & = & Q_{N},\\
3136K_{k} & = & A_{k}^{T}\left(K_{k+1}-K_{k+1}B_{k}\left(R_{k}+B_{k}^{T}K_{k+1}B_{k}\right)^{-1}B_{k}^{T}K_{k+1}\right)A_{k}+Q_{k}.\end{eqnarray*}
3137
3138\end_inset
3139
3140
3141\end_layout
3142
3143\begin_layout Paragraph
3144Zobecněné iterativní LQG řízení
3145\end_layout
3146
3147\begin_layout Standard
3148V článku
3149\begin_inset CommandInset citation
3150LatexCommand cite
3151key "TodorovWeiweiILQG"
3152
3153\end_inset
3154
3155 je popsán algoritmus
3156\emph on
3157zobecněného iterativního LQG
3158\emph default
3159řízení (iLQG) pro účely nalezení lokálního zpětnovazebního řízení nelineárních
3160 stochastických systémů s kvadratickou ztrátou, ale navíc lze požadovat
3161 i omezené vstupy.
3162 Obecně zahrnutí požadavku na omezené vstupy do ztrátové funkce způsobí
3163 porušení její kvadratičnosti, zmiňovaný algoritmus však řeší problém jinak,
3164 konkrétně následnou korekcí rovnic pro výpočet řízení.
3165 Dále s nelinearitou se algoritmus vypořádává tak, že systém v každém časovém
3166 kroku linearizuje vzhledem k reprezentativní trajektorii.
3167 Linearizovaný systém je pak řešen klasickým přístupem LQG, avšak v jeho
3168 průběhu je do výpočtů ještě zasahováno.
3169 Jsou prováděny úpravy dílčích výsledků a opravy chyb z důvodu práce s linearozo
3170vaným nelineárním systémem pro zajištění konvergence algoritmu.
3171 Samotný algoritmus je odvozen a detailně popsám v
3172\begin_inset CommandInset citation
3173LatexCommand cite
3174key "TodorovWeiweiILQG"
3175
3176\end_inset
3177
3178 odkud je převzat následující zestručněný popis:
3179\end_layout
3180
3181\begin_layout Paragraph
3182iLQG lokální řízení
3183\end_layout
3184
3185\begin_layout Standard
3186pro obecně nelineární stochastický systém
3187\begin_inset Formula \begin{eqnarray}
3188x_{k+1} & = & x_{k}+f(x_{k},u_{k})\cdot\Delta k+F(x_{k},u_{k})\cdot e_{k},\; k=0,1,\ldots,N-1,\label{eq:systemilqgdef}\\
3189x_{(k=0)} & = & x_{0},\nonumber \end{eqnarray}
3190
3191\end_inset
3192
3193se ztrátovou funkcí
3194\begin_inset Formula \[
3195\mathrm{E}\left\{ h(x_{N})+\sum_{k=0}^{N-1}l(k,x_{k},u_{k})\right\} \]
3196
3197\end_inset
3198
3199je lokálně optimální řízení, které konstruujeme iterativně.
3200 Každá iterace začíná s posloupností přímovazebních řízení
3201\begin_inset Formula $\overline{u}_{k}$
3202\end_inset
3203
3204 a odpovídající bezšumovou trajektorií
3205\begin_inset Formula $\overline{x}_{k}$
3206\end_inset
3207
3208 získanou aplikací
3209\begin_inset Formula $\overline{u}_{k}$
3210\end_inset
3211
3212 na systém
3213\begin_inset CommandInset ref
3214LatexCommand ref
3215reference "eq:systemilqgdef"
3216
3217\end_inset
3218
3219 s nulovým šumem.
3220 To je možno provést například pomocí Eulerovy integrace.
3221 Pak linearizujeme systém a kvadratizujeme ztrátu podél trajektorií
3222\begin_inset Formula $\overline{x}_{k}$
3223\end_inset
3224
3225 a
3226\begin_inset Formula $\overline{u}_{k}$
3227\end_inset
3228
3229.
3230 Následně získaný lineární systém s kvadratickou ztrátou vyjádříme v odchylkách
3231 stavových a řídících veličin od bezšumové trajektorie
3232\begin_inset Formula $\delta x_{k}=x_{k}-\overline{x}_{k}$
3233\end_inset
3234
3235 a
3236\begin_inset Formula $\delta u_{k}=u_{k}-\overline{u}_{k}$
3237\end_inset
3238
3239.
3240 Veličiny charakterizující modifikovaný problém získané v každém čase
3241\begin_inset Formula $k$
3242\end_inset
3243
3244 z
3245\begin_inset Formula $(\overline{x}_{k},\overline{u}_{k})$
3246\end_inset
3247
3248 jsou
3249\begin_inset Formula \begin{eqnarray*}
3250A_{k} & = & I+\frac{\partial f}{\partial x}\cdot\Delta k,\quad B_{k}=\frac{\partial f}{\partial u}\cdot\Delta k,\\
3251\mathbf{c}_{i,k} & = & F^{[i]}\cdot\sqrt{\Delta k},\quad C_{i,k}=\frac{\partial F^{[i]}}{\partial u}\cdot\sqrt{\Delta k},\\
3252q_{k} & = & l\cdot\Delta k,\quad\mathbf{q}_{k}=\frac{\partial l}{\partial x}\cdot\Delta k,\\
3253Q_{k} & = & \frac{\partial^{2}l}{\partial x\partial x}\cdot\Delta k,\quad P_{k}=\frac{\partial^{2}l}{\partial u\partial x}\cdot\Delta k,\\
3254\mathbf{r}_{k} & = & \frac{\partial l}{\partial u}\cdot\Delta k,\quad R_{k}=\frac{\partial^{2}l}{\partial u\partial u},\end{eqnarray*}
3255
3256\end_inset
3257
3258kde
3259\begin_inset Formula $F^{[i]}$
3260\end_inset
3261
3262 označuje
3263\begin_inset Formula $i$
3264\end_inset
3265
3266-tý sloupec matice
3267\begin_inset Formula $F$
3268\end_inset
3269
3270 a veličiny
3271\begin_inset Quotes gld
3272\end_inset
3273
3274q
3275\begin_inset Quotes grd
3276\end_inset
3277
3278 se počítají v čase
3279\begin_inset Formula $k=N$
3280\end_inset
3281
3282 z funkce
3283\begin_inset Formula $h$
3284\end_inset
3285
3286 namísto
3287\begin_inset Formula $l$
3288\end_inset
3289
3290.
3291\end_layout
3292
3293\begin_layout Standard
3294Dále zaveďme označení
3295\begin_inset Formula \begin{eqnarray*}
3296\mathbf{g}_{k} & = & \mathbf{r}_{k}+B_{k}^{T}\mathbf{s}_{k+1}+\sum_{i}C_{i,k}^{T}S_{k+1}\mathbf{c}_{i,k},\\
3297G_{k} & = & P_{k}+B_{k}^{T}S_{k+1}A_{k},\\
3298H_{k} & = & R_{k}+B_{k}^{T}S_{k+1}B_{k}+\sum_{i}C_{i,k}^{T}S_{k+1}C_{i,k}.\end{eqnarray*}
3299
3300\end_inset
3301
3302Zpětnovazební řízení pak hledáme ve tvaru
3303\begin_inset Formula $\delta u_{k}(\delta x)=\mathbf{l}_{k}+L_{k}\delta x$
3304\end_inset
3305
3306, kde
3307\begin_inset Formula $\mathbf{l}_{k}=-H_{k}^{-1}\mathbf{g}_{k}$
3308\end_inset
3309
3310 a
3311\begin_inset Formula $L_{k}=-H_{k}^{-1}G_{k}$
3312\end_inset
3313
3314.
3315 Přičemž parametry
3316\begin_inset Formula $S_{k}$
3317\end_inset
3318
3319 a
3320\begin_inset Formula $\mathbf{s}_{k}$
3321\end_inset
3322
3323 jsou počítány rekurzivně z rovnic
3324\begin_inset Formula \begin{eqnarray}
3325S_{k} & = & Q_{k}+A_{k}^{T}S_{k+1}A_{k}+L_{k}^{T}H_{k}L_{k}+L_{k}^{T}G_{k}+G_{k}^{T}L_{k},\label{eq:rovniceSproiLQG}\\
3326\mathbf{s}_{k} & = & \mathbf{q}_{k}+A_{k}^{T}\mathbf{s}_{k+1}+L_{k}^{T}H_{k}\mathbf{l}_{k}+L_{k}^{T}\mathbf{g}_{k}+G_{k}^{T}\mathbf{l}_{k}.\nonumber \end{eqnarray}
3327
3328\end_inset
3329
3330V důsledku linearizace obecně nelineárního systému mohou vyjít některá vlastní
3331 čísla matice
3332\begin_inset Formula $H$
3333\end_inset
3334
3335 nulová nebo záporná.
3336 Řešení tohoto problému spolu s ošetřením požadavku na omezené vstupy
3337\begin_inset Formula $u$
3338\end_inset
3339
3340 je detailně popsáno v
3341\begin_inset CommandInset citation
3342LatexCommand cite
3343key "TodorovWeiweiILQG"
3344
3345\end_inset
3346
3347.
3348 Pokud však nepotřebujeme vyhovět požadavku na nekladná vlastní čísla matice
3349 
3350\begin_inset Formula $H$
3351\end_inset
3352
3353 a omezené vstupy, lze rovnice
3354\begin_inset CommandInset ref
3355LatexCommand ref
3356reference "eq:rovniceSproiLQG"
3357
3358\end_inset
3359
3360 zjednodušit a pokud dále šum nezávisí na řízení (tedy
3361\begin_inset Formula $C_{i,k}=0$
3362\end_inset
3363
3364) rovnice
3365\begin_inset CommandInset ref
3366LatexCommand ref
3367reference "eq:rovniceSproiLQG"
3368
3369\end_inset
3370
3371 se redukuje na Riccatiho rovnici klasického LQ regulátoru.
3372\end_layout
3373
3374\begin_layout Section
3375Algoritmus iterativního lokálního dynamického programování
3376\end_layout
3377
3378\begin_layout Standard
3379Algoritmus iLDP byl vytvořen pro účely nalezení stochastického optimálního
3380 řízení v mnohadimenzionálních stavových a řídících prostorech.
3381 Tento případ je častý zejména při řízení biologických pohybů.
3382 Metoda je popsána autory v článku
3383\begin_inset CommandInset citation
3384LatexCommand cite
3385key "TodorovTassaILDP"
3386
3387\end_inset
3388
3389
3390\emph on
3391 
3392\emph default
3393a z tohoto zdroje je také převzata
3394\emph on
3395.
3396 
3397\end_layout
3398
3399\begin_layout Standard
3400Základní popis algoritmu, tak jak ho autoři podali, je však pouze šablonou
3401 a mnoho detailů a dílčích částí je ponecháno na vyřešení při konkrétní
3402 realizaci.
3403 To se týká hlavně použitých aproximací pro jednotlivé funkce, zejména aproximac
3404e Bellmanovy funkce a aproximace hledaného regulátoru.
3405 Dále, protože algoritmus využívá hledání minima, není v základním popisu
3406 algoritmu vyřešen konkrétní typ minimalizace.
3407 Použitý minimalizační algoritmus se samozřejmě liší podle konkrétního problému,
3408 zejména jedná-li se o minimalizaci omezenou nebo neomezenou.
3409 Ještě je třeba zmínil, že pro algoritmus je nutno zvolit parametr
3410\begin_inset Quotes gld
3411\end_inset
3412
3413velikosti
3414\begin_inset Quotes grd
3415\end_inset
3416
3417 okolí, protože se jedná o lokální metodu.
3418\end_layout
3419
3420\begin_layout Standard
3421\begin_inset VSpace defskip
3422\end_inset
3423
3424
3425\end_layout
3426
3427\begin_layout Subsection
3428Formulace problému
3429\end_layout
3430
3431\begin_layout Standard
3432Naším úkolem je nalézt řízení
3433\begin_inset Formula $u=\pi(t,x)$
3434\end_inset
3435
3436, které minimalizuje očekávanou ztrátu
3437\end_layout
3438
3439\begin_layout Standard
3440\align center
3441\begin_inset Formula \[
3442J(\pi)=E_{\omega}\left(h(x)+\int_{0}^{T}l(x,\pi(t,x))dt\right),\]
3443
3444\end_inset
3445
3446
3447\end_layout
3448
3449\begin_layout Standard
3450obecně pro spojitý systém:
3451\end_layout
3452
3453\begin_layout Standard
3454\begin_inset Formula \begin{eqnarray}
3455d\mathbf{x} & = & f(x,u)dt+F(x,u)d\omega,\nonumber \\
3456x(0) & = & x_{0},\label{eq:systemSpoj}\\
3457t & \in & [0,T],\nonumber \end{eqnarray}
3458
3459\end_inset
3460
3461
3462\end_layout
3463
3464\begin_layout Standard
3465v diskrétním tvaru:
3466\end_layout
3467
3468\begin_layout Standard
3469\begin_inset Formula \begin{eqnarray}
3470x_{k+1}-x_{k} & = & f(x,u)\cdot\Delta k+F(x,u)e_{k},\nonumber \\
3471x_{(k=0)} & = & x_{0},\label{eq:systemDis}\\
3472k & \in & \{0,1,\ldots,N\},\nonumber \\
3473\Delta k & = & \frac{T}{N},\nonumber \end{eqnarray}
3474
3475\end_inset
3476
3477
3478\end_layout
3479
3480\begin_layout Standard
3481kde hledáme řízení
3482\begin_inset Formula $u=\pi(k,x)$
3483\end_inset
3484
3485, které minimalizuje očekávanou ztrátu
3486\end_layout
3487
3488\begin_layout Standard
3489\begin_inset Formula \[
3490J(\pi)=E\left(h(x)+\sum_{k=0}^{N-1}l_{k}(x,\pi(k,x))\cdot\Delta k\right).\]
3491
3492\end_inset
3493
3494
3495\end_layout
3496
3497\begin_layout Subsection
3498Osnova algoritmu
3499\begin_inset CommandInset label
3500LatexCommand label
3501name "sub:iLDP-Osnova-algoritmu"
3502
3503\end_inset
3504
3505
3506\end_layout
3507
3508\begin_layout Standard
3509Algoritmus pracuje iteračně, každá iterace začne s řízením
3510\begin_inset Formula $\pi$
3511\end_inset
3512
3513 a vytvoří zlepšení
3514\begin_inset Formula $\pi'$
3515\end_inset
3516
3517.
3518 Přičemž prvotní řešení
3519\begin_inset Formula $\pi_{0}$
3520\end_inset
3521
3522 musíme algoritmu dodat jako apriorní informaci.
3523 Pro zajištění globální konvergence je možno nové řešení hledat jako konvexní
3524 kombinaci starého a algoritmem nalezeného řešení
3525\begin_inset Formula \[
3526\pi^{nové}=\alpha\pi'+(1-\alpha)\pi;\;0<\alpha\leq1;\; J(\pi^{nové})<J(\pi).\]
3527
3528\end_inset
3529
3530
3531\end_layout
3532
3533\begin_layout Standard
3534V každé iteraci proběhne nejprve přípravná fáze, kdy z řízení
3535\begin_inset Formula $\pi(k,x)$
3536\end_inset
3537
3538 generuje průměrnou trajektorii
3539\begin_inset Formula $\bar{x}(k)$
3540\end_inset
3541
3542 řešením rovnice
3543\begin_inset CommandInset ref
3544LatexCommand ref
3545reference "eq:systemSpoj"
3546
3547\end_inset
3548
3549 respektive
3550\begin_inset CommandInset ref
3551LatexCommand ref
3552reference "eq:systemDis"
3553
3554\end_inset
3555
3556
3557\emph on
3558.
3559 
3560\emph default
3561Následně se počítá aproximace
3562\begin_inset Formula $\tilde{V}(k,x)$
3563\end_inset
3564
3565 Bellmanovy funkce
3566\begin_inset Formula $V(k,x)$
3567\end_inset
3568
3569 v čase odzadu, tj.
3570 od
3571\begin_inset Formula $N$
3572\end_inset
3573
3574 k
3575\begin_inset Formula $1$
3576\end_inset
3577
3578.
3579 Současně počítáme i aproximaci řízení
3580\begin_inset Formula $\pi'(k,x)\ldots\pi'(N-1,x)$
3581\end_inset
3582
3583.
3584 Tedy pro každý čas
3585\begin_inset Formula $k$
3586\end_inset
3587
3588 takový, že
3589\begin_inset Formula $k=N-1\ldots1$
3590\end_inset
3591
3592 jdeme zpět, přičemž pokládáme v koncovém čase
3593\begin_inset Formula $N$
3594\end_inset
3595
3596 hodnotu aproximace Bellmanovy funkce
3597\begin_inset Formula $\tilde{V}(N,x)=h(x)$
3598\end_inset
3599
3600 a provádíme následující čtyři kroky:
3601\end_layout
3602
3603\begin_layout Enumerate
3604Generujeme množinu stavů
3605\begin_inset Formula $\left\{ x^{(n)}\right\} _{n=1\ldots M}$
3606\end_inset
3607
3608 shromážděných kolem průměrného stavu
3609\begin_inset Formula $\bar{x}(k)$
3610\end_inset
3611
3612.
3613\end_layout
3614
3615\begin_layout Enumerate
3616Pro každé
3617\begin_inset Formula $x^{(n)}$
3618\end_inset
3619
3620 vypočítáme optimální řízení
3621\begin_inset Formula $u^{(n)}$
3622\end_inset
3623
3624 minimalizací Hamiltoniánu
3625\begin_inset Formula \[
3626H(k,x,u)=l(x,u)+f(x,u)^{T}\tilde{V}_{x}(k+1,x)+\frac{1}{2}\mathbf{tr}\left(\sum(x,u)\tilde{V}_{xx}(k+1,x)\right)\]
3627
3628\end_inset
3629
3630s inicializačním bodem
3631\begin_inset Formula $\pi(k,x^{(n)})$
3632\end_inset
3633
3634.
3635 Kde
3636\begin_inset Formula $\Sigma(x,u)=F(x,u)F(x,u)^{T}$
3637\end_inset
3638
3639.
3640 Tedy optimální řízení v čase
3641\begin_inset Formula $k$
3642\end_inset
3643
3644 pro stav
3645\begin_inset Formula $n$
3646\end_inset
3647
3648 hledáme jako
3649\begin_inset Formula \[
3650u^{(n)}=\arg\min_{u}H(k,x,u).\]
3651
3652\end_inset
3653
3654
3655\end_layout
3656
3657\begin_layout Enumerate
3658Pro každé
3659\begin_inset Formula $x(k)$
3660\end_inset
3661
3662 aproximovat
3663\begin_inset Formula $v^{(n)}=V(k,x^{(n)})$
3664\end_inset
3665
3666 použitím Hamolton-Jacobi-Bellmanovi rovnosti
3667\begin_inset Formula \[
3668V(k,x^{(n)})\approx\Delta k\cdot H(k,x^{(n)},u^{(n)})+\tilde{V}(k+1,x^{(n)}).\]
3669
3670\end_inset
3671
3672
3673\end_layout
3674
3675\begin_layout Enumerate
3676Vypočítat novou aproximaci funkce
3677\begin_inset Formula $\tilde{V}(k,x)$
3678\end_inset
3679
3680 z množiny bodů
3681\begin_inset Formula $\left\{ x^{(n)},v^{(n)}\right\} $
3682\end_inset
3683
3684 a aproximaci řízení
3685\begin_inset Formula $\pi'(k,x^{(n)})$
3686\end_inset
3687
3688 definované pro všechna
3689\begin_inset Formula $x$
3690\end_inset
3691
3692 jako z množiny bodů
3693\begin_inset Formula $\left\{ x^{(n)},u^{(n)}\right\} $
3694\end_inset
3695
3696.
3697\end_layout
3698
3699\begin_layout Subsection
3700Detaily implementace
3701\end_layout
3702
3703\begin_layout Standard
3704Uvedený obecný popis algoritmu může být aplikován mnoha způsoby v závislosti
3705 na konkrétních volbách v každém z kroků algoritmu.
3706 Jedná se zejména o následující případy:
3707\end_layout
3708
3709\begin_layout Description
3710Volba
3711\begin_inset space ~
3712\end_inset
3713
3714okolí
3715\begin_inset space ~
3716\end_inset
3717
3718v
3719\begin_inset space ~
3720\end_inset
3721
3722
3723\emph on
3724bodě
3725\begin_inset space ~
3726\end_inset
3727
37281.
3729
3730\emph default
3731 
3732\emph on
3733
3734\begin_inset ERT
3735status open
3736
3737\begin_layout Plain Layout
3738
3739~
3740\end_layout
3741
3742\end_inset
3743
3744
3745\emph default
3746
3747\begin_inset Newline newline
3748\end_inset
3749
3750Zde se projevuje lokálnost metody.
3751 Množina stavů
3752\begin_inset Formula $\left\{ x^{(n)}\right\} $
3753\end_inset
3754
3755 je vybrána z okolí průměrného stavu
3756\begin_inset Formula $\bar{x}(k)$
3757\end_inset
3758
3759.
3760 Toto okolí a způsob výběru množiny je třeba konkrétně specifikovat.
3761 Pro účely implementace algoritmu bylo okolí specifikováno parametrem
3762\begin_inset Formula $\rho^{2}$
3763\end_inset
3764
3765.
3766 Množina stavů
3767\begin_inset Formula $\left\{ x^{(n)}\right\} $
3768\end_inset
3769
3770 pak byla generována náhodně jako náhodná veličina s normálním rozdělením
3771 se střední hodnotou rovnou průměrnému stavu
3772\begin_inset Formula $\bar{x}(k)$
3773\end_inset
3774
3775 a rozptylem specifikovaným parametrem
3776\begin_inset Formula $\rho^{2}$
3777\end_inset
3778
3779.
3780\begin_inset Newline newline
3781\end_inset
3782
3783Počet vzorků
3784\begin_inset Formula $M$
3785\end_inset
3786
3787 je nutno zvolit při implementaci algoritmu.
3788 Obecně je nejlepší volit maximální možné číslo, ovšem s rostoucím počtem
3789 vzorků rostou i paměťové nároky a výpočetní čas algoritmu.
3790\end_layout
3791
3792\begin_layout Description
3793Minimalizace
3794\begin_inset space ~
3795\end_inset
3796
3797v
3798\begin_inset space ~
3799\end_inset
3800
3801
3802\emph on
3803bodě
3804\begin_inset space ~
3805\end_inset
3806
38072.
3808
3809\emph default
3810 
3811\begin_inset ERT
3812status open
3813
3814\begin_layout Plain Layout
3815
3816~
3817\end_layout
3818
3819\end_inset
3820
3821
3822\begin_inset Newline newline
3823\end_inset
3824
3825Pro minimalizaci lze použít například minimalizační funkce programu
3826\emph on
3827Matlab
3828\emph default
3829z balíku
3830\emph on
3831 Optimization Toolbox
3832\emph default
3833, konkrétně se jedná o funkce
3834\family typewriter
3835fminunc
3836\family default
3837 respektive
3838\family typewriter
3839fmincon
3840\family default
3841 pro neomezenou respektive omezenou minimalizaci.
3842 V případě, kdy je možno spočítat minimalizaci analyticky, jedná se samozřejmě
3843 o nejlepší způsob.
3844\end_layout
3845
3846\begin_layout Description
3847Použití
3848\begin_inset space ~
3849\end_inset
3850
3851aproximací
3852\begin_inset space ~
3853\end_inset
3854
3855v
3856\emph on
3857
3858\begin_inset space ~
3859\end_inset
3860
3861bodě
3862\begin_inset space ~
3863\end_inset
3864
38654.
3866
3867\emph default
3868 
3869\begin_inset ERT
3870status open
3871
3872\begin_layout Plain Layout
3873
3874~
3875\end_layout
3876
3877\end_inset
3878
3879
3880\begin_inset Newline newline
3881\end_inset
3882
3883Aproximace je třeba zvolit ještě před zahájením výpočtu algoritmu, avšak
3884 právě v
3885\emph on
3886bodě 4.
3887
3888\emph default
3889 je třeba je vypočítat z množiny párů hodnot.
3890 Konkrétně se jedná o aproximaci Bellmanovy funkce
3891\begin_inset Formula $\tilde{V}$
3892\end_inset
3893
3894 a aproximaci řízení
3895\begin_inset Formula $\pi$
3896\end_inset
3897
3898.
3899 Volíme aproximace v jednodušším tvaru z důvodu výpočetní náročnosti, protože
3900 jsou počítány opakovaně.
3901 Dále je nutno vygenerovat dostatečný počet
3902\begin_inset Formula $M$
3903\end_inset
3904
3905 vzorků
3906\begin_inset Formula $\left\{ x^{(n)}\right\} $
3907\end_inset
3908
3909 v
3910\emph on
3911bodě 1.
3912 
3913\emph default
3914abychom měli dostatek dat pro určení koeficientů aproximací.
3915 I když nám volnost ve volbě aproximací přináší relativně velkou svobodu
3916 při návrhu algoritmu iLDP, jedná se současně i o největší slabinu, protože
3917 autoři explicitně neuvadějí jaké aproximace volit.
3918 Následně, při implementaci algoritmu pro systém s větším počtem dimenzí,
3919 může být Bellmanova funkce velmi složitá a právě její vhodnou aproximaci
3920 se nemusí podařit nalézt.
3921\end_layout
3922
3923\begin_layout Subsection
3924Konkrétní použité aproximace
3925\begin_inset CommandInset label
3926LatexCommand label
3927name "sub:Konkrétní-použité-aproximace-iLDP"
3928
3929\end_inset
3930
3931
3932\end_layout
3933
3934\begin_layout Standard
3935Výpočet hodnot a aproximace
3936\begin_inset Formula $\tilde{V}\;(\tilde{V}_{x},\tilde{V}_{xx})$
3937\end_inset
3938
3939 je opakovaný.
3940 Je tedy třeba vysoké optimalizace, proto je použita lineární aproximace
3941 ve tvaru lineární kombinace dvakrát diferencovatelných základních funkcí
3942 
3943\begin_inset Formula $\phi(x)\in\mathbf{R}^{P}$
3944\end_inset
3945
3946 kde
3947\begin_inset Formula $P<N$
3948\end_inset
3949
3950.
3951 Jako základní funkce mohou být voleny například funkce
3952\begin_inset Formula $1,\: x_{i},\: x_{i}x_{j},\: x_{i}^{2}x_{j}$
3953\end_inset
3954
3955.
3956 Aproximace je volena jako časově proměnná, kdy
3957\begin_inset Formula $\tilde{V}(k,x)=\phi(x-\bar{x}(k))^{T}\mathbf{w}(k)$
3958\end_inset
3959
3960, kde
3961\begin_inset Formula $\mathbf{w}(k)$
3962\end_inset
3963
3964 je parametrický vektor závislý na čase
3965\begin_inset Formula $k$
3966\end_inset
3967
3968.
3969 
3970\end_layout
3971
3972\begin_layout Standard
3973Označme
3974\begin_inset Formula $\tilde{V}_{x}=\phi_{x}^{T}\mathbf{w}$
3975\end_inset
3976
3977 a
3978\begin_inset Formula $\tilde{V}_{xx}=\phi_{xx}^{T}\mathbf{w}$
3979\end_inset
3980
3981 první a druhou derivaci aproximace Bellmanovy funkce podle proměnné
3982\begin_inset Formula $x$
3983\end_inset
3984
3985 respektive
3986\emph on
3987vektor
3988\emph default
3989a
3990\emph on
3991matici
3992\emph default
3993 parciálních derivací podle složek vektoru
3994\begin_inset Formula $\mathbf{x}$
3995\end_inset
3996
3997.
3998 Parametry aproximace pro jednotlivé časy
3999\begin_inset Formula $\mathbf{w}$
4000\end_inset
4001
4002 se určí lineární regresí.
4003 Pro
4004\begin_inset Formula $\mathbf{v}=\left[v^{(1)}\ldots v^{(M)}\right]$
4005\end_inset
4006
4007 vektor cílových hodnot a matici
4008\begin_inset Formula $\mathbf{\Phi}=\left[\phi(x^{(1)}-\bar{x}(k))\ldots\phi(x^{(M)}-\bar{x}(k))\right]$
4009\end_inset
4010
4011 je minimální kvadratická odchylka
4012\begin_inset Formula $\parallel\mathbf{v}-\mathbf{\Phi}^{T}\mathbf{w}\parallel^{2}$
4013\end_inset
4014
4015 pro volbu parametru
4016\begin_inset Formula $\mathbf{w}=\left(\mathbf{\Phi\Phi}^{T}\right)^{-1}\mathbf{\Phi v}$
4017\end_inset
4018
4019.
4020 
4021\end_layout
4022
4023\begin_layout Standard
4024Protože je průměrná trajektorie
4025\begin_inset Formula $\bar{x}(k)$
4026\end_inset
4027
4028 konstantní v iteraci algoritmu, je z důvodu urychlení výpočtu aproximace
4029 vycentrována v tomto bodě.
4030 Množina
4031\begin_inset Formula $\left\{ x^{(n)}\right\} $
4032\end_inset
4033
4034 je časově proměnná, abychom nemuseli v každém kroku počítat
4035\begin_inset Formula $\left(\mathbf{\Phi\Phi}^{T}\right)^{-1}\mathbf{\Phi}$
4036\end_inset
4037
4038, položíme
4039\begin_inset Formula $x^{(n)}=\bar{x}(k)+\varepsilon^{(n)}$
4040\end_inset
4041
4042, kde
4043\begin_inset Formula $\left\{ \varepsilon^{(n)}\right\} $
4044\end_inset
4045
4046 je stejná pro všechny časy
4047\begin_inset Formula $k$
4048\end_inset
4049
4050.
4051 Množina
4052\begin_inset Formula $\left\{ x^{(n)}\right\} $
4053\end_inset
4054
4055 se pak jakoby pohybuje podél trajektorie
4056\begin_inset Formula $\bar{x}(k)$
4057\end_inset
4058
4059.
4060 Tedy
4061\begin_inset Formula $\tilde{V}(k,x^{(n)})=\phi(\varepsilon^{(n)})^{T}\mathbf{w}(k)$
4062\end_inset
4063
4064 a
4065\begin_inset Formula $\Phi$
4066\end_inset
4067
4068 je konstantní v nejen čase, ale i v iteracích algoritmu a matici
4069\begin_inset Formula $\left(\mathbf{\Phi\Phi}^{T}\right)^{-1}\mathbf{\Phi}$
4070\end_inset
4071
4072 je možno předpočítat (což by nešlo při závislosti na stavech).
4073\end_layout
4074
4075\begin_layout Subsection
4076Předběžný odhad vlatností algoritmu
4077\end_layout
4078
4079\begin_layout Standard
4080V tomto odstavci jsou uvedeny předběžné odhady vlastností algoritmu, jeho
4081 výhody a nevýhody.
4082 Tyto odhady byly učiněny na základě popisu algoritmu, dále podle samotného
4083 hodnocení autorů v článku
4084\begin_inset CommandInset citation
4085LatexCommand cite
4086key "TodorovTassaILDP"
4087
4088\end_inset
4089
4090 a následně i v průběhu implementace metody.
4091 Později budou konfrontovány s pozorováními získaných výsledků a závěry
4092 simulací, aby bylo zřejmé, která očekávání byla naplněna, a která nikoliv.
4093 Tento postup může být velmi užitečný zejména z důvodu posouzení, které
4094 charakteristické vlastnosti algoritmu iLDP jsou patrny pouze při letmém
4095 prostudovaní a naopak, pro které je nutno algoritmus implementovat a otestovat.
4096\end_layout
4097
4098\begin_layout Paragraph
4099Výhody
4100\end_layout
4101
4102\begin_layout Itemize
4103duální metoda (lépe se vypořádá s neznalostí oproti neduálním metodám, například
4104 LQG)
4105\end_layout
4106
4107\begin_layout Itemize
4108lepší zvládnutí šumu
4109\end_layout
4110
4111\begin_layout Itemize
4112vyšší přesnost
4113\end_layout
4114
4115\begin_layout Itemize
4116rychlejší dosažení požadované hodnoty
4117\end_layout
4118
4119\begin_layout Itemize
4120možnost aplikace na mnoharozměrové stavové a řídící prostory
4121\end_layout
4122
4123\begin_layout Itemize
4124univerzálnost (vychází z obecných principů)
4125\end_layout
4126
4127\begin_layout Itemize
4128svoboda ve výběru konkrétních aproximací a minimalizací
4129\end_layout
4130
4131\begin_layout Paragraph
4132Nevýhody
4133\end_layout
4134
4135\begin_layout Itemize
4136vyšší časová náročnost
4137\end_layout
4138
4139\begin_layout Itemize
4140numerické výpočty (minimalizace)
4141\end_layout
4142
4143\begin_layout Itemize
4144nepřesnost v důsledku aproximace klíčových funkcí v algoritmu
4145\end_layout
4146
4147\begin_layout Itemize
4148implementační složitost
4149\end_layout
4150
4151\begin_layout Itemize
4152problémy s volbou aproximací
4153\end_layout
4154
4155\begin_layout Itemize
4156lokálnost metody a tedy i nalezeného řešení
4157\end_layout
4158
4159\begin_layout Itemize
4160volba okolí (lokální metoda)
4161\end_layout
4162
4163\begin_layout Standard
4164\begin_inset Newpage newpage
4165\end_inset
4166
4167
4168\end_layout
4169
4170\begin_layout Chapter
4171Systémy pro testování
4172\end_layout
4173
4174\begin_layout Section
4175Jednoduchý systém
4176\begin_inset CommandInset label
4177LatexCommand label
4178name "sec:Jednoduchý-systém-pro-testovani"
4179
4180\end_inset
4181
4182
4183\end_layout
4184
4185\begin_layout Subsection
4186Popis problému
4187\end_layout
4188
4189\begin_layout Standard
4190Tato úloha byla převzata z článku
4191\begin_inset CommandInset citation
4192LatexCommand cite
4193key "ThompsonCluettSIDP"
4194
4195\end_inset
4196
4197.
4198 Sami autoři
4199\begin_inset CommandInset citation
4200LatexCommand cite
4201key "ThompsonCluettSIDP"
4202
4203\end_inset
4204
4205 pak přejali tento problém z
4206\begin_inset CommandInset citation
4207LatexCommand cite
4208key "AstromHelmerssonDCIUG"
4209
4210\end_inset
4211
4212.
4213\end_layout
4214
4215\begin_layout Standard
4216Jedná se o integrátor s neznámým ziskem, tedy lineární časově invariantní
4217 systém s jedním vstupem a jedním výstupem
4218\end_layout
4219
4220\begin_layout Standard
4221\begin_inset Formula \begin{eqnarray}
4222y_{k+1} & = & y_{k}+bu_{k}+\sigma e_{k},\nonumber \\
4223b & \sim & N(\hat{b},P),\label{eq:simplesystem}\\
4224e_{k} & \sim & N(0,1),\nonumber \\
4225\mathrm{cov}(e_{k},b_{k}) & = & 0,\;\forall k.\nonumber \end{eqnarray}
4226
4227\end_inset
4228
4229
4230\end_layout
4231
4232\begin_layout Standard
4233kde
4234\begin_inset Formula $y_{k}$
4235\end_inset
4236
4237 je výstup nebo také stav procesu v čase
4238\begin_inset Formula $k$
4239\end_inset
4240
4241,
4242\begin_inset Formula $u_{k}$
4243\end_inset
4244
4245 je řízení v čase
4246\begin_inset Formula $k$
4247\end_inset
4248
4249.
4250 Varianci šumu
4251\begin_inset Formula $\sigma^{2}$
4252\end_inset
4253
4254 předpokládáme známou, stejně jako počáteční hodnoty systému
4255\begin_inset Formula $y_{0}$
4256\end_inset
4257
4258,
4259\begin_inset Formula $\hat{b}_{0}$
4260\end_inset
4261
4262 a
4263\begin_inset Formula $P_{0}$
4264\end_inset
4265
4266.
4267 Úkolem je nalézt zpětnovazební řízení
4268\begin_inset Formula \[
4269u_{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\]
4270
4271\end_inset
4272
4273 minimalizující očekávanou ztrátu
4274\begin_inset Formula \begin{eqnarray}
4275J_{0} & = & \left\{ \sum_{k=0}^{N-1}g_{k}\right\} ,\nonumber \\
4276g_{k} & = & (y_{k+1}-r_{k+1})^{2},\label{eq:simplesystemctgg}\end{eqnarray}
4277
4278\end_inset
4279
4280
4281\end_layout
4282
4283\begin_layout Standard
4284pro daný časový horizont
4285\begin_inset Formula $N$
4286\end_inset
4287
4288 a referenční signál, tj.
4289 požadovanou hodnotu výstupu, ve formě posloupnosti
4290\begin_inset Formula $\left\{ r_{k}\right\} _{k=1}^{N}$
4291\end_inset
4292
4293.
4294 Diskrétní časový krok
4295\begin_inset Formula $\Delta k$
4296\end_inset
4297
4298 pokládáme roven jedné časové jednotce, tedy
4299\begin_inset Formula $\Delta k=1$
4300\end_inset
4301
4302.
4303\end_layout
4304
4305\begin_layout Subsection
4306Úpravy rovnic
4307\end_layout
4308
4309\begin_layout Standard
4310Při řešení tohoto problému je výhodné podle
4311\begin_inset CommandInset citation
4312LatexCommand cite
4313key "AstromHelmerssonDCIUG"
4314
4315\end_inset
4316
4317 nahlížet na systému jako úlohu s postačující statistikou
4318\begin_inset Formula $H_{k}=[y_{k},\hat{b}_{k},P_{k}].$
4319\end_inset
4320
4321 Kde
4322\begin_inset Formula $y_{k}$
4323\end_inset
4324
4325 reprezentuje stav původní
4326\begin_inset Formula $y_{k}$
4327\end_inset
4328
4329, dále
4330\begin_inset Formula $\hat{b}_{k}$
4331\end_inset
4332
4333 je střední hodnota neznámého parametru
4334\begin_inset Formula $b$
4335\end_inset
4336
4337 a
4338\begin_inset Formula $P_{k}$
4339\end_inset
4340
4341 jeho variance.
4342\end_layout
4343
4344\begin_layout Standard
4345Pak první rovnici v
4346\begin_inset CommandInset ref
4347LatexCommand ref
4348reference "eq:simplesystem"
4349
4350\end_inset
4351
4352 doplníme rovnicemi, ze kterých mohou být rekurzivně napočítány parametry
4353 
4354\begin_inset Formula $\hat{b}_{k}$
4355\end_inset
4356
4357 a
4358\begin_inset Formula $P_{k}$
4359\end_inset
4360
4361
4362\begin_inset Formula \begin{eqnarray}
4363\hat{b}_{k+1} & = & \hat{b}_{k}+K_{k}(y_{k+1}-y_{k}-\hat{b}_{k}u_{k}),\nonumber \\
4364P_{k+1} & = & (1-K_{k}u_{k})P_{k},\label{eq:simplesystemexbp}\\
4365K_{k} & = & \frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}}.\nonumber \end{eqnarray}
4366
4367\end_inset
4368
4369Ztráta v čase
4370\begin_inset Formula $k$
4371\end_inset
4372
4373 je
4374\begin_inset Formula \[
4375J_{k}=\min_{u_{k}}\mathrm{E}_{e_{k},b}\left\{ g_{k}+J_{k+1}\mid y_{k},y_{k-1},\ldots,u_{k-1},u_{k-2},\ldots\right\} ,\]
4376
4377\end_inset
4378
4379kde se stredni hodnota pocita pres
4380\begin_inset Formula $e_{k}$
4381\end_inset
4382
4383 a
4384\begin_inset Formula $b$
4385\end_inset
4386
4387.
4388 Systém
4389\begin_inset CommandInset ref
4390LatexCommand ref
4391reference "eq:simplesystem"
4392
4393\end_inset
4394
4395 je lineární, Gaussovský a máme k dispozici sdruženou hustotu rozdělení
4396 pravděpodobnosti
4397\begin_inset Formula $f(b_{k})=N(\hat{b}_{k},P_{k})$
4398\end_inset
4399
4400 jejíž parametry se vyvíjejí rekurzivně podle
4401\begin_inset CommandInset ref
4402LatexCommand ref
4403reference "eq:simplesystemexbp"
4404
4405\end_inset
4406
4407.
4408 Je tedy možno upravit ztrátovou funkci
4409\begin_inset Formula $J_{k}$
4410\end_inset
4411
4412 dosadíme-li za
4413\begin_inset Formula $g_{k}=(y_{k+1}-r_{k+1})^{2}$
4414\end_inset
4415
4416 z
4417\begin_inset CommandInset ref
4418LatexCommand ref
4419reference "eq:simplesystemctgg"
4420
4421\end_inset
4422
4423 a následně z
4424\begin_inset CommandInset ref
4425LatexCommand ref
4426reference "eq:simplesystem"
4427
4428\end_inset
4429
4430 za
4431\begin_inset Formula $y_{k+1}=y_{k}+bu_{k}+\sigma e_{k}$
4432\end_inset
4433
4434:
4435\begin_inset Formula \begin{eqnarray*}
4436J_{k} & = & \min_{u_{k}}\mathrm{E}_{e_{k},b}\left\{ (y_{k}+bu_{k}+\sigma e_{k}-r_{k+1})^{2}+J_{k+1}\mid y_{k},y_{k-1},\ldots,u_{k-1},u_{k-2},\ldots\right\} \\
4437 & = & \min_{u_{k}}\mathrm{E}_{e_{k}}\left\{ (y_{k}+\hat{b}u_{k}+\sigma e_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2}\mid y_{k},y_{k-1},\ldots,u_{k-1},u_{k-2},\ldots\right\} +\\
4438 &  & +\min_{u_{k}}\mathrm{E}_{e_{k},b}\left\{ J_{k+1}\mid y_{k},y_{k-1},\ldots,u_{k-1},u_{k-2},\ldots\right\} \end{eqnarray*}
4439
4440\end_inset
4441
4442A ztráta v čase
4443\begin_inset Formula $k$
4444\end_inset
4445
4446 je pak vyjádřena ve tvaru
4447\begin_inset Formula \[
4448g_{k}=(y_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2}.\]
4449
4450\end_inset
4451
4452
4453\end_layout
4454
4455\begin_layout Standard
4456Následně lze zadání úlohy formulovat jako:
4457\begin_inset Formula \begin{eqnarray}
4458\mathrm{Rovnice\: systému:}\quad\left[\begin{array}{c}
4459y_{k+1}\\
4460\hat{b}_{k+1}\\
4461P_{k+1}\end{array}\right] & = & \left[\begin{array}{c}
4462y_{k}+\hat{b}_{k}u_{k}\\
4463\hat{b}_{k}+\frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}}(y_{k+1}-y_{k}-\hat{b}_{k}u_{k})\\
4464(1-\frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}}u_{k})P_{k}\end{array}\right]+\left[\begin{array}{c}
4465\sigma e_{k}\\
44660\\
44670\end{array}\right]\nonumber \\
4468\mathrm{Ztráta\: v\:čase}\: k\mathrm{:}\hspace{5em}g_{k} & = & (y_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2}\label{eq:simplesysuplnaybP}\end{eqnarray}
4469
4470\end_inset
4471
4472
4473\end_layout
4474
4475\begin_layout Subsection
4476Aplikace metody CE
4477\begin_inset CommandInset label
4478LatexCommand label
4479name "sub:Aplikace-metody-CE-naJS"
4480
4481\end_inset
4482
4483
4484\end_layout
4485
4486\begin_layout Standard
4487Princip metody označené jako CE (z anglického
4488\begin_inset Quotes gld
4489\end_inset
4490
4491Certainty Equivalence
4492\begin_inset Quotes grd
4493\end_inset
4494
4495) je velmi jednoduchý.
4496 Neznámé parametry v systému nahradíme jejich očekávanými hodnotami a dále
4497 všechny výpočty provádíme, jako kdyby byly parametry známé.
4498 Takto získáné řízení samozřejmě není duální a pokud se skutečná hodnota
4499 neznámého parametru výrazněji odchyluje od očekávané hodnoty, se kterou
4500 počítáme, dopouštíme se značné chyby.
4501 Zmiňovaná metoda je použita jako první přiblížení a hlavně pro srovnání
4502 s dalšími algoritmy.
4503\end_layout
4504
4505\begin_layout Subsubsection
4506Triviální CE regulátor
4507\end_layout
4508
4509\begin_layout Standard
4510Při návrhu prvního, nejjednoduššího regulátoru uvažujeme pouze rovnici
4511\begin_inset CommandInset ref
4512LatexCommand ref
4513reference "eq:simplesystem"
4514
4515\end_inset
4516
4517 a nahradíme v ní parametr
4518\begin_inset Formula $b$
4519\end_inset
4520
4521 jeho očekávanou hodnotou
4522\begin_inset Formula $\hat{b}$
4523\end_inset
4524
4525, což vede na
4526\begin_inset Formula \[
4527y_{k+1}=y_{k}+\hat{b}u_{k}+\sigma e_{k}.\]
4528
4529\end_inset
4530
4531Se ztrátovou funkcí nebudeme explicitně počítat.
4532 Místo toho předpokládáme, že ztráta bude minimální, dosáhlneme-li požadované
4533 hodnoty
4534\begin_inset Formula $r_{k+1}$
4535\end_inset
4536
4537 v jednom kroku.
4538 Položíme tedy
4539\begin_inset Formula $y_{k+1}=r_{k+1}$
4540\end_inset
4541
4542, šum neuvažujeme (respektive jej nahradíme jeho střední hodnotou, což je
4543 nula) a z rovnice vyjádříme řízení
4544\begin_inset Formula $u_{k}$
4545\end_inset
4546
4547 v čase
4548\begin_inset Formula $k$
4549\end_inset
4550
4551 jako
4552\begin_inset Formula \[
4553u_{k}=\frac{r_{k+1}-y_{k}}{\hat{b}}.\]
4554
4555\end_inset
4556
4557Zde je samozřejmě nutné předpokládat, že očekávaná hodnota
4558\begin_inset Formula $\hat{b}$
4559\end_inset
4560
4561 není rovna nule.
4562 Tento předpoklad může být omezující, protože z pohledu původní rovnice
4563 s neznámým parametrem
4564\begin_inset Formula $b$
4565\end_inset
4566
4567 nastane problém pouze, když samotný parametr
4568\begin_inset Formula $b$
4569\end_inset
4570
4571 nabývá hodnoty nula.
4572 To pak zřejmě řízení nemá na systém žádný vliv.
4573 Chceme-li tento přístup použít pro libovolné
4574\begin_inset Formula $\hat{b}$
4575\end_inset
4576
4577 (tedy i pro
4578\begin_inset Formula $\hat{b}=0$
4579\end_inset
4580
4581), je možno například volit jmenovatel zlomku ve výrazu pro řízení místo
4582 
4583\begin_inset Formula $\hat{b}$
4584\end_inset
4585
4586 jako
4587\begin_inset Formula $\hat{b}+\varepsilon$
4588\end_inset
4589
4590 s vhodným parametrem
4591\begin_inset Formula $\varepsilon$
4592\end_inset
4593
4594, následně pak
4595\begin_inset Formula \[
4596u_{k}=\frac{r_{k+1}-y_{k}}{\hat{b}+\varepsilon},\quad\hat{b}+\varepsilon\neq0.\]
4597
4598\end_inset
4599
4600
4601\end_layout
4602
4603\begin_layout Subsection
4604Algoritmus LQG
4605\end_layout
4606
4607\begin_layout Standard
4608Algoritmus LQG (
4609\begin_inset Quotes gld
4610\end_inset
4611
4612Linear-Quadratic-Gaussian
4613\begin_inset Quotes grd
4614\end_inset
4615
4616) je vhodný k nalezení řízení pro lineární systémy s kvadratickou ztrátovou
4617 funkci a gaussovským šumem.
4618 To je sice případ zde uvažovaného
4619\emph on
4620jednoduchého systému
4621\emph default
4622, ale algoritmus LQG není duální.
4623 Nedokáže si tedy poradit s neznámým parametrem
4624\begin_inset Formula $b$
4625\end_inset
4626
4627 a je nutné použít nějaké aproximace.
4628 Opět tedy využijeme principu CE a nahradíme parametr
4629\begin_inset Formula $b$
4630\end_inset
4631
4632 jeho očekávanou hodnotou
4633\begin_inset Formula $\hat{b}$
4634\end_inset
4635
4636.
4637 LQG algoritmus využívá Kalmanova filtru a dokáže tedy lépe zvládat šumy
4638 a nepřesnosti měření.
4639\end_layout
4640
4641\begin_layout Subsubsection
4642LQG regulátor
4643\end_layout
4644
4645\begin_layout Standard
4646Jak již bylo zmíněno v předchozím textu, řízení LQG je založeno na principu
4647 separace, tedy estimátor a regulátor jsou navrhovány zvlášť.
4648 Máme-li k dispozici matice, popisující systém, stačí pro nalezení řízení
4649 pouze dosadit do rovnic v částech
4650\begin_inset CommandInset ref
4651LatexCommand ref
4652reference "sub:Kalmanův-filtr"
4653
4654\end_inset
4655
4656 a
4657\begin_inset CommandInset ref
4658LatexCommand ref
4659reference "sub:LQGkp1"
4660
4661\end_inset
4662
4663.
4664 Tento postup můžeme aplikovat na matice získané z rovnice
4665\begin_inset CommandInset ref
4666LatexCommand ref
4667reference "eq:simplesystem"
4668
4669\end_inset
4670
4671, pak získáme jednoduché řízení, které ale předpokládá parametr
4672\begin_inset Formula $b$
4673\end_inset
4674
4675 známý a jedná se tedy o princip CE.
4676 Matice systému budou v tomto případě
4677\begin_inset Formula \begin{eqnarray*}
4678A & = & 1,\quad B=\hat{b},\\
4679C & = & 1,\quad N=\sigma.\end{eqnarray*}
4680
4681\end_inset
4682
4683A úpravou ztrátové funkce
4684\family roman
4685\series medium
4686\shape up
4687\size normal
4688\emph off
4689\bar no
4690\noun off
4691\color none
4692
4693\begin_inset Formula \begin{eqnarray*}
4694\mathbf{E}\left\{ \sum_{k=0}^{N-1}g_{k}\right\}  & = & \mathbf{E}\left\{ \sum_{k=0}^{N-1}\left(y_{k+1}-r_{k+1}\right)^{2}\right\} \\
4695 & = & \mathbf{E}\left\{ \sum_{k=0}^{N-1}\psi_{k+1}^{2}\right\} =\mathrm{E}\left\{ \sum_{k=0}^{N-1}\left(\psi_{k+1}^{T}Q_{k}\psi_{k+1}\right)\right\} ,\end{eqnarray*}
4696
4697\end_inset
4698
4699kde
4700\begin_inset Formula $\psi_{k}$
4701\end_inset
4702
4703 reprezentuje rozdíl
4704\begin_inset Formula $y_{k}-r_{k}$
4705\end_inset
4706
4707, získáme matice
4708\begin_inset Formula $Q$
4709\end_inset
4710
4711 a
4712\begin_inset Formula $R$
4713\end_inset
4714
4715 ve tvaru
4716\begin_inset Formula \[
4717Q=1,\quad R=0.\]
4718
4719\end_inset
4720
4721
4722\family default
4723\series default
4724\shape default
4725\size default
4726\emph default
4727\bar default
4728\noun default
4729\color inherit
4730 
4731\end_layout
4732
4733\begin_layout Standard
4734Nebo se můžeme pokusit o aplikaci na systém
4735\begin_inset CommandInset ref
4736LatexCommand ref
4737reference "eq:simplesysuplnaybP"
4738
4739\end_inset
4740
4741, který vznikl úpravou systému
4742\begin_inset CommandInset ref
4743LatexCommand ref
4744reference "eq:simplesystem"
4745
4746\end_inset
4747
4748 a odhaduje očekávanou hodnotu a varianci neznámého parametru
4749\begin_inset Formula $b$
4750\end_inset
4751
4752, ale není lineární.
4753 Je tedy třeba systém
4754\begin_inset CommandInset ref
4755LatexCommand ref
4756reference "eq:simplesysuplnaybP"
4757
4758\end_inset
4759
4760 linearizovat, nejlépe v každém časovém kroku
4761\begin_inset Formula $k$
4762\end_inset
4763
4764.
4765 Potřebujeme tedy nějakou reprezentativní trajektorii a systém následně
4766 linearizujeme rozvojem do prvního řádu do Taylorovy řady se středem v této
4767 trajektorii a tento postup opakujeme pro každý čas
4768\begin_inset Formula $k$
4769\end_inset
4770
4771.
4772 Následně získáme matice linearizovaného systému
4773\begin_inset Formula \begin{eqnarray*}
4774A_{k} & =\frac{\partial}{\partial(y_{k},\hat{b}_{k},P_{k})}\left[\begin{array}{c}
4775y_{k+1}\\
4776\hat{b}_{k+1}\\
4777P_{k+1}\end{array}\right]= & \left(\begin{array}{ccc}
47781 & u_{k} & 0\\
4779-\frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}} & 1-\frac{u_{k}^{2}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}} & \frac{u_{k}\sigma^{2}\left(y_{k+1}-y_{k}-\hat{b}u_{k}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\\
47800 & 0 & 1-\frac{u_{k}^{2}P_{k}\left(u_{k}^{2}P_{k}+2\sigma^{2}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\end{array}\right),\\
4781B_{k} & =\frac{\partial}{\partial u_{k}}\left[\begin{array}{c}
4782y_{k+1}\\
4783\hat{b}_{k+1}\\
4784P_{k+1}\end{array}\right]= & \left(\begin{array}{c}
4785\hat{b}\\
4786\frac{\left(P_{k}\sigma^{2}-u_{k}^{2}P_{k}^{2}\right)\left(y_{k+1}-y_{k}+2\hat{b}u_{k}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\\
4787-\frac{2u_{k}P_{k}^{2}\sigma^{2}}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\end{array}\right).\end{eqnarray*}
4788
4789\end_inset
4790
4791Matice pro výpočet Kalmanova filtru jsou v čase konstantní a rovny
4792\begin_inset Formula \[
4793C_{k}=\left(\begin{array}{ccc}
47941 & 0 & 0\end{array}\right),\quad N_{k}=\sigma.\]
4795
4796\end_inset
4797
4798Pro ztrátovou funkci upravíme ztrátu systému
4799\begin_inset CommandInset ref
4800LatexCommand ref
4801reference "eq:simplesysuplnaybP"
4802
4803\end_inset
4804
4805 
4806\family roman
4807\series medium
4808\shape up
4809\size normal
4810\emph off
4811\bar no
4812\noun off
4813\color none
4814následovně
4815\begin_inset Formula \begin{eqnarray*}
4816\mathbf{E}\left\{ \sum_{k=0}^{N-1}g_{k}\right\}  & = & \mathbf{E}\left\{ \sum_{k=0}^{N-1}\left((y_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2}\right)\right\} \\
4817 & = & \mathbf{E}\left\{ \sum_{k=0}^{N-1}\left(\psi_{k}^{2}+P_{k}u_{k}^{2}\right)\right\} =\mathrm{E}\left\{ \sum_{k=0}^{N-1}\left(\psi_{k}^{T}Q_{k}\psi_{k}+u_{k}^{T}R_{k}u_{k}\right)\right\} \end{eqnarray*}
4818
4819\end_inset
4820
4821kde
4822\begin_inset Formula $\psi_{k}$
4823\end_inset
4824
4825 reprezentuje rozdíl
4826\begin_inset Formula $y_{k}-r_{k+1}$
4827\end_inset
4828
4829.
4830 Pak matice pro kvadratickou ztrátovou funkci
4831\begin_inset Formula $Q$
4832\end_inset
4833
4834 a
4835\begin_inset Formula $R$
4836\end_inset
4837
4838 jsou
4839\begin_inset Formula \begin{eqnarray*}
4840Q_{N} & = & \theta\\
4841Q_{k} & = & \left(\begin{array}{ccc}
48421 & 0 & 0\\
48430 & 0 & 0\\
48440 & 0 & 0\end{array}\right)\\
4845R_{k} & = & P_{k}\end{eqnarray*}
4846
4847\end_inset
4848
4849
4850\end_layout
4851
4852\begin_layout Subsection
4853iLQG
4854\end_layout
4855
4856\begin_layout Standard
4857Metoda iLQG je v podstatě rozšířením základního algoritmu pro nalezení LQ
4858 řízení a v triviálním případě se na tento algoritmus i redukuje.
4859 Proto většinu z veličin charakterizujících systém, potřebných pro výpočet
4860 iLQG řízení, můžeme převzít z předchozí části o aplikaci LQG regulátoru.
4861 Postup jejich výpočtu je totiž prakticky totožný.
4862 
4863\end_layout
4864
4865\begin_layout Subsubsection
4866iLQG řízení
4867\end_layout
4868
4869\begin_layout Standard
4870Veličiny budou uvedeny pouze pro případ jednoduchého systému s postačující
4871 statistikou, odhadující parametr
4872\begin_inset Formula $b.$
4873\end_inset
4874
4875 Přičemž obecný tvar parametrů vychází z systému definovaného v
4876\begin_inset CommandInset ref
4877LatexCommand ref
4878reference "eq:systemilqgdef"
4879
4880\end_inset
4881
4882.
4883\end_layout
4884
4885\begin_layout Standard
4886\begin_inset Formula \begin{eqnarray*}
4887A_{k} & = & I+\frac{\partial f}{\partial x}\cdot\Delta k=\left(\begin{array}{ccc}
48881 & u_{k} & 0\\
4889-\frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}} & 1-\frac{u_{k}^{2}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}} & \frac{u_{k}\sigma^{2}\left(y_{k+1}-y_{k}-\hat{b}u_{k}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\\
48900 & 0 & 1-\frac{u_{k}^{2}P_{k}\left(u_{k}^{2}P_{k}+2\sigma^{2}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\end{array}\right),\\
4891B_{k} & = & \frac{\partial f}{\partial u}\cdot\Delta k=\left(\begin{array}{c}
4892\hat{b}\\
4893\frac{\left(P_{k}\sigma^{2}-u_{k}^{2}P_{k}^{2}\right)\left(y_{k+1}-y_{k}+2\hat{b}u_{k}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\\
4894-\frac{2u_{k}P_{k}^{2}\sigma^{2}}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\end{array}\right),\\
4895\mathbf{c}_{i,k} & = & F^{[i]}\cdot\sqrt{\Delta k}=\left(\begin{array}{c}
4896\sigma\\
48970\\
48980\end{array}\right),\\
4899C_{i,k} & = & \frac{\partial F^{[i]}}{\partial u}\cdot\sqrt{\Delta k}=0,\\
4900q_{k} & = & l\cdot\Delta k=(y_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2},\\
4901\mathbf{q}_{k} & = & \frac{\partial l}{\partial x}\cdot\Delta k=\left(\begin{array}{c}
49022(y_{k}-r_{k+1})\\
49030\\
4904u_{k}^{2}\end{array}\right),\\
4905Q_{k} & = & \frac{\partial^{2}l}{\partial x\partial x}\cdot\Delta k=\left(\begin{array}{ccc}
49062 & 0 & 0\\
49070 & 0 & 0\\
49080 & 0 & 0\end{array}\right),\\
4909P_{k} & = & \frac{\partial^{2}l}{\partial u\partial x}\cdot\Delta k=\left(\begin{array}{c}
49100\\
49110\\
49122u_{k}\end{array}\right),\\
4913\mathbf{r}_{k} & = & \frac{\partial l}{\partial u}\cdot\Delta k=2P_{k}u_{k},\\
4914R_{k} & = & \frac{\partial^{2}l}{\partial u\partial u}=2P_{k}.\end{eqnarray*}
4915
4916\end_inset
4917
4918
4919\end_layout
4920
4921\begin_layout Subsection
4922iLDP
4923\begin_inset CommandInset label
4924LatexCommand label
4925name "sub:iLDP-js-implementace"
4926
4927\end_inset
4928
4929
4930\end_layout
4931
4932\begin_layout Standard
4933Algoritmus implementujeme podle základní osnovy uvedené v
4934\begin_inset CommandInset ref
4935LatexCommand ref
4936reference "sub:iLDP-Osnova-algoritmu"
4937
4938\end_inset
4939
4940 přičemž detaily implementace jsou voleny následovně:
4941\end_layout
4942
4943\begin_layout Description
4944Volba
4945\begin_inset space ~
4946\end_inset
4947
4948okolí
4949\emph on
4950
4951\begin_inset ERT
4952status open
4953
4954\begin_layout Plain Layout
4955
4956~
4957\end_layout
4958
4959\end_inset
4960
4961
4962\emph default
4963
4964\begin_inset Newline newline
4965\end_inset
4966
4967Množina stavů
4968\begin_inset Formula $\left\{ x^{(n)}\right\} $
4969\end_inset
4970
4971 je volena jako náhodná veličina s normálním rozdělením se střední hodnotou
4972 rovnou průměrnému stavu
4973\begin_inset Formula $\bar{x}(k)$
4974\end_inset
4975
4976 a rozptylem specifikovaným parametrem
4977\begin_inset Formula $\rho^{2}$
4978\end_inset
4979
4980.
4981 Tedy
4982\begin_inset Formula $x_{k}^{(n)}=\overline{x}(k)+\varepsilon_{k}^{(n)}$
4983\end_inset
4984
4985, kde
4986\begin_inset Formula $\varepsilon_{k}^{(n)}\sim N(0,\rho^{2})$
4987\end_inset
4988
4989 .
4990 Samotný parametr
4991\begin_inset Formula $\rho^{2}$
4992\end_inset
4993
4994 pak volíme v řádu šumu, popřípadě o řád větší, aby okolí postihlo možné
4995 změny trajektorie v důsledku šumu, ale současně nezasahovalo příliš daleko.
4996\begin_inset Newline newline
4997\end_inset
4998
4999Počet vzorků
5000\begin_inset Formula $M$
5001\end_inset
5002
5003 je zde konkrétně volen
5004\begin_inset Formula $100$
5005\end_inset
5006
5007 což se ukazuje jako dostatečné množství dat pro výpočet koeficientů aproximací.
5008\end_layout
5009
5010\begin_layout Description
5011Minimalizace
5012\begin_inset ERT
5013status open
5014
5015\begin_layout Plain Layout
5016
5017~
5018\end_layout
5019
5020\end_inset
5021
5022
5023\begin_inset Newline newline
5024\end_inset
5025
5026Zde použitá minimalizace je neomezená, je tedy užito minimalizační funkce
5027 programu
5028\emph on
5029Matlab
5030\emph default
5031(
5032\emph on
5033Optimization Toolbox
5034\emph default
5035)
5036\family typewriter
5037fminunc
5038\family default
5039.
5040\end_layout
5041
5042\begin_layout Description
5043Aproximace
5044\begin_inset space ~
5045\end_inset
5046
5047řízení
5048\begin_inset ERT
5049status open
5050
5051\begin_layout Plain Layout
5052
5053~
5054\end_layout
5055
5056\end_inset
5057
5058
5059\begin_inset Newline newline
5060\end_inset
5061
5062Aproximace zpětnovazebního řízení v tomto případě vychází z
5063\emph on
5064triviálního CE regulátoru
5065\emph default
5066 navrženého v
5067\begin_inset CommandInset ref
5068LatexCommand ref
5069reference "sub:Aplikace-metody-CE-naJS"
5070
5071\end_inset
5072
5073, který rozšiřuje
5074\begin_inset Formula \begin{eqnarray*}
5075\mathrm{CE\: regulátor:}\hspace{3em}u_{k} & = & \frac{r_{k+1}-y_{k}}{\hat{b}+\varepsilon},\quad\hat{b}+\varepsilon\neq0,\\
5076\mathrm{Aproximace\:\mathrm{řízení}}\mathrm{:\quad}\pi(k,x) & = & \frac{r_{k+1}-K_{1}y_{k}}{K_{2}\hat{b}_{k}+K_{3}P_{k}+K_{4}}.\end{eqnarray*}
5077
5078\end_inset
5079
5080Koeficienty aproximace
5081\begin_inset Formula $K_{1\ldots4}$
5082\end_inset
5083
5084 vypočítáme v každém čase
5085\begin_inset Formula $k$
5086\end_inset
5087
5088 z množiny hodnot
5089\begin_inset Formula $\left\{ x^{(n)},u^{(n)}\right\} $
5090\end_inset
5091
5092 lineární regresí, tedy metodou nejmenších čtverů.
5093 Provedeme následující úpravy
5094\begin_inset Formula \begin{eqnarray*}
5095\left(K_{2}\hat{b}_{k}+K_{3}P_{k}+K_{4}\right)\pi(k,x) & = & r_{k+1}-K_{1}y_{k},\\
5096\left(\begin{array}{cccc}
5097y_{k} & \hat{b}_{k}\pi(k,x) & P_{k}\pi(k,x) & \pi(k,x)\end{array}\right)\left(\begin{array}{c}
5098K_{1}\\
5099K_{2}\\
5100K_{3}\\
5101K_{4}\end{array}\right) & = & r_{k+1}.\end{eqnarray*}
5102
5103\end_inset
5104
5105Rovnici označíme jako
5106\begin_inset Formula \[
5107\Psi K=R.\]
5108
5109\end_inset
5110
5111Následně dosadíme do
5112\begin_inset Formula $\Psi$
5113\end_inset
5114
5115 vypočítaná
5116\begin_inset Formula $x_{k}$
5117\end_inset
5118
5119 za
5120\begin_inset Formula $\left(\begin{array}{ccc}
5121y_{k} & \hat{b}_{k} & P_{k}\end{array}\right)^{T}$
5122\end_inset
5123
5124a odpovídající vypočítaná
5125\begin_inset Formula $u$
5126\end_inset
5127
5128 za
5129\begin_inset Formula $\pi(k,n)$
5130\end_inset
5131
5132, kdy dosazujeme celé vektory v
5133\begin_inset Formula $n$
5134\end_inset
5135
5136.
5137 Tedy výsledné
5138\begin_inset Formula $\Psi$
5139\end_inset
5140
5141 je maticí rozměru
5142\begin_inset Formula $n\times4$
5143\end_inset
5144
5145.
5146 Aby mohla být rovnice splněna, položíme
5147\begin_inset Formula $R=r_{k+1}\left(\begin{array}{cccc}
51481 & 1 & \ldots & 1\end{array}\right)^{T}$
5149\end_inset
5150
5151, tedy sloupcový vektor ze samých
5152\begin_inset Formula $r_{k+1}$
5153\end_inset
5154
5155.
5156 A koeficienty
5157\begin_inset Formula $K$
5158\end_inset
5159
5160 vypočítáme metodou nejmenších čtverců jako
5161\begin_inset Formula \[
5162K=\left(\Psi^{T}\Psi\right)^{-1}\Psi R.\]
5163
5164\end_inset
5165
5166
5167\end_layout
5168
5169\begin_layout Description
5170Aproximace
5171\begin_inset space ~
5172\end_inset
5173
5174Bellmanovy
5175\begin_inset space ~
5176\end_inset
5177
5178funkce
5179\begin_inset ERT
5180status open
5181
5182\begin_layout Plain Layout
5183
5184~
5185\end_layout
5186
5187\end_inset
5188
5189
5190\begin_inset Newline newline
5191\end_inset
5192
5193Aproximace Bellmanovy funkce je volena po vzoru dle
5194\begin_inset CommandInset ref
5195LatexCommand ref
5196reference "sub:Konkrétní-použité-aproximace-iLDP"
5197
5198\end_inset
5199
5200 jako lineární kombinace devíti základních funkcí
5201\begin_inset Formula \[
52021,\; y_{k},\;\hat{b}_{k},\;\ln P_{k},\; y_{k}^{2},\; y_{k}\hat{b}_{k},\; y_{k}\ln P_{k},\;\hat{b}_{k}^{2},\;\hat{b}_{k}\ln P_{k}.\]
5203
5204\end_inset
5205
5206Kdy se koeficienty aproximace určují lineární regresí podle vzorce uvedeného
5207 v
5208\begin_inset CommandInset ref
5209LatexCommand ref
5210reference "sub:Konkrétní-použité-aproximace-iLDP"
5211
5212\end_inset
5213
5214.
5215 Proměnná
5216\begin_inset Formula $P_{k}$
5217\end_inset
5218
5219 vystupuje v souboru základních funkcí v logaritmu z výpočetních důvodů.
5220 Nejdříve bylo užito základnich funkcí pro
5221\begin_inset Formula $P_{k}$
5222\end_inset
5223
5224 bez logaritmů, ale výpočet koeficientů aproximace selhával, protože matice
5225 
5226\begin_inset Formula $\Phi\Phi^{T}$
5227\end_inset
5228
5229 vystupující ve vzorci pro lineární regresi byla blízko singulární matici.
5230 To způsobilo problémy, při její následné inverzi, proto bylo
5231\begin_inset Formula $P_{k}$
5232\end_inset
5233
5234 nahrazeno v bázových funkcích
5235\begin_inset Formula $\ln P_{k}$
5236\end_inset
5237
5238.
5239\end_layout
5240
5241\begin_layout Subsection
5242Metodika testování algoritmů
5243\end_layout
5244
5245\begin_layout Standard
5246(metodika získávání výsledků)
5247\end_layout
5248
5249\begin_layout Section
5250Synchronní motor s permanentními magnety
5251\end_layout
5252
5253\begin_layout Subsection
5254Popis systému
5255\end_layout
5256
5257\begin_layout Standard
5258Následující model popisuje synchronní elektromotormotor s rotorem tvořeným
5259 permanentními magnety.
5260 Systém je popsán standartními rovnicemi synchronního stroje s permanentními
5261 magnety ve stacionárním tvaru
5262\begin_inset Formula \begin{eqnarray}
5263\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 \\
5264\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}\\
5265\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 \\
5266\frac{d\vartheta}{dt} & = & \omega.\nonumber \end{eqnarray}
5267
5268\end_inset
5269
5270
5271\end_layout
5272
5273\begin_layout Standard
5274Zde
5275\begin_inset Formula $i_{\alpha,\beta}$
5276\end_inset
5277
5278 reprezentují proudy a
5279\begin_inset Formula $u_{\alpha,\beta}$
5280\end_inset
5281
5282 napětí na statoru.
5283 Poloha (úhel otočení) rotoru je označen
5284\begin_inset Formula $\vartheta$
5285\end_inset
5286
5287 a
5288\begin_inset Formula $\omega$
5289\end_inset
5290
5291 je pak rychlost otáčení.
5292 Dále
5293\begin_inset Formula $R_{s}$
5294\end_inset
5295
5296 je rezistance a
5297\begin_inset Formula $L_{s}$
5298\end_inset
5299
5300 induktance statoru.
5301 
5302\begin_inset Formula $\Psi_{PM}$
5303\end_inset
5304
5305 má význam magnetického toku permanentních magnetů rotoru,
5306\begin_inset Formula $B$
5307\end_inset
5308
5309 tření a
5310\begin_inset Formula $T_{L}$
5311\end_inset
5312
5313 je zatěžovací moment.
5314 Konstanta
5315\begin_inset Formula $p_{p}$
5316\end_inset
5317
5318 označuje počet párů polů a
5319\begin_inset Formula $k_{p}$
5320\end_inset
5321
5322 Parkovu konstantu.
5323\end_layout
5324
5325\begin_layout Standard
5326Cílem je návrh řízení bez senzorů, kdy čidla pro měření polohy a otáček
5327 nejsou (z různých důvodů) přítomna.
5328 Tedy jediné měřitelné veličiny jsou:
5329\begin_inset Formula \[
5330y(t)=\left(i_{\alpha}(t),i_{\beta}(t)\right),u_{\alpha}(t),u_{\beta}(t).\]
5331
5332\end_inset
5333
5334Které samozřejmě můžeme měřit jen s určitou přesností.
5335 Dále předpokládáme, že vstupy
5336\begin_inset Formula $u_{\alpha}$
5337\end_inset
5338
5339 a
5340\begin_inset Formula $u_{\beta}$
5341\end_inset
5342
5343 jsou omezené a tato omezení jsou známa.
5344 Nyní chceme dosáhnout požadovaných otáček rotoru
5345\begin_inset Formula $\overline{\omega}(t)$
5346\end_inset
5347
5348 (skutečnou hodnotu
5349\begin_inset Formula $\omega(t)$
5350\end_inset
5351
5352 neznáme, pouze ji odhadujeme ze známých hodnot
5353\begin_inset Formula $y(t)$
5354\end_inset
5355
5356).
5357\end_layout
5358
5359\begin_layout Subsection
5360Úprava rovnic
5361\begin_inset CommandInset label
5362LatexCommand label
5363name "sub:Úprava-rovnic-PMSM"
5364
5365\end_inset
5366
5367
5368\end_layout
5369
5370\begin_layout Subsubsection
5371Diskretizace
5372\end_layout
5373
5374\begin_layout Standard
5375Provedení diskretizace modelu
5376\begin_inset CommandInset ref
5377LatexCommand ref
5378reference "eq:pmsmspojity"
5379
5380\end_inset
5381
5382 pomocí Eulerovy metody vede na následující diskrétní popis:
5383\begin_inset Formula \begin{eqnarray*}
5384i_{\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},\\
5385i_{\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},\\
5386\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,\\
5387\vartheta_{k+1} & = & \vartheta_{k}+\omega_{k}\Delta k.\end{eqnarray*}
5388
5389\end_inset
5390
5391Kde
5392\begin_inset Formula $\Delta k$
5393\end_inset
5394
5395 označuje diskrétní časový okamžik.
5396 Předpokládáme, že paremetry modelu známe, můžeme tedy provést následující
5397 substituci za účelem zjednodušení:
5398\begin_inset Formula $a=1-\frac{R_{s}}{L_{s}}\Delta k$
5399\end_inset
5400
5401,
5402\begin_inset Formula $b=\frac{\Psi_{PM}}{L_{s}}\Delta k$
5403\end_inset
5404
5405,
5406\begin_inset Formula $c=\frac{\Delta k}{L_{s}}$
5407\end_inset
5408
5409,
5410\begin_inset Formula $d=1-\frac{B}{J}\Delta k$
5411\end_inset
5412
5413,
5414\begin_inset Formula $e=\frac{k_{p}p_{p}^{2}\Psi_{PM}}{J}\Delta k$
5415\end_inset
5416
5417.
5418 Pro jednoduchost uvažujme model bez zatížení, tedy zatěžovací moment
5419\begin_inset Formula $T_{L}$
5420\end_inset
5421
5422 je nulovy a zjednodušený model je:
5423\begin_inset Formula \begin{eqnarray}
5424i_{\alpha,k+1} & = & ai_{\alpha,k}+b\omega_{k}\sin\vartheta_{k}+cu_{\alpha,k},\nonumber \\
5425i_{\beta,k+1} & = & ai_{\beta,k}-b\omega_{k}\cos\vartheta_{k}+cu_{\beta,k},\label{eq:pmsmdiskretni}\\
5426\omega_{k+1} & = & d\omega_{k}+e\left(i_{\beta,k}\cos\vartheta_{k}-i_{\alpha,k}\sin\vartheta_{k}\right),\nonumber \\
5427\vartheta_{k+1} & = & \vartheta_{k}+\omega_{k}\Delta k.\nonumber \end{eqnarray}
5428
5429\end_inset
5430
5431Tyto rovnice můžeme chápat jako popis systému se stavem
5432\begin_inset Formula $x_{k}=\left(i_{\alpha,k},i_{\beta,k},\omega_{k},\vartheta_{k}\right)$
5433\end_inset
5434
5435, kde předchozí soustavu rovnic zapíšeme jako
5436\begin_inset Formula $x_{k+1}=g(x_{k},u_{k})$
5437\end_inset
5438
5439.
5440\end_layout
5441
5442\begin_layout Subsubsection
5443Odhad stavu
5444\end_layout
5445
5446\begin_layout Standard
5447O skutečném stavu systému
5448\begin_inset Formula $x_{k}$
5449\end_inset
5450
5451 máme informaci pouze v podobě měření
5452\begin_inset Formula $y_{k}=\left(i_{\alpha,k},i_{\beta,k}\right)$
5453\end_inset
5454
5455.
5456 Vlastní vývoj stavových proměnných může být ovlivněn šumem, pro jednoduchost
5457 předpokládáme Gaussovský šum s nulovou střední hodnotou a kovarianční maticí
5458 
5459\begin_inset Formula $M_{k}$
5460\end_inset
5461
5462.
5463 Pozorování stavu, tedy výstup
5464\begin_inset Formula $y_{k}$
5465\end_inset
5466
5467 je zatížen chybou měření, která je způsobena zaokrouhlením skutečné hodnoty
5468 na rozlišovací hodnotu stupnice přístroje.
5469 Z důvodu zjednodušení ale předpokládáme, že chyba měření bude mít ve výsledku
5470 normální rozdělení s nulovou střední hodnotou a kovarianční maticí
5471\begin_inset Formula $N_{k}$
5472\end_inset
5473
5474.
5475 K stejnému závěru bychom mohli dojít i použitím
5476\emph on
5477centrální limitní věty
5478\emph default
5479 z teorie pravděpodobnosti.
5480 Tedy na vnitřní stav systému i na výstup můžeme pohlížet jako na náhodné
5481 veličiny s normálním rozdělením
5482\begin_inset Formula \begin{eqnarray*}
5483x_{k+1} & \sim & N\left(g(x_{k}),M_{k}\right),\\
5484y_{k} & \sim & N\left(\left(\begin{array}{c}
5485i_{\alpha,k}\\
5486i_{\beta,k}\end{array}\right),N_{k}\right).\end{eqnarray*}
5487
5488\end_inset
5489
5490Nyní využijeme toho, že Kalmanův filtr je optimálním pozorovatelem lineárního
5491 systému s Gaussovským šumem.
5492 Zde uvažovaný systém
5493\begin_inset CommandInset ref
5494LatexCommand ref
5495reference "eq:pmsmdiskretni"
5496
5497\end_inset
5498
5499 není lineární, ale můžeme využít nelineární verze Kalmanova filtru, označované
5500 jako
5501\emph on
5502rozšířený Kalmanův filtr
5503\emph default
5504 (Extended Kalman filter), který systém linearizuje v každém časovém kroku.
5505 Rovnice pro výpočet odhadu stavu pak budou následující
5506\begin_inset Formula \begin{eqnarray}
5507\hat{x}_{k+1} & = & g(\hat{x}_{k})-K\left(y_{k+1}-h(\hat{x}_{k})\right),\nonumber \\
5508K & = & P_{k}C_{k}^{T}\left(C_{k}P_{k}C_{k}^{T}+N_{k}\right)^{-1},\label{eq:pmsp-odhadstavu-rovnice}\\
5509P_{k+1} & = & A_{k}\left(P_{k}-P_{k}C_{k}^{T}\left(C_{k}P_{k}C_{k}^{T}+N_{k}\right)^{-1}C_{k}P_{k}\right)A_{k}^{T}+M_{k},\nonumber \end{eqnarray}
5510
5511\end_inset
5512
5513kde funkce
5514\begin_inset Formula $h$
5515\end_inset
5516
5517 je
5518\begin_inset Formula $h(x_{k})=\left(i_{\alpha,k},i_{\beta,k}\right)^{T}$
5519\end_inset
5520
5521 a matice
5522\begin_inset Formula $A_{k}$
5523\end_inset
5524
5525 a
5526\begin_inset Formula $C_{k}$
5527\end_inset
5528
5529 získáme linearizecí systému v každém kroku, tedy
5530\begin_inset Formula \begin{eqnarray*}
5531A_{k}=\frac{d}{dx_{k}}g(x_{k},u_{k}) & = & \left(\begin{array}{cccc}
5532a & 0 & b\sin\vartheta_{k} & b\omega_{k}\cos\vartheta_{k}\\
55330 & a & -b\cos\vartheta_{k} & b\omega_{k}\sin\vartheta_{k}\\
5534-e\sin\vartheta_{k} & e\cos\vartheta_{k} & d & -e\left(i_{\alpha,k}\cos\vartheta_{k}+i_{\beta,k}\sin\vartheta_{k}\right)\\
55350 & 0 & \Delta k & 1\end{array}\right),\\
5536C_{k}=\frac{d}{dx_{k}}h(x_{k}) & = & \left(\begin{array}{cccc}
55371 & 0 & 0 & 0\\
55380 & 1 & 0 & 0\end{array}\right).\end{eqnarray*}
5539
5540\end_inset
5541
5542
5543\end_layout
5544
5545\begin_layout Subsubsection
5546Ztrátová funkce
5547\end_layout
5548
5549\begin_layout Standard
5550Cílem je dosáhnout požadovaných otáček rotoru
5551\begin_inset Formula $\overline{\omega}$
5552\end_inset
5553
5554.
5555 Pro zjednodušení uvažujme aditivní kvadratickou ztrátovou funkci
5556\begin_inset Formula \[
5557J=\mathrm{E}\left\{ \sum_{k=0}^{N-1}l(x_{k},u_{k})\right\} ,\]
5558
5559\end_inset
5560
5561kdy ztráta v každém časovém kroku
5562\begin_inset Formula $k$
5563\end_inset
5564
5565 je
5566\begin_inset Formula \[
5567l(x_{k},u_{k})=(\omega_{k}-\overline{\omega}_{k})^{2}+r(u_{\alpha,k}^{2}+u_{\beta,k}^{2}),\]
5568
5569\end_inset
5570
5571kde
5572\begin_inset Formula $r$
5573\end_inset
5574
5575 je vhodný parametr penalizace za vstupy, který je ovšem potřeba doladit.
5576 Tento výraz můžeme upravit do maticové podoby
5577\begin_inset Formula \begin{eqnarray*}
5578l(x_{k},u_{k}) & = & \left(\omega_{k}-\overline{\omega}_{k}\right)Q\left(\omega-\overline{\omega}_{k}\right)+\left(u_{\alpha,k},u_{\beta,k}\right)\left(\begin{array}{cc}
5579r & 0\\
55800 & r\end{array}\right)\left(\begin{array}{c}
5581u_{\alpha,k}\\
5582u_{\beta,k}\end{array}\right)\\
5583 & = & \psi_{k}^{T}Q\psi_{k}+u_{k}^{T}Ru_{k},\end{eqnarray*}
5584
5585\end_inset
5586
5587kde
5588\begin_inset Formula $\psi_{k}$
5589\end_inset
5590
5591 značí rozdíl vektoru stavu a pořadované hodnoty
5592\begin_inset Formula $\psi_{k}=x_{k}-\overline{x}_{k}$
5593\end_inset
5594
5595 a matice
5596\begin_inset Formula $Q$
5597\end_inset
5598
5599 a
5600\begin_inset Formula $R$
5601\end_inset
5602
5603 pak mají tvar
5604\begin_inset Formula \begin{eqnarray*}
5605Q & = & \left(\begin{array}{cccc}
56060 & 0 & 0 & 0\\
56070 & 0 & 0 & 0\\
56080 & 0 & 1 & 0\\
56090 & 0 & 0 & 0\end{array}\right),\\
5610R & = & \left(\begin{array}{cc}
5611r & 0\\
56120 & r\end{array}\right).\end{eqnarray*}
5613
5614\end_inset
5615
5616
5617\end_layout
5618
5619\begin_layout Subsection
5620Aplikace iLDP
5621\end_layout
5622
5623\begin_layout Standard
5624K implementaci iLDP algoritmu, je nutno podotknout, že jsem zatím nevytvořil
5625 funkční verzi.
5626 Je to zejména z důvodu, že se nepodařilo nalézt vhodnou aproximaci Bellmanovy
5627 funkce.
5628 Přesto zde uvedu postup aplikace tohoto algoritmu.
5629\end_layout
5630
5631\begin_layout Subsubsection
5632Postačující statistika
5633\end_layout
5634
5635\begin_layout Standard
5636Pro aplikaci iLDP metody je vhodné nejdříve zavést postačující statistiku.
5637 Volme tedy
5638\begin_inset Formula $\tilde{S}_{k}=\left(\hat{x}_{k},P_{k}\right)$
5639\end_inset
5640
5641, kde
5642\begin_inset Formula $\hat{x}_{k}$
5643\end_inset
5644
5645 má význam odhadu stavu a
5646\begin_inset Formula $P_{k}$
5647\end_inset
5648
5649 kovarianční matice, přičemž tyto parametry se vyvíjejí v čase podle rovnic
5650 
5651\begin_inset CommandInset ref
5652LatexCommand ref
5653reference "eq:pmsp-odhadstavu-rovnice"
5654
5655\end_inset
5656
5657.
5658 Následně, kdybychom chtěli zahrnout do aproximace Bellmanovy funkce všechny
5659 členy
5660\begin_inset Formula $\tilde{S}_{k}$
5661\end_inset
5662
5663, jednlo by se o příliš velké množství dat.
5664 Samotný vektor
5665\begin_inset Formula $\hat{x}_{k}$
5666\end_inset
5667
5668 má v každém čase
5669\begin_inset Formula $k$
5670\end_inset
5671
5672 čtyři složky a koverianční matice
5673\begin_inset Formula $P_{k}$
5674\end_inset
5675
5676 pak šestnáct složek.
5677 Hledáme-li aproximaci Bellmanovy funkce po vzoru
5678\begin_inset CommandInset ref
5679LatexCommand ref
5680reference "sub:Konkrétní-použité-aproximace-iLDP"
5681
5682\end_inset
5683
5684, získáme dvacet členů prvního řádu a mnohonásobně víc členů druhého řádu.
5685 V takovémto případě je implementace algoritmu prakticky nemožná, omezíme
5686 se tedy na postačující statistiku ve tvaru
5687\begin_inset Formula $S_{k}=\left(\hat{x}_{k},P_{k}^{(3,3)},P_{k}^{(4,4)}\right)$
5688\end_inset
5689
5690, odhadu stavu a variancí odhadů složek rychlosti a otáček, které právě
5691 nemůžeme měřit.
5692\end_layout
5693
5694\begin_layout Subsubsection
5695Detaily implementace algoritmu
5696\end_layout
5697
5698\begin_layout Standard
5699Základní návrh implementace vychází z verze algoritmu pro jednoduchý systém
5700 viz
5701\begin_inset CommandInset ref
5702LatexCommand ref
5703reference "sub:iLDP-js-implementace"
5704
5705\end_inset
5706
5707, kterou modifikuje a rozšiřuje.
5708\end_layout
5709
5710\begin_layout Standard
5711Okolí
5712\begin_inset Formula $\left\{ x^{(n)}\right\} $
5713\end_inset
5714
5715 je voleno opět jako náhodná veličina s normálním rozdělením se střední
5716 hodnotou rovnou průměrnému stavu
5717\begin_inset Formula $\bar{x}(k)$
5718\end_inset
5719
5720 a rozptylem specifikovaným parametrem
5721\begin_inset Formula $\rho^{2}$
5722\end_inset
5723
5724.
5725 Počet vzorků
5726\begin_inset Formula $M$
5727\end_inset
5728
5729 je ponechán na hodnotě
5730\begin_inset Formula $100$
5731\end_inset
5732
5733, i když byly testovány i jiné hodnoty.
5734 
5735\end_layout
5736
5737\begin_layout Standard
5738Protože se úloha řízení synchronního motoru snaží do jisté míry přiblížit
5739 realitě, uvažujeme vstupy jako omezené.
5740 Tedy předpokládáme, že zdroj nemůže dodat na vstup libovolné napětí, ale
5741 je třeba dodržet jistá omezení.
5742 Zde budou omezení vstupů reprezentována podmínkou
5743\begin_inset Formula \[
5744u_{\alpha}^{2}+u_{\beta}^{2}\leq u_{max}^{2},\]
5745
5746\end_inset
5747
5748kde
5749\begin_inset Formula $u_{max}$
5750\end_inset
5751
5752 předpokládáme jako zadanou konstantu.
5753 Pro minimalizaci v algoritmu iLDP je tedy třeba užít omezené minimalizace,
5754 zde je použita minimalizační funkce programu
5755\emph on
5756Matlab
5757\emph default
5758(
5759\emph on
5760Optimization Toolbox
5761\emph default
5762)
5763\family typewriter
5764fmincon
5765\family default
5766.
5767\end_layout
5768
5769\begin_layout Subsubsection
5770Volba aproximací
5771\end_layout
5772
5773\begin_layout Standard
5774Aproximaci Bellmanovy funkce vytvoříme na základě postačující statistiky
5775 
5776\begin_inset Formula $S_{k}=\left(\hat{x}_{k},P_{k}^{(3,3)},P_{k}^{(4,4)}\right)$
5777\end_inset
5778
5779, tedy dle
5780\begin_inset CommandInset ref
5781LatexCommand ref
5782reference "sub:Konkrétní-použité-aproximace-iLDP"
5783
5784\end_inset
5785
5786 volíme lineární kombinace základních funkcí a na základě zkušeností s jednoduch
5787ým systémem použijeme místo variancí jejich logaritmy.
5788 Soubor základních funkcí je pak
5789\begin_inset Formula \begin{gather*}
57901,\;\hat{x}_{k}^{(1)},\ldots,\hat{x}_{k}^{(4)},\;\ln P_{k}^{(3,3)},\;\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(1)}\right)^{2},\;\hat{x}_{k}^{(1)}\hat{x}_{k}^{(2)},\ldots,\hat{x}_{k}^{(1)}\hat{x}_{k}^{(4)},\\
5791\hat{x}_{k}^{(1)}\ln P_{k}^{(3,3)},\;\hat{x}_{k}^{(1)}\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(2)}\right)^{2},\;\hat{x}_{k}^{(2)}\hat{x}_{k}^{(3)},\;\hat{x}_{k}^{(2)}\hat{x}_{k}^{(4)},\\
5792\hat{x}_{k}^{(2)}\ln P_{k}^{(3,3)},\;\hat{x}_{k}^{(2)}\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(3)}\right)^{2},\;\hat{x}_{k}^{(3)}\hat{x}_{k}^{(4)},\;\hat{x}_{k}^{(3)}\ln P_{k}^{(3,3)},\\
5793\hat{x}_{k}^{(3)}\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(4)}\right)^{2},\;\hat{x}_{k}^{(4)}\ln P_{k}^{(3,3)},\;\hat{x}_{k}^{(4)}\ln P_{k}^{(4,4)}.\end{gather*}
5794
5795\end_inset
5796
5797Ale i takový soubor základních funkcí může být příliš velký, proto byla
5798 zkoušena i možnost s vynecháním prvních dvou členů
5799\begin_inset Formula $\hat{x}_{k}$
5800\end_inset
5801
5802, tedy proudů
5803\begin_inset Formula $i_{\alpha}$
5804\end_inset
5805
5806 a
5807\begin_inset Formula $i_{\beta}$
5808\end_inset
5809
5810.
5811 Naopak byly přidány kvadráty logaritmů variancí.
5812 Druhý možný soubor je tedy
5813\begin_inset Formula \begin{gather*}
58141,\;\hat{x}_{k}^{(3)},\;\hat{x}_{k}^{(4)},\;\ln P_{k}^{(3,3)},\;\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(3)}\right)^{2},\;\hat{x}_{k}^{(3)}\hat{x}_{k}^{(4)},\\
5815\hat{x}_{k}^{(3)}\ln P_{k}^{(3,3)},\;\hat{x}_{k}^{(3)}\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(4)}\right)^{2},\;\hat{x}_{k}^{(4)}\ln P_{k}^{(3,3)},\\
5816\hat{x}_{k}^{(4)}\ln P_{k}^{(4,4)},\;\left(\ln P_{k}^{(3,3)}\right)^{2},\;\ln P_{k}^{(3,3)}\ln P_{k}^{(4,4)},\;\left(\ln P_{k}^{(4,4)}\right)^{2}.\end{gather*}
5817
5818\end_inset
5819
5820
5821\end_layout
5822
5823\begin_layout Standard
5824Aproximace řízení byly volena a zkoušena v několika různých tvarech.
5825 Jednalo se o přímovazební řízení
5826\begin_inset Formula $\pi(k,x)=\overline{u}_{k}$
5827\end_inset
5828
5829, kde hodnotu řízení
5830\begin_inset Formula $\overline{u}_{k}$
5831\end_inset
5832
5833 získáme jako střední hodnotu přes vzorky
5834\begin_inset Formula $n$
5835\end_inset
5836
5837 všech řízení
5838\family roman
5839\series medium
5840\shape up
5841\size normal
5842\emph off
5843\bar no
5844\noun off
5845\color none
5846
5847\begin_inset Formula $\left\{ u^{(n)}\right\} $
5848\end_inset
5849
5850 v čase
5851\begin_inset Formula $k$
5852\end_inset
5853
5854.
5855 Dále, protože se jedná o točivý stroj, byla testována zpětnovazební aproximace
5856 řízení ve tvaru lineární kombinace funcí
5857\begin_inset Formula $\sin\vartheta,\;\cos\vartheta,\;\sin^{2}\vartheta,\;\cos^{2}\vartheta$
5858\end_inset
5859
5860.
5861 Nakonec byla ještě zkoušena aproximace získaná vyjádřením veličiny
5862\begin_inset Formula $u_{k}$
5863\end_inset
5864
5865 z rovnic systému a doplnění o koeficienty po vzoru nalezení aproximace
5866 řízení v
5867\begin_inset CommandInset ref
5868LatexCommand ref
5869reference "sub:iLDP-js-implementace"
5870
5871\end_inset
5872
5873.
5874\end_layout
5875
5876\begin_layout Subsubsection
5877Problém aplikace iLDP
5878\end_layout
5879
5880\begin_layout Standard
5881Žádný z výše uvedených postupů nevedl k nalezení funkčního řízení, pro zadaný
5882 problém synchronního motoru s permanentními magnety.
5883 Jako zásadní problém zde shledávám netriviální úkol nalezení vhodných aproximac
5884í.
5885 V případě vícerozměrného nelineárního systému to může být velmi náročné
5886 a nahodilé zkoušení volby různých aproximací zřejmě nemusí vést k cíli.
5887 Jednou z možností je, vyjít z jednodušší metody, například LQG nebo modifikovan
5888é iLQG, a aproximace vytvořit po vzoru jejích funkcí.
5889 Pak bychom však obdrželi v podstatě stejně
5890\begin_inset Quotes gld
5891\end_inset
5892
5893přesnou
5894\begin_inset Quotes grd
5895\end_inset
5896
5897 metodu, jako je ta, ze které jsme vyšli, jenom by byl náš algoritmus iLDP
5898 časově náročnější z důvodu numerických výpočtů.
5899 Vhodným kandidátem na metodu z níž by bylo možné vyjít je algoritmus LQG,
5900 pomocí kterého se podařilo implementovat funkční řízení.
5901\end_layout
5902
5903\begin_layout Subsection
5904Algoritmus LQG
5905\end_layout
5906
5907\begin_layout Standard
5908Zde navržený algoritmu LQG není duální, neurčitosti v systému tedy zvládá
5909 hůře než případná duální metoda.
5910 Dále algoritmus předpokládá lineární systém a kvadratickou ztrátu.
5911 Ztrátu jsme, z důvodu jednoduchosti, jako kvadratickou volili již na počátku,
5912 je ale třeba linearizovat systém v každém časovém kroku.
5913 Dále LQG je založeno na principu separace, tedy estimátor a regulátor navrhujem
5914e zvlášť.
5915 Estimátorem zvolíme rozšířený Kalmanův filtr, jehož rovnice jsou uvedeny
5916 v části
5917\begin_inset CommandInset ref
5918LatexCommand ref
5919reference "sub:Úprava-rovnic-PMSM"
5920
5921\end_inset
5922
5923.
5924 Jako regulátor použijeme LQ regulátor, který je popsán v
5925\begin_inset CommandInset ref
5926LatexCommand ref
5927reference "sub:LQGkp1"
5928
5929\end_inset
5930
5931.
5932\end_layout
5933
5934\begin_layout Subsubsection
5935Požadovaná hodnota
5936\end_layout
5937
5938\begin_layout Standard
5939Protože jednoduchý systém v
5940\begin_inset CommandInset ref
5941LatexCommand ref
5942reference "sec:Jednoduchý-systém-pro-testovani"
5943
5944\end_inset
5945
5946 byl lineární, bylo prakticky jedno, na jakou požadovanou hodnotu jej řídíme.
5947 Díky linearitě můžeme totiž hodnoty vždy posunout.
5948 Regulátor LQ je navržen pro lineární systém, předpokládá tedy linearitu
5949 a hledá řízení pouze na nulovou hodnotu.
5950 Tedy snaží se minimalizovat odchylku od nuly.
5951 Zde uvažovaný systém je ale nelineární a když chceme řídit na nenulovou
5952 požadovanou hodnotu, v tomto případě jde o požadované otáčky
5953\begin_inset Formula $\overline{\omega}$
5954\end_inset
5955
5956, nelze pouze nalézt LQ řízení na nulu a následně řešení posunout.
5957 Je proto třeba požadovanou hodnotu již od počátku zahrnout do našich uvažování
5958 a přidat ji do systému jako novou stavovou proměnou, byť může být v celém
5959 časovém vývoji systému konstantní.
5960\end_layout
5961
5962\begin_layout Standard
5963Provedeme tedy substituci.
5964 Chceme
5965\family roman
5966\series medium
5967\shape up
5968\size normal
5969\emph off
5970\bar no
5971\noun off
5972\color none
5973řídít na nulu
5974\begin_inset Formula $\omega_{k}-\overline{\omega}_{k}$
5975\end_inset
5976
5977 rozdíl skutečných a požadovaných otáček, tuto veličinu tedy označíme jako
5978 
5979\begin_inset Formula $\psi_{k}$
5980\end_inset
5981
5982 a následně
5983\begin_inset Formula $\psi_{k}=\omega_{k}-\overline{\omega}_{k}$
5984\end_inset
5985
5986.
5987 Z tohoto výrazu si můžeme vyjádřit stavovou proměnou otáček jako
5988\begin_inset Formula $\omega_{k}=\psi_{k}+\overline{\omega}_{k}$
5989\end_inset
5990
5991.
5992 Nyní v rovnicích
5993\begin_inset CommandInset ref
5994LatexCommand ref
5995reference "eq:pmsmdiskretni"
5996
5997\end_inset
5998
5999 dosadíme za
6000\begin_inset Formula $\omega_{k}$
6001\end_inset
6002
6003 a přidáním další rovnice pro vývoj požadované hodnoty
6004\begin_inset Formula $\overline{\omega}_{k}$
6005\end_inset
6006
6007 získáme rovnice nového systému v pěti stavových proměnných
6008\family default
6009\series default
6010\shape default
6011\size default
6012\emph default
6013\bar default
6014\noun default
6015\color inherit
6016
6017\begin_inset Formula \begin{eqnarray*}
6018i_{\alpha,k+1} & = & ai_{\alpha,k}+b\left(\psi_{k}+\overline{\omega}_{k}\right)\sin\vartheta_{k}+cu_{\alpha,k},\\
6019i_{\beta,k+1} & = & ai_{\beta,k}-b\left(\psi_{k}+\overline{\omega}_{k}\right)\cos\vartheta_{k}+cu_{\beta,k},\\
6020\psi_{k+1} & = & d\left(\psi_{k}+\overline{\omega}_{k}\right)-\overline{\omega}_{k+1}+e\left(i_{\beta,k}\cos\vartheta_{k}-i_{\alpha,k}\sin\vartheta_{k}\right),\\
6021\vartheta_{k+1} & = & \vartheta_{k}+\left(\psi_{k}+\overline{\omega}_{k}\right)\Delta k,\\
6022\overline{\omega}_{k+1} & = & \overline{\omega}_{k}.\end{eqnarray*}
6023
6024\end_inset
6025
6026Současně se nám ale ztráta v každém časovém kroku
6027\begin_inset Formula $k$
6028\end_inset
6029
6030 změní na
6031\begin_inset Formula \[
6032l(x_{k},u_{k})=\psi_{k}^{2}+r(u_{\alpha,k}^{2}+u_{\beta,k}^{2})=\psi_{k}^{T}Q\psi_{k}+u_{k}^{T}Ru_{k}.\]
6033
6034\end_inset
6035
6036
6037\end_layout
6038
6039\begin_layout Subsubsection
6040LQG řizení
6041\end_layout
6042
6043\begin_layout Standard
6044Nyní můžeme na matice popisující systém
6045\begin_inset Formula \begin{eqnarray*}
6046A_{k}=\frac{d}{dx_{k}}g(x_{k},u_{k}) & = & \left(\begin{array}{ccccc}
6047a & 0 & b\sin\vartheta_{k} & b\left(\psi_{k}+\overline{\omega}_{k}\right)\cos\vartheta_{k} & b\sin\vartheta_{k}\\
60480 & a & -b\cos\vartheta_{k} & b\left(\psi_{k}+\overline{\omega}_{k}\right)\sin\vartheta_{k} & -b\cos\vartheta_{k}\\
6049-e\sin\vartheta_{k} & e\cos\vartheta_{k} & d & -e\left(i_{\alpha,k}\cos\vartheta_{k}+i_{\beta,k}\sin\vartheta_{k}\right) & \left(d-1\right)\\
60500 & 0 & \Delta k & 1 & \Delta k\\
60510 & 0 & 0 & 0 & 1\end{array}\right),\\
6052B_{k}=\frac{d}{du_{k}}g(x_{k},u_{k}) & = & \left(\begin{array}{cc}
6053c & 0\\
60540 & c\\
60550 & 0\\
60560 & 0\\
60570 & 0\end{array}\right),\\
6058C_{k}=\frac{d}{dx_{k}}h(x_{k}) & = & \left(\begin{array}{ccccc}
60591 & 0 & 0 & 0 & 0\\
60600 & 1 & 0 & 0 & 0\end{array}\right),\\
6061Q & = & \left(\begin{array}{ccccc}
60620 & 0 & 0 & 0 & 0\\
60630 & 0 & 0 & 0 & 0\\
60640 & 0 & 1 & 0 & 0\\
60650 & 0 & 0 & 0 & 0\\
60660 & 0 & 0 & 0 & 0\end{array}\right),\\
6067R & = & \left(\begin{array}{cc}
6068r & 0\\
60690 & r\end{array}\right),\end{eqnarray*}
6070
6071\end_inset
6072
6073aplikovat rovnice pro rozšířený Kalmanův filtr a LQ regulátor.
6074 Přičemž konkrétní hodnoty počátečních hodnot a parametrů budou specifikovány
6075 v kapitole
6076\begin_inset CommandInset ref
6077LatexCommand ref
6078reference "cha:Výsledky"
6079
6080\end_inset
6081
6082.
6083\end_layout
6084
6085\begin_layout Standard
6086\begin_inset Newpage newpage
6087\end_inset
6088
6089
6090\end_layout
6091
6092\begin_layout Chapter
6093Výsledky
6094\begin_inset CommandInset label
6095LatexCommand label
6096name "cha:Výsledky"
6097
6098\end_inset
6099
6100
6101\end_layout
6102
6103\begin_layout Section
6104Výsledky algoritmu iLDP
6105\end_layout
6106
6107\begin_layout Subsection
6108Různá počáteční nastavení
6109\end_layout
6110
6111\begin_layout Standard
6112(testování možná i jen pro iLDP bez ostatních)
6113\end_layout
6114
6115\begin_layout Standard
6116(použité počáteční hodnoty)
6117\end_layout
6118
6119\begin_layout Section
6120Výsledky ostatních použitých metod
6121\end_layout
6122
6123\begin_layout Subsection
6124Pozorované výsledky
6125\end_layout
6126
6127\begin_layout Standard
6128(získané výsledky v podobě tabulek, grafů a bar-grafů)
6129\end_layout
6130
6131\begin_layout Standard
6132(slovní závěry pro jednotlivé metody)
6133\end_layout
6134
6135\begin_layout Standard
6136(charakteristické rysy budou rekapitulovány v závěru)
6137\end_layout
6138
6139\begin_layout Subsection
6140CE
6141\end_layout
6142
6143\begin_layout Subsection
6144LQG
6145\end_layout
6146
6147\begin_layout Subsection
6148iLQG
6149\end_layout
6150
6151\begin_layout Section
6152Srovnání
6153\end_layout
6154
6155\begin_layout Subsection
6156Získané výsledky
6157\end_layout
6158
6159\begin_layout Subsection
6160Porovnání algoritmů
6161\end_layout
6162
6163\begin_layout Section
6164Diskuze pro metodu iLDP
6165\end_layout
6166
6167\begin_layout Standard
6168\begin_inset Newpage newpage
6169\end_inset
6170
6171
6172\end_layout
6173
6174\begin_layout Addchap
6175Závěr
6176\end_layout
6177
6178\begin_layout Standard
6179\begin_inset Newpage newpage
6180\end_inset
6181
6182
6183\end_layout
6184
6185\begin_layout Standard
6186\begin_inset ERT
6187status open
6188
6189\begin_layout Plain Layout
6190
6191
6192\backslash
6193addcontentsline{toc}{chapter}{Literatura}
6194\end_layout
6195
6196\begin_layout Plain Layout
6197
6198
6199\backslash
6200markboth{Literatura}{Literatura}
6201\end_layout
6202
6203\end_inset
6204
6205
6206\end_layout
6207
6208\begin_layout Standard
6209\begin_inset CommandInset bibtex
6210LatexCommand bibtex
6211btprint "btPrintAll"
6212bibfiles "bpzdroje"
6213options "czechiso"
6214
6215\end_inset
6216
6217
6218\end_layout
6219
6220\end_body
6221\end_document
Note: See TracBrowser for help on using the browser.