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

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

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

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

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

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

Sistemas de Produção em Fluxo

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

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

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

Algoritmos Multi-Start, GRASP e ILS Aplicados ao Problema de P-Medianas


UMA APLICAÇÃO DA METAHEURÍSTICA ITERATED LOCAL SEARCH AO SHIFT DESIGN PROBLEM

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

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

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

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

METAHEURÍSTICAS GRASP, ILS E ITERATED GREEDY APLICADAS A PROBLEMAS DE AGENDAMENTO DE CIRURGIAS ELETIVAS EM HOSPITAIS DE GRANDE PORTE

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

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

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

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

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

Pesquisa Operacional Aplicada à Mineração

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

ARTIGO ORIGINAL. Algoritmos GRASP e VNS para o Problema de Agendamento de Cirurgias Eletivas em Hospitais de Grande Porte

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

Vizinhança de Grande Porte para o Problema de Agendamento de Cirurgias Eletivas em Hospitais da Rede Pública e Privada

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

Um GRASP Simples e Robusto para o Job Shop Scheduling Problem

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

UM ALGORITMO BASEADO EM ITERATED GREEDY PARA MINIMIZAÇÃO DO MAKESPAN NO PROBLEMA DE SEQUENCIAMENTO FLOWSHOP HÍBRIDO E FLEXÍVEL

UMA METAHEURÍSTICA HÍBRIDA GRASP-ILS APLICADA À SOLUÇÃO DO PROBLEMA DE CORTE BI-DIMENSIONAL GUILHOTINADO

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

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

Resolução do Problema de Agendamentos de Cirurgias Eletivas via Meta-Heurísticas GRASP, ILS e Iterated Greedy

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

UMA SOLUÇÃO DO PROBLEMA DE ROTEAMENTO ABERTO DE VEÍCULOS COM JANELAS DE TEMPO UTILIZANDO METAHEURÍSTICAS GRASP E ILS

INFLUÊNCIA DA RELAÇÃO ENTRE OS TEMPOS DE PROCESSAMENTO E DE SETUP EM FLOW SHOP HÍBRIDOS

UM ALGORITMO HÍBRIDO PARA A SOLUÇÃO DO PROBLEMA DE ROTEAMENTO DE VEÍCULOS COM COLETA E ENTREGA E JANELA DE TEMPO

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

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

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

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

Novas regras de prioridade para programação em flexible flow line com tempos de setup explícitos

5 VNS com Filtro e Reconexão por Caminhos

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

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

UM ALGORITMO GRASP PARA O SALBP-2

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

Experimentos e Resultados

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

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

ALGORITMOS HEURÍSTICOS UTILIZANDO BUSCA LOCAL ALEATÓRIA EM VIZINHANÇA VARIÁVEL PARA O PROBLEMA DO CAIXEIRO VIAJANTE COM GRUPAMENTOS

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

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

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

GBT: GRASP + BUSCA TABU EM PROBLEMAS DE SCHEDULING

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

Problemas de otimização

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

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

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

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

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

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

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

HEURÍSTICAS CONSTRUTIVAS PARA PROGRAMAÇÃO DE FLEXIBLE FLOW LINE COM TEMPOS DE SETUP INDEPENDENTES DA SEQUÊNCIA

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

GRASP para o Problema do Caixeiro Viajante com Limite de Calado

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

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

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

UM ALGORITMO HEURÍSTICO HÍBRIDO PARA O PLANEJAMENTO OPERACIONAL DE LAVRA

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

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

HEURÍSTICAS PARA O PROBLEMA DE SEQUENCIAMENTO EM UMA MÁQUINA COM PENALIDADES POR ANTECIPAÇÃO E ATRASO

PROGRAMAÇÃO DA PRODUÇÃO EM SISTEMAS COM MÁQUINAS PARALELAS COM TEMPOS DE SETUP SEPARADOS DOS TEMPOS DE PROCESSAMENTO

1_1 1_2 2_1 1_ _ _ Fonte: Autor

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

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

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

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

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

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

DESEMPENHO RELATIVO DE REGRAS DE PRIORIDADE PARA PROGRAMAÇÃO DE FLOW SHOP HÍBRIDO COM TEMPOS DE SETUP

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

Uma nova heurística para o problema de minimização de trocas de ferramentas

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

Henrique Daniel Oliveira Lopes

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

Multi disciplinar REGRA DE PRIORIDADE PARA O PROBLEMA DE FLOWSHOP HÍBRIDO COM MÁQUINAS PARALELAS NÃO RELACIONADAS. Científica

HEURÍSTICAS PARA O PROBLEMA DE SEQUENCIAMENTO EM UMA MÁQUINA COM PENALIDADES

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

4 Métodos Existentes. 4.1 Algoritmo Genético

Sequenciamento de atividades intrahospitalares por meio de máquinas paralelas idênticas

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

GRASP: a influência da lista restrita de candidatos nas soluções iniciais para otimização do corte unidimensional

Transcrição:

