O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO Estrutura do trabalho 1. Introdução 1.2. O problema de job-shop scheduling 1.2.1. Representação por grafos disjuntivos 1.2.2. Construção de escalas 1.2.3. Representação binária 3. Algortimos genéticos 3.1 Conceitos básicos 3.2 Algoritmo genético simples 3.3 O procedimento de um algoritmo genetico simples 2. Técnicas para solucionar os JSSP 2.1. Soluções ótimas 2.2. Soluções aproximadas 2.2.1. Regras de despacho 2.2.2. Metaheurísticas 2.2.2.1. Algoritmos genéticos 2.2.2.2. Simulated annealing 2.2.2.3. Outros procedimentos de busca local e modelos híbridos 2.2.3. Outras soluções não ótimas 2.4. Conclusões 4 Um algoritmo genético simples no problema de scheduling de job-shop 4.1 Codificação genética de uma solução de schedule 4.2 Harmonização local 4.3 Harmonização Global 4.4 Forcing 4.5 Algoritmo genético simples para o Jobshop 4.6 Limitações para uma aproximação simples ...... Estrutura Meta-heurísticas Simulated Annealing (tempera simulada) Simulated Annealing Sua origem vem de 1953, quando foi usada para simular em um computador o processo de “annealing” de cristais, por Metropolis (1953). O uso deste método na solução de problemas de otimização combinatória surgiu mais tarde [Kirkpatrick et al., 1983], [Aragon et al., 1984]. Simulated Annealing Annealing físico: processo térmico para obtenção de sólidos em estado de mínima energia. Elevação da temperatura do banho térmico até que seja encontrado o ponto de fusão do sólido, onde os átomos que o compõe moverse-ão livremente; Redução lenta e gradual da temperatura do banho térmico até que o sólido volte a ficar enrijecido. Simulated Annealing A redução cuidadosa da temperatura do banho térmico é fundamental para que se alcance um equilíbrio térmico no qual os átomos tenham tempo suficiente para se organizarem em uma estrutura uniforme, tornando-se consistentes e rígidos, com um estado mínimo de energia. Para que esse equilíbrio térmico seja alcançado é indispensável, ainda, que a temperatura máxima seja suficientemente alta, EGLESE, 1990. Simulated Annealing Estrutura inicial (desorganizado) Estrutura após annealing (organizado) Fonte: Batistus (2001) Simulated Annealing Estados mínimos de energia caracterizamse por uma perfeição estrutural do material submetido ao annealing que não se obteria se o resfriamento não fosse gradual. Em condições menos cuidadosas de resfriamento, o material se cristalizaria com uma energia “localmente mínima”, ou seja, a estrutura atômica do material seria irregular e fraca, com imperfeições. Simulated Annealing A técnica de S.A. é considerada um algoritmo de busca local. São permitidos movimentos que aumentem o valor da função objetivo, mas sua freqüência é governada por uma função de probabilidade que vai se alterando no decorrer da heurística. A probabilidade de uma certa configuração ter sua energia aumentada de um E é de: p(E)= e -E/T Fonte: França (2006) Simulated Annealing A estratégia utilizada é, a partir de uma alta temperatura, ser permitido alterações ruins, pois estamos longe do ótimo local. Posteriormente, a temperatura irá diminuindo e a possibilidade de alterações ruins vai se reduzindo, pois estamos próximos do ótimo global. Fonte: França (2006) Simulated Annealing Parâmetros do simulated annealing – T0 = temperatura inicial. – Tf = temperatura final. – L = número de iterações para atingir o equilíbrio em uma dada temperatura. – α = proporção de redução da temperatura. Fonte: França (2006) Simulated Annealing Temperatura Inicial – chute total, mas um valor suficientemente alto para que soluções ruins sejam aceitas com bastante freqüência no início da heurística. Fonte: França (2006) Simulated Annealing Processo de redução (alteração) da temperatura – esse escolha depende de quanto se quer explorar determinadas regiões. – através do parâmetro α (0.8 a 0.99). – atualização T0 = Custo(S1) - Custo(S0) Ti+1 = [Ti + Custo(Si+1) - Custo(Si)]/2 (ou ainda a média feita durante o período de equilíbrio) Fonte: França (2006) Simulated Annealing Número de iterações para atingir o equilíbrio em uma dada temperatura. – número fixo de iterações. – depois de um certo tempo/iterações sem alterar o valor da incumbente. – o número de iterações/tempo pode estar relacionado com o tamanho do problema. – pode também estar relacionado com a vizinhança escolhida. Fonte: França (2006) Algoritmo básico Fonte: França (2006) Exemplo Exemplo: Tem-se o gráfico de f(x). Supor que se deseja determinar o mínimo global B de f(x) a partir do ponto x0. O Simulated annealing pode convergir de xo para x1 e depois de x1 para B (mínimo global). Entretanto é possível que o processo de otimização convirja para x2 e, assim, para A. Exemplo Função: g(x)=1+cos(x) Parâmetros >> x0=0; >> t0=2.5; >> tf=1E-9; >> xmax=2*pi; >> xmin=0; >> niter=10; >> f0=1+cos(x0); >> centro=x0; Exemplo tfinal = 1.7656 seg. t_otimo = 9.9991e-009 x= 3.1415 Erro% = 0.0045 INICIO Definição dos parâmetros de controle INICIALIZAR: CENTRO e MELHOR VALOR DA FUNÇÃO OBJETIVO (T*) GERAÇÃO DE NOVA CONFIGURAÇÃO: (SHAKE) Gerar: r1, r2, r3, r4 ( ri U 0,1 , i ) r = r1 + r2 – r3 – r4 (r como média zero) Calcular: x= centro + T*. r EVOLUÇÃO: Calcular f(X) Centro = X X ótimo = X F ótimo = f(X) S F(X) < F ótimo ? N Calcular probabilidade: E P(E ) e Kb.T N Nova temp. ? r < P(ΔE) ? N S Centro = X S Resfriamento: T T * .rk rt e N Tf ln Ti n 1 Sistema Esfriou ? S X quase-ótimo F(X) mínimo FIM Desvantagens A princípio é necessário um processo lento de redução da temperatura e isso resulta em tempos de processamento elevados. Pouco “inteligente”, pois utiliza como informação do problema somente a variação do valor da função objetivo. Muitos parâmetros para “calibrar”. Fonte: França (2006) Comentários Pela simplicidade de implementação, pode ser utilizado em conjunto com alguma outra heurística ou meta-heurística. Existem implementações, onde apenas a idéia de simulated annealing é utilizado para melhorar o desempenho de outra heurística / metaheurística, como por exemplo, embutir a estratégia de aceitar soluções ruins com certa probabilidade. Fonte: França (2006) Referências IGNACIO, A. A. V.; FERREIRA FILHO, V. J. M.; GALVÃO, R. D. Métodos heurísticos num entorno paralelo. In: SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL, 32., 2000, Viçosa. Viçosa: Universidade Federal de Viçosa, 2000. p. 769-788. KIRKPATRICK Jr., S.; GELATT, C.; VECCHI, M. Optimization by simulated annealing. Decision Science, v. 220, n. 4598, p. 498-516, 1983. RODRIGUES, et all, Metaheurística simulated Annealing para solução de problemas de planejamento florestal com restriçòes de integridade, Revista Árvore, Viçosa, MG, V.28, n. 2, p.247-256, 2004. 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. FRANÇA, P. M., Notas de aula: EA 043 - Programação da Produção em Sistemas de Manufatura, Unicamp, Campinas-SP, obtido em 12/10/2006, www.densis.fee.unicamp.br/~franca/EA043/Transpa-sa.pdf