UM ALGORITMO GENÉTICO HÍBRIDO PARA O PROBLEMA NO- WAIT FLOWSHOP COM MAKESPAN E ATRASO MÁXIMO

Documentos relacionados
Programação da produção em sistema no-wait flow shop com minimização do tempo total de fluxo

Sistemas de Produção em Fluxo

Minimização da duração total da programação em sistemas de produção flowshop, sem interrupção de execução e tarefas

REDUÇÃO DO ESTOQUE EM PROCESSAMENTO EM SISTEMAS DE PRODUÇÃO FLOW SHOP

ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS

HEURÍSTICAS GRASP E ILS PARA O PROBLEMA NO-WAIT FLOWSHOP SCHEDULING MULTIOBJETIVO

HEURÍSTICAS GRASP PARA A MINIMIZAÇÃO DO ATRASO TOTAL NO PROBLEMA DE PROGRAMAÇÃO DE TAREFAS EM UMA MÁQUINA COM SETUP TIME

Avaliação de métodos heurísticos em sistemas de produção no-wait flow shop

ANÁLISE COMPARATIVA DE HEURÍSTICAS PARA MINIMIZAÇÃO DE ADIANTAMENTOS E ATRASOS EM FLOW SHOP COM TEMPOS DE SETUP

PROGRAMAÇÃO DA PRODUÇÃO FLOW SHOP PERMUTACIONAL COM MINIMIZAÇÃO DO TEMPO MÉDIO DE FLUXO

Soluções de alto desempenho para a programação da produção flow shop

UM ITERATED LOCAL SEARCH PARA A MINIMIZAÇÃO DO MAKESPAN EM SISTEMAS DE PRODUÇÃO FLOWSHOP COM EXECUÇÃO CONTÍNUA DAS TAREFAS

Algoritmo busca tabu para a minimização do tempo de processamento e atrasos de entrega em sistemas de produção flowshop permutacional

HEURÍSTICA BUSCA LOCAL ITERADA PARA O SEQUENCIAMENTO DE TAREFAS EM UMA MÁQUINA COM TEMPOS DE PREPARAÇÃO DEPENDENTES DA FAMÍLIA

PROGRAMAÇÃO FLOW SHOP PERMUTACIONAL COM TEMPOS DE SETUP ASSIMÉTRICOS E DEPENDENTES DA SEQÜÊNCIA POR MEIO DE ANÁLISE DA FLUTUAÇÃO DO GARGALO

4 Métodos Existentes. 4.1 Algoritmo Genético

XLVSBPO. 16 a 19. Simpósio Brasileiro de Pesquisa Operacional A Pesquisa Operacional na busca de eficiência nos serviços públicos e/ou privados

Algoritmos Branch e Bound para o problema de sequenciamento em uma única máquina

Algoritmo Genético e Busca Local para o problema Justin-Time Job-Shop Scheduling

MÉTODOS HEURÍSTICOS CONSTRUTIVOS PARA PROGRAMAÇÃO DA PRODUÇÃO EM SISTEMAS FLOW SHOP

ANÁLISE DE DESEMPENHO DE REGRAS DE PRIORIDADE PARA PROGRAMAÇÃO EM SISTEMAS FLOW SHOP HÍBRIDO E TEMPOS DE SETUP DEPENDENTES DA SEQUÊNCIA

UMA ABORDAGEM AO PROBLEMA DE SEQUENCIAMENTO EM UMA MÁQUINA COM PENALIDADES POR ANTECIPAÇÃO E ATRASO DA PRODUÇÃO POR MEIO DE ALGORITMOS EVOLUTIVOS

UMA HEURÍSTICA CONSTRUTIVA PARA O PROBLEMA DE MINIMIZAÇÃO DO ATRASO TOTAL NO AMBIENTE FLOWSHOP COM BUFFER ZERO

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

UMA HEURÍSTICA GRASP PARA O PROBLEMA DE PROGRAMAÇÃO FLOWSHOP MULTICRITÉRIO

Pesquisa Operacional Aplicada à Mineração

NOVAS REGRAS DE SEQUENCIAMENTO PARA PROGRAMAÇÃO DE FLOW SHOP COM DATAS DE LIBERAÇÃO E TEMPOS DE SETUP

ESTUDO DA INFLUÊNCIA DA PROGRAMAÇÃO DO PRIMEIRO ESTÁGIO EM SISTEMAS FLOW SHOP

Formulações de Programação Matemática para o Problema de Seqüenciamento em uma Máquina com Janelas de Entrega Distintas e Tempo de Preparação

UM MODELO DE PROGRAMAÇÃO INTEIRA MISTA PARA A PROGRAMAÇÃO DA PRODUÇÃO EM FLOWSHOP HÍBRIDO COM BUFFERS LIMITADOS

Heurística Iterated Greedy para o Problema de Sequenciamento de Lotes de Tarefas em Máquinas Paralelas

ALGORITMO VNS MULTI-OBJETIVO PARA UM PROBLEMA DE PROGRAMAÇÃO DE TAREFAS EM UMA MÁQUINA COM JANELAS DE ENTREGA

5 VNS com Filtro e Reconexão por Caminhos

ANÁLISE DE DESEMPENHO DE REGRAS DE PRIORIDADE PARA PROGRAMAÇÃO EM FLOW SHOP COM MÚLTIPLAS MÁQUINAS E TEMPOS DE SETUP INDEPENDENTES DA SEQÜÊNCIA

UM ALGORITMO EVOLUCIONÁRIO APLICADO AO PROBLEMA FLOWSHOP PERMUTACIONAL COM RESTRIÇÃO DE ESPERA

4 Implementação Computacional

UM EFICIENTE MÉTODO HEURÍSTICO CONSTRUTIVO PARA O PROBLEMA NO-WAIT FLOWSHOP COM TEMPOS DE SETUP DEPENDENTES DA SEQÜÊNCIA

Análise da Performance de um Modelo de Escalonamento Baseado em Pesquisa Tabu Aplicado em um Sistema de Manufatura Flexível

UNIVERSIDADE DE SÃO PAULO

MINIMIZAÇÃO DO TEMPO TOTAL DE ATRASO NO PROBLEMA DE FLOWSHOP COM BUFFER ZERO ATRAVÉS DE BUSCA TABU

METAHEURÍSTICA HÍBRIDA ALGORITMO GENÉTICO-CLUSTERING SEARCH PARA A REDUÇÃO DO ESTOQUE EM PROCESSAMENTO EM SISTEMAS DE PRODUÇÃO FLOW SHOP PERMUTACIONAL

UNIVERSIDADE FEDERAL DO PARANÁ ALINE KIESKOSKI

3. Resolução de problemas por meio de busca

Algoritmos genéticos para o problema de programação de tarefas em máquinas paralelas idênticas com dois critérios

ALGORITMO GENÉTICO COM BUSCA LOCAL APLICADO AO PROBLEMA DE JUST-IN-TIME JOB-SHOP SCHEDULING

Problemas de otimização

Buscas Informadas ou Heurísticas - Parte III

Métodos de alto rendimento e baixa complexidade em flowshop

ANA AMÉLIA DE SOUZA PEREIRA METAHEURÍSTICAS PARA O PROBLEMA DE FLOWSHOP FLEXÍVEL COM PENALIDADES DE ADIANTAMENTO E ATRASO

Gestão & Produção, v.17, n.2, p ,

ALGORITMO GENÉTICO COM BUSCA LOCAL PARA A PROGRAMAÇÃO DA PRODUÇÃO EM SISTEMAS FLOW-SHOP HÍBRIDOS

Modelo de Algoritmo Genético para o Escalonamento de Tarefas em uma Arquitetura Multiprocessadora

SEQUENCIAMENTO DE TAREFAS COM RESTRIÇÕES DE COMPATIBILIDADE EM MÁQUINAS PARALELAS COM TEMPOS DE PREPARAÇÃO DEPENDENTES DA SEQUÊNCIA

METAHEURÍSTICA Encontrar soluções boas ou até mesmo ótima

UM ALGORITMO GENÉTICO COM INSERÇÃO GULOSA PARA O PROBLEMA DE ESCALONAMENTO DE TAREFAS JOB SHOP SEM ESPERA

PROGRAMAÇÃO DA PRODUÇÃO EM SISTEMAS POR BATELADAS: UM ESTUDO PARA A OTIMIZAÇÃO DO MAKESPAN

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

GBT: GRASP + BUSCA TABU EM PROBLEMAS DE SCHEDULING

ANÁLISE COMPARATIVA DO DESEMPENHO DE REGRAS DE PRIORIDADE EM SISTEMAS FLEXIBLE FLOW LINE

UM MÉTODO HEURÍSTICO APLICADO AO PROBLEMA DE PROGRAMAÇÃO DE SONDAS DE PRODUÇÃO. Miguel Angel Fernández Pérez

Pedro Luis Miranda Lugo (UFSCar) Rodolfo Florence Teixeira Junior (UFSCar)

ESTUDO DE REGRAS DE SEQUENCIAMENTO PARA MINIMIZAÇÃO DO ATRASO EM AMBIENTE FLOW SHOP COM TEMPOS DE SETUP

Proposta de um algoritmo para o problema de sequenciamento em máquina única com tempos de setup

1. Computação Evolutiva

LIMITANTE INFERIOR PARA O PROBLEMA DE MINIMIZAR O NÚMERO DE TROCAS DE FERRAMENTAS

1. Computação Evolutiva

Programação da Produção em Sistemas Flow Shop com Tempos de Setup Dependentes da Seqüência: Uma Análise do Estado da Arte no Brasil

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

PALAVRAS-CHAVE. Algoritmos Genéticos, GRASP, Metaheurísticas, Reconexão por caminhos, Sequenciamento em uma máquina

ALGORITMOS GENÉTICOS PARA O PROBLEMA DE SEQUENCIAMENTO EM MÁQUINAS PARALELAS NÃO-RELACIONADAS COM TEMPOS DE PREPARAÇÃO DEPENDENTES DA SEQUÊNCIA

XLVI Pesquisa Operacional na Gestão da Segurança Pública

Inteligência Artificial

ANÁLISE DA FLUTUAÇÃO DO GARGALO EM FLOW SHOP PERMUTACIONAL COM TEMPOS DE SETUP ASSIMÉTRICOS E DEPENDENTES DA SEQÜÊNCIA

Uma Introdução à Busca Tabu André Gomes

SOBRE ESCALONAMENTO EM MÁQUINAS PARALELAS COM CAPACIDADES DISTINTAS

Algoritmos Genéticos

PAULO LÚCIO DE OLIVEIRA JÚNIOR

Minimização do custo de antecipação e atraso para o problema de sequenciamento de uma máquina com tempo de preparação dependente da sequência.

Palavras-chaves: Sequenciamento em uma Máquina, Algoritmo Genético Adaptativo, Metaheurística

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

XLVI Pesquisa Operacional na Gestão da Segurança Pública

Algoritmo Genético: um experimento comparativo entre a execução paralela com troca de indivíduos de populações e a não paralela.

UMA HEURÍSTICA VNS MULTIOBJETIVO PARA O PROBLEMA DE SEQUENCIAMENTO DE TAREFAS EM UMA MÁQUINA COM PENALIDADES POR ANTECIPAÇÃO E ATRASO E FLUXO TOTAL

Um algoritmo pseudo-periférico genérico para a heurística de Snay

Um GRASP Simples e Robusto para o Job Shop Scheduling Problem

DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES

Unidade de Matemática e Tecnologia, Universidade Federal de Goiás Regional Catalão

Uma Heurística GRASP Híbrida para um Problema de Otimização Combinatória Multiobjetivo

XLVI Pesquisa Operacional na Gestão da Segurança Pública

Introdução aos Problemas de Roteirização e Programação de Veículos

Ummétodohíbridoparaescalonar turnosdeenfermeiras

Unidade de Matemática e Tecnologia, Universidade Federal de Goiás Regional Catalão

RESOLUÇÃO DO PROBLEMA DAS P-MEDIANAS POR MEIO DE ALGORITMOS BASEADOS EM GRASP, ILS E MULTI-START

