You are on page 1of 73

Operációkutatás I.

9. előadás

E.-Nagy Marianna
Operációkutatás és Aktuáriustudományok Tanszék

2023/24 őszi félév


Szállítási feladatok
Szállítási feladat

A szállítási feladat célja meghatározni egyetlen termék minimális költségű


szállítását adott számú forrásból (pl. termelőhelyek) az adott számú
célállomásra (pl. fogyasztóhelyek).

Jelölje T1 , T2 , . . . , Tm a termelőhelyeket, ahol


t1 , t2 , . . . , tm , (ti > 0, egész) mennyiségű termék áll rendelkezésre,
míg
F1 , F2 , . . . , Fn jelölje a fogyasztóhelyeket,
f1 , f2 , . . . , fn , (fj > 0, egész) kereslettel (szükséglettel).

Legyen adott a termék egységnyi (fajlagos) szállítási költség Ti


termelőhelyről Fj fogyasztóhelyre: cij ≥ 0 ∀ i, j.
Szállítási feladat

Jelölje xij a Ti termelőhelyről az Fj fogyasztóhelyre szállítandó termék


mennyiségét (döntési változók) minden i, j indexre.
Ekkor nyilván xij ≥ 0 teljesül.
Szállítási feladat

Jelölje xij a Ti termelőhelyről az Fj fogyasztóhelyre szállítandó termék


mennyiségét (döntési változók) minden i, j indexre.
Ekkor nyilván xij ≥ 0 teljesül.

Megengedett (lehetséges) szállításnak egy olyan xij


i = 1, 2, . . . m; j = 1, 2, . . . n szállítást nevezünk, mellyel
minden termelőhelyről elszállítjuk a teljes kínálatot, és
minden fogyasztóhelyre a keresletnek megfelelő mennyiség érkezik.

Cél, olyan megengedett szállítás meghatározása, melyre a szállítás


összköltsége minimális.
Szállítási feladat: példa
Szállítási feladat: példa
Szállítási feladat: lineáris programozási megfogalmazása
Szállítási feladat: lineáris programozási megfogalmazása

Termelőhelyek: T1 , T2 , T3 , azaz m = 3.
Felvevőhelyek: F1 , F2 , F3 , F4 azaz n = 4.
Változók száma = m n = 3 · 4 = 12.
Feltételek (lineáris egyenletek) száma = m + n = 3 + 4 = 7.
Szállítási feladat: megengedett megoldások halmaza

A szállítási feladat A ∈ R7×12 mátrixa és a b ∈ R7 kínálat/kereslet vektor a következő


   
1 1 1 1 0 0 0 0 0 0 0 0 370
 0 0 0 0 1 1 1 1 0 0 0 0   620 
 0 0 0 0 0 0 0 0 1 1 1 1   440 
A= 1 0 0 0 1 0 0 0 1 0 0 0 b= 220
   
 

 0 1 0 0 0 1 0 0 0 1 0 0 


 380 

0 0 1 0 0 0 1 0 0 0 1 0 410
0 0 0 1 0 0 0 1 0 0 0 1 420

Jelölje a szállítást az x = (x11 , x12 , x13 , x14 , x21 , . . . , x24 , x31 , . . . , x34 )T vektor.
Ekkor a szállítási feladat megengedett (lehetséges) megoldás halmaza a következő
P = {x ∈ R12 : A x = b, x ≥ 0}.
Feladat. P egy konvex politop, azaz egy korlátos, konvex poliéder.
Szállítási feladat: feltétel rendszer és a mátrix rangja
   
1 1 1 1 0 0 0 0 0 0 0 0 370
 0 0 0 0 1 1 1 1 0 0 0 0   620 
 0 0 0 0 0 0 0 0 1 1 1 1   440 
A= 1 0 0 0 1 0 0 0 1 0 0 0 b= 220
   
 

 0 1 0 0 0 1 0 0 0 1 0 0 


 380 

0 0 1 0 0 0 1 0 0 0 1 0 410
0 0 0 1 0 0 0 1 0 0 0 1 420

A szállítási feladat feltételrendszere egy lineáris egyenlőtlenség rendszer

A x = b, x ≥ 0.

