SlideShare a Scribd company logo
1 of 30
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
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
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
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!
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
                        
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!!
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
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
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.
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
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
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       ∞   .
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
Minimum Cost Perfect Matching



2            2




              Solve the minimum cost perfect matching
                  problem on the matching graph!
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
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!
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
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
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
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
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
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 !
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 !
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.
4: Computational Experiments
  An Example of Computational Results (Hybrid Search,                                          5-LCU)
           opt.value   NDLB    ratio(%) branched    discard   updated eliminated   total    cpu-time
 aa1501r      11727     11727      100.0       64         20         2        37       123         50
 aa1502r      14661     14039       95.8      992        443         2        25      1462      1226
 aa1503r        9512      9512     100.0      159         79         3        44       285         92
 aa1504r        7672      7516      98.0       50         11         5        28         94        50
 aa1505r        8057      7737      96.0      406        188         3        44       641        255
 aa1506r      15132     12237       80.9     1521       1046         2         9      2578      1572
 aa1507r      13132     12684       96.6     1945        814         5        74      2838      2558
 aa1508r        9893      9275      93.8     8233       4457         1         0     12691      6266
 aa1509r        9320      9320     100.0       94         24         4        47       169         73
 aa1510r        7633      7633     100.0      321        139         5        60       525        246
 aa1511r        9497      9497     100.0      135         30         6        81       252        141
 aa1512r        9831      9831     100.0      383        175         4        76       638        251
 aa1513r      10470       9856      94.1     6552       4258         2        19     10831      6569
 aa1514r      13137     13137      100.0        3           2        1         0          6        17
 aa1515r      12542     10774       85.9     2920       1768         3        20      4711      2778
 aa1516r        9808      9808     100.0       41           5        2        35         83        43
 aa1517r      10871     10871      100.0      105         36         4        35       180         81
 aa1518r      10957     10957      100.0      156         49         5        92       302        104
 aa1519r      10197     10197      100.0       65         13         4        36       118         51
 aa1520r      11231     10727       95.5      260        109         2        32       403        243
 average      ---       ---         96.8   1220.3      683.3       3.3      39.7    1946.5    1133.3
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.
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
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
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.

More Related Content

What's hot

Tall-and-skinny QR factorizations in MapReduce architectures
Tall-and-skinny QR factorizations in MapReduce architecturesTall-and-skinny QR factorizations in MapReduce architectures
Tall-and-skinny QR factorizations in MapReduce architecturesDavid Gleich
 
CS 354 Vector Graphics & Path Rendering
CS 354 Vector Graphics & Path RenderingCS 354 Vector Graphics & Path Rendering
CS 354 Vector Graphics & Path RenderingMark Kilgard
 
Profilling Zoo
Profilling ZooProfilling Zoo
Profilling ZooESUG
 
Dynamic Texture Coding using Modified Haar Wavelet with CUDA
Dynamic Texture Coding using Modified Haar Wavelet with CUDADynamic Texture Coding using Modified Haar Wavelet with CUDA
Dynamic Texture Coding using Modified Haar Wavelet with CUDAIJERA Editor
 
An Introduction to NV_path_rendering
An Introduction to NV_path_renderingAn Introduction to NV_path_rendering
An Introduction to NV_path_renderingMark Kilgard
 
NV_path_rendering Frequently Asked Questions
NV_path_rendering Frequently Asked QuestionsNV_path_rendering Frequently Asked Questions
NV_path_rendering Frequently Asked QuestionsMark Kilgard
 
A fast re route method
A fast re route methodA fast re route method
A fast re route methodSandhiyaL
 
Ma01 model01
Ma01 model01Ma01 model01
Ma01 model01kripal11
 
[Harvard CS264] 13 - The R-Stream High-Level Program Transformation Tool / Pr...
[Harvard CS264] 13 - The R-Stream High-Level Program Transformation Tool / Pr...[Harvard CS264] 13 - The R-Stream High-Level Program Transformation Tool / Pr...
[Harvard CS264] 13 - The R-Stream High-Level Program Transformation Tool / Pr...npinto
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
An O(log^2 k)-approximation algorithm for k-vertex connected spanning subgraph
An O(log^2 k)-approximation algorithm for k-vertex connected spanning subgraphAn O(log^2 k)-approximation algorithm for k-vertex connected spanning subgraph
An O(log^2 k)-approximation algorithm for k-vertex connected spanning subgraphlbundit
 

What's hot (20)

Tall-and-skinny QR factorizations in MapReduce architectures
Tall-and-skinny QR factorizations in MapReduce architecturesTall-and-skinny QR factorizations in MapReduce architectures
Tall-and-skinny QR factorizations in MapReduce architectures
 
[Download] Rev-Chapter-3
[Download] Rev-Chapter-3[Download] Rev-Chapter-3
[Download] Rev-Chapter-3
 
