• Nenhum resultado encontrado

Enquanto ( condição de termino não é satisfeita ) { 4: Fase das abelhas campeiras;

Estudos Preliminares

N. Fanouts Corte

3: Enquanto ( condição de termino não é satisfeita ) { 4: Fase das abelhas campeiras;

5: Fase das abelhas observadoras; 6: Fase das abelhas exploradoras; 7: Armazena melhor solução; 8: }

diferentes técnicas terem recebido a mesma denominação de MOABC, neste trabalho, estas serão diferenciadas como: MOABC (algoritmo 1) e MOABC (algoritmo 2).

2.4.4.1.

MOABC (Algoritmo 1)

Em (HEDAYATZADEH, HASANIZADEH, et al., 2010) é apresentado um algoritmo para otimização multiobjetivo nomeado MOABC (Multi-objective Artificial Bee Colony). Trata-se de uma adaptação da colônia artificial de abelhas para problemas multiobjetivos com o uso de grade para manutenção e avaliação da frente pareto. Para o MOABC, a fase de inicialização se caracteriza pela criação aleatória das fontes de alimento e pela atualização de um arquivo externo que, durante o processo, armazenará as melhores soluções encontradas pelo algoritmo.

Na fase das abelhas campeiras, as informações do arquivo externo são usadas pelas abelhas campeiras para ajustar suas trajetórias de voo. Para uma posição xi

caracterizada por um vetor de dimensão D e correspondente à abelha campeira i, a

posição de cada fonte é atualizada (vi) mediante uma perturbação, conforme equação

(2-18).

∅ (2-18)

Neste caso, d {1,2,...D} são índices escolhidos aleatoriamente e xk é uma

posição escolhida aleatoriamente do arquivo externo e ∅ é selecionado no intervalo de [-1,1]. Após a atualização, a nova posição é avaliada e uma seleção gulosa determina se a nova fonte substitui a fonte original. Caso a fonte atual de alimento não possa ser melhorada, um contador de número de tentativas é atualizado.

Na fase das abelhas observadoras, é determinada a probabilidade de escolha de cada fonte de alimento baseada em suas aptidões. Cada fonte xi tem uma aptidão

determinada pela relação entre a quantidade de fontes dominadas pela fonte i e o número total de fontes de alimento, conforme equação (2-19)

(2-19)

Uma posição xk com aptidão fit(xk) terá probabilidade de escolha conforme

(2-20)

Para cada fonte de alimento i é selecionado um vizinho k utilizando o método de seleção via roleta e uma nova fonte de alimento é determinada de acordo com a equação (2-18). Novamente, uma seleção gulosa determina se xi será substituído por vi e, caso a

fonte atual de alimento não possa ser melhorada, um contador de número de tentativas é incrementado.

Na fase das abelhas exploradoras, as fontes de alimento cujo número de tentativas excede um limite pré-estabelecido são substituídas por uma nova fonte pelas abelhas exploradoras. Essas fontes são produzidas aleatoriamente e substituem as fontes abandonadas se a nova fonte domina a anterior.

Além das três fases anteriores, o MOABC possui ainda uma quarta fase que é responsável pela atualização do arquivo externo que contém as melhores soluções encontradas na população. A atualização do arquivo usa o método da ε-dominância (COELLO e REYES-SIERRA, 2006). É definido um conjunto de caixas de tamanho ε e cada caixa deverá conter apenas um arquivo. Se uma caixa contém mais de um arquivo, os arquivos dominados são identificados e removidos da caixa. Assim, é garantido que as soluções mantidas são não dominadas com respeito a todas as outras geradas durante a execução.

As métricas de desempenho utilizadas em (HEDAYATZADEH,

HASANIZADEH, et al., 2010) foram a distancia generacional e o espaçamento. Um conjunto de seis problemas de teste foi selecionado e o MOABC foi comparado ao MOPSO (COELLO, PULIDO e LECHUGA, 2004) e ao NSGA-II (DEB, PRATAP, et al., 2002). Considerando a métrica de distância generacional, o MOABC apresentou melhor convergência na maioria das funções de teste e o NSGA-II apresentou-se como a estratégia menos efetiva. Já com relação à métrica de espaçamento, que compara a distribuição das soluções obtidas pelo algoritmo, os resultados apresentados mostraram que o MOABC supera o MOPSO e o NSGA-II em 5 funções de teste.

2.4.4.2.

MOABC (Algoritmo2)

Em (ZOU, ZHU, et al., 2011) foi apresentado um algoritmo baseado em colônia artificial de abelhas para tratar problemas de otimização multiobjetivo. O algoritmo

proposto usa o conceito de pareto dominância para determinar a direção do voo da abelha e mantém soluções não dominadas em um arquivo externo que é atualizado a cada geração.

Na estratégia proposta em (ZOU, ZHU, et al., 2011), todas as soluções presentes no arquivo externo são consideradas posições de fonte de alimentos e todas as abelhas são observadoras. Em cada geração, cada abelha escolhe uma fonte do arquivo externo de forma aleatória e vai até a área da fonte de alimento para escolher a nova fonte. Para encontrar a nova fonte de alimento, o algoritmo propõe o uso da estratégia de aprendizagem. Para soluções de dimensão n, um número m de dimensões de cada fonte de alimento é escolhido de forma aleatória para aprender da solução retirada do arquivo externo. E as outras n-m dimensões aprendem de outras soluções não dominadas presentes no conjunto de fontes de alimento.

Na fase de inicialização, um conjunto de posições de fontes de alimento é criado de forma aleatória. Essas fontes são avaliadas e ordenadas de acordo com os níveis de dominância, as soluções não dominadas são armazenadas no arquivo externo.

Na fase das abelhas observadoras, para cada abelha observadora xi, é escolhida

uma solução do arquivo externo EA e uma nova solução vi é produzida de acordo com

equação (2-21):

∅ (2-21)

Onde k (1,2,..,p) e p é o tamanho do arquivo, f(m) é uma permutação aleatória de inteiros de 1 a n que tem o propósito de definir quais dimensões deverão aprender do arquivo EAk, ∅(m) produz m números aleatórios que estão entre 0 e 2. As demais n-m

dimensões aprendem de outras soluções, segundo a equação (2-22), onde l≠k, j (1,2,...,p) e j ∉ f(m).

∅ (2-22)

Depois de produzida a nova solução, sua aptidão é calculada e uma seleção gulosa é aplicada para decidir se a nova solução será adicionada ao arquivo externo. Se a nova solução vi domina xi, esta é adicionada ao arquivo externo. Se vi e xi são

incomparáveis, vi é adicionado ao arquivo externo e um sorteio define se xi será

Após cada geração, as soluções no arquivo externo são ordenadas com base no critério de dominância e as soluções não dominadas são mantidas no arquivo. Se o número de soluções não dominadas excede o tamanho do arquivo, a distância de agrupamento é utilizada para remover membros muito próximos.

Os autores apresentaram um estudo comparativo de desempenho do algoritmo proposto com relação ao NSGA-II, NSABC (Uma versão do algoritmo sem a estratégia de aprendizagem) e MOCLPSO (HUANG, SUGANTHAN e LIANG, 2006). E utilizaram um conjunto de testes clássicos com funções de 2 e 3 objetivos. Foi utilizada uma métrica de convergência e uma métrica de diversidade.

A métrica de convergência utilizada foi a média euclidiana entre cada solução não dominada e o membro mais próximo da frente pareto real. A métrica de diversidade Δ utilizada é definida conforme equação (2-23):

∑ ̅ ̅

(2-23)

Onde di é a distancia euclidiana entre solução consecutivas no conjunto não

dominado obtido, N é o número de soluções não dominadas obtida, ̅ é a média das distancias, df e di são as distancias entre as soluções extremas e as soluções de contorno

do conjunto não dominado obtido.

Os resultados experimentais apresentados mostraram que, de forma geral, o algoritmo proposto supera os três algoritmos analisados em termos de convergência e diversidade.

2.4.4.3.

A-MOABC/PD, A-MOABC/NS e S-MOABC/NS

Em (AKAY, 2013) são apresentados três algoritmos multiobjetivos baseados em modelos síncronos e assíncronos usando ordenamento não dominado e pareto dominância: Multiobjetivo ABC assíncrono utilizando regra de pareto dominância (A- MOABC/PD), multiobjetivo ABC assíncrono utilizando procedimento de ordenamento não dominado (A-MOABC/NS) e multiobjetivo ABC síncrono utilizando procedimento de ordenamento não dominado (S-MOABC/NS).

2.4.4.3.1.

A-MOABC/PD

Na fase de inicialização do A-MOABC/PD, um conjunto de CS fontes de alimento é criado de forma aleatória. Após isso, por MCN ciclos, se repetem as fases das abelhas campeiras, observadoras e exploradoras.

Na fase das abelhas campeiras, para todas as fontes de alimento do conjunto são obtidas novas fontes vizinhas. A fonte vizinha compete com a fonte original e, por seleção gulosa, a mais apta destas será mantida no conjunto. Se uma fonte não é substituída, o seu contador de numero de tentativas é incrementado. Essa substituição faz com que a qualidade média do conjunto de soluções aumente ou, no pior dos casos, mantenha-se estável. Desta forma, cada fonte subsequente usa o conjunto de soluções com qualidade média progressiva. Este tipo de comportamento é dito assíncrono.

Após a fase das abelhas campeiras, a cada solução é atribuída uma aptidão e são calculadas as probabilidades de seleção. A aptidão atribuída à solução i definida no A- MOABC/PD é determinada conforme equação (2-24):

(2-24)

Onde R(i) é o valor do rank pareto da solução i, S(i) = , T é a temperatura, ( ⁄ ) é a distribuição de Gibbs e ∑ é chamada de função partição e N é o tamanho da população, d(i) é a distancia de agrupamento da solução i.

A probabilidade de seleção de uma solução i é dada pela equação (2-25):

(2-25)

Na fase das abelhas observadoras, CS fontes são selecionadas para terem sua vizinhança explorada e a seleção é realizada baseada na probabilidade definida pela (2-25). Assim como ocorre na fase das abelhas campeiras, a nova fonte compete com a fonte original e a seleção gulosa define se haverá substituição ou se o contador de número de tentativas do pai será incrementado.

Após a fase das abelhas observadoras, o ordenamento não dominado é aplicado. E, na fase das abelhas exploradoras, são checados os contadores, apenas das soluções dominadas, e estas são substituídas se o valor do contador excede o limite pré- determinado.

2.4.4.3.2.

A-MOABC/NS

A segunda técnica proposta é a A-MOABC/NS. Nesta proposta, todo o conjunto de soluções é ordenado após a geração de cada nova fonte para decidir se esta será, ou não, mantida no conjunto de fontes de alimento. Desta forma, o número de chamadas ao procedimento de ordenamento não dominado é igual ao número de funções de avaliação. Assim, o A-MOABC/NS é bem mais custoso computacionalmente do que o A-MOABC/PD.

Após a criação da nova solução, a mesma é adicionada à população e é chamado o procedimento de ordenamento não dominado. Após o ordenamento, as CS melhores soluções são mantidas na população. Este procedimento ocorre tanto nas fases das abelhas campeiras, como na fase das abelhas observadoras. Os demais procedimentos do algoritmo são semelhantes ao A-MOABC/PD.

2.4.4.3.3.

S-MOABC/NS

Como solução ao alto custo computacional do A-MOABC/NS, a terceira estratégia é proposta em (AKAY, 2013), o S-MOABC/NS. Nesta abordagem síncrona, a seleção de fontes sobreviventes não é aplicada após a geração de cada nova fonte. As novas fontes geradas são sempre adicionadas ao conjunto de fontes originais e, ao final de cada fase, o conjunto completo é ranqueado com o ordenamento não dominado. As melhores soluções são selecionadas baseadas em seu nível de dominância e na distância de agrupamento para formar a nova população.

Na fase das abelhas campeiras, a partir de cada uma das fontes do conjunto de fontes de alimento são geradas novas fontes que são adicionadas ao conjunto. Após a fase das abelhas campeiras, as soluções são ordenadas de acordo com ordenamento não dominado, a cada solução é atribuída uma aptidão e são calculadas as probabilidades de seleção para a fase das abelhas observadoras.

Na fase das abelhas observadoras, CS soluções são selecionadas para ter sua vizinhança explorada e a seleção é realizada baseada na probabilidade definida pela

equação (2-25). Novamente, as novas fontes são integradas ao conjunto de fontes de alimento. Após a fase das abelhas observadoras, o ordenamento não dominado é realizado novamente.

Por fim, a fase das abelhas exploradoras se dá da mesma forma que nas abordagens assíncronas.

Para avaliar o desempenho dos algoritmos propostos, foram adotadas as métricas de distância generacional invertida (ZITZLER, THIELE, et al., 2003), hipervolume (PURSHOUSE, 2003) e espalhamento (DEB, PRATAP, et al., 2002). Os resultados mostraram que o S-MOABC/NS é mais escalável e eficiente do que o A-MOABC/PD e mais escalável e robusto do que o A-MOABC/PD.

2.4.5.

Resumo comparativo das Técnicas Avaliadas

A seguir é apresentado o resumo comparativo dos algoritmos de otimização descritos nesta seção e inspirados na colônia artificial de abelhas. As técnicas são mostradas na Tabela 3, onde para cada técnica é descrito como é feita a atribuição da aptidão, o mecanismo de preservação de diversidade utilizado¸ se a técnica utiliza elitismo ou não, se possui população externa, e, por fim, as vantagens e desvantagens de cada técnica.

A partir da tabela, é possível determinar algumas características importantes de cada uma das técnicas propostas e que serviram de base na definição de uma estratégia para a realização do mapeamento tecnológico baseado na colônia artificial de abelhas. A primeira característica é ao mecanismo de atribuição de aptidão que, deve ser capaz de traduzir a qualidade das soluções. Nesse aspecto, qualquer das abordagens analisadas poderia ser empregada. Da mesma forma, todas as abordagens são elitistas. Entretanto, as três últimas estratégias não apresentam mecanismos explícitos de preservação da diversidade, o que caracteriza desvantagens para as mesmas. O uso da população externa é também um requisito desejável, já que, este é responsável pelo armazenamento das soluções não dominadas. Uma última característica em destaque é o sincronismo apresentado pelo S-MOABC/NS que consegue uma solução de compromisso entre o custo computacional e a estratégia de substituição das fontes de alimento. Nesta abordagem, a seleção é feita mediante o ordenamento não dominado ao final de cada fase e não apenas da comparação baseada em pareto dominância que é empregada nas demais abordagens.

Tabela 3. Comparativo das estratégias baseadas em algoritmo genético multiobjetivo T é c n ic a A tr ib u ã o d e A p ti d ã o M e c a n is m o d e D iv e r si d a d e E li st is m o P o p u la ç ã o E x te r n a V a n ta g e n s D e sv a n ta g e n s MOABC (Algoritmo 1) Relativa ao número de fontes dominadas pela fonte atual

ε-dominância Sim Sim Custo computacional Reduzido Desempenho da técnica depende do parâmetro ε. Realiza comparação local na substituição das fontes de alimento. MOABC (Algoritmo 2) Nível de dominância Distância de Agrupamento

Sim Sim Bom desempenho por utilizar estratégia de aprendizagem Sensível a definição do parâmetro de aprendizagem A-MOABC/PD Depende da eq. (2-25)

Não há Sim Não Custo computacional Reduzido

Realiza comparação local na substituição das fontes de alimento

A-MOABC/NS Depende da

eq. (2-25)

Não há Sim Não Realiza comparação global na substituição das fontes de alimento Alto custo computacional. Necessita de grande quantidade de ordenamento não dominado. S -MOABC/NS Depende da eq. (2-25)

Não há Sim Não M elhor compromisso custo computacional x estratégia de substituição das fontes de alimento Necessita de espaço de memória para armazenar soluções até para o ordenamento não dominado.

2.5. Conclusão

Este capítulo foi destinado à conceituação básica dos pontos essenciais no desenvolvimento deste trabalho. Inicialmente, foi apresentada uma visão geral da arquitetura dos FPGAs. A arquitetura básica de um bloco lógico complexo, responsável pela implementação da maior parte da lógica do chip, foi detalhada. O entendimento desta arquitetura é essencial na aplicação das ferramentas de síntese. Sobretudo nas fases de mapeamento tecnológico e agrupamento, as quais se aplica este trabalho. Além da arquitetura lógica, também foi apresentada a arquitetura de roteamento. Esta descrição é importante, já que a arquitetura de roteamento dos FPGAs constitui-se de um grande gargalo na utilização do chip e seu uso impacta diretamente nas medidas de projeto, tendo em vista as capacitâncias provenientes da grande quantidade de trilhas,

switches e blocos de interconexão, que provocam a adição de retardos e o aumento no consumo de energia. Tratou-se também das principais fontes de dissipação de potência em dispositivos CMOS, e destacou-se um dos objetivos do trabalho, que é a redução na potência dinâmica.

Tendo em vista que a metodologia proposta neste trabalho é baseada na otimização do fluxo de síntese, foram apresentados os conceitos básicos de cada uma das etapas do fluxo e, detalhou-se as fases de mapeamento e agrupamento, etapas otimizadas durante este trabalho.

Levando-se, ainda, em consideração que o presente trabalho traz uma metodologia de otimização multiobjetivo de aspectos de projeto com FPGAs, foi apresentada a conceituação básica sobre o assunto e foram definidas as métricas de avaliação de desempenho empregadas para determinar a qualidade dos métodos propostos.

Finalmente, foram apresentados os conceitos básicos referentes à área de computação evolucionária que inspirou as metodologias empregadas no desenvolvimento das ferramentas de mapeamento propostas neste trabalho. Especificamente, foram tratados o algoritmo genético e a colônia artificial de abelhas e foram apresentadas técnicas de otimização multiobjetivo baseadas nesses métodos. Ao final das secções que apresentaram as técnicas de otimização, foram realizadas análises comparativas, de forma a possibilitar a extração das característcicas interessantes e aplicáveis ao problema proposto.

3