• Nenhum resultado encontrado

4. ALGORITMO GENÉTICO

4.3 Estrutura dos Algoritmos Genéticos

4.3.2 Cruzamento

O processo de cruzamento é utilizado após a realização da seleção. Nesta fase ocorre a troca de segmentos entre “pares” de cromossomos selecionados para originar os novos indivíduos que irão formar a população da geração seguinte. Assim, a idéia principal do cruzamento é propagar as características positivas dos indivíduos mais aptos da população por meio da troca de segmentos de informações entre os mesmos, originando novos indivíduos. O cruzamento é aplicado com uma toda probabilidade a cada par de cromossomos selecionados. Na pratica, essa probabilidade, denominada de taxa de cruzamento, varia entre 60% a 90%, e indica a probabilidade com que serão feitos os cruzamentos. Quanto maior essa taxa, mais rapidamente novas estruturas serão inseridas nessa população. Mas se ela for muito alta, estruturas com boas aptidões poderão ser retiradas mais rapidamente, maior parte da população será substituída e pode ocorrer perda de estruturas de alta aptidão. Com um valor muito baixo, o algoritmo pode tornar-se muito lento. Neste trabalho, será utilizado o cruzamento de um ponto (codificação binária).

4.3.2.1 Cruzamento de um ponto

O operador cruzamento é aplicado a cada par de cromossomos filhos com uma probabilidade Pc (probabilidade de cruzamento). Seja o primeiro pai e o segundo pai: o número inteiro Jx é gerado aleatoriamente entre 1 e NB - 1 (NB é o número de bits no cromossomo) e os strings dos pais são separados na posição Jx:

Produzindo, pela troca da segunda parte, os dois filhos .

A escolha do ponto de corte não é constante em toda a população, ou seja, para cada par de pais um novo número inteiro Jx é gerado aleatoriamente. Não ocorrendo o cruzamento os filhos serão iguais aos pais (isto permite que algumas soluções sejam preservadas). Na pratica é comum utilizar probabilidade de cruzamento entre 60% e 90%.

 Escolha dos parâmetros do Algoritmo Genético

Além da forma como o cromossomo é codificado, existem vários parâmetros do Algoritmo Genético que podem ser escolhidos para melhorar o seu desempenho, adaptando-o às características particulares de determinadas classes de problemas. Entre eles os mais importantes são: o tamanho da população, o número de gerações, a probabilidade de crossover e a probabilidade de mutação. A influência de cada parâmetro no desempenho do algoritmo depende da classe de problemas que se esta tratando. Assim, a determinação de um conjunto de valores otimizados para estes parâmetros dependerá de realização de um grande numero de experimentos e testes. Na maioria da literatura os valores encontrados estão na faixa de 60% a 65% para a probabilidade de crossover e na faixa de 0,1% a 5% para a probabilidade de mutação (Pm). O tamanho da população e o numero de gerações dependem da complexidade do problema a ser otimizado e devem ser determinados experimentalmente. Deve ser observado que o tamanho da população e o numero de gerações definem diretamente o tamanho do espaço de busca a ser coberto.

4.3.3 Mutação:

A mutação é o operador genético que permite que uma característica genética seja introduzida na população de soluções por meio de eventual substituição de genes dos indivíduos. Para o caso de representação binária o valor do gene é alterado de 1 para 0 ou de 0 para 1. No caso de representação real a mutação é feita gene por gene. Esta introdução de característica genética faz com que uma determinada característica necessária que possa não existir na população de soluções e que, portanto, impediria a convergência para a solução correta seja inserida.

Após a operação de cruzamento, o operador de mutação é aplicado, com uma probabilidade Pm em cada cromossomo filho gerado. A mutação consiste em fazer a alterações, geralmente pequenas, nos valores de um ou mais genes num dado cromossomo. A mutação melhora a diversidade dos cromossomos na

população, por outro lado, destrói informação contida no cromossomo, logo, deve ser utilizada uma probabilidade de mutação pequena, mas suficiente para assegurar a diversidade. Esta probabilidade varia de 0,001 a 0,05. SENAETZEN (2000) recomenda que a faixa de mutação também chamada de probabilidade de mutação (Pm) seja obtida pela fórmula:

Sendo: Ngenes– a quantidade de elementos de cada solução.  Mutação Simples

Nas representações binárias a mutação simples inverte os valores de bits, ou seja, muda o valor de um dado bit de 1 para 0 ou de 0 para 1. A Figura 7 e 8 apresenta um exemplo em que dois bits do primeiro filho e um bit do segundo sofrem mutação (bits estes que passaram no teste de probabilidade).

Figura 4 – Representação Binária na Mutação Simples

Figura 5 – Representação Binária na Mutação Simples

A mutação é fator fundamental para garantir a biodiversidade, assegurando assim que o espaço de busca provavelmente será explorado em uma parte significativa de sua extensão. Apesar de normalmente aplicada em uma probabilidade bastante inferior à de cruzamento, ela é dita por uma série de autores como o operador mais importante para o processo evolutivo, chegando em alguns casos extremos a ser utilizada como o único operador de transformação no curso de evolução do Algoritmo Genético.

O operador de mutação possui também um papel fundamental no que diz respeito à necessidade de evitar a convergência prematura, que ocorre quando a

população se estabiliza com uma media de adaptação pouco adequada por causa da pressão evolutiva e baixa diversidade.

4.4 Técnicas de Otimização

A otimização é a busca do valor de uma variável ou de n variáveis, que proporcione o melhor resultado para uma função dependente dessas variáveis, dentro de um objetivo e obedecidas as restrições. Segundo LACERDA e CARVALHO (1999), a otimização consiste em tentar variar soluções possíveis e utilizar a informação obtida nesse processo de forma a encontrar soluções cada vez melhores.

Este problema é significativamente mais difícil que calcular fluxos de pressões isoladamente. Em sistemas de distribuição de água, ao contrario da resolução de um sistema de n equações por n variáveis, a otimização de problemas contém inequações, equações, variáveis discretas e continuas. Consequentemente, há numerosas soluções possíveis, tornando a otimização um problema mais complexo que resolver um simples sistema de equações (WALSKI et al., 2001)

Para encontrar os parâmetros desconhecidos num modelo de calibração, técnicas de otimização têm se tornado frequentes na busca do melhor ajuste do sistema. Elas são utilizadas em diferentes áreas do conhecimento para a busca da melhor solução de uma função matemática sujeita ou não a restrições (TUCCI, 1998).

Algumas técnicas de otimização encontradas na literatura são: Algoritmos Genéticos, programa linear, programação dinâmica, programação inteira, programação inteira mista, algoritmos heurísticos, método de busca por gradiente e métodos de enumeração.

Dentre as técnicas que se mostram mais promissoras, os Algoritmos Genéticos é uma que apresenta maior capacidade de reunir as necessidades dos engenheiros sem a necessidade de contornar o problema para se ajustar ao algoritmo.

4.5 Representação do Cromossomo

A representação dos cromossomos pela teoria dos Algoritmos genéticos pode ser binária, real ou por código Gray. Entretanto, os tipos mais utilizados são as representações real e a binária.

4.6 Função Objetivo

A definição de uma função objetivo adequada é fundamental para o bom desempenho do processo de calibração e na confiança dos dados obtidos via processo de calibração. Entretanto, existem diferentes funções objetivo que satisfazem, em termos de precisão, o que se espera do modelo.

Documentos relacionados