A Hybrid Evolutionary Algorithm for Discrete Optimization

Most of the real world multi-objective problems demand us to choose one Pareto optimal solution out of a finite set of choices. Flexible job shop scheduling problem is one such problem whose solutions are required to be selected from a discrete solution space. In this study we have designed a hybrid genetic algorithm to solve this scheduling problem. Hybrid genetic algorithms combine both the aspects of the search, exploration and exploitation of the search space. Proposed algorithm, Hybrid GA with Discrete Local Search, performs global search through the GA and exploits the locality through discrete local search. Proposed hybrid algorithm not only has the ability to generate Pareto optimal solutions and also identifies them with less computation. Five different benchmark test instances are used to evaluate the performance of the proposed algorithm. Results observed shown that the proposed algorithm has produced the known Pareto optimal solutions through exploration and exploitation of the search space with less number of functional evaluations.


INTRODUCTION
Optimization problem is characterized by one or more functional objectives and is associated with a solution space.The idea is to identify Pareto optimal solutions from the solution space by either maximizing or minimizing the given objectives.These problems are classified as continuous and discrete with respect to the type of information available in the solution space as continuous real values or discrete finite values.Complex continuous optimization problems can be solved by computing the derivatives whereas the discrete optimizations require choosing an optimal value from fixed set of solutions (Neumann and Witt, 2010).
Discrete optimization problems are computationally hard to solve and are mostly NP-hard problems.Applications like project scheduling, production scheduling, man power planning, vehicle outing, telecommunication routing, production facilities design, job Scheduling, space shuttle scheduling, database query design are few of such discrete combinatorial optimization problems (Du and Panos, 1999;Yu, 1998).
Flexible Job Shop Scheduling Problem (FJSSP) is a popular combinatorial (discrete) optimization problem (Jain and Meeran, 1999).This problem is characterized with n jobs and m machines, where each job will have several levels of operations.Only when all the operations of a job are completed, the job is said to be completed.Operations of one job can be assigned to any machine and the machine has the capability to complete it, hence the problem is named as flexible job shop scheduling.The FJSSP has to deal with the operation sequencing and machine assignment to complete the jobs.

Problem formulation:
The multi-objective FJSSP is formulated as follows (Chiang and Lin, 2013;Ho et al., 2007):  There are n jobs and m machines. Each job j, will have n j operations, where 0≤ j≤n, in a predetermined sequence. Operation O ji of job j has to be processed by the machine m ji from the set of machines M ji . A priori known constant processing time of O ji in machine k ∈M ji is P jik and C ij is its completion time.
An operation O ji is taken for processing only when its preceding operation O (j-1)i of same job is completed, where 0≤i≤n j . Each machine can process one operation at a time without interruption. All jobs are ready at time 0 and all machines are continuously available.
The three minimizing objectives considered in this work are makespan, total work load and maximum work load.Makespan is the time taken to complete all jobs, total work load is the total time taken by all the machines to complete the jobs and maximum work load is the machine with the largest work load.The set of operations processed by machine k is given by O k where 1≤k≤m, O k = {o ji |m ji = k, 1≤ j≤n, 1≤i≤n j }.The functional objectives are given by: The aim of this study is to generate Pareto optimal schedules that minimize the above three objectives.
Memetic/hybrid GA: FJSSP is a multi-objective optimization problem with more than one conflicting objectives.When such problems are solved there will not be a single unique solution instead, a set of optimal solutions that are superior to other solutions in the search space is required.Evolutionary Algorithm (EA) is a stochastic optimization approach that works with a population of individuals to optimize multiple objectives simultaneously.Genetic Algorithm (GA) is a kind of evolutionary algorithm that is inspired by natural selection.EA or GA in specific is designed to explore the search space globally and said to lack in fine tuning of individuals that is, in exploiting the search space (Krasnogor and Smith, 2005).To overcome this known drawback of EA, it can be combined with other optimization techniques to enhance the exploitation of the search space.A hybrid or Memetic algorithm (Moscato, 1989) is the combination of a global and a local optimization technique.Several hybrid algorithms have been designed and are used to solve continuous multi objective optimization problems.In this study we have designed a hybrid algorithm for a discrete problem like FJSSP, where the hybrid approach combines a global search and local search technique together.The objective of this hybrid algorithm is to optimize the three objectives of FJSSP and to generate a schedule of n jobs in m machines in an optimal manner.