XLVII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL

Um AG Baseado em Ordem para o Problema do Ladrão de Jóias com Múltiplas Restrições

REDUÇÃO DO ESTOQUE EM PROCESSAMENTO EM SISTEMAS DE PRODUÇÃO FLOW SHOP PERMUTACIONAL

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

UM ALGORITMO HEURÍSTICO PARA O PROBLEMA DE GERENCIAMENTO DE ESCALA OPERACIONAL DE CONTROLADORES DE TRÁFEGO AÉREO

MÉTODOS DE SOLUÇÃO PARA O PROBLEMA DE PROGRAMAÇÃO DA PRODUÇÃO EM FLOW SHOP TRADICIONAL COM TEMPOS DE SETUP SEPARADOS DOS TEMPOS DE PROCESSAMENTO

Implementação de um escalonador de processos em GPU

Transcrição:

UM ALGORITMO GENÉTICO HÍBRIDO PARA O PROBLEMA NO- WAIT FLOWSHOP COM MAKESPAN E ATRASO MÁXIMO Tiago de Oliveira Januario Departamento de Ciência da Computação Universidade Federal de Minas Gerais Avenida Presidente Antônio Carlos, 6627, Pampulha, 31270-901, Belo Horizonte - MG januario@dcc.ufmg.br Mayron César de Oliveira Moreira Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo Avenida Trabalhador São-Carlense, 400, Centro, 13560-970, São Carlos - SP mayron@icmc.usp.br José Elias Claudio Arroyo, André Gustavo dos Santos Departamento de Informática Universidade Federal de Viçosa Campus Universitário da UFV, 36570-000, Centro, Viçosa - MG {jarroyo, andre}@dpi.ufv.br RESUMO Este artigo considera o problema de programação de tarefas no ambiente no-wait flowshop permutacional, com o objetivo de minimizar a combinação linear do makespan e do atraso máximo. Neste problema, uma tarefa deve ser processada, desde seu início até sua finalização, sem nenhuma interrupção ou espera (no-wait) em uma máquina ou entre máquinas consecutivas. Para resolver o problema, é proposto um algoritmo genético eficiente que utiliza um procedimento de busca local para melhorar a qualidade das soluções geradas pelos operadores de crossover e mutação. O desempenho do algoritmo genético híbrido é verificado a partir de testes computacionais sobre um conjunto de 4800 problemas envolvendo até 100 tarefas e 20 máquinas. Os resultados obtidos mostram que a metaheurística proposta é bastante eficiente e obtêm um melhor desempenho quando comparado com as melhores heurísticas propostas para o mesmo problema abordado. PALAVRAS CHAVE. Algoritmo Genético, Busca Local, No-wait flowshop, Metaheurísticas. ABSTRACT This paper considers the m-machine no-wait permutation flowshop scheduling problem, with the objective of minimizing the linear combination of makespan and maximum lateness performance measures. In this problem, a job must be processed from start to completion, without any interruption either on or between machines. To solve the problem, we present an efficient genetic algorithm that uses a local search procedure to improve the quality of the solutions generated by the crossover and mutation operators. The performance of the proposed hybrid genetic algorithm is evaluated doing an extensive computational analysis on a set of 4800 instances involving up to 100 jobs and 20 machines. The obtained results show that the developed metaheuristic is very efficient and perform better than the best existing heuristics from the literature proposed for the same problem boarded in this paper. KEYWORDS. Genetic Algorithm, Local Search, No-wait flowshop, Metaheuristics. 1. Introdução Na maioria dos ambientes de manufatura, um conjunto de processos são realizados sequencialmente em diversos estágios para completar uma tarefa. Tal sistema é referido como ambiente flowshop e pertence a uma classe dos problemas de escalonamento ou programação de XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2109

tarefas (Baker, 1974). Os problemas de escalonamento no ambiente flowshop têm ganhando ampla atenção na academia devido a sua importância no planejamento e controle da produção. Em um ambiente flowshop, um conjunto de n tarefas necessita ser processado em um conjunto sequencial de m máquinas, ou seja, cada tarefa consiste de m operações onde cada operação deve ser realizada em uma máquina diferente por uma determinada quantidade de tempo de processamento. Cada máquina pode executar apenas uma operação de tarefa por vez e sem interrupções. Em um problema flowshop permutacional, todas as tarefas são processadas pelas máquinas na mesma ordem. As medidas de desempenho mais comuns são: makespan, adiantamento, atraso, atraso máximo, tempo de fluxo, número de tarefas com atraso e tempo ocioso das máquinas. O problema de escalonamento flowshop (FS, do inglês Flowshop Scheduling) tem sido amplamente estudado na literatura (Gupta e Stafford, 2006). No sistema no-wait FS, as operações de cada tarefa devem ser processadas sem interrupções entre máquinas consecutivas. Este problema se origina de requisitos específicos dos processos de produção ou da falta de espaços de armazenamento adequados entre as operações de cada tarefa. Por exemplo, na indústria de metais, como alumínio e aço, a laminação de placas passa por uma série de processos que, obrigatoriamente, devem ser realizados um após o outro. Qualquer espera no processo de produção desse produto pode causar um resfriamento do metal, levando a problemas na laminação. Existem diversas aplicações do problema no-wait FS, especialmente em ambientes modernos de manufatura e serviços. O problema no-wait FS com mais de duas máquinas é um problema NP - Difícil (Rock, 1984). Assim, devido sua importância teórica e aplicabilidade na engenharia, diversas pesquisas têm sido realizadas para desenvolver métodos eficazes e eficientes para resolver esse problema (Hall e Sriskndarajah, 1996). Este artigo considera o problema no-wait FS com m máquinas com o objetivo de minimizar a soma ponderada do makespan e do atraso máximo. O makespan está relacionado com a utilização máxima do sistema e o atraso está associado às datas de entrega das tarefas. Uma tarefa com atraso resulta em penalidades, tais como a perda de clientes e dano na reputação. Diversas abordagens têm sido propostas para o problema no-wait FS com m máquinas com apenas o critério de makespan. As primeiras heurísticas para este problema foram desenvolvidas por Bonney e Gundry (1976) e por King e Spachis (1980). Gangadharan e Rajendran (1993) e Rajendran (1994) propuseram outras heurísticas e mostraram que eram melhores que aquelas propostas por Bonney e Gundry (1976) e por King e Spachis (1980). Aldowaisan e Allahverdi (2003) apresentaram novos métodos heurísticos, que mostraram ser melhores que aqueles propostos por Gangadharan e Rajendran (1993) e Rajendran (1994). Recentemente, uma metaheurística baseada na busca tabu foi proposta por Grabowski e Pempera (2005). Liu et al. (2007) apresentaram um algoritmo híbrido baseado na técnica de particle swarm e uma busca local baseada na heurística simulated annealing. A literatura para o problema no-wait FS com apenas o critério de atraso máximo é bem escassa. Para o caso de duas máquinas, Dileepan (2004) apresentou uma relação de dominância e Wang e Cheng (2006) propuseram algumas abordagens heurísticas. Ruiz e Allahverdi (2007a) abordaram o problema no-wait FS com m máquinas com o objetivo de minimizar o atraso máximo onde os tempos de setup são considerados separados dos tempos de processamento e são tratados como independente da sequência. Eles desenvolveram uma relação de dominância para o caso de três máquinas e para o caso de m máquinas, propuseram várias heurísticas e quatro versões de algoritmos genéticos. O problema no-wait FS com outros critérios, tais como tempo de fluxo, são estudados por Allahverdi e Aldowaisan (2000), Brown et al. (2004) e Ruiz e Allahverdi (2007b). O problema no-wait FS bi-objetivo também tem sido pouco estudado. Allahverdi e Aldowaisan (2002) consideram o problema no-wait FS com m máquinas minimizando a soma ponderada dos objetivos makespan e tempo de fluxo. Eles apresentam uma heurística construtiva e alguns métodos de melhoria. Allahverdi e Aldowaisan (2004) e Ruiz e Allahverdi (2008) abordam o problema no-wait FS minimizando a soma ponderada do makespan e o atraso máximo. Allahverdi e Aldowaisan, (2004) desenvolvem uma relação de dominância para o caso XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2110

