You are on page 1of 48

Captulo 3 da tese de doutoramento Meta-heursticas na Resoluo do Problema da

Clique Mxima e Aplicao na Determinao do Cabaz de Compras de Lus


Cavique, 2002.

Taxonomia das Meta-heursticas (ME)

Neste captulo apresenta-se uma taxonomia para as Meta-heurstica (ME) que


pretende sistematizar um conjunto de ME mais divulgadas. Para cada sub-grupo de
ME so detalhados os seus procedimentos. Para sintetizar o conhecimento em meta-
heursticas desenvolvem-se dois operadores para ME hbridas.

3.1 Introduo

3.1.1- Problemas de classe NP

A complexidade temporal de um algoritmo exprime que um algoritmo pode resolver


um determinado problema em tempo O(f(n)), em que n representa a dimenso do
problema, i.e., o nmero de elementos de entrada no algoritmo que dependente de
cada exemplo do problema. A funo f(n) representa o nmero de vezes que um
determinado processo executado, como por exemplo, o nmero de comparaes
num algoritmo de ordenao.

Um algoritmo eficiente aquele cuja complexidade uma funo polinomial dos


dados de entrada. So exemplo disso, os algoritmos de busca de dados com
complexidades variveis como: O(1), O(log(n)), O(n); os algoritmos de ordenao de
dados com complexidades: O(n.log(n)), O(n2); ou mesmo algoritmos com
complexidade O(n5) so classificados como eficientes.

Por outro lado, complexidades algortmicas como O(2n) ou O(n!) correspondem a


algoritmos no eficientes. Os algoritmos de complexidade exponencial correspondem
a problemas intratveis, pois poderiam levar sculos a processar os dados de entrada
Captulo 3 Taxonomia das Meta-heursticas 2

de um problema de dimenso mdia ou mesmo mais tempo que a idade do universo


para um problema de grandes dimenses.

Em Optimizao Combinatria costume falar-se em problemas fceis e


problemas difceis. Para os primeiros, tambm conhecidos como problemas da
classe P, existe um algoritmo eficiente para a sua resoluo. Para os segundos no
conhecido nenhum algoritmo determinstico eficiente que os resolva em tempo til,
sendo por isso classificados na classe NP (no-determinista em tempo polinomial)
[Garey e Johnson 1979].

Existe outra classe de problemas equivalentes entre si que correspondem aos de


maior dificuldade dentro de todos os problemas NP. Os problemas dessa nova
classe so denominados de NP-completos. Estes problemas so conhecidos como
problemas fceis de definir e difceis de resolver. Os problemas classificados como
NP-completos podem ser transformados (em tempo polinomial) uns nos outros. Se,
para um deles, se encontrar um algoritmo polinomial ento, evidente que todos eles
podero ser resolvidos em tempo polinomial.

Exemplos de problemas de classe P em optimizao combinatria, so o problema do


caminho mais curto, o problema da rvore de suporte de custo mnimo ou o problema
do fluxo mximo.

Como exemplos de problemas da classe NP-completos, podemos referir o problema


da clique mxima, o problema da cobertura por vrtices, o problema do conjunto de
independncia de vrtices e outros, mais conhecidos, como o problema do caixeiro
viajante ou o problema da mochila.

Existem ainda pares de problemas cuja formulao muito semelhante, no entanto


um deles pertence classe P e outro classe NP. Estamos a referir-nos, por exemplo,
ao problema do caminho mais curto que da classe P sendo o problema do caminho
mais longo da classe NP-completo, ou ao problema da cobertura por vrtices que um
problema NP-completo e o problema da cobertura por arestas que um problema da
Captulo 3 Taxonomia das Meta-heursticas 3

classe P. Pode parecer uma contradio, mas o que acontece que alguns destes
problemas possuem uma estrutura to especfica que possvel encontrar um
algoritmo eficiente para os resolver.

Problemas de deciso e optimizao

Na Teoria da Complexidade existem duas formas de especificar os problemas: os


problemas de deciso e os problemas de optimizao.

Num problema de deciso pretende-se encontrar um sub-conjunto de dados que


satisfaa um objectivo especfico. Por exemplo, no caso do Problema da Clique
Mxima, temos:

Dados: Um grafo G e um inteiro k >0

Objectivo: A clique mxima possui k vrtices?

A resposta a um problema de deciso simplesmente sim ou no. Num problema


de optimizao pretende-se encontrar, de entre todos os sub-conjuntos de dados,
aquele que satisfaz o objectivo especificado. No mesmo exemplo do Problema da
Clique Mxima, temos:

Dados: Um grafo G

Objectivo: Encontrar em G uma clique mxima.

O problema de optimizao diz-se NP-difcil se est relacionado com um problema de


deciso NP-completo. usual dizer que este problema (de optimizao) NP-
completo, evidentemente o que se est a querer dizer, apesar da impreciso de
linguagem, que a verso de deciso do problema de optimizao NP-completo.
Na prtica, parece prefervel utilizar o termo NP-difcil para descrever o problema de
optimizao.
Captulo 3 Taxonomia das Meta-heursticas 4

3.1.2 - Limites superiores e inferiores da soluo ptima

Para obter a soluo ptima de um problema os mtodos exactos baseiam-se em


tcnicas de enumerao exaustiva. So denominados por mtodos de pesquisa em
rvore, conhecidos por branch-and-bound na rea de investigao operacional e A*
na rea de inteligncia artificial. Estes mtodos consideram uma separao do
conjunto de solues admissveis do problema inicial e, seguidamente, resolvem cada
um dos problemas parciais obtidos. Cada n da rvore corresponde a um atributo do
problema e as ramificaes correspondem a parties do conjunto de solues
admissveis. s folhas da rvore, ou ns terminais, iro corresponder as solues
completas.

Os algoritmos exactos, apesar de garantirem a obteno da soluo ptima,


encontram-se, na maior parte das situaes reais, associados a um grande esforo
computacional, dado o elevado nmero de solues a analisar.

Os algoritmos aproximados foram desenvolvidos para dar resposta impossibilidade


de resolver uma grande variedade de problemas de optimizao. Muito
frequentemente, quando procuramos a resoluo de um problema, somos
confrontados com o facto do problema ser NP-difcil. Nas palavras de Garey e
Jonhson: No consigo encontrar um algoritmo eficiente para este problema, mas
tambm, nenhum destes ilustres senhores o consegue [Garey e Johnson 1979].

Se a soluo ptima difcil de encontrar, razovel sacrificar a optimalidade e


procurar uma boa soluo que possa ser processada de forma eficiente. Claro que
iremos sacrificar a optimalidade o mnimo possvel, ganhando o mximo na
eficincia. O balano entre a optimalidade e a tratabilidade o paradigma dos
algoritmos aproximados.

O principal tema deste trabalho desenvolve-se volta dos referidos algoritmos e da


proximidade do ptimo alcanado em tempo polinomial. Na figura 9 apresentam-se os
limites superiores e inferiores num problema de maximizao. A avaliao das
Captulo 3 Taxonomia das Meta-heursticas 5

heursticas de aproximao ao ptimo so importantes para alcanar os limites


inferiores num problema de maximizao. Os limites inferiores apresentados por
ordem crescente de qualidade, i.e., por grau de proximidade da soluo ptima, so as
solues das heursticas construtivas, das heursticas de melhoramento e das meta-
heursticas.

Limites superiores do problema de maximizao

PL com relaxaes lineares


PL com relaxaes lagrangeanas
PL com cortes

Soluo ptima

Meta-heursticas
Heursticas de melhoramento
Heursticas construtivas

Limites inferiores do problema de maximizao

Figura 1 Limites inferiores e superiores do problema de maximizao

Por outro lado, os mtodos que devolvem solues no admissveis provenientes da


resoluo de problemas que sofreram relaxaes, so tambm conhecidos como
heursticas de 2 ordem.

A soluo ptima est contida no intervalo entre o limite superior e inferior. Para um
problemas de maximizao, os limites inferiores da soluo ptima (Opt) so dados
por heursticas (He) e os limites superiores por relaxaes (Rel).

He <= Opt <= Rel


Captulo 3 Taxonomia das Meta-heursticas 6

Para medir a qualidade das soluo obtidas, so utilizados os desvios (gap) relativos
percentuais.

gap = [(Rel - Opt)/ Opt ]x 100 e gap = [(Opt - He)/ Opt ]x 100

Em geral, como no conhecida a soluo ptima para o problema e portanto no


conhecido o valor de Opt, utiliza-se um majorante do erro percentual.

gap = [(Rel - He)/ He ]x 100

Quanto menor for a diferena entre os limites (gap), maior a qualidade das
solues.

Mtodos de Aproximao

O termo Heurstica usado para referir um conjunto de passos ou um conjunto de


regras prticas, que tm como objectivo resolver um problema em tempo til. Uma
Heurstica distingue-se de Algoritmo por no garantir a optimalidade nem
eventualmente a admissibilidade. O termo Heurstica tem origem na palavra grega
heuriskein que significa encontrar ou descobrir. (Arquimedes ter dito heureka
(encontrei / descobri) ao descobrir o princpio da impulso da gua.)

Nesta fase, pretendemos definir os conceitos de soluo completa, soluo parcial e


elementos (ou atributos) de uma soluo, em problemas de optimizao combinatria.
Uma soluo composta por um conjunto de elementos ou atributos; por exemplo no
caso do PCM, uma soluo corresponde a um conjunto de vrtices de um grafo.
Define-se soluo parcial a soluo que permite a incluso novos elementos atravs
de um processo heurstico; no caso do PCM, uma clique no-maximal uma soluo
parcial porque permite a incluso de mais vrtices. Define-se como soluo completa
uma soluo que no permite a incluso de novos elementos; ainda no caso do PMC,
uma clique maximal uma soluo completa.
Captulo 3 Taxonomia das Meta-heursticas 7

Os mtodos aproximados abrangem uma srie de mtodos heursticos em que a


optimalidade no garantida mas o tempo computacional bastante aceitvel,
permitindo em geral a obteno de solues admissveis. Iremos distinguir, em
seguida, as Heursticas Construtivas, as Heursticas de Melhoramento e as Meta-
heursticas.

