Ways to use Decision Optimization

To build Decision Optimization models, you can create Python notebooks with DOcplex, a native Python API for Decision Optimization, or use the Decision Optimization experiment UI that has more benefits and features.

Different ways to use Decision Optimization

Depending on your skills and expertise, you can use Decision Optimization, in the following different ways.

• Python notebooks
You can create Python notebooks with DOcplex, a native Python API for Decision Optimization. See DOcplex. You need Operational Research (OR) modeling expertise to create variables, objectives, and constraints to represent your problem.

For more information about supported Python environments, see Decision Optimization notebooks.

Decision Optimization experiment UI
The experiment UI facilitates workflow and provides many other features. See Decision Optimization experiment UI advantages.
It helps you to create and run (solve) scenarios with the following model types:
Python models
You can create these models with DOcplex. See Decision Optimization notebooks
Modeling Assistant models
The Modeling Assistant helps you to formulate models in natural language, which requires little to no knowledge of OR, and does not require you to write Python code. See Modeling Assistant models.
This feature is available for certain model types. See Selecting a Decision domain in the Modeling Assistant.
The Modeling Assistant is only available in English and is not globalized.
OPL models
You can create, import, and edit OPL models. For more information, see OPL models.
CPLEX and CP Optimizer (CPO) models.
You can create, import, and edit (.lp and .cpo files), and import and edit .mps files. You can then solve them and download the solution files.
For more information, see Decision Optimization experiments.
• Java models
You can use the watsonx.ai Runtime REST API to deploy and run Java models. For more information, see Decision Optimization Java models.
• Batch deployment
For more information about deployment with watsonx.ai Runtime, see Decision Optimization.

For a step-by-step guide to build, solve and deploy a Decision Optimization model, by using the user interface, see the Quick start tutorial with video.

Figure 1. Modeling and solving Decision Optimization experiments
Chart showing workflow and different ways to use experiments.

Decision Optimization experiment UI advantages

The following table highlights how you can perform different functions both with and without the Decision Optimization experiment UI. Jupyter notebooks in this table are notebooks without the Decision Optimization experiment UI. As you can see, you have more advantages when you use the Decision Optimization experiment UI.

Table 1. Decision Optimization with the experiment UI
Task Jupyter notebook (without the Decision Optimization experiment UI) Decision Optimization experiment UI (4 types of models)
Python OPL models CPLEX and CPO models Modeling Assistant
Manage data

Import data from Projects.

Import data from Projects and edit data in the Prepare data view . See Preparing input data.

Import data from Projects and edit data in the Prepare data view . See Preparing input data.

 

Import data from Projects and edit data in the Prepare data view . See Preparing input data.

Relationships in your data are intelligently deduced.

Formulate and run optimization models

Create a model formulation from scratch in a Python notebook. using the DOcplex API.

With notebooks individual cells can be run interactively, which facilitates debugging.

Create a model formulation from scratch in Python.

Import and view a model formulation from a notebook or file.

Edit the imported Python model directly.

Export your model as a notebook. With notebooks individual cells can be run interactively, which facilitates debugging.

Create a model formulation from scratch in OPL.

Import and view a model formulation from an OPL file.

Edit the imported OPL model directly.

Create a model formulation from scratch in CPLEX or CPO.

Import a CPLEX or CPO model file (.lp, .mps, and .cpo files).

Edit .lp, .mps, and .cpo files.

Run model and download solution file.

Create a model formulation from scratch by selecting from the proposed options expressed in natural language.

Import and view a Modeling Assistant model formulation from a scenario.

Edit the imported model directly.

Create and compare multiple scenarios

Write Python code to handle scenario management.

Create and manage scenarios to compare different instances of model, data, and solutions. See Scenarios in a Decision Optimization experiment.

Create and share reports

Create reports in your notebooks by using Python data visualization tools.

Rapidly create reports in the Visualization view by using widgets, pages, and a JSON editor. See Visualization view in a Decision Optimization experiment.

Download your report as a JSON file to share with your team.

Deploy a model

Deploy notebooks by using watsonx.ai Runtime REST API or Python client.

Select the scenario that you want to save ready for promotion to the deployment space. See Deploying a Decision Optimization model by using the user interface.

Deploy your Decision Optimization prescriptive model and associated common data once, and then submit job requests to this deployment with only the related transactional data. You can deploy models by using the watsonx.ai Runtime REST API or by using the watsonx.ai Runtime Python client. See watsonx.ai Runtime REST API and watsonx.ai Runtime Python client.

Learn more