Project scheduling with variable renewable resource limits

Article history: Received 4 July 2018 Received in revised form 3 March 2019 Accepted 20 March 2019 Renewable resources are the resources that are made available per period in a resource-constrained project scheduling problem. For each period, the quantity of each renewable resource (manpower, money, equipment) made available is often assumed constant and this may not reflect true life situations. Hence, we present a more realistic model whose renewable resource limit varies from per period where possible. Experimentally, results show that this model ensures that projects are completed in the least possible time (no matter the financial situation), hence, no abandonment of projects. Also, it helps to check corruption, where it is prevalent because, in this model, the exact amount needed in each period can be made available without giving room for excesses which can be mismanaged.


Introduction
*The resource-constrained project scheduling problem (RCPSP) finds the minimum schedule that minimizes the total completion time of a project while satisfying the precedence and the resource constraints.In the multi-mode RCPSP, the different ways of performing each job is considered (mode) and each job is performed in one of its modes (Elmaghraby, 1977).Słowinski (1980) and Weglarz (1980) categorized the resources used for this problem into three classes: the renewable, nonrenewable and doubly constrained resources.The renewable resources are made available per-period (e.g.manpower and equipment), the non-renewable resources are made available for the entire project (e.g.money, the total budget of the project) and the doubly constrained resources are limited both for each period and for the total project (e.g.money).
This problem has found application in many reallife situations such as project management and crew scheduling, construction engineering, production planning and scheduling, fleet management, machine assignment, automobile industry and software development.However, a large form of this problem has been shown to belong to the class of NP-hard optimization problems (single-mode case (Blazewicz et al., 1983), multi-mode case (Kolisch, 2013)) Hence, solving large problem instances owe themselves only to heuristic solution methods.
The resource constraints, ensures that the limitations of the resources required to accomplish the activities are adhered to.Often, the limit of the per-period renewable resource is usually assumed constant in the existing models (Burgelman and Vanhoucke, 2018;Sprecher et al., 1997;Talbot and Patterson, 1978;Talbot, 1982;Tao et al., 2018) and this may not reflect real-life situations.For example, if money is the renewable resource in a construction project and the period is monthly that a fixed amount is provided monthly until the project is completed may not be practicable.Hence, we present a more realistic model with different limits of renewable resource per-period where possible, that is, the situation where the limit of available resource varies in periods where the performance of an activity starts.
The model covers all possible situations that can happen to resource in each period: where there might be enough resources in a period, minimal resources in another and then no resource in some other periods.This reflects true life due to life situations and circumstances.It also assumes that, for a job to be scheduled in each period, the limit of each renewable resource should be at least the minimum resource demand of jobs in the eligibility set E(t).
In our experiment, we use the project network from PM Knowledge Center (Vanhoucke, 2012) as an example and used priority-based scheduling technique and serial schedule generation scheme (SSGS) (Kolisch, 1996) to find the completion time of the project.In solving the project problem, we assume that at least a job should be performed in each period.Therefore, the limit of each renewable resource should not be less than the minimum resource demand of jobs in the eligible set.
Our results show that there are some situations when the completion time of the project is as if the resources are unconstrained.That is, the completion time of the project is highly reduced if in each period the resources are enough.Also, there are other situations where the available resources in each period are highly constrained which causes relative increase in the completion times.This reflects reallife situations.The essence of this model is to ensure that projects are completed in the least possible time no matter the financial situation.So, situations where projects are abandoned do not arise at all.Also, it helps to check corruption, where it is prevalent, because in this model the exact amount needed in each period can be made available without giving room for excess which can be misappropriated.
The main contribution of this work is to present a more realistic model for the resource-constrained project scheduling problem.

Types of resources for RCPSP
The resources needed to execute the jobs of projects were categorized into three.The renewable, non-renewable and the doubly constrained resources: i. Renewable Resources: These are resources that are made available per period (say, every day).
The quantity of each resource (say, manpower) made available is assumed constant.For example, a company can decide to make available 4 skilled and 5 unskilled laborers on a daily basis for the execution of a particular project until it is completed.That is, the quantity of each resource is renewed daily.ii.Non-renewable Resources: These are resources whose availabilities are not limited per period, but on the total project.For example, an individual may decide that the building project must not be more than a particular amount of money, which is the budget for the project.Or, the individual may decide to use a total of 50 skilled and 80 unskilled laborers for the total project.This implies that the total availability of manpower is also limited.iii.Doubly Constrained-Resources: These are resources that are limited both on total project basis and on per period basis.Money falls into this category because, apart from having a budget for a project, the per-period cash flows are also limited.If the renewable and non-renewable resources are enlarged appropriately, the doubly constrained resources are already considered.Hence in the model, only the renewable and nonrenewable resources are explicitly considered.

