Você está na página 1de 137

UNIVERSIDADE DE SÃO PAULO

ESCOLA DE ENGENHARIA DE SÃO CARLOS

HUGO HISSASHI MIYATA

Contribuições para o problema flow shop com bloqueio, tempos de setup e manutenção
preventiva

SÃO CARLOS
2017
HUGO HISSASHI MIYATA

Contribuições para o problema flow shop com bloqueio, tempos de setup e manutenção
preventiva

Texto de qualificação de doutorado


apresentado à Escola de Engenharia de São
Carlos da Universidade de São Paulo como
parte dos requisitos para obtenção do título de
doutor em Engenharia de Produção.

Área de Concentração: Gestão de Operações

Orientador: Prof. Dr. Marcelo Seido Nagano

SÃO CARLOS
2017
Resumo

MIYATA, Hugo H. Contribuições para o problema flow shop com bloqueio, tempos de
setup e manutenção preventiva. 2017. Projeto de doutorado (Doutorado em Engenharia de
Produção) – Departamento de Engenharia de Produção, Universidade de São Paulo, São
Carlos, 2017.

Neste trabalho abordamos o problema de programação de operações em ambiente de


produção flow shop sem estoques intermediários entre as m máquinas, ou seja, com a restrição
de bloqueio. O problema também inclui as restrições de tempos de setup dependente da
sequência e também ocorrência de manutenção preventiva (MP) baseada em níveis de
manutenção dos componentes das máquinas. Para estabelecer um intervalo ótimo entre as
atividades de MP, adotamos duas políticas de MP baseadas na distribuição de probabilidade
de Weibull, uma das mais utilizadas para simular a vida útil de máquinas. Para apresentar e
justificar a definição do problema de scheduling abordado, foi realizada uma revisão de
literatura e classificação dos métodos de solução para o problema flow shop com bloqueio. No
total, 66 publicações foram encontradas e mais de 90 métodos foram classificados em técnicas
exatas, heurísticas construtivas simples e compostas e metaheurísticas. Outra revisão de
literatura foi dedicada aos problemas de scheduling com a incorporação da MP como restrição
adicional. Foram encontradas 39 publicações envolvendo os problemas de máquina única,
máquinas paralelas, flow shop e flow shop híbrido/flexível. Calculando-se em que posições da
sequência a MP deve ser realizada pode-se calcular a duração total da programação, o tempo
total de fluxo e o atraso total, medidas de desempenho adotadas neste trabalho. Por fim,
planeja-se a adaptação e implementação computacional das heurísticas construtivas
identificadas durante a revisão de literatura e também a proposição de novos métodos
heurísticos para os problemas estudados.

Palavras-chave: programação de operações, flow shop, bloqueio, setup dependente da


sequência, manutenção preventiva.
Abstract

MIYATA, Hugo H. Contribuitions for the m-machine flow shop scheduling problem with
blocking, setup times and preventive maintenance. 2017. Projeto de doutorado (Doutorado
em Engenharia de Produção) – Departamento de Engenharia de Produção, Universidade de
São Paulo, São Carlos, 2017.

In this coursework, we study the blocking flow shop scheduling problem. The problem also
include the dependent-sequence setup times constraint and the preventive maintenance (PM)
occurrence based on maintenance levels of the machines items. To stablish an optimal interval
between PM activities, we adopt two maintenances policies based on Weibull probability
distribuition, one of the most used distribuitions to simulate the useful lifetime of the
machines. To define and justify the scheduling problem adopted, we carried out a literature
review and we classified the solution methods for the flow shop with blocking. A total of 66
publications were found out and more than 90 solution methods were classified as exact
tecniques, simples and composed constructive heuristics and metaheuristics. Another
literature review was carried out for scheduling problems with the incorporation of PM as
additional constraint. In total, 39 publications was reviewed and categorized as single
machine, parallel machines, flow shop and hybrid/flexible flow shop. If we find out in which
positions of the sequence the PM must be carried out, we can compute the makespan, total
flow time and total tardiness, the adopted measure criterions in this research. Finally, we are
planning to adapt and to implement the constructive heuristics of the literature. We are also
planning the proposition of new heuristic methods for the adopted problems.

Keywords: scheduling; blocking flow shop; dependent setup times; preventive maintenance.
LISTA DE FIGURAS

Figura 1 - Flow Shop permutacional com 4 tarefas e 4 máquinas............................................10


Figura 2 - Taxonomia dos métodos de solução........................................................................20
Figura 3 - Classificação das heurísticas construtivas................................................................22
Figura 4 - Heurísticas Simples para o problema flow shop com bloqueio e m máquinas.........66
Figura 5 - Heurísticas compostas para o problema flow shop com bloqueio e m máquinas.....67
Figura 6 - Problema flow shop com duas máquinas, com bloqueio, com tempos de setup
dependentes da sequência e com ocorrências de manutenção preventiva de dois componentes
reparáveis................................................................................................................................105
Figura 7 - Flow shop com 5 tarefas e com 4 máquinas..........................................................107
LISTA DE TABELAS

Tabela 1- Classificação das publicações de acordo com as características do ambiente de


produção....................................................................................................................................33
Tabela 2 - Classificação das publicações de acordo com a função-objetivo............................35
Tabela 3 - Técnicas exatas para o problema flow shop com bloqueio......................................38
Tabela 4 - Estrutura básica das técnicas exatas encontradas....................................................39
Tabela 5 - Relação de heurísticas construtiva para cada problema encontrado........................51
Tabela 6 - Sumarização das heurísticas que utilizam a geração da sequência Inicial..............55
Tabela 7 - Procedimento de construção de heurísticas construtivas.........................................63
Tabela 8 - Buscas locais empregadas na fase de melhoria da solução.....................................65
Tabela 9 - Métodos heurísticos de acordo com a abordagem...................................................68
Tabela 10 - Sumarização dos componentes em comum das metaheurísticas...........................72
Tabela 11 - Metaheurísticas de acordo com o problema..........................................................77
Tabela 12 - Publicações de scheduling com manutenção preventiva.......................................93
Tabela 13 - Intervalos de manutenção (horas) recomendados pela empresa fabricante dos
veículos...................................................................................................................................104
Tabela 14 - Dias de operação × taxas de deterioração (horas)...............................................104
Tabela 15 - Problema flow shop com 7 tarefas e 5 máquinas.................................................110
Tabela 16 - Tempo de setup entre pares de tarefas para cada máquina..................................110
Tabela 17 - Taxas de deterioração dos níveis de manutenção................................................111
Tabela 18 - Quantidade de deterioração dos componentes em relação ao processamento das
tarefas......................................................................................................................................111
Tabela 19 - Identificação das manutenções preventivas entre tarefas....................................112
Tabela 20 - Planejamento de pesquisa, divulgação dos resultados e elaboração da tese........115
Tabela 21 - Configuração dos parâmetros do banco de problemas (por problema)...............118
LISTA DE SIGLAS E ABREVIATURAS

ABC Colônia Artificial de Abelhas


AIS Sistema Imunológico Artificial
B&B Branch & Bound
DE Evolução Diferencial
DGSO Multi-objective discrete group search optimizer
DRM Desvio relativo médio
FFO Otimização por Moscas das Frutas
FIFO Ordenação por First-In First-Out
GA Algoritmo Genético
GRASP Greedy Randomized Adaptive Search Procedure
HS Busca Harmônica
IG Iterated Greedy
ILS Iterated Local Search
IT Ordenação Iterativa
IU Inserção Única
IM Inserção Múltipla
MA Atividade de Manutenção
MMA Algoritmo Memético
MC Manutenção Corretiva
Meta-RaPS Metaheurística para Busca de Prioridade Aleatória
MILP Programação Linear Inteira Mista
MP Manutenção Preventiva
NM Nível de manutenção
PCP Planejamento e Controle da Produção
PSO Otimização por Enxame de Partículas
SA Simulated Annealing
SI Sequência Inicial
SM Seleção Múltipla
SOM Migração Auto-Organizável
SS Scatter Search
SU Seleção Única
TS Busca Tabu
VBIH Heurística de Inserção Variável de Blocos
VNS Busca Variável na Vizinhança
WSPT Ordenação por menor tempo de processamento ponderado
SUMÁRIO

1 INTRODUÇÃO......................................................................................................................9
1.1 MOTIVAÇÃO E JUSTIFICATIVA DA PESQUISA....................................................12
1.2 OBJETIVO DA PESQUISA...........................................................................................14
1.3 ESTRUTURAÇÃO DO TEXTO DE QUALIFICAÇÃO..............................................14
2 PROBLEMA DE SCHEDULING.......................................................................................15
2.1 NOTAÇÕES E TERMINOLOGIAS DE SCHEDULING..............................................15
2.2 MÉTODOS DE SOLUÇÃO...........................................................................................19
2.3 CONFIABILIDADE E MANUTENÇÃO PREVENTIVA............................................24
2.1.1 Política I – Período ótimo para maximizar a disponibilidade da máquina......27
2.1.2 Política II – Peírodo ótimo para manter uma confiabilidade limiar mínima
para um dado período de produção..............................................................................29
3 REVISÃO DE LITERATURA...........................................................................................31
3.1 PROBLEMA FLOW SHOP COM BLOQUEIO............................................................31
3.1.1 Revisão de acordo com as características do Ambiente de Produção...............32
3.1.2 Revisão de acordo com as restrições das tarefas.................................................34
3.1.3 Revisão de acordo com a função-objetivo............................................................35
3.1.4 Classificação de acordo com a técnica de solução...............................................37
3.1.5 Métodos Exatos......................................................................................................38
3.1.6 Heurísticas Construtivas.......................................................................................50
3.1.6.1 Geração da Sequência Inicial..........................................................................52
3.1.6.2 Construção da Solução.....................................................................................55
3.1.6.3 Melhoria da solução.........................................................................................64
3.1.7 Metaheurísticas......................................................................................................67
3.2 PROBLEMAS DE SCHEDULING COM MANUTENÇÃO PREVENTIVA...............83
3.2.1 Máquina Única.......................................................................................................86
3.2.2 Máquinas Paralelas................................................................................................89
3.2.3 Flow Shop................................................................................................................90
3.2.4 Flow Shop Híbrido/Flexível...................................................................................92
3.3 CONSIDERAÇÕES FINAIS..........................................................................................97
4 DEFINIÇÃO DO PROBLEMA..........................................................................................99
4.1 PROBLEMA DE SCHEDULING FLOW SHOP COM BLOQUEIO E SETUP
DEPENDENTE DA SEQUÊNCIA......................................................................................99
4.2 NÍVEL DE MANUTENÇÃO DOS COMPONENTES REPARÁVEIS DA MÁQUINA
.............................................................................................................................................100
4.3 SCHEDULING E MANUTENÇÃO PREVENTIVA...................................................102
5 PLANEJAMENTO DA PESQUISA................................................................................115
REFERÊNCIAS....................................................................................................................121
9

1 INTRODUÇÃO

Nos dias atuais, devido à alta competitividade e a necessidade de rápido atendimento


dos clientes e consumidores, a melhoria da produtividade tornou-se um objetivo predominante
em empresas de manufatura e de serviços. Os gerentes de produção presenciam a flutuação da
demanda, a diminuição dos lead times e das quantidades a serem produzidas e a frequente
troca nas especificações dos produtos. O ciclo de vida dos produtos está menor, e a previsão
de demanda está altamente dificultosa (ARTIBA; ELMAGHRABY, 1997). Desse modo, os
gerentes de produção procuram administrar eficientemente os sistemas de produção para
garantir que os produtos sejam entregues em prazo, quantidade e qualidade corretos.
No sentido de organizar os dados e auxiliar a tomada de decisões que envolvem as
atividades ligadas ao produto, ao processo produtivo e aos fatores externos que podem
influenciar um sistema de produção, as empresas estruturam um setor de auxílio à Diretoria
Industrial denominado Planejamento e Controle da Produção (PCP) (TUBINO, 2009). O
objetivo principal do PCP é apoiar as decisões do que, quando, quanto e onde produzir e o
que, quanto e quando comprar (PEDROSO; CORRÊA, 2006).
A programação das operações ou scheduling é uma das atividades do PCP mais
complexas no gerenciamento da produção (SLACK et al., 1996), pois os programadores têm
que lidar com diferentes recursos simultaneamente, sendo um processo de decisão de PCP
muito recorrente em indústrias de manufatura e de serviços (PINEDO, 1995). A programação
das operações determina quais recursos serão alocados para processar a tarefa (bens ou
serviços) e quando essa tarefa será processada, ou seja, sua essência concentra-se em decisões
de alocação e sequenciamento (BAKER, 1974).
Um problema de scheduling consiste em encontrar uma sequência de n tarefas (bens e
serviços) que serão processadas em um conjunto de m máquinas (equipamentos,
colaboradores, máquinas propriamente ditas) com o objetivo de minimizar alguma medida
adotada (BAKER, 1974). O problema de sequenciamento varia de acordo com o ambiente de
produção onde ocorre o processamento das tarefas, o critério de desempenho adotado e as
restrições adicionais que podem advir das tarefas ou dos recursos disponíveis (GRAHAM et
al., 1979).
Um dos ambientes de produção mais complexos e mais estudados desde a década de
50 (JOHNSON, 1954) é o denominado Flow Shop Permutacional (MACCARTHY; LIU,
1993; REZA HEJAZI; SAGHAFIAN, 2005; GUPTA; STAFFORD JR, 2006). O problema de
10

scheduling em um flow shop permutacional consiste de sequenciar n tarefas que devem ser
processadas em m máquinas em série. Todas as tarefas possuem o mesmo fluxo padrão de
produção, ou seja, passam pela mesma ordem processamento e obedecem a regra Primeiro
que Entra Primeira que Sai (PEPS) em cada máquina. Na Figura 1 mostra-se
As restrições adicionais dizem respeito às características das tarefas ou dos recursos
disponíveis e permitem uma aproximação maior entre a teoria de scheduling e a realidade
prática (MACCARTHY; LIU, 1993; PINEDO, 1995). Nesta pesquisa considera-se três
restrições adicionais ao problema flow shop permutacional: bloqueio; tempos de setup e; uma
abordagem de manutenção preventiva (MP). Na Figura 1 apresenta-se um exemplo ilustrativo
em gráfico de gantt da ocorrência das três restrições adicionais incorporadas em um flow shop
permutacional.

Bloqueio

M1 S1 J1 MA S1,2 J2 MA S2,3 J3 MA S3,4 J4

M2 S1 J1 MA S1,2 J2 S2,3 J3 MA S3,4 J4

Bloqueio

M3 S1 J1 MA S1,2 J2 S2,3 J3 MA S3,4 J4

M4 S1 J1 S1,2 J2 MA S2,3 J3 MA S3,4 J4

0
Término
Si,j Tempo de setup Ji Tarefa MA Atividade de MP

Figura 1 - Flow Shop permutacional com 4 tarefas e 4 máquinas


Fonte: Autor, 2017.

O tempo/custo de setup é uma das restrições clássicas do problema de scheduling


(ALLAHVERDI et al., 1999; ALLAHVERDI et al., 2008; ALLAHVERDI, 2015). O setup
ou preparação de máquina compreende as medidas necessárias para se preparar a máquina
para processar determinada tarefa. Da perspectiva apresentada por Yang e Liao (1999), o
setup pode ser especificado de acordo com:
 A dependência da sequência das tarefas – o tempo de setup pode variar de acordo com
sua tarefa adjacente predecessora, o que se denomina como setup dependente da
sequência. Na Figura 1, Si,j representa o setup da tarefa j que depende da tarefa i. Em
outro caso, os tempos de setup das tarefas são diferentes entre si, porém, independente
11

da posição que esta tarefa ocupe, a tarefa adjacente predecessora não afeta sua
duração, ou seja, o setup independente da sequência;
 A Antecipação de sua operação – Se as especificações do produto ou se o ambiente de
produção permitir ou se não há custos significativos envolvidos, o tempo de setup para
a próxima tarefa pode ser efetuado a qualquer momento a partir de quando a atual
tarefa sai da máquina (Veja exemplo na Figura 1). Neste caso, denominamos setup
antecipatório e caso contrário, se deve ser realizado ao processar a tarefa, o setup é
denominado não-antecipatório.

Outra restrição que vem ganhando notoriedade nas últimas décadas (HALL;
SRISKANDARAJAH, 1996) é a condição de bloqueio. Este problema ocorre devido à
ausência de estoques intermediários entre as máquinas (CARAFFA et al., 2001), às
características das tarefas ou às restrições tecnológicas do processo. Na Figura 1, as tarefas 2 e
3 permanecem nas respectivas máquinas 1 e 3, até que seus tempos de setup sejam
concluídos. Devido a isso, as tarefas 2 e 3 impedem as máquinas 1 e 3 de realizar o
processamento de outras atividades gerando um tempo de ociosidade, definido como o termo
“bloqueio” na Figura 1.
Outra realidade prática incorporada também ao problema de scheduling nas últimas
décadas é a inclusão da manutenção, em especial, a manutenção preventiva (MP) (MA et al.,
2010). Como decisão de sequenciamento, a MP é vista como uma atividade com uma duração
significativa que deve ser realizada em um intervalo específico de tempo. Este intervalo de
tempo pode ser determinado pela teoria estatística da confiabilidade (RUIZ et al., 2007), pela
recomendação da equipe de manutenção (VAHEDI-NOURI et al., 2013), por meio de funções
que descrevem o nível de deterioração da máquina (BOCK et al., 2012) ou também em
recentes estudos que consideram a realização da MP quando a velocidade de processamento
da máquina reduz a um certo valor devido a deterioração da máquina (LEE; LIN, 2001). Após
a realização da atividade de MP, a máquina retorna ao seu estado de operação em condições
parciais operáveis ou então em ótimas condições, como se fosse nova. Duas abordagens de
MP são adotadas neste trabalho. A primeira é a utilização de modelos de MP oriundas da
teoria estatística da confiabilidade. Estes modelos fornecem intervalos ótimos para MP’s que
são realizadas sistematicamente e podem variar de acordo com a política de MP adotada. A
segunda abordagem adota o conceito de nível de manutenção dos componentes das máquinas
em que cada tarefa possui uma taxa de deterioração associada. A medida que as tarefas são
processadas, o nível de manutenção dos componentes das máquinas vai sendo decrescido até
12

que atingir um certo limite estabelecido. Uma atividade de MP é realizada no componente da


máquina para que volte a um estado “tão bom quanto novo”. Ambas as abordagens são
trabalhadas conjuntamente estabelecendo o intervalo entre MP’s como o nível de manutenção
máximo e o conceito de taxas de deterioração como funções que decrescem o nível de
manutenção dos componentes.
As medidas de desempenho estão relacionadas com a melhor utilização eficiente dos
recursos disponíveis, como por exemplo, a minimização da duração total da programação, a
redução de custos de inventário, como a minimização do tempo total de fluxo das tarefas no
processo e, o atendimento ao cliente, como a minimização das tarefas atrasadas ou do atraso
total (MACCARTHY; LIU, 1993).
Nos últimos anos, os métodos de solução para o problema de scheduling têm tomado
uma abordagem cada vez mais robusta e eficiente. Para um pequeno número de tarefas e
máquinas, os métodos exatos têm sido utilizados com sucesso. Entretanto, dependendo do
ambiente de produção, à medida que incorporamos restrições adicionais e quando
aumentamos o número de tarefas e máquinas, torna-se inviável a utilização de métodos exatos
para o problema. Por exemplo, um problema flow shop permutacional com n tarefas e m
máquinas apresenta um total de n! soluções (PINEDO, 1995). Para m > 2 máquinas, o
problema flow shop com bloqueio foi provado ser da classe de problemas NP-Difícil (RÖCK,
1984; HALL; SRISKANDARAJAH, 1996; MARTINEZ et al., 2006; FERNANDEZ-
VIAGAS et al., 2016). Neste sentido, o emprego de heurísticas, métodos que geram soluções
próximas da ótima, tem sido foco das pesquisas recentes.
Nesta pesquisa, adota-se o problema flow shop sem estoque intermediário entre as m
máquinas, tempos de setup dependente da sequência das tarefas e antecipatórios e MP dos
componentes das máquinas sujeitas a taxas de deterioração e a políticas de manutenção
preventiva para minimização da duração total da programação, do tempo total de fluxo e do
atraso total.

1.1 MOTIVAÇÃO E JUSTIFICATIVA DA PESQUISA

Uma das grandes dificuldades pontuadas por Maccarthy e Liu (1993) em relação ao
scheduling é a grande distância que há entre realidade e teoria. A adição de novas hipóteses,
presentes em ambientes práticos pode diminuir este gap com os modelos teóricos. Neste
13

contexto, como já pontuado anteriormente, esta pesquisa adota três situações frequentemente
presentes em ambientes reais: tempos de setup dependentes da sequência, manutenção
preventiva e bloqueio entre estágios produtivos.
O flow shop com bloqueio pode ser visto em diversos ambientes produtivos tais como
na indústria química, produção de peças aeronáuticas (MARTINEZ et al., 2006), na produção
de cidra (TRABELSI et al., 2012), de placas de circuitos eletrônicos (CHEN et al., 2014), de
ferro e aço (GONG; TANG; DUIN, C. W., 2010), de telhas cerâmicas, de blocos de concreto
(GRABOWSKI; PEMPERA, 2000), no tratamento de dejetos (MARTINEZ et al., 2006) e
também no setor de serviços como em operações de terraplanagem (YU; SEIF, 2016).
A incorporação do tempo de setup em problemas de scheduling tem sido estudada
desde a década de 60 (ALLAHVERDI; SOROUSH, 2008). Yang e Liao (1999), Allahverdi et
al. (1999), Allahverdi et al. (2008), Allahverdi e Soroush (2008) e Allahverdi (2015) pontuam
a relevância desta restrição ao problema de scheduling e também em situações reais. Na
prática, as considerações de setup dependente da sequência impactam diretamente na melhor
utilização de recursos. Os benefícios da redução do tempo de setup incluem a redução de
custos, aumento da velocidade da produção, redução os lead times, maior agilidade no
processo de troca de ferramentas e na entrega do produto ao cliente, aumentando sua
satisfação (ALLAHVERDI; SOROUSH, 2008).
Segundo Ruiz et al. (2007) e Ma et al. (2010) a manutenção preventiva (MP) impacta
diretamente no tempo disponível para produção, assim como também, torna mais real a
hipótese da disponibilidade da máquina. Na prática, as decisões de MP e de programação de
operações são realizadas independentemente apesar do relacionamento entre elas. Atividades
de MP consomem tempos de produção potenciais. Por outro lado, adiar uma MP por causa da
demanda da produção pode aumentar o risco de probabilidade de falha de máquina. Portanto,
integrar estas duas decisões pode vir a trazer benefícios na tomada de decisões.
Apesar do grande destaque recebido nas últimas décadas, por se tratar de uma área
ainda pouco pesquisada e recente, a maioria de pesquisas sobre o problema flow shop com
bloqueio está concentrada na concepção de métodos de solução para o problema básico, não
havendo a consideração de restrições adicionais (Capítulo 3). Neste sentido, pela revisão de
literatura realizada, até então, não foram encontradas pesquisas que tratam do problema aqui
apresentado.
14

1.2 OBJETIVO DA PESQUISA

O objetivo desta pesquisa é o estudo do problema de três problemas flow shop sem
estoque intermediário entre as m máquinas, tempos de setup dependente da sequência das
tarefas e sujeita a políticas e níveis de manutenção preventiva: minimização da duração total
da programação, do tempo total de fluxo e do tempo total de atraso. Os seguintes objetivos
específicos compõem o objetivo geral:
 Revisão e classificação das publicações existentes de scheduling para o problema flow
shop com restrição de estoque intermediário;
 Revisão e classificação das publicações existentes de scheduling com manutenção
preventiva;
 Descrição do problema e análise das formas de cálculo da duração total da
programação, do tempo total de fluxo e do atraso total.

1.3 ESTRUTURAÇÃO DO TEXTO DE QUALIFICAÇÃO

Este trabalho estrutura-se da seguinte forma: Na Segunda Seção apresenta-se o


referencial teórico básico sobre as notações e terminologias básicos de scheduling, assim
como a definição dos métodos de solução encontrados durante a revisão de literatura.
No terceiro capítulo, apresenta-se uma revisão de literatura e classificação dos
métodos de solução para o problema flow shop com bloqueio e também de problemas de
scheduling que também adotam a manutenção preventiva como restrição adicional.
O quarto capítulo dedica-se a definição do problema de scheduling adotado nesta
pesquisa, mostrando as hipóteses consideradas, as políticas de MP adotadas e as formas de
cálculo da duração total da programação, do tempo total de fluxo e do atraso total.
No quinto capítulo descreve-se o planejamento da pesquisa para elaboração da tese
contendo a delineamento dos experimentos para cada problema abordado e o cronograma
previsto de pesquisa e andamento da atividade até defesa da tese e a entrega do exemplar
definitivo. Por fim, podem ser vistas as referências bibliográficas.
15

2 PROBLEMA DE SCHEDULING

Neste capítulo apresenta-se o referencial teórico básico para entendimento dos


capítulos “Revisão de Literatura”, “Definição do Problema” e “Planejamento da Pesquisa”.
Subdividimos este capítulo em três seções.
A seção “Notações e Terminologias de Scheduling” contêm as definições dos
ambientes de produção, das restrições adicionais e das medidas de desempenho comumente
utilizadas no problema de scheduling.
A seção “Métodos de Solução” apresenta as definições básicas sobre a estrutura de
funcionamento das técnicas de solução encontradas no capítulo “Revisão de Literatura”, em
especial, para a revisão do problema flow shop com bloqueio. Neste contexto, descrevemos
brevemente os conceitos de técnicas exatas, métodos heurísticos construtivos e métodos
heurísticos melhorativos.
Na seção “Confiabilidade e Manutenção Preventiva” apresentamos as definições
básicas sobre confiabilidade, manutenção corretiva, preditiva e preventiva e também
conceitos básicos da teoria estatística da confiabilidade como as medidas básicas e a
distribuição de probabilidade de Weibull. Por fim, também apresentamos as duas políticas de
MP que serão adotadas para pesquisas futuras.

2.1 NOTAÇÕES E TERMINOLOGIAS DE SCHEDULING

Formalmente, um problema de programação das operações ou scheduling pode ser


definido como n tarefas que devem ser processadas em m máquinas que estão continuamente
disponíveis (GRAHAM et al., 1979; MACCARTHY; LIU, 1993). O processamento da tarefa
i ( i = 1, … , n ) na máquina j ( j = 1, … , m) é definido como uma operação Oi,j, que por
sua vez, possui um tempo de processamento associado pi,j (MACCARTHY; LIU, 1993). O
fluxo padrão das tarefas ou a ordem das máquinas pode ou não ser fixado(a) para algumas ou
todas as tarefas (MACCARTHY; LIU, 1993). Cada tarefa i possui uma data de entrega (di) e
pode ser considerada zero caso não seja relevante para a decisão de scheduling.
Segundo Maccarthy e Liu (1993), um problema de programação das operações pode
ser classificado de acordo com as restrições tecnológicas (ambientes de máquinas), as
16

restrições em relação às máquinas e às tarefas e o critério de desempenho considerado.


Graham et al. (1979) define um problema de programação de operações por meio de uma
notação de três camposα |β| γ.
O campo α = α 1 α 2 especifica as restrições tecnológicas ou ambientes de máquinas,
sendo α 1 o ambiente de máquina considerado e α 2 a quantidade de máquinas ou estágios do
ambiente. Os ambientes de produção básicos de acordo com Graham et al. (1979) são:
 Máquina Única (α 1 = °, α 2 = 1¿ : Há apenas uma máquina disponível para o
processamento das tarefas (ARTIBA; ELMAGHRABY, 1997);
 Máquinas Paralelas ( α 1 = P , Q ou R , α 2 = m ): Trata-se de uma generalização da
máquina única. O processamento das tarefas consiste de apenas uma operação, porém
existem várias máquinas paralelas ( m ≥ 2 ) que podem realizá-la. Em termos de
velocidade de processamento, as máquinas paralelas podem ser classificadas em
idênticas (P), proporcionais (Q) e não relacionadas (R);
 Flow shop (α 1 = F ¿: Há m máquinas em série. Cada tarefa tem que ser processada em
cada uma das m máquinas. Todas as tarefas têm que seguir a mesmo fluxo padrão nas
máquinas (PINEDO, 1995);
 Flow shop Flexível ou Flow shop Híbrido ( α 1 = FFc ): Em vez de m máquinas em
série há c estágios em séries com cada estágio tendo ou não um número de máquinas
paralelas (P, Q ou R). Cada tarefa deve passar primeiro pelo estágio 1, então pelo
estágio 2, até o último estágio. Uma tarefa pode ser processada em apenas uma das
máquinas dentro do estágio de processamento (PINEDO, 1995);
 Job shop ( α 1 = J , α 2 = m ): Cada tarefa tem seu roteiro de produção pré-
determinado (PINEDO, 1995).
O campoβ ⊂ {β 1 ,…, β n } representa as condições ou restrições adicionais relacionadas
às características das tarefas ou do ambiente de máquinas (GRAHAM et al., 1979, ARTIBA;
ELMAGHRABY, 1997). Estas restrições incluem:
 Bloqueio – Ocorre se a máquina j + 1 ( j = 1, ..., m – 1) estiver ocupada processando a
tarefa i – 1, a tarefa i permanece na máquina j impedindo o processamento da tarefa i
+ 1, até que a tarefa i – 1 seja finalizada na máquina j + 1 e siga para a próxima
máquina;
 Tempos de setup – Refere-se ao tempo incorrido para preparar uma máquina para
processar uma tarefa incluindo a obtenção de ferramentas, o trabalho de posicionar o
material em processo, limpeza, ajuste de ferramentas, inspeção de materiais e definir
17

peças e acessórios necessários (ALLAHVERDI; SOROUSH, 2008). Denotamos s i , j o


tempo de setup dependente da sequência que ocorre entre as tarefas i e j. Se o tempo
de setup entre as tarefas i e j dependem da máquina, então incluímos o subscrito k, ou
seja, s i , j ,k (PINEDO, 1995). Caso o setup não possa ser antecipado, o subscrito non-
ant é adicionado ao campo β;
 No-wait – Este fenômeno que ocorre com mais frequência em flow shop. As operções
das tarefas não podem esperar por processamento entre duas máquinas sucessivas. Isso
implica que a operação deve esperar na primeira máquina para assegurar que possa ser
processada continuamente em todas as máquinas. Por exemplo, nas operações de
laminadoras de aço, uma lâmina de aço não pode esperar para ser processada, pois iria
esfriar durante a espera, causando perca de material ou custos de retrabalho (PINEDO,
1995);
 Datas de liberação (ri) – Corresponde ao instante ou data em que a tarefa i está
permitida para iniciar seu processamento (PINEDO, 1995);
 Preempção (prmp) – A preempção implica que não é necessário manter uma tarefa em
uma máquina, uma vez iniciada, até o seu término. O programador pode interromper o
processamento da tarefa a qualquer momento e iniciar o processamento de uma outra
tarefa. A interrupção da tarefa não torna o processamento perdido e quando ela
retorna, a máquina processa somente o tempo restante. A inclusão do termo prmp no
campo β significa que o processo permite preempção, caso contrário, esta informação
não é disponibilizada (PINEDO, 1995);
 Permutação – Ocorre quando a ordem das tarefas em todas as máquinas deve ser
mantida, ou seja, o fluxo de processamento das tarefas nas máquinas será sempre o
mesmo em todas as máquinas (PINEDO, 1995). Caso o ambiente de produção seja não
permutacional, a notação non-perm é adicionada no campo β.

O campo γ especifica os critérios de desempenho que possuem a função de avaliar a


qualidade de uma determinada solução (MESQUITA et al., 2008). As medidas de
desempenho mais utilizadas na literatura de scheduling são:
 Instante de término da tarefa i ou completion time (Ci) - Instante de término de
processamento da tarefa i ( i = 1, … , n ). Se o instante de término da tarefa i se
refere a alguma máquina j ( j = 1, … , m ), então, Ci,j representa o instante de término
da tarefa i na máquina j;
18

 Duração total da programação ou makespan (Cmax): Instante de término da última


tarefa a deixar o sistema;

 Tempo de Total de Fluxo ou Total Flow Time (∑ Ci , TFT , TCT ): Soma dos instantes
i

de término de todas as n tarefas;

 Atraso total das tarefas (∑ Ti ): Atraso da tarefa em relação à sua data de entrega.
i

Alguns exemplos de problemas, com o modelo de notação de Graham et al. (1979)


podem ser vistos a seguir:
 1|preemp , s i , j, k|Cmax denota um problema de máquina única com tempos de setup
dependentes da sequência, se admite preempção das tarefas e o objetivo é minimizar a
duração total da programação

 F m|block , s i , j, k|∑ Ci – Indica o problema flow shop sem estoque intermediário entre
i

as m máquinas, com tempos de setup dependentes da sequência e minimização do


tempo total de fluxo;

No problema flow shop sem estoques intermediários entre as m máquinas, devido à


restrição de bloqueio, o instante de término de uma tarefa i na máquina j é dado pelo seu
instante de partida Di,j, calculado como segue:

D 1,0 = 0 , (1)
j
k = 1,…, m -1 (2)
D1, j = ∑ p1, j ,
k =1
Di ,0 = Di -1,1 , i = 2 ,… , n (3)
D i , j = max ( D i , j-1 + pi , j , D i -1, j+1 ) , i = 2 , … , n k = 1 ,… , m - 1 (4)
Di , m = Di , m-1 + pi , m , i = 1, … , n (5)

Deste modo, a duração total da programação ou makespan (Cmax) corresponde ao


instante de partida da última tarefa na última máquina:

Cmax = D n , m (6)

Para o problema F m|block|Cmax , Wang et al. (2010) apresentam uma técnica de


aceleração do cálculo de Cmax para o caso de uma busca local de inserção com (n – 1)²
19

sequências geradas no problema. O procedimento reduz o tempo computacional de O(mn³)


para O(mn²).
O tempo total de fluxo corresponde à soma dos instantes de partida de todas as tarefas
na última máquina:

∑ Ci = ∑ Di , m (7)
i i =1

Fernandez-Viagas et al. (2016) apresentam procedimentos de aceleração do cálculo de

∑ Ci no problema F m|block|∑ Ci para a busca local de inserção. Tasgetiren et al. (2016)


i i

também propõem um procedimento de aceleração para o cálculo de ∑ Ci para buscas locais


i

de inserção e troca entre pares de tarefas. Ambos os autores se baseiam no procedimento de


aceleração de Li et al. (2009), que mostrou reduzir de 40 a 50% o tempo computacional.
O atraso de uma tarefa i (Ti) é representado pela seguinte expressão:

T i = max ( 0 , Di , m - d i ) , i = 1 , … , n (8)

O atraso total corresponde a soma dos atrasos de todas as tarefas:

∑ Ti = ∑ T i (9)
i =1

Outras notações e terminologias serão apresentadas posteriormente, nas seções


pertinentes.

2.2 MÉTODOS DE SOLUÇÃO

De modo geral, métodos de sequenciamento podem ser divididos em métodos de


solução exata e métodos heurísticos. A Figura 2 evidencia a taxonomia dos métodos de
solução.
20

Métodos de Solução

Métodos Exatos

Branch-and-bound Programação Dinâmica MILP

Métodos Heurísticos

Heurísticas construtivas Heurísticas Melhorativas

Heurísticas simples Buscas Locais

Heurísticas compostas Metaheuristicas

Figura 2 - Taxonomia dos métodos de solução


Fonte: Autor, 2017.

Métodos exatos são aqueles que fornecem a solução ótima para o problema. São
recomendados para problemas cujo número de tarefas e máquinas são pequenos, por causa do
alto esforço computacional empregado. Os métodos exatos apresentados para o problema
foram a programação dinâmica, a técnica branch & bound e os métodos para solução de
modelos de programação linear inteira e programação linear inteira mista (MILP).
O branch & bound é um método de enumeração implícita, em que subconjuntos de
soluções são implicitamente avaliados e descartados, uma vez que não contém uma solução
ótima, ou então contém soluções ótimas distintas, porém de mesmo valor ótimo. Um branch
& bound pode ser representado por uma árvore. Os nós são denominados subproblema da
árvore e os nós descendentes do nó anterior são chamados de nós filhos (ARENALES et al.,
2007). Segundo Arenales et al. (2007), um branch & bound possui basicamente os seguintes
componentes:
 Seleção de nós e estratégia de busca – Refere-se a seleção do próximo nó a ser
examinado. Existem duas alternativas: regras a priori, na qual os nós são previamente
ordenados e as regras adaptativas que determinam o nó a partir da informação dos nós
existentes. A regra a priori mais utilizada é a busca em profundidade com
backtracking, conhecida também como last-in, first-out, ou seja, o último nó
adicionado é o primeiro nó a ser avaliado. Na busca em profundidade, após a
avaliação de um nó, se este não é eliminado, um de seus filhos é examinado. O termo
backtracking implica que se um nó é eliminado, retorna-se ao nó raiz até encontrar o
primeiro nó que tem um filho que não foi examinado. Um exemplo de regra adaptativa
consiste em selecionar o nó que tem o menor (maior) limitante superior no problema
de minimização (maximização);
21

 Eliminação de nós – Um nó pode ser eliminado, segundo Wolsey (1998) por


infactibilidade, por meio de algum limitante inferior, por meio de regras de
dominância ou pelo critério de otimalidade.

De maneira similar ao Branch & Bound, a programação dinâmica também faz a


simplificação do problema original por meio da decomposição e resolução de uma sequência
de problemas mais simples (ARENALES et al., 2007). De acordo com Arenales et al. (2007),
as principais características da programação dinâmica são:
 Estágios – Corresponde a decomposição do problema original em estágios que são
resolvidos sequencialmente, um de cada vez. A solução de cada estágio fornece
informações e valores para o próximo estágio;
 Estados – Refere-se aos cenários possíveis de um estágio. O estado do sistema é a
informação necessária para tomar uma decisão em um determinado estágio;
 Decisão – Podem ser tomadas dependendo do estado observado do sistema. Uma
decisão leva o estado do sistema no presente estágio para um novo estado no próximo
estágio e geralmente há um custo incorrido.

À medida que a complexidade do problema aumenta, métodos heurísticos têm sido


empregados para gerar boas soluções e em tempo computacional viável. Os métodos
heurísticos, de acordo com Framinan et al. (2004) e Framinan et al. (2005) podem ser
classificados em construtivos e melhorativos.
Segundo Pinedo (1995), uma heurística construtiva fornece apenas uma sequência que
é mantida como a solução do problema. Neste sentido, a sequência adotada pode ser gerada
por meio de alguma ordenação baseada em índices de prioridade, escolhendo-se a melhor
sequência a partir de um conjunto de sequências geradas ou ainda a partir da geração
sucessiva de sequências parciais adotando-se uma estratégia de inserção de tarefas.
Heurísticas construtivas podem ser classificadas em simples e compostas e podem ser
constituídas por até três fases (FRAMINAN et al., 2004, 2005):
a) Desenvolvimento de um índice: Nesta fase, índices são desenvolvidos de acordo com
alguma propriedade baseada nos dados do problema como os tempos de
processamento de cada tarefa, número de tarefas e de máquinas ou por meio de
alguma analogia como o problema do caixeiro viajante. O resultado dessa fase é uma
22

ordenação que pode ser considerada a solução final do problema ou uma sequência
inicial para a próxima fase;
b) Construção da Solução: Nesta fase, a solução é construída de maneira recursiva,
testando em cada iteração qual a próxima tarefa a ser inserida no conjunto de tarefas
programadas Si até que todas sejam programadas. Duas decisões são relevantes nessa
fase: Qual tarefa do conjunto de tarefas não programadas Ri (resultante ou não da
primeira fase) será programada e em qual posição da sequência parcial Si será inserida;
c) Melhoria da solução: Nesta fase, a solução Si é usada como um input para algum
procedimento para encontrar melhores soluções. Neste caso, a solução encontrada ao
final dessa fase deve ser sempre melhor ou igual a solução Si. Pela definição, as
heurísticas construtivas empregam somente buscas locais que geram sempre a mesma
solução quando aplicamos o método inúmeras vezes em um mesmo problema.

As heurísticas podem ser classificadas como compostas se em qualquer uma de suas


fases alguma outra heurística é empregada para gerar uma solução. Segundo, LIU e REEVES
(2001), uma heurística pode também ser denominada composta se há emprego da fase de
melhoria da solução. Uma heurística é dita simples se não houver emprego de nenhuma outra
heurística em qualquer uma de suas fases. A Figura 3 mostra exemplos de heurísticas simples
e compostas, estruturadas de acordo com as três fases apresentadas anteriormente:
Desenvolvimento de índice (Índice X), fase de construção (Construção-Y) e melhoria da
solução (Busca Local X). As áreas preenchidas de cinza indicam que outra heurística simples
foi empregada nas referidas fases.

Heurística Desenvolvimento de índice Construção da Solução Melhoria da solução


Heurística A Indíce A Construção-A
Simples

Heurística B Índice B
Heurística C Construção-C
Heurística D Índice-D Construção-D
Composta

Heurística E Heurística A Busca Local E


Heurística F Heurística B Construção-A
Heurística G Índice G Heurística C Busca Local G
Heurística H Heurística D (Com índice B) Busca Local H
Figura 3 - Classificação das heurísticas construtivas
Fonte: Autor, 2017.
23

Métodos melhorativos partem de uma solução inicial e, por meio de algum


procedimento iterativo, buscam melhores soluções que a atual para minimizar algum critério
de desempenho. Neste caso, a solução inicial pode ser dada, por exemplo, por uma heurística
construtiva ou por alguma simples regra de sequenciamento (FRAMINAN et al., 2004). Para
qualquer solução inicial gerada, busca-se sempre uma solução final melhor ou igual. Os
métodos melhorativos mais empregados para solução de problemas de scheduling se
concentram nas buscas locais e nas metaheurísticas.
Buscas locais partem de uma solução inicial s, que pode ser obtida, por exemplo, por
um método heurístico construtivo. A solução s associa-se a uma vizinhança N de s. Cada
solução s’, chamada de solução vizinha da vizinhança N(s) é visitada a partir de s por meio de
um movimento. Seleciona-se uma solução vizinha que seja melhor que a solução corrente, e a
busca prosseguem iterativamente até que a vizinhança não contenha nenhuma solução melhor
que a corrente ou se algum critério de parada tenha sido satisfeito (ARENALES et al., 2007).
Fink e Voβ (2003) denominam estes movimentos como:
 Inserção – consiste de inserir a tarefa em todas as (n – 1) posições possíveis da
sequência. Considerando a inserção de todas as tarefas da sequência, tem-se uma
vizinhança de (n – 1)² sequências;
 Permutação – Há uma troca de posições entre as tarefas i e k, sendo i ≠ k, totalizando

( n - 1 )2
uma vizinhança de sequências;
2
 Permutação entre pares de tarefas adjacentes: Há uma troca de posições somente entre
as tarefas que estão em posições adjacentes na sequência, totalizando ( n - 1)
sequências.

Uma metaheurística pode ser formalmente definida como um processo iterativo que
guia uma heurística subordinada combinando diferentes conceitos para explorar o espaço de
busca. Estratégias de aprendizado são usadas para estruturar as informações para encontrar
eficientemente soluções próximas da ótima. Estas técnicas são baseadas em conceitos
advindos da evolução biológica, da matemática e da física, do sistema nervoso e da estatística
mecânica (OSMAN; LAPORTE, 1996). Assim como as buscas locais, as metaheurísticas
também partem de uma solução inicial. Dentre as metaheurísticas existentes destacam-se:
Algoritmo Genético (Genetic Algorithm) (GOLDBERG, 1989; REEVES, 1996; CHEN et al.,
1995; TRABELSI et al., 2012); Busca Tabu (Tabu Search) (GLOVER, 1989; GLOVER,
24

1990; GLOVER; LAGUNA, 2013; NOWICKI; SMUTNICKI, 1996; TASGETIREN et al.,


2017); Simulated Annealing (KIRKPATRICK et al., 1983; WANG et al. 2012); Colônia de
Formigas (Ant Colony) (DORIGO et al., 2006; RAJENDRAN; ZIEGLER, 2004;
KHORRAMIZADEH; RIAHI, 2015); Otimização por Enxame de Partículas (Particle Swarm
Optimization) (KENNEDY; EBERHART, 1995; TASGETIREN et al., 2004; EDDALY et
al., 2016); Iterated Local Search (LOURENÇO et al., 2003; RIBAS et al., 2013); Busca
Harmônica (Harmony Search) (GEEM et al., 2001; GAO et al., 2011) e; Iterated Greedy
(RUIZ; STÜTZLE, 2007; DING et al., 2015); TASGETIREN et al., 2017).

2.3 CONFIABILIDADE E MANUTENÇÃO PREVENTIVA

A confiabilidade pode ser definida como a capacidade de um item (máquinas,


equipamentos) de desempenhar certa função exigida, sob dado ambiente operacional,
condições operacionais e por um período de tempo definido (RAUSAND; HØYLAND,
2004). Entende-se por disponibilidade, a capacidade de um item (combinando aspectos de sua
confiabilidade, manutenção e suporte da manutenção) de desempenhar sua função em um
instante ou durante um período de tempo definido (RAUSAND; HØYLAND, 2004).
A manutenção é o principal fator para determinar a disponibilidade de um item.
Manutenção pode ser definida como a combinação de todas as ações técnicas e
administrativas, incluindo supervisão de ações pretendidas para reparar um item ou restaurá-
lo a um estado na qual pode realizar suas devidas funções (RAUSAND; HØYLAND, 2004).
As decisões de manutenção devem levar em conta a grande quantidade de critérios de
decisão que podem às vezes ser contraditórios. Escolher a operação de manutenção mais
apropriada bem como o melhor tempo possível para realizá-la é uma tarefa complexa que não
depende somente do estado atual do item, mas as consequências dessa escolha a longo prazo
para o determinado item (RAUSAND; HØYLAND, 2004). Podem-se distinguir três tipos
diferentes de estratégias de manutenção, de acordo com Rausand e Høyland (2004):
 Manutenção Preventiva (MP): Consiste em realizar as operações em máquinas e
equipamentos antes que a quebra ocorra (RAUSAND; HØYLAND, 2004, RUIZ et al.,
2007);
 Manutenção Corretiva (MC): Esse tipo de manutenção é realizado após o item ter
falhado. O propósito da manutenção corretiva é trazer o item de volta a seu estado de
25

funcionamento, ou também reparar, substituir ou trocá-lo por um novo (RAUSAND;


HØYLAND, 2004, RUIZ et al., 2007);
 Manutenção Preditiva: Esse é um tipo especial de MP que envolve checagens
funcionais e operacionais ou testes para verificar apropriadamente a operação de itens
com funções off-line, como aparelhos de proteção ou sistemas de backup. São realizadas
em um intervalo especifico entre as operações (RAUSAND; HØYLAND, 2004).
De acordo Rausand e Høyland (2004) a MP visa reduzir a probabilidade de falha de
um item. Isso envolve inspeções, ajustes, lubrificação, substituição de partes, calibração, e
reparo de itens que estão começando a desgastar. A MP geralmente é realizada regularmente,
independentemente do estado de degradação, da funcionalidade ou do desempenho dos itens.
Segundo Ruiz et al. (2007) os objetivos da MP são:
 Aumentar a confiabilidade das máquinas e, portanto, reduzir as falhas durante sua
operação. Isso envolve uma redução em custos e uma melhoria na disponibilidade;
 Aumentar a vida operacional do equipamento reduzindo significativamente paradas
inesperadas e operações de MC;
 Melhorar a gestão e o planejamento da produção e manter a segurança.

Sob o enfoque da MP, é indispensável na área da confiabilidade a utilização de


modelos quantitativos capazes de mensurar o risco de falha de um dado componente
(GERTSBAKH, 2005). Estes modelos quantitativos podem ser vistos como políticas de MP.
As políticas de MP são baseadas na teoria estatística da confiabilidade. As políticas de MP
são baseadas na teoria estatística da confiabilidade. Os conceitos teóricos básicos podem ser
vistos em Barlow e Proschan (1965), Meeker e Escobar (1998), Biroloni (2004) e Fogliatto e
Ribeiro (2009). A seguir, apresentamos os principais conceitos necessários para entendimento
das políticas de MP adotadas, baseados nos referidos autores.
Seja X uma variável aleatória não negativa que representa o tempo de vida de um
componente. Geralmente, a confiabilidade do componente é expressa por meio de uma
distribuição de probabilidade. Uma das distribuições de probabilidade mais usadas para
simular o tempo de vida de um item com taxas de falhas não constantes é o modelo de
Weibull com dois parâmetros X ≈ [ θ ,β ], onde θ e β representam os parâmetros escala e
forma, respectivamente.
A função densidade de probabilidade de Weibull pode ser definida como
26

β β -1 - t /θ β

f (t) = t e , t ≥0 (10)
θ

onde t representa o tempo até a falha.

A função confiabilidade de WeibullR ( t ) pode ser descrita como

β
− (θt ) (11)
R ( t) = e , t ≥0

A taxa de falha ou taxa de risco de Weibull é definida como

β -1
β t
h (t ) =
θ θ() , t ≥0 (12)

A taxa de risco de Weibull é definida pelo parâmetro β, onde h ( t ) tende a decrescer


quando β < 1 e tende a crescer quando β > 1. Quando β = 1,h ( t ) é constante e encontra o
modelo exponencial e quando β = 2,h ( t ) cresce linearmente e é conhecido como modelo de
Raleigh.
O tempo médio entre falhas (MTTF) pode ser descrito como

1
MTTF = θ ∙ Γ 1+ [ ] β
(13)

ondeΓ [ ∙ ] é uma função gamma tabulada.

O tempo entre a falha e seu retorno ao estado “tão bom quanto novo” é chamado
tempo de reparo ou downtime. O limite de disponibilidade A(t) de um dado tempo t de um
item reparável é a probabilidade que esse item esteja trabalhando no tempo t. Expressamos a
função de disponibilidade como

MTTF
A = (14)
MTTF + MTTR

onde MTTR representa o tempo médio de reparo.


27

Quando uma máquina falha, reparos mínimos são feitos para restaurar a máquina para
suas condições de operação sem afetar sua idade efetiva. Uma vez que a MP restaura a
máquina para um estado “tão bom quanto novo”, o desempenho da máquina pode ser
modelado usando um processo de renovação, onde os pontos de renovação correspondem ao
fim de uma atividade de MP. Neste sentido, várias políticas de MP podem ser definidas, com
o objetivo de determinar o MTTF. Duas políticas são adotadas neste trabalho: Política I que
visa maximizar a disponibilidade da máquina, proposta por Cassady e Kutanoglu (2003) e a
Política II, Manter uma confiabilidade limiar mínima para um dado período de produção t,
proposta por Ruiz et al. (2007).

2.1.1 Política I – Período ótimo para maximizar a disponibilidade da máquina

Supondo que uma máquina possui um tempo de falha que segue uma variável aleatória
de Weibull com parâmetro forma β ( β > 1 ) e parâmetro escala θ. A máquina é reparada em t r
unidades de tempo (u.t.). Assumimos que o reparo seja mínimo, ou seja, a idade de um item
reparado é a mesma de quando o item falhou. Uma vez que β > 1, a manutenção preventiva
(MP) pode ser usada para reduzir a taxa de falha da máquina. Assumimos que a MP exige t p
u.t. e restaura a máquina a uma condição tão boa quanto nova.
Se ignorarmos as exigências da programação da máquina, essas falhas, reparos e
características da MP podem ser usadas para derivar um plano ótimo de MP para a máquina.
Seja τ o intervalo entre MP’s para a máquina, ou seja, MP é realizada na máquina após τ
unidades de tempo (u.t.) de operação. Se o objetivo é maximizar a disponibilidade de
máquinas, um modelo matemático pode ser usado para determinar um valor ótimo para τ.
Uma vez que a MP restaura a máquina a um estado tão bom quanto novo, a operação e
manutenção da máquina pode ser modelada como um processo renovativo, onde os pontos de
renovação são: (i) o início da operação da máquina e; (ii) o término de cada atividade de MP.
Uma vez que o reparo é mínimo, a ocorrência de falhas durante cada ciclo do processo de
renovação pode ser modelado usando um processo de não homogêneo de Poission. Seja m ( τ )
o número de falhas que ocorrem durante um dado ciclo. O valor esperado de m ( τ ) é

τ
m ( τ ) = ∫ h ( t ) dt ,
0
28

onde h ( t ) é a função de risco da máquina. Uma vez que o tempo para distribuição da falha da
máquina é Weibull

β β -1
h (t ) = t
θβ

Então,

β
τ
m (τ) = () θ

O ciclo médio consiste de τ u.t. de operação, os reparos m ( τ ) levam t r u.t. e o tempo de


MP leva t p u.t. A disponibilidadeA ( τ ) da máquina em estado estável é uma função do
intervalo da MP e é dada por

τ
A (τ) =
τ + m ( τ ) tr + t p

Por meio de diferenciação e análise algébrica, Cassady e Kutanoglu (2003) chegam a


seguinte expressão:

1/ β
tp
T MP = θ
[ t r ( β - 1) ] (15)

Em suma, esta política consiste em realizar uma atividade de MP sempre que o tempo
total de operação da máquina atinge o valor T MP. Como exemplo, suponha que o tempo de
falha da máquina siga uma distribuição de Weibull X ≈ [ θ , β ], com θ = 1200, β = 2, tr = 4
horas e tp = 1 hora. O intervalo ótimo T MP é de 600 horas, que resulta, de acordo com a
Expressão (11), emR ( t ) de aproximadamente 77,9% .
29

2.1.2 Política II – Peírodo ótimo para manter uma confiabilidade limiar mínima para
um dado período de produção

Suponha que um sistema cuja taxa de falha seja crescente com o tempo e é afetado por
quebras devido à idade ou uso. Esta política consiste em realizar manutenções preventivas
(MP) sistemáticas após um intervalo de tempo TMP para assegurar uma confiabilidade mínima
como quando no tempo t = 0. Consideramos que a MP restaura as máquinas a um estado “tão
bom como novo”. Neste caso, os intervalos regulares 0, 1TMP, 2TMP, 3TMP, ... , nTMP são
considerados pontos de renovação.
Ruiz et al. (2007) calculam a função de confiabilidade R 0 ( t ) de acordo com Biroloni

(2004), levando-se em conta as seguintes considerações: sabe-se que t = n TPM + t *, onde

t * < X . Portanto, a probabilidade de exceder o tempo t, R 0 ( t ) , visto a partir do momento zero


é

R 0 ( t )=R ( t ) para 0 ≤ t < TMP


n
R 0 ( t ) = [ R 0 ( TMP ) ] R0 ( t - n TMP ) para n T MP ≤ t<(n+1) TMP, n ≥ 1

onde R 0 ( t )=1 e pode ser considerado que R 0 ( t - n T MP )=1, ou seja, antes de exceder T MP o
sistema não falha. Podemos considerar que

n
R 0 ( t ) = [ R0 ( T MP ) ] (16)

Quando a variável aleatória do tempo até a falha segue uma distribuição de Weibull
X ≈ [ θ , β ], com β > 1, o período entre atividades de MP consecutivas, TMP, pode ser
n
derivado considerando as Expressões (11) e (16). Considere que R 0 ( t ) = [ R 0 ( TMP ) ] e,
n
portanto, ln [ R 0 ( t ) ] = n ln [ R0 ( T MP ) ] . Substituindo (11) e (16), temos que

{ [ ( ) ]}
ln [ R 0 ( t ) ] = n ln exp -
t
θ
30

E finalmente, considerando que t = n T PM, Ruiz et al. (2007) fornece a expressão para
cálculo de TMP como

1
ln R 0 ( t )
T MP [
= -θ
t
β
]
( β - 1)
(17)

Suponha que o tempo até a falha de uma máquina siga o modelo de Weibull
X ≈ [ θ ,β ], onde θ = 1200 e β = 2. O objetivo é determinar o intervalo TMP, para que a
confiabilidade após t = 670 h seja deR ( t ) = 90%. Aplicando a Expressão (17), temos que
T MP = 226,45 horas, que significa que para cada aproximadamente 227 horas, uma atividade
de MP é realizada.
No próximo capítulo, apresenta-se a revisão de literatura do problema flow shop com
bloqueio e de problemas de scheduling com manutenção preventiva.
31

3 REVISÃO DE LITERATURA

Neste capítulo, é apresentada a revisão de literatura para o problema flow shop com
bloqueio e para os problemas de scheduling com manutenção preventiva (MP). O problema
de scheduling com tempos de setup foi amplamente revisado na literatura e surveys podem ser
vistos em Yang e Liao (1999), Cheng et al. (2000), Allahverdi et al. (2008) e Allahverdi
(2015). Por se tratarem de surveys atualizados, para maior conhecimento sobre a literatura
com considerações de setup, o leitor pode pesquisar as referidas publicações.
Este capítulo se subdivide em duas seções principais. Na primeira seção, apresentamos
a revisão de literatura do problema flow shop com diferentes ambientes com bloqueio, com e
sem restrições adicionais e com diferentes funções objetivo. Na segunda seção, apresentamos
problemas de scheduling considerando a ocorrência de MP nas máquinas.

3.1 PROBLEMA FLOW SHOP COM BLOQUEIO

O problema flow shop com bloqueio tem sido estudado desde a década de 70. A
primeira publicação que trata desta situação pode ser vista em Reddi e Ramamoorthy (1972),
onde os autores apresentam que o caso do problema F2|block|Cmax é equivalente ao problema
F2|no-wait|Cmax. Ao longo das últimas décadas, uma tendência notória de estudos tem sido
desenvolvidos envolvendo o problema de buffers intermediários limitados, principalmente, a
concepção de métodos de solução. Hall e Sriskandarajah (1996) apresentam uma revisão de
problemas de scheduling com no-wait e bloqueio cobrindo as publicações de 1960 até 1993.
Desde então, algumas publicações apresentam uma revisão geral do problema de bloqueio,
por exemplo, Lin e Ying (2013); Moslehi e Khorasanian (2013); Ding et al. (2015); Eddaly et
al. (2016) e Han et al. (2016). O objetivo desta seção é apresentar uma visão mais estruturada
e detalhada das publicações encontradas. As publicações foram classificadas em relação às
características do problema, as restrições adicionais e o critério de desempenho adotados. Para
os métodos de solução, além da categorização dos métodos em exatos e em heurísticos,
procurou-se também fornecer um maior detalhamento da estrutura das técnicas encontradas.
32

A busca por publicações iniciou-se a partir dos resultados encontrados em Hall e


Sriskandarajah (1996). No total, 66 artigos foram classificados de acordo com o ambiente de
produção, restrições adicionais, critério de desempenho e a técnica de solução proposta.
Foram encontrados mais de 90 métodos, categorizados em técnicas exatas, heurísticas
construtivas e metaheurísticas. Por se tratar de um problema ainda pouco estudado, pode-se
observar que nos últimos anos houve uma tendência maior de proposição de metaheurísticas,
em especial, para o problema flow shop com bloqueio e m máquinas e minimização da
duração total da programação. Entretanto pode-se também identificar o crescimento de
métodos de solução para o objetivo de desempenho de tempo total de fluxo e atraso total.
Poucos trabalhos abordam o problema flow shop com bloqueio e outras restrições adicionais.

3.1.1 Revisão de acordo com as características do Ambiente de Produção

O ambiente de produção tratado é definido como um flow shop permutatcional sem


estoques intermediários entre as m máquinas. Diferentes configurações envolvendo as
restrições de buffers podem ser vistas na Tabela 1. Em relação aos buffers entre estágios,
Trabelsi et al. (2012) classificam quatro diferentes configurações:
 Sem bloqueio – a capacidade do buffer é considerada ilimitada, ou seja, uma máquina
está imediatamente disponível para executar a próxima operação após o
processamento da tarefa atual. Este se trata do caso clássico do ambiente flow shop
permutacional. Para revisões específicas, pode-se consultar Framinan et al. (2004),
Framinan et al. (2005), Reza Hejazi e Saghafian (2005) e Gupta e Stafford Jr (2006);
 Liberação quando inicia-se o bloqueio (block) – a máquina permanece bloqueada por
uma tarefa até que essa mesma tarefa inicia inicie seu processamento na próxima
máquina, ou seja, não há estoques intermediários entre as máquinas. As publicações
que abordam este ambiente podem ser vistas na Tabela 1 com a notação n / m / block;
 Liberação no término do bloqueio (RCb*) – Uma máquina estará imediatamente
disponível para processar a próxima tarefa depois que sua operação na próxima
máquina em processo seja finalizada, sem respeitar se a tarefa deixa ou não a máquina.
Esse tipo de restrição é visto em linhas de produção onde duas máquinas subsequentes
dependem do mesmo recurso, então não podem processar ao mesmo tempo;
33

 Liberação no término da máquina subsequente (RCb) – a máquina estará disponível


para processar a próxima tarefa depois que a operação da tarefa na máquina
subsequente tenha deixado a máquina. A restrição RCb pode ser vista em indústrias de
tratamento de dejetos e na fabricação de peças aeronáuticas (MARTINEZ et al.,
2006). No processo de fabricação de cidra, uma máquina não pode espremer as maçãs
de diferentes clientes. Primeiro, as maçãs são colocadas em um banho e então
pressionadas para extrair seu suco. Outros pedidos não podem ser colocados no banho
antes que todas as maçãs da primeira tarefa tenham sido espremidas.

Tabela 1- Classificação das publicações de acordo com as características do ambiente de produção


Tipo de Problema Referência
n / m / block Suhami; Mah (1981); Mccormick et al. (1989); Caraffa et al. (2001);

Grabowski; Pempera (2001); Ronconi (2004); Ronconi (2005); Abadi et

al. (2007); Companys; Mateo (2007); Grabowski; Pempera (2007);

Companys et al. (2010); Wang; Pan; Tasgetiren (2010); Wang et al.

(2010); Han et al. (2011); Liang et al. (2011); Ribas et al. (2011); Wang

et al. (2011); Bautista et al. (2012); Davendra et al. (2012); Deng et al.

(2012); Khorasanian; Moslehi (2012); Pan; Wang (2012); Sauer; Sauvey

(2012); Wang; Tang (2012); Wang et al. (2012); Davendra; Bialic-

Davendra (2012); Han et al. (2013); Lin; Ying (2013); Moslehi;

Khorasanian (2013); Pan et al. (2013); Ribas; Companys (2013); Ribas

et al. (2013a); Ribas et al. (2013b); Toumi et al. (2013a); (Toumi et al.,

2013b); (Toumi et al., 2013f) Ding et al. (2015); Han et al. (2015);

Ribas; Companys (2015); Ribas et al. (2015); Sadaqa; Moraga (2015);

Eddaly et al. (2016); Guanlong et al. (2016); Han et al. (2016);

Tasgetiren et al. (2016); Tasgetiren et al. (2017).


n / m / block / d i Armentano; Ronconi (2000); Ronconi; Armentano (2001); Ronconi;

Henriques (2009); Ribas et al. (2013a); (Toumi et al., 2013c), (Toumi et

al., 2013d); (Toumi et al., 2013e).


n /2/ block / α pij Lee et al. (2010).
n / m / mix ( Wb,block,RCb*,RCb
Trabelsi et ) al. (2012).
n / 2 / no-wait, block, batchGong
/ s i , ket al. (2010).
n / 2 / block, batch / r j Chen et al. (2014).
n / m / b j, j +1 Nowicki (1999); Li; Tang (2005); Wang et al. (2006); Liu et al. (2008);

Pan et al. (2011); Pan et al. (2011).


n / m / no - wait, block Grabowski; Pempera (2000).
n / m / no - wait , block , b j , j+1
Liu; Kozan (2009).
34

Fonte: Autor, 2017.

Grabowski e Pempera (2000) estudam uma fábrica que produz blocos de concreto. O
processo produtivo consiste de oito operações: a) preparação dos componentes; b)
composição dos componentes e preenchimento dos moldes; c) primeiro endurecimento do
concreto no molde; d) corte dos blocos a partir do concreto formado; e) controle de qualidade;
f) endurecimento final dos blocos sob alta temperatura e alta pressão; g) carregamento dos
blocos para o depósito e; h) transporte dos blocos para os clientes. O ambiente é considerado
um flow shop permutacional. Por causa da tecnologia empregada em cada estágio b), c) e d)
são considerados processos no-wait e devido as características do processo, os blocos não
podem ser armazenados entre os estágios f) e g), configurando o problema bloqueio.
Liu e Kozan (2009) tratam da ocorrência de diferentes restrições em um flow shop
com máquinas. Os autores adotam no-wait, bloqueio, buffers limitados e buffers ilimitados
como condições para cada estágio do flow shop.
Gong et al. (2010) apresentam o problema de scheduling em uma indústria de ferro e
aço. Encharque e laminação são duas operações chaves na produção de ferro e pode ser visto
como um flow shop com dois estágios. Os autores consideram a operação de encharque
composta por uma máquina que processa em lote e a laminação como segundo estágio
composto por máquina única. As tarefas não podem esperar enquanto a segunda máquina está
ocupada; nesse caso, devem permanecer na primeira máquina, bloqueando novas operações.
Outra ocorrência de bloqueio pode ser encontrada em Chen et al. (2014), que
consideram um flow shop de duas máquinas que processam tarefas em lotes. A aplicação
prática do problema é encontrada em um ambiente de manufatura de eletrônicos que montam
e testam placas de circuito impressos (PCIs) para consumidores de produtos eletrônicos. Após
a montagem, os PCIs são sujeitos a uma sequência de testes em duas câmaras de tensão: A
primeira câmara é usada para testar os PCIs a vibração e a segunda câmara é usada para testar
os PCIs a temperaturas extremas. Os PCIs podem ser agrupados em lotes e todos os lotes são
processados na mesma ordem. Devido a exigências tecnológicas, os lotes não podem esperar
entre as duas câmaras. Logo, um lote bloqueia a primeira câmara se a segunda está ocupada.

3.1.2 Revisão de acordo com as restrições das tarefas


35

Nesta seção, classificamos as publicações de acordo com as restrições de tarefas. Lee


et al. (2010) consideram um ambiente flow shop com duas máquinas com bloqueio e a
restrição de deterioração de tarefas (Definido como α p ij na Tabela 1). Neste problema, o tempo
de processamento da tarefa é modelado de acordo com uma função não-linear, uma vez que o
tempo de processamento de uma tarefa pode variar de acordo com o tempo. Gupta e Gupta
(1988) dão um exemplo deste problema em laminadoras de ferro onde a temperatura de um
lingote esfria enquanto espera por outra máquina laminadora, exigindo que o lingote seja
reaquecido antes de ser laminado novamente. Outros exemplos podem ser vistos em Browne e
Yechiali (1990) e Rachaniotis e Pappis (2006).
As restrições em relação a datas de entrega podem ser vistas em Armentano e Ronconi
(1999); Armentano e Ronconi (2000); Ronconi e Armentano (2001); Ronconi e Henriques
(2009); Ribas et al. (2013a). Chen et al. (2014) incorporam datas de liberação (ri).
Gong et al. (2010) definem tempos de setup compartilhados não antecipatórios e
fixos, ou seja, independente da sequência (s i ,k ), que ocorrem a cada vez antes da primeira
tarefa de um novo lote de tarefas ser processado. Outras tarefas de mesmo lote compartilham
este setup, não tendo a necessidade de repeti-lo.

3.1.3 Revisão de acordo com a função-objetivo

Nesta seção, classificamos as publicações de acordo com o critério de desempenho


adotado. Na Tabela 2 resultados dessa classificação são apresentados.

Tabela 2 - Classificação das publicações de acordo com a função-objetivo (Continua...)


Objetiv Problema Referência
o
Cmax n / m / blockSuhami; Mah (1981); Caraffa et al. (2001); Grabowski; Pempera (2001);
Ronconi (2004); Ronconi (2005); Companys; Mateo (2007); Grabowski;

Pempera (2007); Liu et al. (2008); Companys et al. (2010); Wang et al.

(2010); Han et al. (2011); Han et al. (2012); Liang et al. (2011); Pan et al.

(2011a); Pan et al. (2011b); Ribas et al. (2011); Wang et al. (2011);

Bautista et al. (2012); Davendra et al. (2012); Pan; Wang (2012); Sauer;

Sauvey (2012); Wang; Tang (2012); Wang et al. (2012); Davendra;


36

Bialic-Davendra (2012); Lin; Ying (2013); Pan et al. (2013); Ribas;

Companys (2013); Ribas et al. (2013b); Ding et al. (2015); Han et al.

(2015); Sadaqa; Moraga (2015); Eddaly et al. (2016); Han et al. (2016);

Li; Tang (2005); Tasgetiren et al. (2017).

(Conclusão.)
Objetivo Problema Referência
n / m / block , b j , j+1 Nowicki (1999); Li; Tang (2005); Wang et

al. (2006); Liu et al. (2008); Pan et al.

(2011); Pan et al. (2011).


Cmax n / m / no - wait, block Grabowski; Pempera (2000).
n /2/ block / α p ij Lee et al. (2010).
n / m / mix ( Wb,block,RCb*,RCb Trabelsi) et al. (2012).
n / 2 / no-wait, block, batch Gong / sst et al. (2010).
n / 2 / block, batch / r j Chen et al. (2014).
n / m / no - wait , block , b j , j+1Liu; Kozan (2009).
∑ Ci n / m / block Wang et al. (2010); Deng et al. (2012);
i
Khorasanian; Moslehi (2012); Han et al.

(2013); Moslehi; Khorasanian (2013);

Moslehi; Khorasanian (2013); Toumi et al.

(2013a); Toumi et al. (2013b); Toumi et al.

(2013f); Ribas; Companys (2015); Ribas et

al. (2015); Fernandez-Viagas et al. (2016);

Tasgetiren et al. (2016).


∑ Ti n / m / block / di Armentano; Ronconi (1999); Armentano;
i
Ronconi (2000); Ronconi; Armentano

(2001); Ronconi; Henriques (2009); Ribas

et al. (2013); Toumi et al. (2013c), Toumi

et al. (2013d); Toumi et al., (2013e).


CC n / m / block Mccormick et al. (1989); Abadi et al.

(2007).
λ Cmax + (1- λ ) ∑ wni / 2 / no-wait, block, batch Gong
, sst et al. (2010).
i

Cmax + ∑ Ci n / m / block Guanlong et al. (2016).


i
Fonte: Autor, 2017.

Os seguintes critérios foram encontrados nas publicações revisadas:


 Makespan ou duração total da programação (Cmax);
37

 Tempo total de fluxo (∑ Ci );


i

 Atraso total (∑ Ti );
i

 Tempo de ciclo (CC);


 Soma da duração total da programação e do tempo de ociosidade (

λ Cmax + (1 - λ ) ∑ w i ) – o tempo de ociosidade da máquina corresponde aos espaços


i

de tempo em que a máquina não processa tarefas. Esta ociosidade pode ocorrer porque
a máquina espera por processamento porque a máquina anterior ainda não finalizou a
tarefa ou devido a condição de bloqueio;
 Função bicritério da duração total da programação e do tempo total de fluxo (Cmax +

∑ Ci).
i

Pode-se observar pela Tabela 2 que a maior parte de publicações se dedica ao


problema de minimização da duração total da programação (Cmax). Este é um critério
orientado para a empresa, uma vez que o objetivo é maximizar a utilização das máquinas. Já o

tempo total de fluxo (∑ Ci ) e o atraso total (∑ Ti ) são critérios orientados para maximizar a
i i

satisfação dos clientes, uma vez que o objetivo é minimizar os tempos de espera das tarefas
entre as máquinas para entregar a tarefa o mais cedo possível (TASGETIREN et al., 2016).
A adoção de funções-objetivo multicritério, como visto em Gong et al. (2010) e
Guanlong et al. (2016), lidam com a decisão de encontrar o melhor trade-off entre os critérios
de desempenho adotados. Neste sentido, pode-se estabelecer um coeficiente de ponderação
para avaliar o impacto de cada critério de desempenho na função objetivo, como em Gong et
al. (2010). Outra forma de avaliar a qualidade da solução multicritério é adotar a abordagem
da curva de Pareto para encontrar a melhor solução que leva em conta a minimização
simultânea dos critérios de desempenho, como em Guanlong et al. (2016).

3.1.4 Classificação de acordo com a técnica de solução


38

Nesta seção classificamos os métodos de solução propostos nas publicações


encontradas. O problemaF2|block|Cmax, segundo Reddi e Ramamoorthy (1972) pode ser
resolvido em O(n log n) por meio do algoritmo de Gilmore e Gomory (1964). Já para o caso
m > 2, o problema foi provado ser NP-Difícil (RÖCK, 1984; HALL; SRISKANDARAJAH,
1996; MARTINEZ et al., 2006; FERNANDEZ-VIAGAS et al., 2016).
As seções a seguir apresentam as publicações encontradas que tratam da proposição de
métodos exatos e métodos heurísticos construtivos e melhorativos para diversos problemas
encontrados com a adição da hipótese de bloqueio.

3.1.5 Métodos Exatos

Nesta seção, serão detalhadas as técnicas exatas aplicadas aos problemas envolvendo a
adição de bloqueio. As técnicas exatas utilizadas nas publicações encontradas foram os
métodos Branch & Bound (B&B) e Programação Dinâmica (DP). Na Tabela 3 apresentam-se
as publicações encontradas que adotaram uma das duas abordagens de solução.

Tabela 3 - Técnicas exatas para o problema flow shop com bloqueio


Problema Método Referência
F m|block|Cmax Branch & Bound Suhami; Mah (1981); Ronconi (2005); Companys;

Mateo (2007)
Bounded Dynamic Bautista et al. (2012)
Programming
F2|block , α pi , j|CmaxBranch & Bound Lee et al. (2010)
F m|block|∑ Ci Branch & Bound Moslehi; Khorasanian (2013); Toumi et al. (2013a);
i
(Toumi et al., 2013b); (Toumi et al., 2013f)
F m|block|∑ Ti Branch & Bound Ronconi; Armentano (2001); (Toumi et al., 2013c),
i
(Toumi et al., 2013d); (Toumi et al., 2013e)
Fonte: Autor, 2017.

