Úvod do celočíselné optimalizace

Podobné dokumenty
1 Úvod do celočíselné lineární optimalizace

4EK213 Lineární modely. 10. Celočíselné programování

Úvod do úloh plánování rozvozu (Vehicle Routing Problems)

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

Celočíselné lineární programování(ilp)

Metody lineární optimalizace Simplexová metoda. Distribuční úlohy

4EK212 Kvantitativní management. 2. Lineární programování

Obecná úloha lineárního programování

4EK213 LINEÁRNÍ MODELY

11. března Výpočet je založen na prohledávání oblasti zahrnující všechna přípustná řešení [1, 2]. Vzhledem

Rozhodovací procedury a verifikace Pavel Surynek, KTIML

13. Lineární programování

4EK213 LINEÁRNÍ MODELY

Problém lineární komplementarity a kvadratické programování

Otázky ke státní závěrečné zkoušce

Parametrické programování

Lineární programování

4EK201 Matematické modelování. 2. Lineární programování

1 Duální simplexová metoda

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

4EK213 Lineární modely. 12. Dopravní problém výchozí řešení

4EK311 Operační výzkum. 3. Optimalizační software a stabilita řešení úloh LP

Simplexové tabulky z minule. (KMI ZF JU) Lineární programování EMM a OA O6 1 / 25

Karta předmětu prezenční studium

OSTRAVSKÁ UNIVERZITA PŘÍRODOVĚDECKÁ FAKULTA [ MOPV ] METODY OPERAČNÍHO VÝZKUMU

Ekonomická formulace. Matematický model

Matematika pro informatiky

OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS

Programy pro ˇreˇsen ı ulohy line arn ıho programov an ı 18. dubna 2011

1. července 2010

Data Envelopment Analysis (Analýza obalu dat)

Stochastické programování

f ( x) = 5x 1 + 8x 2 MAX, 3x x ,

PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods

AMPL a možnosti zápisu vícestupňových úloh SP

Metodické pokyny pro práci s modulem Řešitel v tabulkovém procesoru Excel

4EK213 Lineární modely. 5. Dualita v úlohách LP

Studentská soutěžní práce

Numerické metody optimalizace - úvod

Operační výzkum. Vícekriteriální programování. Lexikografická metoda. Metoda agregace účelových funkcí. Cílové programování.

4.Řešení optimalizačních úloh v tabulkových kalkulátorech

Základy matematiky pro FEK

Systémové modelování. Ekonomicko matematické metody I. Lineární programování

Základy spojité optimalizace

Lineární klasifikátory

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

Západočeská univerzita v Plzni. Fakulta aplikovaných věd. Ivana Kozlová. Modely analýzy obalu dat

Teorie her a ekonomické rozhodování. 2. Maticové hry

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu

Celočíselné Programování

4EK311 Operační výzkum. 4. Distribuční úlohy LP část 1

Intervalová data a výpočet některých statistik

4EK213 Lineární modely. 4. Simplexová metoda - závěr

Systematická tvorba jízdního řádu 2. cvičení

DSS a De Novo programming

Optimální řízení pro geometrický Brownův pohyb

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

0.1 Úvod do lineární algebry

4EK201 Matematické modelování 5. Speciální úlohy lineárního programování

Algoritmus pro hledání vlastních čísel kvaternionových matic

Obecná úloha lineárního programování. Úloha LP a konvexní množiny Grafická metoda. Jiří Neubauer. Katedra ekonometrie FEM UO Brno

Úvod do teorie her

Princip řešení soustavy rovnic

Celočíselné Programování

MATEMATICKÁ STATISTIKA - XP01MST

Lineární algebra. Soustavy lineárních rovnic

Pokročilé matematické modely a metody

Úvod do optimalizace

Soustavy lineárních rovnic

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

Numerické metody a programování. Lekce 8

Využití pojmu Hilbertovy báze pro ověření hypotézy o shodnosti strukturálních a kombinatorických imsetů

Otázky ke II. části písemné zkoušky Úvod do operačního výzkumu 1. Popište proces operačního výzkumu a uveďte typy rozhodovacích situací.

2. Řešení algebraické

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

ANALÝZA A KLASIFIKACE DAT

4EK314 Diskrétní modely

Základy maticového počtu Matice, determinant, definitnost

Optimalizační metody Lineární programování a kombinatorická optimalizace

Value at Risk. Karolína Maňáková

