Ways to use Decision Optimization
To build Decision Optimization models, you can create Python notebooks using DOcplex, a native Python API for Decision Optimization or use the Decision Optimization experiment UI which has more benefits and features.
Different ways to use Decision Optimization
There are different ways you can use Decision Optimization, depending on your skills and expertise:
- With Python notebooks using DOcplex, a native Python API for Decision Optimization. This requires Operational Research (OR) modeling expertise to create variables, objectives, and constraints to represent your problem. See Decision Optimization notebooks for supported Python environments.
- through the Decision Optimization
experiment UI, which facilitates workflow and
provides many other features (see Decision Optimization
experiment UI advantages) to help you to
create and run (solve) scenarios with the following model types:
- Python models using DOcplex
- Modeling assistant models (which enables you to formulate models in natural language). This requires little to no knowledge of OR and does not require you to write Python code. This feature is currently 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
- CPLEX and CP Optimizer (CPO) models. You can create, import and edit (.lp and .cpo files) as well as import and edit .mps files. You can then solve them and download the solution files.
- For batch deployment with Watson Machine Learning see
Deploying Decision Optimization models with Watson Machine Learning.
Figure 1. Modeling and solving with the Decision Optimization model builder 
Decision Optimization experiment UI advantages
The following table highlights how you can perform different functions both with and without the Decision Optimization experiment UI. As you can see, there are more advantages when using the Decision Optimization experiment UI. See Model builder features.
| To... | Jupyter notebook | Decision Optimization experiment UI | |||
|---|---|---|---|---|---|
| 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 |
Import data from Projects and edit data in the Prepare data view |
Import data from Projects and edit data in the Prepare data view 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 Scenario pane and Overview. |
|||
|
Create and share reports |
Create reports in your notebooks using Python data visualization tools. |
Rapidly create reports in the Visualization view using widgets, pages and a JSON editor. Download your report as a JSON file to share with your team. |
|||
|
Deploy a model |
Deploy notebooks using Watson Machine Learning REST API or Python client |
Simply select the scenario you want to save ready for promotion to the deployment space. See Deploying a Decision Optimization model 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. This can be achieved using the Watson Machine Learning REST API or using the Watson Machine Learning Python client. |
|||