MINIMIZAÇÃO DO MAKESPAN EM FLOWSHOP HÍBRIDO E FLEXÍVEL COM TEMPO DE SETUP DEPENDENTE DA SEQUÊNCIA Neuma Eufrázio Braz Moreira, Sérgio Ricardo de Souza, Moacir Felizardo de França Filho Centro Federal de Educação Tecnológica de Minas Gerais Avenida Amazonas 7675,CEP 30510-000 Belo Horizonte, Minas Gerais, Brasil Emails: neumamoreira@dppg.cefetmg.br, sergio@dppg.cefetmg.br, franca@des.cefetmg.br Abstract This paper presents a study about Hybrid Flexible Flowshops with Sequence Dependent Setups Time, denoted HFFS-SDST. The Hybrid Flowshop mixes the characteristics of regular flowshops and parallel machine problems by considering stages with parallel machines instead of having one single machine per stage. The flexibility is because not all jobs visit all the stages. This article presents an hybrid metaheuristic, involving GRASP and ILS metaheuristics, for solving this problem. The results show the superiority of the proposed metaheuristic over the available results in the literature for the same families of instances. Keywords Scheduling, Optimization, Hybrid Flexible Flowshops, Metaheuristics. Resumo Este artigo apresenta um estudo sobre a classe de sequenciamento Flowshop Híbrido Flexível com tempos de preparação dependentes da seqüência, denominada HFFS-SDST. O Flowshop Híbrido Flexível mescla características do Flowshop regular e de máquinas paralelas, considerando que ao invés de máquinas em série existem vários estágios em série com uma ou mais máquinas em paralelo idênticas dentro de cada estágio. A flexibilidade é porque nem todas as tarefas visitam todos os estágios. Para resolver este problema, uma metaheurística híbrida envolvendo as metaheurísticas GRASP e ILS foi implementada. Os resultados mostram a superioridade da técnica desenvolvida sobre os disponíveis na literatura para as mesmas famílias de instâncias. Palavras-chave Sequenciamento de tarefas, Otimização, Flowshop Híbrido Flexível, Metaheurísticas. 1 Introdução O sequenciamento de tarefas é uma formulação para tomada de decisões e otimização dos recursos muito utilizada em empresas de manufaturas e prestação de serviços (Pinedo, 2005). Através do sequenciamento, é possível alocar recursos e tarefas em um dado período de tempo. Portanto, resolver um problema de sequenciamento consiste em definir uma sequência de tarefas a serem executadas em um conjunto de máquinas, de modo a atender um ou mais objetivos, que podem ser a minimização do tempo de conclusão da última tarefa, a minimização do número de tarefas concluídas após as respectivas datas de entrega, a minimização da soma ponderada de atrasos e avanços em relação às datas de entrega, dentre outros, sempre satisfazendo um conjunto de restrições operacionais. Nos problemas de sequenciamento, os recursos e tarefas podem assumir formas diferentes. Em uma oficina, por exemplo, os recursos podem ser máquinas; em um aeroporto, os recursos podem ser as pistas; e, em um laboratório, os recursos podem ser máquinas e pessoas. Existem vários estudos disponíveis na literatura sobre os problemas de sequenciamento. Dentre as classes de problemas de sequenciamento estudadas, Flowshop simples tem sido muito criticado na literatura, pois os ambientes operacionais reais raramente possuem somente uma máquina para cada operação, conforme aponta Naderi et al. (2010). Portanto, existe uma tendência recente em desenvolver trabalhos que se apliquem em situações reais. Considerando esta tendência, este trabalho apresenta uma variação do Flowshop, proposta por Naderi et al. (2010), denominado Flowshop Híbrido Flexível (HFFS). No Flowshop clássico, o fluxo de processamento nas máquinas é o mesmo, ou seja, todas as tarefas seguem a mesma sequência. Já no Flowshop Híbrido, ao invés de máquinas em série, considera-se a existência de estágios em série, sendo que cada estágio possui máquinas paralelas idênticas. Além destas características, no problema apresentado por Naderi et al. (2010) nem todas os estágios obrigatoriamente devem ser executados, e é esta particularidade que garante a flexibilidade do modelo. Naderi et al. (2010) ainda considera a existência de um tempo de preparação (setup) de uma máquina para receber uma tarefa, e que este tempo ainda depende da tarefa que foi processada anteriormente na máquina(sequence Dependent Setups Time - SDST). O critério de otimização considerado neste trabalho é o de minimizar o maior tempo de conclusão das máquinas, denominado makespan (C max ). Considerando que este problema é visto como NP - Difícil (Naderi et al., 2010), neste trabalho é proposta uma implementação híbrida das metaheurísticas GRASP Greedy Randomized Adaptive Search Procedure e ILS Iterated Local Search para resolvê-lo. O restante deste artigo está organizado da seguinte forma: na Seção 2 é apresentado um levantamento bibliográfico dos problemas de sequenciamento associados a este trabalho. 4286

