# A Priority Rule-Based Heuristic for  Resource Investment Project Scheduling Problem with Discounted Cash Flows and Tardiness Penalties

Authors: Amir Abbas Najafi; Fatemeh Azimi
Journal: Mathematical Problems in Engineering
 (2009)

---

## Abstract

Resource investment problem with discounted cash flows (RIPDCFs) is a class of project scheduling problem. In RIPDCF, the availability levels of the resources are considered decision variables, and the goal is to find a schedule such that the net present value of the project cash flows optimizes. In this paper, we consider a new RIPDCF in which tardiness of project is permitted with defined penalty. We mathematically formulated the problem and developed a heuristic method to solve it. The results of the performance analysis of the proposed method show an effective solution approach to the problem.


---

## Body

## 1. Introduction

Project scheduling is a major objective of most models, and methods propose to aid planning and management of projects. Project scheduling problems are combination of precedence constraints, resource constraints, and some side constraints in which the goal is to find a schedule such that an objective function like project duration, project total costs, or net present value (NPV) optimizes. For a comprehensive survey of project scheduling problems refer to [1–4].Resource investment problem (RIP) is a class of project scheduling problem. RIP is known as the problem of minimizing renewable resource costs subject to a project due date. In RIP, we are concerned about completing a project consisting of a set of activities, such that a given deadline is met in time and a set of resources needed for the execution of the activities over the project is utilized. Since costs incur to provide resources, the goal is to find a schedule and resource requirement levels such that total costs of the resource utilizations minimizes.Möhring [5] introduced the resource investment problem and proved its NP-Hardness. In addition, based on a graph algorithm, he proposed an exact solution method and solved some examples with 16 activities and 4 resources. Demeulemeester [6] developed another exact algorithm called Resource Availability Cost Problem for the RIP. His algorithm relies on the branch and bound method for single mode resource constrained project scheduling problem of Demeulemeester and Herroelen [7]. Drexl and Kimms [8] presented the lower and the upper bounds using Lagrangian relaxation and column generation techniques. Akpan [9] proposed a heuristic procedure to solve RIP. Shadrokh and Kianfar [10] developed a Genetic Algorithm for RIP. The objective is to minimize the sum of resource availability costs and tardiness penalty. As an extension of the RIP, we encounter the RIP/max problem in literature. In this problem the precedence constraints of RIP extend to generalized precedence relations where we need to observe the minimum and the maximum time lags between the activity starting and completion times. In order to solve this problem, Nübel [11] introduced a generalization of RIP/max and developed a depth-first branch-and-bound procedure to solve it.Many of the recent researches in project scheduling focus on maximizing the NPV of the project using the sum of positive and negative discounted cash flows throughout the life cycle of the project. Russell [12] introduced the problem of maximizing NPV in project scheduling problem and proposed a successive approximation approach to solve it. Grinold [13] added a project deadline to the model, formulated the problem as a linear programming problem, and proposed a method to solve it. Doersch and Patterson [14] presented a zero-one integer-programming model for the NPV problem. Their model included a constraint on capital expenditure of the activities in the project, while the available capital increased as progress payments were made. Bey et al. [15] considered the implications of a bonus/penalty structure on optimal project schedules for the NPV problem. Russell [16] considered the resource-constrained NPV maximization problem. He introduced priority rules for selecting activities for resource assignment based upon information derived from the optimal solution to the unconstrained problem. Smith-Daniels and Smith-Daniels [17] extend the Doersch and Patterson [14] Zero-one formulation to accommodate material management costs. Icmeli and Erengus [18] introduced a branch and bound procedure to solve the resource constrained project-scheduling problem with discounted cash flows. Nadjafi and Shadrokh [19] proposed an exact branch and bound procedure for the unconstrained project scheduling problem with the objective of minimizing weighted earliness-tardiness penalty costs. For other related studies in the project NPV maximization, see [20–29].In addition, Najafi and Niaki [30, 31] introduced a new resource investment problem in which the goal was to maximize the discounted cash flows of the project payments and called it resource investment problem with discounted cash flows (RIPDCF). The cash flows may be either the project costs or the payments made for the project during its life cycle. In this regard, they considered both the payments and the employment-releasing times of the resources. They mathematically formulated the problem and showed that it is an NP-hard problem.In [30, 31], the model imposed deadline constraint on the completion time of the project. It means that the activities are to be scheduled such that the makespan of the project does not exceed a given deadline. In many real problems, project can be finished with delay but facing with the delay penalty. In practice, in order to make the project to be finished as soon as possible and to prevent it from being postponed beyond the deadline, setting a penalty mechanism at the deadline of the project is a usual measure taken by the clients. If the project completion is delayed beyond the deadline of the project, the total amount of the payments will be reduced by a certain extent as the penalty. Obviously, in the problem with penalty structure there exist two trade-offs for the contractor. The first one occurs between the expense increment caused by speeding up the progress of the project, and the second one happens between saving the cost by slowing down the progress of the project and receiving the punishment because of postponing the project completion. In other word, the contractor must make trade-off between the performing modes of activities and penalty structure that depends upon the project completion time, and the client has to make decision on how to set the penalty structure effectively and economically.In this paper we consider an RIPDCF in which tardiness is permitted with delay penalty and call it RIPDCFT. The rest of the paper is organized as follows. In Section2, we define the problem precisely. Then in Section 3, we formulate the problem. In Section 4, we propose a heuristic solution to the problem. We report the performance of the proposed method in Section 5, and finally the conclusion comes in Section 6.