a11 , a12 , a13 , a14 , a21 , . . . , a24 , a31 , . . . , a34 ∈ R7 jelöli az A mátrix oszlopvektorait
és a(1) , a(2) , . . . , a(7) ∈ R12 pedig a sorvektorait. (Az a11 = e1 + e4 , illetve
általánosan aij = ei + e3+j .)
A mátrix rangja rang(A) ≤ min{7, 12} = 7. Sőt

a(1) + a(2) + a(3) − a(4) − a(5) − a(6) = a(7) ,

tehát rang(A) ≤ 6. Másfelől a(1) , a(2) , . . . , a(6) sorvektorok lineárisan függetlenek,


és így bázist alkotnak. A mátrix rang tétel alapján rang(A) = 6.
(Oszlop vektorok egy bázisa: a11 , a12 , a13 , a14 , a21 , a31 .)
Szállítási feladat: Észak-Nyugat sarok módszer
Induló megengedett megoldás előállítsa:
1 Kezdjük az észak-nyugati sarok cellával.
2 Szállítsunk ezen a cellán, annyi terméket, amennyit csak lehet az
aktuális kínálat és kereslet alapján.
(A szállított mennyiséggel módosítsuk a kínálatot és a keresletet.)
3 Lépjünk tovább a jobb oldali cellára, ha maradt kínálat;
különben lépjünk az alatta lévő cellára.
4 Menjünk a 2. lépésre.
Észak-Nyugat sarok módszer - folytatás
Észak-Nyugat sarok módszer - folytatás
Észak-Nyugat sarok módszer - folytatás
Észak-Nyugat sarok módszer - folytatás
Észak-Nyugat sarok módszer - folytatás
Észak-Nyugat sarok módszer megoldása

Legyen adott
a szállítási feladat
A ∈ R7×12 mátrixa és a
b ∈ R7 kínálat/kereslet
vektora.

Az Észak-Nyugat sarok módszer megoldása:

x11 = 220, x12 = 150, x22 = 230, x23 = 390, x33 = 20, x34 = 420,

és a többi szállítási változó pedig nulla. Lineárisan függetlenek-e az ezekhez a


változókhoz tartozó (piros) oszlopvektorai az A mátrixnak? Miért?
 1 1 1 1 0 0 0 0 0 0 0 0
  370 
 0 0 0 0 1 1 1 1 0 0 0 0   620 
 0 0 0 0 0 0 0 0 1 1 1 1   440 
   
 1
A= 0 0 0 1 0 0 0 1 0 0 0  220
b=
 
 
 0 1 0 0 0 1 0 0 0 1 0 0   380 
0 0 1 0 0 0 1 0 0 0 1 0 410
   
0 0 0 1 0 0 0 1 0 0 0 1 420
Legkisebb költség - heurisztika

Induló megengedett megoldás előállítsa:


1 Határozzuk meg a szállítási tábla legkisebb költségét:
γ = min{cij : 1 ≤ i ≤ m, 1 ≤ j ≤ n}.
Válasszunk egy cellát ezen minimális γ értékkel.
2 Szállítsunk ezen a cellán, annyi terméket, amennyit csak lehet az
aktuális kínálat és kereslet alapján.
(A szállított mennyiséggel módosítsuk a kínálatot és a keresletet.)
3 Vagy egy kínálatot, vagy egy keresletet teljesen kiaknáztunk. A 0
kínálattal vagy igénnyel rendelkező feltétel(eke)t törölni kell a szállítási
táblából. (Ennek megfelelően módosítsuk m és n értékét.)
4 Menjünk az 1. lépésre.
Legkisebb költség - heurisztika
Legkisebb költség - heurisztika
Legkisebb költség - heurisztika
Legkisebb költség - heurisztika
Legkisebb költség - heurisztika
Legkisebb költség - heurisztika
Legkisebb költség módszer megoldása

Legyen adott
a szállítási feladat
A ∈ R7×12 mátrixa és a
b ∈ R7 kínálat/kereslet
vektora.

Az legkisebb költségű elem választása módszer megoldása:

x12 = 370, x21 = 220, x23 = 400, x32 = 10, x33 = 10, x34 = 420,

