When an end-stage kidney patient has a willing, but incompatible living donor, then in many countries this patient can exchange his/her donor for a compatible one in a so-called kidney exchange programme (KEP). The first national kidney exchange programme was established in 2004 in the Netherlands in Europe (De Klerk et al. 2005). Currently there are ten countries with operating programmes in Europe (Biró et al. 2018), the largest being the UK programme (Manlove and O’Malley 2014).

Typically the matching runs are conducted every three months on pools with around 50–300 patient-donor pairs. The so-called virtual compatibility graph represents the patient-donor pairs with nodes and an arc represents a possible donation between the corresponding donor and patient, that is found compatible in a virtual crossmatch test. The exchange cycles are selected by well-defined optimisation rules, that can vary across countries. The most important constraints are the upper limits on the length of exchange cycles, for examples, two in France, three in the UK and Spain, and four in the Netherlands (Biró et al. 2018). The main goal of the optimisation in Europe is to facilitate as many transplants as possible, i.e. to maximise the number of nodes covered in the compatibility graph by independent cycles. The corresponding computational problem for cycle-length limits three or more is NP-hard, and the standard solution technique used is integer programming (Abraham et al. 2007).

International kidney exchanges have already started in Europe between Austria and Czech Republic (Böhmig et al. 2017) since 2016, between Portugal, Spain and Italy since summer 2018, and between Sweden, Norway and Denmark in the Scandiatransplant programme (STEP), built on the Swedish initiative (Andersson and Kratz 2016). The Italy-Portugal-Spain collaboration is organised in a consecutive fashion, first the national runs are conducted and then the international exchanges are sought for the remaining patient-donor pairs. A related game-theoretical model has been studied in (Carvalho et al. 2017). In the Scandinavian programme and in the Prague-Wien collaboration, the protocol is to find an overall optimum for the joint pool. In the latter situation, the fairness of the solution for the countries involved can be seen as an important requirement, which was studied in [13] with extensive long-term simulations by proposing the usage of a compensation scheme among the countries.

A similar situation arises in the US kidney exchange problem, where the transplant centres are the strategic agents (Ashlagi and Roth 2012, 2014; Ashlagi et al. 2015; Toulis and Parkes 2015). Most of the scientific studies focus on the problem of incentivising the hospitals to register all of their patient-donor pairs, and not only the hard-to-match ones, which often happens in practice as the majority of transplants are still conducted within transplant centres, outside of the three national schemes (Agarwal et al. 2018). Novel suggestions of credit based schemes have also been studied (Hajaj et al. 2015; Agarwal et al. 2018), and a similar system has been implemented in the National Kidney Registry, which is the largest in the volume of transplants among the three nationwide kidney exchange programme in the US.

In this study we focus on the collaboration of countries and a key aspect of this collaboration is the assumption that they all follow commonly agreed protocols. As such, there is no need to incentivise countries to register their patient-donor pairs, unlike for the American hospitals. We will however compare the consecutive and the joint pool scenarios in our simulations, as these are both used in practice. We will not consider compensations, or any strategic issues, but we will allow the countries to have different constraints and goals with regard to the cycles and chains they may be involved in. In particular, we will compare the benefits of the countries from international collaborations when they have different upper bounds on their national cycles, and thus also possible different constraints on the segments of the international cycles they are participating in. As an example we mention the Austro-Czech cooperation, where Austria requires to have all exchanges simultaneously, so they allow short national cycles and short segments only, whilst in Czech Republic longer non-simultaneous cycles and chains are also allowed. We formulate novel IP models for dealing with potentially diverse constraints and goals in international kidney exchange programmes and we test two-country cooperation scenarios under different assumptions over their constraints, the possibility of having chains triggered by altruistic donors, and the sizes of their pools.

Model of international kidney exchanges

In a standard kidney exchange problem, we are given a directed compatibility graph D(VA), where the nodes \(V=\{1,2,\dots n\}\) correspond to patient-donor pairs and there is an arc (ij) if the donor of pair i is compatible with the patient of pair j. Furthermore we have a non-negative weight function w on the arcs, where \(w_{i,j}\) denotes the weight of arc (ij), representing the value of the transplantation. In most application the primary concern is to save as many patients as possible, so the weight of each arc is simply equal to one. We will also focus on this case in our simulations.

