NI-LOM – lineární optimalizační metody

Organizační poznámky

Předmět vedeme dva: Michal Černý (cernym (at) vse.cz) a Miroslav Rada (miroslav.rada (at) vse.cz).

Materiály

Texty k přednáškám

Texty k přednáškám téměř jistě obsahují chyby. Pokud na nějakou narazíte, dejte prosím vědět na adresu cernym (at) vse.cz.

Cvičení

Zadání příkladů k procvičení přednášené teorie.

MATLAB a lineární programovaní – lineární programování v MATLABu, obsahuje i řešené příklady.

Zadání několika příkladů. Řešení vybraných příkladů v modelovacím jazyce ZIMPL následuje.

Software a další odkazy

Software pro (smíšeně) celočíselné programování

Z nekomerčních projektů je pěkný například SCIP. Součástí projektu je i modelovací jazyk ZIMPL, ve kterém jsou připravená řešení výše.

Nejlepší komerční solvery jsou v současné době (2016) zhruba 6×–7× rychlejší než nekomerční. Následující tři solvery lze považovat za nejlepší; mezi sebou jsou navzájem víceméně srovnatelné (každému jdou jiné úlohy):

Nejsnazší je získat plnou verzi Gurobi. Gurobi má API do mnoha rozumných programovacích jazyků. Nicméně, skutečně těžké úlohy je užitečné řešit paralelně na co nejvíce solverech. Vysvětlení a srovnání solverů (byť možná ne úplně aktuální) zde. Jde o prezentaci ze summer school CO@work (Combinatorial optimization at work), na jejíž webové stránce je mimochodem mnoho pěkných materiálů na celočíselné programování.

Software pro lineární programování

Pro většinu použití nejspíš postačí jakákoli knihovna pro LP. V případě, že bude počítat špatně nebo se z řešení LP stane bottleneck, platí to samé co pro celočíselné programování.