A INFLUÊNCIA DA TEMPERATURA INICIAL
NO DESEMPENHO DE UM MÉTODO HÍBRIDO
ALGORITMO GENÉTICO - SIMULATED
ANNEALING PARA A PROGRAMAÇÃO
FLOW SHOP PERMUTACIONAL
Walther Rogério Buzzo
Mestrado em Engenharia de Produção/Escola de Engenharia de São Carlos - USP
Av. Dr. Carlos Botelho, 1465. CEP 13560-250 - São Carlos/SP
João Vitor Moccellin
Escola de Engenharia de São Carlos - USP. SEM - Engenharia de Produção
Av. Dr. Carlos Botelho, 1465. CEP 13560-250 - São Carlos/SP
ABSTRACT
Flowshop scheduling for minimizing the makespan is one of the most well-know problems in the
area on scheduling. In the last decades, various approaches have been proposed to solve this
problem. Recently, some heuristics approaches were applied to the flow shop scheduling. In this
paper, a hybrid metaheuristic is presented for solving the m-machine, n-job flow shop scheduling
problem with the objective of minimizing the makespan. The influence of a parameter named Initial
Temperature on the hybrid metaheuristic performance is evaluated by computer simulations. The
proposed method is based on the combination of two approaches: Genetic Algorithm and Simulated
Annealing. The Genetic Algorithm starts with an initial population generated by efficient
scheduling heuristics and crosses over them. Following, Simulated Annealing improves those
sequences. The cycle repeats until stop rule. Simulated Annealing has the ability to escape from
local optima by accepting sequences that momentarily deteriorate the objective function and, due
this advantage, it has a great potential for obtaining high quality solutions. The mechanics of
Genetic Algorithm is simple: only copying string and swapping of string by three genetic operators
- reproduction, crossover and mutation. The conception of method is based on quality of solution
and computation effort.
KEYWORDS: production scheduling, flow shop, hybrid metaheuristics.
RESUMO
A programação em ambiente Flow Shop com o objetivo de minimizar o makespan é um dos mais
conhecidos problemas na área de programação de operações em máquinas. Nas últimas décadas,
várias abordagens foram propostas para resolver o problema. Recentemente, algumas abordagens
heurísticas foram aplicadas na programação de operações Flow Shop. Neste artigo, é apresentado
um metaheurístico híbrido para resolver o problema de operações Flow Shop de m máquinas e n
tarefas, com o objetivo de minimizar o makespan. É estudado também, a influência do parâmetro
Temperatura Inicial na performance do metaheurístico híbrido, através de simulações de
computador. O método proposto é baseado na combinação de duas abordagens: Algoritmo Genético
e Simulated Annealing. O Algoritmo Genético tem início com uma população gerada por métodos
heurísticos eficientes, fazendo o cruzamento entre os indivíduos desta população. Em seguida, o
Simulated Annealing melhora estas seqüências. O ciclo se repete até uma condição de parada.
Simulated Annealing tem a capacidade de escapar de ótimos locais aceitando seqüências que
deterioram momentaneamente a função-objetivo e, devido a esta vantagem, ele apresenta um grande
potencial para obter soluções de qualidade. O mecanismo do Algoritmo Genético é simples: ele
apenas copia séries e faz a permutação entre as mesmas através de três operadores - reprodução,
cruzamento e mutação. A concepção do método baseia-se na qualidade da solução e no esforço
computacional.
PALAVRAS-CHAVE: programação da produção, flow shop, metaheurísticos híbridos.
1. INTRODUÇÃO
O problema de programação de operações em ambiente Flow Shop é um problema de
programação da produção no qual cada uma de um conjunto de n tarefas deve ser processada por
um conjunto de m máquinas distintas, tendo o mesmo fluxo de processamento nas máquinas. O
tempo de processamento da tarefa i na máquina j é pij ( i = 1, 2, ..., n; j = 1, 2, ..., m). Quando em
cada máquina a ordem de processamento das tarefas é a mesma, tem-se o Flow Shop Permutacional.
A solução do problema consiste em se determinar dentre as (n!) seqüências possíveis das
tarefas, aquela que otimiza alguma medida de desempenho, geralmente associada ao fator tempo.
Neste trabalho adota-se como função-objetivo a Duração Total da Programação (makespan),
que é o intervalo de tempo entre o início da execução da primeira tarefa na primeira máquina e o
término de execução da última tarefa na última máquina.
O problema em questão é classificado como NP-hard, de modo que pode ser resolvido
eficientemente de maneira ótima somente nos casos de pequeno porte. Um extenso esforço de
pesquisa tem sido dedicado ao problema nas últimas décadas. Técnicas de Programação
Matemática, tais como Programação Linear Inteira (SELEN & HOTT [26]) e técnicas de
enumeração do tipo branch-and-bound (IGNALL & SCHRAGE [8]) têm sido empregadas para a
solução ótima do problema. Entretanto, tais técnicas não são eficientes em termos computacionais,
em problemas de médio e grande porte. Recentemente, graças ao aperfeiçoamento dos
computadores, alguns métodos heurísticos foram aplicados para a solução de tais problemas.
Um método heurístico não pode garantir a qualidade da solução, sendo aceitável se os
resultados forem satisfatórios quanto à proximidade da solução e quanto ao esforço computacional.
Os métodos heurísticos podem ser classificados de várias formas, uma das quais classifica-os em:
(i) Métodos Construtivos - a seqüência adotada como solução do problema é obtida:
• diretamente a partir da ordenação das tarefas segundo índices de prioridade calculados em
função dos tempos de processamento das tarefas: PALMER [21];
• escolhendo-se a melhor seqüência das tarefas a partir de um conjunto de seqüências obtidas
utilizando-se índices de prioridade associados às tarefas: CAMPBELL, DUDEK & SMITH [1];
• a partir da geração sucessiva de seqüências parciais das tarefas (sub-seqüências) até a
obtenção de uma seqüência completa através de algum critério de inserção de tarefas: NEH
(NAWAZ, ENSCORE & HAM [18] ).
(ii) Métodos Melhorativos - obtém-se uma solução inicial e posteriormente, através de algum
procedimento iterativo, geralmente envolvendo trocas de posições das tarefas na seqüência, buscase obter uma seqüência das tarefas melhor que a atual quanto à medida de desempenho adotada.
Nesta categoria destacam-se os procedimentos de busca em vizinhança, como por exemplo
DANNENBRING [2]. Recentemente, foram desenvolvidos métodos de busca em vizinhança de
maior complexidade (Busca Tabu e Simulated Annealing) que têm sido alvo de gradativo interesse
na comunidade científica em função de aplicações bem sucedidas reportadas na literatura.
Exemplos de aplicações dessas técnicas são encontrados em: ISHIBUCHI, MISAKI &
TANAKA [9]; MOCCELLIN [13]; OSMAN & POTTS [20]; PARK & KIM [22]; WIDMER &
HERTZ [28] e ZEGORDI, ITOH & ENKAWA [29].
Outra técnica do tipo melhorativo - denominada Algoritmo Genético - tem despertado
interesse pela sua capacidade de solução de problemas de natureza combinatorial. REEVES [24]
utilizou do Algoritmo Genético na solução do problema de Programação de Operações Flow-Shop
Permutacional.
2. MÉTODOS METAHEURÍSTICOS HÍBRIDOS
Uma idéia que tem despertado atenção refere-se ao desenvolvimento de métodos
metaheurísticos híbridos utilizando as metaheurísticas Busca Tabu, Simulated Annealing e
Algoritmo Genético. O objetivo é combinar as técnicas preservando suas características de ação
inteligente, de tal forma que o procedimento resultante seja mais eficaz do que qualquer um dos
seus componentes isoladamente.
Na literatura são reportados alguns trabalhos relatando experimentações com variantes ou
combinações desses três métodos, como observado em: FOX [4]; GLOVER, KELLY &
LAGUNA [5]; KIM, NARA & GEN [10]; ROACH & NAGI [25]. No caso específico do problema
de Programação de Operações Flow Shop, tem-se os trabalhos de: DÍAZ [3]; MURATA,
ISHIBUCHI & TANAKA [16] e PIRLOT [23].
O objetivo deste trabalho é propor um novo método metaheurístico híbrido (denominado
HBGASA) que utiliza as metaheurísticas Algoritmo Genético e Simulated Annealing para o
problema de Programação de Operações Flow Shop Permutacional e, posteriormente, avaliar a
influência da TEMPERATURA INICIAL no desempenho do mesmo. O desempenho do HBGASA é
comparado ao desempenho do Algoritmo Genético puro e do Simulated Annealing puro, tomandose diferentes valores de temperatura inicial.
3. ALGORITMO GENÉTICO
Desenvolvido por HOLLAND [7], o Algoritmo Genético é derivado de uma analogia com o
processo evolucionário de seleção natural. Além de ser uma estratégia diferenciada, pois se baseia
na evolução biológica, o Algoritmo Genético é capaz de identificar e explorar fatores ambientais
(do espaço de soluções) e convergir para soluções ótimas ou aproximadamente ótimas em níveis
globais e em uma grande variedade de problemas.
Na terminologia do Algoritmo Genético, um cromossomo representa uma solução para o
problema em estudo, sendo constituído de um conjunto de genes cada qual representando uma
característica específica do cromossomo. O valor associado à característica de cada gene é
denominado alelo. Uma população é constituída de um conjunto de cromossomos, sendo refeita
(atualizada, renovada) após cada geração. Um elemento fundamental do algoritmo é o operador
genético denominado operador de cruzamento o qual combina dois cromossomos para gerar
cromossomos "filhos" que mantêm certas características básicas dos cromossomos "pais". Além
desse operador, geralmente é considerado um outro denominado operador de mutação, o qual
introduz aleatoriamente transformações ou novas informações em uma população.
Na solução do problema de Programação de Operações Flow Shop Permutacional, um
cromossomo representa uma possível seqüência das tarefas e os genes representam as tarefas. A
especificação do "cenário" em que o Algoritmo Genético deve atuar é de fundamental importância
para a maximização da sua performance, como por exemplo: a determinação da forma de
construção das subpopulações iniciais e dos operadores de cruzamento e mutação que serão
empregados; a freqüência de utilização do operador de mutação, dentre outros.
4. SIMULATED ANNEALING
Técnica recente introduzida por KIRKPATRICK, GELATT & VECCHI [11], o Simulated
Annealing se baseia na idéia de se aplicar o princípio de tratamento térmico (aquecimento e
gradativo resfriamento) para a solução de problemas de natureza combinatorial, podendo ser
considerado um método heurístico melhorativo de busca aleatória na vizinhança.
O Simulated Annealing extrai ao acaso uma solução σ’ na vizinhança da solução atual σ. Se
o valor da função-objetivo da seqüência σ’ for menor ou igual ao valor da função-objetivo da
seqüência atual σ, então σ’ passa a ser a nova solução atual. Caso contrário, σ’ pode se tornar a
nova solução atual de acordo com uma probabilidade dada por:
p(k) = e -∆/T ,
onde:
• ∆ : diferença entre as medidas de desempenho das duas soluções e
• T : parâmetro denominado temperatura.
A metaheurística Simulated Annealing permite, portanto, a mudança de uma solução para
outra na vizinhança com um desempenho inferior quanto à função-objetivo adotada, possibilitando
assim, um movimento contrário a um eventual ótimo local. A temperatura T é geralmente alta nos
estágios iniciais, permitindo mudanças de soluções atuais com desempenho inferior. O valor de T
decresce gradativamente atingindo um valor próximo de zero, de modo que a troca de uma solução
atual só é permitida quando for encontrada uma solução vizinha com desempenho superior.
A aplicação do Simulated Annealing para a solução do problema de otimização requer a
tomada de decisões específicas para cada problema, como a determinação de métodos de geração da
solução inicial; a definição da vizinhança a ser considerada; a porcentagem da vizinhança analisada;
a temperatura inicial; a condição de parada, entre outras.
5. O MÉTODO HÍBRIDO HBGASA
O método híbrido proposto neste trabalho tem como ponto de partida duas soluções iniciais
geradas por dois métodos construtivos de comprovada eficiência/eficácia. O objetivo é melhorar
tais soluções, através de um procedimento que combina as metaheurísticas Algoritmo Genético e
Simulated Annealing. A seleção dos parâmetros utilizados no método é de fundamental importância
na maximização de sua performance. Tais parâmetros são descritos a seguir.
❶
Soluções Iniciais: são fornecidas pelo NEH (NAWAZ, ENSCORE & HAM [18]) e FSHOPH
(MOCCELLIN [13]). No método Simulated Annealing puro que é comparado com o híbrido
HBGASA, a solução inicial é a melhor dentre as fornecidas pelo NEH e FSHOPH.
❷
Vizinhança: foi utilizado o tipo de Vizinhança de Inserção (Shift Neighbourhood), onde uma
seqüência vizinha é obtida da seqüência atual removendo-se uma tarefa de sua posição e inserindo-a
em uma outra posição .
❸
Formas de Busca na Vizinhança: foi empregada a busca parcial aleatória, que consiste no
exame parcial da vizinhança, ou seja, apenas uma parcela Nvp(S) do número total de vizinhos será
avaliada, a qual é gerada aleatoriamente.
A parcela da vizinhança, baseada em NAGANO [17], é dada pelas expressões:
Nvp(S) = p (n - 1)2 , para n ≤ 30
Nvp(S) = p [1741 - 900 exp (-0,04(n - 30))] , para n >30
onde p é um parâmetro obtido experimentalmente no conjunto {0,05; 0,10; 0,15; 0,20; 0,25;
0,30; 0,35; 0,40; 0,45; 0,50; 0,55; 0,60; 0,65; 0,70; 0,75; 0,80; 0,85; 0,90; 0,95; 1,00} e n é
o número de tarefas a serem programadas.
❹
Operador Reprodução: a reprodução é efetuada sobre a população constituída pelas duas
seqüências “pais” e duas seqüências “filhos”. As duas seqüências que apresentarem as menores
durações totais de programação são selecionadas para a aplicação do operador de cruzamento.
❺ Operador de Cruzamento: é responsável pela recombinação das características dos pais durante a
reprodução, permitindo que as próximas gerações herdem tais características. Utilizou-se neste
trabalho, o operador de cruzamento de UM CORTE, detalhado a seguir:
• PASSO 1: Escolha um ponto para se dividir cada pai, em duas subseqüências;
• PASSO 2: A solução filho é gerada através da união de duas subseqüências, uma de cada
pai, na sua posição absoluta;
• PASSO 3: Para evitar a inviabilidade da solução filho, troca-se as tarefas duplicadas por
aquelas que faltam para completar a solução filho.
❻
Operador de Mutação: este operador é necessário para a introdução e a manutenção da
diversidade genética da população. Apesar da sua relativa importância, ele não é utilizado no
método híbrido HBGASA, uma vez que nesse método tal função é realizada pelo procedimento
Simulated Annealing.
Porém, para o Algoritmo Genético puro (a ser comparado com o método híbrido) foram
desenvolvidos 3 operadores de mutação. O mutação 1 consiste em escolher aleatoriamente uma
tarefa e trocá-la de posição com a sua subseqüente. O operador mutação 2 troca aleatoriamente as
posições de duas tarefas quaisquer da seqüência. Por sua vez, o mutação 3 escolhe ao acaso um
ponto para se dividir a seqüência em duas subseqüências, as quais têm suas posições relativas
invertidas. Pode-se notar que os operadores de mutação propostos têm graus de “perturbação”
crescentes. O operador mutação 1 é aplicado toda vez que não houver melhoria na melhor
seqüência até então obtida, após 0,01TNbS(m,n) seqüências sucessivas geradas e avaliadas. O
mutação 2 é utilizado se não houver melhoria após 0,027TNbS(m,n) seqüências sucessivas. O
operador mutação 3, que causa uma maior modificação na seqüência gerada é aplicado após
0,10TNbS(m,n) seqüências sucessivas sem melhoria quanto à melhor solução até o momento
obtida. Os coeficientes 0,01; 0,027 e 0,10 foram estabelecidos em função do “grau de perturbação”
de cada operador e também de forma que não haja a possibilidade de aplicação simultânea de dois
ou dos três operadores.
❼ Temperatura Inicial T1: objeto de estudo do
presente trabalho, a temperatura inicial é um dos
parâmetros sensíveis e experimentais do método híbrido. Com o objetivo de obter o melhor valor
para tal parâmetro, foi estabelecido um conjunto representativo dado por {20, 30, 45, 60, 70}.
❽ Função de Resfriamento F(Tk): no procedimento Simulated Annealing, após cada iteração ocorre
uma diminuição da temperatura conforme a seguinte expressão:
Tk + 1 = Tk / (1 + βTk ), onde:
• Tk = temperatura da k-ésima iteração;
• β é um parâmetro dado pela relação: β = (T1 - TK) / [(K - 1).(T1 . TK)],
sendo: T1 = temperatura inicial; TK = temperatura final e K = número de iterações.
O número de iterações K depende da estrutura do método, puro ou híbrido, sendo uma
função da condição de parada. A temperatura final é adotada igual a 1 (um).
❾
Probabilidade de Aceitação p(k): a probabilidade de aceitação de um “movimento” no
procedimento Simulated Annealing é calculada pela distribuição de Boltzmann, ou seja :
p(k) = exp (-∆ / Tk), onde:
• ∆ = C(σ’) - C(σ);
• σ’: solução “candidata”, extraída da vizinhança da solução atual (corrente);
• σ : solução atual;
• Tk : temperatura na iteração k.
❿ Condição de Parada: o método híbrido HBGASA encerra a busca por melhores soluções após um
número TNbS(m,n) pré-determinado de seqüências avaliadas de acordo com a Tabela 1. Tais
números foram obtidos por experimentação prévia : Para cada classe de problema (número de
máquinas m, número de tarefas n), o valor TNbS(m,n) corresponde ao número médio de seqüências
avaliadas utilizando-se o método heurístico de Busca Tabu FShop.TS5 (MOCCELLIN &
NAGANO [14]).
TABELA 1 - Condição de Parada
Número de
(máquinas, tarefas)
(4, 20)
(4, 30)
(4, 40)
(4, 50)
(4, 60)
(4, 70)
(4, 80)
(4, 90)
(4, 100)
TNbS
(m,n)
9693
43732
77742
105623
133502
137452
166050
155455
194680
Número de
(máquinas, tarefas)
(7, 20)
(7, 30)
(7, 40)
(7, 50)
(7, 60)
(7, 70)
(7, 80)
(7, 90)
(7, 100)
TNbS
(m,n)
10812
59666
162358
165856
178017
135330
107244
128733
108136
Número de
(máquinas, tarefas)
(10, 20)
(10, 30)
(10, 40)
(10, 50)
(10, 60)
(10, 70)
(10, 80)
(10, 90)
(10, 100)
TNbS
(m,n)
16750
73503
125728
154223
166257
173862
189378
189406
190884
Convém ressaltar que os dois métodos puros (Algoritmo Genético e Simulated Annealing),
que são comparados com o híbrido HBGASA, utilizam a mesma condição de parada.
5.1. O ALGORITMO HBGASA
No método híbrido HBGASA, os passos 1, 2 e 3 referem-se à sua “parte Algoritmo
genético”, enquanto que os passos 4 e 5 (em itálico) correspondem à “parte Simulated Annealing”.
PASSO 1) Seleção dos pais: obter a seqüência inicial 1 (solução do NEH) e a seqüência inicial 2
(solução inicial do FSHOPH).
s1 := seqüência inicial 1
s2 := seqüência inicial 2
f(s1) := makespan da seqüência inicial 1
f(s2) := makespan da seqüência inicial 2
Se f(s1) ≤ f(s2) então
e
Caso contrário,
BS := s1
BM := f(s1)
{melhor solução já obtida}
{makespan da melhor solução}
BS := s2 e BM := f(s2).
Enquanto o número total de seqüências geradas e avaliadas ≤ TNbS(m,n) e s1 ≠ s2:
PASSO 2) Aplicar o operador de cruzamento em s1 e s2:
s1 ✖ s2 → s3 e s4
(onde s3 e s4 são as seqüências descendentes)
Ordenar as 4 seqüências em ordem crescente do makespan f(s).
PASSO 3) Selecionar as 2 seqüências que apresentam os 2 menores makespans
s1 := seq[1]
{seqüência com o primeiro melhor makespan}
f(s1) := f( seq[1] )
s2 := seq[2]
{makespan da primeira melhor seqüência}
{seqüência com o segundo melhor makespan}
(s2) := f( seq[2] )
{makespan da segunda melhor seqüência}
Se f(s1) < BM então:
BS := seq[1]
BM := f( seq[1] ).
PASSO 4) Aplicar a técnica Simulated Annealing tendo s1 como solução inicial, com o número de
iterações K = Nvp(S), determinando a melhor seqüência s* (a de menor makespan).
s1 := s*
f(s1) := f(s*)
Se f(s1) < BM
então
BS := s1
BM := f(s1).
PASSO 5) Aplicar a técnica Simulated Annealing tendo s2 como solução inicial, com o número de
iterações K = Nvp(S), determinando a melhor seqüência s** (a de menor makespan).
s2 := s**
f(s2) := f(s**)
Se f(s2) < BM
então
BS := s2
BM := f(s2).
PASSO 6) Tomar as seqüências s1 e s2 e aplicar o procedimento descrito a partir do Passo 2
• RESULTADOS:
BS : a melhor seqüência das tarefas (solução do problema);
BM : valor do makespan ou duração total da programação das tarefas segundo BS.
6. Experimentação Computacional
Foram desenvolvidos e testados 100 programas híbridos (HBGASA), através da combinação
das diferentes temperaturas iniciais e porcentagem da vizinhança avaliada (vide Item 5). Tais
programas foram comparados com o método metaheurístico Algoritmo Genético puro (onecutGA) -
que também utilizou o operador de cruzamento de UM CORTE - e com o Simulated Annealing puro
(ModSAfshopH).
Na experimentação, foram testados 540 problemas, divididos em 27 classes de acordo com o
número de máquinas (m) e o número de tarefas (n), para: m = 4, 7 , 10 máquinas e n = 20, 30, 40,
50, 60, 70, 80, 90, 100 tarefas. Foram resolvidos 20 problemas por classe.
Todos os problemas foram gerados aleatoriamente, sendo os tempos de processamento das
tarefas números inteiros distribuídos uniformemente no intervalo [0, 100]. O equipamento utilizado
foi um microcomputador Pentium II - Intel MMX de 266 MHz, com 64 Mb de memória RAM,.
Para que o experimento fosse conduzido de maneira mais adequada e eficiente,
desenvolveu-se um software (em linguagem Pascal) chamado Gerenciador de Problemas Flow
Shop, contendo os algoritmos onecutGA, ModSAfshopH e HBGASA.
Os resultados foram analisados em termos dos índices de PORCENTAGENS DE SUCESSO
para máquinas agrupadas. Tal índice mostra o número relativo (porcentagem) de melhoria da
função-objetivo obtido por um determinado método, em relação a um número de tarefas (n)
específico. Assim, se um método apresenta Porcentagem de Sucesso igual a 100%, significa as que
todos os 20 problemas por ele resolvidos tiveram as funções-objetivo melhoradas. Vale lembrar que
foram resolvidos 20 problemas em cada classe de problema (m , n).
As PORCENTAGENS DE SUCESSO (%) para máquinas agrupadas constituem as médias
aritméticas obtidas pelo método em questão, assim calculadas: [% da classe (4, n) + % da classe
(7, n) + % da classe (10, n)] / 3, onde n é o número de tarefas, que pode variar de 20 a 100.
- Exemplo: as PORCENTAGENS DE SUCESSO obtidas pelo método HBGASA 2030 para
o caso de número de tarefas (n) = 20 são: 75% para a classe (m = 4, n = 20); 80% (m = 7, n = 20) e
40% (m = 10, n = 20). Assim, a PORCENTAGEM DE SUCESSO para máquinas agrupadas,
obtidas pelo método HBGASA 2030 no caso (n) = 20, é: (75% + 80% + 40%) / 3 = 65%.
7. Análise dos Resultados Obtidos
As Tabelas 2 a 6 ilustram os resultados obtidos na comparação das Porcentagens de Sucesso
para os diferentes algoritmos nas diversas temperaturas inicias (T1 = 20, 30, 45, 60 e 70).
Na elaboração das tabelas citadas acima, foi utilizada a seguinte simbologia:
➲ o elemento “X” indica que o método HBGASA obteve maior Porcentagem de Sucesso
para uma determinada porcentagem de vizinho analisada, quando comparada ao Algoritmo
Genético e Simulated Annealing puros;
➲ o elemento “•” indica que o método HBGASA apresentou a mesma Porcentagem de
Sucesso obtida pelo Simulated Annealing puro (empate);
➲ célula não preenchida indica que o Simulated Annealing puro obteve maior Porcentagem
de Sucesso do que os demais métodos.
No caso dos híbridos, os dois primeiros números encontrados junto ao nome “HBGASA”
indicam a temperatura inicial e os dois números posteriores indicam a porcentagem da vizinhança
analisada na fase Simulated Annealing. Exemplo:
- HBGASA 2060 Ä Temperatura Inicial = 20;
Vizinhança de Inserção analisada = 60%.
TABELA 2: Comparação entre as Porcentagens de Sucesso obtidas pelo onecutGA, ModSAfshopH
e HBGASA, para Temperatura Inicial = 20.
Algoritmo
20
onecutGA
ModSAfshopH
HBGASA 2005
HBGASA 2010
HBGASA 2015
HBGASA 2020
HBGASA 2025
HBGASA 2030
HBGASA 2035
HBGASA 2040
HBGASA 2045
HBGASA 2050
HBGASA 2055
HBGASA 2060
HBGASA 2065
HBGASA 2070
HBGASA 2075
HBGASA 2080
HBGASA 2085
HBGASA 2090
HBGASA 2095
HBGASA 20100
30
40
Número de Tarefas
50
60
70
•
X
X
X
X
X
X
X
X
X
X
•
X
X
X
X
X
X
X
X
X
•
X
X
X
•
X
•
X
X
X
X
X
X
X
X
•
X
•
X
X
X
X
X
•
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
80
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
90
100
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
TABELA 3: Comparação entre as Porcentagens de Sucesso obtidas pelo onecutGA, ModSAfshopH
e HBGASA, para Temperatura Inicial = 30.
Algoritmo
20
onecutGA
ModSAfshopH
HBGASA 3005
HBGASA 3010
HBGASA 3015
HBGASA 3020
HBGASA 3025
HBGASA 3030
HBGASA 3035
HBGASA 3040
HBGASA 3045
HBGASA 3050
HBGASA 3055
HBGASA 3060
HBGASA 3065
HBGASA 3070
HBGASA 3075
HBGASA 3080
HBGASA 3085
HBGASA 3090
HBGASA 3095
HBGASA 30100
30
40
Número de Tarefas
50
60
70
X
80
90
X
X
X
X
X
X
X
X
•
X
X
X
•
•
X
X
X
•
•
100
X
•
X
X
X
X
X
X
X
•
X
X
X
•
X
X
TABELA 4: Comparação entre as Porcentagens de Sucesso obtidas pelo onecutGA, ModSAfshopH
e HBGASA, para Temperatura Inicial = 45.
Algoritmo
20
onecutGA
ModSAfshopH
HBGASA 4505
HBGASA 4510
HBGASA 4515
HBGASA 4520
HBGASA 4525
HBGASA 4530
HBGASA 4535
HBGASA 4540
HBGASA 4545
HBGASA 4550
HBGASA 4555
HBGASA 4560
HBGASA 4565
HBGASA 4570
HBGASA 4575
HBGASA 4580
HBGASA 4585
HBGASA 4590
HBGASA 4595
HBGASA 45100
30
40
Número de Tarefas
50
60
70
80
90
100
X
X
X
X
•
X
X
X
X
X
X
•
X
X
•
•
•
X
•
X
•
•
TABELA 5: Comparação entre as Porcentagens de Sucesso obtidas pelo onecutGA, ModSAfshopH
e HBGASA, para Temperatura Inicial = 60.
Algoritmo
20
30
40
Número de Tarefas
50
60
70
onecutGA
ModSAfshopH
HBGASA 6005
HBGASA 6010
HBGASA 6015
HBGASA 6020
HBGASA 6025
HBGASA 6030
HBGASA 6035
HBGASA 6040
HBGASA 6045
HBGASA 6050
HBGASA 6055
HBGASA 6060
HBGASA 6065
HBGASA 6070
HBGASA 6075
HBGASA 6080
HBGASA 6085
HBGASA 6090
HBGASA 6095
HBGASA 60100
80
90
100
X
X
X
X
X
X
TABELA 6: Comparação entre as Porcentagens de Sucesso obtidas pelo onecutGA, ModSAfshopH
e HBGASA, para Temperatura Inicial = 70.
Algoritmo
20
onecutGA
ModSAfshopH
HBGASA 7005
HBGASA 7010
HBGASA 7015
HBGASA 7020
HBGASA 7025
HBGASA 7030
HBGASA 7035
HBGASA 7040
HBGASA 7045
HBGASA 7050
HBGASA 7055
HBGASA 7060
HBGASA 7065
HBGASA 7070
HBGASA 7075
HBGASA 7080
HBGASA 7085
HBGASA 7090
HBGASA 7095
HBGASA 70100
30
40
Número de Tarefas
50
60
70
80
90
100
X
X
X
X
A análise das Tabelas 2 a 6 mostram alguns aspectos relevantes:
☞ O método híbrido HBGASA apresenta melhor desempenho quando a Temperatura Inicial
é baixa (T1 = 20 e T1 = 30). Em Temperaturas Iniciais altas (T1 = 60 e T1 = 70), o Simulated
Annealing puro apresenta desempenho bastante superior, quando comparado ao HBGASA.
Apesar da Condição de Parada ser idêntica para todos os métodos testados (ou seja, o
número de seqüências avaliadas TNbS(m,n)), os métodos onecutGA e HBGSA são interrompidos
caso as seqüências-filhos geradas sejam idênticas às seqüências-pais. Assim, em algumas situações
o Simulated Annealing puro é capaz de realizar um maior número de iterações, aumentando a
possibilidade de encontrar soluções melhores.
☞ O desempenho do HBGASA melhora conforme a porcentagem da vizinhança visitada
aumenta. Isto ocorre pois, quanto maior for o número de vizinhos analisados, maiores serão as
chances de se encontrar uma solução de melhor qualidade (isto é, de menor makespan).
De acordo com os resultados encontrados nas Tabelas 2 a 6, pode-se observar que os
métodos híbridos que apresentam os melhores desempenhos são aqueles que trabalham à T1 = 20.
Dentre eles, destacam-se: HBGASA 2070 (T1 = 20 e p = 70%); HBGASA 2075 (T1 = 20 e p = 75%)
e HBGASA 2085 (T1 = 20 e p = 85%).
As PORCENTAGENS DE SUCESSO obtidas pelos métodos onecutGA, ModSAfshopH,
HBGASA 2070, HBGASA 2075 E HBGASA 2085 (para T1 = 20) são encontrados nas Tabelas 7 a 9.
TABELA 7: Porcentagens de Sucesso de onecutGA, ModSAfshopH e HBGASA 2070
Algoritmo
onecutGA
ModSAfshopH
HBGASA 2070
20
30
40
21,66
68,33
78,33
21,66
68,33
73,33
28,33
80,00
71,66
Número de Tarefas
50
60
70
21,66
71,66
75,00
26,66
63,33
80,00
34,99
64,99
81,66
80
90
100
33,33
66,66
83,33
33,33
71,66
81,66
43,33
60,00
89,99
TABELA 8: Porcentagens de Sucesso de onecutGA, ModSAfshopH e HBGASA 2075
Algoritmo
onecutGA
ModSAfshopH
HBGASA 2075
20
30
40
21,66
73,33
78,33
21,66
69,99
64,99
25,00
66,66
76,66
Número de Tarefas
50
60
70
21,66
71,66
78,33
28,33
66,66
78,33
34,99
71,66
76,66
80
90
100
31,66
71,66
76,66
31,66
73,33
83,33
46,66
71,66
81,66
TABELA 9: Porcentagens de Sucesso de onecutGA, ModSAfshopH e HBGASA 2085
Algoritmo
20
onecutGA
ModSAfshopH
HBGASA 2085
30
40
Número de Tarefas
50
60
70
80
90
100
20,00 20,00 23,33 21,66 31,66 38,33 31,66 34,99 44,99
69,99 66,66 68,33 81,66 73,33 71,66 73,33 75,00 68,33
76,66 68,33 73,33 63,33 76,66 78,33 75,00 85,00 81,66
8. Considerações Finais
A programação de operações em ambiente Flow Shop, com o objetivo de minimizar o
makespan é um dos problemas mais conhecidos na área de scheduling. Várias abordagens tem sido
propostas para a resolução deste problema e, dentre as mais recentes contribuições da Pesquisa
Operacional, destacam-se: Algoritmo Genético e Simulated Annealing.
Este trabalho apresenta um método metaheurístico híbrido Algoritmo Genético - Simulated
Annealing (HBGASA) para a solução do problema de programação de operações em ambiente Flow
Shop Permutacional. Outro objetivo é a analisar a influência da temperatura inicial no desempenho
do método em questão.
A identificação dos valores específicos dos parâmetros empregados no HBGASA influi
diretamente no desempenho do método híbrido. Dentro deste contexto, um parâmetro que merece
destaque é a temperatura inicial.
Através da experimentação computacional, verificou-se que o método HBGASA apresenta
performance superior quando trabalha com uma temperatura inicial baixa (T1 = 20).
Outros parâmetros importantes, tais como o operador de cruzamento utilizado, tipo de
vizinhança e formas de busca na vizinhança também se apresentam como alvos de estudo de
futuros trabalhos.
9. Bibliografia
1.
CAMPBELL, H.G., DUDEK, R.A., and SMITH, M.L. (1970), “A Heuristic Algorithm for the n-job, m-machine
Sequencing Problem”, Management Science 16/B, 630-637.
2.
DANNENBRING, D.G. (1977), “An Evaluation of Flow-Shop Sequencing Heuristics”, Management Science 23,
1174-1182.
3.
DÍAZ, B.A. (1996), “An SA/TS Mixture Algorithm for the Scheduling Tardiness Problem”, European Journal of
Operational Research 88, 516-524.
4.
FOX, B. (1992), “Integrating and Accelerating Tabu Search, Simulated Annealing, and Genetic Algorithms”,
Annals of Operations Research 41, 47-67.
5.
GLOVER, F., KELLY, J.P. and LAGUNA, M. (1995), “Genetic Algorithms and Tabu Search: Hybrids for
Optimization”, Computers & Operations Research 22, 111-134.
6.
GOLDBERG, D.E. (1989), “Genetic Algorithms in Search, Optimization, and Machine Learning”. Addison Wesley.
7.
HOLLAND, J.H. (1975), “Adaptation in natural and artificial systems”. The University of Michigan Press, Ann
Arbor, Mich.
8.
IGNALL, E. and SCHRAGE, L.E. (1965), “Application of Branch and Bound Technique to some Flow-Shop
Problem”, Operations Research 13, 400-412.
9.
ISHIBUCHI, H., MISAKI, S. and TANAKA, H. (1995), “Modified Simulated Annealing Algorithms for the Flow
Shop Sequencing Problem”, European Journal of Operational Research 81, 388-398.
10. KIM, H., NARA, K. and GEN, M. (1994), “A Method for Maintenance Scheduling Using GA Combined with SA”,
Computers & Industrial Engineering 27, p.477-480.
11. KIRKPATRICK, S., GELATT, C.D. Jr. and VECCHI, M.P. (1983), “Optimization by Simulated Annealing”,
Science 220, 671-680.
12. LIN, F-T, KAO, C-Y and HSU, C-C (1991), “Incorporating Genetic Algorithms into Simulated Annealing”, Dept.
of Computer Science and Information Engineering, National Taiwan University.
13. MOCCELLIN, J.V. (1995), “A New Heuristic Method for the Permutation Flow Shop Scheduling Problem”,
Journal of the Operational Research Society 46, 883 - 886.
14. MOCCELLIN, J.V. and NAGANO, M.S. (1998), “Evaluating the Performance of Tabu Search Procedures for
Flow Shop Sequencing”, Journal of the Operational Research Society 49, 1296 - 1302.
15. MOTA, W.L. (1996), “Análise Comparativa de Algoritmos Genéticos para o Problema de Programação de
Operações Flow Shop Permutacional”, Dissertação de Mestrado, Escola de Engenharia de São Carlos - USP, 128 p.
16. MURATA, T., ISHIBUCHI, H. and TANAKA, H. (1996), “Genetic Algorithms for Flowshop Scheduling
Problems”, Computers & Industrial Engineering 30, p.1061-1071.
17. NAGANO, M.S. (1995), “Novos Procedimentos de Busca Tabu para o Problema de Programação de Operações
Flow Shop Permutacional”. São Carlos. 117p. Dissertação de Mestrado, Escola de Engenharia de São Carlos USP, 117p.
18. NAWAZ, M., ENSCORE Jr., E.E. and HAM, I. (1983), “A Heuristic Algorithm for the m-Machine, n-Job FlowShop Sequencing Problem”, OMEGA 11, 91-95.
19. OGBU, F.A. and SMITH, D.K. (1990), “The Application of the Simulated Annealing Algorithm to the Solution of
the n/m/Cmax Flowshop Problem”, Computers and Operations Research 17, 243-253.
20. OSMAN, I.H. and POTTS, C.N. (1989), “Simulated Annealing for Permutation Flow-Shop Scheduling”, OMEGA
17, 551-557.
21. PALMER, D.S. (1965), “Sequencing Jobs through a Multi-stage Process in the Minimum Total Time - A Quick
Method of obtaining a Near Optimum”, Operational Research Quarterly 16, 101-107.
22. PARK, M-W and KIM, Y-D (1998), “A Systematic Procedure for Setting Parameters in Simulated Annealing
Algorithms”, Computers & Operations Research 25, 207-217.
23. PIRLOT, M. (1996), “General Local Search Methods”, European Journal of Operational Research 92, 493-511.
24. REEVES, C.R. (1995), “A Genetic Algorithm for Flowshop Sequencing”, Computers & Operations Research 22,
5-13.
25. ROACH, A. and NAGI, R. (1996), “A Hybrid GA-SA Algorithm for Just-In-Time Scheduling of Multi-Level
Assemblies”, Computers & Industrial Engineering 30, 1047-1060.
26. SELEN, W.J. and HOTT, D.D. (1986), “A Mixed-Integer Goal Programming Formulation of the Standard FlowShop Scheduling Problem”, Journal of the Operational Research Society 37, 1121-1128.
27. TAILLARD, E. (1990), “Some Efficient Heuristic Methods for the Flow Shop Sequencing Problem”, European
Journal of Operational Research 47, 65-74
28. WIDMER, M. and HERTZ, A. (1989), “A New Heuristic Method for the Flow Shop Sequencing Problem”,
European Journal of Operational Research 41, 186-193.
29. ZEGORDI, S.H., ITOH, K. and ENKAWA, T. (1995), “Minimizing Makespan for Flow Shop Scheduling by
Combining Simulated Annealing with Sequencing Knowledge”, European Journal of Operational Research 85,
515-531.
Download

A INFLUÊNCIA DA TEMPERATURA INICIAL NO