2013-06655562

5

Click here to load reader

Transcript of 2013-06655562

Page 1: 2013-06655562

1

Overall Cost Minimization for Data Aggregation inEnergy-Constrained Wireless Sensor Networks

Wei An†, Song Ci †‡∗, Haiyan Luo�, Dalei Wu�, Yanni Han†, Ying Qi†, and Tao Lin†

†High Performance Network Lab, IOA, Chinese Academy of Sciences, Beijing 100190, China‡Department of CEEN, University of Nebraska–Lincoln, NE 68182, USA

�Cisco Systems, Inc., USA�Massachusetts Institute of Technology, Cambridge, MA 02139, USA

Abstract—In wireless sensor networks (WSNs), sensor nodesare usually powered by batteries of limited capacity, which resultsin dynamic changes of available paths for data aggregation dueto node failures caused by energy depletion. For transmittingcertain amount of data generated by source node, the overalltransmission cost is affected by two major factors, using sequenceof available paths and amount of data imposed on each path,which becomes a major issue significantly influencing the efficientusage of the networks. To address this issue, we consider theoptimization problem of how to minimize the overall transmissioncost of given data delivered from the source node to the sink nodein the energy-constrained WSN. Specifically, we first describethe problem on the basis of the minimum cost flow theory andderive the upper bound for the data amount in terms of thenumber of packets that can be successfully transmitted fromthe source node to the sink node. Then, we propose specificalgorithms to derive the optimal paths and their optimal dataamounts, and then achieve the minimized overall transmissioncost for the certain amount of data. Extensive simulations showthat significant performance enhancement can be achieved byusing our proposed algorithms.

I. INTRODUCTION

Due to the rapid development in electronics and communi-

cations, wireless sensor networks (WSNs) have made plenty of

advances for providing more reliable information with higher

Quality of Service (QoS) at lower costs [1]. Sensor nodes

are usually deployed in an area of interest for monitoring

environments or events, and multi-hop paths are adopted for

transmitting the data from the source nodes to the sink node.

However, sensor nodes are usually powered by limited energy

supply, like battery, which cannot be recharged or replaced in

harsh environments, such as battle fields, nuclear, biological

and chemical contaminated areas. Due to the failures of

sensor nodes caused by energy depletion, available paths are

suffered from dynamical changes, which further affects the

transmission costs of data that are delivered to the sink node.

Consider the topology of a wireless sensor network as

shown in Figure 1. The labels on the links between any two

network nodes are the transmission cost associated with them.

* Corresponding author. Email address: [email protected] work was partially supported by A3 Foresight under Grant No.

11161140319 and by National Science Foundation of China under grantnumbers No. 61201232, by Academy-Locality Cooperation Project of Chinaunder grant No. YDJDBNJ-2012-005 and by US National Science Foundationunder grant No.1145596 and No. 0830493.

(a) Scheme 1 (b) Scheme 2

Fig. 1. Illustration of the topology of a wireless sensor network, where nodes and t are the source and sink nodes, respectively. Other nodes are the relaynodes.

The numbers shown in the rectangles are the available energy

on the corresponding node, represented by how many packets

can be sent before the energy is fully consumed. Here, we

assume the packet size is fixed. As shown in Figure 1(a), we

exploit a greedy strategy to relay given 900 packets, which

may represent the data generated by source node s over a

long period of time, from s to t. We first find the minimum

cost path s→ 4→ 3→ 2→ t by using the traditional routing

algorithms, such as Dijkstra’s algorithm [2]. Suppose nodes sand t have huge energy supply. We impose 500 packets on this

path, and then nodes 2, 3 and 4 will run out of energy. Next,

we find another minimum cost path s→ 6→ 7→ t and then

relay 400 packets with this path. The overall transmission cost

can be calculated as 500×13+400×18 = 13700. However, by

the combined usage of two sub-optimal paths of transmission

cost s→ 1→ 2→ t and s→ 4→ 5→ t in Figure 1(b), 900

packets can be achieved with the overall transmission cost

of 500 × 14 + 400 × 15 = 13000. Obviously, the former

scheme of always using the minimum cost paths cannot reach

the minimum overall transmission cost, because the former

selected minimum cost paths affect the selection of the latter

paths. With this instance, two issues need to be addressed: (1)

