Kidney Exchange
Cycle-selection ILP · Roth · Sönmez · Ünver (2004)
A patient needs a kidney; a family member is willing to donate but is blood-type or tissue-type incompatible. Across a pool of such incompatible pairs, swaps become possible: pair A's donor gives to pair B's patient, and pair B's donor gives to pair A's patient. The operational problem — which subset of cycles do we perform? — is a pure integer program, and its solution has enabled thousands of transplants that bilateral matching alone could not. This is the foundational win of applied market design.
Problem context
A market designed to save lives
Kidney disease progresses toward end-stage renal failure, at which point a patient requires dialysis or transplantation to survive. A transplanted kidney nearly always outperforms dialysis in both life-expectancy and quality-of-life terms, but the supply of deceased-donor kidneys is chronically insufficient, and living donation is blocked when the willing donor and their patient are incompatible on blood type (ABO) or human leukocyte antigen (HLA) cross-match.
In 1986, Felix Rapaport proposed pairing two incompatible donor-patient dyads so each donor gives to the other dyad's patient — a two-way kidney exchange. The idea remained largely theoretical until the early 2000s, when Roth, Sönmez & Ünver (2004) formalised the problem as a market-design question and showed that kidney exchange is a cycle-selection problem on a directed compatibility graph. Their 2005 follow-up extended the machinery to longer cycles and to chains initiated by nondirected (altruistic) donors, unlocking substantially more transplants per pool.
Deployed kidney-paired-donation (KPD) programmes now include the New England Program for Kidney Exchange (NEPKE, 2003), the Alliance for Paired Donation (APD), the National Kidney Registry (NKR, 2007), and the UNOS KPD Pilot (2010). The underlying operations-research machinery — cycle enumeration, ILP selection, chain-extension heuristics — is essentially what this page explores. The work earned Alvin Roth a share of the 2012 Nobel Prize in Economic Sciences, alongside Lloyd Shapley, "for the theory of stable allocations and the practice of market design."
Multi-stakeholder framing
Mathematical formulation
Cycle-selection integer program on a compatibility graph
Let V be the set of patient-donor pairs in the pool. Build a directed graph G = (V, E) where edge (i, j) ∈ E exists iff donor i is medically compatible with patient j. A feasible exchange is a simple cycle in G: each pair in the cycle gives a kidney from its donor to the next pair's patient and receives a kidney from the previous pair's donor. The bounded-cycle ILP of Roth, Sönmez & Ünver (2005) selects a collection of vertex-disjoint cycles to maximise matched patients subject to a maximum cycle length L.
| Symbol | Definition | Domain |
|---|---|---|
| V | Set of patient-donor pairs in the pool | |V| = n |
| E | Directed edges; (i,j) ∈ E iff donor i is compatible with patient j | E ⊆ V × V |
| L | Maximum cycle length (typically 2, 3, or small) | ℕ⁺ |
| C | Collection of all simple directed cycles of length ≤ L in G | enumerated from G |
| wc | Weight of cycle c (e.g., |c|, or sum of priority points) | ℝ⁺ |
| xc | Binary: 1 if cycle c is selected, 0 otherwise | {0, 1} |
| D | (Optional) Nondirected-donor initiated chains, length ≤ K | enumerated |
s.t. Σc ∈ C: i ∈ c xc ≤ 1 ∀ i ∈ V // each pair in at most one cycle
xc ∈ {0, 1} ∀ c ∈ C
Complexity NP-hard in general (reduces from cycle-packing); solvable as ILP via branch-and-price for L ≤ 3 and n in the thousands.
For L = 2, the problem reduces to maximum weight matching in an undirected graph (Edmonds, 1965) — polynomial.
Chains (nondirected donors, optional) Add path-variables dp for each feasible chain p starting at a nondirected donor; each vertex in at most one cycle OR one chain.
Two practical observations drive real-world deployment. First, L cannot be arbitrarily large because surgeries in a cycle must happen simultaneously (otherwise an early donor could renege after their patient received a kidney). The surgical logistics of three-way simultaneous surgery across three cities is already complex; four-way and beyond are rarely attempted for cycles. Chains relax this constraint because the altruistic donor cannot renege with anything at stake, so chain length can be much larger.
Second, weights wc carry ethics. Setting wc = |c| maximises transplant count. Setting priority points for hard-to-match patients (high panel-reactive antibodies, O-blood-type recipients, paediatric cases) explicitly favours those patients — which UNOS policy does. The choice of weights is not a technical detail; it is an ethics decision that OR surfaces rather than hides.
Interactive solver
Enumerate cycles, solve the ILP, visualise the matching
Kidney-Exchange Solver
About the solver. The dashboard generates a synthetic compatibility graph with realistic blood-type-driven density (ABO self-matches plus random HLA-style cross-matches). The solver enumerates all simple directed cycles up to length L (bounded enumeration, polynomial in small L), then selects a maximum-weight packing using a greedy ILP relaxation + repair heuristic. For production KPD programmes, see Abraham, Blum & Sandholm (2007) on column-generation branch-and-price for cycle-selection, which scales to several thousand pairs.
Solution interpretation
What stakeholders learn from the matching
Going from L = 2 to L = 3 typically raises the transplant count substantially — in randomly-generated pools, the uplift is often 20–40% depending on blood-type composition. This is the core finding of Roth-Sönmez-Ünver (2005) that drove US KPD programmes to adopt 3-cycles.
Adding a single nondirected-donor-initiated chain lifts the count again, sometimes by more than the L = 2 → L = 3 step. Chains reach patient-donor pairs in the “dead-end” parts of the graph that cycles cannot (Ashlagi et al., 2012).
Priority weights redistribute who gets matched. Switching from count-maximising to priority-weighted objective typically leaves total transplants similar but moves harder-to-match patients from unmatched to matched. This is a policy knob, not a technical parameter.
What patients and donors care about: Am I matched? — yes or no, binary. What centres care about: simultaneous-surgery feasibility, cold-ischaemia time, patient flight logistics. What registries care about: pool health over time — the balance of hard-to-match vs. easy-to-match pairs, chain re-initiation, and drop-out rates.
Limitations & Critique
What the model does not see
Compatibility is a coarse proxy
The binary edge (compatible / incompatible) abstracts away the continuous reality of HLA cross-match strength, donor-specific antibodies, and virtual vs. actual cross-match. Production KPD systems carry richer edge weights and run final cross-matches before surgery; some matches fail at that stage and the chain must be repaired.
Blood-type O disadvantage
O-blood-type patients can only receive from O donors, but O donors are universal and get matched to non-O patients quickly — leaving O patients stuck. Unpriced pools amplify this asymmetry. Priority-point schemes partially correct it; chains help more. Unmatched O patients remain the single-largest fairness failure of KPD in practice.
Strategic participation & hospital self-interest
Individual patients are not strategic (consent is binary), but transplant centres can be: a centre may hold back its easier-to-match pairs to do internal matches and submit only its harder pairs to the national pool, reducing aggregate welfare. Incentive-compatible mechanisms for multi-hospital KPD are an active research area.
Ethical weights are contested
Priority points for paediatric cases, high-PRA patients, or long-wait-list patients embed contested ethical choices. Whose life-year counts more, and at what exchange rate? These questions belong to bioethics, not to the OR layer — but the OR model makes them visible, which is the honest thing to do.
Cycle length vs. logistical fragility
Longer cycles unlock more matches in theory but fail more often in practice: if any single donor in a 4-cycle backs out or if any cross-match fails, the entire cycle collapses. Most programmes cap cycles at 3 and rely on chains for depth.
Global inequity
Formal KPD programmes exist primarily in high-income jurisdictions (US, UK, Netherlands, South Korea, Canada). Patients in low- and middle-income countries generally cannot access either deceased-donor or paired-exchange transplantation at the same rates. The OR literature's best tools have not closed this gap; any page on kidney exchange that omits this asymmetry is incomplete.
Extensions & variants
Directions the literature has explored
Chains with nondirected donors
Altruistic donor initiates; chain ends with donation to waiting list. Longer than cycles because no simultaneity required. Ashlagi-Gamarnik-Rees-Roth (2012).
Compatible pairs in the pool
Allow already-compatible pairs to enter KPD voluntarily; they lose little and substantially help hard-to-match pairs. Gentry-Segev-Montgomery (2005).
Dynamic matching over time
Pool arrives online; matching frequency (daily vs. monthly) affects pool composition and wait times. Ünver (2010); Akbarpour-Li-Gharan (2020).
Robust matching under failures
Cross-matches and centre participation can fail post-selection. Robust formulation selects matchings that retain value under edge failures. Manlove-O'Malley (2014).
Multi-hospital mechanism design
Incentive-compatible payment / credit mechanisms across centres so no centre free-rides by withholding easy pairs. Ashlagi-Roth (2014).
Multi-organ exchange
Extensions to liver, lung, and multi-organ exchange face different compatibility structures and surgical constraints. Segev et al. (2020) on multi-organ paired donation.
Global kidney exchange
Cross-border exchanges linking high-income and low-middle-income countries. Rees et al. (2017). Raises ethical questions around equity and consent.
Integer programming solvers
Branch-and-price with column generation scales KPD to thousands of pairs. Abraham-Blum-Sandholm (2007); Constantino-Klimentova-Viana-Rais (2013).
Key references
Cited above · DOIs where available
Related applications
Other matching-market and scarcity-allocation problems