You are on page 1of 28

Operációkutatás I.

10. 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 feladat
Szállítási probléma: primál és duál feladatok
Primál szállítási feladat: keressük az xij szállítási mennyiségeket, amelyekre
n X
X m
min cij xij
j=1 i=1
Xn
xij = ti , i = 1, . . . , m
j=1
Xm
xij = fj , j = 1, . . . , n
i=1
xij ≥ 0, i = 1, . . . , m, j = 1, . . . , n

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


m
X n
X
max t i ui + fj vj
i=1 j=1

ui + vj ≤ cij , i = 1, . . . , m, j = 1, . . . , n
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
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 + σ
Szállítási feladat: degenerált induló megoldás
Szállítási feladat: degenerált induló megoldás
Egész megoldás
minimális költségű hálózati folyam feladatok esetén
Teljes unimodularitás

Egészértékű jobboldal és korlátok mellett az optimális megoldás is egész


lesz: az algoritmus mindig egész számot “javít” a jelenlegi megoldáson.
Általában is, mindegyik bázismegoldása egész egy ilyen feladatnak:

Definíció. Egy mátrix teljesen unimoduláris (TU), ha bármely négyzetes


részmátrixának determinánsa -1, 0, vagy 1.

Ha A teljesen unimoduláris és b egész vektor, akkor


1
xB = A−1
B b= adj(AB ) b
detAB
is egész vektor, azaz minden bázismegoldás is egész.
Teljes unimodularitás

Lemma. Egy irányított gráf illeszkedési mátrixa teljesen unimoduláris.

Bizonyítás.
Teljes indukció a mátrix méretére.
Vegyünk egy k × k részmátrixot.
Ha van csupa nulla oszlopa, akkor a determinánsa nulla.
Ha van olyan oszlopa, amiben csak egy nemnulla elem van, akkor az
oszlop szerint kifejtve a determináns 1, -1, vagy 0 (indukciós feltevés).
Ha mindegyik oszlopában van 1 és -1, akkor a sorok összege 0, tehát a
determinánsa 0.
Teljes unimodularitás

A cirkulációs feladat esetében az együtthatómátrix egy illeszkedési mátrixból


és egy egységmátrixból áll (a felső korlátok miatt). A következő lemma
szerint ez is teljesen unimoduláris:

Lemma. Ha egy teljesen unimoduláris mátrixhoz hozzáveszünk egy


egységvektort mint sor, vagy oszlopvektor, akkor a kapott mátrix is teljesen
unimoduláris.
Bizonyítás. Szorgalmi házi feladat.
Hozzárendelési feladat
Hozzárendelési feladat
Adott n munka és n vállalkozó. Minden vállalkozó minden munkát el tud
végezni, az i munkát a j vállakozó cij költséggel vállalja el.
Kérdés: Ha minden vállalkozó pontosan egy feladatot tud elvégezni és
minden feladatot pontosan egy vállalkozónak osztunk ki, akkor hogyan
osszuk ki közöttük a munkákat, hogy a legolcsóbban elvégeztessük az
összeset?

1, ha az i munkát j vállalkozó végzi el
Döntési változók: xij =
0, különben.
A matematikai modell: n X
X n
min cij xij
i=1 j=1
n
X
xij = 1, j = 1, . . . , n
i=1
Xn
xij = 1, i = 1, . . . , n
j=1

xij ∈ {0, 1}, ∀ i, j.


Hozzárendelési feladat – LP feladat

xij ∈ {0, 1} ∀ i, j feltétel helyett xij ≥ 0 ∀ i, j

Ekkor már lineáris programozási feladattal állunk szemben, sőt: a


megengedett bázismegoldások halmaza nem változik meg, így az optimum
érték sem.
Bizonyítás: ez egy speciális szállítási feladat, és tudjuk, hogy szállítási
feladatok minden bázismegoldása egész. Továbbá a feltételekből
természetesen adódik az 1 felső korlát minden változóra, így az LP feladat
egy megengedett bázismegoldása csak 0 és 1 koordinátákat tartalmazhat.
Hozzárendelési feladat – LP feladat

xij ∈ {0, 1} ∀ i, j feltétel helyett xij ≥ 0 ∀ i, j

Ekkor már lineáris programozási feladattal állunk szemben, sőt: a


megengedett bázismegoldások halmaza nem változik meg, így az optimum
érték sem.
Bizonyítás: ez egy speciális szállítási feladat, és tudjuk, hogy szállítási
feladatok minden bázismegoldása egész. Továbbá a feltételekből
természetesen adódik az 1 felső korlát minden változóra, így az LP feladat
egy megengedett bázismegoldása csak 0 és 1 koordinátákat tartalmazhat.

DE: ezt a feladatot nem érdemes disztribúciós eljárással megoldani, mert


minden bázismegoldás nagyon degenerát. Ugyanis a feladat kritikus
száma, azaz a bázis mérete 2n − 1, míg minden megoldásban pontosan n
nem nulla koordináta van. Tehát n − 1 bázisváltozó értéke 0 kell legyen.
Hozzárendelési feladat – duál feladat
n n
Duál feladat: X X
max ui + vj
i=1 j=1

ui + vj ≤ cij , ∀ i, j.
Megfigyelés: Ha egy számot hozzáadunk a költségmátrix egy oszlopának/sorának
minden eleméhez, akkor a kapott költségmátrixhoz tartozó bármely optimális
hozzárendelés az eredeti költségmátrixra nézve is optimális lesz.
A C költségmátrix redukciója:
minden sorban a legkisebb elemet kivonjuk a többiből majd
minden oszlopban a legkisebb elemet kivonjuk a többiből.
Így minden sorban és oszlopban lesz legalább egy nulla elem.

A redukált költségmátrix minden eleme nemnegatív, így a duál feladat egy


megengedett megoldása:
ui = min cij , i = 1, . . . , n
j

vj = min(cij − ui ), j = 1, . . . , n.
i
Hozzárendelési feladat – optimális megoldás

Komplementaritási tétel miatt: x primál megengedett megoldás


optimális ⇔ xij > 0 esetén cij − ui − vj = 0.

Azaz ha xij = 1, akkor cij − ui − vj = 0 kellene.

Ezért a redukált költségmátrixból próbálunk meg 0-kat kiválasztani úgy,


hogy minden sorból és oszlopból pontosan egyet válasszunk ki.
; 0-k teljes független rendszere
Kőnig tétel

Páros gráf: csúcspontjai két halmazra oszthatóak úgy, hogy élek csak a két halmaz
között vezetnek.
Független élrendszer (párosítás): két különböző élnek nincs közös végpontja.
Teljes párosítás: a párosítás a gráf minden csúcspontját lefedi.
; Hozzárendelési feladat ≡ min élsúlyú teljes párosítás keresése.

Lefogó pontrendszer: a gráf bármely élének legalább az egyik végpontja benne van.

Ezek duális fogalmak, ennek megfelelően könnyen belátható:

Lemma. Ha F független élrendszer és L lefogó pontrendszer, akkor |F| ≤ |L|.

Kőnig tétel. Páros gráfban ha F ∗ maximális elemszámú független élhalmaz és L∗


minimális elemszámú lefogó ponthalmaz, akkor |F ∗ | = |L∗ |
Magyar módszer

alapjait Kőnig Dénes és Egerváry Jenő tették le


Harold Kuhn amerikai matematikus fejlesztette ki 1955-ben, és
nevezte el Magyar módszernek az elődök tiszteletére
páros gráfban maximális párosítást határoz meg polinom időben
(alternáló utas módszer)
Alternáló utas módszer

Alternáló út: felváltva tartalmaz párosításbeli és párosításon kívüli éleket.


Javító út: olyan alternáló út, mely két párosítatlan pontot köt össze.
(; eggyel több párosításon kívüli élet tartalmaz, mint párosításbelit)

Alternáló utas módszer:


1 Keressünk egy nem bővíthető párosítást. (maximal)
2 Keressünk javító utat.
Ha nincs, STOP: maximális párosítás (maximum)
3 Javító út alapján javítunk:
párosításbeli ↔ párosításon kívüli élek

Kőnig tétel. Páros gráfban ha F ∗ maximális elemszámú független élhalmaz


és L∗ minimális elemszámú lefogó ponthalmaz, akkor |F ∗ | = |L∗ |

Bizonyítás. Megmutatjuk, hogy ha nem létezik két párosítatlan pontot


összekötő alternáló út, akkor a párosítás maximális.
Kőnig tétel bizonyítás

T = nem párosított A-beli pontok


S = nem párosított B-beli pontok
X = azon B-beli pontok, amik alternáló úton elérhetőek T -ből
Y = azon A-beli pontok, amik alternáló úton nem elérhetőek T -ből
X
e = X -beliek párjai a párosítás szerint
Y
e = Y -beliek párjai a párosítás szerint

Állítás. X ∪ Y lefogó pontrendszer.


Biz:

∄ T S él (kül. lenne javító út)
=⇒ T -ből csak X -be vezet él.
∄T Ye él (kül. Y elérhető lenne)
∄X
eY e S él (kül. T → X alt. út meghosszabbítható lenne)
e és X
=⇒ Xe -ból csak X -be vezet él. •
Hozzárendelési feladat – Magyar módszer

0-k teljes független rendszerét keressük a redukált költségmátrixban


Kőnig tétel ;
független 0-k max száma = 0-kat lefogó fedővonalak min száma
(vízszintes és függőleges vonalak, melyek minden 0-t lefednek)
Ha a 0-k maximális száma < n, akkor a Magyar módszer megadja a
min. fedővonal rendszert, melynek elemszáma < n
Duál megoldás javítása:
δ := legkisebb fedetlen elem
fedetlen sorok minden eleméből kivonjuk δ-t (ui := ui + δ)
fedett oszlopok minden eleméhez hozzáadjuk δ-t (vj := vj − δ)
Azaz: minden fedetlen elemből kivonjuk δ-t és
minden kétszer fedett elemhez adjunk hozzá δ-t
Hozzárendelési feladat – módszer végessége

Állítás. Az eljárás véges sok lépésben véget ér.

Bizonyítás. Legyen ks a lefedett sorok, míg ko a fedett oszlopok száma.


Ekkor a duál célfüggvény megváltozása:

(n − ks )δ − ko δ = (n − ks − ko )δ > 0.

Mivel ks + ko < n és δ > 0 egész számok, így a megváltozás legalább egy.


Tehát minden transzformáció során a duál célfüggvény legalább eggyel nő,
de létezik primál megengedett megoldás, így a duál feladat célfüggvénye
felülről korlátos.
Hozzárendelési feladat – megjegyzések

Még néhány megjegyzés:


Nem igaz, hogy a 0-k száma monoton nő!
Ha nem költség-, hanem nyereségmátrix adott, akkor
C̃ := M − C , ahol M egy elég nagy szám (pl. M = max cij ).
i,j

Ha a munkák és vállalkozók száma nem egyezik meg, akkor


fiktív résztvevők bevezetése 0 költséggel.
Itt is van értelme a tiltó tarifáknak – pl. kötelezően elvégzendő feladat
(nagy M módszer)

You might also like