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

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

Sistemas de Produção em Fluxo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4 Métodos Existentes. 4.1 Algoritmo Genético

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

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

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

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

Iterated Local Search. Helena R. Lorenço, Olivier Martinz and THOMAS STUTZLE

Problemas de otimização

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

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

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

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

Rio de Janeiro- Brasil, 05 e 06 de agosto de ISSN SPOLM 2009

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

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

MÉTODOS DE OTIMIZAÇÃO MULTIOBJETIVO

UNIVERSIDADE DE SÃO PAULO

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

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

Um GRASP Simples e Robusto para o Job Shop Scheduling Problem

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

MÉTODOS EXATO E HEURÍSTICO PARA O PROBLEMA DE LOCALIZAÇÃO DAS P-MEDIANAS COM DOIS OBJETIVOS


GBT: GRASP + BUSCA TABU EM PROBLEMAS DE SCHEDULING

Tópicos em Métodos Heurísticos META-HEURÍSTICAS

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

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

XLVII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL

Pesquisa Operacional Aplicada à Mineração

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

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

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

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

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

REVISÃO DE HEURÍSTICAS PARA MINIMIZAÇÃO DO TEMPO DE FLUXO EM SISTEMAS FLOW SHOP COM TEMPOS DE SETUP

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

Métodos de alto rendimento e baixa complexidade em flowshop

UM ALGORITMO GRASP PARA O SALBP-2

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

PAULO LÚCIO DE OLIVEIRA JÚNIOR

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

SIMULATED ANNEALING APLICADO AO PROBLEMA DE ORDENAÇÃO EM LINHAS PARALAELAS

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

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

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

Otimização a Múltiplos Objetivos de Dispositivos Eletromagnéticos pelo Método dos Elementos Finitos. Luiz Lebensztajn

UNIVERSIDADE DE SÃO PAULO ESCOLA DE ENGENHARIA DE SÃO CARLOS DEPARTAMENTO DE ENGENHARIA DE PRODUÇÃO AUGUSTO ALMEIDA DA SILVA

5 VNS com Filtro e Reconexão por Caminhos

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

EXPLORANDO A HEURÍSTICA DM-GRASP PARA O PROBLEMA DAS P-MEDIANAS

MAC 5758 Introdução ao Escalonamento e Aplicações

Teoria da Decisão. Otimização Vetorial. Prof. Lucas S. Batista. lusoba

UMA HEURÍSTICA HÍBRIDA PARA O PROBLEMA DE SEQUENCIAMENTO DE TAREFAS EM MÁQUINAS PARALELAS NÃO RELACIONADAS

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

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

Aprimorando o Corte Peças com Forma Irregular em Chapas Retangulares

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

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

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

2 Problemas de Escalonamento

Uma Introdução à Busca Tabu André Gomes

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

Busca Local Iterada. Universidade Federal do Paraná UFPR Curso de Ciência da Computação CI801 Tópicos em Inteligência Artificial

Multi disciplinar. Científica. ABREU, Júnior César 1 PEREIRA, Ana Amélia de Souza 2 INTRODUÇÃO

UNIVERSIDADE FEDERAL DO PARANÁ ALINE KIESKOSKI

TWTJSSP-ILS: UM ALGORITMO HEURÍSTICO PARA RESOLVER O PROBLEMA JOB-SHOP SCHEDULING COM PENALIDADE PELO TEMPO DE ATRASO

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

1. Computação Evolutiva

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

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

OPEN DIMENSIONAL CUTTING PROBLEM: UMA ABORDAGEM HÍBRIDA VIA GRASP E ILS

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

O PROBLEMA DE SEQUENCIAMENTO DA PRODUÇÃO EM UM AMBIENTE FLOWSHOP COM LINHAS SEMI- PARALELAS E OPERAÇÃO DE SINCRONIZAÇÃO FINAL

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

Um Método Para Planejamento da Produção em Sistemas de Manufatura Flexível

OTIMIZAÇÃO MULTIOBJETIVO

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

Transcrição:

HEURÍSTICAS GRASP E ILS PARA O PROBLEMA NO-WAIT FLOWSHOP SCHEDULING MULTIOBJETIVO 1 Paulo Lúcio de O. Júnior, 2 José Elias C. Arroyo, 3 Vitor Andrade A. de Souza Departamento de Informática, Universidade Federal de Viçosa Campus Universitário da UFV, 36570-000 Centro Viçosa, MG, Brasil E-mails: 1 paulo.junior@ufv.br, 2 jarroyo@dpi.ufv.br, 3 vitor.andrade@ufv.br RESUMO Este artigo aborda o problema da programação de tarefas em um sistema no-wait flowshop permutacional com o objetivo de otimizar dois critérios: o fluxo total e o atraso total das tarefas com relação às suas datas de entrega. A restrição no-wait do problema indica que as tarefas não podem sofrer interrupções em seu processamento entre as máquinas, desde o seu início até o fim de sua execução. Para determinar soluções não dominadas do problema são propostas adaptações de dois algoritmos heurísticos: GRASP e ILS. Estes algoritmos utilizam estratégias baseadas em conceitos de dominância de Pareto para realizar a busca de soluções. As soluções obtidas pelos algoritmos, para um conjunto grande de problemas, são comparadas utilizando duas medidas de desempenho. Testes computacionais apontam que o algoritmo ILS é bastante eficiente e promissor com relação ao algoritmo GRASP. PALAVRAS-CHAVE. Metaheurísticas, programação no-wait flowshop, GRASP, ILS, busca local ABSTRACT This paper considers the no-wait permutation flowshop scheduling problem in order to minimize two criteria: the total flow time and the total tardiness with respect to the job due dates. The no-wait constrain indicates that a job must be processed from start to completion, without any interruption between machines. To determine non-dominated solutions of the problem, we propose adaptations of two heuristic algorithms: GRASP and ILS. These algorithms use strategies based on Pareto dominance. The obtained solutions by the two algorithms are evaluated using two performance measures. The computational tests show that the ILS algorithm is very efficient and promising with respect to GRASP algorithm. KEYWORDS. Metaheuristics, no-wait flowshop scheduling, GRASP, ILS, local search 1863

1. Introdução A programação da produção tem um papel importante em sistemas de manufatura nas indústrias. Para as empresas modernas manterem uma posição competitiva no mercado é muito importante utilizarem tecnologias avançadas e eficientes de manufatura (Liu et al. 2005). O problema tradicional de programação flowshop é um problema de programação da produção na qual um conjunto de n tarefas deve ser processado, na mesma seqüência, por um conjunto de m máquinas. Quando a ordem de processamento em todas as máquinas for a mesma, tem-se o ambiente de produção flowshop permutacional, onde o número possível de programações (escalonamentos) para n tarefas é n! (Gupta e Stafford, 2006). Uma situação específica e muito freqüente para este problema é a programação da produção em sistema de produção no-wait flowshop (NWFS). Este problema consiste no sequenciamento de n tarefas em m máquinas sem que as tarefas sofram interrupções em seu processamento, na máquina em si ou entre máquinas, desde o seu início até o fim de sua execução. A característica da restrição no-wait (sem-espera) é que a operação k+1 de uma tarefa tem que ser processada logo após a operação k seja finalizado (1 < k < m-1), ou seja, não é permitido tempo de espera no processamento de uma tarefa, de uma máquina para a próxima. Qualquer espera pode causar o estrago do produto, causando, assim, problemas na sua fabricação. Por exemplo, na indústria de produtos alimentícios um alimento tem que ser enlatado ou envasado logo após seu cozimento para garantir a qualidade do mesmo. Na literatura existem poucos trabalhos que abordam o problema de NWFS. Bertolissi (2000) propôs um algoritmo heurístico para esse problema, no qual o tempo de fluxo total foi considerado como critério a ser otimizado. Spieksma e Woeginger (2005) utilizaram de fórmulas matemáticas para mostrar que aumentando a velocidade de algumas máquinas em uma NWFS pode piorar o makespan. Grabowski e Pempera (2005) desenvolveram e comparam diferentes algoritmos de busca local para um NWFS com o critério de makespan. Kumar et al. (2006) propuseram uma heurística baseada em um algoritmo imune artificial para resolver NWFS com o tempo de fluxo total como critério. Su e Lee (2008) proveram um método heurístico e um algoritmo branch-and-bound (B&B) para resolver o problema de escalonamento NWFS com duas máquinas, no qual o desempenho medido foi o tempo de fluxo total. Problemas de escalonamento da vida real geralmente apresentam mais de um objetivo. As soluções destes problemas podem exigir mais do tomador de decisão do que aqueles problemas mono-objetivo. Entretanto, a literatura de problemas multiobjetivos é notavelmente mais esparsa do que programação mono-objetivo (Lei, 2009). Allahverdi e Aldowaisan (2004) consideram um problema NWFS bi-objetivo no qual são otimizados o makespan e o atraso máximo. Pan et al. (2008) desenvolveram e aplicaram com sucesso um algoritmo de particle swarm para resolver um problema NWFS com dois critérios, makespan e tempo de fluxo total. Neste trabalho, são implementadas duas metaheurísticas diferentes para resolver o problema NWFS bi-objetivo, na qual são minimizados o fluxo de tempo total e atraso total das tarefas. A primeira metaheurística é uma versão adaptada da metaheurística ILS (Iterated Local Search) multiobjetivo proposta por Ruiz e Stützle (2008) e Framinan e Leisten (2008). A segunda metaheurística é baseada no algoritmo GRASP (Greedy Randomized Adaptative Search Procedure) proposta por Reynolds e Iglesia (2008). No problema NWFS abordado, também são considerados tempos de preparação (setup-time) que dependem da tarefa e da máquina. Estes tempos são gastos para fazer a manutenção de uma máquina k antes de executar uma tarefa i. Neste trabalho, para testar o desempenho das heurísticas, foram utilizados 400 problemas disponíveis na literatura do problema NWFS mono-objetivo. As dimensões dos problemas são: número de tarefas n {50, 100, 150, 200} e número de máquinas m {10, 20, 30, 40}. Este artigo é organizado da seguinte maneira. Na seção 2 é apresentada a definição formal do problema NWFS. A seção 3 contém a descrição da heurística GRASP multiobjetivo. As etapas da heurística ILS multiobjetivo são apresentadas na seção 4. Os resultados computacionais e as conclusões do trabalho estão nas seções 5 e 6, respectivamente. 1864

