Heuristiky pro problém výměny ledviny
Heuristiky pro problém výměny ledviny
bachelor thesis (DEFENDED)
![Document thumbnail](/bitstream/handle/20.500.11956/26765/thumbnail.png?sequence=7&isAllowed=y)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/26765Identifiers
Study Information System: 63526
Collections
- Kvalifikační práce [11266]
Author
Advisor
Referee
Mareš, Martin
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
General Computer Science
Department
Department of Applied Mathematics
Date of defense
22. 6. 2009
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
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.