Resource Constrained Project Scheduling Subject to Due Dates : Preemption Permitted with Penalty

Extensive research works have been carried out in resource constrained project scheduling problem. However, scarce researches have studied the problems in which a setup cost must be incurred if activities are preempted. In this research, we investigate the resource constrained project scheduling problem tominimize the total project cost, considering earliness-tardiness and preemption penalties. A mixed integer programming formulation is proposed for the problem.The resulting problem is NP-hard. So, we try to obtain a satisfying solution using simulated annealing (SA) algorithm. The efficiency of the proposed algorithm is tested based on 150 randomly produced examples. Statistical comparison in terms of the computational times and objective function indicates that the proposed algorithm is efficient and effective.


Introduction
Preemptive project scheduling problems are those in which the accomplishing of an activity is temporarily preempted and restarted afterwards.In the previous literature on preemptive project scheduling, preempted activities simply are resumed from the moment at which preemption occurred without any cost.However, this situation is not always true in reality.It is probable that, in some situations, a certain setup or delay cost should be considered.
The literature on solution approaches for the preemptive resource constrained project scheduling problem with weighted earliness-tardiness and preemption penalties (PRCPSP-WETPP) is scant.Of course, several papers have been devoted to machine scheduling considering preemption costs.Potts and van Wassenhove [1] integrated preemptive scheduling with batching and lot-sizing model.Monma and Potts [2] and Chen [3] suggested the heuristics for parallel machine scheduling problem subject to preemption and batch setup times.Zdrzalka [4], Schuurman and Woeginger [5], and Liu and Cheng [6] studied preemptive scheduling with job release dates and job-dependent setup times.Julien et al. [7] proposed generalized preemption models for single-machine dynamic scheduling problems.Rebai et al. [8] developed some metaheuristics and exact methods for minimization of earliness-tardiness penalties on a single machine to schedule preventive maintenance tasks.They used linear programming and branch and bound to obtain exact solutions.Also, they developed a local search approach as well as a genetic algorithm as metaheuristics for solving hard scheduling problems.
Vanhoucke [9] and Vanhoucke et al. [10] have proposed an exact method for the weighted earliness-tardiness project scheduling problem (WETPSP) in which activities are nonpreemptive.Also, resources are assumed unbounded.The algorithm has two steps: first, it schedules the activities at their due date or later if forced so by precedence constraints.Then, a recursive procedure computes the optimal displacement for those activities that their left shift is beneficial.Vanhoucke et al. [11] developed a branch and bound (B&B) procedure to solve the WETPSP for maximizing the net present value (NPV) of a project subject to progress payments.Net present value (NPV) is the difference between the present value of cash inflows and the present value of cash outflows.NPV is a standard method for using the time value of money which is used in capital budgeting to analyze 2 Advances in Operations Research the profitability of an investment or project.Vanhoucke et al. [11] have applied the logic of their recursive algorithm in the proposed B&B.Their branching strategy resolves resource conflicts through the addition of extra precedence relations based on the concept of minimal delaying alternatives.Afshar-Nadjafi and Shadrokh proposed a B&B procedure to solve the WETPSP with generalized precedence relations (GPRs) [12].Their branching strategy resolves time infeasibility using the concepts of left shift and right shift with two fathoming rules.Ranjbar et al. [13] developed an exact method for minimizing weighted resource tardiness costs in the RCPSP.In their B&B algorithm, the branching strategy starts from a graph representing a set of conjunctions (the classical finish-start precedence constraints) and disjunctions (introduced by the resource constraints).In the B&B tree, each node is branched to two child nodes based on the two opposite directions of each undirected arc of disjunctions.Selection sequence of undirected arcs in the search tree affects the performance of the algorithm.Khoshjahan et al. [14] proposed two metaheuristics, genetic algorithm (GA), and simulated annealing (SA) to solve the RCPSP with a due date for each activity where the objective is to minimize the net present value of the earliness-tardiness penalty costs.
Kaplan [15] initially studied the preemptive RCPSP (PRCPSP) in which activities can be preempted at integer time instants and be restarted later at no additional cost.She solved PRCPSP by a reaching procedure, incorporating dominance properties and upper-lower bounds on the optimal project duration in order to decrease the amount of computational effort.Demeulemeester and Herroelen [16] developed a branch and bound algorithm for the PRCPSP.In their B&B, all activities with nonzero durations are split into subactivities, with duration of 1 and resource requirements that are equal to those of the corresponding activity.The nodes in the B&B tree correspond with partial schedules in which finish times have been assigned to a number of subactivities.Partial schedules are built up starting at time 0 and proceed systematically throughout the search process by adding at each decision point subsets of activities until a complete precedence and resource feasible schedule is obtained.Recently, Afshar-Nadjafi [17] developed a simulated annealing procedure to solve the preemptive multimode resource constrained project scheduling problem (P-MRCPSP) to minimize the project make-span subject to mode changeability after preemption.
In this work the link between PRCPSP and WETPSP is investigated.Therefore, the contribution of this paper is threefold: first, a mixed integer programming formulation is developed for the resource constrained project scheduling problem of minimizing the total earliness-tardiness penalties and preemption costs.In this problem setting, when an activity is restarted after being interrupted, a constant setup penalty is incurred with no setup time.We call this problem PRCPSP-WETPP.This model is not considered in the past literature.Second, due to NP-hardness of the problem an efficient metaheuristic solution procedure based on SA is suggested for it.In contrast to classic SA, a relatively new intelligent neighborhood search algorithm is used in this research.Finally, the efficiency of the proposed method for the PRCPSP-WETPP is evaluated statistically.
The remainder of the paper is organized as follows.Section 2 explains the resource constrained project scheduling problem of minimizing the total earliness-tardiness penalties and preemption costs (PRCPSP-WETPP).Section 3 describes the basics of simulated annealing (SA).In Section 4 the steps of proposed algorithm to solve the PRCPSP-WETPP are presented.Computational results are explained in Section 5. Finally, Section 6 concludes the paper.

