Based on the results of the study of the problem regarding finding the maximum flow and extended graphs, the main contribution of this thesis is the traffic multicommodity linear assignm
Trang 1THE MINISTRY OF EDUCATION AND TRAINING
THE UNIVERSITY OF DANANG
TRAN NGOC VIET
THE TRAFFIC ASSIGNMENT PROBLEM AND APPLICATIONS
Major : COMPUTER SCIENCE
Code : 62 48 01 01
DOCTORAL DISSERTATION (EXECUTIVE SUMMARY)
Danang 2017
Trang 2The doctor al disser tation has been finished at:
THE UNIVERSITY OF DANANG
Advisors: 1) Assoc Prof Dr Tran Quoc Chien
2) Assoc Prof Dr Le Manh Thanh
Reviewer 1: ……… Reviewer 2: ……… Reviewer 3: ………
The dissertation is defended before The Assessment
Committee at The University of Danang
Time: … h Date: /………/………
The dissertation is available at:
- National Library of Vietnam
- Learning & Information Resources Center, The University of Danang
Trang 3PREFACE
1 Significance of the study
Graph is a powerful mathematical tool applied in many fields as transportation, communication, informatics, economy, … In ordinary graph the weights of edges and vertexes are considered independently where the length of a path is simply the sum of weights of the edges and the vertexes on this path However, in many practical problems, weights at a vertex are not the same for all paths passing this vertex, but depend on coming and leaving edges Therefore, a more general type of weighted graphs, called extended weighted graph, is defined in this work The paper develops a model of extended mixed network that can be applied to modelling many practical problems more exactly and effectively Therefore, necessary to build a model of the extended network so that the stylization of practical problems can be applied more accurately and effectively Based on the results of the study of the problem regarding finding the maximum flow and extended graphs, the main contribution of this thesis is the traffic multicommodity linear assignment problems and applied
2 Objects of the study
Investigating optimal theory, mainly focus on extended mixed networks algorithms to find the shortest and to find the maximum flow, the traffic multicommodity linear assignment problems with minimal cost
3 Results of the study
- Suggesting a new algorithms finding maximal flows on extended traffic networks based on the actual requirements, proving soundness, the complexity of the algorithms and thesis also indicate the advantages of the new ones over previous algorithms
Trang 4- Developing experimental programs on extended traffic networks, then offering specific data to evaluate and compare the results of new algorithm finding maximal flows with traffic multicommodity linear assignment problems
4 New findings of the study
- Building new shortest path algorithm on extended graphs In ordinary graph the weights of edges and vertexes are considered independently where the length of
a path is the sum of weights of the edges and the vertexes on this path However, in many practical problems, weights at a vertex are not the same for all paths passing this vertex, but depend on coming and leaving edges
- Building new algorithm finding maximal flows on extended traffic networks, building a model of an extended mixed network is proposed so that the stylization of practical problems can be applied more accurately and effectively
- Sink toward source algorithm finding maximal flows on extended mixed networks is being built and a concrete example is presented to illustrate sink toward source algorithm
- Building a source-sink alternative algorithm finding maximal flows on extended traffic networks Improving computing performance for algorithm finding maximal flows on extended mixed networks is being built
- We excute optimal multicommodity linear assignment problems on traffic network After that, we evaluate the computation time of the algorithm of the traffic multicommodity linear assignment problems
5 Table of contents
Besides preface, conclusion, references, the thesis has three chapters:
Chapter 1: Graph, network, flow
Chapter 2: Problem finding maximal flows on extended traffic networks
Chapter 3: The traffic multicommodity linear assignment problems and applications
Trang 5CHAPTER 1 GRAPH, NETWORK AND FLOW
i f
),()
,
(
) , ( )
, (
1.4 Flow of the extended networ k
Given an extended network G=(V,E,cE,cV), a source point s and a sink point t
Set: {f(x,y) (x,y)∈E}, is called the flow of network G if the requirements are met:
vzf
) , (
,(iii) Any value of point z is referring to neither a sourse point nor a sink point
E z
vsf) , (
, , is called the value of flow f
Trang 6CHAPTER 2 PROBLEM FINDING MAXIMAL FLOWS ON
EXTENDED TRAFFIC NETWORKS
2.1 Shor test path algor ithm on extended graphs
2.1.1 Shortest path problem
2.1.2 Algorithm
+ Input: Extended graphs G=(V,E,wE,wV), s ∈V , U ⊂V
+ Output: l(v) is the length of the shortest path from s to v (if l(v)<+∞),∀v∈U + Steps
The departure flow: f(x,y) := 0, ∀(x,y)∈E
Points from the sink points will gradually be labelled L1 for the first time including
Trang 7(2) Label generate
(2.1) Choose label point:
- Case S!=φ: Choose the point u ∈ S of a minimum value Remove the u from the set S, S= S\{ }u Assuming that the backward label of v is
[previ(v), ci(t), di(t), biti(t)], i = 1 or 2 A is the set of the points which are not backward label time and adjacent to the backward label point u Step (2.2)
- Case S==φ, S '!=φ : Assign S=S' S, '=φ Return to step (2.1)
- Case S==φ, S '==φ : The flow F is the maximum End
(2.2) Label the points which are not label and are adjacent to the label points v
- Case A==φ: Return to step (2.1)
- Case A!=φ: Choose v ∈ A of a minimum value
Remove the v from the set A, A=A\{ }v
(i) (u, v) the road section whose direction runs from u to v
If biti(u)==1 and f(u,v)<cE(u,v) put label point v:
uvprevj( )= ;
min)
(v c u c u v f u v
cj = i E − , if di(u)==0,
min)
d
) , (
,)
()
1)
(v =
bitj , if dj(v)>0,
0)
(v =
bitj , if dj(v)==0
(ii) (v, u) the road section whose direction runs from v to u
If f(v,u)>0, put label point v:
uvprevj( )= ; cj(v)=min{ci(u),f(v,u)},
d
) , (
,)
()
(iii) (u, v) non-direction roads:
Trang 8If f(v,u)>0, put label point v case (ii)
If f(v,u)==0 and f(u,v)≥0, put label point v case (i)
(3) Making adjustments in increase of the flow
(3.1) Start
y = t, x = prev1(t), δ = c1(t)
(3.2) Making adjustments
(i) Case (x, y) the road section whose direction runs from x to y:
put f(x,y) = f(x,y) + δ
(ii) Case (y, x) the road section whose direction runs from y to x:
put f(y,x):= f(y,x) − δ
(iii) Case (x, y) non-direction roads:
If f(x,y) ≥ 0 and f(y,x) == 0 then put f(x,y) = f(x,y) + δ
If f(y,x) > 0 then put f(y,x) = f(y,x) − δ
(3.3) Moving backwards
(i) Case x == s: Remove all the labels of the network points, except for the source point s, and return to step (2)
(ii) Case x ≠ s: Put y = x
If x = prev2(y) and remove the label L2(y);
If y does not have the label L2(y) then put x= prev1(y)
Trang 9+ Output: Maximal flow F = {f(x,y) | (x,y)∈G}
(1) Start:
The departure flow: f(x,y) := 0, ∀(x,y)∈G
Points from the source points and sink points will gradually be labelled L1 for the first time including 5 components
Form forward label:
L1(v) = [↑, prev1(v), c1(v), d1(v), bit1(v)] and can be label (↑) for the second time
L2(v) = [↑, prev2(v), c2(v), d2(v), bit2(v)],
Form backward label:
L1(v) = [↓ , prev1(v), c1(v), d1(v), bit1(v)] and can be label (↓) for the second time
The set T comprises the points which have already been labelled (↓ but are not )used to label (↓ , T’ is the point set labelled ) (↓ based on the points of the set T )Begin T : ={ }z T ' : =φ
(2) Forward label generate:
(2.1) Choose forward label point:
• Case S ≠ ∅: Choose the point u ∈ S of a minimum value Remove the u from the set S, S:= S \ { u } Assuming that the forward label of u is
[↑ ,previ(u), ci(v), di(v),biti(v)], i = 1 or 2 A is the set of the points which are not forward label time and adjacent to the forward label point u Step (2.2)
Trang 10• Case S = ∅ and S’ ≠ ∅: Assign S := S’, S’ := ∅ Step (3)
• Case S = ∅ and S’ = ∅: The flow F is the maximum End
(2.2) Forward label the points which are not forward label and are adjacent to the forward label points u
• Case A = ∅: Return to step (2.1)
• Case A ≠ ∅: Choose t ∈ A of a minimum value Remove the t from the set A,
A := A \{ t } Assign forward labeled point t:
If (u,t)∈E, f(u,t) <cE(u,t),biti(u)=1 put forward labeled point t:
prevj(t) := u;
cj(t):=min{ci(u), cE(u,t)−f(u,t)}, if di(u)=0,
cj(t):=min{ci(u), cE(u,t)−f(u,t),di(u)},
if di(u) > 0; dj(t) := cV(t)− ∑ ( )
∈G t
t i f
) , (
t i f
) , (
, ; bitj(t):=1
If t is not forward label, then return to step (2.2)
If t is forward label and t is backward label, then making adjustments in increase
of the flow Step (4)
If t is forward label and t is not backward label, then add t to S’, S’ := S’ ∪ { t }, and return to step (2.2)
(3) Backward label generate
Trang 11(3.1) Choose backward label point:
• Case T ≠ ∅: Choose the point v ∈ T of a minimum value Remove the v from the set T, T:= T \ {v} Assuming that the backward label of v is
[ ↓ , previ(v), ci(t), di(t), biti(t)], i = 1 or 2 B is the set of the points which are not backward label time and adjacent to the backward label point v Step (3.2)
• Case T = ∅ and T’ ≠ ∅: Assign T := T’, T’ := ∅ Return to step (2)
• Case T = ∅ and T’ = ∅: The flow F is the maximum End
(3.2) Backward label the points which are not backward label and are adjacent to the backward label points v
• Case B = ∅: Return to step (3.1)
• Case B ≠ ∅: Choose t ∈ B of a minimum value Remove the t from the set B,
{}t
B
B := \ Assign
backward labeled point t:
If (t,v)∈E, f(t,v) <cE(t,v),biti(v)=1 put backward label point t: prevj(t) := v;
cj(t):=min{ci(v), cE(t,v)−f(t,v)}, if di(v)=0,
cj(t):=min{ci(v), cE(t,v)−f(t,v),di(v)}, if di(v) > 0;
dj(t) := cV(t)− ∑ ( )
∈G t
t i f
) , (
t i f
) , (
, ; bitj(t):=1
If t is not backward label, then return to step (3.2)
Trang 12If t is backward label and t is forward label, then making adjustments in increase
of the flow Step (4)
If t is backward label and t is not forward label, then add t to T’, T’ := T’ ∪ {t}, and return to step (3.2)
(4) Making adjustments in increase of the flow
Suppose t is forward label [ ↑ , previ(t), ci(t), di(t), biti(t)] and t is backward label [↓, previ(t), ci(t), di(t), biti(t)]:
(4.1) Adjustment made from t back to a according to forward label
(4.1.1) Start
y := t, x := prev1(t), δ := c1(t)
(4.1.2) Making adjustments
(i) Case (x, y) the road section whose direction runs from x to y:
put f(x,y) := f(x,y) + δ
(ii) Case (y, x) the road section whose direction runs from y to x:
put f(y,x):= f(y,x) − δ
(iii) Case (x, y) non-direction roads:
If f(x,y) ≥ 0 and f(y,x) = 0 then put f(x,y) := f(x,y) + δ
If f(y,x) > 0 then put f(y,x) := f(y,x) − δ
(4.1.3) Moving
(i) Case x = a Step (4.2)
(ii) Case x ≠ a, put y := x and x:=h, h is the second component of the forward labeled point y Then return to step (4.1.2)
(4.2) Adjustment made from t back to z according to backward label
(4.2.1) Start
x := t, y := prev1(t), δ := c1(t)
Trang 13(4.2.2) Making adjustments
(i) Case (x, y) the road section whose direction runs from x to y:
put f(x, y) := f(x, y) + δ
(ii) Case (y, x) the road section whose direction runs from y to x:
put f(y, x):= f(y, x)− δ
(iii) Case (x, y) non-direction roads:
If f(x, y) ≥ 0 and f(y, x) = 0 then put f(x, y) := f(x, y) + δ
If f(y, x) > 0 then put f(y, x) := f(y, x) − δ
(4.2.3) Moving
(i) Case x = z Step (4.3)
(ii) Case x ≠ z, put x := y and y:=k, k is the second component of the
backward labeled point x Then return to step (4.2.2)
(4.3) Remove all the labels of the network points, except for the source point a and sink point z Return to step (2)
Trang 14Point 5: backward label [↓, 6, 9, 9, 1]
Point 3: forward label [↑,1, 9, 9,1] and backward label [↓, 4, 7, 9, 1]
Point 4: forward label [↑, 3, 7, 10,1] and backward label [↓, 6, 10, 10, 1]
+ Result of the flow increasing adjustment in figure 3 and the value of the increase v(F) = 7
Fig The value of the increase v(F) = 7
+ Analog,result of the flow increasing adjustment in figure 4 and the value of the increase v(F) = 14
Fig The value of the increase v(F) = 14
+ Result of the flow increasing adjustment in figure 5 and the value of the increase v(F) = 16
Trang 15This is the maximum flow, because in the following backward label and forward label is not labelled
2.4 Sink towar d source algor ithm finding maximal flows on extended mixed networ ks
The departure flow: f(x,y) := 0, ∀(x,y)∈E
Points from the sink points will gradually be labelled L1 for the first time including
5 components
Form backward label:
L1(v) = [↓, prev1(v), c1(v), d1(v), bit1(v)] and can be label (↓ ) for the second time
(2) Backward label generate
(3) Making adjustments in increase of the flow
2.4.2 For example
Given an extended mixed network graph The network has six circles, six direction roads and three non-direction roads The road circulation possibility cE and
Trang 16the circle circulation possibility cV The source point is l, the sink point is 6
Sink point is 6: backward label [ ↓ , φ, ∞ , ∞ , 1 ]
Point 5: backward label [↓, 6, 9, 9, 1]
Point 4: backward label [↓, 6, 10, 10, 1]
Point 3: backward label [↓, 4, 7, 9, 1]
Point 2: backward label [↓, 5, 7, 10,1]
Point 1: backward label [↓, 3, 7, ∞, 1]
Result of the flow increasing adjustment in figure 3 and the value of the
increase v(F) = 7
Trang 17
Fig The value of the increase v(F) = 7 + Result of the second backward label:
Sink point is 6: backward label [ ↓ , φ, ∞ , ∞ , 1 ]
Point 5: backward label [↓, 6, 9, 9, 1]
Point 4: backward label [↓, 5, 5, 3,1]
Point 3: backward label [↓, 5, 6, 2,1]
Point 2: backward label [↓, 5, 7, 10, 1]
Point 1: backward label [↓, 2, 7, ∞, 1]
Result of the flow increasing adjustment in figure 4 and the value of the increase v(F) = 14
Trang 18Point 5: backward label [↓, 6, 2, 2, 1]
Point 4: backward label [↓, 6, 3, 3, 1]
Point 3: backward label [↓, 5, 2, 2,1]
Point 2: backward label [↓, 3, 2, 3, 1]
Point 1: backward label [↓, 2, 2, ∞, 1]
Result of the flow increasing adjustment in figure 5 and the value of the increase v(F) = 16
Fig The value of the increase v(F) = 16 This is the maximum flow, because in the following backward label is not labelled - Source point is 1
2.5 Augmenting-path maxflow algor ithm on extended mixed
Trang 19CHAPTER 3 THE TRAFFIC MULTICOMMODITY LINEAR ASSIGNMENT PROBLEM AND APPLICATIONS
3.1 Extended tr affic networ ks
3.1.1 Network
A network is a mixed graph of the traffic G = (V, E), circles V and roads E Roads can be classified as either direction or non-direction There are many sorts of means of transportation on the network The non-direction shows two-way roads while the direction shows one-way roads Given a group of the functions on the network as follows:
+ The function of the route circulation possibility cE :
E → R*, cE(e) the route circulation possibility e∈E
+ The function of the circle circulation possibility cV :
V → R* , cV(u) the circle circulation possibility u∈V
)(
),,( 3.1.2 The traffic multicommodity linear assignment
Extended traffic network G = (V, E, cE, cV, bE, bV)
Π = Uk
j = 1Π j
F = {x(p) |p∈Πj, j=1,…,k }