UMA FERRAMENTA INTERATIVA E GRÁFICA APLICADA NA RESOLUÇÃO DO PROBLEMA FLOWSHOP PERMUTACIONAL

Documentos relacionados
O PROBLEMA DE SEQÜENCIAMENTO FLOWSHOP: UMA ABORDAGEM EVOLUCIONÁRIA

Sistemas de Produção em Fluxo

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

UMA HEURISTICA APLICADA AO PROBLEMA DO CAIXEIRO VIAJANTE

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

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

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

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

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

INVESTIGANDO O PROBLEMA DA MOCHILA IRRESTRITA EM SUA VERSÃO BIDIMENSIONAL

4 Métodos Existentes. 4.1 Algoritmo Genético

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

Problemas de otimização

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

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

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

A New Algorithm for Finding All Tours and Hamiltonian Circuits in Graphs

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

UMA COMPARAÇÃO EMPÍRICA DE OPERADORES DE CROSSOVER PARA O PROBLEMA DE JOB SHOP COM DATAS DE ENTREGAS

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

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

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

METAHEURÍSTICAS: 1 SIMULATED ANNEALING (S.A) 1.1 INTRODUÇÃO

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

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

UM ALGORITMO APROXIMATIVO APLICADO AO PROBLEMA DE PARTIÇÃO DE CONJUNTO

UNIVERSIDADE FEDERAL DO CEARÁ PRÓ-REITORIA DE PESQUISA E PÓS-GRADUAÇÃO PROGRAMA DE MESTRADO EM LOGÍSTICA E PESQUISA OPERACIONAL

3 Metaeurísticas e Resolvedores MIP

Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante

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

BRENO DE CASTRO HONORATO E SILVA

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

DETERMINAÇÃO DE FUNÇÕES DE TRANSFERÊNCIA DE PROCESSOS QUÍMICOS ATRAVÉS DO MÉTODO DE EVOLUÇÃO DIFERENCIAL UTILIZANDO O SCILAB

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

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

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

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

3 Aprendizado por reforço

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

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

UNIVERSIDADE DE SÃO PAULO

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

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

COMPARAÇÃO ENTRE HEURÍSTICAS PARA AMBIENTES FLOW SHOP COM MINIMIZAÇÃO DO MAKESPAN

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

PCC104 - Projeto e Análise de Algoritmos

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

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

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

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE INFORMÁTICA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO BERNARDO HENRIQUE OLBERTZ NETO

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

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

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

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

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

Teoria da Decisão. Introdução às Metaheurísticas. Prof. Lucas S. Batista. lusoba

4 Implementação Computacional

Utilização de Algoritmos Genéticos para Otimização de Altura de Coluna da Matriz de Rigidez em Perfil no Método dos Elementos Finitos

APLICAÇÃO DE META-HEURÍSTICAS À ENGENHARIA DE PRODUÇÃ O

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

Angelo Aliano Filho 1 e Antônio Carlos Moretti 2 Universidade Estadual de Campinas - IMECC 1

SOBRE ESCALONAMENTO EM MÁQUINAS PARALELAS COM CAPACIDADES DISTINTAS

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

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

MPE(S)- Metodologias de Planeamento e Escalonamento Planning and Scheduling Methodologies

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

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

Um algoritmo genético híbrido para o problema quadrático binário irrestrito

Ummétodohíbridoparaescalonar turnosdeenfermeiras

Coordenadas Cartesianas

META-HEURÍSTICA CLUSTERING SEARCH APLICADA AO PROBLEMA DE ROTULAÇÃO CARTOGRÁFICA DE PONTOS

MODELO DE PROGRAMAÇÃO LINEAR INTEIRA MISTA PARA MINIMIZAÇÃO DOS ADIANTAMENTOS E ATRASOS EM FLOW SHOP COM SETUP DEPENDENDE DA SEQUÊNCIA

Aplicação de uma Metaheurística GRASP para o Problema da Árvore de Steiner em Grafos Direcionados

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

Um Modelo Baseado na Busca Tabu Aplicado ao Problema do Escalonamento do Job-shop com Setup e Data de Entrega

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

Algoritmos Combinatórios: Introdução

UMA ABORDAGEM DIDÁTICA DO SIMULATED ANNEALING USANDO O MODELO MARKOVIANO APLICADA AO PROBLEMA DO CAIXEIRO VIAJANTE

Buscas Informadas ou Heurísticas - Parte II

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

Análise de Componentes Principais Simbólicas

7 Resultados e Discussão

Departamento de Matemática

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

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

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

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

Métodos de alto rendimento e baixa complexidade em flowshop

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

UMA ABORDAGEM MULTIAGENTE PARA A SOLUÇÃO DE PROBLEMAS DO TIPO JOBSHOP

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

Projeto e Análise de Algoritmos Análise de Complexidade. Prof. Luiz Chaimowicz

XLVII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL

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

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

3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução

Universidade Federal Fluminense

Experimentos e Resultados

Transcrição:

UMA FERRAMENTA INTERATIVA E GRÁFICA APLICADA NA RESOLUÇÃO DO PROBLEMA FLOWSHOP PERMUTACIONAL José Lassance de Castro Silva Universidade Federal do Ceará-UFC. Campus do Pici, Bloco 910, CEP 60455-760, Fortaleza CE lassance@lia.ufc.br Lucas Rebouças Guimarães Universidade Federal do Ceará-UFC. Campus do Pici, Bloco 724, CEP 60455-760, Fortaleza CE lucasreb@gmail.com RESUMO No presente trabalho desenvolvemos uma ferramenta interativa e gráfica aplicada na resolução do problema de combinação FlowShop Scheduling Problem (FSP). A ferramenta pode também ser utilizada no estudo de outros Problemas de Otimização Combinatória Permutacional, permitindo que o usuário interaja diretamente na busca por boas soluções para o problema, possibilitando estudar o problema passo a passo e de diferentes formas, fornecendo ainda uma visão prática da eficiência do procedimento utilizado para avaliar o problema. O FSP é classificado como NPdifícil e desta forma justifica-se o uso de técnicas refinadas aplicadas na resolução do problema que ofereçam soluções viáveis a um baixo custo computacional. Realizamos experimentos computacionais através da aplicação da ferramenta desenvolvida em instâncias de até 20 máquinas e 100 tarefas. Os resultados obtidos foram comparados com aqueles encontrados na literatura. PALAVRAS CHAVE: Problema de Seqüenciamento, Otimização Combinatória, Permutação. ABSTRACT In this work, we developed an interactive and graphics tool and apply in solving of the Flowshop Scheduling Problem (FSP). The tool can also be used in other problems of the Combinatorial Optimization that involves permutation. It allows the user to interact directly in the search for good solutions, enabling him to study the problem step by step and in different ways, even providing an overview of the practical efficiency of the procedure used to evaluate the problem. The FSP is classified as NP-hard which justifies the use of refined theories applied in its resolution that offer feasible solutions to a low computational cost. We performed computational experiments by applying the tool in instances of up to 20 machines and 100 jobs. The results were compared with those found in existing literature. KEY WORDS: Scheduling Problem, Combinatorial Optimization, Permutation. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2193

