Issuu on Google+

International Journal of Mathematics and Computer Applications Research (IJMCAR) ISSN 2249-6955 Vol. 2 Issue 4 Dec 2012 25-32 Š TJPRC Pvt. Ltd.,



Research Scholar, Presidency College, University of Madras, Chennai, India 2



Associate Professor of Mathematics, Presidency College, Chennai, India

Professor of Mathematics, Karpaga Vinayaga College of Engineering and Technology, Chennai, India

ABSTRACT In this paper flexible job-shop scheduling problem (FJSP) is studied in the case of optimizing different contradictory objectives consisting of: (1) minimizing make span, and (2) minimizing total workload. This problem consists of two sub-problems, the routing problem and the sequencing problem and is among the hardest combinatorial optimization problems. As the problem belongs to NP-Hard class problems, we propose an Evolutionary Algorithm (EA) for the FJSP which several different rules for generating the initial population and several strategies for producing new population for next generation. Proposed EA is tested on benchmark problems and with due attention to the results of other meta-heuristics in this field, the results of EA show that our algorithm is effective and comparable to the other algorithms.

KEYWORDS: Bi-Objective, Evolutionary Algorithm, FJSP INTRODUCTION Evolutionary Algorithms (EAs) such as evolutionary strategies and evolutionary algorithms have become the method of choice for optimization problems that are too complex to be solved using deterministic techniques such as linear programming or gradient (Jacobian) methods. The large number of applications (Beasley (1997)) and the continuously growing interest in this field are due to several advantages of EAs compared to gradient based methods for complex problems. EAs require little knowledge about the problem being solved, and they are easy to implement, robust, and inherently parallel. To solve a certain optimization problem, it is enough to require that one is able to evaluate the objective function for a given set of input parameters. Because of their universality, ease of implementation, and fitness for parallel computing, EAs often take less time to find the optimal solution than gradient methods. However, most real-world problems involve simultaneous optimization of several often mutually concurrent objectives. Multi-objective EAs are able to find optimal trade-offs in order to get a set of solutions that are optimal in an overall sense. In multi-objective optimization, gradient based methods are often impossible to apply. Multi-objective EAs, however, can always be applied, and they inherit all of the favorable properties from their single objective relatives. There are many (possibly conflicting) objectives to be optimized simultaneously, there is no longer a single optimal solution but rather a whole set of possible solutions of equivalent quality. Multi-objective EAs can yield a whole set of potential solutions - which are all optimal in some sense. Evolutionary algorithms are well suited to multiobjective optimization problems as they are fundamentally based on biological processes which are inherently


M. Nagamani, E. Chandrasekaran & D. Saravanan

multi-objective. Finding good solutions to scheduling problems is of great importance to industry, since the production rate and expense of a production plant depend on the schedules used for controlling the work in the plant. Job-shop scheduling problem (JSP), which is among the hardest combinatorial optimization problems [1], is a branch of production scheduling. It is well known that this problem is NP-hard [2]. The classical JSP schedules a set of jobs on a set of machines with the objective to minimize a certain criterion, subjected to the constraint that each job has a specified processing order through all machines which are fixed and known in advance. Flexible job-shop problem (FJSP) is an extension of the classical JSP that allows one operation which can be processed on one machine out of a set of alternative machines. So, this kind of scheduling problem reduces machine constraints, and enlarges searching scope of practicable solutions. Flexible job shop scheduling problem have many applications in competitive environment. Flexible job shop scheduling is applicable for flexible manufacturing systems. Bruker and Schlie (1990) were among the first to address this problem [3]. It is closer to the real manufacturing situation. Because of the additional needs to determine the assignment of operations on the machines, FJSP is more complex than JSP, and incorporates all the difficulties and complexities of JSP. The problem of scheduling jobs in FJSP could be

decomposed into two sub-problems: a routing sub-problem, which is assigning each

