Abstract
In kidney exchange programmes patients with endstage renal failure may exchange their willing, but incompatible living donors among each other. National kidney exchange programmes are in operation in ten European countries, and some of them have already conducted international exchanges through regulated collaborations. The exchanges are selected by conducting regular matching runs (typically every three months) according to welldefined constraints and optimisation criteria, which may differ across countries. In this work we give integer programming formulations for solving international kidney exchange problems, where the optimisation goals and constraints may be different in the participating countries and various feasibility criteria may apply for the international cycles and chains. We also conduct simulations showing the longrun effects of international collaborations for different pools and under various national restrictions and objectives. We compute the expected gains of the cooperation between two countries with different pool sizes and different restrictions on the cyclelength. For instance, if country A allows 3way cycles and country B allows 2way cycles only, whilst the pool size of country A is four times larger than the pool size of country B (which is a realistic case for the relation of Spain and France, respectively), then the increase in the number of transplants will be about 2% for country A and about 37% for country B.
Introduction
When an endstage 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 socalled 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 patientdonor pairs. The socalled virtual compatibility graph represents the patientdonor 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 welldefined 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 cyclelength limits three or more is NPhard, 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 ItalyPortugalSpain collaboration is organised in a consecutive fashion, first the national runs are conducted and then the international exchanges are sought for the remaining patientdonor pairs. A related gametheoretical model has been studied in (Carvalho et al. 2017). In the Scandinavian programme and in the PragueWien 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 longterm 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 patientdonor pairs, and not only the hardtomatch 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 patientdonor 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 AustroCzech cooperation, where Austria requires to have all exchanges simultaneously, so they allow short national cycles and short segments only, whilst in Czech Republic longer nonsimultaneous 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 twocountry 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(V, A), where the nodes \(V=\{1,2,\dots n\}\) correspond to patientdonor pairs and there is an arc (i, j) if the donor of pair i is compatible with the patient of pair j. Furthermore we have a nonnegative weight function w on the arcs, where \(w_{i,j}\) denotes the weight of arc (i, j), 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 cyclepacking 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 patientdonor 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 lsegment is a path of length \(l1\), 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

(C1)
total length of an international cycle

(C2)
length of national cycles for each country (possibly different)

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

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

(C5)
number of patientdonor pairs from a country in an international cycle

