Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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.

Hasonló előadás


Az előadások a következő témára: "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."— Előadás másolata:

1 Szállítási feladat

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

3 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 F3 2 5 8 1 3 2 2 4 4 18 8 8 1 3 9 6 8 5 11 30

4 R1 R2 R3 R4 F1 F2 F3 2 5 8 1 3 2 2 4 4 18 8 8 1 3 9 6 8 5 11 30 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) 4 - 4 - 6 - ( 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. 8 - - (4)

5 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 u2 2 2 4 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.

6 u\v v1 v2 v3 v4 u1 1 u2 2 2 4 u3 1 3 0 3 2 1 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 25 8 1 kisbetűvel írtam azokat amelyekre pakoltam, most 2 2 4 4 ezekre nincs szükségem a nagy számokra (üres he 88 1 3 helyek kellenek) 2-(u1+v1)=2-(0-1)=3 ez pozitív +++ + ++ u\v v1 v2 v3 v4 u1 1 u2 2 2 4 u3 1 3 0 3 2 1 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

7 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

8 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. + -+ - + -

9 Az előző gondolatokhoz bemutatok egy példát 2 5 8 1 3 2 2 4 4 18 8 8 1 3 9 6 8 5 11 4 7 5 38 3 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 u2 2 2 4 u3 1 3 0= 222 4 -1= 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.

10 2 5 8 1 3 2 2 4 4 18 8 8 1 3 9 6 8 5 11 3 3 4 8 7 5 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. 2 5 8 1 3 2 2 4 4 18 8 8 1 3 9 6 8 5 11 2 1 2 4 3 4 6 0 + + 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: 3 6 5 4 4 8 Az új költség : 1*3+2*6+2*8+4*4+1*5+3*4=64

11 Oszlop-sor redukcióval is meg tudjuk állapítani a szállítási tervet. 4 3 5 2 4 60 3 5 4 5 2 80 4 6 6 4 5 60 30 50 20 60 40 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 1 0 1 0 2 60 0 2 0 3 0 80 1 3 2 2 3 60 30 50 20 60 40 Mindegyik oszlopban van 0-a, s egy sor kivételével a sorokban is van 0-a. Itt sorredukciót fogunk végrehajtani II 1 0 1 0 2 60 0 2 0 3 0 80 0 2 1 1 2 60 30 50 20 60 40

12 Most elvégzem a költségek elhelyezését, úgy hogy először a nullákra teszek 1 0 1 0 2 60 0 2 0 3 0 80 0 2 1 1 2 60 30 50 20 60 40 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. 20 10 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. 10 50 Azt az 50-t ráteszem a 4. oszlopban levő 1-re. Ez a sor is kiesik. Az oszlopban marad (60-50=)10. 50 10 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ó. 50 10 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.

13 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 u2 0 0 0 u3 0 1 0= 1= 0 0 1 0 1 0 2 60 0 2 0 3 0 80 0 2 1 1 2 60 30 50 20 60 40 5010 20 10 2040 50 1-(0-1)=2 ez pozitív + + 2-(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.

14 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. 1 2 2 0 40 2 2 1 0 30 0 0 0 1 50 20 20 35 45 Ez egy oszlop-sor redukció utáni tábla 40 25 10 5 20 u\v v1 v2 v3 v4 u1 0 u2 1 0 u3 0 0 0 0 1 1 1 0. 1-(0+1)=0 itt jött ki 0 2-(0+1)=1 ez pozitív 1-(-1+0)=2 ez pozitív + +0 + + 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

15 Mivel 0-a jött ki javíthatok 0-ra. 1 2 2 0 40 2 2 1 0 30 0 0 0 1 50 20 20 35 45 20 10 255 40 1-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). 1 2 2 0 40 2 2 1 0 30 0 0 0 1 50 20 20 35 45 Javítás után így fog kinézni. 20 255 30 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


Letölteni ppt "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."

Hasonló előadás


Google Hirdetések