• Nenhum resultado encontrado

UMA TÉCNICA ESTATÍSTICA NA SOLUÇÃO DO PROBLEMA DO CAIXEIRO VIAJANTE ATRAVÉS DE UM ALGORITMO EVOLUCIONÁRIO

N/A
N/A
Protected

Academic year: 2021

Share "UMA TÉCNICA ESTATÍSTICA NA SOLUÇÃO DO PROBLEMA DO CAIXEIRO VIAJANTE ATRAVÉS DE UM ALGORITMO EVOLUCIONÁRIO"

Copied!
12
0
0

Texto

(1)

UMA TÉCNICA ESTATÍSTICA NA SOLUÇÃO DO PROBLEMA DO

CAIXEIRO VIAJANTE ATRAVÉS DE UM ALGORITMO EVOLUCIONÁRIO

Iloneide Carlos de Oliveira Ramos

Universidade Federal do Rio Grande do Norte – Departamento de Estatística Natal – Brasil – 59070-900

iloneide@ufrnet.br

Marco César Goldbarg

Universidade Federal do Rio Grande do Norte – DIMAp Natal – Brasil – 59070-900

gold@dimap.ufrn.br

Elizabeth Ferreira Gouvêa Goldbarg

Universidade Federal do Rio Grande do Norte – DIMAp Natal – Brasil – 59070-900

beth@dimap.ufrn.br

Adrião Duarte Dória Neto

Universidade Federal do Rio Grande do Norte – DCA Natal – Brasil – 59070-900

adriao@leca.ufrn.br

João Paulo Fernandes Farias

Universidade Federal do Rio Grande do Norte – DIMAp Natal – Brasil – 59070-900

jpaulo@dimap.ufrn.br

Abstract

In this work the statistical technique called Principal Component Analysis is investigated as a method to generate information for a transgenetic algorithm called ProtoG. The proposed algorithm is applied to the Traveling Salesman Problem. The experiments show that the statistical technique yields a good diversification and is very promising to be utilized together with technique which the main focus is intensification.

Keywords: Traveling Salesman, Principal Component Analysis, Transgenetic Algorithm, ProtoG.

Resumo

Nesse trabalho a técnica estatística conhecida como Análise de Componentes Principais é analisada como fonte de informação para um algoritmo transgenético. O algoritmo chamado ProtoG é aplicado ao Problema do Caixeiro Viajante. Os resultados obtidos pelo algoritmo proposto mostraram que a técnica tem bom potencial para produzir informações que beneficiam uma diversificação da busca e é bastante promissor para o uso em conjunto com procedimentos que tenham como foco principal a intensificação da busca.

Palavras Chave: Problema do Caixeiro Viajante, Análise de Componentes Principais, Algoritmo

(2)

1 Introdução

O Problema do Caixeiro Viajante, PCV, é um dos problemas clássicos da Otimização Combinatória, consistindo em determinar, num grafo ponderado, um ciclo hamiltoniano de custo mínimo. A solução do PCV tem sido objeto de contínua e laboriosa pesquisa por décadas. Uma revisão do problema pode ser encontrada no trabalho e Gutin e Punnen (2002). A literatura reporta uma forte ênfase na apresentação de abordagens heurísticas de solução para o problema, especialmente tendo em vista que a solução exata de instâncias de maior porte ainda demanda esforço computacional proibitivo. Dentre as abordagens aproximativas mais citadas modernamente ressaltam-se as metaheurísticas: Simulated

Annealing (Aarts et al., 1998; Karlsson, 2002), Redes Neurais (Cochrane e Beasley, 2003), Busca

Tabu (Fiechter, 1990; Knox, 1994), Algoritmos genéticos e genéticos híbridos também conhecidos como Algoritmos Meméticos (Freisleben e Merz, 1996; Schmitt e Amini, 1998; Potvin, 1996; Katayama e Sakamoto, 2000; Krasnogor e Smith, 2000; Buriol et al., 2004), Colônia de Formigas (Dorigo e Gambardella, 1997; Bullnheimer et al., 1999), Scatter Search (Campos et al., 2001) e Busca

em Vizinhança Variável (Hansen e Mladenović, 2003).

