universidade do vale do itajaÍ centro de …siaibib01.univali.br/pdf/gregorio cacciari.pdf · the...

76
UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO ANÁLISE COMPARATIVA DO DESEMPENHO DE METAHEURÍSTICAS APLICADAS À RESOLUÇÃO DE UMA APLICAÇÃO REAL ENVOLVENDO O PROBLEMA DO CAIXEIRO VIAJANTE Área de Pesquisa Operacional por Gregório Cacciari Edson Tadeu Bez, Dr. Orientador São José (SC), dezembro de 2007

Upload: voxuyen

Post on 03-Oct-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

ANÁLISE COMPARATIVA DO DESEMPENHO DE METAHEURÍSTICAS APLICADAS À RESOLUÇÃO DE UMA APLICAÇÃO REAL ENVOLVENDO

O PROBLEMA DO CAIXEIRO VIAJANTE

Área de Pesquisa Operacional

por

Gregório Cacciari

Edson Tadeu Bez, Dr.

Orientador

São José (SC), dezembro de 2007

Page 2: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

ANÁLISE COMPARATIVA DO DESEMPENHO DE METAHEURÍSTICAS APLICADAS À RESOLUÇÃO DE UMA APLICAÇÃO REAL ENVOLVENDO

O PROBLEMA DO CAIXEIRO VIAJANTE

Área de Pesquisa Operacional

por

Gregório Cacciari

Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Edson Tadeu Bez, Dr.

São José (SC), dezembro de 2007

Page 3: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

DEDICATÓRIA

Aos meus pais, José Luiz e

Carmen, exemplos de ética, índole e integridade – professores da minha vida;

À minha esposa, Patrícia. Que com muito amor e perseverança, vençamos as dificuldades juntos para sempre; e

Isabel, minha filha. O melhor presente da minha vida, e a solução ótima para todos os meus problemas.

Page 4: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

iii

AGRADECIMENTOS

À irmã e irmãos, que estando perto ou longe, me cobraram este trabalho com tanta

insistência. Aqui está.

Aos familiares que fizeram o mesmo, direta ou indiretamente.

Ao orientador, Dr. Edson Bez, que soube guiar este estudante durante os dez meses da

realização deste trabalho (e espero que continuemos), o fazendo com paciência e dedicação.

Aos demais professores que acreditaram no meu esforço e que, com o proferir de suas

palavras repletas de conhecimento, me ajudaram a entender tão facilmente que o que eu julgava ser

verdade, não era tão verdade assim.

Às professoras Anita Fernandes e Fernanda Cunha, coordenadoras de curso, enquanto estive

como aluno desta universidade.

Finalmente, aos meus amigos de universidade, de escola e de infância, que também

esperavam pela conclusão desta saga. E que outra seja iniciada.

Page 5: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

iv

SUMÁRIO

LISTA DE ABREVIATURAS.................................................................. vi

LISTA DE FIGURAS ............................................................................... vii

LISTA DE QUADROS .............................................................................. ix

LISTA DE EQUAÇÕES ............................................................................ x

RESUMO ................................................................................................... xii

ABSTRACT .............................................................................................. xiii

1 INTRODUÇÃO ...................................................................................... 1

1.1 PROBLEMATIZAÇÃO ..................................................................................... 2

1.1.1 Formulação do Problema ................................................................................. 2

1.1.2 Solução Proposta ............................................................................................... 3

1.2 OBJETIVOS ........................................................................................................ 3

1.2.1 Objetivo Geral ................................................................................................... 3

1.2.2 Objetivos Específicos ........................................................................................ 4

1.3 METODOLOGIA ................................................................................................ 4

1.4 ESTRUTURA DO TRABALHO ....................................................................... 6

2 FUNDAMENTAÇÃO TEÓRICA ........................................................ 7

2.1 INTRODUÇÃO ................................................................................................... 7

2.2 PROBLEMA DO CAIXEIRO VIAJANTE ...................................................... 8

2.2.1 Introdução .......................................................................................................... 8

2.2.2 Formulação Matemática do Problema ......................................................... 10

2.3 APLICAÇÕES DO PROBLEMA DO CAIXEIRO VIAJANTE.................. 11

2.4 TÉCNICAS PARA A SOLUÇÃO DO PCV ................................................... 12

2.4.1 Sistema das formigas ...................................................................................... 12

2.4.2 Algoritmos Genéticos ...................................................................................... 17

2.4.3 Simulated Annealing ....................................................................................... 25

2.5 PROBLEMA DE APLICAÇÃO ...................................................................... 29

2.6 CENÁRIOS REAIS ........................................................................................... 30

3 PROJETO ............................................................................................. 32

3.1 PSEUDOCÓDIGOS .......................................................................................... 32

3.1.1 SISTEMA DAS FORMIGAS ........................................................................ 32

3.1.2 ALGORITMOS GENÉTICOS ...................................................................... 33

3.1.3 SIMULATED ANNEALING ......................................................................... 34

3.2 TESTES .......................................................................................................... 34

3.2.1 Estrutura dos testes ......................................................................................... 35

3.2.2 Domínio de aplicação dos testes ..................................................................... 37

3.2.3 Sistema computacional utilizado ................................................................... 39

Page 6: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

v

3.2.4 Execução dos testes do Sistema das Formigas ............................................. 39

3.2.5 Execução dos testes de Algoritmos Genéticos .............................................. 45

3.2.6 Execução dos testes de Simulated Annealing ............................................... 52

3.2.7 Comparativo entre as metaheurísticas ......................................................... 55

4 CONCLUSÕES .................................................................................... 59

REFERÊNCIAS BIBLIOGRÁFICAS ................................................... 61

Page 7: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

LISTA DE ABREVIATURAS

AG Algoritmo Genético AS Ant System, ver SF CX Cycle Crossover GA Genetic Algorithm, ver AG GNA Gerador de Números Aleatórios mPCV Problema dos Múltiplos Caixeiros Viajantes NN Nearest Neighbor NP-Hard Não-polinomial difícil OX Order Crossover PCI Placa de Circuito Impresso PCV Problema do Caixeiro Viajante PMX Partially Matched Crossover SA Simulated Annealing SF Sistema das Formigas TCC Trabalho de Conclusão de Curso TSP Traveling Salesman Problem, ver PCV UNIVALI Universidade do Vale do Itajaí

Page 8: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

LISTA DE FIGURAS

Figura 1. Extremos locais e globais de uma função ............................................................................. 8

Figura 2. Resultados da resolução do PCV sobre território estadunidense. ......................................... 9

Figura 3. Turnê do cavalo (Knight’s Tour) ........................................................................................ 10

Figura 4. Disposição de cidades e suas possíveis conexões. .............................................................. 13

Figura 5. Resultados alcançados para as formigas 1 (a), 2 (b) e 3 (c). ............................................... 16

Figura 6. Proporção dos indivíduos da população na roleta .............................................................. 20

Figura 7. Cruzamento entre dois indivíduos com um ponto de corte. ............................................... 21

Figura 8. Tratamento de inconsistência com Partially Matched Crossover. ..................................... 22

Figura 9. Tratamento de inconsistência com Order Crossover. ........................................................ 22

Figura 10. Tratamento de inconsistência com Cycle Crossover. ....................................................... 23

Figura 11. Mutação por troca de genes. ............................................................................................. 24

Figura 12. Arranjo inicial de caminhos em primeira iteração, com energia �0. ............................... 26

Figura 13. Tentativa de solução melhor com novo rearranjo, com energia �1. ................................ 27

Figura 14. Em uma execução, o limite tende ao zero em decorrência do valor de ∆. ....................... 28

Figura 15. Exemplos de coordenadas de pontos em formato GERBER RS-274X ............................ 30

Figura 16. Pontos de furação para uma placa de circuito impresso qualquer. ................................... 31

Figura 17. Pseudocódigo para o sistema das formigas. ...................................................................... 32

Figura 18. Pseudocódigo para algoritmos genéticos. ......................................................................... 33

Figura 19. Pseudocódigo para simulated annealing. .......................................................................... 34

Figura 20. Formato de saída dos dados coletados em uma execução de simulated annealing .......... 36

Figura 21. Exemplo de placa de circuito impresso perfurada ............................................................ 37

Figura 22. Coordenadas GERBER para a placa de circuito impresso da Figura 21 .......................... 38

Figura 23. Mapa de furos composto a partir da leitura de um arquivo GERBER ............................. 38

Figura 24. Gráfico α x resultado obtido para sistema das formigas, com β=5, τ =1, ρ =0.99, K=30 e C = 30. ........................................................................................................................................ 40

Figura 25. Gráfico α x tempo decorrido para sistema das formigas, com β=5, τ =1, ρ =0.99, K=30 e C = 30. ........................................................................................................................................ 40

Figura 26. Gráfico quantidade de formigas x resultado para sistema das formigas, com α=1, β=5, τ=1, ρ =0.99 e C = 30. ................................................................................................................ 42

Figura 27. Gráfico quantidade de formigas x tempo decorrido para sistema das formigas, com α=1,

β=5, τ=1, ρ =0.99 e C = 30. ........................................................................................................ 42

Figura 28. Gráfico número de ciclos x resultado para sistema das formigas, com α=1, β=5, τ=1, ρ =0.99 e K = 70. ........................................................................................................................... 43

Figura 29. Gráfico quantidade de formigas x tempo decorrido para sistema das formigas, com α=1,

β=5, τ=1, ρ =0.99 e K = 70. ........................................................................................................ 44

Figura 30. Gráfico percentual de cruzamento x resultado para algoritmos genéticos, com M=0, G=200, P=100 e seleção elitista. ................................................................................................ 45

Figura 31. Gráfico percentual de cruzamento x tempo decorrido para algoritmos genéticos, com M=0, G=200, P=100 e seleção elitista. ...................................................................................... 46

Figura 32. Gráfico percentual de mutação x resultado obtido para algoritmos genéticos, com C=60, G=200, P=100 e seleção elitista. ................................................................................................ 47

Figura 33. Gráfico percentual de mutação x tempo decorrido para algoritmos genéticos, com C=60, G=200, P=100 e seleção elitista. ................................................................................................ 47

Figura 34. Gráfico tamanho da população x resultado obtido para algoritmos genéticos, com C=60, M=4, G=200 e seleção elitista. ................................................................................................... 48

Page 9: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

Figura 35. Gráfico tamanho da população x tempo decorrido para algoritmos genéticos, com C=60, M=4, G=200 e seleção elitista. ................................................................................................... 49

Figura 36. Gráfico número de gerações x resultado obtido para algoritmos genéticos, com C=60, M=4, P=100 e seleção elitista. ................................................................................................... 50

Figura 37. Gráfico número de gerações x tempo decorrido para algoritmos genéticos, com C=60, M=4, P=100 e seleção elitista. ................................................................................................... 51

Figura 38. Gráfico temperatura x resultado para simulated annealing, com ∆=0.99........................ 53

Figura 39. Gráfico temperatura x tempo decorrido para simulated annealing, com ∆=0.99 ............ 53

Figura 40. Gráfico delta (∆) x resultado obtido para simulated annealing, com T = 4 ..................... 54

Figura 41. Gráfico delta (∆) x tempo decorrido para simulated annealing, com T = 4 ..................... 55

Figura 42. Visualização parcial do circuito impresso com furos eqüidistantes. ................................ 57

Figura 43. (a) Soluções obtidas: (a) sistema das formigas; (b) algoritmos genéticos; e (c) simulated

annealing. ................................................................................................................................... 57

Page 10: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

LISTA DE QUADROS

Quadro 1. Marcos históricos na obtenção de resultados sobre o PCV ................................................. 9

Quadro 2. Disposição de formigas e suas probabilidades p calculadas. ............................................ 15

Quadro 3. Parâmetros de inicialização do algoritmo. ........................................................................ 15

Quadro 4. Seleção aleatória de indivíduos. ........................................................................................ 19

Quadro 5. Seleção de indivíduos por roleta. ...................................................................................... 19

Quadro 6. Seleção de indivíduos elitista. ........................................................................................... 20

Quadro 7. Tipos de valores relevantes para captura, referentes ao algoritmo simulated annealing .. 35

Quadro 8. Tipos de valores relevantes para captura, referentes a Algoritmos Genéticos .................. 36

Quadro 9. Tipos de valores relevantes para captura, referentes ao Sistema das Formigas ................ 36

Quadro 11. Hardware do ambiente de testes e desenvolvimento ....................................................... 39

Quadro 12. Software do ambiente de testes e desenvolvimento ........................................................ 39

Quadro 12. Comparativo entre sistema das formigas, algoritmos genéticos e simulated annealing. 56

Page 11: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

LISTA DE TABELAS

Tabela 1. Resultados obtidos para primeira bateria de testes do sistema das formigas. .................... 41

Tabela 2. Resultados obtidos para a segunda execução do sistema das formigas ............................. 42

Tabela 3. Resultados obtidos para a terceira execução do sistema das formigas ............................... 44

Tabela 4. Resultado final para o sistema das formigas. ..................................................................... 44

Tabela 5. Resultados obtidos para primeiras execuções de Algoritmos Genéticos ........................... 46

Tabela 6. Resultados obtidos para o segundo teste de Algoritmos Genéticos ................................... 48

Tabela 7. Resultados obtidos para o terceiro teste de Algoritmos Genéticos .................................... 49

Tabela 8. Resultados obtidos para o quarto teste de algoritmos genéticos ........................................ 51

Tabela 9. Resultado final para algoritmos genéticos, com C=60%, M=4%, G=200 e P=100. .......... 51

Tabela 10. Resultados obtidos para primeiras execuções de simulated annealing ............................ 52

Tabela 11. Resultados obtidos para execuções posteriores de simulated annealing ......................... 54

Tabela 12. Resultado final para simulated annealing, com T=4 e delta=0.99 ................................... 55

Page 12: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

LISTA DE EQUAÇÕES

Equação 1 . ......................................................................................................................................... 11

Equação 2 . ......................................................................................................................................... 11

Equação 3 . ......................................................................................................................................... 14

Equação 4 . ......................................................................................................................................... 14

Equação 5 . ......................................................................................................................................... 14

Equação 6 . ......................................................................................................................................... 16

Equação 8 . ......................................................................................................................................... 27

Equação 9 . ......................................................................................................................................... 27

Equação 10 ......................................................................................................................................... 27

Page 13: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

RESUMO

CACCIARI, Gregório. Análise comparativa do desempenho de metaheurísticas aplicadas à resolução de uma aplicação real envolvendo o problema do caixeiro viajante. São José, 2007. 50 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação)–Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, São José, 2007.

O problema do caixeiro viajante (PCV) é transposto para diversas situações reais que envolvem agendamentos, roteirizações e minimização de caminhos. Uma das situações reais diretamente relacionadas ao PCV é o seqüenciamento de furos em um processo de fabricação de placas de circuito impresso. A redução do tempo de passeio da broca perfuratriz é conseqüência direta da qualidade da solução de menor caminho encontrada. Um dos objetivos deste trabalho é resolver este problema de minimização de custos de fabricação por meio de três metaheurísticas: algoritmos genéticos, sistema das formigas e simulated annealing. As metaheurísticas são facilmente adaptáveis e seu uso é relativamente simples. Com base na implementação destes métodos, serão realizados testes e gerados resultados. Com a análise destes resultados de testes, outro objetivo consiste em discorrer sobre o desempenho destas técnicas de otimização. É esperado resultado tal que leve à conclusão sobre qual método tem melhor desempenho na resolução deste problema, analisado sob diversos pontos de vista.

Palavras-chave: Problema do Caixeiro Viajante. Sistema das Formigas. Algoritmos Genéticos.

Page 14: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

ABSTRACT

The traveling salesman problem (TSP) is projected to a number of real situations that involve

scheduling, routing and path minimization. One of these real situations directly related to the TSP

is the drilling sequencing in printed circuit boards production. The time reduction of the total

movement of the plotting drill is directly bound to the quality of minimized path found. An objective

of this work is to solve this minimization problem of production costs by applying three

metaheuristics: genetic algorithms, ant system and simulated annealing. Metaheuristics are easily

adaptable and the use of them is relatively simple. Based on the implementation of these methods,

tests are going to be executed and a package of results will be presented. With these results

acquired, objective turns to discuss on the performance of these optimization techniques. Results

expected are such that it will be leaded to a conclusion on which method has better performance

when solving this problem, analyzed under different points of view.

Keywords: Traveling Salesman Problem. Genetic Algorithms. Ant System.

