29
Simulated Annealing Marcio Facci Junior Thiago Takaoka A. Baptista Rafael Buchalla G. Gonçalves Victor Zanelatto C. Paiva

Simulated Annealing

Embed Size (px)

Citation preview

Simulated Annealing

Simulated AnnealingMarcio Facci JuniorThiago Takaoka A. BaptistaRafael Buchalla G. GonalvesVictor Zanelatto C. PaivaCronograma da apresentao- Conceito de Simulated Annealing- Fundamentao do mtodo- Explicao do algoritmo- SA aplicada ao Problema de Programao de Tripulaes- SA aplicada ao Problema de p-medianas capacitado- ConclusoFundamentao do mtodoAnnealing - Processo de tmpera. Elevar temperatura e reduzi-la gradativamente.Analogia ao modo de resfriamento do metalAumento e reduo do estado de energiaAtingindo o equilbrio trmicoProduto final consistente e rgidoAplicado em vidros, metais e outrosFundamentao do mtodo- Proposto por Scott Kirkpatrick (1983)Optimization by Simulated Annealing- Mtodo simula o processo de recozimento dos metais.- Onde seu esfriamento lento conduz a um produto mais estvel, estruturalmente forte e de menor energia interna.

Fundamentao do mtodoO algoritmo de metropolis (Gibbs, 1953) empregado em uma sequncia de temperaturas decrescentes para gerar solues de um problema de otimizao.O processo comea com um valor de temperatura elevado e a cada interao, geram-se solues at que o equillbrio da temperatura seja alcanado.Ponto de congelamento- sem reduo de custoEstado do metal = Solues no espao de buscaEnergia do estado = Valor da funo objetivo

Simulated AnnealingFundamentao do mtodoSolues de piora: e-/(kT) - Constante de Botzman - Relaciona energia e temperaturaProbabilidade de aceitao de uma soluo de piora.

ParmetrosTemperatura inicial: Elevada - movimentos livres - explorao do espao de buscaTemperatura final: O mais prximo de zeroTaxa de resfriamento: Diminuir temperatura a cada iterao - Resfriamento lentoNmero de iteraes: Suficiente para garantir convergncia (HAJEK, 1988)Observaes - Resultado de HajekGrandes reas e topografia acidentadas devem ser evitadasA vizinhana deve garantir conexesSolues no plausveis devem ser penalizadas, no excludasCdigoVideo -Simulated Annealing

Meta Heurstica S.A. Aplicada ao Problema de Programao de TripulaesEncontrar solues para um Problema Programao de Tripulao(PPT) utilizando o mtodo Simulated Annealing; O problema consiste em atribuir diferentes tarefas aos tripulantes de forma que todas as viagens das linhas de uma empresa sejam executadas com o menor custo possvel;A soluo ser um conjunto de jornadas de trabalho de tripulantes, denominada escala;- A escala avaliada por uma funo objetivo e deve atender a legislao trabalhista, as regras operacionais da empresa, assim como melhorar o aproveitamento da mo-de-obra operacional.

Caracterizao da Empresa-Empresa de transporte pblico situada em Belo Horizonte, MG;Possui 11 linhas de nibus, com frota empenhada 111 veculos e 219 tripulaes para operar essa frota;- As viagens so reunidas em blocos que apresentam a sequncia de viagens que um veculo tem que realizar em um dia, comeando e terminando na garagem

As tarefas so criadas a partir do bloco de um veculo e cada uma delas um conjunto de viagens compreendidas entre duas oportunidades de troca. O conjunto de tarefas chamado de jornada e essas jornadas so divididas em:pegada simples em que as tarefas so realizadas de uma nica vez e os intervalos de tempo entre as tarefas so inferiores a 2 horas;dupla pegada em que esse tempo ultrapassa duas horas.Ao se reunir as tarefas formando as jornadas, devem ser levadas em conta restries operacionais e trabalhistas. Essas restries podem ser classificadas em dois tipos: restries essenciais e restries no essenciais

Restries Essenciais: So aquelas que devem ser satisfeitas para gerar uma escala vivel como: Uma tripulao no pode realizar mais de uma tarefa ao mesmo tempo; As trocas das tripulaes s podem ocorrer entre grupos de linhas com as mesmas caractersticas; A tripulao tem direito a 30 minutos de descanso durante sua jornada diria de trabalho e esse perodo pode ser fracionado em intervalos menores, desde que um deles seja maior ou igual a 15 minutos. Numa jornada com dupla pegada, esses 30 minutos so desconsiderados; A jornada mxima de trabalho dirio de 7:10 horas para as tripulaes com pegada simples e 6:40 horas para aquelas com dupla pegada, acrescidas de at duas horas extras; O tempo entre o final de uma jornada diria de trabalho e o seu incio no dia seguinte deve ser de, no mnimo, 11 horas.

No Essenciais:So aquelas cujo atendimento melhora a qualidade da escala mas que, se no forem atendidas, no geram escalas inviveis e so: O tempo ocioso de uma tripulao deve ser o menor possvel; O nmero de tripulaes com dupla pegada deve estar limitado a um certo valor; O nmero de horas extras deve ser minimizado; O nmero de tripulaes deve ser mnimo; O nmero de vezes que uma tripulao troca de veculo deve ser reduzido; O nmero de vezes que uma tripulao com dupla pegada finaliza a primeira parte da jornada em um ponto e inicia a segunda parte em um outro ponto deve ser reduzido;Estruturas de Vizinhana-Estabelecida uma soluo s, ela deve atingir uma soluo s, em que s vizinho de s;-So usados trs tipos de movimentos: Realocao, Troca e Link, para definir, respectivamente, trs estruturas diferentes de vizinhana que so: N(1)(s), N(2)(s), N(3)(s);