Let \(\mathcal {C}\) denote the set of cycles allowed in D, which are typically allowed to be of length at most K. The solution of a classical kidney exchange problem is a set of disjoint cycles of \(\mathcal {C}\), i.e., a cycle-packing in D. For cycle \(c\in \mathcal {C}\), let A(c) denote the set of arcs in c and V(c) denote the set of nodes covered by c.Footnote 1

In an international kidney exchange programme multiple countries (N) are involved in the exchange, so the set of nodes is partitioned into \(V=V^1\cup V^2\cup \dots \cup V^N\), where \(V^k\) is the set of patient-donor pairs in country k. We have the following modifications of the classical problem. Let \(A^k\) denote the arcs pointing to \(V^k\) (so the donations to patients in country k). Note that \(A=A^1\cup A^2\cup \dots \cup A^N\). The weights of the arcs in \(A^k\) should reflect the preferences of country k. (We may assume that these are scaled, e.g., by having the same average scores in order not to bias the overall optimal solution towards some countries.) Finally, let \(A^{\mathcal {N}}\) and \(A^{\mathcal {I}}\) denote the national and international donations, i.e., \(A=A^{\mathcal {N}}\cup A^{\mathcal {I}}\).

In a global optimal solution, small cycles within the countries can have different requirement than international cycles. Therefore we separate the two sets of cycles into \(\mathcal {C}=\mathcal {C^N}\cup \mathcal {C^I}\), where \(\mathcal {C^N}\) is the set of national cycles and \(\mathcal {C^I}\) is the set of international cycles. We call the national parts of an international cycle segments, where a segment is a path within a country, and the segments are linked by international arcs. An l-segment is a path of length \(l-1\), with all the l nodes belonging to the same country. Let \(\mathcal {S}\) denote the set of all possible segments, and let \(\mathcal {S}^k\) denote the set of segments allowed in country k. For \(s\in \mathcal {S}\), let A(s) denote the set of (national) arcs and let V(s) denote the set of nodes covered (in the same country). Note that a segment may also consist of a single node, which corresponds to the case when an international donation is immediately followed by another international donation.

We can have the following natural restrictions on the national and international cycles.Footnote 2 We may have upper limits on the

  1. (C1)

    total length of an international cycle

  2. (C2)

    length of national cycles for each country (possibly different)

  3. (C3)

    length of segments in international cycles for each country (possibly different)

  4. (C4)

    number of segments in a country within an international cycle

  5. (C5)

    number of patient-donor pairs from a country in an international cycle

  6. (C6)

    number of countries involved in an international cycle

Integer programming formulations

First we describe the two classical IP formulations of Abraham et al. (2007), the edge-formulation and the cycle-formulation. We will build our general IP solutions on these by using binary variables only.

Basic edge-formulation

We introduce a binary variable \(y_{i,j}\) for each arc (ij). Finding a maximum (value) solution with cycles of length at most K can be

$$\begin{aligned} max \sum _{i,j}w_{i,j}y_{i,j} \end{aligned}$$

such that

$$\begin{aligned} \sum _{i:(i,j)\in A}y_{i,j}= & {} \sum _{i:(j,i)\in A}y_{j,i} \quad \forall j\in V \end{aligned}$$
$$\begin{aligned} \sum _{j:(i,j)\in A}y_{i,j}\le & {} 1 \quad \forall i\in V \end{aligned}$$
$$\begin{aligned} \sum _{(i,j)\in A(p)}y_{i,j}\le & {} K-1 \quad \forall p\in \mathcal {P}^K \end{aligned}$$

where \(\mathcal {P}^K\) denotes the set of K-length proper directed paths (i.e. which are not cycles), and A(p) denotes the set of arcs in p.

Basic cycle-formulation

