Scheduling Work Tasks with Planning and Scheduling Optimization (PSO)

This description is divided into the following sections:

What is Planning and Scheduling Optimization (PSO)?

PSO is a scalable optimization framework which enables advanced scheduling of resources and activities.

The Integration between Planning and Scheduling Optimization and IFS Cloud

The integration of Scheduling with IFS Cloud provides functionality for scheduling Work Tasks / Request Tasks to Person and Crew resources in order to:

Resources and activities (Work Task / Request Task - Resource Demands) are sent from IFS Cloud to the Scheduling Engine where they are scheduled. The scheduling is based on the following:

Once scheduled, an allocation plan is returned to IFS Cloud and work assignments for the Work Task / Request Task can be created through any of the following methods:

Note: In the Scheduling Workbench, access to view resources and activities is restricted by Object Groups. In the integration, an object group is equal to a site in IFS Cloud. This means that in order for a Scheduling Workbench user to be able to view information like resources and activities belonging to a particular site, the user must be connected to the corresponding object group in the Scheduling Workbench (Workspace - Administration). The object groups for activities and resources are transferred automatically from IFS Cloud to Scheduling engine, but object groups for the users must be set up and granted to the users manually from the Scheduling Workbench (Workspace - Administration). In order for a user to be able to view a dataset, the user must also be granted to the dataset itself. This also can be done manually in the Scheduling Workbench.

It’s possible to schedule crew resources to crew demand-type tasks using the scheduling engine. Crew resources and demand types can be created on the IFS cloud side and integrated into DSE. With the integration crew members are visualized in the scheduling workbench with their validity period.

Functional Dependencies

The following IFS Cloud components must be installed in order to use the Scheduling integration:

Scheduling Concepts

Data Setup in IFS Cloud

Employees

In order for resources to be available in the Scheduling engine, the following data must be defined (Also see Maintenance Resource Setup)

  1. The employee must be set up in IFS Human Resources. This employee should belong to the company that is to be scheduled and be employed within the scheduling period.
  2. The employee must be assigned to a valid maintenance organization and resource group in IFS Cloud.
  3. Valid geo-coordinates (using map positions) must be connected to the employee's person address or to the company address on the maintenance organization. For the crew resources map positions can be connected from company address or locations address attached to scheduling resource start and end locations.
  4. For following steps for the Resource setup in IFS Cloud see Maintenance Resource Setup

Note that the resource's allocations, such as, absences, training allocations, project allocations, breaks and lunches will be transferred for scheduling to scheduling.

Resource and Employee, Basic Data

The scheduling resource types which are used within a company must be defined and are Scheduling intergration specific data. Each resource type can be set up with information on the start and end locations for a work shift, maximum travel hours and costs such as scheduling cost per hour and scheduling cost per overtime hour.

If a resource is to be scheduled by the Planning and Scheduling Optimization, this resource must be set up as a scheduling resource and valid scheduling data must be entered for this resource. If scheduling data is not defined for a scheduling resource it will inherit the data from the connected scheduling resource type, for example, the start and end locations of a scheduling resource type's work shift and scheduling costs will be assigned to the scheduling resource. For the start and end locations the geo-coordinates of the map positions will also be transferred to Scheduling engine. The skills of a resource will also get transferred to Scheduling engine. The skills can be any of the following:

The scheduling data for a resource can be changed at any time, updates will be transferred to Scheduling engine through incremental updates. Generate Schedules and Capacity on the Resource Availability should be run before sending a Scheduling data load in order to transfer the Shift and Break related data.

Activity - Work Task / Request Task, Basic Data

Scheduling activity types should be defined. A scheduling activity type is defined with a connection to work types. The following scheduling information can be defined per activity type:

Weight criteria and weighting values should be defined. Weight criteria can be set up for the priority of the Work Task and the criticality of the actual equipment object that is connected to the Work Task. Weight criteria can also be set up for service contract types and will have an effect on the Work Tasks that are connected to service contracts. For each weight criteria define the weighting values that will be used as an input for activity base value calculations.

Appointment values need to be defined and will be used to calculate the base value for activities that are managed as appointments. The base value for an appointment activity, e.g. a Work Task / Request Task, is calculated by multiplying the base value for the appointment by the Work Task / Request Task activity duration and weightings.

Scheduling SLA Type

Scheduling SLA Types should be set up with values, such as, the start and end proportions and curve shape, that will be used as an input when calculating scheduling SLAs in the Scheduling Engine. The scheduling SLA is used to calculate the urgency of an activity. Scheduling SLA Types are used when scheduling breaks and activities. Scheduling SLA Types when combined with the base value is used to determine the scheduling behavior of a break or an activity.

Predictive Durations