Na Seção 3, o problema abordado é formulado e exemplificado. A Seção 4 apresenta a representação computacional do problema, a estrutura de vizinhança utilizada, a técnica de busca local aplicada e o algoritmo proposto. A Seção 5 apresenta as características de cada instância utilizada para teste e os resultados obtidos para cada uma das instâncias e, por, na Seção 6, são apresentadas as conclusões do trabalho e propostas para futuras pesquisas. 2 Revisão Bibliográfica Os modelos de sequenciamento de tarefas são classificados de acordo com o número de operações necessárias para processar uma tarefa e o número de máquinas disponíveis para cada operação (Gholami et al., 2009). Pinedo (2005) apresenta os problemas de sequenciamento como um tripla α β γ, em que: α descreve o ambiente de máquinas; β fornece as características das tarefas; e γ descreve o critério de avaliação de desempenho, ou seja, a função objetivo. Em relação ao ambiente de máquinas, os modelos de sequenciamento podem ser classificados em: máquinas simples, flowshop permutacional, openshop, máquinas paralelas, flowshop híbrido e jobshop flexível (Pinedo, 2005) e (Gholami et al., 2009). Segundo Ruiz and Maroto (2006), os trabalhos de sequenciamento surgiram na década de 1950 com o artigo de Johnson (1954). Desde então, emergiram diversos estudos na literatura, sempre existindo, no entanto, um gap entre e teoria e a aplicação real dos problemas de sequenciamento, pois os pesquisadores simplificam as características reais que deveriam ser consideradas (Ruiz et al., 2005), (Ruiz and Maroto, 2006) e (Zandieh et al., 2010). O problema de Flowshop é amplamente estudado, devido a sua ampla aplicação na indústria. O Flowshop consiste em um fluxo de tarefas unidirecional, contínuo e ininterrupto, em que tarefas devem ser processadas, na mesma sequência, em máquinas distintas disponíveis em série. Ruiz et al. (2005) considerou o Flowshop com tempo de setup (preparação) dependente da sequência e propôs a utilização de algoritmos genéticos para a solução do problema, com o objetivo de minimização do makespan (C max ). Gupta and Tunc (1991) define o Flowshop Híbrido, que é uma variação do Flowshop, como um conjunto de estágios em série, sendo que cada estágio possui uma ou mais máquinas paralelas. De acordo com Gholami et al. (2009), os trabalhos de pesquisa sobre o modelo de sequenciamento Flowshop Híbrido Flexível surgiram na década de 1970. O Flowshop Híbrido é aplicado em muitas situações práticas (Yaurima et al., 2009). Processos industriais como automotivos, químicos, petróleo, tabaco, têxtil e papel podem ser modelados como Flowshop Híbrido (Gholami et al., 2009). Um dos primeiros trabalhos com este modelo foi apresentado por Salvador (1973), que o utilizou para o sistema de produção em uma indústria de fibras sintéticas. Lina and Liao (2003) também apresentaram uma aplicação do Flowshop Híbrido, para modelar o sequenciamento da produção de etiquetas autocolantes. Para a solução deste problema proposto por Lina and Liao (2003), foram aplicadas heurísticas com o objetivo de minimizar o atraso máximo ponderado. Ziaeifar et al. (2011) e Yaurima et al. (2009) apresentaram uma modelagem matemática do problema Flowshop Híbrido para linhas de montagem de placas de circuito. Os dois trabalhos tiveram como objetivo a minimização do makespan e utilizaram Algoritmos Genéticos. Para resolver o problema HFFS-SDST com o objetivo de minimização do makespan, Kurz and Askin (2004) faz uso da programação inteira. Devido à dificuldade de resolver o problema com a programação inteira, eles também propõem a utilização de heurísticas baseadas em métodos gulosos e algoritmos genéticos. Kurz and Askin (2003) utilizam regras de despachoenaderiet al.(2010),alémdasregras de despacho, propõem a utilização da metaheurística Iterated Local Search (ILS) para solucionar o mesmo problema. Defersha(2010) faz uma revisão sobre os gaps existentes nas pesquisas sobre Flowshop e propõe o uso de programação matemática para resolver o HFFS. Ruiz et al. (2008), além de propor uma modelagem utilizando programação inteira, também propõe o uso de heurísticas. Os dois trabalhos apresentam, como critério de otimização, a minimizaçãodomakespan. Gholamietal.(2009)eMirabi et al. (2013) consideraram em seus trabalhos que nem sempre todas as máquinas estão disponíveis em todos os instantes de tempos, pois existe a possibilidade de quebra. Para resolver este problema, Gholami et al. (2009) propôs a utilização de algoritmos genéticos e Mirabi et al. (2013) a utilização de heurísticas. 3 Formulação do Problema A formulação adotada no presente trabalho para o HFFS-SDST é a mesma proposta por Naderi et al. (2010). Assim, considera-se um conjunto N = {1,2,3,...,n}de tarefas, que devem ser executadas em um conjunto M = {1,2,3,...,m} de estágios. Para cada estágio i M, existe um conjunto de M i = {1,2,3,...,m i } máquinas idênticas. Todas as máquinas em todos os estágios estão habilitadas para processar todas as tarefas. Neste formulação, i representa um dado estágio; j representa uma dada tarefa; P ij : representa o tempo de processamento da tarefa j no estágio i; S ijk representa o tempo de preparação de uma 4287

