Finding long chains in kidney exchange using the traveling salesman problem

Significance There are currently more than 100,000 patients on the waiting list in the United States for a kidney transplant from a deceased donor. To address this shortage, kidney exchange programs allow patients with living incompatible donors to exchange donors through cycles and chains initiated by altruistic nondirected donors. To determine which exchanges will take place, kidney exchange programs use algorithms for maximizing the number of transplants under constraints about the size of feasible exchanges. This problem is NP-hard, and algorithms previously used were unable to optimize when chains could be long. We developed two algorithms that use integer programming to solve this problem, one of which is inspired by the traveling salesman, that together can find optimal solutions in practice. As of May 2014 there were more than 100,000 patients on the waiting list for a kidney transplant from a deceased donor. Although the preferred treatment is a kidney transplant, every year there are fewer donors than new patients, so the wait for a transplant continues to grow. To address this shortage, kidney paired donation (KPD) programs allow patients with living but biologically incompatible donors to exchange donors through cycles or chains initiated by altruistic (nondirected) donors, thereby increasing the supply of kidneys in the system. In many KPD programs a centralized algorithm determines which exchanges will take place to maximize the total number of transplants performed. This optimization problem has proven challenging both in theory, because it is NP-hard, and in practice, because the algorithms previously used were unable to optimally search over all long chains. We give two new algorithms that use integer programming to optimally solve this problem, one of which is inspired by the techniques used to solve the traveling salesman problem. These algorithms provide the tools needed to find optimal solutions in practice.

[1]  David P. Williamson,et al.  A note on the prize collecting traveling salesman problem , 1993, Math. Program..

[2]  Zoltán Füredi,et al.  On the fractional matching polytope of a hypergraph , 1993, Comb..

[3]  A. Shapiro,et al.  The Sample Average Approximation Method for Stochastic Programs with Integer Recourse , 2002 .

[4]  Alexander Shapiro,et al.  The Sample Average Approximation Method for Stochastic Discrete Optimization , 2002, SIAM J. Optim..

[5]  Sanjeev Khanna,et al.  Approximating Longest Directed Paths and Cycles , 2004, ICALP.

[6]  Chaitanya Swamy,et al.  Sampling-based approximation algorithms for multi-stage stochastic optimization , 2005, 46th Annual IEEE Symposium on Foundations of Computer Science (FOCS'05).

[7]  Dimitris Bertsimas,et al.  Optimization over integers , 2005 .

[8]  Oded Schwartz,et al.  On the complexity of approximating k-set packing , 2006, computational complexity.

[9]  M. Utku Ünver,et al.  Utilizing List Exchange and Nondirected Donation through ‘Chain’ Paired Kidney Donations , 2006, American journal of transplantation : official journal of the American Society of Transplantation and the American Society of Transplant Surgeons.

[10]  Avrim Blum,et al.  Clearing algorithms for barter exchange markets: enabling nationwide kidney exchanges , 2007, EC '07.

[11]  M. Utku Ünver,et al.  Efficient Kidney Exchange: Coincidence of Wants in a Markets with Compatibility-Based Preferences , 2009 .

[12]  F. Hutter,et al.  ParamILS: An Automatic Algorithm Configuration Framework , 2009, J. Artif. Intell. Res..

[13]  David Manlove,et al.  Maximum Weight Cycle Packing in Directed Graphs, with Application to Kidney Exchange Programs , 2009, Discret. Math. Algorithms Appl..

[14]  Michel X. Goemans Combining Approximation Algorithms for the Prize-Collecting TSP , 2009, ArXiv.

[15]  M. Utku Ünver,et al.  A nonsimultaneous, extended, altruistic-donor chain. , 2009, The New England journal of medicine.

[16]  Ariel D. Procaccia,et al.  Optimizing kidney exchange with transplant chains: theory and reality , 2012, AAMAS.

[17]  D. Gamarnik,et al.  The Need for (Long) Chains in Kidney Exchange , 2012 .

[18]  Albert P. M. Wagelmans,et al.  Iterative branch-and-price for hierarchical multi-criteria kidney exchange , 2012 .

[19]  Yan Zhou,et al.  Graph-Based Optimization Algorithm and Software on Kidney Exchanges , 2012, IEEE Transactions on Biomedical Engineering.

[20]  Ariel D. Procaccia,et al.  Failure-aware kidney exchange , 2013, EC '13.

[21]  Miguel Constantino,et al.  New insights on integer-programming models for the kidney exchange problem , 2013, Eur. J. Oper. Res..

[22]  David Manlove,et al.  Paired and Altruistic Kidney Donation in the UK , 2015, ACM J. Exp. Algorithmics.

[23]  Xenia Klimentova,et al.  A New Branch-and-Price Approach for the Kidney Exchange Problem , 2014, ICCSA.

[24]  Itai Ashlagi,et al.  A dynamic model of barter exchange , 2015, SODA.