• Nenhum resultado encontrado

3.10 Algoritmos Evolucionários Implementados

3.10.1 NSGA-II

O algoritmo NSGA-II descrito em (DEB et al., 2002) foi adaptado neste trabalho aos problemas PRes-SDPEE e PRec-SDPEE e denominado de MOEA-DFR. Algumas características da concepção original do algoritmo foram mantidas como o tamanho fixo ( ) da população, a composição da população da próxima geração ( ), a separação em fronteiras com critério de dominância e o cálculo da distância de multidão. Os indivíduos são separados em fronteiras

46

de não-dominância com um método denominado por Deb (2002) de fast non-dominated sort com complexidade computacional . O método de comparação do NSGA-II baseia- se no princípio básico da transitividade (Se A domina B e B domina C, então A domina C.), o que confere ao processo uma propriedade de verificação absoluta para a análise e inclusão posteriores de novas soluções ao conjunto atual.

3.10.2 SPEA2

O algoritmo SPEA2 (ZIZTLER et al., 2001) utiliza um procedimento de comparação entre as soluções com base no grau de dominância das mesmas. Além disso, ele faz uso de um arquivo externo, semelhante ao conceito de memória externa usado por outros AEs como, por exemplo, o PAES (KNOWLES e CORNE, 1999). Durante as iterações desse algoritmo, os indivíduos não-dominados são copiados para o arquivo externo que tem tamanho máximo. Caso o arquivo não comporte todos os indivíduos, alguns deles são eliminados pelo operador de truncamento apresentado em (ZIZTLER et al., 2001). Se o arquivo não é totalmente preenchido pelas soluções não-dominadas, soluções dominadas completam o espaço remanescente. O valor de mérito de cada solução baseia-se na avaliação da mesma (funções objetivo) e na força de cada uma delas representada pelo número de soluções que ela domina. A aptidão bruta de um indivíduo ( ) equivale à soma dos valores de força dos indivíduos que são seus dominadores. Uma desvantagem clara desse processo é que ele precisa ser completamente refeito a cada iteração. A inclusão de uma nova solução ao conjunto é suficiente para que os cálculos da dominância tenham que ser efetuados novamente.

Utilizando apenas a aptidão bruta, o SPEA2 tende a falhar quando poucas soluções são não- dominadas. Assim, o SPEA2 apresenta outro conceito para agregar informação à aptidão bruta: a estimativa de densidade ( ). A estimativa de densidade é calculada com as distâncias no espaço de objetivos entre os indivíduos da população corrente e do arquivo:

em que é a distância do k-ésimo elemento ao indivíduo . Essas distâncias são usadas para ordenar em lista decrescente as soluções. Assim, tem-se que a função avaliação do algoritmo SPEA2 do indivíduo é dada:

De acordo com Ziztler (2001), a complexidade da avaliação depende essencialmente da estimativa de densidade que é , sendo M a soma dos tamanhos da população e do arquivo externo. O operador de truncamento do algoritmo SPEA2 também tem ordem de complexidade para o pior caso, mas Ziztler garantiu que a complexidade média do algoritmo seria menor do que . Desse modo, fica clara a complexidade computacional superior do algoritmo SPEA2 em relação ao algoritmo NSGA-II.

3.10.3 PAES

O algoritmo PAES (KNOWLES e CORNE, 1999) foi adaptado aos problemas combinatoriais em questão por enfatizar o processo de busca local em esquema (1+1). Ele mantém um arquivo de soluções não-dominadas a partir das quais partem os movimentos de explotação. No PAES,

47

uma solução pai gera outra por meio da mutação. A nova solução é então comparada com a original em termos de dominância. Se domina , então outra solução deve ser gerada a partir de . Se domina , a primeira é então definida como a nova solução pai. Se nenhuma delas domina a outra, então um conjunto de soluções não-dominadas previamente escolhidas é usado na comparação. Para manter a diversidade das soluções armazenadas no arquivo, todas as novas soluções geradas e aceitas são comparadas com aquelas mantidas nesse arquivo. Todas as soluções do arquivo dominadas pela nova solução são removidas. Se nenhuma solução do arquivo é eliminada, a densidade da região a qual pertence essa nova solução é comparada com a densidade da região ocupada pela solução pai. Essa comparação procura garantir que a solução ocupará uma região menos densa, o que favorece à melhor distribuição do conjunto de soluções mantido pelo arquivo.