Optimalizace portfolia a míry rizika. Pavel Sůva

4EK311 Operační výzkum. 2. Lineární programování

1 Determinanty a inverzní matice

6 Simplexová metoda: Principy

Binární vyhledávací stromy pokročilé partie

Soustavy linea rnı ch rovnic

Operační výzkum. Teorie her cv. Hra v normálním tvaru. Optimální strategie. Maticové hry.

IB112 Základy matematiky

Definice 7.1 Nechť je dán pravděpodobnostní prostor (Ω, A, P). Zobrazení. nebo ekvivalentně

DRN: Kořeny funkce numericky

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel

Soustavy. Terminologie. Dva pohledy na soustavu lin. rovnic. Definice: Necht A = (a i,j ) R m,n je matice, b R m,1 je jednosloupcová.

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

1.Modifikace simplexové metody

Úvod do optimalizace Matematické metody pro ITS (11MAMY)

Rovnovážné modely v teorii portfolia

7 Konvexní množiny. min c T x. při splnění tzv. podmínek přípustnosti, tj. x = vyhovuje podmínkám: A x = b a x i 0 pro každé i n.

Náhodný vektor a jeho charakteristiky

Operace s maticemi

Transkript:

Úvod do celočíselné optimalizace Martin Branda Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra pravděpodobnosti a matematické statistiky Výpočetní aspekty optimalizace Martin Branda (KPMS MFF UK) 1 / 32

Proč celočíselnost? Reálné celočíselné optimalizační úlohy Optimalizace portfolia celočíselné alokace aktiv, (fixní) transakční náklady Rozvrhování celočíselné (binární) rozhodnutí, zda úlohu zpracuje daný stroj Úlohy rozvozu (VRP) binární proměnné pro identifikace následujícího zákazníka na cestě... Obecněji modelování splnění logických relací, např. alespoň dvě ze tří omezení jsou splněné, nakoupíme-li danou akcii, zvýší se fixní transakční náklady,... Martin Branda (KPMS MFF UK) 2 / 32

Proč celočíselnost? Reálné celočíselné optimalizační úlohy Optimalizace portfolia celočíselné alokace aktiv, (fixní) transakční náklady Rozvrhování celočíselné (binární) rozhodnutí, zda úlohu zpracuje daný stroj Úlohy rozvozu (VRP) binární proměnné pro identifikace následujícího zákazníka na cestě... Obecněji modelování splnění logických relací, např. alespoň dvě ze tří omezení jsou splněné, nakoupíme-li danou akcii, zvýší se fixní transakční náklady,... Martin Branda (KPMS MFF UK) 2 / 32

Formulace a vlastnosti Úloha celočíselného lineárního programování min c T x (1) Ax b, (2) x Z n +. (3) Předpoklad: všechny koeficienty jsou celočíselné (racionální před vynásobením vhodnými konstantami). Množinu přípustných řešení a její relaxaci označíme S = {x Z n + : Ax b}, (4) P = {x R n + : Ax b} (5) Triviálně S P. Ne již tak triviálně S conv(s) P Martin Branda (KPMS MFF UK) 3 / 32

Formulace a vlastnosti Úloha celočíselného lineárního programování min c T x (1) Ax b, (2) x Z n +. (3) Předpoklad: všechny koeficienty jsou celočíselné (racionální před vynásobením vhodnými konstantami). Množinu přípustných řešení a její relaxaci označíme S = {x Z n + : Ax b}, (4) P = {x R n + : Ax b} (5) Triviálně S P. Ne již tak triviálně S conv(s) P Martin Branda (KPMS MFF UK) 3 / 32

Formulace a vlastnosti Množina přípustných řešení, její relaxace a konvexní obal Š. Škoda: Řešení lineárních úloh s celočíselnými omezeními v GAMSu. Bc. práce MFF UK, 2010. Martin Branda (KPMS MFF UK) 4 / 32

Formulace a vlastnosti Úloha celočíselného lineárního programování Úloha je ekvivalentní min c T x : x S. (6) min c T x : x conv(s). (7) conv(s) je prakticky velice obtížné zkonstruovat je třeba velké množství omezení (existují výjimky). LP-relaxace: min c T x : x P. (8) Martin Branda (KPMS MFF UK) 5 / 32

