2017/ Szegedi Tudományegyetem Informatikai Intézet

Hasonló dokumentumok
Branch-and-Bound. 1. Az egészértéketű programozás. a korlátozás és szétválasztás módszere Bevezető Definíció. 11.

Diszkrét, egészértékű és 0/1 LP feladatok

Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2017/ Szegedi Tudományegyetem Informatikai Intézet

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

Követelmények Motiváció Matematikai modellezés: példák A lineáris programozás alapfeladata 2017/ Szegedi Tudományegyetem Informatikai Intézet

További programozási esetek Hiperbolikus, kvadratikus, integer, bináris, többcélú programozás

Követelmények Motiváció Matematikai modellezés: példák A lineáris programozás alapfeladata 2017/ Szegedi Tudományegyetem Informatikai Intézet

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

Operációkutatás példatár

Totális Unimodularitás és LP dualitás. Tapolcai János

Korlátozás és szétválasztás módszere Holló Csaba 2

Áttekintés LP és geometria Többcélú LP LP és egy dinamikus modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

Nemlineáris programozás 2.

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

G Y A K O R L Ó F E L A D A T O K

Korlátozás és szétválasztás elve. ADAGOLO adattípus

Operációkutatás. Vaik Zsuzsanna. ajánlott jegyzet: Szilágyi Péter: Operációkutatás

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

Döntési módszerek Tantárgyi útmutató

Optimumkeresés számítógépen

Operációkutatás II. Tantárgyi útmutató

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus

Operációkutatás II. Tantárgyi útmutató

Operációkutatás. Vaik Zsuzsanna. Budapest október 10. First Prev Next Last Go Back Full Screen Close Quit

Bevezetés Standard 1 vállalatos feladatok Standard több vállalatos feladatok 2017/ Szegedi Tudományegyetem Informatikai Intézet

Döntéselőkészítés. I. előadás. Döntéselőkészítés. Előadó: Dr. Égertné dr. Molnár Éva. Informatika Tanszék A 602 szoba

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

Módszer köztes tárolókat nem tartalmazó szakaszos működésű rendszerek ütemezésére

Algoritmizálás, adatmodellezés tanítása 8. előadás

Programozási módszertan. Mohó algoritmusok

A szimplex algoritmus

A lineáris programozás 1 A geometriai megoldás

Egyes logisztikai feladatok megoldása lineáris programozás segítségével. - bútorgyári termelési probléma - szállítási probléma

Mohó algoritmusok. Példa:

3. előadás. Termelési és optimalizálási feladatok. Dr. Szörényi Miklós, Dr. Kallós Gábor

Adatszerkezetek 7a. Dr. IványiPéter

Operációkutatás II. Bajalinov, Erik, Nyíregyházi Főiskola, Matematika és Informatika Intézete Bekéné Rácz, Anett, Debreceni Egyetem, Informatikai Kar

Általános algoritmustervezési módszerek

Ütemezési problémák. Kis Tamás 1. ELTE Problémamegoldó Szeminárium, ősz 1 MTA SZTAKI. valamint ELTE, Operációkutatási Tanszék

Nemkonvex kvadratikus egyenlőtlenségrendszerek pontos dualitással

Nem-lineáris programozási feladatok

Tartalom. Matematikai alapok. Fontos fogalmak Termékgyártási példafeladat

Döntési rendszerek I.

Ütemezési modellek. Az ütemezési problémák osztályozása

Döntési módszerek Tantárgyi útmutató

1. Előadás Lineáris programozás

Kétfázisú szimplex algoritmus és speciális esetei

Érzékenységvizsgálat

angolul: greedy algorithms, románul: algoritmi greedy

Intelligens Rendszerek Elmélete IRE 4/32/1

Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.

Algoritmusok és adatszerkezetek gyakorlat 07

Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

Opkut deníciók és tételek

Heurisztikák BitTorrent hálózatok max-min méltányos sávszélesség-kiosztására

A lineáris programozás alapjai

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.

Növényvédő szerek A B C D

Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2015/ Szegedi Tudományegyetem Informatikai Tanszékcsoport

