Managing Project Activities System using Genetic Algorithm

Similar documents
Using Genetic Algorithm with Triple Crossover to Solve Travelling Salesman Problem

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

The Genetic Algorithm for finding the maxima of single-variable functions

Genetic Algorithms. Kang Zheng Karl Schober

CHAPTER 2 CONVENTIONAL AND NON-CONVENTIONAL TECHNIQUES TO SOLVE ORPD PROBLEM

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING

Role of Genetic Algorithm in Routing for Large Network

Solving the Travelling Salesman Problem in Parallel by Genetic Algorithm on Multicomputer Cluster

Introduction to Evolutionary Computation

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization

BI-OBJECTIVE EVOLUTIONARY ALGORITHM FOR FLEXIBLE JOB-SHOP SCHEDULING PROBLEM. Minimizing Make Span and the Total Workload of Machines

Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm

SENSITIVITY ANALYSIS OF CRITICAL PATH AND ITS VISUALIZATION IN JOB SHOP SCHEDULING

Evolutionary Algorithm for Embedded System Topology Optimization. Supervisor: Prof. Dr. Martin Radetzki Author: Haowei Wang

A Genetic Algorithm for Multiprocessor Task Scheduling

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem

Evolutionary Computation Part 2

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

Computational Intelligence

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms

GA is the most popular population based heuristic algorithm since it was developed by Holland in 1975 [1]. This algorithm runs faster and requires les

Genetic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem

A HYBRID APPROACH IN GENETIC ALGORITHM: COEVOLUTION OF THREE VECTOR SOLUTION ENCODING. A CASE-STUDY

Network Routing Protocol using Genetic Algorithms

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

Multi-objective Optimization

Strategy for Individuals Distribution by Incident Nodes Participation in Star Topology of Distributed Evolutionary Algorithms

MINIMAL EDGE-ORDERED SPANNING TREES USING A SELF-ADAPTING GENETIC ALGORITHM WITH MULTIPLE GENOMIC REPRESENTATIONS

Combinational Circuit Design Using Genetic Algorithms

A Tool for Comparing Resource-Constrained Project Scheduling Problem Algorithms

Time Complexity Analysis of the Genetic Algorithm Clustering Method

GENETIC ALGORITHM with Hands-On exercise

Previous Lecture Genetic Programming

Multiobjective Job-Shop Scheduling With Genetic Algorithms Using a New Representation and Standard Uniform Crossover

Optimization Technique for Maximization Problem in Evolutionary Programming of Genetic Algorithm in Data Mining

Adaptive Crossover in Genetic Algorithms Using Statistics Mechanism

Regression Test Case Prioritization using Genetic Algorithm

QUT Digital Repository:

CIS-331 Fall 2013 Exam 1 Name: Total of 120 Points Version 1

Extending MATLAB and GA to Solve Job Shop Manufacturing Scheduling Problems

Task Graph Scheduling on Multiprocessor System using Genetic Algorithm

Optimization of fuzzy multi-company workers assignment problem with penalty using genetic algorithm

A New Selection Operator - CSM in Genetic Algorithms for Solving the TSP

Aero-engine PID parameters Optimization based on Adaptive Genetic Algorithm. Yinling Wang, Huacong Li

Paul POCATILU, PhD Economics Informatics and Cybernetics Department The Bucharest Academy of Economic Studies

Research on Applications of Data Mining in Electronic Commerce. Xiuping YANG 1, a

Study on GA-based matching method of railway vehicle wheels

CHAPTER 5 ENERGY MANAGEMENT USING FUZZY GENETIC APPROACH IN WSN

Automata Construct with Genetic Algorithm

Genetically Enhanced Parametric Design for Performance Optimization

A Genetic Algorithm Applied to Graph Problems Involving Subsets of Vertices

CHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION

SELF-ADAPTATION IN GENETIC ALGORITHMS USING MULTIPLE GENOMIC REDUNDANT REPRESENTATIONS ABSTRACT

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

CHAPTER 4 GENETIC ALGORITHM

C 1 Modified Genetic Algorithm to Solve Time-varying Lot Sizes Economic Lot Scheduling Problem

Path Planning Optimization Using Genetic Algorithm A Literature Review

Massively Parallel Approximation Algorithms for the Knapsack Problem

