About Dependent Tasks in Scheduling

About Dependent Tasks in Scheduling

Task Dependencies can be used to link multiple tasks together in a number of different ways. There are four main dependency types. The dependencies can only be set up between work tasks that belongs to the same Request/Work Order.

Pre-requisite Work Tasks

Work Tasks that are set as dependent to each other with a Finish-to-Start Dependency Type will be considered pre-requisites in scheduling. It is possible to define more than one dependent task for a work task e.g. one task must be completed before the next three can be started.

There are a number of scheduling specific attributes that can be defined to control the pre-requisite dependencies further.

Same Resource set to Yes means that both work tasks must be done by the same resource. If set to No, they may be done by the same resource or different resources.

Min Delay and/or a Max Delay between the start times of the two work tasks e.g. Min Delay of 1 would mean that the follow-on work task cannot be scheduled to start earlier than an hour after the pre-requisite.

All or Nothing set to Yes means that either both work tasks must be scheduled, or neither of them. If set to No, it is permitted to schedule just the work task listed as the second work task.

Overlap Allowed, specifies whether the dependent work task is allowed to start at the same time or after the start of its Finish to Start (pre-requisite) work task. This only applies when work tasks are allocated to different resources and same resource is set to No.

Min Delay Proportion and/or Max Delay Proportion specifies the minimum and/or maximum delay that will apply from the time when this proportion of the Finish to Start (pre-requisite) work task has been completed. Must be between 0 (0%) or 1 (100%).
The min delay and max delay can be configured to apply once a certain proportion of the pre-requisite activity has been completed. This is controlled by setting the min delay start proportion and max delay start proportion for the dependencies as values between 0 and 1. This will take into account the actual length of the work task. Splits will also be considered.
For example, the dependent work task can be set to begin once the pre-requisite is 50% complete by setting min delay to 0 seconds and Min Delay Start Proportion to 0.5. Or, the dependent work task could be set to begin an hour after the pre-requisite work task has been completed. This would be achieved by setting the Min Delay to 1 hour and the Min Delay Start Proportion to 1.

Co-requisite Work Tasks

 If there are multiple resource demands defined within one work task, they will be considered co-requisites and will be scheduled to be performed at the same time. A typical example would be two resource demands, one for an electrician and one for a mechanic.

It is also possible to define a co-requisite relationship between work tasks. Work Tasks that are set as dependent to each other with a Start-to-Start Dependency Type will be considered Co-requisites in scheduling. 

Co-requisites can have an additional scheduling specific attributes set called Keep Splits Together. This determines whether the individual visits should all start and end at the same time, or just the start time of the first visits.

Combined Work Tasks

Work Tasks that are set as dependent to each other with a Combined Dependency Type will be considered Combined in scheduling. Combined work tasks are similar to co-requisite work tasks, except that they may also be scheduled, one after the other, to a single resource. They are essentially like a piece of work that could be done by one person, but it would be done in half the time if two resources did it. 

For example, if dispatcher connected Task A and Task B with the Combined dependency type, PSO will determine how these two activities get scheduled according to the optimal scheduling solution. It would be essentially a corequisite or just one after another for the same resource.

Combined Tasks

Ordered Work Tasks

Work Tasks that are set as dependent to each other with an Order One Way or Order Two Way Dependency Type will be considered Ordered Work Tasks in scheduling. It is possible to specify that two work tasks must be done together, one immediately after the other, if they are scheduled. This is useful if there is a sensible order in which to do a number of work tasks that are at the same location e.g. in a block of apartments.

Ordered One Way: This can also be used to define a suggested order between the work tasks. If Work Task D should be done immediately before activity B, then the user can define an Order One Way dependency between Work Task D and B.

 

Order One Way Dependancy

Ordered Two Way: When you specify a two-way constraint, the two work tasks must still be done one immediately after the other, but either Work Task can come first.

For example, if Work Task A and Work Task B have an Order Two-Way dependency, Work Task B has a Two Way dependency with Work Task C, they will be scheduled one after the other without interruptions, but the scheduling order of work tasks are not pre-defined. B will always be in the middle as it has a dependency to both A and C, whereas A and C can be scheduled on either side of B.

Order Two Way

There are two scheduling specific attributes that can be defined to control the ordered dependencies further.

Same Resource set to Yes means that both work tasks must be done by the same resource. If set to No, they may be done by the same resource or different resources.

Order Incentive which defines a multiplier on the value of scheduling the work tasks, if the scheduling engine follows the suggested order of the two work tasks. If no value is supplied then the order is assumed to be forced.

Sending Dependent Tasks to Scheduling

If a dependency is defined between two work tasks, and one of the work tasks has a status matching the "Schedule From Work Task Status" defined on the Scheduling Dataset, then both work tasks will be sent to scheduling, regardless of the status of the dependent task. The work task that does not match the "Schedule From Work Task Status, will be sent as "Do Not Schedule", and will be updated to a schedulable status, once it has reached that point. This is to ensure that dependent tasks are not scheduled without considering the dependency constraint.

Dependent Tasks and Appointment Booking

Booking appointments for work tasks will also consider the dependencies. Work Tasks that have a pre-requisite, co-requisite or combined dependency will be considered in the appointment booking process. Sending an appointment request for a work task with dependencies will include all the dependent work tasks to ensure that the constraints are taken into account when booking appointments. Let's assume that you have two work tasks, each with one resource demand. Work Task A needs to be completed before Work Task B can be started (pre-requisite). An appointment request is sent to the Appointment Booking Engine for Work Task A, and Work Task B is automatically included in the request. Appointment Booking is not supported for Ordered Work Tasks.