tarefa j para uma tarefa k dentro de um estágio i; C j representa o instante de tempo de término de processamento no último estágio da tarefa j; C max representa o valor máximo de término de processamento de tarefas ou o tempo de processamento da última tarefa. Pode ser visto como C max = max j {C j }; F j é o conjunto de estágios que a tarefa j deve visitar, considerando que 1 F j m. O objetivo do problema é a minimização do C max e algumas premissas devem ser consideradas: (i) todas as tarefas são independentes e estão disponíveis para serem processadas no instante 0 (zero) no primeiro estágio; (ii) todas as máquinas estão disponíveis; (iii) cada máquina só pode processar uma tarefa de cada vez e uma tarefa só pode ser processada em uma máquina por vez; (iv) o processamento de uma tarefa não pode ser interrompido; (v) a tarefa deve esperar uma máquina ser liberada, caso ela tenha que ser processada nesta máquina. Tabela 1: Exemplo de Instância HFFS-SDST Linha 1 n = 3 0 0 Linha 2 m = 2 0 0 Linha 3 m 0 = 1 m 1 = 2 0 Linha 4 P 00 = 5 P 10 = 7 0 Linha 5 P 01 = 9 P 11 = 4 0 Linha 6 P 02 = 0 P 12 = 3 0 Linha 7 S 000 = 2 S 001 = 1 S 002 = 0 Linha 8 S 010 = 3 S 011 = 2 S 012 = 0 Linha 9 S 020 = 1 S 021 = 1 S 022 = 0 Linha 10 S 100 = 4 S101 = 3 S 102 = 4 Linha 11 S 110 = 2 S 111 = 1 S 112 = 2 Linha 12 S 120 = 4 S 121 = 1 S 122 = 3 3.1 Exemplo Ilustrativo Para representar o problema HFFS-SDST, considera-se uma instância que contém o número de tarefas, o número de estágios, o número de máquinas idênticas dentro de cada estágio, quais as tarefas que são processadas em cada estágio, o tempo de processamento de cada tarefa dentro de cada estágio e o tempo de preparação dentro de um estágio de uma tarefa j para uma tarefa k. O tempo de preparação de uma tarefa pode variar de acordo com a sequência. ATabela1ilustraumexemplodeumainstância para este problema, considerando todas estas informações. Na linha um, n representa o número total de tarefas, que é igual a três; na linha dois, m representa o número de estágios, que é igual a dois; na linha três, coluna dois, m 0 representa o número de máquinas do estágio 0, que, neste exemplo, é um; na linha dois, coluna três, m 1 é o número de máquinas no estágio 1, ou seja, duas máquinas; da linha quatro até a linha seis é representado o tempo de processamento p ij de cada tarefa em cada estágio. A linha quatro, coluna dois, (p 00 ), por exemplo, representa o tempo de processamento da tarefa T0 no estágio 0, que é igual a cinco unidades de tempo. A linha quatro, coluna três, (p 10 ) representa o tempo de processamento da tarefa T0 no estágio 1, que é igual a sete unidades de tempo. Considerando que, no problema tratado, nem todas as tarefas precisam visitar todos os estágios (Flexibilidade), quando o tempo de processamento de uma tarefa em um estágio for igual a zero, significa que a tarefa não visita aquele estágio. Este caso pode ser visto na linha seis, coluna dois (P02) da Tabela 1, em que a tarefa T2 não visita o estágio 0 (primeiro estágio). O valor S ijk Figura 1: Representação da instância da Tabela 1 pelo Gráfico de Gantt. é o tempo de preparação da tarefa j para a tarefa k no estágio i. Da linha sete até a linha nove são representados os tempos de preparação entre as tarefas dentro do estágio 0; da linha dez até a linha doze são representados os tempos de preparação entre as tarefas, que são processadas no estágio 1. O tempo de preparação considera o estágio ao invés da máquina, pois, para cada estágio, as máquinas são idênticas. A linha sete, coluna dois, representa o tempo de preparação no estágio 0datarefaT0paraelamesma, ouseja, nestecaso, nenhuma tarefa foi processada anteriormente à tarefa T0, mas, mesmo assim, a máquina exige um tempo de preparação de duas unidades de tempo para receber esta tarefa. Já a linha sete, coluna três, indica um tempo de preparação no estágio 0 da tarefa T0 para a tarefa T1 que, neste caso, é uma unidade de tempo. A Figura 1 mostra em Gráfico de Gantt um sequenciamento proposto para a instância apresentada na Tabela 1.Neste exemplo, o estágio 0 possui apenas uma máquina M0 e o estágio1possui duas máquinas M1 e M2. A primeira tarefa a ser sequenciada na máquina M0 é a T0. Para receber esta tarefa, são gastas 2 unidades de tempo com a preparação da máquina e o tempo de processamento desta tarefa no primeiro estágio (estágio 0) é de 5 unidades de tempo. Portanto, esta tarefa será liberada no estágio 0 no instante 7. A segunda tarefa a ser sequenciada na máquina M0 é a T1. Ela só poderá iniciar o seu processamento após esta máquina ter liberado a tarefa T0. O tempo de preparação da tarefa T0 para a T1 neste estágio é de 1 unidade de tempo. Como esta 4288

