Co tenhle nástroj nepočítá
Optimalizace je obor, kde je snadné vzbudit dojem, že nástroj umí víc, než umí. Tady je seznam toho, co uvnitř není, a proč.
Globální minimum
Žádná z metod tady nenajde globální minimum a žádná to netvrdí. Všechny hledají bod, ze kterého se malým krokem nedá klesnout. Himmelblauova funkce má čtyři stejně hluboká minima a to, do kterého se dojde, rozhoduje výhradně start:
Všechna čtyři jsou stejně hluboká, takže žádné z nich není „to správné". Jediné, co s tím jde dělat, je pustit hledání z mnoha startů: 60 startů našlo 4 různých minim.
A není to ani spojité, což je horší, než to zní. Když se v téhle figuře projede vodorovná přímka x₂ = −2 od x₁ = −5 do 5, cílové minimum se změní desetkrát. Start v bodě [4,5, −2] leží nejblíž minimu číslo 4 — a BFGS z něj dojde do minima číslo 3, na opačné straně mapy. Oblasti přitažlivosti jsou proložené natolik, že „vyjdi blízko toho, co čekáš" není záruka. Právě proto je multistart nutnost, ne formalita.
Jediná poctivá odpověď na otázku „je to globální?" je pustit hledání z mnoha startů a spočítat, kolik různých minim se našlo. To nástroj umí. Zaručit, že jich není víc, neumí nikdo.
| co uvnitř není | proč |
|---|---|
| Podmínky KKT, aktivní množiny, SQP, vnitřní bod | obecná omezení jsou samostatné téma; je tu jen box a penalizace |
| Celočíselné a diskrétní proměnné | úplně jiný obor (kombinatorická optimalizace), ne varianta tohoto |
| Řídké matice a velké úlohy | tady jsou všechny operace husté, což je pro desítky proměnných v pořádku a pro miliony ne |
| Automatické derivování | derivace jsou buď zadané, nebo z konečných diferencí; AD je lepší, ale je to vlastní téma |
| Stochastické metody (SGD, Adam) | patří k úlohám, kde se účelová funkce počítá po dávkách dat |
| Vícekriteriální optimalizace a Paretova fronta | „nejlepší" přestává být jednoznačné, jakmile jsou kritéria dvě |
| Robustní a stochastická optimalizace | počítá s nejistotou v zadání, ne jen v měření |
A jedna věc, kterou to naopak umí líp než učebnice
Ověřování. Většina textů ukazuje, že metoda „konverguje", tím, že vypíše tabulku iterací. Tady se kontroluje odpověď, ne cesta: v nalezeném bodě se ověří podmínky optimality, pustí se dvě stě šťouchnutí hrubou silou, a pět metod z téhož startu musí skončit na témž místě. Každé z těch ověření sdílí s hledáním co nejméně kódu, aby chyba nemohla projít oběma.
Kde to v akademii navazuje
| labka | vztah |
|---|---|
| KineLab | IK tlumenými nejmenšími čtverci — Levenberg-Marquardt pod jiným jménem |
| VisionLab | kalibrace a hand-eye jako nelineární fit, včetně varování o malém reziduu |
| FilterLab | Kalmanův filtr jako rekurzivní nejmenší čtverce |
| ControlLab | ladění regulátoru jako hledání minima |