LITERATURE REVIEW
Discrete optimization techniques: Branch and bound, rounding-off, penalty function approach, cutting plane, simulated annealing, genetic algorithms, neural networks, Langragian relaxation methods are some of the discrete optimization algorithms (Mahfouz, 1999).Algorithms like GA based approaches can also work with continuous problems and are hence considered to be adaptable.We have used GA in the proposed work because of its versatility and tendency to get integrated with other optimization techniques.
Review on approaches used to solve multi objective FJSSP: Kacem et al. (2002a) has applied two approaches, approach by localization, that designs an ideal assignment model for jobs and controlled evolutionary approach that work upon the assignment made already.Kacem et al. (2002b) has proposed a hybrid method that combines EA with fuzzy logic to solve FJSSP.This hybrid approach was designed to work in two stages, a fuzzy multi-objective evaluation stage and an evolutionary multi-objective optimization stage.Several test instances were used to evaluate his approach.Li-Ning et al. (2010) has adopted a two level strategy to solve FJSSP, knowledge model and heuristic model.Heuristic model performs the global search using Ant colony optimization, whereas the knowledge model learns from optimization and use them to guide the current searching.
Ho and Tay ( 2008) have combined GA with guided local search to schedule the optimization problem.A branch and bound has also been used to find the lower bounds of this multi-objective problem.Li et al. (2011) has proposed a hybrid Pareto based Artificial Bee Colony algorithm, where a food source represents both the routing and scheduling component of the schedule.
Local search was applied both on the routing component and scheduling component of the food source.Local search is performed in this algorithm during the employed bee phase.Wang et al. (2010) introduced an improved GA based immune and entropy approach to solve multi-objective FJSSP, where two principles immune, entropy are used to generate diverse set of solutions and designed to avoid premature convergence.Antibodies are considered as the individuals and antigens are the objectives to be improved.Li et al. (2010) has designed a new hybrid search algorithm HTSA, which performs a Tabu search to explore neighbouring individuals on the machine assignment module.Variable neighbourhood search is also applied to perform local search on operation scheduling component.

MATERIALS AND METHODS
Proposed algorithm: Hybrid GA with DLS for FJSSP: A new hybrid Genetic algorithm has been devised to handle the discrete optimization problem, FJSS.This hybrid approach incorporates both global and local search together in-order to improve the quality of the individual.Aim of this algorithm is to schedule n jobs and m machines in a flexible manner so that the makespan, total work load and maximum work load are minimized in lesser number of functional evaluations.Hybrid GA for FJSSP is given in Algorithm 1. Proposed algorithm has been adapted from NSGA-II.
Initialization: Population is initialized with individual chromosomes.In this study 3-tuple encoding method  1.There are 4 jobs and are assigned to 5 machines, where tuple (0 0 4) is the first operation to be processed that is, 0 th operation of job 0 is assigned to machine 4. (0 th ) operation of job 2 is assigned to machine 2 and so on.A chromosome encodes all the operations of all the jobs to be completed.
Re-sequencing: After encoding, the individuals are decoded by Giffler Thomson method.This method avoids unnecessary delays by re-ordering the genes of the chromosomes.After GT, re-ordered chromosomes are considered to be active schedules once the GT reordering is over, the chromosomes are re-sequenced using two prominent methods and Most Operation Remaining (MOR) and Most Processing time Remaining (MPR).MOR arranges the operations in the chromosome with respect to number of pending operations of the same job, whereas the MPR, places the operations with respect to the amount of remaining processing time required by the job to be completed.The proposed algorithm used 40% of population to follow the MOR, 40% of MPR and remaining followed the random dispatching of jobs (Pezzella et al., 2008).
Evaluation step computes the three functional objectives, makespan, total work load and maximum work load.Non dominated sorting is applied to arrange the individuals in non-domination order and assign fronts for each individual in the population.To generate wide spread Pareto solutions, individuals from less crowded region of search space are given significance during the evolution, for which the crowding distance is calculated.This gives the distance of an individual from its neighbouring individuals.Binary tournament selection is applied to select the parents for crossover operation.For the crossover, three different crossovers are applied in the proposed algorithm.They are Simulated Binary Crossover (SBX), Assignment Crossover (ASX) and Precedence Preserving Order based Crossover (POX).Randomly any one of the three crossovers is applied on the selected parent chromosomes to generate a new offspring.Polynomial mutation is used if SBX is the crossover operator otherwise Precedence Preserving Shift (PPS) mutation is applied on the chromosome.

Discrete local search:
This search is designed to improve the solution quality yielded by global search in less number of functional evaluations.It starts with an individual and examines the individuals at its locality and picks the best in it.The locality or the neighbourhood space in this problem is defined by the number of machines.

Neighbourhood individual selection:
An operation i of job j which is assigned to machine k, is taken as the starting point, its neighbourhood will be k * = {k * ≠ k|1, 2... m}, where m is the number of machines.Criterion that is used to choose the next step is the processing time.The neighbour individual is selected if its processing time is less when compared with others.In real time, it is equivalent to releasing the operation i of job j from machine k to another machine k* which can quickly finish this operation.A reassignment of one operation of one job to a new machine in discrete space creates a new offspring.There are N OP , number of operations encoded in a single chromosome and hence N OP number of new offspring can be created through this DLS.By this reassignment scheme the discrete space is exploited in a finer manner to obtain the best locally optimal solution.