Formulace a vlastnosti Úloha celočíselného lineárního programování Úloha je ekvivalentní min c T x : x S. (6) min c T x : x conv(s). (7) conv(s) je prakticky velice obtížné zkonstruovat je třeba velké množství omezení (existují výjimky). LP-relaxace: min c T x : x P. (8) Martin Branda (KPMS MFF UK) 5 / 32

Formulace a vlastnosti Úloha celočíselného lineárního programování Úloha je ekvivalentní min c T x : x S. (6) min c T x : x conv(s). (7) conv(s) je prakticky velice obtížné zkonstruovat je třeba velké množství omezení (existují výjimky). LP-relaxace: min c T x : x P. (8) Martin Branda (KPMS MFF UK) 5 / 32

Formulace a vlastnosti Úloha smíšeného celočíselného lineárního programování Mixed-integer linear programming Časté jsou úlohy smíšené (NEBUDEME UVAŽOVAT) min c T x + d T y (9) Ax + By b, (10) x Z n +, y R n +. (11) Martin Branda (KPMS MFF UK) 6 / 32

Formulace a vlastnosti Základní postupy řešení Ukážeme si: Metoda sečných nadrovin (Cutting Plane Method) Metoda větvení a mezí (Branch-and-Bound) Metody kombinující předešlé, např. Branch-and-Cut. Martin Branda (KPMS MFF UK) 7 / 32

Formulace a vlastnosti Základní postupy řešení Ukážeme si: Metoda sečných nadrovin (Cutting Plane Method) Metoda větvení a mezí (Branch-and-Bound) Metody kombinující předešlé, např. Branch-and-Cut. Martin Branda (KPMS MFF UK) 7 / 32

Metoda sečných nadrovin Metoda sečných nadrovin Gomoryho řezy 1. Vyřešíme LP-relaxaci (primárním nebo duálním) SIMPLEXovým algoritmem. Řešení je celočíselné KONEC, máme opti. řešení, jinak pokračuj dalším krokem. 2. Přidáme Gomoryho řez (...) a výslednou úlohu řešíme duálním SIMPLEXem. Martin Branda (KPMS MFF UK) 8 / 32

Metoda sečných nadrovin Metoda sečných nadrovin Gomoryho řezy 1. Vyřešíme LP-relaxaci (primárním nebo duálním) SIMPLEXovým algoritmem. Řešení je celočíselné KONEC, máme opti. řešení, jinak pokračuj dalším krokem. 2. Přidáme Gomoryho řez (...) a výslednou úlohu řešíme duálním SIMPLEXem. Martin Branda (KPMS MFF UK) 8 / 32

Gomoryho řez Metoda sečných nadrovin Existuje řádek v simplexové tabulce odpovídající neceločíselnému řešení x i ve tvaru x i + j N w ij x j = d i, (12) kde N značí množinu indexů nebazických proměnných; d i je neceločíselné. Označíme w ij = w ij + f ij, (13) d i = d i + f i, (14) tj. 0 f ij, f i < 1. Gomoryho řez je poté f ij x j f i, (15) j N resp. j N f ijx j + s = f i, s 0. Martin Branda (KPMS MFF UK) 9 / 32

Gomoryho řez Metoda sečných nadrovin Existuje řádek v simplexové tabulce odpovídající neceločíselnému řešení x i ve tvaru x i + j N w ij x j = d i, (12) kde N značí množinu indexů nebazických proměnných; d i je neceločíselné. Označíme w ij = w ij + f ij, (13) d i = d i + f i, (14) tj. 0 f ij, f i < 1. Gomoryho řez je poté f ij x j f i, (15) j N resp. j N f ijx j + s = f i, s 0. Martin Branda (KPMS MFF UK) 9 / 32

Gomoryho řez Metoda sečných nadrovin Obecné vlastnosti řezů (i Gomoryho): Aktuální (neceločíselné) řešení se stane nepřípustným ( odřízne se ) Žádné celočíselné řešení se nestane nepřípustných ( neodřízne se ) Martin Branda (KPMS MFF UK) 10 / 32

Metoda sečných nadrovin Gomoryho řez vlastnost 1 Omezení vyjádříme ve tvaru x i + j N( w ij + f ij )x j = d i + f i, (16) x i + j N w ij x j d i = f i j N f ij x j. (17) Aktuální řešení x j = 0 pro j N a x i = d i je neceločíselné, tj. 0 < x i d i < 1, tedy 0 < x i d i = f i j N f ij x j (18) a f ij xj < f i, (19) j N což je ve sporu s Gomoryho řezem. Martin Branda (KPMS MFF UK) 11 / 32

