Resource Tardiness Weighted Cost Minimization in Project Scheduling

In this paper, we study a project scheduling problem that is called resource constrained project scheduling problem under minimization of total weighted resource tardiness penalty cost (RCPSP-TWRTPC). In this problem, the project is subject to renewable resources, each renewable resource is available for limited time periods during the project life cycle, and keeping the resource for each extra period results in some tardiness penalty cost. We introduce a branch and bound algorithm to solve the problem exactly and use several bounding, fathoming, and dominance rules in our algorithm to shorten the enumeration process. We point out parameters affecting the RCPSP-TWRTPC degree of difficulty, generate extensive sets of sample instances for the problem, and perform comprehensive experimental analysis using the customized algorithm and also CPLEX solver. We analyze the algorithm behavior with respect to the changes in instances degree of difficulty and compare its performance for different cases with the CPLEX solver. The results reveal algorithm efficiency.


Introduction
Resource constrained project scheduling problems are widely studied in the open literature.Various criteria are studied in these problems.Project makespan minimization is one of the most studied objectives which is aimed in the resource constrained project scheduling problem (RCPSP).Resource tardiness minimization is another objective that has been much less studied in the literature.This objective is studied in the current paper.It differs from makespan minimization, since it tries to schedule those activities earlier for which the due dates of the required resources are earlier, even though this may elongate the project makespan.The optimal schedule in this case can change by simply changing the due dates of the resources.But in makespan minimization, the due dates of the resources are not taken into account.
Resource tardiness minimization is a pervasive objective in the practical cases of the project scheduling.In many projects, resources are available for limited periods of the project life cycle and keeping them available after the related periods is subject to some tardiness costs.Renewable resources that are rented from outside the project or the ones that are common between various projects are usually subject to this condition.For example, in construction projects, heavy machines such as tower cranes or bulldozers are usually subject to this condition.These resources may also have ready times; that is, they may not be ready at the beginning of the project.Resource tardiness cost minimization is a preferred objective in scheduling of these projects.
In this paper we study an extension of the RCPSP problem that is called resource constrained project scheduling problem under minimization of total weighted resource tardiness penalty cost (RCPSP-TWRTPC) [1].In this problem the project is subject to renewable resources.Each renewable resource is available for limited time periods during the project life cycle and keeping the resource for each extra period results in some tardiness penalty cost.The objective is to minimize the total resource tardiness penalty cost.We introduce a branch and bound algorithm to solve the problem exactly.The branching structure in this algorithm is similar this same problem.In Khalilzadeh et al. [40] an extended form of RCPSP-TWRTPC was introduced and studied.In that problem which is called multimode RCPSP-TWRTPC (MRCPSP-TWRTPCP), project activities are multimode and they are subject to nonrenewable resources in addition to the renewable resources.The problem aims at the minimization of the total cost of the resources, including the renewable resources tardiness weighted cost and the cost of usage of nonrenewable resources by project activities.To solve this problem, a metaheuristic algorithm was introduced based on a modified version of particle swarm optimization method.

Problem Description
A project with  nondummy activities is considered.There exist finish-start precedence relations between activities which are illustrated using an activity-on-node (AON) loopless network, with dummy nodes 1 and  + 1 as initial and terminal nodes, respectively.Let  = {1, . . ., NR} be the set of renewable resources.Each activity  ( = 1, . . .,  + 1) has a fixed duration   and requires   units of renewable resource  ( ∈ ) for each unit of time over its duration.Besides, activity  has a set of predecessor activities,   .Every renewable resource  has constant availability of   for each period over the project duration, the ready time rt  , the deadline dt  , and the unit tardiness penalty cost of pc  ; that is, the resource is not available before the period rt  , and after the period dt  for each period of the resource tardiness, a penalty cost of pc  results.No preemption is permitted during the execution of the activities, all of the activities have single mode, and they are ready at the beginning of the project horizon.All parameters are integers.The problem is to find the start time of each activity ,   , ( = 1, . . .,  + 1), such that all problem constraints are satisfied and the total cost of renewable resource tardiness is minimized.
Suppose that the earliest start time of each activity , EST  , ( = 1, . . ., +1), is determined with forward pass.In order to get more adequate EST for each activity, we minimally limit the EST of activities using the renewable resource constraints.Based on this, the earliest start time of each activity cannot be earlier than the earliest time that all renewable resources that are required by the activity are ready.We also determine the latest start time of each activity , LST  , ( = 1, . . .,  + 1), using backward pass.In order to do that, we specify an upper bound  on the project makespan of every optimum solution for the problem and fix the latest start time of the last dummy activity equal to this upper bound.We determine  by summing the durations of the entire activities and adding the latest ready time of the renewable resources to this sum.It can be easily shown that  is an upper bound on the makespan of at least one optimal solution for the problem.
We now define the following decision variables:

Advances in Operations Research
3 is renewable resource  tardiness.
Then we have, =EST   ⋅   and the mathematical model of the problem is as the following: In the model above, objective (2) is the minimization of the project scheduling cost.Constraints (3) guarantee that each activity  can only have a single start time from the period [EST  , LST  ].Constraints (4) take into consideration precedence relations between each pair of activities (, ) where  is an immediate predecessor of .Constraints (5) regard renewable resource usage limitation, according to constraints (6) renewable resources may be used after their ready times, constraints (7) determine the tardiness value of each renewable resource, and finally, constraints (8), (9), and (10) denote the domain of the variables.
It can be shown that the RCPSP-TWRTPC problem is an extension of RCPSP and therefore, it is NP-hard.

Branch and Bound Algorithm for RCPSP-TWRTPC
In this section we describe our branch and bound algorithm for solving the RCPSP-TWRTPC.This method is based on partial schedules in which only parts of the project activities are scheduled.In each node of the branch and bound tree, one activity is selected and scheduled until all activities are scheduled.Several bounding, fathoming, and dominance rules are used in the algorithm to shorten this enumeration process.
Basic scheme of the branch and bound algorithm for solving RCPSP-TWRTPC, describing each part of the algorithm in detail, is as follows: (1) Perform preprocessing and stop if the instance is infeasible (2) Determine disjunctive pairs of activities (3) Specify the initial upper bound on the optimal objective function value (4) Generate the initial node and select it for branching (5)  We determine disjunctive activities at the beginning of our algorithm to perform this test during the fathoming check at every node of the branching tree.If some precedence relation already exists between a pair of activities, the test brings no new information to the solution method.So we only determine disjunctive pairs without any existing precedence relations between the related activities.

Initial Upper Bound Specification.
In order to determine an initial upper bound on the optimum objective function value, we generate a feasible solution for the problem using the following heuristic method and use its related objective function value as the initial upper bound.In this heuristic method, first, an activity list (AL) is generated which shows the priority of the activities in generating the related schedule; that is, the th element in the list has the priority of  in the schedule generation process.In order to generate a precedence feasible schedule, we generate a precedence feasible activity list in which each activity has a lower priority than its predecessors.In order to generate this list, we use a quantity related to each activity which we call maximum resource tardiness cost of unit extra period (MTC).MTC for each activity is sum of the unit tardiness costs of those renewable resources that the activity requires.In order to generate the AL, activities are sorted in nonincreasing order of their MTC considering the precedence relations.
In the second step after the generation of the AL, activities are scheduled using the serial schedule generation scheme (SSGS).The schedule generated in this way is a feasible and usually good solution for the problem.

Initial Node Generation.
The branching tree of the algorithm is initiated with the initial node.The related schedule in this node contains the first dummy activity which is scheduled in the first period.This node is generated and then branched as the only available node according to specific structure of the branch and bound algorithm.

4.5.
Branching.In our algorithm, branching is performed similar to the precedence tree algorithm for the RCPSP problem.Regarding each selected node  for branching, the set of eligible activities (EJ  ) for this node is determined that contains all activities not scheduled yet whose predecessors have already been scheduled.For each member of this set like   , a new node is generated and   is scheduled in the earliest feasible time considering the precedence and resource constraints.In appendix of this paper, we show that at least one optimum schedule is gained among the schedules generated in this way.
4.6.Dominance Rules.Several dominance rules have been introduced for the precedence tree algorithm for solving the RCPSP.Some of them have been reviewed in Demeulemeester and Herroelen [42].According to these dominance rules, some of the nodes in the branching tree may be fathomed before branching them to shorten the enumeration process because better or the same quality nodes exist in the branching tree.
Two of the dominance rules of the precedence tree algorithm for the RCPSP are applicable in our algorithm here.Experimental analyses show that these rules are very effective in the algorithm efficiency.Description of these rules is as follows.
Regarding each partial schedule in each node, we can specify an activity list that contains the list of activities in the order of their start times.When some activities have the same start times, it is possible to relate more than one activity list to a given partial schedule.In this case, there can be one node associated with each of these activity lists in the branching tree.Therefore if we have two nodes with different activity lists whose related partial schedules are the same, we can fathom one of them, because they are related to the similar solutions.Noting to this, if in some node, for a selected activity  and a previously scheduled activity  we have   <   , we fathom the generated node, because it contains the same partial schedule as another node whose activity list is the same but orders of activities  and  are reverse in the list.Another case is when activity  is scheduled in the node with the same start time as the already scheduled activity .In this case the node contains the same partial schedule with another one in which the orders of  and  are substituted.So we can fathom one of these nodes and as a rule, in such cases we fathom new node if  < .

Closing Feasible Nodes and Upper Bound Update.
After each branching process, each newly generated node like  whose related schedule contains the entire project activities is closed.Then the related objective function value of the schedule, say   , is compared with the current upper bound and the upper bound is updated as   if it is more than   .

Node Selection for Branching.
We use depth-first-search method to keep the memory requirements of the algorithm low.According to this method, an open node is selected from the higher level of the branching tree.If a tie happens, three rules are used in respective order until one single node is chosen, including selecting a node with the most scheduled activities, a node with the least associated lower bound, and the node with the least index number.

