• Nem Talált Eredményt

Gazdaságmatematika 2.

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Gazdaságmatematika 2."

Copied!
18
0
0

Teljes szövegt

(1)

Gazdaságmatematika 2.

Gyakorlat – 12. hét Folyamfeladatok:

Maximális folyam, minimális vágás

Készítette: dr. Nagy Noémi

(2)

Példa

Adott az alábbi táblázattal egy hálózat. Határozza meg a forrást és a nyelőt, valamint az azokat elválasztó minimális kapacitású vágást! Adja meg a vágásbeli éleket, a vágás kapacitását,

valamint írja fel a feladat párjának (maximális folyam) optimális megoldását is!

honnan 1 3 3 3 4 4 5 5 5 5

hova 2 1 2 4 1 2 1 2 3 4

kapacitás 20 4 3 14 13 10 6 3 22 6

A feladat megoldásának első lépése, hogy a fenti táblázatot egy új táblázatba rendezzük

a következőképpen: hová

1 2 3 4 5

nnaho n

1 20 0 0 0

2 0 0 0 0

3 4 3 14 0

4 13 10 0 0 5 6 3 22 6

A nyelő az a pont lesz, ahol a „honnan” sor üres:

így a nyelő: 2

A forrás az a pont, ahol a „hová” oszlop üres:

így a forrás: 5

A többi helyre nulla kerül.

(3)

Példa

Adott az alábbi táblázattal egy hálózat. Határozza meg a forrást és a nyelőt, valamint az azokat elválasztó minimális kapacitású vágást! Adja meg a vágásbeli éleket, a vágás kapacitását,

valamint írja fel a feladat párjának (maximális folyam) optimális megoldását is!

honnan 1 3 3 3 4 4 5 5 5 5

hova 2 1 2 4 1 2 1 2 3 4

kapacitás 20 4 3 14 13 10 6 3 22 6

A feladat megoldásának első lépése, hogy a fenti táblázatot egy új táblázatba rendezzük

a következőképpen: hová

1 2 3 4 5

nnaho n

1 20 0 0 0

2 0 0 0 0

3 4 3 14 0

4 13 10 0 0 5 6 3 22 6

A táblázat másik ábrázolási módja, ha egy hálózatot rajzolunk fel:

2

1

5

3

4

20

6

4

22 3

6 10

13

14 3

nyelő

(4)

-5 -5 -5 -5 +s

1 2 3 4 5

1 20 0 0 0

2 0 0 0 0

3 4 3 14 0

4 13 10 0 0 5 6 3 22 6

Példa

hová

1 2 3 4 5

nnaho n

1 20 0 0 0

2 0 0 0 0

3 4 3 14 0

4 13 10 0 0 5 6 3 22 6

2

1

5

3

4

20

6

4

22 3

6 10

13

14 3

nyelő

1 2 3 4 5

1 20 0 0 0

2 0 0 0 0

3 4 3 14 0

4 13 10 0 0 5 6 3 22 6

A feladat megoldása során hasznunkra fog válni az úgynevezett címkézési technikát:

a forrás száma fölé „-s”-et írunk. A felírásból s jelöli, hogy az a forrás, a

„-” pedig a címke, ami mindössze azt jelenti, hogy onnan még nem vizsgáltuk meg, hová tudunk továbbmenni.

Még véletlenül se gondolja senki, hogy az előjel lenne!

Ezt követően megnézzük, innen hová tudunk továbbmenni (ahol a sorban pozitív érték van, és még nincs címkézve).

Most ez az 1, 2, 3 és 4 csúcspont, így feléjük a „-5” kerül, a „-s” „+s”-re vált.

-s

1 2 3 4 5

1 20 0 0 0

2 0 0 0 0

3 4 3 14 0

4 13 10 0 0 5 5 3 22 6

(5)

Példa

2

1

5

3

4

20

6

4

22 3

6 10

13

14 3

nyelő -5 -5 -5 -5 +s

1 2 3 4 5