We introduce a binary variable \(x_c\) for each cycle \(c\in \mathcal {C}\). The weight of a cycle c is denoted by \(w_c\), which can be taken as the sum of the edge-weights in the cycle, or can be defined differently.

$$\begin{aligned} \max \sum _{c\in \mathcal {C}} w_c x_c \end{aligned}$$

such that

$$\begin{aligned} \sum _{c: i\in V(c), c\in \mathcal {C}}x_c\le 1\ \quad \forall i\in V \end{aligned}$$

One can use the cycle-formulation in our international setting after carefully searching and selecting the potential national and international cycles. We used this technique to solve the two-country problems, described in the last section. We defer the description of the cycle-search algorithm to the “Appendix”.

Linking the cycle-, segment-, and edge-variables

When the pre-selection of international cycles is complicated then we can use a mixed formulation, where the national cycles are represented by binary variables, and the international cycles are decomposed into allowable segments. We show how to link the cycle and segment variable with the edge variables, and thus enforce various constraints for different countries. Let \(z_s\) be a binary variable of segment \(s\in \mathcal {S}\). Suppose that we only work with national cycles \(\mathcal {C^N}\) with binary variables for all of them, but we do not have variable for international cycles.

Besides the basic feasibility cycle-constraints (6) and edge-constraints (2), we need the following sets of equations.

$$\begin{aligned} \sum _{j:(i,j)\in A} y_{i,j} \le \sum _{c:i\in V(c)} x_c +\sum _{s:i\in V(s)} z_s\le 1, \forall i \in V \end{aligned}$$

The above condition (7) enforces that we can only cover a node by either a national cycle or by a segment.

$$\begin{aligned} |A(c)|\cdot x_c\le & {} \sum _{(i,j)\in A(c)}y_{i,j} \quad \forall c\in \mathcal {C^N} \end{aligned}$$
$$\begin{aligned} \sum _{(i,j)\in A(c)}y_{i,j}-|A(c)|+1\le & {} x_c \quad \forall c\in \mathcal {C^N} \end{aligned}$$

Conditions (8) and (9) imply the inclusion of all the edge-variables in a national cycle if and only if that cycle is selected in the solution.

Let \(e^{+}(i)=\sum _{(j,i)\in A^{\mathcal {I}}}y_{j,i}\) and let \(e^{-}(i)=\sum _{(i,j)\in A^{\mathcal {I}}}y_{i,j}\) two new indicator variables showing whether node i is receiving or giving a kidney in an international exchange. We set the following condition for each segment s with starting node u and terminal node v.

$$\begin{aligned}&(|A(s)|+2)\cdot z_s \le \sum _{(i,j)\in A(s)}y_{i,j}+e^{+}(u)+e^{-}(v)\quad \forall s\in \mathcal {S} \end{aligned}$$
$$\begin{aligned}&\sum _{(i,j)\in A(s)}y_{i,j}+e^{+}(u)+e^{-}(v) - |A(s)|-1 \le z_s \quad \forall s\in \mathcal {S} \end{aligned}$$

Conditions (10) and (11) imply the inclusion of all the edge-variables of a segment if and only if that segment is selected as part of an international cycle in the solution.

Satisfying the special constraints

Here we give possible solutions for enforcing the requirements with IP formulations. As we noted, by a careful cycle-search algorithm we can always satisfy all of the conditions as long as the short upper bounds on the lengths of cycles exists. However, if a country allows unbounded length cycles or chains then we shall use edge-variables as well, combined with cycle and segment-variables. Furthermore, the usage of edge- and segment-variables can also be useful to simplify the cycle-search algorithms and rule out the infeasible cycles by edge-formulation constraints instead. Therefore, in the following description we explain how to use the variants of the previously provided edge-formulations for achieving the required conditions.

(C1) total length of an international cycle

In case we have only this requirement may use the basic edge-formulation to satisfy this condition. However, if we also have restrictions on the national cycles then we need an extended model that we will describe in the following point.

(C2) length of national cycles for each country