Fathoming Check.
Fathoming check is performed on each open node  selected for branching.The effectiveness of this test depends on the current value of the upper bound; that is, tighter upper bound values lead to more effectiveness in the test.Since the upper bound may be improved during the algorithm, we delay the fathoming check of each unfathomed node as much as possible.So the check is performed when the node is selected for branching.
Pseudocode of fathoming check of each selected node for branching, showing the main steps of this process, is as follows: ( Firstly, the EST of every scheduled activity is fixed equal to its start time, secondly, a minimum on the EST of each unscheduled activity is determined equal to the earliest time that all renewable resources required by the activity are ready, and thirdly, a minimum on the start time of each unscheduled activity is determined using the two dominance rules that were described in Section 4.6.

Determining the Related Lower Bound of the Node.
A lower bound is determined on the objective function values of all the nodes that may be generated via branching of the selected node .In order to do that, start time of every unscheduled activity is supposed equal to its EST; then the lower bound is specified equal to the objective function value of the resulting schedule.
4.9.3.Determining LST of the Activities.The LST of each scheduled activity is considered equal to its start time and an upper bound on the start time of every unscheduled activity , LST  , is determined using the current upper bound.In order to do that, it is supposed that the related partial schedule of the node  is completed by scheduling the activity  in a period   and every other unscheduled activity in the earliest feasible period considering the precedence relations.Then LST  is specified as the latest possible value for   in a way that the related objective function value of the completed schedule remains less than the current upper bound.
Based on this definition for the LST of an unscheduled activity, we perform the following three main steps to determine the latest start time of every unscheduled activity.In these steps, we note that the LST of an activity cannot be more than its LST in its parent node.We also use some sets of activities that we define as the following.For every renewable resource  in the problem, we define the set of the last project activities requiring the renewable resource k (SLA  ) as the set of activities that require the resource  for execution, but none of their successors requires this resource.Based on this definition, the last period that the resource  is used during the project life cycle equals the last period of execution of the activities of SLA  .
Step 1.For every unscheduled activity  and every renewable resource , we determine the latest period that the activity  may be scheduled in the current partial schedule so that the current tardiness of the resource  does not change.We call this period RLST  and determine it for every resource  and every unscheduled activity  in decreasing order of activities numbers as the following: (i) If  ∈ SLA  , RLST  equals the latest period that the resource  is required in the current partial schedule of the node minus (  + 1).
(ii) If the activity  and none of its successors belong to SLA  , RLST  may be as large as possible.In this case we set RLST  equal to an upper bound for the project makespan of the optimal solution.
(iii) If the activity  does not belong to SLA  , but at least one of its successors does, then RLST  is determined using backward pass based on RLST  of all other activities  > .
Step 2. In this step, we first set the LST of every unscheduled activity equal to its EST.Then we increase its LST one unit iteratively and in each iteration, we determine the related increase in the tardiness cost of the resources.For each value of the LST for each unscheduled activity , the increase in the tardiness of a resource  equals the maximum of zero and LST  -RLST  .So the LST can be increased as much that the total increase in the tardiness cost plus the current lower bound of the node remains less than the current upper bound of the problem.
Step 3. In this step the feasibility of the latest start time of the activities that were determined in the previous step is checked based on the precedence relations.The backward pass is performed and if necessary, the latest start times are lessened and corrected.

Experimental Analysis
In this part we present the results of a comprehensive computational experiment that we conducted regarding the algorithm presented in this paper for the RCPSP-TWRTPC.
The algorithm was coded and executed on C#.NET 2010 platform.In addition, the CPLEX solver version 12.4 was used in the analyses.Experimental tests were performed on a PC with Core 2 Duo 2.53 GHz CPU and 3 GBs RAM.
In the following sections, we first describe the sample problems that we used and then we present and discuss the results categorized in four parts.We used the customized algorithm and also the CPLEX solver to solve each sample problem.A time limit of 10 seconds was imposed on the execution time for solving each instance by the algorithm and by the CPLEX solver, so that the experiments could be completed within a reasonable time.In order to evaluate the effectiveness of the algorithm for solving the RCPSP-TWRTPC, we used two metrics.The first metric is the number of instances solved within 10 seconds and the second metric is the actual execution time for solving every instance that was solved within 10 seconds.

Sample Problems.
As the RCPSP-TWRTPC is an extension of the RCPSP, all parameters that affect the degree of difficulty of an instance of the RCPSP (i.e., the computational requirement of any algorithm for solving the instance) are likely to affect the corresponding degree of difficulty of an instance of the RCPSP-TWRTPC, too.Besides, the additional parameters regarding the renewable resources may affect the degree of difficulty of the RCPSP-TWRTPC instances.We distinguished two parameters in this regard which we describe in the following.The actual effects of these parameters in the degree of difficulty of the instances are experimentally viewed in the computational results in the next sections.
The first parameter is regarding how similar are the amounts of analogous parameters of different renewable resources; more specifically, the less different the ready times, deadlines, and unit penalty costs of different renewable resources, the more the degree of difficulty of the related instance.Roughly deducing, this is mainly because the difference between the objective function values of the various solutions is less remarkable for resources with more similarity, so it will be harder to distinguish the optimality of different alternatives in the middle stages of the solving process of the problem.Similar reasoning is considerable for the other parameter which regards the earliness value of the resources deadlines.Based on this parameter, the earlier the deadlines of the resources are, the more the computations required to solve the instances are.
Based on the aforementioned parameters affecting the degree of difficulty of the instances, we constructed four groups of instances.In order to do that, we generated a set of twenty instances as the base set and included it in every group.In addition, in each group we included several other sets whose instances were the same as the base set but differed in only one parameter affecting the degree of difficulty.These other instances are described in the following sections.
In order to have a full factorial design of the parameters that are related to the RCPSP, we chose sample problems of the base set from the well-known project scheduling library (PSPLIB) [43], but instead of using the RCPSP instances of this library, we used the multimode RCPSP (MRCPSP) instances, because they were generally subjected to less number of activities and renewable resources.We randomly selected twenty instances from the set j30 of the MRCPSP instances of the library and transformed each instance to an instance of the RCPSP-TWRTPC using the following method: (i) In the instances of the set j30, each nondummy activity has three execution modes.To transform each selected instance, one mode was randomly chosen for each activity.Duration and the renewable resource requirement of the activity were set equal to the related amounts for the selected mode.
(ii) We randomly generated the ready time of the renewable resources using the normal distribution.We set the mean and standard deviation of the distribution equal to one-third and one-twelfth of the project critical path length, respectively.
(iii) We randomly generated the deadline of the renewable resources using the normal distribution.We set the mean and standard deviation of the distribution equal to three-fourths and one-fourth of the project critical path length, respectively.
(iv) We randomly generated the unit penalty cost of the renewable resources using the normal distribution.We set both of the mean and variance of the distribution equal to three.

Group I: Instances with Different Number of Activities.
We included instances with different number of activities in the first group.We generated and included three sets in the same way of the generation of the base set, but instead of using the j30 set of the MRCPSP instances of the PSPLIB, we used instances with the same parameters but with 10, 20, and 60 activities.Relating to the instances with 10 and 20 activities, we used the j10 and j20 sets of the MRCPSP instances of the PSPLIB.Since no MRCPSP sample instance with more than 30 activities is available in the PSPLIB, we had to generate the related MRCPSP instances with 60 activities.We used the project generator software Progen to generate these instances.Table 1 shows the number of instances solved to optimality within 10 seconds from each set in groups I, and Figure 1 shows the solving time of each instance by each solver.In this figure, the solving time of the unsolved instances in the time limitation has been shown to be 10 seconds.As the number of activities in the instances increases, according to the table, we can observe that the number of solved instances within 10 seconds decreases and also, according to the figure, the solving time of the instances generally increases.These trends imply a higher degree of difficulty for solving the problem as the number of activities increases, which is of course consistent with expectation.Comparing the results of the branch and bound algorithm with the results of the CPLEX solver in the table shows that they perform almost the same for the instances with 10 and 20 activities, but the branch and bound algorithm works remarkably better than the CPLEX solver for solving the instances with more number of activities.Also according to the figure, we can see that the branch and bound algorithm performs much faster than the CPLEX solver for most instances.

Group II: Instances with Different Number of Renewable
Resources.We included instances with different number of renewable resources in the second group.We generated and included two sets other than the base set in this group.For the instances of the first set, one renewable resource was considered.We generated the instances of this set in the same way as the base set, but in each instance, we randomly removed one of the two renewable resource constraints.In the instances of the second included set other than the base set, four renewable resources were considered.Again we generated the instances of this set in the same way as the base set; however we extended the number of the renewable resource constraints.In order to do that, during the transformation of each selected MRCPSP instance to a RCPSP-TWRTPC instance of this set according to the process which was described in Section 5.1, instead of using the related resource requirement data of the activity under the selected mode, we used the data related to the unselected modes.The data related to each unselected mode were used as the resource requirements of the activity for two of the four resources.Also, the total availabilities of the third and fourth resources were set equal to the total availabilities of the first and second resources, respectively.Table 2 shows the number of instances of each set of group II solved to optimality by the branch and bound algorithm and the CPLEX solver, and Figure 2 shows the solving time of each instance by each solver.In this figure, the solving time of the unsolved instances in the time limitation has been shown to be 10 seconds.As the number of renewable resources in the instances increases, we can observe that, according to the table, the number of problems solved to optimality by both solvers decreases and according to the figure, the solving time of each instance generally increases.These trends clearly show the direct impact of the number of the renewable resources in the computational requirements for solving the problem.Based on the results of the table, the branch and bound algorithm works remarkably better than the CPLEX solver for solving instances of the entire sets and the difference increases as the number of the renewable resources increases.Also, based on the figure, we can see that the branch and bound algorithm works much faster than the CPLEX solver for solving most instances.

Group III:
Instances with Different Levels of Similarity of Renewable Resources Parameters Amounts.We included instances with different levels of similarity of the renewable resources parameters amount in the third group.In order to generate such different instances, we changed the variances of  the three distribution functions used in the generation of the ready time, deadline, and unit penalty cost of the renewable resources.The more the values of the related variances are, the less analogous the resources are expected to be.We generated and included two sets in the same way as the base set in group III, but in the first and second additional sets, we multiplied the base values of the three variances which were considered in the base set by 0.5 and 2, respectively.Table 3 shows the number of instances of each set of group III solved to optimality by the branch and bound algorithm and the CPLEX solver, and Figure 3 shows the solving time of each instance by each solver.In this figure, the solving time of the unsolved instances in the time limitation has been shown to be 10 seconds.As instances with less analogous resources are targeted, we can observe that, based on the table, the number of problems solved to optimality by the CPLEX solver increases and based on the figure, the solving time of instances by both solvers generally decreases.These trends show the impact of the levels of similarity of the renewable resources parameters in the computational requirement for solving the problem.However, the table shows that the amount of changes in the levels considered in different instances here has no remarkable impact on the performance of the branch and bound algorithm.
Comparing the results of the branch and bound algorithm with the results of the CPLEX solver in Table 3 indicates that the branch and bound algorithm works remarkably better than the CPLEX solver for solving instances of the entire sets and the difference increases as the similarity of the renewable resources decreases.Also, based on Figure 3, we can see that the branch and bound algorithm works much faster than the CPLEX solver for solving most instances.

Group IV: Instances with Different Earliness Value of
Renewable Resources Deadlines.We included instances with different earliness value of the renewable resources deadlines in the fourth group.In order to generate such different instances, we changed the mean of the distribution functions of deadline of the renewable resources.We generated and included two sets in the same way as the base set in the group IV, but in the first and second additional sets, we set the mean value of the resources deadlines equal to half and one time of the project critical path length, respectively.
Table 4 shows the number of instances of each set of group IV solved to optimality by the branch and bound algorithm and the CPLEX solver, and Figure 4 shows the solving time of each instance by each solver.In this figure, the solving time of the unsolved instances in the time limitation has been shown to be 10 seconds.As instances with earlier value of the renewable resources deadlines are targeted, we can observe that, based on the table, the number of problems solved to optimality by the CPLEX solver increases and based on the figure, the solving time of instances by both solvers generally decreases.These trends show the impact of this parameter in the computational requirement for solving the problem.However, the table shows that the amount of changes in this parameter has no remarkable impact on the performance of the branch and bound algorithm.
Comparing the results of the branch and bound algorithm with the results of the CPLEX solver in Table 4 indicates that  the branch and bound algorithm works remarkably better than the CPLEX solver for solving instances of the entire sets and the difference increases as the earliness value of the renewable resources deadlines decreases.Also, based on Figure 4, the branch and bound algorithm works much faster than the CPLEX solver for solving most instances.

Conclusions
In this paper we introduced and studied the RCPSP-TWRTPC problem.We customized a fundamental branch and bound method of RCPSP, precedence tree algorithm, for solving the problem.We also introduced several bounding and fathoming rules in the customized method, including the ones extracted from the original methods of RCPSP and used without any change or after customization and the ones designed specifically for the RCPSP-TWRTPC.We performed a comprehensive computational experiment using the customized algorithm and reported the results.We also used the CPLEX solver in the analyses and comparisons.We generated and used different instances with different number of activities, number of renewable resources, level of similarity renewable resources parameters, and earliness value of renewable resources deadlines.Analyses showed that these three parameters affect the computational requirement for solving the problem and also the relative performance of the branch and bound algorithm and the CPLEX solver with respect to each other.The branch and bound algorithm revealed much better performance than the CPLEX solver by solving more instances of each set in the limited time and performing much faster for solving most instances, which implies its high efficiency in solving the RCPSP-TWRTPC problem.
More complicated branch and bound logics such as minimal delaying alternative can be studied in future works.Also, as the problem in question is NP-hard, devising nonexact or bounding methods would benefit handling instances, especially the large-sized ones.the first activity in AL  , because no activity can have earlier start time than this activity in any feasible period and it also has the least index number.According to the structure of the branch and bound algorithm, this activity is scheduled in the first period; that is,  0, = 0.So  0,  cannot be less than  0, .Now we assume that, for every activity  in the position 1, . . .,  − 1 of the activity list AL  ,  , ≤  ,  and we show that  , ≤  ,  .According to the structure of the branch and bound algorithm, activity  is scheduled in the earliest feasible period.As  ,  is a feasible period for scheduling , it is scheduled either in this or in an earlier period, so  , ≤  ,  .

Table 1 :Figure 1 :
Figure 1: Solving time (seconds) of the instances of group I by (a) the CPLEX Solver and (b) the branch and bound algorithm.

Figure 2 :
Figure 2: Solving time (seconds) of the instances of group II by (a) the CPLEX Solver and (b) the branch and bound algorithm.

Figure 3 :
Figure 3: Solving time (seconds) of the instances of the group III by (a) the CPLEX Solver and (b) the branch and bound algorithm.

Figure 4 :
Figure 4: Solving time (seconds) of the instances of the group IV by (a) the CPLEX Solver and (b) the branch and bound algorithm.
Carlier and  Pinson [41]: for two disjunctive activities of  and , if LST  -EST  <   ,  must precede .
(8)Determine EST of the unscheduled activities (2) Determine the related lower bound of the node (3) Fathom the node if the related lower bound of the node is not less than the current upper bound and go to step(8) Having performed the test in the node , if some new relations are introduced between the activities, we made them effective by updating the EST and LST of the activities.Let us suppose that a new relation makes an activity  the immediate predecessor of the activity  in a node .This new relation is made effective in the following way: (i) If the activity  is an unscheduled activity in the node, either the activity  is scheduled or not: (a) If EST  +   > EST  , EST  is updated as EST  +  ii) If the activity  and not the activity  is scheduled: (a) If LST  +   > LST  , LST  is updated as LST  −   and if necessary, LST of every predecessor of the activity  is updated using backward pass.In this case, if LST of the activity  or one of its predecessors turns less than the EST of the related activity, the node is fathomed.
4.9.4.Performing the Interval Based Disjunctive ConsistencyTest.After the determination of the EST and LST of the activities in the node, we perform the interval based disjunctive consistency test for each pair of the disjunctive activities.We note that the possible relations introduced by this test in each node  are only specific to the node  and its further branches.andif necessary, EST of every successor of the activity  is updated using forward pass.(b)IfEST of an activity increases here, the related lower bound of the node should be updated too and if it gets more than the current upper bound of the problem, the node is to be fathomed.(

Table 2 :
Number of instances of each set of group II out of 20 solved to optimality in 10 seconds by the branch and bound algorithm and the CPLEX solver.

Table 3 :
Number of instances of each set of group III out of 20 solved to optimality in 10 seconds by the branch and bound algorithm and the CPLEX solver.

Table 4 :
Number of instances of each set of group IV out of 20 solved to optimality in 10 seconds by the branch and bound algorithm and the CPLEX solver.