• Nenhum resultado encontrado

Koohestani e Poli (2011) propuseram uma h´ıper-heur´ıstica baseada em programa¸c˜ao gen´etica para o problema da redu¸c˜ao de largura de banda de matrizes. O termo h´ıper-heur´ıstica foi introduzido por Cowling, Kendall e Soubeiga (2001) e, em termos gerais, ´e uma heur´ıstica de alto n´ıvel especializada na gera¸c˜ao de heur´ısticas para um determinado problema.

Proposta por Koza (1992), a programa¸c˜ao gen´etica ´e um m´etodo evolutivo inspirado na evolu¸c˜ao biol´ogica. Conforme Baeck, Fogel e Michalewicz (1997) explicam, na programa¸c˜ao gen´etica, indiv´ıduos, que s˜ao algoritmos, s˜ao modificados pelas regras da programa¸c˜ao gen´etica at´e que os resultados desejados sejam alcan¸cados, ou seja, um algoritmo adequado para o problema em quest˜ao. Essas regras s˜ao similares ao que observamos na natureza em rela¸c˜ao `a teoria da evolu¸c˜ao, como, por exemplo, muta¸c˜ao, cruzamento de indiv´ıduos (crossover ), heran¸ca de caracter´ısticas e outros. Segundo Koohestani e Poli (2011), pode-se considerar a programa¸c˜ao gen´etica como uma especializa¸c˜ao da meta-heur´ıstica algoritmo gen´etico. A principal diferen¸ca entre essas abordagens ´e que no algoritmo gen´etico os indiv´ıduos s˜ao strings de tamanho e alfabeto limitado. J´a na programa¸c˜ao gen´etica, os indiv´ıduos s˜ao algoritmos. Outro exemplo de diferen¸ca entre esses m´etodos ´e a fun¸c˜ao de avalia¸c˜ao (fitness). Na meta-heur´ıstica

algoritmo gen´etico, essa fun¸c˜ao ´e diretamente atrelada `a solu¸c˜ao. J´a na programa¸c˜ao gen´etica, a fun¸c˜ao de avalia¸c˜ao ´e ligada `a execu¸c˜ao dos algoritmos e nas solu¸c˜oes por eles geradas.

Koohestani e Poli (2011) utilizaram a h´ıper-heur´ıstica Genetic Programming Hyper-Heuristic for Bandwidth Reduction (GPHH-band ) para a gera¸c˜ao de heur´ısticas para a redu¸c˜ao de largura de banda. Os autores basearam-se na heur´ıstica CMr para a gera¸c˜ao das heur´ısticas pela GPHH-band. A heur´ıstica CMr foi utilizada como base por ser uma heur´ıstica r´apida, bem difundida na literatura e por gerar bons resultados. Todas as heur´ısticas geradas pela h´ıper-heur´ıstica GPHH-band realizam a renumera¸c˜ao dos v´ertices de forma similar `a heur´ıstica CMr, ou seja, n´ıvel a n´ıvel da estrutura de n´ıvel enraizada em um v´ertice pseudo-perif´erico. Os autores n˜ao informaram qual algoritmo para se encontrar um v´ertice pseudo- perif´erico foi utilizado nas heur´ısticas geradas pela GPHH-band. Koohestani e Poli (2011) apenas explicam que essas heur´ısticas iniciam-se por um v´ertice pseudo-perif´erico.

A ´unica diferen¸ca entre as heur´ısticas geradas pela GPHH-band e a heur´ıstica CMr est´a na forma em que os v´ertices de cada n´ıvel da estrutura de n´ıvel enraizada s˜ao renumerados. Como descrito na subse¸c˜ao 2.2, a heur´ıstica CMr ´e similar `a busca em largura, por´em os v´ertices s˜ao visitados (e renumerados) em ordem crescente de grau. J´a as heur´ısticas geradas pela GPHH-band, os v´ertices s˜ao visitados (e renumerados) em ordem crescente do resultado de uma equa¸c˜ao, encontrada pela pr´opria h´ıper-heur´ıstica GPHH-Band (KOOHESTANI; POLI, 2011).

Para a gera¸c˜ao das equa¸c˜oes de cada heur´ıstica, s˜ao utilizados alguns operadores primitivos e as express˜oes s˜ao representadas, e armazenadas,

em forma de ´arvores. Embora a heur´ıstica CMr realize a renumera¸c˜ao dos v´ertices em ordem crescente de grau, Koohestani e Poli (2011) n˜ao utilizaram um operador primitivo que retornasse o grau do v´ertice. Isso porque os autores observaram que utilizar esse operador primitivo gerava heur´ısticas ruins. Em vez disso, os autores utilizaram a soma dos graus dos v´ertices adjacentes ao v´ertice em quest˜ao. Esse operador primitivo ´e denominado de SDV. Os outros operadores primitivos utilizados na gera¸c˜ao das heur´ısticas pela GPHH-Band s˜ao: adi¸c˜ao, subtra¸c˜ao, multiplica¸c˜ao, n´umero de v´ertices do grafo e constantes uniformemente distribu´ıdos no intervalo real [-1, 1].

A h´ıper-heur´ıstica GPHH-Band inicia com uma popula¸c˜ao de indiv´ıduos, ou heur´ısticas, geradas aleatoriamente. Posteriormente, cada heur´ıstica dessa popula¸c˜ao ´e executada em cada instˆancia do conjunto de treinamento. Koohestani e Poli (2011) utilizaram, para o conjunto de treinamento, 25 instˆancias da base Harwell-Boeing. Ap´os todas as heur´ısticas terem renumerado todas as instˆancias do conjunto de treinamento, ´e calculada a largura de banda para cada instˆancia. A fun¸c˜ao de avalia¸c˜ao, ou fitness, de cada heur´ıstica ´e a soma das larguras de banda de cada instˆancia do conjunto de treinamento. Ap´os o c´alculo da fun¸c˜ao de avalia¸c˜ao de cada heur´ıstica, s˜ao realizadas aos opera¸c˜oes gen´eticas. Aplica- se a sele¸c˜ao de heur´ısticas baseada na fun¸c˜ao de avalia¸c˜ao. Em sequˆencia, a nova gera¸c˜ao de heur´ısticas ´e gerada por meio do cruzamento, muta¸c˜ao e elitismo aplicados `as heur´ısticas selecionadas. Esses passos s˜ao repetidos at´e que o crit´erio de parada estabelecido seja atingido, ou seja, o n´umero de gera¸c˜oes. A melhor heur´ıstica encontrada ´e retornada.

banda com a melhor heur´ıstica gerada pela h´ıper-heur´ıstica GPHH-Band. Essa heur´ıstica, denominada neste trabalho de hGPHH, foi comparada com a heur´ıstica CMr-GL do MATLAB e obteve resultados competitivos na redu¸c˜ao de largura de banda e no custo computacional. Por isso, na revis˜ao sistem´atica realizada em Oliveira e Chagas (2015a), essa heur´ıstica foi selecionada como sendo uma poss´ıvel melhor heur´ıstica na rela¸c˜ao benef´ıcio (i.e. redu¸c˜ao de largura de banda) por custo computacional.

A heur´ıstica hGPHH ´e similar `a heur´ıstica CMr. Inicia a renumera¸c˜ao por um v´ertice pseudo-perif´erico, neste trabalho utilizou-se o algoritmo de George e Liu (1979), e realiza a renumera¸c˜ao dos v´ertices em ordem crescente do valor da equa¸c˜ao 0,179492928171 × SDV3 +

0,292849834929 × SDV2 - 0,208926175433 × |V | - 0,736485142138 × |V | × SDV - 1,77524579882 × SDV - 1,75681383404. Essa equa¸c˜ao foi encontrada pela h´ıper-heur´ıstica GPHH-Band nos testes realizados por Koohestani e Poli (2011).