Angewandte Mathematik und Optimierung Schriftenreihe Applied Mathematics and Optimization Series AMOS # 17(2014)
Armin Fügenschuh, Konstanty Junosza-Szaniawski, and Sławomir Kwasiborski
The Reservation-Allocation Network Flow Problem
Herausgegeben von der Professur für Angewandte Mathematik Professor Dr. rer. nat. Armin Fügenschuh Helmut-Schmidt-Universität / Universität der Bundeswehr Hamburg Fachbereich Maschinenbau Holstenhofweg 85 D-22043 Hamburg Telefon: +49 (0)40 6541 3540 Fax: +49 (0)40 6541 3672 e-mail:
[email protected] URL: http://www.hsu-hh.de/am Angewandte Mathematik und Optimierung Schriftenreihe (AMOS), ISSN-Print 2199-1928 Angewandte Mathematik und Optimierung Schriftenreihe (AMOS), ISSN-Internet 2199-1936
The Reservation-Allocation Network Flow Problem 1
2
Armin Fügenschuh , Konstanty Junosza-Szaniawski , and Sªawomir Kwasiborski 1
2
Helmut Schmidt University / University of the Federal Armed Forces Hamburg, Holstenhofweg 85, 22043 Hamburg, Germany
[email protected] http://am.hsu-hh.de Politechnika Warszawska, Matematyki ul. Koszykowa 75, 00-662 Warszawa szaniaws,
[email protected] http://mini.pw.edu.pl 2
We introduce and analyse a problem related to maximum ow problem in networks, called reservation-allocation-problem. It is motivated by a practical application in the natural gas transportation industry. In this two-stage problem, we seek for maximizing reservation values instead of ows. A reservation is feasible if it admits to transport any amount of ow not greater than the reserved values. We conjecture it is coNP-complete problem. Our main result is a decision algorithm determining if a given reservation in feasible in a given network. Abstract.
Network Flows, Reservation, Allocation, Maximum Flow, Minimum Cut. Keywords:
1
Introduction
The maximum ow problem in networks is one of the most prominent combinatorial optimization problems. Informally stated, the problem asks for the maximum amount of ow that can be pushed through a network, entering the network at some sources and leaving at sinks, and respecting the network's capacity bounds. For its solution various theoretically and practically ecient algorithms are known [3, 1, 2, 5]. We introduce and analyze a related problem to this maximum ow problem, called reservation-allocation-problem, that is motivated by a practical application in the natural gas transportation industry. In this two-stage problem, we seek for maximizing reservation values instead of ows. A reservation is feasible if it admits to transport any amount of ow not greater than the reserved values (per node). A simple example shows that this problem can not be directly reduced to the max-ow problem. In order to check if a given reservation is feasible one has in principle to check an innite number of possible ows. In this article
2
Armin Fügenschuh, Konstanty Junosza-Szaniawski, Sªawomir Kwasiborski
we show that this is in fact not necessary. It is enough to restrict to a nite subset. The reservation-allocation is a coNP problem. It stays an open question if it is coNP-complete. Our work is inspired by recent deregulation eorts in the natural gas market. Due to new European laws, the gas network operator is no longer identical with the gas owners. The operator has the only duty to transport the owners' gas from the entry nodes to their respective customers at exit nodes. For this the operator sells at each entry and exit nodes a reservation capacity (called booking in this industry). Gas owners (sellers) and gas consumers (buyers) then have the right to allocate any amount of gas up to the reserved capacity (allocation is called nomination in this industry). In reality one has to deal with further physical and technical aspects of gas transportation, for example, a nonlinear pressure loss of the gas during the transport, and technical equipment to increase or decrease the pressure (by compressors and control valves), and to take control of the ow by discrete routing decisions (opening and closing pipelines by valves). For more information on the general background of recent development of the gas industries, we refer to [4]. The nomination problem as a mathematical optimization problem is described in [9]. The booking problem is described in [4, 8], and also in the forthcoming book [7]. The remainder of this article is organized as follows. In Section 2 we introduce our notation while describing the classical network ow problem. In section 3 we present our main results, in section 4 we present some improvements of algorithms presented in section 3 and in section 5 we discuss open problems related to our work.
2
Preliminaries and problem formulation
G = (V e , V i , V x , A, u), where V e , V i , V x , A e i x are nite sets, and A ⊆ (V ∪V ∪V )×(V ∪V ∪V ) with i 6= j for all (i, j) ∈ A. e i x The node set (or vertex set) V = V ∪ V ∪ V is partitioned into three pairwise e x disjoint subsets of entry nodes (or sources) V , exit nodes (or sinks) V and i e x inner nodes V , where V and V are non-empty. Each arc (i, j) in the arc set A V e ∪V x has a capacity ui,j ∈ R+ . A (feasible) ow in G is a vector (a, f ) ∈ R+ × RA + A network is dened as a directed graph
e
i
x
that fulls the following properties:
Capacity restriction on arcs:
∀ (i, j) ∈ A.
fi,j ≤ ui,j ,
(2.1)
Flow conservation in nodes:
X
fi,j + aj =
i:(i,j)∈A
X
i:(i,j)∈A
X
fj,k ,
k:(j,k)∈A
fi,j = aj +
X
k:(j,k)∈A
∀ j ∈ V e, fj,k ,
∀ j ∈ V x,
(2.2a)
(2.2b)
The Reservation-Allocation Network Flow Problem
X
i:(i,j)∈A The components
i∈V
x
ai
for
X
fi,j =
i ∈ Ve
∀ j ∈ V i.
fj,k ,
k:(j,k)∈A
3 (2.2c)
are called the inow into the network, and for
they are called the outow. A necessary condition for a ow to be feasible
is the balance of the total in- and outow
X
ai =
i∈V e
X
ai .
(2.3)
i∈V x
Because of this equality we can dene the ow value for a feasible ow
(a, f )
as
either one side of this equation, for example: ow(G; a, f )
:=
X
ai .
(2.4)
i∈V e Connected with the notion of ow is that of a cut. A cut of arcs with the property that every path from any at least one arc in
C.
When removing all arcs in
C
i ∈ Ve from
C
G is a subset j ∈ V x uses
in
to any
G,
there is no more
connection between entry and exit nodes. The capacity of a cut equals the sum of capacities of its arcs: cut(G; C)
:=
X
ui,j .
(2.5)
(i,j)∈C Since any feasible ow
G,
(a, f )
between sources and sinks must cross any cut
C
in
we have that ow(G; a, f )
≤ cut(G; C)
(2.6)
A famous result of Ford and Fulkerson states that for the maximum ow and the minimum cut equality holds: maxow(G)
:= max{ow(G; a, f ) : (a, f )
feasible ow in
= min{cut(G; C) : C
G} =: mincut(G).
cut in
G} (2.7)
Ford and Fulkerson also described an algorithm to nd such maximum ow in polynomial time. In the following decades their algorithm was improved and also other methods for constructing maximal ows were described [6]. Let
G
be a network as dened above. An allocation is a vector
A balanced allocation is an allocation with
X
i∈V e
ai =
X
a ∈ RV+
ai .
e
×V x
.
(2.8)
i∈V x
An allocation is feasible if there exists a vector
f ∈ RA
such that
(a, f )
is a fea-
sible ow in the network. Note that a feasible allocation is necessarily balanced. e x r ∈ (R+ ∪ ∞)V ×V . A reservation is feasible if any V e ×V x R+ with 0 ≤ a ≤ r is feasible (by 0 ≤ a ≤ r we
A reservation is a vector balanced allocation
a∈
4
Armin Fügenschuh, Konstanty Junosza-Szaniawski, Sªawomir Kwasiborski
∀v ∈ V e × V x 0 ≤ av ≤ rv ). Note that a reservation does not need to be balanced. We say that a is an allocation for r , if a is balanced and 0 ≤ a ≤ r . e i x We dene the following extension of the network G = (V , V , V , A, u) and e x r e i x S ⊆ V and T ⊆ V in the following way. Let GS,T := ({s}, V , V , V , {t}, AS,T , uS,T ) where AS,T := A ∪ {(s, i) : i ∈ S} ∪ {(i, t) : i ∈ T } and uS,T (i, j) = u(i, j) for (i, j) ∈ A), uS,T (s, i) = r(i) for i ∈ V e , uS,T (i, t) = r(i) for i ∈ V x . As abr breviation, we also write GS,T for GS,T , if the dependency is clear from the mean
context. The following three problems are of interest.
Reservation Validation. Given: Network: vation
V e ×V x
r ∈ (R+ ∪ ∞)
Question: Is a given reservation
r
cate, i.e., an infeasible allocation
G = (V e , V i , V x , A, u)
and reser-
feasible. If it is not feasible, then a certi-
a
for
r,
is to be determined. We can state
two special cases of the reservation validation problem, motivated by real problems in gas networks: Entry-bounded (and exit-unbounded) - in this variant we can take any value on exits and have to impose the transport limitations of the network only on the entry side. The Exit-bounded (and entry-unbounded) case is dened in analogous way.
Subset Flow Problem. Given: Network: tion
G = (V e , V i , V x , A, u)
and reserva-
r, SP ⊆ V e, T ⊆ V x P ≥ min( v∈S rv , v∈T rv )?
Question: Weather for all sets
r maxow(GS,T )
hold
Reservation Value Optimization. Given: Network: and a weight vector
w∈R
V e ×V x
G = (V e , V i , V x , A, u)
. This vector represents the value per unit
entry or exit reservation capacity., Question: Find a feasible reservation vector
r,
such that
wT r
is maximal.
H, shown V e = {sL , sR }, V i = {iL , iR }, V x = {xL , xR }, A = {sL iL , sR iR , iL iR , iL xL , iR xR }, u(sL iL ) = u(sR iR ) = u(iL xL ) = u(iR xR ) = 10 and u(iL iR ) = u(iR iL ) = 1. Notice that there exists a ow with a value 20: f (sL iL ) = f (sR iR ) = f (iL xL ) = f (iR xR ) = 10 (Figure 2.1, middle), but the reservation r(sL ) = r(sR ) = 10 is not valid. To show it is not valid it is enough to consider a allocation a(sL ) = 10, a(sR ) = 0, a(xL ) = 0, a(xR ) = 10 (Figure 2.1, Let us consider a simple example of a network of a shape of a letter
in Figure 2.1, left (cf. [7]). Let
right).
3
Main result
The Subset Flow Problem is obviously a subproblem of Reservation Validation problem. Our main result states that the Reservation Validation problem can be reduced to Subset Flow Problem, i.e., it is enough to verify only a nite set of allocations.
Theorem 1. The Subset Flow Problem and Reservation Validation Problem are equivalent.
The Reservation-Allocation Network Flow Problem xL
xR
xL
xR
xL
xR
10
10
10
10
0
1
iR
iL
iR
iL
10
10
10
10
1
0
sL
sR
sL
sR
sL
sR
iL
1
0
1
5
iR
Fig. 2.1: Network example for a reservation capacity strictly less than maximum ow.
P a ≤ r with maxow(GaV e ,V x ) < v∈V e av oce x r curs, if and only if there exist sets that S ⊆ V , T ⊆ V , for which maxow(GS,T ) < P P min{ v∈S rv , v∈T rv } occurs. P P r 1. We show that if sets S, T such that maxow(GS,T ) < min{ v∈S rv , v∈T rv } r exist then r is infeasible. We assume that F := maxow(GS,T ) and withP P P out loss of generality we assume that min{ v∈S rv , v∈T rv } = v∈S rv . P Therefore F < r . v∈S v
Proof. We show that an allocation
We dene an allocation as follows:
ri , i ∈ S, P r v ai = ri Pv∈S , i ∈ T, v∈T rv 0, i ∈ (V e ∪ V x ) \ (S ∪ T ).
Clearly, 0 ≤ a ≤ r . If there exists feasible ow for this allocation then F = P P P v∈V e rv = v∈S rv which contradicts the assumption that F < v∈S rv .
P a,
2. We will show that if there exists infeasible allocation such that maxow(GS,T )
r
< min{
P
then there exist
e x v∈T rv }. Let MV ,V a be the minimal cut in graph GV e ,V x . From the fact that a is infeasible, we P a a e x get that mincut(GV e ,V x ) = maxow(GV e ,V x ) < v∈V e av . Let mV ,V := a mincut(GV e ,V x ). We dene sets S, T as follows:
sets
S, T
v∈S rv ,
S = {v ∈ V e | (s, v) ∈ / MV e ,V x },
T = {v ∈ V x | (v, t) ∈ / MV e ,V x }. We will show that Then
MV e ,V x
|S| ≥ 1.
S is empty. s. Therefore, the sum of caP to mV e ,V x = v∈V e av , which
Let us assume, on the contrary, that
contains all arcs that exit from
pacities of arcs belonging to
MV e ,V x
is equal
6
Armin Fügenschuh, Konstanty Junosza-Szaniawski, Sªawomir Kwasiborski
P mV e ,V x < v∈V e av . Hence |S| ≥ 1. By the same arguments we show that |T | ≥ 1. Let MS,T := MV e ,V x \({(s, i) | i ∈ / S} ∪ {(i, t) | i ∈ / T }), then MS,T is a cut r in the graph GS,T . Its cut value (the sum of capacities of arcs that belong P P to MS,T ) is equal to mV e ,V x − ( a + a ) = mS,T . Note v∈V P P P e \S v P v∈V x \T v that a = a = min{ a , a } . From the above, e x e x v v v v v∈V v∈V v∈V v∈V the cut MS,T is equal to:
contradicts assumption that
mS,T = mV e ,V x − X
< min{
X
v∈V e \S
av ,
v∈V e
X
= min{
X
v∈V x
av +
v∈V e \S
−
X
v∈V e \S
X
v∈V e \S
av +
v∈V x \T
= min{
X
v∈S
≤ min{
X
≤ min{
X
v∈S
X
X
v∈S
av − X
v∈V x \T
X
v∈T
rv ,
X
X
v∈T
e \S
v∈V
X
av ,
av +
X
v∈V
X
v∈T
av
x \T
av }
av av − X
X
v∈V e \S
av ,
av −
v∈V e \S
av −
X
v∈T
X
X
av ,
v∈V x \T
v∈V x \T
av −
X
v∈V e \S
av } av }
av } rv }.
From the above, it follows that maxow(GS,T )
P P min{ v∈S rv , v∈T rv }.
av −
v∈V x \T
v∈V x \T
av +
av −
v∈S
X
av
v∈V x \T
av } −
X
v∈T
av ,
X
v∈S
av −
X
= min{
av −
r
=
mincut(GS,T )
r
≤ mS,T