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

Gazdaságmatematika 5. szeminárium. Hozzárendelési feladatok.

Hasonló előadás


Az előadások a következő témára: "Gazdaságmatematika 5. szeminárium. Hozzárendelési feladatok."— Előadás másolata:

1 Gazdaságmatematika 5. szeminárium

2 Hozzárendelési feladatok

3 A hozzárendelési feladat A hozzárendelési feladat egy olyan kiegyensúlyozott szállítási feladat, ahol minden kereslet és kínálat egységnyi. Minden oszlophoz pontosan egy sort rendelünk hozzá. Következmény: minden változó értéke csak 0 vagy 1 lehet, ahol ◦ A 0 jelentése: nemleges hozzárendelés ◦ Az 1 jelentése: hozzárendelés

4 Feladat – Winston 6.5 Egy vállalatnak négy gépe van, és négy olyan munka, amelyeket ezeken a gépeken kell elvégezni. Minden egyes gépre egy munkát kell kijelölni, amelyet a gép teljesen elvégez. A következő táblázat mutatja, hogy az egyes gépeknek az egyes munkákra való beállítása mennyi időt igényel. A vállalat minimalizálni szeretné a négy munka elvégzéséhez szükséges összes beállítási időt.

5 Feladat – Winston 6.5 Idő (órában) 1. munka2. munka3. munka4. munka 1. gép gép gép gép24610

6 Feladat – Winston 6.5 Idő (órában) 1. munka2. munka3. munka4. munka 1. gép gép gép gép24610 költségmátrix

7 A hozzárendelési feladat felírása Célfüggvény: min ∑∑ c ij x ij Korlátozó feltételek: ∑x ij = 1 (gép feltételek) ∑x ij = 1 (munka feltételek) x ij = 0 vagy x ij = 1

8 A hozzárendelési feladat felírása Célfüggvény: min ∑∑ c ij x ij Korlátozó feltételek: ∑x ij = 1 (gép feltételek) ∑x ij = 1 (munka feltételek) x ij = 0 vagy x ij = 1

9 Feladat – Winston 6.5 Idő (órában) 1. munka2. munka3. munka4. munka 1. gép gép gép gép24610

10 A hozzárendelési feladat felírása Célfüggvény: min 14x x x x x x x x x x x x x x x x 34

11 A hozzárendelési feladat felírása Célfüggvény: min ∑∑ c ij x ij Korlátozó feltételek: ∑x ij = 1 (gép feltételek) ∑x ij = 1 (munka feltételek) x ij = 0 vagy x ij = 1

12 A hozzárendelési feladat felírása Gép feltételek: x 11 + x 12 + x 13 + x 14 = 1 x 21 + x 22 + x 23 + x 24 = 1 x 31 + x 32 + x 33 + x 34 = 1 x 41 + x 42 + x 43 + x 44 = 1

13 A hozzárendelési feladat felírása Célfüggvény: min ∑∑ c ij x ij Korlátozó feltételek: ∑x ij = 1 (gép feltételek) ∑x ij = 1 (munka feltételek) x ij = 0 vagy x ij = 1

14 A hozzárendelési feladat felírása Munka feltételek: x 11 + x 21 + x 31 + x 41 = 1 x 12 + x 22 + x 32 + x 42 = 1 x 13 + x 23 + x 33 + x 43 = 1 x 14 + x 24 + x 34 + x 44 = 1

15 A hozzárendelési feladat felírása Célfüggvény: min ∑∑ c ij x ij Korlátozó feltételek: ∑x ij = 1 (gép feltételek) ∑x ij = 1 (munka feltételek) x ij = 0 vagy x ij = 1

16 A hozzárendelési feladat felírása min 14x x x x x x x x x x x x x x x x 34 x 11 + x 12 + x 13 + x 14 = 1 x 21 + x 22 + x 23 + x 24 = 1 x 31 + x 32 + x 33 + x 34 = 1 x 41 + x 42 + x 43 + x 44 = 1 x 11 + x 21 + x 31 + x 41 = 1 x 12 + x 22 + x 32 + x 42 = 1 x 13 + x 23 + x 33 + x 43 = 1 x 14 + x 24 + x 34 + x 44 = 1 x ij = 0 vagy x ij = 1 Gép feltételek Munka feltételek

17 A magyar módszer Keressük meg az mxm-es költségmátrix minden sorában a legkisebb elemet. Képezzünk egy új mátrixot úgy, hogy a sor minden költségeleméből kivonjuk a legkisebb költségelemet. Ebben az új mátrixban keressük meg minden oszlopban a legkisebb költség elemet. Képezzünk egy új mátrixot (ezt redukált költségmátrixnak nevezzük) úgy, hogy az oszlop minden költségeleméből kivonjuk a legkisebb költségelemet.

