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



Hasonló dokumentumok
S Z Á L L Í T Á S I F E L A D A T

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

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

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

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

A szállítási feladat. Készítette: Dr. Ábrahám István

Döntéselmélet OPERÁCIÓKUTATÁS

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

Diszkrét matematika II., 5. előadás. Lineáris egyenletrendszerek

Operációkutatás. 4. konzultáció: Sorbanállás. Exponenciális elsozlás (ismétlés)

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

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

Mátrixjátékok tiszta nyeregponttal

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

15. LINEÁRIS EGYENLETRENDSZEREK

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

Szállítási feladat_1.

ú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.

Matematika. 4. konzultáció: Kétváltozós függvények szélsőértéke. Parciális függvény, parciális derivált

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

Opkut deníciók és tételek

A szimplex algoritmus

Disztribúciós feladatok. Készítette: Dr. Ábrahám István

Érzékenységvizsgálat

Assignment problem Hozzárendelési feladat (Szállítási feladat speciális esete)

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, Leontyev-modell

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, mátrixegyenlet

5. Előadás. (5. előadás) Mátrixegyenlet, Mátrix inverze március 6. 1 / 39

A Szállítási feladat megoldása

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

Nemlineáris programozás 2.

Összeállította: dr. Leitold Adrien egyetemi docens

A szimplex tábla. p. 1

8. Előadás. Megyesi László: Lineáris algebra, , oldal. 8. előadás Mátrix rangja, Homogén lineáris egyenletrendszer

Operációkutatás vizsga

Matematikai modellezés

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

összeadjuk 0-t kapunk. Képletben:

Gyakorló feladatok Alkalmazott Operációkutatás vizsgára. További. 1. Oldja meg grafikusan az alábbi feladatokat mindhárom célfüggvény esetén!

1. Homogén lineáris egyenletrendszer megoldástere

7. Előadás. Megyesi László: Lineáris algebra, oldal. 7. előadás Elemi bázistranszformáció

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

1. Oldja meg grafikusan az alábbi feladatokat mindhárom célfüggvény esetén! a, x 1 + x 2 2 2x 1 + x 2 6 x 1 + x 2 1. x 1 0, x 2 0

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

További programozási esetek Hiperbolikus, kvadratikus, integer, bináris, többcélú programozá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

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

9. Előadás. (9. előadás) Lineáris egyr.(3.), Sajátérték április / 35

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

3. Lineáris differenciálegyenletek

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

Bázistranszformáció és alkalmazásai 2.

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

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Determinánsok. A determináns fogalma olyan algebrai segédeszköz, amellyel. szolgáltat az előbbi kérdésekre, bár ez nem mindig hatékony.

Operációkutatás. 1. konzultációs hét. Irodalom. A gráf definíciója. NYME KTK, gazdálkodás szak, levelező alapképzés 2002/2003. tanév, II. évf. 2.

A lineáris programozás alapjai

Esettanulmányok és modellek 5

Hálózati Folyamok Alkalmazásai. Mályusz Levente BME Építéskivitelezési és Szervezési Tanszék

a = 2 + [ i] b = ahol 1 i 162 a hallgató sorszáma a csatolt névsorban, [x] az x szám

További forgalomirányítási és szervezési játékok. 1. Nematomi forgalomirányítási játék

Lineáris egyenletrendszerek

Mátrixok 2017 Mátrixok

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

A szimplex algoritmus

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

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

Norma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei

Diszkrét matematika II., 8. előadás. Vektorterek

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

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

Operációkutatás vizsga

Bevezetés a játékelméletbe Kétszemélyes zérusösszegű mátrixjáték, optimális stratégia

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

Lineáris egyenletrendszerek

A minimális költségűfolyam probléma megoldása hálózati szimplex-módszerrel

Bázistranszformáció és alkalmazásai

Nem-lineáris programozási feladatok

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

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

Bevezetés a lineáris programozásba

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

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

LINEÁRIS EGYENLETRENDSZEREK október 12. Irodalom A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: ezek egyrészt elhangzanak

6. Előadás. Megyesi László: Lineáris algebra, oldal. 6. előadás Bázis, dimenzió

Lineáris algebra. (közgazdászoknak)

Konjugált gradiens módszer

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

10. Előadás. Megyesi László: Lineáris algebra, oldal. 10. előadás Sajátérték, Kvadaratikus alak

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

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

4. Előadás: Erős dualitás

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

egyenlőtlenségnek kell teljesülnie.

Valasek Gábor

9. gyakorlat Lineáris egyenletrendszerek megoldási módszerei folyt. Néhány kiegészítés a Gauss- és a Gauss Jordan-eliminációhoz

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