As Heursticas Construtivas, tambm denominadas Greedy ou Gulosas, partem de


uma soluo vazia e vo sucessivamente inserindo novos atributos de acordo com um
critrio de optimizao, at que a soluo se torne completa. No havendo
possibilidade de incluir novos elementos, o procedimento pra e devolve a soluo
completa.

As Heursticas de Melhoramento partem de uma soluo admissvel e com base em


alteraes da soluo, como, por exemplo, retirar e/ou inserir elementos, procuram
melhorar a qualidade da mesma. Um exemplo bem conhecido das heursticas de
melhoramentos a heurstica 2-optimal [Lin 1965] para o problema do caixeiro
viajante.

A principal dificuldade dos algoritmos aproximados reside no facto que a maior parte
dos problemas combinatrios possurem alguns ptimos globais e existirem muitos
ptimos locais no tendo as heursticas capacidade de distinguir um ptimo local de
um global.

A partir do incio dos anos 1980s surgem novos mtodos heursticos, apelidados de
meta-heursticas por Glover [1986], mas tambm conhecidos por Heursticas
Modernas. A rpida divulgao destes mtodos deve-se sua capacidade de
adaptao a problemas de grande dimenso, como so a maior parte dos problemas
reais. Uma abordagem introdutria pode ser encontrada em Pirlot [1996]. Em Reeves
[1995] so detalhadas algumas das meta-heursticas mais conhecidas, sem a
preocupao de as integrar.
Captulo 3 Taxonomia das Meta-heursticas 8

Meta-heursticas so heursticas de mbito geral que possuem as seguintes


caractersticas: so processos iterativos com uma ou mais solues completas com
complexidade algortmicas baixas, tanto relativamente ao tempo como ao espao, que
tm em vista o melhoramento das solues utilizando novas combinaes no espao
inter e intra-solues, evitando a priso em ptimos locais (como acontece com as
heursticas construtivas e de melhoramento local). As meta-heursticas distinguem-se
das restantes heursticas dedicadas a problemas especficos, porque incorporam
estratgias de carcter muito geral que as tornam independentes dos problemas.

Uma tentativa de unificar as meta-heursticas a Programao com Memria Adaptvel


[Taillard et al. 1998] integra o Simulated Annealing, a Procura Tabu, os Algoritmos
Genticos, o Scatter Search e o Algoritmo da Colnia de Formigas.

Em seguida apresenta-se um procedimento geral para qualquer meta-heurstica,


baseado no algoritmo de Programao com Memria Adaptvel onde:

- S sub-conjunto, no vazio, de solues completas


- S sub-conjunto de solues completas em fase de teste ou provisrias

Procedimento Geral de Meta-heursticas


1. Iniciar a Memria;
2. Enquanto no encontrar a condio de fim
2.1. Como base nas solues em Memria, encontrar S;
2.2. Melhorar ou recuperar S obtendo S;
2.3.Actualizar a Memria com S;
3. Fim ciclo;

O procedimento "Meta-meta-heurstico", utilizado no conjunto de todas meta-


heursticas. Dado um conjunto de solues S existente em memria, em cada iterao
S transformado num conjunto de solues provisrias S, que ir posteriormente
actualizar a memria.
Captulo 3 Taxonomia das Meta-heursticas 9

Trabalhar com meta-heursticas onde possvel a diviso do espao de solues,


facilita a implementao de programas com computao paralela. A utilizao destas
tcnicas para problemas que so utilizados com pouca frequncia tem uma utilidade
discutvel, contudo para problemas em tempo real, o recurso implementao dos
programas em paralelo torna-se muito adequada.

Em ambientes onde o problema alterado vrias vezes, havendo a necessidade de


desenvolver algoritmos reactivos que apresentem solues a qualquer instante
(anytime algorithms), as meta-heursticas tm grande aceitao. Ao encontrar
melhor solues, a meta-heurstica transmite essa informao ao sistema real,
orientando-o para a melhoria contnua.

Mtodos de Relaxao do Problema

As relaxaes de restries em problemas formulados com programao linear, ou


heursticas de 2 ordem, so desenvolvidas para obter solues ptimas mas no
admissveis para um problema especfico, permitindo obter limites superiores para um
problema de maximizao.

Na Figura 1 apresentam-se os limites superiores e inferiores num problema de


maximizao. A avaliao dos mtodos de relaxao do problema em programao
linear so importantes para alcanar os limites superiores num problema de
maximizao. Os limites superiores apresentados por ordem crescente de qualidade,
i.e., por grau de proximidade da soluo ptima, so as relaxaes lineares, relaxaes
lagrangeanas e mtodos de corte.

Na relaxao linear, dada uma formulao em programao linear inteira (ou mista)
do problema, ir relaxar a integralidade das variveis, da qual resulta um problema de
programao linear.

Outro mtodo muito utilizado a relaxao langrangeana. Neste mtodo necessrio


definir qual o subconjunto de restries a relaxar e incorporar estas restries na
funo objectivo associado a um conjunto de valores reais, designados por
Captulo 3 Taxonomia das Meta-heursticas 10

multiplicadores de Lagrange. Para a optimizao de uma relaxao lagrangeana


geralmente utilizado o mtodo do subgradiente. Este mtodo efectua a alterao
sucessiva do valor dos multiplicadores, ao longo de vrias iteraes, com vista a
optimizar a funo objectivo.

3.1.3 - Taxonomia das Meta-heursticas

Nesta seco vamos resumir brevemente as caractersticas das vrias meta-heursticas


existentes, apresentando uma nova taxonomia das meta-heursticas. Propomos uma
diviso das Meta-heursticas em dois grandes grupos: Intensivas e Extensivas.

As meta-heursticas intensivas acumulam esforos em regies especficas do espao


de solues, actuando em profundidade. Por outro lado as meta-heurstica extensivas,
que agrupam os algoritmos evolutivos e as heursticas de multi-partida, tem a
caracterstica de se estenderem por vrias regies no espao de solues.

Tabela 1 Taxonomia das Meta-heursticas

Caractersticas Meta-heurstica

Concentram-se em regies especficas do


ME Intensivas
espao de solues

Populaes de solues ME Extensivas com Populaes


Estendem-se pelo
espao de solues

Soluo nica ME Extensivas de Amostragem

Chamam-se Meta-Heursticas Intensivas s meta-heursticas baseadas em procura


local ou de procura adaptvel. As Meta-Heursticas Intensivas exigem a definio das
Captulo 3 Taxonomia das Meta-heursticas 11

estruturas de vizinhana e um conhecimento profundo do problema, apresentando


capacidades na intensificao da pesquisa em regies especficas.

Chamam-se Meta-Heursticas Extensivas com Populaes classe das meta-


heursticas que incluem os algoritmos evolutivos. As meta-heursticas baseadas em
populaes de solues tm a vantagem de ter uma maior independncia
relativamente ao problema, no necessitando de conhecer qualquer das suas
idiossincrasias. Estes algoritmos estendem-se pelo espao de solues possveis numa
fase inicial e com o desenrolar do processo procuram convergir para a soluo ptima.
As tcnicas mais divulgada so os Algoritmos Genticos, as Estratgias Evolutivas e o
Scatter Search.

Chamam-se Meta-Heursticas Extensivas de Amostragem aquelas que se dispersam


pelo espao de solues mas que utilizam uma nica soluo de cada vez, gerando
uma amostra de solues. Refira-se que estas meta-heursticas so as mais antigas de
todas as meta-heursticas, sendo baseadas na repetio de uma qualquer tcnica de
pesquisa com solues de partida diferentes (multi-start). Tcnicas de pesquisa
como o GRASP desenvolvem esta estratgia com muito xito.

3.2 ME Intensivas

As Meta-heursticas Intensivas baseiam-se essencialmente em tcnicas de procura


local onde a soluo Sn+1 depende da soluo anterior Sn. Para introduzir o tema
apresentamos o algoritmo descendente, seguido-se algumas das meta-heursticas mais
recentes: o Simulated Annealing, a Procura Tabu e a Procura com Variao da
Vizinhana.

3.2.1 Introduo

A procura local consiste na passagem de uma soluo Sn para uma outra soluo Sn+1
na vizinhana da primeira, de acordo com determinadas regras, no espao de solues
admissveis X. A sequncia de solues denominada trajectria no espao de
Captulo 3 Taxonomia das Meta-heursticas 12

solues. Definindo por Sn m o movimento que produz a transio de Sn para a uma


outra soluo Sn+1, a estrutura de vizinhana de V(Sn) pode ser expressa da seguinte

forma: V(S) = { Sn+1: Sn+1= Sn m, Sn m X}

A procura local iniciada num ponto qualquer SnX e a nova soluo Sn+1 escolhida

na vizinhana V(Sn). Isto implica associar a cada SX uma vizinhana V(S)X. A


forma mais comum de encontrar a nova soluo Sn+1 escolher a melhor do conjunto
de solues de V(Sn). Num problema de maximizao poder-se-ia escolher para Sn+1
qualquer soluo de V(Sn) tal que f(Sn+1)>f(Sn), onde f representa a funo de
avaliao das solues. Seja Sn+1 a soluo de V(S) onde f toma o valor mximo. Essa
a melhor soluo de V(S) e se f(Sn+1)>f(Sn) ento a nova soluo corrente passa a ser
Sn+1. Se no existir nenhuma soluo em V(S) que melhore a soluo Sn, ento o
processo pra. Esta estratgia vulgarmente conhecida por Algoritmo Ascendente ou
Subida da Encosta ('hill climbing').

Em seguida apresentamos o procedimento para o Algoritmo Ascendente ou de Subida


da Encosta num problema de maximizao, onde:

- S a soluo corrente
- S* a melhor soluo
-f a funo avaliao da soluo
- V(S) uma vizinhana de S

Algoritmo Ascendente ou Subida da Encosta


1. gerar S0, S*=S0;
2. enquanto houver melhorias fazer:
2.1. criar lista movimentos na V(S*);
2.2. seja S a melhor soluo em V(S*);
2.3. se f(S)> f(S*) ento S* = S;
3. fim ciclo;
4. devolver a melhor soluo S*;
Captulo 3 Taxonomia das Meta-heursticas 13