Fx3111501156
Fx3111501156Fx3111501156
Fx3111501156
 
J0535964
J0535964J0535964
J0535964
 
CS 354 Vector Graphics & Path Rendering
CS 354 Vector Graphics & Path RenderingCS 354 Vector Graphics & Path Rendering
CS 354 Vector Graphics & Path Rendering
 
Profilling Zoo
Profilling ZooProfilling Zoo
Profilling Zoo
 
Dynamic Texture Coding using Modified Haar Wavelet with CUDA
Dynamic Texture Coding using Modified Haar Wavelet with CUDADynamic Texture Coding using Modified Haar Wavelet with CUDA
Dynamic Texture Coding using Modified Haar Wavelet with CUDA
 
Lec11 rate distortion optimization
Lec11 rate distortion optimizationLec11 rate distortion optimization
Lec11 rate distortion optimization
 
An Introduction to NV_path_rendering
An Introduction to NV_path_renderingAn Introduction to NV_path_rendering
An Introduction to NV_path_rendering
 
NV_path_rendering Frequently Asked Questions
NV_path_rendering Frequently Asked QuestionsNV_path_rendering Frequently Asked Questions
NV_path_rendering Frequently Asked Questions
 
A fast re route method
A fast re route methodA fast re route method
A fast re route method
 
Ba26343346
Ba26343346Ba26343346
Ba26343346
 
Ma01 model01
Ma01 model01Ma01 model01
Ma01 model01
 
Poster rga
Poster rgaPoster rga
Poster rga
 
Du31816820
Du31816820Du31816820
Du31816820
 
N24108113
N24108113N24108113
N24108113
 
48
4848
48
 
[Harvard CS264] 13 - The R-Stream High-Level Program Transformation Tool / Pr...
[Harvard CS264] 13 - The R-Stream High-Level Program Transformation Tool / Pr...[Harvard CS264] 13 - The R-Stream High-Level Program Transformation Tool / Pr...
[Harvard CS264] 13 - The R-Stream High-Level Program Transformation Tool / Pr...
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 
An O(log^2 k)-approximation algorithm for k-vertex connected spanning subgraph
An O(log^2 k)-approximation algorithm for k-vertex connected spanning subgraphAn O(log^2 k)-approximation algorithm for k-vertex connected spanning subgraph
An O(log^2 k)-approximation algorithm for k-vertex connected spanning subgraph
 

Similar to Shuronr

Mesh Generation and Topological Data Analysis
Mesh Generation and Topological Data AnalysisMesh Generation and Topological Data Analysis
Mesh Generation and Topological Data AnalysisDon Sheehy
 
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...Pirouz Nourian
 
lecture01_lecture01_lecture0001_ceva.pdf
lecture01_lecture01_lecture0001_ceva.pdflecture01_lecture01_lecture0001_ceva.pdf
lecture01_lecture01_lecture0001_ceva.pdfAnaNeacsu5
 
Shor's discrete logarithm quantum algorithm for elliptic curves
 Shor's discrete logarithm quantum algorithm for elliptic curves Shor's discrete logarithm quantum algorithm for elliptic curves
Shor's discrete logarithm quantum algorithm for elliptic curvesXequeMateShannon
 
Sorting and Routing on Hypercubes and Hypercubic Architectures
Sorting and Routing on Hypercubes and Hypercubic ArchitecturesSorting and Routing on Hypercubes and Hypercubic Architectures
Sorting and Routing on Hypercubes and Hypercubic ArchitecturesCTOGreenITHub
 
Svm map reduce_slides
Svm map reduce_slidesSvm map reduce_slides
Svm map reduce_slidesSara Asher
 
Reproducible Linear Algebra from Application to Architecture
Reproducible Linear Algebra from Application to ArchitectureReproducible Linear Algebra from Application to Architecture
Reproducible Linear Algebra from Application to ArchitectureJason Riedy
 
SpeedIT : GPU-based acceleration of sparse linear algebra
SpeedIT : GPU-based acceleration of sparse linear algebraSpeedIT : GPU-based acceleration of sparse linear algebra
SpeedIT : GPU-based acceleration of sparse linear algebraUniversity of Zurich
 
Oxford 05-oct-2012
Oxford 05-oct-2012Oxford 05-oct-2012
Oxford 05-oct-2012Ted Dunning
 
20110319 parameterized algorithms_fomin_lecture01-02
20110319 parameterized algorithms_fomin_lecture01-0220110319 parameterized algorithms_fomin_lecture01-02
20110319 parameterized algorithms_fomin_lecture01-02Computer Science Club
 
