Resource Leveling Using Petrinet and Memetic Approach

: The problem of scheduling activities dynamic for a project, within the available resources and adhering to precedence relationships is NP hard combinatorial. Traditional approaches and their extensions are limited in application for simultaneous scheduling of resources with leveling. Considering the need for improved modeling and scheduling techniques, this paper proposes the use of Petrinet based approach aided by memetic algorithm. Manufacturing projects involving either a single or multi resources can be optimally leveled and scheduled. The effectiveness of this approach is demonstrated with case studies.


INTRODUCTION
Project management is the process of managing, allocating and timing resources in order to achieve a given objective in an expedient manner. Leveling of resources has been getting attention from researchers. Resource leveling procedures are aimed to obtain the even usage of resources and to avoid high peak or very low resource requirements. The basic steps of resource leveling programs are as follows; 1) Create a resource profile based on the early start time of each activity using traditional computations, 2) Shift non-critical activities to achieve uniform resource levels of resources. In order to execute the second step, various techniques are usually adopted. These resource-leveling problems are combinatorial nondeterministic polynomial time complete problems. Though in the small project situation resources can be acquired or released in any desired amounts, maintaining use of different resources at a constant rate is very important in large-scale projects with multiple resources. Many researches have focused on single resource leveling procedures. Burgess and Kilkerew [1] , Kumar and Rajendran [2] proposed heuristic approaches. Easa [3] and Bandelloni et al., [4] have recommended the mathematical approaches. Younis and Saad [5] developed mathematical model for optimal resource leveling of multi resource projects. The optimization approaches for resource leveling utilizes enumeration method and hence for a large problem turns out as a difficult combinatorial problem. The heuristic approaches do not conduct exhaustive search and its outcome varies from problem to problems [6] . This paper address the use of Petrinet based software PERTIPM in modeling projects requiring single or multi resources and proposes the use of memetic algorithm search for optimal resource leveled scheduling of a project.

Modeling project with Petrinet:
A new project management model with ability to define features accurately and encourage efficient communications between all involved in the planning and execution of the project will yield positive results. Petrinet is a graphical and mathematical modeling tool that has been successfully applied extensively in the areas of performance evaluation, communication protocol, legal system and decision making models Agerwala [7] and Murata [8] . Project management has also been identified [9] as a prospective area, where the modeling power of Petrinet can be used Dynamic representation and online monitoring of activities and resources are very helpful throughout the phases of management. Many researchers have attempted Petrinet as a management tool. Magott (1989) proposed a combined generalized stochastic Petri nets and Pert networks for the performance evaluation of concurrent process. Pagnoni [10] detailed Petrinet and its use as a planning language for projects. Lee et al. (1994) developed a model called PM-net for representing and monitoring the software development process is presented This model provides information for progress management, as well as information of project status at different levels of detail, for the benefit of project managers. Kim et al. [11] introduced an interactive provision for regenerating and re scheduling of activities. Meherez et al. [12] reviewed the properties of petrinet models with view of management perspective as certain management decision problems are not often easily modeled using traditional decision making frameworks and as management decision problems may possess characteristics that are difficult of describe fully with any single decision making frame work such as decision tree or a network model. Kusumoto et al. [13] proposed new model with GSPNs for software projects and an estimation method for the quality, cost and delivery date. Shih and Leung (1997) proposed a management Petrinet but with multiple kinds of places and transitions. Kumar and Ganesh [14] describe the use of petrinet to facilitate resource allocation in projects under some conditions commonly encountered in practice. To make petrinet to suit certain applications certain modifications and extensions are to be done. A consistent framework for modeling and analysis of characteristics exhibited by the projects such as precedence relations, sequential execution, conflict, concurrency, synchronization, merging, selecting alternatives, dynamism, etc needs attention.
Software: Petrinet-aided software, PETRIPM is developed to deal with project planning with stochastic activity times. It has been completely designed using Visual Basic, so as to make use of its graphical and customized application development tools. The package is developed as menu driven with user-friendly message displays. The software has main menu with Project planning module as sub menu. The planning phase is usually identified with construction of the model graphically, during which specific decisions are made on the method of performing jobs as well as their technological ordering and simultaneously, stochastic times can be assigned. The project planning module has been developed to deal with project modelling and analysis. Extensions to Petri nets are required considering the intricacies of project management [12] . In a Petri net: A place represents the start or completion of an activity. Circles represent them. A transition represents activity, which is a time /resource consuming part of a project. Bars represent them.
An arc connects places and transitions. It is not allowed to connect two places or two transitions. The arcs are either from a transition to a place or from a place to transition. Token represent resources of the operation. These are represented by black dot. A marking is an assignment of tokens to the places of a Petri net. If a place is marked with 'k', we say that place is marked with 'k' tokens. Pictorially, we place 'k' black dots (tokens) in place. A marking is denoted by M, an m-vector where M is total number places. The p component of the M, denoted by M (p), is the number of tokens in place P.