és a többi szállítási változó pedig nulla. Lineárisan függetlenek-e az ezekhez a


változókhoz tartozó (piros) oszlopvektorai az A mátrixnak? Miért?
 1 1 1 1 0 0 0 0 0 0 0 0
  370 
 0 0 0 0 1 1 1 1 0 0 0 0   620 
 0 0 0 0 0 0 0 0 1 1 1 1   440 
   
 1
A= 0 0 0 1 0 0 0 1 0 0 0  220
b=
 
 
 0 1 0 0 0 1 0 0 0 1 0 0   380 
0 0 1 0 0 0 1 0 0 0 1 0 410
   
0 0 0 1 0 0 0 1 0 0 0 1 420
Vogel(-Korda) módszer (VAM)

1. Minden oszlopra és sorra számoljuk ki a büntetés mértékét:


az ottani két legkisebb költség különbsége.
2. Válasszuk ki a legnagyobb büntetéssel rendelkező sort vagy oszlopot.
3. Válasszuk ki itt a legkisebb költségű cellát és rendeljük hozzá a
maximális megengedett értéket.
Ismételjük az 1,2 és 3 lépéseket, míg minden feltétel nem teljesül.
Vogel(-Korda) módszer – példa megoldása

Általában elég jó induló megoldást ad.


Emlékeztetőül, a másik két módszerrel kapott megoldások költsége:
Észak-Nyugat sarok: 21550 Legkisebb költség heurisztika: 19510
Szállítási feladat: primál feladat
Ha a termelőhelyek összes kínálata, megegyezik a felvevőhelyek teljes
keresletével, azaz m n
X X
ti = fj ,
i=1 j=1

akkor kiegyensúlyozott szállítási feladatról beszélünk, különben a szállítási


feladat kiegyensúlyozatlan. A továbbiakban feltesszük, hogy
kiegyensúlyozott.
Szállítási feladat: primál feladat
Ha a termelőhelyek összes kínálata, megegyezik a felvevőhelyek teljes
keresletével, azaz m n
X X
ti = fj ,
i=1 j=1

akkor kiegyensúlyozott szállítási feladatról beszélünk, különben a szállítási


feladat kiegyensúlyozatlan. A továbbiakban feltesszük, hogy
kiegyensúlyozott.
A primál szállítási feladat:
n
X
kínálati feltételek: xij = ti bármely Ti termelőhelyre
j=1

m
X
keresleti feltételek: xij = fj bármely Fj felvevőhelyre
i=1
xij ≥ 0 bármely i, j
n
X m
X
célfüggvény: min cij xij
j=1 i=1
Primál szállítási feladat: mátrix alak
A primál szállítási feladat mátrixa:
A = (a11 , a12 , . . . , a1n , a21 , a22 , . . . , a2n , . . . , am1 , am2 , . . . , amn ),
ahol aij = ei + em+j ∈ Rm+n és a jobboldal
b = (t1 , t2 , . . . , tm , f1 , f2 , . . . , fn )T .

Lemma. Ha a termelőhelyek száma m és a fogyasztóhelyek száma n, akkor


az A ∈ R(m+n)×(m n) mátrix rangja m + n − 1.

Bizonyítás. Egy változó pontosan egy kínálati és pontosan egy keresleti egyenletben
szerepel, ezekben az együtthatója 1, így az A mátrix első m sorának összegéből
kivonjuk, az utolsó n sorának az összegét, akkor az azonosan nulla vektort kapjuk.
Tehát rang(A) < m + n összefüggés adódik.
Másfelől az A mátrix alábbi m + n − 1 oszlopa lineárisan független:
a11 , a12 , . . . , a1n , a21 , a31 , . . . am 1 .

Továbbá rang(A) = rang(A, b) = m + n − 1, mert a feladat


kiegyensúlyozott.
A feladat kritikus száma: rang(A) = m + n − 1.
Szállítási feladat: megengedett megoldások halmaza

Jelölje x = (x11 , x12 , . . . , x1n , x21 , x22 , . . . , x2n , . . . , xm1 , xm2 , . . . , xmn )T a
primál szállítási feladat szállítás vektorát. Ekkor a feladat megengedett
megoldásainak a halmaza a következő:
P = {x ∈ Rmn : A x = b, x ≥ 0}.