[Harvard CS264] 12 - Irregular Parallelism on the GPU: Algorithms and Data St...
[Harvard CS264] 12 - Irregular Parallelism on the GPU: Algorithms and Data St...[Harvard CS264] 12 - Irregular Parallelism on the GPU: Algorithms and Data St...
[Harvard CS264] 12 - Irregular Parallelism on the GPU: Algorithms and Data St...npinto
 
Hybrid Evolutionary Algorithms on Minimum Vertex Cover for Random Graphs
Hybrid Evolutionary Algorithms on Minimum Vertex Cover for Random GraphsHybrid Evolutionary Algorithms on Minimum Vertex Cover for Random Graphs
Hybrid Evolutionary Algorithms on Minimum Vertex Cover for Random GraphsMartin Pelikan
 
Incremental pattern matching in the VIATRA2 model transformation system
Incremental pattern matching in the VIATRA2 model transformation systemIncremental pattern matching in the VIATRA2 model transformation system
Incremental pattern matching in the VIATRA2 model transformation systemIstvan Rath
 
Wrapper induction construct wrappers automatically to extract information f...
Wrapper induction   construct wrappers automatically to extract information f...Wrapper induction   construct wrappers automatically to extract information f...
Wrapper induction construct wrappers automatically to extract information f...George Ang
 
All Pair Shortest Path Algorithm – Parallel Implementation and Analysis
All Pair Shortest Path Algorithm – Parallel Implementation and AnalysisAll Pair Shortest Path Algorithm – Parallel Implementation and Analysis
All Pair Shortest Path Algorithm – Parallel Implementation and AnalysisInderjeet Singh
 
(Paper) Efficient Evaluation Methods of Elementary Functions Suitable for SIM...
(Paper) Efficient Evaluation Methods of Elementary Functions Suitable for SIM...(Paper) Efficient Evaluation Methods of Elementary Functions Suitable for SIM...
(Paper) Efficient Evaluation Methods of Elementary Functions Suitable for SIM...Naoki Shibata
 
ICIAM 2019: Reproducible Linear Algebra from Application to Architecture
ICIAM 2019: Reproducible Linear Algebra from Application to ArchitectureICIAM 2019: Reproducible Linear Algebra from Application to Architecture
ICIAM 2019: Reproducible Linear Algebra from Application to ArchitectureJason Riedy
 
PR-297: Training data-efficient image transformers & distillation through att...
PR-297: Training data-efficient image transformers & distillation through att...PR-297: Training data-efficient image transformers & distillation through att...
PR-297: Training data-efficient image transformers & distillation through att...Jinwon Lee
 
Two numerical graph algorithms
Two numerical graph algorithmsTwo numerical graph algorithms
Two numerical graph algorithmsDavid Gleich
 
Data-Intensive Computing for Competent Genetic Algorithms: A Pilot Study us...
Data-Intensive Computing for  Competent Genetic Algorithms:  A Pilot Study us...Data-Intensive Computing for  Competent Genetic Algorithms:  A Pilot Study us...
Data-Intensive Computing for Competent Genetic Algorithms: A Pilot Study us...Xavier Llorà
 

Similar to Shuronr (20)

Mesh Generation and Topological Data Analysis
Mesh Generation and Topological Data AnalysisMesh Generation and Topological Data Analysis
Mesh Generation and Topological Data Analysis
 
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
 
lecture01_lecture01_lecture0001_ceva.pdf
lecture01_lecture01_lecture0001_ceva.pdflecture01_lecture01_lecture0001_ceva.pdf
lecture01_lecture01_lecture0001_ceva.pdf
 
Shor's discrete logarithm quantum algorithm for elliptic curves
 Shor's discrete logarithm quantum algorithm for elliptic curves Shor's discrete logarithm quantum algorithm for elliptic curves
Shor's discrete logarithm quantum algorithm for elliptic curves
 
Sorting and Routing on Hypercubes and Hypercubic Architectures
Sorting and Routing on Hypercubes and Hypercubic ArchitecturesSorting and Routing on Hypercubes and Hypercubic Architectures
Sorting and Routing on Hypercubes and Hypercubic Architectures
 
Svm map reduce_slides
Svm map reduce_slidesSvm map reduce_slides
Svm map reduce_slides
 
Reproducible Linear Algebra from Application to Architecture
Reproducible Linear Algebra from Application to ArchitectureReproducible Linear Algebra from Application to Architecture
Reproducible Linear Algebra from Application to Architecture
 
SpeedIT : GPU-based acceleration of sparse linear algebra
SpeedIT : GPU-based acceleration of sparse linear algebraSpeedIT : GPU-based acceleration of sparse linear algebra
SpeedIT : GPU-based acceleration of sparse linear algebra
 
Oxford 05-oct-2012
Oxford 05-oct-2012Oxford 05-oct-2012
Oxford 05-oct-2012
 
