Szállítási feladat. Az áruszállítás tervezésekor gyakran merül fel a kérdés, hogyan legcélszerűbb a szállítás megszervezése annak a célnak az elérése.

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

Egy szélsőérték feladat és következményei
A Floyd-Warshall algoritmus
A Szállítási feladat megoldása
Lineáris egyenletrendszerek megoldása Gauss elimináció, Cramer-szabály Dr. Kovács Sándor DE GVK Gazdaságelemzési és Statiszikai Tanszék.
Készítette: Kosztyán Zsolt Tibor
Nevezetes algoritmusok
Programozási tételek, és „négyzetes” rendezések
Hogyan készítsünk el egy COCO-t???
egy egyszerű példán keresztül
Készletezési modellek Ferenczi Zoltán
2006. február 17. Valószínűségszámítás és statisztika II. Telefonos feladat Egy kalapban van két korong, az egyiknek mindkét oldala piros, a másiknak.
Kezdhetek mindent elölről…
Értékesítési csatornák
OKTV feladatok megoldása C#-ban
Készítette: Major Máté
MI 2003/9 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
MI 2003/ A következőkben más megközelítés: nem közvetlenül az eloszlásokból indulunk ki, hanem a diszkriminancia függvényeket keressük. Legegyszerűbb:
Műveletek logaritmussal
Matematika II. 3. előadás Geodézia szakmérnöki szak 2010/2011. tanév Műszaki térinformatika ágazat tavaszi félév.
Matematika II. 2. előadás Geodézia szakmérnöki szak 2012/2013. tanév Műszaki térinformatika ágazat őszi félév.
Matematika II. 1. előadás Geodézia szakmérnöki szak 2012/2013. tanév/
Illés Tibor – Hálózati folyamok
Kétértékűség és kontextusfüggőség Kijelentéseink igazak vagy hamisak (mindig az egyik és csak az egyik) Kijelentés: kijelentő mondat (tartalma), amivel.
Operációkutatás szeptember 18 –október 2.
Gazdaságmatematika 5. szeminárium.
Szállítási feladatok Optimalitás vizsgálat
Szállítási probléma - fogalmak
Papp Róbert, Blaskovics Viktor, Hantos Norbert
Van-e Euler vonal az alábbi gráfban?
Lineáris programozás Modellalkotás Grafikus megoldás Feladattípusok
Operációkutatás Kalmár János, Hiperbolikus és kvadratikus programozás.
OPERÁCIÓKUTATÁS Kalmár János, 2012 Tartalom A nulla-egy LP megoldása Hátizsák feladat.
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Prím algoritmus.
Dijkstra algoritmus. Kiválasszuk a legkisebb csúcsot, ez lesz a kezdőcsúcs, amit 0-val címkézünk és megjelöljük sárgaszínnel. Szomszédjai átcímkézése.
Matematika III. előadások MINB083, MILB083
Szélességi bejárás A szélességi bejárással egy irányított vagy irányítás nélküli véges gráfot járhatunk be a kezdőcsúcstól való távolságuk növekvő sorrendjében.
Gazdasági informatikából megkaptuk a félévi feladatot!!! Mindenki „nagy” örömére… 0. hét.
Gazdasági informatikából megkaptuk a félévi feladatot!!! Mindenki nagy örömére… 0. hét.
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Lineáris algebra.
Halmazműveletek.
Másodfokú egyenletek megoldása
1. feladat Makó és Veszprém között a távolság 270 km. Reggel 8-kor elindult egy vonat Makóról 60 km/h sebességgel. 9-kor Veszprémből indult egy gyorsvonat.
Szintaktikai, szemantikai szabályok
Lineáris programozás.
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
Matematika II. 1. előadás Geodézia szakmérnöki szak 2010/2011. tanév Kataszteri ágazat tavaszi félév.
Dijkstra algoritmusa Gubicza József (GUJQAAI.ELTE)
Az üzleti rendszer komplex döntési modelljei (Modellekkel, számítógéppel támogatott üzleti tervezés) II. Hanyecz Lajos.
Módosított normál feladat
Kruskal-algoritmus.
Számtani és mértani közép
Business Mathematics A legrövidebb út.
GRÁFOK Definíció: Gráfnak nevezzük véges vagy megszámlálhatóan végtelen sok pont és azokat összekötő szintén véges vagy megszámlálhatóan végtelen sok.
A Függvény teljes kivizsgálása
Valószínűségszámítás II.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Készítette: Mátyás István agrár mérnöktanár szakos hallgató,
Szállításszervezés.
OPERÁCIÓKUTATÁS TÖBBCÉLÚ PROGRAMOZÁS. Operáció kutatás Több célú programozás A * x  b C T * x = max, ahol x  0. Alap összefüggés: C T 1 * x = max C.
Adalékok egy véges összegzési feladathoz
HÁLÓZAT Maximális folyam, minimális vágás
ZRINYI ILONA matematikaverseny
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
Mediánok és rendezett minták
Készletek – Állandó felhasználási mennyiség (folyamatos)
Készletek - Rendelési tételnagyság számítása -1
Tanórán kívül lehet kicsit több
Előadás másolata:

