Quick start: Build, run, and deploy a Decision Optimization model
You can use the Decision Optimization tool to build Decision Optimization models to decide on the best approach for solving business problems based on sets of data. Read about the Decision Optimization tool, then watch a video and take a tutorial that’s suitable for users with some knowledge of prescriptive analytics, but does not require coding.
Required services Watson Studio Watson Machine Learning
Your basic workflow includes these tasks:
- Create a project. Projects are where you can collaborate with others to work with data.
- Add a Decision Optimization Experiment to the project. You can add compressed files or data from sample files.
- Create a deployment space to associate with the project's Watson Machine Learning Service.
- Review the data, model objectives, and constraints in the Modeling Assistant.
- Run one or more scenarios to test your model and review the results.
- Deploy your model.
Read about Decision Optimization
Decision Optimization can analyze data and create an optimization model (with the Modeling Assistant) based on a business problem. First, an optimization model is derived by converting a business problem into a mathematical formulation that can be understood by the optimization engine. The formulation consists of objectives and constraints that define the model that the final decision is based on. The model, together with your input data, forms a scenario. The optimization engine solves the scenario by applying the objectives and constraints to limit millions of possibilities and provides the best solution. This solution satisfies the model formulation or relaxes certain constraints if the model is infeasible. You can test scenarios using different data, or by modifying the objectives and constraints and re-running them and viewing solutions. Once satisfied you can deploy your model.
Watch a video about creating a Decision Optimization model
Watch this video to see how to run a sample Decision Optimization experiment to create, solve, and deploy a model by using the Decision Optimization
Experiment Builder with Watson Studio and Watson Machine Learning.
Video disclaimer: Some minor steps and graphical elements in this video may differ from your Cloud Pak for Data deployment. This video shows the Cloud Pak for Data as a Service user interface.
This video provides a visual method as an alternative to following the written steps in this documentation.
Try a tutorial to create a model that uses Decision Optimization
In this tutorial, you will complete these tasks:
- Create a project.
- Create a Decision Optimization experiment in the project.
- Build a model and visualize a scenario result.
- Change model objectives and constraints.
- Deploy the model.
- Test the model.
This tutorial will take approximately 30 minutes to complete.
Task 1: Create a project
You need a project to store the Decision Optimization experiment.
- If you have an existing project, open it. If you don't have an existing project, click Create a project on the home page or click New project on your Projects page.
- Select Create an empty project.
- Enter a name and optional description for the project.
- Click Create.
For more information or to watch a video, see Creating a project.
Task 2: Create a Decision Optimization experiment
Create the experiment.
- From your new project, click New asset > Decision Optimization experiment.
- Select Local file.
- Click Get sample files to download the house construction sample files to your computer for this tutorial.
- Click Browse, and select the
HouseConstructionScheduling.zipfile from your computer. -
Choose a deployment space to associate with this experiment. If you do not have an existing deployment space, create one:
- In the Deployment space section, select New Deployment space.
-
In the Name field, type House sample to provide a name to the deployment space.
-
Click Create.
- When the space is ready, and click Close to return to the New Decision Optimization experiment screen.
- Now click Create to open the Decision Optimization Experiment user interface.
Task 3: Build a model and visualize a scenario result
Build a model and visualize the result using the Decision Optimization Modeling Assistant.
- In the left pane, select Build model to open the Modeling Assistant.
- Click Run to run the scenario to solve the model and wait for the run to complete.
- When the run completes, the Explore solution view displays. Under the Results tab, click Solutions to see the resulting (best) values for the decision variables. These solution tables are displayed in alphabetical order by default.
- In the left pane, select Visualization.
- Under the Solutions tab, select Gantt to view the scenario with the optimal schedule.
Task 4: Change model objectives and constraints
Next, change the model objectives and constraints.
- Click Build model.
- In the left pane, click the three-dot icon next to Scenario 1, and select Duplicate.
- For the name, type
Scenario 2, and click Create. - For Scenario 2, add an objective to the model to optimize the quality of work based on the expertise of each contractor.
- Click inside the Type here to find other suggestions search field, type
overall quality, and pressEnter. - Expand the Objective section.
- Click Maximize overall quality of Subcontractor-Activity assignments according to table of assignment values to add it as an objective. This new objective is now listed under the Objectives section along with the Minimize time to complete all Activities objective.
- For the objective that you just added, click table of assignment values, and select Expertise. A list of Expertise parameters displays.
- From this list, click definition to change the field that defines contractor expertise, and select Skill Level.
- Click inside the Type here to find other suggestions search field, type
- Click Run to run the scenario to build the model and wait for the run to complete.
- Click Overview to compare statistics between Scenario 1 and Scenario 2.
Task 5: Deploy the model
Next, promote the model to a deployment space, and create a deployment.
- From the Overview, click the three-dot menu icon next to Scenario 1, and select Save for deployment.
- In the Model name field, type
House Construction, and click Save. - After the model is successfully saved, a notification bar displays with a link to the model. Click View in project.
- On the Assets tab in the project, select the House Construction model in the Models section.
- Click Promote to space.
- For the Target space, select House from the list.
- Click Promote.
- After the model is successfully promoted, a notification displays with a link to the deployment space. Click deployment space. The House sample deployment space displays.
- To test the model with a scenario, you must upload data files from your computer to the Assets tab. Click Add to space, then select Data.
- In the
HouseConstructionScheduling.zipfile on your computer, you will find several CSV files in the .containers > Scenario 1 folder. - Drag the
Subcontractor.csv,Activity.csv, andExpertise.csvfiles into the Drop files here or browse for files to upload area in the Data panel.
- In the
- In the Models section, select the House Construction model to view the model information.
- Click New deployment.
- For the deployment name, type
House deployment. - For the Hardware definition, select 2 CPU and 8 GB RAM from the list.
- Click Create.
- For the deployment name, type
Task 6: Test a model
Lastly, test the model by creating a job using the CSV files that you previously uploaded to the deployment space.
- Click New job.
- For the job name, type
House job 1. - Click Next.
- Select the default values on the Configure page, and click Next.
- Select the default values on the Schedule page, and click Next.
- Select the default values on the Notify page, and click Next.
- On the Choose data page, in the Input section, select the corresponding data assets that you previously loaded into your space for each input ID.
- For Input ID Subcontractor.csv, click Select data source > Subcontractor.csv > Confirm.
- For Input ID Activity.csv, click Select data source > Activity.csv > Confirm.
- For Input ID Expertise.csv, click Select data source > Expertise.csv > Confirm.
-
In the Output section, you will provide the name for each solution table to be created.
- For Output ID ScheduledActivities.csv, click Select data source > Create new, type
ScheduledActivities.csvfor the name, and click Confirm. - For Output ID NotScheduledActivities.csv, click Select data source > Create new, type
NotScheduledActivities.csvfor the name, and click Confirm. - For Output ID stats.csv, click Select data source > Create new, type
stats.csvfor the name, and click Confirm. - For Output ID kpis.csv, click Select data source > Create new, type
kpis.csvfor the name, and click Confirm. -
For Output ID solution.json, click Select data source > Create new, type
solution.jsonfor the name, and click Confirm. -
For Output ID log.txt, click Select data source > Create new, type
log.txtfor the name, and click Confirm.
- For Output ID ScheduledActivities.csv, click Select data source > Create new, type
-
Review the information on the Choose data page, and then click Next.
- Review the information on the Review and create page, and then click Create.
- From the House deployment model page, click the job that you created named House job 1 to see its status.
- After the job run completes, click House to return to the deployment space.
- On the Assets tab, you will see the five output files:
- ScheduledActivities.csv
- NotScheduledactivities.csv
- stats.csv
- kpis.csv
- solution.json
- For each of these assets, click the Download icon, and then view each of these files.
Next steps
Now you can use this data set for further analysis. For example, you or other users can do any of these tasks:
- Learn to build this model from scratch with the Modeling Assistant
- Leverage this deployed model in an end user application using the Watson Machine Learning Rest API
- Deploy Decision Optimization models using the Watson Machine Learning Python Client
Additional resources
- Discover more about the Decision Optimization UI
- Build and solve Python DOcplex models
-
Contribute to the Decision Optimization community
Parent topic: Getting started with building, deploying, and trusting models