Orders and warehouse
The pick route is one column you do not have yet
Your pick list is sorted by article number, because it does not know where the shelves are. The pick route planner in Holio Workspace draws the warehouse, gives every bay a sequence number, and turns both the order and the placement into metres and minutes.
Four things inside the module
Not a spreadsheet and not a consulting project — these are screens in the workspace, on the same locations your pick lists already use.
The floor plan
Draw racks, walls, the pack bench and goods-in. The location codes fall out of the drawing — aisle, bay and level, with nobody typing them in.
The sequence number
Every bay gets a pick_sequence that follows a serpentine through the aisles. Sorting pick lines on it is one new column in the query.
The solver
Nearest neighbour and 2-opt on actual walking distance, not on straight lines. It finds the crossing between neighbouring aisles the serpentine cannot see.
The placement
The system works out which location each article should have had, from pick frequency, walking distance and the level the article can be lifted to.
Try it here
Draw your warehouse, and see what the order costs
The example warehouse below is drawn already, but it is not locked: drag out your own racks, move the pack bench, click bays onto the pick list. The numbers are recomputed on every change.
Click a bay to put the article stored there on the pick list.
What the order costs
The same pick list, three ways of sorting it. Distances are measured cell by cell through the walkable floor.
Atpick lists a day, 250 days a year, the difference between today's order and the optimised route is1,420.0 kmof walking and329 hoursof picking time.
Where the goods should sit
The route can only make the best of the placement it is given. Here the system works out which location each article should have had, from how often it is picked, how costly the walk there is, and which level the article can be lifted to.
66 %shorter pick path — 798.1 km a year
The cost per pick is the round trip from the pack bench plus the level surcharge converted to metres. One number for both distance and ergonomics.
Move list39 moves
The top 10 collect 66 % of the gain| Article | Picks/mo | From | To | Saved | |
|---|---|---|---|---|---|
| 1 | Ventilation and building 11890 · L | 112 | L-05-3 41 m | A-15-1 8 m | 96.8 km/yr |
| 2 | Kitchen ventilation 17901 · M | 96 | J-04-3 38 m | A-16-2 7 m | 85.2 km/yr |
| 3 | Ventilation and building 11207 · L | 134 | I-11-1 28 m | A-16-1 7 m | 67.5 km/yr |
| 4 | Kitchen ventilation 10442 · M | 118 | J-15-2 27 m | A-17-2 6 m | 59.5 km/yr |
| 5 | Kitchen ventilation 10118 · S | 142 | E-14-1 17 m | A-18-2 5 m | 51.1 km/yr |
| 6 | Automotive and machinery 13712 · M | 67 | H-03-1 35 m | A-13-2 10 m | 45.0 km/yr |
| 7 | Kitchen ventilation 14318 · S | 61 | K-13-3 30 m | A-15-2 8 m | 41.0 km/yr |
| 8 | Automotive and machinery 13540 · S | 88 | A-06-3 17 m | C-18-2 9 m | 29.6 km/yr |
| 9 | Vacuum cleaners 15330 · M | 41 | P-06-2 38 m | C-16-2 11 m | 26.6 km/yr |
| 10 | Accessories 15873 · S | 33 | N-03-2 43 m | B-14-2 12 m | 24.6 km/yr |
| 11 | Water and drink 15220 · S | 64 | K-18-1 25 m | D-17-2 13 m | 23.0 km/yr |
| 12 | Ventilation and building 17233 · L | 52 | B-02-1 24 m | A-14-1 9 m | 18.7 km/yr |
Every move is a swap: the article on the target slot takes over the one being vacated. Showing the 12 largest of 39.
Product familiesaverage distance from the pack bench
| Family | SKUs | Picks/mo | Average now | Recommended |
|---|---|---|---|---|
| Kitchen ventilation | 9 | 526 | 26 m | 6 m |
| Ventilation and building | 9 | 473 | 29 m | 8 m |
| Automotive and machinery | 6 | 256 | 25 m | 10 m |
| Vacuum cleaners | 5 | 205 | 21 m | 9 m |
| Accessories | 8 | 150 | 26 m | 12 m |
| Water and drink | 5 | 147 | 23 m | 13 m |
Kitchen ventilation accounts for 30 % of all picks. The distance is weighted by pick frequency, so a rare article far back counts for little.
Export744 locations · 42 articles
{
"company_no": 1000000,
"location_no": 1,
"grid": {
"cols": 40,
"rows": 26,
"cell_meters": 1
},
"nodes": {
"pack_bench": {
"x": 3,
"y": 23
},
"goods_in": {
"x": 35,
"y": 2
}
},
"bins": [
{
"bin_code": "A-01-1",
"aisle": "A",
"bay": 1,
"level": 1,
"x": 6,
"y": 3,
"access_x": 5,
"access_y": 3,
"pick_sequence": 10
},
{
"bin_code": "A-01-2",
"aisle": "A",
"bay": 1,
"level": 2,
"x": 6,
"y": 3,
"access_x": 5,
"access_y": 3,
"pick_sequence": 20
},
… 742 more rows
],
"products": [
{
"product_no": "10118",
"name": "Kullfilter kjøkkenvifte, 2-pk",
"family": "kjokken",
"size_class": "S",
"picks_per_month": 142,
"bin_code": "E-14-1",
"recommended_bin_code": "A-18-2"
},
{
"product_no": "10442",
"name": "Fettfilter alu 57×47 cm",
"family": "kjokken",
"size_class": "M",
"picks_per_month": 118,
"bin_code": "J-15-2",
"recommended_bin_code": "A-17-2"
},
… 40 more rows
]
}One row per location with bin_code, aisle, bay, level, coordinate and pick_sequence in steps of 10 — and one row per article with the location it sits on now and the one the system recommends.
From drawing to pick list
The gain arrives in four steps, and the first three ask nothing of you beyond the locations you already have.
How it is today: the list is sorted by article number
A pick line points at a location number, and that is the whole warehouse — not the shelf. With no geometry the list has nothing better to sort on. That is the red route in the planner.
The cheap step: one integer per location
The drawing gives every bay a sequence number. Sort the pick lines on that instead and the route becomes a serpentine through the aisles — same query, one new column, no solver.
The last step on the route: the solver needs the map
2-opt computes actual walking distance between bays and picks up what the serpentine misses: crossing between neighbouring aisles, and the cross aisle. That needs the coordinates, not just the sequence.
The one that pays most: and then you move the goods
The route makes the best of the placement it is given. Slotting changes the placement itself, and it works on every pick list afterwards. It needs pick frequency per location — the rest is sorting.
The frequencies come from pick history, not from an assumption
The pick counts in the example are synthetic. In operation the module reads them off the stock movements Workspace already records — every pick is a row with a location, a timestamp and a quantity.
That is the difference between an ABC analysis somebody did last year and one that runs every night: seasonal goods move themselves up into the golden zone when the season starts, and back down when it ends.
The move list is a job for the warehouse, not a report
The recommendation arrives sorted by gain, and the top ten normally collect most of it. Every line is a swap: the article sitting on the target slot takes over the one being vacated, so nothing is left homeless on the way.
In Workspace that list becomes picking tasks with a location and a quantity, on the same desk as stock counts and goods receipt — not a spreadsheet somebody prints and loses.
Show us your warehouse
We draw your aisles during the walkthrough and run the numbers on your own pick lists. 45–60 minutes, at no cost.