Pela visão da programação dinâmica apresentada por Bautista et al. (2012), um


problema de scheduling pode ser definido por um grafo sem loops e ciclos diretivos com T +
1 estágios. No estágio 0, há apenas um vértice J(0). O conjunto de vértices no estágio t (
t = 0, ... , T) pode ser denotado como J(t), e estão associados às sequencias parciais de t
39

tarefas. Seja J ( t , j ) ( j = 1 , ... , | J ( t )|) um vértice j do nível t, que é representado pela

tríade ( q⃗ ( t , j ) , ⃗e ( t , j ) , Cmax ( t , j ) ), onde:

 q⃗ ( t , j ) = ( q1 ( t , j ) ,…, q n ( t , j ) ) é o vetor de tarefas programadas (ou não) no j-ésimo

vértice do estágio t, onde q i ( t , j ) , ∀ i ∈ I ( i = 1, … , n ) é o i-ésimo componente do


vetor q⃗ ( t , j ) que toma o valor 1 se a tarefa i é finalizada, e o valor 0, caso contrário;
 e⃗ ( t , j ) = ( e1 ( t , j ) , … , e m ( t , j ) ) é o vetor de instante de término da última tarefa
programada em cada máquina;
 Cmax ( t , j ) é o instante de término da última tarefa programada no vértice j do estágio t.

O vértice J ( t , j ) tem as seguintes propriedades:


n

∑ qi ( t , j ) = t
i =1

q i ( t , j ) ∈ {0,1 } ∀ i
Cmax ( t , j ) = e m ( t , j )

Em resumo, o vértice J ( t , j ) é representado porJ ( t , j ) = { ( t, j ) , q⃗ ( t , j ) , ⃗e ( t , j ) }.


No intuito de reduzir o número de vértices durante a aplicação do Bounded Dynamic
Programming, Bautista et al. (2012) propõem uma adaptação dos limitantes inferiores
propostos por Lageweg et al. (1978). Assume-se a construção de um caminho a partir de J(0)
até o vértice J(t,j), e também as informações q⃗ ( t , j ) e e⃗ ( t , j ). Para completar a sequência até o
estágio T, precisamos ligar J(t,j) com T – t vértices, associando cada um deles com as tarefas
ainda não programadas. Sob essas condições, Bautista et al. (2012) delimitam Cmax do vértice
J(t,j) por meio do limitante LB1, se focado nas máquinas, como

k ∈K
{
LB 1 ( t , j ) = max e k ( t , j ) + ∑
i ∈I:
qi ( t , j ) =0
p i ,k + min
i ∈I : { ∑ }}
qi ( t , j ) =0
'
k = k +1
pi , k '
(18
)

Sendo assim, os critérios de corte de vértices são determinados pela regra de


dominância, igualdade e também pelo limitante inferior. A seleção dos vértices que restam é
determinada de acordo com o modelo de programação dinâmica adotado pelo autor. A
variante 1(2) estabelece a ordem de seleção dos vértices de acordo com a ordenação não
40

crescente de LB1 (Cmax parcial), e como critério de desempate, a ordem não crescente de Cmax
parcial (LB1). O algoritmo termina quando a solução ótima é encontrada.
A aplicação da técnica branch & bound envolve a seleção de quatro aspectos:
Definição dos nós, regra de ramificação, formas de eliminar o nó e o critério de parada. A
Tabela 4 sumariza a estrutura dos métodos encontrados.

Tabela 4 - Estrutura básica das técnicas exatas encontradas (continua...)


Critério de
Referência Solução Inicial Seleção Eliminação
Parada
Busca em
Suhami; Mah Mínimo limitante Limitante Até atingir
profundidade +
(1981) inferior da média Inferior solução ótima
Backtracking

(Conclusão.)
Critério de
Referência Solução Inicial Seleção Eliminação
Parada
Busca em
Ronconi Limitante Tempo de
NEH (1983) profundidade +
(2005) Inferior execução
Backtracking
Limitante
Companys; Inferior Tempo de
NEH+ (2007) Regra adaptativa
Mateo (2007) Regra de execução
dominância
Busca em Máximo numero
Lee et al. Limitante
- profundidade + de nós ou tempo
(2010) Inferior
Backtracking de execução
Limitante
Programação Ordem
Bautista et al. Inferior Até atingir
Dinâmica Limitada decrescente de
(2012) Regra de solução ótima
com janela pequena LB1 ou de Cmax
dominância
Busca em
Toumi et al. Limitante Até atingir
- profundidade +
(2013a) Inferior solução ótima
Backtracking
Busca em
Toumi et al., Limitante Até atingir
- profundidade +
(2013b) Inferior solução ótima
Backtracking
Busca em
Toumi et al., Limitante Até atingir
- profundidade +
(2013c) Inferior solução ótima
Backtracking
Toumi et al., - Busca em Limitante Até atingir
41

profundidade +
(2013d) Inferior solução ótima
Backtracking
Busca em
Toumi et al., Limitante Até atingir
- profundidade +
(2013e) Inferior solução ótima
Backtracking
Busca em
Toumi et al., Limitante Até atingir
- profundidade +
(2013f) Inferior solução ótima
Backtracking
Fonte: Autor, 2017.

Para todas as publicações encontradas de branch & bound, em um determinado nível


PS, um nó corresponde a um subproblema, que é definido por uma sequência parcial de
tarefas já programadas nas PS primeiras posições. A ramificação do nó PS para o nó PS + 1
representa a adição da tarefa Ji na posição (PS + 1) tal que J i ∈ NPS, onde NPS representa o
número de tarefas não programadas, ou seja, um ou mais nós são gerados adicionando uma ou
mais tarefas na última posição da sequência parcial associada com o nó ramificado.
A seleção de qual nó ramificar é definida pelas regras de ramificação. Como pode ser
visto na Tabela 4, a maior parte dos autores adotam a busca em profundidade com
backtracking, onde o nó com mais tarefas na sequencia parcial é selecionado para ser
ramificado. Em caso de empates, o algoritmo seleciona o nó que apresenta o menor limitante
inferior. Na regra adaptativa apresentada por Companys e Mateo (2007), o número de nós
ativos N é considerado para selecionar o nó que será ramificado. Dois números inteiros N0 e
N1 são previamente fixados (0 < N0 < N1). Se 0 < N < N0, então o nó ativo com o menor
limitante inferior no nível menor nível é selecionado; se N 0 ≤ N < N 1 , então um nó ativo
com o menor limitante inferior é selecionado, e escolhe-se o nó no nível mais alto como regra
de desempate; Se N1 ≤ N , então o nó no nível mais alto é selecionado e escolhe-se o nó com
menor limitante inferior como desempate.
Em relação a eliminação de nós, um nó pode ser eliminado se seu limitante inferior é
maior que um limitante superior, que pode ser representado pela atual melhor solução do
problema e também por meio de regras de dominância.
Suhami e Mah (1981) apresentam para o problema de minimização de Cmax um
limitante inferior da média e um limitante superior do desvio padrão para uma sequência
ainda não conhecida. As formulações podem ser vistas em Suhami e Mah (1981).
A eliminação de nós é baseada em um argumento heurístico modelado após uma
inequação estatística. Isto é, quando um ramo é podado, temos somente 100 × ( 1 - α ) % de
confiança de que nenhum dos instantes de termino daquela sequencia parcial irá trazer uma
42

melhor solução. O limitante inferior probabilístico foi previamente usado por Graves e
Whinston (1970) que desenvolveram um algoritmo para o problema de designação quadrática.
Esse argumento encontra sua premissa na inequação estatística, que afirma que se μ e σ são,
respectivamente, a média e o desvio padrão da distribuição da variável aleatória X, então

1
P { x ≤ μ - rσ } ≤ = α , r > 0.
r2

Os autores adotamT ( π n , M| π i ) como a variável aleatória que representa Cmax resultante

da sequência dada a sequencia π i com i tarefas sequenciadas. Seμ = E {T ( π n , M| π i ) } e

σ2 = V { T ( π n , M|π i ) }, então:

LB ( π i ) = μ – rσ

pode ser utilizado como um limitante inferior. Se A é o valor do mínimo Cmax e seLB ( π i ) ≥ A
, então todos os instantes de término, tendo os k primeiro elementos fixos podem ser
eliminados com 100 α % de risco ( α = 1/r 2 ). Uma vez que a probabilidade de que a variável

aleatóriaT ( π n , M| π i ) é de um valor menor que o limitante inferiorLB ( π i ),T ( π n , M| π i ) é menor


ou igual aα = 1/r 2. Escolhendo-se cuidadosamente o valor de r, essa abordagem oferece a
vantagem de um corte mais poderoso que os limitantes inferiores determinísticos com zero
risco de perder o verdadeiro mínimo. Entretanto, a estimação de μ e σ exige a enumeração de
todas as soluções possíveis. Uma forma de estimar μ e σ, sem que todas as soluções precisem
ser exploradas, pode ser por amostragem, que neste caso representa um limitante inferior μ '

em μ e um limitante superior σ' em σ da variável aleatóriaT ( π n , M| π i ). Um novo limitante


inferior para a função objetivo pode ser definida como

(19
LB ( π i ) = μ' - c σ'
)

Onde c é um coeficiente constante que é mantido durante a busca. Formas de como calcular μ '
e σ' podem ser vistas em Suhami e Mah (1981).

Para o problema F m|block|∑ Ti , Ronconi e Armentano (2001) fornecem um limitante


i

inferior para o critério de desempenho computando o limitante para o instante de partida da


43

última tarefa na máquina m. O limitante para o instante de partida da última tarefa do conjunto
NPS da máquina k (LD k ) é dado por:

(20
LD k = max ( LD q , LDq ) 1 2
)

Onde:

k |NPS|
1
LD q =
1
∑ pq + max 1≤ q ≤k -1 g =2
∑ max( p gq , pgq +1 )
q =1

k |NPS|-1
LD q = 2
∑ p1q + ∑ max ( pgk , pgk +1 )
q =1 g =1

pgm +1 = 0 para g = 1 , … , |NPS|- 1.

Onde
pgk – o g-ésimo menor tempo de processamento na máquina k entre todas as tarefas de NPS.

O limitante inferior do instante de partida da última tarefa em NPS a partir de cada


máquina é usado para calcular o limitante inferior do instante de término de cada tarefa do
conjunto de tarefas programadas da seguinte forma:

D i , 0 = LD1 i = |NPS|+1 (21)


Di ,0 = max( Di ,k -1 + p i , k , LD k +1 ) i = |NPS|+1, k = 1, …, m - 1 (22)
D i ,0 = D i -1,1 i = |NPS| + 2, … , n (23)
Di ,0 = max( Di ,k -1 + p i , k , Di -1, k +1 ) i = |NPS| + 2, … , n, k =1, …, m - 1 (24)
D i , m = D i ,m -1 + pi , m i = |NPS| + 1, …, n (25)

O limitante inferior do instante de partida de cada tarefa do conjunto de tarefas


programadas a partir da máquina m fornece o limitante inferior do atraso de tais tarefas. Por
fim, o limitante inferior da sequência parcial é dado pela soma dos dois limitantes inferiores.
Para uma sequência de tarefas ainda não programadas, Ronconi (2005) propõe um
limitante inferior para o problema de minimização da duração total da programação. O
limitante inferior é definido como:
44

| NPS| m (26
1≤ k ≤ m {
LB 2 = max D|PS|,k + ∑
g =1
max ( a gk , bgk +1 ) + ∑
q =k +1
p min q } )

onde
D|PS|,k é o instante de partida da tarefa PS na máquina k;
pmin é o menor tempo de processamento na máquina k entre todas as tarefas em NPS;
q

g
a representa o g-ésimo menor tempo de processamento da máquina k entre todas as tarefas
k

em NPS;
bgk +1 representa o g-ésimo menor valor entre D|PS|,k +1−D|PS|,k e o tempo de processamento das

tarefas em NPS na máquina k + 1 sem pmin ; k +1

g
bm +1 = 0 para todo g ∈ NPS.

Companys e Mateo (2007) estabelecem a eliminação do nó pai quando todos os


sucessores imediatos viáveis são gerados, quando o limitante inferior de um nó é maior ou
igual a melhor solução corrente e também por meio de regras de dominância. O limitante
inferior, inspirado no limitante de duas máquinas (1 ≤ j ≤ k ≤ m ) de Lageweg et al.
(1978), consiste de 3 termos:
a) O instante f PS, j ( π ) na qual a máquina j é liberada pelas tarefas da sequência parcial
inicial π;
b) O limitante para o tempo gasto pela última tarefa de NPS após deixar a máquina k;
c) O limitante para Cmax do subproblema definido, com todas as tarefas de NPS entre as
máquinas j e k, ambas inclusas.

No caso de b), para cada máquina j, os valores de pi,j para i ∈ NPS são considerados

s
em ordem decrescente e denominados como ṕs , j com s = 1, 2, …, n - PS e ṕs , j = ∑ ṕ t , j. Um
t =1

limitante inferior, BT j ( π ), do instante de bloqueio na máquina j, produzida pelos tempos de


processamentos das tarefas em NPS pode ser calculado como segue:

bt s = bts -1 + max {0 ; D π( PS+ s ), j - ( D π( PS ), j + ṕs , j + bt s-1 ) } para s = 1, 2, … , u com bt 0 = 0

BT j ( π ) = bt u , ondeu = min { n - NPS , m - j }


45

Se k = j, o termo c) é definido como ∑ pi , j + BTj ( π ). Se k = j + 1, a distância do


i ∈ J́

Problema do Caixeiro Viajante (TSP) associado é baseado nos tempos de processamento nas
máquinas j e j – 1 realacionadas as tarefas do conjunto NPS. Sumplementarmente a cidade 0
recebe os seguintes tempos de processamentos fictícios:

p1,0 = 0
p2,0 = f r , j+1 ( σ ) - f r, j ( σ )

E se k > j + 1, o termo c) pode ser obtido por meio de uma relaxação do subproblema. Os
autores utilizam o problema F2|l i , prmu|Cmax como relaxação.
Lee et al. (2010) propõem dois limitantes inferiores e 10 propriedades utilizadas como
regras de dominância para o problema F2|block , α pij|Cmax . Os autores estabelecem o primeiro
limitante inferior como:

NPS
PS +1 PS - i +1
LB 1 = (1+ λ ) B+ ∑ ( 1+ λ ) p( PS+ i) ,1 + p (PS +1 ),2
i =1

onde
λ – taxa de deterioração;
B - Instante de início da última tarefa da sequencia na segunda máquina.

Um segundo limitante é proposto pelos autores:

NPS
NPS +1 NPS NPS -i
LB 2 = ( 1+ λ ) B + (1+ λ ) p[ PS ] ,2 + ∑ ( 1+ λ ) p [PS +i ],2
i =1

Por fim, para manter o limitante inferior mais apertado, os autores estabelecem:

(27
LB = max ( LB 1 , LB 2 )
)
46

Utilizando o lema de Ronconi e Armentano (2001), Toumi et al. (2013a) propõem um


limitante inferior que utiliza os instantes de término de partida mais cedo para o problema
F m|block|∑ Ci . Dada uma sequência parcial π com PS tarefas programadas, podemos definir,
para cada máquina, o seguinte limitante inferior para o conjunto de tarefas não programadas:

n i
LB 2 ( k ) = ∑
i =PS +1
{
max Dπ[ PS], k + ∑
l = PS+1
max {a [ l ] ,k , b[ l ] ,k +1 } ; D }
^ i -1, k +1 + ∑
j ∈NPS
r mj ,k +1

Onde
a [ l ] ,k = {p [ 1] , k , p [ 2] ,k , …, p[ n ] , k } e b[ l ] ,k +1 corresponde o l–ésimo menor valor entre o valor

( Dπ(PS ), k +1 - Dπ(PS ), k ) e os tempos de processamentos das tarefas em NPS na máquina k + 1;


^ i , k é o tempo de partida mais cedo da tarefa sequenciada na posição i na máquina k;
D
k

r kj ,k ' =
{
h=k'
∑ pj , h se 1 ≤ k ' ≤ k ≤ m ∀ j ∈ NPS
0, caso contrário
é a soma dos tempos de processamento

parciais da tarefa j ∈ NPS entre as máquinas adjacentes k’ e k.


Por fim, o limitante inferior pode ser dado por

PS (28
LB 2 = ∑ Ci + max { LB2 ( k ) }
i =1 1≤ k ≤m )

Posteriormente, Toumi et al. (2013b) e Toumi et al. (2013f) propuseram um novo


limitante inferior que melhora LB 2, proposto por. Seja Ei , j , k o instante de partida mais cedo de
uma tarefa j, assumindo que essa tarefa seja programada na posição i > PS na máquina k. Ei , j , k
pode ser computada por meio da seguinte expressão recursiva:

^ i -1, j ,1
Ei , j ,0 = D
~
Ei , j , k = max \{ Ei , k -1 + p j, k , Di , k , Ei -1,k +1 \} ∀ 1 ≤ k ≤ m , PS +1 ≤ i ≤ n

~ ^ i -1,k +1 \} e Ei , k = min \{ Ei , j, k \} é o instante de partida mais cedo


^ i,k ; D
Sendo Di , k = max \{ D j

de qualquer tarefa j ∈ NPS na posição i.


47

Podemos então calcular o limitante inferior para cada máquina, utilizando Ei , j , k pela
seguinte expressão:

n
(29
LB 3 ( k ) = ∑ Ei ,k + ∑ r j m, k +1
i =PS +1 j∈NPS )
k = 1, 2, … , m
Onde b[ i ] ,m +1 = 0, ∀ i = 1, 2, …, n .

Por fim, o limitante do tempo total de fluxo no nó PS na máquina k pode ser


melhorado por:

PS
(30
LB 3 = ∑ Ci + max { LB3 ( k ) }
i =1 1≤ k ≤m )

Para o problema de minimização do tempo total de fluxo ponderado, Toumi et al.


(2013b) propõem um modelo de designação linear relaxado baseado em uma subestimação do
instante de término ao designar uma tarefa para uma dada posição na programação:

n
min ∑ ∑ w j E i , j, m x i , j
j∈ σ́ s i= s +1

SA: ∑ xi, j = 1 para i = s + 1, … , n


j ∈ σ́s

∑ xi , j = 1 para j ∈ σ́s
i = s+1

x i , j ∈ {0,1 } para j ∈ σ́s e i = s + 1, … , n .

x i , j = 1, se a tarefa j é programada na posição i


{ 0, caso contrário

Para o problema F m|block|∑ Ti , Toumi et al. (2013c), Toumi et al. (2013d) e Toumi
i

et al. (2013e) propõem um limitante inferior composto pelo atraso total da sequência parcial
~
programada e pelo atraso total de NPS. Os autores definem T i ,k como o limitante inferior do
atraso da tarefa associada a posição i > PS de NPS, que pode ser obtido por:
48

i
(31
~
( {
T i ,k = max DPS ,k + ∑
h = PS+1
max {a [ h ] , k , b[ h -1 ] , k +1 }- f [ i ] ,k
+
}) )
k = 1, 2, ..., m, i = PS + 1, ...., n, b[ i ] ,m +1 = 0 ∀ i = 1,2,… , n

m
Onde f [ i ] , k = d [ i ] - r i , k

Toumi et al. (2013d) também propõem um segundo limitante inferior para o problema

F m|block|∑ Ti . Seja T
^ ij, k = ( Ek , i , j - f i ,k )+ onde T
^ ij, k é o limitante inferior do atraso da tarefa k
i

se for designada para a posição i e f i , j = d i - r mi , k, sendo d i a data de entrega da tarefa que ocupa
a posição i. Então
^ i , k = max
T
k =1,2,…, m
{ T^ ij, k }

é um limitante inferior do atraso da tarefa k se for designada para a posição i.


Os autores deduzem que

T
^ i = min { T
^i, k}
j ∈NPS

é um limitante inferior para qualquer tarefa designada para a posição i. Então a seguinte
expressão é um limitante para o atraso total:

n - PS (32
LB = ∑ T i ( PS ) + ∑ T^ i
i i =1 )

Para o problema F m|block|∑ w i Ti , Toumi et al. (2013e) estabelecem um limitante


utilizando uma relaxação da designação linear baseada em uma subestimação do atraso de se
designar uma tarefa em uma dada posição na sequência.

n
min ∑ ∑ ^ i, k xi, j
wjT
j∈NPS i = PS+1

SA: ∑ x i , j =1 para i = s +1 , … , n
j ∈NPS
49

∑ x i , j =1 para j ∈ NPS
i = PS+1

x i , j ∈ {0,1 } para j ∈ NPS e i = PS +1 , … , n .

x i , j = 1, se a tarefa j é programada na posição i


{ 0, caso contrário

Para o problema F m|block|∑ Ci , Moslehi e Khorasanian (2013) propõem três


limitantes inferiores. O primeiro limitante denominado LB, é definido pela seguinte
expressão:

t - PS (33
ED LB
t , j = D PS, j + ∑ ( pNPS
[ i ] , j ,Q t , j +1 )
i = PS +1 )
j = 1, ... , m – 1, t = PS + 1, … , n

Onde
ED LB
t , m é uma subestimação do instante de partida da t-ésima tarefa em uma sequência

completa, que inicia com a sequência parcial PS, a partir da máquina i, usada para calcular o
limitante inferior LB, i = 1, ..., m e t = PS + 1, ... , n.
pNPS p
[r ], k é o i-ésimo menor valor i , k para i ∈ NPS, i = 1, ..., m e r = 1, ... , n - PS.

Q - Q t ,v = ( Q t , v (1),…,Qt , v ( t - PS) ), v = 2, ..., m, t = PS + 1, ..., n, é uma sequência com


ordenação não crescente dos valores do conjunto USQ t , v :

{ DPS , v - DPS , v -1 } , t = s +1
USQ t , v =
{{ NPS
{ DPS ,v - DPS, v -1 } ∪ { p[ r ] , j|1 ≤ r ≤ t - s - 1 }} , s +2≤ t ≤ n
(34)

O segundo limitante inferior proposto (ILB1) por Moslehi e Khorasanian (2013) é uma
versão melhorada de LB. ILB1 inicialmente considera ED ILB1 LB
t , m = ED t , m , t = PS + 1, ..., n e

ED ILB1 LB ILB1
PS +1, j = EDPS +1, j , j = 1, ..., m – 1. Então, os valores para ED t , j , i = 1, ..., m – 1, t = PS +

2, ..., n, são calculados para i = m – 1 até i = 1, usando:

(35
ED ILB1 ILB1 LB
t , j = max ( ED t -1, j +1 , EDt , j ) , t = s + 2, … , n
)
50

O último limitante inferior ILB2 é uma versão melhorada de ILB1 utilizando a ideia de
Chung et al. (2002). A melhoria é baseada na relação que existe entre os instantes de partida
da t-ésima tarefa, t ∈ { s +1, … , n } a partir da máquina j, j ∈ {2,…, m } e a máquina y, y =

1, ..., i – 1. Inicialmente ED ILB2 ILB 1


t ,1 = EDt ,1 , t = PS + 1, ..., n. No próximo estágio, ILB2 calcula

os valores de ED ILB2
t ,1 , i = 2, ... , m, t = PS + 1, ..., n, respectivamente, usando:

(36
EDILB 2 ILB1
ED ILB2 NPS
t , j = max ED t , j , ma
( x { t , y + q min , y +1, i }) , t = s + 2, … , n
1≤ y ≤ i -1
)

onde
q NPS q
min , e, f é o menor valor de k , e, f para k ∈ NPS, e = 1, ... , m, f = e, ..., m

q k , e, f é a soma dos tempos de processamento da tarefa k na máquina e até a máquina f, k =


1, ... , n, e = 1, ... , m, f = e, ..., m.

Para todos os três limitantes inferiores propostos, Moslehi e Khorasanian (2013)


definem o valor do limitante como:

LB – X = max { LB - X } (37)
1≤ j< m

Onde LB - X é um dos limitantes propostos.

Em relação à regra de dominância, o seguinte lema sustenta os procedimentos


desenvolvidos por Moslehi e Khorasanian (2013):

Lema 2: S2 domina S1, se:

∑ C( S 1) - ∑ C( S2)≥( n - s ) max ( D PS , j ( S1) - D PS , j ( S2) )


1≤j ≤ m

Para evitar cortes prematuros que levam a eliminação da solução ótima, os autores
também propõem a seguinte definição:
Definição 1: A sequencia parcial S1 é alfabeticamente menor que a sequencia parcial S 2 se a
tarefa que ocupam a primeira posição (comparada a S 2) é menor que a tarefa que ocupa a
51

mesma posição em S 2. Essa relação é representada por A(S1) < A(S2). Por exemplo, S1 = (2,
3, 5) é alfabeticamente menor que S2 = (2, 4, 3).

Os autores propõem os seguintes procedimentos em relação a duas sequencias S1 e S2:


Procedimento 1 – gere S2 trocando de posição as duas últimas tarefas de S1. Se A(S1) <
A(S2), e se S2 domina S1 baseado no lema 2, então elimine S1.
Procedimento 2 – Ordene as tarefas de S1 de acordo com a ordem crescente de suas posições
na solução do limitante superior para o B&B. Se A(S1) < A(S2) e se S2 domina S1 baseado no
Lemma 2, então elimine S1.
Procedimento 3 – Gere S2 removendo a primeira tarefa de S1 e insira na melhor posição
dessa sequencia parcial. Se A(S1) < A(S2) e se S2 domina S1 baseado no lema 2, então
elimine S1, caso contrário, repita esse processo até que todas as tarefas de S1 sejam
reinseridas.

De acordo com resultados experimentais, os autores adotaram ILB1 e o procedimento


2 para compor o algoritmo.

3.1.6 Heurísticas Construtivas

Como já pontuado no Capítulo 2, as heurísticas construtivas podem ser classificadas


em simples e compostas e podem ser constituídas de até três fases (FRAMINAN et al., 2004,
2005): Desenvolvimento de um índice; Construção da Solução e Melhoria da solução.
Na Tabela 5 apresentam-se as heurísticas construtivas encontradas.

Tabela 5 - Relação de heurísticas construtiva para cada problema encontrado


Problema Heurística Acrônimo Referência
F m|block|CC Profile Fitting PF Mccormick et al.

(1989)
Sequential Slowing Down; SSD; PSD Abadi et al. (2007)
Parallel Slowing Down
52

F m|block|Cmax MinMax; Minmax MM; MME; PFE Ronconi (2004)


Enumeration; Profile Fitting
Enumeration.
NME2; TRE2; Companys et al.
PO2; PLE2
(2010)
MinMax for blocking time MM-B Han et al. (2012)
wPF; PW; wPF- Pan; Wang (2012)
NEH; PF-NEH;
PW-NEH; wPF-
NEHLS; PF-
NEHLS; PW-
NEHLS
mNEH Wang et al. (2012)
PF+NEH Pan et al. (2013)
Modified NEH m-NEH Ding et al. (2015)
tPF; tPF-NEH(x); Tasgetiren et al.
PFT;
(2016)
PFT_NEH(x)
F m|Wb,block,RCb*,RCb|Cmax TSS; NEHLI; Trabelsi et al.
TSSLI
(2012)
F m|batch , block , sst|Cmax Algorithm G Alg. G Gong et al. (2010)
Liu-Kozan; Liu-Kozan-BIH
F m|no - wait , block , b j , j +1|C LK-BIH Liu; Kozan (2009)
max
F m|block|∑ Ci NEH-MK(k) Khorasanian;
i
Moslehi (2012)
Profile Fitting Heuristic 1(2); HPF1; HPF2; Ribas; Companys
NEH Profile Heuristic 1(2) NHPF1; NHPF2
(2015)
tPF-NEH Tasgetiren et al.

(2016)
Beam-Search-Based (BS(x)) Fernandez-Viagas

et al. (2016)
F m|block|∑ t i Adapted NEH AR-NEH Armentano;
i
Ronconi (2000)
Fitting Processing Times and FPD; FPDNEH Ronconi;
Due Dates NEH
Henriques (2009)
Fonte: Autor, 2017.

As subseções a seguir apresentam a aplicação dos modelos de classificação propostos


por Framinan et al. (2004, 2005) apresentados no Capítulo 2: Geração da Sequência Inicial;
Construção da Solução e; Melhoria da Solução. Por fim, descrevemos nos resultados a
classificação das heurísticas construtivas de acordo com sua natureza, neste caso, simples ou
composta.
53

3.1.6.1 Geração da Sequência Inicial

A geração da Sequência Inicial (SI) é composta por duas decisões: O desenvolvimento


de um índice e a forma de ordenação das tarefas.
Quanto à forma de ordenação, as tarefas podem ser ordenadas por ordenação direta,
onde a Sequência Inicial é gerada ordenando-se as tarefas de acordo com a ordem crescente
(ASC) ou não crescente (DESC) do índice.
Para compor a primeira fase de AR-NEH, Armentano e Ronconi (2000) estabelecem
um limitante inferior para o atraso denominado LBi, que evidencia a diferença entre a soma
dos tempos de processamento das tarefas restantes em J e a data de entrega da tarefa i. As
tarefas então são programadas em ordem não-crescente de LBi:

m
(38)
DESC( LBi = d i – ∑ pij)
j =1

i = 1, …, n
em que:
di – data de entrega da tarefa i;

Para mNEH, Wang et al. (2012) desenvolvem um índice baseado nas médias e desvios
padrões dos tempos de processamento das tarefas. Tanto a média quanto o desvio padrão
estão sujeitos a um parâmetro α, que prioriza um dos dois valores. As tarefas são ordenadas de
acordo com a ordem não-crescente de:

DESC( α AVGi + ( 1- α ) STD i )


(39)
i = 1, …, n

em que:
AVG i – Média do tempo total de processamento da tarefa i;
STD i – Desvio padrão do tempo total de processamento da tarefa i; e
α – Parâmetro 0 ≤ α ≤ 1.
54

O algoritmo G, desenvolvido por Gong et al. (2010) consiste de duas fases: sequenciar
e designar as tarefas em lotes. A primeira fase consiste em ordenar as tarefas em ordem não
crescente dos tempos de processamento da última máquina.
Outra forma encontrada é a ordenação iterativa (IT), onde a SI é gerada iterativamente
com o objetivo de minimizar um determinado valor. Neste caso, em cada iteração, uma tarefa
é inserida na SI e todas as tarefas restantes de J têm seus índices atualizados para a próxima
iteração.
Na primeira fase de NEH-MK(k), proposta por Khorasanian e Moslehi (2012), uma
tarefa q do conjunto J é ordenada na posição i de Si se minimiza Step_MK(k) que é dado por

m m -1
Step _ MK ( i ) = min ( 1 - α ) n ∑ p( i - 1) j + α ( n - i ) ∑ ( m - j )|p( i -1), j - pq , j +1| (40)
1 ≤ q ≤ (n - i + 1) j =1 j =1
i = 2, …, n

onde a primeira tarefa da SI é selecionada de acordo com o menor tempo total de


processamento.

Para a heurística FPD, Ronconi e Henriques (2009) propõem a programação tarefa a


tarefa, com os índices de prioridade das tarefas sendo iterativamente atualizados. A primeira
tarefa da sequência é determinada pela i-ésima tarefa com o menor valor I i = p i 1 + d i. O
restante das tarefas são programadas de acordo com o menor valor do índice Fi composto por
dois termos. O primeiro termo, fit 'i representa o tempo de bloqueio ou ociosidade da tarefa nas
máquinas:

fit i - min ( fit i )


' i ∉R
fit =
i
max ( fit i ) - min ( fit i )
i∉ R i∉R

m -1
onde fit i = ∑ |b j - p i , j| and b j = D i , j +1 - D i , j , j = 1, 2, …, m - 1
j =1

O segundo termo, dynslack 'i, foi proposto para aumentar a prioridade das tarefas que
possuem o menor período de tempo restante de suas datas de entrega:
55

dynslacki −min (dynslack i )


dynslack 'i= i ∉S
max (dynslack i)−min (dynslack i )
i ∉S i ∉S

m
Onde dynslack i=LBi −Di ,1 and LB i = d i - ∑ pij
j=1

Por fim, Fi é dado por

F i = ρ ∙ fit 'i + ( 1- ρ ) ∙ dynslack 'i (41)


Onde 0 ≤ ρ ≤ 1.

Pan et al. (2013) empregam a junção das heurísticas PF de Mccormick et al. (1989) e
NEH de Nawaz et al. (1983). Na primeira fase da heurística, PF é aplicada para (n – λ) tarefas
e na segunda fase, o restante das tarefas é sequenciada de acordo com a heurística NEH.
Para evitar a probabilidade de ocorrência do bloqueio, Ding et al. (2015) propõem em
m-NEH a ordenação inicial não-decrescente dos tempos totais de processamento das tarefas:

m
(42)
P i = ASC( ∑ pij )
j =1

i = 1, …, n

Fernandez-Viagas et al. (2016) propõem na heurística Beam-Search-Based (BS(x)) o


desenvolvimento do índice representado pela seguinte expressão:

m
( n -2)
ξi = ∙ w i + ∑ pi , j , i = 1, … , n (43)
4 i =1

onde w i é o tempo de ociosidade ponderado, definido pela seguinte expressão:

j -1

m
m∙ ∑ p i , j'
j' =1
wi = ∑ , i = 1 , … , n
j =2 j - 1
56

Tasgetiren et al. (2016) propõem em tPF-NEH a ordenação crescente do seguinte


índice atribuído para cada tarefa:

m m
2
Oi =
m -1 (∑
j =1
)
( m - j ) pi , j + ∑ ( m - j ) pi , j
j =1
(44)

A Tabela 6 apresenta uma sumarização dos métodos que utilizam a fase da geração da
sequencia inicial. Além disso, heurísticas compostas como TSS LI e NEHLI a de Trabelsi et al.
(2012) e PF+NEH Pan et al. (2013), que empregam outras heurísticas na primeira fase
também são descritas.

Tabela 6 - Sumarização das heurísticas que utilizam a geração da sequência Inicial


Ordenaçã
Referência Heurística Acrônimo
o
Armentano; Ronconi (2000) AR-NEH IT IT(LB i )
Khorasanian; Moslehi
NEH-MK(k) IT IT(Step_MK ( i ))
(2012)
Gong et al. (2010) Alg. G DESC DESC( pi , m)
Wang et al. (2012) mNEH DESC DESC( α AVGi + ( 1- α ) STD i )
Trabelsi et al. (2012) TSSLI TSS TSS
NEHLI NEH NEH
Pan et al. (2013) PF+NEH PF PF
Fernandez-Viagas et al.
BS(x) DESC DESC(ξ i)
(2016)
Tasgetiren et al. (2016) tPF-NEH ASC ASC(O i )
Fonte: Autor, 2017.

3.1.6.2 Construção da Solução

Nesta fase, a solução é iterativamente construída, inserindo cada tarefa por vez, até
que todas as tarefas sejam programadas. A sequência inicial obtida na primeira fase da
heurística (Ri) ou o conjunto de tarefas não programadas (J) é utilizada como um input para
construção da sequência de tarefas programadas (Si). Os critérios para escolha da melhor
tarefa podem ser condicionados às diferentes características do problema. Neste sentido,
57

outras medidas que possuem relação direta com o critério de desempenho adotado também
são utilizadas no processo de escolha da tarefa.
Duas decisões são tomadas para construção de uma solução:
a) Seleção da tarefa do conjunto de tarefas a serem programadas (J ou Ri) – uma tarefa é
selecionada nos conjuntos J ou Ri para serem testadas em Si, neste caso temos a
seleção única. Em uma outra possibilidade, a seleção múltipla, várias tarefas dos
conjuntos J ou Ri são selecionadas e testadas em Si;
b) Inserção da tarefa selecionada na sequência parcial Si – a tarefa pode ser inserida na i-
ésima posição da sequência parcial, que denominamos de Inserção Única, ou também,
pode ser inserida em várias posições gerando i sequências, que aqui chamamos de
Inserção Múltipla. A sequência escolhida é a que minimiza o critério de desempenho.

A combinação destas duas decisões pode ser chamada de procedimento de construção.


As práticas mais comuns de procedimento de construção são Seleção Múltipla + Inserção
Única (SM+IU), Seleção Única + Inserção Múltipla (SU+IM) e Seleção Múltipla + Inserção
Múltipla (SM + IM).
No procedimento SM+IU, cada tarefa k dos conjuntos J ou Ri é selecionada e testada
na i-ésima posição da sequência parcial Si, ou seja, na última posição de Si. A sequência
parcial adotada para a próxima iteração é a que minimiza a medida de desempenho adotada e
os conjuntos J ou Ri e Si são atualizados.
O procedimento SM+IU pode ser encontrado na heurística Profile Fitting (PF) de
Mccormick et al. (1989). Para avaliar a qualidade das soluções, os autores adotaram a
minimização da soma dos tempos de bloqueio e de ociosidade quando uma tarefa candidata Jc
de J é inserida na posição i de Si:

m
δi , c=∑ ( Dc[ i ], j - D[ i -1], j - p c, j ) (45)
j=1
Onde:
Dc [i ] k – Instante de partida da tarefa Jc de J que ocupa a i-ésima posição de Si;
D [ i -1]k – Instante de partida da tarefa que ocupa a (i – 1)-ésima posição de Si;
pck – Tempo de processamento da tarefa Jc.

Os autores não estabeleceram uma regra para selecionar a primeira tarefa, logo, em
outras publicações que aplicam PF, escolhe-se a tarefa que apresenta o maior tempo total de
58

processamento (COMPANYS et al., 2010) ou o menor tempo total de processamento


(RONCONI, 2004; RIBAS et al., 2011; PAN; WANG, 2012).
Ronconi (2004) propõe a heurística MinMax (MM), que emprega a minimização da
diferença entre os tempos de processamento das tarefas para avaliar a qualidade das
sequências parciais:

m -1 m
γ[ i -1], c[ i ]=α ∑ |pc,l - p[i -1], l +1|+ ( 1- α ) ∑ pc, j (46)
l =1 j=1

Onde 0 ≤ α ≤ 1
p[i -1],l – Tempo de processamento da tarefa que ocupa a posição i – 1 de Si

A estratégia da autora é tentar aumentar a probabilidade de incluir tarefas com os


menores tempos de processamento no caminho crítico, posicionando-os no início da
sequência.
Han et al. (2012) propõem os mesmos passos da heurística MM em MM-B,
diferenciando-se apenas na função de avaliação das soluções:

m-1 m
φ [i -1], c[ i ]=α ∑ max ( 0, pc,l - p[ i -1],l +1 ) + ( 1- α ) ∑ pc , j (47)
l =1 j=1

Para as heurísticas TSS e TSSLI, Trabelsi et al. (2012) propõem como critério de
avaliação a seguinte medida:

Cr = min ( Cpmax + SomTpsIn - SomTpsEx ) (48)

Onde
Cpmax é o makespan parcial quando uma nova tarefa é colocada na sequencia Sk;
SomTpsIn representa a soma dos tempos de bloqueio e de ociosidade da sequência parcial Sk;
SomTpsEx é a soma dos tempos de processamento das tarefas em Sk.

Pan e Wang (2012) propõem em wPF, variação da heurística PF, a avaliação da


sequência por meio da soma ponderada dos tempos de bloqueio e de ociosidade, dado por
59

m
δi,k =∑ w j ( Dc [i ], j - D[i -1], j - pc , j ) (49)
j =1

Esse método diferencia o efeito das máquinas e tarefas em diferentes posições usando
um peso associado a cada máquina:

m
wj = , j = 1,2,… , m
i ( m- j)
( j +
( n -2) )
Para a heurística PW, Pan e Wang (2012) propõem a adição de uma tarefa artificial v
para representar o peso das tarefas ainda não programadas. Baseada em Liu e Reeves (2001).
A tarefa artificial v é anexada na posição i + 1 de Si, após a tarefa q de J ser inserida na
posição i e possui como tempo de processamento a média dos tempos de processamento das k
tarefas restantes (J – q) do conjunto J:

pv, j = ∑ pq , j /( n – i – 1)
k ∈J
k ≠ q

j = 1,2,…, m

Com os tempos de partida da tarefa v D [ i +1], j, j = 1,2,…,m, os autores calculam a soma


dos tempos de ociosidade e bloqueio, χ i , k, causado pela tarefa v:

m
χi , k = ∑ w j ( d[ i +1 ], j - d[ i ], j - p v , j )
j =1

Os autores usam a medida χ i , k para avaliar o efeito da tarefa q nas tarefas que serão
programadas posteriormente. Combinando as duas medidas δ i,k e χ i , k, Pan e Wang (2012)
chegam no índice dado por

m
f i ,k = ∑ ( n - k -2) δi , k + χ i ,k (50)
j =1
m
onde δi,0=∑ w j ( d [ 1 ] , j - pi , j ).
j =1
60

A medida que o número de tarefas diminui, χ i,k reflete melhor o efeito das tarefas a
serem posteriormente programadas, logo, a contribuição de δ i,k diminuindo a prioridade ao
valor de χ i,k . Por se tratar de um procedimento SM+IU, a sequência selecionada é a que
apresenta o mínimo f i,k.
Ribas e Companys (2015) propõem as heurísticas HPF1 e HPF2. Para ambas
heurísticas, os autores estabelecem o seguinte critério de avaliação dado por

m
ind 1( i-1, i ) =μ ∙ ∑ ( D[ i ], j - D[i -1], j - p[ i ], j ) + ( 1 - μ ) ∙ ( C[ i ] - C[i -1] ) (51)
j =1

Onde 0 ≤ μ ≤ 1

Para HPF1, a primeira tarefa é selecionada calculando a tangente do ângulo α (tan ( α ) ),


que mede a contribuição do delay dianteiro de cada tarefa. O índice é dado por

m
tan ( α ) = 2 ∙ ∑ ( m - j ) ∙ p i , j/ m ∙ ( m - 1) (52)
j =1

Já para HPF2, a primeira tarefa é selecionada de acordo com o índice R(i), que mede a
contribuição da tarefa em relação ao tempo total de fluxo e o delay dianteiro:

m m
R ( i) = λ ∙ 2 ∙ ( j=1
)
∑ ( m - j) ∙ pi , j / ( m - 1 ) + (1- λ ) ∙ ∑ pi, j
j =1
(53)

Onde 0 ≤ λ ≤ 1.

Em Beam-Search-Based (BS(x)), Fernandez-Viagas et al. (2016) propõem a


construção da solução por meio da geração de x nós, escolhendo-se entre cada um desses x
nós a inserção da tarefa v, sendo v = {1,...n - i}, que minimiza o tempo total de fluxo da
sequência parcial do nó l, Sil, sendo l = {1,...x}. Os x nós selecionados para a próxima iteração
é escolhido de acordo com o maior valor do índice Gkvl que mede a influência da inserção da
tarefa v e a influência das tarefas já sequenciadas e não sequenciadas.

G iv ,l = Fil + Liv ,l (54)


i = 1, … , n - 2, v =1 , … , n - i, l = 1 , … , x
61

onde
F il mede a influência das tarefas sequenciadas do nó candidato v na i-ésima iteração
Liv ,l mede a influência da tarefa v escolhida no nó l na i-ésima iteração

n - i -2 i
Liv ,l = ciu i ∙ ( t u ,l + b iu , l)
+ a∙ i i (55)
n v, l ,l v ,l v ,l

i = 1, … , n - 1, v =1 , … , n - i, l = 1 , … , x

onde
c iu i
v ,l ,l é o instante de partida da tarefa v inserida na i-ésima posição da sequência do l-ésimo nó
da i-ésima iteração;
a é um parâmetro que balanceia a influência entre os instantes de partida e a soma dos
instantes de bloqueio e de ociosidade;
t iu i
v,l ,l é o tempo total de bloqueio entre as tarefas que ocupam a posição i e i + 1 da sequência;

biu i
v ,l ,l é o tempo total de ociosidade entre as tarefas que ocupam a posição i e i + 1 da
sequência.

F il = ∆ c il + a ∙ ( ∆ t il +∆ bil ) (56)
i = 2 ,…, n - 1, l' = 1 , … , x

onde ∆ c il , ∆ t il e ∆ b il correspondem aos instantes de ociosidade, de bloqueio e de partida,


respectivamente, que são definidos pelas respectivas expressões (57), (58) e (59):

n - k - 2
∆ t i+1 i
' = ∆ t galho[ + ∆ t itarefa [ l ] galho[ l ] ∙
' ' ' (57)
l l]
n
i = 2 ,…, n - 1, l' = 1 , … , x

n - k - 2
∆ b i+1
' = ∆ bigalho[ l ] + ∆ b itarefa [ l ] galho[ l ] ∙
' ' ' (58)
l
n
i = 2 ,…, n - 1, l' = 1 , … , x

∆ c il +1 = ∆ cgalho[
i
'
l]
+ citarefa [ l ] galho[l ] + cλi galho[l ]
' ' ' ' (59)
i = 2 ,…, n - 1, l' = 1 , … , x

onde ∆ t 1l = ∆ c1l = F 1l = 0, ∀ l' = 1, … , x e c iλ ,l é o instante de partida de uma tarefa


artificial inserida na última posição da sequência parcial Si,l que representa as tarefas ainda
62

não programadas. O tempo de processamento de λ é dado pela média dos tempos de


processamento de todas as tarefas ainda não sequenciadas no nó l.
Tasgetiren et al. (2016) propõem para tPF a seguinte medida de avaliação da
qualidade de solução:

CM[ i -1 ] ,[ i ] = ( 1- μ ) ×IT [ i -1] ,[ i ] + μ× SD[ i -1 ] ,[ i ] (60)


onde:
CM[ i -1 ] ,[ i ] é a função de custo
IT [ i -1 ] ,[ i ] é o tempo total de ociosidade e bloqueio entre as tarefas que ocupam a posição i – 1 e
i;
SD [ i -1 ] ,[ i ] é a soma dos tempos de partida da tarefa i;
μ é um parâmetro limitado a 0 ≤ μ≤ 1.

Semelhante a tPF, a heurística PFT, proposta por Tasgetiren et al. (2017) também
utiliza IT [ i -1 ] ,[ i ] para compor a medida de avaliação proposta:

σ i = ( n - i-2 ) IT [ i -1 ] ,[ i ] + D[ i] ,m (61)
onde:
σ i é soma dos tempos de ociosidade e bloqueio e o tempo de partida das tarefas que ocupam
as posições i – 1 e i;
D [ i] ,m é o instante de partida da tarefa que ocupa a posição i na última máquina.

No procedimento SU + IM, apenas uma tarefa, do conjunto J ou Ri, é selecionada e


inserida em várias posições de Si. De todas as sequências geradas, adota-se àquela que
minimiza o critério de desempenho. Um exemplo clássico que utiliza este procedimento é a
heurística NEH de Nawaz, Enscore e Ham (1983), onde cada tarefa da sequência inicial Ri, a
cada iteração, é inserida em todas as posições possíveis da sequência parcial Si. A melhor
sequencia parcial é retida como solução para a próxima iteração.
Para o problema flow shop com bloqueio, Ronconi (2004) propõe as heurísticas
compostas MME e PFE, que utilizam a solução fornecida por MM e PF como Sequência
Inicial e na fase construtiva o procedimento SU+IM. A autora adota como Si a sequência que
gera o menor Cmax.
63

Companys et al. (2010) propõem as heurísticas NME2, TRE2, PO2 e PF2 que
empregam NM de Nagano e Moccellin (2002), Trapezium de Companys (1966), Pour de Pour
(2001) e PF de Mccormick et al. (1989), respectivamente, como solução inicial. A melhor
solução entre a aplicação do método nas no problema direto e reverso foi retida. Companys
et al. (2010) também desenvolvem um novo método de desempate entre sequências parciais
que geram Cmax iguais. O método calcula o tempo total de ociosidade para cada uma das
subsequências de acordo com

m n

j =1
(
IT = ∑ D[n ], j - e1, j - ∑ p i , j
i =1
) (62)

A sequência parcial selecionada é a que fornece o mínimo IT. Caso ainda haja empate,
o procedimento definido em Kalczynski e Kamburowski (2008) para NEHKK1 é empregado.
Pan e Wang (2012) propõem em PF-NEH(x), wPF-NEH(x) e PW-NEH(x), a geração
da sequência inicial por meio da heurística PF. A construção da solução inicia-se a partir da
tarefa que ocupa a posição ¿) da sequência Ri, onde λ é parametrizável. O processo de
construção é aplicado x vezes (x é parametrizável) e a melhor solução das x sequencias
geradas é retida como a solução final.
Trabelsi et al. (2012) propõem como sequência inicial a utilização de uma heurística
simples (NEH ou TSS) combinada com a fase de construção utilizando o procedimento de
NEH. O procedimento consiste em selecionar uma tarefa por vez e inserindo-a em todas as
posições possíveis de Si.
Tasgetiren et al. (2016) e Tasgetiren et al. (2017), baseados em Pan e Wang (2012),
propõem para tPF_NEH(x) e PFT_NEH(x), respectivamente, o procedimento SU+IM para δ
tarefas da Sequencial Inicial, gerada por tPF. O procedimento é repetido até x vezes, onde x
assume valor de n para n ≤ 200 tarefas e x = 20 se n > 200. A melhor sequência obtida
entre a ordenação Oi, o resultado obtido por tPF (PFT) e todas as x sequências geradas pela
fase construtiva é adotada como solução final.
Por fim, o procedimento Seleção Múltipla + Inserção Múltipla (SM+IM) consiste em
selecionar várias tarefas de J ou Ri e inseri-las em várias posições de Si. Liu e Kozan (2009)
propõem LK-BIH, que consiste em selecionar cada tarefa de Ri e inserir em todas as posições
de Si. Os autores avaliam Cmax por meio do algoritmo Liu-Kozan, que calcula os instantes de
término das tarefas de acordo com as diferentes condições de estoque intermediário. A Tabela
64