operation to a machine out of a set of capable machines and a scheduling sub-problem, which is sequencing the assigned operations on all selected machines in order to obtain a feasible schedule with optimized objectives [4]. For solving the realistic case with more than two jobs, two types of approaches have been used: hierarchical approaches and integrated approaches. In hierarchical approaches assignment of operations to machines and the sequencing of operations on the resources or machines are treated separately, i.e., assignment and sequencing are considered independently, wherein integrated approaches, assignment and sequencing are not differentiated. In this paper, a memetic algorithm is applied to a flexible job shop scheduling problem in which two objectives of make span and the total workload of machines has been considered. Unlike other similar works that have integrated the contradictory objectives by weighting method, a compromise programming approach is used to deal with these three objectives. The effect of applying compromise programming method is compared with weighting method. The remainder of this paper is organized as follows: The notation and problem description are introduced in section 2. Section 3 describes evolutionary algorithm for global search and hill climbing for local


In section 4, computational

experiments performed with proposed approach are reported followed by the comparison with other heuristic methods. Finally some concluding remarks are made in section 5.

PROBLEM DEFINITION In the flexible job shop scheduling, we have two challenges. The first one is to assign each operation to a machine, and the second one is to sequence the operations on each machine in order to minimize make span. The flexible job shop scheduling problem can be defined by: There are n jobs, indexed by i, and these jobs are independent one of each other. Each job i has an operating sequence, denoted by Ji (precedence constraints). Ji also denotes the i-th job if no confusion. Each operating sequence is an ordered set of operations Oi,j for j = 1,. . . , l i . There are m machines, indexed by k (the k-th machine is denoted by Mk ).


Bi-Objective Evolutionary Algorithm for Flexible Job-Shop Scheduling Problem Minimizing Make Span and the Total Workload of Machines

For each operation Oi,j , there is a set of machines capable of performing it. The set is denoted by Mi,j, M i , j

∈{1, ..., m} (routing constraints), if there is. In this paper, the following criteria are to be minimized: (1) the maximal completion time of machines, i.e., the make span (f ); (2) the total workload of machines, which represents the total working time over all machines (f ) In scheduling problems make span have a key role and it is used in objective function. If make span reduce, the order can be delivered to customer earlier. Second criterion leads to reduce the total working time of overall machines. It is clear that both criteria conflict together. During the process of solving this problem, the following assumptions are made: (1) Each operation cannot be interrupted during its performance (non-preemptive condition); (2) Each machine can perform at most one operation at any time (resource constraint); between operations are negligible; (3) Each machine becomes available to other operations once the operations which are currently operations of different jobs. (4) All machines are available at t = 0. (5) All jobs can be started at t = 0. (6) The precedence constraints of the operations in a job can be defined for any pair of operations; (7) Machines are independent from each other; (8) Setting up time of machines and move time any time (resource constraint); between operations are negligible; (9) There are no precedence constraints among operations of different jobs. (10) Neither release times nor due dates are specified.

THE SOLUTION ALGORITHM In this study, an evolutionary algorithm for solving the flexible job-shop scheduling problem (FJSP) is presented. This algorithm uses several different rules for generating the initial population and several strategies for producing new population for next generation. Evolutionary Algorithm: Different main schools of evolutionary algorithms have evolved during the last 40 years. Problems with multiple objectives arise in a natural fashion in most disciplines and their solution has been a challenge to researchers for a long time. Despite the considerable variety of techniques developed in Operations Research (OR) and other disciplines to tackle these problems, the complexities of their solution calls for alternative approaches. The use of evolutionary algorithms (EAs) to solve problems of this nature has been motivated mainly because of the population-based nature of EAs which allows the generation of several elements of the Pareto optimal set in a single run. Additionally, the complexity of some multi-objective optimization problems1