## 2. Problem Description

A project is given with a set ofN activities indexed from 1 to N. Activities 1 and N are dummies that represent the start and completion of the project, respectively. The activities executions need K types of renewable resources. There are no resources at the initial of the project available, so it is necessary to provide the required levels of the resources at the activity execution time. In addition, the expulsion time of each resource type must be provided deterministically. Between the providing and the expulsion time of each resource type, availability level of the resource is equal to the provided level of the resource. Zero-lag finish-to-start precedent constraints are imposed on the sequencing of the activities. For each activity i, the precedent activity set is denoted as P(i).  A duration Di is given where activity i is started and it runs Di time without preemption. Activity i uses rik units per period for resource k.  The resource usage over an activity is taken to be uniform.  A cost of Ck is associated to use one unit of resource k per period of time. In addition to resources usage cost, each activity has some other costs such as material or overhead costs. We call these fixed costs. Fixed cost occurs over activity execution, and its amount at period t for activity i is denoted by Fit. Payments are received at payment points g∈G, where G is the set of payment points. Payment g occurs when a set of activities PB(g) ends, and its amount is equal to Mg. A constant cost of CT for each unit of time delay from a due date DD is incurred. Also, α is the discount rate.


## 3. Problem Formulation

According to assumptions and notations introduced in Section2, the problem can be formulated as follows:(3.1)MaxZ=∑g=1GMge-αTg-∑i=1N(∑t=0di-1Fite-αt)e-αSi-∑k=1K∑t=SRkFRk-1CkRke-αt-(CT*Max{0,SN-DD})e-αSN,
or(3.2)MaxZ=∑g=1GMge-αTg-∑i=1N∑t=0di-1Fite-α(t+Si)-∑k=1KCkRk(e-αSRk-e-αFRk1-e-α)-(CT*Max{0,SN-DD})e-αSN.
Subject to(3.3)Si-Sj≥dj,∀j∈P(i)i=1,2,…,N,(3.4)Tg≥Si+di,∀i∈PB(g),g=1,2,…,G,(3.5)SRk≤Si,∀i∈PR(k),k=1,2,…,K,(3.6)FRk≥Si+di,∀i∈UR(k),k=1,2,…,K,(3.7)∑i=1N∑l=t-di+1trikXil≤Rk,k=1,2,…,K,∀t,(3.8)∑t=ESiLSiXit=1,i=1,2,…,N,(3.9)Si=∑∀ttXit,i=1,2,…,N,(3.10)Xit={0,1},i=1,2,…,N,∀t,(3.11)Si≥0,i=1,2,…,N,(3.12)Rk≥0,k=1,2,…,K,(3.13)SRk,FRk≥0,k=1,2,…,K,(3.14)Tg≥0,g=1,2,…,G.
Where, we define the decision variables asSi:
starting time of activityi,i=1,2,…,N,Tg:
occurrence time for paymentg,g=1,2,…,G,Rk:
required level of resourcek to be provided, k=1,2,…,K,SRk:
providing time of resourcek,k=1,2,…,K,FRk:
expulsion time of resourcek,k=1,2,…,K,Xit:
a binary variable where it is one if activityi is started at period t and zero otherwise.In addition,PR(k) is an  activity set that uses resource k and has no precedence, and UR(k) is an activity set that uses resource k and has no successor.The objective function (3.1) maximizes the net present value of the project. It includes positive effects of the present values of the payments, negative effects of the present values of the fixed costs, negative effects of the present values of the costs for providing the resources and negative effects of the present value of the tardiness costs. Equation (3.3) enforces the precedent relations between activities. Equation (3.4) guarantees that payments occur when required activities have been finished. Constraints (3.5) and (3.6) correspond to the providing and the expulsion times of the resources. Equation (3.7) ensures that the provided resource units are sufficient to implement the schedule. Equation (3.8) states that every activity must be started only once. Equation (3.9) states the relationship between variables Sj and variables Xit. Sets of constraints (3.10), (3.11), (3.12), (3.13), and (3.14) denote the domain of the variables.