1 20 0 0 0

2 0 0 0 0

3 4 3 14 0

4 13 10 0 0 5 6 3 22 6 -5 -5 -5 -5 +s

1 2 3 4 5

1 20 0 0 0

2 0 0 0 0

3 4 3 14 0

4 13 10 0 0 5 6 3 22 6

Mivel eljutottunk a nyelőhöz, ezért visszakereshetjük az útvonalat:

5 2 A sor végén a nyelő áll.

A címke alapján meghatározzuk, hogy oda melyik csúcsból jutottunk.

Ezt addig folytatjuk, míg a forráshoz (s) nem érünk.

(6)

-5 -5 -5 -5 +s

1 2 3 4 5

1 20 0 0 0

2 0 0 0 0

3 4 3 14 0

4 13 10 0 0 5 6 3 22 6

Példa

2

1

5

3

4

20

6

4

22 3

6 10

13

14 3

nyelő

5 2

A következő lépésben az oda utat karikázzuk, a vissza utat keretezzük.

Bevezetünk egy d értéket, mely a karikázottak közül a legkisebb. Így most d=3.

Ezt a karikázottakból kivonjuk, a keretezettekhez pedig hozzáadjuk.

Ezért a következő

táblázatunk: 1 2 3 4 5

1 20 0 0 0

2 0 0 0 3

3 4 3 14 0

4 13 10 0 0 5 6 0 22 6

Ez a hálózatban azt jelenti, hogy megtaláltuk az 5-2 útvonalat, melyen 3 a legkisebb kapacitás. Ennyivel csökken az útvonal minden szakaszán az érték.

(7)

Példa

2

1

5

3

4

20

6

4

22 6

10

13

14 3

nyelő

1 2 3 4 5

1 20 0 0 0

2 0 0 0 3

3 4 3 14 0

4 13 10 0 0 5 5 0 22 6

1 2 3 4 5

1 20 0 0 0

2 0 0 0 3

3 4 3 14 0

4 13 10 0 0 5 6 0 22 6

Ismét címkézünk.

-1 -5 -5 +s-s -5+5

Mivel eljutottunk a nyelőhöz, felírhatjuk, hogy milyen útvonalon történt:

2 5 1

Az odavezető utat karikázzuk, a visszafelé vezető utat keretezzük és meghatározzuk d-t, mint a karikázottak minimumát:

d=6

1 2 3 4 5

1 14 0 0 6

2 6 0 0 3

3 4 3 14 0

4 13 10 0 0 5 0 0 22 6

Felírjuk az új táblázatot (karikázottakból kivonunk d-t, keretezettekhez hozzáadunk d-t):

Ez itt:

14

(8)

-s

1 2 3 4 5

1 14 0 0 6

2 6 0 0 3

3 4 3 14 0

4 13 10 0 0 5 0 0 22 6

Példa

2

1

5

3

6 4

4

22 10

13

14 3

nyelő

1 2 3 4 5

1 14 0 0 6

2 6 0 0 3

3 4 3 14 0

4 13 10 0 0 5 0 0 22 6

14

Addig folytatjuk az algoritmust, amíg találunk utat a forrás és nyelő között.

+5

-3 -3 -5 -5 +s

Van út, mely a következő:

5 3 2

d=3

19

(9)

1 2 3 4 5

1 14 0 0 5

2 6 0 0 3

3 4 3 14 0

4 13 10 0 0 5 0 0 22 6

+5 +s

19

Példa

2

1

5

3

6 4

4

10

13

14

nyelő

14

-3 -3 -5

Van út, mely a következő:

5 3 2

d=3

1 2 3 4 5

1 14 0 0 6

2 6 3 0 3

3 4 0 14 3

4 13 10 0 0 5 0 0 19 6

+s-s -5 -5 -3 -1+3 +5

Van út:

1 2 5 3

d=4 10

15

(10)

Példa

15

1 2 3 4 5

1 14 0 0 6

2 6 3 0 3