3.10.4 PBIL

Informações norteadoras a respeito das soluções promissoras em um problema de otimização podem ser utilizadas para estimar um esquema composto de blocos construtivos (schemata). Tal esquema não corresponde a uma solução propriamente dita, mas representa um grupo de soluções com segmentos de genes idênticos. Os algoritmos estocásticos que operam baseados na identificação desses modelos probabilísticos que levam à melhor compreensão do domínio do problema e, consequentemente, à identificação dos esquemas, são genericamente chamados de Algoritmos de Estimativa de Distribuição (EDA) (LARRANAGA e LOZANO, 2002). Por serem bastante apropriados à codificação binária, os algoritmos do tipo EDA são facilmente adaptáveis ao problema da identificação da configuração ótima de redes.

O Algoritmo de Aprendizagem Incremental Baseado em Populações (PBIL) é o tipo mais simples de EDA que depende da análise das melhores e piores soluções avaliadas para o problema de otimização em questão. Ele não faz uso de operadores genéticos e as soluções são tratadas como amostras do espaço a serem analisadas para a determinação do padrão de ocorrência e frequência de cada valor. No entanto, sua proposição inicial foi voltada à resolução de problemas exclusivamente mono-objetivos. Neste trabalho, foi proposto um novo algoritmo baseado no PBIL para otimização multiobjetivo. A este algoritmo proposto foi dado o nome de MMOPBIL. A Figura 3.10 apresenta o esquema geral de atualização do modelo de probabilidades ̅ a partir do vetor ̅ que reúne o padrão de ocorrências das melhores soluções da iteração atual.

No MMOPBIL, a estrutura básica do PBIL clássico (BALUJA, 1994) foi estendida para tratar vários modelos probabilísticos simultaneamente e, com isso, ser capaz de identificar mais de uma solução eficiente para um dado problema multiobjetivo.

Para ser capaz de resolver problemas multiobjetivos, o MMOPBIL evolui um grupo de vetores de probabilidade conhecidos por instâncias de modelo de rede. Esses modelos coexistem durante certo número de iterações do algoritmo, convergindo para soluções eficientes ou sendo descartados devido à baixa afinidade com o problema. A Figura 3.11 ilustra a situação de um grupo de modelos probabilísticos para uma dada iteração do MMOPBIL. A cada iteração do algoritmo, os modelos que geram soluções não-dominadas recebem pontos e aqueles que não geram boas soluções tem a sua idade incrementada. Ao atingir a idade máxima, o modelo é descartado e substituído por outro, a exemplo do segundo modelo mostrado na Figura 3.11.

48

O modelo que alcança o nível máximo convergiu para uma solução eficiente. O quinto modelo mostrado na referida figura, por exemplo, convergiu e será armazenado em uma memória externa.

Figura 3.10 – Um modelo probabilístico é atualizado a partir das duas melhores soluções.

Figura 3.11 – Grupo de modelos probabilísticos ativos para uma dada iteração do MMOPBIL.

A Figura 3.12 apresenta o esquema geral do algoritmo MMOPBIL.

0 1 0 0 1 1 1 1 w1 w2 w3 w4 w5 w6 wn-1 wn

0 0 1 1 1 0

1 1 0 1 1 1 1 0

0 1 0 0 1 0 1 1

1 1 0.3 0.5 0.55 0.45 0.8 0.5

0.7 0.9 0.27 0.5 0.55 0.46 0.82 0.5

0.73 0.91 ̅ ̅ As melhores soluções Amostras 0.0 0.5 0.75 0.5 1.0 0.5

0.75 1.0 ̅ 0 0.5 0.55 0.45 0.8 0.5

0.7 0.9

Instâncias de Modelos Idade Pontos Nível