7 apresenta uma sumarização dos procedimentos de seleção e inserção de cada heurística


encontrada.

Tabela 7 - Procedimento de construção de heurísticas construtivas (Continua...)


Inserção
Referência Heuristica Seleção
(1 ≤ i ≤ n - 1)
Mccormick et al. (1989) PF Todas as tarefas de Ji Na Posição i de Si
m

AR-NEH
min [∑ (
j =1
Uma tarefa de Ri
D[ k +1], j - D [ k ], j - p[ k +1], j ) ]
Todas as posições de Si
Armentano; Ronconi
(Cmax)
(2000)
MME Uma tarefa de Ri Todas as posições de Si
(Cmax)
PFE Uma tarefa de Ri Todas as posições de Si
(Cmax)
Abadi et al. (2007) SSD Uma tarefa de Ri Todas as posições de Si
(Cmax)
PSD Uma tarefa de Ri Todas as posições de Si
(Cmax)
Liu; Kozan (2009) LK-BIH Todas as tarefas de Ji Todas as posições de Si
(Cmax) (Cmax)
Ronconi; Henriques FPDNEH Uma tarefa de Ri Todas as posições de Si (

(2009) ∑ ti )
i
Companys et al. (2010) NME2 Uma tarefa de Ri Todas as posições de Si
(Cmax)
TRE2 Uma tarefa de Ri Todas as posições de Si
(Cmax)
PO2 Uma tarefa de Ri Todas as posições de Si
(Cmax)
PLE2 Uma tarefa de Ri Todas as posições de Si
(Cmax)
Han et al. (2012) MM-B Todas as tarefas de Ji Na Posição i de Si

min(φ [i -1], c[ i ] )
Pan; Wang (2012) wPF Todas as tarefas de Ji Na Posição i de Si

min ( δi ,k )
PW Todas as tarefas de Ji Na Posição i de Si

min [ ( n – k – 2) δi ,k + χ i,k ]
PFE-NEH(x) Uma tarefa de Ri Todas as posições de Si
(Cmax)
wPF-NEH(x) Uma tarefa de Ri Todas as posições de Si
(Cmax)
PW-NEH(x) Uma tarefa de Ri Todas as posições de Si
(Cmax)

(Conclusão.)
Referência Heuristica Seleção Inserção
65

(1 ≤ i ≤ n - 1)
Trabelsi et al. (2012) TSS Todas as tarefas de Ji Na Posição i de Si
min(Cr)
TSSLI Todas as tarefas de Ji Na Posição i de Si
min(Cr)
NEHLI Uma tarefa de Ri Todas as posições de Si
(Cmax)
Khorasanian; Moslehi NEH-MK(k) Uma tarefa de Ri Todas as posições de Si
(Cmax)
(2012)
Ribas; Companys HPF1 Todas as tarefas de Ji Na Posição i de Si
min(ind 1( i, i + 1) )
(2015)
HPF2 Todas as tarefas de Ji Na Posição i de Si
min(ind 1( i, i + 1) )
NPFH1 Uma tarefa de Ri Todas as posições de Si (

∑ Ci )
NPFH2 Uma tarefa de Ri Todas as posições de Si (

∑ Ci )
Fernandez-Viagas et al. BS(n) Todas as tarefas de Ril* Na Posição i de Sil**

(2016)
(∑ Ci )
Tasgetiren et al. (2016) tPF Todas as tarefas de Ji Na Posição i de Si
Min(CMi)
tPF_NEH(x) Uma tarefa de Ri Todas as posições de Si (

∑ Ci )
PFT Uma tarefa de Ri Na Posição i de Si
min(σ i)
PFT_NEH(x) Uma tarefa de Ri Todas as posições de Si (

∑ Ci )
*Ril - Sequência Inicial do nó l **Sil - Sequência parcial do nó l
Fonte: Autor, 2017.

3.1.6.3 Melhoria da solução

A fase de melhoria consiste na aplicação de algum procedimento de busca local. A


busca local é composta por quatro mecanismos básicos:
a) Forma de exploração: Se refere ao modo como a vizinhança é explorada a partir de
uma sequência construída. As formas mais habituais encontradas na literatura são a
inserção, troca entre pares de tarefas e troca entre pares de tarefas adjacentes;
66

b) Direção da busca: Se refere ao ponto inicial e final da busca. Neste caso a busca local
pode ser orientada por algum critério específico ou sequencialmente pela ordem em que a
tarefa se encontra na sequência;
c) Continuidade da busca: Refere-se a continuar a busca local a partir da tarefa que se
encontra na próxima posição ou reiniciar a partir da primeira tarefa quando uma melhor
solução substitui a solução atual. Este mecanismo é mais comum quando adotamos o
critério de substituir a solução atual para cada melhor solução encontrada;
d) Critério de parada: Pode ser adotado um número de vezes que a busca local é aplicada,
neste caso, testes experimentais podem ser realizados para encontrar uma média de vezes
que a busca local retorna melhorias significativas. Um outro critério é aplicar a busca local
até que melhores soluções não sejam encontradas, neste caso, um estudo de pior caso é
necessário, para se avaliar a viabilidade de aplicação da busca local. O que tem de ser
levado em conta é o tempo computacional que a busca local toma em contraste com a
melhoria que esta traz a solução construída.

A Tabela 8 apresenta uma sumarização das buscas locais empregadas na fase de


melhoria da solução.

Tabela 8 - Buscas locais empregadas na fase de melhoria da solução


Heurística Busca Local Forma Direção Continuidade Parada
PF-NEHLS(x) RLS Inserção Orientada Contínua Uma vez
wPF-NEHLS(x) RLS Inserção Orientada Contínua Uma vez
PW-NEHLS(x) RLS Inserção Orientada Contínua Uma vez
GENIUS ISFC Inserção Sequencial Forward Contínua Uma vez
TSS POC Permutação Orientada Contínua Sem melhorias
Fonte: Autor, 2017.

Para as heurísticas PF-NEHLS(x), wPF-NEHLS(x) and PW-NEHLS(x), Pan e Wang


(2012) propõem a busca local Referenced Local Search (RLS), desenvolvida por Wang et al.
(2010). RLS é inspirada no mecanismo Job-Index Insertion Scheme (JIBIS) proposta por
Rajendran and Ziegler (2004). A forma de busca empregada é a de inserção e RLS é aplicada
para todas as sequências geradas após a fase de construção. Em RLS, cada tarefa da sequência
a ser melhorada é selecionada na ordem em que está na sequência de referência e é inserida
em todas as posições da sequência a ser melhorada. No caso de RLS, a direção da busca é
guiada por outro critério. Se uma das sequências geradas pela inserção dessa tarefa é melhor
que a sequência original, esta é substituída para a próxima iteração e RLS é aplicada a nova
sequência a partir da próxima tarefa da sequência de referência.
67

Em GENIUS, Abadi et al. (2007) propõem o uso da busca local US, que se aplica com
a forma de inserção, direção sequencial e busca contínua.
Trabelsi et al. (2012) propõem a troca entre pares de tarefas para a tarefa com maior
tempo de bloqueio diferencial. Os autores descrevem dois tipo de bloqueio diferencial. O
tempo de bloqueio diferencial antes da tarefa Ji é causado devido ao tempo de execução
insuficiente da tarefa Ji na máquina Mj-1 em frente do tempo de execução da tarefa Ji-1 na
máquina Mj+1. O tempo de bloqueio diferencial após a tarefa Ji na máquina Mj é causado
devido ao tempo de execução insuficiente da tarefa Ji-1 na máquina Mj+2. A direção é guiada
escolhendo-se a tarefa com maior tempo diferencial de bloqueio. A permutação contínua até
que melhores soluções não sejam encontradas.
Pode-se observar na Figura 4 e na Figura 5 a relação de heurísticas simples e
compostas encontradas.

Heuristica Fase I Fase II Fase III


PF (1989) SM+IU
m
AR-NEH (2000) DESC(d i – ∑ pij) SU+IM
j =1

MM (2004) SM+IU
SSD (2007) SU+IM
PSD (2007) SU+IM
LK-BIH (2009) SM+IM
min(
ρ ∙ fit + ( 1- ρ ) ∙ dynslack'i
'
FPD (2009) i
)
MM-B (2012) SU+IM
wPF (2012) SM+IU
PW (2012) SM+IU
TSS (2012) SM+IU

mNEH (2012) DESC( α AVG i + ( 1- α ) STD i ) SU+IM

NEH-MK(k) (2012) min(Step _ MK ( i ) ) SU+IM

HPF1 (2015) SM+IU


HPF2 (2015) SM+IU
m
m-NEH(2015) ASC( ∑ pij ) SU+IM
j =1

BS(x) (2015) DESC(ξ i) SM+IU

tPF (2016) SM+IU


PTF (2017) SM+IU
68

Figura 4 - Heurísticas Simples para o problema flow shop com bloqueio e m máquinas
Fonte: Autor, 2017.
Na Figura 5 pode-se observar a relação de heurísticas compostas encontradas.

Heuristica Fase I Fase II Fase III


MME (2004) MM SU+IM
PFE (2004) PF SU+IM
FPDNEH (2009) FPD SU+IM
NME2 (2010) NM SU+IM
TRE2 (2010) Trapezium SU+IM
PO2 (2010) Pour SU+IM
PLE2 (2010) PL SU+IM
PF-NEH(x) (2012) PF SU+IM
wPF-NEH(x) (2012) wPF SU+IM
PW-NEH(x) (2012) PW SU+IM
PF-NEHLS(x) (2012) PF-NEH(x) + RLS (x vezes)
wPF-NEHLS (x) (2012) wPF-NEH(x) + RLS (x vezes)
PW-NEHLS (x) (2012) PW-NEH(x) + RLS (x vezes)
TSSNEH (2012) TSS SM+IU
TSSLI (2012) TSS POC (sem melhorias)
NEHNEH (2012) NEH SU+IM
NEHLI (2012) NEH POC (sem melhorias)
PF+NEH (2013) PF (n – λ ) + NEH ( λ )
NPFH1 (2015) HPF1 SM+IU
NPFH2 (2015) HPF2 SM+IU
tPF_NEH(x) (2016) tPF SU+IM
PTF _NEH(x) (2017) PTF SU+IM

Figura 5 - Heurísticas compostas para o problema flow shop com bloqueio e m máquinas
Fonte: Autor, 2017.

3.1.7 Metaheurísticas

Nesta seção foram revisadas as metaheurísticas propostas para os diversos problemas


encontrados. Ao todo, 42 publicações foram encontradas, compreendendo o período entre
69

2001, data da primeira publicação encontrada que abordou metaheurística, a Junho de 2017,
período em que encerramos esta revisão para escrita do texto de qualificação.
Dos resultados obtidos pela revisão, podemos classificar as metaheurísticas sob duas
abordagens: evolutiva (Algoritmos Evolutivos e Inteligência de Enxame) e estruturada em
buscas locais. Na Tabela 9 apresentam-se as metaheurísticas encontradas.

Tabela 9 - Métodos heurísticos de acordo com a abordagem (Continua...)


Abordagem Metaheurística Referências
Algoritmo Genético (GA) Caraffa et al. (2001), Wang et al. (2006),

Algoritmos Sauer; Sauvey (2012), Trabelsi et al. (2012)


Evolução Diferencial (DE) Wang et al. (2010), Pan et al. (2011),
Evolutivos
Davendra et al. (2012), Chen et al. (2014)
Algoritmo Memético (MA) Pan et al. (2013)
Scatter Search (SS) Riahi et al. (2017)

Otimização por Enxame de Liu et al. (2008), Liang et al. (2011), Wang;
Partículas (PSO)
Tang (2012), Eddaly et al. (2016)
Colônia Artificial de Abelhas Han et al. (2012), Deng et al. (2012), Han et
(ABC)
al. (2013), Han et al. (2015), Ribas et al.
Algoritmos (2015), Khorramizadeh; Riahi (2015)
baseados em Busca Harmônica (HS) Wang et al. (2010), Pan et al. (2011), Wang
inteligência et al. (2011)
de enxame Otimização por Moscas das Han et al. (2016)
Frutas (FFO)
Sistema Imunológico Artificial Lin; Ying (2013)
(AIS)
Migração Auto-Organizável Davendra; Bialic-Davendra (2012)
(SOM)
Multi-objective discrete group Guanlong et al. (2016)
search optimizer (DGSO)

Busca Tabu (TS) Nowicki (1999), Armentano; Ronconi

(2000), Grabowski; Pempera (2000), Li;

Algoritmos Tang (2005), Grabowski; Pempera (2007)


Iterative Greedy (IG) Ribas et al. (2011), Khorasanian; Moslehi
guiados por
buscas locais (2012), Ding et al. (2015), Tasgetiren et al.

(2017)
Simulated Annealing (SA) Wang et al. (2012)
70

(Conclusão.)
Abordagem Metaheurística Referências
Greedy Randomized Adaptive Search Ronconi; Henriques (2009)
Procedure (GRASP)
Iterated Local Search (ILS) Ribas et al. (2013a)
Algoritmos
Busca Variável na Vizinhança (VNS) Ribas et al. (2013b)
guiados por
Metaheurística para Busca de Prioridade Sadaqa; Moraga (2015)
buscas locais
Aleatória (Meta-RaPS)
Heurística de Inserção Variável de Blocos Tasgetiren et al. (2016)
(VBIH)
Fonte: Autor, 2017.

Apesar de serem diferentes nos princípios algorítmicos, Gendreau e Potvin (2005)


observam aspectos e tendências comuns entre as metaheurísticas, ou seja, apresentam
componentes similares. Estes componentes são descritos como:
 Construção: Componente utilizado por todas as metaheurísticas para criar a(s)
solução(ões) inicial(ais). A fase de construção pode ser constituída de populações, ou
seja, um conjunto de soluções de tamanho Npop é gerado. Estes são os casos dos
Algoritmos Genéticos, Algoritmos Meméticos, Colonia Artificial de Abelhas e
Evolução Diferencial, Otimização por Enxame de Partículas, Busca Harmônica,
Otimização por Moscas das Frutas, Sistema Imunológico Artificial, Migração Auto-
organizável e Scatter Search. Em sua maioria, para garantir a diversidade das
soluções, os autores buscam gerar uma número x de soluções por meio de alguma
heurística construtiva e as (Npop – x) soluções restantes são geradas aleatoriamente. As
populações são geradas também por alguma heurística construtiva ou aleatoriamente.
Para Busca Tabu, Iterati Greedy, Simulated Annealing, GRASP, Busca Local
Iterativa, Busca Variável na Vizinhança, Meta-RAPS e Heurística de Inserção
Variável por Blocos, uma heurística construtiva é utilizada para gerar a solução inicial.
Algoritmos como GRASP e ACO também usam este componente para gerar novas
soluções. A Tabela 10 sumariza os procedimentos adotados na fase de construção;
 Recombinação: Esse componente gera novas soluções a partir das soluções correntes
por meio de algum processo de recombinação. Em Algoritmos Genéticos, a fase de
recombinação inicia-se a partir da seleção dos pais e termina com o cruzamento destas
soluções. Em Iterated Greedy, a recombinação é realizada a partir da solução corrente,
que é destruída retirando-se d tarefas aleatoriamente e por meio do procedimento de
NEH, a sequência é reconstruída inserindo-se as d tarefas. O número d é um parâmetro
71

ajustável para cada algoritmo desenvolvido. Na fase de cruzamento do Algoritmo


Memético de Pan et al. (2013), na fase da abelha empregada do Algoritmo da Colônia
de Abelhas de Khorramizadeh e Riahi (2015) e na fase de combinação de Scatter
Search de Riahi et al. (2017), aplica-se a técnica path relinking na solução corrente em
direção a melhor solução, gerando-se soluções intermediárias. A melhor solução é
selecionada. Em DGSO, de Guanlong et al. (2016), uma solução é aleatoriamente
selecionada para cruzar com a melhor solução corrente. Em VBIH, de Tasgetiren et
al. (2016), a recombinação ocorre quando blocos identificados pelas propriedades são
reinseridos na sequência. Na Evolução Diferencial (ED), uma solução inicial é sujeita
a uma mutação criando-se uma nova solução e um operador de cruzamento é aplicado
nestas duas soluções. No Algoritmo de Migração Auto-Organizável, as soluções são
construídas na fase denominada “jump sequence”, que ocorre por meio da combinação
de diferentes movimentos das soluções correntes em direção a melhor solução. No
algoritmo Colônia Artificial de Abelhas de Han et al. (2015), ED é utilizado para
geração de novas soluções, por meio de seleção e cruzamento;
 Modificação Aleatória: É usado para modificar a(s) solução(ões) atual(is) por meio de
perturbações aleatórias. Nos Algoritmos Genéticos, nos Algoritmos Meméticos e No
Algoritmo Sistema Imunológico Artificial a fase de mutação garante a diversidade de
soluções, modificando-se uma solução aleatoriamente a uma pequena probabilidade de
chance. O procedimento de modificação pode ser dado por troca entre pares de tarefas
ou reinserção de uma tarefa em qualquer outra posição da sequência. A modificação
aleatória também pode ser vistas em outros como Algoritmos Colônia Artificial de
Abelhas de Han et al. (2012) e de Han et al. (2013) e Iterated Local Search de Ribas
et al. (2013a) e DGSO de Guanlong et al. (2016).
 Melhoria: É usado para melhorar a solução atual, pela aplicação de uma busca local ou
projetando a solução na região factível. Das publicações encontradas, podemos
identificar os componentes comuns ao que foi encontrado na Seção 4.2.1. Podemos
observar que as buscas locais são constituídas dos mecanismos de inserção, troca entre
pares de tarefas ou troca entre pares de tarefas adjacentes.
 Atualização da memória: No Algoritmo Genéticos, Algoritmo Memético, RAIS e
Scatter Search a atualização da população pode ser dada pelo elitismo ou reduzindo a
população mantendo as melhores soluções encontradas. Outros Algoritmos mais
robustos, como IABC de Han et al. (2012) utilizam outras metaheurísticas para
atualizar a população. Na Busca Tabu, a atualização da memória se dá pelo
72

comprimento da lista tabu e pela atualização dos elementos que saem e entram na lista.
Nos algoritmos de Evolução Diferencial, Busca Harmônica, Migração Auto-
Organizável, Colônia Artificial de Abelhas e Otimização por Moscas da Fruta, o novo
indivíduo é adicionado se for melhor que o pior indivíduo da população. Em PSO, a
atualização é dada pela atualização do vetor velocidade.
 Atualização dos Parâmetros/ Vizinhança: Esse componente ajusta os valores dos
parâmetros ou modifica as estruturas da vizinhança. Nos Algoritmos VNS de Ribas et
al. (2013b), as buscas locais modificam a estrutura da vizinhança. Nos Algoritmos de
Busca Harmônica (HS), a atualização das soluções são dadas pela fase de
improvisação da harmonia. Outras formas de modificar a vizinhança para garantir a
diversificação das soluções por meio da substituição da população por novos
indivíduos ou por meio da modificação aleatória dos indivíduos. Neste caso, em
algoritmos que adotam população como no DMS-PSO Liang et al. (2011), as
partículas são reagrupadas aleatoriamente dentro dos clusters. No Algoritmo DABC de
Han et al. (2012), o algoritmo de Evolução Diferencial Discreto é aplicado para
reiniciar a população (exceto a melhor solução). Pan et al. (2011) aplicam o
mecanismo de sequência caótica para modificar todas as sequências para a próxima
iteração do algoritmo CHS. Deng et al. (2012) aplicam um mecanismo de inserção
aleatória para gerar novas soluções na fase das abelhas empregadas do algoritmo
Colônia Artificial de Abelhas. No Algoritmo Sistema Imunológico Artificial de Lin e
Ying (2013), mutações em uma parte da população é realizada, e a população pode ser
substituída caso a solução seja melhor ou caso a solução seja aceita a um critério de
aceitação. Já em DABC de Han et al. (2015), as soluções não exploradas são
modificadas por meio de um mecanismo de inserção. De modo análogo, Ribas et al.
(2015) aplicam em DABC um operador denominado Three Neighborhood Operators
que consiste em aplicar três procedimentos baseados em troca entre pares de tarefas e
inserção. No Algoritmo Otimização por Moscas das Frutas de Han et al. (2016), três
operadores são utilizados para gerar novas soluções. Riahi et al. (2017) atualizam os
conjuntos referências substituindo a pior solução do conjunto pela melhor solução e
uma forma de perturbação é realizada para garantir a diversidade das soluções.

A Tabela 10 apresenta uma sumarização dos componentes utilizados por cada


algoritmo revisado.
73

Tabela 10 - Sumarização dos componentes em comum das metaheurísticas (Continua...)


