Você está na página 1de 8

Universidade Federal de Santa Catarina

Programa de Pós-graduação em Engenharia de Produção

Algoritmos genéticos e escalonamento de tarefas Job-shop: uso de


regras de despacho na formação da população inicial
Me. Rogério Malta Branco (UFSC/UTFPR) rmbranco@utfpr.edu.br
Dr. Sérgio Fernando Mayerle (UFSC) mayerle@deps.ufsc.br
Dr. Antônio Sérgio Coelho (UFSC) coelho@deps.ufsc.br
Resumo
O presente trabalho versa sobre a aplicação de método heurístico baseado em técnica
evolutiva na busca por soluções quase-ótimas do problema de agendamento de tarefas Job-
shop, de natureza combinatória e pertencente a classe NP-árduo. Construída mediante
escolha de critério de formação, a população inicial pode ser elaborada de forma clássica
aleatória, bem como nas propostas hibridas gulosa ou mista. Também os agendamentos são
construídos por procedimentos geradores ativos e sem espera, garantindo a factibilidade das
soluções. São aplicados testes envolvendo combinações de populações iniciais, taxas de
reprodução e mutação e algumas considerações são apresentadas referentes a aplicação do
sistema proposto em problemas.
Palavras-chave: Algoritmos genéticos, Regras de despacho, Escalonamento em job-shop.

1. Introdução
O problema de escalonamento de tarefas em Job-Shop (Job-shop Schedulling Problem -
JSSP), consiste em um grupo de tarefas e um grupo de máquinas, que executam uma tarefa
por vez. Cada tarefa é uma seqüência de operações, cada qual de tempo ininterrupto de certa
magnitude, em uma dada máquina. O objetivo é alocar as operações nas máquinas no menor
tempo total possível, ou seja, menor makespan.
Os JSSP’s e casos de escalonamentos similares são problemas de otimização combinatória,
classificados como problemas NP-hard (GOLDBARG E LUNA, 2000). Apesar de existirem
métodos exatos, é quase impossível resolvê-los desta forma, exceto para exemplos
relativamente pequenos do problema. CARLIER E PINZON (1989) apresentam uma forma
baseada em branch and bound. O emprego destas técnicas é somente de relevância teórica
dada sua complexidade exponencial de tempo de execução (BRAUNE et al.,2004).
Dentre as diversas técnicas envolvidas na solução dos JSSP, restringe-se o problema aos AGs
e suas variantes. Muito utilizados em problemas de scheduling, esta técnica heurística
demonstra maior versatilidade ante outras, dada a facilidade na codificação do espaço do
problema (STORER et al 1995). Este é baseado em uma população, onde cada indivíduo
passará pelas etapas tripartites do algoritmo como parte da busca por soluções ótimas:
seleção, crossover e mutação (GOLDBERG, 1989).
Na proposição de um algoritmo, o seu tempo de processamento computacional é fundamental
e aliar a uma boa população inicial poderá significar o aumento da performance geral do
método proposto. O emprego de técnicas de formação tanto aleatória como através de regras
de despacho são avaliadas e comparadas. Ainda uma terceira forma de geração, conjugada das
duas anteriores é considerada: geração de indivíduos de forma mista. Objetiva-se formar uma
população inicial que possibilite uma convergência rápida, mas não prematura.
Quanto aos operadores genéticos do algoritmo evolutivo proposto, a seleção de indivíduos
emprega o método da roleta, proposto por Goldberg (1989). O operador crossover OX –
Order Crossover, também apresentado por Goldberg (1989), troca material genético entre os
selecionados e também mantém a ordem de execução das tarefas herdadas dos pais,
colaborando na formação de indivíduos válidos para o job-shop scheduling problems (JSSP).
Universidade Federal de Santa Catarina
Programa de Pós-graduação em Engenharia de Produção

