Building Decision Optimization models
IBM® Decision Optimization gives you access to IBM's industry-leading solution engines for mathematical programming and constraint programming. You can build Decision Optimization models either with notebooks or by using the powerful Decision Optimization experiment UI. Here you can import, or create and edit models in Python, in OPL or with natural language expressions provided by the intelligent Modeling Assistant. You can also solve multiple scenarios and save models to deploy with the Watson Machine Learning service all from within the experiment UI.
Service This service is not available by default. An administrator must install this service on the IBM Cloud Pak for Data platform. To determine whether the service is installed, open the Services catalog and check whether the service is enabled.
See Installing Decision Optimization for installation instructions.
Accessing the Decision Optimization service
To create and run Decision Optimization models you must associate a deployment space with your project. This can be created or selected when you first create a project: click Associate a new or existing deployment space in the Overview tab of your project, enter a name for your deployment space and click Associate. A deployment space can only be associated with one project. If you have not already associated a deployment space with a project and you create a Decision Optimization asset that requires a deployment space, you are prompted to create a new space or choose an existing space.
Click Add to Project and choose Decision Optimization as the asset type, to open the Decision Optimization model builder to create and edit models formulated with the Modeling Assistant, or in Python DOcplex, or in OPL.
Click Add to Project and choose Notebook as the asset type, to open and run Decision Optimization notebooks.
What is Decision Optimization?
People frequently use the term optimization to mean making something better. Although optimization often makes things better, it means a lot more than that: optimization means finding the most appropriate solution to a precisely defined situation. It is a sophisticated analytics technology, also called Prescriptive Analytics, which can explore a huge range of possible scenarios before suggesting the best way to respond to a present or future situation.
- The situation is generally a business problem, such as planning, scheduling, pricing, inventory, or resource management.
- Whatever the problem is, resolving it starts with the optimization model, which is the mathematical formulation of the problem that can be interpreted and solved by an optimization engine. The optimization model specifies the relationships among the objectives, constraints, limitations, and choices that are involved in the decisions. But it is the input data that makes these relationships concrete. An optimization model for production planning, for example, can have the same form whether you are producing three products or a thousand. The optimization model plus the input data creates an instance of an optimization problem.
- Optimization engines (or solvers) apply mathematical algorithms to find a solution, a set of decisions that achieves the best values for the objectives and respects the constraints and limitations imposed. The optimization engine implements specialized algorithms that have been developed and tuned to efficiently solve a large variety of different problems. Decision Optimization uses the IBM CPLEX and CP Optimizer engines that have been proved powerful in solving real-world applications.
- The solution that emerges from the solver details the recommended values for all of the decisions that are represented in the model. Equally important are the metric values that represent the targets. These values measure the quality of the solution in terms of the business goals.
- All of this can be made available to business users via a complementary business application. Usually, the objective and solution values are summarized in tabular or graphical views that provide understanding and insight.