since the brute-force search of enumerating all combinations

of available paths is time-consuming, efficient algorithms are

needed to derive the optimal combination of paths; (2) proper

amount of data for each path needs to be determined so as

to minimize the minimum overall cost of given data. In sum,

how to effectively minimize the overall transmission cost of

given data is the issue that will be addressed in this work.

Increasing efforts can be found in literature that focus on the

978-1-4673-3122-7/13/$31.00 ©2013 IEEE

IEEE ICC 2013 - Wireless Networking Symposium

6014

Page 2: 2013-06655562

2

enhancement of data transmission cost. Ye et. al [2] exploited

the minimum-cost path for delivering packets from any sensor

to an interested client user in a large sensor network based

on the cost field. They presented a backoff-based cost field

setup algorithm that finds the optimal costs of all nodes to the

sink and then the message, carrying dynamic cost information,

and flows along the minimum cost path in the cost field. In

contrast to the optimizing protocols that burn the energy of

the nodes along the optimal paths, Shah et. al [3] proposed

a new scheme which uses sub-optimal paths of transmission

cost (i.e., transmission energy consumption) occasionally to

provide substantial gains on reducing the transmission cost

and extending the network lifetime. Compared with the above

work which considers only one parameter, Dai et. al [4]

investigated the problem of the bounded-delay minimum-cost

path, which considers both message delay and transmission

cost, and designed an improved heuristic algorithm for solving

the problem. With combination of overall energy consumption

and the network lifetime, Tu et. al [5] presented a compre-

hensive cost function, which takes into account other costs

such as queueing delay and congestion, formulated and solved

the problem of minimizing the overall cost with a lifetime

guarantee. An et. al [6] maximized the network lifetime and

derived the optimal paths for data transmission. However, for

transmitting given data, the existing schemes degrade to the

suboptimal solution of the overall transmission cost because

those schemes were developed with different purposes instead

of minimizing the overall transmission cost of given data.

As aforementioned, the existing work having been done

on transmission cost cannot achieve the optimal transmission

cost for delivering given data from the source node to the

sink node. Thus, we propose a general and low-complexity

scheme based on minimum cost flow theory in this work. With

the proposed scheme, we mathematically calculate the proper

number of packets that going through each sensor nodes. Then

we propose the algorithms to derive the optimal paths and

the optimal data amount for each path. We also analyze the

correctness of the proposed algorithms. Extensive simulation

results are shown to verify the performance enhancement of

the proposed scheme.

The remainder of this paper is organized as follows. In

Section II, we describe the system model and mathematically

formulates the problem. We design efficient algorithms to

achieve the optimal results in Section III. Simulation results

are given in Section IV. Finally, we conclude the paper in

Section V.

II. PROBLEM DESCRIPTION

A. Energy Dissipation Model

Due to sensor node failure caused by energy depletion,

available paths between the source node and the sink node

becomes increasingly scarce over the whole lifetime of the

network. Here, we introduce the First Order Radio (FOR)

model [6]–[8] to calculate the energy consumption of sensor

nodes. In this model, the consumed energy of the transmitter

to deliver a B-bit packet over distance D can be calculated as

Etx = (etx + ed · Dn) · B, (1)

where etx is the energy/bit consumed by the transmitter elec-

tronics, and ed represents the energy/bit/distancen dissipated

in the transmit op-amp. n is the power index for the channel

path loss of the antenna, which depends on the radio frequency

environment. On the receiving side, the amount of energy

that is required to capture the incoming radio signal can be

calculated as

Erx = erx · B, (2)

where erx is the energy/bit consumed by the receiver electron-

ics.

Further, a WSN can be modeled as an undirected graph

G(V,E), where V and E are the node set and the link set,

respectively. A link (u, v) exists if, and only if, nodes u and

v can communicate with each other directly. In this work, the

truncated automatic repeat request (ARQ) protocol, which has

also been used in [9], [10], is adopted to guarantee the quality

of data transmission. Without losing generality, we assume that

the average number of retransmission times between node uand its neighboring nodes is Ku, and all data packets are of

the same size of B bits. Suppose node u relays a B-bit packet

from node v1 to node v2, then the energy consumption of node

u can be calculated according to Eqs.(1) and (2) as

E0 =(Etx + Erx) · Ku=(etx + ed · Dn + erx) · B · Ku. (3)