de duas máquinas e para o caso de m máquinas apresentam duas heurísticas híbridas baseadas no simulated annealing e algoritmos genéticos, respectivamente. Ruiz e Allahverdi (2008) propõem algumas regras de despacho e também apresentam duas metaheurísticas: um algoritmo genético e uma busca local gulosa iterativa (IGLS, do inglês Iterated Greedy Local Search). Neste artigo, é abordado o problema estudado por Allahverdi e Aldowaisan (2004) e por Ruiz e Allahverdi (2008): no-wait FS com o objetivo de minimizar a soma ponderada do makespan e o atraso máximo. É proposto um Algoritmo Genético (AG) com busca local que melhora as técnicas propostas por Allahverdi e Aldowaisan (2004) e por Ruiz e Allahverdi (2008). Este trabalho é organizado da seguinte forma: na Seção 2, é descrito o problema no-wait FS. Detalhes do AG proposto com busca local são apresentados na Seção 3. Resultados computacionais gerados pelo AG proposto são apresentados na Seção 4 e na Seção 5 resumem-se as conclusões do trabalho. 2. Descrição do Problema O problema no-wait FS com m máquinas consiste em um conjunto de n tarefas {J 1, J 2,..., J n } e um conjunto de m máquinas {M 1, M 2,..., M m }, sendo cada tarefa J i composta por m operações consecutivas O i,1, O i,2,...,o i,m. A operação O i,j da tarefa J i deve ser processada na máquina M j requerendo um tempo de processamento t i,j. As operações das tarefas são processadas pelas máquinas na mesma ordem. Cada tarefa J i possui uma data de entrega d i. Todas as tarefas estão disponíveis no tempo zero, e uma máquina não pode processar duas operações ao mesmo tempo. Pela restrição no-wait, as operações O i,j e O i,j+1 da tarefa J i devem ser processadas sem interrupção entre elas e entre as máquinas j e j+1, j = 1,...,m-1. Desta forma, a diferença entre o tempo de finalização (completion time) da última operação de uma tarefa e o tempo inicial de sua primeira operação é igual à soma dos tempos de processamento de suas operações. O início de uma tarefa em uma dada máquina deve ser adiado para que o completion time da última operação coincida com o início de uma operação na próxima máquina. O problema no-wait FS consiste em encontrar a sequência (ou escalonamento) de tarefas que minimize a soma ponderada do makespan (C max ) e o atraso máximo (L max ), isto é, λ C max + (1- λ) L max, onde λ e (1- λ) são pesos ou preferências associadas aos objetivos C max e L max, respectivamente (0 λ 1). Note que quando λ = 0 (λ = 1), o problema considerado reduz a minimizar L max (C max ). Este problema pode ser considerado um problema de otimização bi-objetivo a priori, onde os objetivos (ou critérios) são agregados em um único objetivo que implicitamente inclui preferências ou pesos atribuídos pelo decisor, que é responsável pela ponderação dos critérios conflitantes antes da resolução do problema. Para a sequência s = {J 1,, J i,..., J n }, o makespan (C max ) e o atraso máximo (L max ) são calculados da seguinte forma: C max (s) = max i=1,..,n {C i }. (1) L max (s) = max i=1,..,n {L i }. (2) onde C i e L i são o tempo de finalização (completion time) e ao atraso da tarefa J i, respectivamente. O completion time C i é calculado da seguinte forma (Brown et al., 2004; Allahverdi e Aldowaisan, 2004): C i =. (3) onde é o completion time da tarefa J k na máquina M j :,,, j=1,,m, 0, k=1,,n, j=1,,m. O tempo de atraso L i é dado por: L i = C i d i. (4) XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2111

