Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Atividade Caixeiro Viajante

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 3

Atividade – Inteligência Artificial

1- Descrição do Problema do Caixeiro Viajante (PCV)

Suponha que um caixeiro viajante tenha que visitar n cidades diferentes, iniciando
e encerrando sua viagem na primeira cidade. Suponha, também, que não importa
a ordem com que as cidades são visitadas, e que cada uma delas pode ir
diretamente a qualquer outra.

O problema do caixeiro viajante consiste em descobrir a rota que torna mínima a


sua viagem total.

Considere cij o custo para ir da cidade i até a cidade j.

2 - Implementação

Deverá ser implementado o problema do caixeiro viajante, de acordo com a


modelagem em algoritmos genéticos vista em aula.

Para tanto, utilize a tabela de custos a seguir, que define os custos cij a serem
adotados na atividade.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 0 10 15 45 5 45 50 44 30 100 67 33 90 17 50
2 15 0 100 30 20 25 80 45 41 5 45 10 90 10 35
3 40 80 0 90 70 33 100 70 30 23 80 60 47 33 25
4 100 8 5 0 5 40 21 20 35 14 55 35 21 5 40
5 17 10 33 45 0 14 50 27 33 60 17 10 20 13 71
6 15 70 90 20 11 0 15 35 30 15 18 35 15 90 23
7 25 19 18 30 100 55 0 70 55 41 55 100 18 14 18
8 40 15 60 45 70 33 25 0 27 60 80 35 30 41 35
9 21 34 17 10 11 40 8 32 0 47 76 40 21 90 21
10 35 100 5 18 43 25 14 30 39 0 17 35 15 13 40
11 38 20 23 30 5 55 50 33 70 14 0 60 30 35 21
12 15 14 45 21 100 10 8 20 35 43 8 0 15 100 23
13 80 10 5 20 35 8 90 5 44 10 80 14 0 25 80
14 33 90 40 18 70 45 25 23 90 44 43 70 5 0 25
15 25 70 45 50 5 45 20 100 25 50 35 10 90 5 0
coluna j: cidade origem
linha i: cidade destino

Poderá ser adicionada (será como um diferencial da atividade) uma outra


modelagem e implementação para o mesmo problema, utilizando uma das
técnicas de otimização, a seguir:
- Hill Climbing,
- Simulated Anneling,
- Busca em Feixe Local,
- Busca On-Line,
- Tabu Search,
- Scatter Search.

Neste caso, o aluno deverá pesquisar detalhes de funcionamento do método, bem


como, avaliar a viabilidade de modelar e implementar o problema do caixeiro
viajante, através de uma destas técnicas.

3 - Objetivos da atividade

I) Apresentar a tabela a seguir para a melhor solução encontrada durante a


simulação:

Algoritmo utilizado Melhor solução Valor de custo (FO) Tempo de simulação


encontrada da melhor solução executado
Algoritmos genéticos
Algoritmo a ser
definido pelo aluno

II) Adicionalmente, durante a execução (simulação) de cada implementação,


deverá ser obtida informações para o levantamento de um gráfico da solução com
a melhor FO (obtida no momento de coleta) x Tempo de simulação.

Após a obtenção deste gráfico deve-se avaliar:

a) Tempo de convergência de simulação, mais especificamente:

- Avaliar o tempo de convergência de cada algoritmo. Por exemplo,


observando e descrevendo o comportamento da convergência (FO) em função
do tempo de simulação para a implementação realizada.

- Análise comparativa entre a implementação com algoritmo genético e outro


algoritmo de otimização implementado. Por exemplo, comparando também o
comportamento da convergência (FO) em função do tempo de simulação, mas
agora de forma comparativa entre os algoritmos implementados.

b) Qual as suas conclusões em relação aos algoritmos implementados em relação


aos requisitos de adequação dos resultados obtidos (FO) e ao tempo de
simulação ?

4 - Sugestões para a implementação

Algoritmos genéticos

a) Poderão ser adotados os seguintes parâmetros para a obtenção dos sets


(conjuntos) de calibração e simulação dos algoritmos genéticos:
- Tamanho populacional: 30
- Taxa de reprodução: 70% e 80%
- Taxa de sobreviventes: 5% e 10%
- Taxa de permutação: 80% e 90%
- Taxa de sobreviventes: 2% e 5%

b) Em sua implementação faça com que informações referentes ao tempo de


simulação e a melhor FO obtidas sejam exportadas, em intervalos de tempo pré-
fixados, para um arquivo, de forma a obter as informações necessárias para
montagem do gráfico solicitado. Por exemplo, imprima inicialmente o valor da
melhor FO e o tempo de simulação a cada minuto, e verifique se esta é uma boa
adoção.

c) Em algoritmos genéticos utilize inicialmente o set com os valores dos


parâmetros em negrito, demais combinações de parâmetros para obter outros
sets podem ser realizados ao final da atividade, quando você tiver mais
familiaridade com o método de otimização.

d) Procure realizar simulações inicialmente simples, por exemplo, reduza o


tamanho populacional (ex.: para 10 cromossomos), a tabela de custos (ex.: utilize
somente 5 cidades) e critério de parada fixo por número de gerações (ex.: 100
gerações), de forma a você obter maior sensibilidade e familiaridade com o
método implementado. Conforme obtiver maior familiaridade com o método adote
e analise se os sets sugeridos são adequados, e verifique se há convergência do
algoritmo ao longo do tempo.

5 - Entrega da atividade

I) Deverá ser entregue uma documentação contendo:

a) Código implementado e comentado.

b) Documentação apresentando um diagrama em blocos, funcional ou outra


metodologia a sua escolha, explicando a sua implementação.

c) Detalhamento de premissas e suposições adotadas durante a sua


implementação, que não foram abordadas durante a sala de aula.

d) As respostas as questões a e b contidas no item 3.

II) A atividade poderá ser realizada no máximo em grupos de duas pessoas.

6 - Data de entrega

A atividade poderá ser entregue até 11/06/07 diretamente ao professor, não


haverá prorrogação.
Esclarecimentos de dúvidas sobre a atividade deverá ser realizada antes desta
data.

Você também pode gostar