Problem definition Single resource leveling:
The objective is to schedule project with minimum resource fluctuations. Assumptions are as follows: A project consists of a number of activities. Resource required per unit time for each activity is known and constant throughout its execution. Activity cannot start until its entire predecessor has been completed. No activity pre-emption is allowed. Resource is unlimited Multi resource leveling: The objective is to schedule project with minimal resource fluctuations simultaneously for all resources. A project consists of number of activities, which use specified types of resources. An Activity cannot start until all its predecessors have been completed. Activity preemption is not allowed. Resources are unlimited.
Proposed solution methodology: Evolutionary algorithms (EAs) are a class of search and optimization techniques that work on a principle inspired by nature: Darwinian Evolution. The concept of natural selection is captured in EAs. Specifically, solutions to a given problem are codified in so-called chromosomes. The evolution of chromosomes due to the action of crossover, mutation and natural selection are simulated through computer code. It is now well established that pure EAs are not well suited to fine tuning search in complex combinorial spaces and that hybridization with other techniques can greatly improve the efficiency of search [15] . The combination of EAs with local search (LS) was named "memetic algorithms" (MAs) in [P. Moscato].The operation of EAs start with random generation of initial population and then the selection, crossover, local search mutation and local search are produced until the best population is found .The proposed memetic algorithm flowchart shows in the figure1 Memetic parameters: A search for an optimum set of early start dates for the non critical activities is made through GA and Local search method that is called as Memetic algorithm. The set of parameters for Memetic search module are detailed in the following sections.
Coding of the string: In this application, string or chromosome corresponds to the set of start dates for the non-critical activities. The length of the chromosome is equal to the number of non-critical activities. For example, the string length is equal to 4 elements as there are 4 non critical activities. The first element indicates that activity 3 to be started on day 6 and second element indicates that the activity 4 to be started on day 3 and so on. The coding of string depicted in the figure 2

Figure 1Flow chart of the proposed memetic algorithm
Initial population: A user defined initial population is set and is generated randomly. In the present case, the population size is set at 20 (Gold berg 1992). Crossover: This is the next operation in the memetic approach. It partially exchanges information between the two selected strings. In the present approach, each string in the reproduction population is subjected to crossover operation with a specified probability of crossover. The probability of crossover will be changed by a adaptive method. Once the string is chosen for crossover, its mate and crossover site is selected randomly. Crossover for single resource leveling shown in the figure 3

RESULTS AND DISCUSSION
The single resource problem in Kartam and Tongthong is used for validating the proposed method. Figure 5shows the modeling of project activity network with PERTIPM software and Table  2 shows the precedence relations, resource requirements of the project. A memetic algorithm has been used to level the resources and results Fig. 1a and Table 1 shows early schedule of the project, Fig.  1b and Table 3 shows resource leveling chart of proposed memetic algorithm method and Fig. 1c and Table 4 shows resource leveling chart of proposed alternate memetic algorithm method. Kumar and Rajendran obtained improved solution compared to Burgess and Killebrew and Jeetendra and chetty obtained good solution than all others by own heuristic method. The peak requirement of resources is found to be reduced from 14 to 11 resulting in an improvement of 7.8percentage than heuristic method developed by Jeentendra and Chetty. The measure of effectiveness resulted in an improvement of 7 percentages.

CONCLUSION
Resource leveling is an important phase of project scheduling. Cost effective project schedules are obtained by reducing resource fluctuations over the duration of a project. Considering the advantages of modeling power of Petrinet and optimization efficiency of memetic algorithms, a method of modeling a project with petrinet and optimal scheduling by memetic search method is proposed in this paper. Resource leveling algorithms for single level resource are described. Method for local search technique for the crossover and the mutation in single resource leveling procedures makes the algorithm generic and self directive. The procedure is validated with case studies from literature. The proposed methods not only can handle real time changes of the project but also creates competent alternate (it is compared with previous algorithms) resource leveled schedules that provide flexibility to the user.