Szállítási feladat

Az áruszállítás tervezésekor gyakran merül fel a kérdés, hogyan legcélszerűbb a szállítás megszervezése annak a célnak az elérése érdekében, hogy valamely kapacitást optimálisan használjanak fel, elsősorban azért, hogy az ésszerűtlen, felesleges, nem gazdaságos szállításokat kiküszöböljék. Egyik esetben olyan szállítási terv kidolgozásáról lehet szó, amelynél a szállítási költségek minimálisak. Más esetekben az időnyerés a legfontosabb,ezért az összes lehetséges szállítási tervek közül azt keressük, amely a legrövidebb idő alatt lehetővé teszi az árunak a felhasználóhoz juttatását. Tehát a szállítástervezésben elsődleges annak a szempontnak a kiválasztása, amely szerint optimumot keresünk. Vagyis annak a kérdésnek az eldöntése,hogy a szállításnak mely jellemzőjére (út, idő, költség) számolunk szélsőértéket úgy, hogy a leghatékonyabb szállítási tervet kapjuk. A szállítási feladatok különfélék lehetnek. Beszélünk például anyagok, termékek, azonos típusú szállítóeszközök szükségletek szerinti elosztásáról. A szállítási feladatok különleges szerkezete lehetővé teszi viszonylag egyszerű megoldási algoritmusok kifejlesztését.

Példa: A MÁV három (F1,F2,F3) teherpályaudvarán azonos típusú üres tehergépkocsik állnak, amelyekre négy másik (R1,R2,R3,R4) teherpályaudvaron van szükség, hogy ott áruval megrakják őket. Feladat az, hogy legcsekélyebb költségráfordítás mellett vigyük a teherkocsikat az Fi(i=1,2,3) teherpályaudvarokról ( a feladóhelyekről ) az Rj(j=1,2,3,4) teherpályaudvarokra a (rendeltetési helyekre). Ismerjük a teherpályaudvarokon a rendelkezésre álló kocsik számát : F1:3 F2:18 F3:9 Valamint a másik négy teherpályaudvaron szükséges tehergépkocsik számát: R1:6 R2:8 R3:5 R4:11 Észrevétel a rendelkezésre álló vagonok száma azonos az igényelt vagonok számával (30) Az egyes állomások között egy teherkocsi továbbításának költségét az alábbi táblázat tartalmazza (ezer Ft-os egységekben) R1 R2 R3 R4 F1 F2 F