3. Algoritmo Genético Híbrido Algoritmos genéticos são metaheurísticas muito eficientes e amplamente aplicadas para resolver problemas reais de otimização combinatória, no qual o espaço de busca (soluções) cresce exponencialmente com o tamanho do problema. Em um AG, cada solução (indivíduo ou cromossomo) é codificada por uma estrutura que representa as propriedades do problema. Inicialmente deve ser construída uma população de soluções. As soluções devem ser avaliadas e atribuídas um valor de aptidão (fitness). Geralmente, as melhores soluções possuem um alto valor de fitness. Iterativamente, a população é submetida a uma série de operações e ela evolui até que uma condição de parada seja atingida. As operações básicas realizadas a cada iteração são: seleção, cruzamento (crossover) e mutação. Nas seguintes subseções são apresentadas cada uma das etapas do AG proposto. 3.1 Representação de uma solução e Construção da População Inicial Uma solução do problema no-wait FS é representada por um arranjo de números de 1 a n, armazenados em um vetor de tamanho n, que representa a ordem de sequenciamento das tarefas. A população de soluções é gerada da seguinte maneira: das soluções são geradas usando uma adaptação da heurística construtiva NEH (Nawaz et al., 1983) e as demais soluções são construídas através do método de geração de soluções diversas (Glover et al., 1998). A heurística NEH (Nawaz et al., 1983) possui os seguintes passos: 1. As tarefas devem ser ordenadas de acordo com a regra de despacho EDD (Earliest Due Date), que consiste em ordenar as tarefas de forma crescente das datas de entrega. Seja L a lista das tarefas ordenadas. 2. Seja, a sequência a ser construída. A primeira tarefa da lista L (a que possui a menor data de entrega) é inserida na sequência s. 3. Para cada tarefa restante i da lista, i = 2,..., n, inserir a tarefa i em todas as possíveis posições da sequência s, gerando i sequências parciais. Seleciona-se a melhor sequência para a próxima iteração. A heurística finaliza quando todas as tarefas da lista L foram inseridas na sequência s. Uma vez que a heurística NEH constrói uma única solução, para gerar várias soluções, ao invés de escolher a primeira tarefa da lista ordenada L, escolhe-se aleatoriamente uma tarefa dentre as α primeiras tarefas da lista (1 ). Observe que para, a escolha é totalmente aleatória, e para 1 a escolha é puramente gulosa. Na construção de soluções foram utilizados 0,25 para problemas de tamanho n = 20 e 40, e 0,12 para problemas de tamanho n = 60, 80 e 100. As soluções construídas pela heurística NEH são melhoradas utilizando um procedimento de busca local descrita na seção 3.3. O método de geração de soluções diversas consiste em gerar diversas permutações de uma forma sistemática e sem considerar a função objetivo. Nesse método, é necessária uma sequência inicial =,,..., usada como semente. Assim, definem-se as subsequências S(h:p) = (p, p+h, p+2 h, p+r h), onde p é um inteiro positivo entre 1 e h, e r é o maior inteiro não negativo tal que p + r h n. Diferentes permutações S(h) = (S(h:h), S(h:h-1),..., S(h:1)) são geradas para diferentes valores de h n. Para exemplificar esse método, considere a sequência inicial S = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14, 15, 16). Se h = 5, então: S(5:5) = (5, 10, 15); S(5:4) = (4, 9, 14); S(5:3) = (3, 8, 13); S(5:2) = (2, 7, 12); S(5:1) = (1, 6, 11, 16). Logo, S(5) = (5, 10, 15, 4, 9, 14,3, 8, 13, 2, 7, 12, 1, 6, 11, 16). Para gerar um conjunto de permutações diversas, são utilizados valores de 1, /2. Sequências iniciais são geradas pela heurística NEH. Neste trabalho, a cada iteração do algoritmo, não é permitida a existência de soluções repetidas na população. Duas soluções são consideradas iguais se ambas possuem o mesmo valor da função hash (Glover et al., 1998) definida da seguinte forma:, (5) XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2112

onde é a tarefa que está na posição k da sequência. 3.2 Seleção, Cruzamento e Mutação A seleção de soluções que serão submetidas a um cruzamento (crossover), é baseada na técnica de seleção por torneio (tournament selection) (Michalewicz, 1996). Este método consiste em escolher aleatoriamente k soluções da população e selecionar a melhor solução (a mais apta). Neste trabalho foi usado k = 3. O nível de aptidão (fitness) de uma solução é medida pelo valor da função objetivo: λ C max + (1- λ) L max. Após a seleção de duas soluções (pais), estas são submetidas a um cruzamento gerando duas novas soluções Filho 1 e Filho 2, que herdam características dos pais. Foram avaliados dois operadores de cruzamento: SJOX (Similar Job Order) e SBOX (Similar Block Order) (Ruiz et al., 2006). No operador SJOX (Figura 1b), os dois filhos herdam as tarefas que estão nas mesmas posições, tanto no Pai 1 como no Pai 2. Posteriormente, é selecionado aleatoriamente um ponto de corte que divide as sequências em duas partes. A primeira parte e segunda parte do Filho 1 são completadas seguindo a sequência das tarefas do Pai 1 e Pai 2, respectivamente. Similarmente para o Filho 2, a primeira e segunda parte são completadas seguindo a sequência das tarefas do Pai 2 e Pai 1, respectivamente. No operador SBOX (Figura 1a), os dois filhos herdam as tarefas que estão nas mesmas posições, desde que estas tarefas formem, pelo menos, uma subsequência de tamanho dois. O procedimento para preenchimento das sequências Filho 1 e Filho 2 são realizadas da mesma maneira usada no operador SJOX. a) SBOX b) SJOX Figura 1. Operadores de crossover. O operador de mutação é utilizado para evitar a convergência de soluções para ótimos locais. No problema abordado, é usada uma mutação que consiste em perturbar as soluções filhos da seguinte maneira: para cada solução escolhem-se aleatoriamente duas posições da sequência de tarefas, i e j (onde 1 i n, 1 j n e ). A tarefa da posição i é inserida na posição j, deslocando em uma posição as demais tarefas. A Figura 2 ilustra o operador de mutação usado. Figura 2. Operador de mutação. A aplicação dos operadores de crossover e mutação dependem dos valores das probabilidades de crossover e mutação: p c e p m, que são obtidos através de testes computacionais. 3.3 Busca Local Neste trabalho, as soluções geradas pelos operadores genéticos (crossover e mutação) são melhoradas por um procedimento de busca local. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2113

