A Genetic Algorithm for Multiobjective Hard Scheduling Optimization
This paper proposes a genetic algorithm for multiobjective scheduling optimization based in the object oriented design with constrains on delivery times, process precedence and resource availability. Initially, the programming algorithm (PA) was designed and implemented, taking into account all constraints mentioned. This algorithm's main objective is, given a sequence of production orders, products and processes, calculate its total programming cost and time. Once the programming algorithm was defined, the genetic algorithm (GA) was developed for minimizing two objectives: delivery times and total programming cost. The stages defined for this algorithm were: selection, crossover and mutation. During the first stage, the individuals composing the next generation are selected using a strong dominance test. Given the strong restrictions on the model, the crossover stage utilizes a process level structure (PLS) where processes are grouped by its levels in the product tree. Finally during the mutation stage, the solutions are modified in two different ways (selected in a random fashion): changing the selection of the resources of one process and organizing the processes by its execution time by level. In order to obtain more variability in the found solutions, the production orders and the products are organized with activity planning rules such as EDD, SPT and LPT. For each level of processes, the processes are organized by its processing time from lower to higher (PLU), from higher to lower (PUL), randomly (PR), and by local search (LS). As strategies for local search, three algorithms were implemented: Tabu Search (TS), Simulated Annealing (SA) and Exchange Deterministic Algorithm (EDA). The purpose of the local search is to organize the processes in such a way that minimizes the total execution time of the level. Finally, Pareto fronts are used to show the obtained results of applying each of the specified strategies. Results are analyzed and compared.
genetic algorithm scheduling process local search pareto front