Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Maďarská metoda Kirill Šustov Michal Bednář Stanislav Běloch

Podobné prezentace


Prezentace na téma: "Maďarská metoda Kirill Šustov Michal Bednář Stanislav Běloch"— Transkript prezentace:

1 Maďarská metoda Kirill Šustov Michal Bednář Stanislav Běloch
Hana Teubelová Stanislav Běloch

2 Maďarská metoda, neboli Kuhnův algoritmus, se používá při řešení přiřazovacího problému.
Tato metoda není příliš citlivá na degeneraci a byla odvozena na základě teorie grafů.

3 Úlohu lze matematicky formulovat takto:
Nalézt minimum funkce: za podmínek: xij = 1        pro j = 1,2,...,n                                     xij = 1         pro i = 1,2,...,n                        xij = 1 nebo xij = 0      pro i,j = 1,2,...,n

4 Základní pojmy: Nulový prvek nezávislé matice nazveme nezávislou nulou, je-li tento nulový prvek jediný ve svém řádku i sloupci. Soustava krycích čar je soustava vodorovných a svislých přímek, kterými je možno "pokrýt" všechny nulové prvky čtvercové matice Redukce čtvercové matice spočívá v přičtení libovolných čísel k prvkům jednotlivých řádků a v přičtení libovolných čísel k prvkům jednotlivých sloupců.

5 Maďarská metoda je založena na této myšlence:
místo původní úlohy řešit úlohu s maticí sazeb redukovanou tak, aby všechny sazby zůstaly nezáporné a aby v každém řádku a v každém sloupci byla alespoň jedna sazba nulová. Existuje-li řešení, ve kterém kladným složkám odpovídají nulové sazby, je toto řešení optimální. Neexistuje-li takové řešení, provede se další redukce matice sazeb, atd. Po konečném počtu kroků se dospěje k optimálnímu řešení

6 Příklad min f = Sxij.cij

7 Počáteční redukci matice sazeb provedeme tak, že v každém sloupci(řádku) vyhledáme nejmenší prvek a odečteme ho od všech prvků téhož řádku(sloupce).

8 V matici vyhledáme řadu, tj. řádek nebo sloupec ( resp
V matici vyhledáme řadu, tj. řádek nebo sloupec ( resp. jednu z řad ), s nejmenším počtem nul a jednu z nul této řady dáme do rámečku. Ostatní nuly nacházející se v tomtéž řádku (sloupci) jako nula v rámečku ( nezávislá nula ) přeškrtneme. Ze zbývajících řad opět vybereme řadu obsahující nejmenší počet nul a celý postup opakujeme. Takto postupujeme, dokud je možné dávat nuly do rámečku ( vybírat nezávislé nuly ).

9 Vztah mezi počtem nezávislých nul a počtem krycích čar udává
tzv. Königova věta: Minimální počet krycích čar, jimiž je možno pokrýt všechny nulové prvky, je roven maximálnímu počtu nezávislých nul, které je možno v dané matici vybrat.

10 Soustavu minimálního počtu krycích čar, jimiž lze pokrýt všechny nulové prvky, sestavíme tímto způsobem: Označíme si řádek(sloupec) ve kterém je nezávislá nula a také alespoň jedna škrtnutá nula. Pokud v tabulce zbyly pouze nezávislé nuly, pak můžeme označit řádek, ale i sloupec.

11 Pokud je minimální počet krycích čar menší než n ( nelze vybrat n nezávislých nul ), provedeme další redukci matice sazeb tímto způsobem: Zjistíme nejnižší sazbu mezi prvky, které nejsou pokryty a odečteme ji od všech těchto nepokrytých prvků. Tuto sazbu přičteme k prvkům. Které jsou pokryty dvakrát. Prvky pokryté jednou neměníme.

12 Postup opakujeme od etapy 2.

13 Řešení: S1 P2 S2 P4 min f = 72 S3 P1 S4 P3
Pokud je minimální počet krycích čar rovno n (máme n nezávislých nul ), našli jsme optimální řešení. Řešení: S P2 S P4 S P1 S P3 min f = 72 Optimální řešení zřejmě nemusí být jediné. ( Vybereme-li n nezávislých nul všemi možnými způsoby, dostaneme všechna optimální řešení. )

14 Maximalizace Maximalizační matici vytvoříme z minimalizační tak, že každý starý prvek vynásobíme –1 a přičteme k němu maximální sazbu prvku v řádku(sloupci). Toto číslo nám nahradí starý prvek. Tímto způsobem musíme přepočítat celou matici. Dále pokračujeme jako u minimalizace An = -As + max(aij)


Stáhnout ppt "Maďarská metoda Kirill Šustov Michal Bednář Stanislav Běloch"

Podobné prezentace


Reklamy Google