Metoda sečných nadrovin Gomoryho řez vlastnost 2 Uvažujme libovolné přípustné celočíselné řešení a přepis omezení x i + w ij x j d i = f i f ij x j, (20) j N j N Levá strana (LS) je celočíselná, tedy i pravá strana (PS) je celočíselná. Navíc f i < 1 a j N f ijx j 0, tedy PS je ostře menší než 1 a zároveň celočíselná, tedy menší nebo rovna než 0, tj. dostáváme Gomoryho řez f i j N f ij x j 0. (21) Každé přípustné celočíselné řešení ho splňuje. Martin Branda (KPMS MFF UK) 12 / 32

Metoda sečných nadrovin Průběh algoritmu sečných nadrovin Š. Škoda: Řešení lineárních úloh s celočíselnými omezeními v GAMSu. Bc. práce MFF UK, 2010. Martin Branda (KPMS MFF UK) 13 / 32

Dantzigovy řezy Metoda sečných nadrovin x j 1. (22) j N (Připomeňme, že nebazické proměnné jsou nulové.) Martin Branda (KPMS MFF UK) 14 / 32

Příklad Metoda sečných nadrovin min 4x 1 + 5x 2 (23) x 1 + 4x 2 5, (24) 3x 1 + 2x 2 7, (25) x 1, x 2 Z n +. (26) Duální simplex pro LP-relaxaci... Martin Branda (KPMS MFF UK) 15 / 32

Metoda sečných nadrovin Po dvou iteracích duálního SIMPLEXového algoritmu... 4 5 0 0 x 1 x 2 x 3 x 4 5 x 2 8/10 0 1-3/10 1/10 4 x 1 18/10 1 0 2/10-4/10 112/10 0 0-7/10-11/10 Nesplňuje celočíselnost, např. omezení pro x 1 : Gomoryho řez: x 1 + 2/10x 3 4/10x 4 = 18/10, x 1 + (0 + 2/10)x 3 + ( 1 + 6/10)x 4 = 1 + 8/10. 2/10x 3 + 6/10x 4 8/10. Martin Branda (KPMS MFF UK) 16 / 32

Metoda sečných nadrovin Po dvou iteracích duálního SIMPLEXového algoritmu... 4 5 0 0 x 1 x 2 x 3 x 4 5 x 2 8/10 0 1-3/10 1/10 4 x 1 18/10 1 0 2/10-4/10 112/10 0 0-7/10-11/10 Nesplňuje celočíselnost, např. omezení pro x 1 : Gomoryho řez: x 1 + 2/10x 3 4/10x 4 = 18/10, x 1 + (0 + 2/10)x 3 + ( 1 + 6/10)x 4 = 1 + 8/10. 2/10x 3 + 6/10x 4 8/10. Martin Branda (KPMS MFF UK) 16 / 32

Metoda sečných nadrovin Po dvou iteracích duálního SIMPLEXového algoritmu... 4 5 0 0 x 1 x 2 x 3 x 4 5 x 2 8/10 0 1-3/10 1/10 4 x 1 18/10 1 0 2/10-4/10 112/10 0 0-7/10-11/10 Nesplňuje celočíselnost, např. omezení pro x 1 : Gomoryho řez: x 1 + 2/10x 3 4/10x 4 = 18/10, x 1 + (0 + 2/10)x 3 + ( 1 + 6/10)x 4 = 1 + 8/10. 2/10x 3 + 6/10x 4 8/10. Martin Branda (KPMS MFF UK) 16 / 32

Metoda sečných nadrovin Aktualizovaná simplexová tabulka Duální simplex... 4 5 0 0 0 x 1 x 2 x 3 x 4 x 5 5 x 2 8/10 0 1-3/10 1/10 0 4 x 1 18/10 1 0 2/10-4/10 0 0 x 5-8/10 0 0-2/10-6/10 1 112/10 0 0-7/10-11/10 0 Martin Branda (KPMS MFF UK) 17 / 32

Metoda větvení a mezí Metoda větvení a mezí (Branch-and-Bound) Obecné principy: Řeš úlohy LP bez celočíselnosti. Větvi pomocí dodatečných podmínek na neceločíselnou proměnnou x i x i, x i x i + 1. Odřízni neperspektivní větve. Martin Branda (KPMS MFF UK) 18 / 32