Page 15: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

1 INTRODUÇÃO

São numerosos os exemplos de empresas cuja área de atuação está ligada a atividades como

distribuição, transportes, entregas, despachos, envios e afins. Todas estas tarefas podem ser

consideradas o cerne do funcionamento destas empresas. Se uma empresa de distribuição de

bebidas tem deficiências no setor financeiro ou na infra-estrutura interna em itens como limpeza,

organização ou quadro de horários há certa quantidade de prejuízo na qualidade final do serviço.

Porém, as dificuldades podem estar em lugares relativamente críticos no fluxo de trabalho da

instituição.

A supracitada deficiência poderia estar localizada justamente no setor responsável pela

distribuição direta do produto. Uma falha no setor de manutenção de caminhões como uma demora

excessiva em realizar serviços de mecânica, poderia causar indisponibilidade de unidades

destinadas à distribuição e entrega. Deficiências no setor responsável pelo planejamento das rotas

causariam, por exemplo, um aumento desnecessário da quilometragem percorrida por cada unidade

de entrega.

Um desperdício dessa ordem, em um setor pelo qual a empresa baseia a sua reputação e,

logicamente, as suas apostas de retorno econômico, causa, certamente, uma perda muito grande na

eficiência do seu serviço.

Problemas de definição de rotas são críticos em quase todas as empresas com maior

significância nos seus mercados. Empresas cujo volume de distribuição é pequeno têm problemas

pequenos para resolver, enquanto as empresas de maior porte têm e buscam resolver problemas de

maior magnitude.

Esse tipo de problema associado à definição de rotas pode ser projetado em vários cenários.

No cenário da empresa pequena, por exemplo, uma panificadora, com poucos trabalhadores e,

supondo, apenas um entregador de pães, o problema é muito diminuto. Na maioria destes casos o

entregador não conhece rotas, endereços, códigos de entrega ou sistemas similares. Ele conhece

cada um dos moradores que são seus clientes e isso basta. A convivência com o serviço e a

improvável alteração brusca do quadro de clientes faz com que sua lista de entrega seja facilmente

administrável.

Transportando este problema para um contexto maior, nota-se que a importância da correta

definição de rotas aumenta significativamente, pois pequenas distorções de soluções podem gerar

grandes quantidades de gastos desnecessários.

Page 16: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

2

Ao tomar como exemplo uma empresa de transportes aéreos, amplifica-se a problemática ao

nível de que, sem ajuda computacional, seja impraticável determinar a melhor seqüência, por

exemplo, de aeroportos a visitar. O cenário fica pior ao se considerar mais de um estado ou,

impossível de se resolver em tempo viável ao estender o problema para cobrir um país em sua

totalidade. No cenário destas empresas, realizar um planejamento de rotas errôneo pode acarretar

em centenas de milhares de quilômetros de desperdício anual de combustível.

Adotando este tipo de cenário, têm-se como itens a serem considerados distância entre

aeroportos, número de aeroportos, início e fim do percurso e retorno ou não ao aeroporto de origem.

Considera-se também que, uma mudança em um único aeroporto pode causar uma completa

desconfiguração de rotas. Uma ausência de compromissos naquele local em um dia específico pode

fazer com que o aeroporto que normalmente seria o subseqüente passível de visita, torne-se um

grande desperdício de recursos. Há de se considerar também que uma aeronave tenha a necessidade

de terminar o seu dia em um aeroporto determinado para fins de manutenção, por exemplo.

1.1 PROBLEMATIZAÇÃO

1.1.1 Formulação do Problema

As situações descritas na introdução são caracterizadas como problemas de roteirização. Em

particular, um problema clássico é o Traveling Salesman Problem (TSP), ou Problema do Caixeiro

Viajante (PCV). O PCV, de acordo com Schrijver (2000) e Gutin e Punnen (2003), é caracterizado

por: dado um número n de cidades e suas distâncias intermediárias, deve-se encontrar uma rota que

passe por todas as cidades exatamente uma única vez. Ao considerar-se as cidades como nós e as

distâncias entre elas como arcos, pode-se transplantar este problema para aeroportos, ligações

elétricas ou furações em uma placa de circuito impresso.

No ponto de vista do usuário, ou o interessado na resolução do problema, o TSP encontra-se

resolvido quando, em um tempo aceitável, é encontrada uma solução ótima ou, na grande maioria

dos casos, muito próxima da ótima. Também é necessário que a solução venha a convergir para

valores próximos do ótimo e não divergir.

Precisamente, o problema a ser tratado neste trabalho é comparar o desempenho de execução

de diferentes métodos para a resolução de um problema baseado no PCV. A aplicação deste PCV é

Page 17: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

3

a roteirização necessária para que uma máquina que realize furos em uma placa de circuito

impresso possa fazer o menor caminho possível, com o menor tempo possível.

1.1.2 Solução Proposta

Para resolver problemas deste tipo, pode-se fazer uso de técnicas computacionais

denominadas metaheurísticas. Esse tipo de técnica é caracterizado por, dado um determinado tipo

de problema, convergir rapidamente para um resultado aceitável. As metaheurísticas são facilmente

adaptáveis e seu uso é relativamente simples. Por causa disso, podem ser otimizadas para cada

problema com diversos tipos de ajuste.

É comum utilizar apenas um tipo de algoritmo para resolver um PCV. Técnicas como

Algoritmos Genéticos (GOLDBERG, 1989; LUGER, 2004; SENGOKU & YOSHIHARA, 1999;

CHAMBERS, 1995) são utilizados em diversos tipos de situações, bem como Colônia de Formigas

(DORIGO, 1996), simulated annealing (KIRKPATRICK, GELATT & VECCHI, 1983) ou Clarke-

Wright (CLARKE & WRIGHT, 1964)

Propõe-se, aqui, a análise de técnicas utilizadas anteriormente em outros trabalhos para a

solução do problema. Com a seleção dos algoritmos para modelagem e implementação dos

mesmos, será realizada uma bateria de testes. A partir daí, será feito o estudo sobre os resultados e a

formulação de considerações finais sobre os valores de desempenho alcançados.

A solução proposta envolve modelagem e implementação das técnicas abordadas. Com o

software desenvolvido e implementado em C++, o trabalho é de realizar testes com os algoritmos

selecionados de maneira tal que produzam resultados facilmente comparáveis entre si. A mesma

métrica, então, será adotada como saída padrão das execuções destes algoritmos.

1.2 OBJETIVOS

1.2.1 Objetivo Geral

O objetivo geral deste projeto é realizar uma análise comparativa de desempenho de três

metaheurísticas na resolução de um problema real de roteirização.

Page 18: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

4

1.2.2 Objetivos Específicos

O trabalho consiste em várias etapas, cada uma a ser trabalhada e detalhada de maneira tal

que conduza o experimento para sua validação científica. Os objetivos específicos deste projeto de

pesquisa são descritos assim:

• Pesquisar e analisar trabalhos anteriores que abordam problemas clássicos de TSP;

• Estudar os tipos de métodos e algoritmos mais utilizados na resolução de problemas de

roteirização;

• Definir um problema relacionado para ser abordado neste estudo;

• Elencar as técnicas de metaheurísticas que serão utilizadas;

• Modelar os algoritmos selecionados para a resolução do problema;

• Implementar computacionalmente os algoritmos; e

• Realizar os testes computacionais com os algoritmos implementados.

1.3 METODOLOGIA

Etapa de pesquisa

Este trabalho é de caráter técnico, exploratório e não-dissertativo. Como relativo à área de

ciências exatas, são apresentados aqui itens como modelos, tabelas, imagens, diagramas e similares.

A interpretação deste documento não deve ser feita de maneira subjetiva, pois o método é de

demonstração científica de conceitos pré-existentes.

Fundamentar este trabalho envolve pesquisa bibliográfica em diversas fontes, tanto em

bibliotecas quanto em dissertações, teses, artigos e demais textos encontrados na internet. A procura

de obras relativas ao assunto partirá das aplicações para os fundamentos, permitindo visualizar

também, como os autores construíram suas soluções. A partir dos trabalhos lidos, será iniciada

seleção dos tipos de algoritmo que despertaram mais interesse do autor. Elencados estes, serão

escolhidos os autores que melhor abordaram estes assuntos, não necessariamente aplicando-os, mas

fundamentando e conduzindo a novas pesquisas sobre seus usos na prática.

Page 19: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

5

Estes algoritmos, então, serão implementados na linguagem C++, compondo,

posteriormente, um software de demonstração de execução de cada um deles. A principal função

deste é gerar resultados válidos e passíveis de análise para comparações do mesmo algoritmo na

resolução de problemas diferentes e de algoritmos diferentes para a resolução do mesmo problema.

Etapa de desenvolvimento

Esta etapa visa transformar o modelo resultante da etapa anterior em um código-executável

experimental que seja capaz de realizar os testes propostos. Além de realizar os testes, o software

desenvolvido deve produzir como saída informações que sejam facilmente usadas em modelos

estatísticos.

Etapa de validação

Nesta etapa, foram realizados diversos testes de execução do código e a comparação entre

os resultados obtidos. Cada método terá suas propriedades comparadas com os outros métodos,

como por exemplo, os resultados de suas iterações uma a uma, as suas velocidades de convergência

e demais aspectos. Estas propriedades também serão rotuladas como vantagens e desvantagens

relativas.

A atividade de realização de testes consiste na execução dos softwares construídos. Tendo o

ambiente e os valores de entrada preparados, os testes foram realizados diversas vezes com os

diferentes métodos preparados. O software registrará os valores obtidos na execução para posterior

análise.

Após, houve a reunião das informações extraídas e preparação de um relatório de execução

do software com os critérios que forem julgados pertinentes. Uma documentação com os valores

numéricos obtidos com a execução dos testes computacionais será apresentada.

Também será apresentada, ao final dos testes, uma documentação com análise comparativa

de desempenho, contendo gráficos, planilhas e outros recursos visuais que ajudem o leitor no

entendimento.

Etapa de documentação

Esta etapa consiste em obter como resultado toda a documentação referente ao processo de

pesquisa científica, abordando desde a etapa inicial de descrição do problema até a etapa final de

Page 20: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

6

validação. A documentação deve ter qualidade tal que seja possível que outros pesquisadores a

usem, tanto para realizar o mesmo procedimento quanto para referência e estudos.

1.4 ESTRUTURA DO TRABALHO

Este documento está dividido em quatro capítulos, os quais elaborados de tal forma que seja

possível abreviar seus conteúdos como exposto a seguir.

Uma introdução, apresentada no Capítulo 1, trouxe uma visão ampla do trabalho,

contextualizando e agregando relevante necessidade científica na aplicação dos problemas citados.

De aviões a entregas de pães, nota-se a possibilidade de usar métodos computacionais para resolver

tais problemas.

No Capítulo 2, será apresentada a fundamentação teórica deste trabalho. Serão discutidos os

primeiros conceitos de algoritmos e resolução de problemas, assim como observações sobre

otimizações e inteligência artificial. O problema do caixeiro viajante (PCV) será definido e

encaixado em situações e aplicações existentes. Finalmente, serão enumeradas técnicas de

algoritmos para resolver este tipo de problema. Também é apresentado para o leitor um problema de

aplicação. Uma das aplicações recorrentes do PCV é o de agendar máquinas de furação de placas de

circuito impresso (PCI) para que façam seu trabalho com no menor tempo possível. Um texto mais

elaborado consta, indicando exemplos e detalhes mais aprofundados sobre o problema.

O terceiro capítulo apresenta o modelo proposto de um código-fonte, suas características e

que resultados deve emitir para que seja realizada a análise comparativa em si. Ainda neste mesmo

capítulo, constará o cronograma de atividades para o TCC II, que, em sua natureza, abrange a

implementação em si e os já citados testes.

Finalmente, no quarto e último capítulo, serão apresentadas as conclusões finais, onde são

abordados os resultados de toda a execução dos testes e demais informações pertinentes ao

entendimento do desenvolvimento científico deste trabalho.

Page 21: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

7

2 FUNDAMENTAÇÃO TEÓRICA

2.1 INTRODUÇÃO

A ciência da computação, como outras, tornou-se ubíqua e pervasiva. Profissionais de todas

as áreas usam as facilidades que ela provê para resolver problemas de diversas grandezas.

Computadores e suas programações são importantes em tarefas que demandam um grande número

de cálculos, por exemplo, para resolver problemas. Problemas mais simples, como tarefas de

repetição, também teriam imprecisão e significativo tempo de atraso se realizados por humanos.

Nos sistemas computacionais, esta seqüência de passos é conhecida por algoritmo, como

afirmam Cormen et al. (2001):

Informalmente, um algoritmo é um procedimento bem definido que toma um ou mais valores como entrada e produz um ou mais valores como saída. Um algoritmo é, portanto, uma seqüencia de passos que transforma entrada em saída. Podemos ver um algoritmo também como uma ferramenta para resolver um problema computacional bem definido.

Se o algoritmo é um procedimento computacional específico para a resolução de um

problema, é aceitável que este é tão complexo quanto o problema. Se o problema for simples, o

algoritmo é simples. Se o problema é complicado, o algoritmo assim o é.

Em problemas não-polinomiais difíceis (NP-hard), o tempo para que se chegue a uma

solução exata por meio de métodos determinísticos é extenso demais para que estes sejam

praticados. Para o problema do caixeiro viajante, por exemplo, a complexidade cresce

exponencialmente de acordo com o número de pontos a serem percorridos. (CUNHA, BONASSER

& ABRAHÃO, 2002)

Este tipo de situação envolve problemas de máximo e mínimo, ou seja, de otimização. No

campo da matemática e área de pesquisa operacional, os pontos de máximo e mínimo, presentes no

domínio de uma função, podem ser classificados como locais e globais. Os mínimos e máximos

locais (Figura 1, pontos L1 e L2) detém os extremos dos valores em um dado intervalo, enquanto os

globais (Figura 1, pontos G1 e G2) são, absolutamente, os extremos em todo o domínio da função.

Page 22: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

Figura 1. Extremos locais e globais de uma função

O uso de algoritmos em problemas de pesquisa operacional é combinado com métodos

científicos como estatística ou teoria dos grafos. Tal combi

de métodos estocásticos, se chegue a soluções muito próximas de um teórico valor ideal. Métodos

estocásticos são aqueles cuja execução não é determinística, pois seu c

diretamente ligado a valores gerados aleatoriamente.

2.2 PROBLEMA DO

2.2.1 Introdução

O problema do caixeiro viajante

de cidades, visitar cada uma destas cidades apenas uma

maneira que este caminho seja o menor possível. (BRYANT

O PCV, em sua forma padrão, apresenta custos simétricos entre pontos. Ou seja, a distância

(custo) de se viajar da cidade

cidade C1 (GATECH, 2007)

Dantzig, Fulkerson e Johnson foram os primeiros a resolver computacionalmente o PCV, em

1954 (SCHRIJVER, 2000; REINHELT, 1994). Os pesquisadores na ocasião usaram o território

norte-americano para realizar os cálculos. O resultado

0

2

4

6

8

10

12

0

8

. Extremos locais e globais de uma função

O uso de algoritmos em problemas de pesquisa operacional é combinado com métodos

como estatística ou teoria dos grafos. Tal combinação de técnicas permite que,

de métodos estocásticos, se chegue a soluções muito próximas de um teórico valor ideal. Métodos

estocásticos são aqueles cuja execução não é determinística, pois seu c

diretamente ligado a valores gerados aleatoriamente.

O CAIXEIRO VIAJANTE

O problema do caixeiro viajante (PCV) consiste em encontrar um roteiro em um número tal

, visitar cada uma destas cidades apenas uma vez e retornar à cidade de origem de

ue este caminho seja o menor possível. (BRYANT & BENJAMIN, 2000)

O PCV, em sua forma padrão, apresenta custos simétricos entre pontos. Ou seja, a distância

(custo) de se viajar da cidade C1 para a cidade C2 é a mesma de se viajar da cidade

Dantzig, Fulkerson e Johnson foram os primeiros a resolver computacionalmente o PCV, em

(SCHRIJVER, 2000; REINHELT, 1994). Os pesquisadores na ocasião usaram o território

ano para realizar os cálculos. O resultado é ilustrado na Figura

10 20 30 40

L1

L2

G1

G2

O uso de algoritmos em problemas de pesquisa operacional é combinado com métodos

nação de técnicas permite que, por meio

de métodos estocásticos, se chegue a soluções muito próximas de um teórico valor ideal. Métodos

estocásticos são aqueles cuja execução não é determinística, pois seu comportamento está

consiste em encontrar um roteiro em um número tal

vez e retornar à cidade de origem de

BENJAMIN, 2000)