Regarding the edge-formulations, we may already need a more sophisticated formula, in case the international cycle would allow a longer segment in a country than the maximum length of the national cycles in that country. For this purpose, we can introduce two new edge variables for each arc (ij), \({\hat{y}}_{i,j}\) and \({\check{y}}_{i,j}\), where the former denotes whether this edge is used in a national cycle and the latter denotes whether it is used in an international cycle. We have \(y_{i,j}={\hat{y}}_{i,j}+{\check{y}}_{i,j}\), and for any arc in \(A^{\mathcal {I}}\) we do not have \({\hat{y}}_{i,j}\), as this arc cannot be involved in a national cycle. We also have to ensure consistency, so condition (2) should be written up separately for national and international edge-variables for each node as follows.

$$\begin{aligned} \sum _{i\in V}{\hat{y}}_{i,j}= & {} \sum _{i\in V}{\hat{y}}_{j,i} \quad \forall j\in V \end{aligned}$$
$$\begin{aligned} \sum _{i\in V}{\check{y}}_{i,j}= & {} \sum _{i\in V}{\check{y}}_{j,i} \quad \forall j\in V \end{aligned}$$

The reason behind this separation is to allow different upper bounds on the lengths of the national and international cycles. For instance, if the international cycles have upper bound K and in the meantime country k have upper bound \(K^k\) on the length of its national cycles then we can achieve both by the following pair of conditions.

$$\begin{aligned} \sum _{(i,j)\in A(p)}{\check{y}}_{i,j}\le & {} K-1 \quad \forall p\in \mathcal {P}^K \text{ in } D \end{aligned}$$
$$\begin{aligned} \sum _{(i,j)\in A(p)}{\hat{y}}_{i,j}\le & {} K^k-1 \quad \forall p\in \mathcal {P}^{K^k} \text{ in } D^k \end{aligned}$$

It is also important to note that after this separation we shall set the constraints used for making the connections between the edge-, cycle- and segment-variables accordingly. Namely, in the constraints for national cycles, (8) and (9), we shall replace \(y_{i,j}\) with \({\hat{y}}_{i,j}\), whilst in the constraints for segments, (10) and (11), we shall replace \(y_{i,j}\) with \({\check{y}}_{i,j}\).

(C3) length of segments in international cycles for each country

To bound the length of national segments in international cycles, we can either search the allowable segments and define segment variables for them, or we can satisfy these constraints by using the international edge-variables. For instance if \(L^k\) is the upper bound for the length of segments in country k then we need the following modified edge-constraint.

$$\begin{aligned} \sum _{(i,j)\in A(p)}{\check{y}}_{i,j}\le L^k \quad \forall p\in \mathcal {P}^{L^k} \text{ in } D^k \end{aligned}$$

(C4) number of segments in a country within an international cycle

Following the idea of Constantino et al. (2013) used for providing a compact formulation for the basic problem, we propose to define layers in order to separate the international cycles from each other. This will facilitate a simple way to set restrictions for this and the final two points.

Suppose that we can have at most T international cycles in the solution (e.g., \(T\le |V|/2\)). For every \(t\in [1\dots T]\) we define binary edge-variables \(y_{i,j}^t\) denoting whether that edge is included in the t-th cycle. We set \({\check{y}}_{i,j}=\sum _{t\in [1\dots T]}y_{i,j}^t\). We replicate (2) for each layer, as follows.

$$\begin{aligned} \sum _{i\in V}y_{i,j}^t=\sum _{i\in V}y_{j,i}^t \quad \forall j\in V, t\in [1\dots T] \end{aligned}$$

Now, we can restrict the number of segments from the same country k to be less than or equal to \(\lambda ^k\) with the following conditions.

$$\begin{aligned} \sum _{(i,j)\in A^{\mathcal {I}}\cap A^{k}}y_{i,j}^t\le \lambda ^k \quad \forall t\in [1\dots T] \end{aligned}$$

