Mechanism Design for a Multicommodity Flow Game in Service
Network Alliances
Richa Agarwal1 and Özlem Ergun
H. Milton Stewart School of Industrial and Systems Engineering
Georgia Institute of Technology, 765 Ferst Drive, NW, Atlanta, Georgia 30332-0205
{ragarwal, oergun}@isye.gatech.edu
Abstract
We study a collaborative multicommodity flow game where individual players own capacity
on the edges of the network and share this capacity to deliver commodities. We present membership mechanisms, by adopting a rationality based approach using notions from game theory
and inverse optimization, to allocate benefits among the players in such a game.
Keywords: Mechanism design; Multicommodity flow game; Inverse optimization
1
Corresponding author
1
1
Introduction
In the transportation industry carriers form alliances to design collaborative service networks. They
bring their assets, such as ships in sea cargo transportation, in to a pool and operate them together
to provide capacity on the edges of the network. Further, carriers use this capacity to route their
demand in the network. Collaborative networks help carriers to improve asset utilization, share
capital costs, gain economies of scale and explore new markets. This situation where multiple participants/players utilize the underlying collaborative network to simultaneously route their revenue
maximizing demand appears in other application areas as well. In the case of the internet, the
backbone infrastructure and network is provided by a set of companies, and businesses and end
users utilize the capacity on the network to route their data by paying fees to the network owner(s).
Similarly, in procurement networks where multiple commodities are sourced through common suppliers, allocating capacity appropriately among the several commodities assumes great importance
in determining the profitability of the entire system [3].
In a centralized setting, for instance when there is a single decision-maker who makes all the
decisions, a maximum multi-commodity flow problem can be solved to identify the set of demands
to satisfy and to route the demand on the network. The objective in this problem is to maximize
the revenue by simultaneously shipping different commodities in such a way that the total amount
of flow through each edge is no more than the edge’s capacity. However, in real life applications
where multiple players interact, although individual players form alliances to take advantage of
the synergies that exist among their operations, usually only part of the decisions regarding the
alliance’s operations are determined jointly. For example, given the capacities in the underlying
collaborative network, individual carriers selfishly make their own routing decisions to satisfy their
demand and maximize their own revenue. Also, they collect the revenue generated by satisfying
their own demand and exchange capacity on the assets at some pre-determined prices. Specifically,
a player does not allow other players to freely utilize his capacity. In this paper, we provide a
mechanism, an algorithmic solution adorned with side payments, to regulate the interaction among
the players by determining capacity exchange costs. These exchange prices guide the individual
players’ profit maximizing behavior towards the solution of the centralized multicommodity flow
problem. Furthermore, they lead to allocation of the total revenue among the players with desirable
properties.
Flow games were first considered by [9] and [10] for networks with a single commodity where
each arc is owned by an unique player. [5] extended the results of [10] by studying flow of multiple commodities on networks with a common source and a sink for all commodities where each
arc again assumed to be owned by an unique player. More recently, [11] studies the coalitional
multicommodity game in which players are the nodes of the given network who own capacity in
terms of the maximum flow allowed through that node. In general, the focus of these papers is
to first obtain the optimal flow in the network by solving the centralized problem using classical
linear programming methods and then allocate the revenue among the players in a “fair” way. To
define fairness, most of the work in literature utilizes the notion of the core allocation, the set of
stable and budget balance allocations. [10] and [11] utilize the dual solution to show that the core
is non-empty for the particular flow games they consider. In general, [13] shows that for any linear
programming game dual solution provides an allocation in the core.
The strategy of first computing a centralized solution to a game and then allocating the revenues
obtained by this solution assumes a centralized planner in the sense that, the individual players
have no control on the system operations and at the end they receive an overall payoff from
2
the central planner. The centralized systems are very efficient as the decision-maker chooses the
optimal solution for the collaboration and allocates the overall benefits in a fair manner so that
the collaboration is stable. However, in most settings designing fully centralized systems are not
realistic. For example, in carrier alliances the individual carriers will operate their own assets and
route their own demand incurring the relevant costs and revenues. Given that centralization is not
always possible, in decentralized system the incentives within the system must be designed in such
a way that the individual players are motivated to chose solutions that are collectively optimal for
the collaboration and the revenue obtained is close to the maximum revenue that can be obtained
with a fully centralized system. Decentralized shortest path problems have been studied from a
mechanism design point of view by for example [12] and [7]. They design second price auctions
or VCG type payment mechanisms to evaluate the cost of an edge in the network. A well known
problem with VCG auctions however is that the resulting prices may not be in the core.
In this paper, we consider a more general network as compared to the literature in the sense that
we allow multiple players to own capacity on a single edge. Our model is further differentiated from
the ones studied by [10] and [5] since we consider multiple commodities with their respective sources
and sinks. More over, the contribution of this paper is the design of a mechanism to distribute
the benefits of collaboration among the players in a decentralized setting of the multicommodity
flow game. As the players are selfish, an individual player follows a strategy which maximizes his
own revenue. We model this strategy explicitly as a linear program (LP ). The mechanism drives
each individual player’s LP towards the collaborative optimal solution using inverse optimization
techniques. Specifically, the mechanism computes capacity exchange costs on the edges of the
network so that given these costs the routing and capacity exchange decisions each player makes
selfishly results in the collaborative optimal flow. The mechanism allows a player to collect the
revenue from satisfying his own demand and charge (pay) other players for utilizing capacity owned
by him (them). We show that for the decentralized multicommodity flow game, capacity exchange
costs can always be found efficiently. Further, for a special case of the problem, i.e. when each
edge in the network has an unique owner, we prove that the net revenue received by the players
operating under the mechanism provides an allocation in the core.
The rest of the paper is organized as follows: in the next section we review some relevant key
game theoretic concepts. In Section 3 we present the formal problem definition. In Section 4 we
provide a basic core allocation. The design of the mechanism and related results are discussed in
Section 5. Our conclusions are presented in Section 6.
2
Game theory basics
A cooperative game is defined by a set N of players and a characteristic function V : 2N → R.
V(S) maps a value to every subset/coalition S ⊂ N , interpreted as the total gain the members of
S can achieve by cooperating. We assume that V(∅) = 0. The set N itself is referred to as the
grand coalition. The central problem in cooperative game theory is how to allocate the total gain
V(N ) among the individual players i ∈ N in a “fair” way. We denote an allocation/payoff vector
by x = {x1 , . . . , xn } ∈ R, where xi refers to the payoff made to player i.
One of the most prominent and widely accepted notions of fairness is the “core” of the game.
An allocation of benefits is said to be in the core if the sum of the payoffs over all players is
their maximum attainable profit (budget balance property) and no subset of players can collude
and obtain a better payoff for its members (stability property). A payoff allocation in the core
3
represents a very strong type of stability that is not threatened by its sub-coalitions. However,
frequently the core of a game is empty. Mathematically, a payoff vector x is said to be in the core
if:
X
xi = V(N )
(1)
i∈N
X
xi ≥ V(S) ∀S ⊂ N.
(2)
i∈S
Given a set of players N and a set O of possible outcomes for these players, we let v i (o) be
the valuation of outcome o for player i. The goal of mechanism design is to design an algorithm
that chooses an outcome, õ ∈ O and an n-tuple of side payments {s1 , . . . , sn } such that the total
payment, xi , to player i is xi = v i (õ) + si . The total payment is what each individual player aims
to optimize. Intuitively, a mechanism design concerns both an algorithmic ingredient (to obtain
the desirable solution) and a payment ingredient that motivates the players. This field has received
widespread attention recently and has been used successfully to develop algorithms and protocols
for inter-connected collection of computers such as on the internet. For a detailed discussion of
mechanism design we refer the reader to [12].
3
Problem definition
We define the maximum multicommodity flow (M CF ) game as follows: let G = (V, E) be a directed
graph on a set of nodes V and a set of edges E. Let N be the set of players. Each player i ∈ N
has a demand set Di where d(o,d,i) denotes the maximum amount of existing demand from node
o to node d for player i and r(o,d,i) denotes the revenue generated by delivering a unit of demand
from o to d by player i. Let ∪i∈N Di = D. Each edge e ∈ E has a capacity ce , which denotes
i
the maximum amount of flow, summed over all commodities,
P i allowed on that edge. γe denotes the
γe = 1. In the multicommodity setting,
fraction of capacity that player i owns on edge e and
i∈N
each demand triplet (o, d, i) is referred to as a different commodity. An outcome of the game is
a feasible multicommodity flow, subject to demand and capacity constraints, that maximizes the
overall revenue generated, denoted by V(N ), and an allocation, x ∈ Rn , of the total revenue among
the players. For a set S ⊂ N , we denote by V(S) the maximum revenue generated by the network
induced by players in set S.
Next, we present a linear program to compute the flow that maximizes the revenue generated
by the grand coalition. For ease of exposition, we introduce fictitious edges (d, o, i), from node
d to node o, for every commodity (o, d, i) such that the only flow allowed on edge (d, o, i) is for
(o,d,i)
commodity (o, d, i). For each (o, d, i), fe
denotes the amount of flow of commodity (o, d, i) on
4
edge e. The linear program can be written as:
(P N ) : V(N ) = max
X
(o,d,i)
f(d,o,i) r(o,d,i)
(3)
(o,d,i)∈D
such that
X
fe(o,d,i) −
{e:e∈IEdges(v)}
X
fe(o,d,i) ≤ 0
∀v ∈ V ∀(o, d, i) ∈ D
(4)
∀e ∈ E
(5)
∀(o, d, i) ∈ D
(6)
{e:e∈OEdges(v)}
X
fe(o,d,i) ≤ ce
(o,d,i)∈D
(o,d,i)
f(d,o,i) ≤ d(o,d,i)
f ≥ 0.
(7)
In (P N ), IEdges(v) denote the set of incoming edges into node v and OEdges(v) denote the
set of outgoing edges from node v. The objective function (3) maximizes the revenue obtained by
satisfying demand. Constraint (4) is a flow balance constraint at every node of the network. Note
that if these inequalities hold for each node v ∈ V then in fact they must hold with equality at
every node. Constraint (5) is a capacity constraint on each edge and constraint (6) is a demand
constraint for every commodity.
(o,d,i)
Let (DN ) denote the dual of the linear program (P N ). Let π = {πv
: π ≥ 0, ∀v ∈
V, ∀(o, d, i) ∈ D}, α = {αe : αe ≥ 0, ∀e ∈ E} and β = {β(o,d,i) : β(o,d,i) ≥ 0, ∀(o, d, i) ∈ D} be the
dual variables associated with constraints (4), (5) and (6) respectively.
4
An allocation in the core
For cooperative games when the players are concerned with an overall payoff only, utilizing the
dual optimal solution to the grand coalition’s optimization problem is a common strategy to obtain
an allocation for the players. Such a payoff vector is called a dual payoff vector and is obtained by
assigning to each player an amount which corresponds to the value of his resources, according to the
dual solution. Also, it is a well known result that for linear programming games, such as the one
we consider here, the dual payoff vectors provide an allocation in the core [13]. [10] showed that for
simple networks (single commodity flow networks where each edge has a single unit of capacity),
every core allocation corresponds to an optimal dual solution for the corresponding optimization
problem. [14] proved a similar result for a more general class of linear programming games.
Theorem 1 The core of the multicommodity flow game defined above is non-empty and a payoff
allocation in the core can be constructed in polynomial time by solving the dual program (DN ).
However, the core of this game is not fully characterized by these dual solutions.
Proof This theorem can be easily proven by considering an optimal dual solution (π, α, β) and a
payoff vector x = {x1 , . . . , xn } such that the payoff to player i is:
X
X
xi =
γei ce αe +
d(o,d,i) β(o,d,i) .
(8)
e∈E
(o,d,i)∈Di
Next, we provide an example to show that the core of the M CF game cannot be fully characterized
by the dual payoff vector (8). Consider a network with two nodes 1 and 2 and edge (1,2). Consider
5
two players A and B such that player A owns 2 units of capacity on edge (1,2) and player B has
a unit demand from 1 to 2 generating a unit revenue. Clearly, the optimal solution value is one
unit and (xA = 0.5, xB = 0.5) is an allocation in the core. However this payoff vector does not
correspond to any dual payoff vector (8) since every dual payoff vector will assign zero units to
player A.
5
Mechanism design
In a M CF game, players collaborate by sharing capacity on the edges of the network. Let the
optimal collaborative flow in the network be f ∗ , an optimal solution to (P N ). In many applications,
given an optimal flow in the network, players are concerned with not only their overall payoffs
but also the flow decisions. For example when carriers collaborate in transportation networks,
each carrier collects the revenue from his customers by satisfying their demand and evaluates the
P
∗(o,d,i)
valuation of solution f ∗ for himself as v i (f ∗ ) =
r(o,d,i) f(d,o,i) . Note that it is in the
(o,d,i)∈Di
best interest of the collaboration that players make their demand routing and capacity exchange
decisions as implied by f ∗ . However, the computation of optimal flow f ∗ ignores the ownership of
capacity on the edges by the players. That is, it assumes the players readily exchange capacity on
the edges of the network.
We now present a mechanism that provides incentives to the players to route their flows and
exchange capacity among themselves as prescribed by f ∗ . The incentive is provided in the form
of capacity exchange costs, denoted by the vector cost. Capacity exchange costs provide side
payments, on top of the valuations v i (f ∗ ), to the players to guide their selfish behaviors towards
the optimal solution f ∗ . That is, the net profit generated by a player i is calculated by adding
v i (f ∗ ) to the money player i receives from the other players using capacities on his edges minus
the money i pays to others for using their capacities. We present a linear program, representing
the perspective of an individual player, that makes routing decisions for each player in order to
maximize the net profit for the player. Further, we utilize inverse optimization techniques and
calculate capacity exchange costs so that f ∗ becomes the optimal solution for all the individual
player’s LP 0 s.
5.1
Single player problem
The key difficulties in modelling the individual player’s perspective in an alliance are in determining:
how should the player account for the flow of other players in the network and what portion of their
capacities can he use for routing his own flow. We model the individual perspective of a player as
a linear program. We assume that if a player i owns γei fraction of capacity on edge e then he is
allowed to collect γei fraction of the cost payed by other players for using capacity on edge e. We
model an individual player’s perspective by assuming that he can route all the flow in the network
to maximize his profit. However in practice, an individual player can only make decisions regarding
his own flow. In this sense our approach is a conservative one, since the maximum revenue that
player i can obtain will always be less than the optimal value of this model. However, as described
later, this model leads to allocations with desirable properties. In mathematical terms we represent
6
the optimization problem solved by player i in the alliance as:
X
X
X
(o,d,i)
i
(P S ) : max
f(d,o,i) r(o,d,i) +
coste γei
fe(o,d,i) − 1 − γei
(o,d,i)∈Di
such that
(o,d,i)∈D
/ i
e∈E
X
X
fe(o,d,i) −
e:e∈IEdges(v)
fe(o,d,i) ≤ 0 ∀v ∈ V
X
fe(o,d,i)
(9)
(o,d,i)∈Di
∀(o, d, i) ∈ D
(10)
∀e ∈ E
(11)
∀(o, d, i) ∈ D
(12)
e:e∈OEdges(v)
X
fe(o,d,i) ≤ ce
(o,d,i)∈D
(o,d,i)
f(d,o,i) ≤ d(o,d,i)
f ≥ 0.
(13)
The objective function (9) consists of three terms. The first term maximizes the revenue generated by satisfying demand. The second term computes the cost paid to player i by other players
for using capacity on an edge owned by player i. Similarly, the third term represents the cost paid
by player i to other players for using capacity on their edges. Constraints (10)-(13) are network
flow constraints.
5.2
Computation of allocations using inverse optimization
Our aim is to motivate player i so that the collaborative solution f ∗ is attractive to him. To this
end, we wish to identify a vector cost such that f ∗ is optimal for P S i . The problem fits well in
the inverse optimization framework where given a feasible solution (flow vector f ∗ ) to the problem,
we wish to identify the parameters of the problem (cost vector cost) which will make the given
solution (f ∗ ) optimal for the problem. Inverse problems have been studied in a variety of fields
such as portfolio optimization [4] and traffic equilibrium [6]. [2] provides a unified framework for
studying many inverse optimization problems on networks such as the shortest path problem, the
assignment problem and the minimum cut problem.
Let (π i ), (αi ) and (β i ) denote the dual variables associated with constraints (10), (11) and
(12) respectively and (DP S i ) denote the dual program corresponding to (P S i ). Note that we
use super-script i to denote that the dual is corresponding to player i’s LP . One form of the
linear programming optimality conditions states that the primal solution f ∗ and a dual solution
(π i , λi , ω i ) are optimal for their respective problems if f ∗ is feasible for (P S i ) and (π i , λi , ω i ) is
feasible for (DP S i ), and together they satisfy the complementary slackness conditions. We say
that a cost vector, cost, is inverse feasible with respect to f ∗ if f ∗ is an optimal solution to
(P S i ) with cost vector cost. Let E denote the set of edges that are utilized at full capacity in
P ∗(o,d,i)
flow f ∗ (that is, E = {e ∈ E :
fe
= ce }), D denote the set of demands that are fully
(o,d,i)
∗(o,d,i)
satisfied (that is, D = {(o, d, i) ∈ D : f(d,o,i) = d(o,d,i) }), and F denote the set of non zero flow
∗(o,d,i)
vectors (that is, F = {fe
∗(o,d,i)
: fe
> 0}). Using the above notation following gives us a
7
characterization of the inverse feasible cost vector for player i:
(I i ) : (π i )(o,d,i)
− (π i )(o,d,i)
+ (αi )e ≥ −(1 − γei )coste (o, d, i) ∈ Di e ∈ E : fe∗(o,d,i) ∈
/F
v
u
(π i )(o,d,i)
v
− (π i )(o,d,i)
+ (αi )e = −(1 − γei )coste (o, d, i) ∈ Di e ∈ E
u
(π i )(o,d,i)
− (π i )(o,d,i)
+ (αi )e ≥ γei coste (o, d, i) ∈
/ Di e ∈ E
v
u
(π i )(o,d,i)
− (π i )(o,d,i)
+ (αi )e = γei coste (o, d, i) ∈
/ Di e ∈ E
v
u
(o,d,i)
(π i )(o,d,i)
− (π i )d
+ (β i )(o,d,i) ≥ r(o,d,i) (o, d, i) ∈ Di
o
(o,d,i)
(π i )(o,d,i)
− (π i )d
o
(o,d,i)
(π i )d
(14)
∈F
(15)
∈
/F
(16)
∈F
(17)
∈
/F
(18)
∈F
(19)
∈
/F
(20)
∈F
(21)
(αi )e = 0 ∀e ∈
/ E (β i )(o,d,i) = 0 ∀(o, d, i) ∈
/D
(22)
:
:
:
:
+ (β i )(o,d,i) = r(o,d,i) (o, d, i) ∈ Di :
− (π i )(o,d,i)
+ (β i )(o,d,i) ≥ 0 (o, d, i) ∈
/ Di :
o
(o,d,i)
(π i )(o,d,i)
− (π i )d
o
(π i )(o,d,i)
v
fe∗(o,d,i)
fe∗(o,d,i)
fe∗(o,d,i)
∗(o,d,i)
f(d,o,i)
∗(o,d,i)
f(d,o,i)
∗(o,d,i)
f(d,o,i)
∗(o,d,i)
f(d,o,i)
≥ 0 ∀v ∈ V, ∀(o, d, i) ∈ D ;
+ (β i )(o,d,i) = 0 (o, d, i) ∈
/ Di :
i
(α )e ≥ 0 ∀e ∈ E ;
i
(β )(o,d,i) ≥ 0 ∀(o, d, i).
(23)
Thus the inverse problem for player i is to find a dual solution and a cost vector that satisfies
constraints (14) -(23). Constraints (14) - (17) are the dual feasibility and complementary slackness
conditions for the flow variables corresponding to each demand triplet and each edge of the network.
The first two constraints correspond to the demand owned by player i and the next two constraints
correspond to the demand owned by the other players. Similarly, constraints (18) - (23) are the dual
feasibility and complementary slackness conditions for the flow variables corresponding to demand
triplets and the fictitious edges of the network. Constraints (18) - (21) correspond to the demand
owned by player i and the last two constraints are for the demand owned by other players. Recall
that our aim is to determine a cost vector such that the flow f ∗ , as given by the optimal solution
to (P N ), is optimal for all single player problems (P S i ). Extending the above arguments for all
the players gives us the following characterization of the inverse feasibility problem to determine
the vector cost
(IN V P ) : ∪i∈N (I i ).
(24)
Thus the inverse problem IN V P is the union of all the individual players’ inverse problems connected together with the common cost vector.
To prohibit players from colluding to form sub coalitions, we require a cost vector such that for
any subset S ⊂ N of players f ∗ is an optimal solution for the corresponding problem P S S . However,
there are an exponential number of such subsets and including the inverse problem corresponding
to each of them in IN V P will cause IN V P to become exponential in size. The next theorem shows
that it is sufficient to consider only individual players’ problems in IN V P to determine a suitable
cost vector.
Theorem 2 The inverse problem (IN V P ) identifies a cost vector such that f ∗ is optimal for any
P S S such that S ⊂ N .
Proof Let (π i∗ )i∈N , (αi∗ )i∈N , (β i∗ )i∈N , cost∗ denote a feasible solution to IN V P . Consider a
S corresponding to the problem P S S
subset S ⊂ N . Our claim is that for the inverse
problem,
P i∗
P i∗I ,P
(π ), (α ), (β i∗ ), cost∗ is a feasible solution.
modeling the selfish behavior of subset S,
i∈S
i∈S
That is, cost∗ is inverse feasible for I S . Let,
8
i∈S
(π S∗ ) =
X
(π i∗ )
i∈S
X
S∗
(α ) =
(αi∗ )
i∈S
S∗
(β ) =
X
(β i∗ ).
i∈S
Consider a constraint similar to (14) for the inverse problem I S . Let (o, d, k) ∈ Dk , k ∈ S and
∈
/ F . Since (π i∗ )i∈N , (αi∗ )i∈N , (β i∗ )i∈N , cost∗ is a feasible solution for IN V P we have:
∗(o,d,k)
fe
(π k∗ )(o,d,k)
− (π k∗ )(o,d,k)
+ (αk∗ )e ≥ −(1 − γek )cost∗e
v
u
(π i∗ )(o,d,k)
− (π i∗ )(o,d,k)
+ (αi∗ )e ≥ γei cost∗e i 6= k, i ∈ S.
v
u
After summing these inequalities and rearranging the terms we get:
X
X
X
X
k∗ (o,d,i)
k∗
(π i∗ )(o,d,i)
−
(π
)
+
(α
)
≥
−(1
−
γei )cost∗e .
e
v
u
i∈S
i∈S
i∈S
(25)
i∈S
∗(o,d,k)
If for demand (o, d, k) and edge e, fe
∈ F then in IN V P constraints corresponding to
∗(o,d,k)
fe
will be at equality and hence we will get equality in (25). Similarly, (π S∗ ), (αS∗ ), (β S∗ ), cost∗
satisfies other constraints in I S . Since our choice of S was arbitrary this holds for every subset
S ⊂ N . Thus it is enough to consider only the inverse problems corresponding to individual players
in IN V P to determine a cost vector that also prevents collusion among subsets of players.
To summarize, the inverse problem is a feasibility problem to identify the cost vector cost∗ and
the overall payoff assigned by our mechanism to player i is:
X
∗(o,d,i)
xi =
r(o,d,i) f(d,o,i) + si
(26)
(o,d,i)∈Di
where the vector of side payments is
X
X
i
∗
s =
coste γei
fe∗(o,d,i) − 1 − γei
e∈E
(o,d,i)∈D
/
The vector of payoffs (26) is such that
P
X
fe∗(o,d,i)
∀i ∈ N.
(27)
(o,d,i)∈Di
xi = V(N ). This is easy to see since once a feasible
i∈N
solution is found for IN V P , the flow in the network is same
the optimal flow f ∗ . Also note that
P as
1
2
n
i
the vector of side payments {s , s , · · · , s } is such that
s = 0. Next, we prove that the inverse
i∈N
problem IN V P is feasible and thus the mechanism can always be used to find a cost structure on
the edges of the network.
Theorem 3 The inverse problem IN V P is feasible.
(o,d,k)
Proof For every inverse problem I i , let (y i )(o,d,k) ∀(o, d, k) ∈ D and (f i )e
∀e ∈ E, ∀(o, d, k) ∈
D denote dual variables for constraints corresponding to (18)-(21) and constraints (14)-(17) respectively. The dual for IN V P can then be written as:
X X
(DIN V P ) : max
r(o,d,i) (y i )(o,d,i)
i∈N (o,d,i)∈Di
9
X
such that
X
(f i )(o,d,i)
−
e
e:e∈IEdges(v)
(f i )e(o,d,i)
e:e∈OEdges(v)
(v,o)
+χ
(y i )(o,d,i) − χ(v,d) (y i )(o,d,i) ≤ 0 ∀v ∈ V, ∀(o, d) ∈ D, ∀i ∈ N
X
≤ 0 ∀e ∈ E, ∀i ∈ N
(f i )(o,d,i)
e
(o,d,i)∈D
X
X
1−
i∈N (o,d,i)∈Di
γei
(f i )(o,d,i)
e
−
X
X
γei (f i )(o,d,i)
≤ 0 ∀e ∈ E
e
i∈N (o,d,i)∈D
/ i
(y i )(o,d,i) ≤ 0 ∀(o, d, i) ∈ D, ∀i ∈ N
(y i ) ≥ 0, (f i ) ≥ 0 ∀i ∈ N.
χ(u,v) is an indicator function such that χ(u,v) = 1 if u = v and 0 otherwise. Clearly the zero vector
is a feasible solution to DIN V P and the optimal objective value is also zero (note that the last
two constraints imply that (y i )(o,d,k) = 0 for all feasible solutions of DIN V P ). Since DIN V P has
a finite optimal value, from duality theory we get that its dual IN V P is feasible.
5.3
Multicommodity flow game with a unique owner on each edge
In this section, we consider a special case of the multicommodity flow game in which for every edge
of the network, the capacity on the edge belongs to an unique player. We denote by E i the set of
edges owned by player i. For this case, Theorem 4 states that the payoff allocation (26) made by
our mechanism is an allocation in the core.
Theorem 4 If each edge of the network has an unique owner, the payoff vector x = {x1 , . . . xn }
where xi is given by (26) lies in the core of the multicommodity flow game.
Proof Recall that the payoff obtained by the mechanism is budget balance. Hence, we only need to
show the stability of payoff for every subset S ⊂ N . Consider a subset S of players. The maximum
revenue that the players in S can achieve on their own is denoted by V(S). It is obtained by
considering a linear program (P S ) (similar to program (P N ) in Section 3) on the network induced
by the players in set S. Let us denote the dual for linear program (P S ) as
XX
X X
(DS ) : V(S) = min
ce αe +
d(o,d,i) β(o,d,i)
(28)
i∈S e∈E i
i∈S (o,d,i)∈Di
such that πv(o,d,i) − πu(o,d,i) + α(u,v) ≥ 0 ∀(u, v) ∈ ∪i∈S E i , (o, d, i) ∈ ∪i∈S Di
(o,d,i)
πo(o,d,i) − πd
(29)
+ β(o,d,i) ≥ r(o,d,i) ∀(o, d, i) ∈ ∪i∈S Di
(30)
πv(o,d,i) ≥ 0 ∀v ∈ V, ∀(o, d, i) ∈ ∪i∈S Di ; αe ≥ 0 ∀e ∈ ∪i∈S E i
(31)
i
(32)
β(o,d,i) ≥ 0 ∀(o, d, i) ∈ ∪i∈S D .
As proved in Theorem (2), (π S∗ , αS∗ , β S∗ , cost∗ ) is a feasible solution for I S . We will show
that (π S∗ , αS∗ , β S∗ ) is a feasible solution for (DS ). Since (π S∗ , αS∗ , β S∗ ) is feasible for (I S ), for
(o, d, i) ∈ Di , i ∈ S we have
(o,d,i)
(π S∗ )(o,d,i)
− (π S∗ )d
o
+ (β S∗ )(o,d,i) ≥ r(o,d,i) .
10
(33)
This is easy to see by considering constraints corresponding to constraints (18) and (19) in I S .
Similarly, in the network induced by the players in S, for an edge e ∈ E k , and (o, d, i) ∈ Di such
that k, i ∈ S we have (by considering constraints corresponding to constraints (14) and (15) in I S )
X (34)
(π S∗ )(o,d,i)
− (π S∗ )(o,d,i)
+ (αS∗ )e ≥ − 1 −
γej cost∗e .
v
u
j∈S
Since player k is the unique owner of edge e, γek = 1 and thus right hand side in (34) is zero.
⇒ (π S∗ )(o,d,i)
− (π S∗ )(o,d,i)
+ (αS∗ )e ≥ 0.
u
v
(35)
Equation (33) and (35) suggest that (π S∗ , αS∗ , β S∗ ) satisfies (29)-(32).
XX
X X
⇒
ce (αS∗ )e +
d(o,d,i) (β S∗ )(o,d) ≥ V(S).
i∈S e∈E i
(36)
i∈S (o,d,i)∈Di
Since d(o,d) ≥ 0, ce ≥ 0, (αS∗ ) ≥ 0 and (β S∗ ) ≥ 0 we have
XX
i∈N e∈E i
ce (αS∗ )e +
X
X
d(o,d,i) (β S∗ )(o,d,i) ≥
i∈N (o,d,i)∈Di
XX
i∈S e∈E i
ce (αS∗ )e +
X
X
d(o,d,i) (β S∗ )(o,d,i) (37)
i∈S (o,d,i)∈Di
xi from strong duality applied to (P S S ) and (DP S S ).
i∈S
P i
From (36), (37) and above argument we get
x ≥ V(S).
but left hand side in (37) is same as
P
i∈S
6
Concluding remarks
In this paper we presented a mechanism that regulates the interactions among the players in
a multicommodity flow game. This scheme can be used in transportation and communications
systems when multiple businesses and organizations use a collaborative service network to deliver
goods. The mechanism provides capacity exchange costs on the edges of the network to motivate
a player who owns the capacity on an edge to sell it to a player who can utilize that capacity
to satisfy his own demand. Also the mechanism allows players to keep the revenue obtained by
satisfying their demand in a collaborative solution. In a special case, when each of the network
edges is owned by an unique player we show that the allocation made by our mechanism provides
an allocation in the core.
We considered a particular behavioral model to capture the selfish perspective of an individual
player. Other behavioral models have also been considered in [1] and [8]. Different behavioral
models lead to different capacity exchange prices with different properties. For further details on
comparison of different behavioral models we refer the reader to [1]. Whether the payoff given
by (26) provides an allocation in the core or not in the general case, that is when the edges have
multiple owners, remains an open question.
7
Acknowledgments
Özlem Ergun was supported in part under NSF grants DMI-0238815 and DMI-0427446.
11
References
[1] R. Agarwal, L. Houghtalen, O. Ergun, and O. Ozener. Collaboration in cargo routing. Working
paper, 2006.
[2] R. K. Ahuja and J. B. Orlin. Inverse optimization. Operations Research, 49(5):771–783, 2001.
[3] T. S. Chandrashekar and Y. Narahari. Procurement network formation: A cooperative game
approach. Working paper, 2006.
[4] R. Dembo and D. Rosen. The practice of portfolio replication: A practical overview of forward
and inverse problems. Annals of Operations Research, 85(0):267–284, 1999.
[5] J. J. M. Derks and S. H. Tijs. Stable outcomes for multicommodity flow games. Methods of
Operations Research, 50:493–504, 1985.
[6] R. Dial. Minimal revenue congestion pricing Part II: An efficient algorithm for the general
case. Transportation Research, 34:645–665, 2000.
[7] J. Hershberger and S. Suri. Vickery prices and shortest paths: What is an edge worth? In
Annual IEEE Symposium on Foundation of Computer Science, 2001.
[8] L. Houghtalen, O. Ergun, and J. Sokol. Designing allocation mechanisms for carrier alliances.
Working paper, 2006.
[9] E. Kalai and E. Zemel. Generalized network problems yielding totally balanced games. Operations Research, 30(5):998–1008, 1981.
[10] E. Kalai and E. Zemel. Totally balanced games and games of flow. Mathematics of Operations
Research, 7(3):476–478, 1982.
[11] E. Markakis and A. Saberi. On the core of the multicommodity flow game. In EC ’03:
Proceedings of the 4th ACM conference on Electronic commerce, pages 93–97. ACM Press,
New York, USA, 2003.
[12] N. Nisan and A. Ronen. Algorithmic mechanism design. Games and Economic Behavior,
35:166–196, 2001.
[13] G. Owen. On the core of linear production games. Mathematical Programming, 9(3):358–370,
1975.
[14] D. Samet and E. Zemel. On the core and dual set of linear-programming games. Mathematics
of Operations Research, 9(2):309–316, 1984.
12
© Copyright 2026 Paperzz