3 4 0 14 3

4 13 10 0 0 5 0 0 19 6

+5 1 2 3 4 5 +3

1 14 0 0 5

2 5 0 0 3

3 4 3 14 0

4 13 10 0 0 5 0 0 22 6

+5 +s

2

1

5

3

6 4

10

13

14

nyelő -3 -3 -5

Van út, mely a következő:

5 3 2

d=3

-5 +s -1

Van út:

1 2 5 3

d=4 10

1 2 3 4 5

1 10 4 0 6

2 10 3 0 3

3 0 0 14 7

4 13 10 0 0 5 0 0 15 6

-5 -5 -s+s +5 +5 -4 -4

Van út: 5 4 2

d=6

4

(11)

+5 +s +5

4

Példa

15

2

1

5

3

4

13

14

nyelő

10

1 2 3 4 5

1 10 4 0 6

2 10 3 0 3

3 0 0 14 7

4 13 10 0 0 5 0 0 15 6

-4 -4

Van út: 5 4 2

d=6

1 2 3 4 5

1 10 4 0 6

2 10 3 6 3

3 0 0 14 7

4 13 4 0 6

5 0 0 15 0 +3 -5 +s-s +5 -3 -4 -4

Van út:

5 3 4 2

d=4

10 11

Van út:

5 3 4 2 d=4

(12)

+5 +s

10 11

Példa

2

1

5

3

4 nyelő 13

1 2

5 3 4

1 10

1 2 3 4 5

1 10 4 0 6

2 10 3 6 3

3 0 0 14 7

4 13 4 0 6

5 0 0 15 0 +3 -4 -4

1 2 3 4 5

1 10 4 0 6

2 10 3 10 3 3 0 0 10 11

4 13 0 4 6

5 0 0 11 0 -1 +5-5 -3 +s-s

+4 +3

-4

Van út:

d=10

3

Van út:

5 3 4 2 d=4

(13)

+s +3 +5

Példa

2

1

5

3

4 nyelő

1 2

5 3 4

1

1 2 3 4 5

1 10 4 0 6

2 10 3 6 3

3 0 0 14 7

4 13 4 0 6

5 0 0 15 0 +3 -4 -4

Van út:

5 3 4 2 d=4

1 2 3 4 5

1 10 4 0 6

2 10 3 10 3 3 0 0 10 11

4 13 0 4 6

5 0 0 11 0 -1 +5 +s +4

Van út:

d=10

3

1 2 3 4 5

1 0 4 10 6 2 20 3 10 3

3 0 0 0 21

4 3 0 14 6

5 0 0 1 0

-5 +s-s

+5 Nincs út, ami azt jelenti, hogy ez az utolsó táblánk.

Elkészítjük az S és T halmazokat:

S-ben azok a csomópontok lesznek, melyek kaptak címkét: S={3,5}

T-ben amelyek nem: T={1,2,4}

T S

(14)

Példa

Utolsó tábla:

Első tábla

A feladat kérdéseinek megválaszolásához szükségünk lesz az eredeti táblázatra és az ebből felírt első táblára, valamint a lépések során meghatározott d értékekre és az utolsó táblára.

Ezeket gyűjtjük össze elsőként:

+5 +s

1 2 3 4 5

1 0 4 10 6 2 20 3 10 3

3 0 0 0 21

4 3 0 14 6

5 0 0 1 0

honnan 1 3 3 3 4 4 5 5 5 5

hova 2 1 2 4 1 2 1 2 3 4

kapacitás 20 4 3 14 13 10 6 3 22 6

-5 -5 -5 -5 +s

1 2 3 4 5

1 20 0 0 0

2 0 0 0 0

3 4 3 14 0

4 13 10 0 0 5 6 3 22 6

d=3, d=6, d=3, d=4, d=6, d=4, d=10

A vágásbeli élek meghatározásához az S és T halmazokra lesz szükségünk:

S={3,5} – utolsó táblában címkézett

