17.3.1.4
Softwarová podpora pro řešení úloh operační analýzy
Doc. Ing. Alois Fiala, CSc.
Softwarová podpora pro řešení úloh operační
analýzy
Praktické problémy operačního výzkumu jsou neřešitelné bez pomoci
počítačů a pro řešení těchto problémů byla vyvinuta řada softwarových nástrojů.
Nástroje pro tvorbu a řešení optimalizačních modelů mohou být jednak
specializované, jednak mohou být součástí obecnějších systémů. Příkladem
nespecializovaných systémů jsou tabulkové procesory (MS Excel, Lotus, Quattro
Pro) nebo systém MATLAB. Výhodou tabulkových procesorů je jejich jednoduchost a
dostupnost, nevýhodou je omezený rozsah řešitelných úloh a nevhodnost
tabulkového vstupu dat pro rutinní využití.
Pro řešení praktických problémů je vhodnější používat
specializované softwarové nástroje. K nim patří knihovny optimalizačních
procedur, napsané v běžně užívaných programovacích jazycích, jako je Fortran,
Pascal nebo jazyk C. Použití těchto procedur ovšem vyžaduje zkušenosti s
programováním v příslušném programovacím jazyku. Dokonalejším nástrojem jsou
tzv. řešiče (solvers), což jsou velmi účinné a sofistikované procedury pro
řešení různých typů optimalizačních úloh. K nejznámějším řešičům patří např.
BDMLP, CONOPT, CPLEX, LAMPS, LANCELOT, LOQO, LSGRG, MINOS, OSL, SNOPT a XA.
Uživatel těchto řešičů nemusí znát jejich implementační detaily a může se
zaměřit na jejich vstup a výstup. Nejvhodnější ovšem je pracovat s řešiči
výhradně prostřednictvím speciálních modelovacích jazyků, které umožňují popsat
modely přehledným a srozumitelným způsobem. Na základě vytvořených modelů pak
překladače těchto jazyků generují vstupy pro řešiče.
V následujícím přehledu uvádíme vybrané příklady softwarových
produktů pro řešení optimalizačních úloh. Podrobný přehled a charakteristiky
těchto produktů je možno najít na adrese http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/ .
NahoruAIMMS (http://www.aimms. com/)
AIMMS (Advanced Interactive
Mathematical Modeling Software) je vývojové prostředí pro tvorbu
optimalizačních aplikací pro podporu rozhodování. Jeho součástí je jednak
intuitivně zvládnutelný algebraický modelovací jazyk, jednak plně grafické
uživatelské rozhraní typu "ukaž a klikni“. Prostřednictvím AIMMS je možný
přístup k řešičům lineárních, nelineárních, celočíselných a síťových úloh.
AIMMS poskytuje ideální platformu pro vytváření jak samostatných aplikací, tak
také komponent začleněných do jiných systémů.
NahoruAMPL (http://www.ampl. com/)
AMPL je modelovací jazyk, který
dovoluje používat běžnou notaci a koncepty obvyklé při formulaci
optimalizačních modelů. AMPL dále poskytuje rozhraní k řešičům pro lineární a
nelineární, celočíselné a síťové optimalizační problémy. AMPL nabízí
interaktivní příkazové prostředí zadávání a řešení optimalizačních problémů.
Flexibilní rozhraní dovoluje uživateli jednoduchým příkazem přepínat mezi
řešiči a nastavovat parametry, které mohou zlepšit práci řešiče. Nalezená
řešení jsou vyjádřena způsobem, který umožňuje snadnou analýzu a další
zpracování.
NahoruGAMS (http://www.gams. com/)
GAMS (General…