Lemma. A primál szállítási feladat megengedett megoldásainak a halmaza


P≠ ∅, korlátos, zárt és konvex halmaz, sőt politop.

Bizonyítás. A P halmaz poliéder, így zárt konvex halmaz.


A szállítások értékét a kínálati és keresleti egyenletek korlátozzák, ezért

0 ≤ xij ≤ min{ti , fj },

azaz minden változó korlátos, tehát a P halmaz is korlátos, azaz politop is.
A P halmaz nem üressége következik abból, hogy az Észak-Nyugat sarok
módszer kiegyensúlyozott feladat esetén, véges sok lépésben lehetséges
szállítást állít elő.
Kiegyensúlyozott szállítási feladat: megoldható!
Állítás. A kiegyensúlyozott szállítási feladatnak létezik megengedett
bázismegoldása.
Kiegyensúlyozott szállítási feladat: megoldható!
Állítás. A kiegyensúlyozott szállítási feladatnak létezik megengedett
bázismegoldása.
Bizonyítás. Alkalmazzuk az Észak-Nyugat sarok módszert. Be kell látnunk, hogy
(i) véges sok lépésben megengedett megoldást talál, és (ii) ez bázismegoldás is.
Az algoritmus minden lépése után vagy egy termelőhely kínálata fogy el, vagy egy
fogyasztóhely kereslete teljesül (esetleg mindkettő - ez a degenerált eset, kivéve az
utolsó cella esetén), azaz vagy egy kisebb méretű, kiegyensúlyozott szállítási
feladatunk marad, vagy az algoritmus leáll azzal, hogy minden feltétel teljesült.
Tehát legfeljebb m + n − 1 lépést tesz. Mivel a szállítási feladat kiegyensúlyozott,
így az utolsó lépésben, a (módosított) kínálat és kereslet értéke megegyezik, tehát
a szállítási feladat egy megenegedett megoldását állítottuk elő.
Az algoritmus minden lépésében legalább egy egyenlet teljesülését biztosítottuk egy
változó értékének a megválasztásával, azaz a b vektort legfeljebb m + n − 1
oszlopvektor nemnegatív lineáris kombinációjaként kifejeztük.
Kell: a kiválasztott változókhoz tartozó oszlopvektorok lineárisan függetlenek. Az
egymás után kiválasztott xij változók esetén az i és j indexek közül legalább az
egyik korábban még nem szerepelt, azaz az aij = ei + em+j előállításában szereplő
egységvektorok közül legalább az egyik még nem fordulhatott elő, vagyis a
korábban kiválasztott vektoroktól független az új aij vektor.
Kiegyensúlyozott szállítási feladat: megoldható!

Tétel. A kiegyensúlyozott szállítási feladatnak létezik optimális megoldása.

Bizonyítás. A P ̸= ∅, korlátos, zárt halmaz, ezért a Weirstrass-tétel szerint a


lineáris célfüggvény (folytonos) a P halmazon felveszi a minimumát. (Maximumát
is.) Tehát a kiegyensúlyozott szállítási feladatnak létezik optimális megoldása.
Kiegyensúlyozott szállítási feladat: megoldható!

Tétel. A kiegyensúlyozott szállítási feladatnak létezik optimális megoldása.

Bizonyítás. A P ̸= ∅, korlátos, zárt halmaz, ezért a Weirstrass-tétel szerint a


lineáris célfüggvény (folytonos) a P halmazon felveszi a minimumát. (Maximumát
is.) Tehát a kiegyensúlyozott szállítási feladatnak létezik optimális megoldása.

Jelölje x∗ ∈ P a kiegyensúlyozott szállítási feladat optimális megoldását és c ∗ az


optimális célfüggvény értékét. Az optimális megoldások P ∗ halmaza:
( n m n m
)
X X X X
P∗ = x∗ ∈ P : cij xij∗ ≤ cij xij ∀x ∈ P
j=1 i=1 j=1 i=1
( n m
)

X X
= x ∈P: cij xij∗ =c ∗

j=1 i=1

Következmény. A kiegyensúlyozott szállítási feladat optimális megoldásai-


