© 2013 IBM Corp.
Scheduler 7.5.2
Optimization
Sr. Design Architects - Lori Pilgrim and Brian Downey
Optimization Engine in Scheduler
IBM Software Group | Tivoli Software © 2013 IBM Corp. 3
Architecture
3Maximo
ODME
Scheduler Optimization Adapter ODME Client Libraries ODM Applications Maximo DB ODME DB ODME Scenario DB Admin Workstation ODM ApplicationApplication Server Application Server
IBM Software Group | Tivoli Software © 2013 IBM Corp. 5
5
Optimization Value Proposition
Planner manually creates an optimal schedule
Foreman manually performs assignments for all work orders and tasks
Dispatcher manually adjusts resource schedules affected by new assignments
• Quicker schedule creation • Greater schedule
accuracy and compliance • Reduction in Services
required to supplement resources
Benefits:
Schedule automatically created while factoring in available capacity
“Capacity Planning” and “Resource Leveling”
Resources and/or Crews automatically assigned to schedules
“Resource Assignment” and “Spatial Scheduling”
Incoming work automatically assigned to Resources or Crews
“Dynamic Scheduling”
• Major efficiency gain by freeing the Dispatcher from shuffling resource routes to accommodate incoming work • Optimizes routes to
maximize productivity Current Approach
Streamlines the entire work management process!
• Huge efficiency gains by eliminating routine repetitive assignment action
• Allows Foreman to adjust the assignments rather than make them Scheduler 7.5.2
Scheduler 7.5.2
Scheduler
Optimization
IBM Software Group | Tivoli Software © 2013 IBM Corp. 7
Schedule Compliance
Assignment
Assign using a Graphical UI Labor and Crews Accommodate vacation/breakDispatching
Graphical UI Public Map Control Route Visualization Labor and CrewsReal-time
Communication
Assign Emergency Work Communication to Field Technicians Update Work Status and ProgressCapacity
Planning
Resource
Leveling
Resource
Assignment
Spatial
Scheduling
Dynamic
Scheduling
Optimization
Optimization
Forecast Work Planned Work Create schedulesWork Planning
Resource
Planning
Availability/Gap s • Assets • Location • Material • Tools • Labor/Crews Create Work ListScheduler Optimization Workflow
Scenario Optimize Scenario (70% resource) Scenario (80% resource) Scenario C o m p a r e Adjust Re-optimize Manually Create Manually Create Publish
IBM Software Group | Tivoli Software © 2013 IBM Corp. 9
Resource Leveling
Problem definition:
Work Orders have to be scheduled based on availability of labor, crew, asset, and location.
Goals:
Schedule work orders based on its priority in such a way that the available labor/crew resources are optimally used. Additionally work orders will be scheduled with minimal interruption and when asset/location are available for maintenance.
Work Attributes Considered
Skill level of the Craft
Priority Direction
Asset’s Operational and Maintenance availability
Location’s Operational and Maintenance availability
External Labor
Schedule Window (Date Constraints)
Resource Availability Variables
Partial availability of labor/crew
Time Interval Precision
Capacity Planning
Problem definition:
Work Orders have to be scheduled based on availability of labor, crew, asset, and location and completed within a defined time period. For e.g. 2 week shutdown, turbine overhaul (4 weeks), maintenance in remote locations with seasonal restrictions etc..
Goals:
Schedule work orders based on its priority in such a way that the available labor/crew resources are optimally used within the given time period. If the available resources are insufficient then identify the required resources to complete the work.
Work Attributes Considered Skill level of the Craft Priority Direction
Asset’s Operational and Maintenance availability Location’s Operational and Maintenance availability External Labor
Schedule Window (Date Constraints) Time period
Resource Availability Variables Partial availability of labor/crew Time Interval Precision
IBM Software Group | Tivoli Software © 2013 IBM Corp. 11
Scheduler Optimization Models
Capacity Planning and Resource Leveling
11
Capacity Planning only
Compare Scheduler Scenarios
IBM Software Group | Tivoli Software © 2013 IBM Corp. 13
Optional Exercise
Snapshots, scenarios and optimization workshop
From demo Schedule open the Resource Leveling scenario. From the actions menu, create a snapshot and manual scenario.
Open the Capacity Planning Scenario.
Is the Additional Capacity tab blinking in the resource chart? What does its information say about this scenario?
While in Capacity Plan, from the actions menu, create a snapshot and manual scenario. From the actions menu delete snapshots
Deploy both optimization models.
Next steps will take some time on VM so time may not permit in class
Create a resource leveling scenario. Optimize it, using priority as the main parameter. Save.
Create a capacity plan scenario. Optimize it, asking for the work to all be complete by the end of the third day
In the comparison view, look at your two scenarios together, both in the Gantt and the Load styles. Create another resource leveling scenario. Optimize it, this time changing the priority direction. Toggle
to it from the main tool bar.
Publish this schedule from the main tool bar.
Resource Assignment
Problem definition:
Daily work assignments are tedious to create manually when there are numerous work orders and labor/crews.
Goals:
Automatically assign labor and crews to work orders by matching skill, crew type and availability between the work order resource requirements and the resources. This allows the manager to manage exceptions rather than manually build the entire list.
Work Attributes Considered Craft and Skill requirement of the jobs Crew Type requirement of the jobs Operational and Maintenance availability Location’s Operational and Maintenance availability External Labor
Schedule Window (Date Constraints)
Resource Attributes Considered Craft and skill of the labor persons Crew type of the crews
Standard shift availability Calendar breaks
Modified person availability (vacation/sick/overtime/personal)
IBM Software Group | Tivoli Software © 2013 IBM Corp. 15
Assignment Optimization Models
Resource Assignment and Spatial Assignment
15
Spatial Assignment
only
IBM Software Group | Tivoli Software © 2013 IBM Corp.
Spatial Scheduling - Optimization
Compare Scenarios Populate Destination Matrix
Spatial Scheduling Workflow
Set Up Map Manager Run Optimization Create Work Orders Create Spatial Scheduling Scenario Scheduler Graphical Assignment Schedule Work Orders Define Service Addresses Define Locations Define Assets Set up Crew Types and Crews Publish Scenario Create Project Maximo Applications
IBM Software Group | Tivoli Software © 2013 IBM Corp. 19
Spatial Scheduling
Problem definition:
Daily crew assignments need to consider the location of the work as well as distance and travel time, and be optimized into daily routes for each crew.
Goals:
Automatically create daily street routes for the crews by matching crews to work orders within geographic work zones, considering the type of work to be performed and the capabilities of the crew.
Work Attributes Considered
Service Address of the work, asset or location Work zone of the work
Type of crew required for the job Travel time between locations External Labor
Resource Attributes Considered Crew type of the crews Work zone of the crews Daily composition of the crews Start location for a daily route Finish location for a daily route Standard shift availability Calendar breaks
Populate Destination Travel Time Matrix
1) Planning & Scheduling > Graphical Assignment > Work List Select
Action > Populate Destination Travel Time Matrix
• Determining Travel Time from one assignment to another is crucial to
understand how much work can be done in any given shift.
• Based on the Work Query of the project - Travel Time is calculated and stored
in the skdorgindestmatrix table. This data is used when assigning work in the
Spatial Scheduling optimization model.
2) Planning & Scheduling > Graphical Assignment > Select Action > Create
Spatial Scheduling Scenario > Run Optimization
• As part of the Spatial Scheduling Optimization process the Populate
Destination Travel Time Matrix code is ran to populate the skdorgindestmatrix
table prior to sending data to the ODME model.
NOTE: Populating the Destination Travel Time Matrix requires that the work order has a
latitude(Y) / longitude(X) associated to the record via a service address or a linked record
(Spatial).
IBM Software Group | Tivoli Software © 2013 IBM Corp. 21
Service Address – Travel Time Matrix
Populating the Destination Matrix impacts daily query limits to map providers.
Clients have the option of entering travel time records with their own values in the
Service Address application.
Administration > Service Address > SA Select Action > Spatial Scheduling Travel
Time
Source = ‘USER”
Creates a reverse record for the To Service Address. ie LON105 to LON102 0:15 mins
Cron Task for Destination Matrix Deletion
Based on the Terms and Conditions of a map providers license - travel
time data cannot be kept after ‘x’ amount of days.
SKDMATRIXCLEANUP Cron Task runs daily at midnight to delete any
map provider records from the skdorigindestmatrix table that are greater
then 30 days.
• This value is configurable in the Map Manager application - Optimization
Cleanup field.
Records where Source = ‘USER’ will not be deleted from the
skdorigindestmatrix table.
IBM Software Group | Tivoli Software © 2013 IBM Corp. 23
Create Spatial Scheduling Scenario
Planning and Scheduling > Graphical Assignment > Work List Select Action > Create Spatial Scheduling Scenario
Once a scenario is created the type = ‘Spatial scheduling’ to run the Spatial ODME model.
NOTE: Spatial Scheduling requires that the work order has a latitude(Y) / longitude(X) associates to the record
Name Scenario
Scenario Type: Spatial Scheduling
Spatial Optimization Objectives and Constraints
Minimize Travel Time
• Indicates that travel time should be minimized when assigning work based on location.
Include Travel Time in Total Time
• Indicates that travel time is considered whenassigning work within a shift.
Travel Time Buffer
Run Optimization toolbar icon
IBM Software Group | Tivoli Software © 2013 IBM Corp. 25
Spatial Scheduling – Before and After Optimization
BEFORE: Orange Unassigned Work Orders
AFTER: Green Assigned Work Orders based on Spatial
Scheduling Constraints
AFTER - Spatial Scheduling – Dispatch View
IBM Software Group | Tivoli Software © 2013 IBM Corp. 27
27
Exercise - Create Graphical Assignment – Dispatch View
1.
Create a New Work List
• Add Calendar/Shift from Labor created in step (3) • Add Start Time– make the time an hour before start of shift
• Add End Time – make end time 24 hours after start time to encompass entire shift • Add Start/End Location – add the location not used on the WOs
• Create a WO query - i.e. wonum like ‘LS%’ • Add Labor resources - i.e. laborcode like ‘LS%’ • Save Work List
• Apply Street Level Route