Um exemplo clssico deste algoritmo, para um problema de minimizao, o caso da


heurstica 2optimal para o problema do caixeiro viajante, onde para dois pares de
vrtices no consecutivos se criam dois novos pares, atravs da troca dos arcos.

Na Figura 2, representa-se a trajectria de solues, onde partindo de S0 se identifica a


soluo Sn como sendo a soluo ptima. A vizinhana da soluo V(Sn) no inclui
nenhuma soluo com um valor da funo objectivo superior, contudo a soluo Sn
no passa de um ptimo local.

de notar que a escolha de uma boa estrutura de vizinhana essencial para a eficcia
do processo. Usando ainda o mesmo exemplo da Figura 2, fcil verificar que se
redefinisse uma vizinhana mais alargada seria possvel continuar a pesquisa, levando
a trajectria ao ptimo global.

Figura 2 - Exemplo de priso num ptimo local

Como no possvel saber partida qual a estrutura de vizinhana, V(S), mais


adequada, esta a principal desvantagem do algoritmo ascendente, isto , a
incapacidade de fugir a ptimos locais. As meta-heursticas como o Simulated
Annealing e a Procura Tabu foram especialmente concebidas para evitar esta situao,
utilizando uma degradao temporria da funo de avaliao f(S). Por outro lado, a
Procura com Variao da Vizinhana utiliza o alargamento da estrutura de vizinhana
para permitir continuar a pesquisa, evitando tambm os ptimos locais.
Captulo 3 Taxonomia das Meta-heursticas 14

3.2.2- Simulated Annealing

O Simulated Annealing um algoritmo de optimizao combinatria, que se baseia


em certos princpios da termodinmica; pode ser traduzido como "arrefecimento
simulado" ou "simulao da tmpera". As ideias iniciais tm origem no algoritmo de
Metropolis et al. [1953] que simula as variaes de energia de um sistema quando
sujeito a um processo de arrefecimento, at convergir para o estado gelado. Trinta
anos depois, Kirkpatrick et al. [1983] sugerem que este tipo de abordagem seja
utilizado em optimizao combinatria, fazendo o algoritmo convergir para a soluo
ptima.

sabido que a formao de grandes cristais tm origem num arrefecimento muito


lento e , pelo contrrio, o arrefecimento brusco d origem a cristais com imperfeies.
Inicialmente, os movimentos das partculas so grandes e frequentes resultantes dos
altos nveis energticos, decrescendo medida que a temperatura desce. Tal como na
formao de cristais, o algoritmo de optimizao com altas temperaturas tem uma
"vizinhana" alargada; com a descida de temperatura a "vizinhana" tem tendncia a
diminuir.

A grande inovao neste algoritmo, relativamente ao algoritmo ascendente, permitir


a degradao temporria da funo objectivo. Se o nvel energtico for grande, a
trajectria de solues tem capacidade de sair de um ptimo local e continuar a
pesquisa.

O decremento da temperatura ou plano de arrefecimento parte de uma alta


temperatura tmax que se mantm constante, por patamares, ao longo de um nmero
determinado de passos. Em cada patamar k, a temperatura dada por tk=k.tmax com
01. Em cada patamar de temperatura, o processo repete-se L vezes, sendo o
nmero total de iteraes igual a k.L. Como parmetros a definir temos a temperatura
inicial tmax, o nmero k de patamares de temperatura, o comprimento L de cada
patamar e a taxa de arrefecimento .
Captulo 3 Taxonomia das Meta-heursticas 15

Em cada iterao se a nova soluo for melhor que a soluo corrente, a soluo
corrente substituda. Caso contrrio, para a aceitao da nova soluo, a degradao
da funo objectivo, vai depender de um determinado processo aleatrio. A
probabilidade de aceitao de uma nova soluo dada por exp (-d/t). Para altas
temperaturas a probabilidade de aceitao exp (-d/t) muito prxima de 1, desta
forma, o algoritmo comporta-se como um algoritmo aleatrio, pesquisando o espao
de solues em passos largos. Para valores da temperatura perto de zero, a
probabilidade de aceitao baixa e o algoritmo comporta-se como um processo de
melhoramento iterativo.

Em seguida apresentamos o procedimento de Simulated Annealing num problema de


maximizao, onde:

- f a funo avaliao da soluo, S* a melhor soluo encontrada at ao


momento, S a soluo corrente, S a prxima soluo e V(S) a vizinhana da
soluo S
- k o nmero de patamares de temperatura e L o nmero de iteraes por patamar
- a taxa de arrefecimento e tk a temperatura em cada patamar k

Algoritmo Simulated Annealing


1. iniciar a soluo S; fazer S* = S;
2. iniciar a temperatura t com um valor alto tmax, t = tmax;
3. repetir durante k patamares, at atingir o estado gelado
3.1. repetir durante L passos
3.1.1. gerar aleatoriamente uma soluo S' V(S) ;
3.1.2. avaliar d = f(S) - f(S');
3.1.3. se d < 0 ento S = S;
3.1.4. seno gerar um nmero aleatrio p entre [0,1]
3.1.4.1. se p < exp (-d/t) ento S= S' ;
3.1.5. se f(S) > f(S*) ento S* = S;
3.2. fim ciclo;
3.3. decrementar a temperatura t de acordo com o arrefecimento definido;
4. fim ciclo;
5. devolver a melhor soluo S*;
Captulo 3 Taxonomia das Meta-heursticas 16

Num plano mais terico, vrios desenvolvimentos tm sido realizados. Batel-Anjo


[1999] apresenta um modelo que garante a convergncia assimpttica do Simulated
Annealing; a partir do modelo so deduzidos algoritmos adaptveis e gerados
automaticamente.

3.2.3 - Procura Tabu

Tal como o Simulated Annealing, a Procura Tabu uma meta-heurstica que guia a
procura para alm dos ptimos locais. O mtodo foi introduzido por Glover [1989] e
diferencia-se dos mtodos com origem na Inteligncia Artificial, como o Simulated
Annealing e os Algoritmos Genticos, por utilizar estrutura de memria em vez de
fazer uma abordagem sem-memria possui uma memria adaptvel. Uma descrio
detalhada do mtodo apresentada por Glover e Laguna [1997].

O mtodo consiste num procedimento iterativo que substitui uma soluo pela
seguinte utilizando uma estrutura de vizinhana, percorrendo trajectrias por boas
regies do espao de solues. Ao implementar uma heurstica Tabu devem ser
considerados trs aspectos: a funo objectivo f(S), a estrutura de vizinhana V(S), e
finalmente os tipos de memrias. As estruturas de memria geralmente utilizadas so
a memria de curta durao, materializada na lista Tabu T e uma memria de longa
durao (MLD) que regista a frequncia dos movimentos ao longo de um conjunto de
iteraes.

A Procura Tabu permite a passagem por uma soluo pior que a soluo corrente. Para
evitar que o processo entre em ciclo, repetindo o mesmo conjunto de solues,
introduzido no algoritmo uma lista onde so registados os movimentos efectuados. A
memria de curta durao ou lista tabu, de dimenso n, vulgarmente implementada
como uma lista circular, contm o conjunto dos n movimentos realizados
imediatamente antes, por forma a evitar os movimentos inversos, voltando o problema
sua forma inicial.
Captulo 3 Taxonomia das Meta-heursticas 17

Os movimentos proibidos constam da lista tabu (tabu tenure). Os movimentos


possveis na vizinhana da soluo corrente no so permitidos enquanto
permanecerem na lista. Inicialmente vrias aplicaes do mtodo utilizaram para a
dimenso da lista o nmero "mgico" de 7(2) posies, mas com o rpido
desenvolvimento de vrias aplicaes tornou-se perceptvel que a dimenso da lista
deveria depender da dimenso do problema. Assim, consensual que para um
problema com n elementos se dever ter uma lista de dimenso n.

Em seguida, apresenta-se o procedimento geral de Procura Tabu num problema de


maximizao, onde:

- S* a melhor soluo encontrada at ao momento


- S a soluo corrente
- S' a melhor soluo da lista de movimentos
- f a funo avaliao da soluo
- V(S) a vizinhana da soluo S
- T a lista tabu

Procedimento Geral de Procura Tabu


1. gerar S; fazer S*= S; iniciar T;
2. enquanto no atingir a condio de fim
2.1. criar lista movimentos candidatos em [V(S) - T];
2.2. S= melhor soluo da lista de movimentos ;
2.3. actualizar lista tabu T;
2.4. actualizar S=S;
2.5. se f(S) > f(S*) ento S*=S ;
3. fim de ciclo;
4. devolver a melhor soluo S*;

A condio de fim pode resultar de se ter esgotado o nmero de iteraes, ou de no


existirem solues na vizinhana de S, ou ainda de se ter alcanado a soluo ptima.

Para melhorar o desempenho da Procura Tabu tm sido desenvolvidas vrias tcnicas


tais como o Critrio de Aspirao, a Memria de Longa Durao, a Estratgia de
Captulo 3 Taxonomia das Meta-heursticas 18

Oscilao, as Cadeias de Ejeco e o Path Relinking, que passamos as descrever em


seguida.

Critrio de Aspirao

A posse de um elemento na lista tabu ("tabu tenure") vai criar um corte no espao de
procura. O critrio de aspirao, no mais do que uma tentativa de ultrapassar este
corte. Assim, o critrio de aspirao determina que se realize o movimento apesar do
elemento pertencer lista tabu. No critrio de aspirao, Asp tem em geral um valor
numrico prximo de f(S*), sendo o movimento aceite se f(S)> Asp, num problema
de maximizao.

Memria de Longa Durao

Complementando a memria de curta durao baseada nos movimentos mais


recentes, possvel utilizar a memria de longa durao (MLD). A MLD guarda a
informao dos movimentos realizados ao longo das diversas iteraes, tornando
possvel a procura em novos espaos de solues, permitindo a diversificao da
pesquisa. A MLD usualmente baseada na frequncia dos movimentos de elementos
de forma a penalizar a funo objectivo.

A ideia de utilizar funes que perturbem a funo objectivo aparece desenvolvida


por Charon e Hudryu [1999] no mtodo do rudo, onde a funo objectivo
transformada com a introduo de uma varivel aleatria. Com a utilizao da MLD a
funo objectivo vai ser alterada de forma determinstica.

MLD associam-se em geral valores numricos baseados na frequncia dos


movimentos dos elementos. Devemos distinguir dois tipos de frequncia: a
frequncia residente e a frequncia transiente. A frequncia residente est
relacionada com o nmero de vezes que um elemento ocorre nas solues, durante um
conjunto de iteraes. Por outro lado a frequncia transiente relaciona-se com o
Captulo 3 Taxonomia das Meta-heursticas 19

nmero de vezes que um elemento manipulado por movimentos (insero, remoo)


durante um conjunto de iteraes.

A Procura Tabu utilizando a memria de curta durao cria uma estratgia de curto
prazo (ou intensificao), que alterna com a estratgia de longo prazo (ou
diversificao) utilizando a MLD.

Estratgia de Oscilao

Chama-se estratgia de oscilao a uma tcnica que pode ser usada como outra forma
de alternar a intensificao e a diversificao na procura. Esta tcnica pode ser
implementada relaxando um conjunto de restries e aplicando vizinhanas
especficas. O objectivo atravessar regies de solues no admissveis durante um
determinado perodo da pesquisa. Este mtodo ir ser desenvolvido no captulo 4 na
aplicao de meta-heurstica intensivas ao problema da clique mxima.

Cadeias de Ejeco

As cadeias de ejeco incorporam uma estratgia de oscilao implcita produzida pela


sequncia de movimentos de ejeco, originando solues parcialmente incompletas.
Basicamente as cadeias de ejeco funcionam do seguinte modo: o movimento de
ejeco consiste na substituio do elemento ejectado por um novo elemento; cada
transformao identifica um nvel da cadeia de ejeco, onde se obtm uma soluo
provisria (ou de teste); em cada nvel da cadeia l produzido um movimento
adicional que garanta a admissibilidade da soluo; o espao de pesquisa consiste na
construo de L nveis; depois da execuo da sequncia de movimentos escolhido o
melhor nvel l*, que corresponde melhor soluo de teste encontrada.

Aplicaes das cadeias de ejeco podem ser encontrada em Cao e Glover [1997],
Rego e Roucairol [1996], Rego [1998 a], Rego [1998 b] e Cavique, Rego e Themido
[1999].
Captulo 3 Taxonomia das Meta-heursticas 20

Path Relinking

Uma extenso da Procura Tabu o Path Relinking que explora as combinaes na


vizinhana de solues de elite, criando caminhos (path) entre elas. Dadas duas
solues, uma dita inicial e outra final, para gerar os referidos caminhos necessrio
escolher os movimentos que permitam: partindo da soluo inicial, incluir
progressivamente novos elementos, at alcanar a soluo final. A gerao de mais
que um caminho (relink) no espao de vizinhana entre duas solues explica o
nome do mtodo, onde se cria um primeiro caminho e, em seguida, se criam novos
caminhos diferentes, explorando desta forma a vizinhana de solues.

A trajectria da soluo tem origem e destino em regies admissveis, podendo


atravessar regies no admissveis, sem risco de se perder. A esta estratgia foi dado
nome de passagem do tnel (tunnelling) e pretende unir as regies admissveis que
aparecem como ilhas no espao de solues.

3.2.4 - Procura com Variao da Vizinhana

Este mtodo de pesquisa local consiste na escolha aleatria de solues na vizinhana


da soluo corrente, com uma variao sistemtica do espao das sub-vizinhanas
[Hansen e Mladenovic 1998].

Inicialmente definido um conjunto de vizinhanas Vk, k=1,, kmax, que ser


utilizado no mtodo de procura. O mtodo consiste na procura de um ptimo local na
vizinhana de uma soluo. Logo que no haja mais solues a explorar, escolhida
outra Vk+1, com vista a alargar a vizinhana da soluo. O alargamento da vizinhana
no problema do caixeiro viajante corresponde passagem de trocas de k-optimal a
(k+1)-optimal. No caso de um problema de programao inteira binrio corresponde a
aumentar o nmero de variveis que se complementam de k para k+1.

Em seguida apresentamos o procedimento de Procura com Variao de Vizinhana


num problema de maximizao, onde:
Captulo 3 Taxonomia das Meta-heursticas 21

- S* a melhor soluo
- S a soluo corrente
- S a prxima soluo
- f a funo avaliao da soluo
- k o nmero de vizinhanas (1.. kmax )
- Vk(S) a vizinhana k da soluo S

Procedimento de Procura com Variao de Vizinhana


1. iniciar S ; fazer S*=S;
2. para k=1 at kmax
2.1. enquanto existir S Vk(S)
2.1.1. escolher aleatoriamente S Vk(S);
2.1.2. se f(S) > f(S) ento S=S;
2.2. fim ciclo;
2.3. alargar a vizinhana Vk(S)=Vk+1(S);
3. fim ciclo;
4. fazer S*=S;
5. devolver S*;

A Procura com Variao de Vizinhana vai alargando o espao de vizinhana ao


longo das iteraes, enquanto que o Simulated Annealing vai reduzindo o espao de
vizinhana na tentativa de convergir para a soluo ptima.

3.3 - ME Extensivas com Populaes

Uma grande variedade de ME Extensivas com Populaes, ou Algoritmos Evolutivos


como so conhecidos na rea da Inteligncia Artificial, tm sido propostos na
literatura. Os mais conhecidos so os Algoritmos Genticos propostos por Holland
[1975] nos E.U.A, e paralelamente, deste lado do Atlntico, na Alemanha
Rechenberg [1973] e Schwefel [1981] propem as Estratgias Evolutivas. Tambm
Captulo 3 Taxonomia das Meta-heursticas 22

pela mesma altura Glover [1977] apresenta o Scatter Search. Mais tarde aparecem os
Algoritmos Memticos [Moscato 1989] como forma de optimizar agentes com
estratgias de cooperao e competio. Alguns autores incluem ainda os Sistemas de
Classificao [Goldberg 1989], a Programao Evolutiva [Fogel et al. 1966] e a
Programao Gentica [Koza 1992] como Algoritmos Evolutivos, embora estes
algoritmos tenham menos aplicao no domnio da optimizao.

3.3.1- Algoritmos Genticos

Os Algoritmos Genticos (AG) fazem parte de uma famlia de modelos


computacionais inspirados no princpio da seleco natural de Darwin, onde uma
populao, constituda por solues de um problema especfico evolui como se
tratasse de uma espcie biolgica. A optimizao com AG baseada na hiptese que
durante a evoluo natural, as leis da hereditariedade iro produzir populaes com
indivduos com um melhor desempenho. Os princpios bsicos dos AG foram
introduzidos por Holland [1975] e mais tarde divulgado em trabalhos como os de
Goldberg [1989], Michalewicz [1996] e Michalewicz e Fogel [2000].

Os AG simulam uma populao de indivduos, onde cada um deles representa uma


soluo para o problema e possuindo uma determinada qualidade ou mrito ("fitness")
dada pela funo de avaliao. Aos indivduos mais dotados so dadas mais
oportunidades de reproduo atravs de cruzamentos com outros indivduos. Daqui
surgem os filhos que possuem caractersticas idnticas s dos pais. Os membros da
populao com menor qualidade tm probabilidades mais baixas de reproduo e
acabam por desaparecer. Ao fim de um determinado nmero de geraes um conjunto
de caractersticas torna-se mais evidente, convergindo a populao para um ptimo
local.

As fases crticas no desenvolvimento de um Algoritmo Gentico passam pela


codificao do indivduo, criao da populao inicial, definio da funo avaliao,
definio de esquemas de seleco, operadores de cruzamento, operadores de mutao
e esquemas de substituio da populao.
Captulo 3 Taxonomia das Meta-heursticas 23

i) Codificao

Na representao de cada soluo (indivduo ou cromossoma) geralmente utilizado


um vector binrio, S. A cada Si tambm se chama gene. O conjunto de parmetros S
de um cromossoma em particular apelidado de gentipo. O gentipo contem
informao necessria para a construo do indivduo, que apelidado de fentipo.

ii) Diversidade na populao inicial

Na gerao da soluo inicial deve ser garantida a diversidade de solues, bem como
a garantia de que todos os genes esto representados na populao.

iii) Funo de avaliao

Dado um cromossoma, a funo de avaliao (objectivo, mrito ou "fitness") retorna


um valor numrico do mrito que suposto ser proporcional utilidade do indivduo.

iii) Esquemas de seleco

A seleco consiste na determinao do nmero de vezes que um indivduo


escolhido para a fase de cruzamento. A presso da seleco depende do grau com os
melhores indivduos so escolhidos, e quanto maior a presso, maior a seleco de
indivduos com maior funo de mrito. Por convergncia da populao entende-se
que a populao constituda por indivduos muito idnticos. A taxa de convergncia
depende directamente da presso da seleco. Existem dois tipos de esquemas de
seleco: a seleco proporcional e a seleco ordinal. A seleco proporcional
baseia-se na qualidade dos indivduos da populao e so exemplos a seleco
proporcional (roleta) e a seleco universal estocstica. Por outro lado a seleco
ordinal baseia-se na ordem relativa (ranking) dos indivduos e podem apresentar-se,
como exemplos, a seleco por torneio e a seleco por truncatura. Os esquemas de
seleco ordinal so geralmente preferidos aos proporcionais porque so mais
equilibrados na presso da seleco.
Captulo 3 Taxonomia das Meta-heursticas 24

iv) Operadores de cruzamento

O operador de cruzamento clssico o cruzamento simples com um ponto de


cruzamento. Mais tarde, proposto o cruzamento com n pontos que no mais do que
a generalizao do cruzamento simples. O cruzamento uniforme leva o conceito de
cruzamento mais alm, favorecendo os genes dependentes mas que no se encontram
juntos. No cruzamento aritmtico dados dois ascendentes a1 e a2, utiliza-se uma
combinao linear convexa para gerar dois descendentes d1 e d2, da seguinte forma:
d1=.a1+(1-).a2 e d2= .a2+(1-).a1, com [0,1].

v) Operadores de mutao

A mutao desempenha um papel secundrio mas indispensvel nos AG e