O procedimento de busca local implementado neste trabalho é baseado no método de melhoria gulosa proposto por Ruiz e Stützle (2008). Para melhorar uma sequência s (solução), o método consiste de duas fases. Na primeira fase, denominada fase destrutiva, dada a sequência s' = s, d tarefas são removidas da sequência s' e inseridas em um conjunto s R. Na segunda fase, denominada fase construtiva, constrói-se uma sequência s'' inserindo cada tarefa de s R na melhor posição possível de s'. Se a sequência s'' melhora s, então s'' é atribuída a s (sequência a ser retornada), caso contrário, o procedimento retorna a solução original s. A seguir é apresentado o pseudocódigo deste procedimento de busca local. procedimento BuscaLocal(sequência s) 01. início 02. //Fase destrutiva 03. s' := s 04. para i:=1 até d faça 05. Remova, aleatoriamente, uma tarefa da sequência s' e insira em s R 06. fim_para 07. //Fase construtiva 08. para i:=1 até d faça 09. s'' := melhor permutação obtida através da inserção da tarefa s R (i) em todas as posições de s' 10. fim_para 11. se fitness(s'') < fitness(s) então 12. s := s'' 13. fim_se 14. fim Neste trabalho, d é escolhido aleatoriamente no intervalo 5, 2. Para evitar que o AG consuma um alto tempo computacional executando o procedimento de busca local no melhoramento de todas as soluções filhos, é utilizado uma probabilidade p BL pequena para a execução desse procedimento. 3.4 Diversificação da População Após a execução do AG durante um número de iterações (gerações), a população de soluções torna-se homogênea, isto é, as soluções ficam muito similares e tendem para um mesmo ótimo local. Para diversificar a população é usado um mecanismo de reinício similar ao proposto por Alcaraz et al. (2003). Este mecanismo permite uma melhor cobertura do domínio de soluções do problema (espaço de busca). O reinício consiste na geração de uma nova população com o mesmo número soluções. As 0,2 melhores soluções (soluções de elite) são mantidas na população, 0,2 soluções são obtidas fazendo uma mutação nas soluções de elite, 0,3 soluções são construídas pela heurística NEH como na geração da população inicial e 0,2 soluções são geradas aleatoriamente. O procedimento de diversificação (reinício da população) é ativado quando a melhor solução obtida até o momento não é melhorada durante um número Gr de gerações consecutivas do AG. 3.5 Pseudocódigo do Algoritmo Genético Híbrido A seguir apresentam-se os passos do Algoritmo Genético Híbrido (AGH) proposto para o problema no-wait FS. 01. início 02. construa a população Pop com soluções iniciais 02. s best := melhor solução de Pop 03. s worst := pior solução de Pop 04. s' := s best 05. g := 0 06. enquanto não atingir o critério de parada faça XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2114

07. enquanto g < Gr faça 08. para t: = 1 até faça 09. selecione as soluções pais para realizar o cruzamento: Pai 1 e Pai 2. 10. (Filho 1, Filho 2) := crossoversjox(pai 1, Pai 2, p c ) 11. Filho 1 := mutação(filho 1, p m ) 12. Filho 2 := mutação(filho 2, p m ) 13. Filho 1 = BuscaLocal(Filho 1, p BL ) 14. Filho 2 = BuscaLocal(Filho 2, p BL ) 15. para cada Filho i faça 16. se Filho i é melhor que s worst e Filho i Pop então 17. Pop := Pop {Filho i} {s worst } 18. s' := melhor solução de Pop 19. s worst := pior solução de Pop 20. fim_se 21. fim_para 22. fim_para 23. s := melhor solução de Pop não submetida ao procedimento de busca local 24. s := BuscaLocal(s, 2 p BL ) 25. se s é melhor que s worst e s Pop então 26. Pop = Pop {s} {s worst } 27. s' := melhor solução de Pop 28. s worst := pior solução de Pop 29. fim_se 30. se s' é melhor que s best então 31. s best := s' 32. g := 0 33. senão 34. g := g + 1 35. fim_se 36. fim_enquanto 37. aplique o Procedimento de Diversificação em Pop 38. g := 0 39. fim_enquanto 40. retorne s best 41. fim No AGH, o procedimento de busca local é aplicado às soluções filhos com uma pequena probabilidade p BL (passos 13 e 14). Dentre as soluções filhos que não tenham passado pelo procedimento de busca local, a melhor solução será submetida ao procedimento de busca local com uma maior probabilidade 2 p BL (passos 23, 24). Uma característica especial do AG é que população Pop armazena soluções diferentes. A atualização da população é feita logo após aplicar o procedimento de busca local a uma solução. Uma nova solução será inserida em Pop se ela for melhor que a pior solução (s worst ) de Pop e se ela não estiver em Pop (passos 16-17 e 25-26). O procedimento de diversificação é executado, no passo 37, caso a melhor solução s best não seja atualizada durante Gr gerações consecutivas. A atualização de s best é realizada no passo 31. Foram testados e analisados vários valores para os parâmetros do AGH. Os melhores resultados do AGH foram obtidos utilizando os seguintes parâmetros: Tamanho da população = 20; Tipo de crossover: SJOX; Probabilidade de crossover p c = 50%; Probabilidade de mutação p m = 3%; Probabilidade de busca local p bl = 12,5%; Número máximo de gerações para aplicar o procedimento de diversificação Gr = 20; Critério de parada: tempo de CPU igual a n (m/2) 60 milissegundos. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2115