Com bons resultados nos casos teóricos clássicos, a busca por soluções em casos reais fica
ainda mais eminente, onde os processos produtivos reais são os verdadeiros beneficiários do
aprimoramento das técnicas de solução dos JSSP.
2. O problema de agendamento em Job-shops
Extensamente abordados na literatura, estes problemas de escalonamento de tarefas
envolvendo m máquinas e n tarefas tem sido solucionados por técnicas exatas e heurísticas.
YAMADA e NAKANO (1995) definem um agendamento como sendo a ordenação das
operações que devem ser processadas numa máquina, considerando restrições de precedência.
Nos JSSP, qualquer ordem de processamento para as tarefas nas máquinas é permitida. Para
cada tarefa, as operações devem ser processadas em uma dada ordem nas máquinas, podendo
ser diferente conforme a tarefa. A ordem das tarefas não é a mesma para todas as máquinas.
YAMADA e NAKANO (1997) apresentam os Job-shops como um grupo de n tarefas {Jj}1 ≤ j
≤ n a serem processadas em um conjunto de m máquinas {Mv}1 ≤ v ≤ m. Cada tarefa tem uma
seqüência tecnológica de máquinas á ser processadas. A execução da tarefa Jj na máquina Mv
consiste na operação Oj v. Tal operação requer a exclusividade de uso da máquina Mv por um
tempo de processamento necessariamente ininterrupto de duração Pjv. É, portanto, um
problema com um grupo de tempos a completar para cada operação {Ojv} 1 ≤ j ≤ n, 1 ≤ v ≤ m que
satisfaça as restrições do problema C={ C1, C2, ..., Cc }. O tempo para completar todas estas
tarefas é chamado de makespan L. Minimizá-lo, é operar a mais utilizada função objetivo dos
problemas JSSP (VÀZQUEZ e WHITLEY, 2000).
Uma vez que o JSSP é de natureza combinatória, tem associado certas características. Tanto
LENSTRA et al. (1977) já havia classificado este problema como NP-hard. Sua
intratabilidade é enfatizada mencionando-se problemas, como o 10x10 proposto por FISHER
E THOMSON (1963) só solucionado por CALIER E PINZON (1989), após uma série de
algoritmos possíveis já terem sido tentados.
3. Representações dos JSSP
Um scheduling comumente é visto sob a forma de grafo, onde os seus nós são as operações
com atributo igual ao tempo de processamento (Pij). Acrescentam-se os nós partida e chegada,
com Pij=0. As restrições de precedência são arcos direcionais, apontando da operação atual
para sua sucessora. As restrições de máquinas são arcos bidirecionais (disjuntivos).
Selecionando uma de suas duas direções de forma que não ocorram ciclos no grafo, reduz-se,
destas para restrições de precedência. Estando o grafo totalmente orientado, encontrar o
makespan é calcular o maior caminho entre a partida e a chegada. Assim, o JSSP reduz-se a
encontrar, mediante trocas de orientações dos arcos no caminho mais longo, uma onde o
makespan é mínimo. (AYDIN E FOGARTY, 2004).
Na Tabela 1 tem-se um exemplo de solução para um JSSP de dimensão 3x3. Os dados
indicam as rotas para cada tarefa através de cada uma das máquinas, além dos tempos de
processamento de cada operação (na Tabela 1, entre parênteses).

Tarefa Rotas de operações (tempo de processamento)


1 1(3) 2(3) 3(3)
2 1(2) 3(3) 2(4)
3 2(3) 1(2) 3(1)
Fonte: YAMADA e NAKANO (1997)
Tabela 1 – Problema JSSP 3x3
Universidade Federal de Santa Catarina
Programa de Pós-graduação em Engenharia de Produção

