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 [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 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 𝑁 activities indexed from 1 to 𝑁. Activities 1 and 𝑁 are dummies that represent the start and completion of the project, respectively. The activities executions need 𝐾 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 𝑖, the precedent activity set is denoted as 𝑃(𝑖). A duration 𝐷𝑖 is given where activity 𝑖 is started and it runs 𝐷𝑖 time without preemption. Activity 𝑖 uses 𝑟𝑖𝑘 units per period for resource 𝑘. The resource usage over an activity is taken to be uniform. A cost of 𝐶𝑘 is associated to use one unit of resource 𝑘 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 𝑡 for activity 𝑖 is denoted by 𝐹𝑖𝑡. Payments are received at payment points 𝑔∈𝐺, where 𝐺 is the set of payment points. Payment 𝑔 occurs when a set of activities 𝑃𝐵(𝑔) ends, and its amount is equal to 𝑀𝑔. A constant cost of 𝐶𝑇 for each unit of time delay from a due date 𝐷𝐷 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𝑍=𝐺𝑔=1𝑀𝑔𝑒−𝛼𝑇𝑔−𝑁𝑖=1âŽ›âŽœâŽœâŽğ‘‘ğ‘–âˆ’1𝑡=0ğ¹ğ‘–ğ‘¡ğ‘’âˆ’ğ›¼ğ‘¡âŽžâŽŸâŽŸâŽ ğ‘’âˆ’ğ›¼ğ‘†ğ‘–âˆ’ğ¾î“ğ‘˜=1𝐹𝑅𝑘−1𝑡=𝑆𝑅𝑘𝐶𝑘𝑅𝑘𝑒−𝛼𝑡−𝐶𝑇∗Max0,𝑆𝑁𝑒−𝐷𝐷−𝛼𝑆𝑁,(3.1) or

Max𝑍=𝐺𝑔=1𝑀𝑔𝑒−𝛼𝑇𝑔−𝑁𝑑𝑖=1𝑖−1𝑡=0𝐹𝑖𝑡𝑒−𝛼(𝑡+𝑆𝑖)−𝐾𝑘=1𝐶𝑘𝑅𝑘𝑒−𝛼𝑆𝑅𝑘−𝑒−𝛼𝐹𝑅𝑘1−𝑒−𝛼−𝐶𝑇∗Max0,𝑆𝑁𝑒−𝐷𝐷−𝛼𝑆𝑁.(3.2) Subject to

𝑆𝑖−𝑆𝑗≥𝑑𝑗𝑇,∀𝑗∈𝑃(𝑖)𝑖=1,2,…,𝑁,(3.3)𝑔≥𝑆𝑖+𝑑𝑖,∀𝑖∈𝑃𝐵(𝑔),𝑔=1,2,…,𝐺,(3.4)𝑆𝑅𝑘≤𝑆𝑖,∀𝑖∈𝑃𝑅(𝑘),𝑘=1,2,…,𝐾,(3.5)𝐹𝑅𝑘≥𝑆𝑖+𝑑𝑖,∀𝑖∈𝑈𝑅(𝑘),𝑘=1,2,…,𝐾,(3.6)𝑁𝑡𝑖=1𝑙=𝑡−𝑑𝑖+1𝑟𝑖𝑘𝑋𝑖𝑙≤𝑅𝑘,𝑘=1,2,…,𝐾,∀𝑡,(3.7)𝐿𝑆𝑖𝑡=𝐸𝑆𝑖𝑋𝑖𝑡𝑆=1,𝑖=1,2,…,𝑁,(3.8)𝑖=∀𝑡𝑡𝑋𝑖𝑡𝑋,𝑖=1,2,…,𝑁,(3.9)𝑖𝑡𝑆={0,1},𝑖=1,2,…,𝑁,∀𝑡,(3.10)𝑖𝑅≥0,𝑖=1,2,…,𝑁,(3.11)𝑘≥0,𝑘=1,2,…,𝐾,(3.12)𝑆𝑅𝑘,𝐹𝑅𝑘𝑇≥0,𝑘=1,2,…,𝐾,(3.13)𝑔≥0,𝑔=1,2,…,𝐺.(3.14) Where, we define the decision variables as

𝑆𝑖∶starting time of activity 𝑖,𝑖=1,2,…,𝑁,𝑇𝑔∶occurrence time for payment 𝑔,𝑔=1,2,…,𝐺,𝑅𝑘∶required level of resource 𝑘 to be provided, 𝑘=1,2,…,𝐾,𝑆𝑅𝑘∶providing time of resource 𝑘,𝑘=1,2,…,𝐾,𝐹𝑅𝑘∶expulsion time of resource 𝑘,𝑘=1,2,…,𝐾,𝑋𝑖𝑡∶a binary variable where it is one if activity 𝑖 is started at period 𝑡 and zero otherwise.

In addition, 𝑃𝑅(𝑘) is an activity set that uses resource 𝑘 and has no precedence, and 𝑈𝑅(𝑘) is an activity set that uses resource 𝑘 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 𝑆𝑗 and variables 𝑋𝑖𝑡. 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 𝐶𝐹−𝑖=−𝑑𝑖−1𝑡=0𝐹𝑖𝑡𝑒−𝛼𝑡−𝐾𝑑𝑘=1𝑖−1𝑡=0𝑟𝑖𝑘𝐶𝑘𝑒−𝛼𝑡=−𝑑𝑖−1𝑡=0𝐹𝑖𝑡𝑒−𝛼𝑡−𝐾𝑘=1𝑟𝑖𝑘𝐶𝑘1−𝑒−𝛼𝑑𝑖1−𝑒−𝛼.(4.1)

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) 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 𝑀. In the following sections we denote the number of activities by 𝑀.

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)