Let Eu represent the available energy of node u, then the

number of packets that can be delivered by node u can be

predicted by

U(u) =⌊EuE0

⌋, (4)

where � � denotes the flooring operation. We also assume

that the source and sink nodes are equipped with much more

energy compared to relay nodes. This is reasonable from the

cost-effective perspective.

B. Minimum Overall Transmission Cost Problem

Available minimum cost paths between the source node

s and the sink node t determine the overall transmission

cost of the given data that are generated by node s over

a long period of time. Considering that the given data may

be transmitted periodically, here we study the typical case in

which the transmission costs associated with the links are time-

invariant. For instance, distance and number of hops are two

typical time-invariant costs. Due to limited energy supply, the

maximum number of packets going through a given path is

restricted by the node with the minimum available energy. Let

{π1, π2, · · · , πk} be all the paths between s and t, where πiis a path in G(V,E) (1 ≤ i ≤ k). Then, the maximum number

of packets going through path πi can be computed as

U(πi) = minu∈πi

{U(u)} . (5)

In graph G(V,E), two nodes u and v are called connected if

G(V,E) has at least one path between them. Otherwise, they

are called disconnected.

6015

Page 3: 2013-06655562

3

Defintion 1: A s–t node-cut Vcut is a set of nodes except sand t satisfying that, if these nodes are removed, nodes s and

t are disconnected [11]. The weight of a s–t node-cut Vcut is

defined as

C(Vcut) =∑u∈Vcut

U(u). (6)

Thus, the minimum weight of the s–t node-cuts can be denoted

as Cmin, which can be derived by using the Ford-Fulkerson

algorithm [11]. According to max-flow min-cut theorem [6],

[11], [12], this weight serves as the upper bound for the

number of packets that can be delivered from the source node sto the sink node t. In this work, we focus on a general problem

of transmitting given C0 packets from the source node s to the

sink node t with 0 < C0 ≤ Cmin. Specifically, we choose the

optimal path for each packet under the constraint of delivering

all the C0 packets from the source node to the sink node. Define

c(u, v) the cost of link (u, v) of each packet, then the path cost

of πi can be calculated as

c(πi) =∑

(u,v)∈πi

c(u, v). (7)

For notation convenience, denote the number of packets

going through πi by h(πi), where h(πi) ≤ U(πi). Thus,

the minimum overall transmission cost (MOTC) problem is

to determine h(πi) such that the overall transmission cost

of delivering the C0 packets is minimized, which can be

formulated mathematically as

mink∑i=1

h(πi) · c(πi) (8)

s.t.:

⎧⎪⎪⎨⎪⎪⎩

k∑i=1

h(πi) · xiv ≤ U(v) for each v ∈ Vk∑i=1

h(πi) = C0where xiv = 1 if node v is on πi; otherwise, xiv = 0 (1 ≤i ≤ k). In this problem, h(πi) = 0 implies that path πi is not

selected for data transmission.

III. OPTIMAL SOLUTION

To facilitate the application of the flow theory, we first

introduce the network conversion, which is firstly described

in our previous work [6] and describes the procedure of

converting an undirected graph into a directed one. The details

are shown in Algorithm 1, whereM is a large positive number

larger than maxu∈V{U(u)}. In the following sections, for given

C0 packets, we develop algorithms for deriving the optimal

paths and the optimal packet amount for each arc in G(N,A),and further obtain the optimal data transmission scheme.

A. Determining Data Amount for Each Arc

Initialization: For each 〈u, v〉 ∈ A, let g(u, v) represent

the current maximum number of packets that can flow from

node u to node v. First, we initialize g(u, v) = U(u, v).According to Algorithm 1, arcs 〈u, v〉 and 〈v, u〉 cannot appear

simultaneously in G(N,A). For conveniences, we can add a

Algorithm 1:Require: G(V,E), U(u) for each u ∈ V and c(u, v) for

each (u, v) ∈ E1: Create graph G(N = Ø, A = Ø)2: for each u ∈ V do3: N = N ∪ {uin, uout};4: A = A ∪ {〈uin, uout〉};5: c〈uin, uout〉 = 0;6: U(uin, uout) = U(u);7: end for8: for each (u, v) ∈ E do9: A = A ∪ {〈uout, vin〉, 〈vout, uin〉}.

