Você está na página 1de 10

Objetivo

O objetivo do nosso trabalho realizar uma implementao do Simulated


Annealing em cima do Problema do Caixeiro Viajante. Ento precisamos descrever
como encaixamos cada detalhe deste problema nos moldes da heurstica.

Introduo
O problema do caixeiro viajante consiste em achar uma rota com distncia
mnima. O ponto de partida deve ser uma entre vrias cidades, cada cidade envolvida
no problema deve ser visitada exatamente uma vez e ao fim do problema o caixeiro
deve voltar a cidade inicial. A generalizao deste problema consiste em achar um
caminho de custo mnimo sobre as arestas de um grafo contendo n nodos, tal que o
caminho visite cada um dos nodos uma vez. Este um problema de otimizao
computacional, sendo intensivamente estudado e possui muitas aplicaes.
Ele bastante semelhante ao problema de achar rotas, j que trabalha com
viagens entre cidades adjacentes. A diferena que cada estado do problema do
caixeiro viajante possui um conjunto de cidades, que deve estar na posio em que
foram visitadas. Durante a execuo do algoritmo que resolva este problema,
esperado que este conjunto seja reordenado, at que satisfaa sua condio de
parada, que idealmente seria o caminho mnimo.

Metodologia
O Simulated Annealing, algoritmo que escolhemos na nossa implementao, foi
proposto em 1982 e publicado no ano seguinte por seus criadores, os pesquisadores
da IBM S. Kirkpatrick, C.D. Gelatt e M.P. Vecchi. Este algoritmo foi baseado em um
processo usado na metalurgia, chamado de recozimento. Esta uma estratgia na qual
podemos nos aproximar de um estado timo controlando a temperatura. Ela consiste
em aquecer um material, assim fornecendo uma alta taxa de energia a ele. A
temperatura ento deve ser gradualmente abaixada, o que levar o material a um
estado cristalizado slido. Este estado e estvel e possui o mnimo de energia. Se este
decremento de temperatura for muito rpido, podem ser causadas deformidades no
material. A imagem a seguir ilustra este processo, a esquerda temos a transformao

resultante do recozimento, a direita temos um exemplo de como ficam as molculas


de um material quando o resfriamento feito de maneira muito rpida.

Figura 1: Formao de cristais por recozimento

A ideia de usar esta tcnica para lidar com problemas de otimizao resultou no
Simulated Annealing. Aqui introduzimos um parmetro de controle da otimizao, o
qual faria o papel de temperatura. A "temperatura" usada em nosso algoritmo deve
ter o mesmo efeito da temperatura do meio fsico. Ela deve condicionar os estados
acessveis e nos guiar para o estado timo. Se ela puder ser reduzida de maneira
vagarosa o suficiente, o algoritmo achar o mximo global com probabilidade prxima
de 1. Este algoritmo funciona como descrito abaixo. Iniciamos o problema com uma
temperatura T e uma soluo inicial para o problema. A cada iterao do seu loop, um
movimento aleatrio escolhido. Caso o movimento conduza a um resultado melhor,
ele aceito. Caso contrrio o movimento aceito com uma certa probabilidade. Esta
probabilidade cai de acordo com dois fatores. O primeiro deles a piora que este
movimento causa. Quanto maior a diferena entre o estado atual e o novo, menos
provvel _e a aceitao do movimento. O segundo fator a temperatura. H uma
chance maior de que movimentos ruins sejam aceitos no incio, quando a temperatura
est alta.

A funo que usamos para diminuir a temperatura. Para a funo que diminui a
temperatura, escolhemos a distribuio geomtrica para que fosse feito o decremento
dela, ou seja, a cada passo a temperatura multiplicada por uma constante menor que
1. H um consenso na literatura de que este valor depende do problema, e portanto
deve ser definido por experimentao. A escolha da temperatura inicial est
relacionada com a condio e-E/T usada, sendo chamada Funo de Gibbs-Boltzmann.

Escolha da temperatura inicial


Uma das opes para determinar a temperatura inicial seria uma escolha
aleatria. Porm para cada problema que um usurio quisesse resolver usando o
Simulated Annealing, ele teria de fazer experimentaes para determinar qual a
melhor temperatura a ser encaixada naquele problema. Uma possvel soluo seria
basear a escolha em um algoritmo que possa estimar uma temperatura inicial ideal
para o problema. Um determinado numero de trocas simuladas realizado. Com
base na mdia de E dessas trocas, utiliza-se a seguinte frmula:
e-E/T0 = 0
A temperatura inicial indicada por T0, que deve ser deduzida da frmula. 0
o grau de aceitao inicial, o qual deve ser assumido um valor para a configurao
inicial. Este valor pode ser alto quando o sistema iniciado com uma temperatura alta.