Metoda větvení a mezí Metoda větvení a mezí P. Pedegral (2004). Introduction to optimization, Springer-Verlag, New York. Martin Branda (KPMS MFF UK) 19 / 32

Metoda větvení a mezí Metoda větvení a mezí (Branch-and-Bound) 0. f min =, x min =, seznam úloh P = Vyřeš LP-relaxaci úlohy f, x. Je-li řešení celočíselné, STOP. Je-li úloha nepřípustná nebo neomezená, STOP. 1. BRANCHING: Existuje x i bazická neceločíselná proměnná taková, že k < x i < k + 1 pro nějaké k N: K předešlém problému přidáme omezení x i k a zařadíme do P. K předešlém problému přidáme omezení x i k + 1 a zařadíme do P. 2. Vyjmi problém z P a vyřeš ho: f, x. 3. Je-li f < f min a x porušuje celočíselnost, jdi na 1. BOUNDING: Je-li f < f min a x je celočíselné, polož f min = f a x min = x, jdi na 4. BOUNDING: Je-li f f min, jdi na 4. Úloha je nepřípustná, jdi na 4. 4. Je-li P, jdi na 2. Je-li P = a f min =, celočíselné řešení neexistuje. Je-li P = a f min <, optimální hodnota a řešení jsou f min, x min. Martin Branda (KPMS MFF UK) 20 / 32

Metoda větvení a mezí Metoda větvení a mezí (Branch-and-Bound) 0. f min =, x min =, seznam úloh P = Vyřeš LP-relaxaci úlohy f, x. Je-li řešení celočíselné, STOP. Je-li úloha nepřípustná nebo neomezená, STOP. 1. BRANCHING: Existuje x i bazická neceločíselná proměnná taková, že k < x i < k + 1 pro nějaké k N: K předešlém problému přidáme omezení x i k a zařadíme do P. K předešlém problému přidáme omezení x i k + 1 a zařadíme do P. 2. Vyjmi problém z P a vyřeš ho: f, x. 3. Je-li f < f min a x porušuje celočíselnost, jdi na 1. BOUNDING: Je-li f < f min a x je celočíselné, polož f min = f a x min = x, jdi na 4. BOUNDING: Je-li f f min, jdi na 4. Úloha je nepřípustná, jdi na 4. 4. Je-li P, jdi na 2. Je-li P = a f min =, celočíselné řešení neexistuje. Je-li P = a f min <, optimální hodnota a řešení jsou f min, x min. Martin Branda (KPMS MFF UK) 20 / 32

Metoda větvení a mezí Metoda větvení a mezí (Branch-and-Bound) 0. f min =, x min =, seznam úloh P = Vyřeš LP-relaxaci úlohy f, x. Je-li řešení celočíselné, STOP. Je-li úloha nepřípustná nebo neomezená, STOP. 1. BRANCHING: Existuje x i bazická neceločíselná proměnná taková, že k < x i < k + 1 pro nějaké k N: K předešlém problému přidáme omezení x i k a zařadíme do P. K předešlém problému přidáme omezení x i k + 1 a zařadíme do P. 2. Vyjmi problém z P a vyřeš ho: f, x. 3. Je-li f < f min a x porušuje celočíselnost, jdi na 1. BOUNDING: Je-li f < f min a x je celočíselné, polož f min = f a x min = x, jdi na 4. BOUNDING: Je-li f f min, jdi na 4. Úloha je nepřípustná, jdi na 4. 4. Je-li P, jdi na 2. Je-li P = a f min =, celočíselné řešení neexistuje. Je-li P = a f min <, optimální hodnota a řešení jsou f min, x min. Martin Branda (KPMS MFF UK) 20 / 32

Metoda větvení a mezí Metoda větvení a mezí (Branch-and-Bound) 0. f min =, x min =, seznam úloh P = Vyřeš LP-relaxaci úlohy f, x. Je-li řešení celočíselné, STOP. Je-li úloha nepřípustná nebo neomezená, STOP. 1. BRANCHING: Existuje x i bazická neceločíselná proměnná taková, že k < x i < k + 1 pro nějaké k N: K předešlém problému přidáme omezení x i k a zařadíme do P. K předešlém problému přidáme omezení x i k + 1 a zařadíme do P. 2. Vyjmi problém z P a vyřeš ho: f, x. 3. Je-li f < f min a x porušuje celočíselnost, jdi na 1. BOUNDING: Je-li f < f min a x je celočíselné, polož f min = f a x min = x, jdi na 4. BOUNDING: Je-li f f min, jdi na 4. Úloha je nepřípustná, jdi na 4. 4. Je-li P, jdi na 2. Je-li P = a f min =, celočíselné řešení neexistuje. Je-li P = a f min <, optimální hodnota a řešení jsou f min, x min. Martin Branda (KPMS MFF UK) 20 / 32