PATH PLANNING OF ROBOT IN STATIC ENVIRONMENT USING GENETIC ALGORITHM (GA) TECHNIQUE

CIS-331 Exam 2 Fall 2015 Total of 105 Points Version 1

Using Genetic Algorithms to optimize ACS-TSP

Models and Algorithms for Shortest Paths in a Time Dependent Network

Mutations for Permutations

Proceedings of the First IEEE Conference on Evolutionary Computation - IEEE World Congress on Computational Intelligence, June

A Memetic Algorithm for Parallel Machine Scheduling

The study of comparisons of three crossover operators in genetic algorithm for solving single machine scheduling problem. Quan OuYang, Hongyun XU a*

A Genetic Based Algorithm to Generate Random Simple Polygons Using a New Polygon Merge Algorithm

IMPROVING A GREEDY DNA MOTIF SEARCH USING A MULTIPLE GENOMIC SELF-ADAPTATING GENETIC ALGORITHM

CIS-331 Fall 2014 Exam 1 Name: Total of 109 Points Version 1

Heuristic Optimisation

A New Technique using GA style and LMS for Structure Adaptation

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

Genetic Algorithms with Oracle for the Traveling Salesman Problem

Graphical Approach to Solve the Transcendental Equations Salim Akhtar 1 Ms. Manisha Dawra 2

DETERMINING MAXIMUM/MINIMUM VALUES FOR TWO- DIMENTIONAL MATHMATICLE FUNCTIONS USING RANDOM CREOSSOVER TECHNIQUES

Genetic Programming Part 1

A Web-Based Evolutionary Algorithm Demonstration using the Traveling Salesman Problem

Grid Scheduling Strategy using GA (GSSGA)

A LOCAL SEARCH GENETIC ALGORITHM FOR THE JOB SHOP SCHEDULING PROBLEM

Khushboo Arora, Samiksha Agarwal, Rohit Tanwar

Systemic Solutions to Deadlock in FMS

Genetic Algorithm for Job Shop Scheduling

ADAPTATION OF REPRESENTATION IN GP

A Parallel Genetic Algorithm for Maximum Flow Problem

A Genetic Algorithm for the Multiple Knapsack Problem in Dynamic Environment

Encoding Techniques in Genetic Algorithms

Escaping Local Optima: Genetic Algorithm

Optimal Facility Layout Problem Solution Using Genetic Algorithm

A New Algorithm for Solving the Operation Assignment Problem in 3-Machine Robotic Cell Scheduling

Multi-Objective Pipe Smoothing Genetic Algorithm For Water Distribution Network Design

Genetic Algorithm for Circuit Partitioning

CLOSED LOOP SYSTEM IDENTIFICATION USING GENETIC ALGORITHM

Submit: Your group source code to mooshak

Reference Point Based Evolutionary Approach for Workflow Grid Scheduling

A Genetic Approach for Solving Minimum Routing Cost Spanning Tree Problem

Binary Representations of Integers and the Performance of Selectorecombinative Genetic Algorithms

Comparative Analysis of Genetic Algorithm Implementations

Design of an Optimal Nearest Neighbor Classifier Using an Intelligent Genetic Algorithm

Influence of the tape number on the optimized structural performance of locally reinforced composite structures

Transcription:

Managing Project Activities System using Genetic Algorithm MILENA KAROVA, GERGANA TODOROVA, IVAYLO PENEV, MARIANA TODOROVA Department of Computer Science and Engineering Technical University of Varna Studentska Str. 1, 9010 Varna BULGARIA milena.karova@gmail.com Abstract: - A Genetic Algorithms technique is used to optimize project schedule in the present paper. The project schedule is created in Microsoft Project. The developed model is called OPTPROJECT. It is simple and at the same time general enough for optimization of projects, where the high cost activities have to be performed at the end of the project. The proposed application can be used to manage both small and large projects. Key-Words: - Genetic Algorithms, Microsoft Project, Optimization Problem, Software Project Management 1 Introduction A project is a series of tasks that will culminate in creation or completion of some new initiative, product or activity by a specific goal. Usually the projects are connected with an implementation of a strategic goal of the organization. Therefore the project management is of essential importance for each company. It is particularly important at the beginning of a project when the managers must answer the questions what, when, by whom and for how much money needs to be done. Optimize a project schedule is a NP-hard problem, meaning that there are no known algorithms for finding optimal solutions in polynomial time. During the recent years this problem is discussed in a set of articles [1, 2, 4]. Many strategies can be used to solve the problem, including heuristic methods and genetic algorithms. Evolutionary algorithms are often used to conquer NP-hard problems. The studies [4, 10] show that the genetic algorithms are more suitable for schedule optimization than differential evolution. They are better on both speed and quality of the optimization. Genetic algorithm (GA) [9, 11, 12, 13, 14] is travelling in a search space using more individuals so that they are less likely to get stuck in a local extreme like the other methods. They are also easy to implement. However, for some problems, choosing and implementation of encoding and fitness function can be difficult. The disadvantage of genetic algorithms is in the computational time. Genetic algorithms can be slower than other methods. But since the computation can be terminated at any time, the longer run is acceptable, especially with faster computers. The problem solved in this paper is the application of a genetic algorithm for optimization of a project schedule created in Microsoft Project. MS Project is widely used in industry to set up a project schedule but its optimization is done manually assigning a priority number to a task. The developed application OPTPROJECT provides an interface that allows the user to read the XML file created with MS Project, management of GA, obtaining the optimal solution for every performance of GA, output the value of the best - the fitness function and the optimal policy for the implementation of the project activities. The application is implemented using programming language C# and development environment Visual Studio. Net 2008. The UML class diagram is given on Fig. 10. OPTPROJECT can be used to manage both small and large projects of each area of activity, for which the high costs are necessary to carry out at the end of the project. 2 Definition of Project Management Problem If a list of tasks with their duration, relations and constraints, and also a list of available resources and budget for the project are given, the objective of project scheduling is to find such plans that satisfy task durations and relations, resource constraints and budget limits. This problem is known as the Resource Constrained Project Scheduling (RCPS). In RCPS tasks can use multiple resources, and resources can have a capacity larger than one. ISBN: 978-960-474-403-9 218

The usual optimization problem is to minimize the project duration or the project cost. The case when the optimization goal is to schedule tasks within given deadlines, so that the cost for the project should be minimal will be considered, i.e. the tasks with highest costs need to be scheduled as late as possible. It is necessary to find such a set of schedules, so that the contractor has to pay for the resources as close as possible to the deadline of the whole project. A set of constraints has to be met for the solution to be valid: The project has to be finished by the deadline. It is not important that the tasks have to be finished by their deadline; it is however important to meet the project deadline. The resources must not be overbooked. Task relations have to be preserved. Costs for material resources appear at the beginning of the task and costs for work resources at the end of the task. The dates in the projects are not important; it is the duration of the task. Costs for the project have to be paid during the project, but the contractor gets paid at the end of the project. Working resources can be grouped by their skills and every group can have its own price for a time unit, however the price for a resource within a group is the same. The project schedule is often created in MS Project by a Gantt chart, which shows when each activity is performed. MS Project supports a variety of import and export formats. XML is a selfdefining, adaptive language that is used to define and interpret data between different applications, particularly in Web documents. The simple and consistent nature of XML makes it very useful for exchanging data between many types of applications. The main goals to achieve the improvement in scheduling with MS Project are evaluate export from MS Project and find a good optimization algorithm for the given problem. Genetic algorithm [5, 6, 7, 8] provides stochastic search over the parameter space, guided by fitness evaluation towards specific goal. Although relatively slow, GA can handle complex optimization problems, especially when the goal is to find near-best extreme in multi-modal function domain. Genetic algorithm features also global search from many parameter space points and capability to escape from local extreme. The structure of the realized genetic algorithm is shown on Fig. 1. 4 Chromosome Encoding A genotype I is represented by a task list. To create a genotype it starts with a source task, which actually will not be part of the schedule. Each subsequent task is selected randomly among all tasks whose predecessors have already been selected in the sequence of tasks thus maintaining the link between tasks. The selected tasks are marked to not be reused. Each gene in chromosome carries information about: UID unique identifier; s - payments on the start of a task; e - payments for working resources in a task; d duration of a task; Name name of a task; Predecessors a predecessor UID list; Milestone indication of whether the activity is a task or an intermediate stage (milestone). All variables, except the Name and Milestone, are integers. Name is a string, and the Milestone is a Boolean variable. 3 Model Implementation The Resource Constrained Project Scheduling (RCPS) has been proven NP-hard. Genetic algorithms showed good results in RCPS, therefore genetic optimization algorithm is offered to solve this problem. ISBN: 978-960-474-403-9 219