T={1,2,4} – utolsó táblában nem címkézett A táblázatban meg kell keresnünk, mely élek indulnak S-ből és mutatnak T-be, és mennyi ezek kapacitása:

3→1 (4), 3 →2 (3), 3→4 (14), 5 →1 (6), 5 →2 (3), 5 →4 (6)

Ezek tehát a vágásbeli élek.

A vágás kapacitása a vágásbeli élek

kapacitásainak összege:

4+3+14+6+3+6=36.

(15)

Példa

Utolsó tábla:

Első tábla

A feladat kérdéseinek megválaszolásához szükségünk lesz az eredeti táblázatra és az ebből felírt első táblára, valamint a lépések során meghatározott d értékekre és az utolsó táblára.

Ezeket gyűjtjük össze elsőként:

+5 +s

1 2 3 4 5

1 0 4 10 6 2 20 3 10 3

3 0 0 0 21

4 3 0 14 6

5 0 0 1 0

honnan 1 3 3 3 4 4 5 5 5 5

hova 2 1 2 4 1 2 1 2 3 4

kapacitás 20 4 3 14 13 10 6 3 22 6

-5 -5 -5 -5 +s

1 2 3 4 5

1 20 0 0 0

2 0 0 0 0

3 4 3 14 0

4 13 10 0 0 5 6 3 22 6

d=3, d=6, d=3, d=4, d=6, d=4, d=10

A feladat duálisa, azaz a maximális folyam kiszámítása úgy történik, hogy az első táblából kivonjuk az utolsót:

1 2 3 4 5

1 20-0 0-4 0-10 0-6 2 0-20 0-3 0-10 0-3 3 4-0 3-0 14-0 0-21 4 13-3 10-0 0-14 0-6 5 6-0 3-0 22-1 6-0

1 2 3 4 5 1 20 -4 -10 -6 2 -20 -3 -10 -3 3 4 3 14 -21 4 10 10 -14 -6 5 6 3 21 6

(16)

Példa

Utolsó tábla:

Első tábla

A feladat kérdéseinek megválaszolásához szükségünk lesz az eredeti táblázatra és az ebből felírt első táblára, valamint a lépések során meghatározott d értékekre és az utolsó táblára.

Ezeket gyűjtjük össze elsőként:

+5 +s

1 2 3 4 5

1 0 4 10 6 2 20 3 10 3

3 0 0 0 21

4 3 0 14 6

5 0 0 1 0

honnan 1 3 3 3 4 4 5 5 5 5

hova 2 1 2 4 1 2 1 2 3 4

kapacitás 20 4 3 14 13 10 6 3 22 6

-5 -5 -5 -5 +s

1 2 3 4 5

1 20 0 0 0

2 0 0 0 0

3 4 3 14 0

4 13 10 0 0 5 6 3 22 6

d=3, d=6, d=3, d=4, d=6, d=4, d=10

A feladat duálisa, azaz a maximális folyam kiszámítása úgy történik, hogy az első táblából kivonjuk az utolsót:

A táblázatban a pozitív értékek azt jelentik, hogy például az első és második csúcs

között a kapacitásból felhasznált érték 20.

A táblázat antiszimmetrikus, a negatív értékek jelentése, hogy „visszafelé”

mekkora a folyam kapacitása.

1 2 3 4 5 1 20 -4 -10 -6 2 -20 -3 -10 -3 3 4 3 14 -21 4 10 10 -14 -6 5 6 3 21 6

(17)

Példa

Utolsó tábla:

Első tábla

A feladat kérdéseinek megválaszolásához szükségünk lesz az eredeti táblázatra és az ebből felírt első táblára, valamint a lépések során meghatározott d értékekre és az utolsó táblára.

Ezeket gyűjtjük össze elsőként:

+5 +s

1 2 3 4 5

1 0 4 10 6 2 20 3 10 3

3 0 0 0 21

4 3 0 14 6

5 0 0 1 0

honnan 1 3 3 3 4 4 5 5 5 5