2. Definição do Problema O problema no-wait flowshop (NWFS) consiste de 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 e um tempo de preparação S ij. 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. Um exemplo de escalonamento de 3 tarefas em 3 máquinas é mostrado na Figura 1. Note que o tempo de preparação S ij não necessariamente tem que associado ao tempo de processamento t i,j da tarefa, pois a preparação (setup) da máquina pode ser feita antes da finalização da tarefa na máquina anterior. Os critérios considerados neste trabalho são: fluxo total e atraso total das tarefas com relação às datas de entrega. Para a seqüências s = {J 1,,J i,..., J n }, o fluxo total (f 1 ) e o atraso total (f 2 ) são calculados da seguinte forma: f 1 =, f 2 = (0, ) 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 (Ruiz e Allahverdi, 2007): C i =, onde é o completion time da tarefa J k na máquina M j, calculado da seguinte maneira: = (,,, )+,, j=1,,m =, =0, k=1,,n, j=1,,m. O atraso L i da tarefa J i é dado por: L i = C i d i Figura 1. Exemplo de escalonamento de 3 tarefas em 4 máquinas no NWFS. 1865

As soluções de um problema de otimização bi-objetivo são caracterizadas pelas seguintes definições: Definição 1 (Soluções ou pontos dominantes): Uma solução s 1 domina a solução s 2 se as três condições seguintes forem satisfeitas: i) f 1 (s 1 ) f 1 (s 2 ), ii) f 2 (s 1 ) f 2 (s 2 ) e iii) f 1 (s 1 ) < f 1 (s 2 ) ou f 2 (s 1 ) < f 2 (s 2 ). Definição 2 (Soluções Pareto-ótimas): Uma solução é Pareto-ótima se ela não é dominada por nenhuma solução do espaço de soluções factíveis. Resolver um problema de otimização multiobjetivo (em particular, bi-objetivo) consiste em determinar o conjunto de todas as soluções Pareto-ótimas (fronteira Pareto-ótima). 3. Heurística GRASP Multiobjetivo para o Problema NWFS GRASP (Greedy Randomized Adaptative Search Procedure) é uma heurística iterativa de múltiplos reinícios, proposta inicialmente por Feo e Resende, (1995). Cada iteração da heurística consiste de duas fases: construção e busca local. A primeira fase constrói uma solução s 1 viável utilizando um algoritmo guloso aleatorizado. Na segunda fase a solução construída s 1 é melhorada através de um método de Busca Local ou busca em vizinhança. A melhor solução obtida s*, durante todas as iterações GRASP, é retornada. Na Figura 1 apresenta-se um pseudocódigo do algoritmo GRASP básico. O algoritmo GRASP tem sido aplicado com muito sucesso para resolver diversos problemas de otimização combinatória (Festa e Resende, 2009). Procedimento GRASP-Mono ( I max, ) 1. f(s*) := 2. para i := 1 até I max faça 3. s 1 := ConstruçãoGulosaAleatorizada( ); 4. s 1 := BuscaLocal(s 1 ); 5. se f(s 1 ) < f(s*) então 6. s* := s 1 ; 7. fim for Retorne s*; fim GRASP Figura 1. GRASP básico. Neste trabalho foi aplicada uma adaptação do algoritmo GRASP Multiobjetivo (GMO) proposto por Reynolds e Iglesia (2008) para resolver o problema NWFS bi-objetivo. Na Figura 2 é apresentado o pseudocódigo do algoritmo GMO. O algoritmo, além do critério de parada, possui três parâmetros, d (número de soluções a serem construídas), (taxa de aleatoriedade) e k (número de iterações da busca local). A ideia do algoritmo é, a cada iteração, determina-se um conjunto de soluções não-dominadas (D 1 ). Essas soluções são construídas por um procedimento guloso com uma taxa de aleatoriedade. A construção das soluções é baseada na minimização da função ponderada f = 1 f 1 + 2 f 2, onde 1 2 ) é um vetor de pesos ou preferências atribuídos aos objetivos minimizados. Este vetor determina uma direção de busca na fronteira Pareto-ótima. Com o objetivo de determinar diferentes direções de busca, a cada iteração do algoritmo GRASP são definidos, aleatoriamente, diferentes vetores. O objetivo do procedimento de busca local é melhorar o conjunto D 1, ou seja, determinar novas soluções não-dominadas no conjunto D 1. A cada iteração do algoritmo, o conjunto D 1 é utilizado para atualizar o melhor conjunto D* a ser retornado pelo algoritmo GRASP. Note que, uma solução s será inserida no conjunto D 1 ou D se ela não for dominada por nenhuma 1866

