Genetic algorithm for project time-cost optimization in fuzzy environment

Purpose: The aim of this research is to develop a more realistic approach to solve project timecost optimization problem under uncertain conditions, with fuzzy time periods. Design/methodology/approach: Deterministic models for time-cost optimization are never efficient considering various uncertainty factors. To make such problems realistic, triangular fuzzy numbers and the concept of -cut method in fuzzy logic theory are employed to model the problem. Because of NP-hard nature of the project scheduling problem, Genetic Algorithm (GA) has been used as a searching tool. Finally, Dev-C++ 4.9.9.2 has been used to code this solver. Findings: The solution has been performed under different combinations of GA parameters and after result analysis best values of those parameters have been found for the near optimal or sustainable solution. Research limitations/implications: For demonstration of the application of the developed algorithm, a project on new product (Pre-paid electric meter, a project under government finance) launching has been chosen as a real case. The formulation of the model of the problem is developed under some assumptions that have been mentioned in section 5. Practical implications: The proposed model leads decision makers to choose the desired solution under different risk levels. Journal of Industrial Engineering and Management – http://dx.doi.org/10.3926/jiem.410 365 Originality/value: Reports reveal that project optimization problems have never been solved under multiple uncertainty conditions. Here, the function has been optimized using Genetic Algorithm search technique, with varied level of risks and fuzzy time periods.


Introduction
A project is a combination of interrelated activities which must be executed in a certain order before the entire task is completed.The activities are interrelated in a logical sequence which is known as precedence relationship.For the analytical purpose, the activities of a project are represented in a network diagram maintaining precedence relationship to get solutions for scheduling and controlling.The longest continuous path of a project network is called critical path which determines the project duration.The most commonly used project management techniques are Gantt chart, Milestone, Critical Path Method (CPM) and Project Evaluation and Review Technique (PERT).The major objective of project scheduling is to complete the entire project within budget and time constraints.Traditional project scheduling problems mainly focus on activities assuming deterministic or probabilistic time durations.
Project scheduling is the conversion of a project action plan in an operating timetable.It serves as the basis for monitoring and controlling project activity.Taken together with the plan and budget, it is probably the major tool for the management of projects.The basic approach for all scheduling techniques is to form a network of activity and event relationships.Critical path of this network is an important issue for project schedulers, because it refers the duration of whole project.Project managers are highly concerned with this critical path for on time completion of a project, especially when an extension will incur a penalty (either in liquidated damages, opportunity costs and goodwill losses).When some delay have been occurred, there may be necessary to compress the critical activity by incrementing the activity resources above the normal level.It is often the case that the performance of some or all activities can be accelerated, or the duration crashed, by allocating more resources at the expense of higher activity direct cost.This crashing of activities can be achieved by multiple shift work, extended work days, using larger and more productive equipment and increasing the size of labour crews.So, project schedule planners mainly focus on finding the most cost effective way to complete a project within a specified completion time.This class of problem is usually called time-cost trade off.
In real construction projects, time and cost of activities may face significant changes due to existing uncertainties such as inflation, economical and social stresses, labour performance, execution errors of contractor, design errors, natural events such as climate changes and etc.Therefore, total time and cost of project may differ significantly because of these uncertainties.
Almost all of the projects, the required information for estimation of project parameters are either unavailable or incomplete.In practice, the majority of construction companies do not systematically record the durations of project activities.In addition, it is commonly known that no two construction projects are alike.Also in many cases the project is done for the first time, this compels us to use expert opinion in forecasting the project parameters.Experts use their own judgment, experience and project information that is available to them.In practice, linguistic terms such as, "approximately", "more or less", or "about" are commonly found in the statements used by these experts.These terms clearly exhibit some sort of imprecision that naturally leads to a range of possible values, rather than a definitive estimate using a single value.So, uncertainty and project parameters are inextricable.In thesis situation, deterministic models of construction time-cost trade off are not realistic.Crisp decision making in uncertain environment causes loss of some parts of information.Use of uncertain models, whish is capable of formulating vagueness of the dynamic conditions of real world gives more stability to solve time-cost trade off problem.Some probabilistic techniques are used in many cases to meet these uncertainties to some extent.But project parameters may not be in statistical manner.That is why fuzzy set theory is appropriate to consider affecting uncertainties in activity duration, direct and indirect cost of a project.
Since different alternatives of possible durations and costs for the activities can be associated with a project, the problem is arisen to search the best solution.As combinatorial optimization problems, finding optimal decisions is difficult and time consuming considering the number of possible permutations involved.Therefore, any analytical procedure may suit for small project, but it will be inefficient for large project because of exhaustive enumeration.To avoid the problem of combinatorial explosion, heuristic models can be used.It does not ensure the optimality but it gives better near optimal solution without mathematical rigor.
This research aimed at development of an efficient heuristic approach with fuzzy activity time and cost for project time-cost optimization incorporating the vagueness or fuzziness of the dynamic conditions of the real world.