Problem Description
The majority of previous research on project scheduling problems has investigated the problems without preemption.Although in some settings preemption is not practical, a modest degree of preemption can be accommodated in other instances.Preemption may be beneficial or harmful for the objective function.It is a well-known result in single machine scheduling theory that activity preemption may be harmful for the flow time of jobs.Whereas it is proven that preemption can reduce the make-span of a schedule in RCPSP [15], such time saving might incur a cost for making the preemptions in practice.In this paper, we assume that the preemption's penalty is constant and independent of the remaining duration of the preempted activity.Scheduling of uniprocessors can be considered as an industrial case of such a problem.Although some of these systems cannot be scheduled as a nonpreemptive scheduling problem, preemptive uniprocessor scheduling is able to successfully schedule them.In choosing between preemptive and nonpreemptive scheduling of uniprocessors, feasibility and task's due dates are essential.These schemes permit preemption where necessary for feasibility and cost reduction but attempt to avoid unnecessary preemptions during run time.
As a rule, a preemptive problem is characterized by a complicated structure of its optimal solutions.When preemption is allowed at arbitrary times, the problem turns out to be intractable [18].Indeed, when the overall number of preemptions is unlimited, we cannot utilize exact enumerative algorithms, unless a preliminary analysis of properties of optimal solutions is performed.Such analysis reduces the original infinite set of possible points for preemption to a finite set.This analysis is performed for some scheduling problems which allow us to solve these problems by direct enumeration.Baptiste et al. [19,20] prove that a wide class of preemptive scheduling models including both machine and project scheduling models has the "integer preemption property." Based on this property, for any problem instance with integral input data there exists an optimal schedule where all starting/completion times and preemptions occur at integer time points.This conclusion is held for some objective functions such as total weighted earliness-tardiness and total weighted number of late jobs.
A nonregular objective function, which is attractive in just-in-time (JIT) environments, is the minimization of the earliness-tardiness (/) costs of the project activities.Traditionally, tardiness penalties due to delivery after a contractually arranged due date are considered.Tardiness leads to customer complaints, loss of reputation and profits, monetary penalties, or goodwill damages.Costs of earliness include extra storage requirements, idle times, implicitly incur opportunity costs, storage costs due to insurance, theft, perishing, and bounded capital for the case when an activity is completed before the due date.Therefore, the minimization of the earliness-tardiness (/) costs is attractive in order to meet the requests of practice.In this situation, each activity has a due date with associated earliness and tardiness cost.The complexity and usefulness of preemption in / models depend to a large extent on the type of preemption allowed and the penalty scheme applied to the different segments of each activity.In this study, based on important consequence of integer preemption property, it is assumed that accomplishing an activity can be interrupted at integer time instants and restarted at a later integer time.
In the literature of machine scheduling, different penalty schemes are studied.For example, Bülbül et al. considered only the last portion of a job may incur a penalty in a preemptive / scheduling problem and compared the results with other schemes [18].We also note that such results can be used in machine environment applications, due to the nature of the manufacturing process, by simply dividing customer orders into smaller processing batches.However, they always cannot be used in project scheduling environment.In our study the penalty schemes are considered the same as the project scheduling literature [10].Earliness and tardiness penalties for each activity are assumed to be a linear function of amount of its earliness/tardiness.