1/ gyakorlat. Hiperbolikus programozási feladat megoldása. Pécsi Tudományegyetem PTI

Matematikai modellezés

Lukovich Gábor Logisztikai rendszerfejlesztő

Bevezetés az operációkutatásba A lineáris programozás alapjai

Approximációs algoritmusok

Optimalizációs stratégiák 2.

Diverzifikáció Markowitz-modell MAD modell CAPM modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

Alkalmazott optimalizálás és játékelmélet Lineáris programozás Gyakorlófeladatok. Rétvári Gábor

Elemi adatszerkezetek

Gyártórendszerek modellezése: MILP modell PNS feladatokhoz

Kétváltozós függvények differenciálszámítása

Az optimális megoldást adó algoritmusok

Döntési rendszerek I.

Matematikai modellek megoldása számítógéppel Solver Lingo

Optimalizációs stratégiák 1.

Gráfelméleti modell alkalmazása épít ipari kivitelezés ütemezésére

Kereső algoritmusok a diszkrét optimalizálás problémájához

Kétszemélyes játékok Gregorics Tibor Mesterséges intelligencia

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Az B sorozatban a pontok helyes preorder sorrendben vannak. A preorder bejárásban p k -t közvetlenül q m követi.

Kereső algoritmusok a diszkrét optimalizálás problémájához

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]

Dinamikus programozás II.

Partíció probléma rekurzíómemorizálással

Algoritmuselmélet 18. előadás

11. Előadás. 1. Lineáris egyenlőség feltételek melletti minimalizálás

30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK

Kereső algoritmusok a diszkrét optimalizálás problémájához

Számítógép és programozás 2

B-fa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor.

Szemidenit optimalizálás és az S-lemma

EuroOffice Optimalizáló (Solver)

Operációkutatás vizsga

Egészértékű lineáris programozás

Döntéselméleti modellek

A Markowitz modell: kvadratikus programozás

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Mesterséges intelligencia 3. laborgyakorlat

Tartalom. Matematikai alapok. Termékgyártási példafeladat. Keverési példafeladat Szállítási példafeladat Hátizsák feladat, egészértékű feladat

Átírás:

Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatikai Intézet Számítógépes Optimalizálás Tanszék 8. Előadás

Bevezetés Egy olyan LP-t, amelyben mindegyik változó egészértékű, tiszta egészértékű programozási feladatnak hívunk (IP).Például max z = 3x 1 + 2x 2 f.h. x 1 + x 2 6 x 1, x 2 0 x 1, x 2 egész Egy olyan LP-t, amelyben csak néhány változóra követeljük meg az egészértékűséget, vegyes egészértékű programozási feladatnak nevezünk (MIP). Fenti példában, ha x 1, x 2 0, x 2 egész a feltétel, akkor egy MIP feladatot kapunk (x 1 folytonos). Egy olyan egészértékű programozási feladatot, amelyben mindegyik változó bináris, azaz értéke csak 0 vagy 1 lehet, 0 1 IP-nek hívunk.

LP-lazítás Egy egészértékű programozási feladat LP-lazítása az az LP, amelyet úgy kapunk az IP-ből, hogy a változókra tett minden egészértékűségi vagy 0 1 megkötést eltörlünk.

Álĺıtások Bármelyik IP lehetséges megoldáshalmaza része az LP-lazítása lehetséges megoldástartományának. Maximalizálásnál az LP-lazítás optimum értéke az IP optimum értékénél. Ha az LP-lazítás lehetséges megoldáshalmazának minden csúcspontja egész, akkor van egész optimális megoldása ami az IP megoldása is egyben. Az LP-lazítás optimális megoldása bármilyen messze lehet az IP megoldásától.