solução do conjunto, e todas as soluções dominadas pela solução s serão removidas do conjunto. O pseudocódigo do procedimento de busca local é mostrado na Figura 3. Fazendo uma comparação do algoritmo GRASP mono-objetivo com o GRASP multi-objetivo, observa-se que o mono-objetivo, a cada iteração, constrói uma solução para ser melhorada pela busca local, retornando a melhor solução s* encontrada. Já o algoritmo multi-objetivo, a cada iteração, constrói um conjunto de soluções não-dominadas para serem melhoradas pela busca local, retornando o melhor conjunto D* de soluções não-dominadas encontradas. Algoritmo GMO (d,, k): 01. D* := 02. While critério de parada não satisfeita faça: 03. D 1 = 04. Repita d vezes: 05 := 1 2 1 2 = 1//pesos gerados aleatoriamente 06. s:= ConstruçãoGulosaAleatórizada(, ) 07. D 1 := D 1 {s} 08. Fim-Repita 09. D 1 := LocalSearch(D 1, k) 10. D* := soluções não-dominadas de (D* D 1 ) //atualização do conjunto D* 11. Fim-While 12. Retorne D* Figura 2. Algoritmo GRASP Algoritmo LocalSearch(k, D 1 ): 01. Repita k vezes: 02. s := Escolha uma solução aleatória de D 1 03. s := Gere um vizinho aleatório de s 04. D 1 := soluções não-dominadas de (D 1 {s }) 05. Fim-repita 06. Retorne D 1 ; Figura 3. Algoritmo de Busca Local A seguir são detalhados os procedimentos de construção e busca local implementados neste trabalho. 3.1. Construção de Soluções e Busca Local Para gerar o conjunto D 1 de soluções não-dominadas, são construídas d soluções. Destas d soluções, D 1 armazenará as não-dominadas. As soluções são construídas utilizando uma adaptação da heurística NEH proposta por Nawaz, et al. (1983). Como os objetivos a serem minimizados são fluxo total (f 1 ) e atraso total (f 2 ), na heurística NEH são utilizados duas regras de prioridade para a ordenação das tarefas (lista de candidatos LC). As regras são: SPT (Shortest Processing Time) comumente utilizada para a minimização do fluxo total (Framinan et al., 2002) e TLB (Tardiness Lower Bound) utilizada para a minimização do atraso total (Armentano e Ronconi,1999). Para construir uma solução (sequencia de tarefas), aleatoriamente é escolhida uma regra de prioridade SPT ou TLB. A heurística NEH funciona da seguinte maneira: A lista restrita de candidatos (LRC) é formada pelas primeiras h = max(1, LC ) tarefas de LC (lista de candidatos determinada pela regra de prioridade). Para = 0 o procedimento de construção é totalmente guloso, enquanto para = 1 o procedimento é totalmente aleatório. A heurística NEH começa com uma solução s parcial formada por uma tarefa J k escolhida aleatoriamente de LRC, s = ( J k ). Uma solução completa é construída em n 1 iterações (i = 2,,n). A cada iteração i, uma tarefa é selecionada aleatoriamente da lista LCR e ela é inserida em cada uma das posições da sequencia de s gerando i sequencias parciais com i+1 tarefas. A sequencia parcial s que minimiza a função ponderada f = 1 f 1 + 2 f 2 é selecionada para a 1867

