Building the algorithmic business: Machine learning and optimization in decision support systems
Written by Simon Althoff & Johan Hallberg Szabadváry
The ability to leverage the combined strengths of machine learning and optimization to enhance decision-making processes can significantly transform business operations. By integrating these technologies, businesses can achieve increased efficiency, reduce operational costs, and improve overall outcomes. This transformative potential is realized through practical applications in decision-making, whether by supporting human decisions or performing them autonomously.
In all industries and areas of a business, e.g. inventory management, route planning, and resource allocation, the synergy of ML and optimization can lead to more accurate forecasts, optimal resource use, and strategic planning. For instance, ML can predict customer demand with high precision, while optimization ensures that inventory levels are adjusted to minimize costs and meet demand effectively. In logistics, ML can forecast traffic patterns, and optimization algorithms can determine the fastest, most fuel-efficient routes. In workforce management, ML can predict staffing needs based on historical data and seasonal trends, while optimization can allocate shifts to ensure optimal coverage and minimize labor costs.
By applying these advanced techniques, businesses can not only enhance their current operations but also gain a competitive edge in their respective markets. The integration of ML and optimization into decision support systems represents a concrete step towards smarter, more agile business practices that drive success and growth. This approach is central to building an "algorithmic business," a concept explored in-depth in this article. By transforming into algorithmic businesses, organizations can continuously drive innovation and maintain a competitive advantage in an ever-evolving marketplace.
AI through ML and optimization
AI has various interpretations depending on the context and audience. There is no accepted industry definition of AI yet, which makes talking about AI always somewhat abstract. Traditionally, AI is defined by the interaction between machines and humans, exemplified by the Turing test. However, this definition can be limiting as it excludes many 'smart' systems that do not mimic human interaction. However, this definition can be somewhat limiting, since there are several “smart” systems that don’t interact in a human way. Thus, another way to define AI is through decision-making.
“AI systems can be defined as computer programs and models that support or autonomously perform decision-making.”
This leads to a fairly broad definition, but reflects how AI is discussed today in a better way. Under this definition it is valuable to talk about how optimization can be utilized in decision-making, apart from and together with machine learning, which usually is the focus for AI discussions. Apart from the fact that machine learning generally is built on optimization, they have distinct fields and use-cases where they are useful.
The decision-making process
A typical decision-making process may look like the following figure:
Let's look at two examples:
Inventory management
A store needs to decide on how much to stock up on a certain product for the coming months.
How much of the product needs to be ordered to meet demand while not overstocking.
Gather information around price of product, inventory space, historical demand etc.
Make a prediction of the demand for the product under the relevant months and evaluate the cost/risk ratio of stocking different amounts
Decide and order the decided amount of the given product.
Route planning
A driver needs to go from point A to point B.
How does one drive from A to B in the fastest way possible.
Gather information around the road network, current traffic etc.
Estimate the time for the possible routes
Decide on the option with the lowest expected time.
Both of these are common problems currently performed by humans or existing applications, but they serve as great examples and we return to these later in the article.
The more of the decision making steps that are performed by the computer, the more advanced the AI system is. One could argue that the first step is the most advanced and is generally performed by humans currently. There are many systems that handle or assist step two, such as information retrieval and business intelligence applications. Steps three and four are currently the interesting ones and where most development is happening. Generally, the final decision is still left to the human, but with time many applications may benefit from having the AI make the decision autonomously. We will get back to how that could be done later on in this article.
How machine learning can be utilized in decision-making
The main utility of machine learning in decision-making is undoubtedly when we face uncertainty. The decision to bring an umbrella on our walk depends on the risk of rain and/or strong winds. If it rains, an umbrella would be nice, but if there is strong wind, perhaps a raincoat would have been better. In this every-day situation, we are all familiar with the procedure; check the weather forecast! Forecasting, and in particular probabilistic forecasting, can be a fantastic decision support. Certain models can tell us the approximate probability of an event, say temperature is below zero with probability 0.9, and this could be very useful to know. However, it is only useful to the extent that the probabilities are “well calibrated”, i.e. close to the true probabilities. Conformal predictive systems, that are used “on top of” machine learning models, can under mild assumptions achieve well calibrated predictions.
Returning to our inventory management problem, machine learning models can be used to forecast demand for the specific product. Additionally, with calibrated probabilities, the decision maker is provided with excellent information regarding the expected demand and the potential risk associated with holding a certain amount of the product in stock. Here the machine learning model assists step 3 in the decision making process, with the help of information from step 2.
How optimization can be utilized in decision-making
Optimization is particularly useful when we have a reliable model and aim to make decisions that maximize or minimize a specific objective, such as profit or cost. There is a wide range of applications where optimization therefore delivers tremendous value to the decision making process. A classic example is using linear programming to decide on optimal production levels that maximize profit, given known restrictions on supplies and personnel.
We return to the route planning problem previously presented, where a driver needs to go from point A to B. Here an optimizer, given the information gathered around the road network and current traffic, can deduce the optimal route for minimizing travel time. Similarly optimization could be done to maximize fuel efficiency, or a combination of the two. Here the optimizer would perform step 3 in the decision process, with information gathered in 2.
The synergy of machine learning and optimization in decision-making
Below are three interesting categories in the intersection of machine learning and optimization that are worth talking about.
Optimizing utility under uncertainty
To optimize decision-making, we need some way of evaluating decisions. A Neumann-Morgenstern utility function assigns a utility score to each possible decision, given a situation. This lets us quantify our preferences of different outcomes. In most interesting cases, we do not know what the situation will be beforehand, so we operate under uncertainty. Machine learning can allow us to forecast the situation which, if the forecasts are accurate, lets us maximize the utility function. In the case of inventory management we may have a machine learning model that predicts a demand of 200 items of the specific product. Assuming the prediction to be correct, we can then maximize the utility. Say we prefer having exactly the correct amount in stock, then we would stock 200 items to meet the demand. If we prefer saving inventory space, we may decide to buy 150 items instead, losing some potential revenue for increased inventory space.
Even better, if our machine learning model can produce well calibrated probabilistic predictions, e.g. conformal predictive systems, we can choose the decision that maximizes the expected utility. This would, in many cases, be the best possible decision based on the available information. For a very simplified example, let us assume there are two possible levels of demand, 150 and 200, and the same stock levels, in our inventory management problem, resulting in four possible scenarios. Each scenario has its own assigned utility level, in this case between 0 and 100, based on our choice of preference.
This table describes that in this case the company prefers to have 200 in stock and sell 200 leading to maximum revenue, and thus maximum utility of 100. Worst is to overstock with 200 when demand is 150 with utility 20, while the opposite of not meeting the demand of 200 by having 150 in stock is not nearly as bad with utility 70. If a machine learning model predicts a 0.8 chance that demand is 150 and 0.2 that demand is 200, we can calculate the expected utility for the two possible decisions of stock. The expected utility if we stocked 150 items would be
while if we stocked 200 would be
The optimal decision in this case would be to stock 150 items, since we can expect to get a higher utility then. In reality the utility function and probabilities would be much more complex, but it serves as an example of how it can be used in practice. This system, if it is calibrated well enough, may then be used to perform step 3 and 4 of the decision making process.
Black box optimization
Black-box optimization is the optimization of a function (process) that we have no means of evaluating efficiently. Examples of black-box functions include legacy computer code that is not available for examination, real world experiments such as chemical reactions or the number of clicks on a website ad. Most typical optimization algorithms are not applicable in this case, but it may be possible to approximate the black-box with some machine learning model. The model is trained on input and output of the black-box to learn the behavior of the function. This model is then known as a surrogate model that can be used to guide the optimization. There are several examples of black-box optimization algorithms such as Bayesian optimization, which uses Gaussian processes as surrogate models. Using machine learning to optimize some black-box function where the inputs are decisions, we get the optimal decision. Johan Hallberg Szabadváry’s master’s thesis serves as a great in depth example of how black box optimization can be utilized.
Machine Learning and optimization augmentation
Machine learning and optimization models may be used to augment each other in various ways, specifically where the output of one can be used as input to the other. To demonstrate this we will return to our two examples and elaborate how they can be augmented.
Inventory management:
The problem of stocking a certain product can be lifted to incorporate all possible products in the store. The products will compete for inventory space, which is why it is difficult to handle each product in isolation. Assuming that we have a machine learning forecast for each product sold by the store, we can use that information as input to a linear programming optimization model. The model can thus provide the optimal number of each product to stock, based on inventory space and expected demand.
Route planning:
We have an application that produces an optimal route to get from point A to B. The application takes into account the current traffic when producing the suggested route. Say there is heavy traffic at a spot along the most direct route to the destination. The model may then suggest another, somewhat longer, route that would be quicker. However, the suggestion to take a longer route does not account for the expected traffic in 30 minutes, when the driver would arrive at the spot of heavy traffic. Here a machine learning model could provide a forecast with expected traffic at each point along the possible routes, when the driver would get there, instead of at the time of starting the trip. This could improve the route selection significantly, leading to improved decisions.
By combining the strength of optimization and machine learning in these cases, we have seen how decision support systems can be expanded and improved.
Considerations when combining optimization and machine learning
There are some considerations to take into account before combining optimization and machine learning in decision support systems.
Computational load:
Machine learning and optimization models can be computationally heaving. Combining them, especially in cases where a machine learning model has to be evaluated for many cases in an optimizer, could prove too computationally costly to outweigh the benefits. Carefully consider the costs and the potential benefits when planning on combining optimization and machine learning.
Uncertainty:
Feeding an optimizer with uncertain information may lead to bad decisions. Architectures with a human in the loop, ensures oversight of the input, which may help reduce the risk of unpredictable behavior. There is always a risk when working with uncertainty, this should be considered when implementing both ML and optimization in decision support systems.
Getting started
To initiate the integration of machine learning and optimization in decision-making processes, consider the following key points:
Identify critical decisions
Recognize the various decisions within your business to determine where ML and optimization can be effectively applied, either independently or in combination. These decisions range from operational details, such as choosing the next words in a report, to strategic planning, like determining the investment in the R&D department for the upcoming year.
Quantify outcomes
Assessing and quantifying the utility of different outcomes enables deeper analysis and enhances decision optimization. Regularly occurring decisions are typically easier to quantify and yield significant benefits when evaluated. Effective quantification of outcomes is essential for developing robust decision support systems.
Adopt a comprehensive perspective
Evaluate both the broader context and finer details of decision-making processes. In cases where either optimization or ML has been previously employed, explore opportunities to enhance these processes by combining both techniques. For example, in inventory management, consider all store products collectively rather than in isolation. Similarly, in route planning, refine decisions by predicting future traffic conditions.
Data collection
The effectiveness of both optimization and machine learning is heavily reliant on data. Once relevant use-cases are identified, ensure that sufficient data is collected. If the necessary data is currently unavailable, implement measures to begin its systematic collection.
Invest in research and development
Developing advanced decision support systems requires significant trial and error, alongside rigorous validation and testing. Investing in R&D to create proof-of-concept models is crucial for initiating and refining the journey towards effective implementation.
In addition, there are several other important considerations for effectively integrating machine learning and optimization into decision support systems. Engaging relevant stakeholders, including decision-makers, data scientists, and domain experts, is crucial for ensuring successful implementation and acceptance. Responsible AI considerations, such as data privacy, algorithmic bias, and transparency, must be addressed to build trust and ensure responsible AI deployment.
Furthermore, designing scalable and flexible systems that can handle increasing data volumes and adapt to evolving business needs is essential. Regular performance monitoring and continuous improvement processes should be established to refine models and optimize decision-making criteria over time. Seamless integration with existing IT infrastructure and business processes will help maximize efficiency and minimize disruptions. Additionally, providing comprehensive user training and encouraging adoption through demonstrating benefits and offering ongoing support will facilitate the effective use of these advanced decision support systems. By focusing on these key areas, organizations can significantly enhance their decision-making capabilities and drive better business outcomes.