Os algoritmos transgenéticos são algoritmos evolucionários que baseiam sua metáfora em um processo de simbiogênese (Goldbarg et al., 2004). A simbiogênese é uma teoria evolucionária onde indivíduos de naturezas distintas – de diferentes espécies – se unem para formar um novo indivíduo. A simbiogênese enfatiza mais os efeitos positivos resultantes das inter-relações genéticas entre indivíduos de diferentes espécies do que a seleção via reprodução dos mais aptos. As relações simbiogenéticas são mais facilmente identificadas no contexto dos micro-organismos, mas podem ser a explicação para as maiores inovações da vida, como a célula eucariótica e o metabolismo celular (Margulis, 1998).

Os algoritmos transgenéticos utilizam informações de diversas fontes e seu processo possui uma forte dependência da qualidade de tais informações. É importante, também, que as informações sejam renovadas durante o procedimento, de forma a prevenir uma convergência prematura do algoritmo. O presente trabalho desenvolve um procedimento construtivo baseado em uma técnica estatística denominada de “Análise de Componentes Principais” para produzir informações sobre as instâncias do PCV de norma Euclidiana para um algoritmo Transgenético da classe ProtoG.

A seção 2 apresenta o algoritmo desenvolvido para o PCV. Na seção 3 são apresentados os resultados computacionais de um experimento que examinou a eficiência do método na solução de instâncias do TSPLIB (Reinelt, 1995). A seção 4 apresenta algumas conclusões e considerações finais.

2 Algoritmo Transgenético da Classe ProtoG

O processo simbiogenético dos algoritmos transgenéticos é desenvolvido pela interação de duas populações de indivíduos de espécies distintas: cromossomos e vetores transgenéticos. A interação das populações resulta na formação de indivíduos mais aptos à sobrevivência ambiental. No processo evolutivo informações são obtidas tanto do meio ambiente como do estado evolucionário das populações. A interação das espécies desdobra-se em três níveis. No primeiro reside a população de cromossomos que representa a memória do resultado do processo evolucionário – da busca algorítmica. O segundo nível é constituído pelos vetores transgenéticos responsáveis por promover a intensificação e diversificação da população de cromossomos. O terceiro nível é formado pelas regras que administram o processo de interação entre as populações de vetores e de cromossomos – um cenário evolucionário específico. O paradigma simbiogênise sugere que informações genéticas ou não genéticas obtidas a priori do início do processo evolucionário possam ser empregadas para guiar a evolução, uma vez que o passado evolucionário dos indivíduos é essencial para habilitar saltos evolucionários – é na união das informações contidas nos indivíduos que reside o poder para a aceleração evolucionária. Por outro lado, por se tratar de um processo evolucionário, informações obtidas ao longo do processo também podem ser utilizadas.

Como o processo transgenético pertence à dimensão das relações entre espécies, a troca de informações entre os indivíduos de uma mesma espécie é um elemento acessório que pode, inclusive, simplesmente não existir. Assim, a evolução da população de cromossomos pode se efetuar sem que

(3)

exista troca direta de informações entre seus indivíduos – cruzamentos, ou a ocorrência de mutações – efeito típico de transformação autônoma de uma população. Esse é o caso dos algoritmos ProtoG.

O nível associado às regras de administração do modelo transgenético corresponde ao projeto e coordenação de um processo de inter-relações entre populações de indivíduos de diferente natureza, todavia um ponto é fundamental: As espécies obtêm e compartilham informações que aumentem suas chances de sobrevivência, ainda que isso realmente implique em sua transformação radical – na criação de uma nova espécie.

Para que a simbiogênese possa funcionar é necessário que as espécies sejam capazes de interagir em nível genético (ainda que sejam espécies diferentes), e que cada espécie possua informações úteis e de natureza complementar. Na abordagem computacional a viabilidade da interação genética é trivialmente garantida pela possibilidade da alteração da configuração dos cromossomos e dos vetores transgenéticos. Por outro lado, a compatibilidade dessas interações, e que tenham um sentido na busca algorítmica, também é assegurado na ocasião do projeto dos vetores e cromossomos.

2.1 Vetores Transgenéticos

Seja P uma população de cromossomos, P={S1, S2,..,St}, e f uma função de adequação tal que

t i S

f : i →ℜ+, =1,..., . Um vetor transgenético λ = (I, Φ) é um dupla, onde I é um vetor de

informação Φ é o método de manipulação do vetor, Φ = (ϕ1,.., ϕs). Os elementos ϕj, j = 1,...,r, são

procedimentos que definem a ação de λ. Um vetor transgenético é denominado Partícula Genética Móvel quando apresenta somente os dois procedimentos descritos na tabela 1.

