Warehouse Pick Path Optimization Algorithm Analysis: Rk096065@scots - Edinboro.edu Adasgupta@edinboro - Edu
Warehouse Pick Path Optimization Algorithm Analysis: Rk096065@scots - Edinboro.edu Adasgupta@edinboro - Edu
into play such as, wanting to make it from some last solving these problems, taking a closer look at how each
location on the order back to the single shipping location. algorithm works and the practicality of generating optimal
More often, it will be the case where the following pick paths with these algorithms. We will look at the role
shortest path is sought: the shortest path between some of each algorithm in solving the warehouse pick path
vertex and all others [4]. This is the shortest path most optimization problem and evaluate the characteristics of
often sought during optimized pick path generation, as the algorithm. We will look at the timing complexity of
distances between the current vertex and all other these algorithms, as well as, the flaws and potential
locations on an order commonly need to be found. concerns for implementing each algorithm.
To summarize the TSP/Shortest Path problem We also introduce a basic implementation used for
encountered when solving the pick path problem: we are solving the warehouse pick path problem. In this regard,
solving a TSP between all locations on an order; starting we focus on the components of the implementation and
and ending in the shipping area (which is also defined by the improvements that should be made before using the
a vertex). Then as the TSP is being solved, at each algorithm to generate optimized pick paths.
location we encounter the further difficulty of finding the
shortest paths between the current node and all remaining 4. Algorithms
locations on the order. This occurs because we are solving
a TSP which assumes a complete graph where all nodes There are a plethora of shortest path and TSP algorithms
are connected with one edge between them; however, this available, this section will focus on a handful of popular
is not guaranteed to be the case in the warehouse layout. algorithms used for solving these problems. We describe
We are guaranteed all locations will be reachable from each algorithm and the way in which it works. We then
any location in the graph, so we must define the shortest make mention of its time complexity, closeness to the
path to each of these vertices. After finding these shortest optimum solution, and give a brief analysis on whether
paths, we can then treat the problem like a normal TSP, the algorithm is practical for usage in generating
where all edges defining the path between nodes are optimized pick paths.
treated as one edge with one minimum distance associated
with it.
Section 4 of this paper will focus on the algorithms and 4.1 Shortest Path Algorithms
enhancements that can be used to find optimal pick paths This section will focus on algorithms used to find the
by solving the TSP and shortest path problem. Section 5 shortest path between some vertex and all others in the
will offer insight into an implementation for finding an graph; algorithm enhancements will also be considered.
optimal pick path.
4.1.1 Dijkstra’s
Dijkstra’s algorithm is used to find the shortest distance
2. Related Work between some starting vertex and all other vertices in the
graph [5]. Dijkstra’s algorithm is quite popular for its
There have been hundreds of papers published and dozens performance, with a worst case performance of ܱሺȁ ܧȁ
of algorithms developed around solving the shortest path ȁܸȁ ȁܸȁሻ, where E = number of edges and V = number
problem alone, as a large number of mathematical of vertices [3]. The algorithm is also easy to alter so that
optimization problems are mathematically equivalent to Dijkstra’s will not only return the distance of the shortest
the shortest path problem [4]. In the same respect, the path to each vertex, but also the path to traverse.
TSP has been analyzed by dozens of professions, In pick path optimization, Dijkstra’s is quite useful as it
researched to no end, and proved to be a member of the can be used at each location to find the shortest distance
NP-Complete problem set, with numerous heuristics between this location and all remaining locations on the
developed that present polynomial time solutions within a order. This is quite practical and is often exactly what we
fair degree of accuracy [3]. need to solve in the process of generating an optimal pick
In contrast, there has been limited research completed path in the midst of solving the TSP portion of the
around warehouse efficiency, and more specifically pick problem.
path optimization. There is some degree of research Section 4.1.3 further elaborates on enhancements that can
related to the business operations of warehouses [2]; be made to improve Dijkstra’s algorithm.
however, there is almost no research related to the
algorithms required to solve the problems of optimizing 4.1.2 Floyd’s
warehouse operations. This is the gap in research we have Floyd’s algorithm is used to find the all-pairs shortest
aimed to fill throughout the course of this paper. paths, meaning that in one run Floyd’s can find the
shortest path between all vertices on a graph [3]. This can
3. Contribution be seen as extremely advantageous to Dijkstra’s in finding
pick paths, because the algorithm can be run once before
solving the TSP end of the problem. By running the
With an astonishing amount of research in solving
algorithm once, and storing the result to be referenced
shortest path problems and the travelling salesperson
throughout the solving of the TSP, we are able to greatly
problem, we aim to explore popular algorithms for
Int'l Conf. Foundations of Computer Science | FCS'15 | 65
reduce the time spent determining the distance between in the graph, except if there is only one location on the
the current location and all other locations on the order; order. It may be the case that some warehouses would
however, we do not believe Floyd’s will always be more find it advantageous to implement this Dijkstra’s
efficient than running Dijkstra’s at each location while enhancement for this special case but, in general, order
solving the TSP, considering its worst case performance pickers are able to efficiently find their own path to orders
is ܱሺȁܸȁଷ ሻ [5]. with less than three locations on them [2]. This
enhancement is not recommended for use in pick path
4.1.3 Dijkstra Enhancements generation algorithms.
The reliability, popularity, and speed of Dijkstra’s makes
it a heavily implemented and researched algorithm, 4.2 Travelling Salesperson Algorithms
especially in the realm of map routing and GPS This section will focus on algorithms used to find an exact
programming. Under this umbrella, there have been optimized solution to the TSP, as well as, approximation
numerous algorithm enhancements suggested [6]. These algorithms that offer solutions within some guaranteed
enhancements can be used to potentially greatly reduce degree of closeness to the optimal solution.
the time it takes Dijsktra’s to run.
4.2.1 Exhaustive Search
4.1.3.1 Subgraph Partitioning The exhaustive search algorithm offers the only
One of the most reasonable enhancements for pick path implementation that can produce the guaranteed shortest
optimization is the idea of partitioning a graph into a tour to the TSP every time. This algorithm searches
subgraph, where the subgraph contains a limited number through all permutations of tours, computing the distance
of unused/untraversed vertices [7]. For example, if a GPS travelled by each; if a new shortest tour is found it is
were determining an optimal route from Washington, DC stored as such until all possible tours have been checked
to New York City, it would not need to consider any [3]. Exhaustive search will always produce the shortest
vertices in California or Florida, as it is unreasonable to path because it is looking at every possible tour that could
traverse that part of the graph when travelling from DC to be taken. This is ideal in terms of a guaranteed shortest
NYC. This has a practical application to the pick path path; however, the performance of the algorithm is quite
problem, as there is no need to look at the south side of awful; having a time complexity of ܱሺ݊Ǩሻ [3] [4]. This is
the warehouse if no locations on an order pertain to that not a recommended approach for generating optimized
portion of the warehouse. pick paths.
The holdup with the subgraph concept is the fact that
there must be an algorithm run to determine what 4.2.2 Nearest-Neighbor
subgraph should be looked at and then form that subgraph The nearest-neighbor algorithm is a very simple algorithm
[8]. This can be a costly operation and it can be difficult to understand and implement. The algorithm starts at
to predict what vertices should be dropped when some random city, travelling to the city closest to the
developing a subgraph of the warehouse per order. It current city, until all cities have been visited. Once at the
seems that in most circumstances, it would be more costly final city, come home. This algorithm cannot guarantee
to determine what subgraph to send through Dijkstra’s any degree of accuracy as to how close it will be to the
rather than simply running Dijkstra’s algorithm on the optimum solution [3]. For this reason alone, we do not
entire graph. recommend using this when generating optimal pick
paths.
4.1.3.2 Bidriectional Search
Bidirectional search is an extension of Dijkstra’s 4.2.3 Multifragment-heuristic
algorithm specifically targeting a two-node shortest path The multifragment-heuristic algorithm works by looking
problem, when a starting vertex and target vertex are at the edges of the graph, rather than vertices. The
explicitly given [9]. When given these two points it is algorithm approaches the problem by creating a
possible to create a mapping for the set of nodes and the minimally weighted set of edges that makes each vertex
set of edges such that Dijkstra’s algorithm can be adapted in the graph of degree 2 [3].
to start running from the start vertex and the target vertex The algorithm is as follows: first sort the set of edges by
simultaneously, where each thread will meet in the middle their weights and set the shortest distance set of edges to
of the path, reducing the time taken to find the shortest empty. Then, for the number of cities in the graph, add the
path between two points using Dijkstra’s [9]. shortest edge left in the set to the shortest distance set of
Bidirectional search initially seems like a practical edges, provided the addition of this edge does not make
enhancement for solving the pick path problem, although any vertex greater than of degree 2. After the loop has
after considering the problem this is not the case. been completed, the shortest distance set of edges will
Dijkstra’s algorithm is run in order to determine the contain the approximate shortest distance [3] [5].
shortest distance between the current location node and This algorithm generally creates a more optimal result
all other locations on the order. The pick path problem than the nearest-neighbor algorithm, but it also does not
does not typically involve finding the shortest path guarantee any degree of accuracy [3]. For this reason, this
between the current vertex and one other location vertex
66 Int'l Conf. Foundations of Computer Science | FCS'15 |
algorithm is also not an ideal implementation for the pick The algorithm works by first constructing a minimum
path problem. spanning tree of the graph. Then, starting at some random
node, perform a walk around the spanning tree that was
4.2.4 Ant Colony Optimization constructed (using a Depth First Search) and keeping
For solving the TSP, there are a number of different ant track of vertices passed through. Then search the list of
colony solution algorithms available, many of which are vertices that was generated; delete all repeats of nodes so
based on genetic algorithms. These algorithms are that each vertex only appears once, except the start/end
modeled after the natural ability of an ant colony to find vertex. The start/end vertex should appear at both the
the shortest path to their food source [10]. When ants beginning and end of the list. This produces a
arrive at decision points in their travels, they have no Hamiltonian circuit that is an approximation for the
knowledge of what lies ahead of them or what distance shortest path between all nodes [3].
must be travelled based on their decision. Since the choice This algorithm can be performed in polynomial time,
is random, it can be expected that when presented with although its exact timing depends on the implementation
two directional choices (both ending at the same point), of the first step, where a minimum spanning tree is
half the ants will go right and the other half will go left. constructed. An MST can be constructed using any
Eventually, ants will be travelling to-and-from this popular algorithm such as Prim’s or Kruskal’s [3] [4].
location so ants will be choosing direction when headed Another benefit of this approach is that, it is guaranteed
both directions to-and-from the food source. As the ants that accuracy of the shortest tour generated by this
travel, they release pheromones. After the ants have been algorithm is at most twice as long as the optimum tour.
travelling for a short time, the pheromone will accumulate This algorithm is recommended based on its guaranteed
on both paths; eventually the shorter path will have a upper bound and the fact that the algorithm is performed
much higher accumulation and this will begin to attract all in polynomial time.
the new ants to this path. Ants are able to discover the
shortest paths between their food sources by measuring 4.2.6 Christofides’ Algorithm
the amount of pheromone deposited on each decision path Christofides’ algorithm works similarly to the twice-
[10] [12]. around-the-tree algorithm as it also works with minimum
One proposed Ant Colony algorithm for solving the TSP spanning trees. Christofides’ utilizes more advanced
is the Ant Colony System (ACS) [10]. The algorithm’s implementations of graph theory to form a guaranteed
primary feature is the use of agents as ants. These ants lower cost tour than the previously discussed algorithms
work in a threaded, parallel fashion, simultaneously [3] [4] [5] [11].
searching for a good solution to the TSP. The ants Christofides’ first creates a minimal spanning tree, T,
communicate on a global level, as well as, indirect using some known algorithm. Then create a set of all odd
communication through pheromone release on the edges. degree vertices, V. Then find a perfect matching, P, with
Each ant acts independently searching for a solution, the minimum weight of the graph over the vertices in V.
using pheromones as a form of memory and making This will create a set of minimally weighted edges
iterative improvements on its path selection. In the end it without any common vertices from V. Then, add the
is proposed that the shortest path can be found by edges from P and T to form a multigraph, M. A
examining the pheromones left on each edge and selecting multigraph is simply a graph that allows parallel edges.
the maximal pheromone-weighted edges in order to form Now form an Euler circuit from M, call it E. This will
an optimal solution [10]. produce a circuit that visits every edge once. Now,
Dorigo presents numerous results of ACS tests in relation remove edges that visit nodes more than once. This will
to other top-notch TSP algorithms [10]. Moreover, ACS create a Hamiltonian circuit, which as we previously
presents accurate results for both small and large defined is a solution to the TSP [3] [5] [11].
problems. The algorithm was able to produce the Christofides’ algorithm can be performed in polynomial
optimum tour in all tours with less than 100 cities in a time and produces a minimal tour that is guaranteed to be
minimal number of runs. For larger travelling salesperson within 1.5 times the optimum tour [11].
problems (198 to 1577 cities), ACS was able to generate This algorithm is highly recommended for
optimal paths within 3.5% error from the optimum [10]. implementation in finding an optimal pick path.
This solution is recommended in terms of accuracy;
however, it is not a practical implementation for many 5. Code
due to its degree of difficulty.
Throughout the research of this paper, a small case study
4.2.5 Twice Around the Tree
The twice-around-the-tree algorithm is a minimum project was developed to show that the algorithms
spanning tree-based algorithm [3]. These types of described could be implemented to create a usable pick
path generator. The application is a C# Windows Form
algorithms leverage the connection between Hamiltonian
application that provides the basic implementation to
circuits and spanning trees, where a Hamiltonian circuit
create a warehouse layout in the form of a graph, save it,
minus one edge produces a spanning tree [3].
Int'l Conf. Foundations of Computer Science | FCS'15 | 67
and then use it to generate an optimal pick path based on a similar to Figure 5.2 is developed. Note we must also
handful of algorithms described above. select a vertex to represent the shipping area at this time.
The initial step to use this application is the process of
converting a warehouse layout into a graph. We will use
Figure 5.1 as an example throughout this section. First we
must define the components of this layout. All whitespace
in the layout represents aisles in the warehouse that can be
traversed to travel around the warehouse from location to
location. The large rectangular gray square in the bottom
of the layout is the shipping area of the warehouse. As
described in Section 1, this is typically the start and end
point of the pick path. All remaining gray squares are
storage locations in the warehouse such as shelving units
or pallets. It is also important to note, distances are
associated with each aisle and the shelving units; this
comes into play as we move through the transformation of
the layout into a graph.
It can be seen that the red dots represent our vertices; the
blue represents the identities of our vertices. We see we
have a total of 36 vertices in our layout. Next, create all of
the edges and place the weight along each edge in green.
It is recommended that a thorough comparison of Figure
5.1 and Figure 5.2 be done to clearly see the figures
represent the same warehouse layout. The entire reason
for drawing this graph layout is to prepare all metadata
Figure 5.1: Warehouse Layout
that is collected by the application; planning and creating
this image representation helps to reduce data entry errors
After we have our layout defined, we can begin the
and greatly reduce the time taken to turn the layout into a
process of turning this into a graph that can have
graph theory applicable problem. After our graph and its
traditional TSP and shortest path algorithms applied. The
first step in this transformation is to create vertices at the metadata are complete, we can begin using the
intersection of all aisles, we do this because each aisle is application.
At this point it is important to note that this graph is a
an edge and the edges meet at intersections. Then draw
each aisle as an edge. representation of the warehouse layout that will allow us
Now, it is time to assign weights, of a uniform unit, to to traverse from any aisle intersection to any other aisle
each edge. These weights represent the distance from the intersection in the warehouse. This is different from the
pick path problem, as the pick path problem travels from
middle of one aisle intersection to the center of the
storage location to storage location. We eliminated the
neighboring aisle intersection. After assigning weights, it
location vertices from our graph, as the same algorithms
is time to randomly and uniquely assign each vertex an
and processes apply to a graph going from aisle
ID. This is done so that the user is able to interact with the
intersection to aisle intersection as a graph traversing
Windows Form application, because the vertex ID
correlates to an application vertex name. With that said, location to location. This is true, because locations are
the application presents nodes to the user in the naming found in our storage units. Our storage units are
convention of “v1” to “vMax#Vertices”, so for the sake of represented by the edges in our graph (see Figure 5.2).
simplicity, we will name our layout graph vertices as This means if we want to work with locations, rather than
such. After completing the process defined above, a graph aisle intersections, we turn one aisle edge into multiple
location edges. For example, if (from Figure 5.2) the
68 Int'l Conf. Foundations of Computer Science | FCS'15 |
References
[1] Theys, C., Braysy, O., Dullaert, W., Raa, B., 2010.
Using a TSP heuristic for routing order pickers in
warehouses. European Journal of Operational
Research 200 (3), 755–763.
[2] Bartholdi, J.J., Hackman, S.T., 2006. Warehouse and
Distribution Science. Release 0.96.
[3] A. Levitin, The design and analysis of algorithms 3rd
Edition (Upper Saddle River, NY: Addison-Wesley,
2012).
Figure 5.7 Pick Path Tour
[4] N. Deo, Graph theory with applications to
engineering and computer science (Englewood
This application shows the feasibility of using the
Cliffs, NJ: Prentice-Hall, 1974).
algorithms described in Section 4 to generate optimized
pick paths using simple vertex and edge data structures. [5] T. Cormen, C. Leiserson, R. Rivest, & C. Stein,
This application does not; however, implement a Introduction to algorithms (Cambridge, MA: MIT
recommended TSP algorithm, as the nearest-neighbor Press, 1990).
[6] F. Zhan, “Three Fastest Shortest Path Algorithms on
approach does not guarantee any degree of accuracy in
regard to the optimum tour [3]. With a TSP algorithm Real Road Networks: Data Structures and
guaranteeing an upper bound, this application would be Procedures,” Journal of Geographic Information and
Decision Analysis, Vol.1, No.1, pp. 69-82, 1998.
far more reliable and recommended for use.
[7] Q. Song, X. Wang. Partitioning Graphs to Speed Up
In short, we are able to demonstrate the practicality of
Point-to-Point Shortest Path Computations. Decision
using advanced TSP and shortest path algorithms for
and Control and European Control Conference
solving the optimized pick path, although further
(CDC-ECC), 2011 50th IEEE Conference on. IEEE,
implementation is required to guarantee any degree of
2011.
accuracy.
[8] R. Möhring, H. Schilling, B. Schütz, D. Wagner, and
T. Willhalm. Partitioning graphs to speed up
6. Future Work Dijkstra’s algorithm. 4th International Workshop on
Efficient and Experimental Algorithms (WEA), pages
It is our goal to implement an optimized pick path finder 189–202, 2005.
that implements a TSP solution with a guaranteed upper [9] Pohl. I. Bi-directional search. In B. Meltzer and D.
bound to the optimum tour. This will involve reworking Michie (Eds.). Machine Intelligence 6 (American
the vertex and edge data structures, as well as storing Elsevier. New York. 1971) 127-140.
them in a more optimal data structure than a list; [10] Dorigo, M., & Gambardella, L. M. (1997). Ant
preferably using a data structure that closely lends itself to colony system: A cooperative learning approach to
finding a minimal spanning tree based on the fact that the traveling salesman problem. IEEE Transactions
many upper bound TSP solutions first find a MST before on Evolutionary Computation, 1 (1), 53-66.
solving the TSP. This will make it more efficient to [11] CHRISTOFIDES, N. 1976. Worst-case analysis of a
implement algorithms such as Christofides’ or twice- new heuristic for the traveling salesman problem.
around-the-tree. Symposium on New Directions and Recent Results in
Algorithms and Complexity, J. F. Traub, ed.
7. Conclusion Academic Press, Orlando, Fla., p. 441.
[12] F. Chen, H. Wang, C. Qi, and Y. Xie, “An ant colony
optimization routing algorithm for two order pickers
In conclusion, pick path optimization is a component of with congestion consideration,” Computers &
warehouse operations with much room for improvement Industrial Engineering, vol. 66, no. 1, pp. 77–85,
in efficiency. To optimize the creation of pick paths, 2013.
further research must be done in heuristics for solving the
travelling salesperson problem with tight upper bound
guarantees. The algorithms analyzed in this paper are
capable of generating pick paths, although to guarantee
any degree of accuracy to the optimum pick path tour,
more advanced and complicated algorithms must be
implemented such as Christofides’ or twice-around-the-
tree. With the implementation of these algorithms,
optimal pick paths can be reliably generated and used for
directing order pickers.