próximo passo. Note que a cada passo a sequencia s terá uma tarefa a mais. O procedimento de construção finaliza quando é obtida uma sequencia s completa com n tarefas. A busca local do algoritmo GMO é um processo repetitivo que consiste em escolher uma solução dominante s construída na fase anterior e gerar um vizinho de s de forma aleatória. Em seguida testa-se a inserção dessa solução vizinha s no conjunto D 1, ou seja, a atualização do conjunto é feito da seguinte maneira: D 1 = soluções não-dominadas de (D 1 {s }). Note que a busca local é um procedimento bastante simples e rápido que avalia k soluções vizinhas. As soluções vizinhas são geradas através da inserção de tarefas, ou seja, aleatoriamente escolhe-se uma tarefa para ser inserida ou realocada em outra posição da sequencia. 4. Heurística ILS Multi-objetivo para o Problema NWFS Iterated Local Search (ILS) é um algoritmo heurístico baseada na ideia de que um procedimento de busca local pode ser melhorado, gerando-se novas soluções de partida, as quais são obtidas por meio de perturbações numa solução ótima local (Lourenço, et al. 2003). A perturbação deve permitir que a busca local explore diferentes soluções e, além disso, deve evitar um reinício aleatório. O método ILS é, portanto, um método de busca local que procura focar a busca não no espaço completo de soluções, mas em um pequeno subespaço, definido por soluções que são ótimas locais. O algoritmo ILS possui 4 etapas principais: obtenção de uma solução ótima local inicial s*, perturbação da solução s* obtendo uma solução s, melhoria da solução s obtendo s* (busca local) e um critério de aceitação da solução atual. Na Figura 4 ilustra-se o funcionamento do algoritmo ILS. As três últimas etapas são executadas iterativamente durante um número n ILS de vezes e algoritmo retorna a melhor solução obtida durante toda sua a execução. A heurística ILS é fortemente dependente da solução inicial ótima local. Para a geração de soluções iniciais, geralmente, são utilizados algoritmos guloso construtivos seguida de um algoritmo de busca local. Procedimento ILS-Mono (n ILS ) //n ILS =número de iterações 1. s* := ObtemSolucaoInicial ( ); 2. Para i := 1 até n ILS faça 3. s := Perturbação(s*); 4. s* := BuscaLocal(s ); 5. Se f(s* ) < f(s*) então //critério de aceitação 6. s* := s* ; 7. fimse. 8. fimpara. 9. Retorne s*; fimprocedimento ILS Figura 4. Pseudocódigo do um algoritmo ILS Neste trabalho é proposto uma adaptação da heurística ILS para o problema NWFS biobjetivo. A heurística, denominada ILS-Multi, possui etapas similares do ILS-Mono. No ILS- Multi, inicialmente é gerado um conjunto de soluções não-dominadas D, a perturbação consiste em destruir e reconstruir uma solução selecionada de D e a busca local é aplicada em uma solução não-dominada retornada pela etapa de perturbação. Todas as soluções não-dominadas viáveis obtidas durante todo o processo de busca são utilizadas para atualizar o conjunto D a ser retornada pela heurística. Vale lembrar que, uma solução s será inserida no conjunto D (critério de aceitação) se ela não for dominada por nenhuma solução s D, além disso, as soluções dominadas por s são removidas do conjunto D. Na Figura 5 são mostrados os passos principais do algoritmo ILS-Multi. 1868

Procedimento ILS-Multi (t) 1. s 1 NEH_SPT( ) 2. s 2 NEH_TLB( ) 3. D 1 := BuscaLocal_FluxoTotal(s 1 ) 4. D 2 := BuscaLocal_AtrasoTotal (s 2 ) 5. D := Soluções não-dominadas de D 1 D 2 6. Enquanto condição de parada faça 7. s := Solução aleatória de D 8. Remova t tarefas de s 9. D p := {s} //s é uma solução parcial 10. Para cada tarefa j removida faça // Construção 11. D aux := {} 12. Para cada solução s de D p, faça 13. Inserir j em todas as posições de s gerando n-t+1 sequências parciais 14. Calcular os objetivos das n-t+1 sequências parciais 15. D aux := soluções não-dominadas das n-t+1 sequências parciais 16. fimpara 17. D p := D aux 18. fimpara 19. s := Solução aleatória de D p 20. D 2 := BuscaLocal(s) 21. D := Soluções não-dominadas de D p D 2 22. fimenquanto 23. Retorne D fimprocedimento ILS-Multi Figura 5. Pseudocódigo do algoritmo ILS-Multi 4.1 Obtenção de um Conjunto de Soluções Não-dominadas Iniciais Antes de iniciar o loop principal do algoritmo ILS-Multi, é gerado um conjunto D de soluções não-dominadas (veja passo 5 do algoritmo ILS-Multi). Para isto, inicialmente são construídas duas soluções utilizando a heurística NEH. A primeira utilizando a regra SPT e a segunda utilizando a regra TLB (passos 1 e 2). Vale lembrar que estas soluções são obtidas (pela heurística NEH) minimizando isoladamente o fluxo total e o atraso total, respectivamente. Depois de ter construído as duas soluções, estas são melhoradas utilizando um procedimento de Busca Local mono-objetivo, ou seja, a primeira solução é melhorada minimizando o fluxo total e a segunda minimizando e o atraso total (passos 3 e 4). A busca local utilizada nesta fase inicial consiste em gerar soluções vizinhas realizando a realocação de todas as tarefas (vizinhança de inserção). A busca local finaliza quando não seja possível encontra uma solução vizinha melhor que a atual. Ressalta-se que o procedimento de busca local retorna as soluções não-dominadas dentre todas as soluções vizinhas avaliadas, ou seja, são gerados dois conjuntos, D 1 e D 2, de soluções não-dominadas (veja passos 3 e 4). 4.2 Perturbação da Solução O objetivo da perturbação é escapar de um ótimo local e explorar outras regiões promissora de soluções não-dominadas. A partir de uma solução s selecionada aleatoriamente do conjunto de soluções não-dominadas D, são geradas novas soluções não-dominadas a serem armazenadas no conjunto D p. Isto é feito em duas etapas denominadas destruição e reconstrução. A destruição consiste em remover aleatoriamente t tarefas da solução s (selecionada de D). Então, têm-se uma solução parcial s com n-t tarefas. A etapa de reconstrução consiste em reconstruir a solução s. Esta etapa é feito em t iterações. Na primeira iteração, a primeira tarefa removida é inserida em cada uma das posições da 1869

