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

Revision 1006, 247.9 kB (checked in by vahalam, 15 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
611
612\emph on
613iLDP
614\emph default
615 iterativní lokální dynamické programování
616\end_layout
617
618\begin_layout Labeling
619\labelwidthstring 00.00.0000
620
621\emph on
622LQG
623\emph default
624 lineáně kvadraticky gaussovské řízení (Linear-Quadratic-Gaussian)
625\end_layout
626
627\begin_layout Labeling
628\labelwidthstring 00.00.0000
629
630\emph on
631iLQG
632\emph default
633 iterativní LQG
634\end_layout
635
636\begin_layout Standard
637\begin_inset Newpage newpage
638\end_inset
639
640
641\end_layout
642
643\begin_layout Addchap
644Úvod
645\end_layout
646
647\begin_layout Standard
648Skutečný svět se nikdy nechová přesně podle matematických rovnic, protože
649 ty jsou vždy jen jakýmsi zjednodušením nebo přiblížením.
650 V reálném světě se vyskytuje mnoho neznámých veličin, poruch, nepředvídatelných
651 vlivů a ani naše měřící přístroje nejsou přesné.
652 Chceme-li efektivně řídit nějaký systém, musíme si být těchto vlivů vědomi
653 a zahrnout je do našich uvažování.
654 Situace se však ještě může zkomplikovat, když jeden nebo více parametrů
655 neznáme.
656 To může nastat z různých důvodů, například příšlušné čidlo nebo měřící
657 přístroj nemůžeme nebo nechceme (například z důvodů vysoké ceny) instalovat
658 a tedy o velikosti příslušné hodnoty můžeme jen usuzovat ze známých dat.
659 Ještě složitější situace nastane, když uvažujeme neznámý parametr proměnný.
660 
661\end_layout
662
663\begin_layout Standard
664
665\color black
666Máme tedy dva cíle, musíme systém co nejlépe řídit a současně se snažit
667 o co nejpřesnější určení neznámých parametrů.
668 Tyto dva postupy jsou však obecně v rozporu, protože parametry se nejlépe
669 určují, když je systém vybuzen a nechová se optimálně.
670 Právě tento rozpor a nalezení kompromisu, který povede k jeho řešení, je
671 podstatou duálního řízení.
672\end_layout
673
674\begin_layout Standard
675
676\color black
677Pro přiblížení ilustrujme problém na jednoduchém příkladě: Uvažujme elektromotor
678 s možností řídit napětí na vstupu motoru a měřit příslušné proudy.
679 Jedná se tedy o systém se dvěma vstupy a dvěma výstupy.
680 Cílem našeho řízení je dosažení požadovaných otáček rotoru.
681 Ovšem otáčky a ani polohu hřídele měřit nemůžeme.
682 Máme o nich však znalost v podobě středních hodnot a variancí.
683 Naší snahou je co nejpřesněji určit hodnotu otáček a polohy hřídele a současně
684 systém řídit tak, abychom dosáhly požadované hodnoty otáček.
685 Tyto dvě snahy jsou ale v rozporu, protože nejvíce informací o neznámých
686 parametrech získáme, když je motor vybuzen.
687 Tedy například se prudce rozjíždí, brzdí, rychle mění rychlost nebo kmitá,
688 což se projevuje v proudech, které máme možnost měřit.
689 Ale právě vybuzení motoru je v rozporu se snahou o dobré řízení, protože
690 chyba, které se dopustíme je většinou nepřijatelná.
691 Naopak, když se systém snažíme řídit, bez dostatečné znalosti jeho parametrů,
692 s velkou pravděpodobností selžeme.
693\end_layout
694
695\begin_layout Standard
696\begin_inset VSpace bigskip
697\end_inset
698
699
700\end_layout
701
702\begin_layout Standard
703Námětem této bakalářské práce je algoritmus
704\emph on
705iterativního lokálního dynamického programování
706\emph default
707(
708\emph on
709iLDP
710\emph default
711) jako jedna z metod pro řešení problému duálního řízení.
712 Algoritmus byl navržen a popsán v článku
713\color black
714
715\begin_inset CommandInset citation
716LatexCommand cite
717key "TodorovTassaILDP"
718
719\end_inset
720
721
722\color inherit
723.
724 Jak už prozrazuje název algoritmu, jedná se o iterační metodu.
725 Tedy stručně řečeno, algoritmus vyjde od nějakého počátečního řízení, které
726 je ovšem nutno dodat jako apriorní informaci a v cyklech (iteracích) tuto
727 řídící strategii vylepšuje, za účelem získání řízení optimálního.
728 Dále se jedná o metodu lokální, což v můžeme jednoduše chápat tak, že kandidáti
729 na
730\begin_inset Quotes gld
731\end_inset
732
733vylepšení
734\begin_inset Quotes grd
735\end_inset
736
737 řízení jsou vybírání z jistého, zatím blíže nespecifikovaného, okolí původní
738 řídící strategie.
739 Nakonec algoritmus využívá obecné schéma dynamického programování, které
740 bude blíže popsáno v dalším textu.
741\end_layout
742
743\begin_layout Standard
744\begin_inset VSpace bigskip
745\end_inset
746
747
748\end_layout
749
750\begin_layout Standard
751Cílem této práce bylo seznámit se s obecnou tématikou duálního řízení a
752 detailněji s konkrétním algoritmem - iterativním lokálním dynamickým programová
753ním.
754 Následně tento algoritmus implementovat a aplikovat na jednoduchý systém.
755 Otestovat jeho funkčnost a schopnost řídit a to i v porovnání s jinými
756 metodami a algoritmy.
757 Dále se pokusit implementovat algoritmus
758\emph on
759iLDP
760\emph default
761 pro složitější systém blíže praktické aplikaci, konkrétně se jedná o synchronní
762 motor s permanentními magnety.
763 Otestovat funkčnost a případně srovnat s dostupnými výsledky jiných řídících
764 strategii
765\emph on
766\color blue
767.
768
769\emph default
770\color inherit
771 Na základě získaných výsledků posoudit výhody a nevýhody algoritmu a jeho
772 použitelnost na další úlohy.
773\end_layout
774
775\begin_layout Standard
776Hlavním přínosem práce je otestování vlastností algoritmu
777\emph on
778iLDP
779\emph default
780 na jiných problémech, než pro které byla vyvinuta autory.
781 Objevení kladů a záporů algoritmu a dále díky srovnání s jinými algoritmy
782 získání přehledu, pro které praktické aplikace je vhodnější respektive
783 méně vhodný než srovnávané metody.
784 Prvotní očekávání pro srovnání algoritmu
785\emph on
786iLDP
787\emph default
788 a řízení získaného pomocí principu separace jsou, že
789\emph on
790iLDP
791\emph default
792 bude pomalejší co do výpočetního času, avšak přesnost získaných výsledků
793 bude lepší.
794 Dále je očekávána nezanedbatelná závislost výsledného řízení na volbě použitých
795 aproximací.
796\end_layout
797
798\begin_layout Standard
799\begin_inset Newpage newpage
800\end_inset
801
802
803\end_layout
804
805\begin_layout Chapter
806Teorie duálního řízení
807\begin_inset CommandInset label
808LatexCommand label
809name "cha:Teorie-duálního-řízení"
810
811\end_inset
812
813
814\end_layout
815
816\begin_layout Section
817Základní pojmy
818\end_layout
819
820\begin_layout Subsection
821Systém a řízení
822\end_layout
823
824\begin_layout Subsubsection
825Systém
826\end_layout
827
828\begin_layout Standard
829Základním pojmem, se kterým budeme v textu pracovat je
830\emph on
831systém
832\emph default
833.
834 Obdobně jako základní pojmy zejména v matematických vědách (bod, množina,
835 algoritmus,\SpecialChar \ldots{}
836), nelze tento pojem exaktně definovat.
837 Systém si můžeme představit jako jistý
838\begin_inset Quotes gld
839\end_inset
840
841objekt
842\begin_inset Quotes grd
843\end_inset
844
845, často bude reprezentovat objekt skutečného světa.
846 Hlavní vlastností systému je, že má zpravidla jeden nebo více vstupů, pomocí
847 kterých mu můžeme předávat informaci -- řízení a jeden nebo více výstupu,
848 což jsou hodnyty, které pozorujeme.
849 Co se odehrává uvnitř systému však obecně nevíme.
850 Řízení, které budeme dodávat systému na vstup bude v textu značeno písmenem
851 
852\emph on
853
854\begin_inset Formula $u$
855\end_inset
856
857
858\emph default
859.
860 Analogicky bude písmenem
861\emph on
862
863\begin_inset Formula $y$
864\end_inset
865
866
867\emph default
868 označena pozorovaná hodnota na výstupu.
869 
870\end_layout
871
872\begin_layout Standard
873Chování systému, to je jakým výstupem reaguje na vstup, popisujeme dle
874\begin_inset CommandInset citation
875LatexCommand cite
876key "MelicharLS"
877
878\end_inset
879
880 obecně diferenciální rovnicí respektive soustavou diferenciálních rovnic
881 vyšších řádů.
882 Jedná se o takzvaný
883\color black
884vnější popis
885\color inherit
886.
887 Tento druh popisu, pohlíží na systém
888\begin_inset Quotes gld
889\end_inset
890
891zvenku
892\begin_inset Quotes grd
893\end_inset
894
895 bez skutečné znalosti, co se odehrává uvnitř systému a jaká je jeho podstata.
896 Vnější popis obvykle obdržíme při odvození modelu systému z fyzikálních
897 rovnic.
898 Omezení, která z něj plynou, se snažíme odstranit zavedením
899\color black
900vnitřního (stavového) popisu
901\color inherit
902, kdy (soustavu) diferenciálních rovnic vyššího řádu, převedeme vhodnou
903 volbou nových proměnných
904\emph on
905
906\begin_inset Formula $x$
907\end_inset
908
909
910\series bold
911 
912\series default
913\emph default
914na soustavu diferenciálních rovnic prvního řádu.
915 Proměnné
916\emph on
917
918\begin_inset Formula $x$
919\end_inset
920
921
922\series bold
923 
924\series default
925\emph default
926označujeme jako
927\color black
928stavové proměnné
929\color inherit
930.
931\end_layout
932
933\begin_layout Subsubsection
934Řízení
935\end_layout
936
937\begin_layout Standard
938Naším úkolem je pro zadaný systém nalézt regulátor, tedy obecně řízení
939\emph on
940
941\begin_inset Formula $u$
942\end_inset
943
944
945\emph default
946 takové, které dodané na vstup způsobí, že systém se bude
947\begin_inset Quotes gld
948\end_inset
949
950chovat podle našich požadavků
951\begin_inset Quotes grd
952\end_inset
953
954.
955 To zpravidla znamená, že hodnoty výstupní veličiny
956\series bold
957\emph on
958
959\begin_inset Formula $y$
960\end_inset
961
962
963\series default
964\emph default
965 dosáhnou (nebo se přiblíží s danou přesností) požadované hodnotě v podobě
966 referenčního signálu, který regulátor dostavá z vnějšku a současně dodrží
967 předem stanovená omezení.
968 Práce je ovšem zaměřena na řízení složitějších systémů, u kterých jeden
969 nebo více parametrů neznáme přesně.
970 Tedy některý (více) z koeficientů v rovnicích popisujících systém není
971 znám.
972 Máme však o něm jistou statistickou informaci v podob
973\color black
974ě jeho
975\color inherit
976 očekávané hodnoty a variance.
977 Dále je-li systém nelineární, jsou výsledné rovnice příliš složité a tedy
978 analyticky neřešitelné.
979 Pro numerické řešení, jsou rovnice systému zpravidla převáděny do diskrétního
980 tvaru.
981\end_layout
982
983\begin_layout Standard
984Řízení obecně dělíme podle
985\begin_inset CommandInset citation
986LatexCommand cite
987key "MelicharLS"
988
989\end_inset
990
991 na dva typy:
992\emph on
993Přímovazební řízení
994\emph default
995 užíváme v případě, kde je k dispozici přesný matematický model systému
996 a je vyloučen výskyt neurčitostí.
997 Toto řízení nevyužívá žádné zpětné informace od systému a regulátor pracuje
998 pouze s referenčním signálem.
999 Naproti tomu
1000\emph on
1001zpětnovazební řízení
1002\emph default
1003 využívá i informace o skutečném výstupu systému a snaží se tak eliminovat
1004 chyby v důsledku neurčitostí a chyb způsobenych nepřesností modelu.
1005\end_layout
1006
1007\begin_layout Subsubsection
1008Duální řízení
1009\end_layout
1010
1011\begin_layout Standard
1012Chceme navrhnout regulátor pro zadaný systém s neznámými parametry.
1013 Úkoly jsou tedy dva: 1.
1014
1015\emph on
1016 opatrnost
1017\emph default
1018 - efektivně systém řídit a 2.
1019
1020\emph on
1021 buzení
1022\emph default
1023- určit neznáme parametry.
1024 Tyto dva přístupy jsou ale obecně v rozporu.
1025 Abychom mohli systém dobře řídit, potřebujeme znát parametry co nejpřesněji.
1026 Nejvíce informací o parametrech však získáme, když je systém vybuzen a
1027 nechová optimálně.
1028 Tyto pojmy není snadné kvantifikovat, ale velmi často se projevují v konkrétníc
1029h řídících schématech.
1030 Naším úkolem je pokusit nalézt nějaký kompromis mezi oběma úkoly.
1031 Právě tento přístup je označován jako
1032\emph on
1033duální řízení
1034\emph default
1035 
1036\begin_inset CommandInset citation
1037LatexCommand cite
1038key "BertsekasDPOC"
1039
1040\end_inset
1041
1042.
1043 
1044\end_layout
1045
1046\begin_layout Section
1047Dynamické programování
1048\end_layout
1049
1050\begin_layout Subsection
1051Formulace problému
1052\end_layout
1053
1054\begin_layout Standard
1055V textu budeme pracovat zpravidla s diskrétním systémem, ve smyslu systému
1056 s diskrétním časem, protože výpočty jsou prováděny ve většině případů problemat
1057iky duálního řízení numericky.
1058 Rovnice popisující systém jsou však zpravidla ve spojitém tvaru, (model
1059 často vychází ze skutečnosti, popřípadě fyzikálních zákonů).
1060 V tomto případě provádíme diskretizaci.
1061\end_layout
1062
1063\begin_layout Standard
1064Základní problém je formulován podle
1065\begin_inset CommandInset citation
1066LatexCommand cite
1067key "BertsekasDPOC"
1068
1069\end_inset
1070
1071 následovně:
1072\end_layout
1073
1074\begin_layout Standard
1075\begin_inset VSpace defskip
1076\end_inset
1077
1078
1079\end_layout
1080
1081\begin_layout Standard
1082Uvažujme stavový popis diskrétního dynamického systému
1083\begin_inset Formula \begin{equation}
1084\begin{array}{cc}
1085x_{k+1}=f_{k}(x_{k},u_{k},w_{k}), & k=0,\ldots,N-1\end{array},\label{eq:zakladniproblem}\end{equation}
1086
1087\end_inset
1088
1089kde
1090\begin_inset Formula $x_{k}$
1091\end_inset
1092
1093 je stavová proměná,
1094\begin_inset Formula $u_{k}$
1095\end_inset
1096
1097 řízení a
1098\begin_inset Formula $w_{k}$
1099\end_inset
1100
1101 náhodná porucha, vše v čase
1102\begin_inset Formula $k$
1103\end_inset
1104
1105 při celkovém časovém horizontu
1106\begin_inset Formula $N$
1107\end_inset
1108
1109.
1110 Na řízení
1111\begin_inset Formula $u_{k}$
1112\end_inset
1113
1114 klademe omezení, že může nabývat pouze hodnot z neprázdné monožiny
1115\begin_inset Formula $U_{k}(x_{k})$
1116\end_inset
1117
1118 závislé na stavu
1119\begin_inset Formula $x_{k}$
1120\end_inset
1121
1122.
1123 Náhodná porucha
1124\begin_inset Formula $w_{k}$
1125\end_inset
1126
1127 je charakterizována rozdělením pravděpodobnosti
1128\begin_inset Formula $P_{k}$
1129\end_inset
1130
1131, které může explicitně záviset na
1132\begin_inset Formula $x_{k}$
1133\end_inset
1134
1135 a
1136\begin_inset Formula $u_{k}$
1137\end_inset
1138
1139, ne však na předchozích poruchách
1140\begin_inset Formula $w_{k-1},\ldots,w_{0}$
1141\end_inset
1142
1143.
1144\end_layout
1145
1146\begin_layout Standard
1147Dále uvažujme množinu řízení, jedná se o posloupnost funkcí
1148\begin_inset Formula \[
1149\pi=\{\mu_{0},\ldots,\mu_{N-1}\},\]
1150
1151\end_inset
1152
1153kde
1154\begin_inset Formula $\mu_{k}$
1155\end_inset
1156
1157 přiřazuje stavu
1158\begin_inset Formula $x_{k}$
1159\end_inset
1160
1161 přípustné řízení
1162\begin_inset Formula $u_{k}=\mu_{k}(x_{k})$
1163\end_inset
1164
1165, to je takové, že
1166\begin_inset Formula $\mu_{k}(x_{k})\in U_{k}(x_{k})$
1167\end_inset
1168
1169, množinu přípustných řešení označme
1170\begin_inset Formula $\Pi$
1171\end_inset
1172
1173.
1174 Máme-li dány počáteční stav
1175\begin_inset Formula $x_{0}$
1176\end_inset
1177
1178 a přípustné řešení
1179\begin_inset Formula $\pi$
1180\end_inset
1181
1182 můžeme stavy
1183\begin_inset Formula $x_{k}$
1184\end_inset
1185
1186 a poruchy
1187\begin_inset Formula $w_{k}$
1188\end_inset
1189
1190 považovat za náhodné veličiny s rozdělemím definovaným systémem rovnic
1191 
1192\begin_inset CommandInset ref
1193LatexCommand ref
1194reference "eq:zakladniproblem"
1195
1196\end_inset
1197
1198, kde za řízení
1199\begin_inset Formula $u_{k}$
1200\end_inset
1201
1202 dosadíme hodnotu funkce
1203\begin_inset Formula $\mu_{k}$
1204\end_inset
1205
1206 v
1207\begin_inset Formula $x_{k}$
1208\end_inset
1209
1210.
1211\end_layout
1212
1213\begin_layout Standard
1214Pro dané ztráty v jednotlivých časech -- funkce
1215\begin_inset Formula $g_{k}$
1216\end_inset
1217
1218, pak definujeme očekávanou ztrátu
1219\begin_inset Formula $\pi$
1220\end_inset
1221
1222 v
1223\begin_inset Formula $x_{0}$
1224\end_inset
1225
1226 jako
1227\begin_inset Formula \[
1228J_{\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\} \]
1229
1230\end_inset
1231
1232kde je očekávaná hodnota počítána přes náhodné veličiny
1233\begin_inset Formula $w_{k}$
1234\end_inset
1235
1236 a
1237\begin_inset Formula $x_{k}$
1238\end_inset
1239
1240.
1241 Optimální řízení
1242\begin_inset Formula $\pi^{*}$
1243\end_inset
1244
1245je právě to, které minimalizuje ztrátu
1246\begin_inset Formula \[
1247J_{\pi^{*}}(x_{0})=\min_{\pi\in\Pi}J_{\pi}(x_{0}).\]
1248
1249\end_inset
1250
1251Optimální ztrátu označme
1252\begin_inset Formula $J^{*}(x_{0})$
1253\end_inset
1254
1255.
1256\end_layout
1257
1258\begin_layout Subsection
1259Přístup dynamického programování
1260\end_layout
1261
1262\begin_layout Standard
1263Dynamické programovní dle
1264\begin_inset CommandInset citation
1265LatexCommand cite
1266key "ViriusZA"
1267
1268\end_inset
1269
1270 je jedním ze způsobů návrhu algoritmů pro řešení jistých typu optimalizačních
1271 problémů.
1272 Konkrétně se uplatňuje v případě, že jde o diskrétní optimalizační úlohu,
1273 na řešení daného problému můžeme nahlížet jako na konečnou posloupnost
1274 rozhodnutí a platí
1275\emph on
1276princip optimality
1277\emph default
1278.
1279\end_layout
1280
1281\begin_layout Subsubsection
1282Princip optimality
1283\end_layout
1284
1285\begin_layout Standard
1286říká, že optimální posloupnost rozhodnutí musí mít následující vlastnost:
1287 
1288\emph on
1289Jestliže jsme už udělali
1290\emph default
1291k
1292\emph on
1293rozhodnutí, musí být všechna následující rozhodnutí optimální vzhledem k
1294 výsledkům rozhodnutí předchozích, jinak nemůžeme dostat optimální řešení
1295 
1296\emph default
1297
1298\begin_inset CommandInset citation
1299LatexCommand cite
1300key "ViriusZA"
1301
1302\end_inset
1303
1304
1305\emph on
1306.
1307\end_layout
1308
1309\begin_layout Subsubsection
1310Princip optimality v teorii řízení
1311\end_layout
1312
1313\begin_layout Standard
1314Nechť
1315\begin_inset Formula $\pi^{*}=\left\{ \mu_{0}^{*},\mu_{1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1316\end_inset
1317
1318 je optimální řídící strategie pro
1319\color black
1320základní
1321\color inherit
1322 problém a předpokládejme, že když aplikujeme řízení
1323\begin_inset Formula $\pi^{*}$
1324\end_inset
1325
1326, daný stav
1327\begin_inset Formula $x_{i}$
1328\end_inset
1329
1330 se vyskytne v čase
1331\begin_inset Formula $i$
1332\end_inset
1333
1334 s pozitivní pravděpodobností.
1335 Uvažujme podproblém, kdy ve stavu
1336\begin_inset Formula $x_{i}$
1337\end_inset
1338
1339 a čase
1340\begin_inset Formula $i$
1341\end_inset
1342
1343 chceme minimalizovat
1344\emph on
1345náklady na pokračování
1346\emph default
1347 (v anglické literatuře označováno jako
1348\color black
1349
1350\begin_inset Quotes gld
1351\end_inset
1352
1353cost-to-go
1354\color inherit
1355
1356\begin_inset Quotes grd
1357\end_inset
1358
1359) od času
1360\begin_inset Formula $i$
1361\end_inset
1362
1363 do
1364\begin_inset Formula $N$
1365\end_inset
1366
1367
1368\begin_inset Formula \[
1369\mathbf{E}\left\{ g_{N}(x_{N})+\sum_{k=i}^{N-1}g_{k}(x_{k},\mu_{k}(x_{k}),w_{k})\right\} \]
1370
1371\end_inset
1372
1373Potom úsek strategie
1374\family roman
1375\series medium
1376\shape up
1377\size normal
1378\emph off
1379\bar no
1380\noun off
1381\color none
1382
1383\begin_inset Formula $\left\{ \mu_{i}^{*},\mu_{i+1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1384\end_inset
1385
1386 je optimální pro tento podproblém.
1387\begin_inset VSpace medskip
1388\end_inset
1389
1390
1391\end_layout
1392
1393\begin_layout Standard
1394Intuitivně je princip optimality velmi jednoduchý.
1395 Jestliže úsek strategie
1396\begin_inset Formula $\left\{ \mu_{i}^{*},\mu_{i+1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1397\end_inset
1398
1399 nebude optimální, budeme schopni dále zredukovat cenu přechodem k optimální
1400 strategii pro podproblém.
1401\end_layout
1402
1403\begin_layout Standard
1404Princip optimality umožňuje optimální strategii konstruovat postupně.
1405 Nejdříve nalezneme optimální strategii pro koncový podproblém zahrnující
1406 poslední krok.
1407 Poté rozšiřujeme podproblém od konce přidáním předposledního kroku a tak
1408 dále.
1409 Takto může být vytvořena optimální strategie pro celý problém.
1410\end_layout
1411
1412\begin_layout Standard
1413Algoritmus dynamického programování je tedy založen na následující myšlence:
1414 Algoritmus pracuje iterativně a řeší
1415\color black
1416koncové
1417\color inherit
1418 podproblémy pro daný časový úsek, při tom využívá řešení předchozích
1419\color black
1420koncových
1421\color inherit
1422 podproblémů pro kratší časové úseky.
1423 Převzato z
1424\begin_inset CommandInset citation
1425LatexCommand cite
1426key "BertsekasDPOC"
1427
1428\end_inset
1429
1430.
1431\end_layout
1432
1433\begin_layout Subsubsection
1434Formulace algoritmu dynamického programování
1435\end_layout
1436
1437\begin_layout Standard
1438Podle
1439\begin_inset CommandInset citation
1440LatexCommand cite
1441key "BertsekasDPOC"
1442
1443\end_inset
1444
1445, pro každý počáteční stav
1446\begin_inset Formula $x_{0}$
1447\end_inset
1448
1449, je optimální cena
1450\begin_inset Formula $J^{*}(x_{0})$
1451\end_inset
1452
1453 základního problému rovna
1454\begin_inset Formula $J_{0}(x_{0})$
1455\end_inset
1456
1457, získané z posledního kroku následujícího algoritmu, který prochází zpět
1458 časy od
1459\begin_inset Formula $N-1$
1460\end_inset
1461
1462 do
1463\begin_inset Formula $0$
1464\end_inset
1465
1466:
1467\begin_inset Formula \[
1468J_{N}(x_{N})=g_{N}(x_{N})\]
1469
1470\end_inset
1471
1472
1473\end_layout
1474
1475\begin_layout Standard
1476\begin_inset Formula \begin{equation}
1477J_{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}
1478
1479\end_inset
1480
1481
1482\begin_inset Formula \[
1483k=0,1,\ldots,N-1\]
1484
1485\end_inset
1486
1487
1488\end_layout
1489
1490\begin_layout Standard
1491kde je očekávaná hodnota počítána podle náhodné veličiny
1492\begin_inset Formula $w_{k}$
1493\end_inset
1494
1495, která obecně závisí na
1496\begin_inset Formula $x_{k}$
1497\end_inset
1498
1499 a
1500\begin_inset Formula $u_{k}$
1501\end_inset
1502
1503.
1504 Dále, když
1505\begin_inset Formula $u_{k}^{*}=\mu_{k}^{*}(x_{k})$
1506\end_inset
1507
1508 minimalizuje pravou stranu rovnice
1509\begin_inset CommandInset ref
1510LatexCommand eqref
1511reference "eq:Jkeqmin"
1512
1513\end_inset
1514
1515 pro každé
1516\begin_inset Formula $x_{k}$
1517\end_inset
1518
1519 a
1520\begin_inset Formula $k$
1521\end_inset
1522
1523, stretegie
1524\begin_inset Formula $\pi*=\left\{ \mu_{1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1525\end_inset
1526
1527 je optimální.
1528\begin_inset VSpace medskip
1529\end_inset
1530
1531
1532\end_layout
1533
1534\begin_layout Standard
1535Hodnotu
1536\begin_inset Formula $J_{k}(x_{k})$
1537\end_inset
1538
1539 je možno interpretovat jako optimální cenu pro
1540\emph on
1541
1542\begin_inset Formula $(N-k)$
1543\end_inset
1544
1545
1546\emph default
1547-tý krok problému začínajícího ve stavu
1548\begin_inset Formula $x_{k}$
1549\end_inset
1550
1551 a čase
1552\begin_inset Formula $k$
1553\end_inset
1554
1555, a končícího v čase
1556\begin_inset Formula $N$
1557\end_inset
1558
1559.
1560 Následně označujeme
1561\begin_inset Formula $J_{k}(x_{k})$
1562\end_inset
1563
1564 náklady na pokračování (
1565\color black
1566
1567\begin_inset Quotes gld
1568\end_inset
1569
1570cost-to-go
1571\color inherit
1572
1573\begin_inset Quotes grd
1574\end_inset
1575
1576) ve stavu
1577\begin_inset Formula $x_{k}$
1578\end_inset
1579
1580 a čase
1581\begin_inset Formula $k$
1582\end_inset
1583
1584, a
1585\begin_inset Formula $J_{k}$
1586\end_inset
1587
1588 označujeme jako funkci nákladů na pokračování (
1589\color black
1590
1591\begin_inset Quotes gld
1592\end_inset
1593
1594cost-to-go
1595\color inherit
1596 function
1597\begin_inset Quotes grd
1598\end_inset
1599
1600) v čase
1601\begin_inset Formula $k$
1602\end_inset
1603
1604.
1605 
1606\end_layout
1607
1608\begin_layout Standard
1609Ideálně bychom chtěli využít algoritmus dynamického programování k získání
1610 
1611\begin_inset Formula $J_{k}$
1612\end_inset
1613
1614 vyjádřené v uzavřeném tvaru nebo k získání optimální strategie.
1615 Existuje mnoho případů, kdy je daná úloha řešitelná analyticky, obzvláště
1616 za zjednodušujících předpokladů.
1617 To je velmi užitečné zejména pro lepší náhled do problematiky a jako vodítko
1618 pro složitější modely.
1619 Avšak ve většíně případů není analytické řešení možné, pak je třeba použít
1620 numerické řešení pomocí algoritmu dynamického programování.
1621 Tento přístup může být časově velmi náročný, zejména minimalizaci v rovnici
1622 
1623\begin_inset CommandInset ref
1624LatexCommand eqref
1625reference "eq:Jkeqmin"
1626
1627\end_inset
1628
1629 je třeba provést pro každou hodnotu
1630\begin_inset Formula $x_{k}$
1631\end_inset
1632
1633.
1634 Stavový prostor musí být diskretizován, nejedná-li se o konečnou množinu
1635 a výpočetní nároky pak narůstají proporcionálně k počtu možných hodnot
1636 
1637\begin_inset Formula $x_{k}$
1638\end_inset
1639
1640.
1641 Nicméně dynamické programování je pouze obecný přístup pro iterativní optimaliz
1642aci při uvažování nejistoty v systému.
1643\end_layout
1644
1645\begin_layout Section
1646Vliv neznalosti na systém
1647\end_layout
1648
1649\begin_layout Subsection
1650Úplná a neúplná stavová informace
1651\end_layout
1652
1653\begin_layout Standard
1654V optimálním případě by bylo možno měřit všechny stavové veličiny systému
1655 a na jejich základě libovolným způsobem upravovat jeho dynamické vlastnosti.
1656 Ve skutečnosti ale zpravidla není možné všechny stavy změřit a musíme se
1657 rozhodovat pouze na základě informací, které máme k dispozici, pak mluvíme
1658 o
1659\emph on
1660neúplné informaci o stavu systému
1661\emph default
1662 
1663\begin_inset CommandInset citation
1664LatexCommand cite
1665key "StechaTDS,BertsekasDPOC"
1666
1667\end_inset
1668
1669.
1670 Může to být způsobeno například nedostupností hodnot některých stavů, použité
1671 měřící přístroje mohou být nepřesné nebo náklady na získání přesné hodnoty
1672 stavu mohou být příliš omezující.
1673 Případy tohoto typu modelujeme zpravidla tak, že v každém kroku regulátor
1674 obdrží jisté pozorování skutečné hodnoty stavu, které ovšem může být ovlivněno
1675 a narušeno stochastickou nejistotou.
1676 Teoreticky se však problém s neúplnou informací o stavu neodlišuje od úloh
1677 s úplnou stavovou informací, protože existují způsoby, jak převést (redukovat)
1678 systém s neúplnou informací na systém s úplnou.
1679 Tyto postupy obecně vedou na algoritmy využívající dynamické programování,
1680 ale jsou výpočetně mnohem náročnější, než v případě úplné informace.
1681 Dva možné postupy redukce převzaté z
1682\begin_inset CommandInset citation
1683LatexCommand cite
1684key "BertsekasDPOC"
1685
1686\end_inset
1687
1688 budou následovat po formulaci problému:
1689\end_layout
1690
1691\begin_layout Subsubsection
1692Formulace problému s neúplnou informací o stavu
1693\end_layout
1694
1695\begin_layout Standard
1696Nejdříve formulujme základní problém s neúplnou stavovou informací, který
1697 následně redukujeme na systém s informací úplnou.
1698 Uvažujme rozšíření základního problému
1699\begin_inset CommandInset ref
1700LatexCommand ref
1701reference "eq:zakladniproblem"
1702
1703\end_inset
1704
1705, kde ale regulátor, namísto přístupu ke stavu systému, získává pouze pozorování
1706 
1707\begin_inset Formula $z_{k}$
1708\end_inset
1709
1710 ve tvaru
1711\begin_inset Formula \begin{equation}
1712z_{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}
1713
1714\end_inset
1715
1716kde
1717\begin_inset Formula $v_{k}$
1718\end_inset
1719
1720 reprezentuje náhodnou poruchu pozorování charakterizovanou rozdělením pravděpod
1721obnosti
1722\begin_inset Formula $P_{v_{k}}$
1723\end_inset
1724
1725, která závisí na současném stavu a všech předchozích stavech, řízeních
1726 a poruchách.
1727 Dále také počáteční stav
1728\begin_inset Formula $x_{0}$
1729\end_inset
1730
1731 považujeme za náhodnou veličinu s rozdělením
1732\begin_inset Formula $P_{x_{0}}$
1733\end_inset
1734
1735.
1736\end_layout
1737
1738\begin_layout Standard
1739Soubor informací dostupných regulátoru v čase
1740\begin_inset Formula $k$
1741\end_inset
1742
1743 označme
1744\begin_inset Formula $I_{k}$
1745\end_inset
1746
1747 informačním vektorem.
1748 Tedy
1749\begin_inset Formula \begin{eqnarray*}
1750I_{k} & = & (z_{0},\ldots,z_{k},u_{0},\ldots,u_{k-1}),\quad k=1,\ldots,N-1,\\
1751I_{0} & = & z_{0}.\end{eqnarray*}
1752
1753\end_inset
1754
1755Uvažujme množinu přípustných řízení jako posloupnost funkcí
1756\begin_inset Formula $\pi=\{\mu_{0},\ldots,\mu_{N-1}\}$
1757\end_inset
1758
1759, kde každá funkce
1760\begin_inset Formula $\mu_{k}$
1761\end_inset
1762
1763 přiřazuje informačnímu vektoru
1764\begin_inset Formula $I_{k}$
1765\end_inset
1766
1767 řízení
1768\begin_inset Formula $\mu_{k}(I_{k})\in U_{k}$
1769\end_inset
1770
1771, pro všechna
1772\begin_inset Formula $I_{k}$
1773\end_inset
1774
1775, kde
1776\begin_inset Formula $k=0,\ldots,N-1$
1777\end_inset
1778
1779.
1780 Chceme najít přípustnou řídící strategii, to jest posloupnost
1781\begin_inset Formula $\pi$
1782\end_inset
1783
1784, která minimalizuje očekávanou ztrátu
1785\begin_inset Formula \[
1786J_{\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\} ,\]
1787
1788\end_inset
1789
1790kde je očekávaná hodnota počítána přes náhodné veličiny
1791\begin_inset Formula $x_{0}$
1792\end_inset
1793
1794 a
1795\begin_inset Formula $w_{k},v_{k}$
1796\end_inset
1797
1798 pro
1799\begin_inset Formula $k=0,\ldots,N-1$
1800\end_inset
1801
1802.
1803 Veličiny
1804\begin_inset Formula $x_{k}$
1805\end_inset
1806
1807 a
1808\begin_inset Formula $z_{k}$
1809\end_inset
1810
1811 se vypočítají z rovnic
1812\begin_inset CommandInset ref
1813LatexCommand ref
1814reference "eq:zakladniproblem"
1815
1816\end_inset
1817
1818 respektive
1819\begin_inset CommandInset ref
1820LatexCommand ref
1821reference "eq:zaklprobneuplnystav"
1822
1823\end_inset
1824
1825, přičemž v nich položíme
1826\begin_inset Formula $u_{k}=\mu_{k}(I_{k})$
1827\end_inset
1828
1829.
1830\end_layout
1831
1832\begin_layout Subsubsection
1833Redukce na systém s úplnou stavovou informací
1834\end_layout
1835
1836\begin_layout Standard
1837Tento postup je založen na myšlence definovat nový systém, jehož stav v
1838 čase
1839\begin_inset Formula $k$
1840\end_inset
1841
1842 je množina všech hodnot, kterých může využít regulátor při tvorbě řízení.
1843 Jako stav nového systému tedy volíme informační vektor
1844\begin_inset Formula $I_{k}$
1845\end_inset
1846
1847 a získáme systém
1848\begin_inset Formula \begin{equation}
1849I_{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}
1850
1851\end_inset
1852
1853Na tento systém povahy základního problému s úplnou informací můžeme pohlížet
1854 tak, že
1855\begin_inset Formula $I_{k}$
1856\end_inset
1857
1858 je stav.
1859 Řízení
1860\begin_inset Formula $u_{k}$
1861\end_inset
1862
1863 a pozorování
1864\begin_inset Formula $z_{k}$
1865\end_inset
1866
1867 lze pak chápat jako náhodné poruchy.
1868 Dále rozdělení pravděpodobnosti
1869\begin_inset Formula $z_{k+1}$
1870\end_inset
1871
1872 závisí explicitně pouze na stavu
1873\begin_inset Formula $I_{k}$
1874\end_inset
1875
1876 a řízení
1877\begin_inset Formula $u_{k}$
1878\end_inset
1879
1880.
1881 Ztrátovou funkci vyjádřenou pro nový systém je možno zapsat jako
1882\begin_inset Formula \[
1883\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\} .\]
1884
1885\end_inset
1886
1887Tedy ztráta během jednoho kroku vyjádřená jako funkce nového stavu
1888\begin_inset Formula $I_{k}$
1889\end_inset
1890
1891 a řízení
1892\begin_inset Formula $u_{k}$
1893\end_inset
1894
1895 je
1896\begin_inset Formula \begin{equation}
1897\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}
1898
1899\end_inset
1900
1901Původní základní problém s neúplnou stavovou informací byl tedy převeden
1902 na úlohu s úplnou stavovou informací s rovnicí popisující systém
1903\begin_inset CommandInset ref
1904LatexCommand ref
1905reference "eq:rednewsystem"
1906
1907\end_inset
1908
1909 a ztrátou během jednoho kroku
1910\begin_inset CommandInset ref
1911LatexCommand ref
1912reference "eq:rednewztrata"
1913
1914\end_inset
1915
1916.
1917 Nyní je pro něj možno napsat algoritmus dynamického programování.
1918 
1919\end_layout
1920
1921\begin_layout Subsubsection
1922Postačující statistika
1923\end_layout
1924
1925\begin_layout Standard
1926Při užití algoritmu dynamického programování za neúplné stavové informace
1927 je hlavní problém v jeho vyhodnocování ve stavovém prostoru, jehož dimenze
1928 neustále roste.
1929 S každým dalším měřením dimenze stavu a tedy informační vektor
1930\begin_inset Formula $I_{k}$
1931\end_inset
1932
1933 narůstá, proto se snažíme redukovat množství dat skutečně potřebných pro
1934 účely řízení.
1935 Hledáme tedy popis známý jako
1936\emph on
1937postačující statistika
1938\emph default
1939, který bude mít menší dimenzi než
1940\begin_inset Formula $I_{k}$
1941\end_inset
1942
1943 ale současně zahrne veškerý důležitý obsah
1944\begin_inset Formula $I_{k}$
1945\end_inset
1946
1947 potřebný pro řízení.
1948 Jako postačující statistiku označme funkci
1949\begin_inset Formula $S_{k}$
1950\end_inset
1951
1952 informačního vektoru
1953\begin_inset Formula $I_{k}$
1954\end_inset
1955
1956, tedy
1957\begin_inset Formula $S_{k}(I_{k})$
1958\end_inset
1959
1960 takovou, že minimalizuje ztrátu v algoritmu dynamického programování přes
1961 všechna přípustná řízení.
1962 Což můžeme zapsat pro vhodnou funkci
1963\begin_inset Formula $H_{k}$
1964\end_inset
1965
1966 jako
1967\begin_inset Formula \begin{eqnarray*}
1968J_{k}(I_{k}) & = & \min_{u_{k}\in U_{k}}H_{k}(S_{k}(I_{k}),u_{k}).\end{eqnarray*}
1969
1970\end_inset
1971
1972Po funkci
1973\begin_inset Formula $S_{k}$
1974\end_inset
1975
1976 samozřejmě chceme, aby byla charakterizována menší množinou čísel, než
1977 informační vektor
1978\begin_inset Formula $I_{k}$
1979\end_inset
1980
1981, abychom získaly výhody z jejího použití.
1982 Obecně existuje mnoho funkcí, které mohou sloužit jako postačující statistika.
1983 Triviálním příkladem může být identita
1984\begin_inset Formula $S_{k}(I_{k})=I_{k}$
1985\end_inset
1986
1987.
1988 
1989\end_layout
1990
1991\begin_layout Standard
1992Závisí-li rozdělení pravděpodobnosti poruchy pozorování
1993\begin_inset Formula $v_{k}$
1994\end_inset
1995
1996 explicitně pouze na bezprostředně předcházejícím stavu, řízení a poruše
1997 systému, tedy na
1998\begin_inset Formula $x_{k},u_{k},w_{k}$
1999\end_inset
2000
2001 a nezávisí na předchozích hodnotách
2002\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}$
2003\end_inset
2004
2005 můžeme za postačující statistiku volit podmíněné rozdělení pravděpodobnosti
2006 
2007\begin_inset Formula $P_{x_{k}|I_{k}}$
2008\end_inset
2009
2010, o kterém lze ukázat (viz
2011\begin_inset CommandInset citation
2012LatexCommand cite
2013key "BertsekasDPOC"
2014
2015\end_inset
2016
2017), že
2018\begin_inset Formula \[
2019J_{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}}),\]
2020
2021\end_inset
2022
2023kde
2024\begin_inset Formula $H_{k}$
2025\end_inset
2026
2027 a
2028\begin_inset Formula $\overline{J}_{k}$
2029\end_inset
2030
2031 jsou vhodné funkce.
2032 Optimální řízení pak získáme ve tvaru funkcí podmíněného rozdělení pravděpodobn
2033osti
2034\begin_inset Formula $\mu_{k}(I_{k})=\overline{\mu}_{k}(P_{x_{k}|I_{k}})$
2035\end_inset
2036
2037 pro
2038\begin_inset Formula $k=0,\ldots,N-1$
2039\end_inset
2040
2041.
2042 Tato reprezentace může být velmi užitečná, protože nám umožňuje rozložit
2043 optimální řízení na dvě nezávislé časti:
2044\end_layout
2045
2046\begin_layout Enumerate
2047
2048\emph on
2049pozorovatel
2050\emph default
2051 (estimátor), který v čase
2052\begin_inset Formula $k$
2053\end_inset
2054
2055 použije měření
2056\begin_inset Formula $z_{k}$
2057\end_inset
2058
2059 a řízení
2060\begin_inset Formula $u_{k-1}$
2061\end_inset
2062
2063 k vygenerování rozdělení pravděpodobnosti
2064\begin_inset Formula $P_{x_{k}|I_{k}}$
2065\end_inset
2066
2067
2068\end_layout
2069
2070\begin_layout Enumerate
2071
2072\emph on
2073regulátor
2074\emph default
2075 (akurátor), který generuje vstupy (řízení) pro systém jako funkci rozdělení
2076 pravděpodobnosti
2077\begin_inset Formula $P_{x_{k}|I_{k}}$
2078\end_inset
2079
2080
2081\end_layout
2082
2083\begin_layout Standard
2084Tento rozklad pak umožňuje navrhovat každou z částí samostatně podle charakteru
2085 konkrétní úlohy.
2086\end_layout
2087
2088\begin_layout Subsection
2089Kalmanův filtr
2090\begin_inset CommandInset label
2091LatexCommand label
2092name "sub:Kalmanův-filtr"
2093
2094\end_inset
2095
2096
2097\end_layout
2098
2099\begin_layout Standard
2100Chceme řešit následující problém, viz
2101\begin_inset CommandInset citation
2102LatexCommand cite
2103key "StechaTDS"
2104
2105\end_inset
2106
2107: Máme lineární systém s neúplnou stavovou informací a snažíme se odhadnout
2108 (rekonstruovat, estimovat) stav systému z měřitelných vstupních a výstupních
2109 veličin.
2110 Dále předpokládejme, že měření výstupu a popřípadě i vstupu je zatíženo
2111 chybou měření.
2112 Tyto nepřesnosti měření můžeme modelovat jako aditivní šum.
2113 Odhadování (rekonstrukci, estimaci) potom navrhujeme pomocí stochastických
2114 metod.
2115 Řešení vede na takzvaný
2116\emph on
2117Kalmanův filtr
2118\emph default
2119.
2120\end_layout
2121
2122\begin_layout Standard
2123\begin_inset VSpace medskip
2124\end_inset
2125
2126
2127\end_layout
2128
2129\begin_layout Standard
2130Následující formulace problému a popis algoritmu Kalmanova filtru je převzat
2131 z
2132\begin_inset CommandInset citation
2133LatexCommand cite
2134key "BertsekasDPOC"
2135
2136\end_inset
2137
2138, kde lze také nalézt odvození příslušných rovnic: Máme dva náhodné vektory
2139 
2140\begin_inset Formula $x$
2141\end_inset
2142
2143 a
2144\begin_inset Formula $y$
2145\end_inset
2146
2147, které jsou svázány sdruženým rozdělením pravděpodobnosti tak, že hodnota
2148 jednoho poskytuje informaci o hodnotě druhého.
2149 Známe hodnotu
2150\begin_inset Formula $y$
2151\end_inset
2152
2153 a chceme určit (odhadnout) hodnotu
2154\begin_inset Formula $x$
2155\end_inset
2156
2157 tak, aby střední kvadratická odchylka mezi
2158\begin_inset Formula $x$
2159\end_inset
2160
2161 a jeho odhadem byla minimální.
2162\end_layout
2163
2164\begin_layout Standard
2165Takový odhad můžeme zístat v nejjednodušším případě metodou nejmenších čtverců,
2166 ale pro tento způsob je třeba velkého počtu měření.
2167 Jako lepší způsob se ale jeví využít sekvenční struktury problému a iterativně
2168 použít Kalmanův filtr, kdy odhad v čase
2169\begin_inset Formula $k+1$
2170\end_inset
2171
2172 získáme na základě jednoduchých rovnic pouze z předchozího odhadu a nového
2173 měření v čase
2174\begin_inset Formula $k$
2175\end_inset
2176
2177, žádná předchozí měření nejsou explicitně zahrnuta.
2178\end_layout
2179
2180\begin_layout Standard
2181V dalším textu označme
2182\begin_inset Formula $\hat{x}_{k|k-1}$
2183\end_inset
2184
2185 apriorní odhad stavu, tedy odhad stavu v čase
2186\begin_inset Formula $k$
2187\end_inset
2188
2189 na základě informací až do času
2190\begin_inset Formula $k-1$
2191\end_inset
2192
2193.
2194 Analogicky
2195\begin_inset Formula $\Sigma_{k|k-1}$
2196\end_inset
2197
2198 označuje apriorní kovarianční matici.
2199 Aposteriorní odhad stavu označme
2200\begin_inset Formula $\hat{x}_{k|k}$
2201\end_inset
2202
2203, to jest odhad v čase
2204\begin_inset Formula $k$
2205\end_inset
2206
2207 na základě informačí až do času
2208\begin_inset Formula $k$
2209\end_inset
2210
2211.
2212 Aposteriorní kovarianční matice je pak označena
2213\begin_inset Formula $\Sigma_{k|k}$
2214\end_inset
2215
2216.
2217 
2218\end_layout
2219
2220\begin_layout Standard
2221\begin_inset VSpace bigskip
2222\end_inset
2223
2224
2225\end_layout
2226
2227\begin_layout Subsubsection
2228System
2229\end_layout
2230
2231\begin_layout Standard
2232Uvažujme lineární dynamický systém bez řízení (
2233\begin_inset Formula $u_{k}\equiv0$
2234\end_inset
2235
2236) ve tvaru
2237\begin_inset Formula \[
2238x_{k+1}=A_{k}x_{k}+w_{k},\; k=0,1,\ldots,N-1,\]
2239
2240\end_inset
2241
2242kde
2243\begin_inset Formula $x_{k}$
2244\end_inset
2245
2246 je vektor stavu,
2247\begin_inset Formula $w_{k}$
2248\end_inset
2249
2250 vektor náhodné poruchy a matice
2251\begin_inset Formula $A_{k}$
2252\end_inset
2253
2254 předpokládáme známé.
2255 Dále rovnice měření je
2256\begin_inset Formula \[
2257z_{k}=C_{k}x_{k}+v_{k},\; k=0,1,\ldots,N-1,\]
2258
2259\end_inset
2260
2261kde
2262\begin_inset Formula $z_{k}$
2263\end_inset
2264
2265 je vektor pozorování (měřených veličin) a
2266\begin_inset Formula $v_{k}$
2267\end_inset
2268
2269 vektor šumu.
2270 Nechť
2271\begin_inset Formula $x_{0},w_{0},\ldots,w_{N-1},v_{0},\ldots,v_{N-1}$
2272\end_inset
2273
2274 jsou vektory nezávislých náhodných veličin s daným rozdělením pravděpodobnosti,
2275 takovým, že
2276\begin_inset Formula \[
2277\mathrm{E}\{w_{k}\}=\mathrm{E}\{v_{k}\}=0,\; k=0,1,\ldots,N-1.\]
2278
2279\end_inset
2280
2281Označme
2282\begin_inset Formula \[
2283S=\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}\},\]
2284
2285\end_inset
2286
2287a nechť matice
2288\begin_inset Formula $N_{k}$
2289\end_inset
2290
2291 pozitivně definitní pro všechny časy
2292\begin_inset Formula $k$
2293\end_inset
2294
2295.
2296\end_layout
2297
2298\begin_layout Subsubsection
2299Algoritmus Kalmanova filtru
2300\end_layout
2301
2302\begin_layout Standard
2303Předpokládejme, že máme spočítaný odhad
2304\begin_inset Formula $\hat{x}_{k|k-1}$
2305\end_inset
2306
2307 společně s kovarianční maticí
2308\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\} $
2309\end_inset
2310
2311.
2312 V čase
2313\begin_inset Formula $k$
2314\end_inset
2315
2316 získáme další měření
2317\begin_inset Formula $z_{k}=C_{k}x_{k}+v_{k}$
2318\end_inset
2319
2320.
2321 Nyní můžeme získat aposteriorní odhad stavu
2322\begin_inset Formula $\hat{x}_{k|k}$
2323\end_inset
2324
2325 v čase
2326\begin_inset Formula $k$
2327\end_inset
2328
2329 jako
2330\begin_inset Formula \begin{equation}
2331\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}
2332
2333\end_inset
2334
2335dále pak apriorní odhad stavu
2336\begin_inset Formula $\hat{x}_{k+1|k}$
2337\end_inset
2338
2339 v čase
2340\begin_inset Formula $k+1,$
2341\end_inset
2342
2343 tedy
2344\begin_inset Formula $\hat{x}_{k+1|k}=A_{k}\hat{x}_{k|k}$
2345\end_inset
2346
2347.
2348 Apriorní kovarianční matici v čase
2349\begin_inset Formula $k+1$
2350\end_inset
2351
2352 vypočítáme z
2353\begin_inset Formula \[
2354\Sigma_{k+1|k}=A_{k}\Sigma_{k|k}A_{k}^{T}+M_{k},\]
2355
2356\end_inset
2357
2358kde aposteriorní kovarianční matici
2359\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\} $
2360\end_inset
2361
2362 můžeme získat z rovnice
2363\begin_inset Formula \[
2364\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}.\]
2365
2366\end_inset
2367
2368Přidáním počátečních podmínek
2369\begin_inset Formula $\hat{x}_{0|-1}=\mathrm{E}\{x_{0}\}$
2370\end_inset
2371
2372 a
2373\begin_inset Formula $\Sigma_{0|-1}=S$
2374\end_inset
2375
2376 získáme
2377\emph on
2378algoritmus Kalmanova filtru
2379\emph default
2380, který ve své podstatě rekurzivně generuje posloupnost lineárních odhadů
2381 založených na metodě nejmenších čtverců.
2382\end_layout
2383
2384\begin_layout Standard
2385Dále je možno vyjádřit rovnici
2386\begin_inset CommandInset ref
2387LatexCommand ref
2388reference "eq:kalmanaposkk"
2389
2390\end_inset
2391
2392 ve tvaru
2393\begin_inset Formula \[
2394\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),\]
2395
2396\end_inset
2397
2398který při uvažování systému se vstupem
2399\begin_inset Formula \[
2400x_{k+1}=A_{k}x_{k}+B_{k}u_{k}+w_{k},\; k=0,1,\ldots,N-1,\]
2401
2402\end_inset
2403
2404umožňuje vypočítat rekurzivně aposteriorní odhady stavů
2405\begin_inset Formula $\hat{x}_{k|k}$
2406\end_inset
2407
2408 v časech
2409\begin_inset Formula $k$
2410\end_inset
2411
2412 z rovnice
2413\begin_inset Formula \[
2414\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),\]
2415
2416\end_inset
2417
2418přičemž rovnice pro výpočet aposteriorní kovarianční matice
2419\begin_inset Formula $\Sigma_{k|k}$
2420\end_inset
2421
2422 zůstávají nezměněny.
2423\end_layout
2424
2425\begin_layout Section
2426Spojité systémy
2427\end_layout
2428
2429\begin_layout Subsection
2430Deterministické systémy se spojitým časem
2431\end_layout
2432
2433\begin_layout Standard
2434I když zpravidla pracujeme s diskrétními systémy, zejména z důvodů výpočtů
2435 na počítači, teorie optimálního řízení spojitých systémů může být velmi
2436 užitečná.
2437 Poskytuje totiž důležité principy, které jsou velmi často používány při
2438 návrhu algoritmů pro duální řízení.
2439 Konkrétně se jedná o Hamilton-Jacobi-Bellmanovu rovnost a Pontryaginův
2440 princip minima.
2441\end_layout
2442
2443\begin_layout Subsubsection
2444Spojitý systém
2445\end_layout
2446
2447\begin_layout Standard
2448Dynamický systém se spojitým časem uvažujeme dle
2449\begin_inset CommandInset citation
2450LatexCommand cite
2451key "BertsekasDPOC"
2452
2453\end_inset
2454
2455 ve tvaru
2456\begin_inset Formula \begin{eqnarray}
2457\dot{x}(t) & = & f(x(t),u(t)),\;0\leq t\leq T,\label{eq:spojsystemHJBP}\\
2458x(0) & = & x_{0},\nonumber \end{eqnarray}
2459
2460\end_inset
2461
2462kde
2463\begin_inset Formula $x(t)$
2464\end_inset
2465
2466 je stavový vektor v čase
2467\begin_inset Formula $t$
2468\end_inset
2469
2470,
2471\begin_inset Formula $\dot{x}(t)$
2472\end_inset
2473
2474 je vektor prvních derivací podle času v čase
2475\begin_inset Formula $t$
2476\end_inset
2477
2478,
2479\begin_inset Formula $u(t)\in U$
2480\end_inset
2481
2482 je řídící vektor v čase
2483\begin_inset Formula $t$
2484\end_inset
2485
2486,
2487\begin_inset Formula $U$
2488\end_inset
2489
2490 je množina omezení řízení a
2491\begin_inset Formula $T$
2492\end_inset
2493
2494 je časový horizont.
2495 O funkci
2496\begin_inset Formula $f$
2497\end_inset
2498
2499 předpokládáme, že je spojitě diferencovatelná vzhledem k
2500\begin_inset Formula $x$
2501\end_inset
2502
2503 a spojitá vzhledem k
2504\begin_inset Formula $u$
2505\end_inset
2506
2507.
2508 Rovnice
2509\begin_inset CommandInset ref
2510LatexCommand ref
2511reference "eq:spojsystemHJBP"
2512
2513\end_inset
2514
2515 představuje soustavu
2516\begin_inset Formula $n$
2517\end_inset
2518
2519 diferenciálních rovnic prvního řádu.
2520 Naším cílem je nalézení přípustné řídící trajektorie
2521\begin_inset Formula $\left\{ u(t)\mid t\in[0,T]\right\} $
2522\end_inset
2523
2524 a odpovídající stavové trajektorie
2525\family roman
2526\series medium
2527\shape up
2528\size normal
2529\emph off
2530\bar no
2531\noun off
2532\color none
2533
2534\begin_inset Formula $\left\{ x(t)\mid t\in[0,T]\right\} $
2535\end_inset
2536
2537 takové, že minimalizují ztrátovou funkci ve tvaru
2538\begin_inset Formula \[
2539h(x(T))+\int_{0}^{T}g\left(x(t),u(t)\right)dt,\]
2540
2541\end_inset
2542
2543o funkcích
2544\begin_inset Formula $g$
2545\end_inset
2546
2547 a
2548\begin_inset Formula $h$
2549\end_inset
2550
2551 předpokládáme, že jsou spojitě diferencovatelné vzhledem k
2552\begin_inset Formula $x$
2553\end_inset
2554
2555 a
2556\begin_inset Formula $g$
2557\end_inset
2558
2559 je spojitá vzhledem k
2560\begin_inset Formula $u$
2561\end_inset
2562
2563.
2564\end_layout
2565
2566\begin_layout Subsubsection
2567Hamilton-Jacobi-Bellmanova rovnost
2568\end_layout
2569
2570\begin_layout Standard
2571Hamilton-Jacobi-Bellmanova rovnost je parciální diferenciální rovnicí, která
2572 je splněna optimální funkcí nákladů na pokračování
2573\begin_inset Formula $J^{*}(t,x)$
2574\end_inset
2575
2576.
2577 Tato rovnice je analogií algoritmu dynamického programování ve spojitém
2578 čase.
2579 Rovnici lze psát podle
2580\begin_inset CommandInset citation
2581LatexCommand cite
2582key "BertsekasDPOC"
2583
2584\end_inset
2585
2586 ve tvaru
2587\begin_inset Formula \begin{eqnarray}
25880 & = & \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}\\
2589J^{*}(T,x) & = & h(x).\nonumber \end{eqnarray}
2590
2591\end_inset
2592
2593Jedná se tedy o parciální diferenciální rovnici s okrajovou podmínkou.
2594 O funkci
2595\begin_inset Formula $J^{*}(t,x)$
2596\end_inset
2597
2598 jsme předpokládali diferencovatelnost, apriorně ale její diferencovatelnost
2599 neznáme a tedy nevíme, jestli
2600\begin_inset Formula $J^{*}(t,x)$
2601\end_inset
2602
2603 řeší rovnici
2604\begin_inset CommandInset ref
2605LatexCommand ref
2606reference "eq:hjbrovnostJ"
2607
2608\end_inset
2609
2610.
2611 Můžeme však použít následující tvrzení, jehož formulaci i důkaz lze nalézt
2612 v
2613\begin_inset CommandInset citation
2614LatexCommand cite
2615key "BertsekasDPOC"
2616
2617\end_inset
2618
2619:
2620\end_layout
2621
2622\begin_layout Description
2623Věta
2624\begin_inset space \space{}
2625\end_inset
2626
2627o
2628\begin_inset space \space{}
2629\end_inset
2630
2631dostatečnosti:
2632\begin_inset ERT
2633status open
2634
2635\begin_layout Plain Layout
2636
2637~
2638\end_layout
2639
2640\end_inset
2641
2642
2643\begin_inset Newline newline
2644\end_inset
2645
2646Nechť je funkce
2647\begin_inset Formula $V(t,x)$
2648\end_inset
2649
2650 spojitě diferencovatelná vzhledem k
2651\begin_inset Formula $t$
2652\end_inset
2653
2654 a
2655\begin_inset Formula $x$
2656\end_inset
2657
2658 a nechť je řešením Hamilton-Jacobi-Bellmanovy rovnosti:
2659\begin_inset Formula \begin{eqnarray}
26600 & = & \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}\\
2661V(T,x) & = & h(x),\quad\forall x.\nonumber \end{eqnarray}
2662
2663\end_inset
2664
2665Předpokládejme dále, že
2666\begin_inset Formula $\mu^{*}(t,x)$
2667\end_inset
2668
2669 dosáhne minima v rovnosti
2670\begin_inset CommandInset ref
2671LatexCommand ref
2672reference "eq:hjbrovnostV"
2673
2674\end_inset
2675
2676 pro všechna
2677\begin_inset Formula $t$
2678\end_inset
2679
2680 a
2681\begin_inset Formula $x$
2682\end_inset
2683
2684.
2685 Nechť
2686\family roman
2687\series medium
2688\shape up
2689\size normal
2690\emph off
2691\bar no
2692\noun off
2693\color none
2694 
2695\begin_inset Formula $\left\{ x^{*}(t)\mid t\in[0,T]\right\} $
2696\end_inset
2697
2698 označuje stavovou trajektorii získanou při dané počáteční podmínce
2699\begin_inset Formula $x^{*}(0)=x_{0}$
2700\end_inset
2701
2702 a řídící trajektorii
2703\family default
2704\series default
2705\shape default
2706\size default
2707\emph default
2708\bar default
2709\noun default
2710\color inherit
2711
2712\begin_inset Formula $u^{*}(t)=\mu^{*}(t,x^{*}(t)),\; t\in[0,T]$
2713\end_inset
2714
2715.
2716 Pak
2717\begin_inset Formula $V$
2718\end_inset
2719
2720 je rovno optimální funkci nákladů na pokračování, tedy
2721\begin_inset Formula \[
2722V(t,x)=J^{*}(t,x),\quad\forall t,x.\]
2723
2724\end_inset
2725
2726Navíc řídící trajektorie
2727\begin_inset Formula $\left\{ u^{*}(t)\mid t\in[0,T]\right\} $
2728\end_inset
2729
2730 je optimální.
2731 
2732\end_layout
2733
2734\begin_layout Subsubsection
2735Pontryaginův princip minima
2736\end_layout
2737
2738\begin_layout Standard
2739Pontryaginův princip minima je důležitým teorémem optimálního řízení.
2740 Poskytuje nutnou (ne však postačující) podmínku pro optimální trajektorii,
2741 je úzce spřízněn s Hamilton-Jacobi-Bellmanovou rovností a lze ho z ní podle
2742 
2743\begin_inset CommandInset citation
2744LatexCommand cite
2745key "BertsekasDPOC"
2746
2747\end_inset
2748
2749 také odvodit.
2750 Princip minima je výhodné formulovat pomocí Hamiltoniánu.
2751 Označme
2752\begin_inset Formula $p$
2753\end_inset
2754
2755 gradient optimální funkce nákladů na pokračování pro optimální stavovou
2756 trajektorii
2757\begin_inset Formula $p(t)=\nabla_{x}J^{*}\left(t,x^{*}(t)\right)$
2758\end_inset
2759
2760 a definujme Hamiltonián jako funkci zobrazující trojice vektorů
2761\begin_inset Formula $(x,u,p)$
2762\end_inset
2763
2764 do reálných čísel
2765\begin_inset Formula \[
2766H(x,u,p)=g(x,u)+p^{T}f(x,u).\]
2767
2768\end_inset
2769
2770Rovnice pro systém pak může být zapsána v kompaktním tvaru
2771\begin_inset Formula \[
2772\dot{x}^{*}(t)=\nabla_{p}H\left(x^{*}(t),u^{*}(t),p(t)\right).\]
2773
2774\end_inset
2775
2776Obdobně může být zapsána pro
2777\begin_inset Formula $p$
2778\end_inset
2779
2780 takzvaná
2781\emph on
2782adjungovaná rovnice
2783\emph default
2784
2785\begin_inset Formula \[
2786\dot{p}(t)=-\nabla_{x}H\left(x^{*}(t),u^{*}(t),p(t)\right).\]
2787
2788\end_inset
2789
2790Pontryaginův princip minima je podle
2791\begin_inset CommandInset citation
2792LatexCommand cite
2793key "BertsekasDPOC"
2794
2795\end_inset
2796
2797 formulován následovně:
2798\end_layout
2799
2800\begin_layout Description
2801Princip
2802\begin_inset space \space{}
2803\end_inset
2804
2805minima:
2806\begin_inset ERT
2807status open
2808
2809\begin_layout Plain Layout
2810
2811~
2812\end_layout
2813
2814\end_inset
2815
2816
2817\begin_inset Newline newline
2818\end_inset
2819
2820Nechť
2821\family roman
2822\series medium
2823\shape up
2824\size normal
2825\emph off
2826\bar no
2827\noun off
2828\color none
2829
2830\begin_inset Formula $\left\{ u^{*}(t)\mid t\in[0,T]\right\} $
2831\end_inset
2832
2833 je optimální řídící trajektorie a nechť
2834\begin_inset Formula $\left\{ x^{*}(t)\mid t\in[0,T]\right\} $
2835\end_inset
2836
2837 je odpovídající stavová trajektorie, to jest
2838\begin_inset Formula \[
2839\dot{x}^{*}(t)=f\left(x^{*}(t),u^{*}(t)\right),\quad x^{*}(0)=x_{0}.\]
2840
2841\end_inset
2842
2843Nechť dále
2844\begin_inset Formula $p(t)$
2845\end_inset
2846
2847 je řešením adjungované rovnice
2848\begin_inset Formula \[
2849\dot{p}(t)=-\nabla_{x}H\left(x^{*}(t),u^{*}(t),p(t)\right),\]
2850
2851\end_inset
2852
2853s okrajovou podmínkou
2854\begin_inset Formula $p(T)=\nabla h\left(x^{*}(T)\right)$
2855\end_inset
2856
2857.
2858 Pak pro všechna
2859\begin_inset Formula $t\in[0,T]$
2860\end_inset
2861
2862
2863\begin_inset Formula \[
2864u^{*}(t)=\arg\min_{u\in U}H\left(x^{*}(t),u,p(t)\right).\]
2865
2866\end_inset
2867
2868Navíc existuje konstanta
2869\begin_inset Formula $C$
2870\end_inset
2871
2872 taková, že
2873\begin_inset Formula \[
2874H\left(x^{*}(t),u^{*}(t),p(t)\right)=C,\quad\forall t\in[0,T].\]
2875
2876\end_inset
2877
2878
2879\end_layout
2880
2881\begin_layout Section
2882Algoritmy pro duální řízení
2883\end_layout
2884
2885\begin_layout Standard
2886Metody pro nalezení optimálního řízení lze obecně rozdělit do dvou základních
2887 kategorií na
2888\emph on
2889globální
2890\emph default
2891a
2892\emph on
2893lokální
2894\emph default
2895viz
2896\begin_inset CommandInset citation
2897LatexCommand cite
2898key "TodorovWeiweiILQG,TodorovTassaILDP"
2899
2900\end_inset
2901
2902
2903\emph on
2904.
2905
2906\emph default
2907 
2908\end_layout
2909
2910\begin_layout Standard
2911Globální metody, používané zejména v posilovaném učení
2912\color black
2913(
2914\begin_inset Quotes gld
2915\end_inset
2916
2917Reinforcement Learning
2918\color inherit
2919
2920\begin_inset Quotes grd
2921\end_inset
2922
2923), jsou založeny na na
2924\color black
2925Bellmanově principu optimality, Hamilton-Jacobi-Bellmanově rovnosti
2926\color inherit
2927 a dynamickém programování.
2928 Tyto algoritmy hledají globálně optimální zpětnovazební řízení pro všechny
2929 stavy obecného stochastického systému a proto podléhají nebezpečí
2930\begin_inset Quotes gld
2931\end_inset
2932
2933problému dimenzionality
2934\begin_inset Quotes grd
2935\end_inset
2936
2937 nebo také rozměrnosti (z anglického
2938\begin_inset Quotes eld
2939\end_inset
2940
2941curse of dimensionality
2942\begin_inset Quotes erd
2943\end_inset
2944
2945 doslovně -
2946\emph on
2947kletba rozměrnosti
2948\emph default
2949).
2950 Jednoduše můžeme tento problém chápat tak, že při numerickém řešení úlohy
2951 jsou počítačem procházeny všechny body diskretizovaného stavového a řídícího
2952 prostoru jejichž počet s rostoucím počtem dimenzí extrémně (exponenciálně)
2953 rychle roste.
2954 Výpočet pro mnohadimenzionální úlohy se pak stává co do paměťových nároků,
2955 ale hlavně z hlediska výpočetního času prakticky nerealizovatelným.
2956\end_layout
2957
2958\begin_layout Standard
2959Lokální metody, častěji studované v teorii řízení, souvisí s
2960\color black
2961Pontryaginovým principem maxima
2962\color inherit
2963.
2964 Jejich podstatou je nalezení řízení, které je pouze lokálně optimální v
2965 okolí nějaké
2966\begin_inset Quotes gld
2967\end_inset
2968
2969extremalní
2970\begin_inset Quotes grd
2971\end_inset
2972
2973 trajektorie.
2974 Většinou je užito deterministických prostředků jako řešení soustavy obyčejných
2975 diferenciálních rovnic (například střelbou nebo relaxací).
2976 Tento přístup ale vede na přímovazební
2977\color red
2978 
2979\color black
2980řízení
2981\color red
2982 
2983\color inherit
2984a nezle užít pro stochastické úlohy, vyhýbá se ale problému dimenzionality,
2985 což umožňuje řešit i komplexnější problémy.
2986\end_layout
2987
2988\begin_layout Standard
2989V poslední době je snaha vyvíjet nové algoritmy, které kombinují výhody
2990 obou výše zmíněných přístupů.
2991 Příkladem může být
2992\emph on
2993iterativní LQG
2994\emph default
2995 (
2996\emph on
2997iLQG
2998\emph default
2999).
3000 Tento algoritmus je založen na linearizaci nelineární úlohy v každém bodě
3001 reprezentativní trajektorie a následném řešení modifikované Riccatiho rovnice.
3002 Výhodou
3003\emph on
3004iLQG
3005\emph default
3006 je, že jejím výsledkem je zpětnovazební řízení.
3007 Metoda je ale stále deterministická a nedokáže se vypořádat s nekvadratickými
3008 ztrátovými funkcemi a požadavky na omezené řízení.
3009 
3010\end_layout
3011
3012\begin_layout Standard
3013S výše zmíněnými problémy se snaží vypořádat modifikovaná
3014\emph on
3015iLQG
3016\emph default
3017, která bude použita pro srovnání s ústřední metodou této práce
3018\emph on
3019iLDP
3020\emph default
3021.
3022 Dále pak do kategorie smíšených metod spadá právě i metoda
3023\emph on
3024iLDP
3025\emph default
3026, která bude podrobně popsána v následující kapitole.
3027 
3028\end_layout
3029
3030\begin_layout Chapter
3031Algoritmy pro návrh řízení
3032\begin_inset CommandInset label
3033LatexCommand label
3034name "cha:Algoritmy-pro-návrh"
3035
3036\end_inset
3037
3038
3039\end_layout
3040
3041\begin_layout Section
3042Výběr algoritmů pro srovnání
3043\end_layout
3044
3045\begin_layout Subsection
3046Princip separace
3047\end_layout
3048
3049\begin_layout Standard
3050
3051\emph on
3052Princip separace
3053\emph default
3054 nebo také
3055\emph on
3056separační teorém pro lineární systémy s kvadratickou ztrátovou funkcí
3057\emph default
3058 zaujímá důležité místo v moderní teorii řízení.
3059 Intuitivně je velmi jednoduchý.
3060 Podle
3061\begin_inset CommandInset citation
3062LatexCommand cite
3063key "BertsekasDPOC"
3064
3065\end_inset
3066
3067 je formulován následovně:
3068\end_layout
3069
3070\begin_layout Standard
3071Optimální řízení pro lineární systém může být rozděleno do dvou částí:
3072\end_layout
3073
3074\begin_layout Enumerate
3075
3076\emph on
3077pozorovatel
3078\emph default
3079 (estimátor), který využívá měřená data k odhadu stavu systému,
3080\end_layout
3081
3082\begin_layout Enumerate
3083
3084\emph on
3085regulátor
3086\emph default
3087 (akurátor), který generuje ze stavu, respektive jeho odhadu, řízení pro
3088 systém.
3089\end_layout
3090
3091\begin_layout Standard
3092Navíc část optimálního řízení označená jako
3093\emph on
3094pozorovatel
3095\emph default
3096 je optimálním řešením problému určování (estimace) stavu nezávisle na uvažování
3097 řízení a část označená jako
3098\emph on
3099regulátor
3100\emph default
3101je optimální řešení řídícího problému za předpokladu úplné stavové informace.
3102 Každá část tedy může být navrhována nezávisle na sobě jako optimální řešení
3103 příslušných problémů estimace a regulace.
3104\end_layout
3105
3106\begin_layout Subsection
3107LQG
3108\begin_inset CommandInset label
3109LatexCommand label
3110name "sub:LQGkp1"
3111
3112\end_inset
3113
3114
3115\end_layout
3116
3117\begin_layout Standard
3118Řízení
3119\emph on
3120LQG
3121\emph default
3122 (z anglického
3123\begin_inset Quotes gld
3124\end_inset
3125
3126Linear-Quadratic-Gaussian
3127\begin_inset Quotes grd
3128\end_inset
3129
3130) je primárně navrženo pro řízení lineárních systémů s kvadratickou ztrátovou
3131 funkci a Gaussovským šumem.
3132 Existují však různé modifikace i pro nelineární systémy.
3133 Algoritmus
3134\emph on
3135LQG
3136\emph default
3137 je založen právě na
3138\emph on
3139principu separace
3140\emph default
3141kdy pozorovatel a regulátor jsou navrhovány zvlášť.
3142 Optimálním pozorovatelem je zde Kalmanův filtr a lze jej užít například
3143 ve tvaru, jak byl uveden v části
3144\begin_inset CommandInset ref
3145LatexCommand ref
3146reference "sub:Kalmanův-filtr"
3147
3148\end_inset
3149
3150.
3151 Optimálním regulátorem pak řízení označované jako LQ regulátor, které může
3152 být formulováno podle
3153\begin_inset CommandInset citation
3154LatexCommand cite
3155key "BertsekasDPOC"
3156
3157\end_inset
3158
3159 následovně:
3160\end_layout
3161
3162\begin_layout Paragraph
3163LQ regulátor
3164\end_layout
3165
3166\begin_layout Standard
3167pro lineární systém
3168\begin_inset Formula \[
3169x_{k+1}=A_{k}x_{k}+B_{k}u_{k}+w_{k},\quad k=0,1,\ldots,N-1,\]
3170
3171\end_inset
3172
3173s kvadratickou ztrátovou funkcí
3174\begin_inset Formula \[
3175\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\} ,\]
3176
3177\end_inset
3178
3179při uvažování neúplné stavové informace je optimálním řízením v každém čase
3180 rovno
3181\begin_inset Formula \[
3182\mu_{k}^{*}(I_{k})=L_{k}\mathrm{E}\left\{ x_{k}\mid I_{k}\right\} ,\]
3183
3184\end_inset
3185
3186kde matice
3187\begin_inset Formula $L_{k}$
3188\end_inset
3189
3190 je dána rovností
3191\begin_inset Formula \[
3192L_{k}=-\left(R_{k}+B_{k}^{T}K_{k+1}B_{k}\right)^{-1}B_{k}^{T}K_{k+1}A_{k},\]
3193
3194\end_inset
3195
3196přičemž matice
3197\begin_inset Formula $K_{k}$
3198\end_inset
3199
3200 získáme rekurzivně z Riccatiho rovnice
3201\begin_inset Formula \begin{eqnarray*}
3202K_{N} & = & Q_{N},\\
3203K_{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*}
3204
3205\end_inset
3206
3207
3208\end_layout
3209
3210\begin_layout Subsection
3211Zobecněné iterativní LQG řízení
3212\end_layout
3213
3214\begin_layout Standard
3215V článku
3216\begin_inset CommandInset citation
3217LatexCommand cite
3218key "TodorovWeiweiILQG"
3219
3220\end_inset
3221
3222 je popsán algoritmus
3223\emph on
3224zobecněného iterativního LQG
3225\emph default
3226řízení (
3227\emph on
3228iLQG
3229\emph default
3230) pro účely nalezení lokálního zpětnovazebního řízení nelineárních stochastickýc
3231h systémů s kvadratickou ztrátou, ale navíc lze požadovat i omezené vstupy.
3232 Obecně zahrnutí požadavku na omezené vstupy do ztrátové funkce způsobí
3233 porušení její kvadratičnosti, zmiňovaný algoritmus však řeší problém jinak,
3234 konkrétně následnou korekcí rovnic pro výpočet řízení.
3235 Dále s nelinearitou se algoritmus vypořádává tak, že systém v každém časovém
3236 kroku linearizuje vzhledem k reprezentativní trajektorii.
3237 Linearizovaný systém je pak řešen klasickým přístupem
3238\emph on
3239LQG
3240\emph default
3241, avšak v jeho průběhu je do výpočtů ještě zasahováno.
3242 Jsou prováděny úpravy dílčích výsledků a opravy chyb z důvodu práce s linearozo
3243vaným nelineárním systémem pro zajištění konvergence algoritmu.
3244 Samotný algoritmus je odvozen a detailně popsám v
3245\begin_inset CommandInset citation
3246LatexCommand cite
3247key "TodorovWeiweiILQG"
3248
3249\end_inset
3250
3251 odkud je převzat následující zestručněný popis:
3252\end_layout
3253
3254\begin_layout Paragraph
3255iLQG lokální řízení
3256\end_layout
3257
3258\begin_layout Standard
3259pro obecně nelineární stochastický systém
3260\begin_inset Formula \begin{eqnarray}
3261x_{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}\\
3262x_{(k=0)} & = & x_{0},\nonumber \end{eqnarray}
3263
3264\end_inset
3265
3266se ztrátovou funkcí
3267\begin_inset Formula \[
3268\mathrm{E}\left\{ h(x_{N})+\sum_{k=0}^{N-1}l(k,x_{k},u_{k})\right\} \]
3269
3270\end_inset
3271
3272je lokálně optimální řízení, které konstruujeme iterativně.
3273 Každá iterace začíná s posloupností přímovazebních řízení
3274\begin_inset Formula $\overline{u}_{k}$
3275\end_inset
3276
3277 a odpovídající bezšumovou trajektorií
3278\begin_inset Formula $\overline{x}_{k}$
3279\end_inset
3280
3281 získanou aplikací
3282\begin_inset Formula $\overline{u}_{k}$
3283\end_inset
3284
3285 na systém
3286\begin_inset CommandInset ref
3287LatexCommand ref
3288reference "eq:systemilqgdef"
3289
3290\end_inset
3291
3292 s nulovým šumem.
3293 To je možno provést například pomocí Eulerovy integrace.
3294 Pak linearizujeme systém a kvadratizujeme ztrátu podél trajektorií
3295\begin_inset Formula $\overline{x}_{k}$
3296\end_inset
3297
3298 a
3299\begin_inset Formula $\overline{u}_{k}$
3300\end_inset
3301
3302.
3303 Následně získaný lineární systém s kvadratickou ztrátou vyjádříme v odchylkách
3304 stavových a řídících veličin od bezšumové trajektorie
3305\begin_inset Formula $\delta x_{k}=x_{k}-\overline{x}_{k}$
3306\end_inset
3307
3308 a
3309\begin_inset Formula $\delta u_{k}=u_{k}-\overline{u}_{k}$
3310\end_inset
3311
3312.
3313 Veličiny charakterizující modifikovaný problém získané v každém čase
3314\begin_inset Formula $k$
3315\end_inset
3316
3317 z
3318\begin_inset Formula $(\overline{x}_{k},\overline{u}_{k})$
3319\end_inset
3320
3321 jsou
3322\begin_inset Formula \begin{eqnarray*}
3323A_{k} & = & I+\frac{\partial f}{\partial x}\cdot\Delta k,\quad B_{k}=\frac{\partial f}{\partial u}\cdot\Delta k,\\
3324\mathbf{c}_{i,k} & = & F^{[i]}\cdot\sqrt{\Delta k},\quad C_{i,k}=\frac{\partial F^{[i]}}{\partial u}\cdot\sqrt{\Delta k},\\
3325q_{k} & = & l\cdot\Delta k,\quad\mathbf{q}_{k}=\frac{\partial l}{\partial x}\cdot\Delta k,\\
3326Q_{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,\\
3327\mathbf{r}_{k} & = & \frac{\partial l}{\partial u}\cdot\Delta k,\quad R_{k}=\frac{\partial^{2}l}{\partial u\partial u},\end{eqnarray*}
3328
3329\end_inset
3330
3331kde
3332\begin_inset Formula $F^{[i]}$
3333\end_inset
3334
3335 označuje
3336\begin_inset Formula $i$
3337\end_inset
3338
3339-tý sloupec matice
3340\begin_inset Formula $F$
3341\end_inset
3342
3343 a veličiny
3344\begin_inset Quotes gld
3345\end_inset
3346
3347q
3348\begin_inset Quotes grd
3349\end_inset
3350
3351 se počítají v čase
3352\begin_inset Formula $k=N$
3353\end_inset
3354
3355 z funkce
3356\begin_inset Formula $h$
3357\end_inset
3358
3359 namísto
3360\begin_inset Formula $l$
3361\end_inset
3362
3363.
3364\end_layout
3365
3366\begin_layout Standard
3367Dále zaveďme označení
3368\begin_inset Formula \begin{eqnarray*}
3369\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},\\
3370G_{k} & = & P_{k}+B_{k}^{T}S_{k+1}A_{k},\\
3371H_{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*}
3372
3373\end_inset
3374
3375Zpětnovazební řízení pak hledáme ve tvaru
3376\begin_inset Formula $\delta u_{k}(\delta x)=\mathbf{l}_{k}+L_{k}\delta x$
3377\end_inset
3378
3379, kde
3380\begin_inset Formula $\mathbf{l}_{k}=-H_{k}^{-1}\mathbf{g}_{k}$
3381\end_inset
3382
3383 a
3384\begin_inset Formula $L_{k}=-H_{k}^{-1}G_{k}$
3385\end_inset
3386
3387.
3388 Přičemž parametry
3389\begin_inset Formula $S_{k}$
3390\end_inset
3391
3392 a
3393\begin_inset Formula $\mathbf{s}_{k}$
3394\end_inset
3395
3396 jsou počítány rekurzivně z rovnic
3397\begin_inset Formula \begin{eqnarray}
3398S_{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}\\
3399\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}
3400
3401\end_inset
3402
3403V důsledku linearizace obecně nelineárního systému mohou vyjít některá vlastní
3404 čísla matice
3405\begin_inset Formula $H$
3406\end_inset
3407
3408 nulová nebo záporná.
3409 Řešení tohoto problému spolu s ošetřením požadavku na omezené vstupy
3410\begin_inset Formula $u$
3411\end_inset
3412
3413 je detailně popsáno v
3414\begin_inset CommandInset citation
3415LatexCommand cite
3416key "TodorovWeiweiILQG"
3417
3418\end_inset
3419
3420.
3421 Pokud však nepotřebujeme vyhovět požadavku na nekladná vlastní čísla matice
3422 
3423\begin_inset Formula $H$
3424\end_inset
3425
3426 a omezené vstupy, lze rovnice
3427\begin_inset CommandInset ref
3428LatexCommand ref
3429reference "eq:rovniceSproiLQG"
3430
3431\end_inset
3432
3433 zjednodušit a pokud dále šum nezávisí na řízení (tedy
3434\begin_inset Formula $C_{i,k}=0$
3435\end_inset
3436
3437) rovnice
3438\begin_inset CommandInset ref
3439LatexCommand ref
3440reference "eq:rovniceSproiLQG"
3441
3442\end_inset
3443
3444 se redukuje na Riccatiho rovnici klasického LQ regulátoru.
3445\end_layout
3446
3447\begin_layout Section
3448Algoritmus iterativního lokálního dynamického programování
3449\end_layout
3450
3451\begin_layout Standard
3452Algoritmus
3453\emph on
3454iLDP
3455\emph default
3456 byl vytvořen pro účely nalezení stochastického optimálního řízení v mnohadimenz
3457ionálních stavových a řídících prostorech.
3458 Tento případ je častý zejména při řízení biologických pohybů.
3459 Metoda je popsána autory v článku
3460\begin_inset CommandInset citation
3461LatexCommand cite
3462key "TodorovTassaILDP"
3463
3464\end_inset
3465
3466
3467\emph on
3468 
3469\emph default
3470a z tohoto zdroje je také převzata
3471\emph on
3472.
3473 
3474\end_layout
3475
3476\begin_layout Standard
3477Základní popis algoritmu, tak jak ho autoři podali, je však pouze šablonou
3478 a mnoho detailů a dílčích částí je ponecháno na vyřešení při konkrétní
3479 realizaci.
3480 To se týká hlavně použitých aproximací pro jednotlivé funkce, zejména aproximac
3481e Bellmanovy funkce a aproximace hledaného regulátoru.
3482 Dále, protože algoritmus využívá hledání minima, není v základním popisu
3483 algoritmu vyřešen konkrétní typ minimalizace.
3484 Použitý minimalizační algoritmus se samozřejmě liší podle konkrétního problému,
3485 zejména jedná-li se o minimalizaci omezenou nebo neomezenou.
3486 Ještě je třeba zmínil, že pro algoritmus je nutno zvolit parametr
3487\begin_inset Quotes gld
3488\end_inset
3489
3490velikosti
3491\begin_inset Quotes grd
3492\end_inset
3493
3494 okolí, protože se jedná o lokální metodu.
3495\end_layout
3496
3497\begin_layout Standard
3498\begin_inset VSpace defskip
3499\end_inset
3500
3501
3502\end_layout
3503
3504\begin_layout Subsection
3505Formulace problému
3506\end_layout
3507
3508\begin_layout Standard
3509Naším úkolem je nalézt řízení
3510\begin_inset Formula $u=\pi(t,x)$
3511\end_inset
3512
3513, které minimalizuje očekávanou ztrátu
3514\end_layout
3515
3516\begin_layout Standard
3517\align center
3518\begin_inset Formula \[
3519J(\pi)=E_{\omega}\left(h(x)+\int_{0}^{T}l(x,\pi(t,x))dt\right),\]
3520
3521\end_inset
3522
3523
3524\end_layout
3525
3526\begin_layout Standard
3527obecně pro spojitý systém:
3528\end_layout
3529
3530\begin_layout Standard
3531\begin_inset Formula \begin{eqnarray}
3532d\mathbf{x} & = & f(x,u)dt+F(x,u)d\omega,\nonumber \\
3533x(0) & = & x_{0},\label{eq:systemSpoj}\\
3534t & \in & [0,T],\nonumber \end{eqnarray}
3535
3536\end_inset
3537
3538
3539\end_layout
3540
3541\begin_layout Standard
3542v diskrétním tvaru:
3543\end_layout
3544
3545\begin_layout Standard
3546\begin_inset Formula \begin{eqnarray}
3547x_{k+1}-x_{k} & = & f(x,u)\cdot\Delta k+F(x,u)e_{k},\nonumber \\
3548x_{(k=0)} & = & x_{0},\label{eq:systemDis}\\
3549k & \in & \{0,1,\ldots,N\},\nonumber \\
3550\Delta k & = & \frac{T}{N},\nonumber \end{eqnarray}
3551
3552\end_inset
3553
3554
3555\end_layout
3556
3557\begin_layout Standard
3558kde hledáme řízení
3559\begin_inset Formula $u=\pi(k,x)$
3560\end_inset
3561
3562, které minimalizuje očekávanou ztrátu
3563\end_layout
3564
3565\begin_layout Standard
3566\begin_inset Formula \[
3567J(\pi)=E\left(h(x)+\sum_{k=0}^{N-1}l_{k}(x,\pi(k,x))\cdot\Delta k\right).\]
3568
3569\end_inset
3570
3571
3572\end_layout
3573
3574\begin_layout Subsection
3575Osnova algoritmu
3576\begin_inset CommandInset label
3577LatexCommand label
3578name "sub:iLDP-Osnova-algoritmu"
3579
3580\end_inset
3581
3582
3583\end_layout
3584
3585\begin_layout Standard
3586Algoritmus pracuje iteračně, každá iterace začne s řízením
3587\begin_inset Formula $\pi$
3588\end_inset
3589
3590 a vytvoří zlepšení
3591\begin_inset Formula $\pi'$
3592\end_inset
3593
3594.
3595 Přičemž prvotní řešení
3596\begin_inset Formula $\pi_{0}$
3597\end_inset
3598
3599 musíme algoritmu dodat jako apriorní informaci.
3600 Pro zajištění globální konvergence je možno nové řešení hledat jako konvexní
3601 kombinaci starého a algoritmem nalezeného řešení
3602\begin_inset Formula \[
3603\pi^{nové}=\alpha\pi'+(1-\alpha)\pi;\;0<\alpha\leq1;\; J(\pi^{nové})<J(\pi).\]
3604
3605\end_inset
3606
3607
3608\end_layout
3609
3610\begin_layout Standard
3611V každé iteraci proběhne nejprve přípravná fáze, kdy z řízení
3612\begin_inset Formula $\pi(k,x)$
3613\end_inset
3614
3615 generuje průměrnou trajektorii
3616\begin_inset Formula $\bar{x}(k)$
3617\end_inset
3618
3619 řešením rovnice
3620\begin_inset CommandInset ref
3621LatexCommand ref
3622reference "eq:systemSpoj"
3623
3624\end_inset
3625
3626 respektive
3627\begin_inset CommandInset ref
3628LatexCommand ref
3629reference "eq:systemDis"
3630
3631\end_inset
3632
3633
3634\emph on
3635.
3636 
3637\emph default
3638Následně se počítá aproximace
3639\begin_inset Formula $\tilde{V}(k,x)$
3640\end_inset
3641
3642 Bellmanovy funkce
3643\begin_inset Formula $V(k,x)$
3644\end_inset
3645
3646 v čase odzadu, tj.
3647 od
3648\begin_inset Formula $N$
3649\end_inset
3650
3651 k
3652\begin_inset Formula $1$
3653\end_inset
3654
3655.
3656 Současně počítáme i aproximaci řízení
3657\begin_inset Formula $\pi'(k,x)\ldots\pi'(N-1,x)$
3658\end_inset
3659
3660.
3661 Tedy pro každý čas
3662\begin_inset Formula $k$
3663\end_inset
3664
3665 takový, že
3666\begin_inset Formula $k=N-1\ldots1$
3667\end_inset
3668
3669 jdeme zpět, přičemž pokládáme v koncovém čase
3670\begin_inset Formula $N$
3671\end_inset
3672
3673 hodnotu aproximace Bellmanovy funkce
3674\begin_inset Formula $\tilde{V}(N,x)=h(x)$
3675\end_inset
3676
3677 a provádíme následující čtyři kroky:
3678\end_layout
3679
3680\begin_layout Enumerate
3681Generujeme množinu stavů
3682\begin_inset Formula $\left\{ x^{(n)}\right\} _{n=1\ldots M}$
3683\end_inset
3684
3685 shromážděných kolem průměrného stavu
3686\begin_inset Formula $\bar{x}(k)$
3687\end_inset
3688
3689.
3690\end_layout
3691
3692\begin_layout Enumerate
3693Pro každé
3694\begin_inset Formula $x^{(n)}$
3695\end_inset
3696
3697 vypočítáme optimální řízení
3698\begin_inset Formula $u^{(n)}$
3699\end_inset
3700
3701 minimalizací Hamiltoniánu
3702\begin_inset Formula \[
3703H(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)\]
3704
3705\end_inset
3706
3707s inicializačním bodem
3708\begin_inset Formula $\pi(k,x^{(n)})$
3709\end_inset
3710
3711.
3712 Kde
3713\begin_inset Formula $\Sigma(x,u)=F(x,u)F(x,u)^{T}$
3714\end_inset
3715
3716.
3717 Tedy optimální řízení v čase
3718\begin_inset Formula $k$
3719\end_inset
3720
3721 pro stav
3722\begin_inset Formula $n$
3723\end_inset
3724
3725 hledáme jako
3726\begin_inset Formula \[
3727u^{(n)}=\arg\min_{u}H(k,x,u).\]
3728
3729\end_inset
3730
3731
3732\end_layout
3733
3734\begin_layout Enumerate
3735Pro každé
3736\begin_inset Formula $x(k)$
3737\end_inset
3738
3739 aproximovat
3740\begin_inset Formula $v^{(n)}=V(k,x^{(n)})$
3741\end_inset
3742
3743 použitím Hamolton-Jacobi-Bellmanovi rovnosti
3744\begin_inset Formula \[
3745V(k,x^{(n)})\approx\Delta k\cdot H(k,x^{(n)},u^{(n)})+\tilde{V}(k+1,x^{(n)}).\]
3746
3747\end_inset
3748
3749
3750\end_layout
3751
3752\begin_layout Enumerate
3753Vypočítat novou aproximaci funkce
3754\begin_inset Formula $\tilde{V}(k,x)$
3755\end_inset
3756
3757 z množiny bodů
3758\begin_inset Formula $\left\{ x^{(n)},v^{(n)}\right\} $
3759\end_inset
3760
3761 a aproximaci řízení
3762\begin_inset Formula $\pi'(k,x^{(n)})$
3763\end_inset
3764
3765 definované pro všechna
3766\begin_inset Formula $x$
3767\end_inset
3768
3769 jako z množiny bodů
3770\begin_inset Formula $\left\{ x^{(n)},u^{(n)}\right\} $
3771\end_inset
3772
3773.
3774\end_layout
3775
3776\begin_layout Subsection
3777Detaily implementace
3778\end_layout
3779
3780\begin_layout Standard
3781Uvedený obecný popis algoritmu může být aplikován mnoha způsoby v závislosti
3782 na konkrétních volbách v každém z kroků algoritmu.
3783 Jedná se zejména o následující případy:
3784\end_layout
3785
3786\begin_layout Description
3787Volba
3788\begin_inset space ~
3789\end_inset
3790
3791okolí
3792\begin_inset space ~
3793\end_inset
3794
3795v
3796\begin_inset space ~
3797\end_inset
3798
3799
3800\emph on
3801bodě
3802\begin_inset space ~
3803\end_inset
3804
38051.
3806
3807\emph default
3808 
3809\emph on
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\emph default
3823
3824\begin_inset Newline newline
3825\end_inset
3826
3827Zde se projevuje lokálnost metody.
3828 Množina stavů
3829\begin_inset Formula $\left\{ x^{(n)}\right\} $
3830\end_inset
3831
3832 je vybrána z okolí průměrného stavu
3833\begin_inset Formula $\bar{x}(k)$
3834\end_inset
3835
3836.
3837 Toto okolí a způsob výběru množiny je třeba konkrétně specifikovat.
3838 Pro účely implementace algoritmu bylo okolí specifikováno parametrem
3839\begin_inset Formula $\rho^{2}$
3840\end_inset
3841
3842.
3843 Množina stavů
3844\begin_inset Formula $\left\{ x^{(n)}\right\} $
3845\end_inset
3846
3847 pak byla generována náhodně jako náhodná veličina s normálním rozdělením
3848 se střední hodnotou rovnou průměrnému stavu
3849\begin_inset Formula $\bar{x}(k)$
3850\end_inset
3851
3852 a rozptylem specifikovaným parametrem
3853\begin_inset Formula $\rho^{2}$
3854\end_inset
3855
3856.
3857\begin_inset Newline newline
3858\end_inset
3859
3860Počet vzorků
3861\begin_inset Formula $M$
3862\end_inset
3863
3864 je nutno zvolit při implementaci algoritmu.
3865 Obecně je nejlepší volit maximální možné číslo, ovšem s rostoucím počtem
3866 vzorků rostou i paměťové nároky a výpočetní čas algoritmu.
3867\end_layout
3868
3869\begin_layout Description
3870Minimalizace
3871\begin_inset space ~
3872\end_inset
3873
3874v
3875\begin_inset space ~
3876\end_inset
3877
3878
3879\emph on
3880bodě
3881\begin_inset space ~
3882\end_inset
3883
38842.
3885
3886\emph default
3887 
3888\begin_inset ERT
3889status open
3890
3891\begin_layout Plain Layout
3892
3893~
3894\end_layout
3895
3896\end_inset
3897
3898
3899\begin_inset Newline newline
3900\end_inset
3901
3902Pro minimalizaci lze použít například minimalizační funkce programu
3903\emph on
3904Matlab
3905\emph default
3906z balíku
3907\emph on
3908 Optimization Toolbox
3909\emph default
3910, konkrétně se jedná o funkce
3911\family typewriter
3912fminunc
3913\family default
3914 respektive
3915\family typewriter
3916fmincon
3917\family default
3918 pro neomezenou respektive omezenou minimalizaci.
3919 V případě, kdy je možno spočítat minimalizaci analyticky, jedná se samozřejmě
3920 o nejlepší způsob.
3921\end_layout
3922
3923\begin_layout Description
3924Použití
3925\begin_inset space ~
3926\end_inset
3927
3928aproximací
3929\begin_inset space ~
3930\end_inset
3931
3932v
3933\emph on
3934
3935\begin_inset space ~
3936\end_inset
3937
3938bodě
3939\begin_inset space ~
3940\end_inset
3941
39424.
3943
3944\emph default
3945 
3946\begin_inset ERT
3947status open
3948
3949\begin_layout Plain Layout
3950
3951~
3952\end_layout
3953
3954\end_inset
3955
3956
3957\begin_inset Newline newline
3958\end_inset
3959
3960Aproximace je třeba zvolit ještě před zahájením výpočtu algoritmu, avšak
3961 právě v
3962\emph on
3963bodě 4.
3964
3965\emph default
3966 je třeba je vypočítat z množiny párů hodnot.
3967 Konkrétně se jedná o aproximaci Bellmanovy funkce
3968\begin_inset Formula $\tilde{V}$
3969\end_inset
3970
3971 a aproximaci řízení
3972\begin_inset Formula $\pi$
3973\end_inset
3974
3975.
3976 Volíme aproximace v jednodušším tvaru z důvodu výpočetní náročnosti, protože
3977 jsou počítány opakovaně.
3978 Dále je nutno vygenerovat dostatečný počet
3979\begin_inset Formula $M$
3980\end_inset
3981
3982 vzorků
3983\begin_inset Formula $\left\{ x^{(n)}\right\} $
3984\end_inset
3985
3986 v
3987\emph on
3988bodě 1.
3989 
3990\emph default
3991abychom měli dostatek dat pro určení koeficientů aproximací.
3992 I když nám volnost ve volbě aproximací přináší relativně velkou svobodu
3993 při návrhu algoritmu
3994\emph on
3995iLDP
3996\emph default
3997, jedná se současně i o největší slabinu, protože autoři explicitně neuvadějí
3998 jaké aproximace volit.
3999 Následně, při implementaci algoritmu pro systém s větším počtem dimenzí,
4000 může být Bellmanova funkce velmi složitá a právě její vhodnou aproximaci
4001 se nemusí podařit nalézt.
4002\end_layout
4003
4004\begin_layout Subsection
4005Konkrétní použité aproximace
4006\begin_inset CommandInset label
4007LatexCommand label
4008name "sub:Konkrétní-použité-aproximace-iLDP"
4009
4010\end_inset
4011
4012
4013\end_layout
4014
4015\begin_layout Standard
4016Výpočet hodnot a aproximace
4017\begin_inset Formula $\tilde{V}\;(\tilde{V}_{x},\tilde{V}_{xx})$
4018\end_inset
4019
4020 je opakovaný.
4021 Je tedy třeba vysoké optimalizace, proto je použita lineární aproximace
4022 ve tvaru lineární kombinace dvakrát diferencovatelných základních funkcí
4023 
4024\begin_inset Formula $\phi(x)\in\mathbf{R}^{P}$
4025\end_inset
4026
4027 kde
4028\begin_inset Formula $P<N$
4029\end_inset
4030
4031.
4032 Jako základní funkce mohou být voleny například funkce
4033\begin_inset Formula $1,\: x_{i},\: x_{i}x_{j},\: x_{i}^{2}x_{j}$
4034\end_inset
4035
4036.
4037 Aproximace je volena jako časově proměnná, kdy
4038\begin_inset Formula $\tilde{V}(k,x)=\phi(x-\bar{x}(k))^{T}\mathbf{w}(k)$
4039\end_inset
4040
4041, kde
4042\begin_inset Formula $\mathbf{w}(k)$
4043\end_inset
4044
4045 je parametrický vektor závislý na čase
4046\begin_inset Formula $k$
4047\end_inset
4048
4049.
4050 
4051\end_layout
4052
4053\begin_layout Standard
4054Označme
4055\begin_inset Formula $\tilde{V}_{x}=\phi_{x}^{T}\mathbf{w}$
4056\end_inset
4057
4058 a
4059\begin_inset Formula $\tilde{V}_{xx}=\phi_{xx}^{T}\mathbf{w}$
4060\end_inset
4061
4062 první a druhou derivaci aproximace Bellmanovy funkce podle proměnné
4063\begin_inset Formula $x$
4064\end_inset
4065
4066 respektive
4067\emph on
4068vektor
4069\emph default
4070a
4071\emph on
4072matici
4073\emph default
4074 parciálních derivací podle složek vektoru
4075\begin_inset Formula $x$
4076\end_inset
4077
4078.
4079 Parametry aproximace pro jednotlivé časy
4080\begin_inset Formula $\mathbf{w}$
4081\end_inset
4082
4083 se určí lineární regresí.
4084 Pro
4085\begin_inset Formula $\mathbf{v}=\left[v^{(1)}\ldots v^{(M)}\right]$
4086\end_inset
4087
4088 vektor cílových hodnot a matici
4089\begin_inset Formula $\mathbf{\Phi}=\left[\phi(x^{(1)}-\bar{x}(k))\ldots\phi(x^{(M)}-\bar{x}(k))\right]$
4090\end_inset
4091
4092 je minimální kvadratická odchylka
4093\begin_inset Formula $\parallel\mathbf{v}-\mathbf{\Phi}^{T}\mathbf{w}\parallel^{2}$
4094\end_inset
4095
4096 pro volbu parametru
4097\begin_inset Formula $\mathbf{w}=\left(\mathbf{\Phi\Phi}^{T}\right)^{-1}\mathbf{\Phi v}$
4098\end_inset
4099
4100.
4101 
4102\end_layout
4103
4104\begin_layout Standard
4105Protože je průměrná trajektorie
4106\begin_inset Formula $\bar{x}(k)$
4107\end_inset
4108
4109 konstantní v iteraci algoritmu, je z důvodu urychlení výpočtu aproximace
4110 vycentrována v tomto bodě.
4111 Množina
4112\begin_inset Formula $\left\{ x^{(n)}\right\} $
4113\end_inset
4114
4115 je časově proměnná, abychom nemuseli v každém kroku počítat
4116\begin_inset Formula $\left(\mathbf{\Phi\Phi}^{T}\right)^{-1}\mathbf{\Phi}$
4117\end_inset
4118
4119, položíme
4120\begin_inset Formula $x^{(n)}=\bar{x}(k)+\varepsilon^{(n)}$
4121\end_inset
4122
4123, kde
4124\begin_inset Formula $\left\{ \varepsilon^{(n)}\right\} $
4125\end_inset
4126
4127 je stejná pro všechny časy
4128\begin_inset Formula $k$
4129\end_inset
4130
4131.
4132 Množina
4133\begin_inset Formula $\left\{ x^{(n)}\right\} $
4134\end_inset
4135
4136 se pak jakoby pohybuje podél trajektorie
4137\begin_inset Formula $\bar{x}(k)$
4138\end_inset
4139
4140.
4141 Tedy
4142\begin_inset Formula $\tilde{V}(k,x^{(n)})=\phi(\varepsilon^{(n)})^{T}\mathbf{w}(k)$
4143\end_inset
4144
4145 a
4146\begin_inset Formula $\Phi$
4147\end_inset
4148
4149 je konstantní v nejen čase, ale i v iteracích algoritmu a matici
4150\begin_inset Formula $\left(\mathbf{\Phi\Phi}^{T}\right)^{-1}\mathbf{\Phi}$
4151\end_inset
4152
4153 je možno předpočítat (což by nešlo při závislosti na stavech).
4154\end_layout
4155
4156\begin_layout Subsection
4157Předběžný odhad vlatností algoritmu
4158\begin_inset CommandInset label
4159LatexCommand label
4160name "sub:Předběžný-odhad-vlatností"
4161
4162\end_inset
4163
4164
4165\end_layout
4166
4167\begin_layout Standard
4168V tomto odstavci jsou uvedeny předběžné odhady vlastností algoritmu, jeho
4169 výhody a nevýhody.
4170 Tyto odhady byly učiněny na základě popisu algoritmu, dále podle samotného
4171 hodnocení autorů v článku
4172\begin_inset CommandInset citation
4173LatexCommand cite
4174key "TodorovTassaILDP"
4175
4176\end_inset
4177
4178 a následně i v průběhu implementace metody.
4179 Později budou konfrontovány s pozorováními získaných výsledků a závěry
4180 simulací, aby bylo zřejmé, která očekávání byla naplněna, a která nikoliv.
4181 Tento postup může být velmi užitečný zejména z důvodu posouzení, které
4182 charakteristické vlastnosti algoritmu
4183\emph on
4184iLDP
4185\emph default
4186 jsou patrny pouze při letmém prostudovaní a naopak, pro které je nutno
4187 algoritmus implementovat a otestovat.
4188\end_layout
4189
4190\begin_layout Paragraph
4191Výhody
4192\end_layout
4193
4194\begin_layout Itemize
4195duální metoda (lépe se vypořádá s neznalostí oproti neduálním metodám, například
4196 
4197\emph on
4198LQG
4199\emph default
4200)
4201\end_layout
4202
4203\begin_layout Itemize
4204lepší zvládnutí šumu
4205\end_layout
4206
4207\begin_layout Itemize
4208rychlejší dosažení požadované hodnoty
4209\end_layout
4210
4211\begin_layout Itemize
4212možnost aplikace na mnoharozměrové stavové a řídící prostory
4213\end_layout
4214
4215\begin_layout Itemize
4216univerzálnost (vychází z obecných principů) a svoboda výběru konkrétních
4217 aproximací a minimalizací
4218\end_layout
4219
4220\begin_layout Paragraph
4221Nevýhody
4222\end_layout
4223
4224\begin_layout Itemize
4225vyšší časová náročnost
4226\end_layout
4227
4228\begin_layout Itemize
4229numerické výpočty (minimalizace)
4230\end_layout
4231
4232\begin_layout Itemize
4233nepřesnost v důsledku aproximace klíčových funkcí v algoritmu a problémy
4234 s jejich volbou
4235\end_layout
4236
4237\begin_layout Itemize
4238implementační složitost
4239\end_layout
4240
4241\begin_layout Itemize
4242lokálnost metody a tedy i nalezeného řešení
4243\end_layout
4244
4245\begin_layout Itemize
4246volba okolí (lokální metoda)
4247\end_layout
4248
4249\begin_layout Standard
4250\begin_inset Newpage newpage
4251\end_inset
4252
4253
4254\end_layout
4255
4256\begin_layout Chapter
4257Systémy pro testování
4258\begin_inset CommandInset label
4259LatexCommand label
4260name "cha:Systémy-pro-testování"
4261
4262\end_inset
4263
4264
4265\end_layout
4266
4267\begin_layout Section
4268Jednoduchý systém
4269\begin_inset CommandInset label
4270LatexCommand label
4271name "sec:Jednoduchý-systém-pro-testovani"
4272
4273\end_inset
4274
4275
4276\end_layout
4277
4278\begin_layout Subsection
4279Popis problému
4280\end_layout
4281
4282\begin_layout Standard
4283Tato úloha byla převzata z článku
4284\begin_inset CommandInset citation
4285LatexCommand cite
4286key "ThompsonCluettSIDP"
4287
4288\end_inset
4289
4290.
4291 Sami autoři
4292\begin_inset CommandInset citation
4293LatexCommand cite
4294key "ThompsonCluettSIDP"
4295
4296\end_inset
4297
4298 pak přejali tento problém z
4299\begin_inset CommandInset citation
4300LatexCommand cite
4301key "AstromHelmerssonDCIUG"
4302
4303\end_inset
4304
4305.
4306\end_layout
4307
4308\begin_layout Standard
4309Jedná se o integrátor s neznámým ziskem, tedy lineární časově invariantní
4310 systém s jedním vstupem a jedním výstupem
4311\end_layout
4312
4313\begin_layout Standard
4314\begin_inset Formula \begin{eqnarray}
4315y_{k+1} & = & y_{k}+bu_{k}+\sigma e_{k},\nonumber \\
4316b & \sim & N(\hat{b},P),\label{eq:simplesystem}\\
4317e_{k} & \sim & N(0,1),\nonumber \\
4318\mathrm{cov}(e_{k},b_{k}) & = & 0,\;\forall k.\nonumber \end{eqnarray}
4319
4320\end_inset
4321
4322
4323\end_layout
4324
4325\begin_layout Standard
4326kde
4327\begin_inset Formula $y_{k}$
4328\end_inset
4329
4330 je výstup nebo také stav procesu v čase
4331\begin_inset Formula $k$
4332\end_inset
4333
4334,
4335\begin_inset Formula $u_{k}$
4336\end_inset
4337
4338 je řízení v čase
4339\begin_inset Formula $k$
4340\end_inset
4341
4342.
4343 Varianci šumu
4344\begin_inset Formula $\sigma^{2}$
4345\end_inset
4346
4347 předpokládáme známou, stejně jako počáteční hodnoty systému
4348\begin_inset Formula $y_{0}$
4349\end_inset
4350
4351,
4352\begin_inset Formula $\hat{b}_{0}$
4353\end_inset
4354
4355 a
4356\begin_inset Formula $P_{0}$
4357\end_inset
4358
4359.
4360 Úkolem je nalézt zpětnovazební řízení
4361\begin_inset Formula \[
4362u_{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\]
4363
4364\end_inset
4365
4366 minimalizující očekávanou ztrátu
4367\begin_inset Formula \begin{eqnarray}
4368J_{0} & = & \left\{ \sum_{k=0}^{N-1}g_{k}\right\} ,\nonumber \\
4369g_{k} & = & (y_{k+1}-r_{k+1})^{2},\label{eq:simplesystemctgg}\end{eqnarray}
4370
4371\end_inset
4372
4373
4374\end_layout
4375
4376\begin_layout Standard
4377pro daný časový horizont
4378\begin_inset Formula $N$
4379\end_inset
4380
4381 a referenční signál, tj.
4382 požadovanou hodnotu výstupu, ve formě posloupnosti
4383\begin_inset Formula $\left\{ r_{k}\right\} _{k=1}^{N}$
4384\end_inset
4385
4386.
4387 Diskrétní časový krok
4388\begin_inset Formula $\Delta k$
4389\end_inset
4390
4391 pokládáme roven jedné časové jednotce, tedy
4392\begin_inset Formula $\Delta k=1$
4393\end_inset
4394
4395.
4396\end_layout
4397
4398\begin_layout Subsection
4399Úpravy rovnic
4400\end_layout
4401
4402\begin_layout Standard
4403Při řešení tohoto problému je výhodné podle
4404\begin_inset CommandInset citation
4405LatexCommand cite
4406key "AstromHelmerssonDCIUG"
4407
4408\end_inset
4409
4410 nahlížet na systému jako úlohu s postačující statistikou
4411\begin_inset Formula $H_{k}=[y_{k},\hat{b}_{k},P_{k}].$
4412\end_inset
4413
4414 Kde
4415\begin_inset Formula $y_{k}$
4416\end_inset
4417
4418 reprezentuje stav původní
4419\begin_inset Formula $y_{k}$
4420\end_inset
4421
4422, dále
4423\begin_inset Formula $\hat{b}_{k}$
4424\end_inset
4425
4426 je střední hodnota neznámého parametru
4427\begin_inset Formula $b$
4428\end_inset
4429
4430 a
4431\begin_inset Formula $P_{k}$
4432\end_inset
4433
4434 jeho variance.
4435\end_layout
4436
4437\begin_layout Standard
4438Pak první rovnici v
4439\begin_inset CommandInset ref
4440LatexCommand ref
4441reference "eq:simplesystem"
4442
4443\end_inset
4444
4445 doplníme rovnicemi, ze kterých mohou být rekurzivně napočítány parametry
4446 
4447\begin_inset Formula $\hat{b}_{k}$
4448\end_inset
4449
4450 a
4451\begin_inset Formula $P_{k}$
4452\end_inset
4453
4454
4455\begin_inset Formula \begin{eqnarray}
4456\hat{b}_{k+1} & = & \hat{b}_{k}+K_{k}(y_{k+1}-y_{k}-\hat{b}_{k}u_{k}),\nonumber \\
4457P_{k+1} & = & (1-K_{k}u_{k})P_{k},\label{eq:simplesystemexbp}\\
4458K_{k} & = & \frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}}.\nonumber \end{eqnarray}
4459
4460\end_inset
4461
4462Ztráta v čase
4463\begin_inset Formula $k$
4464\end_inset
4465
4466 je
4467\begin_inset Formula \[
4468J_{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\} ,\]
4469
4470\end_inset
4471
4472kde se stredni hodnota pocita pres
4473\begin_inset Formula $e_{k}$
4474\end_inset
4475
4476 a
4477\begin_inset Formula $b$
4478\end_inset
4479
4480.
4481 Systém
4482\begin_inset CommandInset ref
4483LatexCommand ref
4484reference "eq:simplesystem"
4485
4486\end_inset
4487
4488 je lineární, Gaussovský a máme k dispozici sdruženou hustotu rozdělení
4489 pravděpodobnosti
4490\begin_inset Formula $f(b_{k})=N(\hat{b}_{k},P_{k})$
4491\end_inset
4492
4493 jejíž parametry se vyvíjejí rekurzivně podle
4494\begin_inset CommandInset ref
4495LatexCommand ref
4496reference "eq:simplesystemexbp"
4497
4498\end_inset
4499
4500.
4501 Je tedy možno upravit ztrátovou funkci
4502\begin_inset Formula $J_{k}$
4503\end_inset
4504
4505 dosadíme-li za
4506\begin_inset Formula $g_{k}=(y_{k+1}-r_{k+1})^{2}$
4507\end_inset
4508
4509 z
4510\begin_inset CommandInset ref
4511LatexCommand ref
4512reference "eq:simplesystemctgg"
4513
4514\end_inset
4515
4516 a následně z
4517\begin_inset CommandInset ref
4518LatexCommand ref
4519reference "eq:simplesystem"
4520
4521\end_inset
4522
4523 za
4524\begin_inset Formula $y_{k+1}=y_{k}+bu_{k}+\sigma e_{k}$
4525\end_inset
4526
4527:
4528\begin_inset Formula \begin{eqnarray*}
4529J_{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\} \\
4530 & = & \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\} +\\
4531 &  & +\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*}
4532
4533\end_inset
4534
4535A ztráta v čase
4536\begin_inset Formula $k$
4537\end_inset
4538
4539 je pak vyjádřena ve tvaru
4540\begin_inset Formula \[
4541g_{k}=(y_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2}.\]
4542
4543\end_inset
4544
4545
4546\end_layout
4547
4548\begin_layout Standard
4549Následně lze zadání úlohy formulovat jako:
4550\begin_inset Formula \begin{eqnarray}
4551\mathrm{Rovnice\: systému:}\quad\left[\begin{array}{c}
4552y_{k+1}\\
4553\hat{b}_{k+1}\\
4554P_{k+1}\end{array}\right] & = & \left[\begin{array}{c}
4555y_{k}+\hat{b}_{k}u_{k}\\
4556\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})\\
4557(1-\frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}}u_{k})P_{k}\end{array}\right]+\left[\begin{array}{c}
4558\sigma e_{k}\\
45590\\
45600\end{array}\right]\nonumber \\
4561\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}
4562
4563\end_inset
4564
4565
4566\end_layout
4567
4568\begin_layout Subsection
4569Aplikace metody CE
4570\begin_inset CommandInset label
4571LatexCommand label
4572name "sub:Aplikace-metody-CE-naJS"
4573
4574\end_inset
4575
4576
4577\end_layout
4578
4579\begin_layout Standard
4580Princip metody označené jako CE (z anglického
4581\begin_inset Quotes gld
4582\end_inset
4583
4584Certainty Equivalence
4585\begin_inset Quotes grd
4586\end_inset
4587
4588) je velmi jednoduchý.
4589 Neznámé parametry v systému nahradíme jejich očekávanými hodnotami a dále
4590 všechny výpočty provádíme, jako kdyby byly parametry známé.
4591 Takto získáné řízení samozřejmě není duální a pokud se skutečná hodnota
4592 neznámého parametru výrazněji odchyluje od očekávané hodnoty, se kterou
4593 počítáme, dopouštíme se značné chyby.
4594 Zmiňovaná metoda je použita jako první přiblížení a hlavně pro srovnání
4595 s dalšími algoritmy.
4596\end_layout
4597
4598\begin_layout Subsubsection
4599Triviální CE regulátor
4600\end_layout
4601
4602\begin_layout Standard
4603Při návrhu prvního, nejjednoduššího regulátoru uvažujeme pouze rovnici
4604\begin_inset CommandInset ref
4605LatexCommand ref
4606reference "eq:simplesystem"
4607
4608\end_inset
4609
4610 a nahradíme v ní parametr
4611\begin_inset Formula $b$
4612\end_inset
4613
4614 jeho očekávanou hodnotou
4615\begin_inset Formula $\hat{b}$
4616\end_inset
4617
4618, což vede na
4619\begin_inset Formula \[
4620y_{k+1}=y_{k}+\hat{b}u_{k}+\sigma e_{k}.\]
4621
4622\end_inset
4623
4624Se ztrátovou funkcí nebudeme explicitně počítat.
4625 Místo toho předpokládáme, že ztráta bude minimální, dosáhlneme-li požadované
4626 hodnoty
4627\begin_inset Formula $r_{k+1}$
4628\end_inset
4629
4630 v jednom kroku.
4631 Položíme tedy
4632\begin_inset Formula $y_{k+1}=r_{k+1}$
4633\end_inset
4634
4635, šum neuvažujeme (respektive jej nahradíme jeho střední hodnotou, což je
4636 nula) a z rovnice vyjádříme řízení
4637\begin_inset Formula $u_{k}$
4638\end_inset
4639
4640 v čase
4641\begin_inset Formula $k$
4642\end_inset
4643
4644 jako
4645\begin_inset Formula \[
4646u_{k}=\frac{r_{k+1}-y_{k}}{\hat{b}}.\]
4647
4648\end_inset
4649
4650Zde je samozřejmě nutné předpokládat, že očekávaná hodnota
4651\begin_inset Formula $\hat{b}$
4652\end_inset
4653
4654 není rovna nule.
4655 Tento předpoklad může být omezující, protože z pohledu původní rovnice
4656 s neznámým parametrem
4657\begin_inset Formula $b$
4658\end_inset
4659
4660 nastane problém pouze, když samotný parametr
4661\begin_inset Formula $b$
4662\end_inset
4663
4664 nabývá hodnoty nula.
4665 To pak zřejmě řízení nemá na systém žádný vliv.
4666 Chceme-li tento přístup použít pro libovolné
4667\begin_inset Formula $\hat{b}$
4668\end_inset
4669
4670 (tedy i pro
4671\begin_inset Formula $\hat{b}=0$
4672\end_inset
4673
4674), je možno například volit jmenovatel zlomku ve výrazu pro řízení místo
4675 
4676\begin_inset Formula $\hat{b}$
4677\end_inset
4678
4679 jako
4680\begin_inset Formula $\hat{b}+\varepsilon$
4681\end_inset
4682
4683 s vhodným parametrem
4684\begin_inset Formula $\varepsilon$
4685\end_inset
4686
4687, následně pak
4688\begin_inset Formula \[
4689u_{k}=\frac{r_{k+1}-y_{k}}{\hat{b}+\varepsilon},\quad\hat{b}+\varepsilon\neq0.\]
4690
4691\end_inset
4692
4693
4694\end_layout
4695
4696\begin_layout Subsection
4697Algoritmus LQG
4698\end_layout
4699
4700\begin_layout Standard
4701Algoritmus
4702\emph on
4703LQG
4704\emph default
4705 (
4706\begin_inset Quotes gld
4707\end_inset
4708
4709Linear-Quadratic-Gaussian
4710\begin_inset Quotes grd
4711\end_inset
4712
4713) je vhodný k nalezení řízení pro lineární systémy s kvadratickou ztrátovou
4714 funkci a gaussovským šumem.
4715 To je sice případ zde uvažovaného
4716\emph on
4717jednoduchého systému
4718\emph default
4719, ale algoritmus
4720\emph on
4721LQG
4722\emph default
4723 není duální.
4724 Nedokáže si tedy poradit s neznámým parametrem
4725\begin_inset Formula $b$
4726\end_inset
4727
4728 a je nutné použít nějaké aproximace.
4729 Opět tedy využijeme principu CE a nahradíme parametr
4730\begin_inset Formula $b$
4731\end_inset
4732
4733 jeho očekávanou hodnotou
4734\begin_inset Formula $\hat{b}$
4735\end_inset
4736
4737.
4738 
4739\emph on
4740LQG
4741\emph default
4742 algoritmus využívá Kalmanova filtru a dokáže tedy lépe zvládat šumy a nepřesnos
4743ti měření.
4744\end_layout
4745
4746\begin_layout Subsubsection
4747LQG regulátor
4748\end_layout
4749
4750\begin_layout Standard
4751Jak již bylo zmíněno v předchozím textu, řízení
4752\emph on
4753LQG
4754\emph default
4755 je založeno na principu separace, tedy estimátor a regulátor jsou navrhovány
4756 zvlášť.
4757 Máme-li k dispozici matice, popisující systém, stačí pro nalezení řízení
4758 pouze dosadit do rovnic v částech
4759\begin_inset CommandInset ref
4760LatexCommand ref
4761reference "sub:Kalmanův-filtr"
4762
4763\end_inset
4764
4765 a
4766\begin_inset CommandInset ref
4767LatexCommand ref
4768reference "sub:LQGkp1"
4769
4770\end_inset
4771
4772.
4773 Tento postup můžeme aplikovat na matice získané z rovnice
4774\begin_inset CommandInset ref
4775LatexCommand ref
4776reference "eq:simplesystem"
4777
4778\end_inset
4779
4780, pak získáme jednoduché řízení, které ale předpokládá parametr
4781\begin_inset Formula $b$
4782\end_inset
4783
4784 známý a jedná se tedy o princip CE.
4785 Matice systému budou v tomto případě
4786\begin_inset Formula \begin{eqnarray*}
4787A & = & 1,\quad B=\hat{b},\\
4788C & = & 1,\quad N=\sigma.\end{eqnarray*}
4789
4790\end_inset
4791
4792A úpravou ztrátové funkce
4793\family roman
4794\series medium
4795\shape up
4796\size normal
4797\emph off
4798\bar no
4799\noun off
4800\color none
4801
4802\begin_inset Formula \begin{eqnarray*}
4803\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\} \\
4804 & = & \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*}
4805
4806\end_inset
4807
4808kde
4809\begin_inset Formula $\psi_{k}$
4810\end_inset
4811
4812 reprezentuje rozdíl
4813\begin_inset Formula $y_{k}-r_{k}$
4814\end_inset
4815
4816, získáme matice
4817\begin_inset Formula $Q$
4818\end_inset
4819
4820 a
4821\begin_inset Formula $R$
4822\end_inset
4823
4824 ve tvaru
4825\begin_inset Formula \[
4826Q=1,\quad R=0.\]
4827
4828\end_inset
4829
4830
4831\family default
4832\series default
4833\shape default
4834\size default
4835\emph default
4836\bar default
4837\noun default
4838\color inherit
4839 
4840\end_layout
4841
4842\begin_layout Standard
4843Nebo se můžeme pokusit o aplikaci na systém
4844\begin_inset CommandInset ref
4845LatexCommand ref
4846reference "eq:simplesysuplnaybP"
4847
4848\end_inset
4849
4850, který vznikl úpravou systému
4851\begin_inset CommandInset ref
4852LatexCommand ref
4853reference "eq:simplesystem"
4854
4855\end_inset
4856
4857 a odhaduje očekávanou hodnotu a varianci neznámého parametru
4858\begin_inset Formula $b$
4859\end_inset
4860
4861, ale není lineární.
4862 Je tedy třeba systém
4863\begin_inset CommandInset ref
4864LatexCommand ref
4865reference "eq:simplesysuplnaybP"
4866
4867\end_inset
4868
4869 linearizovat, nejlépe v každém časovém kroku
4870\begin_inset Formula $k$
4871\end_inset
4872
4873.
4874 Potřebujeme tedy nějakou reprezentativní trajektorii a systém následně
4875 linearizujeme rozvojem do prvního řádu do Taylorovy řady se středem v této
4876 trajektorii a tento postup opakujeme pro každý čas
4877\begin_inset Formula $k$
4878\end_inset
4879
4880.
4881 Následně získáme matice linearizovaného systému
4882\begin_inset Formula \begin{eqnarray*}
4883A_{k} & =\frac{\partial}{\partial(y_{k},\hat{b}_{k},P_{k})}\left[\begin{array}{c}
4884y_{k+1}\\
4885\hat{b}_{k+1}\\
4886P_{k+1}\end{array}\right]= & \left(\begin{array}{ccc}
48871 & u_{k} & 0\\
4888-\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}}\\
48890 & 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),\\
4890B_{k} & =\frac{\partial}{\partial u_{k}}\left[\begin{array}{c}
4891y_{k+1}\\
4892\hat{b}_{k+1}\\
4893P_{k+1}\end{array}\right]= & \left(\begin{array}{c}
4894\hat{b}\\
4895\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}}\\
4896-\frac{2u_{k}P_{k}^{2}\sigma^{2}}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\end{array}\right).\end{eqnarray*}
4897
4898\end_inset
4899
4900Matice pro výpočet Kalmanova filtru jsou v čase konstantní a rovny
4901\begin_inset Formula \[
4902C_{k}=\left(\begin{array}{ccc}
49031 & 0 & 0\end{array}\right),\quad N_{k}=\sigma.\]
4904
4905\end_inset
4906
4907Pro ztrátovou funkci upravíme ztrátu systému
4908\begin_inset CommandInset ref
4909LatexCommand ref
4910reference "eq:simplesysuplnaybP"
4911
4912\end_inset
4913
4914 
4915\family roman
4916\series medium
4917\shape up
4918\size normal
4919\emph off
4920\bar no
4921\noun off
4922\color none
4923následovně
4924\begin_inset Formula \begin{eqnarray*}
4925\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\} \\
4926 & = & \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*}
4927
4928\end_inset
4929
4930kde
4931\begin_inset Formula $\psi_{k}$
4932\end_inset
4933
4934 reprezentuje rozdíl
4935\begin_inset Formula $y_{k}-r_{k+1}$
4936\end_inset
4937
4938.
4939 Pak matice pro kvadratickou ztrátovou funkci
4940\begin_inset Formula $Q$
4941\end_inset
4942
4943 a
4944\begin_inset Formula $R$
4945\end_inset
4946
4947 jsou
4948\begin_inset Formula \begin{eqnarray*}
4949Q_{N} & = & \theta\\
4950Q_{k} & = & \left(\begin{array}{ccc}
49511 & 0 & 0\\
49520 & 0 & 0\\
49530 & 0 & 0\end{array}\right)\\
4954R_{k} & = & P_{k}\end{eqnarray*}
4955
4956\end_inset
4957
4958
4959\end_layout
4960
4961\begin_layout Subsection
4962iLQG
4963\end_layout
4964
4965\begin_layout Standard
4966Metoda
4967\emph on
4968iLQG
4969\emph default
4970 je v podstatě rozšířením základního algoritmu pro nalezení LQ řízení a
4971 v triviálním případě se na tento algoritmus i redukuje.
4972 Proto většinu z veličin charakterizujících systém, potřebných pro výpočet
4973 
4974\emph on
4975iLQG
4976\emph default
4977 řízení, můžeme převzít z předchozí části o aplikaci
4978\emph on
4979LQG
4980\emph default
4981 regulátoru.
4982 Postup jejich výpočtu je totiž prakticky totožný.
4983 
4984\end_layout
4985
4986\begin_layout Subsubsection
4987iLQG řízení
4988\end_layout
4989
4990\begin_layout Standard
4991Veličiny budou uvedeny pouze pro případ jednoduchého systému s postačující
4992 statistikou, odhadující parametr
4993\begin_inset Formula $b.$
4994\end_inset
4995
4996 Přičemž obecný tvar parametrů vychází z systému definovaného v
4997\begin_inset CommandInset ref
4998LatexCommand ref
4999reference "eq:systemilqgdef"
5000
5001\end_inset
5002
5003.
5004\end_layout
5005
5006\begin_layout Standard
5007\begin_inset Formula \begin{eqnarray*}
5008A_{k} & = & I+\frac{\partial f}{\partial x}\cdot\Delta k=\left(\begin{array}{ccc}
50091 & u_{k} & 0\\
5010-\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}}\\
50110 & 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),\\
5012B_{k} & = & \frac{\partial f}{\partial u}\cdot\Delta k=\left(\begin{array}{c}
5013\hat{b}\\
5014\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}}\\
5015-\frac{2u_{k}P_{k}^{2}\sigma^{2}}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\end{array}\right),\\
5016\mathbf{c}_{i,k} & = & F^{[i]}\cdot\sqrt{\Delta k}=\left(\begin{array}{c}
5017\sigma\\
50180\\
50190\end{array}\right),\\
5020C_{i,k} & = & \frac{\partial F^{[i]}}{\partial u}\cdot\sqrt{\Delta k}=0,\\
5021q_{k} & = & l\cdot\Delta k=(y_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2},\\
5022\mathbf{q}_{k} & = & \frac{\partial l}{\partial x}\cdot\Delta k=\left(\begin{array}{c}
50232(y_{k}-r_{k+1})\\
50240\\
5025u_{k}^{2}\end{array}\right),\\
5026Q_{k} & = & \frac{\partial^{2}l}{\partial x\partial x}\cdot\Delta k=\left(\begin{array}{ccc}
50272 & 0 & 0\\
50280 & 0 & 0\\
50290 & 0 & 0\end{array}\right),\\
5030P_{k} & = & \frac{\partial^{2}l}{\partial u\partial x}\cdot\Delta k=\left(\begin{array}{c}
50310\\
50320\\
50332u_{k}\end{array}\right),\\
5034\mathbf{r}_{k} & = & \frac{\partial l}{\partial u}\cdot\Delta k=2P_{k}u_{k},\\
5035R_{k} & = & \frac{\partial^{2}l}{\partial u\partial u}=2P_{k}.\end{eqnarray*}
5036
5037\end_inset
5038
5039
5040\end_layout
5041
5042\begin_layout Subsection
5043iLDP
5044\begin_inset CommandInset label
5045LatexCommand label
5046name "sub:iLDP-js-implementace"
5047
5048\end_inset
5049
5050
5051\end_layout
5052
5053\begin_layout Standard
5054Algoritmus implementujeme podle základní osnovy uvedené v
5055\begin_inset CommandInset ref
5056LatexCommand ref
5057reference "sub:iLDP-Osnova-algoritmu"
5058
5059\end_inset
5060
5061 přičemž detaily implementace jsou voleny následovně:
5062\end_layout
5063
5064\begin_layout Description
5065Volba
5066\begin_inset space ~
5067\end_inset
5068
5069okolí
5070\emph on
5071
5072\begin_inset ERT
5073status open
5074
5075\begin_layout Plain Layout
5076
5077~
5078\end_layout
5079
5080\end_inset
5081
5082
5083\emph default
5084
5085\begin_inset Newline newline
5086\end_inset
5087
5088Množina stavů
5089\begin_inset Formula $\left\{ x^{(n)}\right\} $
5090\end_inset
5091
5092 je volena jako náhodná veličina s normálním rozdělením se střední hodnotou
5093 rovnou průměrnému stavu
5094\begin_inset Formula $\bar{x}(k)$
5095\end_inset
5096
5097 a rozptylem specifikovaným parametrem
5098\begin_inset Formula $\rho^{2}$
5099\end_inset
5100
5101.
5102 Tedy
5103\begin_inset Formula $x_{k}^{(n)}=\overline{x}(k)+\varepsilon_{k}^{(n)}$
5104\end_inset
5105
5106, kde
5107\begin_inset Formula $\varepsilon_{k}^{(n)}\sim N(0,\rho^{2})$
5108\end_inset
5109
5110 .
5111 Samotný parametr
5112\begin_inset Formula $\rho^{2}$
5113\end_inset
5114
5115 pak volíme v řádu šumu, popřípadě o řád větší, aby okolí postihlo možné
5116 změny trajektorie v důsledku šumu, ale současně nezasahovalo příliš daleko.
5117\begin_inset Newline newline
5118\end_inset
5119
5120Počet vzorků
5121\begin_inset Formula $M$
5122\end_inset
5123
5124 je zde konkrétně volen
5125\begin_inset Formula $100$
5126\end_inset
5127
5128 což se ukazuje jako dostatečné množství dat pro výpočet koeficientů aproximací.
5129\end_layout
5130
5131\begin_layout Description
5132Minimalizace
5133\begin_inset ERT
5134status open
5135
5136\begin_layout Plain Layout
5137
5138~
5139\end_layout
5140
5141\end_inset
5142
5143
5144\begin_inset Newline newline
5145\end_inset
5146
5147Zde použitá minimalizace je neomezená, je tedy užito minimalizační funkce
5148 programu
5149\emph on
5150Matlab
5151\emph default
5152(
5153\emph on
5154Optimization Toolbox
5155\emph default
5156)
5157\family typewriter
5158fminunc
5159\family default
5160.
5161\end_layout
5162
5163\begin_layout Description
5164Aproximace
5165\begin_inset space ~
5166\end_inset
5167
5168řízení
5169\begin_inset ERT
5170status open
5171
5172\begin_layout Plain Layout
5173
5174~
5175\end_layout
5176
5177\end_inset
5178
5179
5180\begin_inset Newline newline
5181\end_inset
5182
5183Aproximace zpětnovazebního řízení v tomto případě vychází z
5184\emph on
5185triviálního CE regulátoru
5186\emph default
5187 navrženého v
5188\begin_inset CommandInset ref
5189LatexCommand ref
5190reference "sub:Aplikace-metody-CE-naJS"
5191
5192\end_inset
5193
5194, který rozšiřuje
5195\begin_inset Formula \begin{eqnarray*}
5196\mathrm{CE\: regulátor:}\hspace{3em}u_{k} & = & \frac{r_{k+1}-y_{k}}{\hat{b}+\varepsilon},\quad\hat{b}+\varepsilon\neq0,\\
5197\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*}
5198
5199\end_inset
5200
5201Koeficienty aproximace
5202\begin_inset Formula $K_{1\ldots4}$
5203\end_inset
5204
5205 vypočítáme v každém čase
5206\begin_inset Formula $k$
5207\end_inset
5208
5209 z množiny hodnot
5210\begin_inset Formula $\left\{ x^{(n)},u^{(n)}\right\} $
5211\end_inset
5212
5213 lineární regresí, tedy metodou nejmenších čtverů.
5214 Provedeme následující úpravy
5215\begin_inset Formula \begin{eqnarray*}
5216\left(K_{2}\hat{b}_{k}+K_{3}P_{k}+K_{4}\right)\pi(k,x) & = & r_{k+1}-K_{1}y_{k},\\
5217\left(\begin{array}{cccc}
5218y_{k} & \hat{b}_{k}\pi(k,x) & P_{k}\pi(k,x) & \pi(k,x)\end{array}\right)\left(\begin{array}{c}
5219K_{1}\\
5220K_{2}\\
5221K_{3}\\
5222K_{4}\end{array}\right) & = & r_{k+1}.\end{eqnarray*}
5223
5224\end_inset
5225
5226Rovnici označíme jako
5227\begin_inset Formula \[
5228\Psi K=R.\]
5229
5230\end_inset
5231
5232Následně dosadíme do
5233\begin_inset Formula $\Psi$
5234\end_inset
5235
5236 vypočítaná
5237\begin_inset Formula $x_{k}$
5238\end_inset
5239
5240 za
5241\begin_inset Formula $\left(\begin{array}{ccc}
5242y_{k} & \hat{b}_{k} & P_{k}\end{array}\right)^{T}$
5243\end_inset
5244
5245a odpovídající vypočítaná
5246\begin_inset Formula $u$
5247\end_inset
5248
5249 za
5250\begin_inset Formula $\pi(k,n)$
5251\end_inset
5252
5253, kdy dosazujeme celé vektory v
5254\begin_inset Formula $n$
5255\end_inset
5256
5257.
5258 Tedy výsledné
5259\begin_inset Formula $\Psi$
5260\end_inset
5261
5262 je maticí rozměru
5263\begin_inset Formula $n\times4$
5264\end_inset
5265
5266.
5267 Aby mohla být rovnice splněna, položíme
5268\begin_inset Formula $R=r_{k+1}\left(\begin{array}{cccc}
52691 & 1 & \ldots & 1\end{array}\right)^{T}$
5270\end_inset
5271
5272, tedy sloupcový vektor ze samých
5273\begin_inset Formula $r_{k+1}$
5274\end_inset
5275
5276.
5277 A koeficienty
5278\begin_inset Formula $K$
5279\end_inset
5280
5281 vypočítáme metodou nejmenších čtverců jako
5282\begin_inset Formula \[
5283K=\left(\Psi^{T}\Psi\right)^{-1}\Psi R.\]
5284
5285\end_inset
5286
5287
5288\end_layout
5289
5290\begin_layout Description
5291Aproximace
5292\begin_inset space ~
5293\end_inset
5294
5295Bellmanovy
5296\begin_inset space ~
5297\end_inset
5298
5299funkce
5300\begin_inset ERT
5301status open
5302
5303\begin_layout Plain Layout
5304
5305~
5306\end_layout
5307
5308\end_inset
5309
5310
5311\begin_inset Newline newline
5312\end_inset
5313
5314Aproximace Bellmanovy funkce je volena po vzoru dle
5315\begin_inset CommandInset ref
5316LatexCommand ref
5317reference "sub:Konkrétní-použité-aproximace-iLDP"
5318
5319\end_inset
5320
5321 jako lineární kombinace devíti základních funkcí
5322\begin_inset Formula \[
53231,\; 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}.\]
5324
5325\end_inset
5326
5327Kdy se koeficienty aproximace určují lineární regresí podle vzorce uvedeného
5328 v
5329\begin_inset CommandInset ref
5330LatexCommand ref
5331reference "sub:Konkrétní-použité-aproximace-iLDP"
5332
5333\end_inset
5334
5335.
5336 Proměnná
5337\begin_inset Formula $P_{k}$
5338\end_inset
5339
5340 vystupuje v souboru základních funkcí v logaritmu z výpočetních důvodů.
5341 Nejdříve bylo užito základnich funkcí pro
5342\begin_inset Formula $P_{k}$
5343\end_inset
5344
5345 bez logaritmů, ale výpočet koeficientů aproximace selhával, protože matice
5346 
5347\begin_inset Formula $\Phi\Phi^{T}$
5348\end_inset
5349
5350 vystupující ve vzorci pro lineární regresi byla blízko singulární matici.
5351 To způsobilo problémy, při její následné inverzi, proto bylo
5352\begin_inset Formula $P_{k}$
5353\end_inset
5354
5355 nahrazeno v bázových funkcích
5356\begin_inset Formula $\ln P_{k}$
5357\end_inset
5358
5359.
5360\end_layout
5361
5362\begin_layout Section
5363Synchronní motor s permanentními magnety
5364\begin_inset CommandInset label
5365LatexCommand label
5366name "sec:Synchronní-motor-PMSP-upravy"
5367
5368\end_inset
5369
5370
5371\end_layout
5372
5373\begin_layout Subsection
5374Popis systému
5375\end_layout
5376
5377\begin_layout Standard
5378Následující model popisuje synchronní elektromotormotor s rotorem tvořeným
5379 permanentními magnety.
5380 Systém je popsán standartními rovnicemi synchronního stroje s permanentními
5381 magnety ve stacionárním tvaru
5382\begin_inset Formula \begin{eqnarray}
5383\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 \\
5384\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}\\
5385\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 \\
5386\frac{d\vartheta}{dt} & = & \omega.\nonumber \end{eqnarray}
5387
5388\end_inset
5389
5390
5391\end_layout
5392
5393\begin_layout Standard
5394Zde
5395\begin_inset Formula $i_{\alpha,\beta}$
5396\end_inset
5397
5398 reprezentují proudy a
5399\begin_inset Formula $u_{\alpha,\beta}$
5400\end_inset
5401
5402 napětí na statoru.
5403 Poloha (úhel otočení) rotoru je označen
5404\begin_inset Formula $\vartheta$
5405\end_inset
5406
5407 a
5408\begin_inset Formula $\omega$
5409\end_inset
5410
5411 je pak rychlost otáčení.
5412 Dále
5413\begin_inset Formula $R_{s}$
5414\end_inset
5415
5416 je rezistance a
5417\begin_inset Formula $L_{s}$
5418\end_inset
5419
5420 induktance statoru.
5421 
5422\begin_inset Formula $\Psi_{PM}$
5423\end_inset
5424
5425 má význam magnetického toku permanentních magnetů rotoru,
5426\begin_inset Formula $B$
5427\end_inset
5428
5429 tření a
5430\begin_inset Formula $T_{L}$
5431\end_inset
5432
5433 je zatěžovací moment.
5434 Konstanta
5435\begin_inset Formula $p_{p}$
5436\end_inset
5437
5438 označuje počet párů polů a
5439\begin_inset Formula $k_{p}$
5440\end_inset
5441
5442 Parkovu konstantu.
5443\end_layout
5444
5445\begin_layout Standard
5446Cílem je návrh řízení bez senzorů, kdy čidla pro měření polohy a otáček
5447 nejsou (z různých důvodů) přítomna.
5448 Tedy jediné měřitelné veličiny jsou:
5449\begin_inset Formula \[
5450y(t)=\left(i_{\alpha}(t),i_{\beta}(t)\right),u_{\alpha}(t),u_{\beta}(t).\]
5451
5452\end_inset
5453
5454Které samozřejmě můžeme měřit jen s určitou přesností.
5455 Dále předpokládáme, že vstupy
5456\begin_inset Formula $u_{\alpha}$
5457\end_inset
5458
5459 a
5460\begin_inset Formula $u_{\beta}$
5461\end_inset
5462
5463 jsou omezené a tato omezení jsou známa.
5464 Nyní chceme dosáhnout požadovaných otáček rotoru
5465\begin_inset Formula $\overline{\omega}(t)$
5466\end_inset
5467
5468 (skutečnou hodnotu
5469\begin_inset Formula $\omega(t)$
5470\end_inset
5471
5472 neznáme, pouze ji odhadujeme ze známých hodnot
5473\begin_inset Formula $y(t)$
5474\end_inset
5475
5476).
5477\end_layout
5478
5479\begin_layout Subsection
5480Úprava rovnic
5481\begin_inset CommandInset label
5482LatexCommand label
5483name "sub:Úprava-rovnic-PMSM"
5484
5485\end_inset
5486
5487
5488\end_layout
5489
5490\begin_layout Subsubsection
5491Diskretizace
5492\end_layout
5493
5494\begin_layout Standard
5495Provedení diskretizace modelu
5496\begin_inset CommandInset ref
5497LatexCommand ref
5498reference "eq:pmsmspojity"
5499
5500\end_inset
5501
5502 pomocí Eulerovy metody vede na následující diskrétní popis:
5503\begin_inset Formula \begin{eqnarray*}
5504i_{\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},\\
5505i_{\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},\\
5506\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,\\
5507\vartheta_{k+1} & = & \vartheta_{k}+\omega_{k}\Delta k.\end{eqnarray*}
5508
5509\end_inset
5510
5511Kde
5512\begin_inset Formula $\Delta k$
5513\end_inset
5514
5515 označuje diskrétní časový okamžik.
5516 Předpokládáme, že paremetry modelu známe, můžeme tedy provést následující
5517 substituci za účelem zjednodušení:
5518\begin_inset Formula $a=1-\frac{R_{s}}{L_{s}}\Delta k$
5519\end_inset
5520
5521,
5522\begin_inset Formula $b=\frac{\Psi_{PM}}{L_{s}}\Delta k$
5523\end_inset
5524
5525,
5526\begin_inset Formula $c=\frac{\Delta k}{L_{s}}$
5527\end_inset
5528
5529,
5530\begin_inset Formula $d=1-\frac{B}{J}\Delta k$
5531\end_inset
5532
5533,
5534\begin_inset Formula $e=\frac{k_{p}p_{p}^{2}\Psi_{PM}}{J}\Delta k$
5535\end_inset
5536
5537.
5538 Pro jednoduchost uvažujme model bez zatížení, tedy zatěžovací moment
5539\begin_inset Formula $T_{L}$
5540\end_inset
5541
5542 je nulovy a zjednodušený model je:
5543\begin_inset Formula \begin{eqnarray}
5544i_{\alpha,k+1} & = & ai_{\alpha,k}+b\omega_{k}\sin\vartheta_{k}+cu_{\alpha,k},\nonumber \\
5545i_{\beta,k+1} & = & ai_{\beta,k}-b\omega_{k}\cos\vartheta_{k}+cu_{\beta,k},\label{eq:pmsmdiskretni}\\
5546\omega_{k+1} & = & d\omega_{k}+e\left(i_{\beta,k}\cos\vartheta_{k}-i_{\alpha,k}\sin\vartheta_{k}\right),\nonumber \\
5547\vartheta_{k+1} & = & \vartheta_{k}+\omega_{k}\Delta k.\nonumber \end{eqnarray}
5548
5549\end_inset
5550
5551Tyto rovnice můžeme chápat jako popis systému se stavem
5552\begin_inset Formula $x_{k}=\left(i_{\alpha,k},i_{\beta,k},\omega_{k},\vartheta_{k}\right)$
5553\end_inset
5554
5555, kde předchozí soustavu rovnic zapíšeme jako
5556\begin_inset Formula $x_{k+1}=g(x_{k},u_{k})$
5557\end_inset
5558
5559.
5560\end_layout
5561
5562\begin_layout Subsubsection
5563Odhad stavu
5564\end_layout
5565
5566\begin_layout Standard
5567O skutečném stavu systému
5568\begin_inset Formula $x_{k}$
5569\end_inset
5570
5571 máme informaci pouze v podobě měření
5572\begin_inset Formula $y_{k}=\left(i_{\alpha,k},i_{\beta,k}\right)$
5573\end_inset
5574
5575.
5576 Vlastní vývoj stavových proměnných může být ovlivněn šumem, pro jednoduchost
5577 předpokládáme Gaussovský šum s nulovou střední hodnotou a kovarianční maticí
5578 
5579\begin_inset Formula $M_{k}$
5580\end_inset
5581
5582.
5583 Pozorování stavu, tedy výstup
5584\begin_inset Formula $y_{k}$
5585\end_inset
5586
5587 je zatížen chybou měření, která je způsobena zaokrouhlením skutečné hodnoty
5588 na rozlišovací hodnotu stupnice přístroje.
5589 Z důvodu zjednodušení ale předpokládáme, že chyba měření bude mít ve výsledku
5590 normální rozdělení s nulovou střední hodnotou a kovarianční maticí
5591\begin_inset Formula $N_{k}$
5592\end_inset
5593
5594.
5595 K stejnému závěru bychom mohli dojít i použitím
5596\emph on
5597centrální limitní věty
5598\emph default
5599 z teorie pravděpodobnosti.
5600 Tedy na vnitřní stav systému i na výstup můžeme pohlížet jako na náhodné
5601 veličiny s normálním rozdělením
5602\begin_inset Formula \begin{eqnarray*}
5603x_{k+1} & \sim & N\left(g(x_{k}),M_{k}\right),\\
5604y_{k} & \sim & N\left(\left(\begin{array}{c}
5605i_{\alpha,k}\\
5606i_{\beta,k}\end{array}\right),N_{k}\right).\end{eqnarray*}
5607
5608\end_inset
5609
5610Nyní využijeme toho, že Kalmanův filtr je optimálním pozorovatelem lineárního
5611 systému s Gaussovským šumem.
5612 Zde uvažovaný systém
5613\begin_inset CommandInset ref
5614LatexCommand ref
5615reference "eq:pmsmdiskretni"
5616
5617\end_inset
5618
5619 není lineární, ale můžeme využít nelineární verze Kalmanova filtru, označované
5620 jako
5621\emph on
5622rozšířený Kalmanův filtr
5623\emph default
5624 (Extended Kalman filter), který systém linearizuje v každém časovém kroku.
5625 Rovnice pro výpočet odhadu stavu pak budou následující
5626\begin_inset Formula \begin{eqnarray}
5627\hat{x}_{k+1} & = & g(\hat{x}_{k})-K\left(y_{k+1}-h(\hat{x}_{k})\right),\nonumber \\
5628K & = & P_{k}C_{k}^{T}\left(C_{k}P_{k}C_{k}^{T}+N_{k}\right)^{-1},\label{eq:pmsp-odhadstavu-rovnice}\\
5629P_{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}
5630
5631\end_inset
5632
5633kde funkce
5634\begin_inset Formula $h$
5635\end_inset
5636
5637 je
5638\begin_inset Formula $h(x_{k})=\left(i_{\alpha,k},i_{\beta,k}\right)^{T}$
5639\end_inset
5640
5641 a matice
5642\begin_inset Formula $A_{k}$
5643\end_inset
5644
5645 a
5646\begin_inset Formula $C_{k}$
5647\end_inset
5648
5649 získáme linearizecí systému v každém kroku, tedy
5650\begin_inset Formula \begin{eqnarray*}
5651A_{k}=\frac{d}{dx_{k}}g(x_{k},u_{k}) & = & \left(\begin{array}{cccc}
5652a & 0 & b\sin\vartheta_{k} & b\omega_{k}\cos\vartheta_{k}\\
56530 & a & -b\cos\vartheta_{k} & b\omega_{k}\sin\vartheta_{k}\\
5654-e\sin\vartheta_{k} & e\cos\vartheta_{k} & d & -e\left(i_{\alpha,k}\cos\vartheta_{k}+i_{\beta,k}\sin\vartheta_{k}\right)\\
56550 & 0 & \Delta k & 1\end{array}\right),\\
5656C_{k}=\frac{d}{dx_{k}}h(x_{k}) & = & \left(\begin{array}{cccc}
56571 & 0 & 0 & 0\\
56580 & 1 & 0 & 0\end{array}\right).\end{eqnarray*}
5659
5660\end_inset
5661
5662
5663\end_layout
5664
5665\begin_layout Subsubsection
5666Ztrátová funkce
5667\end_layout
5668
5669\begin_layout Standard
5670Cílem je dosáhnout požadovaných otáček rotoru
5671\begin_inset Formula $\overline{\omega}$
5672\end_inset
5673
5674.
5675 Pro zjednodušení uvažujme aditivní kvadratickou ztrátovou funkci
5676\begin_inset Formula \[
5677J=\mathrm{E}\left\{ \sum_{k=0}^{N-1}l(x_{k},u_{k})\right\} ,\]
5678
5679\end_inset
5680
5681kdy ztráta v každém časovém kroku
5682\begin_inset Formula $k$
5683\end_inset
5684
5685 je
5686\begin_inset Formula \[
5687l(x_{k},u_{k})=(\omega_{k}-\overline{\omega}_{k})^{2}+r(u_{\alpha,k}^{2}+u_{\beta,k}^{2}),\]
5688
5689\end_inset
5690
5691kde
5692\begin_inset Formula $r$
5693\end_inset
5694
5695 je vhodný parametr penalizace za vstupy, který je ovšem potřeba doladit.
5696 Tento výraz můžeme upravit do maticové podoby
5697\begin_inset Formula \begin{eqnarray*}
5698l(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}
5699r & 0\\
57000 & r\end{array}\right)\left(\begin{array}{c}
5701u_{\alpha,k}\\
5702u_{\beta,k}\end{array}\right)\\
5703 & = & \psi_{k}^{T}Q\psi_{k}+u_{k}^{T}Ru_{k},\end{eqnarray*}
5704
5705\end_inset
5706
5707kde
5708\begin_inset Formula $\psi_{k}$
5709\end_inset
5710
5711 značí rozdíl vektoru stavu a pořadované hodnoty
5712\begin_inset Formula $\psi_{k}=x_{k}-\overline{x}_{k}$
5713\end_inset
5714
5715 a matice
5716\begin_inset Formula $Q$
5717\end_inset
5718
5719 a
5720\begin_inset Formula $R$
5721\end_inset
5722
5723 pak mají tvar
5724\begin_inset Formula \begin{eqnarray*}
5725Q & = & \left(\begin{array}{cccc}
57260 & 0 & 0 & 0\\
57270 & 0 & 0 & 0\\
57280 & 0 & 1 & 0\\
57290 & 0 & 0 & 0\end{array}\right),\\
5730R & = & \left(\begin{array}{cc}
5731r & 0\\
57320 & r\end{array}\right).\end{eqnarray*}
5733
5734\end_inset
5735
5736
5737\end_layout
5738
5739\begin_layout Subsection
5740Aplikace iLDP
5741\end_layout
5742
5743\begin_layout Standard
5744K implementaci
5745\emph on
5746iLDP
5747\emph default
5748 algoritmu, je nutno podotknout, že jsem zatím nevytvořil funkční verzi.
5749 Je to zejména z důvodu, že se nepodařilo nalézt vhodnou aproximaci Bellmanovy
5750 funkce.
5751 Přesto je zde uveden postup aplikace tohoto algoritmu.
5752\end_layout
5753
5754\begin_layout Subsubsection
5755Postačující statistika
5756\end_layout
5757
5758\begin_layout Standard
5759Pro aplikaci
5760\emph on
5761iLDP
5762\emph default
5763 metody je vhodné nejdříve zavést postačující statistiku.
5764 Volme tedy
5765\begin_inset Formula $\tilde{S}_{k}=\left(\hat{x}_{k},P_{k}\right)$
5766\end_inset
5767
5768, kde
5769\begin_inset Formula $\hat{x}_{k}$
5770\end_inset
5771
5772 má význam odhadu stavu a
5773\begin_inset Formula $P_{k}$
5774\end_inset
5775
5776 kovarianční matice, přičemž tyto parametry se vyvíjejí v čase podle rovnic
5777 
5778\begin_inset CommandInset ref
5779LatexCommand ref
5780reference "eq:pmsp-odhadstavu-rovnice"
5781
5782\end_inset
5783
5784.
5785 Následně, kdybychom chtěli zahrnout do aproximace Bellmanovy funkce všechny
5786 členy
5787\begin_inset Formula $\tilde{S}_{k}$
5788\end_inset
5789
5790, jednlo by se o příliš velké množství dat.
5791 Samotný vektor
5792\begin_inset Formula $\hat{x}_{k}$
5793\end_inset
5794
5795 má v každém čase
5796\begin_inset Formula $k$
5797\end_inset
5798
5799 čtyři složky a kovarianční matice
5800\begin_inset Formula $P_{k}$
5801\end_inset
5802
5803 pak šestnáct složek.
5804 Hledáme-li aproximaci Bellmanovy funkce po vzoru
5805\begin_inset CommandInset ref
5806LatexCommand ref
5807reference "sub:Konkrétní-použité-aproximace-iLDP"
5808
5809\end_inset
5810
5811, získáme dvacet členů prvního řádu a mnohonásobně víc členů druhého řádu.
5812 V takovémto případě je implementace algoritmu prakticky nemožná, omezíme
5813 se tedy na postačující statistiku ve tvaru
5814\begin_inset Formula $S_{k}=\left(\hat{x}_{k},P_{k}^{(3,3)},P_{k}^{(4,4)}\right)$
5815\end_inset
5816
5817, odhadu stavu a variancí odhadů složek rychlosti a otáček, které právě
5818 nemůžeme měřit.
5819\end_layout
5820
5821\begin_layout Subsubsection
5822Detaily implementace algoritmu
5823\end_layout
5824
5825\begin_layout Standard
5826Základní návrh implementace vychází z verze algoritmu pro jednoduchý systém
5827 viz
5828\begin_inset CommandInset ref
5829LatexCommand ref
5830reference "sub:iLDP-js-implementace"
5831
5832\end_inset
5833
5834, kterou modifikuje a rozšiřuje.
5835\end_layout
5836
5837\begin_layout Standard
5838Okolí
5839\begin_inset Formula $\left\{ x^{(n)}\right\} $
5840\end_inset
5841
5842 je voleno opět jako náhodná veličina s normálním rozdělením se střední
5843 hodnotou rovnou průměrnému stavu
5844\begin_inset Formula $\bar{x}(k)$
5845\end_inset
5846
5847 a rozptylem specifikovaným parametrem
5848\begin_inset Formula $\rho^{2}$
5849\end_inset
5850
5851.
5852 Počet vzorků
5853\begin_inset Formula $M$
5854\end_inset
5855
5856 je ponechán na hodnotě
5857\begin_inset Formula $100$
5858\end_inset
5859
5860, i když byly testovány i jiné hodnoty.
5861 
5862\end_layout
5863
5864\begin_layout Standard
5865Protože se úloha řízení synchronního motoru snaží do jisté míry přiblížit
5866 realitě, uvažujeme vstupy jako omezené.
5867 Tedy předpokládáme, že zdroj nemůže dodat na vstup libovolné napětí, ale
5868 je třeba dodržet jistá omezení.
5869 Zde budou omezení vstupů reprezentována podmínkou
5870\begin_inset Formula \[
5871u_{\alpha}^{2}+u_{\beta}^{2}\leq u_{max}^{2},\]
5872
5873\end_inset
5874
5875kde
5876\begin_inset Formula $u_{max}$
5877\end_inset
5878
5879 předpokládáme jako zadanou konstantu.
5880 Pro minimalizaci v algoritmu
5881\emph on
5882iLDP
5883\emph default
5884 je tedy třeba užít omezené minimalizace, zde je použita minimalizační funkce
5885 programu
5886\emph on
5887Matlab
5888\emph default
5889(
5890\emph on
5891Optimization Toolbox
5892\emph default
5893)
5894\family typewriter
5895fmincon
5896\family default
5897.
5898\end_layout
5899
5900\begin_layout Subsubsection
5901Volba aproximací
5902\end_layout
5903
5904\begin_layout Standard
5905Aproximaci Bellmanovy funkce vytvoříme na základě postačující statistiky
5906 
5907\begin_inset Formula $S_{k}=\left(\hat{x}_{k},P_{k}^{(3,3)},P_{k}^{(4,4)}\right)$
5908\end_inset
5909
5910, tedy dle
5911\begin_inset CommandInset ref
5912LatexCommand ref
5913reference "sub:Konkrétní-použité-aproximace-iLDP"
5914
5915\end_inset
5916
5917 volíme lineární kombinace základních funkcí a na základě zkušeností s jednoduch
5918ým systémem použijeme místo variancí jejich logaritmy.
5919 Soubor základních funkcí je pak
5920\begin_inset Formula \begin{gather*}
59211,\;\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)},\\
5922\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)},\\
5923\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)},\\
5924\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*}
5925
5926\end_inset
5927
5928Ale i takový soubor základních funkcí může být příliš velký, proto byla
5929 zkoušena i možnost s vynecháním prvních dvou členů
5930\begin_inset Formula $\hat{x}_{k}$
5931\end_inset
5932
5933, tedy proudů
5934\begin_inset Formula $i_{\alpha}$
5935\end_inset
5936
5937 a
5938\begin_inset Formula $i_{\beta}$
5939\end_inset
5940
5941.
5942 Naopak byly přidány kvadráty logaritmů variancí.
5943 Druhý možný soubor je tedy
5944\begin_inset Formula \begin{gather*}
59451,\;\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)},\\
5946\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)},\\
5947\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*}
5948
5949\end_inset
5950
5951
5952\end_layout
5953
5954\begin_layout Standard
5955Aproximace řízení byly volena a zkoušena v několika různých tvarech.
5956 Jednalo se o přímovazební řízení
5957\begin_inset Formula $\pi(k,x)=\overline{u}_{k}$
5958\end_inset
5959
5960, kde hodnotu řízení
5961\begin_inset Formula $\overline{u}_{k}$
5962\end_inset
5963
5964 získáme jako střední hodnotu přes vzorky
5965\begin_inset Formula $n$
5966\end_inset
5967
5968 všech řízení
5969\family roman
5970\series medium
5971\shape up
5972\size normal
5973\emph off
5974\bar no
5975\noun off
5976\color none
5977
5978\begin_inset Formula $\left\{ u^{(n)}\right\} $
5979\end_inset
5980
5981 v čase
5982\begin_inset Formula $k$
5983\end_inset
5984
5985.
5986 Dále, protože se jedná o točivý stroj, byla testována zpětnovazební aproximace
5987 řízení ve tvaru lineární kombinace funcí
5988\begin_inset Formula $\sin\vartheta,\;\cos\vartheta,\;\sin^{2}\vartheta,\;\cos^{2}\vartheta$
5989\end_inset
5990
5991.
5992 Nakonec byla ještě zkoušena aproximace získaná vyjádřením veličiny
5993\begin_inset Formula $u_{k}$
5994\end_inset
5995
5996 z rovnic systému a doplnění o koeficienty po vzoru nalezení aproximace
5997 řízení v
5998\begin_inset CommandInset ref
5999LatexCommand ref
6000reference "sub:iLDP-js-implementace"
6001
6002\end_inset
6003
6004.
6005\end_layout
6006
6007\begin_layout Subsubsection
6008Problém aplikace iLDP
6009\end_layout
6010
6011\begin_layout Standard
6012Žádný z výše uvedených postupů nevedl k nalezení funkčního řízení, pro zadaný
6013 problém synchronního motoru s permanentními magnety.
6014 Jako zásadní problém zde shledávám netriviální úkol nalezení vhodných aproximac
6015í.
6016 V případě vícerozměrného nelineárního systému to může být velmi náročné
6017 a nahodilé zkoušení volby různých aproximací zřejmě nemusí vést k cíli.
6018 Jednou z možností je, vyjít z jednodušší metody, například
6019\emph on
6020LQG
6021\emph default
6022 nebo modifikované
6023\emph on
6024iLQG
6025\emph default
6026, a aproximace vytvořit po vzoru jejích funkcí.
6027 Pak bychom však obdrželi v podstatě stejně
6028\begin_inset Quotes gld
6029\end_inset
6030
6031přesnou
6032\begin_inset Quotes grd
6033\end_inset
6034
6035 metodu, jako je ta, ze které jsme vyšli, jenom by byl náš algoritmus
6036\emph on
6037 iLDP
6038\emph default
6039 časově náročnější z důvodu numerických výpočtů.
6040 Vhodným kandidátem na metodu z níž by bylo možné vyjít je algoritmus
6041\emph on
6042LQG
6043\emph default
6044, pomocí kterého se podařilo implementovat funkční řízení.
6045\end_layout
6046
6047\begin_layout Subsection
6048Algoritmus LQG
6049\end_layout
6050
6051\begin_layout Standard
6052Zde navržený algoritmu
6053\emph on
6054LQG
6055\emph default
6056 není duální, neurčitosti v systému tedy zvládá hůře než případná duální
6057 metoda.
6058 Dále algoritmus předpokládá lineární systém a kvadratickou ztrátu.
6059 Ztrátu jsme, z důvodu jednoduchosti, jako kvadratickou volili již na počátku,
6060 je ale třeba linearizovat systém v každém časovém kroku.
6061 Dále
6062\emph on
6063LQG
6064\emph default
6065 je založeno na principu separace, tedy estimátor a regulátor navrhujeme
6066 zvlášť.
6067 Estimátorem zvolíme rozšířený Kalmanův filtr, jehož rovnice jsou uvedeny
6068 v části
6069\begin_inset CommandInset ref
6070LatexCommand ref
6071reference "sub:Úprava-rovnic-PMSM"
6072
6073\end_inset
6074
6075.
6076 Jako regulátor použijeme LQ regulátor, který je popsán v
6077\begin_inset CommandInset ref
6078LatexCommand ref
6079reference "sub:LQGkp1"
6080
6081\end_inset
6082
6083.
6084\end_layout
6085
6086\begin_layout Subsubsection
6087Požadovaná hodnota
6088\end_layout
6089
6090\begin_layout Standard
6091Protože jednoduchý systém v
6092\begin_inset CommandInset ref
6093LatexCommand ref
6094reference "sec:Jednoduchý-systém-pro-testovani"
6095
6096\end_inset
6097
6098 byl lineární, bylo prakticky jedno, na jakou požadovanou hodnotu jej řídíme.
6099 Díky linearitě můžeme totiž hodnoty vždy posunout.
6100 Regulátor LQ je navržen pro lineární systém, předpokládá tedy linearitu
6101 a hledá řízení pouze na nulovou hodnotu.
6102 Tedy snaží se minimalizovat odchylku od nuly.
6103 Zde uvažovaný systém je ale nelineární a když chceme řídit na nenulovou
6104 požadovanou hodnotu, v tomto případě jde o požadované otáčky
6105\begin_inset Formula $\overline{\omega}$
6106\end_inset
6107
6108, nelze pouze nalézt LQ řízení na nulu a následně řešení posunout.
6109 Je proto třeba požadovanou hodnotu již od počátku zahrnout do našich uvažování
6110 a přidat ji do systému jako novou stavovou proměnou, byť může být v celém
6111 časovém vývoji systému konstantní.
6112\end_layout
6113
6114\begin_layout Standard
6115Provedeme tedy substituci.
6116 Chceme
6117\family roman
6118\series medium
6119\shape up
6120\size normal
6121\emph off
6122\bar no
6123\noun off
6124\color none
6125řídít na nulu
6126\begin_inset Formula $\omega_{k}-\overline{\omega}_{k}$
6127\end_inset
6128
6129 rozdíl skutečných a požadovaných otáček, tuto veličinu tedy označíme jako
6130 
6131\begin_inset Formula $\psi_{k}$
6132\end_inset
6133
6134 a následně
6135\begin_inset Formula $\psi_{k}=\omega_{k}-\overline{\omega}_{k}$
6136\end_inset
6137
6138.
6139 Z tohoto výrazu si můžeme vyjádřit stavovou proměnou otáček jako
6140\begin_inset Formula $\omega_{k}=\psi_{k}+\overline{\omega}_{k}$
6141\end_inset
6142
6143.
6144 Nyní v rovnicích
6145\begin_inset CommandInset ref
6146LatexCommand ref
6147reference "eq:pmsmdiskretni"
6148
6149\end_inset
6150
6151 dosadíme za
6152\begin_inset Formula $\omega_{k}$
6153\end_inset
6154
6155 a přidáním další rovnice pro vývoj požadované hodnoty
6156\begin_inset Formula $\overline{\omega}_{k}$
6157\end_inset
6158
6159 získáme rovnice nového systému v pěti stavových proměnných
6160\family default
6161\series default
6162\shape default
6163\size default
6164\emph default
6165\bar default
6166\noun default
6167\color inherit
6168
6169\begin_inset Formula \begin{eqnarray*}
6170i_{\alpha,k+1} & = & ai_{\alpha,k}+b\left(\psi_{k}+\overline{\omega}_{k}\right)\sin\vartheta_{k}+cu_{\alpha,k},\\
6171i_{\beta,k+1} & = & ai_{\beta,k}-b\left(\psi_{k}+\overline{\omega}_{k}\right)\cos\vartheta_{k}+cu_{\beta,k},\\
6172\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),\\
6173\vartheta_{k+1} & = & \vartheta_{k}+\left(\psi_{k}+\overline{\omega}_{k}\right)\Delta k,\\
6174\overline{\omega}_{k+1} & = & \overline{\omega}_{k}.\end{eqnarray*}
6175
6176\end_inset
6177
6178Současně se nám ale ztráta v každém časovém kroku
6179\begin_inset Formula $k$
6180\end_inset
6181
6182 změní na
6183\begin_inset Formula \[
6184l(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}.\]
6185
6186\end_inset
6187
6188
6189\end_layout
6190
6191\begin_layout Subsubsection
6192LQG řízení
6193\end_layout
6194
6195\begin_layout Standard
6196Nyní můžeme na matice popisující systém
6197\begin_inset Formula \begin{eqnarray*}
6198A_{k} & = & \frac{d}{dx_{k}}g(x_{k},u_{k})\\
6199 & = & \left(\begin{array}{ccccc}
6200a & 0 & b\sin\vartheta_{k} & b\left(\psi_{k}+\overline{\omega}_{k}\right)\cos\vartheta_{k} & b\sin\vartheta_{k}\\
62010 & a & -b\cos\vartheta_{k} & b\left(\psi_{k}+\overline{\omega}_{k}\right)\sin\vartheta_{k} & -b\cos\vartheta_{k}\\
6202-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)\\
62030 & 0 & \Delta k & 1 & \Delta k\\
62040 & 0 & 0 & 0 & 1\end{array}\right),\end{eqnarray*}
6205
6206\end_inset
6207
6208
6209\end_layout
6210
6211\begin_layout Standard
6212\begin_inset Formula \begin{eqnarray*}
6213B_{k}=\frac{d}{du_{k}}g(x_{k},u_{k}) & = & \left(\begin{array}{cc}
6214c & 0\\
62150 & c\\
62160 & 0\\
62170 & 0\\
62180 & 0\end{array}\right),\\
6219C_{k}=\frac{d}{dx_{k}}h(x_{k}) & = & \left(\begin{array}{ccccc}
62201 & 0 & 0 & 0 & 0\\
62210 & 1 & 0 & 0 & 0\end{array}\right),\\
6222Q & = & \left(\begin{array}{ccccc}
62230 & 0 & 0 & 0 & 0\\
62240 & 0 & 0 & 0 & 0\\
62250 & 0 & 1 & 0 & 0\\
62260 & 0 & 0 & 0 & 0\\
62270 & 0 & 0 & 0 & 0\end{array}\right),\\
6228R & = & \left(\begin{array}{cc}
6229r & 0\\
62300 & r\end{array}\right),\end{eqnarray*}
6231
6232\end_inset
6233
6234aplikovat rovnice pro rozšířený Kalmanův filtr a LQ regulátor.
6235 Přičemž konkrétní hodnoty počátečních hodnot a parametrů budou specifikovány
6236 v kapitole
6237\begin_inset CommandInset ref
6238LatexCommand ref
6239reference "cha:Výsledky"
6240
6241\end_inset
6242
6243.
6244\end_layout
6245
6246\begin_layout Standard
6247Ještě je třeba zmínit, že pro nalezení řízení synchronního motoru není využito
6248 
6249\emph on
6250LQG
6251\emph default
6252 návrhu přesně tak, jak byl popsán v kapitole
6253\begin_inset CommandInset ref
6254LatexCommand ref
6255reference "cha:Algoritmy-pro-návrh"
6256
6257\end_inset
6258
6259, ale algoritmus je zde drobně vylepšen pomocí takzvaného
6260\begin_inset Quotes gld
6261\end_inset
6262
6263ubíhajícího horiznontu
6264\begin_inset Quotes grd
6265\end_inset
6266
6267 (v anglické literatuře označováno jako
6268\begin_inset Quotes gld
6269\end_inset
6270
6271receding horizon
6272\begin_inset Quotes grd
6273\end_inset
6274
6275).
6276 Princip spočívá v tom, že řízení není předpočteno pro celý časový horizont,
6277 pro který jej navrhujeme, ale vypočteme jej pouze pro pevně stanovený pomocný
6278 časový horizont.
6279 Tento pomocný horizont pak v každém časovém kroku posouváme po původní
6280 celkové časové ose, tak aby pomocný horizont začínal vždy v časovém kroku
6281 
6282\begin_inset Formula $k$
6283\end_inset
6284
6285 celkové časové osy, pro který chceme navrhnout řízení.
6286\end_layout
6287
6288\begin_layout Standard
6289\begin_inset Newpage newpage
6290\end_inset
6291
6292
6293\end_layout
6294
6295\begin_layout Chapter
6296Výsledky
6297\begin_inset CommandInset label
6298LatexCommand label
6299name "cha:Výsledky"
6300
6301\end_inset
6302
6303
6304\end_layout
6305
6306\begin_layout Section
6307Metodika zpracování a získávání výsledků
6308\end_layout
6309
6310\begin_layout Standard
6311Pro testované systémy viz kapitola
6312\begin_inset CommandInset ref
6313LatexCommand ref
6314reference "cha:Systémy-pro-testování"
6315
6316\end_inset
6317
6318, byly jednotlivé algoritmy implementovány jako funkce programu
6319\emph on
6320Matlab
6321\emph default
6322.
6323 Vstupními hodnotami byla nastavení jednotlivých počátečních podmínek a
6324 parametrů pro výpočet.
6325 Jednotlivé algoritmy pak byly volány ze skriptu programu
6326\emph on
6327Matlab
6328\emph default
6329 se stejným nastavením hodnot.
6330 Návratovými hodnotami jednotlivých funkcí reprezentujících algoritmy pak
6331 byla dosažená hodnota ztráty a posloupnost reprezentující diskrétní trajektorii
6332 systému ve stavovém prostoru.
6333 Hodnota ztráty
6334\begin_inset Formula $J_{alg}$
6335\end_inset
6336
6337 byla pro účely porovnání algoritmů formulována stejně, jako součet kvadrátů
6338 odchylek výstupu od požadované hodnoty, tedy
6339\begin_inset Formula \[
6340J_{alg}=\sum_{k=0}^{K-1}\left(y_{k+1}-r_{k+1}\right)^{2}.\]
6341
6342\end_inset
6343
6344Při porovnávání jednotlivých algoritmů nebyly samozřejmě uvažovány výsledky
6345 jednoho běhu výpočtu, ale provedlo se běhů více a následně byla pro výsledky
6346 vypočtena jejich střední hodnota.
6347\end_layout
6348
6349\begin_layout Subsection
6350Funkce pro jednoduchý systém
6351\end_layout
6352
6353\begin_layout Standard
6354Všechny konkrétní funkce programu
6355\emph on
6356Matlab
6357\emph default
6358 reprezentující jednotlivé algoritmy mají stejnou strukturu.
6359 Na počátku dostanou jako své vstupní hodnoty parametry:
6360\end_layout
6361
6362\begin_layout Labeling
6363\labelwidthstring 00.00.0000
6364\begin_inset Formula $y_{0}$
6365\end_inset
6366
6367 počáteční hodnota proměnné
6368\begin_inset Formula $y$
6369\end_inset
6370
6371, tedy hodnota
6372\begin_inset Formula $y_{k}$
6373\end_inset
6374
6375 v čase
6376\begin_inset Formula $k=1$
6377\end_inset
6378
6379;
6380\end_layout
6381
6382\begin_layout Labeling
6383\labelwidthstring 00.00.0000
6384\begin_inset Formula $y_{r}$
6385\end_inset
6386
6387 požadovaná hodnota
6388\begin_inset Formula $y$
6389\end_inset
6390
6391, referenční signál;
6392\end_layout
6393
6394\begin_layout Labeling
6395\labelwidthstring 00.00.0000
6396\begin_inset Formula $\hat{b}$
6397\end_inset
6398
6399 střední hodnota neznámého parametru
6400\begin_inset Formula $b$
6401\end_inset
6402
6403;
6404\end_layout
6405
6406\begin_layout Labeling
6407\labelwidthstring 00.00.0000
6408\begin_inset Formula $P$
6409\end_inset
6410
6411 variance neznámého parametru
6412\begin_inset Formula $b$
6413\end_inset
6414
6415;
6416\end_layout
6417
6418\begin_layout Labeling
6419\labelwidthstring 00.00.0000
6420\begin_inset Formula $\sigma^{2}$
6421\end_inset
6422
6423 variance šumu;
6424\end_layout
6425
6426\begin_layout Labeling
6427\labelwidthstring 00.00.0000
6428\begin_inset Formula $K$
6429\end_inset
6430
6431 časový horizont, pro který navrhujeme řízení;
6432\end_layout
6433
6434\begin_layout Labeling
6435\labelwidthstring 00.00.0000
6436\begin_inset Formula $N$
6437\end_inset
6438
6439 počet vzorkových trajektorií pro simulaci.
6440\end_layout
6441
6442\begin_layout Standard
6443Následně proběhne výpočet řízení na základě konkrétního algoritmu, zpravidla
6444 podle rovnic a vzorců popsaných v části
6445\begin_inset CommandInset ref
6446LatexCommand ref
6447reference "sec:Jednoduchý-systém-pro-testovani"
6448
6449\end_inset
6450
6451.
6452 Dále je provedena simulace běhu systému s použítím řízení získaného v předchozí
6453m kroku.
6454 V průběhu této simulace je vypočítána hodnota dosažené ztráty a posloupnost
6455 odpovídající trajektorie systému.
6456 Tyto veličiny charakterizující použití daného algoritmu na jednoduchý systém
6457 jsou na závěr vráceny jako návratové hodnoty funkce.
6458\end_layout
6459
6460\begin_layout Subsection
6461Testovací shémata jednoduchého systému
6462\end_layout
6463
6464\begin_layout Standard
6465Pro porovnání jednotlivých algortimů stačí zadat do skriptu konkrétní hodnoty
6466 parametrů, které budou pro jednotlivá schémata uvedena dále.
6467\end_layout
6468
6469\begin_layout Standard
6470Jednotlivé algoritmy z části
6471\begin_inset CommandInset ref
6472LatexCommand ref
6473reference "sec:Jednoduchý-systém-pro-testovani"
6474
6475\end_inset
6476
6477 budou v následujícím textu označeny po řadě zkratkami:
6478\end_layout
6479
6480\begin_layout Labeling
6481\labelwidthstring 00.00.0000
6482
6483\emph on
6484CE
6485\emph default
6486 triviální CE regulátor;
6487\end_layout
6488
6489\begin_layout Labeling
6490\labelwidthstring 00.00.0000
6491
6492\emph on
6493sLQ
6494\emph default
6495 jednoduchá verze LQ regulátoru;
6496\end_layout
6497
6498\begin_layout Labeling
6499\labelwidthstring 00.00.0000
6500
6501\emph on
6502LQ
6503\emph default
6504 druhá verze LQG řízení s odhadem parametru
6505\begin_inset Formula $b$
6506\end_inset
6507
6508;
6509\end_layout
6510
6511\begin_layout Labeling
6512\labelwidthstring 00.00.0000
6513
6514\emph on
6515iLQG
6516\emph default
6517 řízení iLQG;
6518\end_layout
6519
6520\begin_layout Labeling
6521\labelwidthstring 00.00.0000
6522
6523\emph on
6524iLDP
6525\emph default
6526 algoritmus iterativního lokálního dynamického programování.
6527\end_layout
6528
6529\begin_layout Section
6530Výsledky algoritmů pro jednoduchý systém
6531\end_layout
6532
6533\begin_layout Subsection
6534Různá počáteční nastavení
6535\end_layout
6536
6537\begin_layout Standard
6538Volba počáteční nastavení, tedy parametrů skriptu pro volání funkcí byla
6539 v jednotlivých testovacích schématech následující:
6540\end_layout
6541
6542\begin_layout Standard
6543Počáteční hodnota a referenční signál byly voleny jako
6544\begin_inset Formula \begin{eqnarray*}
6545y_{0} & = & 0,\\
6546y_{r} & = & 1.\end{eqnarray*}
6547
6548\end_inset
6549
6550 Z důvodu linearity úlohy je možné je libovolně posunout a přeškálovat,
6551 není tedy uvažováno testování pro jiné hodnoty.
6552 Variance šumu
6553\begin_inset Formula $\sigma^{2}$
6554\end_inset
6555
6556 je volena pomocí odchylky
6557\begin_inset Formula \[
6558\sigma=0,1.\]
6559
6560\end_inset
6561
6562Pro metodu
6563\emph on
6564iLDP
6565\emph default
6566 je pak parametr okolí položen
6567\begin_inset Formula $\rho=0,5$
6568\end_inset
6569
6570, není-li uvedeno jinak.
6571 Časový horizont pro výpočty je
6572\begin_inset Formula $K=5$
6573\end_inset
6574
6575, což se jeví dostatečným pro dosažení požadované hodnoty.
6576 Dále je v testovacích schématech použit počet vzorkových trajektorií
6577\begin_inset Formula $N=100$
6578\end_inset
6579
6580.
6581 
6582\end_layout
6583
6584\begin_layout Standard
6585Středem našeho zájmu je volba střední hodnoty a variance neznámého parametru
6586 
6587\begin_inset Formula $b$
6588\end_inset
6589
6590.
6591 Zejména volbou variance
6592\begin_inset Formula $P$
6593\end_inset
6594
6595 určujeme míru neznalosti parametru a tedy i nutnost užití duální metody.
6596 Bude-li
6597\begin_inset Formula $P$
6598\end_inset
6599
6600 velmi malé, skutečná hodnota
6601\begin_inset Formula $b$
6602\end_inset
6603
6604 se přiblíží střední hodnotě
6605\begin_inset Formula $\hat{b}$
6606\end_inset
6607
6608 a dobré řízení nám poskytnou i neduální metody založené na předpokladu,
6609 že
6610\begin_inset Formula $b=\hat{b}$
6611\end_inset
6612
6613.
6614 S rostoucí variancí
6615\begin_inset Formula $P$
6616\end_inset
6617
6618 se však začnou vyskytovat realizace, kdy se skutečná hodnota
6619\begin_inset Formula $b$
6620\end_inset
6621
6622 výrazně odlišuje od střední hodnoty
6623\begin_inset Formula $\hat{b}$
6624\end_inset
6625
6626 a právě tam neduální metody dosáhnou příliš velké ztráty, nebo úplně selžou
6627 v úkolu řízení.
6628 Z tohoto důvodu byly testovány všechny kombinace pro volby parametrů
6629\begin_inset Formula \begin{eqnarray*}
6630\hat{b} & = & 0;\;1;\;10;\\
6631P & = & 0,01;\;0,1;\;1;\;10.\end{eqnarray*}
6632
6633\end_inset
6634
6635
6636\end_layout
6637
6638\begin_layout Subsection
6639Výsledky porovnání algoritmů
6640\end_layout
6641
6642\begin_layout Standard
6643Nyní porovnáme výsledky jednotlivých algoritmů a to hlavně podle dosažené
6644 hodnoty průměrné ztráty.
6645 Průměrná ztráta pro každý algoritmus je počítáma jako aritmetický průměr
6646 
6647\begin_inset Formula $N$
6648\end_inset
6649
6650 ztrát
6651\begin_inset Formula $J_{alg}$
6652\end_inset
6653
6654 dosažených pro každou z
6655\begin_inset Formula $N$
6656\end_inset
6657
6658 vzorkových simulačních trajektorií.
6659 Tento postup, založený na průměrné ztrátě, je volen především z důvodu
6660 omezení vlivu šumu, který se pro každou konkrétní realizaci může nagenerovat
6661 jinak, více či méně
6662\begin_inset Quotes gld
6663\end_inset
6664
6665příznivě
6666\begin_inset Quotes grd
6667\end_inset
6668
6669 pro daný algoritmus.
6670 Pro srovnání, je minimální ztráta, které algoritmus může dosáhnout rovna
6671 
6672\begin_inset Formula $1$
6673\end_inset
6674
6675.
6676 Je to způsobeno tím, že počáteční nastavení v prvním časovém kroku je voleno
6677 jako počáteční podmínka
6678\begin_inset Formula $y_{1}=0$
6679\end_inset
6680
6681, přičemž ale požadovaná hodnota
6682\begin_inset Formula $y_{r}=1.$
6683\end_inset
6684
6685 Ideální řízení může dosáhnout požadované hodnoty nejdříve v čase
6686\begin_inset Formula $2$
6687\end_inset
6688
6689 a tedy vždy bude ztráta nejméně
6690\begin_inset Formula $1$
6691\end_inset
6692
6693.
6694 Dále je třeba uvažovat chybu v důsledku šumu, který se generuje náhodně.
6695 Řízení se s ním ale vypořádává až následně, tedy nelze chybě v důsledku
6696 šumu předcházet a je ji nutno zahrnout do úvažování o minimální možné ztrátě.
6697 Naopak, pro srovnání, když uvažujeme nulové řízení na celém časovém horizontu,
6698 hodnota
6699\begin_inset Formula $y_{k}$
6700\end_inset
6701
6702 se drží přibližně, až na odchylky v důsledku šumu, na nulové hodnotě.
6703 Tento stav můžeme zřejmě označit za nesplnění našeho cíle řízení, protože
6704 veličina
6705\begin_inset Formula $y_{k}$
6706\end_inset
6707
6708 zůstává konstantně na nule i když se chceme dostat na
6709\begin_inset Formula $y_{r}=1$
6710\end_inset
6711
6712.
6713 Přitom ztráta dosažená v tomto negativním případě je na zvoleném časovém
6714 horizontu rovna
6715\begin_inset Formula $J=5$
6716\end_inset
6717
6718.
6719\end_layout
6720
6721\begin_layout Standard
6722Při porovnávání výsledků pro všechny volby parametrů
6723\begin_inset Formula $\hat{b}$
6724\end_inset
6725
6726 a
6727\begin_inset Formula $P$
6728\end_inset
6729
6730 je postupováno s rostoucí variancí, od nejnižšího
6731\begin_inset Formula $P$
6732\end_inset
6733
6734 až k
6735\begin_inset Formula $P$
6736\end_inset
6737
6738 nejvyššímu, tedy ve směru růstu potřeby duálního přístupu.
6739\end_layout
6740
6741\begin_layout Subsubsection
6742Volba variance
6743\begin_inset Formula $P=0,01$
6744\end_inset
6745
6746
6747\end_layout
6748
6749\begin_layout Standard
6750Při porovnání průměrných ztrát pro
6751\begin_inset Formula $\hat{b}=10$
6752\end_inset
6753
6754 a
6755\begin_inset Formula $\hat{b}=1$
6756\end_inset
6757
6758 v grafu Obrázek
6759\begin_inset CommandInset ref
6760LatexCommand ref
6761reference "Flo:bars001"
6762
6763\end_inset
6764
6765, kde je volena malá variance
6766\begin_inset Formula $P=0,01$
6767\end_inset
6768
6769, je vidět, že i neduální metody poskytují dobré řízení.
6770 Rozdíly ztrát jsou téměř zanedbatelné, a která metoda dosáhla nepatrně
6771 vyšší nebo nižší ztráty je ovlivněno prakticky jen konkrétní realizací
6772 šumu.
6773 
6774\end_layout
6775
6776\begin_layout Standard
6777Velký problém však nastává při volbě
6778\begin_inset Formula $\hat{b}=0$
6779\end_inset
6780
6781, tedy střední hodnota neznámého parametru
6782\begin_inset Formula $b$
6783\end_inset
6784
6785 je nulová a jeho variance je velmi malá.
6786 Z tohoto důvodu je naprostá většina skutečných realizací parametru
6787\begin_inset Formula $b$
6788\end_inset
6789
6790 velmi blízko nule, a právě to způsobuje některým algoritmům značné problémy.
6791 Jedná se zejména o algoritmus
6792\emph on
6793sLQ
6794\emph default
6795 jehož řešení a následně i ztráta jsou nedefinovány (
6796\begin_inset Quotes gld
6797\end_inset
6798
6799NaN
6800\begin_inset Quotes grd
6801\end_inset
6802
6803 v grafu je z anglického Not-a-Number; tuto hodnotu produkuje program
6804\emph on
6805Matlab
6806\emph default
6807 při nedefinované operaci, nejčastěji typu
6808\begin_inset Formula $0\cdot\infty$
6809\end_inset
6810
6811).
6812 Dále značně velké ztráty dosahuje algoritmus
6813\emph on
6814CE
6815\emph default
6816.
6817 Jak bylo zmíněno v části
6818\begin_inset CommandInset ref
6819LatexCommand ref
6820reference "sub:Aplikace-metody-CE-naJS"
6821
6822\end_inset
6823
6824, tato metoda má problematické chování, když se skutečná hodnota
6825\begin_inset Formula $b$
6826\end_inset
6827
6828 blíží k
6829\begin_inset Formula $0$
6830\end_inset
6831
6832.
6833 Částečně tento problém řeší přídání pomocného parametru
6834\begin_inset Formula $\varepsilon$
6835\end_inset
6836
6837, avšak ztráta stále dosahuje velmi vysokých hodnot a algoritmus se v tomto
6838 případě jeví nepoužitelným.
6839\end_layout
6840
6841\begin_layout Standard
6842Vyšší hodnoty průměrné ztráty dosahuje i algoritmus
6843\emph on
6844iLDP
6845\emph default
6846, který v implementaci použité v této práci vykazuje obecně špatné chování
6847 v blízkosti nulové hodnoty pro neznámý parametr
6848\begin_inset Formula $b$
6849\end_inset
6850
6851.
6852 Tento problém bude ještě podrobněji rozebrán v diskuzi k této metodě.
6853\end_layout
6854
6855\begin_layout Subsubsection
6856Volba variance
6857\begin_inset Formula $P=0,1$
6858\end_inset
6859
6860
6861\end_layout
6862
6863\begin_layout Standard
6864Dosažené průměrné ztráty na grafu Obrázek
6865\begin_inset CommandInset ref
6866LatexCommand ref
6867reference "Flo:bars01"
6868
6869\end_inset
6870
6871 pro vyšší hodnutu variance
6872\begin_inset Formula $P=0,1$
6873\end_inset
6874
6875 jsou pro střední hodnoty
6876\begin_inset Formula $\hat{b}=10$
6877\end_inset
6878
6879 a
6880\begin_inset Formula $\hat{b}=1$
6881\end_inset
6882
6883 opět přibližně stejné u všech algoritmů.
6884 Je zde ale již patrný vliv větší variance, kdy nejjednodušší algoritmy
6885 
6886\emph on
6887CE
6888\emph default
6889 a
6890\emph on
6891sLQ
6892\emph default
6893 dosahují průměrné ztráty nepatrně vyšší.
6894\end_layout
6895
6896\begin_layout Standard
6897V případě střední hodnoty neznámého parametru rovné
6898\begin_inset Formula $\hat{b}=0$
6899\end_inset
6900
6901 selhává řízení
6902\emph on
6903sLQ
6904\emph default
6905 stejně jako pro varianci
6906\begin_inset Formula $P=0,01$
6907\end_inset
6908
6909.
6910 Podobně ztráta dosažená metodou
6911\emph on
6912CE
6913\emph default
6914 je ještě o několik řádů vyšší než v předchozím případě.
6915 Nejznatelnější zhoršení je však na straně algoritmu
6916\emph on
6917iLDP
6918\emph default
6919, který pro
6920\begin_inset Formula $\hat{b}=0$
6921\end_inset
6922
6923 vůbec nenalezne řešení.
6924 Dokonce ani v jednom z testovacích spuštění skriptu pro uvažované hodnoty
6925 nedoběhl algoritmus
6926\emph on
6927iLDP
6928\emph default
6929 do konce a vždy zhavaroval v průběhu výpočtu, zpravidla kvůli počítání
6930 s hodnotami
6931\emph on
6932NaN
6933\emph default
6934.
6935\end_layout
6936
6937\begin_layout Subsubsection
6938Volba variance
6939\begin_inset Formula $P=1$
6940\end_inset
6941
6942
6943\end_layout
6944
6945\begin_layout Standard
6946Graf Obrázek
6947\begin_inset CommandInset ref
6948LatexCommand ref
6949reference "Flo:bars1"
6950
6951\end_inset
6952
6953 zobrazuje hodnoty dosažených průměrných ztrát pro hodnotu variance
6954\begin_inset Formula $P=1$
6955\end_inset
6956
6957.
6958 Při volbě střední hodnoty
6959\begin_inset Formula $\hat{b}=10$
6960\end_inset
6961
6962 jsou průměrné ztráty velmi nízké a poměrně vyrovnané.
6963\end_layout
6964
6965\begin_layout Standard
6966Střední hodnota
6967\begin_inset Formula $\hat{b}=1$
6968\end_inset
6969
6970 již může být pro některé algoritmy problematická, protože současně je variance
6971 volena jako
6972\begin_inset Formula $P=1$
6973\end_inset
6974
6975 a tedy značně narůstá pravděpodobnost konkrétní realizace parametru
6976\begin_inset Formula $b$
6977\end_inset
6978
6979 jehož skutečná hodnota bude velmi blízko nuly.
6980 Právě to se nejvýrazněji projevuje u algoritmů
6981\emph on
6982CE
6983\emph default
6984,
6985\emph on
6986 sLQ
6987\emph default
6988 a
6989\emph on
6990iLDP
6991\emph default
6992.
6993 
6994\end_layout
6995
6996\begin_layout Standard
6997Volba
6998\begin_inset Formula $\hat{b}=0$
6999\end_inset
7000
7001 pak dává prakticky stejné výsledky jako předchozí případ pro
7002\begin_inset Formula $P=0,1$
7003\end_inset
7004
7005, kdy metoda
7006\emph on
7007CE
7008\emph default
7009 dosahuje nepřijatelně velké ztráty a algortimy
7010\emph on
7011sLQ
7012\emph default
7013 a
7014\emph on
7015iLDP
7016\emph default
7017 vůbec nenaleznou řešení.
7018\end_layout
7019
7020\begin_layout Subsubsection
7021Volba variance
7022\begin_inset Formula $P=10$
7023\end_inset
7024
7025
7026\end_layout
7027
7028\begin_layout Standard
7029Pro relativně velkou hodnotu variance
7030\begin_inset Formula $P=10$
7031\end_inset
7032
7033 jsou průměrné dosažené ztráty jednotlivých algoritmů zachyceny na grafu
7034 Obrázek
7035\begin_inset CommandInset ref
7036LatexCommand ref
7037reference "Flo:bars10"
7038
7039\end_inset
7040
7041.
7042 Při střední hodnotě
7043\begin_inset Formula $\hat{b}=10$
7044\end_inset
7045
7046 je dosaženo nízkých a vyrovnaných hodnot ztráty.
7047 
7048\end_layout
7049
7050\begin_layout Standard
7051Volba
7052\begin_inset Formula $\hat{b}=1$
7053\end_inset
7054
7055 je opět problematická pro metody
7056\emph on
7057CE
7058\emph default
7059 a
7060\emph on
7061sLQ
7062\emph default
7063a algoritmus
7064\emph on
7065iLDP
7066\emph default
7067 v tomto případě vůbec nenalezne řešení.
7068 Jako jediné použitelné se v tomto případě jeví algoritmy
7069\emph on
7070LQ
7071\emph default
7072 a
7073\emph on
7074iLQG
7075\emph default
7076.
7077\end_layout
7078
7079\begin_layout Standard
7080Problematická volba střední hodnoty
7081\begin_inset Formula $\hat{b}=0$
7082\end_inset
7083
7084 pak dává výsledky analogické předchozím dvěma volbám variance
7085\begin_inset Formula $P=1$
7086\end_inset
7087
7088 a
7089\begin_inset Formula $P=0,1$
7090\end_inset
7091
7092, tedy algoritmy
7093\emph on
7094sLQ
7095\emph default
7096a
7097\emph on
7098iLDP
7099\emph default
7100 nenalézají řešení a
7101\emph on
7102CE
7103\emph default
7104 dosahuje extrémní průměrné ztráty.
7105\end_layout
7106
7107\begin_layout Subsection
7108Chování jednotlivých algoritmů
7109\end_layout
7110
7111\begin_layout Standard
7112Oproti porovnání ztrát algoritmů mezi sebou, v této části porovnáme průměrné
7113 ztráty každého konkrétního algorimu pro různé volby parametrů
7114\begin_inset Formula $\hat{b}$
7115\end_inset
7116
7117 a
7118\begin_inset Formula $P$
7119\end_inset
7120
7121.
7122 Tímto postupem získáme lepší představu, pro jaké volby parametrů je algoritmus
7123 vhodnější, méně vhodný, popřípadě nepoužitelný.
7124\end_layout
7125
7126\begin_layout Subsubsection
7127CE
7128\end_layout
7129
7130\begin_layout Standard
7131Následující tabulka obsahuje hodnoty průměrných ztrát dosažených pomocí
7132 metody
7133\emph on
7134CE
7135\emph default
7136 pro různé volby parametrů
7137\begin_inset Formula $\hat{b}$
7138\end_inset
7139
7140 (řádek) a
7141\begin_inset Formula $P$
7142\end_inset
7143
7144 (sloupec).
7145\begin_inset Newline newline
7146\end_inset
7147
7148
7149\end_layout
7150
7151\begin_layout Standard
7152\align center
7153\begin_inset Tabular
7154<lyxtabular version="3" rows="5" columns="4">
7155<features>
7156<column alignment="center" valignment="top" width="0">
7157<column alignment="center" valignment="middle" width="0">
7158<column alignment="center" valignment="top" width="0">
7159<column alignment="center" valignment="top" width="0">
7160<row>
7161<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
7162\begin_inset Text
7163
7164\begin_layout Plain Layout
7165\begin_inset Formula $P\setminus\hat{b}$
7166\end_inset
7167
7168
7169\end_layout
7170
7171\end_inset
7172</cell>
7173<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
7174\begin_inset Text
7175
7176\begin_layout Plain Layout
717710
7178\end_layout
7179
7180\end_inset
7181</cell>
7182<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
7183\begin_inset Text
7184
7185\begin_layout Plain Layout
71861
7187\end_layout
7188
7189\end_inset
7190</cell>
7191<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
7192\begin_inset Text
7193
7194\begin_layout Plain Layout
71950
7196\end_layout
7197
7198\end_inset
7199</cell>
7200</row>
7201<row>
7202<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7203\begin_inset Text
7204
7205\begin_layout Plain Layout
72060,01
7207\end_layout
7208
7209\end_inset
7210</cell>
7211<cell alignment="center" valignment="middle" topline="true" leftline="true" usebox="none">
7212\begin_inset Text
7213
7214\begin_layout Plain Layout
72151.0432
7216\end_layout
7217
7218\end_inset
7219</cell>
7220<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7221\begin_inset Text
7222
7223\begin_layout Plain Layout
72241.0909
7225\end_layout
7226
7227\end_inset
7228</cell>
7229<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7230\begin_inset Text
7231
7232\begin_layout Plain Layout
72334.4083e+17
7234\end_layout
7235
7236\end_inset
7237</cell>
7238</row>
7239<row>
7240<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7241\begin_inset Text
7242
7243\begin_layout Plain Layout
72440,1
7245\end_layout
7246
7247\end_inset
7248</cell>
7249<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7250\begin_inset Text
7251
7252\begin_layout Plain Layout
72531.0851
7254\end_layout
7255
7256\end_inset
7257</cell>
7258<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7259\begin_inset Text
7260
7261\begin_layout Plain Layout
72621.2129
7263\end_layout
7264
7265\end_inset
7266</cell>
7267<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7268\begin_inset Text
7269
7270\begin_layout Plain Layout
72711.3361e+22
7272\end_layout
7273
7274\end_inset
7275</cell>
7276</row>
7277<row>
7278<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7279\begin_inset Text
7280
7281\begin_layout Plain Layout
72821
7283\end_layout
7284
7285\end_inset
7286</cell>
7287<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7288\begin_inset Text
7289
7290\begin_layout Plain Layout
72911.0609
7292\end_layout
7293
7294\end_inset
7295</cell>
7296<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7297\begin_inset Text
7298
7299\begin_layout Plain Layout
7300103.4646
7301\end_layout
7302
7303\end_inset
7304</cell>
7305<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7306\begin_inset Text
7307
7308\begin_layout Plain Layout
73096.2953e+25
7310\end_layout
7311
7312\end_inset
7313</cell>
7314</row>
7315<row>
7316<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
7317\begin_inset Text
7318
7319\begin_layout Plain Layout
732010
7321\end_layout
7322
7323\end_inset
7324</cell>
7325<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
7326\begin_inset Text
7327
7328\begin_layout Plain Layout
73291.2402
7330\end_layout
7331
7332\end_inset
7333</cell>
7334<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
7335\begin_inset Text
7336
7337\begin_layout Plain Layout
73382.2735e+06
7339\end_layout
7340
7341\end_inset
7342</cell>
7343<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
7344\begin_inset Text
7345
7346\begin_layout Plain Layout
73477.8254e+29
7348\end_layout
7349
7350\end_inset
7351</cell>
7352</row>
7353</lyxtabular>
7354
7355\end_inset
7356
7357
7358\begin_inset Newline newline
7359\end_inset
7360
7361
7362\end_layout
7363
7364\begin_layout Standard
7365Z tabulky je patrno, že řízení
7366\emph on
7367CE
7368\emph default
7369 dosahuje nízké ztráty při dostatečné znalosti neznámého parametru
7370\begin_inset Formula $b$
7371\end_inset
7372
7373, tedy při nízké varianci
7374\begin_inset Formula $P$
7375\end_inset
7376
7377, ovšem za předpokladu, že se se střední hodnotou parametru
7378\begin_inset Formula $b$
7379\end_inset
7380
7381 nacházíme dostatečně daleko od nuly.
7382 Právě nulová hodnota je pro metodu
7383\emph on
7384CE
7385\emph default
7386 kritická, což se snažíme do jisté míry kompenzovat přidáním malého parametru
7387 
7388\begin_inset Formula $\varepsilon$
7389\end_inset
7390
7391.
7392 Jak je ale vidět v posledním sloupci tabulky, pro volbu
7393\begin_inset Formula $\hat{b}=0$
7394\end_inset
7395
7396 se jeví
7397\emph on
7398CE
7399\emph default
7400 jako nepoužitelné.
7401 Dále se jedná o neduální metodu a tedy při velké varianci a tedy neznalosti
7402 o skutečné hodnotě parametru
7403\begin_inset Formula $b$
7404\end_inset
7405
7406 dosahujeme velké ztráty.
7407\end_layout
7408
7409\begin_layout Subsubsection
7410sLQ
7411\end_layout
7412
7413\begin_layout Standard
7414\align center
7415\begin_inset Tabular
7416<lyxtabular version="3" rows="5" columns="4">
7417<features>
7418<column alignment="center" valignment="top" width="0">
7419<column alignment="center" valignment="top" width="0">
7420<column alignment="center" valignment="top" width="0">
7421<column alignment="center" valignment="top" width="0">
7422<row>
7423<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
7424\begin_inset Text
7425
7426\begin_layout Plain Layout
7427\begin_inset Formula $P\setminus\hat{b}$
7428\end_inset
7429
7430
7431\end_layout
7432
7433\end_inset
7434</cell>
7435<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
7436\begin_inset Text
7437
7438\begin_layout Plain Layout
743910
7440\end_layout
7441
7442\end_inset
7443</cell>
7444<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
7445\begin_inset Text
7446
7447\begin_layout Plain Layout
74481
7449\end_layout
7450
7451\end_inset
7452</cell>
7453<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
7454\begin_inset Text
7455
7456\begin_layout Plain Layout
74570
7458\end_layout
7459
7460\end_inset
7461</cell>
7462</row>
7463<row>
7464<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7465\begin_inset Text
7466
7467\begin_layout Plain Layout
74680,01
7469\end_layout
7470
7471\end_inset
7472</cell>
7473<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7474\begin_inset Text
7475
7476\begin_layout Plain Layout
74771.0485
7478\end_layout
7479
7480\end_inset
7481</cell>
7482<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7483\begin_inset Text
7484
7485\begin_layout Plain Layout
74861.0325
7487\end_layout
7488
7489\end_inset
7490</cell>
7491<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7492\begin_inset Text
7493
7494\begin_layout Plain Layout
7495NaN
7496\end_layout
7497
7498\end_inset
7499</cell>
7500</row>
7501<row>
7502<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7503\begin_inset Text
7504
7505\begin_layout Plain Layout
75060,1
7507\end_layout
7508
7509\end_inset
7510</cell>
7511<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7512\begin_inset Text
7513
7514\begin_layout Plain Layout
75151.0635
7516\end_layout
7517
7518\end_inset
7519</cell>
7520<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7521\begin_inset Text
7522
7523\begin_layout Plain Layout
75241.2078
7525\end_layout
7526
7527\end_inset
7528</cell>
7529<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7530\begin_inset Text
7531
7532\begin_layout Plain Layout
7533NaN
7534\end_layout
7535
7536\end_inset
7537</cell>
7538</row>
7539<row>
7540<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7541\begin_inset Text
7542
7543\begin_layout Plain Layout
75441
7545\end_layout
7546
7547\end_inset
7548</cell>
7549<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7550\begin_inset Text
7551
7552\begin_layout Plain Layout
75531.0729
7554\end_layout
7555
7556\end_inset
7557</cell>
7558<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7559\begin_inset Text
7560
7561\begin_layout Plain Layout
756218.6880
7563\end_layout
7564
7565\end_inset
7566</cell>
7567<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7568\begin_inset Text
7569
7570\begin_layout Plain Layout
7571NaN
7572\end_layout
7573
7574\end_inset
7575</cell>
7576</row>
7577<row>
7578<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
7579\begin_inset Text
7580
7581\begin_layout Plain Layout
758210
7583\end_layout
7584
7585\end_inset
7586</cell>
7587<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
7588\begin_inset Text
7589
7590\begin_layout Plain Layout
75911.1987
7592\end_layout
7593
7594\end_inset
7595</cell>
7596<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
7597\begin_inset Text
7598
7599\begin_layout Plain Layout
76005.7873e+05
7601\end_layout
7602
7603\end_inset
7604</cell>
7605<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
7606\begin_inset Text
7607
7608\begin_layout Plain Layout
7609NaN
7610\end_layout
7611
7612\end_inset
7613</cell>
7614</row>
7615</lyxtabular>
7616
7617\end_inset
7618
7619
7620\begin_inset Newline newline
7621\end_inset
7622
7623
7624\end_layout
7625
7626\begin_layout Standard
7627
7628\color black
7629Pro algortimus
7630\emph on
7631sLQ
7632\emph default
7633 je z tabulky průměrných ztrát zřejmé, že algoritmus zcela selhává pro střední
7634 hodnotu
7635\begin_inset Formula $\hat{b}=0$
7636\end_inset
7637
7638 a v tomto případě vůbec nenalézá řízení.
7639 Pro střední hodnoty
7640\begin_inset Formula $\hat{b}=1$
7641\end_inset
7642
7643 a
7644\begin_inset Formula $\hat{b}=10$
7645\end_inset
7646
7647, které jsou dostatečně daleko od nuly, již metoda nalézá ve většině případů
7648 použitelné řízení a ztráta je pak vyrovnaná, zejména při konkrétní volbě
7649 
7650\begin_inset Formula $\hat{b}=10$
7651\end_inset
7652
7653.
7654 V důsledku neduálnosti algoritmu se však projevuje nárůst variance zvýšením
7655 průměrné ztráty.
7656 Při volbě
7657\begin_inset Formula $\hat{b}=1$
7658\end_inset
7659
7660 je ztráta již příliš vysoká pro variance
7661\begin_inset Formula $P=1$
7662\end_inset
7663
7664 a
7665\begin_inset Formula $P=10$
7666\end_inset
7667
7668 a řízení dosahuje nepřijatelně velké ztráty.
7669\end_layout
7670
7671\begin_layout Subsubsection
7672LQ
7673\end_layout
7674
7675\begin_layout Standard
7676\align center
7677\begin_inset Tabular
7678<lyxtabular version="3" rows="5" columns="4">
7679<features>
7680<column alignment="center" valignment="top" width="0">
7681<column alignment="center" valignment="top" width="0">
7682<column alignment="center" valignment="top" width="0">
7683<column alignment="center" valignment="top" width="0">
7684<row>
7685<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
7686\begin_inset Text
7687
7688\begin_layout Plain Layout
7689\begin_inset Formula $P\setminus\hat{b}$
7690\end_inset
7691
7692
7693\end_layout
7694
7695\end_inset
7696</cell>
7697<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
7698\begin_inset Text
7699
7700\begin_layout Plain Layout
770110
7702\end_layout
7703
7704\end_inset
7705</cell>
7706<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
7707\begin_inset Text
7708
7709\begin_layout Plain Layout
77101
7711\end_layout
7712
7713\end_inset
7714</cell>
7715<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
7716\begin_inset Text
7717
7718\begin_layout Plain Layout
77190
7720\end_layout
7721
7722\end_inset
7723</cell>
7724</row>
7725<row>
7726<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7727\begin_inset Text
7728
7729\begin_layout Plain Layout
77300,01
7731\end_layout
7732
7733\end_inset
7734</cell>
7735<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7736\begin_inset Text
7737
7738\begin_layout Plain Layout
77391.0323
7740\end_layout
7741
7742\end_inset
7743</cell>
7744<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7745\begin_inset Text
7746
7747\begin_layout Plain Layout
77481.0461
7749\end_layout
7750
7751\end_inset
7752</cell>
7753<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7754\begin_inset Text
7755
7756\begin_layout Plain Layout
77571.0237
7758\end_layout
7759
7760\end_inset
7761</cell>
7762</row>
7763<row>
7764<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7765\begin_inset Text
7766
7767\begin_layout Plain Layout
77680,1
7769\end_layout
7770
7771\end_inset
7772</cell>
7773<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7774\begin_inset Text
7775
7776\begin_layout Plain Layout
77771.0447
7778\end_layout
7779
7780\end_inset
7781</cell>
7782<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7783\begin_inset Text
7784
7785\begin_layout Plain Layout
77861.0994
7787\end_layout
7788
7789\end_inset
7790</cell>
7791<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7792\begin_inset Text
7793
7794\begin_layout Plain Layout
77951.0592
7796\end_layout
7797
7798\end_inset
7799</cell>
7800</row>
7801<row>
7802<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7803\begin_inset Text
7804
7805\begin_layout Plain Layout
78061
7807\end_layout
7808
7809\end_inset
7810</cell>
7811<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7812\begin_inset Text
7813
7814\begin_layout Plain Layout
78151.0626
7816\end_layout
7817
7818\end_inset
7819</cell>
7820<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7821\begin_inset Text
7822
7823\begin_layout Plain Layout
78241.0252
7825\end_layout
7826
7827\end_inset
7828</cell>
7829<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7830\begin_inset Text
7831
7832\begin_layout Plain Layout
78331.0622
7834\end_layout
7835
7836\end_inset
7837</cell>
7838</row>
7839<row>
7840<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
7841\begin_inset Text
7842
7843\begin_layout Plain Layout
784410
7845\end_layout
7846
7847\end_inset
7848</cell>
7849<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
7850\begin_inset Text
7851
7852\begin_layout Plain Layout
78531.0762
7854\end_layout
7855
7856\end_inset
7857</cell>
7858<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
7859\begin_inset Text
7860
7861\begin_layout Plain Layout
78621.0329
7863\end_layout
7864
7865\end_inset
7866</cell>
7867<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
7868\begin_inset Text
7869
7870\begin_layout Plain Layout
78711.0472
7872\end_layout
7873
7874\end_inset
7875</cell>
7876</row>
7877</lyxtabular>
7878
7879\end_inset
7880
7881
7882\begin_inset Newline newline
7883\end_inset
7884
7885
7886\end_layout
7887
7888\begin_layout Standard
7889Algoritmus
7890\emph on
7891LQ
7892\emph default
7893 se jeví jako nejlepší ze zde testovaných algoritmů.
7894 A to ve srovnání s ostatnímí, ale i jak je patrno z tabulky průměrných
7895 ztrát.
7896 Dosažená hodnota průměrné ztráty je velmi nízká a to pro všechny případy
7897 volby parametrů
7898\begin_inset Formula $\hat{b}$
7899\end_inset
7900
7901 a
7902\begin_inset Formula $P$
7903\end_inset
7904
7905.
7906 Uvažujeme samozřejmě verzi LQ řízení pro upravený systém, kdy je zahrnut
7907 do stavových proměných i odhad skutečného parametru
7908\begin_inset Formula $b$
7909\end_inset
7910
7911 v podobě jeho střední hodnoty a variance jako postačující statistiky.
7912 Jedná se tedy v podstatě o duální přístup, který je však narozdíl od složitější
7913ch algoritmů, řešen pouze linearizací v každém časovém kroku, ale bez aproximací
7914 a numerických výpočtů.
7915\end_layout
7916
7917\begin_layout Subsubsection
7918iLQG
7919\end_layout
7920
7921\begin_layout Standard
7922\align center
7923\begin_inset Tabular
7924<lyxtabular version="3" rows="5" columns="4">
7925<features>
7926<column alignment="center" valignment="top" width="0">
7927<column alignment="center" valignment="top" width="0">
7928<column alignment="center" valignment="top" width="0">
7929<column alignment="center" valignment="top" width="0">
7930<row>
7931<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
7932\begin_inset Text
7933
7934\begin_layout Plain Layout
7935\begin_inset Formula $P\setminus\hat{b}$
7936\end_inset
7937
7938
7939\end_layout
7940
7941\end_inset
7942</cell>
7943<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
7944\begin_inset Text
7945
7946\begin_layout Plain Layout
794710
7948\end_layout
7949
7950\end_inset
7951</cell>
7952<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
7953\begin_inset Text
7954
7955\begin_layout Plain Layout
79561
7957\end_layout
7958
7959\end_inset
7960</cell>
7961<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
7962\begin_inset Text
7963
7964\begin_layout Plain Layout
79650
7966\end_layout
7967
7968\end_inset
7969</cell>
7970</row>
7971<row>
7972<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
7973\begin_inset Text
7974
7975\begin_layout Plain Layout
79760,01
7977\end_layout
7978
7979\end_inset
7980</cell>
7981<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7982\begin_inset Text
7983
7984\begin_layout Plain Layout
79851.0374
7986\end_layout
7987
7988\end_inset
7989</cell>
7990<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
7991\begin_inset Text
7992
7993\begin_layout Plain Layout
79941.0418
7995\end_layout
7996
7997\end_inset
7998</cell>
7999<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
8000\begin_inset Text
8001
8002\begin_layout Plain Layout
80031.9138
8004\end_layout
8005
8006\end_inset
8007</cell>
8008</row>
8009<row>
8010<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
8011\begin_inset Text
8012
8013\begin_layout Plain Layout
80140,1
8015\end_layout
8016
8017\end_inset
8018</cell>
8019<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
8020\begin_inset Text
8021
8022\begin_layout Plain Layout
80231.0372
8024\end_layout
8025
8026\end_inset
8027</cell>
8028<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
8029\begin_inset Text
8030
8031\begin_layout Plain Layout
80321.0663
8033\end_layout
8034
8035\end_inset
8036</cell>
8037<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
8038\begin_inset Text
8039
8040\begin_layout Plain Layout
80412.1010
8042\end_layout
8043
8044\end_inset
8045</cell>
8046</row>
8047<row>
8048<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
8049\begin_inset Text
8050
8051\begin_layout Plain Layout
80521
8053\end_layout
8054
8055\end_inset
8056</cell>
8057<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
8058\begin_inset Text
8059
8060\begin_layout Plain Layout
80611.0445
8062\end_layout
8063
8064\end_inset
8065</cell>
8066<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
8067\begin_inset Text
8068
8069\begin_layout Plain Layout
80701.5009
8071\end_layout
8072
8073\end_inset
8074</cell>
8075<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
8076\begin_inset Text
8077
8078\begin_layout Plain Layout
80792.2043
8080\end_layout
8081
8082\end_inset
8083</cell>
8084</row>
8085<row>
8086<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
8087\begin_inset Text
8088
8089\begin_layout Plain Layout
809010
8091\end_layout
8092
8093\end_inset
8094</cell>
8095<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
8096\begin_inset Text
8097
8098\begin_layout Plain Layout
80991.0691
8100\end_layout
8101
8102\end_inset
8103</cell>
8104<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
8105\begin_inset Text
8106
8107\begin_layout Plain Layout
81081.9873
8109\end_layout
8110
8111\end_inset
8112</cell>
8113<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
8114\begin_inset Text
8115
8116\begin_layout Plain Layout
81172.2035
8118\end_layout
8119
8120\end_inset
8121</cell>
8122</row>
8123</lyxtabular>
8124
8125\end_inset
8126
8127
8128\begin_inset Newline newline
8129\end_inset
8130
8131
8132\end_layout
8133
8134\begin_layout Standard
8135Ztráty dosažené aplikací
8136\emph on
8137iLDP
8138\emph default
8139 na jednoduchý systém, jak je vidět v tabulce, jsou celkově relativně nízké.
8140 Problematičtější chování vykazuje metoda při volbě střední hodnoty
8141\begin_inset Formula $\hat{b}=0$
8142\end_inset
8143
8144, kdy se ztráta pro všechny volby variance
8145\begin_inset Formula $P$
8146\end_inset
8147
8148 pohybuje okolo
8149\begin_inset Formula $2$
8150\end_inset
8151
8152.
8153 I když hodnota ztráty v tomto případě není ideální, nemusí to však přímo
8154 znamenat nedosažení požadované hodnoty.
8155 Chování výstupní trajektorie je patrné z uvedených grafů v části
8156\begin_inset CommandInset ref
8157LatexCommand ref
8158reference "sub:Průběh-skutečné-hodnoty-y"
8159
8160\end_inset
8161
8162.
8163 Pro
8164\begin_inset Formula $\hat{b}=1$
8165\end_inset
8166
8167 začne ztráta znatelně růst až při volbě variance
8168\begin_inset Formula $P=1$
8169\end_inset
8170
8171 a více, tedy když se začnou vyskytovat realizace skutečného parametru
8172\begin_inset Formula $b$
8173\end_inset
8174
8175 blízko problematické nuly.
8176 Střední hodnota
8177\begin_inset Formula $\hat{b}=10$
8178\end_inset
8179
8180 pak není problematická pro žádnou hodnotu
8181\begin_inset Formula $P$
8182\end_inset
8183
8184.
8185\end_layout
8186
8187\begin_layout Subsubsection
8188iLDP
8189\end_layout
8190
8191\begin_layout Standard
8192\align center
8193\begin_inset Tabular
8194<lyxtabular version="3" rows="5" columns="4">
8195<features>
8196<column alignment="center" valignment="top" width="0">
8197<column alignment="center" valignment="top" width="0">
8198<column alignment="center" valignment="top" width="0">
8199<column alignment="center" valignment="top" width="0">
8200<row>
8201<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
8202\begin_inset Text
8203
8204\begin_layout Plain Layout
8205\begin_inset Formula $P\setminus\hat{b}$
8206\end_inset
8207
8208
8209\end_layout
8210
8211\end_inset
8212</cell>
8213<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
8214\begin_inset Text
8215
8216\begin_layout Plain Layout
821710
8218\end_layout
8219
8220\end_inset
8221</cell>
8222<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
8223\begin_inset Text
8224
8225\begin_layout Plain Layout
82261
8227\end_layout
8228
8229\end_inset
8230</cell>
8231<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
8232\begin_inset Text
8233
8234\begin_layout Plain Layout
82350
8236\end_layout
8237
8238\end_inset
8239</cell>
8240</row>
8241<row>
8242<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
8243\begin_inset Text
8244
8245\begin_layout Plain Layout
82460,01
8247\end_layout
8248
8249\end_inset
8250</cell>
8251<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
8252\begin_inset Text
8253
8254\begin_layout Plain Layout
82551.0571
8256\end_layout
8257
8258\end_inset
8259</cell>
8260<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
8261\begin_inset Text
8262
8263\begin_layout Plain Layout
82641.0820
8265\end_layout
8266
8267\end_inset
8268</cell>
8269<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
8270\begin_inset Text
8271
8272\begin_layout Plain Layout
82736.4312
8274\end_layout
8275
8276\end_inset
8277</cell>
8278</row>
8279<row>
8280<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
8281\begin_inset Text
8282
8283\begin_layout Plain Layout
82840,1
8285\end_layout
8286
8287\end_inset
8288</cell>
8289<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
8290\begin_inset Text
8291
8292\begin_layout Plain Layout
82931.0423
8294\end_layout
8295
8296\end_inset
8297</cell>
8298<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
8299\begin_inset Text
8300
8301\begin_layout Plain Layout
83021.1202
8303\end_layout
8304
8305\end_inset
8306</cell>
8307<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
8308\begin_inset Text
8309
8310\begin_layout Plain Layout
8311NaN
8312\end_layout
8313
8314\end_inset
8315</cell>
8316</row>
8317<row>
8318<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
8319\begin_inset Text
8320
8321\begin_layout Plain Layout
83221
8323\end_layout
8324
8325\end_inset
8326</cell>
8327<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
8328\begin_inset Text
8329
8330\begin_layout Plain Layout
83311.0432
8332\end_layout
8333
8334\end_inset
8335</cell>
8336<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
8337\begin_inset Text
8338
8339\begin_layout Plain Layout
83401.5862e+016
8341\end_layout
8342
8343\end_inset
8344</cell>
8345<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
8346\begin_inset Text
8347
8348\begin_layout Plain Layout
8349NaN
8350\end_layout
8351
8352\end_inset
8353</cell>
8354</row>
8355<row>
8356<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
8357\begin_inset Text
8358
8359\begin_layout Plain Layout
836010
8361\end_layout
8362
8363\end_inset
8364</cell>
8365<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
8366\begin_inset Text
8367
8368\begin_layout Plain Layout
83691.1097
8370\end_layout
8371
8372\end_inset
8373</cell>
8374<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
8375\begin_inset Text
8376
8377\begin_layout Plain Layout
8378NaN
8379\end_layout
8380
8381\end_inset
8382</cell>
8383<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
8384\begin_inset Text
8385
8386\begin_layout Plain Layout
8387NaN
8388\end_layout
8389
8390\end_inset
8391</cell>
8392</row>
8393</lyxtabular>
8394
8395\end_inset
8396
8397
8398\begin_inset Newline newline
8399\end_inset
8400
8401
8402\end_layout
8403
8404\begin_layout Standard
8405Algoritmus
8406\emph on
8407iLDP
8408\emph default
8409 se vyznačuje problematickým chováním, jak už bylo uvedeno v porovnání s
8410 ostatními metodami, pro skutečnou hodnotu neznámého parametru
8411\begin_inset Formula $b$
8412\end_inset
8413
8414 blízko nuly.
8415 V tabulce průměrných ztrát můžeme vypozorovat, že ztráta je příliš vysoká
8416 právě v případě kdy je střední hodnota
8417\begin_inset Formula $\hat{b}=0$
8418\end_inset
8419
8420, a dále je-li
8421\begin_inset Formula $\hat{b}=1$
8422\end_inset
8423
8424 a současně je variance
8425\begin_inset Formula $P=1$
8426\end_inset
8427
8428 nebo
8429\begin_inset Formula $P=10$
8430\end_inset
8431
8432, tedy je vyšší pravděpodobnost výskytu realizací skutečné hodnoty
8433\begin_inset Formula $b$
8434\end_inset
8435
8436 blízkých nule.
8437 V ostatních případech dosahuje řízení získané pomocí algoritmu
8438\emph on
8439iLDP
8440\emph default
8441 relativně nízké průměrné ztráty.
8442\end_layout
8443
8444\begin_layout Subsection
8445Průběh skutečné hodnoty
8446\begin_inset CommandInset label
8447LatexCommand label
8448name "sub:Průběh-skutečné-hodnoty-y"
8449
8450\end_inset
8451
8452
8453\end_layout
8454
8455\begin_layout Standard
8456Pro ilustraci vývoje hodnoty veličiny
8457\begin_inset Formula $y$
8458\end_inset
8459
8460, kterou chceme řídit z
8461\begin_inset Formula $y_{0}$
8462\end_inset
8463
8464 na požadovanou hodnotu
8465\begin_inset Formula $y_{r}$
8466\end_inset
8467
8468, jsou v této části uvedeny příklady grafů průběhů
8469\begin_inset Formula $y$
8470\end_inset
8471
8472 pro jednotlivé algoritmy.
8473\end_layout
8474
8475\begin_layout Itemize
8476Na grafech Obrázek
8477\begin_inset CommandInset ref
8478LatexCommand ref
8479reference "Flo:porovnani-prubehu-y"
8480
8481\end_inset
8482
8483 je možné porovnat průběhy
8484\begin_inset Formula $y$
8485\end_inset
8486
8487 jako řešení jednotlivých algoritmů.
8488 V obou případech je volena střední hodnota
8489\begin_inset Formula $\hat{b}=1$
8490\end_inset
8491
8492 a variance je na prvním grafu
8493\begin_inset Formula $P=0,01$
8494\end_inset
8495
8496 a na druhém
8497\begin_inset Formula $P=0,1$
8498\end_inset
8499
8500.
8501 Je možno pozorovat, jak s rostoucí variancí poskytují některé algoritmy
8502 horší výsledek.
8503 
8504\end_layout
8505
8506\begin_layout Itemize
8507Grafy Obrázek
8508\begin_inset CommandInset ref
8509LatexCommand ref
8510reference "Flo:prubeh-y-ce"
8511
8512\end_inset
8513
8514 zobrazují průběhy hodnot
8515\begin_inset Formula $y$
8516\end_inset
8517
8518 při užití řízení
8519\emph on
8520CE
8521\emph default
8522.
8523 Je volena střední hodnota
8524\begin_inset Formula $\hat{b}=1$
8525\end_inset
8526
8527 a postupně všechny testované variance
8528\begin_inset Formula $P$
8529\end_inset
8530
8531.
8532 Každá z barevných čar pak reprezentuje jednu vzorkovou trajektorii, kterých
8533 bylo celkem
8534\begin_inset Formula $100$
8535\end_inset
8536
8537.
8538 Šum způsobuje, že každá z generovaných trajektorií má trochu jiný průběh
8539 a tedy všechny nesplývají v jednu, ale tvoří jakousi
8540\begin_inset Quotes gld
8541\end_inset
8542
8543trubici
8544\begin_inset Quotes grd
8545\end_inset
8546
8547.
8548 To je nejvíce patrné zejména pro volbu variance
8549\begin_inset Formula $P=0,01$
8550\end_inset
8551
8552.
8553 Průměrováním této
8554\begin_inset Quotes gld
8555\end_inset
8556
8557trubice
8558\begin_inset Quotes grd
8559\end_inset
8560
8561 je pak získávána průměrná trajektorie použitá například v grafu Obrázek
8562 
8563\begin_inset CommandInset ref
8564LatexCommand ref
8565reference "Flo:porovnani-prubehu-y"
8566
8567\end_inset
8568
8569.
8570 Při vyšších variancích
8571\begin_inset Formula $P$
8572\end_inset
8573
8574 se pak již projevuje i vliv chyby v důsledku neznalosti skutečné hodnoty
8575 parametru
8576\begin_inset Formula $b$
8577\end_inset
8578
8579, protože jej předpokládáme rovný jeho střední hodnotě.
8580 Pro
8581\begin_inset Formula $P=0,1$
8582\end_inset
8583
8584 lze pozorovat, že některé trajektorie, jedná se o ty, kdy je skutečná hodnota
8585 
8586\begin_inset Formula $b$
8587\end_inset
8588
8589 blízko střední hodnotě
8590\begin_inset Formula $\hat{b}$
8591\end_inset
8592
8593, mají požadovaný průběh.
8594 Naopak lze zřetelně odlišit případy, kdy došlo k nepříznivé realizaci
8595\begin_inset Formula $b$
8596\end_inset
8597
8598.
8599 V těchto případech
8600\begin_inset Formula $y$
8601\end_inset
8602
8603 vůbec nedosahuje požadované hodnoty
8604\begin_inset Formula $y_{r}$
8605\end_inset
8606
8607 a naopak kolem ní osciluje.
8608 Při volbě ještě větších variancí pak narůstá četnost trajektorií, které
8609 místo příblížení požadované hodnotě dokonce divergují.
8610 
8611\end_layout
8612
8613\begin_layout Itemize
8614Průběhy
8615\begin_inset Formula $y$
8616\end_inset
8617
8618 při volbě
8619\begin_inset Formula $\hat{b}=1$
8620\end_inset
8621
8622 s
8623\emph on
8624sLQ
8625\emph default
8626 řízením jsou zobrazeny na grafech Obrázek
8627\begin_inset CommandInset ref
8628LatexCommand ref
8629reference "Flo:prubeh-y-slq"
8630
8631\end_inset
8632
8633.
8634 Význam jednotlivých barevných čar je v tomto i následujících bodech analogický
8635 jako v předchozím bodě.
8636 Podobně je možno pozorovat růst počtu
8637\begin_inset Quotes gld
8638\end_inset
8639
8640nevyhovujících
8641\begin_inset Quotes grd
8642\end_inset
8643
8644 trajektorií
8645\begin_inset Formula $y$
8646\end_inset
8647
8648 s růstem variance
8649\begin_inset Formula $P$
8650\end_inset
8651
8652.
8653 
8654\end_layout
8655
8656\begin_layout Itemize
8657Při
8658\emph on
8659LQ
8660\emph default
8661 řízení, s průběhy
8662\begin_inset Formula $y$
8663\end_inset
8664
8665 na grafech Obrázek
8666\begin_inset CommandInset ref
8667LatexCommand ref
8668reference "Flo:prubeh-y-lq"
8669
8670\end_inset
8671
8672, je dosaženo dobrých výsledků, kdy
8673\begin_inset Formula $y$
8674\end_inset
8675
8676 již od času
8677\begin_inset Formula $2$
8678\end_inset
8679
8680 sleduje požadovanou hotnotu
8681\begin_inset Formula $y_{r}$
8682\end_inset
8683
8684.
8685 Samozřejmě je zde nutno přihlédnout k chybě v důsledku šumu, tedy jednotlivé
8686 vzorkové trajektorie opět tvoří
8687\begin_inset Quotes gld
8688\end_inset
8689
8690trubici
8691\begin_inset Quotes grd
8692\end_inset
8693
8694 okolo požadované hodnoty.
8695 
8696\end_layout
8697
8698\begin_layout Itemize
8699Grafy Obrázek
8700\begin_inset CommandInset ref
8701LatexCommand ref
8702reference "Flo:prubeh-y-ilqg"
8703
8704\end_inset
8705
8706 zobrazují trajektorie
8707\begin_inset Formula $y$
8708\end_inset
8709
8710 pro
8711\emph on
8712iLQG
8713\emph default
8714 řízení.
8715 Zde je zajímavé, že narozdíl od případů pro
8716\emph on
8717CE
8718\emph default
8719 a
8720\emph on
8721sLQ
8722\emph default
8723 řízení, kdy docházelo k oscilacím a divergujícím trajektoriím, v tomto
8724 případě, dochází spíše k odchýlení trajektorie od požadovaného průběhu.
8725 První dvě řízení totiž nejsou duální a užíváme principu
8726\begin_inset Quotes gld
8727\end_inset
8728
8729certainty equivalence
8730\begin_inset Quotes grd
8731\end_inset
8732
8733.
8734 Tedy algoritmy navrhnou řídící zákrok, ten je ale vzhledem k chybnému předpokla
8735du o hodnotě parametu
8736\begin_inset Formula $b$
8737\end_inset
8738
8739 špatný a
8740\begin_inset Formula $y$
8741\end_inset
8742
8743 nabude jiné hodnoty, než jsme zamýšleli.
8744 V dalším kroku se snažíme vrátit, ale řídící zákrok je opět špatný.
8745 Následně může dojít k oscilacím nebo dokonce k divergenci.
8746 Chyby jsou zde způsobeny velkým rozdílem skutečné hodnoty parametu
8747\begin_inset Formula $b$
8748\end_inset
8749
8750 od jeho střední hodnoty, se kterou počítáme.
8751 Naproti tomu v případě
8752\emph on
8753iLQG
8754\emph default
8755 odhadujeme neznámý parametr
8756\begin_inset Formula $b$
8757\end_inset
8758
8759 a chyby jsou zde v důsledku nepřesných výpočtů a následné linearizace vůči
8760 špatné trajektorii.
8761 Zejména při skutečné hodnotě
8762\begin_inset Formula $b$
8763\end_inset
8764
8765 blízko nuly.
8766 
8767\end_layout
8768
8769\begin_layout Itemize
8770Na závěr grafy průběhů
8771\begin_inset Formula $y$
8772\end_inset
8773
8774 pro algoritmus
8775\emph on
8776iLDP
8777\emph default
8778 jsou na Obrázku
8779\begin_inset CommandInset ref
8780LatexCommand ref
8781reference "Flo:prubeh-y-ildp"
8782
8783\end_inset
8784
8785.
8786 Pro tento algoritmus je problematická skutečná hodnota parametru
8787\begin_inset Formula $b=0$
8788\end_inset
8789
8790.
8791 A protože algoritmus využívá výpočtů na vzorkových trajektoriích reprezentující
8792ch okolí, dokonce i jedna z trajektorií, která se výrazným způsobem odchýlí
8793 od ostatních, a tedy od očekávaného průběhu
8794\begin_inset Formula $y$
8795\end_inset
8796
8797, může narušit výsledek, nebo dokonce samotný běh algoritmu.
8798 To je možno pozorovat pro volbu
8799\begin_inset Formula $P=1$
8800\end_inset
8801
8802, kdy
8803\begin_inset Formula $y$
8804\end_inset
8805
8806 výrazně diverguje od požadované hodnoty
8807\begin_inset Formula $y_{r}$
8808\end_inset
8809
8810.
8811 A dále v případě
8812\begin_inset Formula $P=10$
8813\end_inset
8814
8815 algroritmus vůbec nedokončí výpočet.
8816 
8817\end_layout
8818
8819\begin_layout Section
8820Výsledky pro synchronní motor
8821\end_layout
8822
8823\begin_layout Standard
8824V této části jsou uvedeny výsledky pro úlohu nalezení řízení synchronního
8825 motoru s permanentními magnety.
8826 Funkční řízení se však podařilo nalézt pouze pomocí algoritmu
8827\emph on
8828LQG
8829\emph default
8830.
8831 Použitelnou implementaci algoritmu
8832\emph on
8833iLDP
8834\emph default
8835 se nepodařilo vytvořit, tento problém bude rozebrán v diskuzi (část
8836\begin_inset CommandInset ref
8837LatexCommand ref
8838reference "sec:Diskuze"
8839
8840\end_inset
8841
8842), a tedy budou uvedeny výsledky pouze pro metodu
8843\emph on
8844LQG
8845\emph default
8846.
8847\end_layout
8848
8849\begin_layout Subsection
8850Specifikace parametrů a konstant
8851\end_layout
8852
8853\begin_layout Standard
8854Pro výpočet řízení modelu synchronního motoru s permanentními magnety byly
8855 v části
8856\begin_inset CommandInset ref
8857LatexCommand ref
8858reference "sec:Synchronní-motor-PMSP-upravy"
8859
8860\end_inset
8861
8862 uvedeny příslušné rovnice.
8863 Následně byly odvozeny detaily konkrétních implementace pro použité algoritmy.
8864 Pro získání výsledků a ověření použitelnosti řízení je však ještě třeba
8865 specifikovat konkrétní hodnoty jednotlivých konstant a parametrů.
8866\end_layout
8867
8868\begin_layout Subsubsection
8869Konstanty v rovnicích motoru
8870\end_layout
8871
8872\begin_layout Standard
8873Pro účely testování algoritmů volíme konstanty následovně:
8874\begin_inset Formula \begin{eqnarray*}
8875R_{s} & = & 0,28;\\
8876L_{s} & = & 0,003465;\\
8877\Psi_{PM} & = & 0,1989;\\
8878B & = & 0;\\
8879T_{L} & = & 0;\\
8880k_{p} & = & 1,5;\\
8881p_{p} & = & 4,0;\\
8882J & = & 0,04;\\
8883\Delta k & = & 0,000125.\end{eqnarray*}
8884
8885\end_inset
8886
8887Což vede na zjednodušené koeficienty:
8888\begin_inset Formula \begin{eqnarray*}
8889a & = & 0,9898;\\
8890b & = & 0,0072;\\
8891c & = & 0,0361;\\
8892d & = & 1;\\
8893e & = & 0,0149.\end{eqnarray*}
8894
8895\end_inset
8896
8897
8898\end_layout
8899
8900\begin_layout Subsubsection
8901Kovarianční matice
8902\end_layout
8903
8904\begin_layout Standard
8905Kovarianční matice
8906\begin_inset Formula $M_{k}$
8907\end_inset
8908
8909 a
8910\begin_inset Formula $N_{k}$
8911\end_inset
8912
8913 předpokládámé známe a pro účely testování je volíme následovně:
8914\begin_inset Formula \begin{eqnarray*}
8915M_{k} & = & \mathrm{diag\left(0,0013;\:0,0013;\:5e-6;\:1e-10\right),}\\
8916N_{k} & = & \mathrm{diag}\left(0,0006;\:0,0006\right).\end{eqnarray*}
8917
8918\end_inset
8919
8920
8921\end_layout
8922
8923\begin_layout Subsubsection
8924Omezení na vstupy
8925\end_layout
8926
8927\begin_layout Standard
8928Na vstupy
8929\begin_inset Formula $u_{k}$
8930\end_inset
8931
8932 klademe omezení
8933\begin_inset Formula $u_{\alpha}^{2}+u_{\beta}^{2}\leq u_{max}^{2}$
8934\end_inset
8935
8936, kde volíme
8937\begin_inset Formula \begin{eqnarray*}
8938u_{max} & = & 100.\end{eqnarray*}
8939
8940\end_inset
8941
8942
8943\end_layout
8944
8945\begin_layout Subsubsection
8946Ztrátová funkce
8947\end_layout
8948
8949\begin_layout Standard
8950Do ztrátové funkce je třeba zvolit jediný parametr a to prvek
8951\begin_inset Formula $r$
8952\end_inset
8953
8954 na diagonále matice
8955\begin_inset Formula $R$
8956\end_inset
8957
8958.
8959 Tento parametr odpovídá penalizaci za vstupy, ale vstupy chceme upravit
8960 pouze tak, aby splňovaly výše uvedenou podmínku.
8961 Je tedy třeba parametr
8962\begin_inset Formula $r$
8963\end_inset
8964
8965 experimentálně naladit.
8966 Jako vhodná volba se na základě experimentů jeví hodnota
8967\begin_inset Formula \begin{eqnarray*}
8968r & = & 0,000001.\end{eqnarray*}
8969
8970\end_inset
8971
8972
8973\end_layout
8974
8975\begin_layout Subsubsection
8976Časový horizont a vzorky
8977\end_layout
8978
8979\begin_layout Standard
8980Časový horizont je volen
8981\begin_inset Formula $K=20$
8982\end_inset
8983
8984 a vzorkových trajektorií je podobně jako v předchozím případě jednoduchého
8985 systému zvoleno
8986\begin_inset Formula $N=100$
8987\end_inset
8988
8989.
8990\end_layout
8991
8992\begin_layout Subsubsection
8993Požadovaná hodnota
8994\end_layout
8995
8996\begin_layout Standard
8997Jako hodnotu požadovaných otáček volíme
8998\begin_inset Formula \begin{eqnarray*}
8999\overline{\omega} & = & 1,15.\end{eqnarray*}
9000
9001\end_inset
9002
9003Uvážíme-li relativně malou periodu vzorkování
9004\begin_inset Formula $\Delta k$
9005\end_inset
9006
9007, tato hodnota se jeví jako dosažitelnou z počáteční hodnoty
9008\begin_inset Formula $\omega_{0}$
9009\end_inset
9010
9011 při použitém časovém horizontu
9012\begin_inset Formula $K$
9013\end_inset
9014
9015.
9016\end_layout
9017
9018\begin_layout Subsubsection
9019Počáteční podmínky
9020\end_layout
9021
9022\begin_layout Standard
9023Poslední, co je třeba zvolit, jsou počáteční podmínky pro testovaný systém.
9024 Ty samozřejmě neznáme přesně.
9025 Nemůžeme totiž měřit stav, zejména polohu a otáčky hřídele.
9026 Abychom mohli testovat chování algoritmu při rostoucí potřebě duálního
9027 přístupu, podobně jako pro jednoduchý systém, budeme volit stejné střední
9028 hodnoty, ale postupně rostoucí varianci.
9029 To se bude týkat variance polohy hřídele, to jest úhlu natočení.
9030 Volíme tedy počáteční střední hodnoty:
9031\begin_inset Formula \begin{eqnarray*}
9032\hat{i}_{\alpha,0} & = & 0,\\
9033\hat{i}_{\beta,0} & = & 0,\\
9034\hat{\omega}_{0} & = & 1,\\
9035\hat{\vartheta}_{0} & = & \frac{\pi}{2}.\end{eqnarray*}
9036
9037\end_inset
9038
9039A počáteční variance variance postupně:
9040\begin_inset Formula \begin{eqnarray*}
9041P_{0} & = & \mathrm{diag\left(0,01;\:0,01;\:0,01;\:0,01\right),}\\
9042P_{0} & = & \mathrm{diag}\left(0,01;\:0,01;\:0,01;\:0,1\right),\\
9043P_{0} & = & \mathrm{diag}\left(0,01;\:0,01;\:0,01;\:1\right),\\
9044P_{0} & = & \mathrm{diag}\left(0,01;\:0,01;\:0,01;\:10\right).\end{eqnarray*}
9045
9046\end_inset
9047
9048
9049\end_layout
9050
9051\begin_layout Subsection
9052Pozorované výsledky
9053\end_layout
9054
9055\begin_layout Standard
9056Algoritmus
9057\emph on
9058LQG
9059\emph default
9060 implementovaný pro účely nalezení řízení synchronního motoru v této práci
9061 je sice navržen tak, aby dobře zvládal šum (pomocí rozšířeného Kalmanova
9062 filtru), ale nejedná se o duální metodu.
9063 Tedy s rostoucí variancí neznámých hodnot stavu, zejména polohy hřídele
9064 motoru, kterou sledujeme, poskytuje algoritmus horší řízení a dosahuje
9065 tedy i vyšší ztráty.
9066 O tom se můžeme přesvědčit v tabulce průměrných ztrát sestavené na základě
9067 simulací.
9068 
9069\end_layout
9070
9071\begin_layout Standard
9072Simulace byly provedeny analogickým postupem jako pro jednoduchý systém,
9073 kdy průměrná ztráta je střední hodnotou ze ztrát dosažených pro každou
9074 z
9075\begin_inset Formula $N$
9076\end_inset
9077
9078 vzorkových trajektorií s různou náhodnou realizací počátečních podmínek
9079 a šumu.
9080 Ztráta pro jednotlivou vzorkovou trajektorii je opět počítána pouze na
9081 základě odchylky od požadované hodnoty, tedy jako
9082\begin_inset Formula \[
9083J=\sum_{k=0}^{K-1}\left(\omega_{k+1}-\overline{\omega}_{k+1}\right)^{2}=\sum_{k=0}^{K-1}\psi_{k+1}^{2}.\]
9084
9085\end_inset
9086
9087Dále označíme
9088\begin_inset Formula $P_{\vartheta}=P_{0}^{(4,4)}$
9089\end_inset
9090
9091, tedy právě počáteční varianci polohy hřídele, kterou budeme měnit a v
9092 závislosti na této změně pozorovat dosažené ztráty.
9093 Pak jsou dosažené průměrné ztráty
9094\begin_inset Formula $\overline{J}$
9095\end_inset
9096
9097 pomocí algoritmu
9098\emph on
9099LQG
9100\emph default
9101 následující:
9102\end_layout
9103
9104\begin_layout Subsubsection
9105Tabulka průměrných ztrát
9106\end_layout
9107
9108\begin_layout Standard
9109\align center
9110\begin_inset Tabular
9111<lyxtabular version="3" rows="2" columns="5">
9112<features>
9113<column alignment="center" valignment="top" width="0">
9114<column alignment="center" valignment="top" width="0">
9115<column alignment="center" valignment="top" width="0">
9116<column alignment="center" valignment="top" width="0">
9117<column alignment="center" valignment="top" width="0">
9118<row>
9119<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
9120\begin_inset Text
9121
9122\begin_layout Plain Layout
9123\begin_inset Formula $P_{\vartheta}$
9124\end_inset
9125
9126
9127\end_layout
9128
9129\end_inset
9130</cell>
9131<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
9132\begin_inset Text
9133
9134\begin_layout Plain Layout
91350,01
9136\end_layout
9137
9138\end_inset
9139</cell>
9140<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
9141\begin_inset Text
9142
9143\begin_layout Plain Layout
91440,1
9145\end_layout
9146
9147\end_inset
9148</cell>
9149<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
9150\begin_inset Text
9151
9152\begin_layout Plain Layout
91531
9154\end_layout
9155
9156\end_inset
9157</cell>
9158<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
9159\begin_inset Text
9160
9161\begin_layout Plain Layout
916210
9163\end_layout
9164
9165\end_inset
9166</cell>
9167</row>
9168<row>
9169<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
9170\begin_inset Text
9171
9172\begin_layout Plain Layout
9173
9174\emph on
9175\begin_inset Formula $\overline{J}$
9176\end_inset
9177
9178
9179\end_layout
9180
9181\end_inset
9182</cell>
9183<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
9184\begin_inset Text
9185
9186\begin_layout Plain Layout
91870,0776
9188\end_layout
9189
9190\end_inset
9191</cell>
9192<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
9193\begin_inset Text
9194
9195\begin_layout Plain Layout
91960,1074
9197\end_layout
9198
9199\end_inset
9200</cell>
9201<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
9202\begin_inset Text
9203
9204\begin_layout Plain Layout
92053,3982
9206\end_layout
9207
9208\end_inset
9209</cell>
9210<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
9211\begin_inset Text
9212
9213\begin_layout Plain Layout
9214NaN
9215\end_layout
9216
9217\end_inset
9218</cell>
9219</row>
9220</lyxtabular>
9221
9222\end_inset
9223
9224
9225\end_layout
9226
9227\begin_layout Subsubsection
9228Průběhy stavových veličin
9229\end_layout
9230
9231\begin_layout Standard
9232Ještě lépe je možno pozorovat výsledky algoritmu při rostoucí varianci na
9233 grafech průběhů stavových veličin systému.
9234 Podobně jako pro jednoduchý systém jsou zde různými barvami zobrazeny jednotliv
9235é vzorkové trajektorie, které tvoří
9236\begin_inset Quotes gld
9237\end_inset
9238
9239trubici
9240\begin_inset Quotes grd
9241\end_inset
9242
9243 v důsledku šumu.
9244 Protože je algoritmus
9245\emph on
9246LQG
9247\emph default
9248 neduální, s rostoucí variancí poskytuje špatné řízení a to zpravidla v
9249 těch případech, kdy skutečné hodnoty polohy hřídele
9250\begin_inset Formula $\vartheta$
9251\end_inset
9252
9253 jsou vzdáleny střední hodnotě, se kterou počítáme.
9254 Jednotlivé průběhy jsou zachyceny v grafech: Obrázek
9255\begin_inset CommandInset ref
9256LatexCommand ref
9257reference "Flo:pmsm-prubeh-pth-001"
9258
9259\end_inset
9260
9261 pro volbu variance
9262\begin_inset Formula $P_{\vartheta}=0,01$
9263\end_inset
9264
9265, Obrázek
9266\begin_inset CommandInset ref
9267LatexCommand ref
9268reference "Flo:pmsm-prubeh-pth-01"
9269
9270\end_inset
9271
9272 pro
9273\begin_inset Formula $P_{\vartheta}=0,1$
9274\end_inset
9275
9276, pro
9277\begin_inset Formula $P_{\vartheta}=1$
9278\end_inset
9279
9280 pak Obrázek
9281\begin_inset CommandInset ref
9282LatexCommand ref
9283reference "Flo:pmsm-prubeh-pth-1"
9284
9285\end_inset
9286
9287 a nazávěr pro
9288\begin_inset Formula $P_{\vartheta}=10$
9289\end_inset
9290
9291 je Obrázek
9292\begin_inset CommandInset ref
9293LatexCommand ref
9294reference "Flo:pmsm-prubeh-pth-10"
9295
9296\end_inset
9297
9298.
9299 
9300\end_layout
9301
9302\begin_layout Section
9303Diskuze
9304\begin_inset CommandInset label
9305LatexCommand label
9306name "sec:Diskuze"
9307
9308\end_inset
9309
9310
9311\end_layout
9312
9313\begin_layout Standard
9314Nyní srovnáme dosažené výsledky pro jednotlivé algortimy a budeme diskutovat
9315 jejich přednosti, nedostatky a použitelnost na řešení konkrétních úloh.
9316 Pro úlohu nalezení řízení synchronního motoru s permanentními magnety byly
9317 implementovány dva algoritmy.
9318 Konkrétně se jednolo o algoritmy
9319\emph on
9320iLDP
9321\emph default
9322 a
9323\emph on
9324LQG
9325\emph default
9326, přičemž je třeba podotknout, že funkční implementaci
9327\emph on
9328iLDP
9329\emph default
9330 se nepodařilo vytvořit.
9331 K dispozici je pro tuto úlohu pouze jeden algoritmus, který nalezne řízení
9332 a srovnání tedy není možné.
9333 Z tohoto důvodu budou tedy jendotlivé algoritmy srovnány pouze na základě
9334 výsledků pro jednoduchý systém.
9335 Algoritmus
9336\emph on
9337iLDP
9338\emph default
9339, na který je zaměřena tato práce, bude diskutován v samostatné části.
9340\end_layout
9341
9342\begin_layout Subsection
9343Porovnání algoritmů
9344\end_layout
9345
9346\begin_layout Standard
9347Algoritmy jsou porovnány na základě výsledků simulací pro jednoduchý systém.
9348 Jedná se o integrátor s neznámým ziskem, tedy lineární a časově invariantní
9349 systém.
9350 Jde však o systém na mezi stability, což může být příčinou problémů některých
9351 algoritmů.
9352 Další problém může nastat, když by hodnota neznámého parametru
9353\begin_inset Formula $b$
9354\end_inset
9355
9356 byla nulová.
9357 Z rovnice jednoduchého systému
9358\begin_inset Formula \[
9359y_{k+1}=y_{k}+bu_{k}+\sigma e_{k},\]
9360
9361\end_inset
9362
9363pak plyne, že neexistuje žádné řízení
9364\begin_inset Formula $u_{k}$
9365\end_inset
9366
9367, které by dosáhlo změny stavu
9368\begin_inset Formula $y_{k}$
9369\end_inset
9370
9371 na požadovanou hodnotu (není-li již tato hodnota triviálně dosažena).
9372 Přičemž neznámý parametr
9373\begin_inset Formula $b$
9374\end_inset
9375
9376 považujeme za náhodnou veličinu s normálním rozdělením a tedy neuvažujeme-li
9377 degenerované rozdělení, je pravděpodobnost dosažení přesné hodnoty
9378\begin_inset Formula $b=0$
9379\end_inset
9380
9381 nulová.
9382 Degenerované rozdělení ale dostáváme, když považujeme hodnotu
9383\begin_inset Formula $b$
9384\end_inset
9385
9386 za známou například použítím principu
9387\begin_inset Quotes gld
9388\end_inset
9389
9390certainty equivalence
9391\begin_inset Quotes grd
9392\end_inset
9393
9394, kdy předpokládáme hodnotu parametu rovnou jeho střední hodnotě.
9395 Je-li současně střední hodnota rovna nule, nastává kritický případ, kdy
9396 řízení založeno na tomto předpokladu musí selhat.
9397\end_layout
9398
9399\begin_layout Subsubsection
9400CE
9401\end_layout
9402
9403\begin_layout Standard
9404Řízení
9405\emph on
9406CE
9407\emph default
9408 je nejjednodušší metodou použitou v této práci.
9409 Využíváme předpokladu, že skutečnou hodnotu neznámého parametru
9410\begin_inset Formula $b$
9411\end_inset
9412
9413 známe a tedy ji pokládáme rovnu jeho střední hodnotě
9414\begin_inset Formula $\mathrm{E}b$
9415\end_inset
9416
9417.
9418 Je-li ale skutečná hodnota neznámého parametru
9419\begin_inset Formula $b$
9420\end_inset
9421
9422 příliš vzdálená od střední hodnoty, se kterou počítáme, řízení samozřejmě
9423 selhává.
9424 Tento přístup tedy není duální a jak bylo možno pozorovat na výsledcích
9425 simulací, s rostoucí variancí
9426\begin_inset Formula $P$
9427\end_inset
9428
9429 parametru
9430\begin_inset Formula $b$
9431\end_inset
9432
9433 dosahuje větší ztráty.
9434 
9435\end_layout
9436
9437\begin_layout Standard
9438Dalším problémem tohoto přístupu je volba střední hodnoty
9439\begin_inset Formula $0$
9440\end_inset
9441
9442, kdy zřejmě, z tvaru rovnice regulátoru hrozí dělení nulou.
9443 Přičtením malého parametru
9444\begin_inset Formula $\varepsilon$
9445\end_inset
9446
9447 sice můžeme problém dělení nulou odstranit, ale použitelné řízení nezískáme.
9448 Potřebovali bychom tedy přičíst větší hodnotu
9449\begin_inset Formula $\varepsilon$
9450\end_inset
9451
9452, což ale způsobí nepřesnost při střední hodnotě
9453\begin_inset Formula $\mathrm{E}b$
9454\end_inset
9455
9456 dále od nuly.
9457 Ideální by tedy bylo vždy
9458\begin_inset Quotes gld
9459\end_inset
9460
9461naladit
9462\begin_inset Quotes grd
9463\end_inset
9464
9465 parametr
9466\begin_inset Formula $\varepsilon$
9467\end_inset
9468
9469 podle konkrétní volby střední hodnoty
9470\begin_inset Formula $\mathrm{E}b$
9471\end_inset
9472
9473, což ale velmi snižuje univerzálnost metody.
9474 Dalším možným způsobem je, místo malého parametu
9475\begin_inset Formula $\varepsilon$
9476\end_inset
9477
9478 přičítat varianci
9479\begin_inset Formula $P$
9480\end_inset
9481
9482.
9483 Na základě tohoto postupu byl pak vytvořen návrh aproximace regulátoru
9484 pro algoritmus
9485\emph on
9486iLDP
9487\emph default
9488.
9489 Zdokonalování návrhu řízení
9490\emph on
9491CE
9492\emph default
9493 však nebylo předmětné v této práci, protože záměrem bylo využít
9494\emph on
9495CE
9496\emph default
9497 jako nejjednoduššího neduálního přístupu pro srovnání s ostatními
9498\begin_inset Quotes gld
9499\end_inset
9500
9501dokonalejšími
9502\begin_inset Quotes grd
9503\end_inset
9504
9505 algoritmy.
9506\end_layout
9507
9508\begin_layout Standard
9509Návrh řízení
9510\emph on
9511CE
9512\emph default
9513 tedy můžeme stručně zhodnotit tak, že je sice velmi jednoduchý, ale neduální
9514 a vykazuje značně problematické chování pro střední hodnotu
9515\begin_inset Formula $\mathrm{E}b=0$
9516\end_inset
9517
9518.
9519\end_layout
9520
9521\begin_layout Subsubsection
9522sLQ
9523\end_layout
9524
9525\begin_layout Standard
9526Označení
9527\emph on
9528sLQ
9529\emph default
9530 bylo použito pro klasické LQ řízení aplikováno na základní verzi jednoduchého
9531 systému bez dodatečných úprav.
9532 Protože je ale skutečná hodnota parametru
9533\begin_inset Formula $b$
9534\end_inset
9535
9536 v rovnicích neznámá a není nijak odhadována algoritmem, využívá se zde
9537 principu
9538\begin_inset Quotes gld
9539\end_inset
9540
9541ceratinty equivalence
9542\begin_inset Quotes grd
9543\end_inset
9544
9545 a předpokládáme, že skutečná hodnota parametru
9546\begin_inset Formula $b$
9547\end_inset
9548
9549 je rovna jeho střední hodnotě
9550\begin_inset Formula $\mathrm{E}b$
9551\end_inset
9552
9553.
9554 
9555\end_layout
9556
9557\begin_layout Standard
9558LQ řízení je primárně navrženo pro řízení lineárních systémů s kvadratickou
9559 ztrátovou funkcí.
9560 Tomuto zadání základní verze jednoduchého systému plně vyhovuje.
9561 Řízení je pak hledáno ve tvaru lineární funkce, kde řízení je lineární
9562 funkcí stavu.
9563 
9564\end_layout
9565
9566\begin_layout Standard
9567Již z tvaru rovnice základní verze jednoduchého systému je zřejmě, že předpoklád
9568áme-li parametr
9569\begin_inset Formula $b$
9570\end_inset
9571
9572 rovný střední hodnotě
9573\begin_inset Formula $\mathrm{E}b=0$
9574\end_inset
9575
9576, úloha nemá smysl, protože libovolné řízení
9577\begin_inset Formula $u_{k}$
9578\end_inset
9579
9580 nemůže dosáhnout změny stavu.
9581 V tomto případě řízení
9582\emph on
9583sLQ
9584\emph default
9585 nelze použít, jak je také vidět v tabulce průměrných ztrát.
9586\end_layout
9587
9588\begin_layout Standard
9589Je třeba uvést, že se nejedná o duální metodu a tedy s rostoucí variancí
9590 neznámého parametru dosahujeme vyšší ztráty.
9591 Dosažené výsledky jsou pak podobné jako u
9592\emph on
9593CE
9594\emph default
9595.
9596 Kromě případu
9597\begin_inset Formula $\mathrm{E}b=0$
9598\end_inset
9599
9600, kdy
9601\emph on
9602sLQ
9603\emph default
9604 zcela selhává, je však dosaženo nepatrně nižší průměrné ztráty.
9605\end_layout
9606
9607\begin_layout Subsubsection
9608LQ
9609\end_layout
9610
9611\begin_layout Standard
9612Přístupem
9613\emph on
9614LQ
9615\emph default
9616 je označena verze lineárně-kvadratického řízení, aplikovaného na upravené
9617 rovnice jednoduchého systému.
9618 Upravená verze rovnic již odhaduje neznámý parametr
9619\begin_inset Formula $b$
9620\end_inset
9621
9622 pomocí odhadů jeho střední hodnoty
9623\begin_inset Formula $\hat{b}$
9624\end_inset
9625
9626 a variance
9627\begin_inset Formula $P$
9628\end_inset
9629
9630, kdy se tyto dva parametry spolu se stavem
9631\begin_inset Formula $y_{k}$
9632\end_inset
9633
9634 vyvíjejí v čase.
9635 Získané rovnice pak již nejsou lineární, linearizujeme je tedy v každém
9636 časovém kroku a následně aplikujeme výpočet klasického LQ řízení.
9637 
9638\end_layout
9639
9640\begin_layout Standard
9641Narozdíl od složitějších algoritmů, nevyužívá
9642\emph on
9643LQ
9644\emph default
9645, kromě linearizace, žádné další nepřesné přístupy, jako aproximace nebo
9646 výpočty na vzorkových trajektoriích.
9647 To se v simulacích ukazuje velmi výhodným, kdy algoritmus
9648\emph on
9649LQ
9650\emph default
9651 dosahuje ve srovnání s ostatními přístupy nejlepších výsledků a dosahuje
9652 nízké ztráty ve všech případech volby parametrů.
9653\end_layout
9654
9655\begin_layout Subsubsection
9656iLQG
9657\end_layout
9658
9659\begin_layout Standard
9660Algoritmus
9661\emph on
9662iLQG
9663\emph default
9664 je rozšířením základního LQG řízení a je určen i pro složitěší systémy.
9665 Lze jej aplikovat i na nelineární systémy s nekvadratickou ztrátovou funkcí
9666 v důsledku požadavku na omezení vstupů.
9667 V této práci je
9668\emph on
9669iLQG
9670\emph default
9671 použit jako mezikrok mezi jednodušším přístupem
9672\emph on
9673LQ
9674\emph default
9675 a složitějším algoritmem
9676\emph on
9677iLDP
9678\emph default
9679.
9680 
9681\end_layout
9682
9683\begin_layout Standard
9684Základní postup využívaný
9685\emph on
9686iLQG
9687\emph default
9688 je nejprve linearizace a pak vyjádření vztahů pomocí matic, které mohou
9689 být ještě dále upravovány z důvodu, například omezení vstupů nebo zajištění
9690 regularity.
9691 Dále je třeba zmínit, že se v podstatě jedná o lokální metodu, protože
9692 linearizace je prováděna vzhledem k reprezentativní trajektorii a následně
9693 se pak počítá v odchylkách od této trajektorie.
9694 Reprezentativní trajektorii můžeme získat například simulací bezšumového
9695 vývoje systému nebo průměrováním dostatečného počtu vzorkových trajektorií.
9696 Algoritmus
9697\emph on
9698iLQG
9699\emph default
9700 pak aplikujeme na upravenou verzi rovnic jednoduchého systému, podobně
9701 jako v případě
9702\emph on
9703LQ
9704\emph default
9705.
9706 
9707\end_layout
9708
9709\begin_layout Standard
9710Jak je možné přesvědčit se v tabulce průměrných ztrát,
9711\emph on
9712iLQG
9713\emph default
9714 dosahuje velmi dobrých výsledků (to jest nízké ztráty), je-li zajištěn
9715 nízký výskyt realizací skutečné hodnoty
9716\begin_inset Formula $b$
9717\end_inset
9718
9719 blízko nuly.
9720 Konkrétně se jedná o případ volby
9721\begin_inset Formula $\hat{b}=10$
9722\end_inset
9723
9724, a
9725\begin_inset Formula $\hat{b}=1$
9726\end_inset
9727
9728 a současně
9729\begin_inset Formula $P=0,01$
9730\end_inset
9731
9732 nebo
9733\begin_inset Formula $P=0.1$
9734\end_inset
9735
9736.
9737 V opačném případě, pro
9738\begin_inset Formula $\hat{b}=0$
9739\end_inset
9740
9741 nebo
9742\begin_inset Formula $\hat{b}=1$
9743\end_inset
9744
9745 a současně
9746\begin_inset Formula $P=1$
9747\end_inset
9748
9749 nebo
9750\begin_inset Formula $P=10$
9751\end_inset
9752
9753, je dosaženo vyšší průměrné ztráty (okolo hodnoty
9754\begin_inset Formula $2$
9755\end_inset
9756
9757).
9758 Z grafů průběhu pro
9759\emph on
9760iLQG
9761\emph default
9762 je pak zřejmé, že v těchto negativních případech mají některé trajektorie
9763 dobrý průběh a některé naopak špatný.
9764 To je ovšem z hlediska řízení nepřijatelné, aby regulátor někdy poskytl
9765 dobré řízení a někdy naopak téměř nepoužitelné.
9766\end_layout
9767
9768\begin_layout Standard
9769S velkou pravděpodobností je tento problém opět způsoben problematickým
9770 chováním algoritmu
9771\emph on
9772iLQG
9773\emph default
9774 v okolí nuly.
9775 Výpočet řízení je totiž při použití tohoto algoritmu značně závislý na
9776 volbě reprezentativní trajektorie, kterou, když vygenerujeme špatně, dostaneme
9777 i špatné řízení.
9778 Právě v blízkosti nuly může dochjít k nepříznivému generování reprezentativní
9779 trajektorie.
9780 Vycházíme z
9781\begin_inset Formula $y_{0}=0$
9782\end_inset
9783
9784 a tedy, při kladném parametru
9785\begin_inset Formula $b$
9786\end_inset
9787
9788, generujeme trajektorii do kladných hodnot, nebo se naopak dostáváme do
9789 záporných čísel, je-li skutečná hodnota parametru
9790\begin_inset Formula $b$
9791\end_inset
9792
9793 záporná.
9794 Tento rozpor pak může způsobit problémy, jako špatné řízení a dosažení
9795 vyšší ztráty.
9796\end_layout
9797
9798\begin_layout Subsection
9799Hodnocení algoritmu iLDP
9800\end_layout
9801
9802\begin_layout Standard
9803Algoritmu
9804\emph on
9805iterativního lokálního dynamického programování
9806\emph default
9807(
9808\emph on
9809iLDP
9810\emph default
9811) je hlavním námětem této práce.
9812 Jeho výsledky tedy popíšeme detailněji.
9813 Nejdříve uveďme výsledky v porovnání s ostatními algoritmy pro jednoduchý
9814 systém.
9815 Dále bude zařazena diskuze negativních vlastností algoritmu, které mohli
9816 vést k tomu, že se nepodařilo vytvořit funkční implementaci pro sychronní
9817 motor.
9818 Na závěr bude v samostatné části zařazeno porovnání pozorovaných vlastností
9819 
9820\emph on
9821iLDP
9822\emph default
9823 s prvotními očekáváními.
9824\end_layout
9825
9826\begin_layout Standard
9827Algoritmus
9828\emph on
9829iLDP
9830\emph default
9831 je nejsložitější ze zde prezentovaných metod pro nalezení optimálního řízení,
9832 zejména při nutnosti duálního přístupu.
9833 Je založen na obecných principech, jmenovitě Hamilton-Jacobi-Bellmanova
9834 rovnost a Pontryaginův princip minima.
9835 Jedná se o iterační metodu, kdy vycházíme od jistého počátečního řízení
9836 a to v iteracích
9837\begin_inset Quotes gld
9838\end_inset
9839
9840vylepšuje
9841\begin_inset Quotes grd
9842\end_inset
9843
9844 za účelem dosažení optima.
9845 Počáteční řízení však musíme dodat algoritmu jako apriorní informaci a
9846 špatné řízení může způsobit nutnost velkého počtu iterací k nalezení optimálníh
9847o řízení nebo v extrémním případě dokonce nenalezení vhodného řízení.
9848 Dále algoritmus
9849\emph on
9850iLDP
9851\emph default
9852 je lokální metoda a tedy výpočty probíhají na okolí nějaké reprezentativní
9853 trajektorie.
9854 Toto okolí je třeba zvolit při konkrétní implementaci algoritmu a jeho
9855 volba může mít nezanedbatelný vliv, na výsledky, které následně
9856\emph on
9857iLDP
9858\emph default
9859 poskytne.
9860 Algoritmus pak odpovídá obecnému schématu dynamického programování, kde
9861 se v diskrétních časových okamžicích napočítávají od nejvýššího času zpět
9862 optimální hodnoty Hamiltoniánů, které se postupně uchovávají v Bellmanově
9863 funkci.
9864 Z nich je také následně odvozeno i optimální řízení.
9865\end_layout
9866
9867\begin_layout Subsubsection
9868Srovnání pro jednoduchý systém
9869\end_layout
9870
9871\begin_layout Standard
9872Při srovnání výsledků pro jednoduchý systém s ostatními algoritmy poskytuje
9873 
9874\emph on
9875iLDP
9876\emph default
9877 dobré řízení ve všech případech, kdy se skutečné realizace neznámého parametru
9878 
9879\begin_inset Formula $b$
9880\end_inset
9881
9882 vyskytují dostatečně daleko od nuly.
9883 Tento bod je právě pro algoritmus
9884\emph on
9885iLDP
9886\emph default
9887 kritický a výpočet řízení tam zpravidla selhává.
9888 Tedy pro volby
9889\begin_inset Formula $\hat{b}=10$
9890\end_inset
9891
9892 a současně
9893\begin_inset Formula $P=0,01$
9894\end_inset
9895
9896,
9897\begin_inset Formula $P=0,1$
9898\end_inset
9899
9900 a
9901\begin_inset Formula $P=1$
9902\end_inset
9903
9904, dále pak pro
9905\begin_inset Formula $\hat{b}=1$
9906\end_inset
9907
9908 a současně
9909\begin_inset Formula $P=0,01$
9910\end_inset
9911
9912 dosahuje
9913\emph on
9914iLDP
9915\emph default
9916 velmi nízké průměrné ztráty.
9917 Nízké průměrné ztráty dosahuje pak ještě pro volbu
9918\begin_inset Formula $\hat{b}=10$
9919\end_inset
9920
9921 a současně
9922\begin_inset Formula $P=10$
9923\end_inset
9924
9925 a
9926\begin_inset Formula $\hat{b}=1$
9927\end_inset
9928
9929 a současně
9930\begin_inset Formula $P=0,1$
9931\end_inset
9932
9933.
9934 Je-li parametr
9935\begin_inset Formula $\hat{b}=1$
9936\end_inset
9937
9938, pak při
9939\begin_inset Formula $P=1$
9940\end_inset
9941
9942 je dosaženo extrémní hodnoty ztráty a při
9943\begin_inset Formula $P=10$
9944\end_inset
9945
9946 algoritmus dokonce vůbec nenalezne řešení.
9947 Podobně pro
9948\begin_inset Formula $\hat{b}=0$
9949\end_inset
9950
9951 při volbě
9952\begin_inset Formula $P=0,01$
9953\end_inset
9954
9955 je dosaženo nepřijatelné průměrné ztráty a pro ostatní vobly
9956\begin_inset Formula $P$
9957\end_inset
9958
9959 již vůbec nenalézáme řešení.
9960\end_layout
9961
9962\begin_layout Standard
9963Tedy ve srovnání s ostatními poskytuje
9964\emph on
9965iLDP
9966\emph default
9967 sice výsledky, které patří mezi nejlepší, ale pouze za předpokladu, že
9968 je zaručeno realizování skutečných hodnot
9969\begin_inset Formula $b$
9970\end_inset
9971
9972 dostatečně daleko od nuly.
9973 Při srovnávání konkrétních hodnot průměrných ztrát je třeba mít na vědomí,
9974 že se hodnoty mohou nepatrně lišit v závislosti na realizaci šumu.
9975\end_layout
9976
9977\begin_layout Subsubsection
9978Diskuze negativních vlastností algoritmu
9979\end_layout
9980
9981\begin_layout Standard
9982V průběhu implementace a testování
9983\emph on
9984iLDP
9985\emph default
9986 se objevily jisté komplikace a projevili se negativní vlastnosti tohoto
9987 algoritmu.
9988 Jedná se zejména o problematické chování při realizaci skutečné hodnoty
9989 neznámého parametru
9990\begin_inset Formula $b$
9991\end_inset
9992
9993 blízko nuly pro jednoduchý systém.
9994 Dalším problémem je pak otázka vhodné volby aproximací funkcí pro synchronní
9995 motor.
9996 
9997\end_layout
9998
9999\begin_layout Subsubsection
10000Problematické chování při
10001\begin_inset Formula $b$
10002\end_inset
10003
10004 blízko nuly
10005\end_layout
10006
10007\begin_layout Standard
10008Nejprve se tedy zaměřme na obtíže týkající se jednoduchého systému.
10009 Jedním z důvodů, proč se systém vykazuje problematické chování pro
10010\begin_inset Formula $b$
10011\end_inset
10012
10013 blízko hodnoty
10014\begin_inset Formula $0$
10015\end_inset
10016
10017, by mohla být volba aproximace regulátoru.
10018 Ten je totiž volen jako
10019\begin_inset Formula \[
10020\pi(k,x)=\frac{r_{k+1}-K_{1}y_{k}}{K_{2}\hat{b}_{k}+K_{3}P_{k}+K_{4}}.\]
10021
10022\end_inset
10023
10024Algoritmus
10025\emph on
10026iLDP
10027\emph default
10028 je duální a odhaduje skutečnou hodnotu neznámého parametru
10029\begin_inset Formula $b$
10030\end_inset
10031
10032 pomocí jeho střední hodnoty
10033\begin_inset Formula $\hat{b}$
10034\end_inset
10035
10036 a variance
10037\begin_inset Formula $P$
10038\end_inset
10039
10040.
10041 Za předpokladu, že by odhadování proběhlo dobře a efektivně, odhad
10042\begin_inset Formula $\hat{b}$
10043\end_inset
10044
10045 se bude blížit skutečné hodnotě
10046\begin_inset Formula $b$
10047\end_inset
10048
10049, která je ovšem blízko u nuly.
10050 Další vlastností předpokládaného dobrého odhadu je, si jím budeme téměř
10051 jisti a tedy variance
10052\begin_inset Formula $P$
10053\end_inset
10054
10055 se bude také blížit nule.
10056 A vyhodnotil-li algoritmus v předchozí iteraci koeficient
10057\begin_inset Formula $K_{4}$
10058\end_inset
10059
10060 jako nepodstatný pro tvar funkce regulátoru, to jest
10061\begin_inset Formula $K_{4}$
10062\end_inset
10063
10064 je opět téměř nulový, dostáváme ve jmenovateli velmi malé číslo, téměř
10065 nulové.
10066 Funkce regulátoru
10067\begin_inset Formula $\pi$
10068\end_inset
10069
10070 pak vrací i pro malou odchylku
10071\begin_inset Formula $y$
10072\end_inset
10073
10074 od požadované hodnoty (například v důsledku šumu) velký řídící zásah.
10075 To je ale principiálně dobře, protože při
10076\begin_inset Formula $b$
10077\end_inset
10078
10079 blízko
10080\begin_inset Formula $0$
10081\end_inset
10082
10083 musíme volit extrémně vysoké řídící zásahy, a to téměř blížící se nekonečnu.
10084 Na druhou stranu si je ale třeba uvědomit, že uvažovaná funkce regulátoru
10085 je pouze aproximací a tedy se dopouští jisté chyby.
10086 Tato chyba samozřejmě pak při velkém řídícím zásahu také narůstá.
10087 Dalším problémem je, že výpočty jsou prováděny na počítači, ten je při
10088 výpočtech s malými čísly blízko nuly nebo naopak s velkými čísly značně
10089 nepřesný.
10090\end_layout
10091
10092\begin_layout Standard
10093Možností jak se vyhnout tomuto problému by bylo volit jiný tvar funkce regulátor
10094u, otázkou by pak ale bylo jaký.
10095 Zvolený tvar regulátoru má totiž několik výhod.
10096 Za prvé koeficienty
10097\begin_inset Formula $K_{i}$
10098\end_inset
10099
10100 je možno určit metodou nejmenších čtverců a tedy jejich výpočet z množiny
10101 dvojic
10102\begin_inset Formula $\left\{ x^{(n)},u^{(n)}\right\} $
10103\end_inset
10104
10105 je poměrně jednoduchý.
10106 Další výhodou je, že obecný tvar funkce regulátoru vznikl na základě vyjádření
10107 řízení
10108\begin_inset Formula $u$
10109\end_inset
10110
10111 z rovnice jednoduchého systému, při požadavku dosažení požadované hodnoty
10112 v jednom časovém kroku.
10113 Získaná funkce by pak měla relativně dobře aproximovat skutečné optimální
10114 řízení.
10115\end_layout
10116
10117\begin_layout Standard
10118\begin_inset VSpace defskip
10119\end_inset
10120
10121
10122\end_layout
10123
10124\begin_layout Standard
10125Druhým z možných důvodů problematického chování u nuly je lokalita metody.
10126 Výpočty jsou totiž prováděny na okolí tvořeném množinou reprezentativních
10127 trajektorií.
10128 Generujeme-li reprezentativní trajektorie pro parametr
10129\begin_inset Formula $b$
10130\end_inset
10131
10132 blízko nuly, s velkou pravděpodobností dojde k tomu, že část trajektorií
10133 se vygeneruje s předpokladem kladného
10134\begin_inset Formula $b$
10135\end_inset
10136
10137 a část předpokládající
10138\begin_inset Formula $b$
10139\end_inset
10140
10141 záporné.
10142 Ovšem pro malé, téměř nulové, hodnoty parametru
10143\begin_inset Formula $b$
10144\end_inset
10145
10146 je optimální řídící zásah, jak už bylo zmíněno, extrémně vysoký a v závislosti
10147 na tom, je-li předpokládáno
10148\begin_inset Formula $b$
10149\end_inset
10150
10151 kladné nebo záporné, mění se odpovídajícím způsobem i znaménka řídících
10152 zásahů.
10153 Jako shrnutí popsané situace dostáváme část reprezentativních trajektorií
10154 navrhující extrémně vysoký kladný řídící zásah a pak druhou část navrhující
10155 naopak extrémně vysoký záporný řídící zásah.
10156 Zřejmě z takovýchto dat nelze získat použitelnou a už vůbec ne správnou
10157 hodnotu optimálního řízení.
10158\end_layout
10159
10160\begin_layout Standard
10161Vyhnout se výše popsanému problému by bylo možno pouze jinou volbou okolí.
10162 Narážíme zde ale opět na obtíže, jak jiné okolí zvolit, abychom se vyhli
10163 výše popsanému problému.
10164\end_layout
10165
10166\begin_layout Standard
10167Protože ale spolu obě navržené možnosti způsobující problematické chování
10168 při
10169\begin_inset Formula $b$
10170\end_inset
10171
10172 blízko
10173\begin_inset Formula $0$
10174\end_inset
10175
10176 do určité míry souvisí, je pravděpodobný i vliv kombinace obou dvou.
10177\end_layout
10178
10179\begin_layout Subsubsection
10180Obtíže s volbou aproximací
10181\end_layout
10182
10183\begin_layout Standard
10184Již byla diskutována problematika volby aproximace okolí a aproximace funkce
10185 řízení.
10186 Problémy byly popsány pro konkrétní případ jednoduchého systému.
10187 Další aproximací, kterou je třeba volit, je aproximace Bellmanovy funkce.
10188 Jedná se o skalární funkci více proměnných, která v sobě zachycuje v podstatě
10189 celou dynamiku a vývoj systému.
10190 Je zpravidla velmi složitá, ale pro potřeby algoritmu se ji snažíme aproximovat
10191 lineární kombinací zvolených základních funkcí.
10192 Má-li být tato aproximace dostatečně jednoduchá pro výpočty jejích hodnot,
10193 ale i koeficientů, může být velmi nepřesnou aproximací skutečné Bellmanovy
10194 funkce.
10195\end_layout
10196
10197\begin_layout Standard
10198Protože Bellmanova funkce je základní částí algoritmu
10199\emph on
10200iLDP
10201\emph default
10202 chyby, kterých se dopustíme její aproximací se následně přenášejí prakticky
10203 do všech ostatních částí algoritmu.
10204\end_layout
10205
10206\begin_layout Standard
10207Na druhou stranu se ale chyby v důsledku aproximace dopustíme velmi snadno.
10208 Bellmanova funkce může být totiž u složitějších systému značně komplikovaná
10209 na to, aby ji bylo možno aproximovat lineární kombinací základních funkcí.
10210 Dalším problémem je pak počet těchto funkcí.
10211 Ten s rostoucí dimenzí stavového prostoru rychle narůstá a následně je
10212 třeba zajistit dostatek dat v podobě vzorkových trajektorií pro vypočtení
10213 jejich koeficientů.
10214\end_layout
10215
10216\begin_layout Standard
10217Volba vhodné aproximace Bellmanovy funkce se tedy jeví jako nejkomplikovanější
10218 z dílčích problémů ponechaných autory algoritmu
10219\emph on
10220iLDP
10221\emph default
10222 k dořešení při konkrétní implementaci.
10223 V článku
10224\begin_inset CommandInset citation
10225LatexCommand cite
10226key "TodorovTassaILDP"
10227
10228\end_inset
10229
10230 je sice poskytnut návod volby aproximace ve tvaru lineární kombinace základních
10231 funkcí, ale tato volba nemusí být vždy správná.
10232 Kdybychom si chtěli udělat představu o průběhu skutečné Bellmanovy funkce,
10233 abychom mohli snadněji určitě vhodnou aproximaci, narážíme na problém,
10234 že Bellmanovu funkci máme zadanou pomocí Hamilto-Jacobi-Bellmanovy rovnosti.
10235\end_layout
10236
10237\begin_layout Standard
10238\begin_inset VSpace defskip
10239\end_inset
10240
10241
10242\end_layout
10243
10244\begin_layout Standard
10245Shrnutí výše zmiňovaných problémů nám tedy dává následující závěr: Svoboda
10246 ve výběru aproximací nám poskytuje značnou volnost a činí algoritmus univerzáln
10247ím.
10248 Na druhou stranu je ale značně omezující, zejména když se nám nepodaří
10249 vhodnou aproximaci nalézt.
10250\end_layout
10251
10252\begin_layout Subsection
10253Konfrontace s prvotními očekáváními
10254\end_layout
10255
10256\begin_layout Standard
10257Nyní porovnáme dosažené výsledky algoritmu iLDP s prvotními očekáváními
10258 uvedenými v části
10259\begin_inset CommandInset ref
10260LatexCommand ref
10261reference "sub:Předběžný-odhad-vlatností"
10262
10263\end_inset
10264
10265.
10266 Vždy je uvedeno nejdříve prvotní očekávání a následně je komentováno, jestli
10267 bylo potvrzeno:
10268\end_layout
10269
10270\begin_layout Paragraph
10271Výhody
10272\end_layout
10273
10274\begin_layout Itemize
10275duální metoda (lépe se vypořádá s neznalostí oproti neduálním metodám)
10276\end_layout
10277
10278\begin_deeper
10279\begin_layout Itemize
10280toto očekávání bylo potvrzeno, iLDP dosahuje lepších výsledků než neduální
10281 metody, což je patrné při rostoucí neznalosti
10282\end_layout
10283
10284\begin_layout Itemize
10285je však třeba podotknout, že musíme mít zajištěnu dostatečnou vzdálenost
10286 od kritických bodů pro iLDP, kde pak samozřejmě algoritmus selhává
10287\end_layout
10288
10289\end_deeper
10290\begin_layout Itemize
10291lepší zvládnutí šumu
10292\end_layout
10293
10294\begin_deeper
10295\begin_layout Itemize
10296zvládání šumu lze z provedených simulací těžko posoudit, ovšem lze předpokládat,
10297 že iLDP zvládne šum lépe než metody, které přítomnost šumu vůbec neuvažují
10298\end_layout
10299
10300\end_deeper
10301\begin_layout Itemize
10302rychlejší dosažení požadované hodnoty
10303\end_layout
10304
10305\begin_deeper
10306\begin_layout Itemize
10307na rychlost dosažení požadované hodnoty lze na základě výsledků pro jednoduchý
10308 systém těžko usuzovat, protože prakticky všechny použité metody dosahují
10309 požadované hodnoty (v příznivém případě, kdy nalézají použitelné řízení)
10310 hned v čase
10311\begin_inset Formula $k=2$
10312\end_inset
10313
10314, tedy v prvním možném říditelném kroce
10315\end_layout
10316
10317\begin_layout Itemize
10318pro složitější systém synchronního motoru, kde by bylo srovnání zřetelnější
10319 se nepodařilo implementovat funkční verzi iLDP algoritmu
10320\end_layout
10321
10322\end_deeper
10323\begin_layout Itemize
10324možnost aplikace na mnoharozměrové stavové a řídící prostory
10325\end_layout
10326
10327\begin_deeper
10328\begin_layout Itemize
10329tuto vlastnost uvádějí sami autoři algoritmu iLDP, protože se jedná o lokální
10330 metodu, je možné vyhnout se problémům globálních metod a aplikovat algoritmus
10331 i na systémy s více rozměry, zůstává zde však problém volby aproximací,
10332 který je pak třeba řešit a který se ukazuje jako netriviální
10333\end_layout
10334
10335\end_deeper
10336\begin_layout Itemize
10337univerzálnost (vychází z obecných principů) a svoboda výběru konkrétních
10338 aproximací a minimalizací
10339\end_layout
10340
10341\begin_deeper
10342\begin_layout Itemize
10343algoritmus je zřejmě značně univerzální, protože umožňuje zvolit mnoho detailů
10344 až při konkrétní implementaci
10345\end_layout
10346
10347\begin_layout Itemize
10348naopak se tato vlastnost v mnoha případech ukazuje být na škodu a dokonce
10349 může být i jednou z největších slabin algoritmu iLDP, jelikož nám základní
10350 popis algoritmu neříká, jak konkrétní detaily volit
10351\end_layout
10352
10353\end_deeper
10354\begin_layout Paragraph
10355Nevýhody
10356\end_layout
10357
10358\begin_layout Itemize
10359vyšší časová náročnost
10360\end_layout
10361
10362\begin_deeper
10363\begin_layout Itemize
10364vyšší časová náročnost byla potvrzena v průběhu simulací pro potřeby této
10365 práce
10366\end_layout
10367
10368\begin_layout Itemize
10369ve srovnání s ostatními přístupy, které řeší danou úlohu vesměs analyticky
10370 a jsou založeny hlavně na maticových operacích, algoritmus iLDP používá
10371 aproximací, numerické minimalizace a výpočtů na vzorkových trajektoriích
10372 a tedy výpočetní čas je řádově několikrát delší než pro ostatní metody
10373 (konkrétní příklad je výpočet
10374\begin_inset Formula $N$
10375\end_inset
10376
10377 vzorkových trajektorií pro vytvoření průběhů
10378\begin_inset Formula $y$
10379\end_inset
10380
10381 pro jednoduchý systém, který trval pro iLDP o tři řády déle než pro všechny
10382 ostatní algortimy)
10383\end_layout
10384
10385\end_deeper
10386\begin_layout Itemize
10387numerické výpočty (minimalizace)
10388\end_layout
10389
10390\begin_deeper
10391\begin_layout Itemize
10392pro numerickou minimalizaci je jednak nutno zvolit vhodné minimalizační
10393 algoritmy (v implementacích v této práci byly použity funkce programu
10394\emph on
10395Matlab
10396\emph default
10397 
10398\family typewriter
10399fminunc
10400\family default
10401 a
10402\family typewriter
10403fmincon
10404\family default
10405 pro neomezenou a omezenou minimalizaci), dále numerická minimalizace hledá
10406 zpravidla jen lokální minima, je náročnější na výpočetní čas a je méně
10407 přesná a to zejména při výpočtech na aproximovaných funkcích, kde i malá
10408 odchylka od správného průběhu původní funkce může dát špatný výsledek velmi
10409 vzdálený od správné hodnoty
10410\end_layout
10411
10412\end_deeper
10413\begin_layout Itemize
10414nepřesnost v důsledku aproximace klíčových funkcí v algoritmu a problémy
10415 s jejich volbou
10416\end_layout
10417
10418\begin_deeper
10419\begin_layout Itemize
10420algoritmus iLDP pracuje s aproximacemi funkcí řízení a dále s aproximací
10421 Bellmanovy funkce, na které je postaven prakticky celý algoritmus; v důsledku
10422 toho se chyby způsobené použitím aproximace přenášejí prakticky do všech
10423 ostatních výpočtů v algoritmu
10424\end_layout
10425
10426\begin_layout Itemize
10427dalším problémem je pak samotná volba aproximací, která již byla diskutována
10428 výše
10429\end_layout
10430
10431\end_deeper
10432\begin_layout Itemize
10433implementační složitost
10434\end_layout
10435
10436\begin_deeper
10437\begin_layout Itemize
10438z jednoho pohledu je implementace algoritmu iLDP jednoduchá, protože je
10439 popsán jednoduchou osnovou složenou pouze ze čtyř bodů
10440\end_layout
10441
10442\begin_layout Itemize
10443naopak je ale třeba vyřešit mnoho dílčích detailů, vytvořit aproximace funkcí
10444 i vhodnou reprezentaci okolí pro výpočet a samotná implementace se tedy
10445 může velmi zkomplikovat a dokonce se nemusí ani podařit snadno vytvořit
10446 funkční verzi algoritmu
10447\end_layout
10448
10449\end_deeper
10450\begin_layout Itemize
10451lokálnost metody a tedy i nalezeného řešení
10452\end_layout
10453
10454\begin_deeper
10455\begin_layout Itemize
10456jak již bylo zmíněno iLDP hledá optimální řízení v okolí nějaké reprezentativní
10457 trajektorie a tedy zpravidla není zajištěna optimalita nalezeného řízení
10458 v celém stavovém a řídícím prostoru
10459\end_layout
10460
10461\end_deeper
10462\begin_layout Itemize
10463volba okolí (lokální metoda)
10464\end_layout
10465
10466\begin_deeper
10467\begin_layout Itemize
10468při implementaci iLDP je třeba zvolit konkrétní reprezentaci okolí
10469\end_layout
10470
10471\begin_layout Itemize
10472v používaných implementacích je volena jednoduchá možnost, kdy je okolí
10473 reprezentováno množinou vzorkových trajektorií, na které jsou pak prováděny
10474 další výpočty
10475\end_layout
10476
10477\end_deeper
10478\begin_layout Standard
10479\begin_inset Newpage newpage
10480\end_inset
10481
10482
10483\end_layout
10484
10485\begin_layout Addchap
10486Závěr
10487\end_layout
10488
10489\begin_layout Standard
10490V kapitole
10491\begin_inset CommandInset ref
10492LatexCommand ref
10493reference "cha:Teorie-duálního-řízení"
10494
10495\end_inset
10496
10497 této práce je stručně popsána základní teorie duálního řízení a další teoretick
10498é poznatky potřebné k popisu konkrétních algortimů pro nalezení optimálního
10499 řízení.
10500 V další kapitole pak následuje přiblížení jednotlivých algoritmů použitých
10501 pro srovnání s ústředním algoritmem této práce
10502\emph on
10503iterativním lokálním dynamickým programováním
10504\emph default
10505 (
10506\emph on
10507iLDP
10508\emph default
10509).
10510 Jemu je pak věnována druhá polovina kapitoly
10511\begin_inset CommandInset ref
10512LatexCommand ref
10513reference "cha:Algoritmy-pro-návrh"
10514
10515\end_inset
10516
10517.
10518 
10519\end_layout
10520
10521\begin_layout Standard
10522Algoritmus
10523\emph on
10524iLDP
10525\emph default
10526 byl implementován pro jednoduchý systém.
10527 Pro tento systém byly následně implementovány i další algoritmy pro srovnání.
10528 Implementace
10529\emph on
10530iLDP
10531\emph default
10532 pro složitější systém, synchronní motor s permanentními magnety, se nezdařila
10533 z důvodů obtíží při volbě aproximací.
10534 Nepodařilo se nalézt takové aproximace zpětnovazebního řízení a Bellmanovy
10535 funkce, aby na jejich základě algoritmus
10536\emph on
10537iLDP
10538\emph default
10539 nalezl použitelné řízení.
10540 Pro složitější systém byl však implementován algoritmus
10541\emph on
10542LQG
10543\emph default
10544, který nalézá funkční řízení.
10545 Jedná se ale o neduální metodu a tedy s rostoucí neznalostí selhává.
10546 Konkrétní popisy testovaných systémů a úpravy jejich rovnic pro potřeby
10547 jednotlivých algoritmů lze nalézt v kapitole
10548\begin_inset CommandInset ref
10549LatexCommand ref
10550reference "cha:Systémy-pro-testování"
10551
10552\end_inset
10553
10554.
10555\end_layout
10556
10557\begin_layout Standard
10558Kapitola
10559\begin_inset CommandInset ref
10560LatexCommand ref
10561reference "cha:Výsledky"
10562
10563\end_inset
10564
10565 obsahuje získané výsledky na základě simulací.
10566 Algoritmus
10567\emph on
10568iLDP
10569\emph default
10570 je porovnán s ostatními testovanými algoritmy podle dosažených výsledků
10571 pro jednoduchý systém.
10572 Dále jsou uvedeny výsledky pro složitější systém získané pomocí
10573\emph on
10574LQG
10575\emph default
10576.
10577 Na závěr jsou diskutovány problémy týkající se algoritmu
10578\emph on
10579iLDP
10580\emph default
10581, které vedly v jistých případech k problematickému chovaní u jednoduchého
10582 systému.
10583 Následuje diskuze obtíží implementace
10584\emph on
10585iLDP
10586\emph default
10587 pro složitější systém.
10588 Nakonec jsou v bodech porovnány skutečné výsledky získané ze simulací a
10589 v průběhu implementace s prvotními očekáváními týkajícími se algoritmu
10590 
10591\emph on
10592iLDP
10593\emph default
10594.
10595 
10596\end_layout
10597
10598\begin_layout Standard
10599Algoritmus
10600\emph on
10601iLDP
10602\emph default
10603 byl v této práci otestován i na jiných problémech, než pro které byl vyvinut
10604 svými autory.
10605 Dále byly objeveny některé kladné, ale hlavně i záporné stránky týkající
10606 se jeho implementace a použitelnosti na konkrétní úlohy.
10607 V závěrečné kapitole práce byly výsledky dosažené pomocí
10608\emph on
10609iLDP
10610\emph default
10611 srovnány s výsledky dosaženými užitím principu separace, tedy pomocí řízení
10612 
10613\emph on
10614LQG
10615\emph default
10616.
10617 Pro jednoduchý systém bylo provedeno srovnání i s dalšími metodami návrhu
10618 řízení.
10619 Naopak pro složitější systém jsou k dispozici pouze výsleky získané pomocí
10620 
10621\emph on
10622LQG
10623\emph default
10624.
10625\end_layout
10626
10627\begin_layout Standard
10628Výsledky je možno shrnout tak, že
10629\emph on
10630iLDP
10631\emph default
10632 je řádově několikrát náročnější na výpočetní čas, ale při větší neznalosti
10633 dosahuje lepších výsledků.
10634 Je ovšem třeba zajistit, aby se nerealizovaly problematické hodnoty pro
10635 tento algoritmus.
10636 Naproti tomu
10637\emph on
10638LQG
10639\emph default
10640 je rychlejší, ale s rostoucí neznalostí dosahuje špatných výsledků nebo
10641 dokonce selhává.
10642 Co se týče algoritmu
10643\emph on
10644iLDP
10645\emph default
10646 je třeba ještě zmínit problém týkající se volby aproximací, který se ukazuje
10647 být největší slabinou této metody.
10648\end_layout
10649
10650\begin_layout Standard
10651\begin_inset Newpage newpage
10652\end_inset
10653
10654
10655\end_layout
10656
10657\begin_layout Standard
10658\begin_inset ERT
10659status open
10660
10661\begin_layout Plain Layout
10662
10663
10664\backslash
10665addcontentsline{toc}{chapter}{Literatura}
10666\end_layout
10667
10668\begin_layout Plain Layout
10669
10670
10671\backslash
10672markboth{Literatura}{Literatura}
10673\end_layout
10674
10675\end_inset
10676
10677
10678\end_layout
10679
10680\begin_layout Standard
10681\begin_inset CommandInset bibtex
10682LatexCommand bibtex
10683btprint "btPrintAll"
10684bibfiles "bpzdroje"
10685options "czechiso"
10686
10687\end_inset
10688
10689
10690\end_layout
10691
10692\begin_layout Standard
10693\begin_inset Newpage newpage
10694\end_inset
10695
10696
10697\end_layout
10698
10699\begin_layout Addchap
10700Obrazová příloha
10701\end_layout
10702
10703\begin_layout Standard
10704\begin_inset Float figure
10705wide false
10706sideways false
10707status collapsed
10708
10709\begin_layout Plain Layout
10710\begin_inset Graphics
10711        filename barsP001.eps
10712
10713\end_inset
10714
10715
10716\begin_inset Caption
10717
10718\begin_layout Plain Layout
10719Dosažené ztráty jednotlivých algoritmů pro
10720\begin_inset Formula $P=0,01$
10721\end_inset
10722
10723
10724\end_layout
10725
10726\end_inset
10727
10728
10729\begin_inset CommandInset label
10730LatexCommand label
10731name "Flo:bars001"
10732
10733\end_inset
10734
10735
10736\end_layout
10737
10738\end_inset
10739
10740
10741\end_layout
10742
10743\begin_layout Standard
10744\begin_inset Float figure
10745wide false
10746sideways false
10747status collapsed
10748
10749\begin_layout Plain Layout
10750\begin_inset Graphics
10751        filename barsP01.eps
10752
10753\end_inset
10754
10755
10756\begin_inset Caption
10757
10758\begin_layout Plain Layout
10759Dosažené ztráty jednotlivých algoritmů pro
10760\begin_inset Formula $P=0,1$
10761\end_inset
10762
10763
10764\end_layout
10765
10766\end_inset
10767
10768
10769\end_layout
10770
10771\begin_layout Plain Layout
10772\begin_inset CommandInset label
10773LatexCommand label
10774name "Flo:bars01"
10775
10776\end_inset
10777
10778
10779\end_layout
10780
10781\end_inset
10782
10783
10784\end_layout
10785
10786\begin_layout Standard
10787\begin_inset Float figure
10788wide false
10789sideways false
10790status collapsed
10791
10792\begin_layout Plain Layout
10793\begin_inset Graphics
10794        filename barsP1.eps
10795
10796\end_inset
10797
10798
10799\begin_inset Caption
10800
10801\begin_layout Plain Layout
10802Dosažené ztráty jednotlivých algoritmů pro
10803\begin_inset Formula $P=1$
10804\end_inset
10805
10806
10807\end_layout
10808
10809\end_inset
10810
10811
10812\end_layout
10813
10814\begin_layout Plain Layout
10815\begin_inset CommandInset label
10816LatexCommand label
10817name "Flo:bars1"
10818
10819\end_inset
10820
10821
10822\end_layout
10823
10824\end_inset
10825
10826
10827\end_layout
10828
10829\begin_layout Standard
10830\begin_inset Float figure
10831wide false
10832sideways false
10833status collapsed
10834
10835\begin_layout Plain Layout
10836\begin_inset Graphics
10837        filename barsP10.eps
10838
10839\end_inset
10840
10841
10842\begin_inset Caption
10843
10844\begin_layout Plain Layout
10845Dosažené ztráty jednotlivých algoritmů pro
10846\begin_inset Formula $P=10$
10847\end_inset
10848
10849
10850\end_layout
10851
10852\end_inset
10853
10854
10855\end_layout
10856
10857\begin_layout Plain Layout
10858\begin_inset CommandInset label
10859LatexCommand label
10860name "Flo:bars10"
10861
10862\end_inset
10863
10864
10865\end_layout
10866
10867\end_inset
10868
10869
10870\end_layout
10871
10872\begin_layout Standard
10873\begin_inset Float figure
10874wide false
10875sideways false
10876status collapsed
10877
10878\begin_layout Plain Layout
10879\begin_inset Graphics
10880        filename comptray.eps
10881
10882\end_inset
10883
10884
10885\begin_inset Caption
10886
10887\begin_layout Plain Layout
10888Porovnání průběhu hodnoty
10889\begin_inset Formula $y$
10890\end_inset
10891
10892 pro jednotlivé algoritmy
10893\end_layout
10894
10895\end_inset
10896
10897
10898\end_layout
10899
10900\begin_layout Plain Layout
10901\begin_inset CommandInset label
10902LatexCommand label
10903name "Flo:porovnani-prubehu-y"
10904
10905\end_inset
10906
10907
10908\end_layout
10909
10910\end_inset
10911
10912
10913\end_layout
10914
10915\begin_layout Standard
10916\begin_inset Float figure
10917wide false
10918sideways false
10919status collapsed
10920
10921\begin_layout Plain Layout
10922\begin_inset Graphics
10923        filename tubeCE.eps
10924
10925\end_inset
10926
10927
10928\begin_inset Caption
10929
10930\begin_layout Plain Layout
10931Průběhy hodnot
10932\begin_inset Formula $y$
10933\end_inset
10934
10935 pro algoritmus
10936\emph on
10937CE
10938\emph default
10939 při volbě
10940\begin_inset Formula $\hat{b}=1$
10941\end_inset
10942
10943 
10944\end_layout
10945
10946\end_inset
10947
10948
10949\end_layout
10950
10951\begin_layout Plain Layout
10952\begin_inset CommandInset label
10953LatexCommand label
10954name "Flo:prubeh-y-ce"
10955
10956\end_inset
10957
10958
10959\end_layout
10960
10961\end_inset
10962
10963
10964\end_layout
10965
10966\begin_layout Standard
10967\begin_inset Float figure
10968wide false
10969sideways false
10970status collapsed
10971
10972\begin_layout Plain Layout
10973\begin_inset Graphics
10974        filename tubeSLQ.eps
10975
10976\end_inset
10977
10978
10979\begin_inset Caption
10980
10981\begin_layout Plain Layout
10982Průběhy hodnot
10983\begin_inset Formula $y$
10984\end_inset
10985
10986 pro algoritmus
10987\emph on
10988sLQ
10989\emph default
10990 při volbě
10991\begin_inset Formula $\hat{b}=1$
10992\end_inset
10993
10994
10995\end_layout
10996
10997\end_inset
10998
10999
11000\end_layout
11001
11002\begin_layout Plain Layout
11003\begin_inset CommandInset label
11004LatexCommand label
11005name "Flo:prubeh-y-slq"
11006
11007\end_inset
11008
11009
11010\end_layout
11011
11012\end_inset
11013
11014
11015\end_layout
11016
11017\begin_layout Standard
11018\begin_inset Float figure
11019wide false
11020sideways false
11021status collapsed
11022
11023\begin_layout Plain Layout
11024\begin_inset Graphics
11025        filename tubeLQ.eps
11026
11027\end_inset
11028
11029
11030\begin_inset Caption
11031
11032\begin_layout Plain Layout
11033Průběhy hodnot
11034\begin_inset Formula $y$
11035\end_inset
11036
11037 pro algoritmus
11038\emph on
11039LQ
11040\emph default
11041 při volbě
11042\begin_inset Formula $\hat{b}=1$
11043\end_inset
11044
11045
11046\end_layout
11047
11048\end_inset
11049
11050
11051\end_layout
11052
11053\begin_layout Plain Layout
11054\begin_inset CommandInset label
11055LatexCommand label
11056name "Flo:prubeh-y-lq"
11057
11058\end_inset
11059
11060
11061\end_layout
11062
11063\end_inset
11064
11065
11066\end_layout
11067
11068\begin_layout Standard
11069\begin_inset Float figure
11070wide false
11071sideways false
11072status collapsed
11073
11074\begin_layout Plain Layout
11075\begin_inset Graphics
11076        filename tubeILQG.eps
11077
11078\end_inset
11079
11080
11081\begin_inset Caption
11082
11083\begin_layout Plain Layout
11084Průběhy hodnot
11085\begin_inset Formula $y$
11086\end_inset
11087
11088 pro algoritmus
11089\emph on
11090iLQG
11091\emph default
11092 při volbě
11093\begin_inset Formula $\hat{b}=1$
11094\end_inset
11095
11096
11097\end_layout
11098
11099\end_inset
11100
11101
11102\end_layout
11103
11104\begin_layout Plain Layout
11105\begin_inset CommandInset label
11106LatexCommand label
11107name "Flo:prubeh-y-ilqg"
11108
11109\end_inset
11110
11111
11112\end_layout
11113
11114\end_inset
11115
11116
11117\end_layout
11118
11119\begin_layout Standard
11120\begin_inset Float figure
11121wide false
11122sideways false
11123status collapsed
11124
11125\begin_layout Plain Layout
11126\begin_inset Graphics
11127        filename tubeILDP.eps
11128
11129\end_inset
11130
11131
11132\begin_inset Caption
11133
11134\begin_layout Plain Layout
11135Průběhy hodnot
11136\begin_inset Formula $y$
11137\end_inset
11138
11139 pro algoritmus
11140\emph on
11141iLDP
11142\emph default
11143 při volbě
11144\begin_inset Formula $\hat{b}=1$
11145\end_inset
11146
11147
11148\end_layout
11149
11150\end_inset
11151
11152
11153\end_layout
11154
11155\begin_layout Plain Layout
11156\begin_inset CommandInset label
11157LatexCommand label
11158name "Flo:prubeh-y-ildp"
11159
11160\end_inset
11161
11162
11163\end_layout
11164
11165\end_inset
11166
11167
11168\end_layout
11169
11170\begin_layout Standard
11171\begin_inset Float figure
11172wide false
11173sideways false
11174status collapsed
11175
11176\begin_layout Plain Layout
11177\begin_inset Graphics
11178        filename pmsm001.eps
11179
11180\end_inset
11181
11182
11183\begin_inset Caption
11184
11185\begin_layout Plain Layout
11186Průběhy hodnot stavových veličin pro volbu
11187\begin_inset Formula $P_{\vartheta}=0,01$
11188\end_inset
11189
11190
11191\end_layout
11192
11193\end_inset
11194
11195
11196\end_layout
11197
11198\begin_layout Plain Layout
11199\begin_inset CommandInset label
11200LatexCommand label
11201name "Flo:pmsm-prubeh-pth-001"
11202
11203\end_inset
11204
11205
11206\end_layout
11207
11208\end_inset
11209
11210
11211\end_layout
11212
11213\begin_layout Standard
11214\begin_inset Float figure
11215wide false
11216sideways false
11217status collapsed
11218
11219\begin_layout Plain Layout
11220\begin_inset Graphics
11221        filename pmsm01.eps
11222
11223\end_inset
11224
11225
11226\begin_inset Caption
11227
11228\begin_layout Plain Layout
11229Průběhy hodnot stavových veličin pro volbu
11230\begin_inset Formula $P_{\vartheta}=0,1$
11231\end_inset
11232
11233
11234\end_layout
11235
11236\end_inset
11237
11238
11239\end_layout
11240
11241\begin_layout Plain Layout
11242\begin_inset CommandInset label
11243LatexCommand label
11244name "Flo:pmsm-prubeh-pth-01"
11245
11246\end_inset
11247
11248
11249\end_layout
11250
11251\end_inset
11252
11253
11254\end_layout
11255
11256\begin_layout Standard
11257\begin_inset Float figure
11258wide false
11259sideways false
11260status collapsed
11261
11262\begin_layout Plain Layout
11263\begin_inset Graphics
11264        filename pmsm1.eps
11265
11266\end_inset
11267
11268
11269\begin_inset Caption
11270
11271\begin_layout Plain Layout
11272Průběhy hodnot stavových veličin pro volbu
11273\begin_inset Formula $P_{\vartheta}=1$
11274\end_inset
11275
11276
11277\end_layout
11278
11279\end_inset
11280
11281
11282\end_layout
11283
11284\begin_layout Plain Layout
11285\begin_inset CommandInset label
11286LatexCommand label
11287name "Flo:pmsm-prubeh-pth-1"
11288
11289\end_inset
11290
11291
11292\end_layout
11293
11294\end_inset
11295
11296
11297\end_layout
11298
11299\begin_layout Standard
11300\begin_inset Float figure
11301wide false
11302sideways false
11303status collapsed
11304
11305\begin_layout Plain Layout
11306\begin_inset Graphics
11307        filename pmsm10.eps
11308
11309\end_inset
11310
11311
11312\begin_inset Caption
11313
11314\begin_layout Plain Layout
11315Průběhy hodnot stavových veličin pro volbu
11316\begin_inset Formula $P_{\vartheta}=10$
11317\end_inset
11318
11319
11320\end_layout
11321
11322\end_inset
11323
11324
11325\end_layout
11326
11327\begin_layout Plain Layout
11328\begin_inset CommandInset label
11329LatexCommand label
11330name "Flo:pmsm-prubeh-pth-10"
11331
11332\end_inset
11333
11334
11335\end_layout
11336
11337\end_inset
11338
11339
11340\end_layout
11341
11342\end_body
11343\end_document
Note: See TracBrowser for help on using the browser.