• Nenhum resultado encontrado

Nesta seção são apresentados os conceitos básicos de algoritmos evolutivos necessários ao entendimento do algoritmo proposto neste trabalho.

Algoritmos Evolutivos (AEs) são técnicas de otimização estocástica comumente utilizadas para resolução de problemas de otimização difíceis de serem resolvidos por métodos determinísticos. Dentre as diversas técnicas de algoritmos evolutivos, neste trabalho utilizou-se os Algoritmos Genéticos (AGs) e diferencial Evolution (DE).

A lógica de funcionamento de um algoritmo evolutivo consiste, geralmente, em gerar um conjunto aleatório de soluções de um problema e aplicar operadores que realizam o refinamento destas soluções ao longo de diversos loops (gerações) até que os indivíduos obtidos estejam bem próximos ao resultado ótimo/esperado. Os próximos itens explicam com detalhes como isso é feito para algoritmos os AGs e o DE.

2.7.1 Algoritmos Genéticos

Os Algoritmos Genéticos (AGs) são métodos de busca e otimização que, em sua origem, foram baseados nos fundamentos da genética. A versão comumente implementada de um algoritmo genético é a Simple Genetic Algorithm, na qual a população de indivíduos possui tamanho fixo e os indivíduos são codificados em uma cadeia (string) binária (Pereira M. d., 2012). A Figura 2.6 apresenta um fluxograma que sintetiza o funcionamento de um SGA típico.

Figura 2.6 - Fluxograma de funcionamento de um algoritmo genético típico. Fonte: autora

Inicialmente é criada uma população inicial que pode ser aleatória ou gerada a partir de critérios específicos para o problema. Cada indivíduo é formado por variáveis que compõe uma possível solução do problema e estas podem possuir codificação binária ou real dependendo das características do problema. O espaço de busca é definido como o domínio de cada uma das variáveis que compõe a solução (Lopes & Takahashi, Computação Evolucionária em Problemas de Engenharia, 2011).

Cada indivíduo da população é avaliado segundo uma função de adequabilidade denominada de função objetivo. Esta função atribui uma nota que determina a aptidão de uma solução em relação às outras da população e permite a classificação dos indivíduos.

INÍCIO Geração da População inicial

Avalia e seleciona População Aplica Operadores Genéticos Filhos gerados

Avalia Nova População Elitismo Seleciona População final GERAÇÃO Não Sim

Toda População foi Processada? FIM Não Sim Critérios de convergência atingidos?

Se a função Fitness for utilizada como função objetivo, o objetivo do algoritmo passa a ser maximizar/minimizar a função de adequabilidade do indivíduo. Em seguida, aplica- se um operador de seleção probabilístico que privilegia as melhores soluções em detrimento das piores.

Inicia-se então o processo de refinamento das características dos indivíduos ao longo das gerações. Os indivíduos selecionados na etapa anterior são submetidos a modificações probabilísticas através de operadores genéticos, geralmente cruzamento e mutação.

O cruzamento, como esquematizado na Figura 2.7, consiste na combinação do código genético (variáveis) de dois indivíduos selecionados aleatoriamente para formar um ou mais descendentes. A mutação, por sua vez, atua em um número reduzido de indivíduos aleatórios, mudando uma ou mais variáveis em seu código genético de maneira aleatória ou probabilística.

Figura 2.7 – Operadores de cruzamento e de mutação. Fonte: autora

O cruzamento atua principalmente como uma busca local: os filhos exploram o espaço ao redor dos pais em busca de melhores resultados. Já a principal função da mutação é implementar um processo de busca global, isto é, permite que novas áreas do com espaço de busca sejam exploradas, aumentando com isso, a diversidade de soluções. Após a aplicação dos operadores genéticos, obtém-se uma nova população que substitui os indivíduos da população pai de acordo com uma determinada estratégia (Lopes, Algoritmos genéticos em projetos de engenharia: aplicações e perspectivas futuras, 1999).

Aplica-se então uma estratégia para manter os melhores indivíduos na população para a próxima geração, esta operação é denominada elitismo. A cada geração, repetem- se os processos de aplicação dos operadores genéticos e, ao longo destas, a qualidade média dos indivíduos aumenta. Verificam-se então os critérios de parada e, caso estes tenham sido atingidos, o melhor indivíduo é selecionado e o algoritmo encerra a sua execução. Caso isso não ocorra, executa-se uma nova geração do algoritmo.

Após um determinado número de gerações, existe uma probabilidade considerável que soluções muito boas sejam geradas e, uma vez que os critérios de parada sejam atingidos, a melhor solução é escolhida como a solução do problema. Apesar de existirem critérios diferentes, geralmente, a melhor solução é definida como o indivíduo que possui o melhor valor da função objetivo.

2.7.2 Algoritmo de Evolução Diferencial

O Differential Evolution (DE) ou Evolução diferencial pertence à família dos Algoritmos Evolucionários. Este é um algoritmo simples e robusto que visa solucionar problemas de otimização contínua. Proposto por Storn e Price em 1995, este método utiliza operadores de mutação, cruzamento e seleção para realizar o melhoramento da população (Carvalho, Morais, Coelho, Rocha, & Beline, 2016).

Segundo (Carvalho, Morais, Coelho, Rocha, & Beline, 2016), a lógica do DE consiste em, inicialmente, criar uma população aleatória que cubra todo espaço de busca das variáveis. Aplica-se então um operador de mutação; os novos indivíduos gerados, denominados de vetores doadores, são obtidos pela adição da diferença ponderada entre dois indivíduos aleatórios a um terceiro indivíduo escolhido aleatoriamente. A Figura 2.8 ilustra graficamente o processo de mutação DE para F = 0,7.

Figura 2.8 – Exemplo de Funcionamento da Mutação do Diferencial Evolution para F = 0,7. Fonte: autora

Em seguida, o vetor doador passa pelo operador de recombinação binomial, no qual suas variáveis são combinadas com as variáveis de um quarto indivíduo aleatório da população, denominado Target, com uma probabilidade definida pelo usuário. A partir deste processo, obtêm-se um indivíduo denominado vetor experimental.

Figura 2.9 - Lógica de funcionamento do operador de recombinação binomial DE. Fonte: autora.

Aplica-se então o vetor de seleção em que se compara a nota do vetor experimental com a do Target. Caso a avaliação do vetor experimental seja melhor do que a do Target, substitui-se o Target pelo vetor experimental, caso contrário, o Target permanece na população para a próxima geração.

Indivíduo 1

Indivíduo 2

Indivíduo 3

Vetor Doador Mutação: 𝑉𝑒𝑡. 𝐷𝑜𝑎𝑑𝑜𝑟 = 𝐼𝑛𝑑3+ 𝐹 ∙ (𝐼𝑛𝑑2− 𝐼𝑛𝑑1)

3 Cálculo de Parâmetros

de Linhas de Transmissão

Documentos relacionados