KidneyExchange.jl: A Julia package for solving the kidney exchange problem with branch-and-price - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Journal Articles Mathematical Programming Computation Year : 2023

KidneyExchange.jl: A Julia package for solving the kidney exchange problem with branch-and-price

Abstract

The kidney exchange problem (KEP) is an increasingly important healthcare management problem in most European and North American countries which consists of matching incompatible patient-donor pairs in a centralized system. Despite the significant progress in the exact solution of KEP instances in recent years, larger instances still pose a challenge especially when altruistic donors are taken into account. In this article, we present a branch-and-price algorithm for the exact solution of KEP in the presence of altruistic donors. This algorithm is based on a disaggregated cycle and chains formulation where subproblems are managed through graph copies. We additionally, present a branch-and-price algorithm based on the position-indexed chain-edge formulation, as well as two compact formulations. We formalize and analyze the complexity of the resulting pricing problems and identify the conditions under which they can be solved using polynomial-time algorithms. We propose several algorithmic improvements for the branch-and-price algorithms as well as for the pricing problems. We extensively test all of our implementations using a benchmark made up of different types of instances with the largest instances considered having 10000 pairs and 1000 altruists. Our numerical results show that the proposed algorithm can be up to two orders of magnitude faster compared to the state-of-the-art. All models and algorithms presented in the paper are gathered in an open-access Julia package, KidneyExchange.jl.
Fichier principal
Vignette du fichier
2022_KEP_BP_Julia_Revision.pdf (491.49 Ko) Télécharger le fichier
Origin : Files produced by the author(s)
Licence : CC BY - Attribution

Dates and versions

hal-03830810 , version 1 (26-10-2022)
hal-03830810 , version 2 (28-11-2023)
hal-03830810 , version 3 (19-01-2024)

Licence

Attribution

Identifiers

  • HAL Id : hal-03830810 , version 2

Cite

Ayse N Arslan, Jérémy Omer, Fulin Yan. KidneyExchange.jl: A Julia package for solving the kidney exchange problem with branch-and-price. Mathematical Programming Computation, In press. ⟨hal-03830810v2⟩

Collections

IRMAR-AN
255 View
354 Download

Share

Gmail Facebook X LinkedIn More