Quick start: Build, run, and deploy a Decision Optimization model
You can build and run Decision Optimization models to help you make the best decisions to solve business problems based on your objectives. Read about Decision Optimization, 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 Decision Optimization model 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:
- Task 1: Create a project.
- Task 2: Create a Decision Optimization experiment in the project.
- Task 3: Build a model and visualize a scenario result.
- Task 4: Change model objectives and constraints.
- Task 5: Deploy the model.
- Task 6: 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. Follow these steps to create a project:
-
From the Cloud Pak for Data navigation menu , choose Projects > All projects.
-
If you have an existing project, open it.
-
If you don't have an existing project, then click New project.
-
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.
Check your progress
The following image shows the new project.
Task 2: Create a Decision Optimization experiment
Now, follow these steps to create the Decision Optimization experiment in your project:
-
From your new project, click New asset > Decision Optimization experiment.
-
Select Local file.
-
Click Get sample files to view the GitHub repository containing the sample files.
-
In the DO-Samples repository, open the folder for your Cloud Pak for Data deployment.
-
Click the
HouseConstructionScheduling.zip
file containing the house construction sample files. -
Click Download to save the zip file to your computer.
-
-
Return to the Create a Decision Optimization experiment page, and click Browse.
-
Select the
HouseConstructionScheduling.zip
file from your computer. -
Click Open.
-
-
Choose a deployment space to associate with this experiment. If you do not have an existing deployment space, create one:
-
In the Select deployment space section, click Create new space.
-
In the Name field, type House sample to provide a name for the deployment space.
-
Click Create.
-
When the space is ready, and click Close to return to the Create a Decision Optimization experiment page.
-
-
Now click Create to open the Decision Optimization experiment.
Check your progress
The following image shows the experiment with the sample files.
Task 3: Build a model and visualize a scenario result
Follow these steps to build a model and visualize the result using the Decision Optimization Modeling Assistant.
-
In the left pane, click Build model to open the Modeling Assistant. This model has been made with the Modeling Assistant so you can see that the objectives and constraints are in natural language, but you can also formulate your model in Python, OPL or import CPLEX and CPO models.
-
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.
Check your progress
The following image shows the Visualization page with a Gantt chart.
Task 4: Change model objectives and constraints
Now, you want to make a change to your model formulation to consider an additional objective. Follow these steps to change the model objectives and constraints:
-
Click Build model.
-
In the left pane, click the Overflow menu 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.
-
Under Add to model, in the 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 Run to run the scenario to build the model and wait for the run to complete.
-
Return to the Explore solution page to view the Objectives and Solutions.
-
In the left pane, select Visualization.
-
Under the Solutions tab, select Gantt to view the scenario with the optimal schedule.
-
Click Overview to compare statistics between Scenario 1 and Scenario 2.
Check your progress
The following image shows the Visualization page with the new Gantt chart.
Task 5: Deploy the model
Next, follow these steps promote the model to a deployment space, and create a deployment:
-
Click the Overflow menu 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.
-
If you miss the notification, then click the project name in the navigation trail.
-
Click the Assets tab in the project.
-
Click the House Construction model.
-
-
Click Promote to deployment space.
-
For the Target space, select House sample from the list.
-
Check the option to Check Go to the model in the space after deploying it.
-
Click Promote.
-
-
After the model is successfully promoted, the House Construction model displays in the deployment space.
-
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.
-
-
Wait for the deployment status to change to Deployed.
Check your progress
The following image shows the House deployment.
Task 6: Test a model
To test the model with a scenario, you must upload data files from your computer to the deployment space. Follow these steps to test the model by creating a job using the CSV files included with the sample zip file:
-
Click House sample in the navigation trail to return to the deployment space.
-
Click the Assets tab.
-
In the
HouseConstructionScheduling.zip
file on your computer, you will find several CSV files in the .containers > Scenario 1 folder. -
Click the Upload asset icon to open the Data panel.
-
Drag the
Subcontractor.csv
,Activity.csv
, andExpertise.csv
files into the Drop files here or browse for files to upload area in the Data panel.
-
-
Click the Deployments tab.
-
Click House deployment.
-
Now to submit a job to score the model, click New job.
-
For the job name, type
House construction job
. -
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.csv
for the name, and click Confirm. -
For Output ID NotScheduledActivities.csv, click Select data source > Create new, type
NotScheduledActivities.csv
for the name, and click Confirm. -
For Output ID stats.csv, click Select data source > Create new, type
stats.csv
for the name, and click Confirm. -
For Output ID kpis.csv, click Select data source > Create new, type
kpis.csv
for the name, and click Confirm. -
For Output ID solution.json, click Select data source > Create new, type
solution.json
for the name, and click Confirm. -
For Output ID log.txt, click Select data source > Create new, type
log.txt
for the name, and click Confirm.
-
-
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 construction job to see its status.
-
After the job run completes, click House sample 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.
Check your progress
The following image shows the completed batch job.
Next steps
Now you can use this data set for further analysis. For example, you or other users can do any of these tasks: