OPTIMIZATION OF DELIVERIES FROM DISTRIBUTION POINTS

Similar documents
HEURISTIC ALGORITHMS FOR THE GENERALIZED MINIMUM SPANNING TREE PROBLEM

Introduction to Approximation Algorithms

A Hybrid Improvement Heuristic for the Bin Packing Problem

An Algorithm for Solving the Traveling Salesman Problem

Computational Complexity CSC Professor: Tom Altman. Capacitated Problem

Assignment 5: Solutions

UNSUPERVISED STATIC DISCRETIZATION METHODS IN DATA MINING. Daniela Joiţa Titu Maiorescu University, Bucharest, Romania

Precept 4: Traveling Salesman Problem, Hierarchical Clustering. Qian Zhu 2/23/2011

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms

Bottleneck Steiner Tree with Bounded Number of Steiner Vertices

Notes for Lecture 24

6 ROUTING PROBLEMS VEHICLE ROUTING PROBLEMS. Vehicle Routing Problem, VRP:

SUMS OF SETS OF CONTINUED FRACTIONS

K-Means Clustering Using Localized Histogram Analysis

Approximation Algorithms

L3 Network Algorithms

LEAST COST ROUTING ALGORITHM WITH THE STATE SPACE RELAXATION IN A CENTRALIZED NETWORK

ACO and other (meta)heuristics for CO

Algorithms and Experimental Study for the Traveling Salesman Problem of Second Order. Gerold Jäger

Basic Approximation algorithms

Some Approximation Algorithms for Constructing Combinatorial Structures Fixed in Networks

Partha Sarathi Mandal

Outline. CS38 Introduction to Algorithms. Approximation Algorithms. Optimization Problems. Set Cover. Set cover 5/29/2014. coping with intractibility

Designing parallel algorithms for constructing large phylogenetic trees on Blue Waters

IE 102 Spring Routing Through Networks - 1

A Kruskal-Based Heuristic for the Rooted Delay-Constrained Minimum Spanning Tree Problem

Indexing in Search Engines based on Pipelining Architecture using Single Link HAC

Theorem 2.9: nearest addition algorithm

We have already seen the transportation problem and the assignment problem. Let us take the transportation problem, first.

1 The Traveling Salesperson Problem (TSP)

JOURNAL OF OBJECT TECHNOLOGY

A Parallel Architecture for the Generalized Traveling Salesman Problem

Traveling Salesperson Problem (TSP)

Approximate Shortest Path Algorithms for Sequences of Pairwise Disjoint Simple Polygons

Lecture 9: Load Balancing & Resource Allocation

DISCRETIZATION BASED ON CLUSTERING METHODS. Daniela Joiţa Titu Maiorescu University, Bucharest, Romania

Slides on Approximation algorithms, part 2: Basic approximation algorithms

Algorithms for Euclidean TSP

Improved K-Means Algorithm for Capacitated Clustering Problem

Randomized Algorithms 2017A - Lecture 10 Metric Embeddings into Random Trees

Very Large Scale Neighborhood Search. Collaborators include: Ravi Ahuja, Ozlem Ergun, Abraham Punnen, Dushyant Sharma

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms

The Application of K-medoids and PAM to the Clustering of Rules

IEOR E4008: Computational Discrete Optimization

Mathematical Thinking

A Genetic Algorithm Applied to Graph Problems Involving Subsets of Vertices

V1.0: Seth Gilbert, V1.1: Steven Halim August 30, Abstract. d(e), and we assume that the distance function is non-negative (i.e., d(x, y) 0).

Design and Analysis of Algorithms

HEURISTIC ALGORITHMS FOR THE SINGLE VEHICLE DIAL-A-RIDE PROBLEM

Module 6 NP-Complete Problems and Heuristics

Computational Geometry

Constrained Minimum Spanning Tree Algorithms

Two new variants of Christofides heuristic for the Static TSP and a computational study of a nearest neighbor approach for the Dynamic TSP

Traveling in Networks with Blinking Nodes

Solving the Euclidean Bounded Diameter Minimum Spanning Tree Problem by Clustering-Based (Meta-)Heuristics

DOCUMENT DE TRAVAIL

Approximation Algorithms

On the Computational Behavior of a Dual Network Exterior Point Simplex Algorithm for the Minimum Cost Network Flow Problem

A Web-Based Evolutionary Algorithm Demonstration using the Traveling Salesman Problem

Problem Set 6 (Due: Wednesday, December 6, 2006)

CSE 548: Analysis of Algorithms. Lecture 13 ( Approximation Algorithms )

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017