R1 R2 R3 R4 F1 F2 F Cél: Szállítási költség minimalizálása. Minél kisebb értékre minél nagyobbat teszünk. Ez egyfajta megoldás lesz. Pl: veszem az F1 sort R4 oszlopot és rápakolok 1-re. Az igény 11, de mivel a készletem csak 3, ezért csak 3-mat tudok rápakolni. Ezután már F1 sorba nem tudok már pakolni, ezt a sort képletesen kihúzhatom. Folytatom R4 oszlopával már a 11-ből csak 8-at tudok pakolni (11-3=8). Most veszem az F3 sorban lévő 1-t és rápakolok 5-t (9 a készlet de 5 az igény, ezért csak 5-t tudok. Ezután kihúzhatom az R3 oszlopot is. Most már F3 sorban a készlet 9 helyett (9- 5)=4 ezt ráteszem ebben a sorban a 3-ra. Így F3 sort is kész. R4-ben maradt (8-4)=4 amit ráteszek a 4-re, ezzel az oszlop is kihúzható.A 18 készletből már csak 14 maradt (18-4). R1 oszlop és F2 sor találkozásánál ráteszek a 2-re 6-ot, így az oszlop kiesik. F2 sorban a 14 készletből már csak (14-6)=8 maradt. készlet igény 3 - (8) 5 - (9-5=4) ( 18-4=14 ) 14-6=8 Ezt a 8-at ráteszem az F2 és R2 találkozásánál lévő 2-re. Így mindent felhasználtam az igényeket kielégítettem (4)

Az előző dián kaptunk egy megoldást. Ennek a költsége : 1*3+2*6+2*8+4*4+1*5+3*4=64 (a szállítási költségeket megszorzom azzal amennyit rápakoltam, az 1-re 3-t pakoltam, a 2-re 6-t, 2-re 8-t, 4-re 4et, 1-re 5-t, 3-ra 4-t) Kérdés, hogy ez a megoldás optimális e ? Potenciálok módszerét kell alkalmazni. Bevezetek egy u sorú és v oszlopú táblát s beírom azokat a számokat amelyekre pakoltam elemeket. Raktam 1-re 3-t 2-re 6-t 2-re 8at ……, de hogy mennyit azt már nem kell feltüntetni. (itt most u helyetesíti F sorokat és v az R oszlopokat) u\v v1 v2 v3 v4 u1 1 u u3 1 3 U1+V4=1 U2+V1=2 U2+V2=2 U2+V4=4 U3+V3=1 U3+V4=3 Van 6 egyenlet, de 7 ismeretlenem. 1-el kevesebb az összefüggés, mint az ismeretlen. Szabadon választhatok 1 ismeretlent. Legcélszerűbb u1=0. Ekkor behelyetesítek ide. 0+v4=1, ezért v4=1, v4=1 ebből u2=3 ebből v2 és v1=-1, v4 miatt u3=2 és u3 miatt v3=-1. 0= 1 3= 2=2= Adott helyekhez tartozó eltéréseket kell kiszámolni ott, ahova nem tettünk semmit.Ha az eltérések között – eredmény jön ki ott kell javítani a feladatot, arra a helyre kell rápakolni.

u\v v1 v2 v3 v4 u1 1 u u Kiszámoljuk az előző tábla üresen maradt helyeit, az eredeti tábla azon számai segítségével, amelyekre nem pakoltam semmit kisbetűvel írtam azokat amelyekre pakoltam, most ezekre nincs szükségem a nagy számokra (üres he helyek kellenek) 2-(u1+v1)=2-(0-1)=3 ez pozitív u\v v1 v2 v3 v4 u1 1 u u Ez megoldás, mert optimális mindenhol pozitív lett. 5-(u1+v2)=5-(0-1)=6 ez pozitív 8-(u1+v3)=8-(0-1)=9 ez pozitív 4-(u2+v3)=4-(3-1)=2 ez pozitív 8-(u3+v1)=8-(2-1)=7 ez pozitív 8-(u3+v3)=8-(2-1)=7 ez pozitív

A mikor a n programot javítani kell: Ha egy m*n disztribúciós táblázatban m+n-1 számú kötött elem (az az elem ahova pakolok) van, akkor minden szabad elemhez létezik egy és csak egy olyan hurok, amelynek csúcspontja maga szabad elem a többi csúcspont pedig kötött elem Költségmátrix R1 R2 R3 R4 elemei c11,c12 x11 c13,c14,c21…. F1 C11 C12 C13 C14 szállítási ktg-k: x21 x22 x24 x11,x21,x22… F2 C21 C22 C23 C24 x33 x34 F3 C31 C32 C33 C34 c11 c21 c24 c34c33 Az előző tétel értelmében minden szabad elemhez tartozik egy és csak egy hurok, amelyiknek a többi csúcsa a kötött elem. Pl. c13 szabad elemhez ez a hurok tartozik. c13

c11 c21 c33c34 c24 Ez előző diát követve c13 szabad elemhez akarunk pakolni, x13 változót be akarjuk vonni a programba, azaz F1 feladóhelyről az R3 rendeltetési helyre is akarunk szállítani. c13-ra teszek, c33-ról leveszek c34-re teszek, c24-ről leveszek, c21-re teszek, c11-ről leveszek. c13 Ezt az eljárást látva belátható, hogy a hurokban a szabad elemből kiindulva minden páratlan számú elemre „rá kell rakni” egy egységet, míg a páros sorszámúakra programozott mennyiséget egy egységgel csökkenteni kell. Meg kell nézni, hogy mennyit tehetek a szabad elemre, mert annyit le kell vonni a kötött elemekről. A – előjelű elemeken lévő költségek közül mindig a lehető legkisebbet vonhatom le. c13-c33+c34-c24+c21-c11 Ezt a módszert bástya módszernek nevezzük

Az előző gondolatokhoz bemutatok egy példát Ez egy szállítási feladat a ktg-t a min. helyre szállítás elve alapján rendeztem el. Kérdés optimális-e? El kell végezni a potenciálok módszerét. Költség: 2*3+3*3+2*8+4*7+1*5+3*4=73 u\v v1 v2 v3 v4 u1 2 u u = = 5-(0+2)=3 ez pozitív + 8-(0+2)=6 ez pozitív + 1-(0+4)=-3 ez negatív - 4-(0+2)=2 ez pozitív + 8-(-1+2)=7 ez pozitív + 8-(-1+2)=7 e pozitív + Ebben a feladatban jött ki -, tehát a feladat nem optimális még javítható. 1-re kell pakolni, tehát meg kell találni a zárt útvonalát.

Tehát az 1 helyén jött ki mínusz, itt kell javítani, erre kell pakolni. Egyetlen útvonala van. 1-re teszek 4-ről leveszek 4-ről leveszek 2-re teszek 2-re teszek 2-ről leveszek 2-ről leveszek 1-re teszek A 4-ről levehetek 7-t a 2-ről 3-t. Mindig a lehető legkisebbet lehet pakolni, ezért 3-at kell pakolni Az 1-re teszek 3-at;7-ből le kell venni 3-t, így marad 4;3-ra ráteszek 3-at, így lesz 6; 3-ból leveszek 3-t, 0 lesz. Így a megváltozott szállítási útvonal: Az új költség : 1*3+2*6+2*8+4*4+1*5+3*4=64

Oszlop-sor redukcióval is meg tudjuk állapítani a szállítási tervet Több az oszlop,mint a sor, ezért most oszlopredukcióval kezdek. Mindegyik oszlopban megkeressük a legkisebb elemet (amit 0-val jelölök) és azt levonom a kérdéses oszlop minden eleméből. I Mindegyik oszlopban van 0-a, s egy sor kivételével a sorokban is van 0-a. Itt sorredukciót fogunk végrehajtani II

Most elvégzem a költségek elhelyezését, úgy hogy először a nullákra teszek Pl: a 5. oszlopban rápakolok 0-ra 40-t, így az oszlop kihúzható. 40 A második sorban a 80-ból csak (80-40=)40 maradt 40 A 3. oszlopban levő 0-ra rápakolok 20-t, így az oszlop kihúzható. Így 40-ből csak 20 maradt. 20 Ezt a 20-t ráteszem a 2. sorban levő 0-ra. Ez a sor kihúzható. Így az első oszlopban 30-ból csak 10 marad Azt a 10-t ráteszem a 3. sorban levő 0-ra. Ez az oszlop is kiesik, és a sorban 60-ból csak 50 marad Azt az 50-t ráteszem a 4. oszlopban levő 1-re. Ez a sor is kiesik. Az oszlopban marad (60-50=) Végül az 1-s sorban a 0-ra rápakolok 50 és a másikra 10-t, ezzel a 2. és 4.oszlop, 1 sor kihúzható Itt is ki kell számolom a költségeket: Megnézem oszloponként mekkora volt a legkisebb elem (amit 0-nak vettem) s ezt beszorzom azzal a számmal amennyit abban az oszlopban pakoltam. 3*20+3*10+3*50+4*20+2*10+2*50+2*40+1*60=580 Ezt korrekciószámításnak nevezzük. A végén beszoroztam 1*60-nal a sorredukció miatt.

Most is meg kell csinálnom a potenciálok módszerét, hogy optimális-e a megoldás. u\v v1 v2 v3 v4 v5 u1 0 0 u u = 1= (0-1)=2 ez pozitív (0-1)=3 ez pozitív + 2-(1-0)=1 ez pozitív + 3-(1-0)=2 ez pozitív + 2-(1+0)=1 ez pozitív + 1-(1-1)=1 ez pozitív + 2-(1-1)=2 ez pozitív + Tehát mindenhol pozitív jött ki a megoldás optimális. Ha negatív jött volna ki, ugyanúgy bástyamódszerrel kell javítani.

Olyan is előfordulhat a potenciálok módszerében, 0 jön ki és nem pozitív.Ilyenkor alternatív optimum van, 0-t fogjuk javítani, de a költség nem fog változni Ez egy oszlop-sor redukció utáni tábla u\v v1 v2 v3 v4 u1 0 u2 1 0 u (0+1)=0 itt jött ki 0 2-(0+1)=1 ez pozitív 1-(-1+0)=2 ez pozitív Költség:0*40+1*25+0*5+0*20+0*20+ 0*10=25 Meg csinálom a potenciálok módszerét

Mivel 0-a jött ki javíthatok 0-ra s helyén jött ki 0-a ide kell pakolni, meg kell keresni az útvonalát. Ugyanúgy mint előzőleg bástya módszerrel oldom meg A legkisebb mínusz amit levehetek 20, ennyit fogok 1-re tenni és a pozitív előjelűekre is (az előjeleket csak magamnak jelöltem be, hogy lássam honnan kell levennem és hova kell rátennem) Javítás után így fog kinézni A költség: 1*20+0*20+1*5+0*25+0*20+0*30 =25 Tényleg nem változott a költség, csak a szállítási útvonalon javítottam