The chromosome chart of Project 1 is shown on Fig.4. UID s e d Name Predecessors Milestone Fig. 4. Chromosome chart 5 Initialization Initial population contains a number of task lists created the way described above. The task list controls itself at the end of the creation process, so all the tasks in the population meets the constraints. Population size N is set by the user in the range from 20 to 100. Fig. 1. The structure of the genetic algorithm Let us consider a project [4] represented by the graph (Fig.2) and the Gantt chart (Fig.3.), which shows when each activity is performed. The project contains two smaller sub-projects. The first subproject contains tasks B, C, D, E, F and the other one contains tasks G, H, I, J, K, L, M. Fig.2. Project 1 G L H M I J K G L H I M J K Fig.5. Example of initial population 6 Fitness function The main goal of the optimization is to schedule heavy tasks later. The fitness function is the sum S of ft in the task sequence. f t = st + et * dt, (1) where p is the position in the task list. S = T f t t=1 (2) The fitness function S is calculated for each chromosome by using (2). For example to compute S of the task sequence I 1 () in Fig.5, first f has to be determined for each task: ( ) = 7 S st + et * dt = t= 1 = (3.1 +16.4.1) + (1.2 +12.6.2) + + (4.3 + 24.4.3) + (0.4 + 2.1.4) + + (1.5 + 8.1.5) + (0.6 + 0.0.6) + + (4.7 + 24.6.7) = 1602 (3) Another individual I 2 is the task sequence G L H M I J K (Fig.5) where S is: Fig. 3. Gantt chart of Project 1 activities ISBN: 978-960-474-403-9 220

( ) = 7 S st + et t= 1 = (3.1+16.4.1) * d + (1.3 +12.6.3) + (1.4 + 8.1.4) + + (0.5 + 2.1.5) + (0.6 + 0.0.6) + + (4.7 + 24.6.7) = 1568 t * p = + (4.2 + 24.4.2) + t (4) Hence I 1 is a better solution than I 2. The objective is to find a chromosome - feasible solution that maximizes the fitness function S and satisfies the constraints specified above. 7 Genetic Operation 7.1 Crossover The first procedure of the genetic algorithm is crossover. This procedure takes two individuals as input, parent 1 and parent 2, combines their genes and produces two new individuals called child 1 and child 2, i.e. the crossing probability is P с =1. A twopoint crossover is applied for which q1 and q2 are random integers with 1 q < 1 q2 J, where J is a number of tasks in the task list. The child1 s task list is determined by taking the task list of the positions i =1,..., q1 from the parent 1. The next tasks are determined by taking the task list of the positions i = q2 +1,..., J from the parent 2. However, the activities already selected may not be considered again. parent1: parent2: G L H I J M K child1: G H L I J M K child2: G L H I M J K Fig. 6. Example of a two-point crossover (q1=3; q2=6) 7.2 Mutation Mutation is applied to every new child, produced by the crossover operator. It modifies the genes of the genotype with probability P m. The user may enter the value of the probability from 0 to 0.99. The mutation strategy is: it is gone through the individual s task list from left to right and activities j i and j i+1 are swapped with probability P m, where i runs from 1 to J-1 (Fig. 7, Fig. 8). The swap is executed only if the resulting task is precedence feasible. That is j i and j i+1 are not swapped if j i is a predecessor of j i+1. child1 before mutation: G H L I J M K child1 after mutation G H I L J M K Fig. 7. Example of mutation of a child1 child2 before mutation: G L H I M J K child2 after mutation: Fig. 8. Example of mutation of a child 2 7.3 Parent selection The best individuals from both old and newly generated task lists are selected as input for next generation. The ranking method is used, i.e. the best N individuals are chosen from a population of 2*N as parents for next cycle (Fig. 9). G H I L M J K S = 1700 S = 1602 G H L M I J K S = 1595 Fig. 9. Example of selection Genetic algorithm evolution stops if reaches the specified maximum number of generations. The program provides the user possibility to set the maximum number of generations in the range from 10 to 100. 8 Description of the developed application OPTPROJECT OPTPROJECT provides an interface that allows the user to obtain the optimal policy for the implementation of the project activities. The input data for OPTPROJECT are: population size, number of generations, probability of mutation, a list with knowledge about the project (the project activities, the links between them and the constraints) as.xml file exported from MS Project. ISBN: 978-960-474-403-9 221