Mathematical Model.
The deterministic preemptive resource constrained project scheduling problem with weighted earliness-tardiness and preemption penalties (PRCPSP-WETPP) involves the determination of start/finish times of project activities for the minimization of the total earliness-tardiness and preemption penalties of the project subject to resource and precedence constraints.Subsequently, consider a project presented in an activity on node (AON) graph  = {, }, where  denotes the set of nodes (activities) and  denotes the set of arcs (finish-start precedence relations with zero time lags).The activities are preemptable.Assume that the activities are topologically numbered from the start dummy activity 0 to the end dummy activity  + 1; that is, each predecessor of an activity has a smaller number than itself.The deterministic duration of an activity  is denoted by   (1 ≤  ≤ ), while ℎ  denotes its deterministic due date.
The objective of the PRCPSP-WETPP is to schedule a number of activities, for minimization of the total costs of the project considering finish to start precedence relations with a time lag of zero, constrained resources, and a predetermined deadline.We use the following symbols for PRCPSP-WETPP: In our formulation, 0-1 variables   are defined, which specify whether th unit of duration of an activity  finishes at time  or not.Indeed, for every unit  of duration of activity  and for every feasible completion time  ∈ [EST  + , LFT  − (  − )],   is defined as follows: = 1, if th unit of duration of activity  finishes at time ,   = 0, otherwise. ( Also, 0-1 variables   are defined, which specify whether th unit of duration of an activity  is preempted at time  or not.More specifically, for every unit  of duration of activity  and for every feasible completion time  ∈ [EST  +, LFT  −(  −)],   is defined as follows: The variables   and   can only be defined over the time interval of the activity in question.These bounds are calculated using the traditional forward and backward calculations.The backward calculation is started from a fixed project deadline .
Introducing the binary decision variables   and   , as well as the integer variables   and   , preemptive resource constrained project scheduling problem with weighted earliness-tardiness and preemption penalties (PRCPSP-WETPP) under the minimum total early-tardy and preemption costs objective can be mathematically formulated as follows: ,   ∈ int, for  = 1, . . ., .
The objective in (3) is minimization of the total cost of the project.Equations ( 4) and ( 5) compute the earliness and tardiness of each activity.The constraint set given in (6) preserves the finish-start precedence constraints.In (7) it is specified that the finish time for each unit of duration of an activity has to be at least one time unit later than the finish time for the previous one.Equation (8) specifies that only one finish time is permitted for every unit of duration of an activity.Equation (9) guarantees that, if two successive units of duration of an activity  (i.e., units  and  + 1) are interrupted at time , the corresponding decision variable   must set to 1.The resource constraints are specified in (10).In (11) and (12) it is specified that the decision variables   and   are binary, while   and   are integers.This formulation requires the definition of at most 2 ∑  =1   binary variables and of 2 integer variables.Also, the number of constraints of the formulation amounts to at most 2 + ( − 1)/2 + (2 + ) ∑  =1   + .

Numerical Example.
In this section, a problem instance adapted from the Patterson set [21] is used to illustrate the proposed method.The corresponding AON network is given in Figure 1.There are 7 actual and 2 dummy activities in this problem instance.One renewable resource type with availability of 5 is assumed.The numbers above the nodes denote the activities duration.Also, the three numbers below the nodes denote the due dates, the unit early-tardy costs, and the resource requirements, respectively.For the ease of representation, it is assumed that the unit earliness-tardiness costs are equal.Also, we assume the preemption penalty for all activities is equal to 1.The nonpreemptive optimal schedule for this example is shown in Figure 2 with a cost of 27.Using the LINGO version 11, based on branch and bound method, we obtained the optimal schedule of Figure 3 with a cost of 23.It is clear that one preemption for activity 1 leads to a schedule with lower cost.Although preemption has a cost of 1, it can be justified by a corresponding decrease in the tardiness penalty of activity 7 which equals 5.

NP-Hardness of the Problem.
3-PARTITION is the first problem in the theory of graphs that was proven to be NPhard in the strong sense.In the paper by Blazewicz et al. [22], it is shown that 3-PARTITION is reducible to machine scheduling problem in which jobs with a unit processing time have to be scheduled on two parallel identical machines, where the precedence relations between the jobs are chainlike and where the jobs possibly require one unit of a single renewable resource type with an availability of one.This transformation proves that this machine scheduling problem is NP-hard in the strong sense.Also, Blazewicz et al. [22] showed that this machine scheduling problem can be transformed into an RCPSP and that any optimal solution to one problem can be transformed into an optimal solution to the other problem.As a result, NP-hardness of the RCPSP is clearly proved.However, preemptive RCPSP can be considered as an RCPSP in which each activity with duration of   is replaced by   activities with duration of 1.Therefore, NP-hardness of the PRCPSP is clearly proved.

Basic Simulated Annealing (SA)
Simulated annealing (SA) is a metaheuristic method that is initially presented as a search algorithm for optimization by Kirkpatrick et al. [23].SA has been applied to several combinatorial optimization problems, including project scheduling problems [24][25][26][27][28][29].SA starts by generating an initial solution and by setting the initial temperature parameter .Then, at each repetition, a solution   is created randomly in the vicinity of the current solution .If   overrides the current solution ,  is replaced with   ; else  is replaced with   according to a probability computed from the Boltzmann distribution exp(−((  ) − ())/), where  is the current temperature and (  ) − () is the difference between the objective function values of  and   .It is clear that the probability of accepting uphill moves is a function of the temperature  and the difference of the objective function values (  ) − ().At the beginning of the search process the probability of accepting worse solutions is high and it allows the exploration of the search space (random walk).During the search process this probability gradually decreases by decreasing the temperature  thus leading the search to converge to a local minimum (iterative improvement).Also, at fixed temperature, the higher the value of (  ) − (), the lower the acceptance probability of   .The basic structure of SA is given in Algorithm 1, where  = the current solution,   = the neighbor solution, () = objective value at the solution ,  0 = the initial temperature,  = the current temperature.
Choosing an appropriate cooling scheme is vital for the performance of the SA.Geometric law  +1 =   is one of the most used schemes where  ∈ (0, 1).The cooling scheme can vary during the process, with the aim of balancing between diversification and intensification.For example, at the beginning of the process,  might be linearly decreasing in order to explore the search space; then, the temperature decreasing scheme may vary to the geometric in order to converge to a local minimum.The cooling scheme and the initial temperature should be tuned according to the structure of the search landscape.
The description of SA reveals that a basic SA is generally very fast.Also, it does not use the history of the search process.This is one of the reasons why SA often outperforms the other search techniques.However, due to its simplicity, SA can be integrated into other metaheuristics successfully.

Applying SA Algorithm to PRCPSP-WETPP
In this paper, a SA algorithm is designed to solve the abovementioned problem.In this regard, the steps of the proposed algorithm are briefly looked into.In the sequel it is assumed that each original activity  is replaced with   activity with unit duration.Each duration unit  = 1, . . .,   of an activity  is predecessor of duration unit ( − 1).Consequently, project network has  = ∑  =1   activity with duration 1 and resource requirement   for resource type .Only duration unit  th  has fixed due date ℎ  .Also, without loss of generality it is assumed that, for duration units  = 1, . . ., (  − 1) of an activity , due dates are 0 with no earliness-tardiness penalty.

Solution Representation.
In this paper, the activity-list (AL) is used to present a solution and a modified version of serial schedule generation scheme (SSGS) for translating a solution to a feasible schedule.The total cost criterion is a nonregular measure, that is, a measure which is not nondecreasing in activity finish time; so there is the danger of omitting optimal schedule by using the classic serial schedule generation scheme here.As a result, we apply a modified version of SSGS as follows.
The solution is represented by a vector with  = ∑  =1   elements.The elements make the AL, in which each activity  has to occur before all its successors and after all its predecessors.At each stage, starting from the partial schedule assembled thus far, we select first unscheduled activity from activity list.If the selected activity is duration unit  th  of an activity , it is inserted to partial schedule with scheduling to finish at its due date ℎ  or later if forced so by precedence or resource constraints; else, it is inserted to partial schedule with scheduling to finish at earliest possible time according to precedence relation and resources availabilities.This procedure continues until a complete schedule is reached.

Starting Solution.
A starting solution is created randomly by setting all activities on the AL without violating the resource and precedence constraints.The starting solution is generated as follows.First, an empty  = ∑  =1   element vector is generated.To construct this vector an activity is selected randomly from set of activities that all their precedence is already met and is not selected before.This process is repeated until the AL is completed.

Neighborhood Search
Procedure.An intelligent neighborhood of current solution is generated in the following procedure.A tardy list TL, is calculated which is defined as a set of activities that are scheduled to finish at later than due date forced by precedence or resource constraints.Tardy list (TL) contains the activities (with unit duration) that have tardiness with positive tardiness cost.One activity  is randomly chosen from tardy list (TL) with finish time   .Then, a random time instant  between max(EFT  , ℎ  ) and (  − 1) is selected.Subsequently, an activity  is randomly chosen from activities with finish time   =  such that activity  is not predecessor of activity .Finally a pairwise interchange operator is applied which is defined as the interchange of the activities  and  by assigning new finish times    =   and    =   .Activity  is scheduled to finish at time instant  and all activities between activity  and activity  are shifted to the left or right so that the precedence and resource constraints may not be violated.

Cooling Scheme.
The initial temperature ( 0 ) of the simulated annealing algorithm is the vital factor that needs to be considered.The starting temperature is set at a large value and then reduced after each neighborhood generation, according to the cooling scheme function until it reaches the thermal equilibrium.In this paper the cooling schedule suggested by Lundy and Mees is used as follows [30]: where  is selected near to zero.

Stopping Criterion.
In theory the SA procedure should be continued until the final temperature   is zero, but in practice other stopping criteria are applied: (i) the value of the objective function has not decreased for a large number of consecutive trials; (ii) the number of accepted moves has become less than a certain small threshold for a large number of consecutive trials; (iii) a fixed priori number of trials have been executed; (iv) a maximal run time limit has been reached.
In the first two cases, the SA algorithm has a nondeterministic run time, whereas the last two cases are the cases of algorithms with a deterministic run time.In this paper, the last case is applied which is used in the literature in order to make a fair comparison between algorithms [29,31].

The Test Problems.
In order to evaluate the performance of the proposed SA for the PRCPSP-WETPP, a set of 150 instances are generated by the ProGen introduced by Kolisch et al. [32].The parameter settings of generated problems are given in Table 1.
Resource availability is assumed constant over time.For each number of activities 30 problems are generated.The resource factor (RF) reflects the average portion of resource demand per activity.The resource strength RS reflects the scarcity of the renewable resource.The unit earliness-tardiness penalty costs for each activity are generated randomly between 1 and 10.To generate the due dates of activities the method described by Vanhoucke et al. [10]  is used.First, a maximum due date was calculated for each project by multiplying the project critical path length by 1.5.Then, random numbers between 1 and maximum due date are generated.Finally, the generated numbers are sorted increasingly and assigned to the activities 1, 2, . . ., , respectively.

Parameters
Setting.The efficiency of metaheuristics depends excessively on their parameters values.In this paper, SA control parameter values are selected through the computational experiments.The CPU-time limit is applied as stopping condition.It is observed that good results are obtained by indexing the CPU-time limit to the size of the problem, that is, use of the low CPU time for small size problems and the high CPU time for large scale ones.Consequently, after some experiments, the CPU-time limit was fixed to 50 milliseconds per activity.The experiments showed that the best value for SA temperature control parameter  and initial temperature  0 is as in Table 2.

Experimental Results.
The proposed SA was coded in Borland C++ 5.02 and executed on a personal computer with an Intel Core 2 Dou, 2.5 GHz processor, and 3 GB memory.Since we could not find any algorithm for PRCPSP-WETPP, the proposed SA is compared with the optimal solution obtained by LINGO 11.The comparison results of the proposed algorithm with the optimal solution obtained by LINGO 11 (or the best obtained solution by the SA if LINGO is not able to solve the problem) are given in Table 3.Since metaheuristic algorithms are stochastic optimizers, they can provide different results for the same problem instance from one run to another.For this reason, robustness of algorithm should be analyzed based on some independent simulation runs for each problem instance.Statistically, the larger number of runs more reliably reflects the behavior of algorithm results.On the other hand, the larger number of runs increases the computational time.Frequently the used number of runs is about 5 and 10 in the literature [33,34].In this paper, proposed algorithm is executed 10 Relative deviation (RD) is defined as follows: where  is the value of objective function obtained by SA and  * is the optimal objective function obtained by LINGO or the best one by the SA.Table 3 reveals that all 60 problems with less than or equal to 30 activities have been able to solve by LINGO within the allowed CPU-time limit.Also, for problems with more than 30 activities, there are many instances that the LINGO is unable to solve, though there is a solution by the proposed SA.It can be observed that LINGO obtained optimum solutions for 79 out of 150 problems in 1000 seconds while the SA algorithm solved all 150 problems in a very shorter time and with low relative deviation.Average CPU time for LINGO indicates that by increasing the number of resource types the complexity of problem is increased.Also, ARD for the algorithm shows that proposed algorithm gives robust solutions.NPM for the proposed SA indicates that too many executions reach the optimal solution.

Managerial Insights.
In this section we evaluate the effect of preemption penalty and resources availability on optimal schedule.To this end, we resolve 60 problems with 20 and 30 nondummy activities for which LINGO was able to solve optimally.We extend the parameter settings, considering two levels for resources availability (constant and variable) and three levels for preemptions cost (low, medium, and high).The previously generated preemption penalties,   , are applied as a medium level.The low and high levels of the preemption penalties are randomly generated between [1,   ] and [  , 10], respectively.We assign and solve 5 problems for each combination of the parameters.The overall number of preemptions (NOPR) and the average value of objective function () are reported in Table 4.It is apparent from Table 4 that the number of preemptions is decreased when the preemption cost increases.It is because the high values of preemption penalties cannot be justified by a corresponding decrease in the earlinesstardiness penalties.However, Table 4 shows that the objective function value is an increasing function of the preemption penalty.Also, the number of preemptions in variable resource availability is slightly less than the constant case.Table 4 also reveals that the effect of resource availability type on the objective function value is not monotonously increasing or decreasing.

Summary and Conclusions
In this paper, the preemptive resource constrained project scheduling problem with weighted earliness-tardiness and preemption penalties (PRCPSP-WETPP) is considered.The objective of this problem is to minimize the total cost of earliness-tardiness and preemption penalties subject to the precedence relations, resource constraints, and a fixed project deadline.This problem has not been studied ever before.The problem formulated as an integer programming model, and then a simulated annealing (SA) procedure proposed to solve it.To improve the efficiency of the proposed SA, the parameters were fine-tuned.In order to generalize the statistical results, a set of 150 test problems that include problems with 20, 30, 40, 60, and 90 nondummy activities with 1, 2, and 3 resource types are generated using the ProGen software package.The efficiency of the proposed algorithm on 150 test problems was evaluated with the results of the LINGO 11.From the computation results, we could clearly see that the SA algorithm could efficiently give robust solutions for the project scheduling problem measured by the ARD.However, results displayed that the average CPU time is an increasing function of the number of activities.Also, the number of resource types has a weak negative impact on the problem complexity, measured by the required CPU time.Also, the effect of preemption penalty and resource availability type is analyzed based on 60 test problems.It reveals that increasing cost of preemptions leads to preemptions being less attractive.This research helps managers to schedule their projects in order to minimize total project costs in just-in-time (JIT) environments when preemption is permitted with penalty.Extensions of this research might be of interest, such as studying the preemptive project scheduling combined with generalized precedence relation or multimode case.
: number of nondummy activities, : set of arcs of acyclic digraph representing the project, : set of nodes of acyclic digraph representing the project,   : duration of activity , ℎ  : due date of activity , EST  : earliest start time of activity , EFT  : earliest finish time of activity , LFT  : latest finish time of activity ,   : availability of the th resource,   : resource usage of activity  for resource , : deadline of the project, : objective function,   : each preemption penalty of activity , V  : earliness cost of activity  per unit time,   : tardiness cost of activity  per unit time,   : earliness of activity  (integer decision variable),   : tardiness of activity  (integer decision variable).

= 1 (Figure 1 :Figure 2 :Figure 3 :
Figure 1: Problem instance for the PRCPSP-WETPP. ← Generate initial solution ()  ←  0 While stopping criteria not met do   ← Pick a solution in the vicinity of  randomly If   is better than  then   replaces  Else Accept   as new solution with probability exp(−((  ) − ())/)

Table 1 :
The parameters for the generated problem set.

Table 2 :
The tuned values for  and  0 .

Table 3 :
Computational results of the LINGO and SA.

Table 4 :
The effect of preemption cost and resource availability type.