Work Planning and Scheduling (WPS) is scheduling an organization's Work Tasks and PM Action Work Lists (commonly referred to as work in this document) while taking into consideration the importance of work, the availability of the resources as well as possible constraints. The scheduling process is carried out in the IFS Planning & Scheduling Optimization (PSO) engine. Material, tool availability, and additional qualifications may be used as constraints in the scheduling process. Scheduling is based on the value of the work.
The scheduling process considers the constraints placed by Work, Resources and Part stocks that are actually loaded into a particular dataset and not all the Work Orders and PM Actions, Resources and Part stocks available in the organization.
A work planning and scheduling dataset is the entity on which planning needs to be carried out. It can be a single site or a collection of sites. Multiple datasets can be created to plan different sites of an organization. However, it is important to note that different datasets are entirely independent of each other and know nothing about the existence or planning of other datasets. If a dataset is created per single site, it is important to make sure resources and parts stocks used by that site are not used by other sites that are loaded into other datasets. It is expected that the same data, resource or part stocks are not sent to multiple datasets.
A Work Task (or work list in the case of a PM Action) is the smallest schedulable entity. The scheduling engine essentially focus on allocating resources to do the work, taking other constraints into consideration. A single resource requirement for the work is called an activity in scheduling. If a work task requires multiple resources, that means the task has multiple activities and these multiple activities should work together to complete the work. For example, if a task requires three resources, this is handled as three activities that should be planned in the same time slot.
The minimum requirements for a Work Task or a PM Action Work List (work) to be considered for planning using Work Planning and Scheduling solution are as follows:
The goal of the scheduling process is to achieve the highest value in the overall scheduling solution. This means work tasks and work lists that have higher values gets prioritized over those having lower values.
A successful scheduling process will result in the following:
Solution supports datasets of process types Static, Dynamic and Reactive.
Using datasets with process type Dynamic is recommended when planning horizon is relatively short (typically less a week) and changes to schedule are expected frequently. A dynamic dataset will have an initial version loaded in and then the subsequent changes are loaded automatically and the schedule gets updated frequently. The dataset will remain in IFS Planning & Scheduling Optimization (PSO) memory and it will continually work to improve the schedule. It is important to note that Work Planning and Scheduling Datasets are not recommended when planning on resource group level. Resource setup that allows individual assignments must be used with this process type.
Process type Static is recommended when the number of tasks to be planned is high and updates to the dataset are not expected. A Static dataset will run until it has reached its specified target and then be unloaded from the IFS Planning & Scheduling Optimization (PSO) engine. If the data connected with the dataset has been changed and a new plan required, the load has to be sent again. This dataset type can be used when planning resources on group level as well as on individual level.
Process type Reactive is a mixture of Static and Dynamic. Some changes to the schedule are expected, but not as frequently as in a Dynamic dataset. This is also recommended when resources planned on individual level.
Value can be assigned to work tasks/work lists based on Work Type, Object Criticality, Task Priority and/or Event. This setup is done at the Work Planning and Scheduling Dataset level. The goal of the whole scheduling solution is to achieve maximum value. This means work with higher values, defined by the value configuration, gets prioritized higher in the scheduling process.
Resources can be planned on resource group level or individual level.
While Work Tasks/PM Work Lists and Resources are the two main entities required for Scheduling, there are other entities that can be used as constraints. It is possible to switch there constraints on/off at the dataset level.
Whether to use material as a constraint can be set in the dataset. Material stocks include:
NOTE: Parts are not reserved as a part of the scheduling process. Material orders are also not created by scheduling process. MRP/PMRP processes handle the part supply function.
Additional qualifications include competencies and certificates. These constraints can also be enabled or disabled at the dataset level. When enabled, Additional Qualifications are treated as a skill connected to the resources.
The Work Planning and Scheduling solution tries to plan work within the early start and late finish period. However, if this is not possible due to constraints, work tasks may be planned after the late finish date. PM Actions are planned only within the planning window indicated by earliest start and latest finish dates. Planning window of the calendar based PM Action maintenance plans can be adjusted by changing the Expand Forward and Expand Backward parameters.
Planning of obstructive work that needs to be performed when the equipment is out of operation is a key factor in scheduling maintenance tasks to minimize production limitations. Performing as much work on the equipment as practical is important to reduce the number of shut downs for maintenance.
Much of the time, when a piece of equipment is shut down, an entire process is affected and several other pieces of equipment will need to be shut down as well. If maintenance activities can be clustered based on these equipment groups that function together, there is a good chance of reducing the number of maintenance stoppages.
The WPS solution can be set up in a way that increases the likeliness of clustering maintenance work. This is done using the equipment grouping mechanism introduced called WPS Cluster ID. WPS Cluster ID, which can be set on the equipment object record indicates which cluster a particular equipment belongs to from a maintenance perspective. WPS Cluster ID set up on equipment objects will associate them with a group that will be affected together when any one of them requires being shut down. Using this functionality, maintenance departments can easily be shown work due, or soon to be due, on the associated equipment while production is down for a specific casualty along with the available resources to perform the work. This may save a later shut down for planned maintenance on the associated equipment thus making up the lost production time.
Cluster IDs are defined in Object Cluster basic data. Each cluster ID is connected with 2 types of incentives.
Once the cluster IDs have been defined, the equipment that must function together is identified and connected with the corresponding WPS Cluster ID. WPS Cluster ID is set on Equipment and represents a section of a facility or a group of objects that function together and has to be shut down for the maintenance of a single unit.
IFS Planning & Scheduling Optimization engine, which is the back end of WPS solution tries to plan work in a way that increases the value of the total scheduling outcome. Cluster IDs and configuring the base values of work tasks and PM actions (optionally using Work Type, Priority, Object Criticality and/or Event) need to be kept in mind when setting incentives. Very high incentives for clustering compared to base values of work may result in the scheduling tool focusing on clustering work excessively. This may result in critical work not getting planned immediately resulting in them being grouped with none critical work belonging to same cluster. Very low incentives for clustering compared to the base values may result in not achieving the appropriate level of clustering.
The scheduling process runs continuously in the scheduling server. Changes to the tasks, such as creating new tasks and changing the resource demand(s) of tasks can be detected and sent to the scheduling process that runs in the server. For this, relevant database triggers should be activated. The scheduling server will send a new update to the business application regularly and these updates may also change the planning of currently planned tasks. This may be due to the scheduling server finding new optimum solutions during the dynamic scheduling process as well as due to changes in work tasks that were sent to the server automatically by enabling triggers.
Note that there are no triggers created for supporting dynamic PM planning.
Successfully scheduled work will have the planned start and end dates set. In addition, if the resources are planned on individual level, assignments are also created for successfully scheduled work.
There can be multiple reasons for work to remain unplanned after the scheduling process including the following:
The scheduling process tries to plan all work between the early start and late finish dates specified in the task. However, there can be situations where the overall scheduling process cannot plan all the tasks within early the start and late finish dates. In such a situation, the scheduling process may plan some of the work tasks later than the late finish date. PM Actions that cannot be planned within the planning window will be left unplanned.
There can be different actions needed if the result of the planning process is different from expected results including the following:
Adjustments to the output from the scheduling process can be done in the IFS business system. However, it is important to note that the scheduling process sends updates to the IFS business system continuously. New optimizations to the plan or changes in Work Tasks may override manual changes.
Setting the manual adjustments to not be overridden can be done as follows: