Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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.
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
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
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
Bloqueio
0
Término
Si,j Tempo de setup Ji Tarefa MA Atividade de MP
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
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
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.
2 PROBLEMA DE SCHEDULING
Tempo de Total de Fluxo ou Total Flow Time (∑ Ci , TFT , TCT ): Soma dos instantes
i
Atraso total das tarefas (∑ Ti ): Atraso da tarefa em relação à sua data de entrega.
i
F m|block , s i , j, k|∑ Ci – Indica o problema flow shop sem estoque intermediário entre
i
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)
Cmax = D n , m (6)
∑ Ci = ∑ Di , m (7)
i i =1
T i = max ( 0 , Di , m - d i ) , i = 1 , … , n (8)
∑ Ti = ∑ T i (9)
i =1
Métodos de Solução
Métodos Exatos
Métodos Heurísticos
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
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.
Heurística B Índice B
Heurística C Construção-C
Heurística D Índice-D Construção-D
Composta
( 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
β β -1 - t /θ β
f (t) = t e , t ≥0 (10)
θ
β
− (θt ) (11)
R ( t) = e , t ≥0
β -1
β t
h (t ) =
θ θ() , t ≥0 (12)
1
MTTF = θ ∙ Γ 1+ [ ] β
(13)
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
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).
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 (τ) = () θ
τ
A (τ) =
τ + m ( τ ) tr + t p
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
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.
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
(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.
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);
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.
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;
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);
(Conclusão.)
Objetivo Problema Referência
n / m / block , b j , j+1 Nowicki (1999); Li; Tang (2005); Wang et
(2007).
λ Cmax + (1- λ ) ∑ wni / 2 / no-wait, block, batch Gong
, sst et al. (2010).
i
Atraso total (∑ Ti );
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
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).
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.
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.
∑ qi ( t , j ) = t
i =1
q i ( t , j ) ∈ {0,1 } ∀ i
Cmax ( t , j ) = e m ( t , j )
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
)
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.
(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.
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
σ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
(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).
ú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
Onde
pgk – o g-ésimo menor tempo de processamento na máquina k entre todas as tarefas de NPS.
| 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
g
bm +1 = 0 para todo g ∈ NPS.
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
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.
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
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
r kj ,k ' =
{
h=k'
∑ pj , h se 1 ≤ k ' ≤ k ≤ m ∀ j ∈ NPS
0, caso contrário
é a soma dos tempos de processamento
PS (28
LB 2 = ∑ Ci + max { LB2 ( k ) }
i =1 1≤ k ≤m )
^ 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
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 .
PS
(30
LB 3 = ∑ Ci + max { LB3 ( k ) }
i =1 1≤ k ≤m )
n
min ∑ ∑ w j E i , j, m x i , j
j∈ σ́ s i= s +1
∑ xi , j = 1 para j ∈ σ́s
i = s+1
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 }
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 )
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
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.
{ 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 +
(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 =
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
LB – X = max { LB - X } (37)
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).
(1989)
Sequential Slowing Down; SSD; PSD Abadi et al. (2007)
Parallel Slowing Down
52
(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.
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:
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
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
m
Onde dynslack i=LBi −Di ,1 and LB i = d i - ∑ pij
j=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
m
( n -2)
ξi = ∙ w i + ∑ pi , j , i = 1, … , n (43)
4 i =1
j -1
m
m∙ ∑ p i , j'
j' =1
wi = ∑ , i = 1 , … , n
j =2 j - 1
56
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.
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.
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
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
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:
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.
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
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
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.
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
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
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.
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
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.
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.
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.
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
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.
Figura 5 - Heurísticas compostas para o problema flow shop com bloqueio e m máquinas
Fonte: Autor, 2017.
3.1.7 Metaheurísticas
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.
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)
(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.
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.
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
(Conclusão.)
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).
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
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.
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;
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.
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
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
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.
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
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
(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
4 DEFINIÇÃO DO PROBLEMA
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.
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
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).
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.
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
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
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.
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
R1,,2 C1,,2 R2,2 C2,2 R3,2 C2,2 R4,2 C4,2 R5,2 C5,2
R1,4 C1,,4 R2,4 C2,4 R3,4 C2,4 R4,4 C4,4 R5,4 C5,4
0
C1 C2 C3 C4 C5
Si,j,k Tempo de setup Ji Tarefa MAti-1,I,j Atividade de MP
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
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
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
l
R [i ], j = R [i -1], j +1 + ∑ AMt[i -1 ], [i ], j + S[i -1 ] ,[ i] , j
t =1
R [i ], j = C[ i ], j-1
110
(
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
(
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
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.
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
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 ,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.
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.
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
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
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
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
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)
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
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
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.; 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.
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.
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.
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.
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.; 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.
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.
EDDALY, M.; JARBOUI, B.; SIARRY, P. Combinatorial Particle Swarm Optimization for
solving Blocking Flowshop Scheduling Problem. Journal of Computational Design and
Engineering, 2016.
125
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.
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.
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. 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.
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.
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.
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
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.
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.
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
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.; 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, 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.
shop with two batch-processing machines using simulated annealing. Robotics and
Computer-Integrated Manufacturing, v. 25, p. 667–679, 2009.
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.
MEEKER, W. Q.; ESCOBAR, L. A. Statistical methods for reliability data. New York:
Wiley, 1998.
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
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.
PINEDO, M. L. Scheduling Theory, Algorithms, and Systems. 2nd ed. Nova York:
Prentice Hall, 1995.
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.
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.
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.
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
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.; 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.
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.
SUHAMI, I.; MAH, R. S. H. An implicit enumeration scheme for the flowshop problem with
133
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.
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.
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
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.
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
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.
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, 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.
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.