Referência Metaheur. Construção Recombinação Modificação Melhoria Atualização da Memória Atualização dos Parâmetros/
Aleatória Vizinhança
Nowicki (1999) TS NEH-B - - Inserção na - -
vizinhança
Grabowski; TS NEH - - Inserção na Lista Tabu com tamanho -
vizinhança dinâmico
Pempera (2000)
Armentano; TS ANEH - - Inserção (melhor Lista Tabu com tamanho -
solução entre (n – dinâmico
Ronconi (2000) 1)²)
Caraffa et al. GA Aleatório (Npop) Two-point crossover Mecanismo Shift- - Eliminar os PS membros -
(Roullete Wheel change mais fracos
(2001) Parent Selection)
Li; Tang (2005) TS NEH - - Inserção na Lista Tabu com tamanho -
vizinhança estático
Wang et al. HGA NEH (1), Aleatório LOX, PMX, C1, Troca entre pares - Substituir por membros -
(Npop – 1) NAX (Seleção de tarefas, gerados por mutação e
(2006) (População) Aleatória) Inversão, Troca busca local. Seleção por
com inserção e elitismo
busca local
Grabowski; TS NEH - - Inserção na Lista Tabu com tamanho -
vizinhança dinâmico
Pempera (2007)
TS + M NEH - - Inserção na Lista Tabu com tamanho -
vizinhança com dinâmico
multimovimentos
Liu et al. (2008) HPSO- NEH (1) - - Busca local block- Atualizar vetor velocidade -
based Insertion (b) based
Aleatório (Npop – b – Busca local SA-
1) based (melhor
partícula)
Ronconi; GRASP- NEH(RCL = - - Inserção na - -
Basic i∈ J |(d i + pi ,1 )≤ ( d i + pi ,1 ) min
(1+ p ) p= [ 0 , ∞ ¿ vizinhança
Henriques (2009)
GRASP- NEH(RCL = - - Path relinking - -
Path i∈ J |(d i + pi ,1 )≤ ( d i + pi ,1 ) min
(1+ p ) p= [ 0 , ∞ ¿
Wang et al. HDDE NEH (1) Mutação operator - Inserção na Avaliar se o novo -
Aleatório (Npop – 1) (Discrete) vizinhança individuo é melhor que o
(2010) Crossover operator individuo que o gerou
(Continuação...)
Referência Metaheur. Construção Recombinação Modificação Melhoria Atualização da Memória Atualização dos Parâmetros/
74

Aleatória Vizinhança
Wang et al. hHS NEH_WPT (1) - - Avaliar se o novo Seleção aleatória
Aleatório (Npop – 2) individuo é melhor que o Consideração de memória
(2010) pior individuo da memória Ajustamento do “Pitch”
hgHS NEH_WPT (1) - - Avaliar se o novo Seleção aleatória
Aleatório (Npop – 2) individuo é melhor que o Consideração de memória
pior individuo da memória Ajustamento do “Pitch”
hmgHS NEH_WPT (1) - Inserção na Avaliar se o novo Seleção aleatória
Aleatório (Npop – 2) vizinhança individuo é melhor que o Consideração de memória
pior individuo da memória Ajustamento do “Pitch”

Liang et al. DMS-PSO NEH (1) - - Inserção na Atualizar vetor velocidade Reagrupar os enxames
NEH-Akeatório vizinhança aleatoriamente
(2011) primeiro individuo
(Npop - 1)
Pan et al. (2011) HDDE NEH (1) DE/best/1 - VNS (Inserção ou O novo indivíduo é aceito -
NEH-Aeatório (Npop (Mutação) troca entre pares de acordo com um
- 1) Standard Crossover de tarefas) procedimento de seleção
modificado
Pan et al. (2011) CHS NEH (PS) - - Busca local Reiniciar a população por Seleção aleatória
caótica meio de sequencia caótica Consideração de memória
(exceto a melhor Ajustamento do “Pitch”
sequência)
Ribas et al. IG NEH NEH (d jobs) - Troca entre pares - -
de tarefas
(2011)
Wang et al. hHS NEH_WPT (1) - - - Avaliar se o novo Seleção aleatória
NEH(1) individuo é melhor que o Consideração de memória
(2011) Aleatório (Npop – 2) pior individuo da memória Ajustamento do “Pitch”
hgHS NEH_WPT (1) - - - Avaliar se o novo Seleção aleatória
NEH(1) individuo é melhor que o Consideração de memória
Aleatório (Npop – 2) pior individuo da memória Ajustamento do “Pitch”
hmgHS NEH_WPT (1) - - Inserção na Avaliar se o novo Seleção aleatória
NEH(1) vizinhança individuo é melhor que o Consideração de memória
Aleatório (Npop – 2) pior individuo da memória Ajustamento do “Pitch”
Davendra; DSOM Aleatório (Npop) Jump Sequence - Busca local 2 OPT Substituir a solução atual -
Bialic-Davendra se o novo indivíduo é
melhor
(2012)

(Continuação...)
75

Referência Metaheur. Construção Recombinação Modificação Melhoria Atualização da Memória Atualização dos Parâmetros/
Aleatória Vizinhança
Davendra et al. EDE Aleatório (Npop) DE/best/2/bin - Busca local 2 OPT Avaliar se o novo -
(Mutação) individuo é melhor que o
(2012) Standard Crossover individuo pai
Avaliar se o novo
individuo é melhor que o
individuo pai
Han et al. (2012) IABC NEH (1), MM(1), Uma inserção ou Inserção na Aplicar o algoritmo DDE -
NEH-WPT (1), uma troca entre vizinhança
MM-B (1), Aleatório pares de tarefas
(Npop – 4) Ou duas inserções
ou duas operações
de troca entre pares
de tarefa
Khorasanian; IG NEH-MK(k) NEH (d tarefas) - Inserção e troca - -
entre pares de
Moslehi (2012) tarefas
Sauer; Sauvey GA HSS1 (1), Aleatório - - - Manter as melhores -
(Npop – 1) soluções, gerar novos
(2012) indivíduos aleatoriamente
e por crossover
Trabelsi et al. GA HSS1 (1) - - - Manter as melhores -
Aleatório (Npop – 1) soluções, gerar novos
(2012) indivíduos aleatoriamente
e por crossover
Wang; Tang DPSO NEH (1) - - VNS Atualizar vetor velocidade -
Aleatório (Npop - 1)
(2012)
Wang et al. mSA mNEH - - Busca Local - -
N(π,a)
(2012)
Han et al. (2013) hDABC MME –A (1) - Uma inserção ou Busca local Avaliar se o novo -
MME-B (1) uma troca entre referenciada indivíduo gerado
Aleatório (Npop – 2) pares de tarefas aleatoriamente é melhor
Ou duas inserções que a solução não
ou duas operações modificada
de troca entre pares
de tarefa
Lin; Ying (2013) RAIS Aleatório (Npop) - Inserção ou Troca - Selecionar PS indivíduos Inserção ou permutação
Clonagem das entre pares de com as maiores afinidades. (Mutação) para a nova população
soluções tarefas (Mutação) sujeito ao critério de aprovação
de SA.
(Continuação...)
76

Referência Metaheur. Construção Recombinação Modificação Melhoria Atualização da Memória Atualização dos Parâmetros/
Aleatória Vizinhança
Pan et al. (2013) MA PF+NEH (1), Path-relinking Inserção (Mutação) Busca local Manter os PS melhores -
Aleatório (Npop – 1) (Tournament Referenciada indivíduos entre parentes e
Selection) novos indivíduos..
Ribas et al. ILS NEHEDD - Troca entre pares Inserção e troca - -
de tarefa Inserção entre pares de
(2013a) para frente o tarefas
Inserção para trás
d vezes
Ribas et al. SVNS-S PW/PWE2 NEH com d tarefas - - - Inserção aleatória (LS1-S) ou
aleatórias Permutação (LS2-S)
(2013b)
SVNS-D PW/PWE2 NEH com d tarefas - - - Inserção aleatória (LS1-D) ou
aleatórias Permutação (LS2-D)

Chen et al. HDDE LPT (1), SPT(1), Operador de - Inserção na Avaliar se o novo
FIFO (1), Aleatório Mutação (Discreto) vizinhança individuo é melhor que o
(2014) (Npop - 3) Standard Crossover individuo que o gerou
Ding et al. IG m-NEH B-NEH com 1 tarefa - - - -
(2015)
Han et al. (2015) DABC MME (1) Evolução Inserção ou Troca Inserção na Substituir as piores Aplicar inserções nas soluções
Aleatório (Npop – 1) Diferencial entre pares de vizinhança soluções pelas melhores. que não foram modificadas.
tarefas (Self-
adaptative
strategy)
Sadaqa; Moraga Meta- NEH - - - - -
RaPS
(2015)

Deng et al. DABC NEH_WPT (1) - - Inserção e troca Avaliar se o novo Melhor inserção aleatória
Aleatório (Npop – 1) entre pares de individuo é melhor que o
(2012) tarefas pior individuo
Khorramizadeh; ABC NEH (1) path relinking - buscas locais de Avaliar se o novo Recombinação entre indivíduo
Aleatório (Npop – 1) inserção e individuo é melhor que o da população e melhor
Riahi (2015) permutação pior individuo indivíduo.
Ribas et al. DABC HPF2(λ ,μ ) (Npop) - - path relinking Avaliar se o novo Inserção para frente, inserção
individuo é melhor que o para trás e permutação é aplicada
(2015) pior individuo em todas as soluções.
Eddaly et al. HCPSO NEH, m-NEH or - - Busca Local Atualizar vetor velocidade -
NEH aleatório (1) Iterativa (ILS)
(2016) Aleatório (Npop – 1)
Guanlong et al. DGSO NEH (1), Maped Crossover - Inserção na - -
77

(2016) NEH_WPT (1), Seleção Aleatória vizinhança


Aleatório (Npop – 1)
(Conclusão.)
Referência Metaheur. Construção Recombinação Modificação Melhoria Atualização da Memória Atualização dos Parâmetros/
Aleatória Vizinhança
Han et al. (2016) MFFO MME (1), Aleatório - - Inserção na Substituir a pior solução Inserção pra frente, inserção para
(Npop – 1) vizinhança pela melhor solução trás ou permutação
(População) encontrada
Tasgetiren et al. VBIH tPF_NEH(X) (Npop) Inserção em bloco - Busca local - -
variável
(2016)
Riahi et al. SS NEH(1), Aleatório Path relinking - Busca Local Avaliar se o novo -
(Npop – 1) individuo é melhor que o
(2017) pior individuo do conjunto
referência
Tasgetiren et al. IG PFT_NEH(x) NEH (d tarefas) - RIS ou melhor - -
permutação
(2017) melhor
permutação
IGVND1 PFT_NEH(x) NEH (d tarefas) - RIS ou melhor - -
permutação (k
vezes)
IGVND2 PFT_NEH(x) NEH (d tarefas) - melhor - -
permutação ou
RIS (k vezes)
Fonte: Autor, 2017.
78

Na Tabela 11 podemos visualizar a classificação das metaheurísticas de acordo com o


problema abordado.

Tabela 11 - Metaheurísticas de acordo com o problema (Continua...)


Problema Metaheuristica Referência
F m|block|Cmax GA Caraffa et al. (2001)
TS Grabowski; Pempera (2007)
HDDE Wang et al. (2010)
IABC Han et al. (2011)
DMS-PSO Liang et al. (2011)
IG Ribas et al. (2011)
hmgHS Wang et al. (2011)
EDE Davendra et al. (2012)
GA Sauer; Sauvey (2012)
DPSO Wang; Tang (2012)
SA Wang et al. (2012)
DSOM Davendra; Bialic-Davendra (2012)
RAIS Lin; Ying (2013)
MA Pan et al. (2013)
VNS Ribas et al. (2013b)
IG Ding et al. (2015)
DABC Han et al. (2015)
Meta-RaPS Sadaqa; Moraga (2015)
HCPSO Eddaly et al. (2016)
MFFO Han et al. (2016)
IG Tasgetiren et al. (2017)
F m|no-wait , block| Cmax TS Grabowski; Pempera (2000)
GA
F m|Wb , block ,RCb *,RCb|Cmax Trabelsi et al. (2012)
ABC Khorramizadeh; Riahi (2015)
SS Riahi et al. (2017)
F2|block , batch , r j| Cmax HDE Chen et al. (2014)
F m|b j , j+1| Cmax TS Nowicki (1999)
TS Li; Tang (2005)
HGA Wang et al. (2006)
HPSO-based Liu et al. (2008)
HDDE Pan et al. (2011)
CHS Pan et al. (2011)
F m|block|∑ Ci hHS; hgHS; hmgHS Wang et al. (2010)
i

(Conclusão.)

F m|block|∑ Ci DABC Deng et al. (2012)


i
IG Khorasanian; Moslehi (2012)
hDABC Han et al. (2013)
DABC Ribas et al. (2015)
79

VBIH Tasgetiren et al. (2016)


F m|block|∑ t TS Armentano; Ronconi (2000)
i
GRASP Ronconi; Henriques (2009)
ILS Ribas et al. (2013a)
F m|block|Cmax + ∑ Ci DGSO Guanlong et al. (2016)
i
Fonte: Autor, 2017.

O primeiro emprego de metaheurísticas para o problema F m|block|Cmax foi o de


Caraffa et al. (2001). Os autores propuseram o Algoritmo Genético para solucionar o
problema F m|block|Cmax . Os autores mostraram que AG superou a heurística GENIUS em
menor tempo computacional na maioria dos problemas testados. Posteriormente, Grabowski e
Pempera (2007) propõem duas versões da Busca Tabu, TS e TS com busca local de
multimovimentos (TS+M). Em ambas as heurísticas, os autores incorporam propriedades do
problema para compor o conjunto de soluções. Resultados computacionais mostraram a
superioridade de TS e TS+M em comparação com AG de Caraffa et al. (2001) e o Branch-
and-Bound de Ronconi (2005). Wang et al. (2010) propõem um algoritmo de Evolução
Diferencial Discreta (DDE) e algoritmo de Evolução Diferencial Híbrido (HDDE). Os autores
comparam as duas metaheurísticas com o algoritmo Evolução Diferencial Híbrida de Qian et
al. (2009), GA de Caraffa et al. (2001) e TS e TS+M de Grabowski and Pempera (2007). Os
resultados computacionais mostraram que DDE e HDDE superaram significativamente os
desempenhos de HDE-Based, GA e TS/TS + M. Han et al. (2011) propõem um algoritmo de
Colônia Artificial de Abelhas Melhorado (IABC). A metaheurística proposta obteve melhores
resultados que HDDE de Wang et al. (2010), GA de Caraffa et al. (2001), TS e TS + M de
Grabowski de Pempera (2007) e DABC de Han et al. (2011). Liang et al. (2011) propõem o
algoritmo Multi-Enxame por Otimizaçào por Enxame de Partículas Dinâmico. O algoritmo
superou TS e TS+M de Grabowski and Pempera (2007) e HDE de Qian et al. (2007) em
qualidade de soluçào. Ribas et al. (2011) desenvolvem duas versões do algoritmo Iterated
Greedy, IG1 e IG2. Os autores utilizaram MME2 como solução inicial e testes
computacionais mostraram que, em geral, IG1 e IG2 obtiveram melhor desempenho que
HDDE de Wang et al. (2010). Wang et al. (2011) propõem três versões do algoritmo Busca
Harmônica: A versão básica de HS, HS global (gHS) e HS global modificado (mGHS). As
metaheurísticas propostas superaram em qualidade de solução as metaheurísticas HGA de
Wang et al. (2006), TS + M de Grabowski de Pempera (2007), PSO híbrido de Liu et al.
(2008) e IG de Ribas et al. (2011). Davendra et al. (2012) propõem uma versão do algoritmo
80

de Evolução Diferencial (EDEC). Os autores compararam EDEC com GA de Caraffa et al.


(2000), TS e TS + M de Grabowski e Pempera (2007), HDE de Qian et al. (2009) e HDDE de
Wang et al. (2010). Os resultados computacionais mostraram que EDEC superou as outras
metaheurísticas em todos os aspectos de desempenho. Wang e Tang (2012) propõem uma
versão do algoritmo Otimização Discreta por Enxame de Partículas com estratégia de controle
de diversidade auto-adaptável. A metaheurística proposta superou em desempenho as
metaheursíticas TS+M de Grabowski e Pempera (2007) e os algoritmos DPSO de
Rameshkumar et al. (2005) e Ponnambalam et al (2009). Wang et al. (2012) empregam na
Terceira fase do algoritmo TPA a metaheurística Simulated Annealing. Em geral, os autores
confirmaram por testes computacionais que TPA superou HDDE de Wang et al. (2007) e IG1
e IG2 de Ribas et al. (2011) em qualidade de solução. Davendra e Bialic-Davendra (2013)
propõem o algoritmo migração auto-organizável discreto. Os autores concluem que DSOMA
supera o Branch & Bound de Ronconi (2005), HDDE by Wang et al. (2010) e TS + M de
Grabowski e Pempera (2007) em desempenho. Lin e Ying (2013) propõem o algoritmo
Sistema Imunológico Artificial Revisado e o algoritmo Sistema Imunológico Artificial Puro
(PAIS). RAIS consiste em uma combinação entre AIS e SA. Os autores comparam RAIS e
PAIS com TS+M de Grabowski and Pempera (2007), o branch-and-bound de Ronconi (2005),
HDDE de Wang et al. (2010) e IG de Ribas et al. (2011). Testes computacionais comprovam
que RAIS supera significativamente em desempenho todas as outras metaheurísticas. Pan et
al. (2013) comparam sua versão do Algoritmo Memético com HDDE de Wang et al. (2010),
IG de Ribas et al. (2011), HGA de Wang et al. (2006), HPSO de Liu et al. (2008), DPSO de
Wang e Tang (2012) e três versões de Algoritmo Genético Híbrido de Tseng e Lin (2010a) e
Tseng e Lin (2010b). Resultados computacionais mostram que MA supera todas as outras
heurísticas da literatura. Ribas et al. (2013b) propõem duas versões do Algoritmo de Busca
em vizinhança variável PVNS_S e SVNS. Por meio dos resultados computacionais, ambas as
heurísticas superam em desempenho as metaheurísticas HDDE de Wang et al. (2010) e IGA
de Ribas et al. (2011). Ding et al. (2015) incorporam novas propriedades do bloqueio em um
algoritmo baseado em Iterated Greedy. Para testar o IG proposto, os autores compararam a
referida metaheurística com HDDE de Wang et al. (2010), IG de Ribas, Companys e Tort-
Martorell (2011), TPA de Wang et al. (2012), RAIS de Lin e Ying (2013) e MA de Pan et al.
(2013). B-IG superou as outras metaheuristicas e mostrou ser mais efetiva para problemas de
médio e grande porte. Han et al., (2015) propõem um algoritmo híbrido de Evolução artificial
e o Colônia Artificial de Abelhas. A metaheurística superou em qualidade de solução as
metaheurísticas TS +M de Grabowski e Pempera (2007), HDDE de Wang et al. (2010),
81

DABC de Han et al. (2011), IABC de Han et al. (2012), DPSOsvns de Wang and Tang
(2012) e EDEc de Davendra et al. (2012). Sadaqa e Moraga (2015) propõem a Metaheurística
para busca aleatória (Meta-RaPS). Meta-RaPS consiste em construir uma solução inicial por
mecanismos aleatórios e por meio o procedimento de construção de NEH, geram a soluçao. A
metaheurística superou mNEH de Wang et al. (2012) em problemas de pequeno porte, uma
vez que o componenete aleatório começa a ser mais significante a medidade que o número de
tarefas aumentam. Entretanto, Meta-RaPS apresentou resultados piores que DE-ABC de Han
et al. (2015). Eddaly et al. (2016) propõem o algoritmo Otimização por Enxame de Partículas
Combinatoria (CPSAO) e uma versão Híbrida do algoritmo com A Busca Local Iterativa
(HCPSO). Os resultados computacionais mostraram que a heurística proposta supera em
qualidade de solução as metaheurísticas GA de Caraffa et al. (2001), TS de Grabowski e
Pempera (2007) e HDDE de Wang et al. (2010). Han et al. (2016) propõe o algoritmo
Otimização por moscas das frutas modificado (MFFO). Em comparação com HDDE de Wang
et al. (2010), IG de Ribas et al. (2012), EDE de Davendra et al. (2012), DABC de Han et al.
(2011), IABC de Han et al. (2012) e DE-ABC de Han et al. (2015), os autores constataram
que MFFO apresenta o melhor desempenho. Tasgetiren et al. (2017) propõem duas versões
do algoritmo Iterated Greedy (IG_IJ e IG_RIS) e duas versões de Iterated Greedy com
Variable Search Neighborhood (VNS) com a adição das buscas locais Reference Insertion
Scheme (RIS) e Best Swap Neighborhood. Os autores compararam suas metaheurísticas com
IGA de Ribas et al. (2011), HDDE de HDDE de Wang et al. (2010), e Pan et al. (2013) e
variações de VNS e SVNS de Ribas e Companys (2013). Os resultados experimentais
msotraram que IG_RIS e e IG_IJ obtiveram melhores resultados que todas as heurísticsa da
literatura.
As melhores soluções encontradas para o banco de problemas de Taillard com
minimização de Cmax podem ser vistos em Grabowski e Pempera (2007), Wang et al. (2010),
Ribas et al. (2011), Davendra et al. (2012), Wang e Tang (2012), Wang et al. (2012),
Davendra e Bialic-Davendra (2013), Lin e Ying (2013), Pan et al. (2013), Ribas e Companys
(2013), Ding et al. (2015), Han et al., (2015b), Eddaly et al. (2016), Han et al. (2016) e
Tasgetiren et al. (2017).
Para o problemaF m|block|∑ Ci , a primeira publicação reportada foi a proposição de
três versões do algoritmo de Busca Harmônica por Wang et al. (2010). As três
metaheurísticas foram comparadas entre si. A versão modificada da Busca Harmônica Global
(hmgHS) foi a que gerou a maioria das melhores soluções para o banco de problemas de
Taillard (1993). Deng et al. (2012) propõem o algoritmo de Colônia Artificial de Abelhas
82

Discreto (DABC). Os autores a metaheurística com DABC de Tasgetiren et al. (2007), HDDE
de Wang et al. (2010), e o algoritmo Iterated Greedy de Ruiz and Stutzle (2007). Resultados
computacionais mostram que o DABC proposto é estatísticamente melhor que os outros
métodos. Khorasanian e Moslehi, (2012) propõem duas versões do algoritmo IG. As
metaheurísticas apresentaram melhor desempenho que hmgHS de Wang et al. (2010). Han et
al. (2013) propõem três versões do algoritmo Colônia Artificial de Abelhas Híbrido Discreto.
Os autores comparam HDABC com as metaheurísticas de Wang et al. (2010). Das
observações experimentais, os autores concluem que os algoritmos propostos são mais
efetivos e eficientes que os algoritmos de Busca Harmônica. Ribas et al. (2015) propõem o
algoritmo Colônia Artificial de Abelhas Discreto. DABC é comparado com as metaheurísticas
de Wang et al. (2010), DABC de Deng et al. (2012) e IG de Khorasanian and Moslehi (2012).
Por fim, resultados computacionais mostraram que o DABC_RCT apresentou superou em
desempenho os outros algoritmos. Tasgetiren et al., (2016) propõem o método Variable Block
Insertion Heuristic (VBIH). VBIH insere em um número máximo de posições aleatórias cada
subsequência de tarefas com bloqueio de todos os tamanhos. VBIH também aplica uma Busca
Local Variável para tentar melhorar a sequência gerada. Resultados computacionais
mostraram que a metaheurística superou DABC de (RIBAS et al., 2015b). Em todas as
publicações encontradas, os autores apresentam as melhores soluções encontradas para o
banco de problemas de Taillard (1993).

Para o problema F m|block|∑ t i , encontramos como primeira publicação o emprego da


i

metaheurística Busca Tabu de Armentano e Ronconi (2000). Aplicando diferentes estratégias


de intensificação e de diversificação da busca, os autores concluem que a versão básica do
algoritmo TS gera excelentes resultados e é mais fácil para implementação. Ronconi e
Henriques (2009) propõem duas versões da metaheurística GRASP: GRASP básico e GRASP
com path relinking. De 540 problemas avaliados, a versão básica de GRASP encontrou
valores ótimos em 287 problemas enquanto GRASP com path relinking encontrou 297
valores ótimos. Ribas et al. (2013a) propõem uma versão do algoritmo Busca Local Iterativa
com Procura pela vizinhaça Variável (ILSVNS). A metaheurística foi comparada com IG de
Ribas et al. (2011). Os resultados obtidos mostram que quanto mais complexo o problema,
mais recomendado é uso de ILSVNS. Por fim, os autores geram o banco de melhores soluções
encontradas.
Para o problema F m|b j , j+1| Cmax , Nowicki (1999) incorporam propriedades de bloqueio
em um algoritmo de Busca Tabu. Os autores comparam a metaheurística proposta com as
83

versões Simulated Annealing e Fast Simulated Annealing de Van et al. (1990). Por meio de
resultados experimentais, o autor conclui que no caso com estoques intermediários diferentes
de zero a Busca Tabu superou todas as outras heurísticas em qualidade de solução. Li e Tang
(2005) propõem novas propriedades e um método de aceleração para convergência de
soluções na metaheurística Busca Tabu. Os autores testaram diferentes versões das
heurísticas, empregando o método de aceleração e incorporando as propriedades do problema.
A versão com propriedades e acelerador obteve o melhor desempenho. Wang et al. (2006)
propõem um Algoritmo Genético Híbrido incorporando propriedades desenvolvidas por
Nowicki (1999). Os autores testam diferentes tamanhos de estoques intermediários.
Comparando HGA com a versão básica de GA, TS de Nowicki (1999) e SA de Ogbu e Smith
(1990), resultados experimentais mostram a superioridade do método. Liu et al. (2008)
propõem um algoritmo de Otimização por Enxame de Partículas Híbrido (HPSO),
incorporando buscas locais com propriedades desenvolvidas por Nowicki (1999) e o
algoritmo Simulated Annealing com estratégia de aprendizado meta-lamarckiano. Os autores
comparam HPSO com a versão básica do Algoritmo Genético, TS de Nowicki (1999), PSOVNS
de Tasgetiren et al. (2004), SA e HGA de Wang et al. (2006). Resultados computacionais
mostram que HPSO é competitiva em relação a TS e HGA. Pan et al. (2011) propõem uma
versão do Algoritmo de Busca Harmônica Caótica. Os autores testam a metaheurística
proposta em vários cenários com as metaheurísticas Busca Harmônica Melhorada (HIS) de
Mahdavi et al. (2007), HGA de Wang et al. (2006), Busca Harmônica do Melhor Global de
Omran (2008), HPSO de Liu et al. (2008). Resultados computacionais mostraram que a
heurística supera em desempenho as outras no cenário de B = 0, e é competitiva em outros
cenários. Pan et al. (2011) compara o algoritmo Evolução Diferencial Discreta Híbrida com
HGA de Wang et al. (2006), HPSO de Liu et al. (2008), P_DDE de Pan et al. (2008),
W_DDE de Wang et al. (2010). Resultados experimentais demonstraram que HDDE superou
todos outros métodos em qualidade de solução e robustez.
Para o problema F m|Wb , block ,RCb *,RCb|Cmax, Trabelsi et al. (2012) propõem um
Algoritmo Genético que mostrou ser muito eficiente para pequeno número de tarefas.
Khorramizadeh e Riahi (2015) propõem um algoritmo de Colônia de Abelhas que superou o
Algoritmo Genético de Trabelsi et al. (2012). Riahi et al. (2017) propõem um Scatter Search
Algorithm para o mesmo problema. O algoritmo proposto obteve melhores resultados que em
relação ao Algoritmo Genético de Trabelsi et al. (2012) e o Algoritmo da Colônia de Abelhas
de Khorramizadeh e Riahi (2015).
84

Grabowski e Pempera (2000) propõe o algoritmo Busca Tabu para o problema


F m|no-wait , block| Cmax . Além da aplicação em um ambiente real, resultados computacionais
mostram que a metaheurística é mais eficiente e efetiva que SPIRIT de Widmer e Hertz,
(1989).
Chen et al. (2014) propõem o algoritmo Evolução Diferencial Discreta Híbrida
(HDDE) para o problema F2|block , batch , r j| Cmax . Os autores compararam HDDE com
Simulated Annealing de Manjeshwar et al. (2009) e Algoritmo Genético de Manjeshwar et al.
(2011). Resultados computacionais mostraram que a HDDE é mais robusto que as outras
metaheurísticas testadas.
Guanlong et al. (2016) propõem o algoritmo Discrete Group Search Optimizer
(DGSO) para o problema bicritério F m|block|Cmax + ∑ Ci. Os autores empregaram a curva
de Pareto para solucionar o problema. DGSO foi comparada com um Algoritmo Genético
(NSGA-II) de Deb et al. (2002) e um Simulated Annealing (BMSA) proposto por Lin e Ying
(2013). Os resultados computacionais mostraram que MDGSO provou ser superior a NSGA e
BMSA.

3.2 PROBLEMAS DE SCHEDULING COM MANUTENÇÃO PREVENTIVA

A vasta maioria dos problemas de scheduling consideram a hipótese de que a máquina


está sempre disponível para processar as tarefas. Entretanto, sabe-se que em ambientes
industriais, as máquinas estão sujeitas a quebras. Recentemente, pesquisas têm sido
direcionadas a estudar os aspectos envolvidos com a hipótese de disponibilidade da máquina
(MA et al., 2010). A máquina pode se tornar indisponível devido a uma quebra de máquina
ou a uma manutenção preventiva durante o período de programação. Quando a
indisponibilidade é dada por MP, dois casos são possíveis. Em um dos casos, o período de
manutenção é fixado antecipadamente, o que se denomina como caso determinístico. A outra
quando os períodos de manutenção também são variáveis de decisão, ou seja, a programação
das tarefas e a manutenção da máquina são feitas simultaneamente. Quando as
indisponibilidades ocorrem devido à quebra de máquinas, denomina-se caso estocástico, as
quebras e reparos são aleatórias (MA et al., 2010). Nesta pesquisa adotamos o caso
85

determinístico nos dois casos de indisponibilidade de uma MP, logo, não consideramos o caso
estocástico como parte da revisão de literatura.
Como já pontauado no Capítulo 2, a preempção se refere a interrupção do
processamento da tarefa dada a ocorrência de indisponibilidade de máquina. Da perspectiva
do efeito da indisponibilidade da máquina à tarefa interrompida, três casos podem ocorrer:
a) Retomável (res) – Neste caso, se uma operação não pode ser finalizada antes do início
do período de indisponibilidade, esta operação pode ser finalizada após o período de
término de indisponibilidade;
b) Não retomável (n-r) – Neste caso, a operação interrompida deve ser totalmente
reiniciada, ou seja, não permite preempção;
c) Semi-retomável (s-r) – Neste caso, as operações devem ser parcialmente reiniciadas
após o instante de término de indisponibilidade da máquina.

Um outro aspecto da MP em relação ao problema de scheduling é o período de


realização da MP, ou seja, o intervalo entre manutenções preventivas. O problema de
scheduling com MP pode ser definido da seguinte maneira: Há um conjunto de n tarefas
J i = { J1 ,…, J n } e um conjunto de m máquinas M k = { M 1 ,…, M m } que está sujeita a
indisponibilidades durante o período de programação dentro de Sk frequências, dado os

intervalos de tempo [ Bsk ; F sk ] , s = 1, …, Sk e Bsk+1 ≥ Fsk para todo s = 1, …, S k -1.Bsk denota o

instante de início e F sk denota o instante de término do período de indisponibilidade na


máquina M k . O objetivo é sequenciar as n tarefas de modo que alguma função objetivo seja
minimizada. De acordo com as publicações encontradas, os intervalos entre manutenções
preventivas podem ser dados como:
 Intervalos Fixos e parametrizáveis – A MP deve ser realizada no máximo até o
período T, estabelecido pelo programador. Após o período T, a máquina pode quebrar,
num cenário mais provável, ou a velocidade de produção pode diminuir;
 Estado de degradação da máquina – A MP deve ser realizada após a máquina atingir
um determinado nível de deterioração. Em muitos casos, o nível de deterioração é
descrito como uma função que decresce a medida que as tarefas vão sendo
processadas. Cada tarefa pode ou não possuir uma taxa de deterioração;
 Baseada no processamento das tarefas – A MP é realizada para recuperar a velocidade
de produção após o processamento de um certo número de tarefas. Neste caso, a
86

velocidade de processamento é descrita como uma função que decresce a medida que
as tarefas vão sendo processadas;
 Intervalos de manutenção baseadas nas distribuições de probabilidades – O intervalo
entre MP’s é calculado por meio de uma função baseada em alguma função de
distribuição de probabilidade. Nesta revisão, encontramos a distribuição de Weibull e
a Exponencial para descrever o comportamento de vida da máquina;
 Frequências de MP’s – A MP é realizada k vezes dentro do período de programação.
Neste caso, após atingir um certo período máximo T, a MP é realizada.

Além das descritas no Capítulo 2, listamos a seguir outras notações pertinentes aos
trabalhos encontrados:
∑ w i Ti – Soma ponderada dos atrasos;
∑ ( T i + Ei ) – Soma dos adiantamentos e atrasos;
∑ ¿¿ – Custos de Produção e de Manutenção;
∑ w i Ci – Soma ponderada do tempo de fluxo;
Lmax – Máximo atraso;

∑ Ts , m+ Cmax – soma entre tempo total de atraso da atividade de manutenção e da duração


total da programação;
∑ Ts , m+∑ T i – soma dos atrasos totais de manutenção e das tarefas;
∑ ( Es ,m + Ts ,m ) +Cmax – soma entre tempo total de atraso e de adiantamento da atividade de
manutenção e da duração total da programação;
n n

∑ ∑ π j x j, q T j – soma entre custos de manutenção e de atraso das tarefas;


j=1 q =1

∑ ( α Ei +β T i +γ d +δ D ) – Soma do adiantamento total, o atraso e o local, tamanho, instante de


início e custos do tamanho da janela de entrega.
res – Caso retomável
s-r – Caso semi-retomável
n-r – Caso não retomável
ma ≤ k 0 – Atividades de MP (ma) definida pela frequência de MP durante a programação
ma [ u , v ] - Atividades de MP devem ser realizadas dentro do intervalo [u,v];
ma = NM j - Atividades de MP definida pelo nível de manutenção da máquina j;
87

ma = pi r a – Atividades de MP (ma) definida pela velocidade da máquina que está sujeita a


uma taxa decrescente r a do tempo de processamento da tarefa i que ocupa na posição r;
ma × t – duração da MP definida por uma função linear que cresce a partir do instante de
início da programação;
aging – Máquina sujeita a envelhecimento;
r i – Datas de liberação;
c ( d i ) – Data (janela) de entrega comum;
LE – Efeitos de aprendizado dos operadores
nonperm – Não permutacional
B – número de lotes de tarefas
ord – flow shop ordenado;
r i – Datas de liberação
hk – restrição de indisponibilidade da máquina k
s i ,k – tempo de setup independente da sequência
l i ,k – tempo de limpeza da máquina k após processamento da tarefa i
t i , k -1, k – tempo de transporte da tarefa i entre as máquinas k – 1 e k
s i , j ,k – tempo de setup dependente da sequência.

Subidividimos esta seção de acordo com o ambiente de máquinas encontrado:


Máquina Única; Máquinas Paralelas; Flow Shop e; Flow Shop Flexível/Híbrido

3.2.1 Máquina Única

Graves e Lee (1999) estudam o problema de manutenção preventiva (MP) e a hipótese


semi-retomável. Se a tarefa não pode ser terminada antes do período de indisponibilidade, o
setup é realizado novamente, porém a tarefa é retomável. A MP deve ser realizada dentro de
um período T. O objetivo é minimizar ∑ w i Ci e Lmax , ambos considerados NP-completo.
Lee e Lin (2001) tratam das atividades de MP com taxas reparadoras de velocidade de
processamento das máquinas. O objetivo é sequenciar as tarefas e a MP simultaneamente. Os
88

autores consideram os casos retomável e não retomável e propõem alguns algoritmos

polinomiais para os problemas de minimização de Cmax , ∑ Ti e ∑ Ci .


i i

Cassady e Kutanoglu (2003) propõe uma modelo integrado que determina o


sequenciamento da produção e o planejamento das MP’s para a minimização de ∑ w i Ti . O
intervalo entre manutenções preventivas é dado por meio de uma política de MP baseada na
distribuição de Weibull.
Sortrakul et al. (2005) desenvolvem um Algoritmo Genético para solucionar o
problema integrado de manutenção preventiva e scheduling, introduzido por Cassady e
Kutanoglu (2003), para minimização de ∑ w i Ci .
Raza et al. (2007) consideram a programação conjunta de tarefas e operações de MP
em máquina única com o objetivo de minimizar a função ∑ ( T i + Ei ) com data de entrega
comum. Propriedades do problema são identificadas e são utilizadas em uma heurística, em
um Tabu Search Híbrido e um Simulated Annealing Híbrido.
Chen (2008) trata do problema onde a máquina deve parar periodicamente para MP
por um tempo w dentro do intervalo [u,v]. O objetivo é minimizar Cmax. Dois modelos de
programação inteiro binário e uma heurística são propostos para o problema.
Mosheiov e Sarig, (2009a) propõem o estudo do problema de máquina única com o
problema de designação de janelas de entrega e atividades de manutenção preventiva que
modificam a velocidade de processamento da tarefa. Os autores propõem um algoritmo
polinomial para o problema.
Mosheiov e Sarig, (2009b) avaliam o problema de quando a atividade de MP pode ser
iniciada e terminada em qualquer instante dado um período T e uma deadline. O objetivo é
minimizar ∑ w i Ci . Os autores provam que o problema é NP-difícil e propõe um algoritmo de
programação dinâmica e uma heurística baseada em WSPT para o problema.
Qi et al. (1999) estudam o problema de máquina única com manutenção preventiva.
Em muitos casos, uma máquina deve ser reparada após trabalhar continuamente por um
período de tempo. O objetivo é minimizar o tempo total de fluxo das tarefas. Os autores
provam que o problema é NP-Difícil. Três heurísticas e um branch & bound são propostos.
Xu et al. (2010) assumem que o tempo necessário para realizar uma atividade de MP é
uma função crescente linear do tempo total de processamento das tarefas. O comprimento do
intervalo de tempo entre duas atividades de MP é fixo. O objetivo é minimizar Cmax. Os
autores propõem algoritmos polinomiais para o problema.
89

Yang e Yang (2010) consideram o efeito de envelhecimento da máquina e que a


máquina está sujeita a várias atividades de MP durante o horizonte de programação e a
duração de cada manutenção é uma função variável. O objetivo é a minimizar Cmax. Os autores
mostram que todos os problemas estudados são polinomialmente solucionáveis.
Zhao e Tang (2010) consideram o efeito de envelhecimento da máquina, onde o tempo
de processamento de uma tarefa depende de sua posição na sequência. O objetivo é programar
as tarefas e as atividades de MP, para minimizar Cmax. Os autores propõem um algoritmo em
tempo polinomial para solucionar o problema.
Bock et al. (2012) estudam o problema onde intervalo entre MP’s é definido por uma
função linear que decresce a medida que cada tarefa é processada. Os autores estudam os
casos de quando uma atividade de MP repara a máquina ao seu nível nível máximo (NMmax) w

a um nível parcial. Os autores estudam os casos de minimização de Cmax, ∑ w i Ci e ∑ Ti e


i i

propõem algoritmos polinomiais para todos os casos.


Cheng et al. (2012) investigam o problema de uma janela de entrega comum e tarefas
que deterioram a máquina e uma única atividade de MP. Os autores propõem um algoritmo

polinomial para o problema. O objetivo do problema é minimizar ∑ ( α Ei +β T i +γ d +δ D ). A


duração da MP é uma função linear que cresce a partir do início do processamento.
Mor e Mosheiov (2012) estudam o problema de designação de janela de entrega com
atividades de MP. O programador tem a opção de executar uma atividade de MP, que, ao ser
realizada, funciona como uma taxa modificadora que melhora o ritmo de produção. Os
autores propõem algoritmos polinomiais para o problema.
Yang (2012) investigam considerações simultâneas do efeito de deterioração e
aprendizado e uma frequência k de MP’s durante o horizonte de programação. O objetivo é
encontrar a frequência ótima e as posiçõess ótimas de MP e a sequencia ótima das tarefas para

minimizar Cmax e ∑ Ci . Os autores propõem algoritmos polinomiais para o problema.


i

Wang e Liu (2013) estudam o problema de programação de operações e manutenção


preventiva integrados em máquina única com seu tempo de falha sujeito a uma distribuição de
probabilidade de Weibull. O objetivo é minimizar Cmax. Para solucionar este problema, os
autores desenvolvem limitantes inferiores, regras de dominância e um branch & bound.
Zarook et al. (2014) estudam o processamento de lotes com a idade da máquina
baseada no tamanho e na posição dos lotes. Os autores consideram datas de liberação e
tamanho dos lotes arbitrários e atividades de MP com duração fixa. O problema consiste em
90

determinar conjuntamente a frequência da manutenção, a posição das atividades de


manutenção na máquina, o grupo de tarefas nos lotes, e a sequência de lotes na máquina para
minimizar Cmax. Os autores propõem GA e Imprealisit Competitive Colony para o problema.
Luo e Ji (2015) investigam o problema em que o tempo de processamento de uma
tarefa é uma função linear crescente de seu instante de início e uma MP deve ser executada
antes de uma data limite. Os objetivos são minimizar Cmax e ∑ Ci . Os autores provam que os
problemas são NP-difícil e propõem algoritmos polinomiais.
Luo et al. (2015) estudam alguns problemas da programação da MP variável e das
tarefas. A atividade de MP inicia antes de um dado prazo, e sua duração é uma função não
decrescente e positiva de seu instante de início. Estudando os problemas de minimização de

Cmax, ∑ Ci , Tmax e ∑ Ui, os autores mostram que os problemas são polinomialmente


i i

resolvidos.
Xu et al. (2015) consideram o problema com uma única atividade de MP dependente
da carga de trabalho. O instante de início da MP é conhecido e fixo. A duração da MP é uma
função não decrescente e não negativa da carga de trabalho da máquina. O objetivo é
minimizar ∑ Ci . Os autores apresentam um algoritmo PTAS e um algoritmo polinomial.

3.2.2 Máquinas Paralelas

Ashayeri et al. (1996) apresentam um modelo de programação inteira mista para o


planejamento simultâneo da manutenção preventiva (MP) e para a produção em linhas de
produção, representadas por máquinas paralelas. O modelo programa as tarefas e as atividades
de MP, enquanto minimiza a função ∑ C$M$.
Lee e Chen (2000) consideram que cada máquina deve ser reparada uma vez durante o
horizonte de planejamento. O objetivo é minimizar ∑ w i Ci. Os autores estudam o caso em
que há recursos suficientes para reparar as máquinas simultaneamente e o caso em que apenas
uma máquina pode ser reparada a qualquer instante. Os autores mostram que ambos os casos
são NP-difíceis e propõem um branch & bound.
Sun e Li (2010) apresentam o caso de quando as atividades de MP são fixas e
executadas periodicamente para minimizar Cmax e o caso de quando as MP’s são determinadas
91

conjuntamente com a programação das tarefas. Os autores propõem heurísticas para os dois
casos e apresentam o estudo de pior caso.
Rebai et al. (2013) consideram que cada máquina deve ser reparada uma vez durante o
horizonte de planejamento. O objetivo é encontrar uma programação composta pelas
atividades de manutenção e a produção das tarefas para minimizar a função ∑ w i Ci + M $. Os
autores propõem um modelo de programação linear inteira e uma heurística construtiva.
Yang (2013) investiga o problema de scheduling com efeitos de deterioração e
atividades de MP em máquinas paralelas não relacionadas. Os autores assumem que cada
máquina está sujeita a diversas atividades de MP durante o horizonte de programação, e a
duração de manutenção é dependente do tempo de uso da máquina. O objetivo é minimizar

∑ Ci . Os autores propõem algoritmos polinomiais para quando o número de máquinas é fixo.

3.2.3 Flow Shop

Aggoune (2003) estuda o problema de máquinas que estão sujeitas a atividade de


manutenção preventiva (MP). O autor estuda quando os instantes de início de atividades de
MP são fixos e quando a MP deve ser feita em janelas de tempo. O problema é fortemente
NP-difícil. Um Algoritmo Genético e uma Busca Tabu são propostas para minimizar Cmax.
Ruiz et al. (2007) avaliam metaheurísticas e heurísticas construtivas em um flow shop
com m máquinas sujeitas a políticas de manutenção preventiva para minimizar Cmax. Os
autores testam duas políticas de MP baseadas na distribuição de Weibull. Por fim os autores
aplicam diversas metaheurísticas e heurísticas da literatura e comparam seus desempenhos.
Hadda et al. (2008) abordam o problema flow shop com duas máquinas, com MP e
tarefas não retomáveis e o objetivo de minimizar Cmax. Os autores consideram que uma das
máquinas deve ser reparada uma vez durante um período T da programação. Os autores
demonstram que o problema é NP-Difícil. Os autores propõem heurísticas construtivas.
Choi et al. (2010) consideram um problema flow shop ordenado com m máquinas
sujeitas a MP e o objetivo de minimizar Cmax. As MP’s são programadas antecipadamente e as
tarefas são retomáveis. Os autores mostram vários casos e provam que todos os problemas são
NP-Difíceis. Os autores propõem algoritmos polinomiais para o problema.
92

Safari et al. (2010) estudam o problema de programação flow shop sob condições de
manutenção baseada na condição para minimizar Cmax. Os autores propõe a metaheurística
Hybrid Simulated Annealing-Tabu Search. O método proposto foca no caso não-retomável,
onde a tarefa precisa ser completamente reiniciada.
Khelifati e Benbouzid-Sitayeb (2011) propõem uma abordagem distribuída usando o
paradigma do multiagente no problema flow shop. O sistema proposto introduz um diálogo
entre a produção e a manutenção. O sistema multiagente proposto é baseado na estratégia de
integração que consiste de uma programação simultânea de produção e MP. O objetivo é
otimizar uma função objetivo que leva em conta tanto a MP como a produção.
Sitayeb et al. (2011) apresentam um estudo comparativo da integração entre
programação de operações e MP de acordo com duas estratégias de programação: sequencial
e integrada para o problema Flow Shop com minimização da função ( ∑ Ts , m +Cmax ). Os
autores propõem um Algoritmo Genético, uma Busca Tabu e a heurística NEH.
Chiu e Shih (2012) estudam a integração que analisa a MP e a reprogramação de
pedidos urgentes em um flow shop com duas máquinas. O modelo é então avaliado usando
dois métodos diferentes de reprogramação. Análises não paramétricas do modelo revelaram
que os métodos se diferem sob situações de pedidos urgentes e MP integradas.
Hnaien e Yalaoui (2013) desenvolvem um modelo para o problema flow shop com

duas máquinas com MP para minimização da função ( ∑ ( Es, m + T s ,m ) +Cmax ) entre a


frequência teórica e a atual. Os autores propõem um modelo de programação inteira e quatro
versões de Algoritmos Genéticos.
Vahedi-Nouri et al. (2013) tratam do problema flow shop não permutacional com m
máquinas, atividades de MP flexíveis e efeitos de aprendizado. Cada máquina tem um número
de atividades de MP que devem ser finalizadas dentro de um intervalo específico. O objetivo
é minimizar a função ∑ Ts , m+∑ T i. Um modelo de programação inteira, uma heurística
melhorativa e duas metaheurísticas são propostos para o problema.
Vahedi-Nouri et al. (2014) estudam um flow shop não permutacional, com efeito de
aprendizado das máquinas, restrições de disponibilidade de máquinas e datas de liberação das
tarefas. Um período de indisponibilidade em cada máquina ocorre para MP. Um novo modelo
de programação inteira linear, uma heurística e um Simulated Annealing são propostos.
Wang e Liu (2014) investigam um problema de otimização integrado de scheduling e
manutenção preventiva (MP) em um flow shop com duas máquinas com tempo até a falha de
93

cada máquina sujeita a uma distribuição de probabilidade de Weibull para minimizar Cmax. Os
autores propõem diferentes versões de Algoritmos Genéticos para o problema.
Yu e Seif (2016) propõem a extensão de nível de manutenção proposta por Bock et al.
(2012) para o problema flow shop permutacional com m máquinas e minimização do custo
total de manutenção e das penalidades pelo atraso das tarefas. Os autores desenvolvem
limitantes inferiores e propõem um Algoritmo Genético e um modelo de programação inteira.

3.2.4 Flow Shop Híbrido/Flexível

Allaoui e Artiba (2004) estudam o problema flow shop híbrido (FSH) sob restrições de
manutenção preventiva (MP), tempos de setup, de limpeza e de transporte, para otimizar Cmax .
Os autores mostram como integrar simulação e otimização para atacar este problema que é
considerado fortemente NP-difícil e propõem diferentes versões de Simulated Annealing.
Zandieh e Gholami (2009) estudam o problema com tempos de setup dependentes da
sequência e máquinas que sofrem quebras estocásaticas para minimizar Cmax. Os autores
consideraram a distribuição exponencial, com MTTF sendo o tempo mínimo entre falhas. Os
autores propuseram o Immune Algorithm para o problema.
Wang e Liu (2014b) investigam o problema multi-objetivo com tarefas não
retomáveis, tempo de setup dependentes da sequência e MP definida por uma distribuição
exponencial em um FSH com uma máquina no estágio 1 e m máquinas paralelas idênticas no
estágio 2. Os autores propõem um Tabu Search multi-objetivo.
Khamseh et al. (2015) integram o flow shop flexível com tempos de setup dependentes
da sequência e MP para minimizar Cmax. A MP é determinada por as duas políticas de MP
apresentadas em Ruiz et al. (2007). Os autores propuseram as metaheurísticas Simulated
Annealing e Algoritmo Genético para o problema.
Na Tabela 12 apresenta-se uma sumarização das publicações encontradas, dispondo o
problema abordado, o período de MP e a técnica de solução proposta.
94

Tabela 12 - Publicações de scheduling com manutenção preventiva (Continua...)


Referência Problema Intervalo entre MP’s Método de Solução
Máquina Única
Graves e Lee (1999) 1|sr , ma = T|∑ wi Ci Intervalo fixo e parametrizável SPT
EDD
1|sr , ma = T|Lmax
Qi et al. (1999) 1|n ,am = T|∑ Ci Intervalo fixo e parametrizável Heurísticas construtivas e branch & bound
Lee e Lin (2001) a
1|nr ( r ), am = p i r |∑ Ci Intervalo é definido pelo Algoritmos polinomiais
programador
1|nr ( r ), am = p i r a|∑ T

1|nr ( r ), am = p i r a| Cmax

Cassady e Kutanoglu 1|nr , am=DP|∑ wi T i Intervalo dado por política de MP Modelo matemático
baseado na distribuição de Weibull
(2003)
Sortrakul et al. 1|nr,am=DP|∑ wi Ci Intervalo dado por política de MP Algoritmos Genéticos
baseado na distribuição de Weibull
(2005)
Raza et al. (2007) 1|c ( d i ), am = T|∑ ( T i + Ei ) Intervalo entre MP’s é fixa. Algoritmo Heurístico, Tabu Search Híbrido e
Simulated Annealing Híbrido
Chen (2008) 1|ma [ u , v ]|Cmax Intervalo é flexível de acordo com Modelo de programação binária inteira e
o horizonte de planejamento heurística construtiva
Mosheiov e Sarig, 1|ma = p i r a , c ( d i )|∑ ( α Ei +β Ti +γ d +δ D )Varia de acordo com o estado de Algoritmo polinomial
uso da máquina
(2009a)
Mosheiov e Sarig, 1|ma = T|∑ wi Ci Flexível de acordo com o Heurística construtiva e programação dinâmica
horizonte de planejamento
(2009b)
Yang e Yang (2010) 1|ma = p i r a , aging|Cmax Varia de acordo com o estado de Algoritmo polinomial
uso da máquina
Yang (2012) 1|ma ≤ k0|∑ Ci Definida pela frequência de AM Algoritmos polinomiais
i
durante a programação
95

1|ma ≤ k0|Cmax
Bock et al. (2012) 1|ma=NM|Cmax Intervalo é definido por uma Algoritmos polinomiais
função linear
1|ma=NM|∑ w i Ci
i

1|ma=NM|∑ T i
i
Cheng et al. (2012) 1|ma × t|∑ ( α Ei +β T i +γ d +δ D ) Apenas uma MP definida pela Algoritmo polinomial
posição ótima na sequência
Mor e Mosheiov, a
1|ma = p i r |∑ ( α Ei +β T i +γ d +δ D ) Intervalo é definido por uma Algoritmo polinomial
função do tempo ou da posição na
(2012)
sequência
Wang e Liu (2013) 1|nr, ma=T| Cmax Intervalo dado por política de MP Branch & Bound
baseado na distribuição de Weibull
Zarook et al. (2014) 1|B , r i , aging , ma = T| Cmax Intervalo entre MP’s é fixo, porém Algoritmos Genéticos e Imperealist
há flexibilidade na execução Competitive Colony
dentro deste intervalo
Luo e Ji (2015) a
1|ma = p i r | Cmax Fixo, porém há flexibilidade na Algoritmos polinomiais
execução dentro deste intervalo
1|ma = p i r a|∑ w i Ci
Luo et al. (2015) 1|ma = p i r a |Cmax Fixo e parametrizável Algoritmos polinomiais

1|ma = p i r a |T max

1|ma = p i r a |∑ Ci
Máquinas Paralelas
Ashayeri et al. (1996) P m|ma|∑ C$M$ Manutenção baseada na condição Modelo de Programação Linear Inteira Mista
Lee e Chen (2000) P m|nr , ma|∑ w i Ci Fixo e parametrizável branch & bound
Sun e Li (2010) P m|nr, ma| Cmax Fixo e parametrizável Métodos heurísticos
Rebai et al. (2013) P m|ma|∑ w i Ci+ M $ Definida pela melhor programação Modelo de Programaçào Linear Inteira e
heurística construtiva
96

Yang (2013) R m|nr , ma ≤ k 0 , pi r a|∑ Ci Definida por frequências de Algoritmos polinomiais


manutenção
Flow Shop
Aggoune (2004) F m|nr , ma=T|Cmax Fixo e parametrizável Algoritmo genético e Tabu Search
Ruiz et al. (2007) F m|nr , ma| Cmax Definida por políticas de MP Metaheurísticas e heurísticas construtivas
baseadas em Weibull
Hadda et al. (2008) F2|nr , ma=T|Cmax Fixo e parametrizável Heurísticas construtivas
Choi et al. (2010) F m|res, ma=T,ord|Cmax Fixo e parametrizável Algoritmos polinomiais
Safari et al. (2010) F m|nr , ma=NM|Cmax Definida pela nível de deterioração Hybrid Simulated Annealing-Tabu Search
da máquina
Khelifati e F m|nr , ma=T|(∑ T s ,m +Cmax ) Fixo e parametrizável Algoritmo de para Sistema multi-agente
Benbouzid-Sitayeb

(2011)
Sitayeb et al. (2011) F m|nr , ma=T|(∑ T s ,m +Cmax ) Fixo e parametrizável Algoritmo Genético, Tabu Search e NEH.
Hnaien e Yalaoui F m|nr , ma ≤ k 0|( ∑ ( Es , m + T s, m ) +Cmax ) Definida por frequências de Modelo de Programação Inteira, Algoritmos
manutenção Genéticos
(2013)
Vahedi-Nouri et al. F m|nr , nonperm,ma ≤ k0 ,LE|∑ Ci Definida por frequências de Programação Inteira, Heurística construtiva e
manutenção Simulated Annealing
(2013)
Vahedi-Nouri et al. Definida
F m|nr, hk , nonperm,ma ≤ k 0 , LE|∑ T s, m + ∑ T i por frequências de Programação inteira, Hybrid Firefly,
manutenção Simulated Annealing e heurística construtiva.
(2014)
Wang e Liu (2014) F2|nr , ma=DP|Cmax Definida pela distribuição de Algoritmos Genéticos
Weibull
n n Definido pelo nível de manutenção Modelo de programação inteira e Algoritmo
Yu e Seif (2016)
F m|nr , ma = NM|∑ ∑ π j x jq T j
j=1 q=1
da máquina Genético
Flow Shop Híbrido/Flexível
Allaoui e Artiba FSH m |nr , ma, s i , k , l i , k , t i ,k -1,k| Cmax Definida por frequências de Simulated Annealing
manutenção
(2004)
Zandieh e Gholami FSH m |nr , ma=DP, s i , j, k|Cmax Definido pela distribuição Immune Algorithm
97

(2009) exponencial
Wang e Liu (2014b) FSH 2|1, m |nr , ma=DP, s i , j ,k| Cmax Definido pela distribuição Tabu Search
exponencial
Khamseh et al. FSH m |nr , ma=DP, s i , j, k|Cmax Definido por políticas baseadas na Simulated Anneling e Algoritmo Genético
distribuição de Weibull
(2015)
Fonte: Autor, 2017.
98

3.3 CONSIDERAÇÕES FINAIS

Neste capítulo, apresentamos uma revisão e classificação de publicações encontradas


para o problema flow shop com bloqueio. Classificamos as publicações de acordo com o
ambiente de produção considerado, com as restrições adicionais adotadas, com o critério de
desempenho adotado e com o método de solução proposto. Conseguimos cobrir, a partir da
última revisão realizada em 1996 por Hall e Sriskandarajah (1996), um total de 64 artigos.
Em relação as características do ambiente de máquinas, a maior parte de publicações
são voltadas para o problema de n tarefas, m máquinas e somente a restrição de bloqueio.
Recentemente, diferentes abordagens de bloqueio, assim como a combinação de diferentes
condições de estoque intermediário em um mesmo flow shop estão sendo abordadas.
Em relação à função objetivo, é predominante e notório que a adoção do makespan,
por ser um dos critérios de desempenho mais estudados na área de scheduling determinístico.
Entretanto, podemos notar um crescimento, em especial nos últimos anos, de publicações que
tratam do tempo total de fluxo, do atraso total e de funções multi-objetivo.
Em relação aos métodos de solução, dada a complexidade do problema, podemos
observar uma predominância maior em proposição de métodos heurísticos. Neste sentido,
identificamos uma tendência maior, em especial nos últimos anos, da proposição de
metaheurísticas, em especial algoritmos que utilizam populações como Algoritmo Genético,
Busca Harmônica, Colônia Artificial de Abelhas, Evolução Diferencial e Otimização por
Enxame de Partículas. Em questão de desempenho dos métodos, pode-se observar que o
banco de problemas de Taillard (1993) tem sido utilizado como forma de avaliação. Neste
sentido, a literatura contempla uma atualização das melhores soluções para o problema, que
podem ser utilizadas também para avaliação da qualidade de solução de métodos propostos.
Por se tratar de um problema recentemente estudado, oportunidades de pesquisa
futuras podem ser sugeridas como segue:
 Adição de restrições adicionais ao problema flow shop com bloqueio, tais como setup
dependente da sequência, restrições de disponibilidade de máquina, recursos de
máquinas compartilhados (single server) e também uma forma mais ampla de
avaliação do sistema de sequenciamento, como o estudo do flow shop distribuído;
 Estudos de cenários envolvendo estágios com e sem possibilidade de estoques
intermediários entre máquinas, adicionando restrições adicionais;
99

 Proposição de métodos heurísticos construtivos para critérios de desempenho


envolvendo datas de entrega, uma vez que pode-se observar uma lacuna de
oportunidades nessa área. outras oportunidades também podem ser vistas em funções-
objetivos sujeitas a outros critérios de desempenho como pode ser visto em Aydilek e
Allahverdi (2012), Allahverdi e Aydilek (2013) e Allahverdi e Aydilek (2014). Por
fim, o estudo de funções multi-objetivo, utilizando a abordagem da curva de Pareto
ou também do critério de ponderação também são oportunidades de pesquisa;
 Proposição de métodos heurísticos envolvendo geração da sequência inicial,
procedimentos de construção, critérios de desempate entre sequências parciais e
buscas locais para melhoria da solução para problemas flow shop com bloqueio e
adição de outras restrições;
 Proposição de metaheurísticas para problemas com restrições adicionais levantadas
anteriormente. Neste caso, a proposição da metaheurística envolve um estudo
detalhado da melhor combinação entre solução inicial utilizada, configurações de
parâmetros e mecanismos de busca para o problema em específico.
100

4 DEFINIÇÃO DO PROBLEMA

Neste capítulo, os problemas a serem estudados serão apresentados. Como já pontuado


nos capítulos anteriores, adotou-se o problema de scheduling flow shop com m máquinas, com
bloqueio, com tempos de setup dependentes da sequência e com inclusão de manutenção
preventiva (MP) nas máquinas como hipóteses adicionais. Este capítulo estrutura-se em três
seções: A primeira seção trata da definição das hipóteses consideradas para os problemas
abordados. A segunda seção dedica-se a apresentação da abordagem de MP adotada e a
terceira seção apresenta a integração entre o problema de scheduling e de MP.

4.1 PROBLEMA DE SCHEDULING FLOW SHOP COM BLOQUEIO E SETUP


DEPENDENTE DA SEQUÊNCIA

O problema de scheduling estudado pode ser formalmente definido como: um


conjunto de n tarefas devem ser processadas em um ambiente flow shop com m máquinas em
série. Cada tarefa é processada por todas as máquinas em um fluxo de produção sequencial e
padrão. A operação da tarefa i ( i = 1, ... , n ) na máquina j ( j = 1, ... , m ) possui um tempo
de processamento pi , j. Denotamos como p[i ], j o tempo de processamento da tarefa que ocupa a
posição i da sequência na máquina j. O objetivo geral do problema é fornecer uma sequência
de n tarefas para minimizar o critério de desempenho adotado.
Em linhas gerais, as seguintes hipóteses são adicionadas a este estudo:
 A prioridade de processamento das tarefas em cada máquina segue a regra First In
First Out (FIFO), ou seja, a sequência de processamento das tarefas gerada na
primeira máquina é a mesma para todas as outras máquinas. Na literatura, denomina-
se este problema como Flow Shop Permutacional (GUPTA; STAFFORD JR, 2006);
 O ambiente flow shop é composto por m estágios de processamento ( m ≥ 2 ), sendo
que cada estágio é constituído por apenas uma máquina;
 Uma máquina pode processar apenas uma tarefa por vez;
 Uma tarefa pode ser processada por apenas uma máquina por vez;
101

 Não há estoques intermediários entre as máquinas, ou seja, trata-se de um flow shop


com bloqueio. Então, se o processamento da tarefa i na máquina j + 1 não estiver
finalizado, a tarefa i + 1 permanecerá na máquina j bloqueando outras tarefas da
sequência de serem processadas até que a tarefa i inicie o processamento na máquina j
+ 2 libere a máquina j + 1 para processar a tarefa i + 1;
 Os tempos de setup são separados dos tempos de processamento, podem ser
antecipados e são dependentes da sequência. O tempo de setup da máquina k para uma
tarefa j que é precedida pela tarefa i é denotado como s i , j ,k ;
 As m máquinas estão sujeitas a manutenções preventivas (MP’s);
 Três medidas de desempenho, ou seja, três problemas são abordados: duração total da
programação (Cmax ), tempo total de fluxo (∑ Ci ) e atraso total (∑ Ti );
 Não é permitida a preempção de tarefas, ou seja, o processamento de uma tarefa não
pode ser interrompido para processar outras tarefas ou para operação de alguma MP.

Na subseção seguinte definimos a abordagem de MP adotada.

4.2 NÍVEL DE MANUTENÇÃO DOS COMPONENTES REPARÁVEIS DA MÁQUINA

Nesta seção descrevemos a abordagem de Manutenção Preventiva (MP) para o


problema estudado. A periodicidade da MP e a taxa de deterioração dos componentes das
máquinas serão adotadas como aspectos da inclusão da MP ao problema. Para a taxa de
deterioração dos componentes das máquinas estabelecemos níveis de manutenção (NM) que
vão linearmente decrescendo durante o processamento das tarefas. Os níveis máximos de
manutenção (periodicidade da MP) são estabelecidos de acordo com as duas políticas de MP
apresentadas no Capítulo 2, que determinam intervalos ótimos de MP para dados critérios: A
Política I, que visa maximizar a disponibilidade da máquina, proposta por Cassady e
Kutanoglu (2003) e a Política II, que tem como objetivo manter uma confiabilidade limiar
mínima para um dado período de produção t, proposta por Ruiz et al. (2007). As atividades de
MP podem ser realizadas a qualquer momento dentro do intervalo determinado pelas
políticas.
102

As atividades de MP são realizadas periodicamente, respeitando o limite máximo do


tempo estabelecido pelas políticas de MP. Devido à condição de não preempção, as MPs são
realizadas entre o término de processamento de uma tarefa e o início de processamento da
tarefa que ocupa a posição adjacente. Dado que uma máquina é composta por vários
componentes reparáveis, determinamos níveis de manutenção (NM) para um número l de
componentes reparáveis de uma máquina j. O conceito de NM aplicado ao problema de
scheduling foi proposto por Bock et al. (2012), para o problema de máquina única.
Posteriormente, Yu e Seif (2016) aplicaram este conceito para o problema flow shop
permutacional.
Denotamos o NM do componente t da máquina j como NMj,t. Sem perca de
generalidade, assumimos que os tempos de processamento são inteiros. NMj,t é representado
por um número inteiro entre 0 e NM max max
j ,t , com NM j ,t > 0. Quanto maior NMj,t, melhor o estado

de operação da máquina. Se NMj,t atinge NM max


j ,t , a máquina está em seu melhor estado. As

atividades de manutenção (AM) do componente t da máquina j podem ser programadas entre


as tarefas que ocupam as posições adjacentes i – 1 e i (i = 1, ..., n) e podem ser denotadas
como AMt[i -1],[ i ], j. Basicamente, o NM é afetado quando: a) as tarefas são processadas,
correspondendo a deterioração da máquina e consequentemente a diminuição do NM e; b)
quando as máquinas param para atividades de MP programadas, aumentado o NM. Se uma
AM é programada após uma certa tarefa, a próxima tarefa não pode iniciar antes que essa AM
tenha sido finalizada. Se, após o processamento de uma certa tarefa, a máquina parar para
realizar AM’s de dois de seus componentes, ambas são realizadas sequencialmente, ou seja,
uma AM após a outra. Um NM negativo está associado com a quebra de máquina, então, uma
programação factível deve assegurar que o NM não ultrapasse valores abaixo de zero para
evitar as indisponibilidades das máquinas. A taxa de deterioração δt , j , i descreve o nível de
deterioração do t-ésimo componente da máquina j (t = 1, ... , l), ou seja, a quantidade
decrescida do NM durante o processamento da tarefa i. Assumimos que a deterioração do
componente t da máquina j ocorre somente durante o processamento da tarefa i.
As seguintes hipóteses são consideradas para este problema:
 A duração de uma MA para um componente reparável é conhecida e invariável. Isto