Individual evaluation in LS:
To evaluate the new offspring that is generated, it has to be evaluated and need to be compared with its previous point in the local search.Three functional objectives of this new offspring say, makespan, total work load and maximum work load are computed.We have used the adaptive weighted sum approach to combine these three functional objectives into single objective, (Bhuvana and Aravindan, 2011).Weights are associated with the objectives to characterize the significance of each objective.Higher the weight greater significance will be given to that objective.This adaptive weight strategy collects the knowledge about the significance of objectives from the objective space itself.Single objective function is constructed using this adaptive weights method and the individual is evaluated.This new single functional objective is compared with the single objective of the starting or previous point in the local search space.If new individual is better than its parent individual, it will be allowed to replace it.

Depth of DLS:
To achieve a balanced exploration and exploitation, we decided to depth limit the local search.The depth of DLS is limited to single step, so that the time spent in local search will not add burden to the overall search process.DLS is also designed to stop investigating its locality whenever it finds the first local minimum.This has the advantage in reducing the number of functional evaluations incurred in visiting the neighbourhood individuals in its locality.Working of DLS is presented in Algorithm 3. Once the local search on all offspring is over, the new offspring set is merged with the parent population and the steps are repeated until the termination condition is met.Working of Hybrid GA with DLS for FJSSP is given in Algorithm 1.

Materials:
Test cases to evaluate the performance of the proposed hybrid GA with DLS are taken from Kacem et al. (2002a, b).There are totally five test cases, 4×5, 8×8, 10×7, 10×10 and 15×10.Test data has number of jobs, number of machines, number of operations per job and processing time for each operation in each machine.Pareto optimal solutions for these test cases are available in http://web.ntnu.edu.tw/~tcchiang/publications/IJPE2013-MOFJSP.txt.

RESULTS AND DISCUSSION
Experiments conducted: The Hybrid GA with DLS for FJSSP was implemented in C programming language in Intel (R) Core (TM) i5-3470 CPU @3.20 GHZ system.Population size is set to 50 and the hybrid GA with DLS was made to run for 30 iterations with single step local search on the offspring.Crossover probability is 1 and Mutation probability is set to (1/Number of Operations).We have compared our results with that of other works; MOEA-GLS by Ho et al., (2007), PHMOEA by Nagamani et al. (2013), HTSA by Li et al. (2010), P-DABC by Li et al. (2011), AdRep by Unachak and Goodman (2010), MOGA by Wang et al. (2010).
Totally five test instances are taken to evaluate the performance of the hybrid GA with DLS.The performance criteria we have taken for evaluation is the number of new individuals evaluated totally.Since the DLS is designed to stop whenever it first meets the local minimum, the upper bound for this criterion is the product of population size, number of operations and number of iterations.Table 1 to 5 present the functional objectives obtained by the proposed hybrid GA with DLS and compared with the already known works in literature.
Case II: 8×8: The second test instance taken has 8 jobs with 27 operations to be scheduled in 8 machines.The obtained Pareto optimal solutions are listed in Table 2. Gantt chart for one Pareto optimal solution is shown in Fig. 2.
Case III: 10×7: The third test instance has 10 jobs with 29 operations to be scheduled in 7 machines.Our proposed algorithm, Hybrid GA with DLS has generated two schedules whose makespan is 11 with a total work load of 62, 61 and maximum work load as 10 and 11.

Fig. 1 :
Fig.1: Three-tuple chromosome encoding has been used where both the routing and sequencing data are encoded in the same gene.A gene has 3-tuple in it as (j i k) denoting the operation O ji is assigned to the machine k.Operations of jobs are assigned to machines in the order it has been encoded in the chromosome.For instance in the sample chromosome in Fig.1.There are 4 jobs and are assigned to 5 machines, where tuple (0 0 4) is the first operation to be processed that is, 0 th operation of job 0 is assigned to machine 4. (0 th ) operation of job 2 is assigned to machine 2 and so on.A chromosome encodes all the operations of all the jobs to be completed.

Fig. 2 :
Fig. 2: Gantt chart for the test instance 8×8 Generate a new offspring O new by inserting the new gene in place of actual.Evaluate the new offspring O new .Compute adaptive weights and new single objective F new , for offspring new .if F new is better than Fo m then Replace actual individual, Om by one step locally optimized new individual, Onew.
w h e r e k* = {argmin (P ijk )k*  k}, 0jn; 0km; ⊳ n is the number of jobs, m is number of machines.