MPEMathematical Problems in Engineering1563-51471024-123XHindawi Publishing Corporation10642510.1155/2009/106425106425Research ArticleA Priority Rule-Based Heuristic for Resource Investment Project Scheduling Problem with Discounted Cash Flows and Tardiness PenaltiesNajafiAmir Abbas1AzimiFatemeh2HongWei-Chiang1Department of Industrial EngineeringQazvin Islamic Azad UniversityNokhbegan Avenue, 34185-1416 QazvinIranqazviniau.ac.ir2Department of MathematicsQazvin Islamic Azad UniversityNokhbegan Avenue, 34185-1416 QazvinIranqazviniau.ac.ir20091907200920090411200815042009110520092009Copyright © 2009This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

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.

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 .

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  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  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 . Drexl and Kimms  presented the lower and the upper bounds using Lagrangian relaxation and column generation techniques. Akpan  proposed a heuristic procedure to solve RIP. Shadrokh and Kianfar  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  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  introduced the problem of maximizing NPV in project scheduling problem and proposed a successive approximation approach to solve it. Grinold  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  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.  considered the implications of a bonus/penalty structure on optimal project schedules for the NPV problem. Russell  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  extend the Doersch and Patterson  Zero-one formulation to accommodate material management costs. Icmeli and Erengus  introduced a branch and bound procedure to solve the resource constrained project-scheduling problem with discounted cash flows. Nadjafi and Shadrokh  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 .

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 Section 2, 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 of N 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 gG, 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 Section 2, the problem can be formulated as follows:

Max  Z=g=1GMge-αTg-i=1N(t=0di-1Fite-αt)e-αSi-k=1Kt=SRkFRk-1CkRke-αt-(CT*Max{0,SN-DD})e-αSN, or

Max  Z=g=1GMge-αTg-i=1Nt=0di-1Fite-α(t+Si)-k=1KCkRk(e-αSRk-e-αFRk1-e-α)-(CT*Max{0,SN-DD})e-αSN. Subject to

Si-Sjdj,jP(i)  i=1,2,,N,TgSi+di,iPB(g),  g=1,2,,G,SR  k  Si,iPR(k),  k=1,2,,K,FRkSi+di,iUR(k),  k=1,2,,K,i=1Nl=t-di+1trikXilRk,k=1,2,,K,t,t=ESiLSiXit=1,i=1,2,,N,Si=ttXit,i=1,2,,N,Xit={0,1},i=1,2,,N,t,Si0,i=1,2,,N,Rk0,k=1,2,,K,SRk,FRk0,k=1,2,,K,Tg0,g=1,2,,G. Where, we define the decision variables as

starting time of activity i,  i=1,2,,N,

occurrence time for payment g,  g=1,2,,G,

required level of resource k to be provided, k=1,2,,K,

providing time of resource k,  k=1,2,,K,

expulsion time of resource k,  k=1,2,,K,

a binary variable where it is one if activity i 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 CFi-=-t=0di-1Fite-αt-k=1Kt=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 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 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 i=1Ml=t-di+1trikxil+Wkt=Rk. Where, Wkt0,k=1,2,,K,  t. Now, we simplify the problem formulation in the following form: Max  Z=i=1MCFie-αSi-k=1Kt=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=1Kt=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 problem P 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: SMDD. The Psub problem can be described as follows: Max  Zsub=i=1MCFie-αSi. Subject to (3.3), (3.11), and (4.7).

The Psub problem is a project scheduling problem with discounted cash flows and can be solved exactly . 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:

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: 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 . 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 . 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: V=(CT*Max{0,SM-DD})e-αSM. Now, determine the objective function value of the P problem by following equation: 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: 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 . 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 . 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.

Table 1 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.

Computational results.

 No. of Activities No. of Instances A Avg. of dev% Avg. of Avg. of LINGO CPU time (Sec.) the proposed method CPU time (Sec.) 10 15 10 −1.9% 388 1 20 15 7 −2.3% 1253 2 30 15 4 −2.8% 2407 4

The 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.

Acknowledgements

The authors thank the anonymous referees for their useful suggestions that improved the presentation of the paper.