The output data from the application are: the best chromosome got by executing the algorithm and presented in tabular form; the maximum value of the fitness function and the change of the fitness function based on the number of generations, the probability of mutation and the population size. The following classes are created in the developed application OPTPROJECT: 8.1 Class TaskGene This class represents the gene for the task and contains the member variables: UID, s, e, d, Name, Predecessors and Milestone. It has three constructors: a default constructor, explicit constructor and copy constructor. Default constructor sets UID, s, e and d to initial value zero; Name - empty string; Predecessors - value null; Milestone - value false. The explicit constructor receives as parameters the data for the task and saves them in the relevant member variables. The copy constructor receives as a parameter the source gene and copies its member variables in its own member variables. 8.4 Class FitnessForm This class inherits the class Form. It is used to plot the graph of the relationship between the fitness function and the number of generations. 8.5 Class MainForm This class also inherits the class Form. It contains the form with the user interface. Fig. 10 shows a UML class diagram. Measures are taken in program OPTPROJECT to ensure the correctness of the entered data. Only valid numbers can be entered in the text fields for the population size and the probability of mutation. The number of generations is selected from the ComboBox, containing only valid values in the range from 10 to 100. 8.2 Chromosome class This class contains a member variable Genes, which is the class List <TaskGene>. The class has a default constructor that initializes Genes as an empty list and a copy constructor that receives as a parameter the source chromosome and copies its member variable Genes in its own member variable. Chromosome class has two member functions: FitnessFunc and SwapGenes. The FitnessFunc member function calculates the fitness function and returns the result as type decimal. The SwapGenes member function receives as parameters the indices of genes i and j, and swaps locations of the genes. 8.3 Class Chromosome Comparer This class inherits the interface IComparer <Chromosome>. It also contains the function IComparer <Chromosome>. Comparer, which receives as parameters x and y chromosomes and compares their target functions. The function returns -1, if the result of the fitness function x is greater than the target function of y. It returns 1 result in the opposite case, and 0 if the fitness functions are equal. Fig. 10. UML class diagram 9 Test results There are a variety of ways for evaluating and experimenting of the genetic algorithms. There is no single methodology for testing and evaluation. The most studies include subjective assessments based mainly on solved problems. Standard approach does not exist. The present study keeps to the changing of the basic parameters of the genetic algorithm to solve the task of project management. The behavior of the algorithm is investigated and analyzed in case of change of the basic parameters: the number of generations, the number of chromosomes in the population and the probability of mutation Pm. Two different tests are created. First the smaller schedule given on Fig. 2 is tested. An analysis according to the basic parameters is made. Some of the obtained results and the optimal order of execution of the tasks are given below. The ISBN: 978-960-474-403-9 222

optimal sequence of tasks for Project 1 (Fig. 11) and for Project 2 (Fig. 13) are presented. Table 1. Experiments of OPTPROJECT changing the number of generations (Project 1) Number of Best value of generations S 10 2252 40 2353 60 2353 Table 2. Experiments of OPTPROJECT changing the chromosomes in the population (Project 1) Number of the Best chromosomes in value the population of S 20 2253 40 2353 60 2353 Table 3. Experiments of OPTPROJECT changing P m (Project 1) P m Best value of S Generation, which achieves S max 0.06 2353 7 0.07 2353 3 0.08 2353 6 0.1 2353 6 B C D F E G H I J L M K Fig. 11. Obtained optimal sequence of the Project 1 tasks Similar tests are conducted for a larger schedule (Project 2) represented by the schedule in MS Project (Fig.12). Fig. 12. Gantt chart of Project 2 activities Table 4. Experiments of OPTPROJECT changing the number of generations (Project 2) Number of Best value of generations S 10 39056 20 39274 40 39274 Table 5. Experiments of OPTPROJECT changing the chromosomes in the population (Project 2) Number of the Best chromosomes in value the population of S 20 39240 80 39246 100 39248 Table 6. Experiments of OPTPROJECT Changing P m (Project 2) P m Best value of S Generation, which achieves S max 0.06 39406 18 0.08 39406 16 0.1 39406 10 0.5 39406 12 Ba Ja Ca Da Ka La Ea Fa Ga Ha Ma Na Ia Bb Cb Jb Db Eb Gb Kb Hb Lb Ib Fb Bc Cc Dc Hc Ic Ec Fc Jc Gc Fig. 13. Obtained optimal sequence of the Project 2 tasks ISBN: 978-960-474-403-9 223

