Code by John J. BARTHOLDI, III, Sriram SUBRAMANIAN, and WANG Yong
What is the shortest path by which an order-picker can visit a given set of locations in a warehouse? This is an instance of the “Traveling Salesman Problem”. H. D. Ratliff and A. Rosenthal showed how to construct a minimum-length path within polynomial time by dynamic programming (Operations Research 31 (1983), pages 507-521). Here we implement a simplified version of their algorithm. This allows only limited backtracking and so can be slightly suboptimal (though rarely in practice), but is much easier to code.
Travel in a warehouse is usually waste; and it comprises most of the labor cost. You can use this program to reduce this waste:
Here is an example of how the program can compute and show the shortest possible pick paths:
For our purposes we treat the warehouse as a network of storage locations, as suggested in this figure:
Each dot represents a position along an aisle at which an order-picker can stand to pick from either the section of shelf to his left or to his right.
Order pickers can travel between positions (dots) only by following the aisles (lines connecting the dots). An order-picker is assigned a batch (group, collection, set) of pick-lines; then he begins at the red dot, travels in a generally clockwise fashion through the warehouse while picking, and returns to the black dot.
Our program computes the (near) minimal distance route that the order-picker should follow.
To simplify the algorithm we place some small restrictions on the route to be followed by the order-picker: An order-picker must visit all required locations in the Top Zone before visiting any location in the Bottom Zone. Furthermore, he must pick sku's from the Top Zone from left to right; and he must pick all sku's in the Bottom Zone from right to left. Sku's in the Middle Zone may be picked along with those of the Top Zone (when moving left to right) or along with those of the Bottom Zone (when moving from right to left).
xls or xlsx
format that labels the address of every section of shelf and specifies distances.
(Here is an example that you can
adapt.)
In this example, you can see that the gray area represents named sections of shelving and the white area are aisles through which the order-pickers may travel. The leftmost column identifies the two rows that are the basis for out-and-back travel. Measurements are written in the aisles.
Please read
the license
and disclaimers, then click to launch the latest version via
Java Webstart:
SORRY, BUT THIS PROGRAM IS UNAVAILABLE WHILE IT IS BEING COMPLETELY RE-WRITTEN.
If you are running the program for the first time, Java Web Start will download it (one jar file totaling only 68kb). The next time it will check only for modified jar files (an upgrade) and download them. If there has not been an upgrade, the application will start immediately.
Note 1: Recently Apply changed its default security to prevent the launch of unsigned applications. This application is unsigned and so will not run unless you — temporarily &mbdash; relax this level of security. Go to System Preferences, choose Security and Privacy and click the button to “Allow apps downloaded from Anywhere”. And be sure to return this to its original setting when you are done running this application.
This program is written in Java so it runs on any brand computer and any operating system. If you do not already have Java installed, get the latest version of J2SE by clicking here.
It is rather tedious to prepare the description of your warehouse and we are working to make this simpler. In the meantime, if you need help preparing your data or need a modification to the program, please contact me. I cannot promise immediate assistance but if your problem is of general interest, I will either attend to it myself or perhaps engage my students to work on it.