corresponde alterao aleatria de um ou mais genes. A mutao introduz a garantia
contra a perda prematura de espaos de procura. A extenso do operador de mutao
d origem a funes de reparao da soluo, que garantem a admissibilidade da
soluo gerada.

vi) Substituio

A substituio talvez o mecanismo mais sensvel nos AG e nem sempre


devidamente identificado. No Algoritmo Gentico Cannico, em cada iterao toda a
populao substituda pela seguinte, no caso do algoritmo no convergir, existe o
risco de perder as melhores solues encontradas. Para evitar este problema, o mtodo
elitista, vai guardar um conjunto das melhores solues para a iterao seguinte. A
substituio pode ainda incluir a opo de introduo de novos elementos. O mtodo
de estado-estvel (steady-state) consiste na substituio de um conjunto muito
reduzido de indivduos em cada iterao, mantendo a populao estvel. Neste
mtodo coloca-se tambm a questo de saber qual o conjunto de indivduos que deve
sair da populao: retirar aleatoriamente um conjunto de indivduos, retirar os piores
ou retirar os ascendentes (ou indivduos semelhantes). A substituio dos indivduos
pelos pais minimiza as alteraes da populao, mantendo a diversidade.
Captulo 3 Taxonomia das Meta-heursticas 25

Em seguida apresentamos o procedimento geral de um Algoritmo Gentico com os


operadores de seleco, cruzamento e mutao, onde:

- P e P so as populaes de solues
- S* a melhor soluo.

Procedimento geral de um Algoritmo Gentico


1. Iniciar a populao P;
2. Enquanto no existir condio de fim
2.1. avaliar o mrito de cada indivduo de P;
2.2. P'= seleco dos elementos de P;
2.3. P'= cruzamento dos elementos de P';
2.4. P' = mutao dos elementos de P';
2.5. substituio de P pelos elementos de P';
3. fim ciclo;
4. devolver a melhor soluo S* existente em P;

O critrio de paragem do algoritmo ir recair num dos seguintes: i)quando a soluo


ptima foi atingida, ii)por limitao de tempo ou por atingir o nmero mximo de
iteraes, iii)quando no existe melhoria durante um conjunto de iteraes, ou
iv)quando se verifica a convergncia da populao.

Entende-se por "epitasis" a forma como a funo objectivo varia quando uma varivel
que depende de outras variveis alterada. Nos AG define-se como "decepo"
quando o algoritmo se distancia da soluo ptima. A "decepo" est directamente
relacionada com os efeitos da "epitasis", digamos que a condio necessria mas
no suficiente. Os AG no tm um desempenho eficaz quando as variveis so muito
inter-relacionadas.

Um problema clssico dos AG ocorre quando um conjunto de indivduos domina


rapidamente a populao com as suas caractersticas, convergindo a soluo para um
ptimo local. A capacidade do AG de continuar a pesquisa de melhores solues
atravs do operador de cruzamento eliminada. S o operador de mutao ter
Captulo 3 Taxonomia das Meta-heursticas 26

capacidade de continuar a pesquisa, aproximando o AG de um algoritmo de busca


aleatria ("random search"). Na implementao de um AG, a convergncia prematura
, sem dvida, uma das principais preocupaes, devendo ser dado especial ateno
falta de diversidade da populao inicial e presso da seleco.

3.3.2- Estratgias Evolutivas

Enquanto que os AG foram desenvolvidos para resolver problemas de optimizao


discreta, as Estratgias Evolutivas (EE) foram inicialmente construdas para resolver
problemas de optimizao contnua. Por consequncia, AG e EE diferem
significativamente tanto na codificao como em outras estratgias de implementao.
Contudo, utilizam os mesmos princpios da evoluo natural: seleco, combinao e
mutao.

As diferenas fundamentais entre as EE e os AG dizem respeito ao esquema de


codificao, aos operadores genticos e estratgia de substituio. Dado que as EE
optimizam funes contnuas, a codificao das variveis composta de nmeros
reais, permitindo a utilizao de operadores mltiplos.

Relativamente estratgia de substituio das populaes existem dois tipos


fundamentais de EE [Bck 1994]: o EE(, ) e o EE(+). O smbolo representa o
nmero total de ascendentes e o smbolo o nmero de descendentes. No primeiro
tipo, EE(, ), os descendentes substituem os ascendentes como nos AG. No segundo
tipo, EE(+), a populao toma a sua dimenso original, escolhendo as melhores
solues entre ascendentes e descendentes.

3.3.3- Scatter Search

O Scatter Search foi introduzido por Glover [1977] no estudo de problemas de


programao linear inteira e utiliza modelos espaciais; ao conjunto de boas solues
vectoriais chamamos Conjunto de Referncia (CRef). Este mtodo utiliza
combinaes lineares de solues com vista a produzir solues novas para as
Captulo 3 Taxonomia das Meta-heursticas 27

geraes seguintes. Para alm de utilizar combinaes de solues, o mtodo inclui


heursticas de reparao e melhoramento das solues de teste. As melhores solues
encontradas so includas no CRef.

O Scatter Search contrasta com os AG na representao das solues ao utilizar


representaes vectoriais em vez de vectores binrios. Para alm disso utiliza
combinaes estruturadas de duas ou mais solues das quais podem resultar
diferentes solues provisrias; as solues de teste so melhoradas e no CRef
pretende-se manter o equilbrio entre a diversidade das solues e a salvaguarda das
melhores solues.

A aplicao desta Meta-heurstica Extensiva na resoluo do problema da Clique


Mxima ser novamente apresentada e desenvolvida no captulo 5.

3.3.4 - Algoritmos Memticos

Uma meta-heurstica pode ser classificada de Algoritmo Memtico desde que seja
baseada numa pesquisa com populao e que recorra pesquisa local para criar novas
configuraes das solues.

O termo "memtico" foi introduzido por Moscato [1989], sendo tambm conhecidos
por Algoritmos Genticos Hibrdos, embora a denominao de Algoritmo Memtico
enfatize mais a diferena com os Algoritmos Gentico Cannicos [Coll, Durn e
Moscato 1999].

Numa das implementaes dos Algoritmos Memticos descritas por Berretta e


Moscato [1999] apresentada uma populao com um nmero fixo de 13 elementos
organizados numa estrutura em rvore ternria com trs nveis, hierarquizados pela
qualidade das solues. Esta estrutura pode ser interpretada como uma variante dos
modelos das ilhas nos Algoritmos Genticos, incluindo ainda a capacidade de
estratificar as melhores solues das solues diversas.
Captulo 3 Taxonomia das Meta-heursticas 28

3.4 - ME Extensivas com Amostragem

Os mtodos de amostragem procuram encontrar conjuntos de solues, ou amostras


de solues, no espao de solues admissveis. As meta-heursticas extensivas com
amostragem trabalham com uma nica soluo em cada iterao. O objectivo
encontrar muitas solues diferentes, espalhadas pelo o espao de solues, entre as
quais se espera encontrar solues de grande qualidade, conforme esquematizado na
Figura 3.

Espao de Solues

Gerador

da Amostra

Figura 3 Tcnicas de Amostragem

3.4.1- O mtodo Multi-partida

O mtodo Multi-partida (multi-start) ou de amostragem simples talvez a meta-


heurstica mais antiga, que tem mostrado grande capacidade de adaptao a vrios
problemas com resultados satisfatrios. O mtodo, de grande simplicidade, utiliza
repetidamente diferentes solues iniciais, que servem de entrada a uma heurstica
especfica para o problema. As solues iniciais podem ser geradas aleatoriamente ou
atravs de processos sistemticos.
Captulo 3 Taxonomia das Meta-heursticas 29

Em seguida apresentamos o procedimento geral do algoritmo multi-partida num


problema de maximizao, onde:

- S a soluo corrente
- S* a melhor soluo
- f a funo avaliao da soluo

Procedimento Multi-partida
1. iniciar S e S*;
2. enquanto no se verificar condio de fim
2.1. gerar nova parcial S;
2.2. transformar S numa soluo completa;
2.3. se f(S) > f(S*) ento S* = S;
3. fim ciclo;
4. devolver S*;

Desenvolvida a heurstica, o mtodo de multi-partida de fcil implementao. O


procedimento consiste na repetio de uma heurstica dedicada que transforma uma
soluo parcial numa soluo completa. A nova soluo de partida pode consistir num
elemento, numa soluo parcial ou ainda numa soluo completa. A heurstica
especfica pode ser gerada aleatoriamente, utilizar um processo construtivo ou ainda
usar um procedimento melhorativo. O sucesso desta meta-heurstica depende do
equilbrio entre trs variveis: as solues de partida, a escolha da heurstica dedicada
e do nmero de repeties do procedimento. A dimenso da amostra de solues
dada pelo nmero de repeties.

3.4.2- Meta-heurstica GRASP

A meta-heurstica Greedy Randomized Adaptive Search Procedures (GRASP)


consiste na combinao de heursticas construtivas e de procura local [Feo e Resende
1989]. O GRASP uma concretizao do procedimento multi-partida. Em cada
iterao gera uma nova soluo no espao de solues em duas fases: primeiro usa
Captulo 3 Taxonomia das Meta-heursticas 30

uma heurstica construtiva mista ou semi-gulosa, i.e. simultaneamente gulosa


(greedy) e aleatria, e a seguir uma heurstica melhorativa baseada em procura
local.

Em seguida apresentamos o procedimento de GRASP para um problema de


maximizao, onde:

- S a soluo corrente
- S a soluo melhorada
- S* a melhor soluo
- f a funo avaliao da soluo

Procedimento GRASP
1. iniciar S e S*;
2. repetir para um conjunto de iteraes
2.1. construir S usando um algoritmo semi-guloso;
2.2. aplicar procura local usando S dando origem a S;
2.3. se f(S) > f(S*) ento S* = S;
3. fim ciclo;
4. devolver S*;

O algoritmo semi-guloso vai utilizar uma funo g(x) para avaliar o impacto da
soluo parcial, dada pela unio de um novo elemento com a soluo corrente. A
heurstica dita adaptvel j que em cada iterao reconhecido o benefcio da
incluso de um elemento x na soluo S. utilizada uma lista restrita de elementos
candidatos (LRC) com as melhores avaliaes da funo g(x). Por fim escolhido
aleatoriamente da lista LRC um novo elemento que ir integrar a soluo.

