Novel Integer Programming models for the stable kidney exchange problem

12/09/2020 ∙ by Xenia Klimentova, et al. ∙ 0

Kidney exchange programs (KEP's) represent an additional possibility of transplant for patients suffering from end stage kidney disease. If a patient has a willing living donor with whom the patient is not compatible, the pair patient–donor can join a pool of incompatible pairs and, if compatibility between patient and donor in two our more pairs exists, organs can be exchanged between them. The problem can be modeled as an integer program that, in general, aims at finding the pairs that should be selected for transplant such that maximum number of transplants is performed. In this paper we consider that for each patient there may exist a preference order over the organs that he/she can receive, since a patient may be compatible with several donors but may have a better fit over some than over others. Under this setting, the aim is to find the maximum cardinality stable exchange, a solution where no blocking cycle exists. For this purpose we propose three novel integer programming models based on the well-known edge and cycle formulations. These formulations are adjusted for both finding stable and strongly stable exchanges under strict preferences and for the case when ties in preferences may exist. Furthermore, we study a situation when the stability requirement can be relaxed by addressing the trade-off between maximum cardinality versus number of blocking cycles allowed in a solution. The effectiveness of the proposed models is assessed through extensive computational experiments on a wide set of instances.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

1.1 Background

End-stage kidney disease (ESKD) affects a considerable number of people and is a major threat to public health: the number of ESKD patients is expected to increase at an annual rate of 5 to 8% in developed countries; more than 700,000 U.S citizens are currently receiving treatment for ESKD, the 9 leading cause of deaths each year in that country [27].

Compared to dialysis, kidney transplant brings much better quality of life to the patient but the deceased kidneys available for transplants can only meet a tiny fraction of the existing demand. Living donation is an alternative that in the past was constrained to related living donors: if a patient had a related willing donor that was blood and tissue compatible with him/her, the transplant could be performed. However, if they were not compatible, the transplant could not proceed. To overcome this issue, a new possibility of transplantation arose with Kidney Exchange Programs (KEPs): for a patient with a willing donor of one kidney but medically incompatible for transplant, the patient-donor pair can join many other such incompatible pairs in a pool for potential exchange. In its simplest form, with two incompatible pairs, KEP facilitates kidney exchange if the donor in one pair is compatible with the patient in the second pair and vice-versa. The concept behind this exchange in a 2-cycle extends to -cycle when incompatible pairs are involved. Within a KEP, a limit on the maximum length of exchange cycles is usually imposed, i.e., in the kidney exchange problem only -cycles with length are considered.

A relevant practical extension of the problem covers the case in which a donor with no associated patient is allowed in the program. That donor, hereby referred to as non-directed donor (NDD), initiates a chain by donating his/her kidney to a patient in one pair. The donor in that pair donates to a patient in a subsequent pair and so forth. The last donor in the chain either donates to the deceased donor’s waiting list or acts as a “bridge” donor in future matches. In many European programs a limit on the maximal length of a chain is also imposed. Considering a dummy compatibility from all the pairs to each NDD, chains can also be referred to as cycles, taking into account that their length is limited by .

The underlying combinatorial optimization problem associated with a KEP can be modeled as a vertex-disjoint cycle packing problem in a digraph, having vertices as incompatible pairs or NDD donors and arcs indicating compatibility of donor in one pair with patient in another pair. The aim is in general to obtain the set of disjoint cycles that maximizes the number of associated transplants. Additional objectives that may encapsulate preferences by way of weights or hierarchically are, e.g. difference in age between patient and donor and HLA-matching between them

[25, 7].

In this paper we assume that patients have preferences over potential donors, represented by ranks on in-going arcs, and aim at finding the maximum cardinality stable exchange. A stable exchange is a set of vertex-disjoint cycles such that there is no so-called blocking cycle where all the vertices would be better off, according to their preferences, than in the current solution. If strict preference is required only for one vertex in the blocking cycle then we speak about strongly stable exchanges

. Stability and strong stability are equivalent to the core and strong core properties, respectively, which are standard solution concepts in cooperative game theory, see

[35] and [30]. The usage of stable matchings in two-sided matching markets are standard both in theory and practice, in applications such as resident allocation, college admission and school choice, see e.g. a recent book on the algorithmic aspects of this topic by [24].

When the length of the exchange cycles is not limited there is always a stable solution that can be found efficiently by Gale’s Top Trading Cycle (TTC) algorithm [35]. Moreover, if the preferences are strict then the TTC solution is unique and strongly stable [30], as suggested in the seminal paper on KEPs by [31]. However, when the length of cycles is limited, which is typically the case for KEPs, a stable or strongly stable solution may not exist and the problem of deciding its existence is NP-hard [12, 20] even for tripartite graphs (also known as the cyclic 3D stable matching problem [28]).

To the best of our knowledge, the concept of stable solutions has not been used yet in real KEPs. In fact, besides considering some logistical and quality factors, the typical objective in European programs is to maximize the number of transplants [10, 13]. However, there are several reasons why stable solutions may well be aimed for in the future. One reason is that quality of the transplants is becoming more important for the patients and system organizers as well, since increasing the expected graft survival time yields a longer expected life time for the patient and reduces the risk that this patient will move back to the waiting list for another transplant, in a state when it becomes more complicated to find a compatible donor. Secondly, there are more and more platforms where the patient-donor pairs can communicate, and so the possibility of finding a better exchange for some pairs may become feasible through alternative channels. Finally, there is an increasing number of compatible pairs or ABO-incompatible pairs, who are joining the KEP pools instead of direct transplantation with the incentive of getting a better donor. In the UK, for example, this strict improvement can be guaranteed by the possibility of setting quality thresholds, which is an available option for every pair. A pair might strategically set its threshold high enough in the first matching run it participates in and then they gradually decrease it in later rounds if no exchanges are offered. Indeed, the actual solution can be close to being stable in such a dynamic system, even if the main optimization goal is to maximize the number of transplants. However, as this process takes time to converge, the health condition of the patients gets worse while waiting for convergence. A direct mechanism for finding stable exchanges can give the incentive to the pairs of reporting low thresholds, as they are guaranteed to get the best possible donor in a stable solution. In fact, if no length limit is imposed then the unique strongly stable solution, obtained by the TTC algorithm satisfies the respecting improvement property, which means that bringing a better quality (e.g. younger) or more compatible (e.g. blood-type O) donor can only improve the quality of the exchange donor that this patient will receive [9]. This property is violated for the standard objectives of maximizing the size or the total weight (e.g., quality score) of the solution, which can be a serious concern.

1.2 Our contribution

In this paper we propose three novel Integer Programming (IP) models for the stable exchange problem that are suitable for finding stable and strongly stable exchanges, considering both strict preferences and the possibility of ties. It extends the work in [15] by providing more general and tighter formulations. Namely, the new models now allow for the incorporation of non-direct donors, permitting chains and cycles maximum length to be different. They also consider the possibility of ties on preferences. Furthermore, we propose a model where the stability requirement is relaxed and substituted by the minimization of the number of blocking cycles. For that model we evaluate the trade-off between that objective and the maximization of the number of transplants by imposing a constraint on the maximum number of transplants that can be sacrificed in order to obtain “the most stable” solution, i.e. the solution with the least number of blocking cycles. Finally, we assess the performance of the proposed IP formulations on generated KEP instances, and we analyze the trade-off between maximality and stability of the solutions.

To the best of our knowledge there is no previous work in the literature where it is proposed to compute stable matching in this setting with optimization techniques. Therefore, the contribution of this paper to the state of the art is twofold: it enriches the scarce literature on the use of IP models to find stable matches; and it provides, for the first time, integer programming models for finding maximum cardinality stable exchanges in a KEP.

1.3 Related literature

Although kidney exchange programs represent a relatively new paradigm, considerable relevant research has been done during the last decades on the associated optimization problems. Research lines attacked the modeling aspects of the base problem and its variants, and analyzed different policies.

Starting with the proposal by [29], the medical literature contains a number of detailed descriptions on operating KEPs (e.g. a survey by [18], or the recent study by [2] for the US). Thorough review of European KEPs has also been made recently and published as two deliverables of ENCKEP (European Network for Collaboration on Kidney Exchange Programs) COST Action: the general operation of programs is summarized in [10] and the optimization aspects in [13]

. Well-established quality estimators of the quality of living donations were recently proposed in the medical literature in

[25] and [7].

Regarding the optimization aspects, seminal work on IP models for KEP’s is presented in [1] and [32]. The authors propose two models – the edge and the cycle formulations – none of the models being compact (i.e., none having both polynomial number of constraints and variables). Later, [14] proposed compact formulations for the basic KEP problem. The authors also showed how their model could be extended in order to accommodate the following problem variants: inclusion of non-directed donors, inclusion of compatible pairs and possibility of having more than one donor associated to a patient. Although they prove that linear relaxations of the compact formulations do not provide better upper bounds for optimal solutions, when compared to the cycle formulation, computational results reinforce the idea that compact formulations are of practical relevance: for larger values of and especially if graphs are denser, compact formulations provide better results and are able to solve larger problems. More recently [17]

presented two new compact IP models and showed that one of those models has a linear programming relaxation that is as tight as the previously known tightest formulation – the cycle formulation. The case of bounded length cycles and unbounded length (aka never ending) chains was studied from an optimization aspect in

[6], and was successfully implemented in a national US KEP, Alliance for Paired Donation (APD), as described in [5]. For recent surveys on the optimization aspects of KEPs, we refer to [23] and [8]; a review on KEP simulations can be found in [34].

The model of stable exchanges with unbounded length, which is equivalent to the classical housing market model by [35], has been proposed as a possible solution concept for kidney exchange in the seminal paper by [31]. However, when it became apparent that in the real applications the length of the cycles is limited and that the main objective is rather the maximization of the number of transplants, the literature started to focus on that sort of models [33]. The only research papers we are aware of about bounded length stable exchanges motivated by the kidney exchange applications are [12] and [20], but these papers only considered the computational complexity (i.e., NP-hardness) of the corresponding problem.

There is a recent line of research on computing stable matchings through integer programming methods for two-sided matching markets. That is the case for the hospital–resident problem with couples [11], ties [22, 16], college admissions with special features [3], stable project allocation under distributional constraints [4], and car–sharing [36]. For the algorithmic aspects of matching problems under preferences we refer to the book by [24].

1.4 Layout of the paper

The remaining of the document is structured as follows. In Section 3 we describe our integer programming formulations for finding stable and strongly stable exchanges. We continue by providing further IP formulations for the multiple objective case in Section 4, where the relaxed version of stability versus maximization of cardinality of exchange is analysed. Computational experiments are presented and discussed in Section 5. In Section 6 we provide concluding remarks.

2 Definitions and notation

Consider a digraph , where is the set of vertices and is the set of arcs. In the context of a KEP, vertices represent patient-donor pairs or NDDs and an arc indicates possibility of transplanting a kidney from donor in to a compatible patient in . In case compatible pairs are included into the programme, for such a pair we may restrict the incoming arcs to those donors that are strictly better in quality than the donor associated to patient . If is a NDD we create dummy arcs to from all other vertices that are not NDDs (these arcs represent donation of the last living donor in a chain to the deceased donors waiting list).

Let be the set of cycles in of length at most , if all vertices represent patient-donor pairs, and of length at most , if the cycle contains exactly one NDD. Denote by and the set of vertices and arcs, respectively, that are involved in . Within this context, an exchange is a set of vertex disjoint cycles . We say that vertex is matched if there is a cycle such that and denote by the set of arcs belonging to exchange .

Preferences

For each vertex , each vertex from set is ranked with value . The preferences of a vertex over vertices of set are defined as follows.

Definition 1

For ranked with , respectively, vertex prefers to (denoted by ), if .

Definition 2

For ranked with , respectively, vertex is indifferent between and (denoted by ), if .

Figure 1 illustrates definitions 1 and 2. Based on the definitions , , , , and .

1

2

2

3
Figure 1: Example of preference or indifference of one vertex over others.
Definition 3

If implies that for all , preferences are called strict. Otherwise they are called weak.

In this work we assume that a vertex always prefers to be matched (i.e., to belong to a cycle in the exchange), rather than be unmatched. For the case of NDDs, to avoid harming of patients in the waiting list (who, in general are the recipients of the kidney from the last donor in the chain), we consider that preferences are based on quality factors associated to the last donor in the chain: donors with higher quality measures are ranked higher by the dummy patient of the NDD.

The notion of preferences for vertices can be extended for cycles.

Definition 4

Vertex prefers cycle over cycle , denoted as , if for and , .

Definition 5

Vertex is indifferent between cycles and () if for and ,

Note that for the case of strict preference the indifference between cycles reduces to the cycles that share an arc, i.e. .

Definition 6

Vertex weakly prefers cycle to () if it prefers to or it is indifferent between them.

Stability and strong stability

The Stable Exchange Problem is the problem of finding a maximum cardinality stable or strongly stable exchange, defined as follows [12, 20]:

Definition 7

An exchange is called stable if there is no blocking cycle . A blocking cycle is a cycle such that every vertex in is either unmatched in or prefers to , where and .

Definition 8

An exchange is called strongly stable if there is no weakly blocking cycle . A weakly blocking cycle is a cycle such that for every , is either unmatched in or weakly prefers to , with strict preference for at least one vertex.

Although Definitions 7 and 8 are the classic definitions for (strong) stability we will consider their alternative form, also used in [26], as it is writes more natural when designing IP formulations.

Proposition 1

An exchange is stable if and only if for every there exists an arc and such that weakly prefers to .

For the case of strong stability and strict preferences the following holds.

Proposition 2

In case of strict preferences an exchange is strongly stable if and only if for every cycle , , there exists an arc such that there exists and prefers to .

Although Proposition 1 holds both for strict and weak preferences, Proposition 2 is not valid for the weak preferences in case of ties.

Example 1

Figure 2 exemplifies one case where proposition 2 would fail.

Figure 2: Strong stability with ties

Assume that has equal preferences (), over and , and that also has equal preferences (), over and . Under this setting, consider an exchange that consist of cycles and . Then for cycle there is no arc such that a vertex in strictly prefers its in-neighbour in to an arc in (as required by Proposition 2). Nevertheless cycle is not a blocking cycle accordingly to Definition 8.

To accommodate this case, Proposition 2 is adapted as follows:

Proposition 3

In case of weak preferences, an exchange is strongly stable if and only if for every cycle , , either for all there exists an arc such that (i.e. each vertex in is matched in with equal preference to in-neighbour ), or there exists an arc and an arc such that prefers to .

Within Proposition 3, cycle in Example 1 satisfies the first condition of the proposition.

3 Integer programming models for stable exchanges

In this section we introduce three new IP models for the stable exchange problem defined above. The two first models originate directly from the edge and cycle formulations, while the third model incorporates the decision variables from the two previous ones. For each formulation we start by presenting the model for the case of no ties (i.e. when preferences are strict). Then, and whenever required, we introduce the necessary changes to accommodate ties.

3.1 Edge Formulation

Consider a variable associated with each arc in the graph and defined in [1] and [32]:

Consider also variables , where:

  • , if arc is selected and is part of an exchange cycle of patient-donor pairs; 0, otherwise.

  • , if arc is selected and is part of a NDD chain; 0, otherwise.

These extra variables extend the model in [1] and [32], allowing and to be assigned different values.

Let be the set of all non-cyclic paths in with arcs, with all vertices representing patient-donor pairs. In a similar way, let be the set of paths with arcs, with the first vertex in a path representing a NDD and all other vertices being patient-donor pairs. Denote by the set of arcs in .

The integer program for finding a stable exchange is written as the edge formulation in [1] and [32] with an additional set of constraints that enforce stability:

Maximize (1)
Subject to: (2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)

The objective function (1) maximizes the cardinality of the exchange (in the context of a KEP this corresponds to maximizing the total number of transplants). Constraints (2) guarantee that the cycles in the exchange are disjoint, i.e. a donor can only donate one kidney. Constraints (3), together with constraints (2), state that an arc cannot be simultaneously in a patient-donor pair cycle and in a NDD chain. Constraints (4) and (5) are standard flow conservation constraints that ensure that the number of kidneys received by the patient in pair is equal to the number of kidneys given by the associated donor. Constraints (6) enforce maximum cycle-length: to exclude cycles larger than , every path of length arcs cannot have more than arcs in a feasible exchange. In a similar way, constraints (7) enforce the maximum length of NDD chains. These two sets of constraints require all paths of length and to be considered explicitly in the model and, in general, the number of such paths grows exponentially with and . Finally, constraints (8) ensure stability: according to Proposition 1, each arc in any cycle is either in the set of arcs of the exchange, or vertex is matched with a vertex that it prefers to .

Recall that, for the case of stability, Proposition 1 is valid both for strict and weak preferences. Differently, for the case of strong stability, Propositions 2 and 3 hold for the cases of strict and weak preferences, respectively. Accordingly, for finding a strongly stable exchange in the case of strict preferences constraints (8) in model (1)-(9) must be replaced by:

(10)

Following Proposition 2, constraints (10) ensure that each cycle is either in an exchange (i.e. all its arcs are chosen) or there is at least one patient in that is matched with a strictly better donor.

Finally, for the case of weak preferences, constraints (8) are replaced by:

(11)

These constraints are similar to (10) but the first term of (11) covers, in addition, the case where all patients in the cycle are matched with donors that are equally preferable to the ones in the exchange. The second term of the constraint remains the same as in (10).

3.2 Cycle Formulation

Define variables for each cycle as:

For each pair , , , define also set , i.e. the set of cycles that are different from and weakly preferred by to (see Definition 6).

Using the cycle formulation, the stable exchange problem is modelled as follows.

Maximise (12)
(13)
(14)
(15)

The objective function (12) maximises the cardinality of the exchange. Constraints (13) guarantee that an exchange is a set of disjoint cycles, and constraints (14) guarantee stability: either is in the exchange or, for at least one vertex , there exists another cycle weakly preferred by .

For the case of strong stability, for each pair , , , define set , i.e. the set of cycles that prefers to (see Definition 4). A strongly stable maximum cardinality exchange with strict preferences can be obtained by replacing constraints (14) in problem (12)-(15) by:

(16)

Constraints (16) guarantee that either is in the exchange or one of its vertices is matched in a cycle strictly better than .

Finally, for the case of weak preferences, let us define , that is, is a set of cycles that are different from and are equally good for (see Definition 5). Constraints (16) can be modified as follows:

(17)

If for a cycle there is a vertex such that there is no cycle different form where , then the latter constraint can be tightened for that cycle in the following way:

(18)

3.3 Cycle-Edge Formulation

Preliminary experiments identified some weaknesses on the two previous formulations. The bottleneck for the edge formulation is the large number of path constraints (6) and (7). For the cycle formulation the stability constraints are large in size as they contain one variable for each cycle that shares the same arc . For the same purpose, variable in the edge formulation only appears in the constraint when necessary.

We now propose an alternative formulation, called cycle-edge formulation, where we retain advantages from both formulations. This new formulation uses both integer variables and in a consistent way: for every cycle , we require that if and only if for every . This correspondence can be achieved by the basic feasibility cycle-constraints (13), and by adding the following set of constraints:

(19)

Bearing in mind the packing constraints (13), we may relax the binary requirement for variables , and consider:

(20)

Stability and strong stability are assured by constraints (8) and (10) or (11), respectively. The objective function can be represented either by (12) or (1).

4 Relaxing stability

Since finding a stable exchange in a graph is not always possible, in this section we discuss the possibility of obtaining “least non-stable” solutions when stability is not achievable. The aim in such cases will be to find the exchange with minimum number of blocking cycles that has maximum cardinality. Furthermore, since stability may negatively impact the maximum number of transplants, we also discuss the possibility of relaxing stability constraints so that the decrease in the number of transplants does not go over a pre-defined limit.

Let , be one of the sets of constraints associated to stability in Section 3 (constraints (8), (10), (11), (14), (16), or (17)), where

is a vector of corresponding variables,

or . Consider also the slack variables that will indicate whether the stability constraint associated to cycle is violated, or not (i.e. whether cycle is blocking).

The following IP model is to be solved:

(21)
(22)
(Other model constraints) (23)

where (Other model constraints) refers to all constraints, except for the stability ones, in the edge, cycle and cycle-edge formulations. Coefficients in the objective function (21) correspond to coefficients of the respective objective function: arc weight and cycle weight, for the edge and cycle formulations, respectively. Coefficient in the first term of (21) guarantees the minimization of the number of blocking cycles in the solution at first place. Indeed, for any solution the value of the second term will never exceed the number of vertices. Constraints (22) signal if a blocking cycle is in the solution.

In the context of a KEP, requesting for solution stability may represent a decrease in the maximum number of transplants in a pool. In such a case, if the decrease goes over a certain value, it may happen that the decision maker would wish to relax the stability of the solution to keep the number of transplants within what he/she considers to be an acceptable distance from the maximum cardinality solution. This can be addressed by solving the problem (21)–(23), with the following additional constraint:

(24)

where is the maximum number of transplants that can be achieved if stability is not imposed, and is the maximum number of transplants we accept to loose in order to have a “more stable” solution. Considering different values of the decision maker may study different trade-offs between the two objectives. Notice that when the problem corresponds to finding a stable solution or, for the cases where a stable solution does not exist, to the minimization of the number of blocking cycles. On the other hand, by solving the problem (21)–(24) with one will find an exchange with maximum number of transplants that has minimal number of blocking cycles.

5 Computational experiments

In this section we present computational results for validation and comparison of the models proposed in Sections 3 and 4. To refer to the formulations we use CF for the cycle formulation, EF for the edge formulation, and CEF for the cycle-edge formulation.

All formulations were implemented using Python programming language and tested using Gurobi as optimization solver [19]. The tests were executed on a MacMini 8 running macOS version 10.14.3 in a Intel Core i7 CPU with 6 cores at 3.2 GHz with 8GB of RAM.

5.1 Test instances

In our analysis we use test instances generated with the generator proposed in [34, 21]. Each instance mimics a pool of a KEP: patients and donors are generated with their characteristics (blood-type and sensitization level) and added to the pool if the generated pair is considered incompatible. An instance has a given number incompatible pairs () and the number of non-directed donors is . Fifty instances of each size were considered. Preferences were generated randomly. For weak preferences, random weights in the interval were assigned to each arc. Incoming arcs with weights within each interval of length 0.1 were considered equally preferable. We imposed the maximum length of cycles and chains to be equal, i.e. , and performed experiments for and 4.

Table 1 summarizes the characteristics of the instances considered: number of NDDs ; average number of arcs in instances of a given size ; average number of cycles and of chains for each ; and CPU time required for enumeration of cycles and chains.

20 30 40 50 60 70 80 90 100 150 160 170 180 200 250 300 350 400
1 2 2 3 3 4 4 5 5 8 8 9 9 10 13 15 18 20
98 225 392 632 901 1242 1610 2070 2520 5738 6491 7362 8244 10104 15941 23054 31397 41019
9 19 36 56 79 108 144 187 232 538 612 694 783 952 1487 2196 2983 3928
8 23 30 59 70 109 124 177 197 458 487 578 612 752 1231 1728 2378 3020
27 82 192 376 599 934 1416 2074 2824 9813 11881 14335 17067
37 151 260 637 885 1587 2079 3335 4071 14156 16003 20202 22646
72 339 1136 2843 5337 9752 17139 28530 43553
147 874 2062 6242 10240 21364 32475 60088 81835
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.1 0.1 0.1 0.2 0.5 1.0 1.9 3.2
0.0 0.0 0.0 0.0 0.0 0.1 0.2 0.4 0.6 6.6 8.8 13.3 17.5
0 0 0.2 1.2 3.3 12.5 30.9 97.5 194.4
Table 1: Characteristics of instances for different values of maximum length of cycles .

As expected the number of cycles and chains increases exponentially when increases. We can also observe that a main difficulty of the instances is associated to the presence of NDDs: there are almost twice as many chains as cycles for . Nevertheless the CPU time required for enumeration of cycles and chains is reasonable even for larger instances.

5.2 Comparison of formulations

The formulations proposed in Section 3 were tested on different instances, for different values of . For the case of the cycle-edge formulation, results are presented using both objective functions (12) and (1).

Tables 2 and 3 report average results for each set of instances of the same size, for strict (Table 2) and weak (Table 3) preferences, respectively. The following notation is used in the tables:

  • is the average gap of the linear relaxation of a formulation for instances of a given size;

  • is the average CPU time (in seconds) needed to find an optimal solution; maximum CPU time of 1 hour was imposed; the number of instances that were not solved within the limit is presented in between parenthesis; for the case of the CEF formulation we denote by the average CPU time when the objective function (12) (with variables) is used and by the average CPU time for objective (1) (with variables).

  • is the number of instances out of 50 that do not have a stable or a strongly stable solution.

  • is the average price of stability, i.e. the relative loss in number of transplants when compared to the maximum value: , where is the maximum number of transplants for a given instance and is the number of transplants in a maximum cardinality stable or strongly stable solution (calculated only for instances where a solution exists).

Stable Strongly Stable
CF EF CEF CF EF CEF
20 0 4.6 0 0.0 2.9 0.0 2.8 0.0 0.0 0 4.6 0 0.0 0.3 0.0 0 0.0 0.0
30 1 5.7 0 0.0 3.8 0.0 3.6 0.0 0.0 1 5.7 0 0.0 0 0.0 0 0.0 0.0
40 1 5.7 0 0.0 3.8 0.0 3.7 0.0 0.0 1 5.7 0 0.0 0.1 0.0 0 0.0 0.0
50 2 5.6 0 0.0 3.6 0.1 3.4 0.0 0.0 2 5.6 0 0.0 0 0.0 0 0.0 0.0
60 2 7.2 0 0.0 4.7 0.1 4.4 0.0 0.0 2 7.2 0 0.0 0.2 0.0 0 0.0 0.0
70 3 7.6 0 0.0 5.3 0.3 4.9 0.0 0.0 3 7.6 0 0.0 0.3 0.1 0 0.0 0.0
80 3 8.0 0 0.0 5.8 0.5 5.2 0.0 0.0 3 8.0 0 0.0 0.8 0.2 0 0.0 0.0
90 6 9.3 0 0.0 6.8 1.0 6.2 0.0 0.0 6 9.3 0 0.0 1.1 0.4 0 0.0 0.0
100 1 10.0 0 0.0 7.3 1.5 6.7 0.0 0.0 1 10.0 0 0.0 1.9 0.6 0 0.0 0.0
150 2 9.8 0 0.0 7.4 10.3 6.3 0.0 0.0 2 9.8 0 0.0 2.7 6.0 0 0.1 0.1
160 3 9.5 0 0.1 7.2 13.6 6.1 0.0 0.0 3 9.5 0 0.1 2.9 8.7 0 0.1 0.1
170 8 9.9 0 0.1 7.2 18.9 6 0.1 0.0 8 9.9 0 0.1 3.3 13.4 0 0.1 0.1
180 3 10.0 0 0.1 7.5 26.9 6.4 0.1 0.1 3 10.0 0 0.1 3.5 17.0 0 0.1 0.1
200 5 10.1 0 0.1 7.7 42.2 6.5 0.1 0.1 5 10.1 0 0.1 4.1 29.2 0 0.2 0.2
250 8 9.5 0 0.2 5.9 0.2 0.2 8 9.5 0 0.2 0 0.3 0.3
300 4 10.0 0 0.3 6.5 0.3 0.3 4 10.0 0 0.3 0 0.5 0.5
350 11 10.0 0 0.5 6.4 0.6 0.6 11 10.0 0 0.6 0 1.0 0.8
400 18 10.0 0 0.8 6.3 1.0 1.0 18 10.0 0 0.8 0 1.4 1.2
20 9.0 0.2 0.0 6.9 0.0 3.5 0.0 0.0 2 18.3 0 0.0 4.2 0.0 0.2 0.0 0.0
30 11.5 0.5 0.0 11.2 0.7 5.5 0.0 0.0 1 20.4 0 0.0 8.4 0.1 0.2 0.0 0.0
40 10.0 0.3 0.1 9.2 4.1 4.5 0.0 0.0 3 18.4 0 0.0 10.4 0.2 0.3 0.0 0.0
50 10.9 0.5 0.2 11.1 41.1 5.8 0.1 0.1 4 21.3 0 0.1 14.5 1.0 0.9 0.1 0.1
60 10.9 0.4 0.4 10 192.8 5 0.2 0.2 4 21.4 0.3 0.3 15.2 2.5 0.8 0.1 0.2
70 11.6 0.8 1.4 11.1 (4) 651.5 5.7 0.5 0.4 3 20.8 0.1 0.8 17.1 17.6 0.6 0.2 0.4
80 10.8 0.9 2.3 5.9 1.0 1.0 9 20.3 0.1 1.5 19.2 49.4 1.2 0.5 0.8
90 9.4 1.2 6.7 5.4 2.9 3.0 5 18.6 0.1 2.9 17.3 (1) 198.1 1.7 1.2 1.8
100 9.2 1.2 11.1 5.2 5.1 4.8 4 18.1 0 4.4 18 (3) 366.2 2.2 1.7 2.7
150 6.8 1.5 (1) 294.9 4.4 165.7 202.4 10 15.5 0.5 53.9 5 33.9 52.5
160 7.2 1.7 (2) 521.2 4.8 (1) 339.3 (2) 308.2 10 17.1 1 75.4 6 55.0 82.5
170 7.0 1.9 (6) 872.8 4.6 (2) 778.6 (2) 751.5 9 15.7 1.4 171.4 5.7 106.0 143.1
180 7.2 1.9 (11) 963.6 4.7 (4) 913.4 (7) 842.7 15 16.0 0.9 221.1 5.8 145.3 208.4
20 8.7 0.6 0.0 3.1 0.0 0.0 0 22.1 0 0.0 0.2 0.0 0.0
30 8.7 0.6 1.0 4.1 0.1 0.1 2 23.0 0.6 0.5 1.6 0.1 0.1
40 8.0 0.8 8.5 3.7 0.7 0.6 2 20.5 0 3.3 1.8 0.4 0.5
50 7.2 0.9 78.5 3.9 3.9 4.0 2 21.6 0.4 23.6 5.2 2.4 3.0
60 7.4 1.2 (1) 206.7 4.1 15.0 16.7 4 22.4 0.2 92.3 5.9 8.0 10.3
Table 2: Comparison of formulations for instances with strict preferences.
Stable Strongly Stable
CF EF CEF CF EF CEF
20 0 3.8 0 0.0 2.43 0.0 2.41 0.0 0.0 11 3.9 0 0.0 0 0.0 0 0.0 0.0
30 1 5.3 0 0.0 3.59 0.0 3.41 0.0 0.0 17 4.2 0 0.0 0 0.0 0 0.0 0.0
40 1 5.2 0 0.0 3.56 0.0 3.44 0.0 0.0 19 5.9 0 0.0 0.04 0.0 0 0.0 0.0
50 1 5.3 0.09 0.0 3.38 0.1 3.24 0.0 0.0 28 5.2 0 0.0 0 0.0 0 0.0 0.0
60 1 6.9 0.05 0.0 4.55 0.1 4.21 0.0 0.0 23 7.6 0 0.0 0.13 0.0 0 0.0 0.0
70 3 7.0 0 0.0 4.81 0.3 4.48 0.0 0.0 27 6.4 0 0.0 0.59 0.1 0 0.0 0.0
80 3 7.7 0 0.0 5.64 0.5 5.04 0.0 0.0 25 7.8 0 0.0 0.6 0.2 0 0.0 0.0
90 6 8.9 0.09 0.0 6.48 1.0 5.92 0.0 0.0 27 10.7 0 0.0 0.75 0.3 0 0.0 0.0
100 0 9.4 0.03 0.0 6.89 1.6 6.34 0.0 0.0 34 9.9 0 0.0 2.47 0.7 0 0.0 0.0
150 2 9.4 0.03 0.0 7.02 10.5 5.99 0.0 0.0 37 9.6 0 0.0 1.18 4.8 0 0.1 0.1
160 2 9.3 0 0.1 6.94 14.0 5.91 0.0 0.0 42 7.4 0 0.1 2.36 7.7 0 0.1 0.1
170 8 9.7 0.03 0.1 7.09 19.8 5.93 0.1 0.0 40 8.0 0 0.1 2.37 11.6 0 0.1 0.1
180 3 9.7 0 0.1 7.16 27.1 6.11 0.1 0.1 34 9.5 0 0.1 2.8 14.2 0 0.1 0.1
200 3 9.8 0.06 0.1 7.51 45.2 6.36 0.1 0.1 38 11.1 0 0.1 4.45 25.6 0 0.2 0.2
250 8 9.3 0 0.2 5.76 0.2 0.2 46 9.6 0 0.2 0 0.3 0.3
300 2 10.0 0.01 0.3 6.41 0.3 0.3 43 11.0 0 0.3 0 0.5 0.5
350 10 9.9 0.03 0.5 6.29 0.6 0.6 48 10.2 0 0.6 0 1.0 0.8
400 15 10.0 0.03 0.8 6.31 1.1 1.0 50 - - 0.8 - - 1.4 1.2
20 8.5 0.23 0.0 6.82 0.0 3.64 0.0 0.0 18 20.6 0.3 0.0 2.95 0.0 0.3 0.0 0.0
30 10.5 0.5 0.0 10.12 1.6 4.71 0.0 0.0 30 21.2 0 0.0 5.68 0.1 0 0.0 0.0
40 9.6 0.6 0.1 8.89 4.5 4.3 0.0 0.0 25 18.2 0.32 0.1 10.09 0.2 0.32 0.0 0.0
50 9.6 0.55 0.2 9.6 40.9 4.83 0.1 0.1 32 21.3 0.39 0.2 13.02 1.0 0.39 0.1 0.1
60 10.3 0.54 0.5 9.51 202.5 4.76 0.2 0.2 29 22.3 0.56 0.4 14.66 5.4 0.56 0.1 0.2
70 11.0 0.82 1.4 10.44 (4) 686.0 5.45 0.6 0.6 33 19.8 0.41 1.0 14.82 20.9 0.41 0.2 0.4
80 10.1 0.74 2.3 5.44 1.1 1.2 37 19.4 0.07 1.7 17.9 24.0 0.07 0.4 0.7
90 8.6 1.04 6.9 4.77 3.8 4.0 41 14.4 0.65 4.4 12.17 111.6 0.66 1.0 1.5
100 8.6 1.16 13.8 4.84 5.8 6.2 41 20.8 2.42 5.7 19.88 (2) 240.1 2.42 1.5 2.5
150 6.4 1.6 (1) 377.1 4.14 258.5 286.2 46 16.4 5.03 86.5 5.03 36.3 76.6
160 6.6 1.61 680.1 4.27 (1) 389.1 (2) 360.4 43 15.0 5.32 119.8 5.32 60.7 122.3
170 6.4 1.63 (4) 985.9 4.08 (5) 594.1 (4) 741.6 47 10.7 2.95 397.7 2.95 113.0 301.3
180 6.6 1.69 (8) 1103.2 4.25 (5) 833.4 (8) 790.1 47 11.0 2.71 (2) 424.7 2.71 203.4 362.6
20 8.1 0.64 0.0 2.81 0.0 0.0 17 24.2 0 0.0 0 0.0 0.0
30 8.1 0.56 0.8 3.52 0.1 0.2 31 23.8 0.38 1.1 0.38 0.1 0.1
40 7.2 0.79 9.5 3.27 0.7 0.7 28 18.9 0.97 5.9 0.97 0.2 0.4
50 6.9 1.04 79.7 3.75 4.2 4.0 34 20.9 2.64 62.1 2.65 2.1 3.3
60 6.7 1.2 (2) 218.1 3.56 18.8 18.0 34 22.6 5.54 240.8 5.54 7.3 10.0
Table 3: Comparison of formulations for instances with weak preferences.

Results in Table 2 show that the EF is not competitive when compared to the other formulations, both for stability and strong stability. Tests were run only for instances of up to 200 vertices for , and up to 60 and 100 vertices for . For instances of those sizes, for the EF is already drastically larger than the one obtained for the other formulations. For the EF was not run.

In terms of gap of the linear relaxation (columns ) the CF has the best performance, with average values of at most 2% for all instances and values of . For , a stable solutions is always strongly stable. The CF is tight even in case of stability, having zero gap for all instances, while the stable CEF formulation is less tight than the strongly stable CEF (compare columns for CEF). Notice that the EF is the least tight among all the formulations, having the largest gap of the linear relaxation. This observation, together with the large number of constraints (6) associated to this formulation, justifies the higher CPU times.

Despite of having a larger gap than for CF, CEF is computationally more efficient than CF for the two objective functions considered. For , and larger instances ( and , respectively) CEF found stable solutions for more instances within the time limit for the stable exchange problem. Also CEF was faster for instances of smaller size and for the strongly stable problem. The difference between CEF and CF becomes even more evident when . Experiments on instances of size bigger than 60 were not run due to high memory consumption by the solver.

In what regards the existence of a solution (see columns ), for the case of stability and there were no instances without a stable solution. Differently, for strong stability, there was a considerable number of instances with no solution. Moreover, to obtain a strongly stable solution one may have to sacrifice more than 20% of the transplants, while for stable solution the price of stability is less than 11% (compare columns ). Finally, we may observe that finding strongly stable exchanges is slightly easier than finding stable exchanges: all formulations need shorter CPU times and more instances are solved within the same time limit (compare the performance of each formulation in columns “Stable” and “Strongly Stable” for , , , ).

Comparing the results for weak preferences presented in Table 3 with those in Table 2 we reach similar conclusions. The performance of all the models is in general very similar, when compared to the same instances with strict preferences. The main difference between the tables is in the number of instances where a solution exists (columns ). In particular, for the case of weak preferences, there are significantly more instances where a strongly stable solution does not exist, e.g. no instances with 400 pairs and had a strongly stable solution.

Interestingly, for both strict and weak preferences we may observe a significant difference in the performance of the CEF for the two alternative objective functions: CEF with -objective is the fastest among all the formulations at finding a strongly stable exchange (see column in ”Strongly Stable” columns of Tables 2 and 3).

5.3 Analyzing the trade-off stability versus number of transplants

Following the discussion in Section 4, in this section we will analyze how stability requirements impact the objective of maximizing the number of transplants. For doing so, we will compare two extreme solutions in terms of the number of transplants achieved: the solution that maximizes the number of transplants and the stable solution (or solution with minimum number of blocking cycles when a stable solution does not exist). Furthermore, we will evaluate intermediate cases that represent different trade-offs between achieving stability and maximizing the number of transplants. This is achieved by running the models presented in Section 4, setting in constraints (24) to , for different values of , and rounding up the right hand side of the same constraints in order to get an integer value: .

Based on the results in Tables 2 and 3, where the average value of the price of stability () was at most 24%, we considered the following set of values for parameter ; for 0.25 we will, in general, get stable solutions. Note that for we obtain the solution with maximum number of transplant that has minimum number of blocking cycles, and for we obtain a stable solution (or a solution with minimum number of blocking cycles, if there is no stable solution) with maximum number of transplants.

In Figures 3-6 we plot the two objective function values for stable and strongly stable exchanges and for different values of , representing those values separately for instances with strict (left hand-side graphs) and weak (right hand-side graphs) preferences. Each figure presents average results for instances of size = 20,50,70 and 100. Note that, since there were instances where strongly stable exchanges did not exist, for the average number of blocking cycles is not always 0.

Figure 3: Trade-off between stability and maximum number of transplants for instances with ; .
Figure 4: Trade-off between stability and maximum number of transplants for instances with ; .
Figure 5: Trade-off between stability and maximum number of transplants for instances with ; .
Figure 6: Trade-off between stability and maximum number of transplants for instances with ; .

Results clearly show that when , and when compared with larger values of , the impact of stability requirements on the maximum number of transplants is low for smaller instances. However, when increasing the size of the instances, in particular for , stability affects the number of transplants with more than 10% decrease, a value that is no longer negligible. In such a case, with an average number of blocking cycles of 5, the question is whether it is desirable to have at least 5 patients being transplanted from a donor that is not the most favorable for them or, instead, having a reduction of 5 to 6 transplants to guarantee that stability is met. A similar conclusion can be drawn for larger values of , in particular when strong stability is required and , as for this case the trade-off between the criteria in the two extreme solutions is high.

As reflected in the curves plotted for , strong stability requirements have a much stronger (negative) impact on the number of transplants, with curve Stable always dominating curve Strongly Stable. Hence, as expected, strong stability is achieved with more sacrifice on the number of transplants and is aligned with the results in Tables 2 and 3 on the values of the price of stability ().

Also noteworthy is that for trade-offs significantly differ for and for . This can be confirmed by the different slopes in the graph: in between = 0.05 and 1 a smaller reduction in the number of blocking cycles is reflected in a comparatively larger reduction in the number of transplants; while for solution stability (measured by the number of blocking cycles) is severely affected for a relatively small gain in the number of transplants. For small instances with (see figure 3) the number of blocking cycles decreases nearly linearly for values of .

Interestingly, by comparing the result for and for instances with we observe that when we consider stability (curve Stable) the number of blocking cycles does not differ significantly for different values of , i.e. one can slightly increase the number of transplants considering larger values of with no sacrifice in the number of blocking cycles. However, for the case of strong stability, for smaller values of () the number of blocking cycles for is in some cases nearly twice as large as for . At the same time, for strongly stable solutions () the number of transplants does not differ significantly for . Taking into account that the problem difficulty increases dramatically when switching from to 4, one may consider that for strong stability the increase of is not primordial.

6 Conclusions

In this paper we consider kidney exchange programs in which patients may have preferences over potential donors, and where the aim is to find a maximum cardinality stable exchange. This is a problem of practical relevance when patients can be transplanted from several donors but some fit better medically than others.

We have advanced on the current state of the art by proposing three Integer Programming formulations capable of finding stable and strongly stable solutions, considering both strict and weak preferences. Furthermore, we have studied the impact of stability on the maximum number of transplants achievable by a pool. For doing so, we considered a bi-objective problem and studied the trade-off between (relaxed) stability, measured by the number of blocking cycles in a solution, and the maximum number of transplants. Such analysis is again of practical relevance: it can provide a solution with minimum number of blocking cycles for the decision maker that does not reduce the number of transplants below a certain limit.

Results show that the cycle-edge formulation proposed in this paper retains advantages from both the cycle and the edge formulation is more efficient than the two other formulations at solving the problems. This becomes even more evident when . Results also show that finding strongly stable exchanges is slightly easier than finding stable exchanges: all formulations need shorter CPU times and more instances are solved within the same time limit.

In what concerns relaxation of stability requirements results show that when , and if compared with larger values of , the impact of stability requirements on the maximum number of transplants is low for smaller instances. However, when problem size increases, such value is no longer negligible. This conclusion is also valid for bigger values of . Results also show that strong stability is achieved with more sacrifice on the number of transplants than stability.

References

  • [1] David J. Abraham, Avrim Blum, and Tuomas Sandholm. Clearing algorithms for barter exchange markets: Enabling nationwide kidney exchanges. In Proceedings of the 8th ACM Conference on Electronic Commerce, EC ’07, pages 295–304, New York, NY, USA, 2007. ACM.
  • [2] Nikhil Agarwal, Itai Ashlagi, Eduardo Azevedo, Clayton R Featherstone, and Ömer Karaduman. Market failure in kidney exchange. American Economic Review, 109(11):4026–70, 2019.
  • [3] Kolos Csaba Ágoston, Péter Biró, and Iain McBride. Integer programming methods for special college admissions problems. Journal of Combinatorial Optimization, 32(4):1371–1399, 2016.
  • [4] Kolos Csaba Ágoston, Péter Biró, and Richárd Szántó. Stable project allocation under distributional constraints. Operations Research Perspectives, 5:59–68, 2018.
  • [5] Ross Anderson, Itai Ashlagi, David Gamarnik, Michael Rees, Alvin E Roth, Tayfun Sönmez, and M Utku Ünver. Kidney exchange and the alliance for paired donation: Operations research changes the way kidneys are transplanted. Interfaces, 45(1):26–42, 2015.
  • [6] Ross Anderson, Itai Ashlagi, David Gamarnik, and Alvin E Roth. Finding long chains in kidney exchange using the traveling salesman problem. Proceedings of the National Academy of Sciences, 112(3):663–668, 2015.
  • [7] Valarie B Ashby, Alan B Leichtman, Michael A Rees, Peter X-K Song, Mathieu Bray, Wen Wang, and John D Kalbfleisch. A kidney graft survival calculator that accounts for mismatches in age, sex, HLA, and body size. Clinical Journal of the American Society of Nephrology, 12(7):1148–1160, 2017.
  • [8] Itai Ashlagi and Alvin E Roth. Kidney exchange: an operations perspective. Working paper, 2020.
  • [9] P. Biró, F. Klijn, X. Klimentova, and A. Viana. Shapley-Scarf housing markets: Respecting improvement, integer programming, and kidney exchange. Working paper, 2020.
  • [10] Péter Biró, Bernadette Haase-Kromwijk, Joris van de Klundert, and et al. Building kidney exchange programmes in Europe – an overview of exchange practice and activities. Transplantation, 103(7):1514–1522, 2019a.
  • [11] Péter Biró, David F Manlove, and Iain McBride. The hospitals/residents problem with couples: Complexity and integer programming models. In International Symposium on Experimental Algorithms, pages 10–21. Springer, 2014.
  • [12] Péter Biró and Eric McDermid. Three-sided stable matchings with cyclic preferences. Algorithmica, 58(1):5–18, Sep 2010.
  • [13] Péter Biró, Joris van de Klundert, David Manlove, William Pettersson, Tommy Andersson, Lisa Burnapp, Pavel Chromy, Pablo Delgado, Piotr Dworczak, Bernadette Haase, Aline Hemke, Rachel Johnson, Xenia Klimentova, Dirk Kuypers, Alessandro Nanni Costa, Bart Smeulders, Frits Spieksma, María O. Valentín, and Ana Viana. Modelling and optimisation in european kidney exchange programmes. European Journal of Operational Research, 2019b.
  • [14] Miguel Constantino, Xenia Klimentova, Ana Viana, and Abdur Rais. New insights on integer-programming models for the kidney exchange problem. European Journal of Operational Research, 231(1):57 – 68, 2013.
  • [15] Virginia Costa, Xenia Klimentova, Péter Biró, Ana Viana, and Jo aao Pedro Pedroso. New integer programming formulations for the stable exchange problem. In VOCAL 2018: 8th VOCAL Optimization Conference: Advanced Algorithms Esztergom, Hungary, December 10-12, 2018, Short Papers, pages 26–31. Páazmány Péeter Catholic University, Szentkirályi utca 28., 1088 Budapest, Hungary, 2018.
  • [16] Maxence Delorme, Sergio García, Jacek Gondzio, Jörg Kalcsics, David Manlove, and William Pettersson. Mathematical models for stable matching problems with ties and incomplete lists. European Journal of Operational Research, 277(2):426–441, 2019.
  • [17] John P. Dickerson, David F. Manlove, Benjamin Plaut, Tuomas Sandholm, and James Trimble. Position-indexed formulations for kidney exchange. CoRR, abs/1606.01623, 2016.
  • [18] Kristiaan Glorie, Bernadette Haase-Kromwijk, Joris van de Klundert, Albert Wagelmans, and Willem Weimar. Allocation and matching in kidney exchange programs. Transplant International, 27(4):333–343, 2014.
  • [19] LLC Gurobi Optimization. Gurobi optimizer reference manual, 2018.
  • [20] Chien-Chung Huang. Circular stable matching and 3-way kidney transplant. Algorithmica, 58(1):137–150, Sep 2010.
  • [21] X. Klimentova, A. Viana, J.P. Pedroso, and N. Santos. Fairness models for multi-agent kidney exchange programs. Submitted for publication in Omega: The International Journal of Management Science, 2019.
  • [22] Augustine Kwanashie and David F Manlove. An integer programming approach to the hospitals/residents problem with ties. In Operations Research Proceedings 2013, pages 263–269. Springer, 2014.
  • [23] Vicky Mak-Hau. On the kidney exchange problem: cardinality constrained cycle and chain problems on directed graphs: a survey of integer programming approaches. Journal of Combinatorial Optimization, 33(1):35–59, 2017.
  • [24] David Manlove. Algorithmics of matching under preferences, volume 2. World Scientific, 2013.
  • [25] Allan B Massie, Joseph Leanza, Lara M Fahmy, Eric KH Chow, Niraj M Desai, Xun Luo, Elizabeth A King, Mary G Bowring, and Dorry L Segev. A risk index for living donor kidney transplantation. American Journal of Transplantation, 16(7):2077–2084, 2016.
  • [26] Z. Mészáros-Karkus. Hardness results for stable exchange problems. Theoretical Computer Science, 670:68–78, 2017.
  • [27] National Kidney Foundation. Overview of the kidney disease population, 2018.
  • [28] Cheng Ng and Daniel S Hirschberg. Three-dimensional stable matching problems. SIAM Journal on Discrete Mathematics, 4(2):245–252, 1991.
  • [29] Felix T Rapaport. The case for a living emotionally related international kidney donor exchange registry. Transplantation Proceedings, 18((3) Suppl. 2)):5–9, 1986.
  • [30] Alvin E Roth and Andrew Postlewaite. Weak versus strong domination in a market with indivisible goods. Journal of Mathematical Economics, 4(2):131–137, 1977.
  • [31] Alvin E Roth, Tayfun Sönmez, and M Utku Ünver. Kidney exchange. The Quarterly Journal of Economics, 119(2):457–488, 2004.
  • [32] Alvin E. Roth, Tayfun Sönmez, and M. Utku Ünver. Efficient kidney exchange: Coincidence of wants in markets with compatibility-based preferences. American Economic Review, 97(3):828–851, June 2007.
  • [33] Alvin E. Roth, Tayfun Sönmez, and M. Utku Ünver. Pairwise kidney exchange. Journal of Economic Theory, 125(2):151 – 188, 2005.
  • [34] N. Santos, P. Tubertini, A. Viana, and J.P. Pedroso. Kidney exchange simulation and optimization. Journal of the Operational Research Society, 68(12):1521––1532, 12 2017.
  • [35] Lloyd Shapley and Herbert Scarf. On cores and indivisibility. Journal of Mathematical Economics, 1(1):23–37, 1974.
  • [36] Xing Wang, Niels Agatz, and Alan Erera. Stable matching for dynamic ride-sharing systems. Transportation Science, 52(4):850–867, 2018.