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

Magyar módszer Táblázatra és gráfra Papp Róbert, Blaskovics Viktor, Hantos Norbert.

Hasonló előadás


Az előadások a következő témára: "Magyar módszer Táblázatra és gráfra Papp Róbert, Blaskovics Viktor, Hantos Norbert."— Előadás másolata:

1 Magyar módszer Táblázatra és gráfra Papp Róbert, Blaskovics Viktor, Hantos Norbert

2 A probléma Egy gyakorlati probléma: adott N darab gép, és N munkás. Minden munkás tudja kezelni az összes gépet, de más-más költséggel. Melyik munkás melyik géphez kerüljön, hogy az összköltség minimális legyen? Munkások Gépek Munkadíjak

3 A probléma definiálása Gráf - minimális súlyú párosítás Adott G = (V,E,s) egyszerű (irányítatlan) teljes páros (|V|/2-reguláris) élsúlyozott gráf, ahol  s: E->R függvény, az éleket súlyozza.  V = A U F alsó és felső pontok (diszjunkt) halmaza.  |A| = |F| = N Keressünk a gráfban minimális összsúlyú teljes párosítást! Mátrix - hozzárendelési feladat Adott egy N*N-es (négyzetes) valós számokból álló mátrix. Jelöljünk ki a mátrixban N darab számot úgy, hogy minden sorban és oszlopban pontosan egy ilyen kijelölt szám legyen, és a számok összértéke minimális legyen!

4 Ekvivalencia A mátrixot tekinthetjük a gráf szomszédsági mátrixának: a mátrix egy a ij eleme a gráf i. A-beli és j. F-beli pontok által meghatározott él súlya. A két probléma ekkor ekvivalens: a mátrix egy kijelölt (független) számhalmaza által reprezentált élek a gráfban párosítást alkotnak, és viszont

5 A Magyar módszer  Kombinatorikai optimalizálási eljárás  Kőnig Dénes és Egerváry Jenő nyomán Harold Kuhn, 1955  Módosítva: James Munkres, 1957 A program párhuzamosan mutatja a a magyar módszer lépéseit mind a mátrixos, mind a gráfos értelmezésében. Az egyszerűség kedvéért feltételezhetjük, hogy csak egész számokon dolgozunk.

6 Inicializálás Gráf Minden A-beli pontból kiinduló élek súlyát csökkentjük az A- szerinti élsúlyminimummal, majd minden F-beli pontból kiinduló élek súlyát csökkentjük az F-szerinti élsúlyminimummal. Csak a nulla súlyú éleken fogunk dolgozni. Mátrix Minden sorból kivonjuk a sorminimumokat, majd minden oszlopból kivonjuk az oszlopminimumokat.

7 Inicializálás

8 Nulladik iteráció Gráf Az A-beli csúcsokon sorban végighaladva mohón keresünk egy 0 súlyú párosítást. (barna élek) Mátrix Oszlopfolytonosan kijelölünk egy független 0-kból álló rendszert. (0*) Megjegyzés: mindegy, hogy milyen módszerrel történik a kezdeti párosítás, illetve a 0 független rendszer kiválasztása, akár az is lehet, hogy nem jelölünk ki semmit. Ebben az esetben természetesen az eljárás több iterációt igényel.

9 Nulladik iteráció

10 1. lépés Gráf Ha az aktuális párosításunk maximális (N elemű), kész vagyunk. A párosításunk az eredeti gráfban minimális összsúlyú párosítás. Különben 2. lépés. Mátrix Ha az aktuális 0* független rendszerünk maximális (N elemű), kész vagyunk. A 0*-gal jelölt helyek az eredeti mátrixban az optimális hozzárendelést adják meg. Különben 2. lépés.

11 1. lépés

12 2. lépés Gráf Lekötjük a párosított F-beli pontokat (kék F-beli pontok), és sorba véve a szabad A-beli pontokat, megkeressük az első olyan élt, amelyik szabad F-beli ponthoz tartozik. Ha nincs, 5. lépés. Ha van, megszínezzük (szaggatott piros él), és megnézzük, van-e az A-beli pontjához már párosítás. Ha nincs, 4. lépés. Különben 3. lépés. Mátrix Lekötjük a 0*-ok oszlopait (kék oszlopok), és sorfolytonosan keresünk egy szabad 0-t. Ha nincs, 5. lépés. Ha van, megvesszőzzük (0’), és megnézzük, van-e a sorában 0*. Ha nincs, 4. lépés. Különben 3. lépés.

13 2. lépés

14 3. lépés Gráf A talált megszínezett él A-beli pontját lekötjük (zöld A-beli pont), az ezen A-beli ponthoz tartozó párosítás F-beli pontját felszabadítjuk. 2. lépés. Mátrix A talált 0’ sorát lekötjük (zöld sor), a sorában található 0* oszlopát felszabadítjuk. 2. lépés.

15 3. lépés

16 4. lépés Gráf A talált színezett élből kiindulva láncot képzünk: színezett él esetén F felé, párosított él esetén A felé haladunk. A lánc mentén a színezést és a párosítást kicseréljük. A párosítások kivételével minden jelölést törlünk, új iterációba kezdünk. 1. lépés. Mátrix A talált 0’-ből kiindulva láncot képzünk: 0’ esetén oszlop szerint 0*-ra, 0* esetén sor szerint 0’-re lépünk. A lánc mentén 0’ és 0* jelöléseket kicseréljük. A 0*-ok kivételével minden jelölést törlünk, új iterációba kezdünk. 1. lépés.

17 4. lépés

18 5. lépés Gráf T := a teljes gráfban a szabad élek súlyainak minimuma. A teljes gráfban minden szabad él súlyát csökkentjük T-vel, és minden duplán (A és F szerint) kötött él súlyát növeljük T-vel. 2. lépés. Megjegyzés: ezután ismét csak a 0 súlyú éleket vesszük figyelembe. Mátrix T := a szabad elemek minimuma. A mátrixban minden szabad elemet csökkentünk T-vel, és minden duplán (sor és oszlop szerint) kötött elemet növelünk T-vel. 2. lépés.

19 5. lépés

20 Optimális hatásfokú foglalkoztatás Kőnig tételének egy fontos általánosítása  G: (A U F) élsúlyozott teljes páros gráf, c ij élsúlyokkal  A = a 1,…, a n  F = f 1,…, f 1  P = {i,P(i)} független élrendszer: i és P(i) permutáltja közötti élek halmaza, i = 1,…,n  c(P) a P független élrendszer értéke (élsúlyainak összege)

21 Optimális hatásfokú foglalkoztatás Csúcsokhoz f az éleket fedő súlyrendszer: f(a i ) = s ai ≥ 0, az a i él súlya f(b j ) = s bj ≥ 0, a b j él súlya s ai + s bj ≥ c ij s ai + s bj ≥ c ij esetén az {a i, b j } élt fedettnek nevezzük. s ai + s bj = c ij esetén az {a i, b j } élt pontosan fedettnek nevezzük. s ai + s bj > c ij esetén az {a i, b j } élt túlfedettnek nevezzük. f súlyösszege: s(f) = s ai összege = s bj összege

22 Optimális hatásfokú foglalkoztatás Világos, hogy : max P c(P) ≤ min f s(f) Kőnig tétele: max P c(P) = min f s(f) A bizonyítás a Magyar módszer helyességéből adódik.


Letölteni ppt "Magyar módszer Táblázatra és gráfra Papp Róbert, Blaskovics Viktor, Hantos Norbert."

Hasonló előadás


Google Hirdetések