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

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

S Z Á L L Í T Á S I F E L A D A T

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

Matematikai modellezés

Szállítási feladat_1.

Esettanulmányok és modellek 5

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

Esettanulmányok és modellek 3

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

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

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

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

Esettanulmányok és modellek 2

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

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

Döntéselmélet OPERÁCIÓKUTATÁ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/

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

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

A Markowitz modell: kvadratikus programozás

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

Ellenőrzés. Variáns számítás. Érzékenység vizsgálat

összeadjuk 0-t kapunk. Képletben:

A Markowitz modell: kvadratikus programozás

A változó költségek azon folyó költségek, amelyek nagysága a termelés méretétől függ.

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

A lineáris programozás alapjai

Tartalomjegyzék Feltétel nélküli szélsőérték számítás

Számítógépes döntéstámogatás OPTIMALIZÁLÁSI FELADATOK A SOLVER HASZNÁLATA

Operációkutatás vizsga

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 példatár

f x 1 1, x 2 1. Mivel > 0 lehetséges minimum. > 0, így f-nek az x 2 helyen minimuma van.

Előadó: Dr. Kertész Krisztián

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

Opkut deníciók és tételek

Általános algoritmustervezési módszerek

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

Lineáris egyenletrendszerek

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

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

Hálózatszámítási modellek

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

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

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

Mátrixjátékok tiszta nyeregponttal

b) Írja fel a feladat duálisát és adja meg ennek optimális megoldását!

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

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

Algoritmusok bonyolultsága

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

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

Operációkutatás vizsga

Operációkutatás vizsga

Szállításszervezési módszerek

Többváltozós, valós értékű függvények

352 Nevezetes egyenlôtlenségek. , az átfogó hossza 81 cm

Szállításszervezési módszerek

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

Döntéselőkészítés. VII. előadás. Döntéselőkészítés. Egyszerű Kőnig-feladat (házasság feladat)

Közgazdaságtan alapjai. Dr. Karajz Sándor Gazdaságelméleti Intézet

GYAKORLÓ FELADATOK 4: KÖLTSÉGEK ÉS KÖLTSÉGFÜGGVÉNYEK

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...

Mátrixok, mátrixműveletek

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

Gyártórendszerek dinamikája

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

MA1143v A. csoport Név: december 4. Gyak.vez:. Gyak. kódja: Neptun kód:.

Egyenletek, egyenletrendszerek, matematikai modell. 1. Oldja meg az Ax=b egyenletrendszert Gauss módszerrel és adja meg az A mátrix LUfelbontását,

2. Előadás Projekt ütemezés. Solver használata. Salamon Júlia

Lineáris programozási feladatok típusai és grafikus megoldása

Maple: Deriváltak és a függvény nevezetes pontjai

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

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

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

Érzékenységvizsgálat

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

A szimplex tábla. p. 1

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

Lineáris programozás. A mese

15. LINEÁRIS EGYENLETRENDSZEREK

A Termelésmenedzsment alapjai tárgy gyakorló feladatainak megoldása

Mikroökonómia előadás. Dr. Kertész Krisztián

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

Amit a törtekről tudni kell 5. osztály végéig Minimum követelményszint

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

Vektorok, mátrixok, lineáris egyenletrendszerek

Keresztmetszet másodrendű nyomatékainak meghatározása

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

I. VEKTOROK, MÁTRIXOK

5 = hiszen és az utóbbi mátrix determinánsa a középs½o oszlop szerint kifejtve: 3 7 ( 2) = (példa vége). 7 5 = 8. det 6.

EuroOffice Optimalizáló (Solver)

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

Pénzügytan szigorlat

Az optimális megoldást adó algoritmusok

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

I. Vektorok. Adott A (2; 5) és B ( - 3; 4) pontok. (ld. ábra) A két pont által meghatározott vektor:

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

Átírás:

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