0.5 0.5 0.5 0.5 0.5 0.5

0.5 0.5 0 1 0.55 0.45 0.8 0.5

0.7 1

4

2

1

0

0

0

5

5

3

0.8 0.7 0.9 0.6 0.3 0.2

0.9 0.4 max

2

0

0 1 0 0 1 1

1 1

3

5.N

N

0 1 0 0.4 0.2 1

1 1

7

42

N-1

Para memória externa Inserção de novo modelo

49

Figura 3.12 – Esquema do MMOPBIL.

O algoritmo MMOPBIL foi descrito em detalhes no trabalho intitulado Multilevel Population-

Based Incremental Learning: a novel implementation to solve Distribution Feeder Reconfiguration Problem.

3.10.5 cGA

Muito similar ao PBIL, o Algoritmo Genético Compacto (HARIK et al., 1999) requer menos espaço em memória, o que é uma vantagem em problemas de grande escala como são o PRes- SDPEE e o PRec-SDPEE (SASTRY et al., 2007).

3.11 Tratamento de Restrições

As restrições de igualdade e desigualdade fazem parte da descrição matemática dos problemas típicos do mundo real (VENKATRAMAN e YEN, 2005). Uma solução é dita viável se ela não viola nenhuma restrição. A incorporação e tratamento eficientes das restrições técnico-operacionais referentes ao problema de otimização da configuração de SDPEEs é fundamental para a aplicação em casos reais. Nesse sentido, há diversas técnicas descritas na literatura (MICHALEWICZ, 1995) que incorporam o tratamento das restrições ao processo de busca feito pelo AE. Três delas foram usadas no presente trabalho para tratar o PRes-SDPEE e o PRec-SDPEE: penalização de objetivos, inclusão de objetivos e dominância por factibilidade.

3.11.1 Penalização de objetivos

A penalização dos objetivos é a mais antiga abordagem (MEZURA-MONTES e COELLO, 2011) que se baseia na ponderação e somatório de termos que resulta em uma função mono-

50

objetivo equivalente. Em geral, a penalização é proporcional ao grau da violação ocorrida e ao peso escolhido para cada restrição. Apesar da sua simplicidade, a escolha dos valores para os pesos não é trivial e influencia tanto o conjunto das soluções finais obtidas quanto o comportamento do AE. A técnica de penalização soma a parcela de violação das restrições a cada um dos objetivos. As múltiplas violações são contabilizadas em um somatório. Assim, a escolha dos fatores multiplicativos (ou pesos) associados a cada violação é fator decisivo na convergência do algoritmo para as soluções eficientes. Pesos com valor alto comprometem o processo de busca por regiões de factibilidade que estejam cercadas por regiões de infactibilidade (MICHALEWICZ, 1995). Ao se penalizar muito os indivíduos infactíveis, a capacidade de o AE alcançar regiões factíveis isoladas é reduzida (MICHALEWICZ, 1995; MEZURA-MONTES e COELLO, 2011). Se aos pesos são atribuídos valores muito pequenos, as soluções infactíveis podem ser consideradas melhores do que as factíveis.

3.11.2 Acréscimo de Objetivos

Nesta abordagem, dois objetivos são incorporados ao problema original, descrito em (VIEIRA

et al., 2004), tornando-o tratável pelo algoritmo evolucionário assim como foi feito para o

problema irrestrito equivalente. Um objetivo acumula os termos de penalização associados às restrições violadas por uma solução particular. Já o outro objetivo contém a quantidade de restrições violadas. Portanto, o vetor de funções que agregava objetivos passa a ter tamanho :

[ ] (3.2) Assim, quaisquer restrições adicionais são incluídas de modo transparente e o conjunto de soluções eficientes deve ser composto por elementos cujos valores nos dois últimos objetivos sejam nulos:

[ ] (3.3)

Essa abordagem, descrita em (MEZURA-MONTES e COELLO, 2011), aumenta a complexidade do problema multiobjetivo o que pode degradar o desempenho do algoritmo de otimização já empregado na versão irrestrita do problema.