20110319 parameterized algorithms_fomin_lecture01-02
20110319 parameterized algorithms_fomin_lecture01-0220110319 parameterized algorithms_fomin_lecture01-02
20110319 parameterized algorithms_fomin_lecture01-02
 
[Harvard CS264] 12 - Irregular Parallelism on the GPU: Algorithms and Data St...
[Harvard CS264] 12 - Irregular Parallelism on the GPU: Algorithms and Data St...[Harvard CS264] 12 - Irregular Parallelism on the GPU: Algorithms and Data St...
[Harvard CS264] 12 - Irregular Parallelism on the GPU: Algorithms and Data St...
 
Hybrid Evolutionary Algorithms on Minimum Vertex Cover for Random Graphs
Hybrid Evolutionary Algorithms on Minimum Vertex Cover for Random GraphsHybrid Evolutionary Algorithms on Minimum Vertex Cover for Random Graphs
Hybrid Evolutionary Algorithms on Minimum Vertex Cover for Random Graphs
 
Incremental pattern matching in the VIATRA2 model transformation system
Incremental pattern matching in the VIATRA2 model transformation systemIncremental pattern matching in the VIATRA2 model transformation system
Incremental pattern matching in the VIATRA2 model transformation system
 
Wrapper induction construct wrappers automatically to extract information f...
Wrapper induction   construct wrappers automatically to extract information f...Wrapper induction   construct wrappers automatically to extract information f...
Wrapper induction construct wrappers automatically to extract information f...
 
All Pair Shortest Path Algorithm – Parallel Implementation and Analysis
All Pair Shortest Path Algorithm – Parallel Implementation and AnalysisAll Pair Shortest Path Algorithm – Parallel Implementation and Analysis
All Pair Shortest Path Algorithm – Parallel Implementation and Analysis
 
(Paper) Efficient Evaluation Methods of Elementary Functions Suitable for SIM...
(Paper) Efficient Evaluation Methods of Elementary Functions Suitable for SIM...(Paper) Efficient Evaluation Methods of Elementary Functions Suitable for SIM...
(Paper) Efficient Evaluation Methods of Elementary Functions Suitable for SIM...
 
ICIAM 2019: Reproducible Linear Algebra from Application to Architecture
ICIAM 2019: Reproducible Linear Algebra from Application to ArchitectureICIAM 2019: Reproducible Linear Algebra from Application to Architecture
ICIAM 2019: Reproducible Linear Algebra from Application to Architecture
 
PR-297: Training data-efficient image transformers & distillation through att...
PR-297: Training data-efficient image transformers & distillation through att...PR-297: Training data-efficient image transformers & distillation through att...
PR-297: Training data-efficient image transformers & distillation through att...
 
Two numerical graph algorithms
Two numerical graph algorithmsTwo numerical graph algorithms
Two numerical graph algorithms
 
Data-Intensive Computing for Competent Genetic Algorithms: A Pilot Study us...
Data-Intensive Computing for  Competent Genetic Algorithms:  A Pilot Study us...Data-Intensive Computing for  Competent Genetic Algorithms:  A Pilot Study us...
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.
  • 26. 4: Computational Experiments An Example of Computational Results (Hybrid Search, 5-LCU) opt.value NDLB ratio(%) branched discard updated eliminated total cpu-time aa1501r 11727 11727 100.0 64 20 2 37 123 50 aa1502r 14661 14039 95.8 992 443 2 25 1462 1226 aa1503r 9512 9512 100.0 159 79 3 44 285 92 aa1504r 7672 7516 98.0 50 11 5 28 94 50 aa1505r 8057 7737 96.0 406 188 3 44 641 255 aa1506r 15132 12237 80.9 1521 1046 2 9 2578 1572 aa1507r 13132 12684 96.6 1945 814 5 74 2838 2558 aa1508r 9893 9275 93.8 8233 4457 1 0 12691 6266 aa1509r 9320 9320 100.0 94 24 4 47 169 73 aa1510r 7633 7633 100.0 321 139 5 60 525 246 aa1511r 9497 9497 100.0 135 30 6 81 252 141 aa1512r 9831 9831 100.0 383 175 4 76 638 251 aa1513r 10470 9856 94.1 6552 4258 2 19 10831 6569 aa1514r 13137 13137 100.0 3 2 1 0 6 17 aa1515r 12542 10774 85.9 2920 1768 3 20 4711 2778 aa1516r 9808 9808 100.0 41 5 2 35 83 43 aa1517r 10871 10871 100.0 105 36 4 35 180 81 aa1518r 10957 10957 100.0 156 49 5 92 302 104 aa1519r 10197 10197 100.0 65 13 4 36 118 51 aa1520r 11231 10727 95.5 260 109 2 32 403 243 average --- --- 96.8 1220.3 683.3 3.3 39.7 1946.5 1133.3
  • 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.