significa que a MA do componente possui a mesma duração e é realizada por
completo, independente do estado de deterioração da máquina. Uma mesma MA pode
ter uma diferente duração em uma máquina diferente;
103

 Quando uma tarefa está sendo processada, todos os NM’s estão sujeitos a deterioração
de acordo com uma função linear dada por δt,j,i ∙ p i,j onde δt,j,i é a taxa de deterioração
do t-ésimo componente da máquina j causada por uma tarefa i durante seu
processamento e pij é o tempo de processamento da tarefa i;
 Antes de processar a primeira tarefa, todas os NM’s de todas as máquinas estão no seu
nível máximo NM max
j ,t ;

 NM max
j ,t corresponde ao
T MP do componente da máquina para cada NM e é estabelecido
por uma das políticas de MP descritas no Capítulo 2;
 Os recursos (materiais, força de trabalho, operadores, peças para manutenção, etc.)
estão sempre disponíveis para processamento das tarefas e das MA’s e são ilimitados;
max
 A quantidade δt,j,i ∙ p i,j é sempre menor ou igual a NM j ,t , caso contrário, o problema
seria infactível;
 Neste estudo, os tempos de setup não são considerados como tempo de deterioração
do componente da máquina, ou seja, não há diminuição dos NM’s dos componentes
quando os tempos de setup são realizados nas máquinas;
 Não admite-se falhas aleatórias, ou seja, as manutenções corretivas (MC) não serão
consideradas neste estudo.

4.3 SCHEDULING E MANUTENÇÃO PREVENTIVA

Na prática, o problema flow shop com bloqueio ocorre em ambientes que não possuem
ou estão impossibilitados de terem estoques intermediários entre os estágios de produção
(máquinas). Alguns exemplos já estudados podem ser vistos no Capítulo 3. Para incluir
restrições de tempo de setup e manutenção preventiva (MP), suponhamos o exemplo de uma
fábrica de telhas cerâmicas esmaltadas, apresentada por Ruiz et al. (2005). O processo de
produção da telha consiste basicamente das operações de preparação da matéria-prima
(argila), extrusão, prensa de moldagem, secagem, esmaltação, queima, teste de qualidade,
armazenagem, envase e expedição. Devido restrições do processo, não existe estoque
intermediário entre as operações de moldagem e secagem. Deste modo, se existe uma tarefa
em processamento na operação de secagem, esta tarefa bloqueia a operação da tarefa que está
na etapa de moldagem até que a secagem seja finalizada. Como exemplo da relevância do
104

tempo de setup ao problema, suponhamos que a linha de produção está configurada para
produzir o produto telha cerâmica esmaltada da cor preta com dimensões 35 × 35 cm por
exemplo, e deseja-se produzir o produto telha cerâmica esmaltada da cor branco com
dimensões 45 × 45 cm. Um tempo de setup significativo será necessário para configurar os
moldes de 45 × 45 cm na prensa e para limpeza dos equipamentos de esmaltação para
adicionar o esmalte branco. No entanto, a mudança para uma telha amarela de 33 × 33 cm
exigirá apenas a limpeza na linha de esmaltação, uma vez que a prensa de moldagem já está
configurada. Neste caso, podemos definir os tempos de setup como dependentes da sequência
de tarefas. Considerando que cada etapa do processo possui máquinas com componentes
reparáveis que estão sujeitas a falhas após um período de operação, podem-se estabelecer
políticas de MP para os componentes das máquinas, permitindo um melhor gerenciamento
dos recursos. Por exemplo, a manutenção do nível óleo das prensas possui uma periodicidade
de manutenção diferente da manutenção dos componentes do motor da prensa de moldagem.
As taxas de deterioração destes componentes podem ser representadas como funções lineares
do tipo δ k, j ∙ p i , j, que representa a deterioração, em unidades de tempo, do componente k da
máquina j durante o processamento da tarefa i na máquina j. O nível máximo de manutenção
NM max
j ,k pode ser representado pelo intervalo de tempo entre MP’s, que é dado pelas políticas

de MP. Ao atingir o nível mínimo de MP, na prática, existe uma alta probabilidade de quebra
da máquina, e, teoricamente, consideramos que a máquina quebrou. As taxas de deterioração
podem ser representadas pelo número de horas que as máquinas são utilizadas para realizar
suas respectivas operações. Por se tratar de um produto cujas especificações do material
podem afetar a qualidade do produto final, podemos considerar que este é um caso em que
não se admite preempção, ou seja, a interrupção das tarefas deve ser evitada.
Outro exemplo de aplicação prática pode ser visto em Yu e Seif (2016), nas operações
de terraplanagem. Esta atividade é altamente dependente do maquinário utilizado para realizar
a terraplanagem. Os equipamentos mais comuns utilizados para o processo são escavadoras,
carregadores e caminhões de transporte. O primeiro passo é a preparação que consiste em
escavar a terra, operação realizada pelas escavadoras. Na próxima etapa, caminhões
carregadores podem carregar o solo removido em caminhões transportadores de terra.
Finalmente, na etapa de transporte, os caminhões transportam a terra até o ponto de
descarregamento por meio de rotas com diferentes declives e com diferentes condições de
rodovias. Atividades de MP típicas para terraplanagem é geralmente baseada nas horas de
105

serviço do maquinário. Os intervalos de manutenção determinados como o nível máximo de


manutenção são estabelecidos pela empresa fabricante dos veículos (Tabela 13).

Tabela 13 - Intervalos de manutenção (horas) recomendados pela empresa fabricante dos veículos
Máquina 10 50 100 250 500 1.000 2.000 3.000 4.000 5.000 6.000
Escavadoras          
Carregadores       
Caminhões         
Fonte: Adaptado de Yu e Seif (2016).

Os intervalos mostrados na Tabela 13 podem ser considerados o nível máximo de


manutenção NM max
j ,k . Diferentes tarefas são incluídas em cada atividade de manutenção. Por

exemplo, as tarefas inclusas nas atividades de 50 horas são lubrificação, verificação do eixo
de transmissão, etc.
Em um projeto em 4 locais (tarefas) diferentes, em que as operações de terraplanagem
precisam ser feitas, há três máquinas (uma escavadora, um carregador e um caminhão)
disponíveis. Na Tabela 14 apresenta-se os dias necessários para operação das máquinas e as
horas de funcionamento que a máquina pode operar no local.

Tabela 14 - Dias de operação × taxas de deterioração (horas)


Locais (tarefas) Escavadora Carregadora Caminhão
A 20 × 5 20 × 5 40 × 3
B 14 × 8 14 × 6 13 × 8
C 20 × 4 21 × 5 20 × 5
D 30 × 3 40 × 2 30 × 5
Fonte: Adaptado de Yu e Seif (2016).

Note que a quantidade de horas em que uma máquina pode trabalhar em um local pode
ser diferente em outros locais devido a condição do local. Como resultado, as operações
descritas na Tabela 14 são expressas como os dias de uso da máquinas multiplicado pelas
horas que uma máquina pode trabalhar, que pode representar as taxas de deterioração dos
NM’s em horas.
As distâncias entre estes 4 locais podem variar de acordo com a sequência de
processamento estabelecida pelo programador. Por exemplo, a distância entre o local A e o
local B é diferente da distância entre o local A e o local C. Consequentemente, o tempo de
transporte das máquinas até o local de operação pode ser representados como tempos de setup
dependentes da sequência de atuação nos locais. Por questões de custos, a operação de
remoção da terra, feita pela escavadeira, só pode iniciar uma nova tarefa quando a operação
106

carregamento da tarefa anterior já estiver finalizada. O mesmo ocorre entre as operações de


carregamento e transporte do solo. Devido a esta condição, a tarefa atual fica bloqueada até
que a máquina seguinte termine o processamento da tarefa anterior. Podemos então considerar
este problema de programação da terraplanagem como um flow shop com 3 máquinas e com
bloqueio, tempos de setup dependentes da sequência e MP com níveis de manutenção.
A decisão da programação das atividades de MP consiste em determinar entre quais
tarefas as atividades de MP devem ser realizadas, de modo que todas elas sejam realizadas
dentro de seus respectivos intervalos máximos NM max
j ,t . Podemos considerar a atividade de MP

como uma tarefa, que pode ser programada a qualquer momento dentro do seu respectivo
tempo médio entre falhas (MTTF). Como já pontuado por Cassady e Kutanoglu (2003), a
integração entre MP e scheduling gera resultados mais eficazes que em relação a programar
cada uma delas individualmente.
Na Figura 6 mostramos um exemplo em gráfico de gantt do problema flow shop com
duas máquinas, ocorrência de bloqueio, tempos de setup das máquinas dependentes da
sequência de tarefas e ocorrências de MP.

N1 de M1

N2 de M1

N1 de M2
0

N2 de M2
0

M1 S1,1 J1 S1,2,,1 J2 B1,2,1 MA1,1 S2,3,,1 J3 S3,4,,1 J4

M2 S1,2 J1 MA1,2 S1,2,,2 J2 S2,3,,2 J3 MA2,2 S3,4,2 J4

0
C1 C2 C3 C4
Si,j,k Tempo de setup Ji Tarefa MAj,k Atividade de MP

Figura 6 - Problema flow shop com duas máquinas, com bloqueio, com tempos de setup dependentes da
sequência e com ocorrências de manutenção preventiva de dois componentes reparáveis
Fonte: Autor, 2017.

Na Figura 6 apresentamos dois componentes reparáveis, representados por N1 e N2


para cada máquina, cada uma delas com diferentes intervalos de MP. O termo B2,1 expressa o
107

tempo de bloqueio da tarefa 2 na máquina 1. B2,1 é causado pela atividade de manutenção


(AM) do componente 1 na máquina 2 (AM1,2) e pelo tempo de setup da tarefa 1 para a tarefa 2
na máquina 2 (S1,2,2). Por causa deste tempo de bloqueio, M1 está liberada para operar somente
após J2 ser liberada para ser processada em M2. Enquanto J2 é mantida na M1, não é permitido
realizar a AM (AM1,1) nem o setup (S2,3,1) na M1. Por isso, AM1,1 e S2,3,1 são realizadas somente
no início de processamento da J2 na M2.
O nível de manutenção (NM) (Na Figura 6 descrevemos como Nt de Mj) decresce a
medida que as tarefas são processadas. Durante a ocorrência do tempo de setup, o NM
permanece constante. Consideramos que, quando o NM atinge o limite zero, uma AM é
realizada para reparar a máquina ao seu nível máximo NMmax. Caso o NM atinja um valor
abaixo de zero, a MP é realizada entre o início de processamento da tarefa que ocasionará este
valor e o termino de processamento da tarefa predecessora.
De acordo com Graham et al. (1979), as notações dos problemas aqui tratados podem