O PCV, em sua forma padrão, apresenta custos simétricos entre pontos. Ou seja, a distância

de se viajar da cidade C2 para a

Dantzig, Fulkerson e Johnson foram os primeiros a resolver computacionalmente o PCV, em

(SCHRIJVER, 2000; REINHELT, 1994). Os pesquisadores na ocasião usaram o território

Figura 2.

50

Page 23: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

9

Figura 2. Resultados da resolução do PCV sobre território estadunidense. Fonte: (GATECH, 2007)

Um histórico da evolução das soluções do PCV pode ser visto no Quadro 1. A progressão

dos resultados não se deu apenas em decorrência do aumento do poder de cálculo dos sistemas

computacionais neste período de tempo, mas também pela otimização dos algoritmos (GATECH,

2007).

Quadro 1. Marcos históricos na obtenção de resultados sobre o PCV

Ano Pesquisador Pontos Contexto 1954 Dantzig, Fulkerson, Johnson 49 Cidades (Estados Unidos). 1971 Held, Karp. 64 Pontos aleatórios. 1975 Camerini, Fratta, Maffioli 67 Pontos aleatórios. 1977 Grötschel 120 Cidades (Alemanha). 1980 Crowder, Padberg 318 Furação em PCI. 1987 Padberg, Rinaldi 532 Cidades (Estados Unidos). 1987 Grötschel , Holland 666 Cidades (globo) 1987 Padberg, Rinaldi 2392 Furação em PCI. 1994 Applegate, Bixby, Chvátal, Cook 7397 Furação em PCI. 1998 Applegate, Bixby, Chvátal, Cook 13509 Cidades (Estados Unidos) 2001 Applegate, Bixby, Chvátal, Cook 15112 Cidades (Alemanha) 2004 Applegate, Bixby, Chvátal, Cook , Helsgaum 24978 Cidades (Suécia) Fonte: GATECH (2007).

Resultados mais recentes incluem roteirização em praticamente países inteiros. No ano de

2004, um novo marco foi alcançado ao adaptar o mapa da Suécia ao PCV (APPLEGATE et al.

2006 apud GATECH, 2007). No caso, o país conta com quase 25,000 cidades.

Page 24: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

10

Porém, a primeira ocorrência deste tipo de problema relatada partiu de Euler, em 1759.

(BRYANT & BENJAMIN, 2000) Especificamente, este consistia em mover uma peça de xadrez

(um cavalo) para todas as posições exatamente uma vez (Figura 3). Os números representam a

ordem da movimentação da peça.

42 57 44 9 40 21 46 7

55 10 41 58 45 8 39 20

12 43 56 61 22 59 6 47

63 54 11 30 25 28 19 38

32 13 62 27 60 23 48 5

53 64 31 24 29 26 37 18

14 33 2 51 16 35 4 49

1 52 15 34 3 50 17 36

Figura 3. Turnê do cavalo (Knight’s Tour)

Fonte: Adaptado de Applegate, et al. (APPLEGATE, 2006)

2.2.2 Formulação Matemática do Problema

Em um grafo G(N,A) qualquer, dado o seu conjunto de nós N e arcos A, considerando-se que

a matriz de custo C representa os menores custos possíveis entre os nós N e que as distâncias entre ��� são representadas por +∞ quando i = j e, também, que os valores da matriz de rotas ��� assuma

valores zero (0) para ausência de rota e um (1) para presença de rota naquele arco ���, a solução é

dada pelo menor somatório de produtos entre os elementos ��� e ���, com intervalo de 1 até n

cidades. (BODIN, et al, 1983 apud NUNES, 1998). O problema do caixeiro viajante pode ser

apresentado com a formulação conforme a Equação 1

Page 25: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

11

Minimizar

������ ���

���

s.a.:

������ 1 �� 1,2, …�� ������ 1 �� 1,2, … �� � ����� � � ��� 0 �� ��� 1 �i, j 1,2, . . . , n�

Equação 1

O conjunto S (Equação 2) compõe uma restrição adicional, onde não é possível haver sub-

rotas. Ou seja, não é permitido uma rota {A,B,C,D} e outra {F,G,H,I} em um conjunto de cidades X

qualquer, onde X = {A,B,C,D,E,F,G,H,I}. Tampouco são permitidos conjuntos vazios.

� ! �����: �����# $ |&| ' 1��# para todo subconjunto não vazio de & !2,3, … n77

Equação 2

2.3 APLICAÇÕES DO PROBLEMA DO CAIXEIRO VIAJANTE

Aplicações diversas podem ser vistas como um PCV. Foulds (1992 apud CHAMBERS,

1995) apresenta um problema recorrente na indústria farmacêutica, no qual o mesmo maquinário é

utilizado para fabricar diferentes tipos de drogas. No caso, a droga é fabricada uma por vez. Quando

a droga d� chega ao final da linha de produção, a droga d� está no início. O problema é que após o

processamento de cada etapa, o equipamento precisa ser limpo. Este tempo de limpeza varia com a

droga processada. Se os tempos de limpeza são diferentes e os equipamentos tornam-se disponíveis

para uso em tempos variáveis, qual a melhor rota de equipamentos que a nova droga (droga d�) deve seguir para que haja o mínimo de tempo de limpeza até o início do processamento da droga

subseqüente?

Page 26: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

12

Reinhelt (1994) descreve numerosos exemplos. Aplicações do PCV podem ser vistas em

controle de robôs em processos de fabricação quando realizam diferentes tarefas (tais quais como

perfurações, cortes, planificações) com diferentes parâmetros. Outro problema é o de roteirizarão de

veículos, onde o melhor caminho tem que ser o menor possível e o que não exceda a carga máxima

permissível do caminhão. Um outro exemplo é o de pesquisa em sítios arqueológicos. Em um

conjunto de sepulturas, há de se determinar quais pessoas foram enterradas antes e depois, baseado

nos pertences de cada um. Os pertences (mais evoluídos ou mais simples) definem a distância de

tempo entre os sepultamentos daquelas pessoas.

Reinhelt também menciona o uso do PCV em fabricação de placas de circuito impresso. O

caminho que a máquina de furação tem que percorrer para realizar todos os furos na placa tem que

ser o menor possível, haja vista a limitação de velocidade deste equipamento.

2.4 TÉCNICAS PARA A SOLUÇÃO DO PCV

São diversas as técnicas utilizadas para a solução de um PCV, dentre as quais, é possível

elencar os algoritmos genéticos (AG), sistema das formigas (SF) e simulated annealing (SA).

Outros métodos são utilizados para resolver o mesmo tipo de problema, porém, o foco deste

trabalho é nos três supracitados.

2.4.1 Sistema das formigas

O sistema das formigas (SF, ou AS - Ant System) traz uma abordagem copiada da natureza

para que seja possível resolver problemas de otimização, como é o caso do PCV. (DORIGO, 1996)

Na natureza, algumas formigas são quase cegas e tem pouca capacidade de memória.

Mesmo assim, conseguem determinar e manter caminhos ótimos entre o ninho e a comida. As

formigas adaptam-se ao meio de tal maneira que, momento após momento, mesmo se o meio tiver

mudado, elas ainda assim encontram um novo caminho para a comida.

O mecanismo de manter o caminho é criado pelas formigas com um depósito de

feromônios. Certos tipos de formigas deixam um rastro desse hormônio quando do seu caminhar na

procura pelo alimento.

Em um momento inicial, as formigas que saem do ninho não têm um trilho de feromônios

evidente para seguir, fato este que acarreta em aleatoriedade na escolha do caminho. Quando as

Page 27: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

13

formigas encontram este alimento (o próximo no, no PCV), elas retornam pelo caminho que contém

mais feromônio do que os outros. Ou seja, retornam pelos seus próprios caminhos traçados (contém

mais feromônio do que outros caminhos que não foram percorridos). No seu retorno, as formigas

reforçam o trilho com mais depósitos do hormônio, deixando-o ainda mais evidente.

A próxima formiga (ou a mesma) na escolha do caminho para uma nova busca de alimento

agora realiza uma escolha tendenciosa para percorrer o terreno. O caminho com mais feromônios é

percorrido. O processo continua para várias formigas que saem do ninho, o que mantém o caminho

ativo.

Porém, o caminho pode não ser o melhor. Outro grupo de formigas pode ter encontrado um

caminho alternativo para o alimento. Se este for menor, a razão feromônio/distância é mais

vantajosa. Este caminho novo, então, passa a ter maiores chances de ser escolhido do que o anterior.

Estrutura e execução do algoritmo

A modelagem computacional deste ambiente se dá por meio de formigas artificiais. Alguns

comportamentos das formigas reais são imitados. Demais controles são implementados, como pesos

para distância e feromônio. Esta implementação refere-se ao método original do Ant System. Outras

melhorias são possíveis, com diversas variações deste algoritmo. Porém, o foco deste trabalho

consiste apenas em apresentar o sistema original. Um tratamento matemático para a persistência de

feromônios é também implementado, como descrito adiante.

Para um conjunto de arcos A que ligam pontos de um conjunto P, estes em um mapa, têm-

se, então, uma disposição de cidades. Cada um dos arcos que vão de uma cidade à outra têm um

custo associado. Na Figura 4, o arco �89 tem custo de valor 12 enquanto �:; tem valor 13, e assim

por diante. Nota-se que há simetria entre os pontos. O arco �<= tem o mesmo custo do arco �=<.

Figura 4. Disposição de cidades e suas possíveis conexões.

Page 28: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

14

As formigas artificiais são, inicialmente, distribuídas em pontos aleatórios do mapa de

pontos. Para cada formiga, então, há uma regra de transição. Esta regra define a probabilidade de

escolha das formigas em relação a cada arco possível de ser escolhido. Na Equação 3, >�� representa

a atratividade do arco. O arco ��� tem este valor calculado com base no valor inverso de seu custo

