See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/357517234 Resource Leveling Using Genetic Algorithm Article · January 2022 CITATIONS READS 0 58 2 authors, including: Virendra Kumar Paul School of Planning and Architecture New Delhi 93 PUBLICATIONS 256 CITATIONS SEE PROFILE Some of the authors of this publication are also working on these related projects: Resilience of Critical Infrastructure in the Extreme Weather Events-(UKIERI), 2019 View project All content following this page was uploaded by Virendra Kumar Paul on 02 January 2022. The user has requested enhancement of the downloaded file. Resource Leveling Using Genetic Algorithm Mohd Talha Khan1, Dr.Virendra Kumar Paul2 ABSTRACT: Resource leveling is the process that ensures resource demand does not exceed resource availability[6]. Thus, the resource leveling defines the minimum resources that would be just sufficient to complete the project on time. The goal of resource leveling is to minimize the incremental demands beyond availability that cause fluctuations of resources. The main drawback of existing scheduling methods is that they do not address the issue of resource dependencies in working out the project schedule . Genetic Algorithm is a search heuristic that mimics the process of natural evolution[7]. In this paper an attempt is made to develop a model of resource leveling incorporating optimization technique of genetic algorithm. It also identifies the potential of genetic algorithm in solving resource leveling problems and overcome the drawbacks of the conventional resource leveling techniques. Keywords:Resources, Resource Leveling, Optimisation, Genetic Algorithm, VBA 1 General Introduction Few enterprises can remain competitive in a business environment without effectively managing the cost of resources. In practice, common scheduling techniques (such as CPM and PERT) have proven to be helpful only when the project deadline is not fixed and the resources are not constrained by either availability or time. Since this is not practical even for small-sized projects, several techniques have been studied to modify scheduling results on account of practical considerations. Resources for activities in a construction project are limited in the real-life world. Therefore, resource levelling is of immense importance to construction project management to avoid wastage and shortage of resources on a construction project. [2] Resource allocation, sometimes referred to as constrained-resource scheduling, aims to reschedule project tasks so that a limited number of resources can be efficiently utilized while keeping the unavoidable extension of the project to a minimum. On the other hand resource leveling attempts to reduce the sharp fluctuations among the peaks and valleys in the resource histogram while maintaining the original project duration. [2] The main limitations of existing scheduling methods, whether precise or heuristic, is the fact that they fail to solve complex practical problems effectively and do not allow for consideration of realistic conditions. This paper presents an approach that integrates resource leveling with the genetic algorithms the group of metaheuristic methods to overcome the limitations of the existing methods.[3] 1-Master’s degree student, Dept. of BEM, SPA, New Delhi, India 2-Professor, Dept of BEM, SPA, New Delhi, India 1 2 Resource unconstrained scheduling (Resource Leveling) Resource leveling describes the process of reducing the fluctuations in resource usage over the project duration.The challenge in resource leveling problems is to make the resource requirements as uniform as possible and to force resource utilization to conform to a desired predetermined resource distribution in order to meet the project reuirements. The task becomes even more challenging as the demand for the different resources vary throughout the project duration and as project activities progress at different rates. In addition, the availability (i.e., maximum limits) of the required resources could be constrained by uncontrolled factors such as remote location of the project, competition with other major projects in the project area, and similar factors [1]. 2.1 Resource Histogram This is a popular planning tool because it gives a good visual presentation which is easy to assimilate and understand. The prerequisites for resource histogram are: i) For early start bar chart it is assumed that the planner wishes to start all activities as soon as possible and keep the activity float for flexibility; and, ii) Once the resource requirement has been added to the early start bar chart the requirements are summed by moving forward through the bar chart one day at a time to give total resource required per day. The total daily resource requirements are then plotted vertically to give the resource histogram. It is important to note that separate resource histograms are required for different trades (see Fig.1) [1]. 3 Importance of resource based scheduling In an actual project scenario construction resources like crew sizes, equipment and materials are limited. Thus assumption of having unlimited resources in the traditional CPM technique is not feasible. There are Two tyes of problems that arise in developing a resource constrained project schedule. It is not necessary that a critical path of the schedule is feasible, because one or more resources might be needed by many other activities, it could be the case that the shortest project duration identified by the critical path scheduling calculation is impossible. Fig 1. Resource usage sour(((pattern 2 Finding a feasible or possible schedule is the first problem in resource constrained scheduling. In the course of optimizing resource allocation, the schedule repeatedly changes and along with the daily demands of resources. Therefore, the objective of project managers is to optimize both the allocation as well as leveling aspects of resources. [4] 3.1 Peculiarity of scheduling problems Handling large data volume for scheduling a project is a major problem. In addition to this, Wall (1996) has identified the following inherent difficulties for scheduling problems. [9] i) Based on the choice of the representation and nature or complexity of the scheduling problem, the ssearch space requirement for the best solution could be considerable. Also, a generalized approach towards the problem rather than the specific problem could add to the complexity [9]. ii) Based on the representation and the modeling assumptions, there may be a situation that a feasible solution to a scheduling problem does not exist. For example, if all resources are available as constant per period amounts and there are no restrictions on tasks or resources, a project surely have a feasible schedule. At the very worst, one is required to extend the project until all tasks are completed [9]. The issues discussed above addresses the complexity of the scheduling problem, and the need for a robust solution. 4 Genetic Algorithm A Genetic Algorithm (GA) is a procedure used to find approximate solutions to search problems through application of the principles of evolutionary biology. Genetic algorithms use biologically inspired techniques such as inheritance, mutation, and recombination, or crossover. The GA consists of an iterative process that evolves a working set of individuals called a population toward an objective function, or fitness function [8]. The evolution usually starts from a population of randomly generated individuals and is an iterative process, with the population in each iteration called a generation. In each generation, the fitnessof every individual in the population is evaluated; the fitness is usually the value of the objective function in the optimization problem being solved. The fittest individuals are stochastically selected from the current population, and each individual's genome is modified to form a new generation. The new generation of candidate solutions is then used in the next iteration of the algorithm. Often, the algorithm terminates when either a maximum number of generations has been produced, or a satisfactory fitness level has been reached for the population.[8] GA employs the following key concepts to explain solution evolution: i. Crossover – Exchange of genetic material (substrings) denoting rules, structural components, features of a machine learning, search, or optimization problem. ii. Selection – The application of the fitness criterion to choose which individuals from a population will go on to reproduce. iii. Replication–The propagation of individuals from one generation to the next. iv. Mutation–The modification of chromosomes for single individuals. 3 Fig 2. Diagramatic view G.A Proecess [7] 4.1 Rationale for use of Genetic Algorithm Ample successful applications related to GA have deen described in literature, but there also exist a considerable number of examples in which GAs perform poorly. There are, however no direct answers to the question of potential applications where GA is a superior tool. Many researchers share the intuitions that wherever the space to be searched is large, GA is not known to be perfectly smooth and unimodal (i.e., consists of a single smooth "hill"). On the other hand, if the fitness function is noisy, and the task does not require a global optimum to be found, GA will have a good chance of being competitive with or surpassing other "weak" methods (methods that do not use domain−specific knowledge in their search procedure). A GA's performance will depend very much on details such as the method used for encoding candidate solutions, the operators used, the parameter, and the particular criteria for success [5]. 5 Application of GA in construction industry and IT tools The artificial intelligence (AI), attempts to understand intelligent entities as well as construct them. . AI has produced many significant and impressive products so far. GA solutions are useful for multidimensional optimization problems in which the chromosome can encode the values for different variables being optimized [10]. GA applications specific to construction as[10]: a) Genetic Algorith for construction space management b) Construction Robot Fleet Management System Prototype c) Site-Level Facilities Layout Using Genetic Algorithms. d) Genetic Algorithms for Construction Site Layout in Project Planning e) Application of genetic algorithm in scheduling The information tools that enable GA include, Matlab, Visual Basic Application in Excel, Excel Plug ins and come specific Programming Languages. 6 Resource Leveling using Genetic Algorithm Typically, in real-world network analysis, each activity has associated with it some resources (such as men, machinery, materials, etc.). As mentioned before that, in calculating the minimum overall project completion time, no consideration was given to resource restrictions. 4 Typically, two different types of resource restricted problems are considered, i. Resource smoothing (also known as resource levelling) problems, and ii. Resource constrained (also known as resource allocation) problems[11]. However the Resource Constrained problem is not within the scope of this study. For application of GA in the problem of resource leveling, it is desired to meet the minimum overall project completion time of “T” weeks (hence implying that the times at which critical activities occur are fixed).It is desired to start all non-critical activities at their earliest possible start times and the precedence relationship of any activity can not be violated. The approach of delaying the non-critical activities to achieve a smooth/uniform resource profile without delaying the project duration has been employed in this paper to demonstrate the application in the following sections. 7 Formation of Objective function For achieving the above approach to problem in a strategic manner an objective function is decided as: Deviation = (Rt-R)2 Eq.(1) where, Rt is cumulative resource usage at any time T, and R is Desired resource level. The objective is to minimize the above deviation to achieve a smooth resource profile. The logic behind using squared deviations as the function to be minimized is that the squared term will discriminate against unusually large deviations. However, in essence, there is no established procedure to guide as to what the objective function in resource smoothing should be. 7.1 Constraints to the problem The constraints that are worked out and incorporated in the problem while modeling using genetic algorithm are: i) The precedence relationship is maintained and can not be altered, ii) The total duration is fixed, i.e: Critical activities can not be delayed, iii) Noncritical activities can not be delayed beyond their available slack, and iv) Non negativity constraint, i.e: duration of any activity can not be negative. 7.2 Representation of the problem For the above problem it is suggested to have different start times for different non critical activities and try to search for the best combination which gives the smoothest profile. Representation of the problem is the most crucial step in using genetic algorithm technique and can impact the results to every extent. Diagrammatic representation is shown below of the representation of the problem (see Fig.3). 5 7.3 Fig 3. Representation of the problem in G.A format 6 Optimization Procedure The optimization procedure is formed by integrating the GA with an approach of resource leveling explained above. The algorithm computational steps were performed in MS-Excel. The steps were partly coded in Visual Basic Application in excel and a plugin of excel to solve GA is used. The steps include: Step-1 Input project information in the given input table and the required details filled in an interacitve input window, Step-2 Initialize the calculation, Step-3 Generate a population (random) of solution, and evaluate the population as per the fitness function (objective function), Step-4 Apply GA operators and checks for the minimal fitness function, Step-5 Pick up the best solutions and then repeat from step-3 until the desired result is achieved or time is out, and Step-6 Use solution to plot the resource histogram and the modified activity time can be create the schedule. 7.4 Flow chart of resource leveling using GA Fig. 4 shows the Flow Chart used to solve the problem of resource leveling in the model. 8 Illustrative Example Fig.4. Flowchart of resource leveling using GA Table 1 shows the activity information of the illustrative example of a scheduling problem used for presenting GA application in the steps as mentioned above. The example used here has 18 activities with the information of durations, predecessors and slack availability is shown in the tabulation. This data has been imported to the model from Microsoft project and then the resource requirement is input. The problem used for the above purpose is a real life construction problem and the resource which is used for leveling is the crew(man power), although for exemplary purpose only one resource is used for leveling with the constraint that the model can accommodate only upto 5 resources and can be extended further for incorporating more resources. 7 Table 1. Activity Information The non critical activities are shifted and different combinations of early start times are tried and the objective function is minimized. Table 2. Activity information with resource usage Fig 6. Network diagram Fig 7. Gant Chart of the activities 8 It is evident from the resource histogram in the Fig.8 that the resource usage is fluctuating and it varies from 14 to a maximum of 33. Since this fluctuation can be detrimental for the cost of the project and such fluctuation can hinder the success specially of huge and complex projects. Now for leveling the resources, the model is run with the set parameters and constraint as explained earlier. The model creates a random population of early start times of the non critical activities and checks for the minimum deviation, refer to “Eq.1 to create a smoothening of the profile. R E S O U R C E U S A G E P E R D A Y Duration (Days) Fig 8. Resource Histogram Before Leveling After implementing the proposed technique on a construction project it is noted that results are improved, the new profile smoothens the resource usage as compared to the previous profile as can be observed in the Fig.9. If the desired profile is not reached, the project manager can further smoothen it by changing GA parameters or time/resources trade off can be made. Also, a minimum extension in the project duration can be found restricting the resource usage to a desired limit, which, however, is not with in the scope of this paper. The parameters which can be altered for further smoothening are mutation probability, cross-over probability and the size of the population. The results of the resource leveled profile are shown in Fig.9 and the modified data of activity information can be used to create a new network diagram and Gant chart. However the time duration of the project remains the same. It can be seen from the histogram in Fig.9 that the maximum resource requirement is reduced to 27 and fluctuation is also lowered. R E S O U R C E U S A 9 9 Conclusion The main challenges in doing resource leveling was: I. Precedence relationship cannot be violated. II. Optimum results are desired since there is a huge search space and many combinations are available. III. Activities shifted should be within the available slack of the activity to unalter the project duration. IV. Project duration is fixed although a different approach can be used when the duration is not fixed and resources are fixed to a certain limit, so a minimum extension of project duration is desired provided that the resource profile is smoothen. From the above results it can be seen that the fluctuations is reduced after the application of the proposed model, however further enhancement can be done as genetic algorithm randomizes the data and it searches for the best result within the search space. The above model reduces the efforts of trying a very large number of combinations of different times for which an activity can be shifted and selecting the optimal or best solution from the above. GA approach gives user optimized results with better accuracy and with huge reduction effort and time. The model can be further extended to include the resource allocation problem to give project managers more flexibility in terms of cost effectiveness because many a times restricting the project duration does not offer the best solution and the problem can be viewed from a different perspective. Due to time constraints the research was restricted to one aspect of the problem and it explores the opportunity for improvement in the prevailing scheduling techniques and can be further enhanced. 10 References i) Senouci, A.B., and Eldin, N.N., “Use of Genetic Algorithm in Resource Scheduling of Construction Project”, Journal of Construction Engineering and Management,ASCE, 11, 2004. ii) Haezy, T, “Optimization of Resource Allocation and Resource Levelling using Genetic Algorithms”, Journal of Construction Engineering and Management,ASCE, 1999. iii) Jaskowski, P., and Sobotka, A., Scheduling Construction Projects Using evolutionary algorithm, J. Constr. Eng. Manage., 2006. iv) Arun S.S., Construction Scheduling using Non–Traditional Optimization, IIT Guwahati, India 2005 v) Melanie, M., An Introduction to Genetic Algorithms, , 1998, MIT Press.3] vi) https://courses.worldcampus.psu.edu/welcome/pmangt/samplecontent/520lesson08/lesson08_07.html, (accessed on 28/May/2013) vii) http://en.wikipedia.org/wiki/Genetic_algorithm (accessed on 28/May/2013) viii) http://myreaders.info/html/artificial_intelligence.html. (accessed on 28/May/2013) ix) http://lancet.mit.edu/mwall/phd/thesis/thesis.pdf (accessed on 28/May/2013) x) http://osp.mans.edu.eg/elbeltagi/AI%20Introduction.pdf (accessed on 28/May/2013) xi) http://people.brunel.ac.uk/~mastjjb/jeb/or/netres.html (accessed on 28/May/2013) 11 View publication stats