LNM folytonos Az interpoláció Lagrange interpoláció. Lineáris algebra numerikus módszerei

Átírás:

Operációkutatás 1 NYME KTK, gazdálkodás szak, levelező alapképzés 2002/2003. tanév, II. évf. 2.félév Előadó: Dr. Takách Géza NyME FMK Információ Technológia Tanszék 9400 Sopron, Bajcsy Zs. u. 9. GT fszt. 3. (99) 518 640 (30) 5600 785 takach@inf.nyme.hu http://titanic.nyme.hu/ takach 4. konzultáció: Szállítási feladat Mintafeladat. Két raktárban (feladóhelyek) rendre 20 illetve 25 raklap áru van, ezeket kell elszállítani három üzletbe (rendeltetési helyek), amelyek rendre 10, 20 illetve 15 raklap áruratartanak igényt. A szállítási költségek táblázata: F 1 2 3 5 20 Hogyan szervezzük a szállítást, hogy minimális legyen a szállítási összköltség? Visszavezetés a hozzárendelési feladatra. Ez egy 45 45-ös hozzárendelési feladat, F 1 -nek 25 sor felel meg, R 1 -nek 10 oszlop, stb. A feladat LP modellje A költségek és kapacitások: F 1 2 3 5 20 Az LP model: A szállított mennyiségek: F 1 x 11 x 12 x 13 20 F 2 x 21 x 22 x 23 25 x 11 + x 12 + x 13 = 20 x 21 + x 22 + x 23 = 25 x 11 + x 21 = 10 x 12 + x 22 = 20 x 13 + x 23 = 15 2x 11 + 3x 12 + 5x 13 + 4x 21 + x 22 + 2x 23 min

LP modell általánosan 2 Adott m feladóhely: F 1,..., F m, és n rendeltetési hely: R 1,..., R n. Az i-edik feladóhelyen f i mennyiségű homogén áru áll rendelkezésre, ezeket kell elszállítani a rendeltetési helyekre. A j-edik rendeltetési hely r j árumennyiséget igényel. Feltételezzük, hogy a készletek és az igények összhangban vannak, azaz m f i = i=1 r j. Jelölje c ij az egységnyi áru szállítási költségét az i-edik feladóhelyről a j-edik rendeltetési helyre történő szállításkor: R 1 R 2... R n F 1 c 11 c 12... c 1n F 2 c 21 c 22... c 2n.... F m c m1 c m2... c mn Jelölje x ij az i-edik feladóhelyről a j-edik rendeltetési helyre szállítandó árumennyiséget: R 1 R 2... R n F 1 x 11 x 12... x 1n f 1 F 2 x 21 x 22... x 2n f 2..... F m x m1 x m2... x mn f m r 1 r 2... r n A következő feltételek azt fejezik ki, hogy a feladóhelyekről minden árut el kell szállítani, és a rendeltetési helyek igényét ki kell elégíteni: m x ij = R j (j = 1,..., n) i=1 x ij = F i (i = 1,..., m) x ij 0 (i = 1,..., m; j = 1,..., n) A célfüggvény, aminek a minimumát keressük, K = i=m c ij x ij min. Ez egy lineáris programozási feladat: mn változó, m + n feltétel. A mátrixos alak feleslegesen sok nullát tartalmaz, hiszen egy egyenlőtlenségben m vagy n 1-es szerepel, a többi elem nulla. Ezért célszerűbb a bázistáblánál tömörebb írásmód használata: disztribúciós táblázat. Ez nem jelent mást, mint hogy a költségmátrixban bekeretezzük azon viszonylatoknak megfelelő elemeket, ahol szállítunk és azt is melléírjuk, hogy abban a viszonylatban mennyit szállítunk. Tétel. Ha feladóhelyek száma m arendeltetési helyek száma n, akkor az (m+n) (mn)-es együtthatómátrix rangja m+n 1. Bizonyítás. Könyvben (2.1. Tétel). Tétel. A szállítási feladatnak mindig van lehetséges megoldása. Bizonyítás. A bizonyításban módszert is adunk egy lehetséges megoldás megkeresésére. (Disztribúciós módszer)