Bevezető A személyek, termékek, nyersanyagok szállításának lehető leggazdaságosabb megszervezése fontos kérdés Célunk lehet legkisebb összköltségre törekvés, vagy a legrövidebb úton, vagy idő alatt megvalósuló szállítási program Sok más területen felhasználhatjuk azokat az eredményeket, amelyeket a szállítási feladat megoldása során kaptunk A probléma felvetése Példa: Adott két feladó állomás, a tőlük elszállítandó áru mennyisége rendre 7 és egységnyi rendeltetési hely van, igényeik rendre,, egységnyi A feladóhelyek és a rendeltetési állomások között minden esetben lehetséges szállítás Az egyes relációkban a szállítási költségek egy egység szállítására vonatkozóan: F -ből R -be:, F -ből R -be:, F -ből R -ba:, valamint: F -ből R -be:, F -ből R -be:, F -ből R -ba: Az adatainkat táblázatba foglalhatjuk: F F R R R 7

F F R R R 7 A sorok, illetve oszlopok végén a mozgatandó mennyiségek vannak, a táblázat belsejében a szállítási költségek egységnyi szállítandó mennyiségre vonatkozóan A szállítási feladat megoldása többféleképpen történhet: ) A lineáris programozás szokásos módszereivel Matematikai modellt írunk fel a feladathoz, majd az megoldjuk ) A disztribúciós módszerrel Először előállítunk egy lehetséges disztribúciót ( szállítási relációk szétosztását ), majd ezt javítjuk az optimum eléréséig A szállítási feladatok megoldására más módszerek is léteznek, kezdve az ötletszerű szervezéstől az összes lehetséges változat kiszámításáig és közülük az optimális kiválasztásáig Ezek a más megoldások többnyire nem optimálisak, illetve nagyon költségesek, így mi a fenti két esettel foglalkozunk

A szállítási feladat megoldása szimple módszerrel Az előző feladatunk táblázattal: R R R Az ij változó jelentse az egyes relációkban szállításra kerülő F 7 árumennyiséget û û û û û z F ẑ =7 = = = = Az induló feltétel: i j, ahol i és j A feltételi relációkat a szállítandó mennyiségek határozzák meg: A célunk a szállítás összköltségének minimalizálása: z= min A feladat szimple induló táblája: b 7 Néhány bázistranszformáció után az optimális megoldás: û z =, =, =, = A többi relációban a szállított mennyiség A költség minimuma

Általánosan: F i jelentse a feladóhelyeket, f i az elszállítandó áru mennyiségét R j a rendeltetési helyeket, r j az általuk igényelt árumennyiséget ( i m és j n) A C mátri elemei: az egyes relációkban az egységnyi áru szállításának költségei Az X mátri i j elemei: az egyes relációkban szállításra kerülő árumennyiségek Az adataink táblázatos alakja: R R R n A matematikai modell: i j ( i m és j n) F c c c n f n F c c c f ij = fi ( i m) F : : m c r m c r m c r n mn Feltételeink: a szállítandó és az igényelt mennyiségek összege egyezzen meg: m i= n f i = r j= A cél az összköltség minimuma j n f m j= m ij = i= m n z = c i= j= r j ( j n) ij ij min A matematikai modell alapján optimalizálást végezhetünk szimple módszerrel A megoldandó feladat lehet bármilyen elosztási, szétosztási probléma A korlátozó feltételek között más további feltétel is szerepelhet

Példa: millió forintot elhelyezünk alapba, legyenek ezek a következők: milliót részvénybe, milliót államkötvénybe, milliót lekötött betétbe fektetünk Négy társaságnál fektetjük be a tőkét, azaz portfoliót hozunk létre Az egyes társaságoknál,, és millió forintot helyezünk el A társaságok adott időszakra az alapokra vonatkozóan adtak a százalékos hozamokat a következő táblázat szerint: A B C D (Az A, B, C, D a társaságokat, az I, II, III az alapokat jelentse) I 9 7 II 9, 9,8 8,9 9, Hogyan, milyen bontásban helyezzük el a pénzünket, ha a maimális hozam elérése a célunk? (Allokációs feladat) III 7,8 8 7,, Megoldás: Az i j jelentse az egyes alapokba valamelyik társaságnál elhelyezett tőkét A triviális feltétel: i j, ahol i és j A feltételi relációkat a peremértékek határozzák meg: = = = = = = = A célunk a hozam maimalizálása: z=,9,7,,,9,98,89,9,78,8,7, ma A modell megoldása kézi eszközökkel hosszadalmas