Tabela 1: Procedimentos do Método da PGM

Procedimento Denominação Descrição

Procedimento 1 (ϕ1)

Ataque (A)

Calcular Δ segundo a seguinte fórmula: Δ = − ( ) ) ( ´ i i f S S f

Se Δ > 0 então A(Si) = “verdade”, Procedimento 2

(ϕ2)

Operador de Transcrição

(Γ)

A(Si) = “verdade”, então introduzir a cadeia de informação I conforme operador definido pela regra tipo 2.

A função A definida em ϕ1 pode ser determinística ou probabilística. O vetor λ transcreve sua

informação I usando o operador de transcrição definido em ϕ2 se A(Si) = “verdadeiro”. Caso contrário

diz-se que Si é resistente ao ataque de λ. A informação I e o procedimento ϕ2 são regulados pelas

regras de administração do processo transgenético.

2.2 Regras de Administração do Processo de Evolução por Simbiose

Existem três tipos de regras que administram o processo de interação entre vetores transgenéticos e cromossomos, denominadas do tipo 1, 2 e 3, respectivamente. As regras do tipo 1 dirigem a construção da cadeia de informação I que será carregada nos vetores de manipulação. As regras tipo 1 podem utilizar conhecimentos teóricos ou heurísticos sobre o problema. As regras do tipo 2 definem como a informação I será transcrita no cromossomo – o operador que será utilizado por λ. As regras de transcrição podem evoluir em conformidade com a resistência à manipulação demonstrada pelos cromossomos. Em um algoritmo poderão existir várias regras do tipo 1 e 2. Então será necessária a existência de critérios que orientem o ataque e a manipulação de um determinado cromossomo, assim são definidas as regras do tipo 3. Então essas últimas regras definirão estratégias para carregar as cadeias I nos vetores de manipulação, quantos cromossomos serão atacados em uma iteração, quantos vetores de manipulação serão criados, etc.

(4)

2.3 Algoritmo ProtoG

O algoritmo transgenético implementado neste trabalho está descrito no quadro 1. Como em outros algoritmos evolucionários a população inicial de cromossomos é usualmente gerada de modo aleatório. O procedimento carrega_regras_transgeneticas( ) determina quais vetores transgenéticos são formados (conforme regras do tipo 1 e 2), quantos vetores são empregados em uma iteração (v) e o tamanho (w) da sub-população que será selecionada para sofrer o ataque dos r vetores de manipulação. O procedimento vetor_transgenetico( ) gera r vetores de manipulação de acordo com as regras de formação previamente definidas. O procedimento seleciona_populacao( ) escolhe os w cromossomos que serão atacados pelos v vetores. Os dois laços do algoritmo determinam que cada um dos v vetores ataque todos os w cromossomos. O procedimento Ataque( ) implementa ϕ1. Se Ataque( ) retorna

“verdadeiro” o vetor λk executa sua manipulação sobre o cromossomo Si através do procedimento

manipula( ). O procedimento critério_realimentacao( ) avalia se o cromossomo Si poderá ser utilizado

como fonte para a construção de novas cadeias I que poderão ser carregadas em novas gerações de vetores de manipulação. Se o procedimento retornar “verdadeiro” então Si será considerado pelas

regras de administração tipo 3 como fonte de informação para o processo evolucionário. Para um melhor esclarecimento o pseudo-código de critério_realimentacao( ) é mostrado separadamente no quadro 2. Finalmente observe-se que o melhor indivíduo produzido pelo desenvolvimento do algoritmo em um certo estágio é identificado por melhor_solução_corrente. O procedimento

inclui_fonte_informação( ) guarda o melhor cromossomo para ser utilizado como fonte de

informações transgenéticas. O algoritmo se desenvolve até que o critério de parada seja satisfeito, e no presente experimento o critério escolhido foi tempo de processamento.

initialize population (S1, ..., SN); carrega_regras_transgeneticas (Tipo_1,Tipo_2, v, w); repeat set_λ := vetor_transgenetico (v); set_S := seleciona_populacao (S1, ..., SN, w); for i := 1 to w do for k := 1 to v do if Ataque (Sik) then Si := manipula (Si, λk); if critério_realimentacao (Si) then inclui_fonte_informação (Si); end_if; end_for_k; end_for _i;

until critério_de_parada é satisfeito;

Quadro 1: Pseudo-código de ProtoG

if f(Si) < f(melhor_sol_corrente) Then

return(“verdade”);

Return(“falso”);

Quadro 2: Critério de Realimentação

Um ponto crítico do processo transgenético reside na capacidade de constituir regras do tipo 1 que sejam capazes de disponibilizar informações que se mostrem úteis ao longo de todo o processo evolutivo. Nesse trabalho propõe-se a utilização da ferramenta estatística chamada de Análise de Componentes Principais como uma fonte de inovação genética do processo evolucionário transgenético.

(5)

As regras do tipo 1 comporão cadeias – trechos de caminhos hamiltonianos – que serão infiltradas pelas partículas genéticas móveis do algoritmo ProtoG. Tais cadeias são obtidas em duas fontes:

1. O código dos três melhores indivíduos obtidos no processo evolucionário.

2. Um procedimento composto de duas etapas: a. Formação de agrupamentos de vértices; b. Ordenação dos vértices agrupados.

A formação do agrupamento de vértices é realizada através do método descrito no quadro 3. O procedimento lê quatro parâmetros: o grafo G, o número de vértices, p, que vão compor a cadeia, uma constante c, e um vértice v que será o vértice inicial do agrupamento. Se v é nulo, então o vértice é determinado de forma aleatória dentre os vértices de G através do procedimento seleção_aleatória ( ). A lista L é inicializada com o vértice na variável vértice, esse vértice é removido do conjunto V. Um novo vértice é escolhido para compor o agrupamento. Esse vértice é selecionado dentre os c vértices mais próximos do último vértice adicionado à lista L através do procedimento

seleção_aleatoria_mais_proximos( ). O procedimento é repetido até que p vértices tenham sido

selecionados. Ler(G,p,c,v) V := N se (v = null) então vertice := seleção_aleatória (V) senão vertice := v i := 0 L := {} repita L := L ∪ {vertice}; V := V\{vertice};

Vertice := seleção_aleatoria_mais_proximos (vertice, c); i := i + 1;

até que ((i = p) ou (i = |N|)); retorne(L);

Quadro 3: Procedimento Controi_Agrupamentos

Um procedimento de seleção de vértices como o descrito anteriormente pode se estender a todos os vértices do grafo. Nesse último caso, e quando associado a um processo de busca local para a melhoria do comprimento – custo – da solução construída, caracteriza a proposta da técnica GRASP (Feo e Resende, 1989). Contudo, quando a cadeia de arestas se constitui em uma solução parcial, a utilidade da minimização de seu comprimento pode ser questionada face à imposição da ligação da cadeia aos demais vértices da solução. A figura 1 sugere uma situação em que uma cadeia de maior comprimento (3-1-2-4) é uma melhor solução que a cadeia (1-3-4-2) face às possibilidades de conexão com os demais vértices de G representados dentro da elipse.

1 2

3 4

1 2

3 4

(6)

No caso do problema proposto a percepção do desenvolvimento geométrico da solução do problema pode ser parcialmente analisada com o auxílio de estatística multivariada. A Análise de Componentes Principais (ACP) dispõe de técnicas da análise estatística multivariada sendo uma das mais antigas e conhecidas nesse ramo da estatística (Jolliffe, 1986). Pearson (1901) a utilizou pela primeira vez para dispor a análise de regressão linear em uma nova forma, num contexto biológico. Depois disso, Hotelling (1933) desenvolveu grande parte das idéias da ACP em um trabalho sobre psicometria. Na teoria da comunicação, a ACP é conhecida, também, como Transformação de Karhunen-Loève devido aos trabalhos de Karhunen (1947) e Loève (1963) a respeito de teoria das probabilidades (Haykyn, 2001). Atualmente pesquisas envolvendo aplicações da ACP são desenvolvidas, por exemplo, em redes neurais para o processamento de imagens. Por isso, além do interesse específico da metodologia estatística, diversos autores de outras áreas dedicam atenção ao tema (Lay, 1999; Haykyn, 2001).

A ACP envolve uma transformação linear de um conjunto de r variáveis, possivelmente correlacionadas, em um conjunto de r variáveis não correlacionadas, denominadas componentes principais, de tal forma que: A primeira componente principal possui a maior variabilidade; a segunda possui a segunda maior variabilidade; e assim sucessivamente. Dessa forma, uma das principais aplicações da ACP é reduzir o conjunto de variáveis (originais) a um conjunto menor de variáveis (não correlacionadas), considerando apenas as primeiras componentes principais, sem perda de informação significativa (Chatfield e Collins, 1980). A transformação citada é, de fato, uma rotação ortogonal no espaço r-dimensional. Assim, pode-se dizer que a primeira componente principal “indica a direção” em que ocorre a maior variabilidade do conjunto de indivíduos analisado. O processo de obtenção das componentes principais é baseado em álgebra linear e pode ser resumido em cinco etapas no procedimento Ordena_via_ACP:

i) dispor os dados originais (pontos representando as cidades) em uma matriz X; ii) calcular a matriz de variância-covariância amostral S dos dados;

