KidneyExchange.jl: A Julia package for solving the kidney exchange problem with branch-and-price - Institut de Recherche Mathématiques de Rennes
Article Dans Une Revue Mathematical Programming Computation Année : 2024

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

Résumé

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.38 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

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

Licence

Identifiants

Citer

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, 2024, 16 (1), pp.151-184. ⟨10.1007/s12532-023-00251-7⟩. ⟨hal-03830810v3⟩
495 Consultations
491 Téléchargements

Altmetric

Partager

More