Realocao- chamada de movimento 1-optmal;- Realoca a tarefa de um tripulante para outro;- Define a estrutura de vizinhana N(1)(s).Troca- chamada de movimento 2-optmal;- Realiza a troca de tarefas entre dois tripulantes;- Define a estrutura de vizinhana N(2)(s).Link- Consiste na troca de um conjunto de tarefas entre dois tripulantes- Define a estrutura de vizinhana N(3)(s).O mtodo Simulated Annealing- Utilizando as trs estruturas de vizinhana apresentadas,1-optmal, 2-optmal e Link realizada uma busca local usando as estruturas N(1)(s),N(2)(s) e N(3)(s) e aleatrio, respectivamente, sendo que a ltima estratgia realiza uma busca local utilizando a cada iterao uma dessas estruturas, escolhidas aleatoriamente;-O algoritmo parte de uma soluo inicial s gerada, seguindo a filosofia da empresa baseada na repartio dos blocos dos veculos;- Em seguida, dois tripulantes so selecionados e gera-se um vizinho qualquer s de acordo com a estrutura de vizinhana escolhida.-Caso o valor da funo de avaliao f(s) do vizinho for menor que o da soluo corrente f(s) e gerar uma variao de energia = f(s) - f(s) < 0, este vizinho aceito e passa a ser a nova soluo corrente. -Se ocorrer um movimento de piora, a soluo aceita com uma probabilidade definida por e-/T, com T sendo um parmetro do conhecido como temperatura e que regula a probabilidade de se aceitar solues de piora. - T inicializada com um valor T0 elevado e aps um nmero fixo de iteraes chamada SAmax, a temperatura gradativamente reduzida por uma razo de resfriamento , tal que Tn Tn-1 , sendo 0 < < 1. - medida que T se aproxima de zero, o algoritmo se comporta como o mtodo de descida, uma vez que diminui a probabilidade de se aceitar movimentos de piora (T 0 e-/T 0). -O algoritmo interrompido quando a temperatura T for menor do que um dado valor positivo Tfinal. Metaheurstica SA aplicada ao problema de p-medianasO estudo trata da utilizao da metaheurstica Simulated Annealing (SA) aplicado ao problema de p-medianas capacitado.Para isso, foi feita a implementao computacional dessa heursticas e um estudo de caso de um problema hipottico, o qual apresentado para demonstrar sua funcionalidade e aplicabilidade.O problema hipottico utilizado define centros de distribuio espalhados pelo Brasil utilizando uma, duas e 3 medianas.

Problema de p-medianas capacitadoObjetivo minimizar a distncia mdia, isto , a soma das menores distncias dos vrtices (pontos de demanda) aos centros de distribuio (pontos de suprimento). A localizao tima da facilidade chamada mediana do grafo. Na prtica aplicados localizao de centros de comutao de redes telefnicas, subestaes em redes de energia eltrica, depsitos de fornecimento, localizao de correspondncias, entre outros (CRHISTOFIDES, 1975).

Mtodo Heurstico A soluo do problema de p-medianas capacitado representada por um vetor s de nmeros zeros e uns e um vetor associado. O valor (1) no vetor soluo significa que esse vrtice uma mediana O vetor associado mostra qual mediana ir suprir cada localidade s =

associados = Problema de localizao de centros de distribuioUm problema hipottico de localizao de centros de distribuio em cidades no Brasil. Foram consideradas as cidades que possuem mais de 90.000 habitantes, totalizando 284 localidades candidatas a serem os centros de distribuio. Para este problema foram realizados testes com uma, duas e trs medianas (centros de distribuio).As coordenadas correspondem s longitudes e latitudes das cidades, sendo a distncia considerada como euclidiana.Os dados de entrada do modelo so: nmero de cidades; coordenadas geogrficas de cada cidade (latitude e longitude); demanda de cada cidade; capacidade; e o nmero de centros de distribuio.A Tabela 1 mostra os resultados da heurstica SA para o problema

Como era esperado, a medida que o nmero de medianas aumenta a distncia total percorrida diminui. importante ressaltar que o valor da funo objetivo no relevante, pois, este foi calculado a partir das distncias euclidianas das coordenadas das cidades.

Soluo do problema para uma medianaSoluo do problema para duas medianasSoluo do problema para trs medianasEmbora no se possa garantir a otimalidade das solues, os resultados parecem ser de qualidade, como pode ser evidenciado pela anlise das figuras. As reas com maior nmero de cidades e demanda so, geralmente, as que possuem maior nmero de facilidades, como no poderia ser diferente. ConclusoA metaheurstica Simulated Annealing indicada para a resoluo de problemas na rea de engenharia de produo, pois ele capaz de retornar boas solues de diferentes tipos de problemas em pouco tempo.Esse mtodo tambm capaz de resolver como: problema de logstica, problema de engenharia de operaes e processos e at na simulao de campeonatos.Outro ponto positivo a solidez da soluo final, uma vez que uma propriedade do mtodo poder assumir valores de piora para desviar de timos locais.Duvidas?!Obrigado!FIM