iii) encontrar os autovalores λ e os autovetores unitários associados à matriz S;

iv) dispor os autovetores em uma matriz Q de forma que, na primeira coluna, esteja o autovetor

associado ao maior autovalor; na segunda coluna, esteja o autovetor associado ao segundo maior autovalor, e assim sucessivamente;

v) multiplicar a matriz dos dados originais X pela matriz organizada com os autovetores Q obtendo

(A) (*)

(*) A matriz (A) será a matriz de projeções dos valores em X sobre o eixo das componentes principais, na qual a primeira coluna contém a primeira componente principal, a segunda coluna contém a segunda componente principal, e assim por diante (Haykyn, 2001).

Quadro 4:Procedimento Ordena_via_ACP

Exemplo. Seja X uma matriz 8x2 representando os 8 nós do subgrafo no ℜ2, relativos aos pontos do

cluster 1 do gráfico a da figura 2, para a instância eil76. Esses nós representam as cidades 1, 16, 28, 33, 62, 63, 73, e 74, respectivamente às linhas da matriz X, dada por:

X = [22 22 -> cidade 1 21 36 -> cidade 16 35 16 -> cidade 28 26 29 -> cidade 33 30 20 -> cidade 62 20 30 -> cidade 63 27 24 -> cidade 73 40 20] -> cidade 74