A korlátozás és szétválasztás módszere egészértékű programozási feladatok megoldására Példa A Telfa asztalokat és székeket készít. Egy asztalhoz 1 óra munka és 9 négyzetméter deszkalap szükséges, egy székhez pedig 1 óra munka és 5 négyzetméter deszkalap. Jelenleg 6 óra munka és 45 négyzetméter deszkalap áll rendelkezésre. Egy asztalon a nyereség 8$, egy széken 5$. Írjunk fel egy IP-t a Telfa nyereségének maximalizálására! Megoldás Legyen x 1 a készítendő asztalok száma, x 2 a készítendő székek száma.mivel x 1 -nek és x 2 -nek is egész értékeket kell felvennie, a Telfának a következő IP-t kell megoldania: max z = 8x 1 + 5x 2 f.h. x 1 + x 2 6 (munkaidő feltétel) 9x 1 + 5x 2 45 (deszkalap feltétel) x 1, x 2 0, egész

1. lépés Megoldjuk az LP-lazítást (1. részfeladat). Ha a megoldás egészértékű, kész vagyunk, ez az IP optimális megoldása. 2. (iteratív) lépés Ha van lezáratlan részfeladatunk, azt egy x i nem egész változója szerint két részfeladatra bontjuk. Ha x i értéke x i, akkor x i x i illetve x i x i feltételeket vesszük hozzá a részfeladatunkhoz.