Em seguida apresentamos o procedimento de Construtivo Semi-guloso para um


problema de maximizao, onde:
Captulo 3 Taxonomia das Meta-heursticas 31

- S a soluo corrente
- x um elemento da soluo
- g a funo de avaliao gulosa
- LRC a lista restrita de elementos candidatos
- max o valor mximo de g(x)
- min o valor mnimo de g(x)
- o parmetro de controlo, [0,1]

Procedimento Construtivo Semi-guloso


1. iniciar S;
2. enquanto a soluo S no for completa
2.1. avaliar o benefcio de inclui novos elementos com a funo g(x);
2.2. criar LRC={x: g(x) max (max-min) };
2.3. escolher aleatoriamente de LRC um elemento x;
2.4. S = S {x};
3. fim ciclo;
4. devolver S;

O procedimento mostra que o parmetro controla a quantidade de aleatoriedade e


gulodice do algoritmo. Para =0 est-se em presena de um procedimento greedy
onde so escolhidos os elementos com benefcio mximo, e quando =1 corresponde
a um algoritmo aleatrio, com benefcio superior ao valor mnimo de g(x).

A fase construtiva no encontra necessariamente um ptimo local pelo que se aplica


um procedimento de procura local j desenvolvido na seces anteriores.

A meta-heurstica GRASP apresenta-se de fcil implementao depois de definidos as


heursticas construtivas e de melhoramentos. A heurstica construtiva tem a vantagem
de ter reduzido o nmero de parmetros, apenas so necessrios o valor de e o
nmero de iteraes.
Captulo 3 Taxonomia das Meta-heursticas 32

3.4.3- Algoritmo das Colnias de Formigas

O algoritmo das colnias de formigas consiste na simulao do comportamento de um


conjunto de agentes que interagem de uma forma bastante simples [Colorni, Dorigo e
Maniezzo 1992].

As formigas so capazes the encontrar caminhos entre o formigueiro e a fonte de


alimento e ultrapassar obstculos com relativa facilidade. Elas tem a capacidade de
comunicar utilizando uma substancia qumica chamada feromona, que tanto mais
evidente quanto maior for o nmero de formigas.

Como exemplo da aplicao do Algoritmo das Colnias de Formigas para o problema


do Caixeiro Viajante temos:

i) cada formiga ir descrever o circuito do caixeiro viajante.

ii) cada arco (i,j) escolhido com base numa regra aleatria entre as cidades no
visitadas; a escolha de arco (i,j) directamente proporcional quantidade de
feromona, (i,j), e inversamente proporcional ao custo do arco, c(i,j).

iii) depois do circuito estar concludo, para cada arco por onde a formiga passou, o
valor da feromona ir ser incremento do valor , donde (i,j)= (i,j)+.

iv) finalmente, para todos os arcos vai existir uma evaporao da feromona, dada por
um factor de evaporao , com 0<<1, de onde resulta (i,j)= . (i,j)+ (i,j)

Dado que os valores iniciais de (i,j) so iguais para todos os arcos, as formigas
inicialmente fazem circuitos aleatrios. Se considerarmos vrias formigas circulando
no grafo em simultneo, os arcos que tm maior probabilidade de serem escolhidos
so os arcos com maior quantidade de feromona, j que foram considerados os arcos
mais desejados por outras formigas.
Captulo 3 Taxonomia das Meta-heursticas 33

Em seguida apresentamos o procedimento geral do Algoritmo das Colnias de


Formigas para um problema de maximizao, onde:

- S a soluo corrente
- S* a melhor soluo
- f a funo avaliao da soluo
- x o elemento da soluo
- (x), (x) a quantidade de feromona de x
- o factor de evaporao e o incremento de feromona

Procedimento Algoritmo das Colnias de Formigas


1. iniciar S e S*;
2. enquanto no se verificar condio de fim
2.1. para cada formiga
2.1.1. construir uma soluo S;
2.1.2. actualizar a quantidade de feromona (x)= (x)+, xS;
2.1.3. se f(S) > f(S*) ento S* = S;
2.2. fim ciclo;
2.3. actualizar a quantidade de feromona (x)=.(x)+ (x), x;
3. fim ciclo;
4. devolver S*;

Utilizando o efeito simultneo de vrias formigas, em que cada uma contribui para
avaliar os elementos que pertencem soluo, os melhores elementos so os que
receberem maior quantidade de feromona. A feromona pode ser considerada uma
memria (de longa durao) do algoritmo, actualizada pela passagem de formigas e
pela evaporao, registando o histrico de cada elemento.

O Algoritmo das Colnias de Formigas no reflecte o modelo natural. Trabalha com


uma nica soluo em cada iterao em vezes de uma populao e a comunicao
entre agentes realiza-se atravs dos valores de feromona, no existindo comunicao
directa.
Captulo 3 Taxonomia das Meta-heursticas 34

3.4.4- Vocabulary Building

O procedimento de Vocabulary Building [Glover 1999] cria combinaes


estruturadas a partir do desmembramento da soluo completa e da agregao de
solues parciais. O nome do procedimento vem da analogia com a evoluo do
vocabulrio de uma linguagem natural, onde determinadas palavras caem de desuso
ou adquirem novos significados e novas palavras so criadas atravs de combinaes
das anteriores.

Num primeiro passo, o procedimento decompe a soluo em solues parciais e,


num segundo passo, a partir das solues parciais procura encontrar uma nova
soluo. O procedimento ir repetir dos processos de demolio e construo. A
estratgia consiste em utilizar boas solues parciais e procurar novos ptimos locais,
orientando assim a direco da pesquisa.

Em seguida apresentamos o procedimento de Vocabulary Building para um


problema de maximizao, onde:

- S a soluo corrente
- S* a melhor soluo
- f a funo avaliao da soluo
- SP o conjunto de solues parciais

Procedimento de Vocabulary Building


1. iniciar S e S*;
2. agregar os elementos na soluo completa S;
3. repetir um conjunto de iteraes
3.1. demolir: decompor S em solues parciais SP;
3.2. construir: partindo de SP encontrar uma nova soluo S;
3.3. actualizar S com S';
3.4. se f(S) > f(S*) ento S* = S;
4. fim ciclo;
5. devolver S*;
Captulo 3 Taxonomia das Meta-heursticas 35

Variantes desta estratgia foram aplicadas a um conjunto de problemas


nomeadamente ao problema da clique mxima e ao problema de sequenciamento de
tripulaes. No problema da clique mxima, desenvolve-se o conceito de fuso de
duas cliques [Aggarwal, Orlin e Tai 1997] [Balas e Niehaus 1998] e a utilizao de
filtros sobre combinaes de cliques [Cavique, Rego e Themido 2001 b]. No
problema de sequenciamento de tripulaes procura-se encontrar o filho perfeito na
combinao de solues [Loureno, Paixo e Portugal 1998] e aplicar redues
soluo completa, servindo esta soluo parcial para uma nova partida [Cavique
1994] [Cavique e Themido 1995].

3.5 Heurstica Hbridas

3.5.1- O Equilbrio entre Estratgias Intensivas e Extensivas

Dado que as heursticas para problemas combinatrios so muito dependentes da


soluo inicial, possvel que um algoritmo ao partir de uma soluo inicial encontre
a soluo ptima em segundos e que ao partir de outra soluo inicial possa demorar
horas para encontrar a mesma soluo. O tempo at encontrar a soluo ptima
apresenta uma grande variabilidade.

Em problemas combinatrios, o histograma das frequncias dos tempos


computacionais apresenta uma distribuio com pequenas variaes na frequncia que
se prolonga com longas caudas (heavy tails), indicando que existem tantos casos
extremos como casos mdios, ao contrrio da distribuio Normal com muitos casos
mdios e poucos casos extremos. Os estudos de Gomes et al. [1997] provaram que a
cauda direita pode ser muito longa, o que significa que existe um conjunto de
solues de partida que no levam na prtica soluo ptima.

Conhecido este problema, uma forma de o ultrapassar este problema fazer rapid
restarting, i.e. iniciar a pesquisa num outro ponto do espao de solues indo ao
encontro de um nova soluo de qualidade. O sucesso das estratgias de pesquisa
Captulo 3 Taxonomia das Meta-heursticas 36

depende do equilbrio entre a forma como se varre o espao de solues (estratgia


extensiva) e a pesquisa local (estratgia intensiva). Para um intervalo de tempo
limitado, so colocadas duas questes fundamentais: i) quantas vezes se repete o
processo de pesquisa, na estratgia extensiva? ii) quando que o processo da
estratgia intensiva alcana a condio de fim?

Se por um lado as ME intensivas "puras" tm dificuldade em sair da regio de


pesquisa, as ME extensivas tm um comportamento deficiente quando as variveis
tm uma grande inter-dependncia, com referido nos fenmenos de "decepo" dos
AG para problemas com alta "epitasis". Desta forma as solues hbridas parecem
uma forma de complementar as estratgias intensivas e extensivas.

Numa das mais recentes compilao de publicaes de novas ideias em optimizao


de Corne, Dorigo e Glover [1999], as ME como as Colnias de Formigas, os
Algoritmos Memticos, o Scatter Search reflectem a tendncia para a utilizao de
estratgias hbridas.

Para qualquer heurstica importante encontrar a heurstica complementar: 'primais e


duais', 'interiores e exteriores', 'construtivas e destrutivas', 'global e local', 'intensiva e
extensiva', por forma a conjugar esses opostos.

Na anlise de resultados computacionais de duas ou mais heursticas vulgar


constatar que nenhuma das heursticas domina ou dominada pela outra. A expresso
heurstica dominada utilizada no sentido da deciso multi-critrio, a heurstica X
domina Y se e s se f(X[i]) f(Y[i]),i e i:f(X[i])>f(Y[i]) sendo i um determinado
exemplo de problema. A heurstica X diz-se no dominada por Y, se no existir
qualquer heurstica Y que domine X. Por fim, duas heursticas no so comparveis
se no se verificar a dominncia de X por Y nem de Y por X.

Para heursticas no comparveis, julgamos do maior interesse a criao de heursticas