A matriz de variância-covariância amostral (Johnson e Wichern, 1982), considerando cada uma das colunas de X como uma variável, é dada por:

(7)

S = [ 49,9821 -34,3036 -34,3036 43,1250 ]

Os autovalores e autovetores associados à matriz S são, respectivamente, dados por: Q = [ -0,7414 -0,6710

0,6710 -0,7414 ] – eixos representados na figura 2b. λ = [ 81,0281 12,0791 ]

As projeções de X sobre os eixos das componentes principais (Haykin, 2001) são dadas por A=X*Q:

A = [ -1,5490 -31,0741 -> a cidade 1 deve ser a 5ª 8,5867 -40,7832 -> a cidade 16 deve ser a 8ª -15,2138 -35,3488 -> a cidade 28 deve ser a 2ª 0,1824 -38,9483 -> a cidade 33 deve ser a 6ª -8,8226 -34,9594 -> a cidade 62 deve ser a 3ª 5,3020 -35,6635 -> a cidade 63 deve ser a 7ª -3,9142 -35,9121 -> a cidade 73 deve ser a 4ª -16,2369 -41,6697] -> a cidade 74 deve ser a 1ª

O critério de ordenação proposto no atual trabalho posiciona as cidades na composição das cadeias de informação segundo sua ordem crescente nas projeções obtidas no eixo da primeira componente principal (ordenação da primeira coluna da matriz A), observando a correspondência entre as matrizes X e A (de tamanhos iguais) para a identificação das cidades. No exemplo, fazendo a correspondência entre as matrizes X e A (ordenada pela primeira coluna), a ordenação das cidades deve ser: 74, 28, 62, 73, 1, 33, 63 e 16.

A utilização de apenas dois autovalores, no cálculo acima, é devido ao estudo do PCV euclidiano em duas dimensões. Esse procedimento, no entanto, pode ser generalizado para um numero maior de dimensões (Johnson e Wichern, 1992).

Detalhes da Implementação do Algorimto ProtoG-ACP

Regras do tipo 1

R11 : O comprimento p das cadeias de informação I será selecionado aleatoriamente e com probabilidade uniforme dentro do intervalo [3, 0.1n], onde n é a ordem de G.

R12 : O conteúdo da cadeia I é obtido dentre uma das seguintes fontes sorteadas aleatoriamente e com probabilidade uniforme:

1. Um conjunto formado pelos clones – cópias – dos três melhores cromossomos da população.

(8)

