New Insights on integer-programming models for the kidney exchange problem
New Insights on integer-programming models for the kidney exchange problem
Discrete Optimization
a r t i c l e i n f o a b s t r a c t
Article history: In recent years several countries have set up policies that allow exchange of kidneys between two or
Received 3 August 2012 more incompatible patient–donor pairs. These policies lead to what is commonly known as kidney
Accepted 15 May 2013 exchange programs.
Available online 30 May 2013
The underlying optimization problems can be formulated as integer programming models. Previously
proposed models for kidney exchange programs have exponential numbers of constraints or variables,
Keywords: which makes them fairly difficult to solve when the problem size is large. In this work we propose
Kidney exchange program
two compact formulations for the problem, explain how these formulations can be adapted to address
Integer programming
Combinatorial optimization
some problem variants, and provide results on the dominance of some models over others. Finally we
Healthcare present a systematic comparison between our models and two previously proposed ones via thorough
computational analysis. Results show that compact formulations have advantages over non-compact
ones when the problem size is large.
2013 Elsevier B.V. All rights reserved.
0377-2217/$ - see front matter 2013 Elsevier B.V. All rights reserved.
http://dx.doi.org/10.1016/j.ejor.2013.05.025
58 M. Constantino et al. / European Journal of Operational Research 231 (2013) 57–68
The inclusion of compatible pairs in kidney exchange programs Some results on the dynamic variant of KEP are reported in
defines one more variant of the KEP [14]. In this variant the com- [38,5,42]. In [38] the author study how exchanges should be con-
patible pair can be involved in an exchange only in the case that ducted through a centralized mechanism in a dynamically evolving
the patient of this pair benefits from being in the pool (e.g. receive agent pool with time and compatibility based preferences. They
a ‘‘better’’ kidney than he/she would have received from his/her derive dynamically efficient 2-way and multi-way exchange mech-
compatible donor). anisms that maximize total discounted exchange surplus. In [5],
Another variant is the multiple donors case, when one or more KEP is considered an online problem in which patient–donor pairs
patients have multiple donors associated. For such patients only and altruistic donors appear and expire over time. The authors
one of their multiple donors can be selected to create an exchange studied trajectory-based online stochastic optimization algorithms
cycle [2]. The donor selected is the one that would lead to maxi- for this problem. They identified tradeoffs between different
mum collective benefit. parameters and developed an experimental methodology for set-
All variants of KEP outlined above consider the problem as a sta- ting them. The work in [42] considers KEP as a dynamic resource
tic or offline problem. But the problem can also be dynamic (online) allocation problem with three objectives: maximize the quality-
when isolated patients, patient–donor pairs, and altruistic donors adjusted life expectancy of transplant candidates (clinical effi-
appear and expire over time [38,5,42,41,3]. ciency), and minimize two measures of inequity – the first measure
is a linear function of the likelihood of transplantation of the vari-
2.2. Solution methods ous types of patients and the second is a quadratic function that
quantifies the differences in mean waiting times across patient
The complexity of the k-exchange problem was investigated types. The dynamic status of patients is modeled by a set of linear
in [1,2,7]. In [1,2] it is shown that for a given graph G and differential equations.
k P 3 the problem of deciding if G admits a perfect cycle cover
containing cycles of length at most k is NP-complete. The proof 3. Problem definition and formulation
uses a reduction from the 3D–matching problem which is NP-
complete. In [7] the authors proved the APX-completeness of Graph theory can provide a natural framework for representing
the problem of finding a maximum size exchange involving only the KEP models. Let G(V, A) be a directed graph with the set of ver-
2- and 3-cycles. In other words they claim that the 3-exchange tices V = {1, . . . , jVj} consisting of all incompatible patient–donor
KEP do not admit any polynomial-time approximation scheme, pairs and the set of arcs A designating compatibilities between
unless P = NP. the vertices. Two vertices i, j 2 V are connected by arc (i, j) if the pa-
Edmonds’ algorithm [11] for maximum cardinality matching tient in pair j is compatible with the donor in pair i. To each arc is
was followed by [36] and [33] for the 2-exchange problem. When associated a weight wij, (i, j) 2 A. If the objective is to maximize the
k P 3 a natural and perspective way for attacking the KEP is total number of transplants wij = 1, "(i, j) 2 A.
through IP models. Two different integer programs were used in Fig. 2 illustrates an example where four incompatible pairs are
[2] and [34]: the edge and the cycle formulations. In [2] a sketch considered, the compatibility between pairs being represented by
of a proof is presented showing that the cycle formulation provides weighted arcs. An exchange is defined by a set of disjoint cycles
a better upper bound of the optimal solution with LP relaxation in the whole graph and it is feasible if every cycle length does
than the edge formulation. In the same work a cutting plane meth- not exceed a given limit k. In Fig. 2 for k = 3 the possible cycles
od was implemented for the edge formulation while a column gen- are 1–2–3–1 and 3–4–3. However these cycles are not vertex-dis-
eration method with branch-and-bound was designed for the cycle joint as they have vertex 3 in common.
formulation. The cycle formulation is used in [23] to solve the KEP If only 2-way exchanges can be considered, the maximum num-
in UK. The program in UK allows direct and altruistic exchanges ber of transplants in this pool will be two (between pairs 3 and 4).
and considers a set of criteria that should be pursued in a hierarchi- However, if up to three pairs can be involved in an exchange cycle
cal way. the optimal matching for this example will be three (donor 1 gives
Results related to the potential for developing NEAD strategy a kidney to patient 2, donor 2 to patient 3, and donor 3 to patient
were presented in [28]. In [13] the authors created a pool of incom- 1).
patible pairs based on the statistical data for blood-type, positive
cross-matching probabilities, and others, and looked for 2-ex- Definition 1. The Kidney Exchange Problem can be defined as
changes. They implemented Monte Carlo simulations and calcu- follows:
lated the maximum number of transplants under different Find a maximum weight set of vertex-disjoint cycles having length
scenarios when including ND donors and NEAD chains and con- at most k.
cluded that NEAD chains are not clearly superior in terms of the
number of transplants achieved. The authors of [4] presented some One of the most effective ways to deal with it is using Integer
simulations similar to [13], but allowing long chain segments. With Programming. Below we introduce the two formulations previ-
this additional flexibility they concluded that NEAD chains lead to ously proposed in the literature for this problem: the edge and cy-
more transplants. Some theoretical and computational analysis of cle formulations.
the efficacy of chains initiated by altruistic donation are provided
by [10].
The possibility of opening the pool of kidney exchange pro-
grams to compatible pairs has been addressed by, e.g. [29] and
[14]. A mixed pool of compatible and incompatible pairs was sim-
ulated in [14], the results show the benefits of such policy in terms
of the increase in probability of matching incompatible patients
that might otherwise not get a compatible donor. But the inclusion
of compatible pairs in a pool of incompatible pairs is a controver-
sial topic. Some of the ethical aspects associated with it are pointed
out in [29,32].
Fig. 2. KEP graph.
60 M. Constantino et al. / European Journal of Operational Research 231 (2013) 57–68
3.1. Edge formulation ‘‘compact’’ ones [26] but computationally the size of the problem
may become a bottleneck as solution procedures can take long
In the edge formulation, a variable xij is associated with each arc time for solving large problem instances.
(i, j) 2 A in the graph G(V, A), defined as follows: We present two new formulations for the problem: the edge-
assignment formulation and the extended edge formulation. Each of
1 if patient of pair j gets a kidney from donor of pair i;
xij ¼ these formulations is compact, i.e., both the number of variables
0 otherwise: and constraints are bounded by a polynomial in the size of the
problem, given by the number of pairs. In the edge-assignment for-
The edge formulation is given by:
mulation the path constraints represented by (1d) are reformu-
X
Maximize wij xij ð1aÞ lated using additional assignment variables. In the extended edge
ði;jÞ2A formulation an extra index will be introduced in the variables xij
X X for allowing the cycle cardinality constraints to be created in a sim-
Subject to xji ¼ xij 8i 2 V ð1bÞ
j:ðj;iÞ2A j:ði;jÞ2A ple way. In the next couple of sections we present the IP models. A
X discussion on their downsizing into ‘‘reduced’’ formulations is also
xij 6 1 8i 2 V ð1cÞ
provided.
j:ði;jÞ2A
X
xip ipþ1 6 k 1 8paths ði1 ; i2 ; . . . ; ik ; ikþ1 Þ ð1dÞ 4.1. Edge-assignment formulation
16p6k
xij 2 f0; 1g 8ði; jÞ 2 A: ð1eÞ Let L be an upper bound on the number of cycles in any solution.
For instance, a simple upper bound is L = jVj as the number of cy-
The objective function (1a) maximizes the weighted sum of the
cles cannot exceed the number of vertices. Let each cycle in the
exchange – in the case of unitary weights, it corresponds to maxi-
solution be indexed by l, 1 6 l 6 L and denote by V(l) # V the set
mizing the total number of transplants. Constraints (1b) assure
of vertices in cycle l. Define the following assignment variables:
that patient i receives a kidney iff donor i donates a kidney. Con-
straints (1c) guarantee that a donor can only donate one kidney 1 if node i belongs to cycle l;
and constraints (1d) enforce the cycle-length: to exclude cycles lar-
yli ¼
0 otherwise:
ger than k, we need to make sure that every path of length k arcs
does not have more than k 1 arcs in a feasible exchange. This With these additional variables, we can write the cycle cardinal-
constraint requires all paths of length k to be considered explicitly ity constraints as:
X
in the model. In general the number of such paths can grow expo- yli 6 k 8l 2 1; . . . ; L: ð3aÞ
nentially with k. i
4.1.1. Reduced edge-assignment formulation xlij 2 f0; 1g: 8ði; jÞ 2 A; 8l 2 f1; . . . Lg ð7eÞ
To tighten the model further, in some situations the variable yli
can be eliminated if l and i cannot be in the same cycle. Let The objective (7a) is to maximize the total weight of the arcs ta-
e l ¼ fi 2 V : i P lg and dl denote the shortest path distance in
V ken from all copies of the graph. Constraints (7b) state that in each
ij
terms of number of arcs in graph G from i to j for i; j 2 V e l such that copy l of the graph, the number of kidneys received by patient i is
the path passes only through vertices of set V e l . Let dl ¼ þ1 if there equal to the number of kidneys given by donor i. To make sure that
ij
l l
is no such path from i to j. For a given i if dli þ dil > k, then there is a donor/patient intervene only once, constraints (7c) ensure that a
no cycle with length k or less containing both nodes l and i. In this node can only be selected in at most one copy of the graph. Con-
case the variables yli need not be considered in the model. More straints (7d) state that at most k edges can be used from each copy
precisely, for each vertex l 2 V,olet us build the set of vertices of the graph. This essentially prevents the cycles from becoming
n
l l
V l ¼ i 2 Vji P l and dli þ dil 6 k . It can happen that for some larger than k as each copy of the graph allows only cycles of length
l
l 2 {1, . . . ,L} V = ;. Denote by L # f1; . . . ; Lg the set of indices l such k or less. There can be more than one cycle in a copy of the graph
that Vl – ;. The reduced edge-assignment formulation can now be but the total number of edges in all the cycles is at most k.
represented by Eqs. 6a, (6b)–(6i). As with the edge-assignment formulation the extended edge
X formulation also has symmetry. To avoid multiplicity of solutions
maximize wij xij ð6aÞ a similar approach can be used here as well. If a copy l of the graph
ði;jÞ2A provides a cycle for some solution, then node l must be in this cycle
X X
subject to xji ¼ xij 8i 2 V ð6bÞ and all other nodes must have indices larger than l. Hence, all vari-
j:ðj;iÞ2A j:ði;jÞ2A ables xlij such that i < l or j < l may be discarded from the model, and
X
xij 6 1 8i 2 V ð6cÞ constraints similar to (5a) can be added to set l as the lowest index
j:ði;jÞ2A of all nodes in the cycle:
X
yli 6 k 8l 2 L ð6dÞ X X
xlij 6 xllj 8i > l: ð8Þ
i2V l
X X j j
yli ¼ xij 8i 2 V ð6eÞ
l2L:i2V l j:ði;jÞ2A
4.2.1. Reduced extended edge formulation
yli þ xij 6 1 þ ylj 8ði; jÞ 2 A; i 2 V l; 8l 2 L ð6fÞ
Along the same lines as the elimination procedures for the vari-
yli 6 yll 8i 2 V l ; l 2 L ð6gÞ ables yli proposed for the edge-assignment formulation (see Sec-
yli 2 f0; 1g 8i 2 V ; 8l 2 L l
ð6hÞ tion 4.1), one may also be able to eliminate variables xlij in the
extended edge formulation. If there is no cycle of size at most k
xij 2 f0; 1g 8ði; jÞ 2 A ð6iÞ
Fig. 4. Symmetry in edge-assignment formulation. The complete solution for k = 3 with x15 = x51 = x23 = x34 = x42 = 1 and all other xij = 0 can be obtained with different
indexing l. For e.g. l = 1 for Cycle 1 and l = 2 for Cycle 2 with y11 ¼ y15 ¼ y22 ¼ y23 ¼ y24 ¼ 1 and vice versa l = 2 for Cycle 1 and l = 1 for Cycle 2 with y21 ¼ y25 ¼ y12 ¼ y13 ¼ y14 ¼ 1, all
other yli ¼ 0.
62 M. Constantino et al. / European Journal of Operational Research 231 (2013) 57–68
5.1. Inclusion of altruistic donors Opening kidney exchange programs to compatible pairs will re-
quire slight modifications in the IP models discussed in this paper.
The inclusion of altruistic donors in KEP IP formulations is dis- The set of vertices V will now represent both compatible an incom-
cussed in [23]. Exchanges involving altruistic donors are labeled as patible pairs, VC V denoting the subset of compatible pairs. For
domino paired chains (DPC) and, due to program regulations, the the cycle formulation, one will have to consider the existence of
authors do only consider chains of lengths 1 and 2 (when one or loops ii of size 1 for all vertices of set VC. All the other formulations
two incompatible pairs are involved in the exchange), but their ap- will have to consider that it is now possible that patient i gets a
proach can be used for chains of any size. The problem is again kidney from donor i. Therefore variables xij must be extended to in-
modeled as a weighted directed graph with n + m nodes: clude variables xii"i 2 VC.
V = {1, . . . , n + m}, n being the number of incompatible patient–do-
nor pairs and m the number of altruistic donors. Let the nodes
5.3. Multiple donors
{1, . . . , m} represent the altruistic donors, nodes
{m + 1, . . . , m + n} represent the incompatible pairs, and a dummy
Within kidney exchange programs it is possible that instead of
patient compatible with all donors j 2 {m + 1, . . . , m + n} be associ-
a single donor a patient has multiple donors associated. If that is
ated with each altruistic donor. An example is given in Fig. 5.
the case, and if the patient is selected for kidney transplantation,
Within this description denote by k0 the maximum length of a
a donor that would allow the cycle where the corresponding pa-
chain (in terms of nodes) started by an altruistic donor and let
0 tient appears to be created will be selected. In such cases,
Cðk; k Þ define the set of all cycles in G with length at most k involv-
depending on the scoring system used, two situations can occur:
ing only incompatible pairs, and of all cycles with length at most k0
0 (i) the weight of an arc from a vertex i to a vertex j has a compo-
with one altruistic donor. Replacing CðkÞ by Cðk; k Þ the cycle formu-
nent that depends on which donor is chosen in each pair i and j
lation can be directly used to solve the problem.
(for instance, in the UK system this weight has a component that
For the other formulations the main impact is on the cardinality
relates to the difference in age between the donors in i and j
constraints that define the maximum size of the cycle. They will
[23]): (ii) the weight of arc (i, j) 2 A does not depend on the donor
now have to be separated in two sets: one for cycles including
selected in pair i.
one altruistic donor, and another for cycles that only include
For the first case, a possible way of modeling the problem is by
incompatible pairs.
considering different vertices for all donors of a patient Pi, each
For the edge formulation in Section 3.1 assume also that k0 6 k.
vertex representing the pair Pi ; Dji ; j ¼ 1 . . . NDi , where NDi is
The following additional set of constraints must be added:
the number of donors of patient Pi. More precisely denote by P
X 0 the set of patients in the pool. For each patient p 2 P let us define
xij ijþ1 6 k 1 8 i1 ; i2 ; . . . ; ik0 ; ik0 þ1 2 Paths a ð10Þ
set DðpÞ as the set of vertices associated with patient p, the set of
16j6k0
sets fDðpÞ; p 2 Pg defines a partition of the set of vertices V.
For the edge formulation (see Section 3.1) the Eq. (1c) need to
where Paths_a is the set of simple paths of length k0 with
be replaced by:
i1 2 {1, . . . , m} and i2 ; . . . ; ik0 þ1 2 fm þ 1; . . . ; n þ mg.
M. Constantino et al. / European Journal of Operational Research 231 (2013) 57–68 63
X X
xkj 6 1 8p 2 P ð13Þ Proof 1. For each l, let Xl be the set of vectors xl ¼ xlij ; ði; jÞ 2 A
k2DðpÞj:ðk;jÞ2A defined by constraints (7b), (7d), (7e), (8) and
P l l
j:ði;jÞ2A xij 6 1; 8i 2 V. Each element of X corresponds either to a
These constraints guarantee that only one of the (possible) mul-
cycle of cardinality at most k, or to a set of disjoint cycles with a
tiple donors associated with a patient will be selected. The same
total number of edges not exceeding k. The extended edge formu-
principle will have to be followed in the edge assignment formula-
lation can be rewritten as:
tion by replacing Eq. (6c) by the ones above. And similarly for the XX
extended edge formulation by replacing Eq. (9c) by equations maximize wij xlij ð16aÞ
XX X l ði;jÞ2A
xlkj 6 1 8i 2 P: ð14Þ XX
l2L k2DðpÞj:ðk;jÞ2A subject to xlij 6 1 8i 2 V ð16bÞ
l j:ði;jÞ2A
Finally, for the cycle formulation two considerations must be
xl 2 X l ð16cÞ
made: all cycles in CðkÞ can contain at most one vertex with patient
p, and Eq. (2b) must be replaced by: l l
Now let U be the set of vectors of X that induce at most one
X X cycle. Ul can replace Xl in the above formulation, although to obtain
zc 6 1 8p 2 P ð15Þ
an explicit formulation in variables xlij constraints preventing mul-
k2DðpÞc:k2VðcÞ
tiple cycles would have to be added. Consider the following relax-
For the second case the IP models discussed do not suffer any ation of the above model:
structural changes and are handled as follows: for all patients i XX
maximize wij xlij ð17aÞ
with multiple donors, an arc (i,j) will exist if there is at least one l ði;jÞ2A
donor in pair i compatible with patient j. If the arcs are weighted
and two or more donors in i are compatible with patient j the larg- XX
subject to xlij 6 1 8i 2 V ð17bÞ
est weight associated to a transplant from i to j is assigned to the l j:ði;jÞ2A
arc between nodes i and j. The associated IP models will be the
same as described in previous sections but a final straightforward
xl 2 conv ðU l Þ 8l 2 K ð17cÞ
procedure will be required, if a multiple donor node appears in the
l l
optimal solution to determine which donor within this node where conv(U ) denotes the convex hull of U . The optimal value of
should be selected. If only one donor is compatible with the asso- the above model is less than or equal to the optimal value of the
ciated recipient, he/she is selected. Otherwise for weighted arcs the LP relaxation of the extended edge model. Indeed, the optimal value
donor associated with the maximum weight is selected; for un- of problem (17a), (17b) and (17c) is less than or equal to the optimal
weighted graphs if more than one donor is compatible with the pa- value of the linear relaxation of the problem (16a) and (16b) with
tient, additional criteria are required for the selection of a donor. xl 2 Ul. But this value is obviously less than or equal to the optimal
value of the linear relaxation of problem (16a), (16b) and (16c) be-
6. Linear relaxations and comparison of the bounds for cause Ul # Xl.
different models One way to write a linear program equivalent to model (17a),
(17b) and (17c) is to replace conv(Ul) by its extreme point
It is well known that the strength of the LP relaxation is one of the representation. An extreme point of Ul is either the null vector or
most important factors for a formulation to be effective when a LP the inducing vector pc of a cycle c in G of cardinality at most k,
based branch-and-bound algorithm is used as a resolution method. containing node l and not containing nodes i < l. Let CðkÞ be the set of
Let IP be some optimization program and A and B be two different all cycles of cardinality at most k and Cl be the set of cycles defined by
integer linear formulations of IP, which define linear relaxation Ul, that is Cl ¼ fc 2 CðkÞ : l 2 VðcÞ # fl; . . . ; ngg (recall that V(c)
upper bounds (for the maximization problem) UB(A) and UB(B). denotes the set of vertices of cycle c). Now observe that fCl ; l 2 Kg
We say that formulation A dominates formulation B if UB(A) 6 UB(B). is a partition of CðkÞ, hence xl 2 conv(Ul) if and only if there exist
In this section we present a comparison, from a theoretical point of P
nonnegative scalars uc, with c 2 Cl , such that xl ¼ c2Cl uc pc and
view, of the strength of the formulations described in the previous P l l
section. A first result on interaction of the upper bounds of optimal c2Cl uc 6 1. So x 2 conv(U ), l 2 K can be rewritten as:
X
solutions provided by linear relaxations of edge and cycle formula- xlij ¼ uc 8ði; jÞ 2 A; 8l 2 K; ð18aÞ
tions (Theorem 1) was presented and proven in [2]. c2Cl :ði;jÞ2c
X
uc 6 1 8l 2 K; ð18bÞ
Theorem 1. The cycle formulation dominates the edge formulation.
c2Cl
As mentioned above the IP formulations with exponential num- uc P 0 8c 2 Cl ; 8l 2 K: ð18cÞ
ber of variables or constraints sometimes provide better bounds P
with linear relaxations than compact formulations. We now show Let wc ¼ ði;jÞ2c wij for c 2 CðkÞ. Using (18a), (18b) and (18c), the
that the cycle formulation also dominates the extended edge for- model (17a), (17b), (17c) can be written as follows.
mulation and that the extended edge formulation dominates the X
maximize wc uc ð19aÞ
edge-assignment formulation. c2CðkÞ
Assume that the extended edge formulation satisfies the follow- X
ing properties: (i) L = jVj, denote by K = {1, . . . , L}; (ii) the non elim- subject to uc 6 1 8i 2 V; ð19bÞ
c2CðkÞ:i2VðcÞ
inated variables are xlij such that i P l or j P l, and (iii) the model X
contains constraints (8). The following results remain true for the uc 6 1 8l 2 K; ð19cÞ
reduced extended edge formulation given in the second half of c2Cl
Theorem 2. The cycle formulation dominates the extended edge It is straightforward to see that constraints (19c) are always sat-
formulation. isfied with respect to constraints (19b). Thus problem (19a), (19b),
(19c), (19d) is the cycle formulation and from the previous
64 M. Constantino et al. / European Journal of Operational Research 231 (2013) 57–68
discussion its optimal value is less than or equal to the value of the
LP relaxation of the extended edge model. h
Table 1
Results for small instances.
n k C E EA EE C E EA EE
tc/T gap tp/T #opt gap T #opt gap T gap tc/T #opt gap tp/T #opt gap T #opt gap T gap
Blood-type test instances Medium density test instances
10 3 0/0 0.0 0/0 0.5 0 1.0 0 0.0 0/0 0.6 0/0 0.9 0 1.0 0 0.7
4 0/0 0.0 0/0 0.0 0 0.0 0 0.0 0/0 0.0 0/0 0.2 0 0.2 0 0.0
5 0/0 0.0 0/0 0.0 0 0.0 0 0.0 0/0 0.0 0/0 0.0 0 0.0 0 0.0
6 0/0 0.0 0/0 0.0 0 0.0 0 0.0 0/0 0.0 0/0 0.0 0 0.0 0 0.0
20 3 0/0 0.0 0/1 5.6 0 6.5 0 2.8 0/0 0.0 0/1 0.0 2 0.0 0 0.0
4 0/0 0.0 0/0 1.5 0 1.9 0 1.1 0/0 0.0 0/5 0.0 1 0.0 0 0.0
5 0/0 0.1 1/0 0.7 0 0.9 0 0.8 0/0 0.0 2/55 0.0 1 0.0 0 0.0
6 0/0 0.0 9/1 47(47) 0.2 0 0.2 0 0.2 0/3 0.0 – 0 0.0 0 0.0
30 3 0/0 0.0 0/0 4.0 6 4.9 0 1.2 0/0 0.0 0/15 0.0 162 47 0.0 0 0.0
4 0/0 0.0 1/1 0.6 1 0.7 0 0.5 0/0 0.0 2/138 49 0.0 30 0.0 1 0.0
5 0/0 0.0 10/2 42(42) 0.0 0 0.0 0 0.0 0/5 0.0 – – 4 0.0 0 0.0
6 2/0 0.0 185/0 12(12) 0.0 0 0.0 0 0.0 4/267 49 0.0 – – 2 0.0 0 0.0
40 3 0/0 0.1 0/48 5.6 85 45 6.1 0 2.7 0/0 0.0 1/171 0.0 564 24 0.0 1 0.0
4 0/0 0.0 3/28 0.9 49 1.0 0 0.9 0/1 0.0 6/624 39 0.0 203 40 0.0 2 0.0
5 1/0 0.0 54/4 18(18) 1.5 2 0.6 0 0.6 1/67 0.0 – – 106 49 0.0 2 0.0
6 11/1 0.0 1727/1 4(4) 2.4 3 0.2 0 0.2 – – – – 16 0.0 1 0.0
50 3 0/0 0.0 0/134 49 3.6 112 30 3.9 0 2.0 0/0 0.0 1/440 47 0.0 745 3 0.0 4 0.0
4 0/0 0.0 12/109 47 0.6 42 44 0.7 1 0.3 0/4 0.0 – – 645 18 0.0 5 0.0
5 2/0 0.1 213/7 3(3) 0.0 14 48 0.4 1 0.2 4/385 48 0.0 – – 116 34 0.0 6 0.0
6 45/6 0.0 – – 8 0.1 1 0.0 - - - - 62 46 0.0 3 0.0
Low density test instances High density test instances
10 3 0/0 0.2 0/0 21.8 0 33.2 0 0.3 0/0 0.0 0/0 0.0 0 0.0 0 0.0
4 0/0 0.5 0/0 11.6 0 15.2 0 0.9 0/0 0.0 0/0 0.0 0 0.0 0 0.0
5 0/0 0.0 0/0 7.0 0 8.2 0 0.2 0/0 0.0 0/0 0.0 0 0.0 0 0.0
6 0/0 0.2 0/0 1.1 0 1.7 0 1.1 0/0 0.0 0/1 0.0 0 0.0 0 0.0
20 3 0/0 1.4 0/0 21.5 1 23.7 0 2.6 0/0 0.0 0/1 0.0 2 0.0 0 0.0
4 0/0 0.4 0/0 5.7 1 6.2 0 1.5 0/0 0.0 1/16 0.0 1 0.0 0 0.0
5 0/0 0.6 1/1 1.9 1 1.9 0 1.2 0/2 0.0 – – 0 0.0 0 0.0
6 0/0 0.4 7/1 0.8 0 0.8 0 0.7 1/52 0.0 – – 0 0.0 0 0.0
30 3 0/0 0.5 0/44 4.9 714 33 4.9 0 1.1 0/0 0.0 0/9 0.0 32 0.0 1 0.0
4 0/0 0.1 0/33 0.2 348 42 0.2 1 0.1 0/1 0.0 – – 5 0.0 1 0.0
5 0/0 0.0 8/65 0.0 86 0.0 1 0.0 1/66 0.0 – – 2 0.0 0 0.0
6 2/0 0.0 188/226 0.0 17 0.0 1 0.0 – – – – 1 0.0 0 0.0
40 3 0/0 0.0 0/512 20 0.1 – 0.5 0 0.1 0/0 0.0 1/64 0.0 238 36 0.0 2 0.0
4 0/0 0.0 2/571 30 0.0 851 9 0.0 4 0.0 0/5 0.0 – – 38 49 0.0 2 0.0
5 1/1 0.0 – – 453 30 0.0 5 0.0 4/66 34(41) 0.0 – – 12 0.0 1 0.0
6 10/2 0.0 – – 246 45 0.0 3 0.0 – – – – 4 0.0 1 0.0
50 3 0/0 0.0 0/506 3 0.0 – 0.0 0 0.0 0/0 0.0 3/238 48 0.0 250 15 0.0 10 0.0
4 0/0 0.0 – – – 0.0 20 0.0 – – – – 130 39 0.0 7 0.0
5 2/1 0.0 – – – 0.0 15 0.0 – – – – 25 0.0 5 0.0
6 42/11 0.0 – – 618 20 0.0 7 0.0 – – – – 47 0.0 2 0.0
66 M. Constantino et al. / European Journal of Operational Research 231 (2013) 57–68
Table 2
Sizes of formulations and reduction for EA and EE. ‘‘Low’’ and ‘‘high’’ density test instances.
n k C E EA EE
#var #con #var #con #var #con rv% rc% #var #con rv% rc%
Low density test instances
10 3 3 2 17 55 22 53 70.6 76.4 7 16 96.4 86.1
4 5 4 17 62 25 65 66.3 71.2 12 24 93.9 80.0
5 7 4 17 63 27 73 63.3 67.7 16 28 91.8 75.9
6 8 5 17 55 28 75 62.0 66.7 18 30 90.5 74.2
30 3 82 28 174 5215 280 1318 56.2 68.5 169 242 96.8 74.8
4 336 30 174 26,634 401 2354 37.4 43.6 498 484 90.5 49.6
5 1377 30 174 131,770 496 2978 22.5 28.5 1008 674 80.8 29.8
6 5681 30 174 626,695 539 3225 15.6 22.4 1412 761 73.0 20.7
50 3 363 50 491 44,579 851 6782 51.8 62.5 684 770 97.2 70.4
4 2596 50 – >3 106 1342 13,059 24.0 27.8 2672 1752 89.1 32.6
5 19,010 50 – >3 106 1601 15,628 9.3 13.6 6140 2271 75.0 12.7
6 142,190 50 – >3 106 1665 16,332 5.7 9.6 7780 2399 68.3 7.7
High density test instances
10 3 100 10 62 1667 110 488 6.4 10.6 139 105 77.7 12.3
4 384 10 62 6856 114 506 2.8 7.1 211 114 66.1 5.3
5 1331 10 62 23,732 114 507 2.7 7.0 228 114 63.1 5.1
6 4075 10 62 65,993 114 507 2.7 7.0 229 114 63.0 5.1
30 3 2949 30 606 221,941 1026 12,290 4.2 6.0 3341 870 81.6 9.3
4 41,556 30 – >3 106 1066 12,887 0.4 1.4 5731 950 68.5 1.0
5 600,569 30 – >3 106 1066 12,896 0.4 1.4 6251 951 65.6 0.9
6 >3 106 – – >3 106 1066 12,896 0.4 1.4 6252 951 65.6 0.9
50 3 14,157 50 1719 1,911,261 2883 56,974 3.7 5.0 15,272 2377 82.2 8.6
4 >3 106 – – >3 106 2992 59,750 0.1 0.3 26,817 2595 68.8 0.2
5 >3 106 – – >3 106 2992 59,762 0.1 0.3 29,272 2595 66.0 0.2
6 >3 106 – – >3 106 2992 59,764 0.1 0.3 29,273 2595 65.9 0.2
Notations: – #var and #con are the average number of variables and constraints for a given n for different values of k;
– rv% and rc% are the average relative reductions on the number of variables and constraints in the EA and EE formulations after implementing reduction procedures.
Dashes for the formulations C and E mean that no test instance out of 50 was considered due to the bound on number of cycles or paths.
the linear relaxation of the formulation and Opt is the optimal considered, either because the CPU time or the maximum number
value of the problem. of paths were exceeded. The additional difficulty raised up by these
instances may be partially explained by the larger LP gaps obtained
Values 0 in tables related to CPU time mean that the solver took for smaller problems. Again, the C and EE formulations dominate
less than 1 s to solve the instances. the others, both formulations having solved to optimality all
Since the number of paths associated with the edge formulation instances.
increases sharply for larger values of k (k = 5 and k = 6), a bound of The importance of developing compact formulations is reflected
3 million was set on the number of paths to be generated. The for- in the results obtained for medium density test instances, and cor-
mulation was not studied for instances where the number of paths roborated and strengthened by high density test instances. In this
exceeded that value. The same bound was used for the number of cases the EE formulation proved to be extremely efficient at solving
cycles in the cycle formulation. With respect to this limitation in larger problem instances. It was capable of solving to optimality
column #opt we show in parenthesis the number of instances the both complete sets. The EA, although performing worse than
out of 50 (or 10 for larger instances) that were studied, if necessary. the EE, still solved to optimality almost 95% of the high density in-
stances considered.
7.1. Small test instances Furthermore, none of the compact formulations suffered the
‘‘curse of dimensionality’’ that affects both the E and the C formu-
Test instances of 10, 20, 30, 40 and 50 nodes were created with lations, which exceeded either the maximum number of cycles/
the two generators, for the second one for the three graph densi- paths or CPU times for larger instances. In fact, the problems raised
ties. Fifty instances of each size were considered. Computational up by non-compact formulations become more evident for high
results are presented in Table 1. density test instances: the number of cycles for the cycle formula-
The results for blood-type test instances clearly show the domi- tion exceeds the allowed limit for all test instances of size 50, for
nance of the C and EE formulations, both in terms of effectiveness values of k = 4, 5, 6; the edge formulation was not run even for in-
and efficiency: all instances are solved to optimality in general stances with 20 nodes and k = 5, 6 because number of paths exceed
with less CPU time than the E and EA formulations. The consider- the limit of 3 million previously set.
able increase in CPU time for the cycle formulation when k = 6 It is also worth mentioning that although for the blood-type and
and n = 40, 50 is caused by the time needed to enumerate all the low density instances most of the CPU time associated to the C for-
cycles. As shown, the smaller average gap is associated to the C mulation was spent at generating cycles, in this case it was spent in
formulation. the optimization phase.
Although the density of the graphs of low density test instances is Table 2 shows the average number of variables and constraints
of the same order of magnitude of the previously reported ones, for problems of different size for the low and high density test in-
the E and EA formulations performed very poorly for larger in- stances, as well as the percentage of reduction of the number of
stances: in most cases the EA formulation exceeded the maximum variables and constraints for the EA and EE formulations after
CPU time for all test instances of a given size (represented by (–) in implementing reduction routines presented in Sections 4.1 and
Table 1); in several cases the E formulation was not also 4.2. Evidently the impact of the reduction is high, in particular
M. Constantino et al. / European Journal of Operational Research 231 (2013) 57–68 67
problems. The adaptation of these models to dynamic environ- [18] I. Kaplan, J. Houp, M. Leffell, J. Hart, A. Zachary, A computer match program for
paired and unconventional kidney exchanges, American Journal of
ments will also be the subject of additional research.
Transplantation 5 (2005) 2306–2308.
[19] L. Kranenburg, W. Zuidema, W. Weimar, M. Hilhorst, J. IJzermans, J. Passchier,
Acknowledgments J. Busschbach, Strategies to advance living kidney donation, Progress in
Transplantation 19 (2009) 71–75.
[20] J. Kwak, O. Kwon, K.L. KS, C. Kang, H. Park, J. Kim, Exchange-donor program in
We would like to thank Prof. João Pedro Pedroso from the Uni- renal transplantation: a single-center experience, Transplant Proc 31 (1999)
versity of Porto, Portugal, Prof. Filipe Alvelos from University of 344–345.
Minho, Braga, Portugal, and Prof. David Manlove from the Univer- [21] M. Lucan, Five years of single-center experience with paired kidney exchange
transplantation, Transplantation Proceedings 39 (2007) 1371–1375.
sity of Glasgow, Scotland, for their useful comments. Dorien de [22] A. Mahendran, P. Veitch, Paired exchange programs can expand the live kidney
Regt participated in the early stage of this work as part of her mas- donor pool, British Journal of Surgery 94 (2007) 657–664.
ter’s project at the Delft University of Technology. [23] D. Manlove, G. O’Malley, Paired and altruistic kidney donation in the UK:
algorithms and experimentation, Lecture Notes in Computer Science 7276
(2012) 271–282.
References [24] F. Margot, Symmetry in integer linear programming, in: M. Jünger, T. Liebling,
D. Naddef, G. Nemhauser, W. Pulleyblank, G. Reinelt, G. Rinaldi, L. Wolsey
[1] Abraham, D., 2009. Matching Markets: Design and Analysis. Ph.D. Thesis. (Eds.), 50 Years of Integer Programming 1958–2008, Springer, 2009, pp. 647–
Carnegie-Mellon University, School of Computer Science. 686.
[2] Abraham, D., Blum, A., Sandholm, T., 2007. Clearing algorithms for Barter [25] R. Montgomery, S. Gentry, W. Marks, D. Warren, J. Hiller, J. Houp, A. Zachary, J.
exchange markets: Enabling nationwide kidney exchanges. In; Proceedings of Melancon, W. Maley, H.R.C. Simpkins, D. Segev, Domino paired kidney
the 8th ACM Conference on Electronic Commerce, June 13–16, pp. 295–304. donation: a strategy to make best use of live non-directed donation, The
[3] Anderson, R., Ashlagi, I., Gamarnik, D., 2012. A dynamic model of kidney Lancet 368 (9533) (2006) 419–421.
exchange programs. In: The 2012 Stochastic Networks Conference, June 18–22. [26] G. Nemhauser, L. Wolsey, Integer and Combinatiorial Optimization, A Wiley-
[4] I. Ashlagi, D. Gilchrist, A. Roth, M. Rees, Nonsimultaneous chains and dominos Interscience Publication, 1999.
in kidney paired donation – revisited, American Journal of Transplantation 11 [27] F. Rapaport, The case for a living emotionally related international kidney
(5) (2011) 984–994. donor exchange registry, Transplant Proc 18 (1986) 5–9.
[5] Awasthi, P., Sandholm, T., 2009. Online stochastic optimization in the large: [28] M. Rees, J. Kopke, R. Pelletier, D. Segev, M. Rutter, A. Fabrega, J. Rogers, O.
application to kidney exchange. In: Proceedings of the Twenty-First Pankewycz, J. Hiller, A. Roth, T. Sandholm, M. Ünver, R. Montgomery, A
International Joint Conference on Artificial Intelligence (IJCAI-09), pp. 405– nonsimultaneous, extended, altruistic-donor chain, The New England Journal
411. of Medicine 360 (2009) 1096–1101.
[6] BBC, 2008. BBC news website. six-way kidney transplant first (9/04/2008) [29] L. Ross, The ethical limits in expanding living donor transplantation, Kennedy
<http://news.bbc.co.uk/1/health/7338437.stm> (last accessed December, Institute of Ethics Journal 16 (2) (2006) 151–172.
2012). [30] L. Ross, E. Woodle, Ethical issues in increasing living kidney donations by
[7] P. Biro, D. Manlove, R. Rizzi, Maximum weight cycle packing in directed graphs, expanding kidney paired exchange programs, Transplantation 69 (2000)
wiht application to kidney exchange programs, Discrete Mathematics, 1539–1543.
Algorithms and Applications 1 (4) (2009) 499–517. [31] L. Ross, S. Zenios, Practical and ethical challenges to paired exchange
[8] M. de Klerk, K. Keizer, F. Claas, B. Haase-Kromwijk, W. Weimar, The Dutch programs, American Journal of Transplantation 4 (2004) 1553–1554.
national living donor kidney exchange program, American Journal of [32] A. Roth, T. Sönmez, M. Ünver, Kidney exchange, Quarterly Journal of
Transplantation 5 (2005) 2302–2305. Economics 119 (2) (2004) 457–488.
[9] M. de Klerk, M. Witvliet, B. Haase-Kromwijk, F. Claas, W. Weimar, Highly [33] A. Roth, T. Sönmez, M. Ünver, A kidney exchange clearinghouse in New
efficient living donor kidney exchange program for both blood type and England, Practical market design 95 (2) (2005) 376–380.
crossmatch incompatible donor–recipient combinations, Transplantation 82 [34] A. Roth, T. Sönmez, M. Ünver, Efficient kidney exchange: coincidence of wants
(12) (2006) 1616–1620. in markets with compatibility-based preferences, The American Economic
[10] Dickerson, J., Procaccia, A., Sandholm, T., 2011. Optimizing kidney exchange Review 97 (3) (2007) 828–851.
with transplant chains: theory and reality. In: AAMAS-12: Proceedings of the [35] S. Saidman, A. Roth, T. Sönmez, M. Ünver, F. Delmonico, Increasing the
11th International Joint Conference on Autonomous Agents and Multiagent opportunity of live kidney donation by matching for two- and three-way
Systems, June. exchanges, Transplantation 81 (2006) 773–782.
[11] J. Edmonds, Paths, trees, and flowers, Canadian Journal of Mathematics 17 [36] D. Segev, S. Gentry, D. Warren, B. Reeb, R. Montgomery, Kidney paired
(1965) 449–467. donation and optimizing the use of live donor organs, The Journal of the
[12] S. Gentry, R. Montgomery, D. Segev, Kidney paired donation: fundamentals, American Medical Association 293 (15) (2005) 1883–1890.
limitations, and expansions, American Journal of Kidney Disease 57 (1) (2010) [37] G. Thiel, P.V.L. Gurke, T. Gasser, K. Lehmann, T. Voegele, A. Kiss, G. Kirste,
144–151. Crossover renal transplantation: hurdles to be cleared!, Transplant Proc 33
[13] S. Gentry, R. Montgomery, B. Swihart, D. Segev, The roles of dominos and (2001) 811–816
nonsimultaneous chains in kidney paired donation, American Journal of [38] M. Ünver, Dynamic kidney exchange, Review of Economic Studies 77 (2010)
Transplantation 9 (2009) 1330–1336. 372–414.
[14] S. Gentry, D. Segev, M. Simmerling, R. Montgomery, Expanding kidney paired [39] J. Veale, G. Hil, National kidney registry: 213 transplants in three years, Clinical
donation through participation by compatible pairs, American Journal of Transplants (2010) 333–344.
Transplantation 7 (10) (2007) 2361–2370. [40] C. Wallis, K. Samy, A. Roth, M. Rees, Kidney paired donation, Nephrol Dial
[15] A. Gurkan, S. Kacar, C. Varilsuha, S. Tilif, I. Coker, C. Karaca, M. Karaoglan, Transplant 26 (2011) 2091–2099.
Exchange kidney transplantation: a good solution in living kidney [41] S. Zenios, Optimal control of a paired-kidney exchange program, Management
transplantation, Transplantation Proceedings 36 (2004) 2952–2953. Science 48 (3) (2002) 328–342.
[16] IBM, 2012. ILOG CPLEX optimizer <http://www-01.ibm.com/software/ [42] S. Zenios, G. Chertow, L. Wein, Dynamic allocation of kidneys to candidates on
integration/optimization/cplex-optimizer/> (last accessed in December, 2012). the transplant waiting list, Operations Research 48 (4) (2000) 549–569.
[17] R. Johnson, J. Allen, S. Fuggle, J. Bradley, C. Rudge, Early experience of paired
living kidney donation in the United Kingdom, Transplantation 86 (12) (2008)
1672–1677.