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

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

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

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

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 szimplex algoritmus

Opkut deníciók és tételek

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

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

A szimplex algoritmus

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

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

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

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

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

Érzékenységvizsgálat

Nemlineáris programozás 2.

2) Írja fel az alábbi lineáris függvény grafikonjának egyenletét! (3pont)

A szimplex tábla. p. 1

1. Ábrázolja az f(x)= x-4 függvényt a [ 2;10 ] intervallumon! (2 pont) 2. Írja fel az alábbi lineáris függvény grafikonjának egyenletét!

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

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

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Abszolútértékes és gyökös kifejezések

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL

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

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

I. Egyenlet fogalma, algebrai megoldása

Függvények Megoldások

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

Magasabbfokú egyenletek

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II.

függvény grafikonja milyen transzformációkkal származtatható az f0 : R R, f0(

Operációkutatás. 4. konzultáció: Szállítási feladat. A feladat LP modellje

egyenlőtlenségnek kell teljesülnie.

Egyenletek, egyenletrendszerek, egyenlőtlenségek Megoldások

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

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

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

Gráfelmélet/Diszkrét Matematika MSc hallgatók számára. 3. Előadás

A lineáris programozás alapjai

2017/ Szegedi Tudományegyetem Informatikai Intézet

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2

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

Függvény fogalma, jelölések 15

E-tananyag Matematika 9. évfolyam Függvények

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

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

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

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

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

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

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

Hódmezővásárhelyi Városi Matematikaverseny április 14. A osztályosok feladatainak javítókulcsa

Descartes-féle, derékszögű koordináta-rendszer

A L Hospital-szabály, elaszticitás, monotonitás, konvexitás

Németh László Matematikaverseny április 16. A osztályosok feladatainak javítókulcsa

KOVÁCS BÉLA, MATEMATIKA I.

Matematika III előadás

Érettségi feladatok: Függvények 1/9

Abszolútértékes és gyökös kifejezések Megoldások

15. LINEÁRIS EGYENLETRENDSZEREK

Trigonometria Megoldások. 1) Igazolja, hogy ha egy háromszög szögeire érvényes az alábbi összefüggés: sin : sin = cos + : cos +, ( ) ( )

Hiperbolikus programozás Elmélet, módszerek, alkalmazások, szoftver

A legjobb közeĺıtés itt most azt jelentette, hogy a lineáris

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

a) A logaritmus értelmezése alapján: x 8 0 ( x 2 2 vagy x 2 2) (1 pont) Egy szorzat értéke pontosan akkor 0, ha valamelyik szorzótényező 0.

Jelen jegyzet a József Attila Tudományegyetem programozó matematikus és. A feldolgozott anyag bevezető jellegű. Néhány karakterisztikus, ma már

Analízis előadás és gyakorlat vázlat

lineáris programozás esetében. Ennek ez idő szerint legkorábbi formalizálását

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Paraméter

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

Nem-lineáris programozási feladatok

Első zárthelyi dolgozat megoldásai biomatematikából * A verzió

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Abszolútértékes és Gyökös kifejezések

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

Lineáris programozás. Modellalkotás Grafikus megoldás Feladattípusok Szimplex módszer

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

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Trigonometria

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

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások. 1. Az alábbi hozzárendelések közül melyik függvény? Válaszod indokold!

Analízis I. Vizsgatételsor

A valós számok halmaza 5. I. rész MATEMATIKAI ANALÍZIS

EuroOffice Optimalizáló (Solver)

462 Trigonometrikus egyenetek II. rész

Általános algoritmustervezési módszerek

Nagy Gábor compalg.inf.elte.hu/ nagy

A dualitás elve. Készítette: Dr. Ábrahám István

Analízis I. beugró vizsgakérdések

Egyenletek, egyenlőtlenségek VII.

Irracionális egyenletek, egyenlôtlenségek

Módszertani megjegyzés: A kikötés az osztás műveletéhez kötődik. A jobb megértés miatt célszerű egy-két példát mu-

Exponenciális, logaritmikus függvények

Függvények 1. oldal Készítette: Ernyei Kitti. Függvények

Átírás:

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

LP alapfeladat A lineáris programozás (LP) alapfeladata standard formában Max c 1 x 1 + c 2 x 2 +... + c n x n = z Felt. a 11 x 1 + a 12 x 2 +... + a 1n x n b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n b 2. a m1 x 1 + a m2 x 2 +... + a mn x n b m x 1,..., x n 0