hova 2 1 2 4 1 2 1 2 3 4

kapacitás 20 4 3 14 13 10 6 3 22 6

-5 -5 -5 -5 +s

1 2 3 4 5

1 20 0 0 0

2 0 0 0 0

3 4 3 14 0

4 13 10 0 0 5 6 3 22 6

d=3, d=6, d=3, d=4, d=6, d=4, d=10

A feladat duálisa, azaz a maximális folyam kiszámítása úgy történik, hogy az első táblából kivonjuk az utolsót:

1 2 3 4 5 1 20 -4 -10 -6 0 2 -20 -3 -10 -3 -36 3 4 3 14 -21 0 4 10 10 -14 -6 0 5 6 3 21 6 36

0 36 0 0 -36

Ha a sorokban és oszlopokban összegezzük az értékeket, megkapjuk, hogy az adott csúcson mekkora mennyiség megy tovább.

Itt is megkapjuk a 36 értéket, mint a

minimális vágás esetén. (Ez a d-k összege is)

(18)

Megjegyzés

Természetesen a feladat megoldásához a táblázatok számítása elegendő, azokat hálózatként ábrázolni nem szükséges. Az mindössze arra szolgált, hogy jobban el tudjuk képzelni, hogy miről szól a feladat. Nagyobb hálózat egyébként sem lenne átlátható. 

A feladat megoldása során a végrehajtandó teendők a következők:

1. az induló tábla felírása 2. címkézés

3. a forrástól a nyelőhöz vezető út meghatározása 4. d értékének meghatározása

5. új tábla kiszámítása

6. 2-5. ismétlése, amíg találunk utat a forrás és a nyelő között

7. amikor már nem találunk utat, S és T felírása (címkézett és címkézetlen)

8. az eredeti táblázatból megkeresni, hogy mely élek vezetnek közvetlenül S és T között. Ezek lesznek a vágásbeli élek.

9. A vágás kapacitásának kiszámítása: vágásbeli élek kapacitásainak összege.

10. A maximális folyam felírása: az első és utolsó tábla különbségének meghatározása

11. A maximális folyam értékének meghatározása: a „különbség tábla” sorainak és oszlopainak összegeit kiszámolni.

Ugyanezt az értéket kell adnia a számolás során kapott d-k összegének is.

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Az eg´ esz´ ert´ ek˝ u programoz´ as f˝ o neh´ ezs´ ege abban rejlik, hogy a lehets´ eges megold´ asokb´ ol ´ all´ o poli´ edernek esetleg nem eg´ esz koordin´ at´ aj´

Mikor kezdjem sminkelni magam, kérdezte Anasztaszija azon az estén, amikor Oleg bezárta az ajtókat, és mint már oly sokszor közölte vele, hogy ma végez vele.. Kérem,

Kurtán fölnevetett, de azonnal szúrás nyilallt a mellkasába, és görcsbe rándult valami benne. Szóval már itt tartunk, gondolta. Kevéssel a vég előtt elkezdtem még a

A nagykorúságot azonban például az új kihalási rend szerint százezer újszülött fiú közül valószínűleg 72.938 érné el, holott tíz évvel ezelőtt még csak 62.141

De a nagymamámban volt valami vad, vagy maradéka valami vadságnak, ami napra nap ide vezette őt a temetőbe, bennem pedig meg sem fordult, hogy akár csak egyszer ne tartsak

Nehéz volt ezt maguknak is megmagyarázni, a gépezet működése sajátlagosan olyan, és itt külön ki kellene emelni a börtönök belső szabályzatát, amely

Hangja miatt a nők tudták: ő a legszebb férfi, annak ellenére, hogy nem tudott igazán csókolni; a férfiak pedig tisztában voltak vele, hogy ő a legokosabb azok kö- zül,

Hiába mondta a Feri, aki még be is öltözött otthon a kedvemért nindzsának, plusz meg is mutatta azt a szuperül titkos nun- dzsakuzást, amit egyedül a