solução s gerando n-t+1 soluções parciais. Dentre as n-t+1 soluções geradas, determina-se o conjunto D aux das soluções parciais não-dominadas. Na próxima iteração, o processo é repetido para cada solução dominante s encontrada na iteração anterior. Ou seja, para cada solução dominante s, insere-se a próxima tarefa removida em cada uma das posições de s, gerando n-t+2 soluções. Do total de soluções geradas determina-se, novamente, o conjunto D aux das soluções parciais não-dominadas. O procedimento de reconstrução finaliza quando são geradas soluções completas com n tarefas e o conjunto D aux conterá soluções completas não-dominadas. 4.3 Procedimento de Busca Local Uma solução s não-dominada ( D p ) gerada pela etapa perturbação é utilizada inicializar o procedimento de busca local (veja passo 19 do algoritmo ILS-Multi). O pseudocódigo da busca local é mostrado na Figura 6. Este procedimento consiste em determinar um conjunto D aux de soluções não-dominadas vizinhas de s. Essas soluções vizinhas são determinadas inserindo (ou realocando) uma tarefa j em todas as posições da seqüência de s. Note que inicialmente o conjunto D aux contém a solução s (veja passo 1). Este conjunto é atualizado com as soluções vizinhas determinadas. A cada iteração da busca local, são selecionadas novas soluções do conjunto D aux para serem exploradas (passo 3). O procedimento finaliza quando todas as soluções de D aux forem exploradas, isto é, quando não sejam encontradas novas soluções nãodominadas. Procedimento BuscaLocal(s) 1. D aux := {s} 2. Enquanto existir solução em D aux não explorada faça 3. s := escolha uma solução não explorada de D aux 4. Marque s como explorada 5. j := escolha de forma aleatória uma tarefa de s 6. Para cada posição i da seqüência de s faça 7. Gere s inserindo a tarefa j na posição i de s 8. D aux := soluções não-dominadas de D aux {s } 9. fimpara 10. fimenquanto 11. Retorne D aux fimprocedimento BuscaLocal Figura 6. Pseudocódigo do algoritmo Busca Local 5. Resultados Computacionais Os algoritmos GMO e ILS-Multi foram programados na linguagem C++, utilizando o compilador g++ 4.2, com a flag de otimização O2 no sistema operacional Linux. Os testes foram feitos em um computador Core 2 Quad 2.4 GHZ e 3 GB de memória RAM. Para testar os algoritmos, foram utilizados 400 problemas disponíveis na literatura do problema NWFS mono-objetivo. As dimensões dos problemas são: número de tarefas n {50, 100, 150, 200} e número de máquinas m {10, 20, 30, 40}. Para cada combinação de n m são disponíveis 25 problemas. Com o objetivo de comparar as duas heurísticas, foi utilizada a mesma condição de parada para as duas heurísticas, que consiste no tempo computacional de execução, calculado da seguinte forma: 120 milissegundos. Este critério de parada é bastante utilizado na comparação de heurísticas (Minella, et al. 2008). A heurística GMO possui, possui três parâmetros, d (número de soluções a serem construídas), (taxa de aleatoriedade) e k (número de iterações da busca local). Diferentes valores foram testados para esses parâmetros. Os melhores resultados do GMO foram obtidos para: d = 20, k = n/2, = 0,5 (para problema com n = 50 e 100) e = 0,2 (para problemas com n = 150 e 200). 1870