Definition 4.4. The amount of nonusage resource at a period. With (3.7) modified, the amount of nonusage resource 𝑘 at a period 𝑡,𝑊𝑘𝑡, can be obtained by 𝑀𝑡𝑖=1𝑙=𝑡−𝑑𝑖+1𝑟𝑖𝑘𝑥𝑖𝑙+𝑊𝑘𝑡=𝑅𝑘.(4.4) Where, 𝑊𝑘𝑡≥0,𝑘=1,2,…,𝐾,∀𝑡.(4.5) Now, we simplify the problem formulation in the following form: Max𝑍=𝑀𝑖=1𝐶𝐹𝑖𝑒−𝛼𝑆𝑖−𝐾𝑘=1𝐹𝑅𝑘−1𝑡=𝑆𝑅𝑘𝐶𝑘𝑊𝑘𝑡𝑒−𝛼𝑡−𝐶𝑇∗Max0,𝑆𝑀𝑒−𝐷𝐷−𝛼𝑆𝑀.(4.6) 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, (∑𝑀𝑖=1𝐶𝐹𝑖𝑒−𝛼𝑆𝑖), and the negative roles of the nonusage resource costs, (∑𝐾𝑘=1∑𝐹𝑅𝑘−1𝑡=𝑆𝑅𝑘𝐶𝑘𝑊𝑘𝑡𝑒−𝛼𝑡) and the tardiness cost ((𝐶𝑇∗Max{0,𝑆𝑀−𝐷𝐷})𝑒−𝛼𝑆𝑀).

Now we are ready to describe the executive steps of the proposed algorithm as follows:

Step 1. Let problem 𝑃 be the RIPDCFT that we are interested to solve, and let 𝑃sub be a problem obtained by removing resources of the 𝑃 problem. The 𝑃sub problem can be reached from the 𝑃 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 𝑃sub problem. It imposed deadline constraint on the project completion time in this step: 𝑆𝑀≤𝐷𝐷.(4.7) The 𝑃sub problem can be described as follows: Max𝑍sub=𝑀𝑖=1𝐶𝐹𝑖𝑒−𝛼𝑆𝑖.(4.8) Subject to (3.3), (3.11), and (4.7).
The 𝑃sub 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 𝑃 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:
𝑈𝑘=𝐹𝑅𝑘−1𝑡=𝑆𝑅𝑘𝐶𝑘𝑊𝑘𝑡𝑒−𝛼𝑡.(4.9) 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: 𝑍=𝑍Sub−𝐾𝑘=1𝑈𝑘.(4.10)

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 (𝑈𝑘). 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 (𝑆𝑀) for this solution and obtain the tardiness cost from the following equation: 𝑉=𝐶𝑇∗Max0,𝑆𝑀𝑒−𝐷𝐷−𝛼𝑆𝑀.(4.11) Now, determine the objective function value of the 𝑃 problem by following equation: 𝑍=𝑍Sub−𝐾𝑘=1𝑈𝑘−𝑉.(4.12) 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: 𝑅𝑘∑=Max𝑀𝑖=1𝑟𝑖𝑘×𝑑𝑖𝐷𝐷,Max𝑖=1,…,𝑀𝑟𝑖𝑘.(4.13)

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.

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.

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.


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