IBM Decision Optimization and Data Science
IBM Redbooks Analytics Support Web Doc
Published 06 December 2017
Rate and comment
Authors: Shirley deJonk, Fabio Tiozzo
This document introduces IBM Decision Optimization to a data science audience. The goals are to identify possible uses of IBM Decision Optimization in data science projects and demonstrate where additional value can be captured by adding an optimization step.
IBM® Decision Optimization products use advanced mathematical and artificial intelligence techniques to support decision analysis and identify the best available solutions to a complex problem. After reading this document, you should understand some of the benefits that decision optimization can bring to a data science project.
What is decision optimization?
Decision optimization is concerned with solving decision-making problems where there is an objective to be attained (such as maximizing profit or minimizing cost), but where there are also restrictions (such as limited resources, budget, or time).
If you could simply list all the possible feasible decisions (those that satisfy all the restrictions) and measure how good they are with respect to the objective, you would not need decision optimization. It would be easy to find the optimal solutions and make decisions.
In reality, for most decision-making problems, listing all the possible candidate solutions might require days, years, or even centuries of computation time on the most powerful computers.
Decision optimization applies advanced mathematical and artificial intelligence techniques to eliminate large quantities of candidate solutions without analyzing them in detail. Thus, it can focus quickly on analyzing the feasible and most promising candidate solutions to provide you with the optimal ones.
With IBM Decision Optimization tools, you can combine mathematical models that represent real world decision making problems with large data sets. This allows you to rapidly discover the best possible solutions. Such solutions are often formulated in a way that prescribes a course of action, which is why decision optimization is part of the broader technology category known as prescriptive analytics.
You often have control of certain factors that you can change to achieve a better solution. For example, you can hire more resources, increase budget or time, run a machine at a different speed, or enforce a certain level for a key performance indicator. In these situations, you want to perform what-if analysis: What would happen if I change certain values in my problem? With decision optimization, you can explore different scenarios by running the same model using different sets of data.
Consider a problem where you want to determine the optimal sizing of staff in a retail store, given the current roles and skills of staff and the level of service that you want to offer. A decision optimization solution can determine the best possible staff sizing. If you want to further increase the staff utilization rate, you might consider introducing a training program to enable staff to acquire new skills. However, how can you be sure that investing in such a program will increase the utilization rate? You can simply rerun the same decision optimization model including the new skills to find the answer. You can even create several scenarios of skill changes and then compare the utilization rate of the optimal staffing. There are endless possibilities to what you can investigate with what-if analysis, and decision optimization makes this fast and easy for decision makers.
When linear programming techniques are used, IBM Decision Optimization tools automatically provide you with sensitivity analysis. This gives you insight into problem data and its sensitivity with respect to the achievement of your goals. Sensitivity analysis can be particularly useful when there is uncertainty about some of the data used in the model. It can indicate how the optimal decision is affected by minor changes to the problem data. It can also enable you to see what further gains can be made with just slight changes to the model (such as a small increase of a particular resource).
However, future scenarios often involve data that cannot be known for certain in advance. For example, the average oil price in one year can be a decisive parameter of the model. However, you can still use decision optimization.
If you can measure the uncertainty by estimating probability distributions for this uncertain data, you can use Monte Carlo simulation together with IBM Decision Optimization tools to solve those scenarios. Data analysis and data visualization tools can then be used to provide insight from the results of those simulations. For example, if you observe that decision optimization prescribes the same course of action for 95% of the scenarios, you can be confident that the prescribed decisions are likely to be the optimal ones even within the presence of this data uncertainty.
Most real-world situations can benefit from decision optimization and these techniques have been successfully applied to a wide range of industries.
You can read about some successful deployments of decision optimization in the links at the end of this article.
What can IBM Decision Optimization tools do for your organization?
By following the prescribed actions and insights that IBM Decision Optimization tools provide, you can accomplish these goals:
- Meet operational goals (increase revenues, reduce costs, increase product quality, increase productivity, reduce waste, increase customer service levels, and so on)
- Optimize business processes
- Evaluate what-if scenarios
- Mitigate future risks
- Automate complex decision-making
You can use decision optimization to perform these tasks:
- Improve the management of operations and get insight about improving existing processes (brownfield development)
- Design new operations (greenfield development)
Whether you focus on improving how resources are managed, or on the sizing and configuration of resources and processes, depends on your specific business case.
Optimizing operations to improve performance
Decision optimization can help you to drive operations optimally, which is a very common type of optimization application. For example, in manufacturing scheduling, decision optimization prescribes when, and with which resources, production activities can be executed to optimize operations. The prescribed solutions can be passed directly to operations without human intervention (this is typically seen with real-time systems).
More often, however, a decision optimization application is used as an interactive decision support tool by the decision maker in a what-if iterative process that provides a specific solution or a set of candidate solutions. During this what-if iterative process, the decision maker can change input data, constraints, and priority of business objectives, or even impose some part of the final prescribed solution.
When decision optimization is used to drive operations, the optimization application must be run on a regular basis, which varies from minutes to weeks or months. In this case, the final decision optimization model is usually deployed or embedded in the enterprise operational system.
Improving performances through a better process or system design
In the previous case of operations management, decision optimization improves performance by better “management” of resources and processes, but without actually changing them. You can also use decision optimization to improve performance with the design of a better system or process, or a better configuration of resources.
For example, in operations scheduling, you use production processes as they have been defined by engineering and the equipment that you have. If you want to know whether a different production process would be helpful, or whether it is worth investing in new equipment, decision optimization can help you. In this case, the final user of the prescribed solution is usually a process engineer or business analyst. The life span of this type of optimization model is usually quite short.
The development effort for using decision optimization this way is usually much less because the optimization model is not deployed in an enterprise application.
Decision optimization for business analysts or data scientists
Decision optimization can work with other analytics techniques such as machine learning to provide new and improved solutions and enhanced applications. Optimization can use data and predictive solutions to provide prescriptive courses of action that provide you with real advantage.
In the past, large-scale optimization required you to own very high performance computers, but that is no longer a problem. Computers today have powerful processors capable of running the analysis. Even if you do not have enough processing power, IBM Decision Optimization offers cloud-based solutions so you can rent the computing power that you need.
Data scientists, business analysts, and application developers can benefit from optimization by using IBM Decision Optimization tools. Optimization is particularly well used when combined with the domain knowledge that business analysts and data scientists have.
A good knowledge of the business process or the system is crucial for the definition of the optimization model. In addition, a good capacity of abstraction, simplification, and synthesis is essential to make a realistic and usable model.
Optimization can be combined with machine learning, data mining, and statistical models to build on business analysts’ and data scientists’ findings. The output of these advanced data analytics processes can be used as input data for the optimization model to provide a more comprehensive solution. This process leverages advanced data analytics efforts and promises enormous value to the company.
The following examples show how decision optimization can provide prescriptive analytics solutions.
Example 1 – Real-time truck maintenance scheduling
This section covers an example of real-time truck maintenance scheduling using a hypothetical truck manufacturing company called ABC Trucks.
Some years ago, ABC Trucks manufactured and sold trucks like many of its competitors. Now 70% of its revenue comes from selling an innovative service called Truck Uptime. This service is based on a new business model: The company no longer sells trucks, but instead sells “hours of truck availability.” This model, which has led to a 25% increase in total revenue, has been made possible by introducing new advanced analytics technologies.
For a recent contract that ABC Trucks signed with a US logistics company, ABC Trucks has committed to provide 200 trucks. With this contract ABC Trucks is paid based on “uptime”, which is the number of hours that a truck is available for the logistics company’s operations.
The logistics operations for a truck consist of weekly round trips where the truck delivers to and picks up from different sites spread over a large geographical area of the United States.
Service maintenance, which is ABC Trucks’ responsibility, is planned centrally and executed by ABC Truck services centers across the US. Every week, the logistics company provides ABC Trucks the planned weekly routes of the trucks.
Vehicle uptime is crucial to ABC Trucks because a vehicle that is down costs the company at least $1000 per day. To avoid vehicle breakdowns, good maintenance is obviously necessary, but a vehicle that is being serviced is also a vehicle that is unavailable, so this too has a cost beyond the maintenance charge. Delaying maintenance can cause an increased risk of more serious and costly breakdowns. Breakdowns can also increase the cost of the logistics company’s operations and cause customer delays.
A first predictive analytics solution
To deal with this challenge, ABC Trucks has implemented a predictive maintenance solution for its trucks.
For several years, ABC Trucks has equipped all its trucks with a vehicle health monitoring system. It has collected a huge amount of historical data about the trucks’ operating conditions and performance, as well as data about servicing. Using this historical data, data scientists have been able to train predictive models to forecast when a given truck component is likely to fail.
To apply these predictive models, truck data and planned operating conditions, such as the weather and routes of a weekly trip, are sent in real time to the ABC Trucks Control Center. For each truck, the models predict in real time the likelihood that a key component is going to fail on a specific day.
When the logistics company driver is on his route making planned deliveries between depots and customers, he might be notified by the ABC Trucks Control Center that his truck needs an urgent maintenance service and that he must drive to a given service center for the needed servicing activities. However, this decision is a costly one, and so deciding when the driver must suspend his route and drive to a service center, and what service center is selected are crucial to maximize up-time.
If the choice for the service center is based only on the extra miles the driver has to drive, the chosen service center might be overloaded due to other planned service activities and the driver has to wait more than usual. Such extra waiting time might imply that the driver cannot complete his planned delivery route within the allotted time.
Therefore, to make a decision that maximizes the total up-time and allows the driver to complete his weekly trip on time, several constraints and objectives must be taken into account.
From a predictive to a prescriptive solution
ABC Trucks uses failure predictions as input data to a decision optimization model. This model considers multiple alternatives for truck servicing simultaneously. It can also include service center capabilities (not all service centers are able to deliver all types of services), capacities, availability of service parts, distances, drive times, weekly trips, costs, customer contract agreements, priority customers, and other data, all within the same model.
The decision optimization model, which takes advantage of the advanced scheduling capabilities of IBM Decision Optimization engines, provides a prescriptive solution that maximizes not only the truck up-time of the entire fleet, but also overall revenue while respecting contractual agreements with the clients.
To provide the best decision for each specific truck, the decision optimization model must take into account simultaneously all the ABC Trucks across all the clients who have opted for this service, and all the ABC Trucks service stations with their current and already planned availability.
Example 2 – Product quality control
This example covers using decision optimization for product quality inspections in a manufacturing company.
Tom is responsible for product quality inspections in a manufacturing company. Tom’s team of quality inspectors makes daily checks on both the quality of the manufactured products and the material provided by suppliers. Detection of defects is carried out by random sampling and followed by manual or laboratory analysis.
The quality team’s business goal is to detect as many defective products as possible before they are delivered to customers or used as inputs in production lines.
The VP for manufacturing and sales has ordered immediate action to reduce customer complaints due to defective products, and a reduction in the number of production disturbances due to poor quality of materials used in input.
Although Tom’s team and the laboratory team have been working harder and doing overtime, the number of detected defective products has not increased significantly. The rate of detected defects is too low. Random sampling is clearly not enough.
A first predictive analytics solution
Historical data from the results of past product quality inspections on manufactured and supplied material lots, together with data records (physical and chemical characteristics, where and when a product is produced, the material’s supplier, and so on), make it possible to build a machine learning model.
This model can predict the likelihood that a given lot has defective items. Using this information, Tom can now assign quality inspections and tests on specific lots to his team and the lab daily depending on their availability. With this predictive solution, the rate of detected defective products and materials is significantly improved when compared with results obtained previously with random sampling.
However, each morning’s list of suggested quality control checks is too long to complete by end of the day. Therefore, Tom puts them in decreasing order of likelihood of presence of defective items and assigns them to his team, starting from the top of the list.
Although the number of lots with defects detected has increased, thanks to the machine learning predictions, Tom feels that there must be a smarter way to select and dispatch the quality control activities to the members of his team. Indeed, he has noticed that the average utilization rate of his staff has decreased.
The following constraints make smarter dispatching difficult for Tom to achieve manually:
- For certain types of sampling and analyses, specific equipment is required. There is limited access to this equipment, which often creates a bottleneck at execution.
- Each member of Tom’s team is skilled in different types of sampling or analysis.
- The laboratory has certain resources that are dedicated to specific types of analysis.
- Each quality control activity has its duration that must be taken into account during the dispatching phase.
Tom asks a business analyst how he can improve the daily assignment of the quality control activities to not only increase the number of defects found per day, but also improve the utilization rate of the team.
From a predictive to a prescriptive solution
The business analyst proposes decision optimization as a solution because it can use the defective scores as input, and it can include all these constraints simultaneously in the same model. Furthermore, other, even conflicting, business objectives can also be included in the model.
The business analyst explains that decision optimization enables different objectives to be combined as well as considered separately. Minimizing the detected defective items, minimizing the disruption to the production line, and minimizing the number of defective products delivered to customers are all easily included in an optimization model.
The business analyst proposes to extend the predictive solution already implemented to become a prescriptive solution that can optimally schedule and dispatch the quality control activities across the members of Tom’s team.
Once implemented, the output of this prescriptive model is a more realistic and optimized quality control plan that satisfies the needs of all stakeholders at once. In addition, Tom is pleased because this new solution saves him a lot of time in dispatching quality control activities.
Decision optimization enables a prescriptive solution to be built that uses the predictive solution as input. The solution considers available equipment, technicians and their skills, product and process information, planned deliveries to customers, customer priority, and production plans. It can satisfy several business objectives simultaneously.
- Analytics’ best-kept secret is decision optimization
- Continental zooms ahead of competitors by preventing production bottlenecks
- A French public hospital improves transport punctuality and decreases waiting times
- Aéroports de Paris reduces congestion at airports
- IBM Decision Optimization on Cloud Developer Center
Others who read this publication also read
This material has not been submitted to any formal IBM test and is published AS IS. It has not been the subject of rigorous review. IBM assumes no responsibility for its accuracy or completeness. The use of this information or the implementation of any of these techniques is a client responsibility and depends upon the client's ability to evaluate and integrate them into the client's operational environment.
Follow IBM Redbooks
Follow IBM Redbooks