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

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

Sistemas de Produção em Fluxo

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

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

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

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

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

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

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

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

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

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

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

Uma Introdução à Busca Tabu André Gomes

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

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

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

MÉTODOS DE OTIMIZAÇÃO MULTIOBJETIVO

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

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

4 Métodos Existentes. 4.1 Algoritmo Genético

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

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

Pesquisa Operacional Aplicada à Mineração

Problemas de otimização

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

Um GRASP Simples e Robusto para o Job Shop Scheduling Problem

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

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

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

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

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

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

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

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

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

GBT: GRASP + BUSCA TABU EM PROBLEMAS DE SCHEDULING

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

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

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

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

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 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

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

UM ALGORITMO GRASP PARA O SALBP-2

Ummétodohíbridoparaescalonar turnosdeenfermeiras

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

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

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

Busca Tabu. Marcone Jamilson Freitas Souza. Universidade Federal de Ouro Preto

UNIVERSIDADE DE SÃO PAULO

Métodos de alto rendimento e baixa complexidade em flowshop

Planejamento para fundições: uma aplicação do método das K-melhores mochilas. 1 Introdução

Universidade Federal Fluminense

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

5 VNS com Filtro e Reconexão por Caminhos

HEURÍSTICAS GRASP PARA O PROBLEMA DE ALOCAÇÃO DINÂMICA DE ESPAÇOS

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

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

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

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

XLVII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL

GRASP para o Problema do Caixeiro Viajante com Limite de Calado

Otimização Combinatória - Parte 4

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

PROGRAMAÇÃO DA PRODUÇÃO EM SISTEMAS FLOWSHOP UTILIZANDO UM MÉTODO HEURÍSTICO HÍBRIDO ALGORITMO GENÉTICO-BUSCA TABU

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

CAPÍTULO 1. Conceitos sobre Planeamento e Escalonamento

ANÁLISE DE RESULTADOS NA CONSTRUÇÃO DE ROTA PARA O PROBLEMA DO CAIXEIRO VIAJANTE


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

ALGORITMO DE BUSCA TABU APLICADO NA SOLUÇÃO DO PROBLEMA DE MÚLTIPLAS MOCHILAS.

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

OTIMIZAÇÃO MULTIOBJETIVO

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

SEQUENCIAMENTO EM MÁQUINAS PARALELAS COM TEMPOS DE SETUP DEPENDENTES DA SEQUÊNCIA

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

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

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

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

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

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

O Problema da Diversidade Máxima: Proposta e

Utilização de Times Assíncronos na Solução do Problema de Cobertura de Conjuntos

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

APLICAÇÃO DA META-HEURÍSTICA GRASP PARA O PROBLEMA DO SORTIMENTO FLORESTAL

UM ESTUDO DA SOLUÇÃO DO PROBLEMA DE AGENDAMENTO DE CIRURGIAS ELETIVAS UTILIZANDO METAHEURÍSTICAS

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

2. Problemas Abordados e Técnicas Utilizadas 3. Arquitetura do Modelo

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

Marina Andretta. 02 de agosto de 2010

PCC104 - Projeto e Análise de Algoritmos

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

UNIVERSIDADE FEDERAL DO PARANÁ ALINE KIESKOSKI

APLICAÇÃO DO MÉTODO GRASP NO PROBLEMA DE POSICIONAMENTO DE RADARES DE VIGILÂNCIA

Otimização de horários Seminário. Clarisse Resende 25/01/2013

Estratégias de Escalonamento em um Ambiente de Job-shop

FORMULAÇÕES COM VARIÁVEIS CONTENDO ÍNDICE DE TEMPO PARA O PROBLEMA DO FLOW SHOP EM DUAS MÁQUINAS COM PENALIDADES POR ATRASO NAS TAREFAS

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

Transcrição:

Algoritmo busca tabu para a minimização do tempo de processamento e atrasos de entrega em sistemas de produção flowshop permutacional Marcio Leite (UCAM-Campos) mleite@lenep.uenf.br José Elias Cláudio Arroyo (UCAM-Campos) jclaudio@ucam-campos.br Resumo Este artigo aborda o problema de escalonamento de tarefas em um flowshop minimizando simultaneamente atraso máximo das tarefas com relação às datas de entrega e tempo final de processamento das tarefas (makespan). Este problema existe na empresa Boechat Ltda. (www.boechat.com.br) localizada na cidade de Itaperuna, RJ. A empresa fabrica freios para veículos pesados aonde são produzidos vários produtos compostos de um conjunto de operações que são executados em máquinas distintas e em tempos diferentes. A empresa é essencialmente interessada em minimizar os atrasos das entregas e o uso das máquinas. É proposto um algoritmo busca tabu com múltiplos reinícios, usando a heurística de NEH aleatório para gerar as soluções iniciais. O algoritmo é baseado na abordagem a priori, na qual os critérios são combinados definindo uma função ponderada e o decisor pode incluir as preferências dos critérios, antes da busca da solução do problema. A metaheurística é testada em problemas reais e em problemas encontrados na literatura. Os resultados obtidos são comparados com os resultados de uma metaheurística proposto na literatura. Palavras-chave: Flowshop, Metaheurísitca, Otimização multicritério. 1. Introdução Os problemas de escalonamento de tarefas encontram-se intimamente ligados ao planejamento e programação da produção nas indústrias. Estes problemas, além de matematicamente desafiadores, são extremamente difíceis de resolver. A explosão combinatória decorrente da necessidade de se examinar as várias alternativas de escalonamento existentes nesses problemas torna difícil e custosa a obtenção de uma solução ótima ou aproximada. O problema de flowshop tem recebido considerável atenção por muitos pesquisadores durante os últimos 50 anos. Desde o primeiro artigo publicado por Johnson (1954), diferentes métodos exatos e heurísticos têm sido propostos para resolver este problema, minimizando um único critério, tais como: makespan (C max ), tempo de fluxo total (F), atraso máximo (T max ) e atraso total (T) (Nawas et al., 1983; TAILLARD, 1990; ISHIBUCHI et al., 1995; Armentano e Ronconi, 1999). Os critérios C max e F estão relacionados com minimização dos recursos de produção e minimização de estoque em processamento, respectivamente, enquanto T max e T procuram minimizar atrasos relacionadas a datas de entrega. Recentemente, o problema de flowshop tem sido estudado otimizando mais de um critério simultaneamente. T kindt e Billaut (2001) apresenta uma revisão do estado da arte sobre problemas de escalonamento de tarefas em máquinas otimizando múltiplos critérios, incluindo máquinas simples, máquinas paralelas e flowshop. Uma lista de 115 artigos é apresentada, o que mostra o crescente interesse nesta área importante. Em problemas multicritério, em geral, não existe uma única solução que seja a ótima com respeito a todos os critérios. Nestes problemas, a solução esperada é composta por um 1