A heurística ILS-Multi só possui o parâmetro t utilizado na perturbação (destruição de uma solução através da remoção de t tarefas). Para esse parâmetro, também foram testadas diferentes valores. Os melhores resultados do ILS-Multi foram encontrados para t = 4. Vale lembrar que a perturbação não pode ser muito forte para evitar reinícios aleatórios. 5.1. Avaliação de Soluções Em otimização multiobjetivo não há um maneira única e natural para avaliar a qualidade dos resultados obtidos por métodos heurísticos (Arroyo e Armentano 2004). Sejam, D e D os conjuntos de soluções não-dominadas encontradas pelas heurísticas GRASP multiobjetivo (GMO) e ILS-Multi, respectivamente. Para cada problema resolvido, é determinado o conjunto de soluções de referência (denominado R) que é formado pelas soluções não-dominadas dentre todas as soluções encontradas pelos dois algoritmos. Ou seja, o conjunto de soluções de referência é determinado da seguinte maneira: R = {soluções não-dominadas de (D D )}. Para as heurísticas GMO e ILS-Multi são determinadas as quantidades de soluções pertencentes ao conjunto R. Ou seja, calculam-se R D e R D, respectivamente. Note que, quanto maior o número de soluções de referência obtidas por uma heurística, melhor será o desempenho da mesma (eficiência baseada na medida de cardinalidade). Os algoritmos GMO e ILS-Multi também são comparadas utilizando uma medida de distância proposta por Czyak e Jaskiewicz (1998) e Knowles e Corne (2002) que mede a proximidade de um conjunto X de soluções aproximadas com relação ao conjunto de referência R. Assume-se que X é uma boa aproximação de R se as soluções de X (X = D ou D ) estão bem próximas das soluções de R. Em outras palavras, para cada solução y R existe x X tal que a distância entre x e y seja mínima. Neste trabalho considera-se a distância média (D med ) definida da seguinte maneira: 1 Dmed ( X ) min d( x, y) R x X y R sendo que d xy (para o caso bi-objetivo) é definido como: d xy = ( ) ( ) + ( ) ( ), onde f i *(.) é a função objetivo i normalizada de acordo com o conjunto de soluções no conjunto referência R: ( ) = 100 ( ( ) ), f MIN i e f MAX i são, respectivamente, os valores mínimo e máximo da função objetivo i no conjunto referência R. A distância D med é amplamente empregada como medida de avaliação de soluções de problemas multiobjetivo (Ulungu et al. 1998; Ishibuchi et al. 2003; Armentano e Arroyo 2004; Arroyo e Armentano 2004; Framinan e Leisten 2008). 5.2. Comparação das Heurísticas Na Tabela 1 estão os resultados obtidos pelas heurísticas GMO e ILS-Multi. Nesta tabela mostra-se, para cada heurística, o número de soluções não-dominadas determinadas (ou seja, D e D ), o número de soluções de referência geradas ( R D e R D ) e as distâncias médias das soluções heurísticas com relação às soluções de referência. Pode-se observar claramente que a heurística ILS-Multi determina um número maior de soluções de referência em todos os conjuntos de problemas. As distâncias médias (D med ) das soluções da heurística ILS-Multi são bem menores (próximos de zero) em todos os problemas testados, pois quase todas as soluções de referência foram obtidas pelo ILS-Multi. Para o 1871

conjunto de problemas com 200 tarefas a maior distância média para o ILS-Multi é de aproximadamente 7%. Com estes resultados fica claro que o algoritmo ILS-Multi obteve um desempenho superior em comparação à heurística GRASP multiobjetivo. Tabela 1. Desempenho dos algoritmos multiobjetivo GRASP e ILS. Prob. GMO ILS-Multi n m R R D D med D R D D med D 50 10 384 0 251,53 139 384 0 384 50 20 296 0 669,55 94 296 0 296 50 30 200 2 367,57 92 198 1,5 198 50 40 237 0 380,34 86 237 0 237 Total 1117 2 1668,99 411 1115 1,5 1115 100 10 476 0 379,71 118 476 0 476 100 20 279 0 1148,9 72 279 0 279 100 30 212 0 1442,26 72 212 0 212 100 40 183 0 1700,63 61 183 0 183 Total 1150 0 4671,5 323 1150 0 1150 150 10 446 0 642,07 135 446 0 446 150 20 307 0 881,11 84 307 0 307 150 30 200 2 2001,3 57 198 0,87 198 150 40 213 5 1295,81 60 208 2,31 208 Total 1166 7 4820,29 336 1159 3,18 1159 200 10 450 0 524,7 137 450 0 450 200 20 276 2 1060,71 81 274 0,46 274 200 30 187 8 2747,6 73 179 3,94 179 200 40 191 8 2485,12 56 183 2,97 183 Total 1104 18 6818,13 347 1086 7,37 1086 6. Conclusão Neste trabalho foram propostas adaptações de duas heurísticas para resolver o problema de escalonamento no-wait flowshop bi-objetivo, no qual são minimizados o fluxo total e o atraso total das tarefas com relação às suas datas de entrega. Estas heurísticas são baseadas no algoritmo GRASP e ILS e utilizam conceitos de busca multiobjetivo para determinar um conjunto de soluções não-dominadas. Foram testados 400 problemas de grande porte e os resultados experimentais indicaram que a heurística ILS multiobjetivo apresentou resultados bastante superiores em comparação à heurística GRASP multiobjetivo. Vale destacar que estas heurísticas são muito pouco utilizadas na literatura para a resolução de problemas de otimização multiobjetivo. 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). 1872