10: c〈uout, vin〉 = c〈vout, uin〉 = c(u, v).11: U(uout, vin) = U(vout, uin) =M.

12: end for

Fig. 2. The algorithm for converting undirected network G(V,E) to directedone G(N,A).

new arc 〈v, u〉 in G(N,A) for each 〈u, v〉 ∈ A and initialize

g(v, u) = 0.The main idea of our algorithm is to find the minimum cost

path πi using the Dijkstra’s Shortest Path (DSP) algorithm

each time. And update g(u, v) and g(v, u) constantly by

g(u, v) = g(u, v)−Δ and g(v, u) = g(v, u)+Δ, respectively,

where Δ packets are delivered from u to v and the value of

Δ is determined by the minimum cost path πi. During the

implementation of the DSP algorithm, we only consider the

arcs 〈u, v〉 with g(u, v) > 0. The given data amount, i.e., C0,

of G(N,A) is achieved when Δ ≥ C0. As for Problem Eq.(8),

the first condition is satisfied because g(u, v) is always smaller

than U(u, v), and the second condition is met when C0 = 0.The details of this algorithm are described in Figure 3.

Algorithm 2:Require: C0, G(N,A)

1: for each arc 〈u, v〉 in A do2: g(u, v)← U(u, v)3: g(v, u)← 04: end for5: while C0 > 0 do6: Find the minimum cost path πi from s to t in

G(N,A) using the DSP algorithm.

7: Δ← min{min

〈u,v〉∈πi

{g(u, v)} , C0}

8: for each arc 〈u, v〉 on πi do9: g(u, v)← g(u, v)−Δ

10: g(v, u)← g(v, u) + Δ11: end for12: C0 = C0 −Δ13: end while

Fig. 3. The algorithm for deriving packet amounts of arcs.

Computational complexity: Since C0 is the given data

amount and the DSP algorithm runs O(|N |2) time to find

the minimum cost path πi and Δ is at least 1, the runtime of

Algorithm 2 is upper bounded by O(C0|N |2), where |N | is

6016

Page 4: 2013-06655562

4

the number of nodes in N .

B. Deriving the Optimal Data Transmission Scheme

After running Algorithm 2, we derive a value of packet

amount for each arc in G(N,A). Based on the number

of packets on each arc, an algorithm is developed to find

the optimal paths in G(V,E), together with determining the

optimal packet amounts for these paths. For 〈u, v〉 ∈ A,

r(u, v) = U(u, v) − g(u, v) is the number of packets that

have gone through arc 〈u, v〉. For each (u, v) ∈ E, we have

two corresponding arcs 〈uout, vin〉 and 〈vout, uin〉 in A. Thus,

the number of packets that have gone through (u, v) ∈ E can

be calculated as

h(u, v) = |r(uout, vin)− r(vout, uin)|. (9)

Now we can add a new weight of h(u, v) on each link (u, v) ∈E. Based on that, we propose Algorithm 3, shown in Figure 4,

for deriving the optimal data transmission scheme.

Algorithm 3:Require: C0, G(V,E) and G(N,A), g(u, v) for each

〈u, v〉 ∈ A1: T := Ø2: for each (u, v) in E do3: g(u, v)← |r(uout, vin)− r(vout, uin)|;4: end for5: Delete all links (u, v) of h(u, v) = 0 from G(V,E);6: while C0 > 0 do7: Find the optimal path πi from s to t in G(V,E) with

the DSP algorithm.

8: Δ← min(u,v)∈πi

{h(u, v)}9: for each (u, v) on πi do

10: h(u, v)← h(u, v)−Δ11: end for12: C0 = C0 −Δ;

13: Delete all links (u, v) with h(u, v) = 0 on path πi;14: Put the 2-tuple (πi,Δ) into T ;

15: end while

Fig. 4. The algorithm for deriving the optimal data transmission scheme.

For computational complexity, adding weight h(u, v) to

the graph G(V,E) takes O(|E|) time. Further, deriving the

minimum cost path using the DSP algorithm takes O(|V |2)time. Since at least one link is deleted after one minimum cost

path is found, the DSP algorithm runs at most |E| times. Thus,

the computational complexity of searching for the optimal data