conjunto de soluções de equilíbrio, denominados eficientes ou Pareto-ótimas, caracterizadas por não serem dominadas por nenhuma outra solução. A literatura, segundo a pespectiva do decisor, classifica os problemas de escalonamento flowshop em dois grupos: Métodos a priori: São caracterizados pela participação do decisor antes do processo de busca de soluções, isto é, antes de resolver o problema. Existem duas abordagens dos métodos a priori. Na primeira abordagem atribuí-se pesos para cada critério e em seguida otimiza-se uma função definida pela combinação dos os critérios (CHAKRAVARTHY e RAJENDRAN, 1999; RAJENDRAN e ZIEGLER; 2003). Na segunda abordagem os critérios são classificados em ordem decrescente de prioridade e sempre se otimiza o critério de menor prioridade respeitando o valor ótimo do critério de maior prioridade (GUPTA et al., 1999). Métodos a posteriori: A busca é feita considerando que todos os critérios possuem a mesma importância, cabendo ao decisor ao final do processo de busca selecionar dentre o conjunto de soluções Pareto-ótimas, a solução de melhor compromisso (DANIELS e CHAMBERS, 1990;ARROYO e ARMENTANO 2005; VARANDHARAJAN e REJENDRAN, 2005). O problema de flowshop é considerado um problema NP-Difícil visto que não é conhecido nenhum algoritmo exato de tempo polinomial (LAWLER et al., 1993). Por isso métodos aproximativos ou heurísticos são comumente utilizados neste tipo de problemas. Para resolver o problema de flowshop com dois critérios, é proposta uma metaheurística composta de duas fases, denominada GRASP - Busca Tabu (G-BT). Na primeira fase é gerada uma solução inicial usando o algoritmo GRASP proposto por Feo e Resende (1995). Na segunda fase a solução inicial é refinada usando um algoritmo Busca Tabu, proposto por Glover (1989, 1990). A metaheurística proposta G-BT é baseada na abordagem a priori, na qual os pesos ou preferências dos critérios são parâmetros de entrada da metaheurística. O método é testado em problemas reais de flowshop existentes na empresa Boechat Ltda. e em problemas gerados de forma aleatória. Na empresa Boechat Ltda. são fabricadas diversas famílias de produtos, tais como: kits de freios, suportes de câmara, câmaras spring-brake, sapatas de freio e eixos tipo S, etc. Neste trabalho são considerados somente os produtos da família dos eixos tipo S. Cada produto desta família é composto de um conjunto de operações: cortar, laminar, temperar, lavar e pintar. Estas operações são processadas utilizando máquinas especificas e em tempos diferentes. Para a empresa é desejável minimizar os atrasos das entregas e o uso das máquinas (makespan), no entanto, o segundo critério possui maior importância em relação ao primeiro. As preferências pelos critérios atraso e makespan tem respectivamente os seguintes pesos: 0,15 e 0,85. O Artigo está organizado da seguinte forma: Seção 2, formulação de um problema de otimização e do problema de flowshop abordado. Seção 3, detalhes da metaheurística proposta. Seção 4, resultado computacionais. Seção 5, conclusões do trabalho. 2. Problema de Flowshop Multicritério Dado um vetor de funções com r componentes f = (f 1,, f r ) definido em um conjunto discreto de soluções X. Considere o seguinte problema de otimização multicritério: Minimizar (maximizar) Sujeito a z = f (x) = (f 1 (x) = z 1,..., f r (x) = z r ), z Z x X 2

