Obsah

# Možnosti algoritmů řešitele

## Evoluční algoritmus DEPS

DEPS sestává ze dvou nezávislých algoritmů: diferenciální evoluce a optimalizace hejnem částic. Oba jsou vhodné pro řešení numerických problémů, jako je nelineární optimalizace, a vzájemně se doplňují a vyvažují své nedostatky.

Nastavení | Popis
--- | ---
Míra přechodu činitele | Určuje pravděpodobnost, s jakou si jedinec vybere strategii diferenciální evoluce.
Předpokládat nezáporné proměnné | Zaškrtnutím nastavíte, že hodnoty proměnných mohou být pouze kladné.
DE: Pravděpodobnost křížení | Určuje pravděpodobnost kombinace jedince s globálně nejlepším bodem. Pokud není křížení použito, je bod vytvořen z vlastní paměti jedince.
DE: Měřítko | Při křížení rozhoduje měřítko o „rychlosti“ pohybu.
Učící cykly | Určuje počet iterací, které má algoritmus vykonat. V každé iteraci všichni jedinci odhadují nejlepší řešení a sdílí své znalosti.
PS: Kognitivní konstanta | Určuje důležitost vlastní paměti (hlavně nejlepšího zatím dosaženého bodu).
PS: Koeficient konstrikce | Určuje rychlost, jakou se částice/jedinci pohybují směrem k sobě.
PS: Pravděpodobnost mutace | Určuje pravděpodobnost, s jakou je místo toho, aby se komponenta částice pohybovala směrem k nejlepšímu bodu, náhodně vybrána nová hodnota z rozsahu platného pro danou proměnnou.
PS: Sociální konstanta | Určuje důležitost globálních nejlepších bodů při komunikaci mezi všemi částicemi/jedinci.
Zobrazit podrobnosti o stavu řešitele | Pokud je povoleno, zobrazí se během řešení další dialogové okno s údaji o aktuálním průběhu, úrovni stagnace, aktuálním nejlepším řešení a také s možností řešení zastavit nebo obnovit.
Velikost populace | Určuje počet jedinců, kteří se budou účastnit procesu učení. Každý jedinec hledá vlastní řešení a přispívá k celkové znalosti.
Mez stagnace | Pokud zadaný počet jedinců nalezne řešení pohybující se v úzkém rozsahu, je iterace zastavena a jako optimální je vybrána nejlepší z těchto hodnot.
Tolerance stagnace | Určuje, v jakém rozsahu budou řešení považována za „podobná“.

Použít ACR komparátor

Pokud je zakázáno (výchozí), je použit BCH komparátor. Porovnává dva jedince tak, že nejdříve zkontroluje jejich porušení omezení, a pouze pokud jsou shodné, porovnává jejich aktuální řešení.

Pokud je povoleno, je použit ACR komparátor. Porovnává dva jedince v závislosti na aktuální iteraci a poměřuje jejich správnost s využitím znalostí o nejhorších známých řešeních z knihovny (vzhledem k tomu, jak porušují omezení).

Použít náhodný počátek | Pokud je povoleno, je knihovna jednoduše vyplněna náhodně zvolenými body. Pokud je zakázáno, jako referenční body jsou do knihovny vloženy aktuální hodnoty (zadané uživatelem).
Odhad mezí proměnných | Je-li povoleno (výchozí), algoritmus se snaží najít meze proměnných na základě počátečních hodnot.
Práh mezí proměnných | Tento práh určuje, jak jsou počáteční hodnoty posunuty při odhadu mezí proměnných. Příklad, jak se tyto hodnoty počítají, naleznete v příručce na wiki.

## Evoluční algoritmus SCO

Sociálně kognitivní optimalizace se inspiruje chováním lidí, kteří se učí a sdílejí informace. Každý jednotlivec má přístup ke knihovně znalostí, které jsou sdíleny mezi všemi.

