No, we actually do need more programmers more than we need better tools

i lack any other information about the problem

Here is the problem in a nutshell:

You have to load a shipment into a truck that fits up to 48 pallets. The truck will make an average of 6 stops and therefore must be loaded so that different stops aren't mixed on the same pallet. Moreover, the items on the pallet cannot exceed some height and weight constraints. And certain items cannot be placed underneath certain other items on a given pallet. Obviously, the items for your shipment are located in different parts of the warehouse. You want to maximize the number of trucks that the warehouse can send out in a night. That's basically it, but as always the devil is in the details.

For instance, you can load up to 5 trucks at a time with 25 workers who can walk through the warehouse with double-pallet jacks. So they can work on any combination of truck or stop for up to 5 trucks, two pallets at a time per worker. You have to optimize this as well. You also know that your workers move at varying speeds (you're tracking this yourself).

There are various edge cases you have to try to avoid. For example, some locations in the warehouse will become empty. You need to dedicate a few of your workers to replenish these locations before your other workers reach them and they're empty. If you plan your trips through the warehouse carefully, you should be able to avoid this.

So do you think you can search for combinatorial optimization on Stack Overflow and copy and paste some code to solve this?

i do not find this particular example as good since he says that his solution merely solved the problem while the competitor's solution suggested changes

You're thinking of the wrong kind of "suggested changes". These were instructions the software sent out to move product from one part of the warehouse to another. They had to be treated as "suggestions" because they may or may not happen in time, if at all.

But, in theory you could rearrange your warehouse so as to accommodate the orders you were anticipating in the near future. This was an entirely different problem because rearranging the products in a warehouse is very slow, backbreaking work and must be done in advance of the actual orders came in. So you have to try to come up with some set of representative orders based on historical data. And based on this come up with a warehouse graph that can accommodate those orders better than the existing warehouse graph. Or you can say fuck it and reinvent the entire concept of a warehouse:

/r/programming Thread Parent Link -