onde x é o vetor decisão, z é o vetor de critérios, X denota o espaço de soluções factíveis e Z = f(x) = {z = f(x) x X} é a imagem de X denominado espaço objetivo factível. Note que, a imagem de uma solução x = (x 1, x 2,..., x n ) X no espaço objetivo é um ponto z = (z 1, z 2,..., z r ) = f (x), tal que z j = f j (x), j = 1,..., r (r é o número de critérios). Neste trabalho considera-se um problema de minimização com r critérios. No caso de otimizar um único critério, a comparação entre duas soluções x e y é imediato. Se f(x) < f(y) então x é melhor que y. Em problemas de otimização multicritério, a comparação de duas soluções x e y é mais complexo, pois nesse caso existe uma relação de ordem parcial denominado relação de dominância de Pareto. Definição 1. Uma solução x domina a solução y se e somente se: f i (x) f i (y) i {1,...,r} e f i (x) f i (y) para algum i {1,...,r}. Definição 2. Uma solução x é Pareto-ótima ou eficiente se ela não é dominada por nenhuma solução do espaço de soluções factíveis. Considere o problema de programação em um flowshop com n tarefas disponíveis para processamento no instante t = 0 e que requerem uma única operação em cada uma das m máquinas ordenadas. A cada tarefa i está associado um tempo de processamento, p ij, na máquina j e uma data de entrega d i. A seqüência de processamento das tarefas é idêntica para todas as máquinas. Para uma dada seqüência, seja C i o instante de término de processamento da tarefa i, e T i = max{c i d i, 0} o atraso da tarefa i. Os critérios a serem minimizados são: tempo final de processamento (makespan) C max = max i {C i } e atraso máximo T max = max i {T i }. 3. Metaheuristica Proposta A metaheurística proposta consiste de duas etapas. Na primeira etapa, uma solução inicial x é determinada usando um algoritmo GRASP (FEO e RESENDE, 1995). Na segunda etapa é executado um algoritmo Busca Tabu (GLOVER, 1989, 1990) que inicia com a solução x gerada pela primeira etapa e obtendo uma solução x melhorada. A metaheurística proposta será denominada G-BT. A seguir apresenta-se o pseudocódigo da metaheurística G-BT. Procedimento G-BT Entrada: Pesos λ = (λ 1, λ 2 ) dos critérios C max e T max ; Critério de parada dos algoritmos GRASP e Buca Tabu. Saída: uma solução x que minimize a função ponderada f(x) = λ 1 C max (x) + λ 2 T max (x). Inicio x = GRASP(λ); x = BUSCA TABU (x, λ); Fim. Note que, a metaheurística G-BT possui como entrada os pesos ou preferências dos critérios e as respectivas condições de parada do algoritmo GRASP e Busca Tabu. O algoritmo GRASP possui duas fases: construtiva e busca local. Na fase construtiva é usada a heurística gulosa de enumeração parcial NEH, proposta por Nawaz et al. (1983), que constrói uma seqüência x baseada na inserção de tarefas numa ordem determinada. A heurística foi originalmente proposta para a minimização do makespan usando a regra de prioridade LPT (longest processing time), na qual as tarefas são ordenadas de forma decrescente com o tempo total de processamento sobre as máquinas, j p ij. Na fase construtiva do algoritmo GRASP proposto, a lista de candidatos (LC) é formada pelas 3

tarefas ordenadas segundo a regra de prioridade TLB (tardiness lower bound) proposta por Armentano e Ronconi (1999). Na regra TLB as tarefas são ordenadas de forma nãodecrescente com o limitante inferior do atraso de cada tarefa i: d i j p ij. As tarefas a serem inseridas na seqüência x são escolhidas aleatoriamente a partir de um subconjunto LRC de LC. A lista restrita de candidatos LRC é formada pelas max(1, LC ) primeiras tarefas de LC, onde [0, 1] é o parâmetro que determina a taxa de aleatoriedade e LC denota a cardinalidade da lista LC. Note que, se = 0, as tarefas sempre serão escolhidas na ordem determinada pela regra TLB (escolha gulosa). Se = 0, a escolha de tarefas será completamente aleatória. A seguir é apresentado o pseudocódigo da fase construtiva do algoritmo GRASP. Procedimento NEH_Aleatório ( ) Inicio Seja LC = {J 1, J 2,..., J n } a lista de tarefas ordenadas de acordo á regra de prioridade TLB. Escolha uma tarefa J k aleatoriamente de {J 1,..., J t }onde t = max(1, LC ). Seja x = (J k ) a seqüência parcial formada pela primeira tarefa escolhida. Remova a tarefa J k de LC. Para i = 2 até n faça Escolha uma tarefa J k aleatoriamente de LCR, onde LCR é formada pelas t = max(1, LC ) primeiras tarefas de LC. Insira a tarefa J i em cada uma das posições de x, obtendo i seqüências parciais com i tarefas. Calcule o valor de f = λ 1 C max + λ 2 T max para cada seqüência parcial. Remova a tarefa J k de LC. Seja x a seqüência com menor valor de f = λ 1 C max + λ 2 T max, onde λ 1 e λ 2 são os pesos atribuídos aos critérios. Fim Para. Retorne a seqüência x com n tarefas e com menor valor de f. Fim. A fase da busca local do algoritmo GRASP consiste em melhorar a solução x obtida pela fase construtiva. Através da busca local gera-se um conjunto de soluções vizinhas de x e dentre estas soluções determina-se a solução x com o menor valor da função ponderada f = λ 1 C max + λ 2 T max. Se f(x ) < f(x), o processo é repetido a partir da solução x até a obtenção de uma solução sem nenhum vizinho melhor, denominada ótimo local. A geração de soluções vizinhas é feita através da troca de tarefas que gera um total de n(n 1)/2 soluções vizinhas. Os pseudocódigos da fase de busca local e do algoritmo GRASP são apresentados a seguir. Procedimento busca local (x) Inicio Melhora = Verdade; Enquanto Melhora faça Gere a vizinhança de x: N(x). Determine o melhor vizinho x N(x) Se f(x ) < f(x) então Faça x = x ; Melhora = Verdade; Senão Melhora = Falso; Fim Enquanto; Procedimento GRASP Inicio f(x*) = infinito; Sejam 1,..., 11, parâmetros de aleatoriedade diferentes. Para i = 1 até 11 faça x = NEH_Aleatório ( i ); x = Busca Local (x); Se f(x ) < f(x*) então x* = x; Fim Para; 4