tarefa gasta 9 unidades de tempo para ser processada neste estágio, ela estará liberada no instante 17. Como pode ser visto na coluna 2 e linha 6 da Tabela 1, a tarefa T2 não visita o estágio 0 e, portanto, ela não é processada na máquina M0. 4 Metodologia Nesta seção será descrita como uma solução para o HFFS-SDST é representada computacionalmente, as estruturas de vizinhanças utilizadas, a técnica de busca local aplicada, a metodologia para construir a solução inicial e o algoritmo proposto para solucionar o problema HFFS-SDST. 4.1 Representação Computacional da Solução A solução para o problema HFFS-SDST é representada por uma matriz M, em que as linhas representam as máquinas de todos os estágios e as colunas a sequência de processamento das tarefas dentro de cada máquina pertencente a cada estágio. A Tabela 2 que representa a matriz mostra que existem três tarefas (T0,T1 e T2) para serem processadas e três máquinas, sendo M 0 pertencente ao primeiro estágio e M 1 e M 2 máquinas paralelas idênticas pertencentes ao segundo estágio. Tabela 2: Representação da Solução em forma de Matriz. M 0 T0 T1-1 M = M 1 T2 T1-1 M 2 T0-1 -1 Nesta solução, no primeiro estágio, as tarefas T0, T1 são processadas na máquina M 0. Na máquina M 0, a tarefa T0 precede a T1. No segundo estágio, as tarefas T2 e T1 são processadas na máquina M 1 e a tarefa T0 é processadana máquina M 2. As posições preenchidas com o valor -1 indicam que não existe nenhuma tarefa a ser processada na máquina nesta sequência. A tarefa T2 não aparecena maquina M 0 pois não necessita ser processada neste estágio. 4.2 Estrutura de Vizinhança A vizinhança de uma solução s é o conjunto de soluções N(s), de modo que cada solução s N(s) é obtida a partir de um movimento feito na solução corrente s. Os tipos de movimentos utilizados para este trabalho foram: (i) Troca de tarefas na mesma máquina (Troca Interna). s = (1,2,3,4) s = (4,2,3,1) (ii) Troca de tarefas na mesma posição em máquinas paralelas idênticas do mesmo estágio (Troca Externa). s = M0(1,2,3,4) M1(5,6,7,8) s = M0(5,2,3,4) M1(1,6,7,8) (iii) Realocação de tarefas dentro da mesma máquina. s = (1,2,3,4) s = (4,1,2,3) (iv) Realocação de tarefas em máquinas paralelas idênticas de um determinado estágio. s = M0(1,2,3,4)M1(5,6,7,8) s = M0(1,2,3,8,4)M1(5,6,7) (v) Troca de bloco de três tarefas na mesma máquina (Troca Interna de Bloco). s = (1,2,3,4,5,6) s = (4,5,6,1,2,3) 4.3 Busca Local A técnica de busca local utilizada neste trabalho é o Método de Descida (Best Improvement). Estemétodopartede umasoluçãoiniciale, acada passo, todos os seus possíveis vizinhos são analisados. O método só move para um outro vizinho desde que ele represente uma melhoria no valor corrente da função de avaliação. Para realizar a busca local, os tipos de movimentos são embaralhados e um deles é escolhido aleatoriamente. Somente após a definição do tipo do movimento escolhido que o método de descida é aplicado na solução corrente. 4.4 Construção O GRASP - Greedy Randomized Adaptive Search Procedure é um método iterativo, proposto por Feo and Resende (1995), que consiste na aplicação iterativa de duas fases, denominadas Construção e Refinamento, retornando a melhor das soluções obtidas ao longo da busca. O Algoritmo 1 descreve o pseudocódigo do GRASP. Na fase de Construção, é gerada uma solução parcialmente gulosa por meio de uma função adaptativa gulosa, que estima o benefício de cada um dos elementos. A aleatoriedade da construção é controlada por um parâmetro real α [0,1]. Para α = 1, tem-se uma solução totalmente aleatória; para α = 0, tem-se uma solução totalmente gulosa. Após a construção da solução, é aplicado um método de busca local. A fase de construção dograsp éapresentadano Algoritmo2. Aconstrução de uma solução no método GRASP consiste em inserir elementos, obedecendo a um valor calculado pela função adaptativa gulosa g( ) e a uma regra de seleção que contém um fator aleatório. 4289