YAMADA e NAKANO (1997) fazem uso também do gráfico de Gantt como forma
conveniente de representar uma solução para os JSSP. Outrossim, os JSSP, vistos sob a forma
de problemas de ordenação (como os Traveling Salesman Problem-TSP), têm um
agendamento representado pela permutação de tarefas em cada máquina, ou seja, permutações
m-particionadas com dimensões equivalentes as operações a serem realizadas, denominada
matriz de sequencia de tarefas.
3. As classes de agendamento para o JSSP
No tocante a factibilidade, existem algumas classificações para os schedulings, que são:
inadmissíveis, semi-ativos, ativos e sem-atraso. Nos schedulings inadmissíveis, ocorrem
excessos de tempos de inatividade que podem ser reduzidos pelo avanço de operações. Nos
semi-ativos, não ocorrem tempos inativos, mas podem ser melhorados com ao avanço de
operações sem atraso de outras. Já a diferença dos semi-ativos para os ativos, estes últimos
são schedulings ótimos, pois não apresentam tempos de inatividade e nenhuma das operações
poderá ser finalizada antes que outra operação seja atrasada.
4. Regras de prioridade de despacho (RPD)
O método tradicional de controle dos job-shops é o uso das regras de prioridade de despacho,
as RPD’s. Definidas por políticas de sequenciamento que ordenam as tarefas a serem
processadas em máquinas, em geral são consideradas como técnicas aproximativas, e como
tal não garantem obter soluções exatas, contudo apresentam condições de obter bons
resultados, próximos das soluções ótimas. JAIN e MEERAN (1998) traçam comparativos
entre diversas técnicas de solução para o JSSP. Dentre os métodos abordados, citam as RPD’s
como base dos primeiros procedimentos aproximativos aplicados aos JSSP, evidenciando sua
fácil implementação, com baixa necessidade de poder computacional para implementação.
BERTEL e BILLAUT (2004), além de MATTFELD e BIERWIRTH (2004) apresentam
algumas regras aplicadas ao JSSP, como por exemplo a FCFS (first come first served), a SPT
(shortest process time), a RD (random), ou mesmo a MOPNR (most operations remaining ).
JAIN e MEERAN (1998) apud CHANG et al. (1996) apresentam que, em estudo para avaliar
42 regras de prioridade dominantes em modelo de programação linear inteira, a regra Shortest
Processing Time (SPT) demonstrou melhor performance. Já outra regra, a Longest Processing
Time (LPT) obteve a pior média. Estes métodos determinísticos são bastante efetivos na
resolução de problemas combinatórios de menor complexidade, mas ainda assim falham com
grandes espaços de busca ou quando estes são multi-dimensionados.
5. Algoritmos genéticos
Diante da sua grande aplicação na solução de problemas de classe NP-completa, os
Algoritmos Genéticos (AGs) compõe uma técnica heurística que consiste na busca de
soluções baseadas em mecanismos da seleção natural e genética. Os AG’s têm características
distintas das demais heurísticas: operam em um conjunto de pontos (população) e não a partir
de pontos isolados; atuam em um espaço de soluções codificadas e não diretamente no espaço
de busca e necessita como informação, somente o valor de uma função objetivo (fitness);
usam transições probabilísticas e não regras determinísticas (GOLDBARG e LUNA, 2000).
Apesar de aleatórios, não apresentam caminhadas aleatórias direcionadas. Em suas iterações
(gerações), exploram informações históricas para encontrar novos pontos de busca.
Em um AG clássico, ao criar uma população inicial, calcular-se o valor de fitness para cada
indivíduo. Operadores genéticos são aplicados a indivíduos selecionados probabilisticamente,
com base nos seus fitness, e uma nova geração de indivíduos é criada. A evolução à novas
gerações também conduz inserções de cromossomos através de operadores genéticos.
Universidade Federal de Santa Catarina
Programa de Pós-graduação em Engenharia de Produção

Operadores genéticos comumente utilizados, o crossover e a mutação atuam na formação de