nak halmaza, P ∗ , nem üres, korlátos, zárt, konvex poliéder, azaz politop. •
Szállítási feladat: keret algoritmus
Szállítási probléma: duál feladat
Tegyük fel, hogy a szállítás a termelő feladata, és egy kereskedő a következő
ajánlattal áll elő:
a termelő a Ti helyen ui egységárat fizet a termék elszállításáért, míg
a megrendelő az Fj felvevőhelyen vj egységárat fizet a termék odaszállításáért,
ami természetesen a termelő bevételét csökkenti, hiszen eredetileg a termék
odaszállítása az ő feladata volt.
Szállítási probléma: duál feladat
Tegyük fel, hogy a szállítás a termelő feladata, és egy kereskedő a következő
ajánlattal áll elő:
a termelő a Ti helyen ui egységárat fizet a termék elszállításáért, míg
a megrendelő az Fj felvevőhelyen vj egységárat fizet a termék odaszállításáért,
ami természetesen a termelő bevételét csökkenti, hiszen eredetileg a termék
odaszállítása az ő feladata volt.

A termelő számára, a kereskedő által felajánlott ui és vj egységárak elfogadható


árak, ha a szállítás költségei nem növekednek, azaz

ui + vj ≤ cij , ∀ i, j. (1)

Természetesen a kereskedőnek elfogadható árat kell ajánlania, de szeretné a


bevételét maximalizálni. A kereskedő bevétele
m
X n
X
ti ui + fj vj → max (2)
i=1 j=1

Az (1) és (2) összefüggésekkel leírt optimalizálási feladatot duál szállítási


feladatnak nevezzük.
Szállítási probléma: primál és duál feladatok
Primál szállítási feladat: keressük az xij ≥ 0 szállítási mennyiségeket,
amelyekre Xn

xij = ti , i = 1, 2, . . . , m
j=1
m
X
xij = fj , j = 1, 2, . . . , n
i=1
n m
X X
min cij xij
j=1 i=1

Duál szállítási feladat: keressük az elfogadható ui és vj egységárakat,


amelyekre ui + vj ≤ cij , i = 1, 2, . . . , m, j = 1, 2, . . . , n
m n
X X
max ti ui + fj vj
i=1 j=1

Vezessük be a duál megengedett megoldások halmazát:


D = {u ∈ Rm , v ∈ Rn : ui + vj ≤ cij , ∀ i, j}
Állítás. Minden szállítási feladat esetén D =
̸ ∅, zárt, konvex poliéder.

Szállítási probléma: gyenge dualitás tétel

Lemma. Legyen adott egy kiegyensúlyozott primál- és duál szállítási feladat.


Legyen x ∈ P és (u, v) ∈ D tetszőleges primál és duál megengedett megoldá-
sok. Ekkor n X m m n
X X X
cij xij ≥ t i ui + fj vj ,
j=1 i=1 i=1 j=1

továbbá az előbbi egyenlőtlenség pontosan akkor teljesül egyenlőséggel, ha

(cij − ui − vj ) xij = 0 ∀ i, j. (komplementaritási feltétel)

Bizonyítás. Felhasználva a megoldások megenegedettséget


n X
m n X
m n m
! m n
!
X X X X X X
cij xij ≥ (ui + vj ) xij = vj xij + ui xij
j=1 i=1 j=1 i=1 j=1 i=1 i=1 j=1
m n
X X
= ti ui + fj v j .
i=1 j=1

A lemma második állításának a bizonyításakor induljuk ki az előző levezetésben


található egyenlőtlenségből és vizsgáljuk meg mikor teljesül egyenlőséggel.
... gyenge dualitás tétel - folytatás
n m n m n X
m
X X X X X
Ekkor cij xij = (ui +vj ) xij ⇔ (cij −ui −vj ) xij = 0.
j=1 i=1 j=1 i=1 j=1 i=1

Az összegzendő szorzatok mindkét tagja nemnegatív (primál- és duál megengedettség),