Priority rules
A Priority rule approach is a method for constructing activity lists of the activities of a project.The calculations of priority rules are often based on the four major information of the project and their network.They are as follows: Activity Information, e.g.duration of the activities: An example of priority rules that uses this information is shortest processing time (SPT).It arranges the activities in such a way that the one with minimum duration comes first in the list.
Network Structure Information: Examples are most immediate successors (MIS) and least nonrelated jobs (LNRJ).MIS puts the activities which has more direct successors first in the activity list while LNRJ puts activities with least number of non-related activities first in the list.Scheduling information: An example is earliest finish time (EFT).It lists the activities by putting first the ones with minimum earliest finish time in the list.
Resource information: An example is greatest resource work content (GRWC).It puts the activities in a decreasing order of their work content in the list.Work content is duration multiplied by its renewable resource demand (duration x resource demand) of a job.

Schedule generation scheme (SGS)
Quite a number of heuristic algorithms for resource-constrained project scheduling problems (RCPSP) use SGS.It constructs feasible schedule from the priority list of the project activities.This, it does by removing activities from the priority list one at a time and assigning a starting time to each of them (i.e.partial schedule).This removal continues until starting time is assigned to the entire project activities (this is called a schedule).Basically, there are two different types of SGS available: The serial schedule generation scheme (SSGS) and the parallel schedule generation scheme (PSGS).The SSGS uses activity-incrementation principle while the PSGS uses time-incrementation principle.

Serial schedule generation scheme (SGS)
This scheme uses the activity-incrementation principle which schedules activities of a project one at a time and in its earliest precedence and resource feasible completion time.There are N stages in this scheme if there are N activities.In each stage, the scheme scans the priority list, selects the next activity and schedules it at its earliest starting time making sure that the precedence and resource constraints are not violated.There are three sets of activities associated with each stage: the scheduled set, which consist of the already scheduled activities; the eligible set, which consist of all the activities that are eligible for scheduling and the ineligible set, which consist of all the activities not yet scheduled and cannot be scheduled in that stage.

Mode assignment algorithm
The local search procedure (Adamu et al., 2018) converts a multi-mode case to a single-mode case.The procedure is used to generate a feasible mode assignment m = {m 1 , m 2 , ⋯ , m n } for all the jobs, = {j 1 , j 2 , ⋯ , j n }.
The local search by Sprecher et al. (1997) generates its first mode assignment randomly while our local search generates its first mode by assigning to each job, its mode that has the minimal renewable resource.So, our local search is as follows: A mode assignment is first generated for each job in the project.This is done by assigning to each job, its mode with minimum renewable resource.Then the sum of their non-renewable resource requirements (w jm ) is calculated for each nonrenewable resource type (i = 1, 2, ⋯ , I).If this sum exceeds the available non-renewable resource level (W i , i = 1, 2, ⋯ , I), it implies that the mode assignment is infeasible and a simple mode assignment strategy is employed to improve the current mode assignment: A job is randomly selected and a mode with its next minimal renewable resource, different from its current mode.This leads to another mode assignment m ′ .Then check if the sum of their non-renewable resource requirements exceeds the available non-renewable resource level (W i , i = 1, 2, ⋯ , I).If yes, choose another mode for that job with next minimal renewable resource and repeat the process.This process is continuously repeated until the mode assignment becomes feasible.When the mode assignment is feasible with respect to non-renewable resources, the multi-mode case becomes the single-mode case.

The description of the existing RCPSP model
The resource-constrained project scheduling problem (RCPSP) considers a single project with J number of jobs (j = 0, 1, 2, 3, …, J, J+1) to be performed, where job j = 0 corresponds to a unique project start job and job j = J+1 corresponds to the unique project end job.Dummy jobs are appended if there is no unique start and end jobs naturally.Two types of constraints exist between jobs: the precedence constraint and the resource constraint.The precedence constraint delays the performance of a job until all its immediate predecessors (Pj) are completed, that is, a job cannot start processing unless all its direct predecessors (Pj) are completed.For the resource constraint, the jobs require resources to be processed but the availability of each resource is limited.There are K types of renewable resources (k = 1, 2, 3, …., K.).Each resource type k has constant per-period availability of Rkt (for instance, for every week, Y dollars is made available for the project), and each job uses rj,k units of resource type k to be processed every period of time.
Once job j starts processing, there is no interruption and its processing time is pj.For both start and end jobs j = 0 and j = j+1, their processing times dj= 0 and their resource usage rj,k = 0 for all k.The objective is to find precedence and resource feasible schedule that minimizes the makespan (total completion time) of the project.
A conceptual formulation of the scheduling problem by Talbot and Patterson (1978) is as follows: subject to: (3) where Fj denotes the completion time of job j; a vector of finished times of the jobs, denoted by {F1, F2, ... ,Fn} is called a schedule and A(t), the set of jobs undergoing processing at time t.The objective function in Equation ( 1) minimizes the finish time of the last job of the project, that is, it minimizes the total completion time of the project.The Constraints in Equation ( 2) is the precedence constraint which makes sure that the start time of job j is greater than the finished time of all its predecessors (Fh).The Constraints in Equation ( 3) demands that in time t, the resource constraint enforces that the total resource demands of the jobs under processing A(t) should not be greater than the limit for each resource type k.The Constraint in Equation ( 4) ensures that the finished times of every job j, Fj is greater or equal to zero.It defines the decision variables.Blazewicz et al. (1983) showed that RCPSP belongs to the class of NP hard optimization problems.Hence, solving large problem instances owe themselves only to heuristic solution methods.