Alapfogalmak Lineáris programozási feladat: keressük meg adott lineáris, R n értelmezési tartományú függvény (célfüggvény) szélsőértékét (minimumát vagy maximumát) értelmezési tartományának adott lineáris korlátokkal (feltételekkel) meghatározott részében. Lehetséges megoldás: olyan p = (p 1,..., p n ) R n vektor, hogy p i -t x i -be helyettesítve ( i = 1,..., n) kielégíti a feladat feltételrendszerét. Lehetséges megoldási tartomány: az összes lehetséges megoldás (vektor) halmaza. Optimális megoldás: olyan lehetséges megoldás, ahol a célfüggvény felveszi maximumát/minimumát.

Példa product mix A lineáris programozási feladat: Max z = 3x 1 + 2x 2 x 1 + x 2 80 2x 1 + x 2 100 x 1 40 x 1, x 2 0 Lehetséges megoldás: x = (20, 20) (20 katona, 20 vonat) Optimális megoldás: x = (20,60) (20 katona, 60 vonat) Optimum értéke: z = 180 (azaz $180 profitot érhet el a cég)

Egy lineáris program feĺırása 1 Válasszuk meg a döntési változókat 2 Határozzuk meg a célt és a célfüggvényt (lineáris függvény) 3 Írjuk fel a korlátozó feltételeket (lineáris egyenlőtlenségek) 4 Határozzuk meg a változók értelmezési tartományát (előjel feltételek)

Példa: A posta probléma Kiindulás: Egy postán az egyes munkanapokon különböző számú teljes munkaidejű dolgozóra van szükség. Egy dolgozó egymást követő 5 munkanapon dolgozik (pl. hétfő-péntek, szerda-vasárnap, stb.) Az egyes napokon szükséges dolgozói létszámot a következő táblázat tartalmazza. Hétfő Kedd Szerda Csütörtök Péntek Szombat Vasárnap 17 13 15 19 14 16 11 Feladat: Minimalizáljuk a dolgozók számát a feltételek kielégítése mellett.

Példa: A posta probléma Döntési változók: x 1,..., x 7 x i : azon dolgozók száma, akik az i-edik napon kezdik meg a munkát (i = 1,..., 7 hétfő: i = 1) Cél: a dolgozók számának minimalizálása Célfüggvény: z = x 1 + x 2 + x 3 + x 4 + x 5 + x 6 + x 7 Korlátozó feltételek: Pl.: Hányan dolgoznak hétfőn? Azok dolgoznak hétfőn, akik hétfőn, csütörtökön, pénteken, szombaton vagy vasárnap kezdenek dolgozni, azaz: x 1 + x 4 + x 5 + x 6 + x 7 17

Példa: A posta probléma A lineáris program feĺırása: Min z = x 1 + x 2 + x 3 + x 4 + x 5 + x 6 + x 7 x 1 + x 4 + x 5 + x 6 + x 7 17 x 1 + x 2 + x 5 + x 6 + x 7 13 x 1 + x 2 + x 3 + x 6 + x 7 15 x 1 + x 2 + x 3 + x 4 + x 7 19 x 1 + x 2 + x 3 + x 4 + x 5 14 x 2 + x 3 + x 4 + x 5 + x 6 16 x 3 + x 4 + x 5 + x 6 + x 7 11 x i 0(i = 1,...,7)

Az általános standard alak tömören Standard alakú lineáris programozási feladat (maximalizálás): n a ij x j b i j=1 x j 0 i = 1,2,..., m j = 1,2,..., n n max c i x i = z j=1 Részletesen kíırva az együtthatókat a 11 x 1 + a 12 x 2 +... + a 1n x n b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n b 2. a m1 x 1 + a m2 x 2 +... + a mn x n b m max c 1 x 1 + c 2 x 2 +... + c n x n = z

Az eddigiek összegzése A Lineáris Program (LP) egy optimalizálási probléma, ahol 1 cél egy lineáris (cél)függvény maximalizálása/minimalizálása 2 a lehetséges megoldások halmazán, mely halmazt lineáris egyenlőtlenségek határoznak meg Standard alak: minden feltétel -egyenlőtlenség (maximalizálás), vagy -egyenlőtlenség (minimalizálás) és minden változó nemnegatív

Az eddigiek összegzése Álĺıtás. Minden lineáris programozási feladathoz megadható egy vele ekvivalens standard alakú feladat. Áttérés minimalizálásról maximalizálásra min x 1 + 2x 2 max x 1 2x 2 Egyenlőségek helyettesítése egyenlőtlenségekkel 2x 1 + 3x 3 = 1 2x 1 + 3x 3 1, 2x 1 + 3x 3 1 Nem 0 alsó korlátos és korlát nélküli változók helyettesítése 0 alsó korlátosakkal 3 x 1 y 0, y 3 3, x 1 := y 3 irányú egyenlőtlenségek szorzása 1-gyel x 1 x 2 4 x 1 + x 2 4

