• Nenhum resultado encontrado

4.5.1 Programação Seqüencial Quadrática

4.5.3 Algoritmo Genético

Há muito tempo o homem tem buscado adaptar o comportamento da natureza em máquinas, métodos e técnicas que beneficie sua vivência no planeta.

Na criação de máquinas e equipamentos, tendo por objetivo assemelhar à natureza, alguns exemplos notórios foram inventados no decorrer dos anos:

• Aviões baseados nas características dos pássaros;

• Submarinos com sistema de imersão semelhante ao dos peixes; • Sonares baseados nos golfinhos

• Radares baseados nos morcegos e outros.

Em anos mais recentes, técnicas e métodos têm-se inspirado na área de biologia ou na natureza genética. Como exemplo, pode-se citar a criação do método de Redes Neurais que se baseiam no funcionamento do cérebro para gerar em computadores uma “inteligência artificial”.

Estudos de Charles Darwin sobre a teoria da evolução em 1838, nas quais se afirmava que na natureza o ser mais adaptável e com melhores características sobrevive aos demais, foram o ponto de partida para o desenvolvimento de técnicas evolucionárias. Tal teoria foi revelada somente a amigos, pois o autor temia ser ridicularizado como os seus antecedentes que propuseram algo similar. Somente em 1858, após saber que Alfred Russel Wallace partilhava da mesma idéia, foi que publicaram em conjunto a teoria.

Sendo o homem um ser evolutivo, vindo de uma espécie em comum, que sofreu evoluções de acordo com o ambiente para melhor se adaptar, no decorrer dos anos procurou-se conhecer a genética humana, isto é, o mapeamento da estrutura genética humana. Tais informações permitem

conhecer cada gene de cada cromossomo bem como as características que eles oferecem ao indivíduo, tais como: hereditárias, físicas e funcionais. Na busca por resultados baseados neste contexto, em 1990 começa o projeto Genoma Humano que engloba vários países e tem por objetivo realizar o mapeamento de 80 mil genes (estima-se que as células do DNA do ser humano possuam essa quantidade de genes) e determinar a seqüência de mais de 3 bilhões de bases químicas. Como resultado final deste estudo, pretende-se obter ferramentas que possibilitem o tratamento, a prevenção ou até mesmo extinção de doenças genéticas.

Diante de tantas discussões sobre o assunto, em 1975, John Holland apresenta mais uma técnica de inteligência artificial: Os Algoritmos Genéticos.

Segundo Leung e Wang (2000), os algoritmos genéticos são excelentes para problemas de solução de ótimo de Pareto, já que eles utilizam, isto é, trabalham com populações que são alteradas através de operadores baseados ou inspirados na biologia onde a população sofre seleção, cruzamento e mutação.

A vantagem principal do algoritmo genético em relação aos algoritmos de busca determinística é que ele não apresenta dificuldades que são comuns, como não linearidade da função, múltiplos picos e descontinuidades (Castro, 2001; Dias, 2000).

A utilização de algoritmo genético é viável quando se deseja obter um ou mais indivíduos que melhor atendam as especificações do problema. Para melhor compreender os Algoritmos Genéticos, descrevem-se os termos mais comumente empregados:

• Cromossomo: Seqüência de caracteres que representam informação relativa à variável do problema. Sendo assim, cada cromossomo representa uma solução do problema;

• Conjunto de cromossomos ou soluções;

• Geração: Número de iterações que o algoritmo Genético executa;

• Operações Genéticas: operação que o AG executa sobre cada um dos cromossomos; • Espaço de Busca ou Região Viável: É a região que compreende todas as soluções

• Função Objetivo: É a função que se deseja otimizar. Nela estão as informações numéricas de cada cromossomo, de uma determinada população.

1 2

( , ,.... )n

j= f x x x (4.1)

De um modo geral, os algoritmos genéticos transformam uma população de indivíduos, cada um com sua bagagem de informação, numa nova geração de indivíduos, utilizando para isto, operações genéticas como recombinação e mutação.

Cada indivíduo inserido na população representa uma possível solução do problema. Sendo assim, o Algoritmo Genético busca o indivíduo que seja bom ou muito bom para ser a solução do problema.

Os AG possuem inúmeras variações quanto a sua estrutura, sendo que o Algoritmo Genético Genérico, Algoritmo Genético Geracional e Algoritmo Genético em Regime são os mais comuns.

A representação da população, ou melhor, das variáveis do problema a ser otimizado deve ser realizada na forma mais simples, mas sem perder as propriedades representativas do problema. De acordo com o tipo de variável, o número representante pode ser binário, inteiro ou real.

A geração da população inicial é em geral realizada de forma aleatória. Porém, em alguns casos, pode–se aplicar um seleção heurística, incluindo indivíduos importantes na população.

Dependendo do objetivo proposto à função objetivo, a avaliação da população é feita através da modificação da função objetivo, conhecida como função de aptidão.

Baseado no processo de evolução natural, onde os mais aptos sobrevivem, a seleção da população ocorre da mesma forma, isto é, de acordo com o interesse do projetista, a seleção pode ser feita como Seleção Proporcional à Aptidão via Método da Roleta, Seleção Elitista, Seleção não-Elitista dentre outros.

A etapa de reprodução é caracterizada pela criação de novos e melhores indivíduos. As operações genéticas são realizadas para transformar a população, através de inúmeras iterações, numa solução melhor ao final do processo.

Para que os resultados obtidos pelos algoritmos genéticos sejam satisfatórios, os parâmetros de controle tais como tamanho da população, taxa de probabilidade de cruzamento e taxa de probabilidade de mutação são de extrema importância.

Segundo a literatura, os algoritmos apresentam resultados satisfatórios em problemas sem restrições. No entanto, a maioria dos problemas reais são compostos por inúmeras restrições, o que inicialmente gerou a inutilidade de tal técnica. Para solucionar o problema, técnicas de penalização são utilizadas para introduzir as restrições do problema na própria função objetivo.

Além das restrições, muitos problemas reais são constituídos por inúmeros objetivos. Para resolver problemas deste tipo, os métodos evolucionários se apresentam como uma solução viável, principalmente quando se busca uma solução ótima de Pareto.

Desde que Goldberg (1994) publicou seu livro sobre algoritmos evolucionários, vários pesquisadores vêm alterando seus conceitos para aplicá-los em problemas multi-objetivos (Deb, 2002; Castro 2001).

Os diversos objetivos de um problema multi-objetivos podem ser conflitantes, de naturezas diferentes e possuírem importâncias diferentes dentro da função multi-objetivos.