hbridas como forma de tirar partido da complementaridade das diferentes estratgias.
Captulo 3 Taxonomia das Meta-heursticas 37

No captulo 4, iremos pr em prtica esta metodologia com a Heurstica Hbrida


Primal-Dual.

3.5.2- Operadores de Hbridos

Por forma a modelar as arquitecturas de hbridos propomos a utilizao de dois


operadores: multiplicativo e aditivo, que passamos a explicar. O operador
multiplicativo * unrio enquanto que o operador aditivo + binrio [Gendreau
1999].

Ao executar uma sequncia de heursticas, em que o resultado da primeira a soluo


inicial da segunda, utilizamos um operador aditivo. Um exemplo bastante conhecido
o seguinte: dada uma soluo inicial criada a partir de um heurstica construtiva (HC)
melhorar a soluo com uma tcnica de Procura Tabu (PT); representamos pela
seguinte expresso: HC+PT.

Se existe uma repetio da heurstica i.e. se a heurstica chamada um conjunto de


vezes, utilizamos o operador multiplicativo. Por exemplo, a estratgia de multi-partida
(MP) seguida de uma heurstica (H) pode ser expressa da seguinte forma: *(MP+H).

A criao de hbridos pode ir to longe quanto for necessrio. Podemos associar


Algoritmos Genticos com Procura Tabu com uma Heurstica Construtiva de diversas
formas: utilizando o Algoritmo Gentico (AG) como supervisor de uma pesquisa
local, AG[*(HC+PT)] ou ainda utilizar uma heurstica multi-partida ao nvel superior
e criar uma sequncia de heursticas onde o resultado de uma Procura Tabu
desenvolvido por um Algoritmo Gentico que retorna a soluo a uma nova Procura
Tabu, expresso da seguinte forma: *(MP+HC+PT+AG+PT). Hierarquizando as meta-
heursticas temos: a um nvel superior est com certeza a estratgia de multi-partida, a
um nvel intermdio as tcnicas baseadas em populaes e ao nvel mais operacional,
a pesquisa local, ou seja: MP+[AG*(HC+PT)].
Captulo 3 Taxonomia das Meta-heursticas 38

Para alm da criao dos operadores hbridos, podemos tentar ir mais longe e criar
uma linguagem que sintetize os procedimentos meta-heursticos. Como forma de
resumir as meta-heursticas descritas ao longo deste captulo iremos criar um
linguagem composta pelos operadores j definidos e por um conjunto de operandos.
Como operandos heursticos temos: alterao da vizinhana (AV), heurstica
construtiva (HC), heurstica melhorativa (HM), multi-partida (MP) e o operador de
combinao (OC). Podemos agora, redefinir as metaheursticas como combinaes
de estratgias, da seguinte forma:

i) O Simulated Annealing (SA) vai restringido o espao de vizinhana ao longo das


iteraes utilizando uma heurstica melhorativa: SA=*(AV+HM).

ii) A Procura Tabu (PT) utiliza estratgias combinadas, no caso da alternncia entre as
estratgias de intensificao (HM1) e diversificao (HM2), temos:
PT=*(HM1+HM2). Se utilizarmos os operandos alterao de vizinhana para
intensificao (AV1) e alterao de vizinhana para diversificao (AV2), temos:
PT=*(AV1+HM1+AV2+HM2)

iii) O GRASP sem qualquer dvida um algoritmo hbrido, com base numa nova
partida executa uma heurstica construtiva seguindo-se uma heurstica melhorativa:
GRASP= *(MP+HC+HM)

iv) O Algoritmo das Formigas (AF) repete processos construtivos orientados por
alteraes de vizinhana produzidos pelo feromona, temos assim: AF=*(AV+HC)

v) O Scatter Search (SS), depois de combinar solues executa um procedimento para


reparao e melhoria das solues de teste: SS=*(OC+HM)

3.5.3- Equipas Assncronas

O exemplo muito interessante de um algoritmo hbrido composto por um conjunto de


heursticas so as Equipas Assncronas (Equipas-A) [Talukdar et al.1998].
Captulo 3 Taxonomia das Meta-heursticas 39

Estruturalmente as Equipas-A so uma rede de dados e processos ou, mais


especificamente, de memrias e de agentes autnomos. Cada memria ou estrutura de
dados, representa um problema ou um sub-problema. Cada memria contem um
conjunto de solues de teste ou, por outras palavras, populaes de solues criadas
pelos agentes. A existncia de vrias memrias significa que existem vrias
representaes completas ou parciais do problema. Por outro lado, os agentes
cooperam na criao de novas solues de teste ou na destruio de solues menos
interessantes das populaes. Os agentes incluem vrias formas de resolver problemas
baseando-se tanto em processos automticos como em processos manuais.

As redes das Equipas-A podem ser vistas como hiper-grafos orientados, tambm
chamados de fluxos de dados. O modelo para o desenvolvimento de Equipas-A pode-
se apresentar em seis passos:

Procedimento das Equipas Assncronas


1. definir o problema;
2. definir uma ou mais memrias ou sub-problemas;
3. escolher o conjunto de algoritmos construtores que actuam sobre os sub-
problemas;
4. definir os agentes como sistemas de controlo, associando as memrias aos
algoritmos;
5. escolher os agentes demolidores;
6. escolher o desenho do conjunto dos arcos, por forma a criar uma rede fortemente
cclica;

A rede fortemente cclica permite uma resoluo rpida do problema de optimizao,


facilitada pelo recurso de computadores em paralelo. As Equipas-A fornecem um
modelo onde os recursos humanos e os vrios tipos de agentes autnomos cooperam
de forma eficiente. Uma grande variedade de solues completas e parciais, em
memrias diferentes, e um conjunto de agentes estrategicamente coordenados,
permitem que as Equipas-A convirjam para solues de alta qualidade.
Captulo 3 Taxonomia das Meta-heursticas 40

As Equipas-A estendem o conceito j implementado nos Algoritmos Genticos


Distribudos, com populaes divididas em ilhas, onde a troca de indivduos entre
ilhas reduzida e onde cada ilha se comporta como um AG isolado.

3.6 - Concluses

Foi desenvolvida uma taxonomia para as meta-heursticas, as ME intensivas que


trabalham dentro de uma determinada regio (ou intra-regionais) e as ME extensivas
de varrem vrias regies (ou inter-regionais). No final do captulo, abordada a forma
hbrida como as ME combinam as duas caractersticas, evitando as formas mais
"puras" e menos eficientes. Em geral as formas hbridas dos algoritmos tm uma
eficcia mais elevada do que qualquer meta-heurstica no seu estado mais puro, sejam
elas intensivas ou extensivas. As ME intensivas sem capacidade de mudanas de
regio perdem eficcia, bem como as ME extensivas que sem capacidade de
aprofundar a pesquisa em determinadas regies, no passam de algoritmos de
vagueiam pelo espao de solues.

Pretende-se de uma ME hbrida que possua a capacidade de reconhecer as regies


mais prometedoras (extensivo) e que saiba explorar uma regio especfica de forma
eficiente (intensiva). O processo idntico na pesquisa em rvore: o algoritmo mais
eficiente se souber reconhecer os melhores ramos e a seguir souber explor-los em
profundidade.

Para alm da dicotomia Intensiva-Extensiva, as ME hbridas podem ser criadas


conjugando duas quaisquer estratgias opostas: Primal-Dual, Construtiva-Destrutiva.

No captulo 4 onde se desenvolve uma estratgia Primal-Dual e no captulo 5 onde se


propem uma estratgia Intensiva-Extensiva iremos demonstrar experimentalmente
que as solues hbridas tm comportamentos mais eficazes do que as ME no seu
estado mais "puro".
41

Bibliografia
Aggarwal C.C., Orlin J.B. e Tai R.P. (1997), "Optimized crossover for the
independent set problem", Operations Research, vol 45, pp 226-234.

Agrawal R., Mannila H., Srikant R., Toivonen H. e Verkamo A. (1996), "Fast
discovery of association rules", in Advances in Knowledge and Data Mining, (Fayyad
U.M., Piatetsky-Shapiro G., Smyth P. e Uthurusamy R. Editors), MIT Press.

Bck T. (1994), "Selective pressure in evolutionary algorithms: a characterization of


selection mechanisms" in Proceedings of the 1994 IEEE Conference on Evolutionary
Computation , IEEE Press, Piscataway, NJ.

Balas E., Niehaus W. (1998), "Optimized crossover-based genetic algorithms will be


the maximum cardinality and maximum weight clique problems", Journal of
Heuristics, Kluwer Academic Publishers, vol 4, pp 107-122.

Batel Anjo A., (1999) "A tmpera controlada pela entropia - uma caracterizao
formal", Tese de Doutoramento, Universidade de Aveiro.

Battiti R., Protasi M. (1995), "Reactive Local Search for the Maximum Clique
Problem", Technical Report 75-052, International Computer Science Institute,
Berkeley, CA.

Berge C. (1958), "Therie des graphes et ses applications", Dunod, Paris.

Berge C. (1973), "Graphs and hypergraphes", Dunod, Paris.

Berge C. (1991), "Graphs", 3rd edition, North-Holland.

Berretta B. e Moscato P. (1999), "The number partitioning problem: an open


challenge for evolutionary computation ?" in New Ideas in Optimization, (Corne D.,
Dorigo M., Glover F. Editors), McGraw-Hill International.
42

Berry M. e Linoff G. (1997), "Data Mining Techniques, for Marketing, Sales and
Customer Support", John Wiley and Sons.

Brockington M. e Culberson J.C. (1996), "Camouflaging independent sets in quasi-


random graphs" in Clique, Coloring and Satisfiability, Second Implementation
Challenge DIMACS, (Johnson D.S., Trick M.A. Editors), AMS, pp 75-89.

Bron C. e Kerbosh J. (1973), "A 457- Finding all cliques of an undirected graph",
Communications of ACM, vol 6, n 9.

Cao B. e Glover F. (1997),"Tabu search and ejection chains - application to a node


weighted version of the cardinality-constrained TSP", Management Science, vol 43,
pp 908-921.

Cardoso M., Themido I., Moura Pires F. (1999), "Evaluating a clustering solution: an
application in the tourism market", Intelligent Data Analysis, vol 3, pp 491-510.