transmission scheme is O(|E|) +O(|V |2|E|) = O(|V |2|E|).For the theoretical performance of Algorithms 2 and 3, the

following proposition is given:

Proposition 1: Suppose a set of 2-tuples {(πi, h(πi))}li=1

achieve the minimum transmission cost of C with C =l∑

i=1

c(πi) ·h(πi) < C0. Let Δ = 1 be one packet going through

the minimum cost s–t path πl+1. Then {πi}l+1i=1 achieves the

minimal cost of C′ = C + Δ with C′ =l∑

i=1

c(πi) · h(πi) +c(πl+1).

Due to the limited space, we omit the proof and refer the

reader to [11]. This proposition guarantees that our proposed

algorithm can find the optimal solution of overall transmission

cost for given data.

IV. PERFORMANCE EVALUATION

During the simulations, we randomly distribute sensor nodes

in a 100×100m2 area, where the coordinates of the source

node s and the sink node t are (0, 50) and (100, 50), respec-

tively. The initial energy of each node is set equal to 0.5J.

The energy consumption for the transmitting is set equal to

50nJ/bit, transmitting amplifier 100pJ/bit/m2 and the receiving

circuitry 50nJ/bit. Source node s generates the fixed 2000-bit

packets of the collected data and transits them to node t via

the chosen multi-hop paths. In this work, we generalize the

concept of link cost, which can be anything of time-invariance.

To achieve this, random numbers in the range of [0, 1] are gen-

erated to represent the costs of links. We compare our proposed

scheme (Proposed) with the routing algorithms of minimum

cost forwarding (MCF) [2], energy aware routing (EAR) by

replacing transmission energy by transmission cost [3], and

minimum cost problem with a network lifetime guarantee

(MCPLG) [5]. In the following, we illustrate the performance

of our proposed scheme with two sets of experiments: the

first set is devised for evaluating the overall transmission

cost achievements by compared with above three schemes;

the second set is to illustrate our proposed scheme can also

increase the number of packets transmitted successfully from

the source node s to the sink node t.As for overall transmission cost, we run the first set of

experiments on the network, in which 100 relay nodes are

randomly deployed in the 100×100m2 area, with C0 = 1000,5000 and 9000 packets under difference radii. We allow the

communication radii to change from 30m to 70m for each

set of simulations, at a 10m step size. In order to reflect the

changes of the overall transmission costs under differen given

data, we define the average cost per packet, cavg(C0), which

can be calculated as

cavg(C0) = Q(C0)C0 , (10)

where Q(C0) is the overall transmission cost of transmitting

C0 packets. It is observed in Figure 5 that our proposed

scheme outperforms the compared schemes significantly in

term of the average cost per packet and thus the overall

transmission cost for all C0 = 1000, 5000 and 9000. As C0increases, more and more performance gains are achieved.

Compared with the MCF, EAR and MCPLG, our proposed

scheme achieves only 0.67%, 47.51% and 1.68% gains by

average at C0 = 1000, but makes around 4.81%, 25.06% and

8.49% gains by average at C0 = 5000 and significant 16.42%,

16.90% and 20.32% gains by average at C0 = 9000. This

implies that our proposed scheme works especially well for

allocating the data for available paths over the whole lifetime

of the network.

The second set of experiments is devised for evaluating

the lifetime improvement of our proposed scheme on the net-

works, where 60, 70, 80, 90 and 100 relay nodes are randomly

6017

Page 5: 2013-06655562

5

30 40 50 60 700

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Communication Radius: m

Ave

rage

Cos

t Per

Pac

ket:

c avg

ProposedMCFEARMCPLG

(a) C0 = 1000

30 40 50 60 700.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Communication Radius: m

Ave

rage

Cos

t Per

Pac

ket:

c avg

ProposedMCFEARMCPLG

(b) C0 = 5000

30 35 40 45 50 55 60 65 700.4

0.5

0.6

0.7

0.8

0.9

1

1.1

Communication Radius: m

Ave

rage

Cos

t Per

Pac

ket:

c avg

ProposedMCFEARMCPLG

(c) C0 = 9000

Fig. 5. Comparison of the average transmission cost per packet of our proposed scheme vs. the MCF, EAR and MCPLG in the wireless sensor networkwith different node transmission radii.

60 65 70 75 80 85 90 95 1000.4

0.6

0.8

1

1.2