Algoritmo 1: GRASP 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 Entrada: f(.), g(.), N(.), GRASPmax,s Saída: s início f ; para Iter=1 até GRASPmax faça Construção( g(.), k, s); Buscalocal (f(.),n(.),s); se (f(s) < f ) então s s; f f(s); s s ; Retorne s; Algoritmo 2: Construção GRASP Entrada: g(.), α,s Saída: s início s ; Inicia a lista C de itens candidatos; Ordene a lista C de acordo com g(.); enquanto C faça LRC = { lista dos k melhores itens de C}; Selecione, aleatoriamente, um item t LRC; s s {t}; Atualize a lista C de itens candidatos; Retorne s; Para construir a solução inicial do problema tratado neste artigo foi utilizado o Algoritmo 2. A função g(t) utilizada para ordenar cada candidato (tarefa) da lista C é a soma dos tempos de processamento de cada tarefa em cada estágio. Após esta ordenação, todos os candidatos t que possuem valor de função g(t) g(t min ) + α{g(t max ) g(t min )} são inseridos na lista Restrita de Candidatos LRC e selecionados aleatoriamente para serem sequenciados em cada máquina. Assim, a lista C é atualizada até que não exista nenhum candidato para ser selecionado. O valor utilizado para o parâmetro α neste trabalho foi α = 0,65. Este valor foi escolhido, pois foram feitos os testes de probabilidade empírica e de Kruskal Wallis com os valores de α = 0,15 e α = 0,85 e o valor de 0.65 atingiu o valor alvo primeiro com probabilidade de praticamente 100%, na maioria dos casos e também apresentou uma menor variabilidade dos dados. Após selecionar a tarefa a ser sequenciada, é necessário escolher a máquina responsável por processá-la. Para a escolha da máquina, foi utilizado o critério guloso, de acordo com a função de avaliação da máquina, que considera o instante de disponibilidade da máquina, o tempo de processamento de cada tarefa em cada estágio e o tempo de preparação no estágio i da tarefa anterior à tarefa escolhida para ser processada na máquina. Portanto, a máquina selecionada para processar a tarefa escolhida é a que apresenta menor instante de liberação. 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 11 12 13 Algoritmo 3: Iterated Local Search ILS Entrada: criterioparada Saída: s início s GeraSolucaoInicial(); s BuscaLocal(s ); enquanto criterioparada não satisfeito faça s Perturbação(s ); s BuscaLocal(s ); s CriterioAceitação(s ); Retorne s; Algoritmo 4: GRASP-ILS Entrada: α, criterioparada Saída: s início s ConstrucaoGRASP(α); s BuscaLocal(s); nivel 20; enquanto criterioparada não satisfeito faça s Perturbacao(s, nivel); s BuscaLocal(s); se C max(s ) < C max(s ) então s s ; Retorne s; 4.5 Iterated Local Search ILS A metaheurística Iterated Local Search ILS é um método proposto por (Lourenço et al., 2003) que gera iterativamente novas soluções no espaço de busca, através de pertubações em uma solução (ótimo local), que passam por um refinamento através da busca local. O Algoritmo 3 apresenta o pseudocódigo do ILS. A linha 2 consiste na geraçãode uma solução inicial. A linha 3 representa a etapa de refinamento da solução inicial gerada na linha 2. Após estes dois passos, o algoritmo executa um laço de repetição até que o critério de parada seja atendido. Neste laço, a solução corrente passa por um processo de perturbação (linha 5) e novamente a busca local é aplicada (linha 6). Se o critério de aceitação for atendido, a solução corrente s será atualizada com o valor de s (linha 7). 4.6 Algoritmo Proposto O Algoritmo 4 apresenta o pseudocódigo do algoritmo proposto, baseado no procedimento híbrido Greedy Randomized Adaptive Search - Iterated Local Search GRASP - ILS (Lourenço et al., 2003), apresentado na Seção 4.5, para resolver o HFFS-SDST estático. Neste Algoritmo, a etapa de geração da solução inicial (linha 2) foi feita com base no procedimento de construção do GRASP, conforme apresentado na Seção 4.4. O método de Busca Local utilizado (linha 3) foi o método de Descida (Best Improvement), descrito na seção 4.3. Das linhas 5 até 11 são aplicados procedimentos de forma iterativa até que o critério de parada seja 4290