Nastavení | Popis
--- | ---
Předpokládat nezáporné proměnné | Zaškrtnutím nastavíte, že hodnoty proměnných mohou být pouze kladné.
Učící cykly | Určuje počet iterací, které má algoritmus vykonat. V každé iteraci všichni jedinci odhadují nejlepší řešení a sdílí své znalosti.
Zobrazit podrobnosti o stavu řešitele | Pokud je povoleno, zobrazí se během řešení další dialogové okno s údaji o aktuálním průběhu, úrovni stagnace, aktuálním nejlepším řešení a také s možností řešení zastavit nebo obnovit.
Velikost knihovny | Určuje množství informací, které mají být uloženy ve společné knihovně. Každý jedinec do ní ukládá svá zjištění a stejně tak z ní informace i získává.
Velikost populace | Určuje počet jedinců, kteří se budou účastnit procesu učení. Každý jedinec hledá vlastní řešení a přispívá k celkové znalosti.
Mez stagnace | Pokud zadaný počet jedinců nalezne řešení pohybující se v úzkém rozsahu, je iterace zastavena a jako optimální je vybrána nejlepší z těchto hodnot.
Tolerance stagnace | Určuje, v jakém rozsahu budou řešení považována za „podobná“.

Použít ACR komparátor

Pokud je zakázáno (výchozí), je použit BCH komparátor. Porovnává dva jedince tak, že nejdříve zkontroluje jejich porušení omezení, a pouze pokud jsou shodné, porovnává jejich aktuální řešení.

Pokud je povoleno, je použit ACR komparátor. Porovnává dva jedince v závislosti na aktuální iteraci a poměřuje jejich správnost s využitím znalostí o nejhorších známých řešeních z knihovny (vzhledem k tomu, jak porušují omezení).

Odhad mezí proměnných | Je-li povoleno (výchozí), algoritmus se snaží najít meze proměnných na základě počátečních hodnot.
Práh mezí proměnných | Tento práh určuje, jak jsou počáteční hodnoty posunuty při odhadu mezí proměnných. Příklad, jak se tyto hodnoty počítají, naleznete v příručce na wiki.

## Lineární řešitel LibreOffice a lineární řešitel CoinMP

Nastavení | Popis
--- | ---
Předpokládat celočíselné proměnné | Zaškrtnutím nastavíte, že hodnoty proměnných mohou být pouze celá čísla.
Předpokládat nezáporné proměnné | Zaškrtnutím nastavíte, že hodnoty proměnných mohou být pouze kladné.
Úroveň epsilon | Úroveň epsilon. Platné hodnoty se nacházejí v rozsahu 0 (velmi těsné) až 3 (velmi volné). Epsilon znamená toleranci pro zaokrouhlování hodnot k nule.
Omezení hloubky větví a mezí | Určuje maximální hloubku větví a mezí. Kladná hodnota znamená absolutní hloubku, záporná relativní omezení větví a mezí.
Limit na řešení | Určuje maximální čas ponechaný na to, aby algoritmus konvergoval k řešení.

## Nelineární algoritmus LibreOffice používající hejno (experimentální)

Nastavení | Popis
--- | ---
Předpokládat celočíselné proměnné | Zaškrtnutím nastavíte, že hodnoty proměnných mohou být pouze celá čísla.
Předpokládat nezáporné proměnné | Zaškrtnutím nastavíte, že hodnoty proměnných mohou být pouze kladné.
Limit na řešení | Určuje maximální čas ponechaný na to, aby algoritmus konvergoval k řešení.
Algoritmus hejna | Nastavte algoritmus hejna. 0 znamená diferenciální evoluci, 1 optimalizaci hejnem částic. Výchozí je 0.

Související témata

Možnosti řešitele

Řešitel

Wiki stránka o nelineárních řešitelích a jejich algoritmech

Referenční příručka řešitele lp_solve na sourceforge.net