40 70 80 10 20 30 40 50 60 70 0 0 10 20 30 50 60 80

a. Grupamento escolhido na Instância EIL76 b. Eixos de duas componentes principais

40 70 80 10 20 30 40 50 60 70 0 0 10 20 30 50 60 80 16 63 33 1 73 62 28 74 40 70 80 10 20 30 40 50 60 70 0 0 10 20 30 50 60 80 16 63 33 1 73 62 28 74

c. Projeção sobre a primeira componente b. Resultado da Ordenação

Figura 2: Instância EIL76

R13 : No caso da fonte ser a de número um, sorteia-se aleatoriamente um cromossomo e uma cidade nesse cromossomo, formando-se a cadeia de comprimento p simplesmente copiando o cromossomo a partir da cidade sorteada, sempre considerando que a solução forma um ciclo.

R14 : No caso da fonte ser a de número dois, sorteia-se aleatoriamente em G um vértice v. A partir de v os vértices da cadeia serão escolhidos conforme procedimento Controi_Agrupamento e ordenados conforme procedimento Ordena_via_ACP.

(9)

R21 : As cadeias de informação I serão infiltradas através de um procedimento de inserção simples (shift operator – Goldberg, 1989) que testará todas as possíveis posições de inserção, conforme exibida na figura 3 para o caso de uma PGM de comprimento 2. Concretizam-se somente manipulações que redundem em melhoria do cromossomo. Caso exista mais de uma manipulação que melhore o cromossomo, será realizada a de maior ganho.

Regras do tipo 3

R31 : A cada iteração será formada uma única (k=1) PGM (vetor λ).

R32 : A PGM (v =1) atacará todos os w cromossomos ( |w|=t ).

7 4 6 5 4 3 2 1 2 3 4 5 6 4 7 1

Ataque Transcrição e Eliminação de Redundâncias Cromossomo Manipulado

7 4 7 4 7 6 5 4 3 2 1 2 3 4 5 6 7 1 11 22 33 44 77 55 66 77 11 22 33 44 77 55 66 7 4 7 4 7 6 5 4 3 2 1 2 3 4 5 6 7 1 11 22 33 55 66 44 77

Figura 3: Operador de inserção

3 Testes Computacionais

O algoritmo foi implementado em linguagem C++, plataforma LINUX, em um Pentium IV (Athlon) com processador de 3.0GHz e memória Ram de 512Mb e testado em dezoito instâncias do TSPLIB (Reinelt, 1995). O algoritmo foi rodado cinco vezes para cada instância do experimento. O tamanho da população utilizado foi o máximo entre n/20 e 50, onde n é o número de cidades da instância. O critério de parada adotado foi o tempo de processamento, sendo esse igual a n. A tabela 2 apresenta os resultados do experimento computacional, onde estão listados a instância, o valor da solução ótima, o menor tempo de processamento nas cinco rodadas do algoritmo, a diferença percentual entre a menor solução encontrada e a solução ótima dada por ((SolA – SolO)/SolO)100, onde SolA e SolO fazem

referência à melhor solução encontrada pelo algoritmo e à solução ótima, respectivamente, o tempo médio de processamento e a diferença percentual da média da melhor solução encontrada nas cinco execuções do algoritmo. A diferença percentual da média das soluções é calculada do mesmo modo que a diferença percentual do mínimo, exceto pelo fato de que ao invés de SolA é utilizada a média das

soluções. As instâncias do experimento são simétricas euclideanas com número de cidades variando entre 52 e 1655, pertencendo a classes distintas.

Durante os experimentos verificou-se que a Análise de Componentes Principais é uma ferramenta eficaz para gerar novas informações durante todo o procedimento e, para tamanhos pequenos de cadeia (até 10% de n) promove uma boa diversificação. Por outro lado, uma vez que o seu potencial se relaciona à diversificação, o método mesmo aliado à inclusão de informações dos três melhores cromossomos, não foi capaz de encontrar boas soluções para as instâncias do experimento, conforme pode ser verificado na tabela 2. Uma vez que o método apresentou bom potencial para diversificação, ele mostra-se, portanto, atrativo para utilização conjunta com outros procedimentos que promovam uma maior intensificação da busca.

(10)

Tabela 2: Resultados do ProtoG_PCA

Instância Ótimo Tempo Min