novas populações. O crossover determina o mecanismo de combinação de dois cromossomos
existentes e cria dois filhos e a mutação, promove mudanças randômicas nos genes, para
escapar de máximos locais e garantir acesso a qualquer solução do espaço. Os cromossomos
com melhores fitness terão mais chances na seleção. Cada individuo gerado poderá ou não ser
inserido na população. Dependendo dos critérios adotados para tanto, pode ocorrer de
substituírem seus pais ou mesmo serem descartados. Pode-se, por exemplo, considerar a
inserção de indivíduos que obtiverem fitness inferiores ao menor encontrado na população
atual, variando o tamanho total da população até certo valor ou não. Os procedimentos de
seleção, crossover, mutação e posteriormente a avaliação dos individuos gerados e sua
inserção irá se repetir até que o critério de finalização seja atingido. Um exemplo de AG
clássico é ilustrado por COELHO et al (2006), que empregou-os no agrupamento de células
de um sistema flexível de manufatura (FMS).
O tamanho da população é um dos principais fatores de controle de um algoritmo genético,
entretanto, é preciso considerar ainda a probabilidade de ocorrência de mutações, o número de
gerações, além do número de gerações sem melhoras no seu melhor fitness, por exemplo.
7. Representação genética das soluções
Formar uma população consiste em compor cromossomos, ou seja, soluções codificadas. Se
os cromossomos forem representações inapropriadas, o AG poderá apresentar dificuldades
para encontrar boas soluções. Na realidade, as representações são muito dificultosas em
problemas de natureza combinatória, pois operações de crossover aplicadas em AGs podem,
nestes casos, conduzir a soluções infactíveis (HERRMANN et al,1995).
YAMADA (1995) apresenta a representação binária como forma de codificação de solução,
onde cada indivíduo representa um agendamento de operações em recursos produtivos, mas
este método construtivo pode gerar indivíduos em desacordo com as seqüências tecnológicas
definidas para o problema, ou seja, indivíduos “ilegais”. Uma formação “factível”
corresponde a um schedule executável, que na visão de grafos orientados, não contém ciclos.
YAMADA e NAKANO (1997) ainda apresentam técnicas de harmonização efetivas na
correção de indivíduos tidos como “ilegais”.
Além de representações clássicas (binárias), diversas outras são utilizadas, empregando
códigos mais complexos. Uma outra forma, simbólica, consiste em considerar o cromossomo
como sendo uma lista de operações a ser executada. Em cada lócus do cromossomo encontrar-
se-ia a tarefa a executar. A tarefa descrita no primeiro alelo é escalonada primeiro; a do
segundo ídem, salvaguardadas as condições de precedência entre operações de mesma tarefa.
Observa-se que todas as escalas serão válidas e ativas (WALL, 1996). Tem-se o genótipo
(seqûencia de operações) e o fenótipo (agendamento). Assim, cada posição do cromossomo
tem descrita a tarefa,operação,máquina. É somente através do genótipo que se possibilita
calcular o makespan do cromossomo gerado.
8. Metodologia adotada
Partindo-se por definir o problema a ser solucionado, optou-se por operar com o problema
ABZ6 de dimensões 10x10, de Adams, Balas and Zawack (1988). Com objetivo de avaliar o
comportamento das diferentes opções de geração da população inicial ante a possibilidade de
solucionar um problema, serão observadas cinco evoluções, desde populações totalmente
aleatórias, totalmente gulosas até o caso onde adotou-se 50% de gulosidade.
Considerando as características intrínsecas dos AGs, as análises serão feitas considerando-se
probabilidades de reprodução nas ordens de 20, 40 e 80%. Da mesma forma, considerando a
Universidade Federal de Santa Catarina
Programa de Pós-graduação em Engenharia de Produção