ser especificados como F m|block , NM jt , s j ,k| Cmax , F m|block , NM jt , s j ,k|∑ Ci e

F m|block , NM jt , s j ,k|∑ T i, onde NM j t descreve o nível de manutenção do componente t na


máquina j.
Uma forma de calcular a ocorrência das AM’s na programação é a partir da sequência
gerada, calcular o NM para cada componente de cada máquina. Como neste estudo cada
tarefa possui uma taxa de deterioração e um tempo de processamento fixo, é possível calcular
as quantidades de deterioração dos componentes das máquinas causada por uma tarefa
independentemente da sequência de tarefas. Esta quantidade é o resultado da expressão
δt,j,i ∙ p i , j dada em unidades de tempo, onde δ t,j,[ i ] representa a taxa de deterioração do
componente t da máquina j durante o processamento da tarefa que ocupa a posição i (J[i]). A
partir daí, subtraímos a quantidade de deterioração do NM do componente t da máquina j (
NM t , j). Se ao inserirmos Jq na sequência e obtermos um NMt,j negativo, uma AM é realizada
entre as tarefas que ocupam as posições J[i-1] e J[i] na máquina j, que denotamos como
AMt[i -1],[ i ], j, para garantir a hipótese de não preemptividade. Então, NMt,j retorna ao valor

NM max
t , j após o processamento da tarefa J[i-1]. Esta rotina de cálculo é feita para todas as tarefas

exceto entre o início do processamento e a primeira tarefa, onde consideramos que todos os
NMt,j estão no nível NM max
t,j .
108

R1,,1 C1,,1 R2,1 C2,1 R3,1 C2,1 R4,1 B4,5,1 R5,1 C5,1
C4,1

M1 S1,1 J1 MA21,2,1 S1,2,,1 J2 1


B2,3,1 MA 2,3,1 S2,3,,1 J3 MA21,2,1 S3,4,,1 J4 MA12,3,1 S4,5,1 J5

R1,,2 C1,,2 R2,2 C2,2 R3,2 C2,2 R4,2 C4,2 R5,2 C5,2

M2 S1,2 J1 MA11,2,2 S1,2,,2 J2 S2,3,,2 J3 MA 2


3,4,2 S3,4,2 J4 S4,5,2 J5

R1,3 C1,,3 R2,3 C2,3 R3,3 R4,3 C4,3 R5,3 C5,3


C2,3 B3,4,3

M3 S1,3 J1 MA11,2,3 S1,2,,2 J2 S2,3,2 J3 MA23,4,3 S3,4,2 J4 MA14,5,3 S4,5,2 J5

R1,4 C1,,4 R2,4 C2,4 R3,4 C2,4 R4,4 C4,4 R5,4 C5,4

M4 S1,4 J1 S1,2,,2 J2 MA22,3,4 S2,3,4 J3 MA13,4,4 S3,4.4 J4 S4.5,4 J5

0
C1 C2 C3 C4 C5
Si,j,k Tempo de setup Ji Tarefa MAti-1,I,j Atividade de MP

Figura 7 - Flow shop com 5 tarefas e com 4 máquinas


Fonte: Autor, 2017.

Se observamos a Figura 7 podemos perceber que o instante de término da tarefa J1 na


máquina M2 (C1,2) é dado por

C1,2 = C1,2 + p1,2 = S1,1 + p1,1 + p1,2

Porém, convém salientar que se caso S1,2 seja maior que o C1,1, ou seja, o instante de
término da J1 na máquina M1, C1,2 é obtido por

C1,2 = S1,2 + p1,2

As mesmas situações podem ocorrer para o restante das máquinas. Para generalizar o
cálculo dos instantes de término da tarefa que ocupa a primeira posição da sequência
denotaremos R[i],j, C[i],j, p[i],j e S[i],j como o instante de início, de término, o tempo de
processamento e o tempo de setup da tarefa que ocupa a posição i na máquina j,
respectivamente. Podemos determinar Ci,j por meio do cálculo do Ri,j de todas as tarefas. O Ri,j
é dado pelo instante em que a Mj está liberada para processar Ji. Podemos então definir o
instante de início da primeira tarefa da sequência em qualquer máquina como

R 1, j = max ( C1,j -1 ; S i , j ) j = 1, …, m
Onde C1,0 = 0.
109

Por fim, o instante de término da primeira tarefa da sequência na máquina j (C1,j) pode
ser facilmente calculado por meio de R1,j:

C1, j = R1 , j + p1, j j = 1, …, m

Da segunda tarefa até a última, torna-se necessário, além do tempo de setup, incluir a
ocorrência das atividades de MP de cada componente t na máquina j. Podemos observar pela
Figura 7 que os instantes de início das tarefas 2 e 4 na M1, são dados por:

l
R [i ],1 = C[ i -1],1 + ∑ AMt[i -1 ] , [i ] ,1 + S[i -1 ], [i ],1 i = 2, 4
t =1

Por outro lado, observamos que o instante de início das tarefas J3 e J5 na M1 é dado por

l
R [i],1 = R [i-1],2 + ∑ AMt[i -1],[ i ],1 + S[i -1],[ i ],1
t =1

As duas situações apresentadas constituem-se nas situações possíveis para cálculo do


instante de término a partir da segunda tarefa da sequência na primeira máquina. Então,
podemos obter o instante de início de qualquer tarefa que ocupa a posição i na M1, R[i],1, pela
seguinte expressão:

l
R [i ],1 = max ( C[ i -1],1 ; R[ i -1],2 ) + ∑ AMt[ i -1] ,[ i] ,1 + S[i -1 ] ,[ i] ,1
t =1

Para a segunda e terceira máquina, M2 e M3 respectivamente, podemos constatar que


também há duas possibilidades de cálculo do instante de início das tarefas:

l
R [i ], j = R [i -1], j +1 + ∑ AMt[i -1 ], [i ], j + S[i -1 ] ,[ i] , j
t =1

Como pode ser visto em R2,2, R2,3, R4,2 e R4,3 e R5,3.

R [i ], j = C[ i ], j-1
110

como em R2,3, R3,2, R3,3 e R5,2.


Podemos então generalizar o cálculo para j = 2, ... , m – 1 incorporando as duas
expressões:

(
R [i ], j = max C[ i ], j -1 ; R [i -1], j+1 + ∑ AMt[i -1 ] ,[i ] , j + S[ i -1] ,[ i] , j
t =1
)
Para a última máquina, M4, podemos observar que além do instante de término da
tarefa i na máquina M3, o instante de início Ri,4 pode também ser composto por

l
R [i ],4 = C[i -1],4 + ∑ AMtt ,4 + S[i -1 ], [i ],4
t =1

Temos então que

(
R [i ], m = max C[ i ], j-1 ; C[i -1], j +1 + ∑ AMt[i -1 ] ,[i ] , j + S[ i -1] ,[ i ],1
t =1
)
Para todas as máquinas, C[i ], j pode ser definido como

C[i ], j = R[i ], j + p[ i ], j j = 1, …, m

Por fim, o cálculo dos instantes de término das tarefas podem ser determinadas
conforme segue:

C1,0 = 0 (63)
R [1], j = max ( C[1], j -1 ; S[ i ], j ) j = 1, ... , m (64)
l
i = 2, ... , n (65)
R [i ],1 = max ( C[ i -1],1 ; R[ i -1],2 ) + ∑ AMt[ i -1] ,[ i] ,1 + S[i -1 ] ,[ i] ,1
t =1
l j = 2, ... , m - 1 (66)
(
R [i ], j = max C[i ], j -1 ; R [i -1], j+1 + ∑ AM[ti -1] ,[ i ], j + S[i -1 ], [i ], j
t =1
) i = 2, ... , n
l i = 2, ... , n (67)
(
R [i ], m = max C[ i ], j-1 ; C[ i -1], j +1 + ∑ AMt[i -1 ] ,[i ] ,1 + S[i -1 ], [i ], m
t =1
)
C[i ], j = R[ i ], j + p[i ], j i = 1 , ... , n (68)
111

j = 1, ... , m

Para ilustrar numericamente o problema proposto neste trabalho e a aplicação das


expressões desenvolvidas anteriormente, suponhamos o exemplo dado na Tabela 15.

Tabela 15 - Problema flow shop com 7 tarefas e 5 máquinas

Tarefas
Máquinas J1 J2 J3 J4 J5
M1 35 25 52 42 64
M2 27 69 37 9 28
M3 45 23 44 35 14
M4 72 52 25 45 35
Datas de entrega (di)* 311 255 441 140 178
* Datas de entrega geradas de acordo com o cálculo da faixa de variação sugerida por Potts e Van

Wassenhove (1982)
Fonte: Autor, 2017.

Na Tabela 16 apresentam-se os tempos de setup dependentes associados de cada


máquina para combinações de tarefas adjacentes.

Tabela 16 - Tempo de setup entre pares de tarefas para cada máquina

M1 J1 J2 J3 J4 J5 M2 J1 J2 J3 J4 J5
J1 4 15 16 21 7 J1 11 19 1 3 19
J2 9 7 15 8 16 J2 13 6 16 3 8
J3 12 9 10 21 13 J3 11 9 15 17 16
J4 7 14 17 8 8 J4 17 11 2 19 15
J5 14 5 15 19 6 J5 19 15 4 18 10
M3 J1 J2 J3 J4 J5 M4 J1 J2 J3 J4 J5
J1 7 5 2 13 13 J1 10 16 14 7 1
J2 2 3 14 10 10 J2 1 20 14 11 15
J3 7 4 18 7 13 J3 17 1 16 4 2
J4 1 11 19 5 6 J4 17 3 2 12 7
J5 10 2 14 6 11 J5 1 8 3 8 17
Fonte: Autor, 2017.

Para este exemplo, consideramos dois componentes reparáveis para cada máquina. Na
Tabela 17, apresentamos as taxas de deterioração para cada tarefa em cada máquina.
Estabelecemos para cada δ j,k,i valores aleatórios reais no intervalo entre [0,1; 2].
112

Tabela 17 - Taxas de deterioração dos níveis de manutenção

M1 J1 J2 J3 J4 J5 M2 J1 J2 J3 J4 J5
δ1 ,1 ,i 1,5 1,1 1,9 0,9 0,3 δ 1 ,2 ,i 0,5 0,3 0,9 0,5 0,1

δ2 ,1 ,i 0,4 0,9 0,3 0,4 1,7 δ2 ,2 ,i 0,2 0,2 0,6 1,8 2


M3 J1 J2 J3 J4 J5 M4 J1 J2 J3 J4 J5
δ1 ,3 ,i 1,4 0,8 2 1,1 0,7 δ1 ,4 ,i 0,2 1,4 1,6 1,9 0,9

δ 2 ,3 ,i 1,9 1,7 1,3 0,3 0,3 δ2 ,4 ,i 1,4 0,3 1,3 0,7 1,3
Fonte: Autor, 2017.

Suponha que para M1, M2, M3 e M4, NM max


t , j para cada componente de cada máquina

max max max max max


seja de NM1,1 = 150 u.t., NM1,2 = 130 u.t., NM2,1 = 78 u.t., NM2,2 = 62 u.t., NM3,1 = 90
max
u.t., NM3,2 = 100 u.t., NM max max
4,1 = 120 u.t. e NM 4,2 = 105 u.t., respectivamente, ou seja, a

atividade de MP tem de ser realizada no máximo até NM max


t , j u.t. (j = 1, 2, 3, 4 e t = 1, 2), caso

contrário, teoricamente, ocorre a quebra da máquina e, na prática existe uma alta


probabilidade de risco de quebra da máquina. A duração das atividades de MP de cada
componente t em cada máquina j (AMt,j) correspondem a AM1,1 =13 , AM2,1 =15 , AM1,2 = 9,
AM2,2 = 17, AM1,3 = 2, AM2,3 = 8, AM1,4 = 18 e AM2,4 = 1.
Por meio de enumeração explícita, podemos constatar que a solução ótima para este
problema com minimização da duração total da programação é a sequência J1-J4-J2-J3-J5. Para
qualquer função-objetivo, como já visto anteriormente, o passo inicial de seu cálculo é a
determinação da deterioração da máquina, dada em unidades de tempo, durante o
processamento de uma tarefa. Na Tabela 18 apresenta-se os resultados da quantidade de
deterioração, em unidades de tempo, de cada tarefa para cada nível de manutenção de cada
componente nas máquinas.

Tabela 18 - Quantidade de deterioração dos componentes em relação ao processamento das tarefas

M1 J1 J2 J3 J4 J5 M2 J1 J2 J3 J4 J5
δ1 ,1 ,i 52,5 27,5 98,8 37,8 19,2 δ 2 ,1 ,i 13,5 20,7 33,3 4,5 2,8
108,
δ1 ,2 ,i 14 22,5 15,6 16,8 δ 2 ,2 ,i 5,4 13,8 22,2 16,2 56
8
M3 J1 J2 J3 J4 J5 M4 J1 J2 J3 J4 J5
δ3 ,1 ,i 63 18,4 88 38,5 9,8 δ 4 , 1 ,i 14,4 72,8 40 85,5 31,5
113

100,
δ3 ,2 ,i 85,5 39,1 57,2 10,5 4,2 δ4 , 2 ,i 15,6 32,5 31,5 45,5
8
Fonte: Autor, 2017.

Aplicando o procedimento de identificação das atividades da MP na sequência,


apresentado anteriormente, têm-se os resultados apresentados na Tabela 19
Tabela 19 - Identificação das manutenções preventivas entre tarefas

NMj,1 J1 J4 J1-J4 J4 J2 J4-J2 J2 J3 J2-J3 J3 J5 J3-J5


59, 32, 51,
M1 97,5 59,7 - 32,2 - -66,6 13 32 -
7 2 2
39,
M2 64,5 60 - 60 39,3 - 6 - 6 3,2 -
3
51, 33,
M3 27 -11,5 2 33,1 - -54,9 2 2 -7,8 2
5 1
105, 20, 47,
M4 20,1 - -52,7 18 7,2 - 7,2 -24,3 18
6 1 2
NMj,2 J1 J4 J1-J4 J4 J2 J4-J2 J2 J3 J2-J3 J3 J5 J3-J5
99, 76, 61,
M1 116 99,2 - 76,7 - 61,1 - -47,7 15
2 7 1
40, 26,
M2 56,6 40,4 - 26,6 - 4,4 - 4,4 -51,6 17
4 6
60,
M3 14,5 4 - 4 -35,1 8 3,7 - 3,7 -0,5 8
9
73, 57, 25,
M4 4,2 -27,3 1 57,9 - 25,4 - -20,1 1
5 9 4
Fonte: Autor, 2017.

De posse destas informações, podemos calcular a função-objetivo. Os instantes de


início e término da tarefa i que ocupa a primeira posição da sequência na máquina j, R[1],j e
C[1],j, respectivamente, podem ser calculados de acordo com as expressões (63), (64) e (68):
R 1,1 = max ( 0;S1,1 ) =max ( 0;4 ) = 4
C1,1 = R 1,1 + p1,1 = 4 + 35 = 39
R 1,2 = max ( C1,1 ;S1,2 ) = max ( 39;11 ) = 39
C1,2 = R 1,2 + p1,2 = 39 + 27 = 66
R 1,3 = max ( C1,2 ;S1,3 ) = max (66;7 ) = 66
C1,3 = R 1,3 + p1,3 = 66 + 45 = 111
R 1,4 = max ( C1,3 ;S1,4 ) = max ( 111;10 ) = 111
C1,4 = R 1,4 + p1,4 = 111 + 72 = 183

Calculamos os instantes de término das tarefas que ocupam da segunda até a última
posição de acordo com as Expressões (65), (66) e (67) e (68). Os instantes de início e término
114

da tarefa J4 na primeira máquina podem ser calculados, respectivamente, por meio das
Expressões (65) e (68):
R 4,1 = max ( C1,1 ;R 1,2 ) + AM11,4,1 + AM21,4,1 + S1,4,1 = max ( 39;39 ) + 0 + 0 + 21 = 60
C4,1 = R 4,1 + p4,1 = 60 + 42 = 102

O cálculo dos instantes de instantes de início e término de J3 da segunda até a


penúltima máquina podem ser calculados, respectivamente, de acordo com as expressões (66)
e (68):
R 4,2 = max ( C4,1 ; R1,3 + AM11,4,2 + AM21,4,2 +S1,4,2 ) = max ( 102; 66 + 0 + 0 + 3 ) = 102
C4,2 = R 4,2 + p4,2 = 102 + 9 = 111

R 4,3 = max ( C4,2 ; R1,4 + AM11,4,3 + AM 21,4,3 +S1,4,3 ) = max ( 111;111 + 13 + 0 + 2 ) = 126
C4,3 = R 4,3 + p4,3 = 126 + 35 = 161

Por fim, os instantes de início e término de J3 na última máquina são calculados,


respectivamente, de acordo com as Expressões (67) e (68):
R 4,4 = max ( C4,3 ;C1,4 + AM11,4,4 + AM21,4,4 +S1,4,4 ) = max ( 161;183 + 0 + 1 + 7 ) = 191
C4,4 = R 4,4 + p 4,4 = 191 + 45 = 236

Para o restante das tarefas, os instantes de início e término podem ser calculados de
acordo com as Expressões (65) – (68), conforme segue:
Tarefa J2
R 2,1 = max ( C4,1 ;R 4,2 ) + AM14,2,1 + AM24,2,1 +S 4,2,1 = max ( 102;102 ) + 0 + 0 + 14 = 116
C2,1 = R2,1 + p 2,1 = 116 + 25 = 141

R 2,2 = max ( C2,1 ;R 4,3 + AM14,2,2 + AM24,2,2 + S4,2,2 ) = max ( 141; 126 + 0 + 0 + 11 ) = 141
C2,2 = R2,2 + p 2,2 = 141 + 69 = 210

R 2,3 = max ( C2,2 ;R 4,4 + AM14,2,3 + AM24,2,3 +S4,2,3 ) = max ( 210;191 + 0 + 8 + 11 ) = 210
C2,3 = R2,3 + p2,3 = 210 + 23 = 233

R 2,4 = max ( C2,3 ; C4,4 + AM14,2,3 + AM24,2,3 +S 4,2,3 ) = max ( 233;236 + 18 + 0 + 3 ) = 257
C2,4 = R 2,4 + p2,4 = 257 + 52 = 309

Tarefa J3
115

R 3,1 = max ( C2,1 ;R2,2 ) + AM12,3,1 + AM22,3,1 +S2,3,1 = max ( 116;141) + 13 + 0 + 15 = 169
C3,1 = R3,1 + p3,1 = 169 + 52 = 221

R 3,2 = max ( C3,1 ;R 2,3 + AM12,3,2 + AM22,3,2 +S2,3,2 ) = max ( 221; 210 + 0 + 0 + 16 ) = 226
C3,2 = R3,2 + p3,2 = 226 + 37 = 263

R 3,3 = max ( C3,2 ;R 2,4 + AM12,3,3 + AM22,3,3 +S2,3,3 ) = max ( 263;257 + 2 + 0 + 14 ) = 273
C3,3 = R3,3 + p 3,3 = 273 + 44 = 317

R 3,4 = max ( C3,3 ;C2,4 + AM12,3,4 + AM22,3,4 +S2,3,4 ) = max ( 317;309 + 0 + 0 + 14 ) = 323
C3,4 = R3,4 + p3,4 = 323 + 25 = 348

Tarefa J5
R 5,1 = max ( C3,1 ;R3,2 ) + AM13,5,1 + AM23,5,1 +S3,5,1 = max (221;226 ) + 0 + 15 + 13 = 254
C5,1 = R5,1 + p5,1 = 254 + 64 = 318

R 5,2 = max ( C5,1 ;R 3,3 + AM13,5,2 + AM 23,5,2+ S3,5,2 ) = max ( 318; 273 + 0 + 17 + 16 ) = 318
C5,2 = R5,2 + p5,2 = 318 + 28 = 346

R 5,3 = max ( C5,2 ;R 3,4 + AM13,5,3 + AM23,5,3 +S3,5,3 ) = max ( 346;323 + 2 + 8 + 13 ) = 346
C5,3 = R5,3 + p 5,3 = 346 + 14 = 360

R 5,4 = max ( C5,3 ;C3,4 + AM13,5,4 + AM3,5,4


2
+S3,5,4 ) = max ( 360;348 + 18 + 1 + 2 ) = 369
C5,4 = R5,4 + p5,4 = 369 + 35 = 404

Como já visto no Capítulo 2, Cmax é dada pelo instante de término da última tarefa na
última máquina. Neste caso, a sequência ótima J1-J4-J2-J3-J5 gera Cmax = 404 u.t. Se
considerarmos a minimização de ∑ Ci , temos que a sequência ótima é J4-J1-J3-J2-J5 com

∑ Ci =1463 u.t. Por fim, adotando a minimização de ∑ Ti como função-objetivo, temos que
a sequência ótima J -J -J -J -J resulta em ∑ Ti =¿169 u.t.
4 5 2 1 3
116

5 PLANEJAMENTO DA PESQUISA

Na Tabela 20 apresenta-se a previsão da programação de pesquisa a partir da data da


qualificação até após a defesa.

Tabela 20 - Planejamento de pesquisa, divulgação dos resultados e elaboração da tese


Período 2017
Atividades Jul. Ago Set. Out. Nov Dez.
. .
Revisão de Literatura (Atualização de novos artigos)
Implementação dos métodos heurísticos para
F m|block , m ( k ) , s j, k|Cmax
Estudo do problema F m|block , m ( k ) , s j, k|C max
Proposição de novos métodos heurísticos para
F m|block , m ( k ) , s j, k|Cmax
Implementação dos métodos heurísticos para
F m|block , m ( k ) , s j, k|∑ Ci
Estudo do problema F m|block , m ( k ) , s j, k|∑ C i
Proposição de novos métodos heurísticos para
F m|block , m ( k ) , s j, k|∑ Ci
Análise dos resultados
Redação do texto da tese
Redação e divulgação dos resultados em revistas, anais ou resumos Cmax
Período 2018
Mar
Atividades Jan. Fev. Abr. Mai. Jun.
.
Revisão de Literatura (Atualização de novos artigos)
Implementação dos métodos heurísticos para
F m|block , m ( k ) , s j, k|∑ Ti
Estudo do problema F m|block , m ( k ) , s j, k|∑ Ti
Proposição de novos métodos heurísticos para
F m|block , m ( k ) , s j, k|∑ Ti
Análise dos resultados
Redação do texto da tese
Redação e divulgação dos resultados em revistas, anais ou resumos ∑ Ci ∑ Ti
Período 2018
Ago Nov
Atividades Jul. Set. Out. Dez.
. .
Revisão de Literatura (Atualização de novos artigos)
Proposição de metaheurística para o problema
F m|block , m ( k ) , s j, k|Cmax
Proposição de metaheurística para o problema
F m|block , m ( k ) , s j, k|∑ Ci
Análise dos resultados
Redação do texto da tese
Redação e divulgação dos resultados em revistas, anais ou resumos Cmax
Período 2019
Mar
Atividades Jan. Fev. Abr. Mai. Jun.
.
117

Revisão de Literatura (Atualização de novos artigos)


Proposição de metaheurística para o problema
F m|block , m ( k ) , s j, k|∑ Ti
Análise dos resultados
Redação do texto da tese
Redação e divulgação dos resultados em revistas, anais ou resumos ∑ Ci ∑ Ti
Revisão do texto da tese
Entrega da tese
Período 2019
Ago Nov
Atividades Jul. Set. Out. Dez.
. .
Defesa da Tese
Correção das sugestões da banca
Entrega dos exemplares definitivos da tese
Redação e divulgação dos resultados em revistas, anais ou resumos
Fonte: Autor, 2017.

Para gerar os bancos de problemas, utilizou-se as configurações sugeridas por Ruiz et


al. (2007), que trata de problemas flow shop permutacional sujeito a políticas de manutenção
preventiva (MP). O banco de problemas desenvolvido pelos referidos autores pode ser
encontrado no endereço eletrônico <http://soa.iti.es/problem-instances>. Cada banco de
problemas consiste de 20 instâncias configuradas entre n = {20, 50, 100, 200, 500} tarefas e
m = {5, 10, 15, 20} máquinas. Os tempos de processamento das tarefas foram gerados
aleatoriamente em uma distribuição uniforme no intervalo U[1,99]. No total, três cenários são
gerados, sendo que cada cenário corresponde a um número l = 1, 2, 3, 4 ou 5 de componentes
a serem avaliados. Quando l = 1, podemos dizer que o intervalo entre MP’s é da máquina. As
durações das MPs são definidas como 25% (U[1,24]), 50% (U[1,49]), 75% (U[1,74]), 100%
(U[1,99]), 125% (U[1,124]) ou 150% (U[1,149]) das médias dos tempos de processamento.
Adotamos as instâncias de n = {20, 50, 100, 200} tarefas e m = {5, 10, 15, 20} máquinas.
Para gerar os níveis máximos de manutenção dos componentes utilizou-se as
Expressões 15 e 17, descritas no Capítulo 3. Para ambas as políticas, adotamos as
configurações sugeridas por Ruiz et al. (2007) para todos os parâmetros e uma pequena
adaptação foi feita, para que cada componente tenha o intervalo entre MP’s, ou o nível
máximo de MP, com diferentes valores.
Para a política I, o intervalo entre atividades de Manutenção Preventiva (MP) é dado
pela Expressão 15 e depende de quatro parâmetros: θ , β , t p e t r. Definimos tp = 1 e tr foi
estabelecido como um valor aleatório entre [1 , 8] para cada componente da máquina. Os
valores de θ foram determinados e fixos por Ruiz et al. (2007) pelo número de tarefas, sendo
θ = 1.500, 2.300, 3.200 e 4.500 para n = 20, 50, 100 e 200 tarefas, respectivamente. Para o
parâmetro β, determinamos um valor aleatório entre [2,4] para cada componente da máquina.
118

Para a Política II, o intervalo entre atividades de MP é dado pela Expressão 17 que
leva em conta quatro parâmetros: θ , β , R 0 ( t ) e t . Por se tratarem de políticas diferentes, Ruiz
et al. (2007) propuseram um novo conjunto de problemas. Adotamos as mesmas
configurações de n, m, θ , β e DMP da política II. O nível de confiabilidade a ser atingido após
a produção no período t para todos os componentes foi definido como 95%, ou seja,
R 0 ( t ) = 0,95% . Para calcular TMP, o valor do período t foi definido pelas instâncias de tempos
de processamento. Uma vez que tik é uniformemente distribuído em um intervalo de U[1 , 99]
então t = n × 50. Tem-se que θ = 1.000, 2.500, 5.000 e 10.000 para n = 20, 50, 100 e 200
tarefas respectivamente. O valor de β também assume um valor aleatório entre [2 , 4] para
cada componente da máquina. Se o intervalo entre MP’s assume um valor menor que o maior
tempo de processamento da tarefa i na máquina j multiplicado pelo valor máximo que a taxa
de deterioração pode assumir, então, o intervalo entre MP’s assume o valor

T MP = max ( p i , j) × max ( δt , j , i ) . Aplicamos esta regra para garantir a hipótese de que o nível
1≤i ≤ n 1≤ i ≤n

de manutenção é sempre maior ou igual a qualquer nível de deterioração causada por qualquer
tarefa i na máquina j.
Para determinar as taxas de deterioração de cada componente em cada componente de
cada máquina foram adotadas as configurações de Yu e Seif (2016). Cada taxa de
deterioração recebe um valor real aleatório entre [0,1 , 2] com distribuição uniforme.
A inclusão dos tempos de setup dependentes da sequência seguiu as configurações
sugeridas por Ruiz et al. (2005). Os autores desenvolveram quatro diferentes cenários com
setup dependente do banco de instâncias de Taillard (1993). Os problemas contêm quatro
taxas de tempos de setup diferentes. Essas taxas são definidas em 10%, 50%, 100% e 125%
do valor dos tempos de processamento, ou seja, o primeiro cenário é composto por tempos de
setup da faixa de [1 , 9], o segundo cenário na faixa de [1 , 49], o terceiro na faixa de [1 , 99] e
o último cenário na faixa de [1 , 125]. Para todas os cenários, os valores dos tempos de setup
são gerados aleatoriamente com distribuição uniforme.
A geração das datas de entrega das tarefas para o problema F m|block , m ( k ) , s j, k|∑ Ti
terá como base o limitante inferior proposto por Potts e Van Wassenhove (1982) e seguirá o
que foi pontuado por Armentano e Ronconi (2000). As datas de entrega são uniformemente
distribuídas entre P(1 – T – R/2) e P(1 – T + R/2), onde T e R representam o fator de atraso e a
faixa de dispersão, respectivamente e P é um limitante inferior da duração total da
programação no ambiente flow shop com estoque intermediário ilimitado definido por
119

n k -1 m m
P = max max
{ {∑
1≤ j≤ m i =1
pi , j + min ∑ pi , q + min
i q =1 i

q =k +1
}
pi ,q , max ∑ p i , j
i j =1
} (69)

Posteriormente será definido os parâmetros T e R, para que diferentes cenários


envolvendo variações de T e R sejam avaliados.
Na Tabela 21 apresenta-se a sumarização das configurações dos parâmetros comuns
para todas as instâncias de problemas gerados.

Tabela 21 - Configuração dos parâmetros do banco de problemas (por problema)


Parâmetros Tamanho Amplitude Geração dos valores
Tempos de processamento n ×m [1 , 99] Aleatório(inteiro, com
distribuição uniforme)
Parâmetro β l× m [2 , 4] Aleatório(real, com
distribuição uniforme)
Duração das AM’s l [1 , 24], [1 , 49], [1 , 74],
Aleatório(inteiro, com
[1 , 99], [1 , 124] ou [1 ,
distribuição uniforme)
149]
Taxas de deterioração n × m× l[0,1 , 2] Aleatório(real, com
distribuição uniforme)
Tempos de setup n × n × m
[1 , 9], [1 , 49], [1 , 99] ou Aleatório(inteiro, com
[1 , 124] distribuição uniforme)
Datas de entrega n Potts e Van Wassenhove Aleatório(inteiro, com
(1982) distribuição uniforme)
Fonte: Autor, 2017.

Por fim, para cada configuração de n, m, l, DMP e Si,j,k foram gerados 10 problemas
diferentes, resultando em um total de 4 × 4 × 5 × 4 × 6 × 10 =19.200 problemas para
cada política, ou seja, um total de 38.400 problemas ao todo.
Todos os métodos heurísticos construtivos elencados nas Figura 4 e Figura 5 serão
implementados e adaptados aos problemas aqui propostos. Por exemplo, as heurísticas
construtivas encontradas para os problemas F m|block|∑ Ti ou Tmax ou Lmax , serão

implementadas e adaptadas para o problema F m|block|∑ Ti . Além disso, novas heurísticas


construtivas também serão propostas, levando-se em conta os mecanismos de construção
baseados na literatura e também o estudo das propriedades do problema que podem ser
incorporados aos novos métodos.
120

Posteriormente, também será considerado o emprego de uma metaheurística ao


problema proposto. Por meio dos resultados encontrados na Seção 3.1.7, experimentos
computacionais serão realizados para testar e encontrar o conjunto de buscas locais mais
eficazes para o problema.
As heurísticas serão implementadas em linguagem Delphi, por meio do software
Delphi versão 7.0 e os experimentos serão inicialmente realizados em um processador i5-
2500k, 3.30 GHz e 4 GB de memória RAM.
O desvio relativo médio (DRM) e porcentagem de sucesso serão utilizados para medir
a qualidade de solução das heurísticas. O desvio relativo da solução de uma heurística a para
um problema b (DRa,b) mede o quanto a solução da heurística a (Sola,b) está distante da melhor
solução (Solbest,b) encontrada para o problema b e é dada por

Sol a, b − Sol bes t, b


DR a , b = (70)
Sol best , b

Caso DRa,b = 0, pode-se dizer que a heurística a apresenta a melhor solução para o
problema b. Neste sentido, quanto menor o DRa,b, mais próxima a Sola,b está de Solbest,b,
indicando uma qualidade de solução melhor do que uma outra Sola,b mais distante de Solbest,b.
A taxa de sucesso mede em percentual a média de vezes em que uma heurística a
obteve a melhor solução para uma instância. Por exemplo, se a heurística a obteve as 7
melhores soluções para os 10 problemas da instância c com n = 20, m = 50, l = 1, DMP =
25% e Si,j,k = 25%, a sua taxa de sucesso (PSa,c) corresponde a 70%.
Adicionalmente, será utilizado também o gráfico de médias e o gráfico de linhas para
analisar a variação ocorrida nas médias do DRM das heurísticas sob os fatores determinantes
para parametrização das instâncias do problema: número de componentes l; duração das
manutenções preventivas (DMP); tempo de setup (Si,j,k); número de máquinas (m) e; número de
tarefas (n). O intuito destas análises é avaliar se há influência destes fatores no desempenho
dos métodos.
Para medir a eficiência das heurísticas, será utilizado o tempo computacional médio
dos métodos em relação à instância do problema, ou seja, para cada configuração entre
número de tarefas e máquinas.
121
122

REFERÊNCIAS

ABADI, I. N. K.; HALL, N. G. .; SRISKANDARAJAH, C. Minimizing Cycle Time in a


Blocking Flowshop. Operations Research, v. 19, n. 7, p. 1553–1570, 2007.

AGGOUNE, R. Minimizing the makespan for the flow shop scheduling problem with
availability constraints. European Journal of Operational Research, v. 153, n. 3 SPEC.
ISS., p. 534–543, 2004.

ALLAHVERDI, A. The third comprehensive survey on scheduling problems with setup


times/costs. European Journal of Operational Research, v. 246, n. 2, p. 345–378, 2015.

ALLAHVERDI, A.; AYDILEK, H. Algorithms for no-wait flowshops with total completion
time subject to makespan. The International Journal of Advanced Manufacturing
Technology, v. 68, n. 9–12, p. 2237–2251, 2013.

ALLAHVERDI, A.; AYDILEK, H. Total completion time with makespan constraint in no-
wait flowshops with setup times. European Journal of Operational Research, v. 238, n. 3,
p. 724–734, 2014.

ALLAHVERDI, A.; GUPTA, J. N. D.; ALDOWAISAN, T. A review of scheduling research


involving setup considerations. , v. 27, 1999.

ALLAHVERDI, A.; NG, C. T.; CHENG, T. C. E.; KOVALYOV, M. Y. A survey of


scheduling problems with setup times or costs. European Journal of Operational Research,
v. 187, n. 3, p. 985–1032, 2008.

ALLAHVERDI, A.; SOROUSH, H. M. The significance of reducing setup times/setup costs.


European Journal of Operational Research, v. 187, n. 3, p. 978–984, 2008.

ALLAOUI, H.; ARTIBA, A. Integrating simulation and optimization to schedule a hybrid


flow shop with maintenance constraints. Computers and Industrial Engineering, v. 47, n. 4,
p. 431–450, 2004.

ARENALES, M.; ARMENTANO, V.; MORABITO, R.; YANASSE, H. Pesquisa


Operacional para cursos de engenharia. Rio de Janeiro: Elsevier, 2007.

ARMENTANO, V. A.; RONCONI, D. P. Tabu search for total tardiness minimization in


flowshop scheduling problems. Computers and Operations Research, v. 26, n. 3, p. 219–
235, 1999.

ARMENTANO, V. A.; RONCONI, D. P. Minimização do tempo total de atraso no problema


de flowshop com buffer zero através de busca tabu. Gestão & Produção, v. 7, n. 3, p. 352–
363, 2000.

ARTIBA, A.; ELMAGHRABY, S. E. The Planning and Scheduling of Production


Systems: Methodologies and applications. London: ChaMPan & Hall, 1997.
123

ASHAYERI, J.; TEELEN, A.; SELEN, W. A production and maintenance planning model for
the process industry. International Journal of Production Research, v. 34, n. 12, p. 3311–
3326, 1996.

AYDILEK, H.; ALLAHVERDI, A. Heuristics for no-wait flowshops with makespan subject
to mean completion time. Applied Mathematics and Computation, v. 219, n. 1, p. 351–359,
2012.

BAKER, K. R. Introduction To Scheduling and Sequencing. Nova York: Wiley, 1974.

BARLOW, R. E.; PROSCHAN, F. Mathematical theory of reliability. New York: John


Wiley & Sons, 1965.

BAUTISTA, J.; CANO, A.; COMPANYS, R.; RIBAS, I. Solving the Fm∣block∣Cmax
problem using Bounded Dynamic Programming. Engineering Applications of Artificial
Intelligence, v. 25, n. 6, p. 1235–1245, 2012.

BIROLONI, A. Reliability engineering, theory and practice. 4th ed. Berlin: Springer, 2004.

BOCK, S.; BRISKORN, D.; HORBACH, A. Scheduling flexible maintenance activities


subject to job-dependent machine deterioration. Journal of Scheduling, v. 15, n. 5, p. 565–
578, 2012.

BROWNE, S.; YECHIALI, U. Scheduling deteriorating jobs on a single processor.


Operations Research, v. 38, n. 3, p. 495–498, 1990.