(s) GAP Min Tempo Med (s) GAP Med berlin52 7542 0,1 0,00 36,222 1,69 d493 35002 492,36 1,73 492,408 2,25 d657 48912 656,73 1,95 683,644 2,51 d1291 50801 1294,04 2,79 3145,574 3,28 d1655 62128 9540,73 2,60 12044,126 3,46 fl417 11861 416,03 0,20 416,68 0,54 fl1400 20127 2726,77 0,49 3377,656 1,14 lin318 42029 317,47 0,86 317,564 1,30 p654 34643 653,1 0,93 729,49 1,21 pcb442 50778 552,67 1,24 629,806 1,71 pcb1173 56892 1399,64 2,83 2212,974 3,83 pr439 107217 438,01 0,77 438,64 1,33 pr1002 259045 1010,64 2,21 1180,404 2,61 rat575 6773 574,63 2,11 668,214 2,47 rd400 15281 399,09 2,09 399,218 2,27 u159 42080 14,48 0,00 124,986 0,62 u574 36905 573,34 1,32 573,786 2,06 u724 41910 723,59 2,23 776,936 2,36 4 Conclusões

Esse trabalho investigou o uso da metodologia de Análise de Componentes Principais como ferramenta para gerar informações para um algoritmo transgenético. Foi verificado que o método é capaz de promover uma boa diversificação do processo evolucionário. Aliado a uma técnica de geração de informações que visam promover a intensificação bastante simples, o algoritmo não foi capaz de produzir bons resultados quando comparado às melhores soluções obtidas por outros métodos reportados na literatura.

Como trabalhos futuros, o método deve ser aliado a técnicas mais poderosas quanto a intensificação da busca em determinadas regiões para o desenvolvimento de algoritmos transgenéticos. A técnica proposta mostra-se, também, bastante promissora para utilização em outras técnicas tais como Algoritmos Genéticos, Meméticos e Culturais.

5 Referências Bibliográficas

AARTS, E. H. L.; KORST, J. H. M.; LAARHOVEN, P. J. M. A quantitative analysis of the simulated annealing algorithm: a case study for the traveling salesman problem. Journal of Statistical Physics, v. 50, p. 189-206, 1988.

BULLNHEIMER, B.; HARTL, R. F.; STRAUSS, C. A new rank based version of the ant system: a computational study. Central European Journal for Operations Research and Economics, v. 7, n. 1, p. 25-38, 1999.

BURIOL, L. S., FRANÇA, P. M., MOSCATO, P. A new memetic algorithm for the asymmetric traveling salesman problem. Journal of Heuristics, v. 10, n. 5, p. 483-506, 2004.

CAMPOS, V.; LAGUNA, M.; MARTÍ, R. Context-independent scatter and tabu search for

(11)

CHATFIELD, C.; COLLINS, A. J. Introduction to multivariate analysis. London: Chapman and Hall, 1980.

COCHRANE, E. M.; BEASLEY, J. E. The co-adaptive neural network approach to the euclidean travelling salesman problem. Neural Networks, v. 16, p. 1499-1525, 2003.

DORIGO, M.; GAMBARDELLA, L. M. Ant colony system: a cooperative learning approach to the Traveling Salesman Problem. IEEE Transactions on Evolutionary Computation, v. 1, n. 1, p. 53-66, 1997.

FEO, T. A.; RESENDE, M. G. C. A probabilistic heuristic for a computationally difficult set covering problem, Operations Research Letters, v. 8, p. 67-71, 1989.

FIECHTER, C. N. A parallel tabu search algorithm for large scale traveling salesman problems. Working Paper 90/1, Department of Mathematics, Ecole Polytechnique Federale de Lausanne, Switzerland, 1990.

FREISLEBEN, B.; MERZ, P. New genetic local search operators for the Traveling Salesman Problem, in Proc. of the 4th Conference on Parallel Problem Solving from Nature - PPSN IV. Springer-Verlag Lecture Notes in Comput. Sci. 1141: 890-899, 1996.

GOLDBARG, E. F. G..; GOLDBARG, M. C.; COSTA, W. E. A transgenetic algorithm for the Permutation Flow-shop Sequencing Problem, WSEAS Transactions on Systems, v. 3. n. 1, p. 40-45, 2004.

GOLDBERG, D. E. Genetic algorithms in search, optimization, and machine learning. New York: Addison Wesley, 1989.

GUTIN, G.; PUNNEN, A. P. (Ed.) Traveling salesman problem and its variations. Kluwer Academic Publishers, 2002.