Wednesday 15 June 2016 Morning

K-Means Clustering With Initial Centroids Based On Difference Operator

Overview. H. R. Alvarez A., Ph. D.

Online Document Clustering Using the GPU

CS270 Combinatorial Algorithms & Data Structures Spring Lecture 19:

PBW 654 Applied Statistics - I Urban Operations Research. Unit 3. Network Modelling

NP Completeness. Andreas Klappenecker [partially based on slides by Jennifer Welch]

Parallel Traveling Salesman. PhD Student: Viet Anh Trinh Advisor: Professor Feng Gu.

Anonymization Algorithms - Microaggregation and Clustering

OPTIMAL LINK CAPACITY ASSIGNMENTS IN TELEPROCESSING AND CENTRALIZED COMPUTER NETWORKS *

Fast Hierarchical Clustering via Dynamic Closest Pairs

Polynomial Time Approximation Schemes for the Euclidean Traveling Salesman Problem

Introduction to Optimization

A Topography-Preserving Latent Variable Model with Learning Metrics

Data Mining Algorithms In R/Clustering/K-Means

Automatic Group-Outlier Detection

Ant Colony Optimization for dynamic Traveling Salesman Problems

Solving Capacitated P-Median Problem by Hybrid K-Means Clustering and Fixed Neighborhood Search algorithm

Solving NP-hard Problems on Special Instances

Hybrid ant colony optimization algorithm for two echelon vehicle routing problem

Tabu Search - Examples

7.3 Spanning trees Spanning trees [ ] 61

Recent PTAS Algorithms on the Euclidean TSP

Preemptive Scheduling of Equal-Length Jobs in Polynomial Time

IMAGE RETRIEVAL USING VLAD WITH MULTIPLE FEATURES

Solving the Traveling Salesman Problem using Reinforced Ant Colony Optimization techniques

Concept Tree Based Clustering Visualization with Shaded Similarity Matrices

Effects of Optical Network Unit Placement Schemes for Multi-Channel Hybrid Wireless-Optical Broadband-Access Networks

Cluster Analysis. Prof. Thomas B. Fomby Department of Economics Southern Methodist University Dallas, TX April 2008 April 2010

Module 6 NP-Complete Problems and Heuristics

Algorithm Design Techniques. Hwansoo Han

Comparison of Heuristics for the Colorful Traveling Salesman Problem

Notes on Binary Dumbbell Trees

ALGORITHM CHEAPEST INSERTION

val(y, I) α (9.0.2) α (9.0.3)

Topic 10 Part 2 [474 marks]

8. The Postman Problems

Transcription:

OPTIMIZATION OF DELIVERIES FROM DISTRIBUTION POINTS We solve an optimization problem involving the assignment of transport routes to a delivery point. The general and particular cases of the optimization problem are described. An algorithm for the simplified case and ideas for the general case is presented. The problem arose in CaterPlus, a major food catering industry in South Africa. Let us assume that we have a large geographical area filled by customers. Each customer has a unique demand for a product we are delivering. We want to organize the delivery process by splitting the customer base into smaller regional units served by distribution points. Each distribution point has some capacity of transportation to deliver products to the customers. The problem is to find the location of these distribution points and organize our transportation capacity to deliver products fulfilling the demand of every customer. The total transportation capacity is determined by the fied number of trucks, where each truck can operate near one of the distribution points and can carry products up to its capacity. Our goal is to minimize the cost of the delivery. For simplicity, we model the customers as points in ]R2 and use the total distance traveled by trucks School of Computational and Applied Mathematics, University of the Witwatersrand, Private Bag 3, Wits 2050, Johannesburg, South Africa. e-mail: tom mi. ronkainen@gmail.com tschool of Computational and Applied Mathematics, University of the Witwatersrand, Private Bag 3, Wits 2050, Johannesburg, South Africa. e-mail: mali@mail.cam.wits.ac.za tcaterplus, The BIDVest Group Ltd., Johannesburg, South Africa e-mail: martin. engelbrecht@caterplus.co.za