A disztribúciós módszer A disztribúciós módszer lényege: felveszünk egy lehetséges induló programot és azt javítjuk az optimumig A módszert egy, a kézi megoldásban már közepes nagyságúnak számító feladat megoldásával mutatjuk be R R R R R F i a feladó helyeket, R j a célállomásokat jelenti F 8 7 A szállítandó és az igényelt mennyiségek a jobboldali F 7 9 7 oszlopban, illetve a legalsó sorban találhatók F A táblázat belsejének c i j eleme az i-edik feladóhelyről F 8 a j-edik célállomásra történő szállításnál a szállított mennyiség egy egységére eső költséget jelenti A feladat zárt, ha a szállítandó és az igényelt mennyiségek összege megegyezik (Ahogy ebben az esetben is) Az induló program felírása Az induló program felírásakor célszerű arra törekedni, hogy a költségmátri lehető legkisebb elemeire a lehető legnagyobb szállításra kerülő mennyiséget programozzuk Ekkor ugyanis viszonylag keveset kell javítanunk az optimum eléréséhez 7

A költségmátri redukálása Az induló program felvételéhez célszerű a költségmátriot úgy átalakítani, hogy minden sorban és minden oszlopban legyen legalább egy A szállítási összköltség szempontjából a c i j költségelemek egymáshoz viszonyított nagysága a döntő, így minden oszlopból-sorból levonhatunk egy-egy számot Oszlop korrekció C= 8 7 7 8 9 C = (Mindegyik oszlopból levontunk rendre egységet) Az oszlop korrekció a költségekben K = = költségcsökkenést jelent Sorkorrekció A sorkorrekciót a C mátrion hajtjuk végre: csak az első sorból kell -et levonnunk és így már minden sorban és oszlopban lesz költségelem A sorkorrekció hatása a költségre újabb értékű csökkentést jelent, így a költségkorrekció összesen: K =7 Az oszlop-sor sorrend helyett a sor-oszlop sorrend szerint is korrigálhatunk Ennek a végeredményre nincs hatása 8

Az induló program előállítása Az induló program felírásakor a minimális költségelemekre a lehetséges maimális mennyiséget programozzuk, célszerűen először a költségelemekre Elnevezés:a költségmátrinak azt az elemét, amelyre szállítandó mennyiséget programoztunk, kötött elemnek nevezzük Szabad elem: amelyre nem programoztunk Alapszabály: a kötött elemek számát a kritikus szám határozza meg A kritikus szám: az összes állomás számából kivonunk egyet A példánkban négy feladóhely és öt célállomás van, a kritikus szám: 9-=8 Az eredeti költségmátri: 8 7 7 9 8 A redukált költségmátri: A keretezett elemekre programoztuk a jobb felső részen lévő mennyiséget Az induló szállítási program: 7 9

A program javítása Csak akkor szükséges, ha kötött helyen van nullától különböző szám is (Ha csupa nullára programozva sikerült az induló programot felírni, akkor ennél kisebb költségű program nyilván nem létezhet) A körmódszer Lényege: megvizsgáljuk, hogy áttolhatunk-e bizonyos szállítandó mennyiséget magas költségű kötött helyről alacsonyabb költségű szabad helyre A vizsgálat módja: a szabad helyeket egyenként megpróbáljuk bevonni a programba egy ún kör (vagy más néven: hurok) képzésével Kör: minden szabad helyhez egyértelműen tartozik egy kör (haladási irány az illető szabad helyből kiindulva és oda visszatérve) A kör képzésekor fordulni csak a kötött elemeken (csúcspontokon) lehet Például a költségmátri első sorának első eleméhez tartozó kör: Megvizsgáljuk: ha a kör mentén egy egységnyi szállítandó mennyiséget mozgatunk, akkor az javít-e a programon

