International journal of production research vol:39 issue:14 pages:3159-3181
The paper studies the unconstrained project-scheduling problem with discounted cash flows where the cash flow functions are assumed to be linear-dependent on the completion times of the corresponding activities. Each activity of this unconstrained project-scheduling problem has a known deterministic cash flow function that is linear and non-increasing in time. Progress payments and cash outflows occur at the completion times of activities. The objective is to schedule the activities in order to maximize the net present value (npv) subject to the precedence constraints and a fixed deadline. Despite the growing amount of research concerning the financial aspects in project scheduling, little research has been done on the problem with time-dependent cash flow functions. Nevertheless, this problem gives an incentive to solve more realistic versions of project-scheduling problems with financial objectives. We introduce an extension of an exact recursive algorithm that has been used in solving the max-npv problem with time-independent cash flow functions and which is embedded in an enumeration procedure. The recursive search algorithm schedules the activities as soon as possible and searches for sets of activities to shift towards the deadline in order to increase the npv. The enumeration procedure enumerates all sets of activities for which such a shift has not been made but could, eventually, have been advantageous. The procedure has been coded in Visual C ++ v. 4.0 under Windows NT and has been validated on a randomly generated problem set.