P(i), C(i), D(i), T(i), m i = 1,,q i = 1,,n i = 1,,n i= 1,,m the number of delivery points, the number of customers, the number of trucks available, location of delivery points P( i) E JR2, location of customers C(i) E JR2, demand of customers D(i) E JR,D(i) > 0, capacity of trucks T(i) E JR,T(i) > O. Let us first look at the simplified case with only one fied distribution point, i.e. assume that q = 1 and P(l) is given. All trucks are operating from this distribution point. To model the route of a truck k we use an ordered subset R k = (rf,...,r~) C {l,...,n}, which defines the order of the customers visited by the truck. The total cost of such a tour from the delivery point p E JR2 is then 8-1 c(p, R k ) = d (p, C(r~)) +L d (C(rf), C(rf+1)) + d (C(r;),p), i=l where d(, y) is the cost of transportation between two points and y. Then the problem is to find an ordered m-partitioning R = {R 1,..., R m } of the integer set {I,..., n} such that RinRj = 0, when i -=I j, and U~lRi = {I,..., n}, minimizing the function m f(1<-) =L (P(l), R k ) k=l IRkl L D(rf) i=l ::; T(k). This partitioning corresponds to distributing customers to truck routes. The general version of this problem involves the positioning of the distribution points and designating trucks and customers to each distribution point. Assume that we can solve the reduced case above with an algorithm :F mapping a distribution point p and subset S C {I,..., n} of customers

using the subset of trucks V = {VI,..., Vt} C {I,..., m} to the optimal routes, i.e. F(p, 5,V) = arg minn V(p, V,R) : R is an ordered t-partitioning of 5}, where! is a generalization of the function f in (1), using only customers given in the inde set 5 and trucks given in the inde set V. The minimization over t-partitions of 5 is formally given by A t "k f(p, V,R) = L- (p, R ) k=l IRkl :L D(Rf) :S T(Vk) \:jk = 1,...,t. i=l Then the problem of positioning q delivery points is to locate the best coordinates for delivery points and distribute trucks and customers to each delivery point. Thus, we are looking for q points in ]R2 and two mappings S : {I,..., q} f-7 p({i,..., n}) and T : {I,..., q} f-7 p({i,...,m}) selecting the associated customers S(i) and trucks T(i) to each delivery point i respectively. The general problem is then to minimize q g(p(l),..., P(q), 5, T) = :Lj (P( i), T(i), F(P(i), S(i), T(i)) ) i=l over possible locations P(l),..., P(q) E R 2 and over possible customer and truck mappings 5 and T. We will mainly concentrate on solving the simplified problem (1) and only sketch a few ideas for solving the general problem in the last section. We assume from now on a single fied distribution point. Solving this problem can be viewed as a combination of two separate processes. We need to cluster customers into groups, whose demand can be served by the capacity of one truck. We ignore now the situation where one truck can perform two trips faster than another truck can perform one trip. This is an unlikely possibility in the optimal case, if the capacities of trucks are approimately the same. We also assume that we have enough trucks