A programunknak ez a része ekkor így alakul: 9 A költség változást -gyel jelölve: = 9 9= 9 (A költség nagyobb lett, a c elem bevonásával nem javul a program) Javulás: ha megvizsgálva a szabad elemek köreit, a ij értéke negatív lesz A ij értéke egyszerűen számolható: A kör csúcspontjait váltakozó előjelekkel véve összeadjuk a csúcspontok költségértékeit A szabad hely előjele mindig pozitív Például: a esetén: = Vizsgáljuk meg a c körét: 7 A számítása: = =, a <, így ezen a körön a program javítható Az eredményünk azt mutatja, hogy egységnyi mennyiség áttolása a szabad helyre pénzegységgel javítja a programot

A javítás módja A körön maimum annyi egység mozgatható, hogy a szabad hely kötötté válásával legalább egy kötött elem szabaddá váljon Ez akkor valósul meg, ha a negatív csúcson lévő legkisebb értéket programozzuk a szabad elemre Ilyenkor a pozitív csúcsokon ennyivel nő, a negatívokon ennyivel csökken az oda programozott érték Példa: A c körén a javított programrészlet: Elvégezzük a javítást: Az új, javított táblázatot ismét megvizsgáljuk a i j értékekre Ahol javítani lehet, azt ott megtesszük Majd újabb vizsgálat következhet mindaddig, amíg a i j értékekre találunk negatív értéket Ha már nem lesz ilyen, akkor a programunk optimális Ez az eljárás eléggé hosszadalmas

A potenciálok módszere Lényege: a költségmátri soraihoz is és oszlopaihoz is egy-egy számot rendelünk (ezek a potenciálok) úgy, hogy a két potenciál összege minden esetben egyenlő legyen az illető sorban és oszlopban lévő kötött elemmel Például az induló táblánk esetében: A szabad elemeket a potenciálok hozzárendelésekor nem írtuk ki A potenciálok segítségével a i j értékek egyszerűen számolhatók: Minden költségelemből le kell vonni a neki megfelelő két potenciál összegét, így kapjuk a i j értékeket Az induló táblánk esetén: [ ij ] = Amelyik költségelemnél a i j negatív, annak a körén a program javítható Ebben az esetben a javítás a c vagy a c körén végezhető el (Egyszerre csak az egyiken!) A javítást ( kötött helyről áttolást a szabad helyre) körmódszerrel végezzük

Ha a c körén javítunk, a program a következő lesz: (Ahogy ezt már korábban láttuk) Kiszámoljuk: [ ij ] = A táblázatunkat megvizsgáljuk a potenciálok módszerével: A potenciálok: (A i j táblázatban a pozitív számértékeket nem kell kiírni, elég a jel) Láthatjuk: a javított táblázatunk sem optimális, a c körén javítani lehet A c köre: (Előjelek!) Az áttolás után: Az új táblázatunkba beillesztjük a megváltoztatott részt és ismét elvégezzük a potenciálokkal a vizsgálatot

Az új vizsgálathoz a potenciálok: [ ij ] = A javításhoz a [ ij ] táblázat: A i j táblázatban nincs negatív érték, így a szállítási programunk már optimális Leolvassuk az egyes relációkban szállítandó mennyiségeket (mátri alakban): A mátri ij eleme azt jelenti, hogy az i-edik feladótól [ X ] = a j-edik célállomásra mekkora mennyiség szállítása optimális Ennek a szállítási programnak a költsége: K red = =7, az oszlop és sor redukciós költséggel együtt az összköltség: K=77= Alternatív optimum, degeneráció A legutolsó [ i j ] táblázatunkban is szerepel szabad elemnél Ennek jelentése: az illető szabad elem körén mozgatva a lehetséges mennyiséget, szintén optimumot kapunk A költséget ez nem befolyásolja, a kapott új optimum alternatív optimum