4. Resultados Computacionais O AG híbrido (AGH) proposto neste trabalho foi codificado na linguagem C++ e os testes computacionais foram realizados em um computador com processador Pentium IV de 3.0 GHz, com 512 Mb RAM. Os resultados obtidos são comparados com os melhores resultados para o problema no-wait FS disponibilizados por Ruiz e Allahverdi (2008). Ruiz e Allahverdi (2008) geraram vinte conjuntos de problemas através de todas as combinações de n {20, 40, 60, 80, 100} e m {5, 10, 15, 20}, sendo que para cada combinação, 10 instâncias diferentes foram consideradas. Os tempos de processamento foram uniformemente distribuídos no intervalo [1, 100]. As datas de entrega foram geradas uniformemente no intervalo [P(1-T-R/2), P(1-T+R/2)] (Potts e Wassenhove, 1982), onde T e R são os valores do fator de atraso e a faixa relativa de datas de entrega, respectivamente, e P é o limitante inferior do makespan, definido da seguinte forma: P =min,..,,,. (5) Foram considerados os seguintes valores para T e R: T {0,0; 0,6} e R {0,2; 0,6}. Além disso, como neste trabalho consideramos a minimização da combinação linear de λ C max + (1- λ) L max, foram utilizados os mesmos seis valores de λ testados por Ruiz e Allahverdi (2008): λ ={0,0; 0,2; 0,4; 0,6; 0,8; 1,0}. λ T R PDM% IGLS SGALS AGH 0,20 2,22 2,37 0,78 7,15 12,48 8,64 0,20 0,78 0,85 0,14 1,01 1,42 0,59 0,20 0,20 1,23 1,36 0,23 1,77 2,22 0,66 0,20 0,72 0,77 0,16 0,90 1,20 0,27 0,40 0,20 0,98 0,98 0,13 1,18 1,51 0,28 0,20 0,67 0,70 0,05 0,82 0,99 0,12 0,20 0,81 0,80 0,05 1,18 1,12 0,20 0,70 0,70 0,12 1,05 0,96 0,13 0,80 0,20 0,63 1,03 0,84-0,03 0,20 0,57 0,58-0,02 0,88 0,77 0,01 1,00 0,20 0,53 0,54 0,07 0,50 0,52-0,03 0,20 0,48 0,53 0,49 0,51 0,08 Média Total 1,18 1.47 0,52 Tabela 1. Porcentual de desvio médio (PDM) em relação à melhor solução para os algoritmos comparados, com λ {0,0, 0,2, 0,4, 0,6, 0,8, 1,0} Para demonstrar a eficiência do algoritmo proposto foram avaliados 800 problemas, utilizados por Ruiz e Allahverdi (2008), para cada valor de λ, totalizando 4800 cenários distintos. Todos os problemas estão disponíveis em http://soa.iti.es/instancias-de-problemas/. A seguir, são apresentadas as análises dos resultados obtidos pelo AGH proposto. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2116

4.1. Análise dos Resultados Os resultados obtidos pelo algoritmo AGH são comparados com as metaheurística IGLS (Iterated Greedy Local Search) e SGALS (Steady stage Genetic Algorithm with Local Search), propostos por Ruiz e Allahverdi (2008). Estas metaheurísticas apresentaram desempenho superior com relação a outras 10 heurísticas da literatura (Ruiz e Allahverdi, 2008). Vale ressaltar que, Ruiz e Allahverdi fornecem os melhores resultados obtidos por um conjunto de 12 heurísticas, incluindo IGLS e SGALS. A eficiência dos algoritmos (AGH, IGLS e SGALS) é mensurada através do porcentual de desvio médio (PDM) da solução obtida por cada algoritmo em relação à melhor solução disponível: PDM = (5) 100. onde Sol(A j ) é a solução obtida pelo algoritmo j ( j = AGH, IGLS, SGALS) e Best sol é a melhor solução conhecida para uma instância do problema. A Tabela 1 apresenta os resultados dos PDMs obtidos. Os resultados mostraram que o AGH obteve melhores valores do PDM em comparação com os outros algoritmos para a maioria dos problemas agrupados nesses valores de λ. Note que, apenas para λ = 0,0, T = 0,0 e R = 0,6, o algoritmo IGLS obteve um melhor resultado que os outros algoritmos considerados. Para os valores de λ {0,6, 0,8, 1,0}, os resultados mostraram que o AGH obteve melhores valores do PDM em relação aos outros algoritmos para todos os problemas desse cenário. A Tabela 2 apresenta os resultados dos PDMs para todas as combinações do número de tarefas (n) e máquinas (m), quando λ =0,6. Observe que através desses resultados, o AGH supera os métodos IGLS e SGALS. n m PDM% IGLS SGALS AGH 5 0,27 0,31-0,04 20 10 0,13 0,1-0,03 15 0,16 0,17 20 0,28 0,18-0,01 5 0,92 1,08 0,03 40 10 0,75 0,74-0,23 15 0,85 0,93-0,26 20 1,03 0,75-0,18 5 1,20 1,23 0,63 60 10 1,32 1,15-0,15 15 1,01 0,96-0,16 20 0,87 1,04-0,19 5 1,30 1,23 0,20 80 10 1,45 1,19 0,35 15 1,13 1,11 0,11 20 1,01 0,98-0,11 5 1,53 1,29 0,67 100 10 1,50 1,24 0,47 15 1,03 1,12-0,07 20 0,95 1,10 0,13 Média Total 0,93 0,90 0,06 Tabela 2. Porcentual de desvio médio (PDM) em relação à melhor solução para os algoritmos comparados, agrupados por tarefas (n) e máquinas (m), quando λ= 0,6. Os valores em negrito representam as melhores médias. As Figuras 1 e 2 ilustram mais uma vez a superioridade do AGH em relação aos algoritmos IGLS e SGALS. Os valores apresentados de 1 a 12 nas Figuras 1 e 2 correspondem a cada combinação de, T e R apresentadas nas Tabelas 1 e 2, respectivamente. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2117