The description of the existing multi-mode RCPSP
A project with J partially ordered jobs is considered labelled j = {1, ...., J}.Precedence relations exist between jobs, that is, a job is not started until all its direct predecessors are completed.Activity-On-Node (AON) network is used to describe the structure of the project.The nodes of the network represent the jobs and the arcs represent the precedence relations that exist between jobs.Job 1 and job N are project start and project finish jobs respectively.If they are not naturally available in a problem, dummy start job and dummy end job are attached to the problem.Different ways (called modes) of executing a job is considered and executed in one out of its modes.So, a mode is the different ways of combining different levels of resource requirements with related durations.For example, in a building construction, blocks (bricks) can be obtained by buying the already made blocks (bricks) from the block industries (mode 1, m 1 ) or by buying the materials and have the blocks modeled (mode 2, m 2 ).
These two methods of obtaining blocks have different levels of resource requirements and different durations.Jobs started in a particular mode are completed in that same mode without interruption.Executing a job in a mode requires a set of renewable resources, a set of non-renewable resources and a set of doubly constrained resources.The objective is to find a minimal and feasible schedule with respect to the constraints imposed by the precedence relations and the limited resource availability to minimize project completion time.Finding a feasible solution to this problem is an NP-Hard problem (Kolisch, 2013).A description of different versions of this problem and the Integer programming formulations can be seen in different papers, we refer reader to Sprecher et al. (1997) and Talbot (1982), and the references therein.In addition, it is expected that this paper will be applied to related optimization problems (Crawford et al., 2018;2015).

The new RCPSP model
The New RCPSP model is a combination of the existing RCPSP models (the single-mode RCPSP (Talbot and Patterson, 1978), the multi-mode RCPSP (Talbot, 1982) and the variable renewable resource limit constraint.This constraint is added to each of the existing model.It also assumes that for a job to be performed in each period, the limit of each renewable resource should be at least the minimum resource demand of jobs in the eligible set E(t).This is shown as constraint in Equation (5): a. So, for the single-mode, the new model becomes:

Minimize F n+1
Subject to: It is essentially, the addition of constraint in Equation ( 5) to the existing model.b.In the multi-mode RCPSP, the constraint as in Equation ( 5) is also added to the existing multimode RCPSP model.But it comes into effect only after the multi-mode case has been converted to single-mode case in the process of solving the problem, that is, this constraint comes into effect when the activity list is being constructed and the mode of each activity has been assigned which made the multi-mode RCPSP a single-mode case.

Experiments
We used the fictitious project network from PM Knowledge Center (Vanhoucke, 2012) as an example to find the completion time of the project.It has eleven activities and finish-start precedence relations.We assume each time period to be one week.This is represented in Fig. 1.

Fig. 1: A project network
The number above the nodes are the estimated duration of each job and the number below are the renewable resource demands.The maximum availability of the renewable resource varies and is such that at least a job must be performed in each period.

Experimental setup
We considered two situations: slightly constrained (Fig. 2) and highly constrained (Fig. 3) renewable resources.In the slightly constrained environment, a lot of jobs can be performed in each period as long as the precedence constraint is not violated.In the highly constrained, it is assumed that at least, a job should be able to be performed in each period.

Results
In Fig. 2, renewable resource is slightly constrained.Using priority-based technique and SSGS, the project was finished on time, in 22weeks.Fig. 3 shows a highly constrained environment where at least a job is being performed in a period.The completion time is increased to 43 weeks.
Figs. 2 and 3 show the result of two fairly extreme situations of resource constraints.In Fig. 3, the resources are highly constrained and a job is performed in at least a period, hence the project's completion time increased.This model also covers situations where jobs may not be performed in some periods because of lack of available resource in that period.Ultimately, the job gets completed but with increased completion time.
This model seeks to minimize the total completion time of the project when available per period resources varies where possible.The use of this model is as follows:  When resources are highly constrained like some countries where we have economic recession, this model helps the completion of projects in the least possible completion time.It ensures that projects are not abandoned no matter the economic situation. Also, in other countries where they have enough funds, this model enhances the completion time of projects.
 It encourages disbursement of funds (resources) in small quantities, which is what is needed if there is recession.This also checks corruption, since disbursing large amount of funds (resources) at once encourages misappropriation, in a nation where corruption is prevalent.

Fig. 2:
Slightly constrained with variable per period limits of renewable resource Fig. 3: Highly constrained with variable per period limits of renewable resource

Conclusion
A new RCPSP model that reflects true-life situation is presented.It is a combination of the existing models and a variable limit renewable resources constraint.We considered two extreme situations when resources are slightly and highly constrained.Results show that project's completion times are enhanced when resources are slightly constrained and projects get to completion stage no matter how highly constrained the renewable resource.This model checks abandonment of projects and corruption (see uses of this model above).