They had roughly 50 suppliers of coal. Each had a different contract, different price points, different quality, different supply chain processes (time of delivery). The goal is to get enough energy for the operations at the optimum price point.
What does Data Science Solve?
The client wanted a model that did the magic!
Predicting coal prices in the future is extremely difficult. Honestly, if we could do that, we would be already vacationing and not writing a blog! Predicting the black swan events in the workplace is not easy either (an order getting delayed, a sample not passing quality checks, etc.).
Hence, after brainstorming, we realized that the single biggest gain of the model is to run it periodically and upgrade the plan based on the changing scenarios. Doing what-ifs and refining the plan was a major gain too!
What did we do?
A clever optimization combining linear optimization to get close to the solution coupled with a genetic algorithm to refine the search in the vicinity of the solutions suggested by the linear program solved this large scale problem (50,000+ constraints) satisfactorily.
We optimized the model to run really fast and created simple interfaces to execute it easily. A lot of effort went into visualizing the results and enabling what-if “plays”
Moral of the story
Data science does not grant you magical powers of predicting almost random events! If built properly, it allows you to make the best guesses possible and quickly refine the guesses over time to make better decisions.