to cover all demand at any time, otherwise condition (2) cannot be fulfilled. The second part is to solve for the optimal cost for each single truck route. Because we are using the distance metric as a cost, this reduces the problem to the ordinary Euclidean TSP-problem. Considering that the TSP-problem is NP-hard itself, it is clear that for practical use we want to find an approimate algorithm. Instead of solving a TSP-problem instance repeatedly in the clustering phase, we use simplified metrics to determine the fitness of the clustering. Note also that distributing customers to trucks is a bin-packing problem, which is also known to be NP-hard [2]. The approimate algorithm we implemented is as follows: 1. Choose the number of iterations N. 2. Denote trucks by Ti, i = 1,..., m, where each Ti is a set of customer indees served by the truck i. Denote the center of mass of the truck Ti by rn(ti) 1 = ITiI L C(c). cet; q(ti) = L (m(ti),c(c)). cet; 3. Sort customer indees into decreasing order c'(l),..., c'(n) by their demand. 4. For i := 1,..., m: 5. Set Ti -- {c'(i)}. 6. For i = m + 1,..., n: 7. Find the j minimizing (m(1j), C(c'(i))) constrained by D(c'(i)) + L D(c) :s; T(j). ce7j 8. Set 1j --1j U {c'(i)}. 9. Repeat N times: 10. Select randomly i and j so that 1:S; i,j:s; m and i =/:-j. 11. Select randomly Cl E Ti. 12. If D(Cl) + I:cE7j D(c) S T(j): 13. If q(ti \ {Cl}) + q(1j U {Cl}) < q(ti) + q(1j): 14. Set Ti.- Ti \ {cd and 1j.-1j U {cd. Goto 10 15. Select randomly Cz E 1j. 16. If D(Cl) - D(cz) + I:cE7j D(c) :s; T(j) and D(cz) - D(cI) + I:cET; D(c) :s; T(i): 17. If q((ti \ {Cl}) U{cz}) + q((1j \ {cz}) U {cd) < q(ti) + q(1j):

18. Set Ii ~ (Ii \ {Cl}) U {C2} and 7j ~ (7j \ {C2}) U {ct}. 19. For each Ii: 20. Construct a TSP-problem 9 using points P(l) and C(c), c E Ii. 21. Find the minimum spanning tree of 9 using Kruskal algorithm. 22. Duplicate all edges of g. 23. Find some Euler-path of 9 and sort the customers in Ii in the path order by skipping duplicate nodes on the Euler path. 24. Find all intersections in the path and remove them by reordering customers. Lines 3-18 form the clustering part of the algorithm. We start by sorting the customers by their demand and fill m trucks with the m customers having the biggest demand. Then we assign the rest of the customers to the nearest truck with enough capacity. After this initialization step, we use random sampling to improve clusters either by moving or swapping customers. The clustering tries to minimize total distance of the customers from the mass center of the cluster. This gives a good starting point for the TSP-approimation [1J on lines 20-23 and some fine tuning by straightening path intersections. We also tested a modified K-means [3J algorithm, but it appeared that this simple randomized algorithm gives better results. The algorithm was implemented in C++ using GNU C++ compiler v4.0.2 and tested on an ibook G4 1333MHz Power PC using Ubuntu GNU /Linu. We tested the algorithm using uniformly distributed data with randomly placed circular holes. In Figure?? there are 250 customers and 5 trucks. The capacity of the trucks was randomly selected between 25 and 35 and the demand for each customer was a random number between a and 1. We used 10 000 n = 2 500 000 iterations. This is usually enough for clusters to stabilize. In this eample case, there were no changes after 2 000 n = 500 000 iterations. When the algorithm finished, the capacities used in the trucks were 99.6%, 99.5%, 88.9%, 68.4% and 50.1%. Figure?? shows how customers were distributed to trucks and Figure 2 shows the routes discovered by the TSP-approimation.

0 B Go 1# 0.9 ",- 0 0 0.8 0 0.". @ 0.7 00 00 o 0 0 0... tl.. 0 0 0 0 0 0.6 I o 0 0 0 "' I!(,. 0 og o,. ~,.,.,.,.,. 0.5 0 0,. ~ I,. II.,..1 * ~ 0.4 X lo< X :. III 0.3 ++ + + +:j: 0.2 + + lo< + + + 0.1 + + + + + it + + + + ++ + + + + + + 0 ~ 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

Customers n Trucks m A verage Time Min. - Ma. 50 5 2.4s 1.9s - 2.4s 100 5 7.1s 7.0s - 7.1s 250 5 28.6s 22.1s - 34.4s 500 5 125.3s 123.3s - 126.6s 1000 5 482.6s 474.3s - 487.1s 50 10 LIs 0.9s - 1.3s 100 10 4.6s 3.6s - 5.4s 250 10 22.7s 22.3s - 23.0s 500 10 76.0s 74.6s - 78.1s 1000 10 95.6s 92.2s - 99.9s We also made some performance testing. Table 1 summarizes the running times for uniformly distributed data using 10 000 n iterations. Note that the algorithm is faster when there are more trucks. That is because clusters are smaller and thus TSP-problem instances are simpler to solve. We have demonstrated that it is possible to obtain some solutions to the comple problem using relatively simple ideas. The solution presented here is probably adequate for some real life problems. It also forms a basis for further development. As we can see, the general approach of the algorithm is independent of the quality and the cost functions, q and c. This leaves opportunities to improve heuristics used in the clustering as well as having more realistic modelling of the cost of transportation. The generalized version of the problem was not in the scope of this paper. However, this algorithm might be a useful tool for that as well. The placement of the distribution points can be solved by the clustering part of the algorithm. That can be done by combining mjq trucks to one truck having the capacity of the sum of the capacities of the original trucks. Then we run the clustering part of the algorithm, for this modified problem and use the centers of mass m(1i) as delivery points P(i). The clusters also determine the customer to delivery point mapping S.

[1] Kruskal, J.B. On the shortest spanning subtree of a graph and the traveling salesman problem. Proceedings of the American Mathematical Society, (1956) pp 48-50. [2] Coffman, E.G., Garey, M.R. and Johnson, D.S. Approimation algorithms for bin packing: a survey. In Approimation Algorithms, editor D. Hochbaum, PWS Pubishing (1996), pp 46-93. [3] McQueen, J.B. Some Methods for Classification and Analysis of Multivariate Observations. Proceedings of 5-th Berkeley Symposium on Mathematical Statistics and Probability, Berkeley, University of California Press, 1, (1967) pp 281-297.