Tabela 3: Família de Instâncias Família Qte Inst Qte Tar Qte Est 20x2 80 20 2 20x4 80 20 4 20x8 80 20 8 50x2 80 50 2 50x4 80 50 4 50x8 80 50 8 80x2 80 80 2 80x4 80 80 4 80x8 80 80 8 120x2 80 120 2 120x4 80 120 4 120x8 80 120 8 atendido. Na linha 6 é aplicado o procedimento de perturbação da solução corrente, que consiste em realizar 20 vezes os movimentos de troca interna, troca externa, realocação interna (nível de perturbação). Na linha 7 é aplicado novamente o procedimento de busca local. Após a aplicação da perturbação e busca local, se a nova solução for melhor que a solução corrente, então a solução corrente é atualizada. O critério de parada adotado foi o número de 100 iterações sem melhora. 5 Resultados Computacionais O algoritmo GRASP - ILS proposto foi implementado na linguagem C++, utilizando o Code Blocks 12.1, e testado em um computador Intel (R) Core(TM) i7-3632qm CPU @ 2.2 GHz, MemóriaRAM de 8GB, com um sistema operacional de Windows 8 64 bits. Para testar o algoritmo foram utilizadas 960 instâncias, disponibilizadas por Naderi et al. (2010), pertencentes a 12 famílias diferentes. A Tabela 3 demonstra as características de cada família. A primeira coluna identifica a instância, comdimensãom n, em quemrepresentaaquantidade de tarefas e n a quantidade de estágios. A segunda, terceira e quarta colunas informam a quantidade de instâncias por família, a quantidade de tarefas e a quantidade de estágios, respectivamente. A quantidade de máquinas dentro de cada estágio e o setup utilizado variam de instância para instância. O algoritmo foi executado 30 vezes para cada problema teste, e toda vez que o algoritmo ficava 100 iterações sem melhorar a solução corrente, a execução era interrompida. O parâmetro α utilizado para a construção GRASP foi de α = 0,65. Os resultados do algoritmo proposto foram comparados com os resultados disponibilizados por Naderi et al. (2010). Este autor apresenta três variações do algoritmo ILS (ILS-P, ILS-TRK e ILS-ORK) e, para cada instância, é calculado o desvio de cada algoritmo em relação ao menor valor de C max encontrado por algum destes três algoritmos. O desvio de cada família de instância é fornecido pela média dos desvios de cada Tabela 4: Exemplo de Cálculo do Desvio para 10 instâncias da Família 20 2 Inst ILS-PILS-TRKILS-ORKMin 1 2 3 1-20x2 634 682 652 6340,000,080,03 2-20x2 652 549 650 5490,190,000,18 3-20x2 581 625 592 5810,000,080,02 4-20x2 581 628 586 5810,000,080,01 5-20x2 491 471 488 4710,040,000,05 6-20x2 350 296 354 2960,010,020,00 7-20x2 487 350 483 3500,010,040,00 8-20x2 436 231 436 2310,000,120,02 9-20x2 457 381 470 3810,000,050,06 10-20x2 368 355 372 3550,000,140,03 instância, considerando o valor mínimo e o valor encontrado por cada algoritmo. A Tabela 4 apresenta um exemplo do cálculo do valor mínimo de C max, considerando os três algoritmos e o cálculo do desvio para a família de 80 instâncias com 20 tarefas e 2 estágios (20 2). A primeira linha desta Tabela, por exemplo, representa uma instância que teve os valores mínimos de C max iguais a 634, 682 e 652 para os algoritmos ILS-P, ILS-TRK e ILS-ORK, respectivamente. Portanto, o menor valor de C max foi de 634, obtido pelo C max. Para se obter o desvio de cada um dos algoritmos em relação ao menor valor encontrado, é feito o cálculo: 1 = 100 ILSP(1) Min Min (1) A média dos desvios de cada instância fornece o desvio da família. Assim, para o conjunto de instâncias 20 2 apresentado na Tabela 4, o desvio médio foi de 11,53%, 5,30% e 14,30% para os algoritmos ILS-P, ILS-TRK e ILS-ORK, respectivamente. O menor valor de C max e o C max médio gerado para cada instância pelo algoritmo proposto neste trabalho é comparado com o menor valorde C max encontradopara cadainstância, considerando os três algoritmos de Naderi et al. (2010). A Tabela 5 e a Figura 2 apresentamo comparativo dos desvios do algoritmo proposto (nomeado como Alg.Prop ) para cada família de instância com os desvios dos algoritmos de Naderi et al. (2010). Como pode ser observado, o desvio do algoritmo proposto é menor em 83% dos casos que os desvios dos três algoritmos propostos por Naderi et al. (2010). Isto implica que os valores de C max foram menores que os apresentados por Naderi et al. (2010). Nesta Tabela, a coluna T(s) apresenta a média em segundos da execução do algoritmo para cada família de instância. Na Tabela 6, a coluna SUP apresenta o total de instâncias que tiveram os resultados melhorados. A coluna NS(até 3%) apresenta a quantidade de instâncias que não tiveram os resultados melhorados, ficando o desvio em até 3%. Este desvio 3% foi escolhido para apresentar as instâncias que não superaram os resultados da literatura 4291

Figura 2: Análise dos Desvios das Famílias de Instâncias. Tabela 6: Número de resultados melhorados por família de instâncias usando o Algoritmo GRASP-ILS. Família SUP NS (até 3%) NS (> 3%) TOT % SUP med T(s) 20x2 6 12 62 80 8% 11,38% 0,14 20x4 54 5 21 80 68% -1,74% 0,41 20x8 78 0 2 80 98% -28,48% 1,36 50x2 68 4 8 80 85% -15,05% 0,84 50x4 57 10 13 80 71% -4,16% 2,86 50x8 79 1 0 80 99% -16,50% 22,82 80x2 47 17 16 80 59% -1,09% 3,30 80x4 46 12 22 80 58% -1,97% 9,60 80x8 76 4 0 80 95% -11,51% 39,73 120x2 45 16 19 80 56% 0,02% 24,49 120x4 31 17 32 80 39% -0,59% 28,36 120x8 36 14 30 80 45% 0,78% 157,55 Total 623 112 225 960 65% -6% 24,29 Total% 65% 12% 23% 100% Tabela 5: Desvios percentuais obtidos pelo Algoritmo Proposto Família 1 2 3 Alg.Prop T(s) 20x2 11,53 5,30 14,30 11,38 0,14 20x4 12,36 8,49 14,92-1,74 0,41 20x8 4,61 16,17 6,27-28,48 1,36 50x2 11,17 6,06 12,45-15,05 0,84 50x4 4,26 12,34 5,11-4,16 2,86 50x8 1,02 14,76 1,21-16,50 22,82 80x2 7,48 3,60 8,21-1,09 3,30 80x4 2,96 15,27 4,34-1,97 9,60 80x8 0,87 16,28 0,95-11,51 39,73 120x2 12,48 2,83 11,35 0,02 24,49 120x4 1,71 13,91 2,10-0,59 28,36 120x8 0,68 18,79 0,83 0,78 157,55 Média 5,93 11,15 6,84-5,74 24,29 mas que ficaram bem próximas de superar. A coluna NS(> 3%) demonstra a quantidade de instâncias que não tiveram os resultados melhorados com desvio acima de 3%. Por esta tabela, é possível perceber que, das 960 instâncias testadas, o algoritmo proposto neste artigo conseguiu melhorar os resultados de 65% das instâncias. Das 35% não melhoradas, 12% ficaram com um desvio de até 3% e 23% com um desvio acima de 3% em relação aos de Naderi et al. (2010). 6 Conclusões Este artigo tratou do Problema de Flowshop Híbrido Flexível com Tempo de Setup Dependente da Sequência (HFFS-SDST), que tem, como função de otimização, a minimização do makespan. Para solucionar este problema, foi utilizada a metaheurística GRASP-ILS, sendo que, para a etapa de construção da solução inicial, foi aplicado o GRASP. Este artigo buscou estudar situações reais, pois considera um problema em que existem tarefas que devem ser processadas em um conjunto de estágios dispostos em série, e que cada estágio possui uma ou mais máquinas paralelas idênticas. Além disso, nem todas as tarefas necessitam visitar todos os estágios e o tempo de setup é dependente da sequência. Para testar o algoritmo foram utilizadas 960 instâncias disponibilizadas por Naderi et al. (2010), envolvendo 20, 50, 80 e 120 tarefas para 2, 4,e 8 estágios. O algoritmo proposto neste trabalho conseguiu melhorar 65 % dos resultados de Naderi et al. (2010). Avaliando os resultados obtidos com suas respectivas análises é possível afirmar que as técnicas desenvolvidas neste trabalho contribuem de forma significativa para os estudos de sequenciamento de tarefas. Agradecimentos Os autores agradecem ao CEFET-MG, à CA- PES, à FAPEMIG e ao CNPq pelo apoio ao desenvolvimento do trabalho. 4292