x 1 = 3.75 tört értékű, így eszerint bontjuk fel a feladatunkat: 2. részfeladat Az 1. részfeladat + az x 1 4 feltétel. 3. részfeladat Az 1. részfeladat + az x 1 3 feltétel. Így kizártuk az x 1 ]3,4[ nem egész megoldásokat.

a részproblémákat egy fába rendezzük a gyökér az LP-lazítás, az 1. részfeladat a leszármazottai a ágaztatott részproblémák a hozzávett feltételt az élen adjuk meg a csúcsokban az LP-k optimális megoldásait jegyezzük A 2. részprobléma megoldása az x 2 változóban törtértékű, így ezt eszerint ágaztatjuk el.

4. részfeladat 2. részfeladat + az x 2 2 feltétel = 1. részfeladat + az x 1 4 és x 2 2 feltételek 5. részfeladat 2. részfeladat + az x 2 1 feltétel = 1. részfeladat + az x 1 4 és x 2 1 feltételek

A 4. részproblémának nincs lehetséges megoldása, így ezt a levelet lezárjuk.

6. részfeladat 5. részfeladat + az x 1 5 feltétel 7. részfeladat 5. részfeladat + az x 1 4 feltétel

A 7. részproblémának a megoldása egészértékű, így ezt a levelet lezárjuk. A megoldás-jelölt z értéke egy alsó korlát az eredeti IP optimális z értékére, vagyis LB = 37.

A 6. részproblémának a megoldása egészértékű, így ezt a levelet lezárjuk, LB = 40. Ez alapján a 7. részprobléma megoldását elvetjük.

A 3. részproblémának a megoldása egészértékű, így ezt a levelet lezárjuk. Ezt a részproblémát akkor is lezárhatnánk, ha nem lenne egészértékű, mivel z = 39 < LB = 40, így a részfeladatban nem lehet a megoldás-jelöltünknél jobb lehetséges megoldás. Az IP optimális megoldását a 6. részprobléma megoldása adja.

Egy csúcs felderített (lezárt), ha nincs lehetséges megoldása megoldása egészértékű felderítettünk már olyan egész megoldást, ami jobb a részfeladat megoldásánál (maximalizálásnál z LB) Egy részfeladatot kizárunk, ha nincs lehetséges megoldása felderítettünk már olyan egész megoldást, ami jobb a részfeladat megoldásánál (maximalizálásnál z LB)

Korlátozás és szétválasztás módszere hátizsák feladatra Hátizsák probléma Egy olyan IP-t, amelyben csak egy feltétel van, hátizsák feladatnak hívunk. Példa Josie Camper egy kétnapos túrára készül. Négy tárgy van, amire szüksége lehet, de csak 1400 grammot tud ezekből elvinni. A tárgyak súlya, illetve haszna Josie szerint Tárgy Súly(100g) Haszon Relatív hasznosság Sorrend Tablet 5 16 3.2 1. Laptop 7 22 3.1 2. Okosteló 4 12 3 3. Elemlámpa 3 8 2.7 4.

Matematikai modell Legyen x i = 1 ha az i. tárgyat viszi, x i = 0 ha marad. Ekkor a feladat max z = 16x 1 + 22x 2 + 12x 3 + 8x 4 f.h. 5x 1 + 7x 2 + 4x 3 + 3x 4 14 x i {0, 1} Az LP-lazítás megoldása könnyen számítható: a relatív hasznosság szerint tesszük be sorba a tárgyakat a hátizsákba, ami nem fér, annak csak tört részét. A tablet meg a laptop bekerül, ezzel 1200 g a súlya, a teló 400 g, ennek a fele fér bele: x 1 = 1, x 2 = 1, x 3 = 0.5, z = 16 + 22 + 0.5 12 = 44. Az egyetlen tört változó szerint szétbontjuk: x 3 = 1 (már csak 100 g-nyi tárgyat keresünk) vagy x 3 = 0 (csak 3 tárgyból keresünk).

Tárgy Súly Haszon Tablet 5 16 Laptop 7 22 Okosteló 4 12 Lámpa 3 8 2. lépésben az x 3 = 1 feltétellel kiegészített feladatot oldjuk meg. Majd hozzávesszük a x 2 = 0 feltételt, így kapunk egy egész megoldást, ami alsó korlát a feladat megoldására: LB=36. A 6. részfeladat megoldása egész, LB=42-re módosul. A 7. részf. nem lehetséges, mind a 4 tárgy nem fér bele a hátizsákba.

Tárgy Súly Haszon Tablet 5 16 Laptop 7 22 Okosteló 4 12 Lámpa 3 8 A 8. részf. elvethető, mert z LB. A 9. részf. elvethető, hiszen a célfüggvény együtthatók miatt minden egész megoldáshoz egészértékű hasznosság tartozik, így az LB=42-nél jobb megoldás nem lehet ezen az ágon sem.

Záró gondolatok a korátozás és szétválasztásról Hátizsák feladatnál legrosszabb esetben 2 n részfeladatot kell megoldani, vagyis NP-nehéz (nem polinomiális időben megoldható) a feladat. Egészértékű feladatnál ez még rosszabb, 2 Mn, ahol M a lehetséges egészek száma egy változóra. Duál szimplex algoritmussal úgynevezett meleg indítással gyorsítható az LP-k megoldása. Ilyenkor az apa optimális szimplex táblából indulunk és a hozzávett nem lehetséges feltételből kell duál szimplex lépéseket végrehajtani. A fa bejárása lehet LIFO (Last In First Out) azaz mélységi bejárás vagy FIFO (First In First Out) szélességi bejárás.

Modellezési trükkök Fix költség Ha gyártunk egy terméket fix költséget kell fizetni, azaz ha x i > 0 a költség K-val nő. Hogy lehet ezt modellezni? Modellben Legyenek új változók, y i = 1 ha gyártjuk az i. terméket, 0 különben. x i My i, ahol M nagyobb mint az i. termék maximum gyártható mennyisége célfüggvénybe Ky i költség szerepel Minimum mennyiség Hogy írjuk fel, ha gyártunk az i. termékből, akkor minimum 1000-et gyártsunk? Modellben Legyenek új változók, y i = 1 ha gyártjuk az i. terméket, 0 különben. x i 1000y i

Vagy-vagy feltétel Vagy f(x 1, x 2,..., x n ) 0 teljesüljön, vagy g(x 1, x 2,..., x n ) 0. Modellben Legyen az új változó y = 1 ha g 0, 0 ha f 0. f(x 1, x 2,..., x n ) My, ahol M nagyobb mint f és g maximuma g(x 1, x 2,..., x n ) M(1 y) Ha-akkor feltétel Az f(x 1, x 2,..., x n ) > 0 feltétel teljesülése esetén a g(x 1, x 2,..., x n ) 0 feltétel is teljesüljön, de ha f(x 1, x 2,..., x n ) > 0 nem teljesül, akkor mindegy, hogy a g(x 1, x 2,..., x n ) 0 teljesül-e vagy sem. Modellben Legyen az új változó y = 1 ha f > 0, 0 ha f 0. f(x 1, x 2,..., x n ) My, ahol M nagyobb mint f és g maximuma g(x 1, x 2,..., x n ) M(1 y)