1. Introdução Este trabalho tem como principal objetivo apresentar uma técnica que encontre boas soluções para os Problemas de Otimização Combinatória Permutacional (POCP), num tempo computacional aceitável, através de uma ferramenta gráfica e interativa. Estes problemas são, geralmente, caracterizados por associarmos a cada uma de suas soluções viáveis uma permutação. Exemplos de POCP são: o Problema do Caixeiro Viajante, o Problema de Seqüenciamento, o Problema de Empacotamento de Bins, etc. Usualmente, a solução ótima de um POCP consiste em se determinar dentre as inúmeras soluções viáveis do problema, aquela que otimiza alguma medida de desempenho. Conseqüentemente, é de grande importância a existência de heurísticas e metas-heurísticas, que forneçam soluções de boa qualidade (próximas da solução ótima) em um tempo computacional razoável. Escolheu-se o Problema de Seqüenciamento Clássico, denominado na literatura Flowshop Scheduling Problem (FSP), como o representante dos POCP s a ser estudado para uma aplicação da nossa técnica. Esta escolha não se deu ao acaso, visto que trata-se de um problema amplamente conhecido, contando, inclusive com instâncias já consolidadas na literatura, e.g. OR- Library (BEASLEY, 1990), por via de conseqüência, a modelagem de um problema de otimização combinatória permutacional por um FSP, não invalida a generalidade com que se tratou os POCP s. A classe de Problemas de Seqüenciamento tem grande aplicação no planejamento e controle da produção das organizações industriais, por exemplo, Fábrica de móveis, Confecções, Industria de Aviação, entre outras, pois permite obter grandes reduções de tempo e custo na ordenação do processamento de tarefas em máquinas. O problema consiste em designar uma seqüência de n tarefas que devem realizar todas as suas operações nas m máquinas e minimize algum fator de desempenho, onde na maioria das vezes é utilizado o fator tempo (makespan). O Flowshop Scheduling Problem tem a seguinte característica, queremos realizar n tarefas J 1, J 2,..., J n, onde cada tarefa tem para ser processada m máquinas M 1, M 2,..., M m. Cada tarefa demanda m operações, com uma operação representando o tempo de processamento da tarefa por máquina. As tarefas seguem o mesmo fluxo de operações nas máquinas, isto é, para qualquer k =1,2,..., n, a tarefa J k deve ser processada primeiro na máquina M 1, depois na máquina M 2, e assim por diante até a última máquina, no caso máquina M m. Caso a tarefa J k não utilize todas as máquinas, o seu fluxo continua sendo o mesmo, todavia com o tempo de ocupação sendo igual a zero. Uma máquina pode processar somente uma operação de cada vez, e iniciada uma operação, ela deva ser processada até a sua conclusão. O número de seqüências distintas possíveis para realização das tarefas nas máquinas é da ordem de n fatorial ( O(n!) ). O problema consiste em realizar todas as n tarefas no menor tempo possível. Um input FSP é dado por n, m e uma matriz P, de dimensão m x n, onde p ik denota o tempo de processamento da tarefa J k na máquina M i. Seguindo os 4 parâmetros da notação A/B/C/D adotada por Conway et al. (1967), o problema é classificado como n/m/p/f max. Na recente notação paramétrica α/β/γ, proposta por Graham et al. (1979), o problema é denotado como sendo F/prmu/C max. O FSP pertence à classe dos problemas NP-completo, no sentido forte, quando m 3, conforme Garey et al. (1976), no caso em que m=2, o problema pode ser solucionado através de um algoritmo em tempo polinomial. Gupta e Stafford Jr. (2006) fizeram um levantamento científico sobre o problema nas últimas cinco décadas e, constataram que existem mais de 1200 artigos, na literatura sobre pesquisa operacional, contendo vários aspectos deste problema. Os métodos de resolução exata, geralmente, são aplicados a problemas de pequeno porte (n 20), e mesmo neste caso o tempo computacional ainda é muito alto. Ruiz et al. (2006) abordam, de forma resumida, alguns métodos utilizados na resolução do problema. A grande maioria das técnicas de resolução do problema faz o uso de métodos heurísticos que faz a busca no espaço de soluções viáveis do problema de forma inteligente, proporcionando uma boa solução ao problema, às vezes chegando até a solução ótima do problema. Os métodos heurísticos podem subdividir-se em dois tipos: construtivos (no qual se constrói uma seqüência única de tarefas e esta é adotada como solução) e de melhoria (no qual se obtém uma solução XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2194

inicial e por meio de trocas iterativas de posições entre os componentes busca-se, portanto, a combinação que demonstre melhor desempenho). Exemplos de heurísticas construtivas podem ser vistas em: Ruiz et al. (2006); Palmer (1965) Heurística PAL; Silva e Soma (2001) Heurística HP; Silva e Soma (2006) Heurística HPk; Nawaz, Enscore & Ham (1983). Já as Heurísticas de melhoria, tem-se em: Dannenbring (1977); Chen et al. (1995); Campbel, Dudek e Smith (1970) Heurística CDS; entre outras. As heurísticas PAL, HP, HPk e CDS foram implementadas e executadas na mesma máquina onde deu-se os experimentos computacionais para avaliar o método de resolução aqui proposto. Estas heurísticas foram selecionadas para efeito de comparação do desempenho das soluções obtidas, por serem bastante rápidas e possuir muitas semelhanças com o método de resolução aqui abordado na resolução do problema. As Metaheurísticas também foram usadas na resolução do FSP que têm como principal característica fugir de mínimos locais. Diferentemente das heurísticas que avaliam determinados locais considerados bons de fazer a busca. Exemplos de aplicações com metaheurísticas são dados através das técnicas: Busca Tabu, Simulated Annealing e o Algoritmo Genético (Reeves 1995, Glover e Kochenberger 2002, Gupta e Stafford Jr. 2006). O presente trabalho descreve uma técnica de resolução para o problema através de uma ferramenta denominada Graphic Combinatorial Optimization System (GraCOS) que permite apresentar boas soluções para os Problemas de Otimização Combinatória Permutacional (POCP) através de um método interativo e gráfico. Tal ferramenta permite que o usuário interaja com o método de resolução usado no problema, inclusive diversificando e intensificando de diferentes formas a busca por boas soluções. Assim, pode-se fazer um apanhado do desempenho das soluções geradas e avaliadas para o problema. A técnica baseia-se em um método heurístico construtivo que particiona o conjunto de soluções viáveis do problema em n subconjuntos. Os experimentos realizados com o GraCOS são descritos adiante, onde constata-se o desempenho das soluções obtidas pelo método para as diversas instâncias do problema. Compara-se a qualidade dos resultados obtidos com outros métodos heurísticos construtivos presentes na literatura que usaram as mesmas classes dos problemas experimentais. O presente trabalho organiza-se da seguinte maneira: Na Seção 2 apresentamos os procedimentos utilizados pela ferramenta GraCOS. A Seção 3 trata dos experimentos computacionais, onde apresentamos os resultados das instâncias do problema encontradas na literatura. As conclusões são descritas na Seção 4, enquanto na Seção 5, apresentamos as referências bibliográficas consultadas. 2. Graphic Combinatorial Optimization System - GraCOS Um Problema de Otimização Combinatória Permutacional pode ser definido por um terno (S, g, r), onde S é o conjunto de todas as soluções viáveis (soluções que satisfazem as restrições do problema, com #S=r!), g é uma função ou um procedimento que associa a cada solução s S um número real e r é uma instância do problema. O objetivo é encontrar a solução s S que minimize (ou maximize) a função objetiva g. Podemos representar s como uma permutação de r elementos distintos, ou seja, s=< a 1 a 2... a r >. N(s) é chamada a vizinhança de s e contém todas as soluções que podem ser alcançadas de s por um simples movimento. Aqui, o significado de um movimento é aquele de um operador que transforma uma solução para uma outra com pequenas modificações. Uma solução x é chamada mínimo local de g com respeito a vizinhança N se e somente se g(x) g(y), y N. O FSP pode ser modelado como um POCP (S, g, r), tendo a seguinte forma: a) Um elemento s=< J 1 J 2... J n > do conjunto de soluções viáveis S é representado por uma permutação das n tarefas, com a ordem de s determinando a seqüência na qual as tarefas serão processadas; b) A instância r é representada por n; c) O procedimento g, dado a seguir, determina o valor do tempo gasto para processar a seqüência s: XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2195

Input: m, n, permutação s, Matrizes T(m x n) e P(m x n). Output: tg (tempo gasto para processar todas as n tarefas usando a seqüência s) Para i=1 até m faça Para j=1 até n faça T(i,j) =0; Para j=1 até n faça Para i=1 até m faça Se (i=1) Se (j>=2) T(1,s j ) = T(1,s j-1 ) + P(1, s j-1 ); senão if (j=1) T(i,s 1 ) = T(i-1,s 1 ) + P(i-1,s 1 ); Senão x= T(i,s j-1 ) + P(i, s j-1 ); y= T(i-1,s j-1 ) + P(i-1, s j-1 ); Se (x>=y) T(i,s j ) =x senão T(i,s j ) =y; tg= T(m,s n ) + P(m,s n ); Onde: T(i,j) é o tempo para iniciar a tarefa j na máquina i. Dado um conjunto J={1, 2, 3,..., n} com n elementos distintos, determinar todas as permutações distintas de J é encontrar todas as combinações do tipo s q = < a 1, a 2, a 3,..., a n >, com q=1, 2,..., n!, onde a 1, a 2, a 3,..., a n são todos elementos distintos pertencentes ao conjunto J. Seja α um número inteiro, não negativo e menor ou igual a n!. Podemos escrever α como uma combinação linear de (n-1)!, (n-2)!, (n-3)!,..., 3!, 2!, 1!, ou seja, α=b n-1 (n-1)! + b n-2 (n-2)! +... + b 3 3! + b 2 2! + b 1 1!, tal que 0 b i i, para i=1, 2, 3,..., (n-1). Denominamos b n-1, b n-2,..., b 3, b 2, b 1, de coeficientes de α na base fatorial de (n-1). A Figura 1, dada a seguir, mostra um procedimento para determinar todas as permutações de J, de forma seqüencial, com base na determinação dos coeficientes de α na base fatorial de (n-1). A Tabela 1, dada a seguir, ilustra a execução do procedimento para n=4. Procedimento Gerar_Permutações; INPUT: n; OUTPUT: P (uma permutação de J) direita; P=0; // P é o vetor nulo com n posições Para i=0 até (n! 1) faça Calcular_Coeficientes // Determina os b n-1, b n-2,..., b 3, b 2, b 1 de i; Para j=1 até (n-1) faça // Construção da i-ésima permutação Coloque j no (b n-j + 1) zero encontrado em P, fazer a busca da esquerda para a Substitua o único zero em P por n; Escreva P; P=0; Procedimento Caclcular_Coeficientes; INPUT: i, n; OUTPUT: b n-1, b n-2,..., b 3, b 2, b 1 resto = i; Para i = (n-1) até 1 faça b i = resto / (i!); resto = resto b i * (i!); Escreva b n-1, b n-2,..., b 3, b 2, b 1 Figura 1 Pseudocódigo do algoritmo que gera todas as permutações de n. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2196

α (b 3, b 2, b 1 ) P α (b 3, b 2, b 1 ) P α (b 3, b 2, b 1 ) P 00 (0,0,0) <1234> 08 (1,1,0) <3124> 16 (2,2,0) <3412> 01 (0,0,1) <1243> 09 (1,1,1) <4123> 17 (2,2,1) <4312> 02 (0,1,0) <1324> 10 (1,2,0) <3142> 18 (3,0,0) <2341> 03 (0,1,1) <1423> 11 (1,2,1) <4132> 19 (3,0,1) <2431> 04 (0,2,0) <1342> 12 (2,0,0) <2314> 20 (3,1,0) <3241> 05 (0,2,1) <1432> 13 (2,0,1) <2413> 21 (3,1,1) <4231> 06 (1,0,0) <2134> 14 (2,1,0) <3214> 22 (3,2,0) <3421> 07 (1,0,1) <2143> 15 (2,1,1) <4213> 23 (3,2,1) <4321> Tabela 1 Resultado da aplicação do procedimento Gerar_Permutações para n=4. O método empregado na resolução do problema particiona o conjunto S em n subconjuntos S 1, S 2,..., S n, onde: a união de todos esses subconjuntos é igual ao conjunto S; e a interseção entre dois deles quaisquer é vazia. Todos os elementos do conjunto S i, com i=1, 2,..., n, são permutações que estão associadas aos valores de α entre (i-1) (n-1)! e (i (n-1)!)-1. Para o exemplo de n=4, tem-se S 1 ={<1234>, <1243>, <1324>, <1423>, <1342>, <1432>}, S 2 ={<2134>, <2143>, <3124>, <4123>, <3142>, <4132>} S 3 ={<2314>, <2413>, <3214>, <4213>, <3412>, <4312>} e S 4 ={ <2341>, <2431>, <3241>, <4231>, <3421>, <4321>}. No GraCOS visualiza-se graficamente e contextualmente os valores de g para as soluções geradas e avaliadas do problema em cada conjunto S i, com i=1,2,..., n, apresentando o seu mínimo local. O método apresenta a melhor solução do problema, podendo ser a solução ótima, depois de avaliadas todas as soluções geradas de S n. O desempenho das soluções do problema é visto através da janela gráfica, onde se plotam os pontos coloridos na janela principal do Sistema GraCOS, com dimensão de k colunas e v linhas cuja unidade de medida é o pixel. k e v são números pares positivos. Definimos um ponto desta janela, de tamanho 2x2 pixels, para representar um conjunto de soluções (permutações) do problema, dispostas em ordem crescente de acordo com o(s) seu(s) número(s) α associado(s). Somente a primeira solução deste conjunto, relacionado com o referido ponto da área, será avaliada. A Figura 2, abaixo, mostra uma ilustração para n=6, k=6, v=8. Cada ponto é enumerado de 0 a 11, representando um conjunto com 10 soluções de S i, com i=1, 2,..., 6, e cada S i possuindo 120 ((n-1)!=5!) soluções distintas. Figura 2 Ilustração da janela de visualização das soluções avaliadas. Assim, pode-se ver que se há Pt = (k/2) (v/2) = (k v)/4 pontos, então isto implica que temse R = (n-1)! / Pt soluções (permutações) associadas a cada ponto, ou seja, no exemplo mostrado tem-se Pt=12 e R=10. Quando (n-1)!/pt não for um número inteiro tem-se que o último ponto conterá um conjunto maior de soluções dado por R mais o resto da divisão de (n-1)! por Pt, ou seja, o último ponto terá R+[(n-1)! Mod Pt] soluções associadas (onde amodb é o resto da divisão de a por b). O ponto de coordenadas (0,0), ao contrário do sistema cartesiano, é no canto superior esquerdo, orientado para a direita e para baixo. Identifica-se as coordenadas (x, y), com 0 x 3 e 0 y 2, de um ponto na janela através das equações x= x 1 /2 e y= y 1 /2, onde x 1 e y 1 XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2197

são as coordenadas de pixel da janela gráfica, por exemplo, o ponto (2,1) corresponde a qualquer uma das coordenadas de pixel (4,2), (4,3), (5,2) ou (5,3). Cada ponto corresponde a um número natural ordenado da esquerda para a direita e de cima para baixo, iniciando em zero e finalizando em Pt-1 (ou, (v-1)/2 (k/2) + (k-1)/2 ). O ponto de coordenada (x, y) corresponde ao número natural y (k/2) + x. Vale ressaltar que os valores de k e v dependem do valor de n, afim de evitar que algum ponto na janela gráfica fique sem pelo menos uma solução do problema. Devido a isto devemos ter (k v) 4 (n-1)!. Ainda dentro desta abordagem, para algum S i, 1 i n, o intervalo para os valores de α, no ponto de número w, estão compreendidos entre lb=(i-1)((n-1)!) + R w e ub=(i-1)((n-1)!) + R (w+1) 1, onde lb e ub são o limite inferior e superior deste intervalo, respectivamente, i. e. lb α ub. Caso (n-1)!/pt não seja um número inteiro, então o limite superior para o intervalo de α, do maior valor de w, será (i (n-1)!)-1. A Tabela 2, abaixo, mostra os 12 pontos da Figura 2 com suas respectivas soluções para S 4, que correspondem aos intervalos dos números α. Ponto α Ponto α 0 360,..., 369 6 420,..., 429 1 370,..., 379 7 430,..., 439 2 380,..., 389 8 440,..., 449 3 390,..., 399 9 450,..., 459 4 400,..., 409 10 460,..., 469 5 410,..., 419 11 470,..., 479 Tabela 2 Soluções α de S 4 associadas com os pontos da Figura 2. No GraCOS há uma opção em que o usuário deverá selecionar para o preenchimento da janela gráfica: 3%, 5%, 10%, 15%, 20% ou 25%, conforme mostra a Figura 4 adiante. Depois de selecionado o tipo de preenchimento o usuário seleciona um tipo de figura associada ao tipo de preenchimento da área gráfica. A Figura 3, abaixo, ilustra os 4 tipos de figuras disponíveis para cada tipo de preenchimento. Cada figura, denominada de gif, pode ser vista como uma matriz de pontos cuja a dimensão é 10x10. Figura 3 Tipos de Figuras para o preenchimento da área gráfica. A Figura 4, a seguir, ilustra uma situação onde o preenchimento da área gráfica, de dimensão 800x500 pontos, foi feito com base na 1 a figura do preenchimento 5%. Preencher toda a área gráfica com a gif selecionada é equivalente a avaliar menos de 5% das soluções viáveis para o problema selecionado. Os números atribuídos a k e v (campos Num. Colunas e Num. Linhas ) pelo usuário, podem fazer com que na última faixa vertical, à direita, e/ou última faixa horizontal, abaixo, da janela gráfica não encaixe a gif de forma integral nos respectivos espaços. Quando isto acontecer serão plotadas nestas faixas apenas uma parte desta gif. A gif selecionada da Figura 4 determina que os pontos de coordenadas (1,1), (6,2), (4,4), (2,6) e (8,8) serão os 5 pontos plotados dentro dela. A gif é um procedimento transparente ao usuário e descreve o número de pontos e suas coordenadas plotados dentro da sua área. Outra, a gif define a constituição das soluções que serão avaliadas no problema. Os pontos são plotados com sua cor de acordo com o valor do desvio da solução avaliada associada aquele ponto. O desvio é dado por z* - z /z*, onde z* é o valor da solução ótima ou um limite inferior ou superior para o problema e z é o valor da função objetiva da solução XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2198

avaliada. A primeira gif a ser plotada será no ponto de coordenada (0,0), a segunda será no ponto de coordenada (0,10), a seguinte (0,20), e assim em diante, para a primeira faixa horizontal, de cima para baixo. Na segunda faixa horizontal, a primeira gif será plotada no ponto de coordenada (10,0), a segunda gif na coordenada (10,10), a seguinte em (10,20) e assim em diante. Prosseguimos desta forma, até toda área da janela gráfica ter sido preenchida totalmente pela gif selecionada. Figura 4 Janela Principal do GraCOS. No GraCOS tem-se 10 cores distintas para um ponto a ser plotado, conforme ilustrado na Figura 4, legenda do Desvio. Após ser realizado o preenchimento de todo o espaço da janela gráfica com a gif selecionada pode ser ativado o procedimento de intensificação com o intuito de encontrar uma solução melhor que as que foram encontradas até aquele instante. Neste procedimento, avaliam-se todas as soluções associadas aos pontos num raio de 10 pontos da melhor solução encontrada de S i, conforme ilustra a Figura 4. Os pontos que estão dentro do quadrado de bordas brancas são os que farão parte desta avaliação. Em cada iteração do método de resolução do problema (quadro ITERAÇÃO) é informada a iteração atual, índice i do conjunto S i, a melhor solução local s de S i com seu respectivo desvio dev e as coordenadas do mínimo local (X s, Y s ) assim também como o valor de α associado e o tempo gasto para plotar todos os pontos coloridos da área gráfica. No quadro GLOBAL é feito o acompanhamento da resolução do problema onde tem-se a melhor solução s *, encontrada até aquela iteração, com seu respectivo desvio dev *, o α associado e em que iteração ela foi encontrada. No quadro da INTENSIFICAÇÃO, o usuário poderá avaliar todas as soluções dentro do quadrado de raio informado no campo Raio e centrado em X e Y, o valor default destes campos é preenchido automaticamente com as coordenadas do mínimo local da iteração atual e com o Raio sendo igual a 10 pontos. O usuário clica no botão Intensificar para realizar o procedimento de intensificação. A Figura 5, a seguir, mostra o procedimento de Intensificação e de Plotagem da gif na área gráfica. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2199

Procedimento Intensificar; INPUT: n, i, k, v, X, Y, Raio; branco max_x= X + Raio; // coordenada x do ponto do canto inferior direito do quadrado branco min_x= X - Raio; // coordenada x do ponto do canto superior esquerdo do quadrado branco max_y= Y + Raio; // coordenada y do ponto do canto inferior direito do quadrado branco min_y= Y - Raio; // coordenada y do ponto do canto superior esquerdo do quadrado Para Py= min_y até max_y faça Para Px= min_x até max_x faça Plote na janela gráfica, de acordo com sua cor, o ponto (Px, Py) // verificar se o ponto pertence a janela gráfica antes de plotá-lo Procedimento Plotar_gif; INPUT: n, i, k, v; // Total de faixas: fv= (k/2)/10 ; // verticais; fh= (v/2)/10 ; // horizontais. Para j2=1 até fh faça Y= (j2 1)*10; Para j1=1 até fv faça X= (j1 1)*10; // Plota a gif no ponto de coordenada (X,Y) Para t=1 até np_gif faça // np_gif é o total de pontos ativos da gif selecionada Px= X + Xt; // Xt é a coordenada X do t-ésimo ponto da gif Py= Y + Yt; // Yt é a coordenada Y do t-ésimo ponto da gif Plote na janela gráfica, de acordo com sua cor, o ponto (Px, Py) // verificar se o ponto pertence a janela gráfica antes de plotá-lo Figura 5 Procedimento que intensifica e plota a gif na área gráfica. 3. Experimentos Computacionais O GraCOS foi desenvolvido no Borland C++ Builder 2007 e executado em um computador Plug PC (2.5 GHz e 1.0 GB de memória RAM). A Tabela 3, a seguir, mostra o desempenho do GraCOS quando aplicado nas instâncias de 1 a 90, benchmarks de Taillard (1993), encontradas na OR-Library, em http://people.brunel.ac.uk/~mastjjb/jeb/orlib/files/flowshop2.txt. Nesta tabela encontram-se os valores de m e n e os desvios das heurísticas PAL, CDS, HP, HPk (para k=8) e GCS (GraCOS) para cada uma das 90 instâncias. Lembrando que o desvio é dado por 100 (z z*)/z*, onde z é o valor de g na melhor solução encontrada e z* é o valor ótimo. Nos experimentos computacionais realizados com o GraCOS foram utilizados vários tipos de preenchimento dentre as instâncias do problema: 25% (Instâncias com m=5 e n=20); 20% (Instâncias com m=10 e n=20); 15% (Instâncias com m=20 e n=20); 10% (Instâncias com m sendo igual a 5 ou 10 e n=50); 5% (Instâncias com m=20 e n=50); 3% (todas as instâncias com n=100). A justificativa para o uso destes valores deve-se ao não comprometimento do tempo de execução quando comparado com as outras heurísticas. Tentamos deixar o GraCOS similar as outras heurísticas quanto ao tempo de execução. O procedimento de intensificação também foi executado em cada iteração, com o raio tendo tamanho de 10 pixels e o centro do quadrado sendo o ponto associado à solução s mínimo local de S i. Todas as heurísticas são bastante rápidas, usando menos que 30 segundos na resolução de cada instância, e foram executadas na máquina descrita acima. A Tabela 4, dada a seguir, mostra um resumo dos dados descritos na Tabela 3. As Figuras 5 e 6 mostram de forma mais detalhada, a visão dos resultados obtidos com cada método, destacando o comportamento de cada um deles, com relação aos desvios obtidos através XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2200

dos experimentos computacionais. A Figura 6 mostra o Box Plot para cada método de resolução onde vê-se que o método proposto (GraCOS) se destaca dos demais. PAL CDS HP HPk GCS PAL CDS HP HPk GCS PAL CDS HP HPk GCS m=5 e n=20 m=5 e n=50 m=5 e n=100 8,3 8,8 4,9 3,6 2,1 1,8 3,4 4,9 3,2 2,1 4,7 1,8 3,6 2,4 2,1 5,9 4,8 3,2 1,9 0,5 7,3 7,0 4,9 5,0 4,9 0,9 5,6 6,6 2,3 2,9 7,5 15,5 11,4 10,6 11,3 6,0 3,1 5,6 5,0 3,6 2,9 6,1 7,8 4,0 3,5 15,2 9,7 11,8 10,2 5,9 4,0 4,8 6,9 4,7 5,1 0,7 5,2 7,1 4,2 3,2 10,1 7,1 9,5 5,8 3,5 3,5 6,1 5,4 3,8 2,1 1,3 4,0 9,6 4,9 3,4 12,5 9,8 13,5 4,7 4,9 9,2 7,1 6,6 4,8 3,6 2,7 2,4 5,6 3,7 2,1 13,0 12,4 7,2 3,0 4,0 4,4 9,0 7,0 5,1 3,4 2,5 5,9 7,9 3,4 3,0 8,9 11,2 10,1 8,0 6,0 5,3 5,7 10,6 6,2 4,4 4,6 7,0 8,8 5,0 4,7 15,9 10,6 8,1 8,2 5,5 7,1 9,1 6,1 5,7 5,1 2,9 5,7 8,0 4,3 3,0 10,9 5,1 10,9 7,0 5,7 4,8 5,8 7,4 4,5 3,1 2,0 7,5 6,9 4,1 3,7 m=10 e n=20 m=10 e n=50 m=10 e n=100 13,2 11,1 12,8 8,8 9,8 16,3 14,4 17,4 12,4 13,2 6,8 7,6 14,5 9,7 9,3 17,4 11,8 8,6 10,5 8,9 15,6 13,2 15,7 15,2 12,4 10,1 9,8 16,1 14,0 11,3 15,6 10,0 12,8 9,2 8,6 17,0 15,5 19,5 16,7 15,7 8,0 6,1 12,4 9,8 9,1 15,1 12,4 13,4 8,5 13,1 14,6 10,8 12,4 11,7 9,0 9,2 10,3 16,6 10,8 11,3 16,1 9,8 15,6 11,8 11,6 15,2 13,1 18,5 13,3 13,4 11,0 10,1 14,9 12,9 11,9 9,3 13,9 13,9 8,3 9,7 10,6 13,1 16,6 14,9 12,1 10,7 8,3 15,4 11,7 9,9 16,9 9,8 14,7 6,2 7,8 11,8 13,8 15,6 13,9 10,2 15,1 10,8 12,9 9,0 8,7 14,6 16,3 16,8 10,3 8,0 10,5 11,5 15,9 12,3 11,5 9,8 11,0 12,9 9,6 9,5 15,3 8,0 9,9 7,0 6,7 17,9 12,2 18,2 14,7 13,2 3,6 8,1 11,8 8,4 8,8 19,3 18,4 13,9 7,5 7,8 11,1 11,9 18,7 12,8 11,9 7,1 9,3 11,9 8,3 7,8 m=20 e n=20 m=20 e n=50 m=20 e n=100 22,7 11,4 7,7 5,8 7,4 13,3 14,8 21,1 17,7 16,7 15,9 13,3 22,6 19,2 18,0 11,1 8,9 11,8 6,7 7,1 17,3 14,9 18,9 16,3 14,7 14,2 12,8 18,8 16,1 16,7 15,1 10,3 7,4 5,3 5,2 17,2 16,7 20,1 18,1 17,3 15,5 15,6 20,7 16,8 15,2 18,3 9,5 11,9 6,6 9,2 16,5 17,7 25,3 19,3 18,3 12,6 12,9 19,3 14,4 16,0 18,0 9,4 11,8 6,4 7,0 23,2 16,0 19,3 19,3 19,1 15,9 13,6 19,5 15,8 15,4 15,8 8,8 10,2 9,1 8,0 17,6 16,4 18,3 17,2 16,2 12,8 15,6 19,2 18,2 15,1 8,1 9,5 11,9 7,0 6,8 17,3 12,6 22,2 18,7 16,9 17,7 15,6 24,2 18,7 18,3 10,7 7,4 11,5 8,3 8,1 18,8 17,5 23,2 19,1 18,4 19,7 14,6 25,1 16,9 16,9 23,1 7,9 11,3 9,7 7,4 24,8 15,6 22,4 18,9 18,2 17,2 16,0 23,2 18,5 16,2 20,9 13,4 15,5 9,9 8,5 13,6 15,5 25,0 19,2 16,0 14,1 11,9 20,6 16,4 15,3 Tabela 3 Resultados obtidos dos experimentos computacionais. PAL CDS HP HPk GCS Mínimo 0,70 1,8 3,20 1,90 0,50 1o quartil 7,35 7,53 8,23 5,40 4,95 Mediana 12,70 10,3 12,80 9,15 8,75 3o quartil 11,90 10,51 13,42 10,10 9,34 Média 16,05 13,38 18,28 14,62 13,20 Máximo 24,08 18,4 25,30 19,30 19,10 Desvio Padrão 5,85 3,94 5,74 5,24 5,11 Tabela 4 Resumo dos dados descritos na Tabela 3. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2201

30 Desvio (%) 25 20 15 10 PAL CDS HP HPk=8 GraCOS 5 0 Problema Figura 5 Representação gráfica dos desvios das soluções para cada instância por heurística. Figura 6 Representação gráfica das soluções com base nos dados da Tabela 4. Destacam-se as seguintes observações com base nos resultados obtidos: 1. O GraCOS apresentou o melhor desempenho dentre os métodos avaliados, com desvio médio geral de 9,33%, enquanto HP obteve o pior desempenho, com 13,42%. 2. Com relação ao desvio mínimo dentre os métodos em questão, o melhor desempenho foi obtido pelo GraCOS, com 0,51% na 2 a instância da classe m=5 e n=20. Ainda nesta instância, HPk obteve desempenho de 1,91%, HP 3,24%, CDS 4,78% e PAL 5,89%. O pior desvio mínimo geral foi de 3,24%, obtido pelo método HP. 3. O menor desvio máximo obtido pelos métodos implementados foi atingido com o CDS, sendo seguidos pelos métodos GraCOS, HPk, PAL e HP, com os valores de 18,42%, 19,05%, 19,34%, 24,75% e 25,25%, respectivamente. 4. Nos experimentos realizados com GraCOS, o maior tempo de execução computacional foi de 29 segundos obtido na 4 a instância da classe m=5 e n=20 devido principalmente ao tipo de preenchimento usado ter sido de 25%. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2202

5. A escolha do tipo de preenchimento selecionado no GraCOS tende a modificar os resultados obtidos tanto em termos de tempo computacional quanto de desvio da solução ótima, uma vez que quanto mais aumentamos o número de soluções avaliadas, maior será o tempo de processamento das soluções e maior também será a probabilidade de encontrarmos soluções com menores desvios. Conforme mencionado anteriormente procuramos deixar o tempo computacional equiparado com os outros métodos. 4. Conclusão Diante dos experimentos computacionais obtidos através da ferramenta GraCOS, pudemos constatar que o mesmo apresentou resultados satisfatórios no estudo dos problemas de programação flowshop permutacional encontrados na literatura. Esta ferramenta apresentou-se poderosa, pois permite o estudo das soluções do problema de maneiras distintas. O grande diferencial do GraCOS com relação a outros métodos heurísticos existentes é o fato da ferramenta permitir a interação do usuário com o estudo dos problemas. Grande destaque deve ser dado à diversidade de tipos de preenchimento existentes, permitindo estudar o mesmo problema de maneiras distintas e obter melhores resultados, dependendo da forma que o problema for avaliado. Pois, o usuário interage com o método de resolução tanto na diversificação quanto na intensificação. O GraCOS pode ser aplicado sem perdas de generalidades a outros problemas de otimização combinatória permutacional, permitindo a inserção de mais de um procedimento de avaliação, o que permite uma nova forma de avaliar as soluções do problema. Tendo em vista que a mesma solução poderá apresentar diferentes desvios, quando avaliada por procedimentos de avaliação distintos e implementados na ferramenta. Existe ainda, a possibilidade de avaliarmos as soluções de um problema com base na implementação de diferentes tipos de limites, caso não se tenha conhecimento da solução ótima do problema. Portanto, pode-se constatar que o GraCOS além de ser útil como uma ferramenta de escopo prático, pode ser de grande importância em termos acadêmicos, pois permite ao usuário estudar os problemas passo a passo, observando de maneira fácil, imediata e interativa, os desvios de todos os resultados obtidos pelas soluções avaliadas através dos métodos utilizados. Sugestões para trabalhos futuros: Utilizar o GraCOS para estudo de outros problemas da classe dos Problemas de Otimização Combinatória Permutacional; Avaliar as instâncias do FSP e outros problemas POCP, utilizando diferentes formas de preenchimento e raios de intensificação; Implementação e avaliação de novas gif s para o preenchimento da área gráfica do GraCOS. Agradecimentos Os autores agradecem o apoio da Fundação Cearense de Apoio ao Desenvolvimento Científico e Tecnológico (FUNCAP), da Universidade Federal do Ceará (UFC) e do Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq Processo 311682/2006-5). 5. Referências Bibliográficas Beasley, J.E. OR-Library: Distributing Test Problems by Eletronic Mail. Journal of the Operations Research Society, 41: 1069-1072, 1990. Campbell, H.G., Dudek, R.A., Smith, M.L. A heuristic algorithm for the n-job, m-machine sequencing problem. Management Science, 16: B630 B637, 1970. Chen, C.-L.; Vempati, V.S.; Aljaber, N. An application of genetic algorithms for flow shop problems. European Journal of Operational Research, v.80, p.389-396, 1995. Conway, R.W., Maxwell, W.L., Miller, L.W. Theory of scheduling. Reading, MA: Addison- Wesley; 1967. Dannenbring, D.G. (1977). An evaluation of flow shop sequencing heuristics. Management Science, v.23, p.1174-1182, 1977. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2203

