Travel is the greatest source of wasted labor in a typical warehouse. This tool computes the shortest path required to visit an arbitrary set of storage locations.
This program computes and displays the shortest path necessary to retrieve all the SKUs requested by a customer. This enables you to:
Figure 1: Shortest pick-path visiting the required (red) storage locations. In this example, all paths start at the upper left and finish at the lower right.
This is a Java program and so should run on every type of machine and operating system. However, you will need to have installed Java (which is free).
If you draw the layout of a warehouse in an MS Excel spreadsheet and label the storage locations, this program will:
The following needs to be done only once.
Draw the map and save it on a single worksheet in
xlsx format. In this map, each section (bay) of shelf should be represented by a cell of the spreadsheet. Each such cell should include a text string giving the unique address of that section.
In addition, all aisle space must be identified and its dimensions given. This is done by writing a text string into each cell of aisle space with the following codes:
A:to indicate Aisle space (note colon immediately following the “A”).
<cell width>;, <cell length>;given in whatever coordinates you prefer (but you must be consistent). All space marked as aisle must include these dimensions.
D. If any space marked as aisle also includes one of these indicators, picking in forbidden in that direction (Left, Right, Up, or Down) from the cell.
A:3,2;D indicates that the cell containing this string is aisle space that is 3 units wide, 2 units tall, and it is impossible to pick from any storage space that may be immediately below (
D = “Down”).
Write the text string
START into one cell and
END into another to indicate the common start and endpoints of all trips by order pickers. These must be different cells, but they can be adjacent.
From the top menu of the program select
Open warehouse description. The program will display an image of the warehouse (or an error message if the warehouse description contains internal inconsistencies).
Prepare a text file in
csv format that lists the addresses of all storage locations visited by each order. (Quantity picked is not relevant for pick-path optimization.) All the addresses of each order should be listed consecutively, with each new address on a new row. Each row should contain exactly two values, the unique id of the order and the address of a storage location. Do not use a header.
From the top menu of the program select
Open batch order file. The program will pop up a menu that offers two choices:
If you choose to step through the orders, you will see a button labeled
Next to the right of the warehouse map (Figure 1).
If the program does not run, make sure you have the latest version of Java installed and your security settings allow execution of Java programs.
Here are some sample files that illustrate how to prepare your inputs.
The program relies on the Lin-Kernighan heuristic, which begins with a solution and then searches for small changes that will improve it. Strictly speaking, this can get stuck in a local optimum and so fail to find the shortest path. We reduce the chance of this happening by extending the search and by running the algorithm multiple times. You can control both of these by clicking on the menu
Optimize path and then increasing the number of tries and/or number of iterations per try. Values that are too small increase the chance of a local optimum; values that are too large waste time and cpu cycles. The current values seem sufficient for most warehouses so you should probably not change current settings unless you are convinced that it is producing sub-optimal travel paths.
(We did not use the optimum-finding algorithm of Ratliff and Rosenthal, Operations Research 31(3):pp 507–521, 1983, because of the complexity of programming for warehouses with cross aisles.)
Figure 2: The most-frequently-visited storage locations
Yes, you can use any spreadsheet program that can read and write files in MS Excel
Did you forget to prepare it in
You can prepare and load a configuration file to change any or all of the following:
// Choose to match your preferences: screen_width 1000 screen_height 700 // How the warehouse map will be displayed: order_color 150 150 60 100 shelf_color 100 100 70 100 text_color 40 0 100 23 text_size 12 // Labels for aisles: aisle_identifier A block_left_identifier L block_right_identifier R block_top_identifier U block_bottom_identifier D start_identifier START end_identifier END // Controls for the heuristic: iterations 3000 runs 5
Possibly. Send me a description of what you have in mind. If it seems generally useful it will be added to the to-do list.
Bugs are dealt with quickly. Otherwise, the software is updated about once a year.