Literature review
Scheduling of project activities with minimum cost is one of the concerned fields of project management to avoid the penalties incurred for delaying the project completion time.Hence, it is becoming as one of the most fundamental and essential bases of research interest of many researchers.
Considering the importance of construction time-cost optimization, various analytical and heuristic methods have been proposed by many researchers in recent decades.Some examples of heuristic approaches are Fondahl's (1961) method, Prager's (1963) structural model, Siemens's (1971) effective cost slope model, and Moselhi's (1993) structural stiffness method.Siemens has developed SAM (Siemens Approximation Method) algorithm which is ideally suited for hand computation and also is suitable for computer solution.
Lakshminarayanan, Gaurav and Arun (2011) developed a meta-heuristic multi-colony ant algorithm for optimization of three objectives time-cost-risk as trade-off problem.
Feng, Liu and Burns (1997) developed a GA model that is an improvement of their earlier linear programming / integer programming model (Liu, Burns & Feng, 1995).The model by Li and Love (1997), on the other hand, was formulated to produce the times, in real numbers, by which each critical activity should be reduced.The study did not consider the formation of other critical paths during the crashing process and was limited to continuous, as opposed to discrete, variables for crashing times.Hegazy (1999) developed a practical GA model by implementing the GA protocols within Microsoft Project.This model has demonstrated an improvement over the previous GA models.Zheng, Ng and Kumaraswamy (2004) has introduced a multi-objective model by using genetic algorithms integrates the adaptive weight derived from previous generations and induces a search pressure toward an ideal point.Chua, Chan and Govinda (1997) proposed a time-cost trade-off model using genetic algorithm.Li, Hussein and Lei (2011) proposed a methodological framework including optimization, sensitivity analysis, and improved GA for build-operate-transfer projects.However, the above mentioned time-cost trade-off models mainly focus on deterministic environment.
Uncertainties (such as inflation, economical and social stresses, execution errors of contractor, design errors, natural events as climate changes, etc.) in the problem have received less attention due to its complexity.These uncertainties cause changes in durations and cost of activities and hence total cost of project may differ significantly.Because of its practical relevance researchers have recently begun to pay special attention to uncertain scheduling.Han, Chung and Liang (2006) has used fuzzy critical path method to improve fuzzy airport's ground operation decision analysis assuming fuzzy activity times as trapezoidal fuzzy number.
They also utilized a fuzzy ranking method developed by Ling and Han (2004) in fuzzy CPM.Chanas and Zielinski (2001) presented two of calculation of the path degree of criticality with application of the extension principle of Zadeh.Liu (2003) formulated the critical path and the project crashing problems by linear programming with fuzzy activity times and then defuzzify the fuzzy activity times following Yager's (1981) ranking method.Lorterapong and Moselhi (1996) presented an approach of project-network analysis based on fuzzy sets theory.His approach overcomes the limitations of backward pass calculations to compute project completion time with uncertainty.To solve time-cost trade-off problem, Ghazanfari (2008) developed an approach by possibility goal programming with fuzzy decision variables.It could not fully satisfy the real field problem of time-cost trade-off problem as crashing costs are crisp.Leu, Chen and Yang (2001) incorporated fuzzy set theory with genetic algorithms to model uncertainty in time-cost trade-off problem.Project scheduling with resource consideration was also developed by Leu, Chen and Yang (1999).Abbasnia, Afshar and Eshtehardian (2008) have investigated fuzzy logic based approach called Non-dominated Sorting Genetic Algorithm (NSGA) for time-cost trade-off problem in uncertain environment.This model cannot fully meet uncertainty of practical problem.
Other than fuzzy time-cost trade-off problem, a probabilistic model has been developed by Arazon, Perkgoz and Sakawa (2005) in PERT network using a genetic algorithm.Another analytical method that combines fuzzy set theory with the PERT technique for measuring the criticality in a project network was developed by Chen and Huang (2007).