(MOPs) (e.g., very large search spaces,

uncertainty, noise, disjoint Pareto curves, etc.) may prevent use (or application) of traditional OR MOP- solution techniques. Evolutionary algorithms evolutionary programming are inspired by the same principles of natural evolution. These algorithms have been applied in a number of fields, e.g., mathematics, engineering, biology, and social science. EAs


M. Nagamani, E. Chandrasekaran & D. Saravanan

are intelligent stochastic optimization techniques based on the mechanism of natural selection and genetics. EAs start with an initial set of solutions, called population. Each solution in the population is called a chromosome (or individual), which represents a point in the search space. A chromosome consists of some genes. EAs work iteratively, each single iteration is called a generation. At each generation, the fitness of each chromosome is evaluated, which is decided by the fitness function, and the chromosome is stochastically selected for the next generation based on its fitness. New chromosomes, called offspring (or children), are produced by two evolutionary operators, crossover and mutation. The offspring are supposed to inherit the excellent genes from their parents, so that the average quality of solutions is better than that in the previous generations. This evolution process is repeated until some termination criteria are met.

Proposed EA Approach: The proposed EA steps are as follows: Inputs {EA Parameters} Step 1. Generate initial population randomly according to the encoding scheme. Step 2. Compute Cmax , Max WL, ∑WL and then evaluate each chromosome by fitness function. Step 3. Perform crossover and mutation operations on the population at hand and then generate new population. Step 4. Perform hill climbing procedure on each chromosome. (a) Search the neighborhood subset to find the best possible solution. (b) If the solution is of better Cmax then repeat (a), else go to step 5. Step 5. Extract the best found fitness function. Step 6. If the termination criterion is not met go to step 4; otherwise, go to step 3. The termination criterion is a predefined number of generations. Initial Population Generation: The initial chromosomes are obtained by a random procedure. Fitness Function Chromosomes in the population will be evaluated by the objective function which is a combination of f1, f2 and f3 according to the description in Section “problem formulation�. In this paper the global criterion method is used to transform the different objectives into one objective. Accordingly,


combined objective function can be

expressed as, Chromosome Representation: In order to perform our algorithm, we use a string of triples (i, j, k), proposed by Kacem et al. (2002a), one for each operation, in which 1.

i is the job that operation is belong to;


j is the progressive number of that operation within job i


k is the machine assigned to that operation The length of the string equals to the total number of operations. For example, for the problem explained in Table

Bi-Objective Evolutionary Algorithm for Flexible Job-Shop Scheduling Problem Minimizing Make Span and the Total Workload of Machines


1, a feasible solution can be represented like this: (1, 1, 1), (3, 1, 3), (2, 1, 2), (3, 2, 1), (2, 2, 3), (1, 2, 2), (1, 3, 2), (2, 3, 1), (2, 4, 2). The Gantt chart of this solution is shown in Fig. 1. Evolutionary Operators: To generate the next population, the crossover and mutation evolutionary operators are applied. We employ four evolutionary operators that can be divided to assignment operators and sequencing operators. Assignment operators which only change the assignment nature of the chromosomes and the sequencing of operations is preserved. Sequencing operators which only change the sequence of operations in the chromosomes and the assignment of operations is kept.

Fig. 1: Gantt Chart

Fig. 2: Illustration of the Reordering Mutation

Mutation Operators: In this study, we employ two mutation operators namely, assignment mutation and reordering mutation. Assignment mutation only exchanges the assignment of a single operation in a single parent. In reordering mutation, we select two positions and reorder the operations between randomly, with observing the precedence constraints, as shown in Fig. 2. Crossover Operators: We also apply two crossover operators, precedence preserving order-based crossover (POX) operator of Lee et al. (1998) and assignment crossover. In POX generates two children starting from two parents. First, POX selects an operation from the first parent, copies in the first child all the operations of the job which the selected operations belong to, then complete this new individual with the remaining operations, in the same order as they appear in the second parent. The symmetric process is repeated for the second parent and the second child. POX preserves the sequencing constraints (Pezzella et al., 2008). Assignment crossover exchanges the assignment of the subset of operations between the two parents and generate new individual.

