Hacker News new | ask | show | jobs
by Buttons840 860 days ago
It doesn't help that this is such a fun problem every programmer wants to try solving it.

What do you think the hardest part of solving this with computers is? Surely if we can get all the constraints (some of which would be soft-constraints) into the computer it can come up with an better solution than a person can. Right?

Is it a problem because the real world is messy and not all the data can go into the computer? Or is it that we just don't know how to define a "score function" that accounts for everything?

1 comments

The real world version of the problem looks similar to the 'flexible job shop' but with a few tweaks that increase the problem complexity significantly.

Real time, accurate data collection is a non-trivial problem in a high-mix environment and if you've got a handle on the first two, compute infrastructure to crunch all of it and then push it back to the facility being scheduled is expensive.

Finally, systems that are this optimized can be slow to react to sources of error.

The alternative is to pay a couple of guys to spend most of their time walking or golf-carting around a few hundred thousand square feet of facility. Their job is to intimately know the various processes and employees involved, run a very basic scheduling protocol and modify it on the fly as the situation demands. In most instances, it is very hard to prove that the technologically complex version is a true improvement over the good ol' boy approach.

As such, the computational solutions usually end up implemented to boost the companies valuation to potential buyers.

edit: job shop scheduling can work wonders, but it generally fails hard in 'high-mix' environments.