Retorne a solução x; Fim Retorne a solução x*; Fim. O algoritmo GRASP é executado onze iterações e a cada iteração é usado um valor diferente do parâmetro. Os valores usados para são: 0; 0,1; 0,2; ;1. A metaheurística Busca Tabu (BT) é um processo iterativo baseado em busca em vizinhnaça, proposta por Glover (1989, 1990). Ela procura explorar o espaço de soluções do problema, movendo-se sucessivamente de uma solução x para outra solução x, dentre sua vizinhança N(x). Os movimentos são realizados com a finalidade de encontrar soluções de boa qualidade, segundo a avaliação de alguma função objetivo f(x) a ser otimizada. No entanto, em cada iteração o valor da função f(x ) não necessariamente é melhor que f(x), isto é, a busca tabu pode aceitar soluções que não sejam melhores que a solução atual x (soluções de piora). A característica principal do algoritmo BT é que, no processo da busca, ela incorpora uma memória adaptativa e estratégias de busca baseadas em memória. A memória adaptativa pode ser de curto prazo ou de longo prazo. A idéia de utilizar memória de curto prazo é de restringir a busca através da proibição de certos movimentos permitindo superar ótimos locais, prevenir ciclagem e direcionar a busca para regiões não exploradas. A proibição ocorre através do armazenamento dos atributos dos movimentos já realizados em uma lista denominada tabu que é consultada cada vez que se realiza um novo movimento. Caso os atributos deste movimento estejam presentes na lista tabu, este movimento é proibido de ser executado e, portanto, é considerado um movimento tabu. Uma maneira de retirar a condição tabu de um movimento é pelo critério de aspiração que libera um movimento considerado suficientemente importante naquele momento da busca. Neste trabalho é implementado um algoritmo BT com memória de curto prazo e critério de aspiração. O algoritmo é baseado na minimização da função ponderada f = λ 1 C max + λ 2 T max, onde os pesos são definidos a priori. A solução inicial para algoritmo BT é gerada pelo algoritmo GRASP descrito na seção anterior. Os componentes do algoritmo BT incluem: estratégia de geração de vizinhança e regras de proibição, duração tabu e critério de parada. Estes componentes determinam o desempenho do algoritmo e são dependentes do problema a ser resolvido. Neste trabalho foram testadas duas estratégias de geração de vizinhança: Inserção de tarefas: A vizinhança de x, N(x) é construída, inserindo-se cada uma das tarefas J i, i = 1,...,n, em todas as outras posições da seqüência. Esta estratégia gera uma vizinhança de tamanho (n-1) 2. Troca de tarefas: A vizinhança de x, N(x) é gerada através da troca de posições de duas tarefas J i e J j, i, j com i j. A regra de proibição usada para o movimento de inserção é: se a tarefa J i é inserida em alguma posição da seqüência, esta tarefa é adicionada na lista tabu e, portanto, a tarefa J i não pode ser escolhida para inserção enquanto a duração tabu esteja ativa. Para o movimento de troca, considerou-se a seguinte regra de proibição: se as tarefas J i e J j forem trocadas de posições, estas tarefas são adicionadas na lista tabu. Portanto, as tarefas J i e J j não poderão ser escolhidas para trocar posições com outras tarefas enquanto a duração tabu esteja ativa. Para o problema de flowshop permutacional abordado neste trabalho, a vizinhança troca de tarefas gerou as melhores soluções. 5