így szorzatuk is nemnegatív. Nemnegatív számok összege pedig pontosan akkor lehet
nulla, ha minden tagjuk nulla, azaz (cij − ui − vj ) xij = 0 ∀ i, j
... gyenge dualitás tétel - folytatás
n m n m n X
m
X X X X X
Ekkor cij xij = (ui +vj ) xij ⇔ (cij −ui −vj ) xij = 0.
j=1 i=1 j=1 i=1 j=1 i=1

Az összegzendő szorzatok mindkét tagja nemnegatív (primál- és duál megengedettség),


így szorzatuk is nemnegatív. Nemnegatív számok összege pedig pontosan akkor lehet
nulla, ha minden tagjuk nulla, azaz (cij − ui − vj ) xij = 0 ∀ i, j

Következmény. Egy kiegyensúlyozott primál- és duál szállítási feladat esetén


legyen x ∈ P és (u, v) ∈ D, melyekre teljesül a komplementaritási feltétel is. Ekkor
az x optimális megoldása a primál, u és v optimális megoldása a duál feladatnak és
a két célfüggvény értéke megegyezik.

Bizonyítás. A Gyenge dualitás tétel miatt, figyelembe véve a komplementaritás


teljesülését a két célfüggvény egyenlő. Indirekt módon tegyük fel, hogy az x megoldás
nem optimális, azaz létezik olyan x∗ ∈ P, amelyre a célfüggvény értéke határozottan
kisebb, azaz X n
X m
X n
Xm
Xm
X n

cij xij > cij xij∗ ≥ ti ui + fj vj ,


j=1 i=1 j=1 i=1 i=1 j=1
ellentmondva annak, hogy a két célfüggvényérték megegyezik. Tehát x megoldás
primál optimális megoldás.
Szállítási feladat: optimalitási kritériumok
Primál megengedettségi feltételek:
Xn
xij = ti , i = 1, 2, . . . , m
j=1
m
X
xij = fj , j = 1, 2, . . . , n
i=1
xij ≥ 0, i = 1, 2, . . . , m, j = 1, 2, . . . , n.

Duál megengedettségi feltételek:


ui + vj ≤ cij , i = 1, 2, . . . , m, j = 1, 2, . . . , n.

Komplementaritási feltételek:
(cij − ui − vj ) xij = 0 i = 1, 2, . . . , m, j = 1, 2, . . . , n.

Az előző Következmény miatt, a primál és duál megengedett megoldások,


pontosan akkor optimális megoldások, ha komplementárisak.
Szállítási feladat: keret algoritmus

Egy adott x ∈ P bázismegoldás optimalitásának a teszteléséhez elő kell állítani


a hozzá tartozó, komplementáris duál megoldást, az u és v egységárakat. Ha
ezek az egységárak elfogadhatók, azaz duál megengedettek, akkor a Gyenge
dualitás tétel következménye alapján primál- és duál optimális megoldást állí-
tottunk elő.
Szállítási feladat: példa (folytatás)

Megengedett megoldás, Észak-nyugat sarok módszerrel.


Szállítási feladat: példa (folytatás)

Megengedett megoldáshoz tartozó egyenletrendszer, amelyekből


kiszámolhatók az aktuális komplementáris duál megoldás ui és vj értékei.
Szállítási feladat: példa (folytatás)

... és a konkrét egyenletek ...


Szállítási feladat: példa (folytatás)

... és a komplementáris duál megoldás értékei ...


Szállítási feladat: példa (folytatás)

... végre látszik a komplementaritás ...


Szállítási feladat: példa (folytatás)

... a redukált költségek megegyeznek a szimplex tábla célfüggvénysorával ...


Szállítási feladat: példa (folytatás)

... a megoldásunk nem optimális, mert vannak negatív redukált költségeink


és minimalizálási feladatunk van ...
Szállítási feladat: példa (folytatás)

A javító cella és legalább 3 kötött cella sorozatát huroknak nevezzük, ha


1. bármely két egymás utáni cella ugyanabban a sorban/oszlopban van,
2. három egymás utáni cella sosincs ugyanabban a sorban/oszlopban,
3. az utolsó cella sora/oszlopa ugyanaz, mint az elsőé.
Szállítási feladat: példa (folytatás)

Hurkot keresünk...
Szállítási feladat: példa (folytatás)

Hurkot keresünk...
Szállítási feladat: példa (folytatás)