Concept of fuzzy numbers
There are different forms of fuzzy numbers.This paper only considers triangular fuzzy numbers that can be defined by a triplet

Concept of alpha ()-cut
The -cut is a commonly used method to connect the principles of fuzzy sets with a collection of crisp sets, which can in turn be fed into most of the existing systems.Given a fuzzy set A defined on X and any number is the crisp set as defined by: That is, the -cut of a fuzzy set A is the crisp set A  that contains all the elements of the universal set X whose membership grades in A are greater than or equal to the specified value of  which is clearly explained by Figure 1.
In this paper, -cut is known to incorporate the experts or decision makers' confidence over his preference or the judgments. =1 means the expert is highly certain about his knowledge regarding a phenomenon over which he expresses his preferences then the outcome will be a single value having the membership 1 in the fuzzy performance set.When  <1, it indicates there exist uncertainty. =0 expresses the highest level of uncertainty.Actually  represents the degree of risk that the managers is prepared to face.

Genetic algorithm (GA)
Genetic algorithm is a heuristic search approach that provides a means of optimization of NPhard problems.These procedures combine an artificial survival-of-the-fittest strategy with genetic operators abstracted from nature (Goldberg, 1989), to form a mechanism that is suitable for a variety of optimization problems.The theory behind GA is that a population of certain species will, after many generations of random evolutions, adapt to live better in its environment.GA solves optimization problems in the same fashion.This procedure begins by

Problem formulation
The objective of this model is to find the optimal combination of activity durations with minimum total project cost at different risk levels (-cut levels) so that the project can be completed within a specified project duration selected from feasible project time spectrum.
The mathematical model is expressed as follows:  2) restricts the project must be finished within the targeted duration.Equation (3) ensures each activity time is restricted between minimum crash duration and maximum normal duration.This model is formulated on the basis of some assumptions.These are all activities are crashable, normal and crash activity durations are characterized by triangular fuzzy numbers, direct and indirect cost rates are also characterized by triangular fuzzy numbers, durations of activities are considered only integer values within its range, direct cost rates are decreased and indirect cost rates are increased as activity duration increases in fuzzy nature, and resources are not limited.

Fuzzy relationship between time and cost
Figure 3 depicts the concept of activity durations and their corresponding costs generation procedure.The activity duration can be divided into three regions-crash time (region-1), normal time (region-2) and overlapping time (region-3) as in Figure 3(a).Within the crash time, the activity needs to be performed in a crash mode, i.e., it needs to spend great deal of effort to reduce the time.Within the normal time, the activity can be finished in normal mode.
The cost in a crash mode is generally higher than that in a normal mode since more resources are needed to invest in the activity so as to finish as early as possible.When the activity time falls within the overlapping region, it can be performed in either normal mode or crash mode.
But it is reasonable to finish the activity in normal mode as it will be cost effective.
At a specific -cut level, points h, g, f, e in Figure 3  With the objective function, total project duration is determined by the critical path and the total cost of the project can be calculated at a specific -cut level.To test the feasibility of the solution, project duration is compared with targeted completion time.The fittest solution would be the solution which has minimum total cost.also taken as input.After evaluating the fitness function, probability p i and cumulative probability q i for i chromosomes (where i = 1, 2, 3, ….) have been calculated.Roulette wheel mechanism is used to select chromosomes which will undergo breeding to create next generation.
In order to exploit and explore potential solutions, genetic algorithm generates possible chromosomes by using crossover and mutation operators.Single-point crossover is used in this solution.A crossover rate pc is taken indicates how many chromosomes will undergo the crossover operation.Figure 4 shows single-point crossover operation.Here, offspring 1 and offspring 2 have been created from their parent chromosomes by exchanging all bits after randomly chosen crossover point (crossover point is 3).p is used to control the percentage of bits on which mutation is applied.The bits in chromosomes are selected at random which will undergo the mutation operation.The selected bits will be swapped with the randomly selected activity duration within its acceptable region at the specified α-cut level.A generation is completed and a new set of population (offspring) has been created.Evaluate the fitness function value for the new population and save the best value.This process of reproduction will continue until predefined number of generations (stopping condition) is met.The overall GA problem solving approach is represented in Figure 5.
Figure 5. GA problem solving approach