10 Conclusions and future work The developed application OPTPROJECT provides a convenient graphical interface for managing projects. It allows the user to determine the parameters of the execution of the genetic algorithm depending on his needs. The parameters are: number of chromosomes in a population; number of generations and probability of mutation. Output information derived from the application is presented in an appropriate graphical form. The application can be used to manage new projects in XML format. The user can view detailed results and use them for further analysis of the genetic algorithm. The main advantage of the developed application OPTPROJECT is the possibility of implementing projects of each area of activity which consist of sequential tasks and the high costs have to be carried out at the end of the project. It can be used to manage both small and large projects. As with every application, there are also potential improvements in one or another direction. The future work is related with ability to directly record each resultant graph in Excel for subsequent processing of the results; ability to directly record the results in Word and more detailed Help for work with the application. References: [1] R. Braune, S. Wagner, Applying Genetic Algorithm for the Optimization of the production planning in real World manufacturing environment, 2008. [2] C. Chao, SPMNET: A new Methodology for Software Management, PhD Thesis, The University of Illinois at Chicago, 1995. [3] C. Chatfield, T. Johnson, MS Project 2007 Step by step, Microsoft Press, 2007. [4] D. Martin, Learning Algorithms in Optimization of Project Scheduling in Microsoft Project 2003, Stockholm University, 2005. [5] Edited by L. Darrel Whittley, Foundations of Genetic Algorithms 2, Morgan Kaufmann Publishers, San Mateo, CA, 1993. [6] K. Tang, K. Man, S. Kwong, Q. He, Genetic algorithms and their applications, IEEE Signal Processing Magazine, vol. 13, No. 6, pp. 22-37, Nov., 1996. [7] M. Todorova, B. Boyanov, Genetic Algorithm Based Identification of Linear Distributed Parameter Systems by Finite Difference Technique, International Conference on Computer Systems and Technologies, Sofia, pp. III.18 III.19, 2003. [8] M. Todorova, B. Boyanov, GAO based identification of time varying distributed parameter systems, 4 -th IFAC workshop DECOM-TT 2004, Bansko, Bulgaria, pp. 125-130, October, 2004. [9] R. Devi Priya, S. Kuppuswami, A Genetic Algorithm Based Approach for Imputing Missing Discrete Attribute values in Databases, WSEAS Transactions on Information Science and Applications, Issue 6, Volume 9, E-ISSN: 2224-3402, pp. 169-178, June 2012. [10] J. Magalhães-Mendes, A Comparative Study of Crossover Operators for Genetic Algorithms to Solve the Job Shop Scheduling Problem, WSEAS Transactions on Computers, Issue 4, Volume 12, E-ISSN: 2224-2872, pp. 164-173, April 2013. [11] J. Ohri, N. Kumar, M. Chinda, An Improved Genetic Algorithm for PID Parameter Tuning, Proceedings of the 2014 International Conference on Circuits, Systems, Signal Processing, Communications and Computers (CSSCC '14), Recent Advances in Electrical and Computer Engineering, ISBN: 978-1- 61804-228-6, 2014. [12] M. Angelova, P. Melo-Pinto, T. Pencheva, Modified Simple Genetic Algorithms Improving Convergence Time for the Purposes of Fermentation Process Parameter Identification, WSEAS Transactions on Systems, Issue 7, Volume 11, E-ISSN: 2224-2678, pp. 256-267, July 2012. [13] R. Rahmat, Application of Genetic Algorithm in Optimizing Traffic Control, Recent Advances in Mathematics, ISBN: 978-1-61804-158-6, pp. 241-245, 2013. [14] T. Kalaycı, K. Yıldırım, A. Ugur, Maximizing Coverage in a Connected and K-Covered Wireless Sensor Network Using Genetic Algorithms, International Journal of Applied Mathematics and Informatics, Issue 3, Volume 1, pp. 123-130, 2007. ISBN: 978-960-474-403-9 224