Note that the above formulation does not rule out the possibility of having multiple international cycles in one layer, however, neither of them can have more than \(\lambda ^k\) segments in country k. Furthermore, if we want to enforce that an international cycle can only have one segment from each country in a two-country programme then we can simplify the constraints, as follows. We can separate the layers according to the nodes from the first country that has outgoing arcs to the second country. Let the t-th such node, i, have only variables \(y^t_{i,j}\) for outgoing international transplants, which means that this node can only be involved in an international cycle at the t-th layer. See more about this idea at the end of this Section, where we describe the implementation of the bounded-unbounded two-country case (i.e., Austria-Czech Republic collaboration) in details.

(C5) number of patient-donor pairs from a country in an international cycle

By using again the above defined layers, we can easily set restrictions on the number of pairs involved in an international cycle from one country. If this upper bound is \(\beta ^k\) for country k then we can enforce this condition with the following constraints.

$$\begin{aligned} \sum _{(i,j)\in A^{k}}y_{i,j}^t\le \beta ^k \quad \forall t\in [1\dots T] \end{aligned}$$

(C6) number of countries involved in an international cycle

To achieve this restriction with edge-variables, we shall define a new indicator variable for each country-layer pair, which shows whether this country is involved in an international cycle in that layer. Thus, let us define a binary variable \(b_k^t\) for each country k and layer t, which must be one if this country is involved in an international cycle at this layer. This can be achieved with the following constraints.

$$\begin{aligned} \sum _{(i,j)\in A^{\mathcal {I}}\cap A^{k}}y_{i,j}^t\le b_k^t\cdot |V^k| \quad \forall k\in [1\dots n], t\in [1\dots T] \end{aligned}$$

This implies that if there is an ingoing international transplant to country k at layer t then \(b_k^t\) must be equal to one (but otherwise it can be zero). If the number of countries allowed in an international cycle is \(\gamma \) then we can enforce this condition with the following constraint.

$$\begin{aligned} \sum _{k}b_k^t\le \gamma \quad \forall t\in [1\dots T] \end{aligned}$$

Adding altruistic chains

We already noted that if we add the possibility of having altruistic chains, where their lengths is similarly bounded as the cycles then we can simply treat them as cycles by adding a dummy arc to the imaginary patient of the altruistic donor from all donors. However, the length restrictions are different for the altruistic chains (which can be reasonable, since these can be conducted non-simultaneously), in fact, they can even be considered unbounded (aka. never ending chains (Rees et al. 2009)). In this case we shall introduce new edge-variables corresponding to the possibility of conducting a transplant in an altruistic chain. Furthermore, we may even separate them to variables for national and international chains, if they have different restrictions.

An example: the case of Austria and Czech Republic

As an example, we describe the full IP-model for a problem setting that is representing the cooperation between Austria and Czech Republic. Here Austria allows only short national cycles and short segments, whilst Czech Republic allows unbounded national cycles and unbounded segments in international cycles, and we require that every international cycle has only one segment in each country. This IP formulation was implemented and used in the simulations for the two-country cases, that we described in Sect. 4.

Let \(V^1\) denote the first country with bounded length cycles and segments (Austria) and let \(V^2\) denote the second country with unbounded length national cycles and segments (Czech Republic). We introduce cycle and segment variables for \(V^1\) (but not for \(V^2\)) and we introduce edge-variables for \(A^2\) and \(A^{\mathcal {I}}\) (but not for the internal edges in \(V^1\)). Furthermore, we introduce layers \(1\dots T\), such that T is the number of nodes in \(V^1\) that has outgoing edge to \(V^2\). For all the edges with edge variables \(y_{i,j}\) we introduce also the layer variables \(y^t_{i,j}\) for every \(t\in [1\dots T]\), except the edges from \(V^1\) to \(V^2\). For these edges we introduce only one layer variable, as follows. Suppose that we order the nodes in \(V^1\) that has outgoing edge to \(V^2\) according to their indices and let i be the t(i)-th node in this order. We will define one layer for each of these nodes. We introduce a binary variable \(y^{t(i)}_{i,j}\) for every arc \((i,j)\in A^{\mathcal {I}}\), but these edges will not have other layer variables. This will ensure that every international cycle has only one segment in each country. Below we describe the complete IP formulation for this special setting. Recall that all of our variables are binary.

