Iterative branch-and-price for hierarchical multi-criteria kidney exchange

Kidney exchange is an increasing modality for transplanting end stage renal disease patients with an incompatible living donor. Typically, the aim is to find an allocation of donors to patients that is optimal with respect to multiple hierarchical criteria. This paper presents an iterative branch-and-price algorithm for clearing such multi-criteria kidney exchanges with large patient-donor pools. Using a polynomial pricing procedure, the algorithm accomodates not only for cycles of incompatible pairs but also for long chains initiated by unspecified donors. Such chains are increasingly common and important in clinical practice, but, as we show, cannot be efficiently dealt with using existing depth-first pricing procedures. Our algorithm also supports individual rationality constraints required for multi-center coordination. Using Dutch kidney exchange data, we show the effect of long term multi-criteria optimization with our algorithm.