taxa de mutação, serão adotadas outras três análises para cada problema: 2, 5 e 10%.
Acredita-se que, com as combinações geradas destes parâmetros será possível observar como
cada população inicial poderá evoluir e como cada parâmetro influencia nesta evolução.
A fim de observar as condições iniciais, o software criado em linguagem object Pascal, no
Delphi 7.0 ® irá permitir observar a dispersão dos makespans, bem como o gráfico evolutivo
para as gerações seguintes a inicial.
8.1. Os agendamentos
O agendamento é um processo de alocação das atividades conforme a disponibilidade das
máquinas em um dado instante de tempo. A seguir serão melhor descritos os procedimentos
realizados para agendamento das operações, formando agendamentos ativos e sem espera.
No sistema desenvolvido, os agendamentos são de natureza paralela, ou seja, as máquinas
trabalham em paralelo na execução das operações e são analisadas simultaneamente no
instante de tempo t. Cada máquina, durante o agendamento, possui o seu tempo de
disponibilidade, ou seja, tempo em que está disponível para ser agendada uma operação.
Partindo inicialmente de zero, este tempo é incrementado conforme uma próxima máquina
desocupe, e assim por diante, até não haverem mais operações para agendar. O tempo final de
finalização de todas as tarefas é o makespan. Encontrar o menor destes valores entre vários
agendamentos é o objetivo do AG aplicado ao JSSP.
Para que não ocorram agendamentos com espera, ao iniciar o processo, as primeiras
operações de cada tarefa já são imediatamente candidatas a alocação. Em caso de conflito,
conforme critério de despacho (FCFS, aleatório, guloso ou misto) será distribuído prioridades
para execução e posterior sequenciamento.
O tempo t avança, partindo de 0s. Não havendo mais operações elegíveis à agendar em cada
máquina em t corrente, há o avanço do tempo. Novas análises de operações agendáveis serão
feitas e posteriormente suas colocações nos sequenciamento. O novo valor de t é dado,
considerando-se as operações em curso. Aquela que primeiro finalizar irá indicar o novo valor
de t. O ciclo de inserção de operações no agendamento reinicía-se então.
8.2. A população inicial
A população, para os AG´s consiste no espaço de busca que está sendo pesquisado, logo, no
tocante a população inicial tem-se codificadas as soluções iniciais do JSSP em estudo. Assim
sendo, é preciso construir tais indivíduos a fim de compor tal conjunto inicial de soluções,
onde a partir desta dar-se-ão as evoluções na busca por melhores resultados.
O critério aleatório atua sobre as operações concorrentes ao agendamento, definindo
prioridades aleatórias para cada uma. A mais prioritária irá ingressar no gendamento. Da
mesma forma, os critérios gulosos irão atuar priorizando as tarefas com menor tempo de
operação (uso da regra de prioridade de despacho SPT). O critério misto leva em conta uma
probabilidade de escolha para o método guloso. Atua gerando uma população com
caracteríticas de ambas as formações, conforme a probabilidade definida pelo usuário.
Estando todas as operações agendadas e finalizadas, encerra-se o scheduling do indivíduo e
passa-se a criar outro para a população até que completada a capacidade da população inicial.
9. Testes e análise dos resultados
Conforme a metodologia do trabalho, foram geradas as populações iniciais. As soluções
foram comparadas com o valor ótimo encontrados na literatura. Em um primeiro instante são
observadas as populações iniciais geradas e posteriormente, serão observados os resultados na
busca da solução ótima para cada um. As análises considerarão a proximidade com o valor
ótimo, bem como o tempo gasto para encontrá-lo.
Universidade Federal de Santa Catarina
Programa de Pós-graduação em Engenharia de Produção

9.1. Considerações sobre a formação da população inicial


A seguir serão tratadas algumas observações referentes à formação das populações iniciais
para os JSSP anteriormente mencionados. O artigo.
9.1.1. Diferentes critérios de formação da população inicial
De uma maneira geral, as populações iniciais nos algoritmos genéticos têm basicamente sua
construção alicerçada em critérios aleatórios, ou seja, as operações são definidas
aleatorioamente e indivíduos são assim constituídos. Nos procedimentos do algoritmo de
formação em uso tem-se a etapa de agendamento operando em conjunto, o que impede que
ocorram infactibilidades nos indivíduos.
Assim, em populações geradas com critérios meramente aleatórios, pode-se prever a
diversidade da população ante critérios puramente gulosos. Tal diversidade, ao mesmo tempo
que permite explorar mais regiões do espaço de busca, também imprime maior tempo de
convergência. Entretanto, operar somente com o critério guloso, praticamente não existirá
diversidade entre os indivíduos, dado que é feita a escolha da operação a ser agendada na
máquina frente ao conjunto de operações agendáveis da máquina, somando-se com a
propriedade de ter o menor tempo de processamento dentre as candidatas. Tal procedimento
irá gerar uma população inicial de indivíduos idênticos em aptidão, tendendo a uma possível
convergência rápida e prematura, prejudicando a evolução natural. Isto pode ser visto nos
gráficos de população gerada da figura 1(a) e (b) respectivamente.

(a) (b)

Figura 1 – Dispersão dos makespans dos indivíduos gerados para população aleatória (a) e gulosa (b).
Como o objetivo é avaliar o comportamento das três diferentes formações no processo de
busca da solução ótima para o problema, foram criadas três populações, considerando a
probabilidade α=1, α=0,5 e α=0, ou seja, totalmente gulosa, semi-gulosa e aleatória pura.
Basicamente pode-se adiantar que, observada a necessidade de aleatoriedade e também
gulosidade na geração da população inicial, associada a sua importância na busca de soluções
com uso de AGs, a formação de indivíduos empregando critérios totalmente aleatórios ou
totalmente gulosos irá servir de balisamento no processo de avaliação dos resultados
considerando valores intermediários para a taxa de gulosidade. No presente estudo, tal taxa
intermediária denota 50% de aleatoriedade e gulosidade, e denomina-se semi-aleatória.
Neste último tipo de formação, a população inicial irá assumir caracteríticas tanto aleatórias
quanto gulosas (proporcionalmente a taxa de gulosidade α). Somado ao caso do problema
ABZ6, para o valor α=50%, os resultados obtidos pelo algoritmo genético híbrido mostram-se
satisfatórios, uma vez que a população inicial não é muito diversificada e tampouco muito
homogênea, o que pode facilitar a convergência do algoritmo para boas soluções, na Figura 2.

