IBM Decision Optimization 2019 Highlights

AlainChabrier
6 min readDec 26, 2019

--

During the year 2019, IBM has made Decision Optimization tremendously easier to use for everyone through the Watson Studio and Watson Machine Learning platforms. This post summarizes all the new user experiences and uses cases supported for Decision Optimization that we have introduced.

Decision Optimization (DO) is part of prescriptive analytics. It solves constrained problems using mathematical algorithms implemented in powerful engines (e.g. CPLEX 12.10). Using a powerful engine is an important key to success with DO, but having a powerful engine without any good tooling for model development, validation, debugging, and deployment would not bring so much benefit.

In case you are new to DO, you may want to read this post explaining how DO fits with respect to other techniques, or this overall introduction of DO in Watson Studio.

I will first introduce the decision optimization models life-cycle, use cases and possible user experiences. Then I will go over all the available user experiences and provide some pointers on detailed information on each of these.

Life-cycle, use cases and user experiences

The introduction of the support of Decision Optimization in Watson Studio (WS) first, and then in Watson Machine Learning (WML), allows to support all steps of the decision optimization models life-cycle.

Model life-cycle

Decision optimization model life-cycle

The life-cycle of DO models is a bit different from the life-cycle of Machine Learning (ML) models:

  1. the development of the model requires an optimization expert to formulate the model, as there is nothing like automatic training on historical data,
  2. the validation of the model requires a business expert to analyse readable outcome (e.g. charts and dashboards) of a given model formulation on different data sets (scenarios),
  3. the hardware requirements are in general lower during model development than during execution of deployed models,
  4. the execution of a given deployed model on some production data can be long and hence requires to be managed asynchronously.

Use cases

A good DO platform should hence provide support for all use cases corresponding to the different steps of the model development, deployment and integration into production applications.

Use Cases

User Experiences

The introduction of DO in WS and WML has resulted in lots of different user experiences so that different profiles of users might choose which ever best fits their needs: code or click, Python or OPL, local or public cloud, etc.

DO User Experiences

Decision Optimization Use Experiences

Let’s say a few words on each of these new user experiences.

Model Development

The easiest way to start developing decision optimization models is to use thedocplex Python package to formulate and solve decision optimization models from within Watson Studio Jupyter notebooks.

Notebooks

A particularly quick way to start is to create a new Watson Studio project from a template illustrating how to combine Machine Learning and Decision Optimization. This other post explains how to create a similar notebook within Cloud Pak for Data 2.5.

Remember that with CPLEX, not only mathematical models are supported but also constraint programming models to solve problems such as scheduling problems.

For some users, notebooks may lack the ease of use when considering different alternatives of model formulations, or different data sets. For that a dedicated model builder has been introduced which provides support for multiple scenarios and visualizations.

Model builder

This model builder supports both Python and OPL modeling. Each of these modeling alternatives offers pros and cons, as discussed here.

In order to allow newcomers without the mathematical modeling background to start using optimization, a modeling assistant has been introduced, which makes it possible to formulate the decisions, constraints and objectives using natural language, mapped to user data based on the selection of some specific domain. This modeling assistant makes it easy to model an optimization problem, solve it, and even explain the outcomes of the model.

Modeling assistant

Using any of the modeling techniques, the model builder allows to develop models directly using data from databases.

Before models are deployed, user can benefit from features such as visualizations or scenarios to debug and validate them. Python scripts can be created to automate sensitivity analysis.

Sensitivity of network design with respect to number of distribution centers.

Model Deployment

After models have been validated, they can be deployed and used as a service from within a production application.

In our platform, DO models can be deployed in Watson Machine Learning just as any other supported AI model, as explained in this overview post. WML offers the ability to create and run optimization jobs asynchronously, with a queuing mechanism.

Jobs queue behavior

While the common case is to deploy python docplex models, you can also deploy and run OPL models. You can even use legacy CPLEX models, such as LP or MPS files.

In Cloud Pak for Data 2.5, models can also be saved, promoted, deployed and monitored using a dedicated user interface.

Model deployment user interface in Cloud Pak for Data 2.5

WML Cloud provides immediate access to the highly available and scalable environments that optimization problems solving sometimes requires. On private cloud, Cloud Pak for Data and WML Local allows to share resources among different deployments and projects.

Model Consumption

After models are deployed, they can be executed on some production data through a simple REST API (see documentation) or using the Watson Machine Learning Client python API (see documentation). Using these APIs you can also monitor the execution of the jobs and get access to solutions.

Executing some deployed model form a Jupyter notebook

An example of production application framework is Node JS, and this post on Network Design highlights the type of final application that can be developed, integrating deployed DO models. It has been created using the do-ws-js open source library (available on npm), as shown in the do-ws-pa example application.

Example of business user interface created with do-ws-js

This same library also allows to easily integrate into Planning Analytics (detailed post about this coming soon…).

Conclusion

As shown here, 2019 has brought lots of innovations for IBM Decision Optimization, and we expect to continue in 2020.

Decision Optimization is now available as one more tool in the Watson Studio toolbox, among which data scientists can choose and use the best one to solve their particular problem. Having all the tools in a common platform also enables new combinations of predictive and prescriptive analytics, such as the one used in this two stage stochastic model.

All these new tools and functionalities can be tested for free, in Watson Studio Cloud.

alain.chabrier@ibm.com

@AlainChabrier

https://www.linkedin.com/in/alain-chabrier-5430656/

--

--

AlainChabrier

Former Decision Optimization Senior Technical Staff Member at IBM Opinions are my own and I do not work for any company anymore.