Garey, M.R., Johnson, D.S., Sethi, R. The complexity of flowshop and jobshop scheduling. Mathematics of Operations Research, 1(2):117 29, 1976. Glover, F. e Kochenberger, G. A. Handbook of Metaheuristic, First Edition Norwell: Kluwer Academic Publishers, 2002. Graham, R.L., Lawler, E.L., Lenstra, J.K., Kan, A.H.G.R. Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of Discrete Mathematics, 5:287 326,1979. Gupta, J.N.D., Stafford Jr, E.F. Flowshop scheduling research after five decades. European Journal of Operational Research 169, 699 711, 2006. Nawaz, M., Enscore Jr., E.E. and Ham, I. A Heuristic Algorithm for the m-machine n-job Flow- Shop Sequencing Problem. OMEGA 11, 91-95, 1983. Palmer, D.S. Sequencing jobs through a multistage process in the minimum total time - a quick method of obtaining a near optimum. Operational Research Quartetly 16: 101-107, 1965. Reeves, C. R. Modern Heuristic Techniques for Combinatorial Problems. McGraw-Hill, London, 1995. Ruiz, R., Maroto, C., Alcaraz, J. Two newrobust genetic algorithms for the flowshop scheduling problem. The International Journal the Management Science (Omega), 34 : 461 476, 2006. Silva, J. L. C. e Soma, N. Y. Uma heurística para Problemas de Otimização Combinatória Permutacional. Anais do XXXIII SBPO-Simpósio Brasileiro de Pesquisa Operacional, Campos do Jordão-SP, Brasil, 2001. Silva, J. L. C. e Soma, N. Y. Um método Heurístico Aplicado no Problema de Programação Flow Shop Permutacional. Anais do XXXIII SBPO-Simpósio Brasileiro de Pesquisa Operacional, Goiânia-Go, Brasil, 2006. Taillard, E. Benchmarks for Basic Scheduling Problems. European Journal of Operational Research 64, 278-285, 1993. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2204