Resultados
Cidades da Alemanha
Foram realizados testes do Problema do Caixeiro Viajante envolvendo 29
cidades. Sua disposio est colocada abaixo:

Grafico 1: Disposio das cidades da Alemanha

A seguir temos alguns parmetros e alguns resultados obtidos:


- Comprimento no otimizado: 26380.512 km
- Comprimento final otimizado: 9074.148 km
- Temperatura inicial: 500 K
- Temperatura final: 50 K
- Temperatura do melhor caminho: 112.830 K
- Taxa de resfriamento: 0,995 K
Os parmetros acima foram inseridos para que o trajeto fosse otimizado e que
o caminho final fosse o menor possvel. Portanto, variando a temperatura de 500 at
50 com a taxa de resfriamento =0,995, e utilizando para cada taxa 100.000 passos de
iterao, obteve-se o seguinte resultado:

Grfico 2: Temperatura x Melhor caminho obtido


A seguir, temos a disposio das cidades e o grfico do trajeto inicial, ou seja,
sem otimizao:

Grafico 3: Caminho das cidades no otimizado

E por fim o grfico do caminho otimizado pelo programa:

Grfico 4: Caminho caixeiro otimizado.

Cidades aleatrias
Aqui apresentado um estudo de um grupo de 25 cidades fictcias dispostas
aleatoriamente, com os clculos feitos pelo mesmo algoritmo, a fim de verificar sua
eficcia. Foram feitos testes para que nenhuma cidade tivesse coordenadas iguais a de
outra cidade j existente. As disposio das cidades e os parmetros/resultados esto
dispostos a seguir:

- Comprimento no otimizado: 1513.6021 km


- Comprimento final otimizado: 480.3676 km
- Temperatura inicial: 100 K
- Temperatura final: 10 K
- Temperatura do melhor caminho: 10.324 K
- Taxa de resfriamento: 0.995
Abaixo, seguem os mesmos grficos do tpico anterior para o caso das cidades
com coordenadas aleatrias:

Grfico 5: Coordenadas das cidades fictcias geradas por nmeros aleatrios

Grfico 6: Melhor caminho x Temperatura para cidades aleatrias

Grfico 7: Trajetria caixeiro no otimizada (cidades aleatrias)


No possvel afirmar que o valor obtido seja realmente mnimo. Para esse caso, a
temperatura inicial utilizada foi menor, sendo essa resultado de vrios testes.
possvel notar pelo grfico 6 que o melhor caminho comea estavel a prximo da
temperatura 75, mas cai bruscamente quando atinge as proximidades de 30 K. Isso
confirma a os resultados obtidos para o melhor caminho e melhor temperatura.

Grfico 8: Trajetria otimizada para cidades aleatrias

Concluses
Embora no se tenha obtido a soluo tima em todos os testes realizados, os
resultados obtidos indicam que o algoritmo utilizado sempre apresenta boas
aproximaes.
Dado tratar-se de um algoritmo no determinstico, a soluo tima no pode
ser garantida, pois variaes nos parmetros resultam em variaes no tempo de
execuo e, consequentemente, no resultado final. Porm, o algoritmo baseado no
mtodo Simulated Annealing mostrou-se computacionalmente vivel e passvel de ser
empregado em situaes reais, devido sua eficincia e tempo de processamento.
Acredita-se que o algoritmo implementado possa ser aplicado a outros problemas,
desde que os mesmos admitam solues candidatas construdas passo a passo e uma
funo de clculo do custo ou aptido da soluo.

Referencias Bibliogrficas
[1] Junior, A. C. S. F., Costa, G. B. H., Costa, L. L., Kepe, T. R. - Simulated Annealing
aplicado no problema do Caixeiro Viajante, Universidade Federal do Paran, 2010.

[2] Mole, V.L. D., Martins, J. G., Junior, J. M. - Caixeiro Viajante Uma Abordagem
Baseada no Algoritmo Simulated Annealing, 2004.
[3] http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/

Campus de So Jos do Rio Preto

MTODOS COMPUTACIONAIS II
Caixeiro Viajante

Docente: Prof. Dr. Jorge Chahine


Discentes: Lilian Afonso Cndido
Las Ozelin Pimentel

Bacharelado em Fsica Biolgica


- 2012 -

Você também pode gostar