## 4. A Priority Rule-Based Heuristic

In this section, based on the priority rules of the RIPDCF, we propose a heuristic method to solve the problem. To do this, first we state some definitions that are required in the procedure.Definition 4.1.
Negative cash flow of an activity. It includes discounted cash flow of the resource usage cost and fixed cost at the activity starting time. It can be stated as(4.1)CFi-=-∑t=0di-1Fite-αt-∑k=1K∑t=0di-1rikCke-αt=-∑t=0di-1Fite-αt-∑k=1KrikCk(1-e-αdi1-e-α).Definition 4.2.
Positive cash flow of an activity. If the precedent activity set of payment occurrence contains only one activity, then we set positive cash flow of the activity to be equal to the discounted cash flow of that payment at the activity starting time. In this case, we define the positive cash flow of the activity as(4.2)CFi+=Mge-αdi.
If the precedent activity set of payment occurrence contains more than one activity, then we create a dummy activity and set positive cash flow of the dummy activity to be equal to that payment. In this case, the number of the project activities may increase to M. In the following sections we denote the number of activities by M.Definition 4.3.
Cash flow of an activity. Cash flow of an activity equals to the sum of the negative and the positive cash flows of an activity. In other words, we have(4.3)CFi=CFi-+CFi+.Definition 4.4.
The amount of nonusage resource at a period. With (3.7) modified, the amount of nonusage resource k at a period t,Wkt, can be obtained by
(4.4)∑i=1M∑l=t-di+1trikxil+Wkt=Rk.
Where,
(4.5)Wkt≥0,k=1,2,…,K,∀t.
Now, we simplify the problem formulation in the following form:
(4.6)MaxZ=∑i=1MCFie-αSi-∑k=1K∑t=SRkFRk-1CkWkte-αt-(CT*Max{0,SM-DD})e-αSM.
Subject to (3.3), (3.5), (3.6), (4.4), (4.5), (3.8), (3.9), (3.10), (3.11), (3.12), and (3.13).In order to develop the solution procedure, we use the structure of the objective function given in (4.6). The double structure includes positive roles of the activities cash flows, (∑i=1MCFie-αSi), and the negative roles of the nonusage resource costs, (∑k=1K∑t=SRkFRk-1CkWkte-αt) and the tardiness cost ((CT*Max{0,SM-DD})e-αSM).Now we are ready to describe the executive steps of the proposed algorithm as follows:Step 1.
Let problemP be the RIPDCFT that we are interested to solve, and let Psub be a problem obtained by removing resources of the P problem. The Psub problem can be reached from the P problem by removing the resource constraints and negative roles of nonusage resource costs and the tardiness cost in the objective function. In addition, we add constraint (4.7) to the Psub problem. It imposed deadline constraint on the project completion time in this step:
(4.7)SM≤DD.
The Psub problem can be described as follows:
(4.8)MaxZsub=∑i=1MCFie-αSi.
Subject to (3.3), (3.11), and (4.7).
ThePsub problem is a project scheduling problem with discounted cash flows and can be solved exactly [12]. Call the acquired problem as Active Problem, solve it by related methods, and obtain the optimum value of its objective function. Call the optimum solution as active scheduling. Now, enter the resources at active scheduling and determine the maximum of usage level for each type of resources. If we set the required level of each provided resource equal to the maximum of usage level of the resources, then the active scheduling is a feasible solution for the P problem and you can obtain the providing and expulsion time of each resource and obtain the discounted nonusage cost of each resource from the following equation:
(4.9)Uk=∑t=SRkFRk-1CkWkte-αt.
Now, calculate the objective function value of the master problem at this solution by the following expression and call it the active objective function value:
(4.10)Z=ZSub-∑k=1KUk.Step 2.
Eliminate constraint (4.7) from the activeproblem.Step 3.
Add all resources in a set, named resource candidate list.Step 4.
From the list of resource candidates, select the resource with the highest discounted cost of nonusage(Uk). If the providing level of the selected resource has not reached its lower bound, decrease its value by one unit, solve the active problem by adding the resource constraint with the acquired value, and determine the optimum value of the objective function [23]. In order to increase the value of the objective function defined for RIPDCFT problem it may be beneficial to shift certain activities. Activities shifting procedure attempts to shift the position of the activities whenever precedence and resource constraints allow, and it results in increasing the NPV of the project [31]. In the acquired solution, consider the maximum of the usage level of each resource as providing level. Then calculate the discounted nonusage cost for each type of resource by (4.9). In addition, determine the project completion time (SM) for this solution and obtain the tardiness cost from the following equation:
(4.11)V=(CT*Max{0,SM-DD})e-αSM.
Now, determine the objective function value of the P problem by following equation:
(4.12)Z=ZSub-∑k=1KUk-V.
Call it the temporary objective function value. However, if the providing resource value reached its lower bound, go to step six. You can obtain the lower bound of the resource using the following expression:
(4.13)Rk=Max{∑i=1M(rik×di)DD,Maxi=1,…,M{rik}}.Step 5.
If the temporary objective function value is more than the active objective function value add the selected constraint to the active problem. Then, consider the acquired problem, related scheduling, and the temporary objective function value as an active problem and go to step four. Otherwise, do not add the selected resource constraint to the active problem.Step 6.
Eliminate the selected resource from the resource candidate list and go to step seven.Step 7.
If the resource candidate list is empty, stop. The active schedule is the solution of the proposed algorithm. Otherwise, go to step four.