Hurkot keresünk...
Szállítási feladat: példa (folytatás)

Hurkot keresünk...
Szállítási feladat: példa (folytatás)

Hurkot keresünk...
Szállítási feladat: példa (folytatás)

Megvan a hurok!
Szállítási feladat: példa (folytatás)

Mennyit javíthatunk?
Meg kell őriznünk, a nemnegativitást: min{220, 230, 20} = 20.
Szállítási feladat: példa (folytatás)

Az új bázismegoldás.
Szállítási feladat: példa (folytatás)

Van még negatív redukált költségű változó.


Szállítási feladat: példa (folytatás)

Javítunk 200-at ezen a hurkon.


Szállítási feladat: példa (folytatás)

Új megoldás, duál változókkal együtt.


Szállítási feladat: példa (folytatás)

Javítunk 170-et ezen a hurkon.


Szállítási feladat: példa (folytatás)

Még mindig van egy negatív redukált költségű elem.


Szállítási feladat: példa (folytatás)

Javítunk 50-et ezen a hurkon.


Szállítási feladat: példa (folytatás)

Optimális megoldásunk van, ugyanis minden redukált költség nemnegatív.


Szállítási feladat: megoldó algoritmus

Disztribúciós eljárás (MODI):


1 Készítsünk induló bázismegoldást (heurisztika).
2 Számítsuk ki a duális változókat, és a redukált költségeket.
3 Ha nincs negatív redukált költség, akkor optimális megoldásunk van,
egyébként válasszunk ki egy ilyen változót.
4 A bázishoz véve kialakuló hurkon javítsunk amennyit lehet, egy nullára
csökkent elem lépjen ki a bázisból. Menjünk a 2. lépésre.
Disztribúciós eljárás végessége
nm

Véges sok bázismegoldás van (≤ n+m−1 ).
A célfüggvény nem romolhat.
Ismétlődhet-e (azonos célfüggvényérték mellett) egy bázis-sorozat?
Ha nem teszünk ellene semmit, akkor igen.
Ez csak degenerált bázis esetén történhet.
Disztribúciós eljárás végessége
nm

Véges sok bázismegoldás van (≤ n+m−1 ).
A célfüggvény nem romolhat.
Ismétlődhet-e (azonos célfüggvényérték mellett) egy bázis-sorozat?
Ha nem teszünk ellene semmit, akkor igen.
Ez csak degenerált bázis esetén történhet.

Bland szabály:
Tekintsük az indexeket lexikografikus sorrendben

(1, 1) ≤ (1, 2) ≤ . . . ≤ (1, n) ≤ (2, 1) ≤ . . .

Ha több negatív redukált költségű elem van, válasszuk a legkisebb


indexűt.
Ha több lehetséges kilépő elem van, válasszuk a legkisebb indexűt.

Lemma: A Bland-szabály alkalmazása mellett a disztribúciós eljárás véges.


Nem kiegyensúlyozott feladat

Pm Pn
Ha kisebb a kínálat, mint a kereslet: i=1 ti < j=1 fj
fiktív termelő bevezetése, innen a szállítás 0 költségű
; vannak olyan fogyasztók, akik igényét nem tudjuk teljesíteni
Pm Pn
Ha kisebb a kereslet, mint a kínálat: i=1 ti > j=1 fj
fiktív fogyasztó bevezetése, ide a szállítás 0 költségű
; vannak olyan termelők, akiknél raktáron marad áru
fiktív cellák a slack változóknak felelnek meg

Tiltó tarifák: valahol nem akarjuk megengedni a szállítást


ám így lehet, már nem lesz megengedett megoldás se
Egy megoldási módszer: nagy M technika
Összetett szállítási feladat

közbülső szállítások is történnek


kínálati és keresleti ponton kívül vannak átszállítási pontok is
fogadhat és küldhet is terméket
transzfer raktáraknak felelnek meg
kiegyensúlyozott feladattá átfogalmazható:
legyen σ az összkínálat
az átszállítási pontokat a disztribúciós tábla soraiba és oszlopaiba is
vegyük fel
átszállítási pont kínálata = eredeti kínálata + σ
átszállítási pont kereslete = eredeti kereslete + σ

You might also like