A case study and result analysis
The project on launching of a new product (pre-paid electric meter, a project under the government finance) is presented with a 7-activity CPM network (AOA diagram) illustrating project scheduling with time-cost trade-off problem.The precedence relationships of the network are depicted in Figure 6.The durations, direct and indirect cost rates for both normal and crash modes of each activity are shown in Table 1.The optimistic and pessimistic project duration margins with different values of -cut levels are defined in Table 2 and Figure 15,17,20 25,27,30 300,400,445 150,200,250 70,70,12,15 13,16,20 200,250,260 100,120,130 20,20,20 C Materials and component procurement 15,16,20 16,20,26 200,250,300 80,120,170 60,60 Table 3.Effect of -cut value on the optimum solution An analysis found that as the alpha-cut value increases, the total cost of a project also increases (see Figure 8).It is because, the choice become limited for the selection of smaller value from possible duration of each activity to reduce the total cost of the project.
Alternatively, it can be said that total cost of a project increases with the risk level (-cut value) increases.The problem was resolved under different combinations of GA parameters.After analysis of results, optimum values of those parameters were found.
The performance of the presented GA based algorithm can be further analyzed in terms of CPU time by comparing it with other best known algorithms for project time-cost optimization.

triangle
The parameter b is the centre point, a and c are two base points as in Figure1.It shows that degree of membership of a, b and c are 0, 1 and 0 respectively.

Figure 1 .
Figure 1.Triangular fuzzy membership function and -cut level Figure 2. The GA process

===
Project duration at a specific -cut level D = Permissible maximum project duration min i d  = Minimum duration of activity i at a specific -cut level finished in crash low i d Minimum duration of activity i at a specific -cut level finished normally max i d Maximum duration of activity i at a specific -cut level finished normally Equation (1) indicates the total project cost.Equation ( (b) represent corresponding direct cost rates of points a, c, b and d in Figure 3 (a) respectively.In case of indirect cost, points i and k in Figure 3 (c) represent corresponding indirect cost rates of points a and d in Figure 3 (a) respectively.Direct and indirect cost rates of other durations in the acceptable region are then calculated.These cost rates are used to determine the total costs (direct cost  indirect cost) of each activity which are the inputs of the next steps.

Figure 3 .
Figure 3. Fuzzy relationships between time and cost of an activity 7. Only integer activity times have been considered to estimate project duration.The region bounded by the optimistic and pessimistic margins is the possible project duration spectrum for construction time-cost trade-off.

Figure 6 .
Figure 6.CPM network of the project on new product (Pre-paid electric meter, a project under government finance) launching

Figure 8 .Figure 9 .
Figure 8. Impact of alpha-cut level on project total cost

Table 1 .
Durations and cost rates of activities of the project on new product Pre-paid electric meter, Two folders were created: one is input folder and the other is output folder.All inputs are given into the input folder.GA operational parameters are given as input through dialogs and the all output data are exported to output folders for data analysis.Table3shows the results produced with the parameters set as number of initial population = 100, generation number = 10,000, project completion time  55 days.Here, -cut value was varied.The best result was found at crossover rate = 0.8, and mutation rate = 0.1.For -cut value=2, the result reveal that under time constraint of 55 days, the project manager should try to complete this project within 55 days with cost of Tk.16384.3considering 0.2 (lower) risk levels.
Figure 7. Possible project duration spectrums of the projectThe proposed GA based fuzzy time-cost optimization solver was coded in Dev-C++ 4.9.9.2 and run on a personal computer having Intel(R) Pentium(R) Dual CPU E2200 @ 2.20GHz and 2GB of RAM.