A duração tabu é um parâmetro muito importante do algoritmo BT. Durações tabus muito pequenas podem causar ciclagem da busca, enquanto altas durações tabus podem restringir a exploração do espaço de busca. A duração tabu de um movimento é feita de forma dinâmica. Para cada combinação movimento-regra de proibição, a duração tabu dt é gerada aleatoriamente dentro de um intervalo [dt min, dt max ] definido em função do número de tarefas n. Foram testados e analisados diferentes valores para dt min e dt max, e os valores que geraram os melhores resultados são mostrados na Tabela 1. Intervalo da duração tabu Movimento n < 50 n = 50 n = 80 Inserção [n/4, 3n/4] [n/5, 5n/8] [n/6, n/2] Troca [n/4, n/2] [n/5, n/3] [n/6, n/4] Tabela 1: Intervalos de geração da duração tabu Como critério de parada é usado pelo algoritmo o tempo computacional, foram usados os mesmos tempos computacionais apresentados no trabalho de Arroyo e Armentano (2005). 4. Testes Computacionais A metaheurística G-BT foi implementada na linguagem C++ e os testes computacionais foram realizados num computador com processador Pentium IV 2.4 Mhz. O desempenho da metaheurística foi testado usando dois conjuntos de problemas testes: Conjunto 1: Os problemas são reais e foram obtidas da empresa Boechat Ltda. Todos envolvem m = 5 máquinas e o número de tarefas n {22, 24, 25, 28, 30}. Foram considerados dois problemas para cada combinação de n e m, obtendo um total de 10 problemas. Conjunto 2: É formado pelos mesmos problemas usados por Arroyo e Armentano (2005), onde o número de máquinas m {10, 20} e o número de tarefas n {20, 50, 80}. Para cada combinação n e m são considerados 40 problemas, totalizando 240 problemas. O desempenho da metaheurística G-BT é comparado com o Algoritmo Genético com busca local proposto por Arroyo e Armentano (2005). Esta metaheurística é denotada por MOGLS. O MOGLS gera uma aproximação do conjunto de soluções Pareto ótimas para o problema de flowshop bi-critério, onde são minimizados o makespan (C max ) e o atraso máximo (T max ). Como critério de parada foram usados o mesmos tempos médios de execução apresentados pela metaheurística MOGLS (Arroyo e Armentano, 2005), conforme Tabela 2. n m: 20 5 20 10 20 20 50 5 50 10 50 20 80 5 80 10 80 20 Tempo: 6 8 12 86 170 264 354 643 1143 Tabela 2: Tempos de execução em segundos usados como critério de parada. A qualidade da solução x encontrada pela metaheurística G-BT é comparada com a solução y mais próxima pertencente ao conjunto de Pareto obtida pela metaheurística MOGLS. É usada como distância, entre duas soluções x e y, a seguinte métrica: d(x, y) = max{ C max (x) C max (y), T max (x) T max (y) }. Para cada solução x encontrada pelo método G-BT são verificados os seguintes estados: x é idêntica a y; x é não-comparável com y; x domina a y ou x é dominada por y, onde y é uma solução obtida pelo método MOGLS mais próxima de x. Para determinar esses estados é 6