Az LP feladat megoldása Tekintsük újra az erőforrás allokációs problémát: Max z = 3x 1 + 2x 2 x 1 + x 2 80 2x 1 + x 2 100 x 1 40 x 1, x 2 0 Mi a lehetséges megoldások halmaza? Ábrázoljuk! Kezdjünk az x 1, x 2 0-val, majd vegyük az x 1 + x 2 80 feltételt

Az LP feladat megoldása Hozzáadva a 2x 1 + x 2 100 és az x 1 40 feltételeket. Csúcs (extremális) pont: két egyenes metszéspontja (az egyeneseink a korlátozó feltételeinket ábrázolják egyenlőség teljesülése esetén)

Probléma: Lehet, hogy túl sok csúcspont van. Az LP geometriájára egy későbbi előadáson visszatérünk. Az LP feladat megoldása Tétel. Ha egy LP feladatnak van optimális megoldása (azaz ahol a célfüggvény felveszi a maximumát/minimumát), akkor olyan optimális megoldása is van, ami a lehetséges megoldási tartomány csúcspontja. Feladat: Kerssük meg az összes csúcspontot és értékeljük ki ezekben a pontokban a 3x 1 + 2x 2 célfüggvényt.

Az LP feladat megoldása

Mesterséges változók Tekintsük újra a minta LP feladatunkat (katonák és vonatok gyártása) Max z = 3x 1 + 2x 2 x 1 + x 2 80 2x 1 + x 2 100 x 1 40 x 1, x 2 0 Ahhoz, hogy az egyenlőtlenségeinket egyenlőségekre cseréljük, adjunk hozzá mesterséges változókat az egyenlőtlenségek bal oldalaihoz: Max z = 3x 1 + 2x 2 x 1 + x 2 +x 3 = 80 2x 1 + x 2 +x 4 = 100 x 1 +x 5 = 40 x 1,..., x 5 0

Szótár Tekintsük a mesterséges változók bevezetésével kapott rendszerünket: Max z = 3x 1 + 2x 2 x 1 + x 2 +x 3 = 80 2x 1 + x 2 +x 4 = 100 x 1 +x 5 = 40 x 1,..., x 5 0 Fejezzük ki a mesterséges változókat az egyes egyenletekből: Ezt hívjuk szótárnak. x 3 = 80 x 1 x 2 x 4 = 100 2x 1 x 2 x 5 = 40 x 1 z = 0 + 3x 1 + 2x 2

Szótár A mesterséges változókkal bővített általános feladat: a 11 x 1 + a 12 x 2 +... + a 1n x n + x n+1 = b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n + x n+2 = b 2. a m1 x 1 + a m2 x 2 +... + a mn x n + x n+m = b m c 1 x 1 + c 2 x 2 +... + c n x n = z Ebből a szótár: x n+1 = b 1 a 11 x 1 a 12 x 2... a 1n x n x n+2 = b 2 a 21 x 1 a 22 x 2... a 2n x n. x n+m = b m a m1 x 1 a m2 x 2... a mn x n z = c 1 x 1 + c 2 x 2 +... + c n x n

Szótár terminológia Természetes (vagy döntési) változók: a standard alakú feladatban szereplő változók (x 1, x 2,..., x n ) Mesterséges (vagy slack) változók: a szótár feĺırásakor felvett új, nemnegatív változók (x n+1, x n+2,..., x n+m ) Bázisváltozók (Bázis): a szótár feltétel egyenleteinek bal oldalán álló változók Nembázis változók: a szótár feltételeinek jobb oldalán álló változók Szótár bázismegoldása: olyan x vektor, amelyben a nembázis változók értéke nulla, (ezért) a bázisváltozók értékei az őket tartalmazó egyenletek jobb oldali konstansai, Lehetséges (feasible) bázismegoldás: olyan bázismegoldás, ami egyben lehetséges megoldás is, azaz a szótárra teljesül, hogy b i 0, i = 1,2,..., m a bázismegoldásban

Egy lehetséges kezdő megoldás - product mix mintapélda Legyen x 1 = 0 és x 2 = 0. Ekkor az x 1 = 0, x 2 = 0, x 3 = 80, x 4 = 100, x 5 = 40 egy lehetséges megoldása (a mesterséges változók bevezetésével kapott) feladatnak. (A változók nemnegatívok és minden egyenletet kielégítenek) A célfüggvény értéke ekkor z = 0. Próbáljuk meg növelni a célfüggvény értékét! = Például növeljük x 1 értékét az aktuális (x 1 = 0) értékéhez képest.