IcmeliO.ErengüçS. S.ZappeC. J.Project scheduling problems: a surveyInternational Journal of Operations and Production Management19931311809110.1108/01443579310046454ElmaghrabyS. E.Activity nets: a guided tour through some recent developmentsEuropean Journal of Operational Research199582338340810.1016/0377-2217(94)00184-EZBL0910.90175HerroelenW.De ReyckB.DemeulemeesterE.Resource-constrained project scheduling: a survey of recent developmentsComputers & Operations Research199825427930210.1016/S0305-0548(97)00055-5MR1660879ZBL1040.90525DemeulemeesterE.HerroelenW.Project Scheduling: A Research Handbook2002Boston, Mass, USAKluwer Academic PublishersMöhringR. H.Minimizing costs of resource requirements in project networks subject to a fixed completion timeOperations Research19843218912010.1287/opre.32.1.89ZBL0531.90049DemeulemeesterE. L.Minimizing resource availability costs in time-limited project networksManagement Science199541101590159810.1287/mnsc.41.10.1590ZBL0861.90071DemeulemeesterE. L.HerroelenW.A branch-and-bound procedure for the multiple resource-constrained project scheduling problemManagement Science199238121803181810.1287/mnsc.38.12.1803ZBL0761.90059DrexlA.KimmsA.Kimms@bwl.uni-kiel.deOptimization guided lower and upper bounds for the resource investment problemJournal of the Operational Research Society200152334035110.1057/palgrave.jors.2601099ZBL1131.90378AkpanE. O. P.Optimum resource determination for project schedulingProduction Planning and Control19978546246810.1080/095372897235037ShadrokhS.KianfarF.A genetic algorithm for resource investment project scheduling problem, tardiness permitted with penaltyEuropean Journal of Operational Research2007181186101MR230140910.1016/j.ejor.2006.03.056ZBL1121.90062NübelH.The resource renting problem subject to temporal constraintsOR Spektrum200123335938110.1007/PL00013357MR1852584ZBL0985.90041RussellA. H.Cash flows in networksManagement Science197016535737310.1287/mnsc.16.5.357ZBL0187.18201GrinoldR. C.The payment scheduling problemNaval Research Logistics Quarterly1972191123136MR038167610.1002/nav.3800190110ZBL0252.90034DoerschR. H.PattersonJ. H.Scheduling a project to maximize its present value: a zero-one programming approachManagement Science197723888288910.1287/mnsc.23.8.882ZBL0354.90043BeyR. B.DoerschR. H.PattersonJ. H.The net present value criterion: its impact on project schedulingProject Management Quarterly1981123545RussellR. A.A comparison of heuristics for scheduling projects with cash flows and resource restrictionsManagement Science198632101291130010.1287/mnsc.32.10.1291Smith-DanielsD. E.Smith-DanielsV. L.Maximizing the net present value of a project subject to materials and capital constraintsJournal of Operations Management198771-2334510.1016/0272-6963(87)90005-2IcmeliO.ErengucS. S.A branch and bound procedure for the resource constrained project scheduling problem with discounted cash flowsManagement Science199642101395140810.1287/mnsc.42.10.1395ZBL0880.90074NadjafiB. A.ShadrokhS.An algorithm for the weighted earliness-tardiness unconstrained project scheduling problemJournal of Applied Sciences2008891651165910.3923/jas.2008.1651.1659ElmaghrabyS. E.HerroelenW. S.The scheduling of activities to maximize the net present value of projectsEuropean Journal of Operational Research1990491354910.1016/0377-2217(90)90118-UYangK. K.TalbotF. B.PattersonJ. H.Scheduling a project to maximize its net present value: an integer programming approachEuropean Journal of Operational Research199364218819810.1016/0377-2217(93)90176-NZBL0769.90053UlusoyG.ÖzdamarL.A heuristic scheduling algorithm for improving the duration and net present value of a projectInternational Journal of Operations and Production Management1995151899810.1108/01443579510077241BaroumS. M.PattersonJ. H.The development of cash flow weight procedures for maximizing the net present value of a projectJournal of Operations Management199614320922710.1016/0272-6963(96)00005-8PinderJ. P.MarucheckA. S.Using discounted cash flow heuristics to improve project net present valueJournal of Operations Management199614322924010.1016/0272-6963(96)00003-4DayanandN.PadmanR.On modeling payments in projectsJournal of the Operational Research Society199748990691810.1057/palgrave.jors.2600440SepilC.OrtacN.Performance of the heuristic procedures for constrained projects with progress paymentsJournal of the Operational Research Society199748111123113010.1057/palgrave.jors.2600458ZBL0894.90082De ReyckB.HerroelenW.An optimal procedure for the resource-constrained project scheduling problem with discounted cash flows and generalized precedence relationsComputers and Operations Research199825111710.1016/S0305-0548(97)00043-9ZBL0909.90175UlusoyG.Sivrikaya-ŞerifoğluF.ŞahinŞ.Four payment models for the multi-mode resource constrained project scheduling problem with discounted cash flowsAnnals of Operations Research20011021–4237261MR185442710.1023/A:1010914417817ZBL0990.90509WaligóraG.Discrete-continuous project scheduling with discounted cash flows-a tabu search approachComputers and Operations Research20083572141215310.1016/j.cor.2006.09.022NajafiA. A.aa_najafi@yahoo.comNiakiS. T. A.niaki@sharif.eduResource investment problem with discounted cash flowsInternational Journal of Engineering, Transactions B20051815364ZBL1122.90357NajafiA. A.NiakiS. T. A.A genetic algorithm for resource investment problem with discounted cash flowsApplied Mathematics and Computation2006183210571070MR229086010.1016/j.amc.2006.05.118ZBL1112.90035http://www.Lindo.com