utilizado o conceito de dominância de Pareto, resumido na Tabela 3. T max C max Estado < < x domina y > > x é dominado por y Solução x comparada com solução y < > x e y, são não-comparáveis > < x e y, são não-comparáveis = = x e y, são idênticos Tabela 3: Comparação das soluções de G-BT com as soluções de MOGLS. Nos testes realizados sobre os problemas reais do Conjunto 1, todas as soluções obtidas pelo método G-BT foram idênticas às soluções geradas pela metaheurística MOGLS. Vale ressaltar que, a metaheurística MOGLS foi executada, para estes problemas, usando os mesmos parâmetros apresentados em (ARROYO e ARMENTANO, 2005). Os resultados obtidos para os problemas aleatórios do Conjunto 2 são apresentados na Tabela 4. Nesta Tabela são mostrados o número de soluções obtidas pela metaheurística G-BT, que são idênticas, não-comparáveis, dominantes e dominadas com relação às soluções obtidas pelo método MOGLS. Observa-se que, dos 240 problemas testados, as soluções obtidas pela metaheurística proposta G-BT foram dominantes em 79 problemas. O método MOGLS obteve a dominância em 53 problemas. Nos outros 108 problemas as soluções obtidas pelo método G-BT foram idênticas ou não-comparáveis com as soluções do método MOGLS. Observa-se que a metaheurística G-BT é capaz de encontrar soluções de boa qualidade em problemas de tamanho 20 10, 20 20, 50 20 e 80 20. Problemas G-BT n m Número de soluções obtidas Distâncias médias Idênticos Não comparáveis Dominantes Dominadas G-TS MOGLS 20 10 16 4 18 2 0,32 5,17 20 20 14 9 15 2 0,32 3,62 50 10 2 14 8 16 24,55 8,62 50 20 0 15 22 3 4,42 26,80 80 10 5 10 6 19 61,05 12,92 80 20 0 19 10 11 30,15 15,62 Total 37 71 79 53 Tabela 4: Desempenho da metaheurística G-BT em problemas gerados aleatoriamente Na Tabela 4 também são mostradas as médias das distâncias produzidas pelas soluções das metaheurísticas G-BT e MOGLS. Se a solução x domina à solução y, calcula-se a distância de y para x; se x é dominado por y, determina-se a distância de x para y; se x e y são nãocomparáveis, a distância é a mesma para ambas as soluções. Esta maneira de comparar soluções, através da medida de distância, permite determinar quanto distante encontra-se uma solução em relação uma solução de referência (a melhor solução). Note que as médias das distâncias correspondentes ao método G-BT foram menores para os problemas 20 10, 20 20 e 50 20. É importante mencionar que a metaheurística MOGLS possui um bom desempenho devido a que ela trabalha com uma população de soluções dominantes (varias direções de busca), isto permite diversificar a busca de soluções e escapar de ótimos locais. 5. Conclusões Neste artigo foi proposta uma metaheurística Busca Tabu com múltiplos reinícios para resolver o problema de escalonamento de tarefas em um ambiente flowshop. Foram 7

