Scheduler 7.5.2 Optimization Sr. Design Architects - Lori Pilgrim and Brian Downey Optimization Engine in Scheduler What-If Analysis 2 1
Architecture Application Server Application Server Maximo ODME Scheduler Optimization Adapter ODME Client Libraries ODM Applications Admin Workstation ODM Application Maximo DB ODME DB ODME Scenario DB 3 Configuring the Optimization Server 4 2
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 Current Approach Scheduler 7.5.2 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 5 5 Benefits: Quicker schedule creation Greater schedule accuracy and compliance Reduction in Services required to supplement resources Huge efficiency gains by eliminating routine repetitive assignment action Allows Foreman to adjust the assignments rather than make them Major efficiency gain by freeing the Dispatcher from shuffling resource routes to accommodate incoming work Optimizes routes to maximize productivity Streamlines the entire work management process! Scheduler 7.5.2 Scheduler Optimization Resource Leveling and Capacity Planning 6 3
Optimization Work Planning Resource Planning Assignment Dispatching Real-time Communication Forecast Work Planned Work Create schedules Availability/Gap s Assets Location Material Tools Labor/Crews Assign using a Graphical UI Labor and Crews Accommodate vacation/break Graphical UI Public Map Control Route Visualization Labor and Crews Assign Emergency Work Communication to Field Technicians Update Work Status and Progress Optimization Capacity Planning Resource Leveling Resource Assignment Spatial Scheduling Dynamic Scheduling 7 Schedule Compliance Scheduler Optimization Workflow Re-optimize Adjust Scenario (80% resource) Create Work List Optimize Manually Create Scenario (70% resource) Scenario C o m p a r e Publish Manually Create Scenario 8 8 4
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 9 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 10 5
Scheduler Optimization Models Capacity Planning and Resource Leveling Capacity Planning only 11 Compare Scheduler Scenarios Before and after Resource Leveling 12 6
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. 13 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) 14 7
Assignment Optimization Models Resource Assignment and Spatial Assignment Spatial Assignment only 15 Compare Assignment Scenarios 16 8
Spatial Scheduling - Optimization Spatial Scheduling Workflow Maximo Applications Set Up Map Manager Scheduler Schedule Work Orders Graphical Assignment Define Service Addresses Create Project Define Locations Create Work Orders Create Spatial Scheduling Scenario Define Assets Populate Destination Matrix Run Optimization Publish Scenario Set up Crew Types and Crews Compare Scenarios 18 9
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 19 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). 20 10
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 21 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. 22 11
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 23 Spatial Optimization Objectives and Constraints Run Optimization toolbar icon 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 when assigning work within a shift. Travel Time Buffer Indicates the percentage of additional time to be added to the travel time between work locations. 24 12
Spatial Scheduling Before and After Optimization BEFORE: Orange Unassigned Work Orders AFTER: Green Assigned Work Orders based on Spatial Scheduling Constraints 25 AFTER - Spatial Scheduling Dispatch View Read-only view of the Spatial Scenario in Dispatch View available. 26 13
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 2. Populate Destination Matrix 3. Create Spatial Scheduling Scenario 4. Run Optimization 5. View Optimization Results in Gantt View 6. View Optimization Results in Dispatch View 7. Publish Data NOTE if you publish data you will need to go back and delete assignments if you want to rerun optimization 27 14