Disztribúciós módszer 3 A mintafeladaton: F 1 2 10 3 5 20 10 0 F 1 2 10 3 5 10 20 10 0 F 2 4 1 20 2 25 5 0 0 5 F 1 2 10 3 5 10 20 10 0 0 5 F 1 2 10 3 5 10 20 10 0 F 2 4 1 20 2 5 25 5 0 0 0 5 0 Disztribúciós módszer Válasszuk ki a C költségmátrix egy c ij elemét, s legyen A c ij elemet bekeretezzük, fölé írva x ij értékét. x ij = min(f i, r j ). Ha f i < r j, azaz x ij = f i, akkor az F i készlete kiürült, míg R j igénye x ij -vel csökkent. Ennek megfelelően az i-edik sort töröljük, r j -t pedig r j f i -re változtatjuk. Ha r j < f i, azaz x ij = r j, akkor az R j igényeit kielégítettük, míg F i készlete x ij -vel csökkent. Ennek megfelelően az j-edik oszlopot töröljük, f i -t pedig f i r j -re változtatjuk. Ha f i = r j : degeneráció, ld. később. Ezt ismételgetve m + n 2 lépés után egyetlen sor és oszlop marad, amit már egyszerre törölhetünk. Tehát mindig m + n 1 viszonylatban fogunk szállítani. Azon c ij ket, ahol szállítunk, kötött elemeknek, a többit szabad elemeknek nevezzük. Megjegyzés. Belátható (kell is, ld. 2.2. Tétel a könyvben), hogy az így kapott megoldás bázismegoldása a szállítási feladathoz tartozó LP feladatnak. Optimum létezése Tétel. A szállítási feladat célfüggvénye korlátos a lehetséges megoldások halmazán. Bizonyítás. Mivel n x ij = f i (i = 1,..., n), ezért K = c ij x ij i=m c ij x ij i=m max c ij x ij = max c ij j j és ez már konstans. = i=m i=m max c ij f i, j i=m x ij = Megjegyzés. A könyvbeli bizonyításban durvább becslés szerepel.

Optimális-e az aktuális program? 4 A mintafeladat LP modellje: Duálisának feltételrendszere: x 11 + x 12 + x 13 = 20 x 21 + x 22 + x 23 = 25 x 11 + x 21 = 10 x 12 + x 22 = 20 x 13 + x 23 = 15 2x 11 + 3x 12 + 5x 13 + 4x 21 + x 22 + 2x 23 min u i + v j c ij (i = 1,..., m; j = 1,..., n), ahol az u i -k a sorokhoz, v j -k az oszlopokhoz tartozó változók. Ismert, hogy ezek előjelkötetlen változók, mert egyenleteknek felelnek meg. A feltételrendszer eltérésvektorokkal: u i + v j + δ ij = c ij (i = 1,..., m; j = 1,..., n), ahol δ ij 0. A duál feladat eltérésvektorának azon komponensei nullák lesznek, amelyeknek megfelelő primál változók a programban vannak, azaz ha x ij kötött elem, akkor δ ij = 0, azaz u i + v j = c ij. Módszer. 1. Adjunk meg olyan u i és v j elemeket, hogy a költségmátrix kötött c ij elemeire u i + v j = c ij teljesüljön. Ebben az egyenletrendszerben van egy szabad változó, így egy ismeretlen értéke szabadon választható. Szokásosan: u 1 = 0. 2. Képezzük azt a mátrixot, amelynek elemei Nyilvánvalóan δ ij = 0 a kötött elemeknél. δ ij = c ij u i v j. 3. Ha minden δ ij 0, akkor a duál feladat egy lehetséges megoldásáról van szó, ami azt jelenti, hogy a primál feladat aktuális megoldása, tehát az aktuális szállítási program optimális. Ha nem JAVÍTÁS. Mintafeladat. u i -k és v j -k meghatározása: meghatározása: v 1 = 2 v 2 = 4 v 3 = 5 u 1 = 0 2 10 3 5 10 u 2 = 3 4 1 20 2 5 δ 11 = c 11 u 1 v 1 = 2 0 2 = 0 δ 12 = c 12 u 1 v 2 = 3 0 4 = 1. A 1 elem mutatja, hogy az aktuális megoldás nem optimális. = [ 0 1 0 5 0 0 ],

