December 22, 2020 in Decision Support
Combining Machine Learning, Optimization for Better Decision-Making
SHARE: PRINT ARTICLE:
https://doi.org/10.1287/LYTX.2021.01.06
Over the years, we have seen the use of machine learning (ML) grow as tools matured and use cases as well as skilled ML practitioners increase. It is therefore logical to ask whether machine learning is replacing decision support techniques like optimization, or whether they can work together to enhance decision-making instead. At AIMMS, we believe the combination is more powerful, but before delving into how these disciplines can complement each other, let’s look at the differences.
Gartner classifies [1] three disciplines in what they call “better decision management”: optimization, machine learning and business rules. Each discipline comes with its own strength and applicability. However, it’s clear that when skilled in all fields, one can get benefit from the full scope of decision management and have the “best” decision management readiness available. For the purposes of this article, I will not discuss business rules in more detail and explore optimization and machine learning.
Machine Learning
Typically, ML is about feeding algorithms with an immense amount of data so it can be analyzed and provide predictions, data clustering insights, or even recommended actions for decision-making using training techniques. Key here is that the results of an ML algorithm are heavily dependent on historic/available data, and recommendations cannot be validated (within the algorithms) as being feasible; it is (only) tested against existing data for correctness. The combination of algorithm selection and testing can be quite a task. Also, feedback on the results of these algorithms is important and should be fed back into the algorithm to improve future insights. It can also be used as validation for the algorithms.
Think of providing feedback on image classification, where the algorithm says there’s an 82% probability the image is a cat and you validate it as one, or in Netflix recommendations agreeing by giving a thumbs-up. False positives can also be a challenge in certain situations where you need to be absolutely sure (for instance, decisions on applying medications or steering a car).
In all these situations, an analyst has set up a way to handle the data and pick the algorithms to use. This could be either a manual process or an automated process. With auto ML, even model building is increasingly automated. Data changes, especially structural ones, can greatly influence the effectiveness of the outcome. Hence, depending on the stability of the data, the results will be more or less useful and hence require (regular) re-training.
Examples where ML is used:
- statistical ML functions to detect trends in demand data
- creation of network clusters to improve Vehicle Routing Solutions (can’t be solved at once)
- risk analysis of credit card application (continuous learning)
- recommendations in Netflix on what to watch next, or a web shop suggestion for purchase
- ads provided based on cookies in your browser and user profile matching
As mentioned earlier, ML often also depends on feedback to improve the algorithms. This could be on a very user-specific level (e.g., thumbs up/down for a Netflix series recommendation or commenting on the usefulness of Google ad).
In sum, ML uses an abstract internal model that needs to be trained with lots of known training data, and the model and any results it produces are therefore hard to verify. The big advantage of ML is that it is data driven and no explicit knowledge of business logic is required to implement an ML model. If you have data, you can often do something with it (i.e., explore them using ML algorithms). However, inputs substantially outside of the range of training data are likely to produce less reliable or completely unreliable results.
Optimization
Optimization may be well-known to those who read INFORMS’ Analytics magazine, but less so to ML practitioners. Let’s briefly explore what makes optimization different from several other techniques out there.
Optimization uses various mathematical programming methods such as linear programming, integer programming and constraint solving techniques. The idea is that you symbolically describe the decisions you need to make (e.g., amount to transport, warehouses to open/close), the constraints you need to uphold (e.g., maximum capacity, transport rates) and the relationship between the two (e.g., never transport more than the total truck capacity available). The description of the complete business logic is called a model and enables you to represent the complete business problem [2].
Adding data to this model and invoking a mathematical program solver allows one to find feasible recommendations for this business problem (e.g., production plans, warehouse locations, resource assignments). In addition, the model holds an objective to maximize (or minimize), such that recommendations not only match the business logic, but also provide optimal solutions (e.g., minimal cost, highest margin, and highest service level).
Where They Differ, Complement Each Other
Summarizing, optimization, in contrast to ML, relies upon explicitly modeling known business logic into the optimization model. This makes optimization more laborious to implement, but the results of the model can be easily verified against the existing business logic and therefore more safely and easily implemented. Also, as no training is involved, the model will work for any combination of input data.
Clearly, the input data is key. Better results are achieved with having good data (e.g., as complete and reliable as possible). Hence, a clear connection can be made between optimization and ML. ML can strengthen optimization by having better forecast data, for instance.
Combining optimization and ML techniques provides the following benefits:
- Using ML, better (often forecast) data can be generated as input.
- Using optimization, recommended actions are validated against the business logic, and thus are always implementable (resulting plans could even be automatically implemented).
- Using optimization, recommendations are supporting a clear objective giving the business clear understanding of the value of a recommended action.
Of course, the bigger question is whether ML can start predicting optimal (or at least extremely good) recommended actions that are feasible to implement and do not depend on optimization against constraints or objectives. This can be a game changer, as optimization runs could be more time consuming than running ML algorithms. If possible, you can also imagine to only run an optimization model every so often for additional validation, while ML algorithms are suggesting the initial recommendations. This can increase the usability of both optimization and ML even further in many cases. So far, we have not seen evidence of this for the use cases of our customers at AIMMS. Hence, we believe optimization will be a key and even required technology in decision-making next to machine learning.
Zooming in on Some Use Cases
Let’s look at how ProRail, the government organization responsible for rail network maintenance in the Netherlands, uses AIMMS and machine learning. They use inspection trains that are equipped with cameras to identify defects and irregularities on rail tracks. This image recognition technology, which is machine learning-based, helps minimize risks for staff, who previously had to perform checks on-site. Yet, it also posed its own set of planning challenges. Inspection trains must complete thorough inspections, but they must drive as little as possible to minimize interference with regular train operations. ProRail asked CQM, an AIMMS partner, to help them address this puzzle with schedule optimization [3]. This shows how machine learning and optimization go hand-in-hand. It’s a continuous cycle, only knowing where the issues lie doesn’t mean you’re done. You get good input, but you also need better results.
Another use case is how we use ant colony optimization, done partly in AIMMS and R, to support forecast learning in our Demand Forecasting application (which is part of our suite of apps, SC Navigator).
We also have customers using R to cluster customers for use in network models. In this case, they service clients from different depots. If they cluster customers in a logical way (applying machine learning to find middle points between customers based on geographical or demand data), they get more accurate input data for use in AIMMS.
Do you know other interesting use cases? What is your take on this topic? Connect with me on LinkedIn to share your thoughts.
References
- Gartner, 2019, “How to Use Machine Learning, Business Rules and Optimization in Decision Management,” https://www.gartner.com/en/documents/3969804/how-to-use-machine-learning-business-rules-and-optimizat.
- “Digital Representation and our Obsession with Optimization,” https://supplychainblog.aimms.com/2019/04/29/digital-representation-and-our-obsession-with-optimization/.
- ProRail: optimale inzet van videoschouwtrein, https://cqm.nl/uploads/media/55928d1132a1b.pdf.
Gertjan de Lange is a member of the AIMMS leadership team. He has been instrumental in enabling customers and partners globally in the successful use of AIMMS. de Lange actively promotes the use of analytics, and specifically the use of optimization, to potential users in and outside the operations research community. He also works closely with the research and academic community to understand the latest trends and opportunities. After nearly 20 years in go-to-market roles, he took up the role of product owner at AIMMS in 2018. He is currently based in the Netherlands and holds an MSc degree in applied mathematics (O.R.) from the University of Twente, Netherlands.
([email protected])