$$\begin{aligned} \max \sum \limits _{c \in \mathcal {C}} |c|x_c + \sum \limits _{(i,j) \in A} y_{i,j}&+ \sum \limits _{s \in \mathcal {S}} |s|z_{s} \nonumber \\ \text { subject to:} \sum \limits _{t\in [1\dots T]} y_{i,j}^{t}&= y_{i,j} \quad \forall (i,j)\in A \end{aligned}$$
$$\begin{aligned} \sum \limits _{i\in V} y_{i,j}^{t}&= \sum \limits _{i\in V} y_{j,i}^{t} \quad \forall t\in [1\dots T], j\in V \end{aligned}$$
$$\begin{aligned} \sum \limits _{j\in V} y_{i,j}&\le 1 \quad \forall i\in V \end{aligned}$$
$$\begin{aligned} \sum \limits _{c: i\in V(c)} x_c + \sum \limits _{s: i\in V(s)} z_{s}&\le 1 \quad \forall i\in V^1 \end{aligned}$$
$$\begin{aligned} \sum \limits _{j\in V^2} y_{j,i}&= \sum \limits _{s: s = (i,\dots )} z_{s} \quad \forall i\in V^1 \end{aligned}$$
$$\begin{aligned} \sum \limits _{i\in V^2} y_{j,i}&= \sum \limits _{s: s = (\dots , j)} z_{s} \quad \forall j\in V^1 \end{aligned}$$
$$\begin{aligned} \sum \limits _{i'\in V^2} y_{i',i}^{t(j)} + \sum \limits _{j'\in V^2} y_{j,j'}^{t(j)}&\ge 2 z_s \quad \forall i,j\in V^1, s=(i, \dots , j) \end{aligned}$$


