Warehouse Storage Layout Question

Hey Openboxes gurus,
wondering if OpenBox is able to support the following requirement.
. storage layout visualziation

We are conducting research on the warehouse layout management, e.g. how would warehouse assocate easily input the warehouse layout and from the layout given by them, our final goal would be to figure out the optimal order picking path.


1 Like

This would definitely be something I’d be interested in implementing into my warehouse. +1 from me.

@Lukeliush I’d be interested in discussing this further. Do you have any details on the expected behaviors for such a feature?

currently, we are using several different 3rd party warehouses, in which we do not have full control over their warehouse layout. they are ok with providing the storage area layouts (which could be different depending on the different warehouses) for us to help them to optimize order picking path.

our ultimate goal is to build out an order picking system that allow them to minimize the traveling distance in picking items for each outbound order.

The first challenge is how they should provide the layout input nicely so that we can convert them to graph representation easily for doing picking path optimization (off the top of my head, we need to reprsent the layout into a graph and simply treat the problem as traveling salesman issue. )

Wondering if there is a system with a nice ui (e.g. a 2 dimensional drawing panel) that allow warehouse managers to draw to provide the storage area.

off the top of my head, we need to reprsent the layout into a graph and simply treat the problem as traveling salesman issue

Completely agree and I think that would be an amazing feature for a WMS system. I don’t know of any open-source systems that support that out of the box (maybe https://openwms.github.io/org.openwms/). There are definitely commercial systems that do this, but those might be cost-prohibitive.

We could probably do this without needing a visual design tool to represent the warehouse layout.

There are two parts to the problem:

  • Determining how to breakdown your storage locations into priority/fast-mover bins vs other bins
  • Determining what stock items are high priority vs low priority

As a first step, we could draw the storage layout using lo-fi graphing paper (or use an online system like smartdraw.com or lucidchart.com) to represent a few warehouse layout designs. Then you might want to assign some type of weighting to your bin locations (maybe distance from a staging area). You might also want to include any important characteristics of your bin locations like weight and volume restrictions. I would include the volume and weight filtering since some bin locations might not be able to support certain products so you don’t want the algorithm to place items incorrectly. You can label each area with an ABC classification that would give you a very broad breakdown. The hard part here is that we’ll need to do some more calculations later to determine what can actually fit in certain areas of the warehouse before the ABC classification is actually useful. For sake of argument, let’s assume all items are the same weight and volume. Eventually you might get something that looks similar to the image below.


The next step would be to compile some order data to see what items are most important. This will be entirely up to your operation. In a warehouse with global health commodities (which is a use case that I’m most familiar with) I might prioritize consumable products that are high usage like Exam Gloves and Sutures, high usage drugs like Acetaminophen, Ibuprofen or Oral Rehydration Salts (ORS) as well as low usage, but highly essential medicines like ARVs or tuberculosis prophylaxis. Or it might be prioritized by the funding agency that is paying for the warehouse. So I have a few dimensions that I might need to account for with my products … namely, usage, essentiality, and cost. But again, it’ll be up to you. Maybe you’d like to use # sales or sales amount. Or a combination. In the case of a combination you’d need to come up with an algorithm to weight the multiple dimensions appropriately into a combined score. So no matter what you decided to do you’ll eventually have a table like the one below.

In order to make this example straightforward, let’s just take a very simple statistic like number of transactions the SKU was involved in during some period. The following table represents the total number of transactions by SKU and the calculations needed to breakdown the items into an ABC classification.

SKU Total Cumulative Percentage ABC Classification
10001 1000 1000 37.52 A
10002 750 1750 65.67 A
10003 500 2250 84.43 B
10004 250 2500 93.81 C
10005 100 2600 97.56 D
10006 50 2650 99.44 E
10007 10 2660 99.81 E
10008 5 2665 100.00 E
10009 0 2665 100.00 Obsolete?

In case it’s not obvious, to get the percentage we divide the Cumulative (1000) and by the last Cumulative (2665) to get the Percentage (37.52%). We can then use whatever breakdown we want to assign the ABC classification. I figured the breakdown should follow the Pareto principle where my top 80% would be in an A location, B items would be in a less prioritized (but still optimized) location and the rest would be wherever.

  • A (80%)
  • B (85%)
  • C (95%)
  • D (99%)
  • E (100%)

This is an approximation of the ideal order picking algorithm you mentioned above but it probably gets you 95% of the way to a solution with much less complexity.

However, let’s keep talking about a nearest neighbor solution because I think that would be really awesome to support in a future version of OpenBoxes.

In either case, the algorithm we choose to go with needs to be incorporated in your warehouses’ standard operating procedures and therefore probably needs to be run every so often (once a year, every few months) in order to make sure your fast movers / essential stock are being placed in the right areas and that the less important or obsolete stock items are moved out of your priority bins or removed altogether.

Anyone have any thoughts?

Disclaimer: I am not a warehouse storage layout expert so please take these suggestions with a grain of salt. With that said, I love these kinds of conversations and want people to feel comfortable asking them in this forum. I think we can attract a wider audience if we can broaden our conversations to topics outside of what the software supports. So thank you @Lukeliush for this question!!!

@Lukeliush Could you share some of the possible storage area layouts that your 3rd party warehouses are using? Also what kind of products are you dealing with? Consumer electronics? Auto parts? Household goods? Grocery items? Do these items expire? Do they require cold chain? Is there an even distribution of products represented in orders? Do you good data about the distribution and volume of items in orders?

Here’s an example of a commercial system that supports storage layout planning and optimization.

Here’s a case study for a simulation software called Anylogic that does something similar to what you want to do.

And here are some public models produced by Anylogic. I couldn’t find an order picking example but you can get an idea of what the software can do by perusing these examples:


Thanks for the great update, appreciated. and sorry about the delay.

I think there are two main problems.

  1. layout data collection
  2. layout data modeling (how do we convert the layout into the model and work with it to produce the right output properly )

I feel 1) could be essential, as we might need to read the resources given in the layout.
today, they are providing the resource (such as bin, building, section, etc) in a form of spreadsheet.
once we have a system that allows them to specify the layout, i hope they can just provide those data in layout UI, so that we have single source of truth for the location or layout data. T

Going back to your question, here would be my answers with humble opinions :slight_smile:
jmranda>1 Could you share some of the possible storage area layouts that your 3rd party warehouses are using?
lukeliush>> one of the storage areas has a very simple layout.
they are using the selective pallet rack system, the laytout is more like a typical Costco store. :slight_smile:

jmranda>2 Also what kind of products are you dealing with?
lukeliush>> we are “not” dealing with consumables.
e.g. we could have auto parts, piano, office supplies and they dont usually have expiration, and they can stay for a couple of days, but depending on the demand or when we cut the outbound order, they might potentially stay in the warehouse a bit longer, but right now, i think we can just simplify the problem, where they only stay in the warehouse for a couple of days.

jmranda>3 Do these items expire? Do they require cold chain?
lukeliush>> nop, Cold chain is not required and no expiration.

jmranda>4 Is there an even distribution of products represented in orders? Do you good data about the distribution and volume of items in orders?
lukeliush>> actually there is one more motivation behind working with layout too.

when we stow pallets to racks, we also want to put the pallets into a neighbourhood that share the common attribute (such as the same destination node or the same order), this also help minimize the picking distance.