Metoda větvení a mezí Metoda větvení a mezí (Branch-and-Bound) 0. f min =, x min =, seznam úloh P = Vyřeš LP-relaxaci úlohy f, x. Je-li řešení celočíselné, STOP. Je-li úloha nepřípustná nebo neomezená, STOP. 1. BRANCHING: Existuje x i bazická neceločíselná proměnná taková, že k < x i < k + 1 pro nějaké k N: K předešlém problému přidáme omezení x i k a zařadíme do P. K předešlém problému přidáme omezení x i k + 1 a zařadíme do P. 2. Vyjmi problém z P a vyřeš ho: f, x. 3. Je-li f < f min a x porušuje celočíselnost, jdi na 1. BOUNDING: Je-li f < f min a x je celočíselné, polož f min = f a x min = x, jdi na 4. BOUNDING: Je-li f f min, jdi na 4. Úloha je nepřípustná, jdi na 4. 4. Je-li P, jdi na 2. Je-li P = a f min =, celočíselné řešení neexistuje. Je-li P = a f min <, optimální hodnota a řešení jsou f min, x min. Martin Branda (KPMS MFF UK) 20 / 32

Lépe... Metoda větvení a mezí 2. Vyjmi problém z P a vyřeš ho: f, x. Pokud však pro původní úlohu před přidáním omezení platí f f min pro aktuální f min tak úlohy s přidaným omezením nemá smysl řešit! (Nemůžu dostat menší optimální hodnotu něž f min.) Martin Branda (KPMS MFF UK) 21 / 32

Metoda větvení a mezí Metoda větvení a mezí Martin Branda (KPMS MFF UK) 22 / 32

Metoda větvení a mezí Metoda větvení a mezí Výběr problému z P: FIFO/LIFO/úloha s nejmenší f. Výběr větvící proměnné xi : největší/nejmenší porušení celočíselnosti nebo největší/nejmenší koeficient v účelové funkci. Martin Branda (KPMS MFF UK) 23 / 32

Metoda větvení a mezí Totálně unimodulární matice Totálně unimodulární matice A: pro libovolný celočíselný vektor pravých stran b dostaneme celočíselné řešení, např. dopravní problém. Martin Branda (KPMS MFF UK) 24 / 32

Software... i pro nelineární celočíselné Software Prostředí: GAMS, CPlex Studio, Gurobi,... Řešitele: CPlex (pouze MILP, MIQP), Gurobi (MILP, MIQP), Baron, Bonmin (MINLP), Dicopt (MINLP), Knitro (MINLP), Lindo,... Pro náročné úlohy často nutné heuristické a metaheuristické algoritmy (greedy h., genetické alg., tabu search, simulated annealing,... ) Martin Branda (KPMS MFF UK) 25 / 32

Software... i pro nelineární celočíselné Software Prostředí: GAMS, CPlex Studio, Gurobi,... Řešitele: CPlex (pouze MILP, MIQP), Gurobi (MILP, MIQP), Baron, Bonmin (MINLP), Dicopt (MINLP), Knitro (MINLP), Lindo,... Pro náročné úlohy často nutné heuristické a metaheuristické algoritmy (greedy h., genetické alg., tabu search, simulated annealing,... ) Martin Branda (KPMS MFF UK) 25 / 32

GAMS Software Celočíselné proměnné Integer variables automaticky nezáporné s přednastavenou horní mezí 100 (lze změnit pomocí x.up(i) = 1;)! Binary variables Příkaz SOLVE using MILP MIQCP MINLP Martin Branda (KPMS MFF UK) 26 / 32

GAMS nastavení GAMS options Software POZOR na TOLERANCE optimálního řešení (hodnoty) pro celočíselné úlohy. optcr relativní tolerance (implicitně 0.1 bývá příliš velké) optca absolutní rolerance (vypnuta) reslim počet sekund pro řešení (implicitně 1000 bývá málo) nlp = conopt, lp = gurobi, mip = cplex výběr rešitele v kódu Např. OPTIONS optcr=0.000001 reslim = 3600; Martin Branda (KPMS MFF UK) 27 / 32