We conduct long-term simulations with agents arriving and leaving the pool such as in Santos et al. (2017), (e.g. with 3-months matching runs for 3 years). We restrict our attention to maximising the size of the solutions, and do not consider scoring methods or any other objective. We conduct the simulations for the two-country case, as the effects of the cooperation for a country can already be tested on this simple setting. The instances were generated by the web app developed by James Trimble ( using the Saidman generator parameter setting available in that application.

Cooperation policies:

We consider three basic policies for international cooperation:

  1. (a)

    no cooperation: each country conducts its matching run separately.

  2. (b)

    consecutive matching: each country conducts its national run first and then the international run is conducted for the remaining pairs (as done in the Spanish–Italian–Portuguese programme).

  3. (c)

    merged pools: where the countries register all their pairs in a merged pool and a global optimisation is conducted (e.g. Austria-Czech Republic and Sweden–Norway–Denmark) while respecting local policy restrictions.

Differences between countries

Our main interest is to evaluate how the differences between the national pools and the optimisation constraints effect the benefits of the countries involved in the collaboration.

Patient availability constraints:

  1. 1.

    size of pools: size ratios being 1:1, 3:4, 1:2, 1:4.

Local policy constraints:

  1. 2.

    different upper bounds on the length of the national cycles: 2:2, 2:3, 2:4, 3:3, 3:4, 4:4.

International policy constraints:

  1. 3.

    the size of the international cycles: it is set to be the larger individual cycle bound.

  2. 4.

    the length of the segments in each country: it is set to one less than the individual cycle bound

  3. 5.

    the number of segments in each country is unrestricted (the only case which allows more than 2 segments is that of international 4-cycles, where we may allow 4 international transplants i.e. 4 segments)

In the summary tables we show how much each country is benefiting from the cooperation, as compared to the baseline setting (no cooperation).

Case Study: Simulations involving two countries

To determine the benefits of international KEPs we conduct a case study involving two countries which aim to develop a joint KEP and are concerned about the advantages and disadvantages of cooperation between their KEPs. We compare the individual benefits from the no cooperation case to the consecutive matching and merged pool scenarios. We illustrate the differences between no cooperation and merged pools cases with a small example in Fig. 1.

The simulation involves 20 instances each containing the compatibility information for 1000 patient-donor pairs. For the sake of simplicity, although our model can handle altruist donors (who start chains), for the case study we only consider the cyclic exchanges among incompatible patient-donor pairs. The reason for this choice is to be able to more clearly see the difference in cooperation (because adding chains may dramatically increase the number of transplants in any given KEP stage). The length of the considered time-frame for the simulated kidney exchange scenarios is 3 years with matching runs scheduled every 3 months for each instance. Every agent is assigned an uniformly distributed arrival time to the KEP and the patient-donor pairs stay in the KEP for a maximum of 1 year (or 4 matching runs) after which they leave the programme (which means that they opt for an alternative solution, such as having a direct ABO-incompatible transplant after desensitisation or getting a deceased organ).

Fig. 1
figure 1

Graphical illustration of two cooperating countries, each permitting at most 3-cycles. Patient-donor pairs are represented by arbitrarily labeled rectangles. Each circle configuration represents each country’s PDP pool and arcs represent planned transplants. The top side showcases the no-cooperation scenario of separate KEPs: 10/24 patients receive transplants in the left-side country, while 8/26 patients in the right-side country receive transplants. In the bottom side the pools are merged and a single optimization stage is performed for planning the transplants: the numbers are 12/24 (left) and 14/26 (right)

Fig. 2
figure 2

Plots detailing the amount of transplants during each stage of the KEP and separately for each country (country 1 on the left side and country 2 on the right). The first three rows each containin two plots showcasing a different scenario: (1:1 size, 3:3 bounds), (1:1 size, 3:2 bounds) and (2:1 size, 3:3 bounds), respectively. The bottom row describes individual relative improvement \(\frac{\text {merged transplants}}{\text {local transplants}}\) for country 1 (left) and country 2 (right)

To understand the importance of the parameters of collaboration presented in Sect. 4 we conduct a sensitivity analysis by considering most of the combinations possible. We illustrate the impact of both programme pool size and local policy constraints on the cooperation of KEPs by:

  1. 1.

    examining the stage-by-stage amount of transplants and drop-out patients of the programme in each country (see Fig. 2).

  2. 2.

    examining the total number of transplants resulting after 3 years for each participant country (see Figs. 3, 4, 5, 6 and 7).

Technical information regarding the simulations

To find the maximum number of transplants for each KEP matching problem, the state-of-the-art Gurobi solver was called from a Java implementation operating under Ubuntu 16. More specifically, a total of 11520 KEP matching problems were solved in order to obtain the comprehensive data briefly summarized in Figs. 2, 3, 4, 5, 6 and 7 and Tables 1 and 2. To achieve this, a single desktop computer (i7-7700K 4.5 GHz processor and 8 GB RAM) has run for about 22 h. Thus, the average is about 7 s for solving each matching problem.

Explanation of the figures and tables

In the first row of Fig. 2 we consider a baseline scenario where two countries have the same pool size (on average 41.6 patients arrive per stage or 500 during 3 years) and same constraints (local and international cycle bound 3, no altruist donors).

Fig. 3
figure 3

C1 and C2 have same pool sizes

Fig. 4
figure 4

C2’s pool size is half of C1’s pool size (\(\frac{C1}{C2}=\frac{2}{1}\))

Fig. 5
figure 5

Country 1 has cycle bound 2, 100% pool size

Fig. 6
figure 6

Country 1 has cycle bound 3, 100% pool size

Fig. 7
figure 7

Country 1 has cycle bound 4, 100% pool size

Then, in the second row of Fig. 2 we demonstrate the effects of local KEP constraints on the matched pairs by only changing the local constraint in country 2 (now has local cycle bound 2 and international cooperation can be done with 2-cycles and 3-cycles with only one participant patient-donor pair in country 2). Note that the patient compatibility and arrival time to the programme was not modified.

In the third row of Fig. 2, we show the impact of pool size on the number of transplants by only removing half of the patients inside the pool of country 2 (they never register to the KEP). Note that the patient compatibility and arrival time to the programme for the remaining patients was not modified.

Finally, the bottom row of Fig. 2 shows the relative improvement in the number of transplants defined as: the number of transplants obtainable by merged KEP divided by the number of transplants that would have been achieved by the respective country’s local KEP.

In every scenario the objective is simply to maximise the number of transplants. There are three settings for collaboration: no cooperation (i.e. separate KEPs, baseline scenario), consecutive matchings (each country runs a local KEP optimisation and then the remaining patient pools enter a joint KEP) and full collaboration (a single KEP for both countries).

Figs. 3, 4, 5, 6 and 7 describe the improvement resulting from merged KEP collaboration. We define as benefit of collaboration for each participating country the following ratio: the number of transplanted patients belonging to a specific country obtained from merged collaboration over the number of transplants that can be achieved without any collaboration (local KEP). In this context, a benefit of 1 means no change, while 1.5 means that the number of transplants has increased by 50%. These figures are a result of a sensitivity analysis experiment where the effects of local country bounds and size limitations are explored. The information is also displayed in numeric format in Tables 1 and 2. The listed values represent the number of performed transplants (for each country) measured at the end of the 3 year programme and the values are averages of 20 instances (each instance runs for 12 KEP stages).

Experimental results discussion

Our experiments reveal the following observations:

  1. 1.

    On average, when countries collaborate, they do not lose out in terms of total number of transplants after 3 years even without enforcing individual rationality constraints.

  2. 2.

    The merged KEP generally shows much better improvement in the number of transplants than the consecutive KEP for less restricted countries. The consecutive KEP seems more significant (closer to the merged KEP results) for more restricted cases (see 2:2 bound case in Table 1).

  3. 3.

    The size of the KEP pool is a significant factor and positively impacts all forms of collaboration (see Figs. 5, 6 and 7 and row 3 in Fig. 2).

  4. 4.

    When a smaller country (in terms of KEP pool size) collaborates with a larger country, the smaller country sees greater benefit than the larger country, while the larger country usually does not lose transplants over what they can achieve by themselves.

  5. 5.

    All things being equal, the partner with the larger KEP pool is preferred. However, the restriction level of the partner is usually more significant to the benefit gained from collaboration. For an example on how a smaller partner is preferred if they are more restricted than an equally sized partner, refer to Fig. 6: the height (benefit) at (boundsize) coordinates \((2,\frac{3}{4})\) is greater than the benefit at \((3,\frac{4}{4})\) for country 1 (left side).

  6. 6.

    Because of our policy to allow international cycles that are at most the length of the larger cycle bound of the two partners, we arrive at an interesting observation. It appears that it is better for a country to have a more restricted partner when they are both the same size. That is because the more restricted partner will underutilise his own KEP pool, allowing for international transplants that help the less restricted country to achieve a better outcome in terms of the number of their own transplants.

Table 1 Number of transplants in each country (average of 20 instances)
Table 2 Number of transplants in each country (average of 20 instances). Country 1 has fixed pool size of 100% and cycle bound 3, Country 2 has varying pool size and varying policy constraints


We studied the multi-country kidney exchange problem, where the participating countries may have different constraints and objectives on their national cycles and chains and the parts of the international cycles and chains they are involved in. We formulated IP-models to describe various reasonable conditions by extending the classical cycle- and edge-formulation models with new segment variables and with constraints linking the three types of variables. These formulations are particularly useful if some participant country has no bounds of the lengths of the cycles or altruistic chains.

In the simulation part we tested the two-country scenario focusing on the dependence of the countries’ benefits on the sizes of their pools, and their restrictions. The simulations are realistic with regard to the current practices in Europe and can provide interesting consideration for the decision makers. Let us take Spain as an example, where three-way exchanges are allowed and consider its cooperation with another European country supposing that they have the same pool size. If France is the other country with cycle-length bound 2 then France will gain around 6%. For the UK with cycle-bound 3 the gain is around 3.5%, and for the Netherlands with cycle-bond the gain is around 6%.

We briefly described the way that altruistic chains can be treated in this framework, but in a more extensive study one could consider the particular challenges and constraints related to them. In a potential follow up paper one could also extend this study by considering also the quality of the transplants, rather than only the number of transplants, which is the primary, but not the only goal of the current kidney exchange programmes.