Data-Intensive Computing for Competent Genetic Algorithms: A Pilot Study us...
Shuronr
1. An Exact Algorithm for the
Capacitated Arc Routing Problem using
Parallel Branch and Bound Method
~ An Experimental Verification on the Effect of Parallelization ~
Masaaki Kiuchi (Hirabayashi Lab.)
Department of Management Science,
Faculty of Engineering,
Science University of Tokyo
2. CONTENTS
1: Introduction
2: Capacitated Arc Routing Problem
3: Parallel Tour Construction
Algorithm
– 3-1: Lower Bounding Procedure
– 3-2: Branching Scheme
– 3-3: Constructing a Feasible Solution
4: Computational Experiments
3. 1: Introduction
Classification of Routing Problems
Service activities Service activities
Routing Problem are required on
are required at
Nodes !! Arcs !!
Node Routing Problem Arc Routing Problem
TSP : CPP :
Traveling Salesman Chinese Postman Problem
Problem Demand constraint !
Demand constraint ! RPP :
and
Rural Postman Problem
Capacity constraint !
Capacity constraint !
VRP : CARP :
Vehicle Routing Problem Capacitated Arc Routing Problem
4. 1: Introduction
Background of the Study
Previous Works on the CARP Branch and Bound
Heuristic Algorithms Few relationships between each subproblems!
1964: Clarke and Wright ex. Calculation of a relaxation problem
・・・ Branching operation in a subproblem
1993: Chang Improvement by
Lower Bounding Procedures parallelization!
1981: Golden and Wong Parallel Branch and Bound
・・・
1994: Y.Shinano et al.
1992: Y.Saruwatari et al. ‘‘PUBB: Parallelization Utility
‘‘Node Duplication for Branch and
Lower Bounding Procedure’’ Bound’’
Exact Algorithms In expectation of ...
1992: Y.Saruwatari et al. ・ Reduction of the Computing Time!
‘‘Tour Construction Algorithm’’ ・ Application to Larger Instances!
5. 2: Capacitated Arc Routing Problem
Summary of the Problem
〒
How to deliver ? depot
?
〒 demand
distance= 2 2
capacity ... cost
Graph : G = V , E 1 1
depot : v 0 ∈ V
cost : c( e) ≥0 3 3
demand : q ( e) ≥0 3
capacity : D ≥ max q e
e∈E
6. 2: Capacitated Arc Routing Problem
Formulation of the Problem
CARP : Branch and Bound
K : positive integer,
W 1, W 2 , , WK : K closed walks in G , relaxation
find
Fi : ⊆ E ( Wi ) , problem
( i = 1,2, , K ) .
v 0 ∈ ( Wi ) , ( i = 1,2, , K ) ,
V (1)
K
Fi = E D , Fi ∩ Fj = ∅,
i =1 (2) Continue the calculation
to satisfy
sub.to. (E D
)
= { e ∈E | q ( e) > 0} , the constraint (3).
∑ q( e) ≤ D, ( i = 1,2, , K ) ,
e∈ i
F
(3)
∑ ∑ ( ) c( e) is minimum.
K
i =1 e ∈ Wi
E
(4) feasible solution!!
7. 3: Parallel Tour Construction Algorithm
Summary of Our Parallelization
Branch and Bound A Framework of the
Parallel Branch and Bound
subproblems
Master processor
TCP/IP
Each subproblem can be
solved independently!
feasible solution!! Slave processors
8. 3: Parallel Tour Construction Algorithm
Summary of the Algorithm
The Framework of the PUBB: ・ read instance data
・ construct Node
Parallelization Utility for Branch and Bound
Duplicated Graph
・ construct
Master Process
Modified Graph
Master processor ・ management of the search tree
・ assignment of subproblems
・ Modified Graph
Slave Processes ・ Information about
TCP/IP
・ calculation on prohibited arcs
subproblems
・ branching operations
Slave Buffer Processes ・ construct
・ buffer of each slave Matching Graph
process ・ solve the MCPM
Slave Controller Process ・ branching operation
Slave processors ・ generate
・ management of the
slave processes on a WS subproblems
9. 3-1: Lower Bounding Procedure
What is the Minimum Cost Perfect Matching ?
Definition of Matching
Minimum Cost
If no two arcs in a subset M of E are adjacent, Perfect Matching
then M is called a matching in G=(V,E).
3 3
For example ...
Matching Perfect Matching
3 2
3
5
5 3 + 3 + 3 + 2 = 11
All the nodes in G are
6 endpoints of arcs in M,
5 + 3 + 5 + 6 = 19
and
Not all the nodes in G are All the nodes in G are the sum of weights of
endpoints of arcs in M. endpoints of arcs in M. arcs in M is minimum.
10. 3-1: Lower Bounding Procedure
Node Duplication Lower Bounding Procedure
served arcs: demand arcs Served by exactly one vehicle!
〒 passed arcs: demand arcs Control the total cost of
non-demand arcs routes of some vehicles!
1 1
(2,2) (2,2) Separate all the 2 2H 2
demand arcs!
(1,3) (1,3) 3 3
2 3 4
Duplicate all the
(3,2) nodes in the graph! 2 3 2 4
(3,3) (3,1) 3 1
5 H=
∑ q D=
e 16 / 4 = 4
cost demand
e ∈E 5
demand
11. 3-1: Lower Bounding Procedure
Node Duplicated Graph (perfect graph)
cost: c( e), e ∈E
1
・ demand arcs: ∞
・ arcs in a family: 0
2
(family of depot: ∞
2
)
・ arcs between families:
3
costs of shortest path
3
2 3 4
2
3 1
family 5
12.
13. 3-1: Lower Bounding Procedure
Modified Graph
cost: c( e), e ∈E
1
・ demand arcs: ∞
・ arcs in a family: 0
2
(family of depot: ∞
2
)
・ arcs between families:
3
costs of shortest path
3
If the sum of demands
of two demand arcs:
2 3 4 2+3=5
2
> 4 = D : capacity,
3 1
then reset the costs of non-demand arcs
5
between the two demand arcs ∞ .
14. 3-1: Lower Bounding Procedure
Matching Graph
cost: c( e), e ∈E
1
・ demand arcs: ∞
・ arcs in a family: 0
(family of depot: ∞ )
・ arcs between families:
3
costs of shortest path
3
Remove the two noeds which
are adjacent to demand arcs
2 3 4 from the family of depot
2 and all the arcs which are
3 1 adjacent to the two nodes.
5
15. Minimum Cost Perfect Matching
2 2
Solve the minimum cost perfect matching
problem on the matching graph!
16. 3-1: Lower Bounding Procedure
Matching Graph Minimum Cost Perfect Matching
cost: c( e), e ∈E
1
・ demand arcs: ∞
・ arcs in a family: 0
2
(family of depot: ∞
2
)
・ arcs between families:
3
costs of shortest path
3
Remove the two noeds which
are adjacent to demand arcs
2 3 4 from the family of depot
2 and all the arcs which are
3 1 adjacent to the two nodes.
Solve the minimum cost perfect matching
problem on the matching graph!
5
17. 3-1: Lower Bounding Procedure
Each Delivery Route on the Original Graph (Infeasible!)
1 1 1
(2,2) (2,2) (2,2) (2,2) (2,2) (2,2)
(1,3) (1,3) (1,3) (1,3)
2 3 4 2 3 4 2 3 4
(3,2)
(3,3) (3,1) (3,1)
1 5 2 5 3 5
1 : served arcs
(2,2) (2,2) notice! : passed arcs
(1,3) (1,3) then the route does not satisfy
2 3 4 If the sum of demands on
a route of a vehicle: the capacity constraint!
2+2+1+3=8
The optimal value of a relaxation
4 5 > 4 = D : capacity,
problem = lower bound!
18. 3-2: Branching Scheme
Selection of a Branching Arc
Solve |M| minimum cost perfect
1 matching problems with
each arc in M is prohibited.
2 2
Compare lower bounds
c E D +c M ,
then ...
3 3
find a branching arc in M
which gives the
largest lower bound.
2 3 4
2 Construct two
3 1 subproblems ...
in which the branching in which the branching
arc is contained as a part arc is prohibited as a part
of a path of a vehicle. of a path of a vehicle.
5
19. 3-3: Constructing a Feasible Solution
How to Construct a Feasible Solution ?
Parallel Branch and Bound
1
2 2 contained prohibited
3 3
contained Select a branching arc
contained in each subproblem,
2 3 4
2 and construct a tour of
3 a vehicle to satisfy the
1
capacity constraint.
Prohibited by the
capacity constraint.
feasible solution!!
5
20. 3-3: Constructing a Feasible Solution
Prohibiting Arcs
Calculate the sum of demands
1 on the two demand arcs which
are adjacent to a contained arc
2 2 2 + 2 = 4.
Add one more demand arc
3 3 to a path of a vehicle.
If the sum of demands on
the path of a vehicle:
contained 2+2+1=4+1=5
2 3 4 > 4 = D : capacity,
2
3 1
then prohibit the non-demand arcs
between the path and the demand arc.
5
21. 3-3: Constructing a Feasible Solution
Update the Number of Vehicles
Since the number of vehicles
1 is fixed to H in
each relaxation problem,
2 2
in constructing the
tours of vehicles,
3 3
there may not exist a
solution which satisfies
the capacity constraint.
2 3 4
2
3 The sum of demands on
a route of a vehicle: so, the route does
1 not satisfy the
3+1+2=6
capacity constraint!
> 4 = D : capacity,
5
22. 3-3: Constructing a Feasible Solution
Update the Number of Vehicles
Since the number of vehicles
1 is fixed to H in
each relaxation problem,
2 2
in constructing the
tours of vehicles,
3 3 there may not exist a
=
solution which satisfies
the capacity constraint.
2 3 4 Then, ...
2
3 1 add one more vehicle!
add two more nodes to the family
of depot and the arcs between
the nodes and all the other nodes.
5
23. 3-3: Constructing a Feasible Solution
Each Delivery Route on the Original Graph (Feasible!)
1 1 1
(2,2) (2,2) (2,2) (2,2) (2,2) (2,2)
(1,3) (1,3) (1,3)
2 3 4 2 3 4 2 3 4
(3,2)
(3,3) (3,1) (3,1)
1 5 2 5 3 5
1 1 : served arcs
(2,2) (2,2) (2,2) (2,2) : passed arcs
2
(1,3)
3
(1,3)
4 2 3 4
All the routes of vehicles
satisfy the capacity constraint,
(3,3)
(3,1) then we obtained ...
4 5 5 5 a feasible solution !
24. 3-3: Constructing a Feasible Solution
How to Obtain an Optimal Solution?
An example of a search tree
1
U:
LC 2
U: 3
LC U: the early stage
LC
feasible
A feasible solution with the
minimum objective value is feasible
an optimal solution !
25. 4: Computational Experiments
Computing Environment and Instances
Environment: We used following 6 workstations connected by ether
net.
Machine: TOSHIBA SPARC LT In 6 workstations, ...
CPU: SPARC
Clock: 25MHz
Master process: 1 workstation
Slave processes: 1 process on a WS 1, 3, 5
workstations
No processes of other users were running15 demand arcs.
Instances: We solved 20 instances with on all the workstations.
In 20 instances, ...
Consideration: The number of subproblems when we used 1 workstation
as a slave processor is more over 1000. 6 instances.
27. 4: Computational Experiments
The Effects on the Computing Times
35000
H d: 1
ybri
30000 H d: 3
ybri
H d: 5
ybri
25000 D h: 1
ept
20000 D h: 3
ept
D h: 5
ept
15000 Bound: 1
Bound: 3
10000
Bound5
T g n t up m C
5000
o
0
N 1
o. N 2
o. N 3
o. N 4
o. N 5
o. N 6
o.
i
Problem No.
28. 4: Computational Experiments
The Effects on the Computing Times
Hybrid Depth First Best Bound
18.9 65.1
14. 00 14. 00 27.1 14. 00
12. 00 12. 00 12. 00
10. 00 10. 00 10. 00 N 1
o.
N 2
o.
8. 00 8. 00 8. 00 N 3
o.
6. 00 6. 00 6. 00 N 4
o.
N 5
o.
4. 00 4. 00 4. 00 N 6
o.
i t a R pudee pS
2. 00 2. 00 2. 00
0. 00 0. 00 0. 00
1LCU 3LCU 5LCU 1LCU 3LCU 5LCU 1LCU 3LCU 5LCU
Number of LCUs Number of LCUs Number of LCUs
29. 4: Computational Experiments
The Effects on the Number of Subproblems
Hybrid Depth First Best Bound
2. 00 2. 00 2. 00
1. 80 1. 80 1. 80
1. 60 1. 60 1. 60
1. 40 1. 40 1. 40 No. 1
1. 20 No. 2
1. 20 1. 20
No. 3
1. 00 1. 00 1. 00
No. 4
0. 80 0. 80 0. 80
No. 5
0. 60 0. 60 0. 60 No. 6
0. 40 0. 40 0. 40
0. 20 0. 20 0. 20
a Res aerc nI
re b m N
0. 00 0. 00 0. 00
u
1LCU 3LCU 5LCU 1LCU 3LCU 5LCU 1LCU 3LCU 5LCU
Number of LCUs Number of LCUs Number of LCUs
30. 5: Conclusion
The Results of the Study
We developed and implemented a new algorithm for
the capacitated arc routing problem.
The results
of the study We could obtain an optimal solutions to 20 instances.
We considered the computing results and verified the
effect of parallelization.
‘‘The 1995 Spring National Conference of ORSJ,’’
Presentations The Operations Research Society of Japan, Mar. 1995.
of the study ‘‘The Manthly Research Meeting of RAMP,’’
Research Association of Mathematical Programming, Sep. 1995.