Referências Bibliográficas 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. Armentano, V. A., Ronconi, D.P., (1999). Tabu Search For Total Tardiness Minimization In Flowshop Scheduling Problems. Computers And Operations Research, 26, 219-235. Armentano, V.E., Arroyo, J.E.C. (2004). An application of a multi-objective tabu search algorithm to a bicriteria flowshop problem. Journal of Heuristics 10:463 481. Arroyo, J. E. C., e Armentano, V.A. (2004). A partial enumeration heuristic for multiobjective flowshop scheduling problems. Journal of Operations Research Society, 55, 1000 1007. Bertolissi, E. (2000) Heuristic algorithm for scheduling in th no-wait flow-shop, Journal of Materials Processing Technology, 107, 459-465. Czyak, P., e Jaskiewicz, A. (1998). Pareto simulated annealing a metaheuristic technique for multiple objective combinatorial optimization. J. Mul.-Crit. Dec. Mak.: 34-47. Feo, T.A., Resende, M.G.C. (1995). Greedy randomized adaptive search procedures. J. of Global Optimization, 6:109 133, 1995. Festa P. e Resende M.G.C. (2009). An annotated bibliography of GRASP, Part II: Applications. International Transactions in Operational Research 16:131-172. Framinan, J.M,, Leisten, R. e Ruiz-Usano, R., (2002). Efficient Heuristics For Flowshop Sequencing With The Objectives Of Makespan And Flowtime Minimization. European Journal Of Operational Research 141, P. 559-569. Framinan, J.M. e Leisten, R. (2008). A multi-objective iterated greedy search for flowshop scheduling with makespan and flowtime criteria. OR Spectrum 30:787 804. Grabowski, J. e Pempera, J. (2005). Some local search algorithms for no-wait flow shop problem with makespan criterion, Computers and Operations Research 32 2197 2212. Gupta Jr, J.N.D. e Stafford E.F. (2006). Flow shop scheduling research after five decades, European Journal of Operational Research 169 699 711. Ishibuchi, H., Yoshida. T. e Murata., T. (2003). Balance between genetic search and local search in memetic algorithms for multiobjective permutation scheduling. IEEE Transactions on Evolutionary Computation 7:204 223. Knowles, J.D. e Corne, D.W. (2002). On metrics for comparing non-dominated sets. Proceedings of 2002 Congress on Evolutionary Computation, chap.. Honolulu, Hawaii, pp 711 716. Kumar, A., Prakash, A., Shankar, R. e Tiwari, M.K. (2006). Psycho-Clonal algorithm based approach to solve continuous flow shop scheduling Expert Systems with Applications 31 504 514. Lei, D. (2009) Multi-objective production scheduling: a survey. International Journal of Advanced Manufacturing Technology 43:926-938. Liu, B., Wang L. e Jin, Y.H, (2005). An effective hybrid particle swarm optimization for nowait flow shop scheduling, International Journal of Advanced Manufacturing Technology, 31: 1001-1011. Minella G., Ruiz R. e Ciavotta, M. (2008). A review and evaluation of multi-objective algorithms for the flowshop scheduling problem. Informs Journal of Comput, 20(3):451-471. Nawaz, M., Enscore, Jr.E.E. e Ham, I. (1983). A heuristic algorithm for the m-machine, n-job flowshop sequencing problem. OMEGA, 11: 91 95. Pan, Q.K., Tasgetiren, M.F. e Liang, Y.C. (2008). A discrete particle swarm optimization algorithm for the no-wait flowshop scheduling. Computers and Operations Research, 35(9) 2807-2839. Reynolds, A. P., Iglesia, B. (2008). A multi-objective GRASP for partial classification, Springer-Verlag. Ruiz, R., Allahverdi, Ali. (2007). No-wait flowshop with separate setup times to minimize maximum lateness. International Journal of Advanced Manufacturing Technology 35:551-565. 1873

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. Spieksma, F.C.R. e Woeginger, G.J.(2005). The no-wait flow-shop paradox, Operation Research Letter 33 603 608. Su, L.H. e Lee, Y.Y. (2008). The two-machine flow shop no-wait scheduling problem with a single server to minimize the total completion time. Computers and Operations Research, 35(9), 2952-2963. Ulungu, E.L., Teghem J. e Ost, C. (1998). Efficiency of interactive multi-objective simulated annealing through a case study. Journal of Operations Research Society 49:1044 1050. 1874