Hurkok 5 Definíció. Huroknak nevezzük a költségmátrix elemeinek olyan sorozatát, ahol a szomszédos elemek felváltva vannak egy sorban ill. egy oszlopban (az utolsó elem szomszédosnak számít az elsővel), továbbá egyik sorban és oszlopban sincs kettőnél több kiválasztott elem. Tétel. Bármely hurok elemeihez tartozó a ij vektorok lineárisan függő rendszert alkotnak. Ha egy vektort elghagyunk közülük, akkor lineárisan független rendszert kapunk. Bizonyítás. Nem kell. Tétel. Ha egy m n-es disztribúció táblázatban m + n 1 kötött elem van, akkor minden szabad elemet pontosan egy olyan hurok tartalmaz, melynek összes többi eleme kötött Bizonyítás. Nem kell. A program javítása A javítás menete: 1. Válasszunk egy negatív δ ij -t. A költségmátrix ennek megfelelő szabad eleméből kötött elem lesz. 2. Keressük meg a megfelelő hurkot. 3. A hurok mentén felváltva növeljük ill. csökkentsük szállítandó mennyiséget (az új kötött elemen növeljük!). A növelés/csökkentés mértékét a legkisebb csökkentendő mennyiség adja (negatívba nem mehet át!); ez az átalakítás után szabad elem lesz A mintapéldán: = [ 0 1 0 5 0 0 ] 2 10 3 5 10 4 1 20 2 5 A 3 és a 2 költségen szállított mennyiség nő, az 1 és az 5 költségen szállított csökken. A szűk keresztmetszetet az jelenti, hogy az 5 költségű viszonylatban 10-nél többel nem lehet csökkenteni. Ez az elem tehát kikerül a programból: OPTIMUM!!! 2 3 4 0 2 10 3 1 0 5 = 2 4 1 10 2 15 Disztribúciós módszer (összefoglalás) [ 0 0 1 4 0 0 ] 1. Indulóprogram meghatározása 2. u i -k és v j -k meghatározása a kötött elemek segítségével. 3. A mátrix meghatározása az u i -k és v j -k segítségével. 4. Ha -nak nincs negatív eleme, akkor a jelenlegi program optimális. STOP 5. Ha -nak van negatív eleme, akkor a. Keresünk egy hurkot a költségmátrix megfelelő elemén át. b. A hurok mentén javítjuk a programot, majd GOTO 2.

Redukálás 6 Tétel. Ha a költségmátrix egy sorának vagy oszlopának minden eleméhez ugyanazt a számot adjuk, vagy abból ugyanazt a számot kivonjuk, ekvivalens feladatot kapunk. Ugyanott lesz az optimum, csak értéke lesz más. Bizonyítás. Ha az i-edik sorból kivonunk c-t, akkor a célfüggvény értéke minden programban cf i -vel csökken, ami független a programtól. Módszer az indulóprogram meghatározására A fenti módszerben tetszőleges volt a költségmátrix elemeinek kiválsztása azokból a sorokból és oszlopokból, amiket még nem húztunk ki. Szeretnénk úgy választani, hogy már az indulóprogram is minél közelebb legyen az optimumhoz. Mohó módszer: mindig a legkisebb költségen szállítunk. Ez nem vált be! Vogel-Korda-módszer: mindig arra az elemre programozunk, amelyre ha nem programoznánk, rossz költségalakulást jelentene. Minden sorra és oszlopra meghatározzuk a legkisebb és a második legkisebb elem különbségét (0 is lehet!), és ahol ez a legnagyobb, arra a minimális elemre programozunk. Rendkívüli esetek. Degeneráció az indulóprogramban. Előfordulhat, hogy az indulóprogram meghatározásakor egy elem sorának és oszlopának aktuális kapacitása megegyezik. Ilyenkor csak a sorát vagy az oszlopát húzzuk ki, a másik kapacitása nulla lesz. Ilyenkor biztosan szükség lesz egy olyan viszonylat kiválasztására, amelyben nulla mennyiségű árut szállítunk. Degeneráció menet közben. Előfordulhat, hogy egy javításkor egy hurokban több helyen is megjelenik a szűk keresztmetszet. Fontos viszont, hogy ilyenkor csak az egyiket vegyük ki a programból, a másikat hagyjuk benne nulla szállított áruval. Mindkét előző esetben előfordulhat, hogy az optimális megoldás már nem lesz degenerált, de az is lehet, hogy az marad. Alternatív optimum. Ha a mátrixban nincs negatív elem, de szabad elemnek megfelelő helyen is van benne nulla, akkor a duál feladat degenerált, azaz a primál szállítási feladatnak altaernatív optimuma van. Ezt úgy lehet megtalálni, ha a "javítást" ennél a szabad elemnél végezzük el. Eltérő kereslet és kínálat. Ha pl. nagyobb a kereslet, mint a kínálat, akkor egy névleges feladóhelyet iktatunk be, akkora kapacitással, minta amekkora a túlkereslet. Azokat az igényeket, amiket innen kellene kielégíteni az optimális megoldásban, nem elégítjük ki. Tiltott viszonylatok. Ha egy feladóhely és egy rendeltetési hely között tilos a szállítás, akkor oda végtelen költséget kell írni. Ilyenkor szokás szerint c =. Korlátozott útvonal. Előfordulhat, hogy egy viszonylatban szállíthatunk ugyan, de csak korlátozott mennyiségben. ld. 2.9. Példa illetve 2.7. Tétel.