Figura 2 – Dispersão dos makespans dos indivíduos gerados para população semi-aleatória.
Universidade Federal de Santa Catarina
Programa de Pós-graduação em Engenharia de Produção

Como pôde-se observar nas dispersões das populações criadas o critério de formação da
semi-gulosa parece permitir bons elementos de partida para o AG, permitindo acelerá-lo.
9.2. Considerações sobre a busca de soluções
A seguir serão tratadas algumas observações referentes à busca de soluções e
desenvolvimento dos AGs, onde fefiniu-se três taxas para seleção e posterior aplicação do
operador de crossover: 20, 40 e 80%. Da mesma forma, o operador mutação é aplicado
posteriormente ao operador crossover, de acordo com uma probabilidade, ou seja, a taxa de
mutação. Novamente, mais três categorias de análise foram definidas: 2%, 5% e 10%.
Após organizar as informações obtidas durante o a busca por solução com o AG. Foram cinco
execuções praticamente simultâneas. De posse das três populações iniciais geradas para o
problema, cada uma é submetida a nove combinações de parâmetros de reprodução e
mutação. Os tempos foram registrados após 10.000 iterações, se não atingido o valor ótimo.
A partir do critério de resultados médios, tem-se a indicação da formação A80_2 (Aleatória,
taxa de reprodução 80% e mutação 2%) como tendo a melhor média e também apresentando o
menor makespan de todos os ensaios. O custo computacional da melhor execução foi de
aproximadamente 47s, por volta da geração 4000. O erro em relação ao ótimo é de 0,42%.
Para mesmo erro, a G50_80_2 tardou 175s aproximadamente, ficando com a segunda melhor
média. Portanto, os melhores resultados médios foram obtidos nas populações
Aleatória_80%_2% e Semi-gulosa_80%_2%, que também alcançaram o melhor makespan.
No tocante ao parâmetro taxa de reprodução, observa-se que, na média das evoluções e
considerando os três casos de formação de população, para este problema em específico
torna-se mais interessante operar com taxas maiores, na ordem de 80% como foi o caso.
Salienta-se que os melhores resultados médios foram encontrados utilizando-se este
parâmetro como base do AG.
A taxa de mutação em 10% não se mostrou muito interessante, pois na média todas as
evoluções convergiram para makespans com erro percentual maior que quando utilizando
taxas menores deste operador. As convergências foram mais lentas. Observando-se os
resultados obtidos, considera-se que escolher entre operar com taxas de 2 ou 5% para este
problema é um pouco mais complexo, pois na média das evoluções, conduziram a resultados
muito próximos. Contudo uma vantagem é dada a taxa de 2% pois pode-se constatar que os
melhores resultados foram obtidos com o uso desta taxa. Acredita-se que operar com valores
na ordem de 2 a até 5% possam ser bem aceitos para este problema em específico.
10. Considerações finais
O artigo apresenta o problema de sequenciamento de atividades, mais precisamente a classe
Job-shop. Para tanto foi aplicado um algoritmo genético que utiliza regras de prioridade e
despacho somente na formação das populações iniciais, visando analisar a possível melhora
na convergência para os casos propostos. As regras testadas são: aleatória e SPT. A
representação do problema se dá pela forma simbólica, onde cada lócus do individuo aponta
uma operação a ser alocada no processo de agendamento.
O problema clássico escolhido da literatura teve uma boa convergência quando comparados
com os resultados ótimos, ou seja, apresentou um erro de 0,42% em relação ao makespan
ótimo encontrado. Assim, pode-se considerar que os procedimentos de solução do AG
implementado mostraram-se eficientes, haja visto a magnitude do erro, tanto, com a formação
de população aleatória ou semi-gulosa, com baixas taxas de mutação e grandes probabilidades
de seleção formaram bons resultados.
Cabe aqui ressaltar que, apesar de se dispor de taxas de mutação durante a execução e de
Universidade Federal de Santa Catarina
Programa de Pós-graduação em Engenharia de Produção