1.4

1.6

1.8x 104

Node Number

Pac

ket N

umbe

r

ProposedMCFEARMCPLG

Fig. 6. Comparison of the maximum number of packets that are successfullytransmitted using our proposed scheme on the wireless sensor network ofdifferent number of relay nodes.

deployed on the 100×100m2 area, respectively. We keep run-

ning the system until it reaches its lifetime, i.e. no more path

is available between s and t due to depleted energy. As shown

in Figure 6, our proposed scheme significantly increases the

number of packets, that are transmitted successfully between

the source node s and t, compared to the MCF, EAR and

MCPLG. As for the number of successfully relayed packets,

our proposed scheme can increase up to 50.98%, 30.92% and

53.51% of the number of packets by average, respectively,

compared to the MCF, EAR and MCPLG. This performance

improvement is achieved by the back-flow strategy because it

can allocate proper amount of data for each path and thereby

maximize the number of successfully relayed packets. This

illustrates that our proposed scheme cannot only reduce the

overall transmission cost of the given data generated by the

source node over a long period of time, but also can efficiently

improve the network capability of relaying much more data.

V. CONCLUSIONS

Overall transmission cost minimization is one of the major

challenges for the applications of wireless sensor networks.

In this work, we have considered an optimization problem

of minimizing the overall transmission cost of given data in

energy-limited wireless sensor networks. We have formulated

the problem on the basis of the minimum cost flow theory and

have also discussed the upper bound for the number of packets

that can be successfully relayed from the source node to the

sink node. Then, our algorithms have been proposed to derive

the optimal paths and the optimal data amount for each path.

Extensive simulation results have proved the effectiveness of

the proposed method.

REFERENCES

[1] A. Rao, D. Izadi, R. Tellis, S. Ekanayake, and P. Pathirana, “Datamonitoring sensor network for BigNet research testbed,” in Proc. ofISSNIP, Melbourne, Australia, Dec. 2009, pp. 169–173.

[2] F. Ye, A. Chen, S. Liu, and L. Zhang, “A scalable solution to mini-mum cost forwarding in large sensor networks,” in Proc. of ICCCN,Scottsdale, Arizona, USA, 2001, pp. 304–309.

[3] R. Shah and J. Rabaey, “Energy aware routing for low energy ad hocsensor networks,” in Proc. of IEEE-WCNC, Orlando, Florida, USA,2002.

[4] H. K. Dai and Y. Du, “On the bounded-delay minimum-cost pathproblem of quality-of-service routing,” in Proc. of ICCCN, Honolulu,Hawaii, USA, 2007, pp. 384–390.

[5] L. Tu, H. Hong, and G. Zhou, “Minimum cost routing with a lifetimeguarantee in wireless sensor networks,” in Proc. of GreenCom-CPSCom,Hangzhou, China, 2010.

[6] W. An, H. Luo, S. Ci, and J. Lin, “The maximized relay capacity andoptimal data transmission for wireless sensor networks,” in Proc. ofIEEE GLOBECOM, Houston, Texas, USA, 2011.

[7] Q. Gao, K. J. Blow, D. J. Holding, I. W. Marshall, and X. Peng, “Radiorange adjustment for energy efficient wireless sensor networks,” Ad HocNetworks, vol. 4, no. 1, pp. 75–82, 2006.

[8] Y. Yao, Y. Fan, and H. Luo, “A distributed relay node placement strategybased on balanced network lifetime for wireless sensor networks,” inProc. of WCNIS, Beijing, China, Jun. 2010, pp. 306–310.

[9] D. Wu, S. Ci, and H. Wang, “Cross-layer optimization for video sum-mary transmission over wireless networks,” IEEE Journal on SelectedAreas in Communications, vol. 25, no. 4, pp. 841–850, 2007.

[10] E. Malkamaki and H. Leib, “Performance of truncated type-II hybridARQ schemes with noisy feedback over block fading channels,” IEEETransations on Communications, vol. 48, pp. 1477–1487, Sep. 2000.

[11] C. H. Papadimitriou and K. Steiglitz, Combinatorial Optimization:Algorithms and Complexity. Dover Publications, Inc., 1998.

[12] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin, Network Flows: Theory,Algorithms, and Applications. Prentice-Hall Inc., New Jersey, 1993.

6018