Generating multiple scenarios
This tutorial shows you how to generate multiple scenarios from a notebook using randomized data. Generating multiple scenarios lets you test a model by exposing it to a wide range of data.
About this task
The files used in this example are in the DO-samples project. The model concerned is
StaffPlanning and the notebook is
- Download and unzip the DO-samples from the Decision Optimization GitHub on to your machine.
- Create a project in IBM Watson Studio. Select Create an empty project.
- Click Add to Project.
- Select Decision Optimization.
- Select the From file tab in the New Decision Optimization experiment pane that opens.
- Associate a Machine Learning service instance with your project and reload the page.
- Click Add file. Then browse and choose StaffPlanning.zip from the Model_Builder folder in the DO-samples that you downloaded.
- Click Create. A Decision Optimization model is created with the same name as the sample.
Working in Scenario 1 of the
StaffPlanningmodel, click Run model in the sidebar, then click Run to solve the model.The solution contains tables to identify which resources work which days to meet expected demand.
Using random generator to create new scenarios
- In your project, click Add to Project.
- Select Notebook.
- Select the From file tab in the New notebook pane that opens.
- Browse and choose the CopyAndSolveScenarios notebook from the DO-samples jupyter folder that you downloaded.
- Click Create Notebook. The notebook opens in your project.
- In the More menu , select Import Project Token. This adds your authorization token in a hidden cell.
- From the main home Navigation Menu, select Manage > Access (IAM) > IBM Cloud API keys. Create and copy your API key.
- Return to your
CopyAndSolveScenariosnotebook and locate the cell containing
client=Client(pc=pc,apikey="IAM_APIKEY", and replace
IAM_APIKEYwith your own IBM Cloud API key that you just copied.
Locate the cell containing
decision = client.get_model_builder(name="StaffPlanning").This cell instructs the notebook to copy
Scenario 1from the
StaffPlanningmodel and use it to generate additional scenarios based on randomized data. If you’ve used another name for your model, replace
Staffplanningwith the name you chose.
Run the notebook using
The notebook uses the Python random module to generate data for five additional scenarios in the model named StaffPlanning. The new scenarios are named Copy 01 ... Copy 05. The number of scenarios to generate is specified in cell 9,
N_SCENARIOS = 5.
StaffPlanningmodel to compare the solutions of the different scenarios. Click the Scenarios icon to open the Scenario panel and quickly move between scenarios.
Click Visualization in
the navigation pane to compare the different scenarios on the Multi Scenario tab.
The Demand chart plots the demand for the different periods in the randomly generated scenarios. The KPIs chart plots the total cost across the randomly generated scenarios. The My KPIs chart provides a heat map of costs for the different scenarios along with the mix of temporary and fixed resources for each.