18 A magyar módszer Rajzoljuk be a lehető legkevesebb olyan vonalat (vízszintes és/vagy függőleges), amelyek segítségével a redukált költségmátrixban található összes nulla lefedhető. Ha ehhez m fedővonal szükséges, akkor a mátrixban lévő lefedett nullák között rendelkezésünkre áll az optimális megoldás. Ha m-nél kevesebb vonallal fedtük le az összes nullát, akkor a következő lépéssel folytatjuk.

19 A magyar módszer Keressük meg a redukált költségmátrixban azt a legkisebb nemnulla elemet (nevezzük k- nak), amelyiket az előző lépésben nem fedtünk le. Most vonjuk ki k-t a redukált költségmátrix minden nem lefedett eleméből, valamint adjunk hozzá k-t a kétszer lefedett elemekhez. Térjünk vissza az előző lépéshez.

20 Feladat – Winston 6.5 Idő (órában) 1. munka2. munka3. munka4. munka 1. gép gép gép gép24610

21 Feladat – Winston

22 A magyar módszer Keressük meg az mxm-es költségmátrix minden sorában a legkisebb elemet. Képezzünk egy új mátrixot úgy, hogy a sor minden költségeleméből kivonjuk a legkisebb költségelemet. Ebben az új mátrixban keressük meg minden oszlopban a legkisebb költség elemet. Képezzünk egy új mátrixot (ezt redukált költségmátrixnak nevezzük) úgy, hogy az oszlop minden költségeleméből kivonjuk a legkisebb költségelemet.

23 Feladat – Winston 6.5 Sorminimum

24 A magyar módszer Keressük meg az mxm-es költségmátrix minden sorában a legkisebb elemet. Képezzünk egy új mátrixot úgy, hogy a sor minden költségeleméből kivonjuk a legkisebb költségelemet. Ebben az új mátrixban keressük meg minden oszlopban a legkisebb költség elemet. Képezzünk egy új mátrixot (ezt redukált költségmátrixnak nevezzük) úgy, hogy az oszlop minden költségeleméből kivonjuk a legkisebb költségelemet.

25 Feladat – Winston 6.5 Sorminimum

26 A magyar módszer Keressük meg az mxm-es költségmátrix minden sorában a legkisebb elemet. Képezzünk egy új mátrixot úgy, hogy a sor minden költségeleméből kivonjuk a legkisebb költségelemet. Ebben az új mátrixban keressük meg minden oszlopban a legkisebb költség elemet. Képezzünk egy új mátrixot (ezt redukált költségmátrixnak nevezzük) úgy, hogy az oszlop minden költségeleméből kivonjuk a legkisebb költségelemet.

27 Feladat – Winston Oszlop- minimum 0002

28 A magyar módszer Keressük meg az mxm-es költségmátrix minden sorában a legkisebb elemet. Képezzünk egy új mátrixot úgy, hogy a sor minden költségeleméből kivonjuk a legkisebb költségelemet. Ebben az új mátrixban keressük meg minden oszlopban a legkisebb költség elemet. Képezzünk egy új mátrixot (ezt redukált költségmátrixnak nevezzük) úgy, hogy az oszlop minden költségeleméből kivonjuk a legkisebb költségelemet.

29 Feladat – Winston Oszlop- minimum 0002

30 A magyar módszer Rajzoljuk be a lehető legkevesebb olyan vonalat (vízszintes és/vagy függőleges), amelyek segítségével a redukált költségmátrixban található összes nulla lefedhető. Ha ehhez m fedővonal szükséges, akkor a mátrixban lévő lefedett nullák között rendelkezésünkre áll az optimális megoldás. Ha m-nél kevesebb vonallal fedtük le az összes nullát, akkor a következő lépéssel folytatjuk.

31 Feladat – Winston

32 Feladat – Winston

33 A magyar módszer Rajzoljuk be a lehető legkevesebb olyan vonalat (vízszintes és/vagy függőleges), amelyek segítségével a redukált költségmátrixban található összes nulla lefedhető. Ha ehhez m fedővonal szükséges, akkor a mátrixban lévő lefedett nullák között rendelkezésünkre áll az optimális megoldás. Ha m-nél kevesebb vonallal fedtük le az összes nullát, akkor a következő lépéssel folytatjuk.

34 A magyar módszer Keressük meg a redukált költségmátrixban azt a legkisebb nemnulla elemet (nevezzük k- nak), amelyiket az előző lépésben nem fedtünk le. Most vonjuk ki k-t a redukált költségmátrix minden nem lefedett eleméből, valamint adjunk hozzá k-t a kétszer lefedett elemekhez. Térjünk vissza az előző lépéshez.

35 Feladat – Winston

36 Feladat – Winston

37 A magyar módszer Keressük meg a redukált költségmátrixban azt a legkisebb nemnulla elemet (nevezzük k- nak), amelyiket az előző lépésben nem fedtünk le. Most vonjuk ki k-t a redukált költségmátrix minden nem lefedett eleméből, valamint adjunk hozzá k-t a kétszer lefedett elemekhez. Térjünk vissza az előző lépéshez.

38 Feladat – Winston

39 A magyar módszer Keressük meg a redukált költségmátrixban azt a legkisebb nemnulla elemet (nevezzük k- nak), amelyiket az előző lépésben nem fedtünk le. Most vonjuk ki k-t a redukált költségmátrix minden nem lefedett eleméből, valamint adjunk hozzá k-t a kétszer lefedett elemekhez. Térjünk vissza az előző lépéshez.

40 A magyar módszer Rajzoljuk be a lehető legkevesebb olyan vonalat (vízszintes és/vagy függőleges), amelyek segítségével a redukált költségmátrixban található összes nulla lefedhető. Ha ehhez m fedővonal szükséges, akkor a mátrixban lévő lefedett nullák között rendelkezésünkre áll az optimális megoldás. Ha m-nél kevesebb vonallal fedtük le az összes nullát, akkor a következő lépéssel folytatjuk.

41 Feladat – Winston

42 A magyar módszer Rajzoljuk be a lehető legkevesebb olyan vonalat (vízszintes és/vagy függőleges), amelyek segítségével a redukált költségmátrixban található összes nulla lefedhető. Ha ehhez m fedővonal szükséges, akkor a mátrixban lévő lefedett nullák között rendelkezésünkre áll az optimális megoldás. Ha m-nél kevesebb vonallal fedtük le az összes nullát, akkor a következő lépéssel folytatjuk.

43 Feladat – Winston

44 Feladat – Winston

45 Feladat – Winston 6.5 x 11 = 0 x 21 = 0 x 31 = 0 x 41 = 1 x 12 = 1 x 22 = 0 x 32 = 0 x 42 = 0 x 13 = 0 x 23 = 0 x 33 = 1 x 43 = 0 x 14 = 0 x 24 = 1 x 34 = 0 x 44 = 0

46 Speciális hozzárendelési feladatok Maximalizáló hozzárendelési feladat ◦ Minden költséget megszorzunk -1-gyel, és így végezzük el a szükséges lépéseket Tiltótarifás hozzárendelési feladat ◦ Valamely hozzárendelés tiltása esetén ◦ Megoldás: az adott költség helyére M-t (∞-t) írunk

47 Feladat – Winston 6.5 – 2. variáció Egy vállalatnak négy gépe van, és négy olyan munka, amelyeket ezeken a gépeken kell elvégezni. Minden egyes gépre egy munkát kell kijelölni, amelyet a gép teljesen elvégez. A következő táblázat mutatja, hogy az egyes gépek egy óra alatt hány terméket képesek előállítani. A vállalat maximalizálni szeretné az egy óra alatt előállítható termékek számát.

48 Feladat – Winston 6.5 – 2. variáció Termék (db-ban) 1. munka2. munka3. munka4. munka 1. gép gép gép gép24610

49 Feladat – Winston 6.5 – 2. variáció A feladat innentől hasonlóan folytatódik.

50 Feladat – Winston 6.5 – 3. variáció Egy vállalatnak négy gépe van, és négy olyan munka, amelyeket ezeken a gépeken kell elvégezni. Minden egyes gépre egy munkát kell kijelölni, amelyet a gép teljesen elvégez. A következő táblázat mutatja, hogy az egyes gépeknek az egyes munkákra való beállítása mennyi időt igényel. Tudjuk azt is, hogy a 2. gép nem állítható be a 4. munka végzésére. A vállalat minimalizálni szeretné a négy munka elvégzéséhez szükséges összes beállítási időt.

51 Feladat – Winston 6.5 – 3. variáció Idő (órában) 1. munka2. munka3. munka4. munka 1. gép gép gép gép24610

52 Feladat – Winston 6.5– 3. variáció M A feladat innentől hasonlóan folytatódik.

53 WinQSB…

54 Szállítási feladat

55

56

57

58

59

60 Hozzárendelési feladat

61 Hálózati problémák Minimális feszítő fa Legrövidebb út Maximális folyam, minimális vágás Kritikus út