Carvalho J.M.C. e Dias E.B. (2000), e-Logistics e e-Business, Edies Slabo.

Cavique L. (1994), "Sequenciamento de pessoal tripulante", Tese de Mestrado em


Investigao Operacional e Engenharia de Sistemas, Instituto Superior Tcnico,
Universidade Tcnica de Lisboa.

Cavique L. e Themido I. (1995), "Sequenciamento de servios de pessoal tripulante:


uma abordagem baseada num conjunto de heursticas", Revista de Investigao
Operacional, vol 15, pp 123-141.

Cavique L., Rego C. e Themido I. (1999), "Subgraph ejection chains and tabu search
for the crew scheduling problem", Journal of the Operational Research Society, vol
50, pp 608-616.
43

Cavique L., Rego C. e Themido I. (2001 a), "Estruturas de vizinhana e algoritmos de


procura local para o problema da clique mxima", aceite para publicao na Revista
de Investigao Operacional.

Cavique L., Rego C. e Themido I. (2001 b), "A Scatter Search Algorithm for the
Maximum Clique Problem" aceite para publicao in Essays and Surveys in
Metaheuristics (Ribeiro C. e Hansen P. Editors), Kluwer Academic Publishers.

Charon I. e Hundry O. (1999), "Principles and implementations of the noisy


methods", Proceedings Third Meta-heuristic International Conference (MIC'99),
Brazil.

Christofides N. (1975), "Graph theory: an algorithm approach", Academic Press.

Colorni A., Dorigo M., Maniezzo V., (1992), "An investigation of some properties of
an ant algorithm", in Second European Conference on Parallel Problem Solving from
Nature, (Mnner R. e Manderick B. Editors), Elsevier Publishing, Brussels.

Corne D., Dorigo M., Glover F. Editors (1999), "New Ideas in Optimization",
McGraw-Hill International.

Feo T.A. e Resende M.G.C. (1989), "A probabilistic heuristic for a computationally
difficult set covering problem", Operations Research Letters, vol 8, pp 67-71.

Feo T.A., Resende M.G.C. e Smith S.H. (1994), "A greedy randomized adaptive
search procedure for maximum independent set", Operations Research, vol 42, pp
860-878.

Ferro F. (2000), "e-Business", Coleco E-Gesto, Tecnologias de Informao e


Comunicao, Escolar Editora.

Fogel L.J., Owens A.J., Walsh M.J. (1966), "Artificial intelligendse through simulated
evolution", John Wiley, New York, NY.
44

Friden C., Hertz A., Werra D. (1989), "STABULUS: A technique for finding stable
sets in large graphs with tabu search", Computing, vol 42, pp 35-44.

Garey M.R. e Johnson D.S. (1979), "Computers and intractability: a guide to the
theory of NP-completeness", W.H. Freeman and Company, New York.

Gendreau M. (1999), "Recent Advances in Tabu Search", comunicao na Third


Meta-heuristic International Conference (MIC'99), Brazil.

Gendreau M., Soriano P., Salvail L. (1993), "Solving the maximum clique problem
using tabu search approach" in Annals of Operations Research, ( Glover F., Laguna
M., Taillard E., Werra D., Baltzer J.C. Editors), AG Science Publishers, vol 41, pp
385-403.

Ghamlouche I., Crianic T.G. e Gendreau M. (2001), "Path relinking and cycle-based
neighbourhoods for fixed charge, capacitated, multicommodity network design", in
Proceedings 4th Meta-heuristic International Conference (MIC 2001), Porto.

Glover F. (1977), "Heuristics for integer programming using surrogate constraints",


Decision Science, vol 8, pp 156-166.

Glover F. (1986), "Future paths for integer programming and links to artificial
intelligence", Computers and Operations Research, vol 13, pp 533-549.

Glover F. (1989), "Tabu search - part I", ORSA Journal of Computing, vol 1, pp 190-
206.

Glover F. (1997), "A template for scatter search and path relinking", in Lecture Notes
in Computer Science, (Hao J.-K., Lutton E., Ronald E., Schoenaurer M., Snyers D.
Editors) pp 1-45.

Glover F. (1999), "Scatter search and path relinking", in New Ideas in Optimization,
(Corne D., Dorigo M., Glover F. Editors), McGraw-Hill International.
45

Glover F. e Laguna M. (1997), "Tabu Search", Kluwer Academic Publishers.

Goldberg D.E. (1989), "Genetic Algorithms in Search, optimization and machine


learning", Addison-Wesley, Reading, MA.

Gomes C., Selman B., Crato N. (1997), "Heavy-Tailed Distributions in Combinatorial


Search", in Proc. Constraint Programming, Linz, Austria.

Hansen P. e Mladenovic N. (1998), "An introduction to Variable Neighborhood


Search", Proceedings of the 2nd International Conference on Meta-heuristics
(MIC'97).

Holland J.H. (1975), "Adaptation in natural and artificial systems", University of


Michigan Press, Ann Arbor, MI.

Hughes A.M. (2000), "Strategic Database Marketing", McGraw-Hill.

Jagota A., Sanchis L., Ganesan R. (1996), "Approximately Solving Maximum Clique
using Neural Network Related Heuristics", in Clique, Coloring and Satisfiability,
Second Implementation Challenge DIMACS, (Johnson D.S., Trick M.A. Editors),
AMS, pp 169-203.

Johnson D.S. (1974), "Approximation algorithms for combinatorial problems",


Journal of Computer and System Sciences, vol 9, pp 256-278.

Johnson D.S. e Trick M.A. eds (1996), "Clique, Coloring and Satisfiability Second
Implementation Challenge DIMACS", AMS.

Kelly J.P., Golden P.L., Assad A.A. (1993), "Large-scale controlled rounding using
tabu search with stategic oscillation" in Annals of Operations Research, (Glover F.,
Laguna M., Taillard E., Werra D., Baltzer J.C. Editors), AG Science Publishers, vol
41, pp 69-84.
46

Kirkpatrick S., Gellat C.D. e Vecchi M.P. (1983), "Optimization by simulated


annealing", Science, vol 220, pp 671-680.

Koza J.R. (1992), "Genetic programming", MIT Press, Cambridge, MA.

Laguna M. (1999), "Scatter Search", Research Report, University of Colorado,


Boulder.

Laudon K. e Laudon J. (1993), "Business information systems: a problem solving


approach", Dryden Press.

Lin S. (1965),"Computer solutions of the traveling salesman problem", Bell Systems


Tech. J., vol 44, pp 2245-2269.

Loureno H., Paixo J. e Portugal R. (1999), "Meta-heuristics for the bus-driver


scheduling problem", Economic Working Papers Series 304, Universitat Pompeu
Fabra, Spain.

Luz C. (1996), "Um novo majorante para o nmero de independncia de um grafo


obtido por tcnicas de programao quadrtica", Tese de Doutoramento, Universidade
de Aveiro.

McHugh J.A. (1990), "Algorithm Graph Theory", Prentice-Hall Inc.

Metropolis N., Rosenbluth A.W., Rosenbluth M.N., Tellet A.H e Teller E.(1953),
"Equation of state calculation by fast computing machines", J. of Chem. Phys., vol 21,
pp 1087-1091.

Michalewicz Z. e Fogel D.B. (2000), "How to solve it: modern heuristics", Springer-
Verlag.

Michalewicz Z.(1996), "Genetic Algorithms+Data Structures =Evolution Programs",


Springer, Berlin.
47

Moscato P. (1989), "On evolution, search, optimization, genetic algorithms and


marcial arts: towards memetic algorithms", Report 826, Caltech Concurrent
Computation Program, California Institute of Technology, Pasadena, California, USA.

Peppers D. e Rogers M. (1997), Enterprise One to One, disponvel em


<URL:http://www.1to1.com>

Phillips E.M. e Pugh D.S. (1993), "How to get a PhD, a handbook for students and
their supervisors", Open University Press.

Pirlot M. (1996), "General local search methods", European Journal of Operational


Research, vol 92, pp 493-511.

Rechenberg I. (1973), "Evolutions strategie: optimierung technischer systeme nach


prinzipien der biologischen evolution", Frommann-Holzboog Verlag, Stuttgart.

Reeves C.R. (1995), "Modern heuristic techniques for combinatorial problems",


McGraw-Hill International.

Rego C. (1998 a), "A subpath ejection method for the vehicle routing problem",
Management Science, vol 44, pp 1447-1459.

Rego C. (1998 b), "Relaxed tours and path ejection for the traveling salesman
problem", Eur. J. Op. Res., vol 106, pp 552-538.

Rego C. e Roucairol C. (1996), "Parallel tabu search algorithm based on ejection


chains for the vehicle routing problem" in Metaheuristics: theory and applications,
(Osman I.H. e Kelly J.P. Editors), Kluwer Academic Publishers, Boston, MA.

Roy B. (1970), "Algbre moderne et thorie des graphes", tome 2, Dunod, Paris.

Salton G. e Lesk M.E. (1965), "The SMART automatic document retrieval system
an illustration", Communications of the ACM, vol 8, n 6, pp 391-398.
48

Salton G. e McGill M.J. (1983), "Introduction to Modern Information Retrieval",


McGraw-Hill.

SAS Software (2000), "Enterprise Miner Documentation", SAS Institute

Schwefel H.-P. (1981), "Numerical optimization for computer models", John Wiley,
Chichester, UK.

Soriano P., Gendreau M. (1996), "Tabu search algorithms for the maximum clique",
in Clique, Coloring and Satisfiability, Second Implementation Challenge DIMACS,
(Johnson D.S., Trick M.A. Editors), AMS, pp 221-242.

Taillard .D., Gambardella L.-M., Gendreau M., Potvin J.-Y. (1998), "Adaptive
Memory Programming: A Unified View of Meta-Heuristics", Technical report
IDSIA-19-98, IDSIA, Lugano, publicado no EURO XVI Conference Tutorial and
Research Reviews, Brussels.

Talukdar S., Baerentzen L., Gove A. e Souza P. (1998), "Asynchronous Teams:


Cooperation Schemes for Autonomous Agents", Journal of Heuristics, vol 4, pp 295-
321.

You might also like