(?���, como representado na Equação 4.

@��A BCDCE FG��HI . F>��HJ∑ LG�MNIM�OP . L>�MNJ se � � QA���0 caso contrário

S

Equação 3

>�� 1?��

Equação 4

O conjunto J é composto pelas cidades ainda não visitadas. Há ainda dois parâmetros de

pesos, α e β que evidenciam o quanto são significantes os valores de G�� (a quantidade de feromônio

em um arco ���) e >�� (o valor de atratividade em um arco ���), respectivamente.

A cada transição efetuada pelas formigas, o conjunto J relativo àquela formiga é diminuído

em um elemento até que, ao se esgotarem todas as possibilidades de transição, a formiga volte para

a sua cidade de origem. Após todas as formigas completarem as suas rotas pelo grafo, deve-se

realizar uma atualização global.

A atualização global consiste em calcular os efeitos desta natureza artificial, a inserção de

feromônios por cada formiga que passou em um arco ��� e a evaporação de feromônios em todos

os arcos. A inserção e evaporação são aplicadas no mesmo cálculo, como descrito nas equações 5 e

6.

G�� TG�� U ∆G��

∆G�� ∆G��AVA��

Equação 5

Equação 6

Page 29: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

15

∆G��A BDE 1WA , se a k ' ésima formiga utilizar o arco ��� em sua rota.0 , caso contrário.

S

A variável T é um coeficiente de manutenção do feromônio, este sendo o complemento do

coeficiente de evaporação (exemplo: evaporação de 2% implica em T 0,98). O acréscimo de

feromônio se dá pelo operando ∆G��. O número de formigas é representado por m. Se a formiga ^

utilizar o arco ���, em sua rota, aquela recebe um incremento de ∆G��A , onde este valor é a razão

entre o feromônio depositado pela formiga ^ e o custo da rota. Caso o arco não seja utilizado pela

formiga em sua rota, aquele arco não recebe incremento de feromônio algum.

Cada formiga possui um índice de cidades visitadas. Este índice é chamado de lista tabu e é

modificado ao final de cada atualização global com os valores das cidades _ percorridas. No

próximo ciclo, cada formiga consulta sua lista tabu e retira das suas possibilidades de transição os

nós presentes nela.

Para um exemplo de resolução do problema apresentado no grafo explicitado na Figura 4,

insere-se três (3) formigas de acordo com o disposto no Quadro 2. Os parâmetros de inicialização

do algoritmo são os dispostos no Quadro 3.

Quadro 2. Disposição de formigas e suas probabilidades p calculadas.

Formiga (`� Partida p1 p2 p3 p4 1 _8 @<== 0,18 @<a= 0,22 @<b= 0,24 @<c= 0,36 2 _d @b<= 0,24 @b== 0,26 @ba= 0,20 @bc= 0,30 3 _: @c<= 0,32 @c== 0,27 @ca= 0,14 @cb= 0,27

Quadro 3. Parâmetros de inicialização do algoritmo.

Parâmetro Valor Importância de feromônio (α) 2,00 Importância de custo (β) 1,00 Feromônio inicial (τ) 1,00 Coeficiente de evaporação (ρ) 0,99

O cálculo efetuado, segundo a Equação 3 é assim realizado para todos os arcos possíveis a

serem percorridos a partir de um ponto. Para a formiga k=1, a substituição de valores na equação

pode ser ilustrada de acordo com a Equação 7.

Page 30: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

16

O mesmo é repetido para cada uma das formigas. A Figura 5 representa o resultado

alcançado para o cálculo de probabilidades.

@<= e L1Nf. F1 12g H�L1Nf. F1 12g H� U L1Nf. F1 10g H� U L1Nf. F1 9g H� U L1Nf,. F1 6g H� 0,18S

@<a e L1Nf. F1 10g H�L1Nf. F1 12g H� U L1Nf. F1 10g H� U L1Nf. F1 9g H� U L1Nf,. F1 6g H� 0,22S

@<b e L1Nf. F1 9g H�L1Nf. F1 12g H� U L1Nf. F1 10g H� U L1Nf. F1 9g H� U L1Nf,. F1 6g H� 0,24S

@<c e L1Nf. F1 6g H�L1Nf. F1 12g H� U L1Nf. F1 10g H� U L1Nf. F1 9g H� U L1Nf,. F1 6g H� 0,36S

Equação 7

(a)

(b)

(c)

Figura 5. Resultados alcançados para as formigas 1 (a), 2 (b) e 3 (c).

p1;

18,00%

p2;

22,00%p3;

24,00%

p4;

36,00%

p1;

24,00%

p2;

26,00%

p3;

20,00%

p4;

30,00%

p1;

32,00%

p2;

27,00%

p3;

14,00%

p4;

27,00%

Page 31: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

17

Supondo que o resultado de um gerador de números aleatórios (GNA) desse como saída

0,514 para as formiga 1, 0,224 para a formiga 2 e 0,901 para a formiga 3, tem-se escolhidos para a

transição, os arcos �<a, �b< e �cb, respectivamente. Assim, cada formiga tem sua lista tabu

acrescentada do índice da cidade escolhida. A atualização do feromônio é realizada e um novo ciclo

de transição se inicia. Quando do final dos ciclos de transição, ou seja, quando todas as formigas

completarem suas voltas pelo grafo, a primeira iteração está completa.

À medida que o algoritmo prossegue em sua execução, os depósitos de feromônio vão

sofrendo alterações. Os caminhos percorridos por mais formigas acumulam mais feromônio (pois

um mesmo arco pode ser atualizado por n formigas) e este acaba ficando mais significativo nos

cálculos de probabilidade. É justamente na relevância dos caminhos que se dá a otimização.

O algoritmo pode ter estabelecidos diversos critérios de parada. Tais quais razão de

convergência, limite máximo de iterações ou simplesmente tempo absoluto (processar por n

minutos).

2.4.2 Algoritmos Genéticos

Algoritmos genéticos são algoritmos de procura baseados nos ciclos de seleção natural e

genética. Consiste em uma técnica de usada para encontrar soluções aproximadas em problemas de

otimização (máximo e mínimo) e procura.

Estrutura de dados

O método de algoritmos genéticos está baseado em estruturas existentes na natureza.

Indivíduos e suas capacidades, cromossomos e reproduções são utilizados neste método como base

da execução em direção à solução. Holland (HOLLAND, 1975) criou um método eficaz e com

baixo custo computacional para resolver estes problemas. Cada iteração está baseada em algoritmos

simples (se, logicamente, for utilizado o método original ou com poucas alterações).

O algoritmo genético funciona com a manipulação de valores em certos tipos de estrutura,

estas assim enumeradas (CHAMBERS, 1995):

Um indivíduo é uma solução. Se há 10 soluções diferentes para um problema, então há 10

indivíduos. Um conjunto de indivíduos forma uma população. Computacionalmente uma

população pode ter apenas um indivíduo.

Page 32: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

18

Cromossomo é a informação que constrói uma solução. Os cromossomos de um indivíduo

serão lidos por meio de uma função. O que retornará o seu grau de aptidão em relação ao problema.

Cada cromossomo é composto de um ou mais genes. Um gene, como elemento integrante

do cromossomo, carrega a unidade mínima de informação de um problema. Se o problema trabalha

com numeração binária, cada gene representa um bit. Se o problema trabalha com cores, cada gene

representa um número inteiro ou hexadecimal que represente uma cor. Ainda, em se tratando do

PCV, cada gene pode representar um índice de uma cidade.

A utilização dos valores dos genes na composição total do valor do cromossomo faz com

que o indivíduo portador tenha uma aptidão defronte ao contexto do problema. Esta aptidão é

chamada de fitness. O fitness representa numericamente a qualidade daquela solução e seu valor é

decorrência de cálculo exercido sobre o cromossomo. Este cálculo é denominado função objetivo.

Há problemas os quais é suficiente que cada cromossomo tenha apenas uma grandeza, o que

acarreta um fenótipo simples. Como exemplo, pode-se requerer apenas que o fator “temperatura”

determine a qualidade da solução.

Entretanto, há problemas que têm na sua solução mais de um parâmetro a ser considerado.

Projetando o uso de algoritmos genéticos em um sistema de arrefecimento de motores, pode-se

tomar como exemplo que a solução mais adequada é aquela que contiver menos do fator

“temperatura” e mais do fator “viscosidade”. O fitness desta solução é baseado nos cromossomo

composto pelos valores de “temperatura” e “viscosidade”.

Operadores genéticos

Chegar a uma solução depende de manipular as estruturas de genes, cromossomos e

indivíduos de maneira tal que se permita a evolução dos resultados no decorrer do tempo. Estas

iterações são dadas a cada grupo de operações sobre os indivíduos de uma população, resultando em

uma nova geração (um novo conjunto de indivíduos). Tais operadores são denominados seleção,

cruzamento (crossover) e mutação (GOLDBERG, 1989).

A seleção é o processo no qual os indivíduos de uma população são avaliados de acordo

com o fitness. Indivíduos com o fitness mais apropriado para o problema são submetidos a um

determinado tipo de seleção e, se escolhidos, passam para a etapa de cruzamento.

No método de seleção aleatória, quaisquer pares de indivíduos são escolhidos, não obstante

suas aptidões tampouco se estas são próximas do ponto ótimo atual ou não. Um bom gerador de

números aleatórios (GNA) deve ser empregado neste ponto. Em uma população muito grande pode

Page 33: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

19

haver repetição de indivíduos caso o GNA esteja limitado a sementes muito pequenas. O exemplo

do Quadro 4 traz uma população cujo fitness dos indivíduos é resultado de uma função objetivo de

conversão de valores binários para decimais.

Quadro 4. Seleção aleatória de indivíduos.

Ind. Cromossomo Fitness Probabilidade de escolha (%)

Intervalo (∆∆∆∆)

l� 00001 1 1,204 0 ≤ ∆ < 0,01204 lf 11010 26 1,204 0,01204 ≤ ∆ < 0,02408 … … ... ... ... lmn 11111 31 1,204 0,56588 ≤ ∆ < 0,57792 … … ... ... ... lno 01101 13 1,204 0,98728 ≤ ∆ < 1

A probabilidade de escolha é a mesma para todos os indivíduos. Um GNA é lançado tantas

vezes quanto o número de indivíduos se deseja selecionar desta população. Por exemplo, se cada

indivíduo tem aproximadamente 1,204% de chance de escolha, o número gerado de 0,573 cairia no

48º intervalo (48ª classe da distribuição) e aquele indivíduo α seria selecionado.

O método de seleção por roleta (Quadro 5) é um dos tradicionalmente usados. Consiste em

criar uma roleta tendenciosa (ou desbalanceada), na qual cada indivíduo α da população tem seu

espaço nesta roleta (Figura 6).

Quadro 5. Seleção de indivíduos por roleta.

Núm. Cromossomo Fitness Probabilidade de escolha (%) Intervalo (∆∆∆∆) l� 01101 169 14,4 0 ≤ ∆ < 0,144 lf 11000 576 49,2 0,144 ≤ ∆ < 0636 lo 01000 64 5,5 0,636 ≤ ∆ < 0,691 lm 10011 361 30,9 0,691 ≤ ∆ < 1 Fonte: Adaptado de Goldberg (1989).

Este espaço segue a mesma proporção que o seu valor do fitness tem em relação à soma dos

fitness de todos os indivíduos. A seleção é feita com base em um número aleatório. Como exemplo,

se o número de saída do GNA fosse 0,723, o indivíduo número 4 seria selecionado para

cruzamento.

Page 34: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

20

Figura 6. Proporção dos indivíduos da população na roleta

Fonte: Adaptado de GOLDBERG (1989).

Um terceiro método a ser enumerado é o de seleção elitista. Aqui, o pré-requisito para a

seleção é o de que haja uma classificação prévia baseada no fitness dos indivíduos. Apenas os

indivíduos com o melhor fitness estão aptos à etapa de cruzamento (Quadro 6).

Quadro 6. Seleção de indivíduos elitista.

Núm. Cromossomo Fitness Limiar de seleção Selecionado lf 11000 576 Acima Sim lm 10011 361 Acima Sim l� 01101 169 Abaixo Não lo 01000 64 Abaixo Não Fonte: Adaptado de Goldberg (1989).

Sendo um limiar determinado (a população representada no Quadro 6 é baseada em um

limiar de 50%), a faixa de indivíduos acima do limiar de seleção selecionada em detrimento da

metade inferior. Os indivíduos selecionados (lf e lm) estão agora sujeitos à operação de

cruzamento.

A operação de cruzamento é binária. Os dois operandos, indivíduos de uma população

(pais), têm seus genes combinados para que se produza um ou mais novos indivíduos (filhos). No

exemplo da Figura 7, o cromossomo é composto por 10 genes, que poderiam representar cidades

em um mapa.

Intervalo 1;

14.40%

Intervalo 2;

49.20%

Intervalo 3;

5.50%

Intervalo 4;

30.90%

Page 35: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

21

Ponto de corte

Indivíduo A A B C D E F G H I

Indivíduo B I H F G E D B C A

Cruzamento (Indivíduo 1, Indivíduo 2) = Filho 1, Filho 2

Filho 1 A B C D E F B C A

Filho 2 I H F G E D G H I

Figura 7. Cruzamento entre dois indivíduos com um ponto de corte.

O cruzamento é dado pela combinação das partes do cromossomo A com a parte

complementar do cromossomo B. O ponto de corte pode ser escolhido por meio de uma função

aleatória. Também é possível definir mais de um ponto de corte, como mostra o exemplo da Figura

8. Definidos estes pontos, parte-se para a troca de genes e criação de dois novos indivíduos.

Porém, no caso específico do PCV (no qual cidades não podem ser repetidas), a Figura 7

também revela uma inconsistência no cruzamento dos dois indivíduos. Uma inconsistência foi

criada nos filhos 1 e 2, pois há repetição de genes em seus cromossomos (genes A, B e C repetidos

no Filho 1 e genes G,H e I repetidos no filho 2). No PCV isso é crítico, pois quebra a premissa de

que uma solução passa por um nó apenas uma vez.

O tratamento de inconsistência é dado por meio de operadores de reordenamento. Holland

(1987, apud GOLDBERG 1989) cita os métodos PMX (Partially Matched Crossover), OX (Order

Crossover) e CX (Cycle Crossover).

Considerando os indivíduos da Figura 8, nota-se que os indivíduos l�p e lfp sofrem de

inconsistência em seus genes, após cruzamento com dois pontos de corte.

O método PMX (Figura 8) aborda trocas de posição entre os genes. Ao verificar o indivíduo l�p, nota-se que a primeira inconsistência é o gene “3” na oitava posição. Este mesmo gene “3”

encontra-se na quinta posição do indivíduo lf. Retorna-se a quinta posição do indivíduo l�, cujo

valor é “6”. Substitui-se, então, o valor “3” conflitante com o valor “6” não-conflitante no indivíduo l�p.

Page 36: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

22

l� = 9 8 4 | 5 6 7 | 1 3 2 10 αf = 8 7 1 | 2 3 10 | 9 4 5 6 α�′ = 9 8 4 | 2 3 10 | 1 3 2 10 αf′ = 8 7 1 | 5 6 7 | 9 4 5 6 α�′′ = 9 8 4 | 2 3 10 | 1 6 5 7 αf′′ = 8 10 1 | 5 6 7 | 9 4 5 6

Figura 8. Tratamento de inconsistência com Partially Matched Crossover.

Adaptado de Goldberg (1989)

O mesmo processo é realizado com o próximo conflito “2”, cuja posição é a quarta do

indivíduo lf. O quarto elemento do indivíduo l�, “5” é posto em seu lugar. Seguindo esta regra

para o mesmo indivíduo e realizando novamente o processo para o indivíduo lfp, a inconsistência é

tratada e termina-se o processo com dois indivíduos válidos.

Os métodos OX (Figura 9) e CX (Figura 10) tratam as inconsistências de maneira diferente.

Toma-se como exemplo os mesmos indivíduos l� e lf originais da Figura 8.

lfr = 8 R 1 | 2 3 10 | 9 R 4 R lfr′ = 2 3 10 | R R R | 9 4 8 1 lf ′ = 2 3 10 | 5 6 7 | 9 4 8 1

Figura 9. Tratamento de inconsistência com Order Crossover.

Adaptado de Goldberg (1989)

Sendo as inconsistências primeiramente detectadas no método OX, estas são marcadas,

dando prioridade de integridade à cadeia entrante. Os genes conflitantes são removidos do indivíduo lfr (marcados no exemplo da com um R) e o espaço destinado à cadeia entrante do indivíduo l� (5,

6, 7) é criado ao se deslocar a cadeia original (2, 3, 10) para o início do cromossomo, como se pode

notar no indivíduo lfr′. Os genes restantes (9, 4, 8, 1) são concatenados ao final do espaço

reservado (R, R, R).

Ao final, o espaço reservado é substituído pela cadeia entrante, oriunda do indivíduo l�, o

que resulta no cromossomo do indivíduo lfp.

Page 37: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

23

s� = 9 8 2 1 7 4 5 10 6 3 tu = 1 2 3 4 5 6 7 8 9 10 1� s�p = 9 - - - - - - - - - 2� s�p = 9 - - 1 - - - - - - 3� s�p = 9 - - 1 - 4 - - 6 – 4)s�p = 9 2 3 1 5 4 7 8 6 10 1� tup = 1 - - - - - - - - - 2� tup = 1 - - 4 - - - - - - 3� tup = 1 - - 4 - 6 - - 9 – 4)tup = 1 8 2 4 7 6 5 10 9 3

Figura 10. Tratamento de inconsistência com Cycle Crossover.

Adaptado de Goldberg (1989).

O método CX, assim como o PMX, depende de posicionamento de genes para ser aplicado.

Porém, sua lógica é diferente, tratando dos valores como dependentes um dos outros no seu

posicionamento. O conceito de pontos de corte é descartado nesta técnica, dando lugar á seqüência

de passos apresentada.

Dado um par de indivíduos s�e sf, o primeiro passo é, a partir do primeiro gene do

indivíduo s�, começar as seleções. O indivíduo s�p recebe, então, o gene “9”, originário da posição

1. Na mesma posição 1 do indivíduo sf, consta o gene “1”. Este, localizado na posição 4 do

indivíduo s�, é então inserido na posição 4 do indivíduo s�p. O inverso acontece com o indivíduo sfp. Este recebe o “1” da primeira posição de sf. No

indivíduo s� o gene com valor “1” está na quarta posição. Então sfp recebe em sua quarta posição

de sf. E assim por diante.

O mesmo padrão é seguido a partir daí. Na Figura 10, o gene “6” do indivíduo s� projetaria

o gene “9” do indivíduo sf em uma quarta iteração. Porém, este valor fecha o ciclo (daí o nome do

método). Os demais genes então são trocados entre s�e sf, gerando os indivíduos s�v e sfp ao final.

Page 38: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

24

A mutação é o último passo para o desenvolvimento de uma nova geração de indivíduos.

Este operador unário é responsável por trocar aleatoriamente os aspectos de um ou mais

cromossomos.

A mutação é importante porque a população inicial pode excluir um componente essencial da solução. Se nenhum membro da população inicial tiver um “1” na primeira posição, então a recombinação não poderá reproduzir um descendente que o tenha (LUGER, 2004).

Uma mutação pode ajudar a encontrar um melhor ponto ótimo ou uma nova direção para

encontrar um novo ótimo global (um pico em problemas de máximo ou um vale em problemas de

mínimo). Essa mutação pode não ter resultados instantâneos. Porém, ao longo prazo, o processo

pode ser benéfico em posterior cruzamento (CHAMBERS, 1995).

Dado um indivíduo l qualquer (Figura 11), uma operação de mutação aplicada sobre este

produziria um distúrbio em seus genes. Um novo indivíduo lp mutado tem seus genes e,

conseqüentemente, seu fitness alterado.

l = 9 8 4 | 5 6 7 | 1 3 2 10

Mutação (Troca de genes)

l’ = 9 1 4 | 5 6 7 | 8 3 2 10

Figura 11. Mutação por troca de genes.

Uma mutação pode ocorrer com troca entre 2 ou mais genes. Para qualquer número n de

genes escolhidos aleatoriamente, pode-se fazer uma rotação deles. Por exemplo, se os genes nas

posições 1 (gene A), 2 (gene B), 17 (gene C), 91 (gene D) e 133 (gene E) forem escolhidos, uma

rotação simples para a direita montaria uma nova disposição dentro do cromossomo.

Os genes A, B, C, D e E, estariam dispostos dentro do cromossomo, na ordem E, A, B, C e

D, sendo que o gene anterior assumiria a posição do gene posterior. Mudanças significativas podem

ocorrer no fitness do cromossomo, o que abriria possibilidades de procura por um novo mínimo em

outra região.

Ao final da mutação, esta aplicada em n indivíduos, tem-se uma nova geração de indivíduos,

chamada de w�. Um nível satisfatório de otimização pode ser encontrado com base em um número

de iterações antes do critério de parada. Tais iterações levam a uma geração w, após um número tal

Page 39: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

25

de iterações absoluto (exemplo: parar após 1000 iterações) ou após várias gerações (também há de

se definir este número) sem progressão significativa na convergência.

2.4.3 Simulated Annealing

O método de simulated annealing (SA), assim como o sistema das formigas e algoritmos

genéticos, é utilizado para problemas genéricos de otimização. É um método que, em sua lógica, há

uso de elementos aleatórios, o que o torna um método probabilístico.

O nome é proveniente na área de metalurgia. O termo de SA vem do trabalho de Nicholas

Metropolis (METROPOLIS, 1953 apud KIRKPATRICK et al,1983) e, naquele, o annealing ou

"recozimento" consiste em aquecer um material e resfriá-lo de maneira controlada. O calor inicial

desprende as estruturas moleculares de maneira tal, que, com o posterior resfriamento, haja melhor

possibilidade de um rearranjo que minimize os defeitos da estrutura como um todo.

Na computação aplicada, o SA é utilizado em diversos problemas de otimização. O PCV é

um deles. Kirkpatrick, Gelatt e Vecchi (1983) apresentaram o uso do SA em problemas de

otimização.

Metropolis apresentou o algoritmo SA como sendo uma simulação eficiente de átomos em

equilíbrio em uma dada temperatura. Transportando este conceito para o PCV, os átomos em

equilíbrio seriam o conjunto de arcos melhor para o problema de minimização do caminho em um

instante n da evolução do algoritmo, ou seja, a solução do problema.

Estrutura e execução do algoritmo

A execução do algoritmo de SA é realizada com base em diversas grandezas. As

distribuições e o estado desta execução contêm grandezas tais que, com o passar das iterações,

limitam as probabilidades de mudança e rearranjo de posições – ou caminhos, no caso do PCV.

O SA trabalha com as grandezas energia (E), temperatura (T) e variação da temperatura

(ou delta — ∆∆∆∆). Tais valores são utilizados respectivamente como qualidade da solução (distancia

percorrida), critério de parada e fator de aceitação de solução contrária. A temperatura e sua

variação, por exemplo, induzem à aceitação ao não de energias que levem a hill-climbing em

problemas de mínimo, assim como gradient-descent em problemas de máximo. Ou seja, escapar de

mínimos locais. (RUSSELL & NORVIG, 1995).

Page 40: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

26

A primeira grandeza a ser considerada é energia (E). Assim como o recozimento real, o AS

também contém energia. Com uma distribuição inicial aleatória de caminhos (Figura 12), tem-se

calculado o estado inicial da simulação por meio de uma função objetivo, resultando em um valor

denominado �x.

Figura 12. Arranjo inicial de caminhos em primeira iteração, com energia �x.

Tendo o valor �x na primeira iteração, o próximo passo é tentar um rearranjo (Figura 13)

dos caminhos de maneira tal que se consiga uma redução do caminho mínimo. É possível utilizar

técnicas já adotadas no método de algoritmos genéticos, como mutação da solução.

Se novo arranjo de caminhos é testado defronte ao arranjo anterior, obtendo, então, uma

variação de energia (∆E). Se esta variação (Equação 8) for menor ou igual à zero (∆E ≤ 0), ou seja,

se a energia nova for menor do que a anterior (�x y ���, este novo arranjo é aceito imediatamente,

substituindo o valor anterior.

0

5

10

15

20

25

30

35

40

45

0 5 10 15 20 25 30 35

Co

ord

en

ad

a Y

Coordenada X

Page 41: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

27

Figura 13. Tentativa de solução melhor com novo rearranjo, com energia ��.

∆z z� ' zx

Equação 8

O novo arranjo pode produzir uma solução piorada. Entretanto, isso não significa que esta

será descartada. Este caso é tratado de maneira probabilística. Há uma chance na qual esta solução

com energia �� pior do que a solução anterior com energia �x seja aceita. A função de

probabilidade (Equação 9) é diretamente relacionada com as grandezas de temperatura e o valor da

variação de energia ∆E.

{�∆�� |}∆:/�

Equação 9

Com a aceitação da nova solução com energia ��, inicia-se a nova iteração com mudanças

no parâmetro temperatura. Esta mudança é relacionada com o delta do algoritmo. Se, por exemplo,

o delta (∆) for de 0,99, a nova temperatura será de 99% da anterior, de acordo com a Equação 10.

���� ��∆

Equação 10

0

5

10

15

20

25

30

35

40

45

0 5 10 15 20 25 30 35

Co

ord

en

ad

a Y

Coordenada X

Page 42: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

28

Com isso, simula-se o comportamento do recozimento do material, ao permitir que

rearranjos mais abrangentes possam ocorrer em temperaturas mais altas (quando as moléculas estão

mais livres e passíveis de variação) do que em temperaturas mais baixas (quando a matéria está

mais presa e as estruturas estão estáveis).

A implicância da temperatura e variação de energia abre a possibilidade de que em

temperaturas mais elevadas haja maiores rearranjos da solução. Na diminuição da temperatura,

saltos muito grandes permitem uma procura mais eficaz de outros mínimos locais.

A temperatura também é critério de parada para que se cesse o resfriamento e seja aceita a

melhor solução encontrada naquele momento. Como mostrado na Figura 14 o delta (∆) sempre

conserva uma fração da temperatura (eixo y, intervalo de 0 a 200) no decorrer das iterações (eixo x,

intervalo de 0 a 1200) e o limite deste decréscimo é zero. Logo, utilizar o zero como critério de

parada causaria uma demora muito longa (observando o fato da perda de precisão em algumas

implementações com ponto flutuante, o tempo de espera seria finito).

Figura 14. Em uma execução, o limite tende ao zero em decorrência do valor de ∆.

Outro critério de parada é o de “congelamento” do estado. Este congelamento ocorre

quando, em um número n de sucessivas iterações, não há mais mudança de estado na matéria.A

seqüência de temperaturas e o número de rearranjos tentados para que se alcance esta estabilidade é

chamado de annealing schedule. (KIRKPATRICK et al., 1983)

Como dito, um annealing schedule define após quantas iterações desde o início da execução

deve-se aceitar uma solução. Este número também pode ser contado a partir da homeostase da

0

20

40

60

80

100

120

140

160

0 200 400 600 800 1000 1200

Te

mp

era

tura

(y

)

Iterações (x)

Page 43: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

29

solução no decorrer das iterações ou quando a simulação é resfriada para uma temperatura T

qualquer.

2.5 PROBLEMA DE APLICAÇÃO

A problemática envolvida na fabricação de placas de circuito impresso (PCI) é complexa,

em especial na roteirização da furação, haja vista a grande quantidade de possibilidades a serem

consideradas para determinar o menor esforço possível.

No geral, as perfurações da placa têm diferentes diâmetros. Como as brocas da máquina

perfuratriz têm que ser trocadas para que sejam feitos cada um dos tipos de furos, a realização

destas furações de maneira seqüencial causaria um atraso e um custo de proporções inaceitáveis.

Supondo que uma PCI tenha 100 furos a serem feitos. Nesta placa, haveria 5 diâmetros

diferentes. A cada furo a ser perfurado, haveria a verificação do diâmetro. Se o tipo de furo

constatado for compatível com o tipo de broca, bastaria esta se deslocar para as coordenadas

corretas e fazer o furo em si. Caso o furo a ser feito tenha um diâmetro muito diferente, a máquina

precisa voltar para o repositório de brocas, deixar a broca antiga no lugar, capturar a nova broca e

fazer o furo seguinte.

Um potencial desastre de desperdício de tempo é desenhado. O fator do constante atraso

causado pelas sucessivas operações de troca de brocas é, por si só, passível de otimização. O ideal

seria, primeiro, fazer todos os furos com a primeira broca, todos com a segunda broca e assim por

diante. O número de trocas de broca estaria reduzido ao total de brocas utilizadas, menos um. O fato

agravante (e o objeto que compõe o escopo deste estudo) estaria ao realizar um agendamento de

furações tal qual a perfuratriz percorra caminhos muito longos para realizar os furos com uma

mesma broca.

Reinhelt (1994) diz que o problema a ser resolvido é cessar este agravante ao agendar o

seqüenciamento de furos do mesmo tipo de maneira tal que o tempo total de perfuração seja

minimizado. Ou seja, percorrer todos os furos usando o menor tempo e distâncias possíveis, tal qual

o PCV.

Page 44: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

30

2.6 CENÁRIOS REAIS

Economicamente falando, a necessidade de diminuir os tempos de perfuração é evidente. O

tempo de funcionamento de uma máquina deve ser bem aproveitado para que a razão entre

depreciação e o número de placas perfuradas seja o máximo possível.

Nestes cenários reais, o projeto dos furos da placa é normalmente utilizado como entrada

para o sistema de perfuração. Estes projetos são, em sua maioria, arquivos do tipo GERBER.

Diversos fabricantes utilizam este padrão para alimentar suas máquinas com as instruções. Como

afirmado por Schmidt (2000), arquivos padrão GERBER, DXF ou HPGL são baixados para o

sistema que faz os furos, as trilhas e rotas, usando uma variedade de instrumentos de precisão.

Os arquivos GERBER RS-274X seguem um padrão de instruções que, dentre estas,

destacam-se para o PCV apenas as funções de deslocamento da broca. Estas funções são chamadas

de dados de coordenadas. (DIBARTOLOMEO, 1995). Os dados de coordenadas podem ser

divididos em:

• Dados X/Y. Estes definem posições lineares ao longo dos eixos X e Y; e

• Dados I/J. Estes são utilizados para desenhos de arcos.

Para o problema do caixeiro viajante, os dados X/Y são suficientes, pois representam as

coordenadas dos furos a serem feitos pela máquina perfuratriz. Um exemplo de dados no formato

X/Y pode ser descrito como na Figura 15.

X295Y373 X397Y442 X365Y269

X426Y274 X223Y426 X148Y104

X205Y465 X427Y279 X312Y470

X487Y262 X376Y108 X500Y243

Figura 15. Exemplos de coordenadas de pontos em formato GERBER RS-274X

Com um número maior de pontos representados por este padrão, é possível representar

furações para placas mais complexas. O exemplo da Figura 16 é similar a muitos dispositivos que

Page 45: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

31

precisam de perfuração. Neste, pode-se notar uma padronização dos furos (vários pontos no mesmo

valor de ordenada, por exemplo).

Uma aplicação comercial que usasse os algoritmos apresentados neste trabalho manipularia

entradas em formato GERBER (as coordenadas no padrão apresentado na Figura 15) de maneira tal

que se produzisse saída ordenada.

Figura 16. Pontos de furação para uma placa de circuito impresso qualquer.

Esta saída pode ser utilizada como resultado de uma última etapa, esta uma pré-otimização

de um arquivo GERBER para que se alimente uma máquina de furação de placas circuito impresso

– maquina CNC.

Page 46: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

32

3 PROJETO

Neste capítulo, são apresentados pseudocódigos que serão utilizados como base para a

implementação dos algoritmos estudados em linguagem C++, que, agora, compõem um programa

experimental de demonstração de execução de cada um deles. A principal função é gerar resultados

válidos e passíveis de análise, tanto individualmente quanto comparados uns aos outros.

3.1 PSEUDOCÓDIGOS

3.1.1 SISTEMA DAS FORMIGAS

O pseudocódigo apresentado na Figura 17 representa a atual implementação do algoritmo do

sistema das formigas.

CriarFormigas(k)

{

Para (i=0; i <k; i++)

{

Formiga(k);

Formiga(k)->PrimeiroNó(n%tamanho_do_grafo);

}

}

Rodar()

{

CriarFormigas(y);

int Tour = x;

Enquanto (Tour)

{

Para cada formiga k

{

Enquanto (nó)

{

Int nó = EscolhePróximoNó; //..com base nas regras de transição

Formiga(k)->AcrescentaNó(n%tamanho_do_grafo);

}

}

Para cada formiga k

{

Atualiza mapa de feromônios

}

Tour--;

}

}

Figura 17. Pseudocódigo para o sistema das formigas.

Page 47: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

33

3.1.2 ALGORITMOS GENÉTICOS

O método de algoritmos genéticos está implementado com base no pseudocódigo

pesquisado, como representado na Figura 18.

Inicialização( )

{

Tempo � 0; //contador de tempo Gerações � 0; //contador de gerações

//Determinar grafo com coordenadas de um arquivo externo;

Ler arquivo( );

Criar indivíduos( );

Rodar( );

}

Criar indivíduos( )

{

Para cada indivíduo k

{

Gerar cromossomo aleatório;

}

}

Rodar( )

{

Enquanto (condição atual n≠ condição de parada m)

{

Para cada indivíduo

{

Calcular fitness;

}

Organizar população por melhor fitness;

m = tamanho da população/2;

Apagar indivíduos piores;

n = 0;

Para (n =0; n <m; n++)])

{

Efetuar Crossover(individuo[random(n)], individuo[random(n)]);

}

Para cada indivíduo sorteado

Mutar Indivíduo aleatório;

Atualizar condição atual n;

}

}

Figura 18. Pseudocódigo para algoritmos genéticos.

Page 48: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

34

3.1.3 SIMULATED ANNEALING

Finalmente, o simulated annealing segue o modelo apresentado na Figura 19.

Inicialização( )

{

Tempo � 0; //contador de tempo Iterações � 0; //contador de iterações

Delta � 0,99; //exemplo: 1% de queda de temperatura

Temperatura � 100; //exemplo: 100

//Determinar grafo com coordenadas de um arquivo externo;

Ler arquivo( ); /

Rodar();

}

Rodar( )

{

Arranjo inicial = Arranjo Aleatório( );

Arranjo atual = Arranjo inicial;

Enquanto (condição atual n≠ condição de parada m)

{

Arranjo novo = Mutação (Arranjo atual);

Se (Energia(Arranjo novo) <= Energia(Arranjo atual))

{

Arranjo atual = Arranjo novo;

Atualiza temperatura;

}

Senão

{

Teste = valor aleatório;

Se (teste > resultado do cálculo de probabilidade);

Arranjo atual = Arranjo novo;

}

Atualizar condição atual n;

}

}

Figura 19. Pseudocódigo para simulated annealing.

3.2 TESTES

A realização de uma bateria de testes bem elaborada é necessária para que se possa concluir

este estudo com êxito. O trabalho realizado com base em testes oriundos de um sistema de

aquisição de informações mal-elaborado e, principalmente, sem ter em foco o que se quer testar, se

torna inválido do ponto de vista do trabalho.

Page 49: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

35

O escopo deste processo de investigação técnica limita-se aos resultados numéricos obtidos

pelas execuções das metaheurísticas abordadas neste trabalho. Qualidade do algoritmo, testes caixa-

branca, caixa-preta, usabilidade e demais quesitos abordados em disciplinas de engenharia de

software não fazem parte do escopo desta bateria de testes. Ou seja, não é o software e seus quesitos

de qualidade que estão sendo testados, e sim o comportamento das metaheurísticas.

3.2.1 Estrutura dos testes

Os testes têm como insumos os valores adquiridos dos algoritmos em momentos específicos

de suas execuções. Para cada uma das metaheurísticas, um conjunto de valores é gravado em vários

arquivos de registro para serem utilizados em futura análise.

Por exemplo, o algoritmo empregado para a execução da metaheurística simulated

annealing captura os valores necessários no início e no final de cada iteração. Este pequeno sistema

de aquisição de dados enumera valores de interesse para captura, tais quais como expostos no

Quadro 7.

Quadro 7. Tipos de valores relevantes para captura, referentes ao algoritmo simulated annealing

Núm. Item a ser coletado Tipo 1 Tempo de início de iterações long int 2 Tempo de final de iterações long int 3 Temperatura inicial double 4 Temperatura atual double 5 Arranjo desta iteração double 6 Melhor arranjo desde o início das iterações double

É coerente afirmar que o primeiro tempo de início de iterações é o marco zero da execução,

bem como o último tempo de final de iterações é o milestone de término da mesma. Estes valores

são referentes ao Epoch (IEEE, 2004), cujo ponto inicial é 1o. de Janeiro de 1970. Exemplificando,

uma execução que inicie no momento com um epoch timestamp de 1194723747776 e termine em

1194723788765, acarreta em um tempo total de execução de 40989ms.

A temperatura e iteração no instante o qual a melhor solução foi encontrada são calculadas

com base nos registros gerados pelo algoritmo.

A mesma metodologia de mensuração de tempo é aplicada às outras metaheurísticas. Para

algoritmos genéticos, segue lista de itens passives de registro (Quadro 8).

Page 50: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

36

Quadro 8. Tipos de valores relevantes para captura, referentes a Algoritmos Genéticos

Núm. Item a ser coletado Tipo 1 Tempo de início de iterações long int 2 Tempo de final de iterações long int 3 Geração atual int 4 Melhor fitness da geração double 5 Melhor fitness desde o início das iterações double

Pela natureza das três metaheurísticas adotadas neste trabalho, os campos a serem coletados

são muito parecidos. Para o sistema das formigas, o Quadro 9 explica o que é coletado em cada

execução.

Quadro 9. Tipos de valores relevantes para captura, referentes ao Sistema das Formigas

Núm. Item a ser coletado Tipo 1 Tempo de início de iterações long int 2 Tempo de final de iterações long int 3 Ciclo Atual int 4 Melhor resultado do ciclo double 5 Melhor resultado desde o início das iterações double

Os testes foram projetados para uma execução em lotes. Um problema a ser resolvido com

simulated annealing pode ser testado n vezes para cada configuração de ajustes. Como exemplo, o

primeiro teste observa um número 100 de vezes uma execução do algoritmo com as configurações

de temperatura e delta ajustadas em 100 e 0,99 respectivamente.

Os resultados obtidos deste teste são registrados em arquivo no padrão estabelecido na

Figura 20, onde os números separados por ponto-e-vírgula representam na ordem de seqüência em

que se encontram: tempo de início de iterações, tempo de final de iterações, temperatura inicial,

temperatura atual e valor do arranjo desta iteração.

403334882;403334914;0;13612.755859;13612.755859;99.000000

403334914;403334945;1;13933.748047;13612.755859;98.010002

...

...

403344101;403344117;456;2810.256836;2633.389160;1.012241

403344117;403344132;457;2807.430176;2633.389160;1.002118

Figura 20. Formato de saída dos dados coletados em uma execução de simulated annealing

Page 51: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

37

Para cada série de dados como esta, calcula-se em qual instante de tempo, iteração e

temperatura se obteve a melhor solução. A mesma leitura é feita para os três tipos de resultados das

metaheurísticas, obedecendo os tipos de campos determinados em cada uma delas.

Com o resultado obtido na análise de cada uma das séries (o total de séries é igual ao

número de observações), é realizado o cálculo da média dos valores dos campos. Para o mesmo

exemplo de simulated annealing, são calculados os valores médios de melhor valor de arranjo,

temperaturas, tempo decorrido e iterações.

Com o final da análise de um conjunto de séries, passa-se para a próxima configuração do

algoritmo e o processo é repetido. Ao final de todas as séries, tem-se o melhor rendimento do

algoritmo para as configurações atuais e, a partir daí, pode-se passar para uma nova etapa de testes,

com ajustes finos de configuração. Como exemplo, se a primeiras séries testaram o valor de delta

ajustado em 0,99 e a temperatura em diferentes ajustes entre 15 e 23, passa-se a testar a melhor

temperatura para execução como ponto fixo e varia-se, a partir daí, o valor de delta.

No término destes testes de ajuste fino, elege-se a configuração ideal para que se possa

realizar, finalmente, o comparativo com as outras metaheurísticas.

3.2.2 Domínio de aplicação dos testes

O domínio de aplicação dos testes, como já citado, consiste em determinar o melhor

caminho para realizar a furação em placas de circuito impresso. A placa de circuito impresso

escolhida é apresentada na Figura 21. São 118 pontos, representados por coordenadas. Este

conjunto de coordenadas GERBER para esta placa é descrito na Figura 22 e o mapa de furos está

representado na Figura 23.

Figura 21. Exemplo de placa de circuito impresso perfurada

Fonte: Adaptado de Microwizard Official Website (MICROWIZARD,2007)

Page 52: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

38

X241Y322

X13Y218

X198Y21

X145Y70

X143Y339

X31Y252

X31Y304

X189Y139

X273Y195

X30Y271

X13Y304

X294Y230

X30Y286

X163Y218

X381Y184

X33Y184

X42Y92

X338Y203

X13Y200

X94Y70

X181Y21

X272Y262

X214Y235

X102Y184

X146Y21

X197Y71

X364Y184

X102Y201

X130Y71

X49Y199

X111Y21

X163Y200

X239Y305

X242Y269

X214Y252

X214Y156

X76Y72

X163Y269

X276Y174

X163Y322

X364Y273

X381Y220

X273Y230

X163Y305

X102Y97

X338Y185

X312Y174

X144Y322

X272Y248

X162Y338

X215Y321

X32Y219

X33Y201

X215Y139

X215Y304

X216Y288

X112Y71

X381Y305

X92Y339

X188Y158

X215Y201

X294Y175

X214Y339

X145Y113

X137Y227

X48Y339

X294Y263

X163Y287

X381Y201

X215Y116

X41Y109

X273Y211

X31Y234

X217Y269

X163Y21

X13Y253

X363Y219

X179Y97

X363Y238

X77Y21

X102Y114

X213Y97

X181Y71

X137Y261

X164Y70

X381Y237

X293Y247

X246Y178

X128Y21

X363Y288

X163Y253

X49Y183

X41Y128

X236Y188

X92Y321

X381Y254

X364Y201

X163Y234

X215Y218

X13Y286

X295Y196

X241Y252

X13Y236

X254Y188

X381Y289

X295Y211

X180Y113

X381Y272

X137Y243

X364Y254

X13Y183

X363Y305

X13Y270

X94Y21

X49Y321

X241Y339

X240Y288

X147Y97

Figura 22. Coordenadas GERBER para a placa de circuito impresso da Figura 21

Figura 23. Mapa de furos composto a partir da leitura de um arquivo GERBER

Page 53: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

39

3.2.3 Sistema computacional utilizado

O sistema computacional utilizado para a realização dos testes tem como características de

hardware (Quadro 10) e software (Quadro 11):

Quadro 10. Hardware do ambiente de testes e desenvolvimento

Hardware Item Especificações CPU AMD Athlon XP CPU Family 6 Model 8 Stepping 1 Set MMX, SSE Integer, SSE FP Clock rate 1800 MHz RAM 256

Quadro 11. Software do ambiente de testes e desenvolvimento

Software Item Especificações Sistema Operacional Microsoft Windows XP, 5.1 Service Pack 2 Ambientes de desenvolvimento

Borland C++ Builder, v6.0, Microsoft Visual C++ Express

3.2.4 Execução dos testes do Sistema das Formigas

Os testes realizados com o Sistema das Formigas foi, a princípio, ajustado com a

configuração determinada abaixo.

• Importância de feromônio (α): sendo l � � e � é um conjunto definido como � !1,3,5,7,97; • Importância de custo (β): 5;

• Feromônio inicial (τ): 1;

• Coeficiente de evaporação (ρ): 0.99;

• Quantidade de formigas (K): 30; e

• Número de ciclos (C): 30.

Page 54: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

Com esta primeira configuração, pretende

demais importância ao parâmetr

manteria no resto da execução. O inverso, com

formigas em um greedy algorithm

próximo, mesmo que o grafo total tenha uma disposição pior ao final)

testes iniciais, expostos na Figura

Figura 24. Gráfico α x resultado

Figura 25. Gráfico α x tempo decorrido

3172.00

3174.00

3176.00

3178.00

3180.00

3182.00

3184.00

3186.00

3188.00

1

Re

sult

ad

o o

bti

do

0.00

10.00

20.00

30.00

40.00

50.00

60.00

70.00

1

Te

mp

o d

eco

rrid

o (

s)

40

Com esta primeira configuração, pretendeu-se dimensionar a relação

demais importância ao parâmetro α acarretaria em um desbalanço inicial de feromônios que se

manteria no resto da execução. O inverso, com β superdimensionado, transformaria o sistema das

greedy algorithm (um sistema ambicioso ou guloso – que privilegia o nó mais

mesmo que o grafo total tenha uma disposição pior ao final) Seguem os resultados d

Figura 24, Figura 25 e Tabela 1.

x resultado obtido para sistema das formigas, com β=5C = 30.

tempo decorrido para sistema das formigas, com β=5,

C = 30.

1 3 5 7

α

3 5 7

α

a relação α/β no algoritmo. Dar

acarretaria em um desbalanço inicial de feromônios que se

imensionado, transformaria o sistema das

que privilegia o nó mais

Seguem os resultados dos

=5, τ =1, ρ =0.99, K=30 e

=5, τ =1, ρ =0.99, K=30 e

9

9

Page 55: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

41

Tabela 1. Resultados obtidos para primeira bateria de testes do sistema das formigas.

Teste Configuração Tempos de execução (s) Resultados obtidos

α β ρ K C Mínimo Médio Máximo Mínimo Médio Máximo 1 1 5 .99 30 30 2.062 28.26237 60.750 3067.24 3185.64 3312.72 2 3 5 .99 30 30 2.688 41.56657 80.234 3098.93 3185.90 3293.94 3 5 5 .99 30 30 3.078 47.16290 89.172 3065.26 3186.45 3312.25 4 7 5 .99 30 30 3.547 56.53793 110.266 3075.63 3176.93 3266.30 5 9 5 .99 30 30 4.032 65.50573 144.765 3039.46 3185.73 3299.67

Com o distanciamento de α e β, sendo β>α, nota-se um melhor rendimento do algoritmo. Os

resultados médios são muito parecidos. Porém, com α=1 e β=5, a menor foi de 3067.24, enquanto

as demais passam de 3200. O tempo de execução, de aproximadamente 28 segundos, é bem inferior

aos 41,5 segundos da segunda configuração mais rápida. Logo, assume-se que a configuração

listada no teste “1” da Tabela 1 é a melhor até então.

Na verificação da relação correta entre os valores α e β, o próximo passo compreende o teste

de quantidade de formigas a serem dispostas no grafo. As formigas não são sempre alocadas nos

primeiros nós do grafo, em seqüência. Porém, não há acúmulo de formigas em nós, enquanto

houver nós com menos formigas que o nó com mais formigas. Isso implica que neste grafo com 118

nós, haveria 118 formigas, uma em cada nó; 236 formigas, duas em cada nó; ou 150 formigas,

sendo 32 nós com 2 formigas e os 88 restantes com apenas uma.

O teste, portanto, não testa a densidade de formigas em uma certa região (pois são

espalhadas aleatoriamente) e sim a quantidade delas no grafo. Os ajustes foram testados de acordo

com os parâmetros:

• Importância de feromônio (α): 1;

• Importância de custo (β): 5;

• Feromônio inicial (τ): 1;

• Coeficiente de evaporação (ρ): 0.99;

• Quantidade de formigas (K): k, sendo que ^ � � e � é um conjunto definido como � !30,70,1107; e

• Número de ciclos (C): 30.

Os resultados alcançados para esta configuração estão expressados na Figura 26, Figura 27 e

Tabela 2.

Page 56: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

Figura 26. Gráfico quantidade de formigas

Figura 27. Gráfico quantidade de formiga

Tabela 2. Resultados obtidos para

Teste Configuração

α β ρ K

1 1 5 .99 30 302 1 5 .99 70 303 1 5 .99 110 30

3090.00

3100.00

3110.00

3120.00

3130.00

3140.00

3150.00

3160.00

3170.00

3180.00

3190.00

3200.00

Re

sult

ad

oo

bti

do

0.00

20.00

40.00

60.00

80.00

100.00

120.00

140.00

Te

mp

o d

eco

rrid

o (

s)

42

quantidade de formigas x resultado para sistema das formigas

τ=1, ρ =0.99 e C = 30.

quantidade de formigas x tempo decorrido para sistema das formigas, com

β=5, τ=1, ρ =0.99 e C = 30.

. Resultados obtidos para a segunda execução do sistema das formigas

Tempos de execução (s) Resultados obtidosC Mínimo Médio Máximo Mínimo30 2.06200 28.26237 607.50 3067.2430 5.98400 70.67137 185.141 2981.9630 8.00000 126.2907 299.625 3036.93

30 70

Quantidade de formigas

30 70

Quantidade de formigas

sistema das formigas, com α=1, β=5,

para sistema das formigas, com α=1,

o sistema das formigas

Resultados obtidos Mínimo Médio Máximo 3067.24 3185.64 3312.72 2981.96 3128.76 3239.11 3036.93 3123.13 3207.17

110

110

Page 57: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

A diferença de tempo entre a utilização de 70

(resultado: 3123.13) não compensa o uso do número maior. Há um consumo de tempo muito

elevado entre estas duas configurações. Quando

56% menor no alcance deste resultado. Logo, prossegue

teste.

Este teste do sistema das formigas

de uma execução. O restante da configuração

formigas.

• Importância de feromônio (

• Importância de custo

• Feromônio inicial (

• Coeficiente de evaporação (

• Quantidade de formigas (

• Número de ciclos (

C={30,60,90,120}

Para este último ajuste no sistema das

Figura 28, Figura 29 e Tabela

Figura 28. Gráfico número de ciclos

3090.00

3095.00

3100.00

3105.00

3110.00

3115.00

3120.00

3125.00

3130.00

3135.00

Re

sult

ad

oo

bti

do

43

de tempo entre a utilização de 70 (resultado: 3128.76

não compensa o uso do número maior. Há um consumo de tempo muito

elevado entre estas duas configurações. Quando K=70, o tempo de execução é apro

r no alcance deste resultado. Logo, prossegue-se com esta configuração para o último

teste do sistema das formigas visa determinar o melhor ajuste para o

de uma execução. O restante da configuração é mantido, com os novos ajust

Importância de feromônio (α): 1;

Importância de custo (β): 5;

Feromônio inicial (τ): 1;

Coeficiente de evaporação (ρ): 0.99;

Quantidade de formigas (K): 70; e

Número de ciclos (C): sendo c � C e C é um conjunto definido como

={30,60,90,120}

Para este último ajuste no sistema das formigas, foram obtidos os valores representados na

Tabela 3.

número de ciclos x resultado para sistema das formigas, com

=0.99 e K = 70.

30 60

Número de Ciclos

3128.76) ou 110 formigas

não compensa o uso do número maior. Há um consumo de tempo muito

, o tempo de execução é aproximadamente

esta configuração para o último

o melhor ajuste para o número de ciclos

é mantido, com os novos ajustes para quantidade de

é um conjunto definido como

formigas, foram obtidos os valores representados na

formigas, com α=1, β=5, τ=1, ρ

90

Page 58: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

44

Figura 29. Gráfico quantidade de formigas x tempo decorrido para sistema das formigas, com α=1,

β=5, τ=1, ρ =0.99 e K = 70.

Tabela 3. Resultados obtidos para a terceira execução do sistema das formigas

Teste Configuração Tempos de execução (s) Resultados obtidos

α β ρ K C Mínimo Médio Máximo Mínimo Médio Máximo 1 1 5 .99 70 30 5.98400 70.67171 185.141 2981.96 3128.76 3239.11 2 1 5 .99 70 60 4.53100 128.726 252.937 2962.33 3104.34 3169.71 3 1 5 .99 70 90 12.42200 307.6407 730.578 2981.87 3102.93 3192.42

Com o final destas observações, a configuração escolhida é a listada como teste “1” na

Tabela 3. Seus resultados não são melhores do que os testes “2” e “3” da mesma tabela, mas seu

custo é consideravelmente menor do que dos outros testes, com 55% do tempo gasto com o segundo

teste mais rápido. Assim, os resultados a serem comparados com as outras metaheurísticas estão

descritos na Tabela 4.

Tabela 4. Resultado final para o sistema das formigas.

Metaheurística Tempos de execução (ms) Resultados obtidos

Mínimo Médio Máximo Mínimo Médio Máximo Sistema das Formigas

5984.00 70671.37 185141 2981.96 3128.76 3239.11

0.00

50.00

100.00

150.00

200.00

250.00

300.00

350.00

30 60 90

Te

mp

o d

eco

rrid

o (

s)

Número de Ciclos

Page 59: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

3.2.5 Execução dos testes de Algoritmos Genéticos

Os testes realizados com a metaheurística de Algoritmos Genéticos tiveram como

parâmetros iniciais de configuração os listados a seguir, os primeiros de uma série de

refinamentos em busca de melhor desempenho:

• Chance de mutação (

• Chance de cruzamento (

X={20,40,60,80,100};

• Número de gerações (

• Tamanho da população (

• Seleção elitista, privilegiando os 50% de indivíduo

A possibilidade dos valores serem

houver chance de elementos sofrerem mutação.

melhor resultado ocorreu com um percentual de 60%. A

aproximadamente 15.1 segundos

daquela instância de teste. A

Tabela 5 apresenta os resultados alcançados para esta primeira configuração.

Figura 30. Gráfico percentual de cruzamento x resultado

6000.00

7000.00

8000.00

9000.00

10000.00

11000.00

12000.00

13000.00

14000.00

Re

sult

ad

oo

bti

do

45

Execução dos testes de Algoritmos Genéticos

Os testes realizados com a metaheurística de Algoritmos Genéticos tiveram como

parâmetros iniciais de configuração os listados a seguir, os primeiros de uma série de

a de melhor desempenho:

Chance de mutação (M): 0%;

Chance de cruzamento (x%): sendo x ∈ X e X é um conjunto definido como

={20,40,60,80,100};

Número de gerações (G): 200;

Tamanho da população (P): 100; e

Seleção elitista, privilegiando os 50% de indivíduos com melhor

A possibilidade dos valores serem diminuídos com maior eficiência

houver chance de elementos sofrerem mutação. O gráfico representado na

do ocorreu com um percentual de 60%. A Figura 31 indica um

aproximadamente 15.1 segundos do início ao final da execução para encontrar a melhor solução

apresenta os resultados alcançados para esta primeira configuração.

percentual de cruzamento x resultado para algoritmos genéticos,G=200, P=100 e seleção elitista.

20 40 60 80

Percentual de cruzamento

Os testes realizados com a metaheurística de Algoritmos Genéticos tiveram como

parâmetros iniciais de configuração os listados a seguir, os primeiros de uma série de 4

é um conjunto definido como

s com melhor fitness.

maior eficiência pode aumentar se

O gráfico representado na Figura 30 indica que o

indica um tempo decorrido de

encontrar a melhor solução

apresenta os resultados alcançados para esta primeira configuração.

para algoritmos genéticos, com M=0,

100

Page 60: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

46

Figura 31. Gráfico percentual de cruzamento x tempo decorrido para algoritmos genéticos, com M=0, G=200, P=100 e seleção elitista.

Tabela 5. Resultados obtidos para primeiras execuções de Algoritmos Genéticos

Teste Configuração Tempos de execução (s) Resultados obtidos

C M G P Mínimo Médio Máximo Mínimo Médio Máximo 1 20 0 200 100 0.14000 4.28964 9.43700 3114.53 11335.83 17923.67 2 40 0 200 100 3.71900 9.77689 13.71800 7776.81 8962.18 12699.80 3 60 0 200 100 11.81300 15.09596 21.62500 6621.70 7753.09 9188.77 4 80 0 200 100 0.53200 15.98375 22.09400 3498.75 10013.06 11600.48 5 100 0 200 100 6.54700 12.85693 23.28100 11694.93 12856.93 13941.64

Na verificação dos resultados com mutação, foi utilizado o melhor resultado alcançado no

teste de cruzamento como ponto de partida desta segunda etapa, que agora está configurada com os

seguintes valores:

• Chance de mutação (M): m%, sendo que � ∈ � e � é um conjunto definido como

� !0,4,8,12,167;

• Chance de cruzamento (X): 60%;

• Número de gerações (G): 200;

• Tamanho da população (P): 200; e

• Seleção elitista, privilegiando os 50% de indivíduos com melhor fitness.

Para a mutação, foi adotado um procedimento híbrido, utilizando da técnica de nearest

neighbor (FORMAN, 2005) adotada na metaheurística de simulated annealing. Os resultados são

expressivos em relação ao teste anterior, como pode ser melhor visualizado na Figura 32 e Figura

0.00

2.00

4.00

6.00

8.00

10.00

12.00

14.00

16.00

18.00

20 40 60 80 100

Te

mp

o d

eco

rrid

o (

s)

Percentual de cruzamento

Page 61: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

33. Com taxas de mutação maiores, o comportamento da metaheurística mantém a qualidade dos

resultados, mas piora em tempo de execução. Pois a mutação NN consome tempo e as gerações

demoram mais a acontecer. A

Figura 32. Gráfico percentual de mutação x resultado obtido

Figura 33. Gráfico percentual de mutação x

2760.00

2780.00

2800.00

2820.00

2840.00

2860.00

2880.00

2900.00

Re

sult

ad

oo

bti

do

2.76

2.78

2.80

2.82

2.84

2.86

2.88

2.90

2.92

Re

sult

ad

oo

bti

do

(s)

47

o maiores, o comportamento da metaheurística mantém a qualidade dos

resultados, mas piora em tempo de execução. Pois a mutação NN consome tempo e as gerações

A Tabela 6 apresenta os valores obtidos para este teste.

percentual de mutação x resultado obtido para algoritmos genéticos, com G=200, P=100 e seleção elitista.

percentual de mutação x tempo decorrido para algoritmos genéticos, com G=200, P=100 e seleção elitista.

4 8 12

Percentual de Mutação

4 8 12

Percentual de Mutação

o maiores, o comportamento da metaheurística mantém a qualidade dos

resultados, mas piora em tempo de execução. Pois a mutação NN consome tempo e as gerações

ste teste.

para algoritmos genéticos, com C=60,

para algoritmos genéticos, com C=60,

16

16

Page 62: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

Tabela 6. Resultados obtidos para

Teste Configuração

C M G P

1 60 0 200 100 112 60 4 200 100 3 60 8 200 100 4 60 12 200 100 5 60 16 200 100

Entre o valor final de

obtido pelo teste 5 da mesma ta

chegar neste valor é significativamente maior

Um terceiro teste de algoritmos genéticos visa buscar o melhor ajuste para o tamanho da

população, e está configurado desta maneira:

• Chance de mutação (

• Chance de cruzamento (

• Número de gerações (

• Tamanho da população (

P={20,60,100,140,180,180,220,260};

• Seleção elitista, privile

Os testes realizados para mensurar a

do algoritmo trouxeram os resultados representados na

Figura 34. Gráfico tamanho da

2760.00

2780.00

2800.00

2820.00

2840.00

2860.00

2880.00

2900.00

2920.00

2940.00

2960.00

2980.00

Re

sult

ad

o o

bti

do

48

. Resultados obtidos para o segundo teste de Algoritmos Genéticos

Tempos de execução (s) Resultados obtidosMínimo Médio Máximo Mínimo 11.81300 15.09596 21.62500 6621.70 1.71900 13.46944 24.43800 2701.34 3.96900 19.96596 33.76600 2673.58 3.23500 24.52714 41.70300 2717.56 6.25000 30.62636 50.95300 2657.70

Entre o valor final de 2882.67 obtido pelo teste “1” da Tabela 6 e o valor final de 2812.49

da mesma tabela, a primeira escolha seria o segundo valor. Porém o custo para se

chegar neste valor é significativamente maior e a diferença de resultado não é expressiva.

Um terceiro teste de algoritmos genéticos visa buscar o melhor ajuste para o tamanho da

ão, e está configurado desta maneira:

Chance de mutação (M): 4%;

Chance de cruzamento (X): 60%

Número de gerações (G): 200;

Tamanho da população (P): sendo p ∈ P e P é um conjunto definido como

={20,60,100,140,180,180,220,260}; e

Seleção elitista, privilegiando os 50% de indivíduos com melhor

Os testes realizados para mensurar a influência do tamanho da população

os resultados representados na Figura 34, Figura 35

tamanho da população x resultado obtido para algoritmos genéticos, com M=4, G=200 e seleção elitista.

20 60 100 140 180

Tamanho da População

Algoritmos Genéticos

Resultados obtidos Médio Máximo 7753.09 9188.77 2882.67 3052.77 2843.33 3003.45 2820.14 2964.62 2812.49 2945.29

e o valor final de 2812.49

, a primeira escolha seria o segundo valor. Porém o custo para se

e a diferença de resultado não é expressiva.

Um terceiro teste de algoritmos genéticos visa buscar o melhor ajuste para o tamanho da

é um conjunto definido como

giando os 50% de indivíduos com melhor fitness.

população no comportamento

35 e Tabela 7.

algoritmos genéticos, com C=60,

180 220

Page 63: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

49

Figura 35. Gráfico tamanho da população x tempo decorrido para algoritmos genéticos, com C=60, M=4, G=200 e seleção elitista.

Tabela 7. Resultados obtidos para o terceiro teste de Algoritmos Genéticos

Teste Configuração Tempos de execução (s) Resultados obtidos

C M G P Mínimo Médio Máximo Mínimo Médio Máximo 1 60 4 200 20 0.15700 2.59594 4.46900 2833.24 2954.30 3428.60 2 60 4 200 60 1.71900 13.46944 24.43800 2701.34 2882.67 3052.77 3 60 4 200 100 1.21900 7.84916 15.98400 2772.20 2900.75 3055.48 4 60 4 200 140 2.79700 17.13968 32.17100 2685.99 2856.85 2986.49 5 60 4 200 180 4.81300 26.29204 42.51500 2678.09 2850.62 3009.70 6 60 4 200 220 10.53100 33.99463 50.93800 2684.91 2837.98 2965.80

Nota-se que a oscilação dos tempos de execução para a obtenção do melhor resultado é mais

acentuada nestes testes do que em outros testes realizados anteriormente. O teste 6 da Tabela 7, por

exemplo, obteve em suas últimas gerações os melhores resultados, com valores médios de 2837.98

a 33,99 segundos de execução. O fato do teste 3da mesma tabela alcançar um resultado de 2900.75

a 7,85 segundos não implica que este tenha maiores ou menores taxas de convergência do que o

anterior, pois a 7,85 segundos as observações que compuseram este teste podem ter obtido valores

similares.

Subentende-se também que aos 33,99 segundos uma última mutação ou um cruzamento

pode ter resultado em um indivíduo com maior aptidão. A chance de isso ocorrer aumenta com uma

população maior, pois os indivíduos têm mais chances de serem selecionados e sofrer mutações

0.00

5.00

10.00

15.00

20.00

25.00

30.00

35.00

40.00

20 60 100 140 180 220

Te

mp

o d

eco

rrid

o (

s)

Tamanho da População

Page 64: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

benéficas (não que as prejudiciais não ocorram, pois as chances aumentam para as mutações com

resultados de dois tipos).

O resultado do teste número

com o segundo menor tempo de execução. Com um nú

de se conseguir melhores resultados, em decorrência de se

indivíduo sofrer mutação.

Finalmente, o último teste tem como objetivo testar o quanto o número de gerações influi no

resultado. A configuração adotada é esta

• Chance de mutação (

• Chance de cruzamento (

• Tamanho da população (

• Número de gerações (

G={200,300,40

• Seleção elitista, privilegiando os 50% de indivíduos com melhor

Com o final dos testes realizados para algoritmos genéticos, elegeu

Tabela 8 da última configuração testada (

Figura 36. Gráfico número de gerações

2000.00

2200.00

2400.00

2600.00

2800.00

3000.00

3200.00

3400.00

200

Re

sult

ad

o o

bti

do

50

benéficas (não que as prejudiciais não ocorram, pois as chances aumentam para as mutações com

número 3 da Tabela 7 não é o melhor deste conjunto, mas foi obtido

nor tempo de execução. Com um número maior de iterações, há a possibilidade

se conseguir melhores resultados, em decorrência de se estender o nú

Finalmente, o último teste tem como objetivo testar o quanto o número de gerações influi no

resultado. A configuração adotada é esta:

Chance de mutação (M): 4%;

Chance de cruzamento (X): 60%;

Tamanho da população (P): 100;

ero de gerações (g): sendo g ∈ G e G é um conjunto definido como

00,500,600};

Seleção elitista, privilegiando os 50% de indivíduos com melhor

Com o final dos testes realizados para algoritmos genéticos, elegeu

da última configuração testada (Tabela 9).

número de gerações x resultado obtido para algoritmos genéticos, com M=4, P=100 e seleção elitista.

200 300 400 500

Número de Gerações

benéficas (não que as prejudiciais não ocorram, pois as chances aumentam para as mutações com

o melhor deste conjunto, mas foi obtido

mero maior de iterações, há a possibilidade

o número de chances de um

Finalmente, o último teste tem como objetivo testar o quanto o número de gerações influi no

é um conjunto definido como

Seleção elitista, privilegiando os 50% de indivíduos com melhor fitness.

Com o final dos testes realizados para algoritmos genéticos, elegeu-se o teste número 1 da

para algoritmos genéticos, com C=60,

600

Page 65: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

51

Figura 37. Gráfico número de gerações x tempo decorrido para algoritmos genéticos, com C=60, M=4, P=100 e seleção elitista.

Tabela 8. Resultados obtidos para o quarto teste de algoritmos genéticos

Teste Configuração Tempos de execução (s) Resultados obtidos

C M G P Mínimo Médio Máximo Mínimo Médio Máximo 1 60 4 200 100 1.219 7.849 15.984 2772.20 2900.75 3055.48 2 60 4 300 100 1.984 15.863 32.344 2689.85 2862.76 3032.15 3 60 4 400 100 1.469 19.452 43.250 2662.01 2860.94 3039.13 4 60 4 500 100 5.921 26.377 56.375 2727.69 2854.12 2960.28 5 60 4 600 100 4.891 27.770 67.594 2708.53 2849.06 2965.36

Apesar de ter o maior valor entre todos os outros testes, conseguiu este com quase metade

do tempo do que o teste número 2 da mesma tabela. A diferença de tempos para obtenção de um

resultado justifica esta escolha, pois a diferença destes resultados é muito pequena ao relacionar um

teste com outro.

Tabela 9. Resultado final para algoritmos genéticos, com C=60%, M=4%, G=200 e P=100.

Metaheurística Tempos de execução (s) Resultados obtidos

Mínimo Médio Máximo Mínimo Médio Máximo Algoritmos Genéticos

1.219 7.849 15.984 2772.20 2900.75 3055.48

0.00

5.00

10.00

15.00

20.00

25.00

30.00

200 300 400 500 600

Te

mp

o d

eco

rrid

o (

s)

Número de Gerações

Page 66: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

52

3.2.6 Execução dos testes de Simulated Annealing

Os testes realizados com a metaheurística simulated annealing tiveram como parâmetros

iniciais de configuração os listados a seguir. A execução do algoritmo produziu uma série de

resultados, apresentados na Tabela 10.

• Delta (∆) = 0.99;

• Temperaturas, valoradas de acordo com elementos � sendo que � ∈ � e � é um

conjunto definido como � !100,90,80,70,60,50,40,30,20,10,8,6,4 | 27.

• Observações (O) = 100;

Tabela 10. Resultados obtidos para primeiras execuções de simulated annealing

Teste Configuração Tempos de execução (ms) Resultados obtidos

T ∆∆∆∆ Mínimo Médio Máximo Mínimo Médio Máximo 1 2 0.99 156.00 735.64 1344.00 2599.11 2657.44 2735.94 2 4 0.99 156.00 1241.27 2563.00 2580.55 2624.88 2680.95 3 6 0.99 188.00 1807.45 3422.00 2565.88 2620.00 2678.21 4 8 0.99 875.00 2137.79 4016.00 2572.07 2616.66 2680.66 5 10 0.99 1125.00 2680.15 4328.00 2581.67 2618.99 2673.41 6 20 0.99 2594.00 3953.42 6094.00 2566.69 2719.24 2669.45 7 30 0.99 3469.00 4755.62 6531.00 2569.25 2620.82 2674.43 8 40 0.99 4109.00 5322.38 7063.00 2567.20 2618.37 2667.27 9 50 0.99 4406.00 5781.77 7531.00 2568.69 2620.20 2674.55

10 60 0.99 4766.00 6108.86 7969.00 2577.09 2616.58 2669.97 11 70 0.99 5110.00 6474.85 8219.00 2568.60 2616.81 2659.20 12 80 0.99 5375.00 6833.57 8656.00 2566.06 2616.87 2660.42 13 90 0.99 5828.00 7214.36 8672.00 2568.98 2615.57 2655.55 14 100 0.99 5954.00 7477.03 9547.00 2569.15 2617.73 2672.04

É perceptível que para todas as temperaturas varridas nesta primeira fase de testes, os

resultados obtidos nos finais de cada teste são muito similares. A determinação de um arranjo ótimo

é postergada em decorrência de se utilizar temperaturas mais elevadas como ponto de partida,

aceitando mais facilmente soluções piores no início da execução. Tal fato é constatado no gráfico

representado na Figura 39. Os gráficos representados na mostram que, independentemente da

temperatura de início, o resultado final é similar (Figura 38).

Page 67: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

Figura 38. Gráfico temperatura x resultado

Figura 39. Gráfico temperatura x tempo decorrido

A etapa seguinte de testes se deu com a variação da variável

mantendo T = 4. A temperatura com este valor foi escolhida para dar continuidade aos testes em

decorrência de ter apresentado melhores resultados do que com a temperatura ajustada em T = 2. É

possível que resfriar o arranjo a partir de

para que haja um melhor rearranjo de arcos.

2560.00

2580.00

2600.00

2620.00

2640.00

2660.00

2680.00

2700.00

2720.00

2740.00

2

Re

sult

ad

os

ob

tid

os

0.00

1.00

2.00

3.00

4.00

5.00

6.00

7.00

8.00

2 4

Te

mp

o d

eco

rrid

o (

s)

53

temperatura x resultado para simulated annealing

temperatura x tempo decorrido para simulated annealing

A etapa seguinte de testes se deu com a variação da variável

mantendo T = 4. A temperatura com este valor foi escolhida para dar continuidade aos testes em

decorrência de ter apresentado melhores resultados do que com a temperatura ajustada em T = 2. É

possível que resfriar o arranjo a partir de uma temperatura igual a 2 acarrete em tempo insuficiente

para que haja um melhor rearranjo de arcos.

4 6 8 10 20 30 40 50 60

Temperatura Inicial

6 8 10 20 30 40 50 60 70

Temperatura Inicial

simulated annealing, com ∆=0.99

simulated annealing, com ∆=0.99

A etapa seguinte de testes se deu com a variação da variável ∆ como configuração,

mantendo T = 4. A temperatura com este valor foi escolhida para dar continuidade aos testes em

decorrência de ter apresentado melhores resultados do que com a temperatura ajustada em T = 2. É

2 acarrete em tempo insuficiente

70 80 90

80 90 100

Page 68: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

Logo, os novos testes consistem em utilizar das seguintes configurações

melhorar o valor de delta. O resultado é apresentado na

• Temperatura (T)

• Delta (∆), valoradas de acordo com elementos

definido como

As qualidades das soluções pioram, de acordo com o gráfico expressado na

medida em que se diminui o valor de

Tabela 11. Resultados obtidos para execuções posteriores de

Teste Configuração Tempos de execução (

T ∆∆∆∆ Mínimo1 4 0.01 0.0152 4 0.10 0.0153 4 0.20 0.0154 4 0.30 0.0165 4 0.40 0.0156 4 0.50 0.0167 4 0.60 0.0168 4 0.70 0.0469 4 0.80 0.062

10 4 0.90 0.06211 4 0.99 0.156

Figura 40. Gráfico delta (

2500.00

2600.00

2700.00

2800.00

2900.00

3000.00

3100.00

3200.00

3300.00

3400.00

0.01 0.1

Re

sult

ad

oo

bti

do

54

Logo, os novos testes consistem em utilizar das seguintes configurações

O resultado é apresentado na Tabela 11.

T) = 4;

, valoradas de acordo com elementos , sendo que

D={0.99, 0.90, 0.80, ... , 0.20, 0.10, 0.01};

As qualidades das soluções pioram, de acordo com o gráfico expressado na

medida em que se diminui o valor de ∆.

. Resultados obtidos para execuções posteriores de simulated annealing

Tempos de execução (s) Resultados obtidosMínimo Médio Máximo Mínimo

15 0.026 0.063 2984.45 15 0.027 0.062 2978.94 15 0.022 0.047 2946.48 16 0.043 0.062 2718.36 15 0.044 0.062 2729.59 16 0.044 0.078 2715.16 16 0.060 0.093 2651.78 46 0.095 0.141 2647.07 62 0.118 0.157 2631.70 62 0.193 0.297 2596.33

156 1.241 2.563 2580.55

delta (∆) x resultado obtido para simulated annealing

0.1 0.2 0.3 0.4 0.5 0.6 0.7

Valor de delta

Logo, os novos testes consistem em utilizar das seguintes configurações, estas visando

que d ∈ D e D é um conjunto

As qualidades das soluções pioram, de acordo com o gráfico expressado na Figura 40, à

nnealing

Resultados obtidos Médio Máximo

3271.90 3933.65 3255.18 4007.50 3256.00 3526.92 2922.42 3301.19 2917.31 3243.43 2933.67 3284.86 2854.49 3273.41 2788.71 2943.59 2748.89 2916.86 2710.61 2866.99 2624.88 2680.95

simulated annealing, com T = 4

0.8 0.9 0.99

Page 69: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

55

Ao serem analisados os dados obtidos, é perceptível que com um ∆ muito pequeno (um

resfriamento abrupto) não há tempo hábil para que se chegue a melhores soluções. Quanto ao tempo

decorrido, a Figura 41 traz em seu gráfico o resultado obtido.

Figura 41. Gráfico delta (∆) x tempo decorrido para simulated annealing, com T = 4

Com tal exposição dos resultados de teste para simulated annealing, pode-se afirmar que

para o problema apresentado, a configuração que apresentou melhores resultados foi a mostrada na

Tabela 12.

Tabela 12. Resultado final para simulated annealing, com T=4 e delta=0.99

Metaheurística Tempos de execução (ms) Resultados obtidos

Mínimo Médio Máximo Mínimo Médio Máximo Simulated Annealing

0.156 1.241 2.563 2580.55 2624.88 2680.95

3.2.7 Comparativo entre as metaheurísticas

Feitas as análises individuais de cada uma das metaheurísticas estudadas neste trabalho, há

de se comparar seus melhores desempenhos individuais. Os três tipos de algoritmo se comportam

de maneiras bem distintas quanto ao tempos de execução e qualidade das soluções.

0.00

0.20

0.40

0.60

0.80

1.00

1.20

1.40

0.01 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.99

Te

mp

o d

eco

rrid

o (

s)

Valor de delta

Page 70: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

56

Quanto ao tempo decorrido, simulated annealing, pela sua simplicidade, obteve tempo

médio de 1,241 segundos para chegar a uma solução de uso viável. O tempo decorrido para

algoritmos genéticos é 632,47% maior, enquanto que o alcançado pelo sistema das formigas

representa um aumento de 5694%.

O resultado obtido por simulated annealing também foi o melhor entre as três

metaheurísticas. Em comparação com algoritmos genéticos, foi 9.51% menor. Defronte ao sistema

das formigas, também apresentou uma rota mais eficaz, com uma diminuição de 16,10%. Tais

resultados são apresentados no Quadro 12.

Quadro 12. Comparativo entre sistema das formigas, algoritmos genéticos e simulated annealing.

Metaheurística Tempos de execução (s) Resultados obtidos

Mínimo Médio Máximo Mínimo Médio Máximo Sistema das Formigas

5984.00 70.671 185.141 2981.96 3128.76 3239.11

Algoritmos Genéticos

1219.00 7.849 15.984 2772.20 2900.75 3055.48

Simulated Annealing

156.00 1.241 2.563 2580.55 2624.88 2680.95

Da maneira como um algoritmo genético é concebido, a possibilidade de se jogar uma boa

solução fora é grande, geração após geração. Dois indivíduos muito bons podem ser descartados se

selecionados para cruzamento. Seus filhos não podem ser tão bons quanto o pai. Isso permite que se

busque outros mínimos no domínio da solução.

O mesmo acontece com temperaturas elevadas em simulated annealing, pois arranjos piores

lançados a cada iteração são freqüentemente aceitos como novos pontos de partida para o próximo

rearranjo, acarretando em muitas iterações “perdidas”. Porém, é isso que aumenta o espaço de busca

do algoritmo, visando alcançar mínimos globais.

No sistema das formigas, valores muito distantes entre α e β provocam estagnação do

caminho encontrado. Se α se tornar muito maior do que β, o primeiro caminho que se tornar mais

evidente em depósitos de feromônio dificilmente será mudado. Como os caminhos de feromônio

são todos iguais no início da execução e o valor de atratividade terá pouca importância, todos os

caminhos têm a mesma chance de serem escolhidos. Caso contrário, Se α se tornar muito menor do

que β, as formigas avidamente escolhem o nó mais próximo e tendem a se comportar como

simulated annealing.

Page 71: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

57

Neste caso, não haveria comunicação entre as formigas por meio dos depósitos de

feromônio, deixando de integrarem um conjunto que usa de inteligência em grupo para se tornarem

apenas formigas que tentam, por si só, chegarem a um ponto ótimo. Este problema específico de

118 pontos de uma placa de circuito impresso tem suas particularidades. Uma delas é que vários dos

seus pontos possuem distâncias iguais entre si (Figura 42)

Figura 42. Visualização parcial do circuito impresso com furos eqüidistantes.

(a)

(b)

(c)

Figura 43. (a) Soluções obtidas: (a) sistema das formigas; (b) algoritmos genéticos; e (c) simulated

annealing.

Page 72: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

58

Dependendo do algoritmo selecionado para resolver este problema, a solução encontrada foi

uma única sequência de nós otimizada (como em simulated annealing) ou ser um conjunto de várias

boas subseqüências. (Figura 43).

Ao ser utilizado o sistema das formigas ou algoritmos genéticos, as soluções mais

encontradas representam subseqüências (cadeias) otimizadas, em detrimento de uma otimização

global.

Page 73: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

59

4 CONCLUSÕES

Realizadas as etapas de pesquisa em bibliotecas universitárias, internet, periódicos e demais

fontes de informação, conseguiu-se chegar a um projeto implementado para a realização de testes

afim de encerrar a este trabalho de conclusão de curso.

Na área de pesquisa operacional, muito se aprendeu ao ler conteúdo de referências

bibliográficas básicas, como David Goldberg (1989) e mais atuais, como Lance Chambers (1995) e

Grigori Gutin (2003). Sobre o sistema das formigas, a grande maioria dos conteúdos encontrados

foram artigos, dissertações e teses. A abordagem deste assunto foi realizada com o trabalho básico

de Marco Dorigo (1992).

Por fim, simulated annealing. O assunto é bem explorado e o algoritmo de fácil

compreensão, se comparado aos dois previamente citados. O trabalho de Kirkpatrick (1983) é bem

claro em suas afirmativas, o que o tornou o algoritmo uma evidente escolha.

A realização de diversos testes e a obtenção de resultados esclareceu diversos

comportamentos destes algoritmos ao serem aplicados para o problema das placas de circuito

impresso. Pelas características deste problema é mais rápido recalcular sucessivas vezes o grafo

com a técnica de nearest neighbor (NN). A enumeração dos resultados exposta neste trabalho ao

utilizar de NN, concluiu-se que para um problema deste porte, o algoritmo simulated annealing é,

de fato, o de maior eficiência.

Há de se prolongar a implementação deste sistema. Em algoritmos genéticos, por exemplo,

podem ser pesquisados outros métodos de tratamento de inconsistência, outras visões no que se

refere à seleção elitista, por torneio. Pode-se, também, reunir outros métodos de mutação a serem

utilizados em futuras implementações.

No sistema das formigas, a criação de otimizações nos depósitos de feromônios pode ser

realizada. Um sistema elitista de formigas faria com que as n melhores formigas re-depositassem

feromônios nos arcos os quais passaram.

As possibilidades de estudo se estendem ao considerar as técnicas que agregam partes

diferentes dos algoritmos em uma resolução de um problema em comum. Algoritmos híbridos

podem ser implementados para obter maior eficiência em termos de resultado e velocidade de

processamento. O código está aberto para possibilidades de hibridização, pois quaisquer operações

de uma metaheurística podem ser aplicadas em outra. Um exemplo mais próximo seria uma

população de formigas que cruzariam sofrendo mutações com NN.

Page 74: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

60

Quanto ao código-fonte, implementado na linguagem C++, as otimizações que podem ser

feitas, constituiriam em ajustes em loops e operações matemáticas. O código-executável consiste

em um processo extremamente consumidor de tempo e abre-se a oportunidade de se reimplementar

grande parte dos algoritmos utilizando Assembly.

Por exemplo, a técnica de ordenamento quicksort foi implementada na seleção elitista de

algoritmos genéticos e poderia ser reescrita. Há vários outros modelos de ordenamento que podem

ser implementados para aumentar a rapidez de execução. Técnicas desejáveis a serem integradas,

radix sort, insertion sort e merge sort, têm ganho demonstrado sobre quicksort e,

conseqüentemente, melhorariam os tempos de execução destes testes (GOSLIN, HARISSON &

BORITZ, 2001).

Ainda, da maneira que foi implementado, o código constitui uma API de metaheurísticas

pronta para ser utilizada em futuro desenvolvimento. Em sua versão inicial, que gerou os resultados

apresentados aqui, apenas as metaheurísticas apresentadas foram implementadas. Acrescentar

outros métodos de otimização e de apoio, como mais geradores de números aleatórios, acarretaria

em mais flexibilidade de programação de outros algoritmos.

Com a entrega deste trabalho de conclusão de curso, os esforços estão concentrados em

posteriores estudos, melhorias nas técnicas de implementação e desenvolvimento de um ambiente

didático flexível, de testes e estudos.

E, assim como o assunto despertou interesse do autor, seja sobre as metaheurísticas ou sobre

qualquer instância do problema do caixeiro viajante, deve fazer o mesmo com futuros outros

estudantes de pesquisa operacional.

Page 75: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

REFERÊNCIAS BIBLIOGRÁFICAS

APPLEGATE, D., BIXBY, R., CHVÁTAL, V., COOK, W. The Traveling Salesman Problem: A Computational Study. Princeton University Press. Princeton, Estados Unidos. 2006 BRYANT, K., BENJAMIN, A. Genetic algorithms and the traveling salesman problem. Department of Mathematics, Harvey Mudd College. Claremont, Estados Unidos, 2000

CHAMBERS, L. Practical handbook of genetic algorithms: applications volume 1. CRC Press, Londres, Inglaterra, 1995 CLARKE, G., WRIGHT, J. Scheduling of vehicles from a central depot to a number of delivery points. In: Operations Research, vol. 12, pp. 568-581. Manchester, Inglaterra. 1964. CORMEN, T., LEISERSON, C., RIVEST, R., STEIN.C Introduction to algorithms, second Edition. The MIT Press. Cambridge, Estados Unidos, 2001. CUNHA, C., BONASSER, U., ABRAHÃO, F. “Experimentos computacionais com heurísticas de melhorias para o problema do caixeiro viajante”. In: Panorama Nacional de Pesquisa em Transportes – Anais do XVI ANPET, ANPET, Rio de Janeiro, v.1, p.105-117. Rio de Janeiro, Brasil, 2002 DIBARTOLOMEO, S. What's all this about RS274X anyway? Artwork Conversion Software, Inc., Santa Cruz, Estados Unidos, 1995. Artigo disponível em http://www.artwork.com/gerber/274x/rs274xrevd_e.pdf em 1º de junho de 2007. DORIGO, M. Optimization by a colony of cooperating agents. Université Libre de Bruxelles, Bélgica, 1996. FORMAN, S. Explanation of the Nearest Neighbor Algorithm, Mathematics and Computer Science Department, Saint Joseph's University. Filadélfia, Estados Unidos, 2005. Disponível em http://www.baseball-reference.com/travel/class/nearest.html em 07/08/2007. GATECH The traveling salesman problem website. Georgia Institute of Technology. Georgia, Estados Unidos, 2007. Disponível em http://www.tsp.gatech.edu em 11 de junho de 2007. GLOVER, F. Tabu search fundamental and uses. University of Colorado, Boulder, Colorado, Estados Unidos,1995. GOLDBERG, D.E. Genetic algorithms in search, optimization and machine learning. Reading, Estados Unidos, 1989. GOSLING, J., HARISSON, J., BORITZ, J. Sorting Algorithms. University of British Columbia. Calfórnia, Estados Unidos, 2001. Disponível em http://www.cs.ubc.ca/spider/harrison/Java/sorting-demo.html em 10/10/2007.

Page 76: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Gregorio Cacciari.pdf · The traveling salesman problem (TSP) is projected to a number of real situations that

62

GUTIN, G., PUNNEN, A. The traveling salesman problem and its variations. Kluwer Academic Publishers, Dordrecht, Holanda, 2003. HOLLAND, J. Adaptation in Natural and Artificial Systems. The University of Michigan Press, Michigan, Estados Unidos, 1975. IEEE 1003.1-2004, Standard for information technology - portable operating system interface (POSIX). Base definitions, 2004. Disponível em ieeexplore.ieee.org/servlet/opac?punumber=9156 Em 11/09/2007. KIRKPATRICK, S., GELATT, C., VECCHI, M. Optimization by Simulated Annealing in Science, nº 4598, volume 220, pp. 671-680, 1983 LUGER, F.G. Inteligência artificial: estruturas e estratégias para a resolução de problemas complexos. 2ª Edição, Ed. Bookman. Rio de Janeiro, Brasil., 2004. NUNES, L.F. Algoritmos Genéticos Aplicados na Abordagem de um Problema Real de Roteirização de Veículos. Dissertação de mestrado. Universidade Federal do Paraná. Curitiba, Brasil, 1998. RUSSELL, S., NORVIG, P. Artificial intelligence: a modern approach. Second Edition. Prentice-Hall, New Jersey, Estados Unidos, 2004. REINHELT, G. The traveling salesman: computational solutions for TSP applications. Editora Springer-Verlag. Berlim, Alemanha, 1994. SCHMIDT, S. PCB Prototyping Systems Put to Work: On-site fabrication of high-precision prototype circuit boards speeds time to market. Wireless Design & Development. 2000. Disponível em: http://www.lpkfusa.com/articles/prototyping/wdd_04_2000.pdf em 25 de maio de 2007. SCHRIJVER, A. On the history of combinatorial optimization. Centre for Mathematics and Computer Science, Amsterdã, Holanda, 2000. SENGOKU, H., YOSHIHARA, I. A fast TSP solver using GA on JAVA. Systems Development Laboratory, Hitachi Japan Ltd., Japão, 1999. Disponível em: http://www.gcd.org/sengoku/docs/arob98.pdf em 25 de maio de 2007.