## 5. Performance Evaluation

In this section, we present the performance of the proposed procedure introduced in the previous sections. For the purpose of this section we needed a set of solved problems. Since the RIPDCFT is a newly defined problem, no standard test problems could be found to examine the performance of the proposed procedure. Therefore, we are forced to use the RIPDCF test problems, suggested by Najafi and Niaki [31]. In order to generate the tardiness cost value, we randomly generate it from a uniform distribution. We consider 45 instances with 10, 20, and 30 activities with 3, 4, and 5 resources for the experiments. We coded a computer program of the procedure, and then we employed the program on the test problems. To evaluate the performance of the procedure we needed some good solutions. Since there was no other existing procedure to solve the problem, we solved the mathematical modeling of the test problems by solver software such as LINGO [32]. However due to the nature of the problem, LINGO was unable to obtain a global optimal solution for all the test problems. In these cases, we assumed that the solution obtained by LINGO was a good one to compare. We perform the experiments on a PC with 2.1 GHz processor and 2046 MB RAM, limiting the solution time to be less than or equal to 3600 CPU seconds.Table1 shows the computational results of the proposed method in which column A denotes the number of instances; LINGO was able to find a local optimal solution in 3600 CPU seconds.Table 1
Computational results.
No. of ActivitiesNo. of InstancesAAvg. of dev%Avg. ofAvg. ofLINGO CPU time (Sec.)the proposed method CPU time (Sec.)101510−1.9%388120157−2.3%1253230154−2.8%24074The results of experiments showed that (a) there are many instances that the solver software is unable to solve in 3600 seconds, but there is a solution by the proposed method, (b) for problems in which LINGO was able to find a solution, there is no significant difference between the solutions obtained by LINGO and the ones obtained by the proposed method and (c) while actually there is no difference between the solutions obtained by LINGO and the proposed method, the amount of CPU time for the proposed method is much less than that of those obtained by LINGO.


## 6. Conclusions

In this paper, we introduced a new resource investment problem with discounted cash flows in which tardiness is permitted with penalty. We mathematically formulated the problem. In order to solve the problem we came up with a heuristic approach and through some generated test problems, we showed that it works relatively well.The extension of this research would be to investigate an RIP/max problem in which the goal is to maximize the NPV of the project and tardiness is permitted with penalty, too. One of the other potential interests would be to develop some metaheuristics methods, such as genetic algorithm, simulated annealing, neural networks, ant colony algorithm, and so forth, to solve the problem.



---

*Source: 106425-2009-07-19.xml*