Alternatív optimumot kapunk a c körén: Az áttolás után: A két negatív csúcson egyaránt volt, tehát az áttolással mindkét elem szabaddá vált Ilyenkor, ha a tábla még nem optimális, valamelyik elemre értéket programozunk Ez a degeneráció esete Előfordul, hogy már az induló tábla degenerált A megoldást a tábla degenerált volta általában nem zavarja A feladatunkban a két alternatív alapmegoldás tehát: X o = X o = Az általános megoldást a két alapmegoldás konve lineáris kombinációja adja: X =λ λ X ( λ)x, ahol λ

Névleges állomások beiktatása Előfordul, hogy a feladóhelyekről elszállítandó és a célállomások által igényelt mennyiségek nem egyenlők (nem zárt a feladat) Ekkor a disztribúciós módszer alkalmazhatóságához névleges állomást (új sort, vagy új oszlopot) kell beiktatni, amelyre költséggel programozzuk a felesleget, vagy a hiányt Példa: Tekintsük a következő feladatot: (A sorkezdő helyen lévő feladóhelyeket és az oszlopfőkön a célállomásokat nem írtuk ki) A feladóhelyeken összesen egység vár elszállításra, a célállomások összesen 8-at igényeltek Beiktatunk egy névleges célállomást, amely költséggel igényli a hiányzó egységet: Ez a feladat már normál szállítási feladat, a tárgyalt módszerrel megoldva kapjuk az optimális megoldást: X o = 7

Gyakorlás Példa: Adjuk meg disztribúciós módszerrel az alábbi táblázattal adott szállítási feladat valamennyi optimális megoldását: Lehet-e az optimális megoldásban =? Ha igen, akkor mennyi a többi változó értéke? Megoldás: A döntési változó ij, amely az i-edik feladóhelyről a j-edik célállomásra szállítandó mennyiséget jelöli 8 Névleges célállomást kell beiktatni A kritikus szám: 7 Az induló program (például): 8 7 A program javítása, első optimum: Alternatív optimuma van a feladatnak: X = X = 7 Összköltség: K= 8 Az általános megoldás: X =λx ( λ)x ( λ ) Ha =, akkor λ=/, és ekkor: X p = 9 8

Tiltótarifák A szállításoknál gyakran előfordul, hogy két állomás között nincs, vagy megszűnik a szállítási lehetőség Csak azt az esetet tárgyaljuk, amikor egy szállítási viszonylatban tiltótarifa van érvényben, azaz nem lehet azon az útvonalon szállítani Ha a szállítás költségmátriában igen nagy költsége van egy elemnek, akkor a disztribúciós megoldás ezt a relációt automatikusan kikerüli A módszer: ha valamely relációban nem lehet szállítani, akkor a megfelelő költségelem értéke egy M szám lesz, amely olyan nagy, hogy a költségmátri redukálásakor az értéke lényegében nem változik meg Ezután a szokásos módon megoldjuk a feladatot, az adott költségelem biztosan nem lesz kötött hely Példa: Az alábbi szállítási feladatban az és a feladótól a teljes készletet el kell szállítani Az feladó az megrendelőnek nem szállíthat R R R R Cél a költség minimum F F F 7 7 7 8 9 Megoldás: A döntési változó ij, amely az i-edik feladóhelyről a j-edik célállomásra szállítandó mennyiséget jelöli Névleges rendeltetési helyet kell beiktatni 9

A kritikus szám: 7 Az induló program (például): M 7 7 M Ha az első feladó az első megrendelőnek nem szállíthat, az azt jelenti, hogy = 7 M 8 Ez akkor következik be, ha a megfelelő költségelem igen nagy, azaz c 9 7 =M Ha az és feladónál nem maradhat áru, ez akkor teljesül, ha ez a két feladó a névleges állomásnak nem szállít : = =, azaz c =c =M Ezután következik a program javítása az optimumig, az optimum: X = Az összköltség minimuma: K= A feladónál egység áru marad Látható, hogy a program kikerülte a tiltott helyeket A szállítási feladatok egyszerűen megoldhatók számítógéppel A fejezet tárgyalását befejeztük