GAMS nastavení GAMS options Software POZOR na TOLERANCE optimálního řešení (hodnoty) pro celočíselné úlohy. optcr relativní tolerance (implicitně 0.1 bývá příliš velké) optca absolutní rolerance (vypnuta) reslim počet sekund pro řešení (implicitně 1000 bývá málo) nlp = conopt, lp = gurobi, mip = cplex výběr rešitele v kódu Např. OPTIONS optcr=0.000001 reslim = 3600; Martin Branda (KPMS MFF UK) 27 / 32

Úlohy s pravděpodobnostními omezeními Úlohy s pravděpodobnostními omezeními Chance (probabilistic) constrained problems Nechť f, g j (, ξ) : R n R, ξ je reálný náhodný vektor, ε (0, 1) malé: min x X f (x) s.t. P (g 1 (x, ξ) 0,..., g m (x, ξ) 0) 1 ε. Martin Branda (KPMS MFF UK) 28 / 32

Úlohy s pravděpodobnostními omezeními Úlohy s pravděpodobnostními omezeními W.M. Raike (1970). Dissection Methods for Solutions in Chance Constrained Programming Problems Under Discrete Distributions. Management Science 16 (11), 708 715. Má-li ξ konečné diskrétní rozdělení s realizacemi ξ 1,..., ξ S a pnostmi p s. Polož M max j=1,...,m max s=1,...,s sup x X g j(x, ξ s). min x,u f (x) s.t. S s=1 psys 1 ε, g 1(x, ξ s) M(1 y s) 0, s = 1,..., S. g m(x, ξ s) M(1 y s) 0, s = 1,..., S, y s {0, 1}, s = 1,..., S, x X. (27) Velká úloha mixed-celočíselné optimalizace... Martin Branda (KPMS MFF UK) 29 / 32

Úlohy s pravděpodobnostními omezeními Value at Risk (VaR) Definice VaR pro náhodnou veličinu udávající ztrátu Z na pstním prostoru (Ω, A, P), hladina α (0, 1), obvykle 0.95, 0.99, 0.995: VaR α(z) = min z z s.t. P(Z z) α. Optimalizace portfolia: P ( min z z,x ) n R ix i z i=1 α, n E[R i] x i r min, i=1 n x i = 1, x i 0, i=1 kde R i je náhodný výnos aktiva i a minimální očekávaný výnos r min je zvolen tak, aby úloha byla přípustná. Martin Branda (KPMS MFF UK) 30 / 32

Úlohy s pravděpodobnostními omezeními Value at Risk (VaR) Definice VaR pro náhodnou veličinu udávající ztrátu Z na pstním prostoru (Ω, A, P), hladina α (0, 1), obvykle 0.95, 0.99, 0.995: VaR α(z) = min z z s.t. P(Z z) α. Optimalizace portfolia: P ( min z z,x ) n R ix i z i=1 α, n E[R i] x i r min, i=1 n x i = 1, x i 0, i=1 kde R i je náhodný výnos aktiva i a minimální očekávaný výnos r min je zvolen tak, aby úloha byla přípustná. Martin Branda (KPMS MFF UK) 30 / 32

Literatura Úlohy s pravděpodobnostními omezeními M. Branda, M.: Solving real-life portfolio problem using stochastic programming and Monte-Carlo techniques. Proceedings of the 28th International Conference on Mathematical Methods in Economics 2010, 67 72. P. Pedegral (2004). Introduction to optimization, Springer-Verlag, New York. W.M. Raike (1970). Dissection Methods for Solutions in Chance Constrained Programming Problems Under Discrete Distributions. Management Science 16 (11), 708 715. Š. Škoda: Řešení lineárních úloh s celočíselnými omezeními v GAMSu. Bc. práce MFF UK, 2010. L.A. Wolsey, G.L. Nemhauser, Integer and Combinatorial Optimization. Wiley, New York, 1999. Martin Branda (KPMS MFF UK) 31 / 32

Úlohy s pravděpodobnostními omezeními Dotazy? e-mail: branda@karlin.mff.cuni.cz web: http://artax.karlin.mff.cuni.cz/ branm1am Martin Branda (KPMS MFF UK) 32 / 32