The option Adjust Duration enables an archiving service to automatically adjust the duration based on historical average durations. The archiving service calculates durations from completed tasks of the same dataset, activity type and location. The calculated duration is then used when the Adjust Duration option is enabled on tasks of the same dataset, location and work type. The Adjust Duration option is found in the Work Task page. The duration field is found on tasks in the Scheduling Information/Allocations tab. The value Yes or No in the field Adjusted Duration indicates if the value has been adjusted or not. The setting of the Adjust Duration can also be copied from the selected work type. Refer to Scheduling Activity Type page where the option Adjust Duration can be toggled On or Off. The setting will then be copied when the work type is added on a task.

These are the main steps:

Technical details about archiving service and examples of how to setup timetables are found the scheduling engine documentation. Refer to the PDF document Schedule Archive Guide and the section Predictive Durations.

Datasets

Datasets are used to transfer data to PSO. A dataset contains information about how data should be scheduled and the time horizon for the scheduling problem, as well as in what time zone the data is to be scheduled.

The time horizon for which the data should be transferred and scheduled is the number of days specified in Scheduling Work Days and Appointment Work Days according to the connected calendar. For instance, if the number of days is set to 5 in the Scheduling Work Days and 30 in the Appointment Work Days, the data that should be scheduled per company or site for the given time interval (5 days + 30 days) will be transferred and scheduled by the DSE. 5 days will be optimized using the scheduling algorithm and the 30 days will be optimized by using the appointment algorithm. The following is a list of the data transferred in an active dataset:

The time zone for each scheduling dataset can also be defined. The time zone defined on the dataset is the time where the data is to be scheduled in. An example would be the case of having one central installation for IFS Cloud but work is carried out by service technicians in different time zone regions. Each time zone region could then have a separate scheduling dataset with its specific time zone.

Default values for a Work Task / Request Task can be entered on the dataset. If a Work Task / Request Task is missing any of the required data, such as, the Primary Scheduling SLA Type or the Activity Type, the default values from the dataset will be assigned to the Work Task / Request Task. It is possible to set the lowest status from which Work Tasks in the dataset can be transferred for scheduling. The default values for HR activities should also be entered per dataset and will be used as an input when scheduling the break activities.

Send Full Load

This command is used to transfer all scheduling related data to PSO. Once sent, a background job will be posted. View Background Job on the page can be used to view the status of the Background Job.

Send Changes

This command is used to transfer data changes to Scheduling engine. Once sent a background job will be posted. View Background Job on the page can be used to view the status of the Background Job.

Activate Dataset/Deactivate Dataset

This is used to activate or deactivate an entire Dataset in Scheduling engine.

Scheduling Configuration Parameters for Work Task Scheduling

For more information on the scheduling parameters related to the Scheduling engine Integration please refer to the activity Define Scheduling Configuration

Schedule Work Tasks with Planning and Scheduling Optimization

In order to schedule activities for a Work Task / Request Task, the task must be set to the transfer status or a higher status (where the transfer status is set per dataset in Scheduling Dataset/Work Task). Before setting the Work Task to this status however you need to make sure that all information required by the Scheduling engine is present in the Work Task. This also includes that Resource Demands must be specified for the Work Task / Request Task. Each resource demand equates to an activity in Scheduling engine.

Note: To view information about scheduling of linked activities see: About Linked Activities in Scheduling Engine

Once the activity/activities for a Work Task are transferred to Scheduling engine are scheduled, an allocation plan with the current scheduling status, resource assignment and activity start and finish dates is returned to IFS Cloud.

The Work Task / Request Task activities will be scheduled based on resource skills, cost of scheduling the resource, the preferred resource for the work, the location of the resource and activity, the importance (value) of the activity and the urgency (scheduling SLA) on the activity.

In order for a Work Task activity to be allocated to a resource, the skills of the resource will have to match the skills required by the activity.

Supporting functions for Mobile and Dispatchers

Expected arrival time

A resource can provide the expected arrival time for a Work Assignment. In the Scheduling Workbench and the Dispatch Console, the expected arrival time is available for the dispatcher. Only applies to Work Assignments with a soon-to-be-commenced status  e.g. Assigned, Sent, Downloaded, Accepted, or On Route.

Current Location

In the Scheduling Workbench and Dispatch Console, it’s possible to visualize the resource's current location. In the Gantt the latest known location is displayed as a "GPS Fix", visualized as a small circle shape icon for the resource at the time it was sent. With a click on the the icon, details can be viewed.

Highlight

A resource can send highlights for Work Assignments that require special attention from a Dispatcher. Highlighted Work Assignments are visualized in the Gantt with an amber background color. The highlight will also be visible in the exceptions panel. If a highlight text has been entered it will be displayed alonside the exception.

Resource Attention

If a resource requires special attention, they can use action Attention On from their mobile device. The resource record will be highlighted in an amber color, highlighting the resource for the Dispatcher. Attention will also be visible in the exceptions panel.