International Journal of Computer Applications (0975 – 8887) Volume 66– No.24, March 2013 7 Hybrid Algorithm for Optimization Problems Applied to Single Machine Scheduling Hemmak Allaoua Computer Science Department University of Bejaia, 06000 Bejaia, Algeria Bouderah Brahim Department of Computer Science Laboratory of Pure and Applied Mathematics University of M’sila, Algeria ABSTRACT In this paper, we will present a new variant of genetic algorithm to solve optimization problems where the number of feasible solutions is very important. This approach consists on a hybrid algorithm between genetic algorithms introduced by J. Holland (1975) and dynamic programming method of R. Bellman (1957). Then we will apply this hybrid algorithm to solve a single machine scheduling problem that consists to minimizing the sum of earliness and tardiness costs with common due date. Our goal is designing a new approach to find a good near solutions for combinatory problems as scheduling problems or traveling salesman problem which have an exponential number of solutions and known as NP-hard problems. Keywords Genetic Algorithm, Scheduling, Dynamic programming, Optimization. 1. INTRODUCTION In the recent years, the meta-heuristics become very important and have received significant attention for solving optimization problems because they can give near solutions to combinatorial problems in reasonable time even for the biggest size problems, on the other hand, the exact methods (such as complete enumeration, dynamic programming or branch and bound methods) need a considerable time to find an optimal solution especially for big size problems. However, the approach formulation and the choice of the meta-heuristic parameters can considerably affect the quality of the results. Our approach is based on this idea, since we will develop a variant of genetic algorithm where we will adjust the parameters and use the famous principle of dynamic programming to obtain best results as possible for combinatorial problems. To show the efficiency of the approach, we will apply it on a single machine scheduling that consists to minimizing the sum of earliness tardiness costs with common due date. Our new approach is presented in Section 4. The computational results using the Benchmark instances of Biskup and Feld- mann’s (2001) are presented in Section3. Finally we could with directions and further research in Section 4. 2. GENETIC ALGORITHM (GA) Genetic algorithms, introduced by J. Holland (1975), are inspired from the Darwin evolution theory: in the population evolution, the best individuals, which are more adapted to their environment, can outlive for a long time, on the on other hand, the individuals which are not fits to their environment disappear with the passage of generations. So, each individual is coded by its chromosome and a fitness function to be defined to evaluate individuals. Firstly, GA consists to randomly generate initial population, then, genetic operators (selection, crossover, mutation), within specified probabilities, are applied to produce a new generation which considered best than its previous. This process must be iterative for a great number of generations as shown in the algorithm follow: Begin Initialization; Repeat Evaluation; Selection; Crossover; Mutation; Until (Criteria Stopping); End. However, the individuals encoding, fitness function, selection method, probability crossover, probability mutation and criteria stopping depend of the treated problem, so they must be carefully (empirically) chosen and can considerably improve the solution quality. 3. DYNAMIC PROGRAMMING (DP) Dynamic programming method, introduced by R. Bellman (1957), is based on his famous theory: “every optimal policy is composed of optimal sub policies”. It can be applicable to solve sequential combinatorial problems (as the most problems are) by breaking them down into simpler steps. Since, we must express the objective of the (k+1) order sub problem in function of the objective of the k order sub problem. So, the last problem order will represent the entire problem proposed. This relation is called bellman equation. When applicable, the method takes much less time than naive methods and it obtains exact solution but it stay costly in time (exponential time complexity), for this, it’s discouraged for biggest size problems. However, we will not use exactly this approach, but we will inspire the idea that we let the size of the problem increase progressively within the generations. Since, at each iteration, only the best solutions outlive. 4. PROPOSED META-HEURISTIC: HYBRID ALGORITHM (HA) The HA that we will present consists at genetic algorithm where the size of the treated problem crow within the generations such as in the evolution theory. That s mean, in the population generations, the problem of the generation k must be “less” than the one of generation n. As well as, when we apply the GA, only the best individuals will stay in the population. The algorithm start with an initial problem size n0, then, the size nk will crow with the passage of generations: n k = n 0 + [current_iteration*nbr_iterations / n ] Where: n k : size of the problem at the current generation; n 0 : initial problem size;