Referências Defersha, F. M. (2010). A comprehensive mathematical model for hybrid flexible flow shop lot streaming problem, International Journal of Industrial Engineering Computations 2: 470 482. Feo, T. and Resende, M. (1995). Greedy randomized adaptive search, Journal of Global Optimization 3: 109 133. Gholami, M., M.Zandieh and A.Alem-Tabriz (2009). Scheduling hybrid flow shop with sequence-dependent setup times and machines with random breakdowns, Int J Adv Manuf Technol 42: 189 201. Gupta, J. N. D. and Tunc, E. A. (1991). chedules for a two-stage hybrid flow shop scheduling with parallel machines at the second stage, International Journal of Production Research 29: 1489 1502. Johnson, S. (1954). Optimal two-and three-stage production schedules with setup times included., Naval Research Logistics Quarterly 1: 61 68. Kurz, M. E. and Askin, R. G. (2003). Comparing scheduling rules for flexible flowlines, Journal of Production Economics pp. 85(3):371 88. Kurz, M. E. and Askin, R. G. (2004). Scheduling flexible flowlines with sequence-dependent setup times, European Journal of Operational Research pp. 59(1):66 82. Lina, H.-T. and Liao, C.-J. (2003). A case study in a two-stage hybrid flow shop with setup time and dedicated machines, International Journal of Productiction Economics 86: 133 143. Ruiz, R. and Maroto, C. (2006). A genetic algorithm for hybrid flow shops with sequence dependent setup times and machine eligibility, European Journal of Operational Research 169: 781 800. Ruiz, R., Maroto, C. and Alcaraz, J. (2005). Solving the flow shop scheduling problem with sequence dependent setup times using advanced metaheuristics, European Journal of Operational Research 165: 34 54. Ruiz, R., Serifoglu, F. S. and Urlings, T. (2008). Modeling realistic hybrid flexible flow shop scheduling problems, Computers & Operations Research 35: 1151 1175. Salvador, S. M. (1973). A solution to a special class of flow shop scheduling problems., Symposium on the theory of scheduling and its applications pp. p.83 91. Yaurima, V., Burtseva, L. and Tchernykh, A. (2009). Hybrid flow shop with unrelated machines, sequence-dependent setup time availability constraints and limited buffers, Computers & Industrial Engineering 56: 1452 1463. Zandieh, M., Mozaffari, E. and Gholami, M. (2010). A robust genetic algorithm for scheduling realistic hybrid flexible flow line problems, J Intell Manuf 21: 731 743. Ziaeifar, A., Tavakkoli-Moghaddam, R. and Pichka, K. (2011). Solving a new mathematical model for a hybrid flow shop scheduling problem with a processor assignment by a genetic algorithm, Int J Adv Manuf Technol 61: 339 349. Lourenço, H., Martin, O. and Stützle, T. (2003). Iterated localsearch,in F. Gloverand G. Kochenberger (eds), Handbook of Metaheuristics, Kluwer Academic Publishers, Boston, pp. 321 353. Mirabi, M., Ghomi, S. M. T. F. and Jolai, F. (2013). A two-stage hybrid flow shop scheduling problem in machine breakdown condition, J Intell Manuf 24: 193 199. Naderi, B., Ruiz, R. and Zandieh, M. (2010). Algorithms for arealistic variant of flow shop scheduling, Computers & OperationsResearch pp. 236 246. Pinedo, M. L. (2005). Scheduling: Theory, Algorithms, and Systems. 4293