62 Alapfogalmak Gráf, hálózat ◦ Élek és csúcsok (csúcspontok) halmaza Csúcs (V) ◦ Olyan halmaz, aminek az elemei a gráf vagy hálózat csúcspontjai Él (A) ◦ Egy csúcspontokból álló rendezett pár, amely megadja a két csúcspont közötti mozgás vagy áramlás lehetséges irányát

63 Alapfogalmak Lánc ◦ Élek egy olyan sorozata, amelyben az egymást követő bármely két élnek egyetlen közös csúcsa van Út ◦ Olyan lánc, amelyben (az utolsó él kivételével) mindegyik él végpontja azonos a sorozatban következő él kezdőpontjával Kezdőpont, végpont ◦ (j,k) él esetében j a kezdőpont, k a végpont

64 Alapfogalmak – egy példa Csúcsok: V= {1, 2, 3, 4} Élek: A = {(1,2), (2,3), (3,4), (4,3), (4,1)} Egy lánc: (1,2)-(2,3)-(4,3) Egy út: (1,2)-(2,3)-(3,4) 14 23

65 Minimális feszítő fa

66 A feszítőfa definíciója Egy n csúcsponttal rendelkező hálózatban a feszítőfa az éleknek egy olyan n-1 elemű halmaza, amely összeköttetést teremt bármely két csúcs között és nem tartalmaz kört. (Körnek nevezünk minden olyan utat, amelyben az út kezdőpontja megegyezik a végpontjával.)

67 Minimális feszítő fa probléma A probléma ◦ Hogyan lehet az élek minimális összhosszúságú halmazával az összes csúcsot összekötni? Feltételek ◦ A hálózat minden éle irányítatlan (csak azt jelzi, hogy van összeköttetés két csúcs között) ◦ Mindegyik élnek adott a (nemnegatív) hossza

68 Minimális feszítő fa – algoritmus Válasszuk ki a hálózat egy tetszőleges i csúcsát. Keressük meg az i-hez legközelebbi csúcsot (j). Az i és j csúcsok egy összefüggő C={i,j} halmazt alkotnak, az (i,j) él pedig a minimális feszítőfa eleme lesz. A hálózat többi csúcsainak halmazát jelöljük C’-vel.

69 Minimális feszítő fa – algoritmus Válasszuk ki a C’ egy olyan n elemét, amelyik a legközelebb van a C valamelyik m eleméhez. Ekkor az (m,n) él a minimális feszítőfa eleme lesz. Az n csúcsot áttesszük C’-ből C-be, majd visszatérünk az előző lépéshez.

70 Feladat – korábbi ZH Rajzolja be a minimális feszítő fát!

71 Minimális feszítő fa – algoritmus Válasszuk ki a hálózat egy tetszőleges i csúcsát. Keressük meg az i-hez legközelebbi csúcsot (j). Az i és j csúcsok egy összefüggő C={i,j} halmazt alkotnak, az (i,j) él pedig a minimális feszítőfa eleme lesz. A hálózat többi csúcsainak halmazát jelöljük C’-vel.

72 Feladat – korábbi ZH

73 Feladat – korábbi ZH

74 Feladat – korábbi ZH

75 Minimális feszítő fa – algoritmus Válasszuk ki a C’ egy olyan n elemét, amelyik a legközelebb van a C valamelyik m eleméhez. Ekkor az (m,n) él a minimális feszítőfa eleme lesz. Az n csúcsot áttesszük C’-ből C-be, majd visszatérünk az előző lépéshez.

76 Feladat – korábbi ZH

77 Feladat – korábbi ZH

78 Feladat – korábbi ZH

79 Feladat – korábbi ZH

80 Feladat – korábbi ZH

81 Feladat – korábbi ZH

82 Feladat – korábbi ZH

83 Feladat – korábbi ZH

84 Feladat – korábbi ZH

85 Feladat – Winston 7.6 Rajzolja be a minimális feszítő fát!

86 Feladat – Winston 7.6 Rajzolja be a minimális feszítő fát!

87 A legrövidebb út

88 A legrövidebb út probléma A probléma ◦ Hogyan lehet egy adott csúcsból egy adott csúcsba a lehető legrövidebb úton eljutni? Feltételek ◦ A hálózat minden éle lehet irányított vagy irányítatlan ◦ Mindegyik élnek adott a (nemnegatív) hossza

89 Dijkstra algoritmusa Az első csúcsot ellátjuk az állandó 0 címkével Minden olyan csúcsot amelybe az első csúcsból megy él, ideiglenesen megcímkézzük az (1,i) él hosszával, minden más csúcs a ∞ címkét kapja Kiválasztjuk a legkisebb ideiglenes címkével rendelkező csúcsot (ha több van, akkor az egyiket), és címkéjét állandónak minősítjük