(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 edgeformulation and the cycleformulation. We will build our general IP solutions on these by using binary variables only.
Basic edgeformulation
We introduce a binary variable \(y_{i,j}\) for each arc (i, j). Finding a maximum (value) solution with cycles of length at most K can be
such that
where \(\mathcal {P}^K\) denotes the set of Klength proper directed paths (i.e. which are not cycles), and A(p) denotes the set of arcs in p.
Basic cycleformulation
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 edgeweights in the cycle, or can be defined differently.
such that
One can use the cycleformulation in our international setting after carefully searching and selecting the potential national and international cycles. We used this technique to solve the twocountry problems, described in the last section. We defer the description of the cyclesearch algorithm to the “Appendix”.
Linking the cycle, segment, and edgevariables
When the preselection 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 cycleconstraints (6) and edgeconstraints (2), we need the following sets of equations.
The above condition (7) enforces that we can only cover a node by either a national cycle or by a segment.
Conditions (8) and (9) imply the inclusion of all the edgevariables 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.
Conditions (10) and (11) imply the inclusion of all the edgevariables 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 cyclesearch 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 edgevariables as well, combined with cycle and segmentvariables. Furthermore, the usage of edge and segmentvariables can also be useful to simplify the cyclesearch algorithms and rule out the infeasible cycles by edgeformulation constraints instead. Therefore, in the following description we explain how to use the variants of the previously provided edgeformulations for achieving the required conditions.
(C1) total length of an international cycle
In case we have only this requirement may use the basic edgeformulation 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 edgeformulations, 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 (i, j), \({\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 edgevariables for each node as follows.
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.
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 segmentvariables 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 edgevariables. For instance if \(L^k\) is the upper bound for the length of segments in country k then we need the following modified edgeconstraint.
(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 edgevariables \(y_{i,j}^t\) denoting whether that edge is included in the tth 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.
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.
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 twocountry 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 tth 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 tth layer. See more about this idea at the end of this Section, where we describe the implementation of the boundedunbounded twocountry case (i.e., AustriaCzech Republic collaboration) in details.
(C5) number of patientdonor 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.
(C6) number of countries involved in an international cycle
To achieve this restriction with edgevariables, we shall define a new indicator variable for each countrylayer 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.
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.
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 nonsimultaneously), in fact, they can even be considered unbounded (aka. never ending chains (Rees et al. 2009)). In this case we shall introduce new edgevariables 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 IPmodel 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 twocountry 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 edgevariables 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.
Simulations
We conduct longterm simulations with agents arriving and leaving the pool such as in Santos et al. (2017), (e.g. with 3months 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 twocountry 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 (https://jamestrimble.github.io/kidneywebapp/#/generator) using the Saidman generator parameter setting available in that application.
Cooperation policies:
We consider three basic policies for international cooperation:

(a)
no cooperation: each country conducts its matching run separately.

(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).

(c)
merged pools: where the countries register all their pairs in a merged pool and a global optimisation is conducted (e.g. AustriaCzech 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.
size of pools: size ratios being 1:1, 3:4, 1:2, 1:4.
Local policy constraints:

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:

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

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

5.
the number of segments in each country is unrestricted (the only case which allows more than 2 segments is that of international 4cycles, 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 patientdonor 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 patientdonor 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 timeframe 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 patientdonor 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 ABOincompatible transplant after desensitisation or getting a deceased organ).
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.
examining the stagebystage amount of transplants and dropout patients of the programme in each country (see Fig. 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 stateoftheart 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 (i77700K 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).
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 2cycles and 3cycles with only one participant patientdonor 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.
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.
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.
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.
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.
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 (bound, size) coordinates \((2,\frac{3}{4})\) is greater than the benefit at \((3,\frac{4}{4})\) for country 1 (left side).

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.
Conclusion
We studied the multicountry 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 IPmodels to describe various reasonable conditions by extending the classical cycle and edgeformulation 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 twocountry 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 threeway 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 cyclelength bound 2 then France will gain around 6%. For the UK with cyclebound 3 the gain is around 3.5%, and for the Netherlands with cyclebond 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.
Notes
 1.
In addition, we can also consider altruistic donors, in which case we separate the node set into patientdonor pairs \(V_p\) and altruistic donors \(V_a\), so \(V=V_p\cup V_a\). The solution may contain exchange cycles and chains triggered by altruistic donors. The latter can be conducted nonsimultaneously, so different restrictions may apply for them. In this paper we focus on cycles, but we note that one can reduce the problem of finding chains to the problem of finding cycles by adding artificial patients to the altruistic donors, who are compatible with all donors.
 2.
In addition we can also have different constraints for altruistic chains, and we may require that an international chain may have to end in the same country where it started.
References
Abraham DJ, Blum A, Sandholm T (2007) Clearing algorithms for barter exchange markets: enabling nationwide kidney exchanges. In: Proceedings on EC ’07: the 8th ACM conference on electronic commerce. ACM, pp 295–304
Agarwal N, Ashlagi I, Azevedo E, Featherstone CR, Karaduman Ö (2018) Market failure in kidney exchange. Technical report, National Bureau of Economic Research
Andersson T, Kratz J (2016) Pairwise kidney exchange over the blood group barrier. Lund University Department of Economics Working Paper, 2016, p 11
Ashlagi I, Fischer F, Kash IA, Procaccia AD (2015) Mix and match: a strategyproof mechanism for multihospital kidney exchange. Games Econ Behav 91(Supplement C):284–296
Ashlagi I, Roth A (2012) New challenges in multihospital kidney exchange. Am Econ Rev 102(3):354–359
Ashlagi I, Roth AE (2014) Free riding and participation in large scale, multihospital kidney exchange. Theor Econ 9(3):817–863
Biró P, Haase B et al (2018) Building kidney exchange programmes in Europe—an overview of exchange practice and activities. Transplantation (to appear)
Böhmig GA, Fronek J, Slavcev A, Fischer GF, Berlakovich G, Viklicky O (2017) CzechAustrian kidney paired donation: first European crossborder living donor kidney exchange. Transpl Int 30(6):638–639
Carvalho M, Lodi A, Pedroso JP, Viana A (2017) Nash equilibria in the twoplayer kidney exchange game. Math Program 161(1–2):389–417
Constantino M, Klimentova X, Viana A, Rais A (2013) New insights on integerprogramming models for the kidney exchange problem. Eur J Oper Res 231(1):57–68
De Klerk M, Keizer KM, Claas FHJ, Witvliet M, HaaseKromwijk B, Weimar W (2005) The Dutch national living donor kidney exchange program. Am J Transplant 5(9):2302–2305
Hajaj C, Dickerson J, Hassidim A, Sandholm T, Sarne D (2015) Strategyproof and efficient kidney exchange using a credit mechanism. In: Proceedings of the twentyninth AAAI conference on artificial intelligence, pp 921–928
Klimentova X, Santos N, Pedroso JP, Viana A (2019) Fairness models for multiagent kidney exchange programs. Working paper
Manlove DF, O’Malley G (2014) Paired and altruistic kidney donation in the UK: algorithms and experimentation. ACM J Exp Algorithmics 19(2), article 2.6, 21pp
Rees MA, Kopke JE, Pelletier RP, Segev DL, Rutter ME, Fabrega AJ, Rogers J, Pankewycz OG, Hiller J, Roth AE, Sandholm T, Ünver MU, Montgomery RA (2009) A nonsimultaneous, extended, altruisticdonor chain. N Engl J Med 360(11):1096–1101
Santos N, Tubertini P, Viana A, Pedroso JP (2017) Kidney exchange simulation and optimization. J Oper Res Soc 12:1–12
Toulis P, Parkes DC (2015) Design and analysis of multihospital kidney exchange mechanisms using random graphs. Games Econ Behav 91(Supplement C):360–382
Acknowledgements
This article is based upon work from COST Action ENCKEP: European Network for Collaboration on Kidney Exchange Programmes (CA15210), supported by COST (European Cooperation in Science and Technology); see www.cost.eu.
Funding
Open access funding provided by ELKH Centre for Economic and Regional Studies.
Author information
Affiliations
Corresponding authors
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
P. Biró: Supported by the Hungarian Academy of Sciences under its Momentum Programme (LP20163/2018) and Cooperation of Excellences Grant (KEP6/2018), and by the Hungarian Scientific Research Fund – OTKA (No. K129086).
Appendix
Appendix
Hereby we describe the cyclesearch algorithm used in our simulations. An important fact is that there very little data dependency, meaning that the code is highly parallelizable. In our implementation we simply parallelize by the outermost for loop, distributing each i to a different worker thread and then collect the results back to the main thread after each worker thread is finished. We use Java and Java Threads for a simple and portable solution.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Mincu, RS., Biró, P., Gyetvai, M. et al. IP solutions for international kidney exchange programmes. Cent Eur J Oper Res 29, 403–423 (2021). https://doi.org/10.1007/s10100020007065
Published:
Issue Date:
Keywords
 Integer programming
 Kidney exchanges
 Computational simulation