HANSEN P.; MLADENOVIĆ, N. Variable neighborhood search in state-of-the-art. GLOVER, F.; KOCHENAGEN, G. (Ed.) Handbook of Metaheuristics. Dordrecht: Kluwer Academic Publishers, 2003 Disponível em: <http://www.crpc.rice.edu/CRPC/newsAchive/techweb_6_29_ 98.htm>.

HAYKIN, S. Redes Neurais: princípios e prática. Tradução de P. M. Engel. 2 ed. Porto Alegre: Bookman, 2001.

HOTELLING, H. Analysis of a complex of statistical variables into principal components. Journal of

Educational Psychology, 24, p. 417-441, 498-520, 1933.

JOLLIFFE, I. T. Principal component analysis. New York: Springer-Verlag, 1986.

JONHSON, R. A.; WICHERN, D. W. Applied multivariate statistical analysis. 3. ed. New Jersey: Pretince-Hall, Englewood Cliffs, 1982.

KARHUNEN, K. Uber lineare methodem in der wahrscheinlichkeitsrechnung. Annales Academiae

Scientiarum Fennicae, Series AI: Mathematica-Physica, 37, 1947. p. 3-9. Tradução de RAND Corp.,

Santa Monica, CA, Rep. T-131, 1960.

KARLSSON, P. Simulated annealing applied to the traveling salesman problem: report of Uppsala University, 2002. Disponível em: <http://peg.it.uu.se/~saps02/ PatrickKarlsson/>

(12)

KATAYAMA, K.; SAKAMOTO, H. The efficiency of hybrid mutation genetic algorithm for the traveling salesman problem. Mathematical and Computer Modelling, 31, p. 197-203, 2000.

KNOX, J. Tabu search performance on the symmetric traveling salesman problem. Computers & Ops.

Res., v. 21, n. 8, p. 867-76, 1994.

KRASNOGOR, N.; SMITH, J. A memetic algorithm with self-adaptive local search: TSP as a case study. In: Proceedings of GECCO 2000 Genetic and Evolutionary Computation Conference, San Francisco: Morgan Kaufmann Publishers, p. 987-994, 2000.

LAY, D. C. Álgebra linear e suas aplicações. Tradução de R. Camelier e V. M. Lório. 2. ed. Rio de Janeiro: Livros Técnicos e Científicos, 1999.

LOÈVE, M. Probability theory. 3. ed. New York: Van Nostrand, 1963.

PEARSON, K. On lines and planes of closest fit to system of points in space. Philosophical Magazine, 2, p. 559-572, 1901.

POTVIN, J. V. Genetic algorithms for the traveling salesman problem. Annals of Operations

Research, 63, p. 339-370, 1996.

REINELT, G. TSPLIB, 1995. Disponível em: <http://www.iwr.uni-heidelberg.de/iwr/comopt/ software/TSPLIB95/>

SCHMITT, L. J.; AMINI, M. M. Performance characteristics of alternative genetic algorithmic approaches to the traveling salesman problem using path representation: an empirical study. EJOR, 108, p. 551-570, 1998

Referências

Documentos relacionados

O 6º ano do Mestrado Integrado em Medicina (MIM) é um estágio profissionalizante (EP) que inclui os estágios parcelares de Medicina Interna, Cirurgia Geral,

Nesse contexto, o presente trabalho tem como objetivo realizar testes de tração mecânica e de trilhamento elétrico nos dois polímeros mais utilizados na impressão

O relatório encontra-se dividido em 4 secções: a introdução, onde são explicitados os objetivos gerais; o corpo de trabalho, que consiste numa descrição sumária das

Neste capítulo foram descritas: a composição e a abrangência da Rede Estadual de Ensino do Estado do Rio de Janeiro; o Programa Estadual de Educação e em especial as

Na apropriação do PROEB em três anos consecutivos na Escola Estadual JF, foi possível notar que o trabalho ora realizado naquele local foi mais voltado à

No capítulo 4 são abordados os principais resultados obtidos diante das restrições impostas à coleta de dados, bem como a avaliação dos dados obtidos caracterizando os períodos

Por fim, na terceira parte, o artigo se propõe a apresentar uma perspectiva para o ensino de agroecologia, com aporte no marco teórico e epistemológico da abordagem

No âmbito da Década da Educação para o Desenvolvimento Sustentável (2005-2014) ambiciona-se uma escola renovada, capaz de direccionar a humanidade para um caminho