considerados a otimização de dois critérios importantes na programação da produção: tempo final de processamento (makespan) e atraso máximo em relação às datas de entrega. Foram feitos testes priliminares em problemas reais fornecidas pela Boechat Ltda. Vale mencionar que as empresas têm procurado métodos eficientes de otimização com a finalidade de aumentar sua produtividade e consequentemente sua eficácia. Deste ponto de vista, o uso de problemas reais é de grande importância para demonstrar a aderência dos métodos científicos nas empresas. A metaheurística proposta também foi testada em uma grande quantidade de problemas gerados aleatoriamente. Os resultados obtidos foram comparados com os resultados de um algoritmo genético para otimização multicritério (MOGLS) da literatura. Pode-se concluir que a metaheurística proposta GRASP é simples de implementar e é bastante competitiva quando comparada com o método MOGLS. Agradecimentos: Os autores agradecem à Boechat Ltda. pelo financiamento parcial e pelo fornecimento de informações (dados de problemas). Referências ARMENTANO, V. A., RONCONI, D.P., 1999. Tabu search for total tardiness minimization in flowshop scheduling problems. Computers and Operations Research, 26, p. 219-235. ARMENTANO, V.A., ARROYO, J.E.C., 2004. An Application of a Multi-Objective Tabu Search Algorithm to a Bicriteria Flowshop Problem. Journal of Heuristics, 5, p. 463-481. ARROYO, J.E.C., ARMENTANO, V.A., 2005. Genetic Local Search for Multi-Objective Flowshop Scheduling Problems. European Journal of Operational Research, 167, 3, p. 717-738. CHAKRAVARTHY, K., RAJENDRAN, C., 1999. A heuristic for scheduling in a flowshop with the bicreteria of makespan and maximum tardiness minimization. Production Planning and Control, 10, p. 707-714. DANIELS, R.L., CHAMBERS, R.J., 1990. Multiobjective flow-shop scheduling. Naval Research Logistics, 37:, p. 981-995. EHRGOTT, M., GANDIBLEUX, X., 2000. A survey and annotated bibliography of multicriteria combinatorial optimization. OR Spektrum, 22, p. 425-460. FEO, T.A., RESENDE, M.G.C., 1995. Greedy randomized adaptive search procedures. Journal of Global Optimization, 6, p. 109-133. GLOVER, F.W., 1989. Tabu search, Part I. ORSA Journal on Computing, 1, p. 190-206. GLOVER, F.W., 1990. Tabu search, Part II. ORSA Journal on Computing, 2, p. 4-32. GUPTA, J.N.D., PALANIMUTHU, N., CHEN, C.L., 1999. Designing a tabu search algorithm for the twostage flow shop problem with secondary criterion. Production Planning and Control, 10:, p. 251-265. ISHIBUSHI, H., MISAKI, S., TANAKA, H., 1995. Modified simulated annealing algorithms for the flowshop sequencing problems. European Journal of Operational Research, 81, p. 388 398. JOHNSON, S.M., 1954. Optimal two and three-stage production schedules with set-up times included. Naval Research Logistics Quarterly,1, p. 61 68. JONES, D.F., S. K. MIRRAZAVI S.K., TAMIZ, M., 2002. Multi-Objective Meta-Heuristics: An Overview of the Current State-of-the-Art. European Journal of Operational Research, 137, p. 1-9. LAWLER, E.L., LENSTRA, J.K., RINNOOY KAN, A.H.G., SHMOYS, D.B., 1993. Sequencing and scheduling: Algorithms and complexity. In: Graves, S.C. (Ed.), Handbooks in Operations Research and Management Science, Vol. 4. Elsevier Science Publishers, Amsterdam, pp. 445 552. NAWAZ, M., ENSCORE, Jr., E.E., HAM, I., 1983. A heuristic algorithm for the m-machine, n-job flowshop sequencing problem. OMEGA, 11, p. 91 95. RAJENDRAN. C., ZIEGLER, H., 2003. Scheduling to minimize the sum of weighted flowtime and weighted 8

tardiness of jobs in a flowshop with sequence-dependent setup times. European Journal of Operational Research, 149, p. 513-522. TAILLARD, E., 1990. Some efficient heuristics methods for the flowshop sequencing problems. European Journal of Operational Research, 47, p. 65 74. T'KINDT, V., AND J-C. BILLAUT. 2001. Multicriteria scheduling problems: a survey. RAIRO Operations Research, 35, 143-163. VARANDHARAJAN, T.K., REJENDRAN, C., 2005. A multi-objective simulated-annealing algorithm for scheduling in flowshops to minimize the makespan and total flowtime jobs. European Journal of Operational Research, 167, p. 772-795. 9