The current slotting in WM&D is based on Pre-slotting. This means that there is a system to do the slotting/location planning upfront. This works quite good in environments where they have a lot of picking locations, and where it is known what products that should be sold in the next period.
The main processes for doing pre-slotting is:
- Select items that should be included in the slotting
- Select locations that should be included in the slotting
- Map items to locations in a “simulated plan”
- Activate the location plan, and archive the old location plan.
In std DAX, the slotting is stored in a table called InventItemLocation, that looks like this:
Here we can see that it is possible to add one picking location per item dimension. In WM&D it is possible to have multiple picking locations per item dimension per warehouse. To make this possible, WM&D has created a “shadow” table that mirrors the InventItemLocation:
Then there is a possibility to have multiple planned picking locations per warehouse per item. In WM&D we also have the ability to simulate the slotting into a slotting plan, before activating it, and there is therefore a “plan” table exists (WeeInventItemLocationPlan). Since it is sensible to also track previous locations, an archive table exists (WeeInventItemLocationHistory).
But why am I writing this ? The reason is that I have extended the WM&D slotting with a new concept called Dynamic Slotting. I previously described the benefits for dynamic slotting can be seen here.
Dynamics slotting overview
Dynamic slotting—managing the physical location of inventory—is critical to workforce’s ability to fill orders quickly, accurately and safely. Dynamic slotting determines the best picking profile for the warehouse and suggests timely, intelligent adjustments as inventory trends change.
Dynamic slotting uses data on each product’s physical characteristics and order frequency to calculate a relative value for each potential slot position within the warehouse facility. The values for all products are aggregated. It then compares millions of slot combinations against user-configured strategies to determine the optimal layout for the warehouse.
As input data changes, such as seasonal ordering trends or new or discontinued products, Dynamic Slotting can incrementally revise its recommendations to keep the warehouse at maximum efficiency without costly overhauls.
Dynamic slotting can also track changing inventory to enable continual improvements. The Dynamic slotting can be used from day one to plan racking requirements and maximize capital investments in costly warehouse infrastructure.
Dynamic slotting automates and manages many critical warehouse slotting components, including:
- Organize by velocity(real and expected) to maximize throughput
- Balance volumes among the aisles to decrease bottlenecks
- Identify golden zones to reduce worker fatigue and accidents
- Keep similar items separated to reduce miss-picks
- Group by product families to improve customer service
- Optimize placement to reduce product damage
- Determine optimal capacity of pick locations to reduce replenishment trips
- Simplify picking by storing kitted items together
- Apply customized filters to target specific SKUs for re-slotting
- Automate the slotting process to minimize manual tasks
Dynamics slotting on top of WM&D
To implement dynamic slotting in WM&D I needed to extend the algorithms that WM&D are using. The WM&D has therefore been extended with the following functions/tools:
ABC – Classification of items
To give the fastest items the fastest locations, will reduce the picking time. Pickers need to walk less, and the warehouse can deliver more within the same time. The main criteria for calculating this is to find a way to calculate item velocity. It is easy to calculate based on history, but if it is a new item, then a forecast must be applied.
The algorithm is very close to the std. ABC classification found on items, but here all items/sizes/configs will be classified as A, B or C, based on real and expected issues an item will have. I have also included a weighting of the items issues, so you could say that real picks should weight 60%, while forecast and ordered should weight 20% each. Then new items will get a proper A-B-C classification without that it has been in sale. The ABC value of item+dimensions is just a way of making things a bit easier for the users. Behind there exists a full transactional system, that evaluated many parameters, and also lets you correctly get the right ABC classification of new items without recalculating all items each time.
ABC classification of locations
To classify locations, a simple ABC classification PDA form has been created, that makes it simple for the warehouse worker to select which location should be classified as A, B or C.
The user just selects classification, and then starts scanning locations. What should be A, B or C location must be a subjective classification by the warehouse users.
- Automatic weight and volumetric calculations
Since WM&D can automatically record volume and weight of every inbound cargo, this information can be used to automatically populate the average weight and item volume. In std. AX weight and volume is properties on items, while on WM&D you can find these data also on the sizes. (note : Having it on inventDimCombination would be better, I agree)
Create a controllable picking sequence
One important aspect we see, is the ability to pick as fast as possible, by minimizing the walking time. We need the ability to pick ascending and descending according to the Aisle. To control this, WM&D will use the sorting criteria on the Aisle Register :
The descending field (that is a std. ax field), will both control the locations sort-code, but also in witch direction the aisle will be picked in a consolidated picking scenario using PDA’s.
If we mark that each rack is an Aisle, then WM&D is able to create a consolidated picking route like this:
If we define that an Aisle is the “space” between the racks, then WM&D is able to create a consolidated picking route like this:
This will save up to 20% in walking distance, because an aisle is picked in a “zig-zag” picking pattern.
To make sure that we don’t get “hot-spots” in the warehouse, the dynamic slotting will try to balance and spread out the “hot”-items through the warehouse. This is done by maintaining an expected pick load (Hot-spot sort-code) per aisle. The algorithms is making sure that as soon as a “hot” item has been slotted to an aisle, the aisle will be sorted/prioritized down at the next dynamic slotting approach. This will evenly balance the pick-load per aisle.
Release locations that are no longer used.
The first step was to create a system that automatically free up space in the warehouse. Without making locations as free, I cannot start using it for other items. I therefore created a class that looks on on-hand of an item, to see if the current fixed location could be released. This is a typical scenario in the retail industry, where products are only purchased in a defined quantity.
What this program remove current location from the location plan, if the on-hand is zero, and there are no expected receipts. When the items arrive again to the warehouse, the put-away will dynamically find a new location for the item.
The actual dynamic slotting
The dynamic slotting works like this. When there is a receipt (from a purchase, or internal transfer) or an internal replenishment from a Buffer Location to a Picking location, then the dynamic slotting will first check if the item do have a fixed location, else give the item a fixed location, that suits the velocity criteria for the item.
Not many nice forms to show this, but you can see the results in the WM&D location planner :
But we see that “A”-items gets allocated to “A”-locations automatically. What we also have seen in the live customer environment, is that the picking now takes drastically shorter time. Here is a real life example from a consolidated picking route :
58 pcs has been picked from 9 locations, within 5 minutes. If we estimate around this, it means that with the new Dynamic Slotting it could possible for a single picker to pick from more than 100 locations per hour, and in a full working day this would be 750 locations and, with an average of 4 pcs per location, this could mean more than 3000 pcs per picker per day.
The solution shown here is not a part of standard WM&D, and has therefore been built as a customer customization on top of WM&D.
3 thoughts on “Dynamic Slotting on top of WM&D”
Hi Kurt, Thanks for your great post here. Could you please let me know the vertical solution which show the dynamic slotting in this post? Many thanks in advance.
Hi Mark. The WM&D solution is a To-Increase (www.to-increase.com) solution. But the AX 2009 Version do only contain static slotting. What I show here is how I extended this into Dynamic slotting. To-Increase have slotting into their AX 2012 roadmap, but is not confirmed when it will be available.
Thanks for your prompt reply. Please update me if you know To-Increase release this for AX 2012.