aleatoriedade na formação de um cromossomo, durante o agendamento as restrições de


precedências incutidas na função que o faz não permitir grandes variações, pois isto geraria
soluções infactíveis. Como os agendamentos ativos são compostos segundo estas regras,
pouca flexibilidade é concedida nestas formações.
Salienta-se ainda que altas cargas de gulosidade não são indicadas para compor soluções
iniciais para o JSSP, mas ao contrário, é de fundamental importância avaliar como está a
disperssão dos valores dos indivíduos. Muitas vezes atribui-se certa aleatoriedade na
formação e esta vêm por não surtir qualquer efeito. Assim, controlar a aleatoriedade pode ser
uma estratégia vantajosa a medida que os problemas crescem, mas em excesso, podem
prender a mínimos locais e, ao invéz de acelerar o processo, podem obrigar a inúmeras outras
evoluções e, se as mutações não atuarem satisfatoriamente, nem garantir bons resultados,
somando-se os elevados custos de processamento que isto pode acarretar.
Referências
BERTEL, S. e BILLAUT, J.-C., A genetic algorithm for an industrial multiprocessor flow shop scheduling
problem with recirculation. European Journal of Operational Reseach, 159, p. 651-662, 2004.
BRAUNE, R., WAGNER, S., AFFENZELLER, M., Applying Genetic Algorithms to the Optimization of
Production Planning in a Real-World Manufacturing Environment. Cybernetics and Systems 2004, p. 41-46.
Austrian Society for Cybernetic Studies, 2004
CALIER, J. e PINSON, E., An algorithm for solving the Job-Shop Problem, Management Science, 35, p. 164-
176, 1989.
COELHO, A. S., BRANCO, R. M. e RODRIGUES, G. S. , Aprimoramento da produtividade de sistemas de
manufatura e aplicação de algoritmos genéticos na solução de problemas de agrupamentos celulares, Revista
Produção Online, Florianópolis, v.6, n.3,p.116, set./dez., 2006
EL-BOURI, A, AZIZI, N., ZOLFAGHARI, S., A comparative study of a new heuristic based on adaptive
memory programming and simulated annealing: The case of job shop scheduling, European Journal of
Operational Research 177, 1894–1910, 2007.
GOLDBERG, D. E., Genetic Algortihms in Search, Optimization, and Machine Learning, 1 ed. USA, New
York:Addison-Wesley Publishing Company, Inc, 1989
GOLDBARG, M. C. e LUNA, H. P. L., Otimização Combinatória e Programação Linear: modelos e
algoritmos, Rio de Janeiro: Editora Campus, 2000.
HERRMANN, J., LEE, C-Y e HINCHMAN, J., Global job shop scheduling with a genetic algorithm, Produt
and operations management, v.4, n.1, 1995.
JAIN, A. S. e MEERAN, S., A state-of-the-art review of job-shop scheduling techniques, Technical Report,
University of Dundee, Dundee, Scotland, UK, 1998.
MATTFELD, D. C. e BIERWIRTH, C., An efficient algorithm for job shop scheduling with tardiness objectives.
European Journal of Operational Reseach, 155, p. 616-630, 2004.
STORER, R. H., WU, S. D., VACCARI, R., Problem and Heuristic Space Search Strategies for Job Shop
Scheduling, ORSA Journal on Computing, 7, 4, Fall, p. 453-467, 1995.
YAMADA, T. e NAKANO R., A Genetic Algorithm with Multi-Step Crossover for Job-Shop Scheduling
Problems. First IEE/IEEE International Conference on Genetic ALgorithms in Engineering Systems:
Innovations and Applications (GALESIA ’95), p. 146-151, Sheffield, UK, 12-14 September 1995.
YAMADA, T. e NAKANO R., Genetic Algorithms for Job-Shop Scheduling Problems. Proceedings of Modern
Heuristic for Decision Support, p. 67-81, Londres, Março de 1997.

Você também pode gostar