CARAFFA, V.; IANES, S.; BAGCHI, T. P.; SRISKANDARAJAH, C. Minimizing makespan


in a blocking flowshop using genetic algorithms. International Journal of Production
Economics, v. 70, n. 2, p. 101–115, 2001.

CASSADY, C. R.; KUTANOGLU, E. Minimizing job tardiness using integrated preventive


maintenance planning and production scheduling. IEEE Transactions, v. 35, n. 6, p. 503–
513, 2003.

CHEN, C.-L.; VEMPATI, V. S.; ALJABER, N. An application of genetic algorithms for flow
shop problems. European Journal of Operational Research, v. 80, n. 2, p. 389–396, 1995.

CHEN, H.; ZHOU, S.; LI, X.; XU, R. A hybrid differential evolution algorithm for a two-
stage flow shop on batch processing machines with arbitrary release times and blocking.
International Journal of Production Research, v. 52, n. 19, p. 5714–5734, 2014.

CHEN, J.-S. Scheduling of nonresumable jobs and flexible maintenance activities on a single
machine to minimize makespan. European Journal of Operational Research, v. 190, p. 90–
102, 2008.

CHENG, T. C. E.; GUPTA, J. N. D.; WANG, G. Q. A review of flowshop scheduling


research with setup times. Production and Operations Management, v. 9, n. 3, p. 262–282,
2000.

CHENG, T. C. E.; YANG, S. J.; YANG, D. L. Common due-window assignment and


124

scheduling of linear time-dependent deteriorating jobs and a deteriorating maintenance


activity. International Journal of Production Economics, v. 135, n. 1, p. 154–161, 2012.

CHIU, Y.; SHIH, C. Rescheduling strategies for integrating rush orders with preventive
maintenance in a two-machine flow shop. International Journal of Production Research, v.
50, n. 20, p. 5783–5794, 2012.

CHOI, B. C.; LEE, K.; LEUNG, J. Y. T.; PINEDO, M. L. Flow shops with machine
maintenance: Ordered and proportionate cases. European Journal of Operational Research,
v. 207, n. 1, p. 97–104, 2010.

CHUNG, C. S.; FLYNN, J.; KIRCA, O. A branch and bound algorithm to minimize the total
flow time for m-machine permutation flowshop problems. International Journal of
Production Economics, v. 79, n. 3, p. 185–196, 2002.

COMPANYS, R.; MATEO, M. Different behaviour of a double branch-and-bound algorithm


on Fm | prmu | Cmax and Fm | block | Cmax problems. Computers and Operations
Research, v. 34, n. 4, p. 938–953, 2007.

COMPANYS, R.; RIBAS, I.; MATEO, M. Improvement Tools for NEH Based Heuristics on
Permutation and Blocking Flow Shop Scheduling Problems. In: B. Vallespir; T. Alix (Eds.);
Advances in Production Management Systems: New Challenges, New Approaches. v.
338, p.33–40, 2010.

DAVENDRA, D.; BIALIC-DAVENDRA, M. Scheduling flow shops with blocking using a


discrete self-organising migrating algorithm. International Journal of Production
Research, v. 51, n. 8, p. 2200–2218, 2013.

DAVENDRA, D.; ZELINKA, I.; BIALIC-DAVENDRA, M.; SENKERIK, R.; JASEK, R.


Clustered enhanced differential evolution for the blocking flow shop scheduling problem.
Central European Journal of Operations Research, v. 20, n. 4, p. 679–717, 2012.

DEB, K.; MEMBER, A.; PRATAP, A.; AGARWAL, S.; MEYARIVAN, T. A Fast and
Elitist Multiobjective Genetic Algorithm : IEEE Transactions On Evolutionary
Computation, v. 6, n. 2, p. 182–197, 2002.

DENG, G.; XU, Z.; GU, X. A Discrete Artificial Bee Colony Algorithm for Minimizing the
Total Flow Time in the Blocking Flow Shop Scheduling. Chinese Journal of Chemical
Engineering, v. 20, n. 6, p. 1067–1073, 2012.

DING, J.-Y.; SONG, S.; GUPTA, J. N. D.; et al. New block properties for flowshop
scheduling with blocking and their application in an iterated greedy algorithm. International
Journal of Production Research, v. 7543, n. September, p. 1–14, 2015.

DORIGO, M.; BIRATTARI, M.; STUTZLE, T. Ant colony optimization. IEEE


Computational Intelligence Magazine, v. 1, n. 4, p. 28–39, 2006.

EDDALY, M.; JARBOUI, B.; SIARRY, P. Combinatorial Particle Swarm Optimization for
solving Blocking Flowshop Scheduling Problem. Journal of Computational Design and
Engineering, 2016.
125

FERNANDEZ-VIAGAS, V.; LEISTEN, R.; FRAMINAN, J. M. A computational evaluation


of constructive and improvement heuristics for the blocking flow shop to minimise total
flowtime. Expert Systems With Applications, v. 61, p. 290–301, 2016.

FINK, A.; VOS, S. Solving the continuous flow-shop scheduling problem by metaheuristics.
European Journal of Operational Research, v. 151, n. 2, p. 400–414, 2003.

FOGLIATTO, F. S.; RIBEIRO, J. L. D. Confiabilidade e Manutenção Industrial. 1st ed.


Rio de Janeiro: Elsevier, 2009.

FRAMINAN, J. M.; GUPTA, J. N. D.; LEISTEN, R. A review and classification of heuristics


for permutation flow-shop scheduling with makespan objective. , p. 1243–1255, 2004.

FRAMINAN, J. M.; LEISTEN, R.; RUIZ-USANO, R. Comparison of heuristics for owtime


minimisation in permutation owshops. , v. 32, p. 1237–1254, 2005.

GAO, K.; PAN, Q.; LI, J. Discrete harmony search algorithm for the no-wait flow shop
scheduling problem with total flow time criterion. The International Journal of Advanced
Manufacturing Technology, v. 56, n. 5–8, p. 683–692, 2011.

GEEM, Z.; KIM, J.; LOGANATHAN, G. V. A New Heuristic Optimization Algorithm:


Harmony Search. Simulation, v. 76, n. 2, p. 60–68, 2001.

GENDREAU, M.; POTVIN, J.-Y. Metaheuristics in Combinatorial Optimization. Annals of


Operations Research, v. 140, p. 189–213, 2005.

GERTSBAKH, I. Reliability theory: with applications to preventive maintanance. New


York: Springer, 2005.

GILMORE, P. C.; GOMORY, R. E. Sequencing a One State-Variable Machine: A Solvable


Case of the Traveling Salesman Problem. Operations Research, 1964.

GLOVER, F. Tabu Search—Part I. ORSA Journal on Computing, v. 1, n. 3, p. 190–206,


1989.

GLOVER, F. Tabu Search—Part II. ORSA Journal on Computing, v. 2, n. 1, p. 4–32, 1990.

GLOVER, F.; LAGUNA, M. Tabu Search. Handbook of Combinatorial Optimization.


p.3263–3359, 2013. New York: Springer.

GOLDBERG, D. E. Genetic Algorithms in Search, Optimization, and Machine learning.


Massachusetts: Addison-Wesley, 1989.

GONG, H.; TANG, L.; DUIN, C. W. A two-stage flow shop scheduling problem on a
batching machine and a discrete machine with blocking and shared setup times. Computers
and Operations Research, v. 37, n. 5, p. 960–969, 2010.

GRABOWSKI, J.; PEMPERA, J. Sequencing of jobs in some production system. European


Journal of Operational Research, v. 125, n. 3, p. 535–550, 2000.
126

GRABOWSKI, J.; PEMPERA, J. New block properties for the permutation flow shop
problem with application in tabu search. Journal of the Operational Research Society, v.
52, n. 2, p. 210–220, 2001.

GRABOWSKI, J.; PEMPERA, J. The permutation flow shop problem with blocking. A tabu
search approach. Omega-International Journal of Management Science, v. 35, n. 3, p.
302–311, 2007.

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, 1979.

GRAVES, G. H.; LEE, C.-Y. Scheduling maintenance and semiresumable jobs on single
machines. Naval Research Logistics, v. 46, n. 7, p. 845–863, 1999.

GRAVES, G. W.; WHINSTON, A. B. An Algorithm for the Quadratic Assignment Problem.


Management Science, v. 16, n. 7, p. 453–471, 1970.

GUANLONG, D.; SHUNING, Z.; MEI, Z. A discrete group search optimizer for blocking
flow shop multi-objective scheduling. Advances in Mechanical Engineering, v. 8, n. 8, p. 1–
9, 2016.

GUPTA, J. N. D.; GUPTA, S. K. Single facility scheduling with nonlinear processing times.
Computers and Industrial Engineering, v. 14, n. 4, p. 387–393, 1988.

GUPTA, J. N. D.; STAFFORD JR, E. F. Flowshop scheduling research after five decades.
European Journal of Operational Research, v. 169, p. 699–711, 2006.

HADDA, H.; LAMOURI, S.; ARTIBA, A.; AGHEZZAF, E. Simultaneously scheduling n


jobs and the preventive maintenance on the two-machine flow shop to minimize the
makespan. International Journal of Production Economics, v. 112, p. 161–167, 2008.

HALL, N. G. .; SRISKANDARAJAH, C. A survey of machine scheduling problems with


blocking and no-wait in process. Operations Research, v. 44, n. 3, p. 510–525, 1996.

HAN, Y.-Y.; GONG, D.; SUN, X. A discrete artificial bee colony algorithm incorporating
differential evolution for the flow-shop scheduling problem with blocking. Engineering
Optimization, v. 47, n. 7, p. 927–946, 2015.

HAN, Y.-Y.; PAN, Q.-K.; LI, J.-Q.; SANG, H. An improved artificial bee colony algorithm
for the blocking flowshop scheduling problem. The International Journal of Advanced
Manufacturing Technology, v. 60, n. 9–12, p. 1149–1159, 2012.

HAN, Y.; GONG, D.; LI, J.; ZHANG, Y. Solving the blocking flow shop scheduling problem
with makespan using a modified fruit fly optimisation algorithm. , v. 7543, n. May, 2016.

HAN, Y. Y.; LIANG, J. J.; PAN, Q. K.; et al. Effective hybrid discrete artificial bee colony
algorithms for the total flowtime minimization in the blocking flowshop problem.
International Journal of Advanced Manufacturing Technology, v. 67, n. 1–4, p. 397–414,
2013.
127

HNAIEN, F.; YALAOUI, F. A bi-criteria flow-shop scheduling with preventive


maintenance. IFAC, 2013.

JOHNSON, S. M. Optimal two- and three-stage production schedules with setup times
included. Naval Research Logistics Quarterly, v. 1, n. 1, p. 61–68, 1954.

KALCZYNSKI, P. J.; KAMBUROWSKI, J. An improved NEH heuristic to minimize


makespan in permutation flow shops. Computers & Operations Research, v. 35, p. 3001–
3008, 2008.

KENNEDY, J.; EBERHART, R. Particle swarm optimization. 1995 IEEE International


Conference on Neural Networks (ICNN 95), v. 4, p. 1942–1948, 1995.

KHAMSEH, A.; JOLAI, F.; BABAEI, M. Integrating sequence-dependent group scheduling


problem and preventive maintenance in flexible flow shops. International Journal of
Advanced Manufacturing Technology, v. 77, n. 1–4, p. 173–185, 2015.

KHELIFATI, S. L.; BENBOUZID-SITAYEB, F. A multi-agent scheduling approach for the


joint scheduling of jobs and maintenance operations in the flow shop sequencing problem.
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial
Intelligence and Lecture Notes in Bioinformatics), v. 6923 LNAI, n. PART 2, p. 60–69,
2011.

KHORASANIAN, D.; MOSLEHI, G. An Iterated Greedy Algorithm for solving the blocking
flow shop scheduling problem with total flow time criteria. International Journal of
Industrial Engineering & Production Research, v. 23, n. 4, p. 301–308, 2012.

KHORRAMIZADEH, M.; RIAHI, V. A Bee Colony Optimization Approach for Mixed


Blocking Constraints Flow Shop Scheduling Problems. Mathematical Problems in
Engineering, v. 2015, p. 1–10, 2015.

KIRKPATRICK, S.; GELATT, C. D.; VECCH, M. P. Optimization by Simulated Annealing.


Science, v. 220, n. 4598, p. 671–680, 1983.

LAGEWEG, B. J.; LENSTRA, J. . K.; KAN, A. . H. . G. . R. A General Bounding Scheme


for the Permutation Flow-Shop Problem. Operations Research, v. 26, n. 1, p. 53–67, 1978.

LEE, C.-Y.; CHEN, Z.-L. Scheduling jobs and maintenance activities on parallel machines.
Naval Research Logistics, v. 47, p. 145–165, 2000.

LEE, C. Y.; LIN, C. S. Single-machine scheduling with maintenance and repair rate-
modifying activities. European Journal of Operational Research, v. 135, n. 3, p. 493–513,
2001.

LEE, W. C.; SHIAU, Y. R.; CHEN, S. K.; WU, C. C. A two-machine flowshop scheduling
problem with deteriorating jobs and blocking. International Journal of Production
Economics, v. 124, n. 1, p. 188–197, 2010.

LI, S. H.; TANG, L. X. A tabu search algorithm based on new block properties and speed-up
method for permutation flow-shop with finite intermediate storage. Journal of Intelligent
128

Manufacturing, v. 16, n. 4–5, p. 463–477, 2005.

LI, X.; WANG, Q.; WU, C. Efficient composite heuristics for total flowtime minimization in
permutation flow shops. Omega, v. 37, n. 1, p. 155–164, 2009.

LIANG, J. J.; PAN, Q.-K.; CHEN, T.; WANG, L. Solving the blocking flow shop scheduling
problem by a dynamic multi-swarm particle swarm optimizer. International Journal of
Advanced Manufacturing Technology, v. 55, n. 5–8, p. 755–762, 2011.

LIN, S. W.; YING, K. C. Minimizing makespan in a blocking flowshop using a revised


artificial immune system algorithm. Omega (United Kingdom), v. 41, n. 2, p. 383–389,
2013.

LIN, S.; YING, K. Minimizing makespan and total flowtime in permutation flowshops by a
bi-objective multi-start simulated-annealing algorithm. Computers & Operations Research,
v. 40, n. 6, p. 1625–1647, 2013.

LIU, B.; WANG, L.; JIN, Y. H. An effective hybrid PSO-based algorithm for flow shop
scheduling with limited buffers. Computers & Operations Research, v. 35, n. 9, p. 2791–
2806, 2008.

LIU, J.; REEVES, C. R. Constructive and composite heuristic solutions to the P // C i


scheduling problem. European Journal of Operational Research, v. 132, n. 2, p. 439–452,
2001.

LIU, S. Q.; KOZAN, E. Scheduling a flow shop with combined buffer conditions.
International Journal of Production Economics, v. 117, n. 2, p. 371–380, 2009.

LOURENÇO, H. R.; MARTIN, O. C.; STÜTZLE, T. Iterated Local Search. In: F. Glover; G.
A. Kochenberger (Eds.); Handbook of Metaheuristics. p.320–353, 2003. Boston, MA:
Springer US.

LUO, W.; CHENG, T. C. E.; JI, M. Single-machine scheduling with a variable maintenance
activity. Computers and Industrial Engineering, v. 79, p. 168–174, 2015.

LUO, W.; JI, M. Scheduling a variable maintenance and linear deteriorating jobs on a single
machine. Information Processing Letters, v. 115, n. 1, p. 33–39, 2015.

MA, Y.; CHU, C.; ZUO, C. A survey of scheduling with deterministic machine availability
constraints. Computers and Industrial Engineering, v. 58, n. 2, p. 199–211, 2010.

MACCARTHY, B. L.; LIU, J. Addressing the gap in scheduling research: a review of


optimization and heuristic methods in production scheduling. International Journal of
Production Research, v. 31, n. 1, p. 59–79, 1993.

MAHDAVI, M.; FESANGHARY, M.; DAMANGIR, E. An improved harmony search


algorithm for solving optimization problems. Applied Mathematics and Computation, v.
188, p. 1567–1579, 2007.

MANJESHWAR, P. K.; DAMODARAN, P.; SRIHARI, K. Minimizing makespan in a flow


129

shop with two batch-processing machines using simulated annealing. Robotics and
Computer-Integrated Manufacturing, v. 25, p. 667–679, 2009.

MANJESHWAR, P. K.; DAMODARAN, P.; SRIHARI, K. Genetic algorithms for


minimizing makespan in a flow shop with two capacitated batch processing machines.
International Journal of Advanced Manufacturing Technology, v. 55, p. 1171–1182,
2011.

MARTINEZ, S.; DAUZÈRE-PÉRÈS, S.; GUÉRET, C.; MATI, Y.; SAUER, N. Complexity
of flowshop scheduling problems with a new blocking constraint. European Journal of
Operational Research, v. 169, n. 3, p. 855–864, 2006.

MCCORMICK, S. T.; PINEDO, M. L.; SHENKER, S.; WOLF, B. Sequencing in an


Assembly Line with Blocking to Minimize Cycle Time. Operations Research, v. 37, n. 6, p.
925–935, 1989.

MEEKER, W. Q.; ESCOBAR, L. A. Statistical methods for reliability data. New York:
Wiley, 1998.

MESQUITA, M.; QUELHAS, O.; OLIVEIRA, R.; LUSTOSA, L. Programação detalhada da


produção. Planejamento e Controle da Produção, 2008. Rio de Janeiro: Elsevier.

MOR, B.; MOSHEIOV, G. Scheduling a deteriorating maintenance activity and due-window


assignment based on common flow allowance. International Journal of Production
Economics, v. 135, p. 222–230, 2012.

MOSHEIOV, G.; SARIG, A. Scheduling a maintenance activity and due-window assignment


on a single machine. Computers and Operations Research, v. 36, n. 9, p. 2541–2545,
2009a.

MOSHEIOV, G.; SARIG, A. Scheduling a maintenance activity to minimize total weighted


completion-time. Computers and Mathematics with Applications, v. 57, n. 4, p. 619–623,
2009b.

MOSLEHI, G.; KHORASANIAN, D. Optimizing blocking flow shop scheduling problem


with total completion time criterion. Computers & Operations Research, v. 40, n. 7, p.
1874–1883, 2013.

NAGANO, M. S.; MOCCELLIN, J. V. A high quality solution constructive heuristic for flow
shop sequencing. Journal of the Operational Research Society, v. 53, p. 1374–1379, 2002.

NAWAZ, M.; ENSCORE JR, E. E.; HAM, I. A Heuristic Algorithm for the m-Machine , n-
Job Flow-shop Sequencing Problem. Omega-International Journal of Management
Science, v. 11, n. 1, p. 91–95, 1983.

NOWICKI, E. The permutation flow shop with buffers : A tabu search approach. European
Journal of Industrial Engineering, v. 116, p. 205–219, 1999.

NOWICKI, E.; SMUTNICKI, C. A fast tabu search algorithm for the permutation flow-shop
problem. European Journal of Operational Research, v. 91, n. 1, p. 160–175, 1996.
130

OGBU, F. A.; SMITH, D. K. THE APPLICATION OF THE SIMULATED ANNEALING


ALGORITHM TO THE SOLUTION THE n/m/ Cmax FLOWSHOP PROBLEM.
Computers & Operations Research, v. 17, n. 3, p. 243–253, 1990.

OMRAN, M. G. H. Global-best harmony search. Applied Mathematics and Computation,


v. 198, p. 643–656, 2008.

OSMAN, I. H.; LAPORTE, G. Metaheuristics: A bibliography. Annals of Operations


Research, v. 63, n. 5, p. 511–623, 1996.

PAN, Q.-K.; WANG, L.; GAO, L. A chaotic harmony search algorithm for the flow shop
scheduling problem with limited buffers. Applied Soft Computing, v. 11, n. 8, p. 5270–
5280, 2011.

PAN, Q.; FATIH, M.; LIANG, Y. A discrete differential evolution algorithm for the
permutation flowshop scheduling problem. Computers & Industrial Engineering, v. 55, n.
4, p. 61–82, 2008.

PAN, Q. K.; WANG, L. Effective heuristics for the blocking flowshop scheduling problem
with makespan minimization. Omega, v. 40, n. 2, p. 218–229, 2012.

PAN, Q. K.; WANG, L.; GAO, L.; LI, W. D. An effective hybrid discrete differential
evolution algorithm for the flow shop scheduling with intermediate buffers. Information
Sciences, v. 181, n. 3, p. 668–685, 2011.

PAN, Q.; WANG, L.; SANG, H.; LI, J.; LIU, M. A High Performing Memetic Algorithm for
the Flowshop Scheduling Problem With Blocking. IEEE Transactions on Automation
Science and Engineering, v. 10, n. 3, p. 741–756, 2013.

PEDROSO, M. C.; CORRÊA, H. L. Sistemas de programação da produção com capacidade


finita: uma decisão estratégica? Revista de administração de empresas, v. 36, n. 4, p. 60–
73, 2006.

PINEDO, M. L. Scheduling Theory, Algorithms, and Systems. 2nd ed. Nova York:
Prentice Hall, 1995.

POTTS, C. N.; WASSENHOVE, L. N. VAN. A decomposition algorithm for the single


machine total tardiness problem. Operations Research Letters, v. 1, p. 177–181, 1982.

POUR, H. D. A new heuristic for the n -job , m -machine ow-shop problem. Production
Planning & Control, v. 12, n. January, p. 648–653, 2001.

QI, X.; CHEN, T.; TU, F. Scheduling the Maintenance on a Single Machine. Journal of the
Operational Research Society, v. 50, n. 10, p. 1071–1078, 1999.

QIAN, B.; WANG, L.; HU, R.; HUANG, D. X.; WANG, X. A DE-based approach to no-wait
flow-shop scheduling. Computers & Industrial Engineering, v. 57, n. 3, p. 787–805, 2009.

RACHANIOTIS, N. P.; PAPPIS, C. P. Scheduling fire-fighting tasks using the concept of


“deteriorating jobs”. Canadian Journal of Forest Research, v. 36, n. 3, p. 652–658, 2006.
131

RAJENDRAN, C.; ZIEGLER, H. Ant-colony algorithms for permutation flowshop


scheduling to minimize makespan / total flowtime of jobs. , v. 155, p. 426–438, 2004.

RAUSAND, M.; HΦYLAND, A. System reliability theory. Models, statistical methods,


and applications. 2nd ed. New Jersey: Wiley, 2004.

RAZA, S. A.; AL-TURKI, U. M.; SELIM, S. Z. Early-Tardy Minimization for Joint


Scheduling of Jobs and Maintenance Operations on a Single Machine. International Journal
of Operations Research, v. 4, n. 1, p. 32–41, 2007.

REBAI, M.; KACEM, I.; ADJALLAH, K. H. Scheduling jobs and maintenance activities on
parallel machines. Operational Research, v. 13, n. 3, p. 363–383, 2013.

REDDI, S. S.; RAMAMOORTHY, C. V. On the flow-shop sequencing with no wait in


process. Operations Research Quarterly, p. 323–328, 1972.

REEVES, R. C. Feature Article-Genetic Algorithms for the Operations Researcher.


INFORMS journal on computing, v. 9, n. March 2017, p. 231–250, 1996.

REZA HEJAZI, S.; SAGHAFIAN, S. Flowshop-scheduling problems with makespan


criterion: a review. International Journal of Production Research, v. 43, n. 14, p. 2895–
2929, 2005.

RIAHI, V.; KHORRAMIZADEH, M.; HAKIM NEWTON, M. A.; SATTAR, A. Scatter


search for mixed blocking flowshop scheduling. Expert Systems with Applications, v. 79, p.
20–32, 2017.

RIBAS, I.; COMPANYS, R. A competitive variable neighbourhood search algorithm for the
blocking flow shop problem. European Journal of Industrial Engineering, v. 7, n. 6, p.
729–754, 2013.

RIBAS, I.; COMPANYS, R. Efficient heuristic algorithms for the blocking flow shop
scheduling problem with total flow time minimization. Computers and Industrial
Engineering, v. 87, p. 30–39, 2015.

RIBAS, I.; COMPANYS, R.; TORT-MARTORELL, X. An iterated greedy algorithm for the
flowshop scheduling problem with blocking. Omega, v. 39, n. 3, p. 293–301, 2011.

RIBAS, I.; COMPANYS, R.; TORT-MARTORELL, X. An efficient iterated local search


algorithm for the total tardiness blocking flow shop problem. International Journal of
Production Research, v. 51, n. 17, p. 5238–5252, 2013.

RIBAS, I.; COMPANYS, R.; TORT-MARTORELL, X. An efficient Discrete Artificial Bee


Colony algorithm for the blocking flow shop problem with total flowtime minimization.
Expert Systems with Applications, v. 42, n. 15–16, p. 37–41, 2015.

RÖCK, H. Some new results in flow shop scheduling. Zeitschrift für Operations Research,
v. 28, n. 1, p. 1–16, 1984.

RONCONI, D. P. A note on constructive heuristics for the flowshop problem with blocking.
132

International Journal of Production Economics, v. 87, n. 1, p. 39–48, 2004.

RONCONI, D. P. A Branch-and-Bound Algorithm to Minimize the Makespan in a Flowshop


with Blocking. Annals of Operations Research, v. 138, p. 53–65, 2005.

RONCONI, D. P.; ARMENTANO, V. A. Lower bounding schemes for flowshops with


blocking in-process. Journal of the Operational Research Society, 2001.

RONCONI, D. P.; HENRIQUES, L. R. S. Some heuristic algorithms for total tardiness


minimization in a flowshop with blocking. Omega, v. 37, n. 2, p. 272–281, 2009.

RUIZ, R.; ALLAHVERDI, A. New heuristics for no-wait flow shops with a linear
combination of makespan and maximum lateness. International Journal of Production
Research, v. 47, n. 20, p. 5717–5738, 2009.

RUIZ, R.; CARLOS GARCÍA-DÍAZ, J.; MAROTO, C. Considering scheduling and


preventive maintenance in the flowshop sequencing problem. Computers and Operations
Research, v. 34, n. 11, p. 3314–3330, 2007.

RUIZ, R.; MAROTO, C.; ALCARAZ, J. Solving the flowshop scheduling problem with
sequence dependent setup times using advanced metaheuristics. European Journal of
Operational Research, v. 165, n. 1, p. 34–54, 2005.

RUIZ, R.; STÜTZLE, T. A simple and effective iterated greedy algorithm for the permutation
flowshop scheduling problem. European Journal of Operational Research, v. 177, n. 3, p.
2033–2049, 2007.

SADAQA, M.; MORAGA, R. J. Scheduling Blocking Flow Shops Using Meta-RaPS.


Procedia Computer Science, v. 61, p. 533–538, 2015.

SAFARI, E.; SADJADI, S. J.; SHAHANAGHI, K. Scheduling flowshops with condition-


based maintenance constraint to minimize expected makespan. International Journal of
Advanced Manufacturing Technology, v. 46, n. 5–8, p. 757–767, 2010.

SAUER, C.; SAUVEY, N. A genetic algorithm with genes-association recognition for


flowshop scheduling problems. Journal of Intelligent Manufacturing, v. 23, p. 1167–1177,
2012.

SITAYEB, F. B.; GUEBLI, S. A.; BESSADI, Y.; VARNIER, C.; ZERHOUNI, N. Joint
scheduling of jobs and Preventive Maintenance operations in the flowshop sequencing
problem: a resolution with sequential and integrated strategies. International Journal of
Manufacturing Research, v. 6, n. 1, p. 30–48, 2011.

SLACK, N.; CHAMBERS, S.; R, J. Administração da Produção. São Paulo: Atlas, 1996.

SORTRAKUL, N.; NACHTMANN, H. L.; CASSADY, C. R. Genetic algorithms for


integrated preventive maintenance planning and production scheduling for a single machine.
Computers in Industry, v. 56, n. 2, p. 161–168, 2005.

SUHAMI, I.; MAH, R. S. H. An implicit enumeration scheme for the flowshop problem with
133

no intermediate storage. Computers and Chemical Engineering, v. 5, n. 2, p. 83–91, 1981.

SUN, K.; LI, H. Scheduling problems with multiple maintenance activities and non-
preemptive jobs on two identical parallel machines. International Journal of Production
Economics, v. 124, n. 1, p. 151–158, 2010.

TAILLARD, E. Benchmarks for Basic Scheduling Problems. European Journal of


Operational Research, v. 64, p. 278–285, 1993.

TASGETIREN, M. F.; KIZILAY, D.; PAN, Q.; SUGANTHAN, P. N. Iterated greedy


algorithms for the blocking fl owshop scheduling problem with makespan criterion.
Computers and Operation Research, v. 77, p. 111–126, 2017.

TASGETIREN, M. F.; PAN, Q.; KIZILAY, D.; GAO, K. A Variable Block Insertion
Heuristic for the Blocking Flowshop Scheduling Problem with Total Flowtime Criterion.
Algorithms, v. 9, n. 4, p. 1–24, 2016.

TASGETIREN, M. F.; SEVKLI, M.; LIANG, Y.; GENCYILMAZ, G. Particle Swarm


Optimization Algorithm for Permutation Flowshop Sequencing Problem. Lecture Notes in
Computer Science. Anais... . v. 3172, p.382–389, 2004.

TOUMI, S.; JARBOUI, B.; EDDALY, M.; REBAI, A. Branch and Bound algorithm for
solving blocking flowshop scheduling problem with total completion time. Control, Decision
and Information Technologies (CoDIT), 2013 International Conference on. IEEE. Anais... .
p.746–749, 2013a.

TOUMI, S.; JARBOUI, B.; EDDALY, M.; REBAI, A. Solving Blocking Flowshop
Scheduling Problem with Branch and Bound Algorithm. 2013 International Conference on
Advanced Logistics and Transport, ICALT 2013. Anais... . p.746–749, 2013b.

TOUMI, S.; JARBOUI, B.; EDDALY, M.; REBAI, A. Branch and bound algorithm for
solving blocking flowshop scheduling problem with total tardiness. Control, Decision and
Information Technologies (CoDIT), 2013 International Conference on. IEEE. Anais... .
p.756–761, 2013c.

TOUMI, S.; JARBOUI, B.; EDDALY, M.; REBAI, A. An efficient branch and bound
algorithm to solve the permutation flowshop scheduling problem with blocking constraints.
2013 5th International Conference on Modeling, Simulation and Applied Optimization,
ICMSAO 2013. Anais... . p.1–6, 2013d.

TOUMI, S.; JARBOUI, B.; EDDALY, M.; REBAI, A. Lower bounds on the total tardiness
and total weighted tardiness for scheduling flowshop with blocking. 2013 International
Conference on Advanced Logistics and Transport, ICALT 2013. Anais... . p.296–301, 2013e.

TOUMI, S.; JARBOUI, B.; EDDALY, M.; REBAI, A. New lower bounds for the blocking
flowshop scheduling problem to minimize the total completion time criterion. 2013 5th
International Conference on Modeling, Simulation and Applied Optimization (ICMSAO).
Anais... . p.1–5, 2013f. IEEE.

TRABELSI, W.; SAUVEY, C.; SAUER, N. Heuristics and metaheuristics for mixed blocking
134

constraints flowshop scheduling problems. Computers and Operations Research, v. 39, n.


11, p. 2520–2527, 2012.

TSENG, L.-Y.; LIN, Y.-T. A hybrid genetic algorithm for no-wait flowshop scheduling
problem. International Journal of Production Economics, v. 128, n. 1, p. 144–152, 2010.

TSENG, L.; LIN, Y. A genetic local search algorithm for minimizing total flowtime in the
permutation flowshop scheduling problem. International Journal of Production
Economics, v. 127, n. 1, p. 121–128, 2010.

TUBINO, D. F. Planejamento e controle da produção: teoria e prática. São Paulo: Atlas,


2009.

VAHEDI-NOURI, B.; FATTAHI, P.; RAMEZANIAN, R. Hybrid firefly-simulated annealing


algorithm for the flow shop problem with learning effects and flexible maintenance activities.
International Journal of production Research, v. 51, n. 12, p. 3501–3515, 2013.

VAHEDI-NOURI, B.; FATTAHI, P.; TAVAKKOLI-MOGHADDAM, R.; RAMEZANIAN,


R. A general flow shop scheduling problem with consideration of position-based learning
effect and multiple availability constraints. International Journal of Advanced
Manufacturing Technology, v. 73, n. 5–8, p. 601–611, 2014.

VAN, L. E.; CUMMINGS, P. T.; VAN, D. LE. Scheduling of serial multiproduct batch
processes via simulated annealing. Computers & Chemical Engineering, v. 14, n. 12, p.
1351–1362, 1990.

WANG, C.; SONG, S.; GUPTA, J. N. D.; WU, C. A three-phase algorithm for flowshop
scheduling with blocking to minimize makespan. Computers and Operations Research, v.
39, n. 11, p. 2880–2887, 2012.

WANG, L.; PAN, Q.-K.; SUGANTHAN, P. N.; WANG, W.-H.; WANG, Y.-M. A novel
hybrid discrete differential evolution algorithm for blocking flow shop scheduling problems.
Computers & Operations Research, v. 37, n. 3, p. 509–520, 2010.

WANG, L.; PAN, Q.-K.; TASGETIREN, M. F. Minimizing the total flow time in a flow shop
with blocking by using hybrid harmony search algorithms. Expert Systems with
Applications, v. 37, n. 12, p. 7929–7936, 2010.

WANG, L.; PAN, Q.-K.; TASGETIREN, M. F. A hybrid harmony search algorithm for the
blocking permutation flow shop scheduling problem. Computers & Industrial Engineering,
v. 61, n. 1, p. 76–83, 2011.

WANG, L.; ZHANG, L.; ZHENG, D. An effective hybrid genetic algorithm for flow shop
scheduling with limited buffers. computers & oper, v. 33, p. 2960–2971, 2006.

WANG, S.; LIU, M. A branch and bound algorithm for single-machine production scheduling
integrated with preventive maintenance planning. International Journal of Production
Research, v. 51, n. 3, p. 847–868, 2013.

WANG, S.; LIU, M. Two-machine flow shop scheduling integrated with preventive
135

maintenance planning. International Journal of Systems Science, v. 7721, n. December, p.


1–19, 2014a.

WANG, S.; LIU, M. Two-stage hybrid flow shop scheduling with preventive maintenance
using multi-objective tabu search method. International Journal of Production Research,
v. 52, n. 5, p. pp.1495-1508, 2014b.

WANG, X.; TANG, L. A discrete particle swarm optimization algorithm with self-adaptive
diversity control for the permutation flowshop problem with blocking. Applied Soft
Computing Journal, v. 12, n. 2, p. 652–662, 2012.

WIDMER, M.; HERTZ, A. A new heuristic method for the flow shop sequencing problem.
European Journal of Operational Research, v. 41, n. 2, p. 186–193, 1989.

WOLSEY, L. A. Integer Programming. New York: Wiley-Interscience, 1998.

XU, D.; WAN, L.; LIU, A.; YANG, D. L. Single machine total completion time scheduling
problem with workload-dependent maintenance duration. Omega (United Kingdom), v. 52,
p. 101–106, 2015.

XU, D.; YIN, Y.; LI, H. Scheduling jobs under increasing linear machine maintenance time.
Journal of Scheduling, v. 13, n. 4, p. 443–449, 2010.

YANG, S. J. Single-machine scheduling problems simultaneously with deterioration and


learning effects under deteriorating multi-maintenance activities consideration. Computers
and Industrial Engineering, v. 62, n. 1, p. 271–275, 2012.

YANG, S. J. Unrelated parallel-machine scheduling with deterioration effects and


deteriorating multi-maintenance activities for minimizing the total completion time. Applied
Mathematical Modelling, v. 37, n. 5, p. 2995–3005, 2013.

YANG, S. J.; YANG, D. L. Minimizing the makespan on single-machine scheduling with


aging effect and variable maintenance activities. Omega, v. 38, n. 6, p. 528–533, 2010.

YANG, W.; LIAO, C.-J. Survey of scheduling research involving setup times. International
Journal of Systems Science, v. 30, n. September, p. 143–155, 1999.

YU, A. J.; SEIF, J. Minimizing tardiness and maintenance costs in flow shop scheduling by a
lower-bound-based GA. Computers and Industrial Engineering, v. 97, p. 26–40, 2016.

ZANDIEH, M.; GHOLAMI, M. An immune algorithm for scheduling a hybrid flow shop
sequence-dependent setup times and machines with random breakdowns. International
Journal of Production Research, v. 47, n. 24, p. 6999–7027, 2009.

ZAROOK, Y.; REZAEIAN, J.; TAVAKKOLI-MOGHADDAM, R.; MAHDAVI, I.;


JAVADIAN, N. Minimization of makespan for the single batch-processing machine
scheduling problem with considering aging effect and multi-maintenance activities.
International Journal of Advanced Manufacturing Technology, v. 76, n. 9–12, p. 1879–
1892, 2014.
136

ZHAO, C. LI; TANG, H. YONG. Single machine scheduling with general job-dependent
aging effect and maintenance activities to minimize makespan. Applied Mathematical
Modelling, v. 34, n. 3, p. 837–841, 2010.

Você também pode gostar