Porcentual de Desvio Médio 14,00 12,00 1 8,00 6,00 4,00 2,00 1 2 3 4 5 6 7 8 9 10 11 12 IGLS SGALS AGH Figura 1. Comparação dos algoritmos para λ {0,0, 0,2, 0,4}. 1,40 1,20 Porcentual de Desvio Médio 1,00 0,80 0,40 0,20-0,20 1 2 3 4 5 6 7 8 9 10 11 12 IGLS SGALS AGH Figura 2. Comparação dos algoritmos para λ {0,6, 0,8, 1,0}. 5. Conclusões A pesquisa relatada neste artigo teve como objetivo propor um algoritmo genético híbrido para resolver o problema de programação de tarefas no ambiente no-wait flowshop permutacional, minimizando a soma ponderada do makespan e do atraso máximo. O algoritmo usa um procedimento de busca local e de diversificação da população, técnicas que contribuíram fortemente para bom desempenho do algoritmo. Foram realizados diversos testes preliminares para determinar os melhores parâmetros a serem utilizados, analisando-se diferentes operadores de cruzamento e fatores de probabilidade. O algoritmo desenvolvido foi testado com 4800 cenários propostos por Ruiz e Allahverdi (2008), e seus resultados foram comparados com as melhores soluções obtidas por 12 algoritmos da literatura. O algoritmo AGH proposto determinou 1733 novas soluções e 988 resultados iguais aos melhores resultados conhecidos até o momento. Em função dos resultados experimentais obtidos, pode-se dizer que o método híbrido desenvolvido contribuiu com novos resultados para a literatura, ao agregar as características de busca local e diversificação da população no algoritmo genético. Agradecimentos O presente trabalho foi financiado pelo Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) e pela Fundação de Amparo à Pesquisa do Estado de Minas Gerais (FAPEMIG). XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2118

6. Referências Alcaraz, J., Maroto, C., e Ruiz, R. (2003), Solving the multi-mode resource-constrained project scheduling problem with genetic algorithms. Journal of the Operational Research Society, 54, 614-626. Aldowaisan, T. e Allahverdi, A. (2003), New heuristics for no-wait flowshops to minimize makespan, Computers & Operations Research, 30 (8), 1219-1231. Allahverdi, A. e Aldowaisan, T. (2000), No-wait and separate setup three-machine flowshop with total completion time criterion. International Transactions in Operational Research, 7 (3), 245-264. Allahverdi, A. e Aldowaisan, T. (2002), No-wait flowshops with bicriteria of makespan and total completion time, Journal of the Operational Research Society, 53 (9), 1004-1015. Allahverdi, A. e Aldowaisan, T. (2004), No-wait flowshops with bicriteria of makespan and maximum lateness, European Journal of Operational Research, 152 (1), 132-147. Baker, K.R., Introduction to sequencing and scheduling, Wiley, New York, 1974. Brown, S.I., McGarvey, R. eventura, J.A. (2004), Total flowtime and makespan for a no-wait m-machine flowshop with set-up times separated, Journal of the Operational Research Society, 55(6), 614-621. Bonney, M.C. e Gundry, S.W. (1976), Solutions to the constrained flowshop sequencing problem, Operational Research Quarterly, 27 (4), 869-88. Dileepan, P. (2004), A note on minimizing maximum lateness in a two-machine no-wait flowshop, Computers and Operations Research, 31 (12), 2111-2115. Gangadharan, R. e Rajendran, C. (1993), Heuristic algorithms for scheduling in the no-wait flowshop, International Journal of Production Economics, 32 (3), 285-290. Glover, F., A Template for Scatter Search and Path Relinking. In Selected Papers From the Third European Conference on Artificial Evolution J. Hao, E. Lutton, E. M. Ronald, M. Schoenauer, e D. Snyers, Eds. Lecture Notes In Computer Science, vol. 1363. Springer-Verlag, London, 3-54, 1998. Grabowski, J. e Pempera, J. (2005), Some local search algorithms for no-wait flow-shop problem with makespan criterion, Computers and Operations Research, 32 (8), 2197--2212. Gupta, J.N.D. e Stafford, E.F. (2006), Flow shop scheduling research after five decades, European Journal of Operational Research, 169, 699-711. Hall, N.G. e Sriskndarajah, C. (1996), A survey of machine scheduling problems with blocking and no wait in process, Operations Research, 44(3), 510-525. King, J.R. e Spachis, A.S. (1980), Heuristics for flowshop scheduling, International Journal of Production Research, 18 (3), 345-357. Liu, B., Wang, L. e Jin, Y-H. (2007), An effective hybrid particle swarm optimization for nowait flow shop scheduling, International Journal of Advanced Manuf. Technology, 31, 100-101. Michalewicz, Z., Genetic algorithms + data structures = evolution programs. Springer-Verlag, London, UK, 3th edition, 1996. Nawaz, M., Enscore, E., e Ham, I. (1983), A heuristic algorithm for the m-machine, n-job flowshop sequencing problem. OMEGA, 11, 91-95. Potts, C.N. e Wassenhove, L.V. (1982), A decomposition algorithm for the single machine total tardiness problem, Operations Research Letters, 1, 177-181. Rajendran, C. (1994), A no-wait flowshop scheduling heuristic to minimize makespan, Journal of the Operational Research Society, 45 (4), 472-478. Rock, H. (1984), The three-machine no-wait flowshop problem is NP-complete, Journal Assoc. Comput Machinery, 31, 336-345. Ruiz, R. e Allahverdi, A. (2007a), No-wait flowshop with separate setup times to minimize maximum lateness, International Journal Advanced Manuf. Technology, 35, 551-565. Ruiz, R. e Allahverdi, A. (2007b), Some effective heuristics for no-wait flowshops with setup times to minimize total completion time, Ann Oper Res, 156, 143-171. Ruiz, R. e Allahverdi, A. (2008), New Heuristics for No-Wait Flowshops with a Linear Combination of Makespan and Maximum Lateness, In press at International Journal of XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2119

Production Research. Ruiz, R., Maroto, C., e Alcaraz, J. (2006). Two new robust genetic algorithms for the flowshop scheduling problem. OMEGA, 34, 461-476. Ruiz, R. e Stützle, T. (2008), An iterated greedy heuristic for the sequence dependent setup times flowshop problem with makespan and weighted tardiness objectives. European Journal of Operational Research, 187, 1143-1159. Wang, X.L. e Cheng, T.C.E. (2006), A heuristic approach for two-machine no-wait flowshop scheduling with due dates and class setups, Computers and Operations Research, 33 (5), 1326-1344. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2120