Heuristiky pro problém výměny ledviny
Heuristiky pro problém výměny ledviny
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/26765Identifikátory
SIS: 63526
Kolekce
- Kvalifikační práce [11242]
Autor
Vedoucí práce
Oponent práce
Mareš, Martin
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Obecná informatika
Katedra / ústav / klinika
Katedra aplikované matematiky
Datum obhajoby
22. 6. 2009
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
V této práci se zabýváme problémem výměny ledviny. Jedná se o kombinatorický model problému rozdělení žijících dárců ledvin pacientům. Přesněji řečeno, máme množinu nekompatibilních dvojic pacient-dárce a snažíme se permutací dárců získat páry vhodné k transplantaci. Požadujeme, aby výsledné řešení bylo stabilní, což ve zkratce znamená, že nepřipouštíme výskyt skupiny dvojic, jejíž všichni členové by si polepšili vytvořením jiné permutace jen mezi sebou. V práci vysvětlíme známé metody pro hledání řešení (algoritmus Top Trading Cycles a heuristiky) a pro testování stability řešení. Popíšeme předchozí známé výsledky pojednávající o těžkosti problému. Navrhujeme hledat dobré stabilní řešení tak, že opakovaně aplikujeme heuristiky na počáteční řešení vygenerované pomocí TTC. Používáme několik známých heuristik spolu se dvěma novými. Předvedeme výsledky provedených testů, které ukazují vylepšení dosažené heuristikami oproti počátečnímu řešení. Také předvedeme nový algoritmus pro testování stability řešení, který běží výrazně rychleji než původní algoritmus.
In this thesis we are dealing with the Kidney exchange game, which is a combinatorial model of the problem of distribution of living donors of kidneys to patients. More specifically, having a set of incompatible recipient-donor pairs we want to create a permutation of the donors to obtain pairs compatible for a transplantation. We require that the solution is stable, which essentially means that there is not a group of pairs such that it would be better for all of them to create another permutation just among themselves. We give an overview of known methods for finding solutions (the Top Trading Cycles algorithm and heuristics) and for testing the stability of a solution. We describe previously known results concerning the hardness of the problem. We propose to seek for a good stable solution by starting with the result of the TTC algorithm and then applying heuristics repeatedly. We use several known heuristics together with two new ones. We present results of a series of tests to show the improvement achieved by the heuristics. We also present a new algorithm for testing the stability of a solution. This algorithm runs significantly faster than the previously known one.