COMPUTATIONAL RESULTS EA is powerful stochastic global search and optimization methods, which are also inspired from the nature like the PSO. Evolutionary algorithms mimic an evolutionary natural selection process. Generations of solutions are evaluated according to a fitness value and only those candidates with high fitness values are used to create further solutions via crossover and mutation procedures. Both methods are valid and efficient methods in numeric programming and have been employed in various fields due to their strong convergence properties. We coded proposed EA by C++ language and implemented it on a 2 GHz Pentium IV processor, with 256 MB RAM. Four representative instances based on practical


M. Nagamani, E. Chandrasekaran & D. Saravanan

data have been selected. Each instance mentioned can be characterized by the following parameters: number of jobs (n), number of machines (m), and each operation Oi,j of job i. Four problem instances (problem 4 × 5, problem 8 × 8, problem 10 × 10, and problem 15 × 10) are all taken from [8,9]. In order to attain the star objectives that that are the best solutions found for each single objective function, very instance is run for 100 times. Then each instance according to its scale is run between 10-50 times and all among solutions with the best objective function the most repeated solution is returned.

Fig. 3: Non-Dominated Points for EAs—Function

CONCLUSIONS In this paper, a evolutionary algorithm investigated for solving flexible job-shop scheduling problem. In this study, the proposed approach is explained in detail by solving benchmark problems and programmed in C++ language. Our EA is effective to overcome the mentioned problems. Obtained results are comparable properly with the best results of other authors.


Baykasoglu, A., Ozbakir, L., Sonmez, A.I., "Using Multiple Objective Tabu Search and Grammars to Model and Solve Multi-Objective Flexible Job-Shop Scheduling Problems." Journal of Intelligent Manufacturing, Vol. 15(6), 2004, pp. 777–785.


Garey, M.R., Johnson, D.S., Sethi, R., "The Xomplexity of Flow Shop and Jobshop Scheduling," Mathematics of Operations Research, Vol. 1, 1976, pp. 117–129.


Bruker, P., Schlie, R., "Job Shop Scheduling with Multi- Purpose Machine", Computing, Vol. 45, 1990, pp. 369–375.


Xia, W.J., Wu, Z.M., "An Effective Hybrid Optimization Approach for Multiobjective Flexible Job-Shop Scheduling problems," Computers and Industrial Engineering, Vol. 48(2), 2005, pp. 409–425.


Brandimarte, P., "Routing and Scheduling in a Flexible Job Shop by Taboo Search,". Annals of Operations Research, Vol. 41(3), 1993, pp. 157–183.




"A Hierarchical Approach for the FMS Scheduling Problem," European Journal of

Operational Research Vol. 86, 1995, pp. 32-42.

Bi-Objective Evolutionary Algorithm for Flexible Job-Shop Scheduling Problem Minimizing Make Span and the Total Workload of Machines




E.l., Lenstra, J.K., Rinnooy Kan, A.H.G., Shmoys, D.B., “Sequencing and Scheduling:

Algorithms and Complexity,” In S. C. Graves et al. (Eds.), Logistics of production and inventory Amsterdam: North Holland, 1993, pp. 445–522. 8.

Kacem, I., Hammadi, S., Borne, P., "Approach by Localization and Multiobjective Evolutionary Optimization for Flexible Job-Shop Scheduling Problem," IEEE transactions on systems, man, and cybernetics, Part C, Vol. 32(1), 2002, pp. 1–13.


Kacem, I., Hammadi, S., Borne, P., "Pareto-Optimality Approach for Filexible Job-Shop Scheduling Problems : Hybridization of Evolutionary Algorithms and Fuzzy Logic," Mathematics and Computers in Simulation, Vol. 60, 2002, pp. 245–276.