I will start an optimization project in a bottlenecked bottling and filling line of a brewery. The goal is to produce the maximum number of cans and bottles of beer with minimum downtime and slowdowns. My managers want this project to be done with a combination of AI + Optimization, according to them, this artificial intelligence system should constantly update its decisions and plan according to the data coming from MES, IoT, ERP and dynamically optimize the process itself without leaving the optimization to planners and operators. I guess classical optimization and machine learning methods will not work here, but I can't think of any other method other than Reinforcement Learning. I am waiting for your recommendations.

  • 1
    $\begingroup$ Look at Sequential Decision Analytics by Warren Powell also. His modeling framework is uniquely suited to factory environments. $\endgroup$ Commented Mar 11 at 19:44

2 Answers 2


Before you can decide the solution for a problem, you need to have a good understanding of the problem.

When you understand the problem better, it is much easier to see which approaches can work and then weigh them against each other to find the one best suited.

Here is an approach you can use:

1. Formulate a clear problem description

  • What are the decisions you need to impact?
  • What are the constraints around them?
  • How often can you change decisions?
  • What is driving the data updates that require decisions to be changed?

2. Collect data

  • Do you have all the data needed?
  • What is the quality of the data?
  • Is there data available at the right time or do you need to predict some of it?
  • How often will data be updated?

3. Define requirements for solution method

  • Who will use the solution?
  • How big will the problem be?
  • How often will it need to run?
  • How will it be used? Should someone be able to overwrite decisions?

4. Evaluate solution methods

Come in with a fresh mind (including your managers). When you have a common understanding of the problem it is much easier to discuss the pros and cons. Then, you can decide if classical optimization and machine learning methods might be a better fit than, e.g., reinforcement learning.

5. Start small and be agile

Building a full system that continuously updates from various sources and directly makes changes is complicated. Consider how you can build a minimum version (proof-of-concept / Minimum-viable-product). This will also help you learn about the problem and the requirements for the solution. The biggest challenge is often around data collection and processing, so I wouldn't be too concerned about picking the "wrong" optimization method as it is easy to change when you have the data. It might make sense to start with something super simple (e.g. like a greedy heuristic), that is more similar to how the problem is being solved today. Then you have a baseline to improve from.

Good luck!


To add to @Michael Lindahl's answer one classic area of combination of ML/MO (Machine learning & mathematical optimization) is ML enumerates the functions for the objective while MO performs the mini/maximization or closes the gap with a target. ML may also help in identifying influencing parameters or their values, like feature engineering.

AI comes in handy when defining constraints - like based on rewards/low risk- -what should be the RHS value for a constraint? -does the constraint need to be binding? -Are any of the constraints complementary to each other (Complementarity)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.