90 Dijkstra algoritmusa Új ideiglenes címkét számítunk azokra a csúcsokra, amelyekbe az új állandó címkéjű csúcsból megy él. Az új ideiglenes címkét úgy állítjuk elő, hogy az új állandó címkéhez hozzáadjuk az ide vezető utat, és megvizsgáljuk, hogy ez kisebb-e a korábbi ideiglenes címkénél. Ha igen, akkor lecseréljük a korábbi ideiglenes címkét.

91 Dijkstra algoritmusa Miután minden csúcs állandó címkét kapott meghatározzuk a legrövidebb utat. Ezt visszafelé haladva tesszük úgy, hogy minden esetben megvizsgáljuk, hogy az adott él hossza megegyezik-e az állandó címkék különbségével. Ha igen, akkor az az él a legrövidebb út egyik éle.

92 Feladat – korábbi ZH Adja meg az 1-es csúcsból a többi csúcsba vezető legrövidebb utakat!

93 Dijkstra algoritmusa Az első csúcsot ellátjuk az állandó 0 címkével Minden olyan csúcsot amelybe az első csúcsból megy él, ideiglenesen megcímkézzük az (1,i) él hosszával, minden más csúcs a ∞ címkét kapja Kiválasztjuk a legkisebb ideiglenes címkével rendelkező csúcsot (ha több van, akkor az egyiket), és címkéjét állandónak minősítjük

94 Feladat – korábbi ZH

95 Dijkstra algoritmusa Az első csúcsot ellátjuk az állandó 0 címkével Minden olyan csúcsot amelybe az első csúcsból megy él, ideiglenesen megcímkézzük az (1,i) él hosszával, minden más csúcs a ∞ címkét kapja Kiválasztjuk a legkisebb ideiglenes címkével rendelkező csúcsot (ha több van, akkor az egyiket), és címkéjét állandónak minősítjük

96 Feladat – korábbi ZH ∞ ∞

97 Dijkstra algoritmusa Az első csúcsot ellátjuk az állandó 0 címkével Minden olyan csúcsot amelybe az első csúcsból megy él, ideiglenesen megcímkézzük az (1,i) él hosszával, minden más csúcs a ∞ címkét kapja Kiválasztjuk a legkisebb ideiglenes címkével rendelkező csúcsot (ha több van, akkor az egyiket), és címkéjét állandónak minősítjük

98 Feladat – korábbi ZH ∞ ∞

99 Dijkstra algoritmusa Új ideiglenes címkét számítunk azokra a csúcsokra, amelyekbe az új állandó címkéjű csúcsból megy él. Az új ideiglenes címkét úgy állítjuk elő, hogy az új állandó címkéhez hozzáadjuk az ide vezető utat, és megvizsgáljuk, hogy ez kisebb-e a korábbi ideiglenes címkénél. Ha igen, akkor lecseréljük a korábbi ideiglenes címkét.

100 Feladat – korábbi ZH

101 Feladat – korábbi ZH

102 Feladat – korábbi ZH

103 Feladat – korábbi ZH

104 Feladat – korábbi ZH

105 Feladat – korábbi ZH

106 Feladat – korábbi ZH

107 Dijkstra algoritmusa Miután minden csúcs állandó címkét kapott meghatározzuk a legrövidebb utat. Ezt visszafelé haladva tesszük úgy, hogy minden esetben megvizsgáljuk, hogy az adott él hossza megegyezik-e az állandó címkék különbségével. Ha igen, akkor az az él a legrövidebb út egyik éle.

108 Feladat – korábbi ZH Példa: a 6-os csúcsba vezető legrövidebb út

109 Feladat – korábbi ZH Példa: a 6-os csúcsba vezető legrövidebb út

110 Feladat – korábbi ZH Példa: a 6-os csúcsba vezető legrövidebb út

111 Feladat – korábbi ZH CsúcsA legrövidebb útHossza

112 Feladat – Winston 7.2 Adja meg az 1-es csúcsból a 6-os csúcsba vezető legrövidebb utat!

113 Feladat – Winston 7.2 Adja meg az 1-es csúcsból a 6-os csúcsba vezető legrövidebb utat!

114 Feladat – Winston 7.2 Adja meg az 1-es csúcsból a 6-os csúcsba vezető legrövidebb utat!


Letölteni ppt "Gazdaságmatematika 5. szeminárium. Hozzárendelési feladatok."

Hasonló előadás


Google Hirdetések