A célfüggvény érték növelése Legyen x 1 = 20, x 2 = 0. Ekkor x 3 = 80 x 1 x 2 x 4 = 100 2x 1 x 2 x 5 = 40 x 1 z = 0 + 3x 1 + 2x 2 x 3 = 60, x 4 = 60, x 5 = 20, a célfüggvényérték z = 60. lehetséges megoldás Legyen most x 1 = 40, x 2 = 0. Ekkor x 3 = 40, x 4 = 20, x 5 = 0, a célfüggvényérték z = 120. lehetséges megoldás Növeljük tovább, legyen x 1 = 50, x 2 = 0. Ekkor x 3 = 30, x 4 = 0, x 5 = 10. nem lehetséges megoldás

A célfüggvény érték növelése Kérdés: Meddig tudjuk x 1 értékét növelni, mielőtt egy változó negatívvá nem válik? Legyen x 1 = t és x 2 = 0. Ekkor a megoldás lehetséges, ha x 3 = 80 t x 2 0 t 80 x 4 = 100 2t x 2 0 t 50 x 5 = 40 t 0 t 40 Azaz x 1 maximális értéke x 1 = 40 lehet, ekkor x 5 = 0 lesz. Fejezzük ki x 1 -et az x 5 -öt tartalmazó egyenletből: x 1 = 40 x 5. Minden egyenletben x 1 -et cseréljük ki 40 x 5 -re. Azt mondjuk, hogy x 1 belép a bázisba, míg x 5 kilép a bázisból. Új (de az előzővel ekvivalens) szótárat kapunk.

A célfüggvény érték növelése x 3 = 80 x 1 x 2 x 4 = 100 2x 1 x 2 x 5 = 40 x 1 z = 0 + 3x 1 + 2x 2 A harmadik egyenletből x 1 = 40 x 5, ebből adódik x 1 = (40 x 5 ) x 3 = 80 (40 x 5 ) x 2 x 4 = 100 2(40 x 5 ) x 2 z = 0 + 3(40 x 5 ) + 2x 2

A célfüggvény érték növelése Azaz az új szótárunk Bázisváltozók: {x 1, x 3, x 4 } Nembázis változók: {x 2, x 5 } x 1 = 40 x 5 x 3 = 40 x 2 + x 5 x 4 = 20 x 2 + 2x 5 z = 120 + 2x 2 3x 5 Aktuális bázismegoldás: x 2 = 0, x 5 = 0; x 1 = 40, x 3 = 40, x 4 = 20 Célfüggvény (aktuális) értéke: z = 120

A hányados teszt Az előző gondolatmenet automatizálható az ún. hányadosteszt segítségével. x 3 : 80 1 = 80, x 4 : 100 2 = 50, x 5 : 40 1 = 40 A legkisebb hányados x 5 -nél adódik: x 5 a kilépő változó

A hányados teszt Az új szótár: x 1 = 40 x 5 x 3 = 40 x 2 + x 5 x 4 = 20 x 2 + 2x 5 z = 120 + 2x 2 3x 5 Folytassuk a gondolatmenetet: a célfüggvény értéke x 2 növelésével növelhető. Meddig? hányadosteszt x 1 : az egyenlet nem tartalmazza x 2 -t nincs korlátozás, x 3 : 40 1 = 40, x 4 : 20 1 = 20 A legkisebb hányados x 4 -nél adódik x 4 a kilépő változó: x 4 = 20 x 2 + 2x 5 x 2 = 20 x 4 + 2x 5

A hányados teszt Mindenhol x 2 helyére 20 x 4 + 2x 5 -et helyettesítve az új szótár: x 1 = 40 x 5 x 2 = 20 x 4 + 2x 5 x 3 = 20 + x 4 x 5 z = 160 2x 4 + x 5 A célfüggvény értéke x 5 növelésével tovább növelhető. Hányadosteszt: x 1 : 40 1 = 40, x 2 : x 5 itt pozitív együtthatóval szerepel nem ad korlátot! x 3 : 20 1 = 20 A legkisebb hányados x 3 -nél adódik x 3 a kilépő változó: x 3 = 20 + x 4 x 5 x 5 = 20 + x 4 x 3

A hányados teszt Mindenhol x 5 helyére 20 + x 4 x 3 -et helyettesítve az új szótár: x 1 = 20 + x 3 x 4 x 2 = 60 2x 3 + x 4 x 5 = 20 x 3 + x 4 z = 180 x 3 x 4 Vegyük észre, hogy nem tudjuk tovább növelni a célfüggvény értékét optimális megoldást találtunk: x 1 = 20, x 2 = 60, x 3 = 0, x 4 = 0, x 5 = 20; célfüggvény érték: z = 180.