1. Introduction
Just as network flows generalize bipartite matchings, the stable marriage problem can be generalized to stable flows. An acyclic network model was presented by Ostrovsky [
1], while Fleiner [
2] introduced a stable flow model where the network is not necessarily acyclic. The aim of this paper is to extend the model of Fleiner to multicommodity flows, but first we briefly describe his model and results.
An instance of the stable flow problem consists of a network on digraph with and capacities , and additionally for each node a linear order on the arc set incident to v. We assume that s has no incoming arcs and t has no outgoing arcs. The network along with the set of these preference orders is called a network with preferences. We note that outgoing arcs are never compared with incoming arcs, so the information that we really need is a linear order on the set of outgoing arcs and one on the set of incoming arcs .
We refer to directed walks simply as
walks in this paper. Let
f be a flow of network
. A walk
is said to
block f if the following hold:
- (i)
each arc is unsaturated in f,
- (ii)
or there is an arc for which and ,
- (iii)
or there is an arc for which and .
A flow is called
stable if there is no walk blocking it. Note that this definition is slightly different from the one in [
2], but it is equivalent.
The problem can be motivated by a network trading model: the nodes are traders that can buy and sell amounts of a certain product along the arcs of the digraph, and have preferences with whom they would like to trade ( means that trader v prefers trading along to trading along a). A blocking walk represents a possible chain of transactions that offers a better selling option for the first trader of the walk than the current f, and also offers a better buying option for the last trader. In this interpretation, nodes s and t represent the producers and the consumers.
Since it will be convenient in the proofs to consider only finitely many walks, we introduce a finite subclass of walks that already determines stability. A walk is called a quasi-path if is a path. It is easy to see that every blocking walk contains a blocking quasi-path, so we may restrict the condition of stability to quasi-paths.
Fleiner [
2] proved the following result, by reducing the stable flow problem to the stable allocation problem of Baïou and Balinski [
3]. A different proof based on the Gale–Shapley algorithm, as well as an extension to flows over time, was given by Cseh, Matuschke, and Skutella [
4].
Theorem 1.1 (Fleiner [
2])
. Every network with preferences has a stable flow. If the capacities are integral, then there is an integral stable flow.
1.1. Stable Multicommodity Flows
In this paper we present a way to include multiple commodities in the above network trading model. In the multicommodity setting, every arc has individual capacities for specific commodities as well as a cumulative capacity, and each trader has a preference order for each commodity on the possible buyers and sellers, so the preferred trading partners may be different for different commodities. In addition, for each trading pair (i.e., arc in D) there is a preference order on the commodities, which expresses that the pair is more inclined to trade certain goods than others.
A blocking walk in our model represents a chain of transactions for a specific commodity, with which the first and the last trader of the walk would be more pleased than before (the chain may also start at the producers, or end at the consumers), and each intermediate transaction either corresponds to an arc with free capacity or it can replace the trade of a less preferred commodity.
The formal definitions are as follows. The network consists of a digraph with capacities (these will be called cumulative capacities, in order to distinguish from capacities of individual commodities). There are ℓ commodities, and each has its own capacity bound (). Each commodity has a source and a sink . Sources and sinks of different commodities may coincide, but we assume that is 0 on every arc entering and on every arc leaving .
For each commodity , there are linear orders for each node on the arc set incident to v. In addition, for each arc there is a linear order on the set of commodities. The network, together with these preference orders, is called a multicommodity network with preferences.
We say that is a feasible multicommodity flow of the network if satisfies Kirchhoff’s law at every node except at and , for every and , and for every .
A walk
is said to be
blocking with respect to commodity j if the following hold:
- (i)
each arc is unsaturated by , that is, ,
- (ii)
or there is an arc for which and ,
- (iii)
or there is an arc for which and ,
- (iv)
if an arc of P is saturated by f, i.e., , then there is a commodity such that and .
The last condition expresses that a chain of transactions can be blocking even if some of them have to replace transactions of other commodities, provided that the latter are less preferred commodities for the trading pairs.
A feasible multicommodity flow is called stable if there is no walk blocking it. As in the single flow case, it is enough to prohibit blocking quasi-paths, since each blocking walk contains a blocking quasi-path.
Remark. It can be decided in polynomial time if a feasible multicommodity flow is stable. To see this, we show that for a given commodity j and nodes , checking whether there is a blocking walk from u to v with respect to commodity j can be done in polynomial time. Conditions (i) and (iv) restrict the possible arcs that can appear in the walk. Among these, condition (ii) determines which arcs can be the starting arcs of the walk, and condition (iii) determines the possible ending arcs. Any -walk using only these arcs is automatically blocking, and we can use BFS to decide if such a walk exists.
Before proving the main result on the existence of stable multicommodity flows, we describe a version of Sperner’s Lemma that serves as the main tool in our proof.
1.2. A Polyhedral Version of Sperner’s Lemma
The following polyhedral version of Sperner’s Lemma was introduced in [
5], and it was used in [
6] to give an alternative proof of Theorem 1.1. An
extreme direction of a polyhedron is an extreme ray of its characteristic cone. For a colouring of the facets of a pointed polyhedron
P, a vertex of
P is
multicoloured if it lies on facets of every colour.
Theorem 1.2 ([
5])
. Let be an n-
dimensional pointed polyhedron whose characteristic cone is generated by n linearly independent vectors. If the facets of the polyhedron are coloured with n colours such that facets containing the i-
th extreme direction do not get colour i,
then there is a multicoloured vertex.
We note that there is no known polynomial algorithm to find a multicoloured vertex; in fact, it is shown in [
7] that this problem is PPAD-complete.
2. Existence of a Stable Multicommodity Flow
Theorem 2.1. In every multicommodity network with preferences there exists a stable multicommodity flow.
Proof. Let us consider a multicommodity network with preferences, as defined in
Section 1.1. Let
denote the set of all quasi-paths, and for an arc
let
be the set of quasi-paths that contain
a. Furthermore, for a node
, let
and
denote the set of quasi-paths that start and end at
v, respectively.
Let us introduce the variables () and (). Given a set of quasi-paths , we use the notation for .
These variables do not have a clear meaning in terms of the problem that we want to solve; in order to help understanding their role, we describe the overall structure of the proof. We will define a full-dimensional polyhedron Π in the space of these variables that satisfies the conditions of Theorem 1.2, and has the property that we remain in Π if we decrease a coordinate
or if we increase it to 0, and we remain in Π if we increase a coordinate
or if we decrease it to
. In place of Kirchhoff’s law, we use the inequalities that at every node in
the incoming
is at most the outgoing
, and the outgoing
is at most the incoming
. The face
corresponds to the set of multicommodity flows. We will prove the following:
We can define a suitable colouring of the facets of Π such that any multicoloured vertex of Π is on the face F,
We show that a multicoloured vertex corresponds to a stable multicommodity flow. This is where the variables (where P has length at least 2) play a role: in some sense, they correspond to possibilities of changing a feasible solution along a blocking quasi-path.
Let us turn to the details of the proof. We consider the polyhedron Π described by the following inequalities:
First let us determine the set of extreme directions of Π. Clearly for and for give infinite directions. Since is bounded from above and from below, there is no infinite direction that is not in the cone of the above. So the number of extreme directions equals the dimension.
Now let us assign colours (that is, variables, since each variable corresponds to an extreme direction of Π) to each inequality:
to an inequality of type (
1) or type (2) we assign
,
to an inequality of type (3) we assign for a longest possible quasi-paths ,
to an inequality of type (4) we assign for a quasi-path in which the outgoing arc from v is smallest possible in the order from , and among these, we choose P to be one of the longest quasi-paths,
to an inequality of type (5) we assign for a quasi-path in which the incoming arc to v is smallest possible in the order from , and among these, we choose P to be one of the longest quasi-paths,
to an inequality of type (6) we assign where j is the commodity that is smallest in the order among those with nonempty , and from we choose P to be one of the longest quasi-paths.
Since the assigned colour of each inequality is a coordinate with nonzero coefficient, the colouring fulfils the criteria of Theorem 1.2. Thus there exists a multicoloured vertex of Π.
Claim 2.2. , and for every .
Proof. Suppose that is negative for some . Then by increasing to zero we get a vector that is still in Π, because every inequality where has positive coefficient is also present with the coefficient changed to zero (except for the inequalities where , but changing the coefficient of in those to zero is satisfied too since and are nonnegative). On the other hand we know that is an infinite direction, so could not have been a vertex. Thus is nonnegative for every and . Similarly we get that for every and . ◊
Claim 2.3. for every arc and .
Proof. Since
is multicoloured, there is a tight inequality that has colour
. If this inequality is of type (
1), then using Claim 2.2 we have
, thus equality holds. If the tight inequality is of type (2) for some
, then by Claim 2.2,
, so equality holds again. ◊
Claim 2.4. For every , for every quasi-path P that has at least 2 arcs.
Proof. Suppose that for a quasi-path , where . Let Q be the one-arc path and let R be the quasi-path .
Consider the inequality that satisfies with equality and has colour . It cannot be of type (3), since because of P, we would not have chosen as colour. It also cannot be of type (4) or type (6) for the same reason. Thus it is of type (5). This means that there exists some and for which . Using Claim 2.2, this holds also for the whole sets and , that is, .
Using
, and considering the sum of inequalities of type (2) for the arcs in
, we get
By the same argument for the subwalk
R, we get
which is a contradiction. ◊
We obtained that
is positive only on the arcs (that is, on quasi-paths of length 1), and by Claim 2.3,
for every arc
a and every
. By inequalities (4) and (5), we have
for every
, so
is a flow. By inequality (3), it satisfies the capacity constraints for commodity
j, and by inequality (6),
satisfies the cumulative capacity constraints, so it is a feasible multicommodity flow. We are done by proving our last claim.
Claim 2.5. No quasi-path blocks with respect to any commodity.
Proof. Let be an arbitrary quasi-path and j an arbitrary commodity. Since is a multicoloured vertex, there is a tight inequality of colour . If it is of the form (3), then the arc a is saturated for commodity j, so P does not block with respect to commodity j.
If it is of the form (4) for node , and , then whenever and . Thus , because if was positive, then adding to this tight inequality would not hold for , although it is also an inequality of the system. This implies that P does not block the flow with respect to commodity j.
The case when the tight inequality of colour is of type (5) is analogous. Finally, if the inequality of colour is of type (6), then the arc a is saturated, and furthermore whenever since is selected as colour. This implies that whenever : if would hold, then by adding a to we would obtain an inequality that is violated by . Again, this means that P is not blocking for commodity j. ◊
We obtained that there is no blocking quasi-path, so is a stable multicommodity flow. □
We remark that even if the capacities are integer, there might be no integer stable multicommodity flow. In fact, for any integer N there is an instance where there is no stable solution with denominators at most N. As an example, consider the network consisting of nodes and arcs (), where we use the notation . There are n commodities; the sources and sinks are defined by , , and the capacity is 1 on all arcs except for where it is 0. This means that commodity j has a unique quasi-path from to , namely , so the preference orders at the nodes do not play any role. The cumulative capacity c is 1 everywhere. The preference order at arc is defined by (commodity i does not appear in the ordering because it has capacity 0 on this arc). We claim that the only stable multicommodity flow is obtained by setting on every arc a except for . Indeed, the all-zero flow is not stable, and if f is a nonzero feasible multicommodity flow different from the above, then there must be an index j such that commodity j has positive flow and the arc is unsaturated. It can be checked that the path is blocking with respect to commodity .
3. PPAD-Hardness
In this section, we prove that it is PPAD-hard to find a stable multicommodity flow. This is true even if the digraph is acyclic, a special case relevant for example in economic applications like supply chains (see [
1]). The problem that we reduce to it is the following stable fractional hypergraph matching problem. We are given a hypergraph
, and for every node
a linear order
on the hyperedges containing
v. A
fractional matching of
H is a vector
such that
A fractional matching is
stable if for every
there exists
for which
Kintali
et al. [
8] showed that finding a stable fractional hypergraph matching is PPAD-complete. We reduce this problem to the stable multicommodity flow problem in order to prove the following theorem.
Theorem 3.1. It is PPAD-hard to find a stable multicommodity flow in a multicommodity network with preferences, even if the network is acyclic.
Proof. Let be an instance of the stable fractional hypergraph matching problem. We use the notation and . We construct a network whose node set consists of nodes () and (). There are m commodities, one corresponding to each hyperedge , with source and sink . The arc set of the network contains the arcs () with cumulative and individual capacities all 1. Furthermore for each hyperedge e, whose elements are with increasing indices, we add the arcs , , . On these edges we set the cumulative capacity and the capacity of the commodity e to 1, and the other individual capacities to 0.
By the construction, each commodity has only one possible path, so we do not have to define precedence orderings for the nodes. In addition, only the arcs can be used by more than one commodity, so it is enough to define precedence orderings for these arcs: let the ordering be the same as .
It is easy to see that the feasible multicommodity flows of this network correspond to the fractional matchings of the hypergraph H. Furthermore, the stability of a multicommodity flow is equivalent to the stability of the corresponding fractional matching. Since the constructed network is acyclic, this proves the theorem. □