algoritmos genÉticos em projetos de ...algoritmos computação programação genética, os...

11
ALGORITMOS GENÉTICOS EM PROJETOS DE ENGENHARIA: APLICAÇÕES E·PERSPECTIVAS FUTURAS Heitor Silvério Lopes Centro Federal de Educação Tecnológica do Paraná Departamento de Eletrônica e CPGEI Av. 7 de setembro, 3165 - CEP 80230-901 - Curitiba, PR e-mail: [email protected] Resumo: Algoritmos Genéticos (AGs) são técnicas de busca e otimização baseadas no modelo Darwiniano da evolução dos seres vivos. Nas últimas décadas, inúmeras aplicações de AGs têm surgido nos campos das Engenharias e da Computação, mostrando a sua larga aplicabilidade. Neste trabalho são descritas algumas aplicações de AGs em subáreas dentro da Engenharia Elétrica, particularmente enfocando a natureza dos problemas envolvidos. O papel de algoritmos genéticos como método de engenharia é discutido, bem como são examinadas algumas perspectivas futuras. Palavras-Chave: Algoritmos Genéticos, Engenharia Elétrica, Projeto. Abstract: Genetic Algorithms (GAs) are optimization and search techniques based on the Darwinian model of the evolution of living beings. In last decades, several applications of GAs have appeared, showíng its wide range of aplicability both in Engineering and Computer Science areas. In this work, some applications of GAs to particular niches in Electrical Engineering are described, with emphasis on the nature of the problem. It is discussed the role of GAs as an engineering method, as well as some future perspectives are examined. Keywords: Genetic Algorithms, Electrical Engineering, Project. 1 IN!RODUÇÃO 1.1 Computação Evolucionária Algoritmos Genéticos (AGs) são métodos de busca e otimização baseados no conceito Darwiniano da evolução dos seres vivos e em fundamentos da genética. Algoritmos Genéticos é um dos paradigmas da área de Computação Evolucionária, da qual também fazem parte a Programação Genética, os Sistemas Classificadores, as Estratégias Evolutivas e a Programação Evolucionária, embora estes três últimos sejam de menor expressão. A Computação Evolucionária, por sua vez, é parte da grande área denominada de Inteligência Computacional (juntamente com Redes Neurais Artificiais e Sistemas Fuzzy) , que é caracterizada por 64 manipulação numérica (e não simbólica) do conhecimento, adaptabilidade e tolerância a informações imprecisas. Este artigo é organizado da .seguinte maneira: no restante desta seção, é apresentada uma breve introdução sobre o mecanismo básico de funcionamento de AGs, bem como são discutidos alguns aspectos da aplicação de AGs a problemas reais. Nas seções 2, 3, 4 e 5 e respectivas subseções, são apresentados diversos problemas específicos da área de Engenharia Elétrica, os quais foram abordados (nas referências citadas) com a técnica de AGs. Esta parte do trabalho tem objetivo ilustrativo, onde a ênfase dada é à natureza do problema envolvido, e não à solução proposta propriamente dita. Na seção 6 é discutido o papel de AGs como método de engenharia e também algumas perspectivas futuras são vislumbradas em relação ao dueto AGs/Engenharia. Por fim, na última subseção, a conclusão pessoal do autor fecha o artigo. 1.2 Algoritmos Genéticos Nesta seção é apresentado um breve resumo sobre o funcionamento de algoritmos genéticos. Uma investigação mais didática e detalhada pode ser encontrada em livros-texto consagrados na área tais como Goldberg (1989) e Mitchell (1996). Otimização é a palavra-chave quando se trata AGs. Muitos problemas de engenharia e de computação são problemas de otimização' ou podem ser modelados desta maneira. Em otimização, um conjunto de variáveis do problema deve ser escolhido de tal maneira a maximizar (ou minimizar) uma função de ganho (ou de custo), a qual representa o critério de otimização. Isto pode ser feito por métodos algébricos, numéricos ou heurísticos, através de uma busca no espaço multidimensional das variáveis do problema. Para muitos problemas existem métodos convencionais eficazes. Porém, tais métodos podem exibir um desempenho fraco ou até mesmo falhar quando a natureza do problema envolve não-linearidade, ruído, descontinuidade, multimodalidade ou espaços de busca proibitivamente grandes. É nestas situações que AGs demostram a sua utilidade e robustez. Anais do 4°Simpósio Brasileiro de Automação Inteligente

Upload: others

Post on 30-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ALGORITMOS GENÉTICOS EM PROJETOS DE ...Algoritmos Computação Programação Genética, os Classificadores, Estratégias três A Computação Evolucionária , denominada Neurais Sistemas

ALGORITMOS GENÉTICOS EM PROJETOS DE ENGENHARIA: APLICAÇÕESE·PERSPECTIVAS FUTURAS

Heitor Silvério Lopes

Centro Federal de Educação Tecnológica do ParanáDepartamento de Eletrônica e CPGEI

Av. 7 de setembro, 3165 - CEP 80230-901 - Curitiba, PRe-mail: [email protected]

Resumo: Algoritmos Genéticos (AGs) são técnicas de busca eotimização baseadas no modelo Darwiniano da evolução dosseres vivos. Nas últimas décadas, inúmeras aplicações de AGstêm surgido nos campos das Engenharias e da Computação,mostrando a sua larga aplicabilidade. Neste trabalho sãodescritas algumas aplicações de AGs em subáreas dentro daEngenharia Elétrica, particularmente enfocando a natureza dosproblemas envolvidos. O papel de algoritmos genéticos comométodo de engenharia é discutido, bem como são examinadasalgumas perspectivas futuras.

Palavras-Chave: Algoritmos Genéticos, Engenharia Elétrica,Projeto.

Abstract: Genetic Algorithms (GAs) are optimization andsearch techniques based on the Darwinian model of theevolution of living beings. In last decades, several applicationsof GAs have appeared, showíng its wide range of aplicabilityboth in Engineering and Computer Science areas. In this work,some applications of GAs to particular niches in ElectricalEngineering are described, with emphasis on the nature of theproblem. It is discussed the role of GAs as an engineeringmethod, as well as some future perspectives are examined.

Keywords: Genetic Algorithms, Electrical Engineering,Project.

1 IN!RODUÇÃO

1.1 Computação EvolucionáriaAlgoritmos Genéticos (AGs) são métodos de busca eotimização baseados no conceito Darwiniano da evolução dosseres vivos e em fundamentos da genética. AlgoritmosGenéticos é um dos paradigmas da área de ComputaçãoEvolucionária, da qual também fazem parte a ProgramaçãoGenética, os Sistemas Classificadores, as EstratégiasEvolutivas e a Programação Evolucionária, embora estes trêsúltimos sejam de menor expressão. A ComputaçãoEvolucionária, por sua vez, é parte da grande área denominadade Inteligência Computacional (juntamente com Redes NeuraisArtificiais e Sistemas Fuzzy) , que é caracterizada por

64

manipulação numérica (e não simbólica) do conhecimento,adaptabilidade e tolerância a informações imprecisas.

Este artigo é organizado da .seguinte maneira: no restante destaseção, é apresentada uma breve introdução sobre o mecanismobásico de funcionamento de AGs, bem como são discutidosalguns aspectos da aplicação de AGs a problemas reais. Nasseções 2, 3, 4 e 5 e respectivas subseções, são apresentadosdiversos problemas específicos da área de Engenharia Elétrica,os quais foram abordados (nas referências citadas) com atécnica de AGs. Esta parte do trabalho tem objetivo ilustrativo,onde a ênfase dada é à natureza do problema envolvido, e não àsolução proposta propriamente dita. Na seção 6 é discutido opapel de AGs como método de engenharia e também algumasperspectivas futuras são vislumbradas em relação ao duetoAGs/Engenharia. Por fim, na última subseção, a conclusãopessoal do autor fecha o artigo.

1.2 Algoritmos GenéticosNesta seção é apresentado um breve resumo sobre ofuncionamento de algoritmos genéticos. Uma investigaçãomais didática e detalhada pode ser encontrada em livros-textoconsagrados na área tais como Goldberg (1989) e Mitchell(1996).

Otimização é a palavra-chave quando se trata AGs. Muitosproblemas de engenharia e de computação são problemas deotimização' ou podem ser modelados desta maneira. Emotimização, um conjunto de variáveis do problema deve serescolhido de tal maneira a maximizar (ou minimizar) umafunção de ganho (ou de custo), a qual representa o critério deotimização. Isto pode ser feito por métodos algébricos,numéricos ou heurísticos, através de uma busca no espaçomultidimensional das variáveis do problema. Para muitosproblemas existem métodos convencionais eficazes. Porém,tais métodos podem exibir um desempenho fraco ou até mesmofalhar quando a natureza do problema envolve não-linearidade,ruído, descontinuidade, multimodalidade ou espaços de buscaproibitivamente grandes. É nestas situações que AGsdemostram a sua utilidade e robustez.

Anais do 4°Simpósio Brasileiro de Automação Inteligente

Page 2: ALGORITMOS GENÉTICOS EM PROJETOS DE ...Algoritmos Computação Programação Genética, os Classificadores, Estratégias três A Computação Evolucionária , denominada Neurais Sistemas

o primeiro passo para a aplicação de AGs a um problema realé a codificação das variáveis do problema. Cada variável édiscretizada em um determinado intervalo e representada comum conjunto de bits, sendo que o conjunto de variáveiscodificado é chamado de "cromossomo". Um ou maiscromossomos associados para formar um "indivíduo". Éimportante ressaltar que o AG manipula os indivíduos(variáveis codificadas) e não as variáveis propriamente ditas. Acodificação, em si, é uma questão importante na aplicação deAGs para problemas reais. Uma codificação inadequada podetomar o problemadifícil ou mesmo impossível para o AG.

Na sequência, um conjunto de indivíduos é criado formandouma "população". Esta população inicial pode ser aleat6ria, ouconstituída com base em conhecimento prévio sobre a naturezado problema. A existência de ' uma populaç ão de possíveissoluções caracteriza a exploração paralela do espaço de busca.Esta é uma vantagem de AGs em relação a métodosconvencionais que normalmente exploram uma possívelsolução de cada vez.

Cada indivíduo da população é uma possível solução para oproblema. Assim, é necessário alguma medida de qualidadedos indivíduos, de tal maneira a discriminar as melhores daspiores soluções. Esta medida de adequabilidade (em relação àsolução para o problema) é conhecida como "fitness", Ocálculo do fitness é um ponto crítico para o algoritmo, já que,em última análise, é a função de fitness que está sendootimizada.

Com base no fitness dos indivíduos, estes são selecionados detal maneira a privilegiar as melhores soluções em detrimentodas piores . Este procedimento imita o processo de seleçãonatural que guia a evolução das espécies. Os indivíduos sãoselecionados por métodos probabilísticos (ou mesmodeternúnísticos) de modo a poderem gerar descendentes,implementando, assim o mecanismo da sobrevivência do maisapto.

Os indivíduos selecionados são submetidos a modificaçõesprobabilísticas através de "operadores genéticos" , usualmenterecombinação (crossover) e mutação. A recombinação tomadois indivíduos e combina partes de ambos para formar doisnovos descendentes. A mutação, por outro lado, atua em umindivíduo em particular, muda aleatoriamente um bit de suacomposição. A recombinação atua como busca local, enquantoque a mutação realiza uma busca global do espaço de busca.

Como consequência da' seleção e da modificação pelosoperadores genéticos, uma nova geração de indivíduos é criadae que substitui a anterior. A nova população é submetida àavaliação e posterior seleção e modificação. Este processo érepetido iterativamente, esperando-se que a cada geração aqualidade média dos indivíduos aumente. Ao longo de umdeterminado número de gerações é possível que soluções muitoboas para o problema sejam geradas, ou mesmo que a solução6tima seja encontrada.

1.3 Aplicações de AGsAo longo dos últimos anos , AGs têm sido amplamentepopularizados, basicamente devido à sua ampla aplicabilidade .em áreas tão distintas tais como : engenharias, desenhoindustrial, pesquisa operacional, computação, bioquímica ebiologia, composição musical, e ciências sociais. Em.particular, nas diversas modalidades de engenharia, AGs têmsido amplamente aplicados (Dasgupta & Michalewicz, 1997).

Anais do 4 ·Simpósio Brasileiro de Automaçãolntellgent

65

Porém, ainda não há uma convenção de como classificar taisáreas de aplicações, já que AGs são métodos genéricos emuitas vezes a sua aplicação é multidisciplinar. É fato queatualmente existe muita sobreposição entre áreas deEngenharia, Computação e Pesquisa Operacional. Assim.umataxonomia precisa baseada em áreas e subáreas pode não serpossível. Tendo isto em mente, neste trabalho foramselecionados alguns nichos da subárea de 'Engenharia Elétrica,de maneira a agrupar convenientemente as aplicaçõesabordadas, porém sem' ser exaustivo. Certamente, uma análisemais profunda de certas aplicações permitiria o seuagrupamento em mais de uma área, como será mostradoposteriormente.

Urna outra faceta importante é o aspecto metodológico daaplicação. Tem sido relativamente frequente a hibridização deAGs com outras técnicas de busca e otimização maisconvencionais, tais como branch-and-bound, busca tabu ouainda simulated annealing. Nestes casos, é explorado aquiloque de melhor cada método é capaz de oferecer: o AG édirecionado a uma busca global, varrendo paralelamente umgrande espaço de busca, enquanto que os outros métodosexploram regiões específicas do espaço de busca , promovendouma busca local sequencial.

Na grande maioria das aplicações do mundo-real, os AGsutilizados são de complexidade e sofisticação muito além doSGA-Simple Genetic Algorithm proposto por Goldberg (1989) .Operadores específicos, técnicas e parâmetros de controleavançados e codificações sofisticadas são lugar-comum nasimplementações de AGs mais modernas, e que objetivamresolver problemas de complexidade e dimensionalidadeelevados, independentemente da área específica de aplicação.

2 AGs EMTELECOMUNICAÇÕES

2.1 Alocação de freqüências para sistemasde comunicações

O problema da alocação de freqüências (Frequency AssígnmentProblem - FAP) é um problema de otimização discreta do tipoNP-completo. O FAP é equivalente ao problema clássico dacomputação de colorímento de grafos . Um sistema decomunicações tem uma faixa útil de freqüências que é limitada.Esta faixa normalmente é subdividida em vários canais defreqüência central. Numa determinada região a distribuição defreqüências deve ser tal que o número de canais alocados supraa demanda sem utilizar canais adjacentes, de modo a minimizaras interferências entre canais. De maneira análoga, os canaisalocados para uma determinada região têm que sersuficientemente distantes (no espectro) dos canais alocadospara todas as regiões adjacentes, de modo a minimizar asinterferências entre regiões. O problema é dinâmico, já que ademanda varia em função do tempo e da localização. Tambémé sujeito a fortes restrições: o número total de canaisdisponíveis é limitado; há um número mínimo (em função dademanda) e máximo (em função da infra-estrutura física edisponibilidade de canais) de canais possíveis de seremalocados para uma região; há Um limite máximo deinterferência aceitável dentro de cada região e entre regiõesadjacentes.

Além da complexidade do problema, a alocação de freqüênciasenvolve otimização multiobjetivos, pois pode-se aplicar ummétodo qualquer de otimização tendo em vista inúmeros econtraditórios aspectos do funcionamento do sistema. Por

Page 3: ALGORITMOS GENÉTICOS EM PROJETOS DE ...Algoritmos Computação Programação Genética, os Classificadores, Estratégias três A Computação Evolucionária , denominada Neurais Sistemas

exemplo, pode-se desejar maximizar o tráfego total (isto é,suprir a demanda de canais para todas as regiõessimultaneamente), minimizando ao mesmo tempo o númerototal de canais utilizados. Também pode-se otimizar o sistemado ponto de vista: da minimização das interferências dentro decada região e/ou a minimização das interferências do sistemacomo um todo. São várias as abordagens do problema pararedes de comunicação por rádio, ·como descrito em (Cuppini,1994; Kapsalis et ai, 1995). Estes trabalhos demonstram aeficiência de AGs para a alocação de freqüências em redes degrande complexidade, ' sendo que os resultados sãocomparáveis ou melhores do que aqueles obtidos por outrastécnicas .

Uma aplicação particular de AGs nesta categoria é a alocaçãode canais para redes de comunicação de telefonia celular. Nestaaplicação, a dimensionalidade pode atingir 6000. células e12000 restrições (Crisan & Mühlenbein, 1998), tomando-se umproblema de difícil solução por métodos convencionais. Defato, tem sido reportado (Dome e Hao, 1995; Hao & Dome,1996) que AG's obtêm melhores resultados e em menos tempopara problemas reais quando comparado com algoritmostradicionais do tipo Simulated Annealing e algoritmos decolorimento de grafos. A utilização de AGs se toma cada vezmais atrativa à medida que a dimensionalidade do problemaaumenta, pois paulatinamente os métodos computacionaistradicionais se tomam ineficientes.

2.2 Planejamento de sistemas decomunicações

A rede de acesso a serviços de comunicações usualmente éconstituída de pares de fios de cobre que ligam o usuário final àuma central de comutação. 'Com o aumento da demanda deserviços que requerem alta velocidade de comunicação (taiscomo acesso intenso à Internet e video sob demanda), umaalternativa à rede física convencional é a substituição por cabosde fibras ópticas. Este tipo de instalação é conhecido comoPON (Passive Optical Network), pois além das fibras ópticas,também utiliza dispositivos 6pticos como divisores passivos .Em função da atenuação no sinal causada por estesdispositivos, existe a restrição de que haja somente dois pontosde divisão do sinal entre a central de comutação e o usuáriofinal (nó primário e nó secundário). Uma outra restriçãoimportante é a limitação do número de ramificações de cadanó. Em geral o produto do número de ramificações dos doisnós deve ser menor do que uma constante determinada porcritérios técnicos (por exemplo, 32). Assim, os pontosprincipais a serem otimizados no planejamento de uma redePON são: o número de divisões em cada nó e a localizaçãoprecisa de cada n6 na rede física, de modo a minimizar aatenuação do sinal e a quantidade de fibras utilizadas. Alémdisto, o roteamento dos dutos por onde os cabos devem passar,bem como os pontos de colocação dos divisores passivos, sãofortemente restringidos pelos dutos subterrâneos já existentes(ou postes, no caso de cabeamento aéreo), o seu .uso (outroscabeamentos pré-existentes), o seu acesso (ruas e alçapões deacesso) e finalmente o custo da construção de dutos específicosem função da localização geográfica dos clientes. Outrosfatores de engenharia tais como a confiabilidade da rede e aqualidade do serviço impõem restrições técnicas adicionais àrede. Um fato que torna ainda mais complicada a implantaçãode uma rede de acesso é que o planejamento deve levar emconta também o crescimento futuro da demanda dentro de umdeterminado horizonte de tempo . Estes fatores todos fazemcom que o planejamento de uma rede desta natureza seja uma

66

tarefa bastante complexa e com inúmeras possibilidades, sendotambém um caso de otimização multiobjetivos. ' O uso de AGspara este tipo de planejamento é urna alternativa válida(Brittain et ai, 1997) e que traz grande flexibilidade,principalmente pela facilidade de incorporar as restrições noproblema e pela possibilidade de fornecer diversas soluçõespossíveis.

Um problema de natureza muito semelhante ao anteriormentediscutido, é o planejamento de redes de comunicação de dadosgeograficamente distribuídas. O problema consiste em seestabelecer ligações (links) entre determinados n6s de uma redeonde se concentram outras subredes de computadores. Aconfiguração da topologia do backbone de comunicações develevar em consideração não s6 a demanda de tráfego presente efutura entre os nós, como também a capacidade e aconfiabilidade das conexões e o método de roteamento econtrole em cada n6 (pierre & Legault, 1998) . Este problemade projeto é conhecido como sendo NP-hard. A utilização deAGs para esta tarefa se mostra mais eficiente do que métodostradicionais à medida que o número de n6s e conexõesaumenta. O uso de AGs como ferramenta computacional deprojeto de redes tem sido reportado com sucesso tanto para aotimização e expansão de redes pré-existentes (Kumar et ai,1995), quanto para a otimização da topologia e do fluxo detráfego entre n6s em novos projetos (Dengiz et ai, 1997; Pierre& Legault, 1998).

A questão do roteamento em redes de computadores de longadistância (WAN-Wide Area Network), é um problema maisgeral do que o anteriormente mencionado. Numa rede WANpodem existir inúmeros nós, usualmente com muitas conexões(links) cada. Os mesmos parâmetros já citados no parágrafoprecedente norteiam o projeto do esquema de roteamento emcada n6. Entretanto, dada à característica dinâmica da Internet,muitas vêzes um roteamento dinâmico é mais eficiente. Cox,Davis e Qui propuseram o uso de AGs para resolver oproblema de roteamento dinâmico antecipado em tempo-real(Cox et ai, 1991). Neste trabalho .é levado em consideração oestado corrente da rede como um todo, a lista de solicitaçõesem espera, bem como o tráfego corrente em cada segmento. OAG proposto busca no espaço de todas as permutações possívelde tal maneira a obter a melhor configuração de roteamento darede, suprindo cada solicitação com a menor rota possível ecom a largura de banda necessária. Outra abordagemsemelhante é apresentada por Sevenster e Engelbrechtmostrando a eficácia de AGs para o problema de roteamentoem redes de comunicações (Sevenster & Engelbrecht, 1996).

Algo semelhante ao planejamento de redes de acesso asistemas de comunicação, anteriormente discutido, é oproblema do planejamento de redes locais de computadoresutilizando a tecnologia WLAN (Wireless Local AreaNetwork). O uso de WLANs tem aumentado recentemente e oseu futuro deve ser muito promissor à medida que os seuscustos venham a cair. Esta tecnologia de redes locais éapropriada para ambientes onde o cabeamento físico é dedifícil implementação ou mesmo impossível. Exemplos deaplicação seriam ambientes industriais onde as condiçõesambientais não permitem a colocação de cabos, estações detrabalho m6veis ou robôs/veículos autoguiados. Dada umadeterminada configuração de pontos terminais (estações detrabalho), é necessário posicionar adequadamente um certonúmero de estações rádio-base que provêm a cobertura de rádioadequada para a área. O custo de uma rede WLAN édiretamente proporcional ao número de estações rádio-base e,.portanto, é necessário minimizar o número destas estações ,

Anais do 4°Slmpós!o Brasileiro de Automação Inteligente

Page 4: ALGORITMOS GENÉTICOS EM PROJETOS DE ...Algoritmos Computação Programação Genética, os Classificadores, Estratégias três A Computação Evolucionária , denominada Neurais Sistemas

posicionando-as estrategicamente. O número e oposicionamento das estações rádio-base são influenciados poroutros fatores: a distribuição dos pontos terminais na área, aintensidade de tráfego de cada terminal, e principalmente ascaracterísticas de propagação do sinal entre cada estação rádio-base e cada terminal (atenuação do sinal e interferência entrecanais) . Por ser um problemamultiobjetivos relativamentedifícil, diversos métodos heurísticos já foram propostos para asolução deste problema. A utilização de um AG hierárquicodemonstrou excelentes resultados permitindo a obtenção de umconjunto de Pareto que satisfaça os objetivos simultâneos aserem otimizados (Man et ai, 1999; Tang et ai, 1997). Estesresultados mostram que AGs são uma ferramenta adequada eeficiente de projeto de engenharia, permitindo ao ·projetista darede a flexibilidade de escolher entre possíveis soluçõessatisfatórias para uma determinada configuração.

2.3 Equalização de canal de comunicaçãodigital

A interferência intersimbólica está freqüentemente presente emsistemas de comunicação digital. A distorção do sinalresultante deste tipo de interferência é devida ou à restrita faixaespectral alocada para o canal ou aos problemas na propagaçãodo sinal. No receptor, a interferência intersimbólica deve ser,de alguma maneira, compensada através da equalização docanal, com o objetivo de reconstruir os símbolos transmitidos .O sistema de equalização do receptor é ajustado a partir de umtreinamento prévio onde as características implícitas do canalde comunicação são "aprendidas" pelo equalizador. A partirdeste ponto, o equalizador é capaz de se adaptar , dentro decertas limitações, às vadações dinâmicas das características docanal de comunicação, podendo, assim; restaurar o sinalrecebido. Entretanto, por inúmeras razões , nem sempre épossível realizar o treinamento, como no caso de transmissõesem broadcasting. Neste tipo de situação o equalizador deve seajustar baseando-se somente nas observações de ruído docanal, sem acesso a uma fonte de referência. Isto é conhecidocomo equalização cega, para a qual inúmeras técnicasalgorítmicas já foram desenvolvidas. Chen et ai (1997)propuseram a utilização de um AG para ajustar a função decusto HOC (high-order cumuiants) na equalização cega decanais de comunicação digital, obtendo bons resultados. Nestaaplicação, a abordagem do problema com AGs mostrou sermais eficiente e rápida do que a abordagem com SimulatedAnnealing. De maneira análoga, White e Flockton (1994)também reportaram com sucesso a utilização de AGs paraequalização de canais de comunicação digital.

. 3 .AGs EM ELETRÔNICA

3.1 Projeto de circuitos eletrônicosanalógicos e digitais

No projeto de um circuito eletrônico, objetiva-se encontrar umaestrutura de um circuito e o valor de seus componentes quefaçam com que as especificações iniciais do circuito sejamatingidas. Estas especificações podem ser, por exemplo, ·emrelação ao ganho/atenuação, banda passante, resposta emfreqüência, deslocamento de fase, tempo de resposta, distorçãoharmônica, etc. Supondo-se inicialmente que a. estrutura docircuito seja fixa, pode-se utilizar o AG para fazer uma buscano espaço dos valores dos componentes (em geral, valoresdiscretos) que otimize o circuito, levando-se em consideraçãoum ou mais objetivos (Horrocks & Spittle, 1993). Esteproblema certamente de trata de otimização multiobjetivos, já

Anais do 4 ·Slmpósio Brasileiro de Automação Inteligent

67

que o desempenho de um circuito eletrônico pode sermensurado de inúmeras formas diferentes, consoante às suasespecificações. Esta abordagem é particularmente interessantepara circuitos de grande complexidade. A utilização de AGspara a otimização dos valores/tipos dos componenteseletrônicos de um circuito pressupõe o acoplamento com umsoftware de simulação de circuitos eletrônicos do tipo SPICEou semelhante (Haikarainen et al, 1996), principalmente paracircuitos analógicos. Para o caso da síntese de circuitosdigitais, utilizando AGs (Arslan et al, 1993; Coello et ai,1997), o próprio programa faz a simulação do circuito, quepode ser descrito por equações lógicas. Casos particulares douso de AGs para o projeto de circuitos digitais baseados emFPGAs (Field Programmable Gate Array) também sãorelatados recentemente (MilIer & Thomsom, 1998; Thomson,1997).

Com certas restrições, um AG também poderia ser utilizadopara uma busca não no espaço de valores dos componentes,porém, no .espaço de busca da topologia do circuito. Entretantoesta tarefa envolve uma complexidade muito maior, visto queos graus de liberdade muito maiores (até mesmo, infinitosgraus de liberdade poderiam existir) . A codificação usual deAGs pressupõe estruturas de tamanho fixo, não oferecendo,assim, a flexibilidade necessária para tratar expressões detamanho variável. Para tanto, o paradigma da ProgramaçãoGenética - PG (Koza, 1992) é mais adequado. De fato, Koza ecolaboradores (Koza et al, 1997; Koza et ai, 1999) têmrealizado intensas pesquisas na utilização de PG para a síntesede circuitos eletrônicos analógicos e digitais e obtido bonsresultados com esta abordagem.

A discuss ão anterior refere-se primordialmente a circuitosanalógicos que utilizam componentes discretos . Na área deprocessamento digital de sinais (PDS), um sinal analógico éamostrado digitalmente e as funções de um circuito é realizadapor software, através da manipulação matemática de umdeterminado número de amostras do sinal. Uma das áreas maisimportantes dentro de PDS é o projeto de filtros digitais. Existeuma grande quantidade de tipos de filtros digitais, usualmentedivididos em filtros de resposta finita ao impulso (FIR) e deresposta · infinita (ITR), sendo que, em geral, há um métodomatemático predefinido para cálculo de seus coeficientes.Algumas vezes, entretanto, a obtenção dos coeficientes écomplexa ou demanda algoritmos iterativos podendo, emcertos casos, ter uma complexidade computacional duplamenteexponencial (Undrill et al, 1997). Neste tipo de aplicação, cadacoeficiente do filtro é uma variável contínua, portanto, oespaço de busca é, a princípio, infinito, apenas limitado pelaprecisão desejada. Inúmeras variações de AGs têm sid ópropostas para o cálculo de coeficientes de filtros, em especialpara filtros recursivos e fiitrosstack (Cemes & Ait-Boudaoud,1993; Flockton & White, 1993; Tang et ai, 1998a; White &Flockton, 1994), demonstrando, assim a sua aplicabilidade eeficácia.

3.2 Projeto de circuitos integradosUma outra faceta desta área de aplicação é o projeto decircuitos integrados em VLSI (very large scale integration). Aaplicação de AGs nesta área em particular tem sido bastanteintensa. Algumas ferramentas de software tradicionais, comopor exemplo, VHDL e Verilog, já estão integrando AGs paraotimização de diversas tarefas no projeto,' layout e teste decircuitos integrados VLSI (Mazumder & Rudnik, 1999) .

Page 5: ALGORITMOS GENÉTICOS EM PROJETOS DE ...Algoritmos Computação Programação Genética, os Classificadores, Estratégias três A Computação Evolucionária , denominada Neurais Sistemas

A síntese de circuitos integrados VLSI consiste, basicamente,na transformação de uma especificação funcional do circuitoem uma representação de baixo nível como, por exemplo,esquemáticos e layouts. Com a crescente demanda por circuitosintegrados (Cls) cada vez mais rápidos e mais complexos, umaotimização eficiente do seu projeto pode economizar quantiasimensas quando o componente é produzido em larga escala. Osproblemas básicos neste tipo de otimização são: a minimizaçãoda área da pastilha de silício (que é função da quantidade deunidades lógicas), minimização da potência consumida (que éfunção da quantidade de unidades lógicas e da .velocidade defuncionamento) e a maxímízação da velocidade defuncionamento do circuito. Martin e Knight (1993) apresentamum sistema computacional baseado em AOs para a otimizaçãoda síntese de Cls para dois problemas típicos de projeto. Os. resultados obtidos atestam a eficiência da abordagem para atarefa, bem como sugerem que a otimização por AOs possa serutilizada também em outras fases do ciclo de projeto de Cls.

A nível de projeto físico de um CI VLSI, isto é, de layout, AOstambém têm uma grande aplicabilidade. Uma vez definido oprojeto eletrônico do circuito, os componentes são agrupadosem unidades funcionais denominadas de macrocélulas. Estasmacrocélulas são blocos retangulares de tamanho variado ecorri terminais nas suas bordas. Os terminais são conectadospor condutores a outros terminais em outras macrocélulas.Alguns terminais devem ser conectados externamente ao Cl , Olayout define as posições das macrocélulas e as rotas doscondutores que as interligam. O problema do layout em VLSIé basicamente igual ao problema do roteamento de placas decircuito impresso, anteriormente discutido . Entretanto nesteproblema é desejável que tanto a definição da posição dasmacrocélulas quanto o roteamento em si sejam feitos demaneira automática, o que toma o problema ainda maiscomplexo computacionalmente. Uma solução para esteproblema foi proposto por Schnecke e Vornberger (1997),utilizando AOs paralelos . A comparação desta técmoca comoutras descritas na literatura , utilizando um benchmark,demonstrou a superioridade e escalabilidade da abordagemcom AOs. Outros trabalhos recentemente publicados tambémenfatizam o sucesso do uso de AOs tanto para a tarefa deroteamento de VLSI (Davidenko et ai, 1997; Lienig, 1997),como· também a otimização da colocação das macrocélulas(Wang & Chen, 1995) e para teste e simulação dêfalhas decircuitos (Rudnik et ai, 1997).

3.3 Projeto de fiação impressa emontagem

Bastante semelhante à discussão anterior, é o projeto do layoutde placas de circuito impresso (pCn multicamadas . Existeminúmeros softwares disponíveis para roteamento automático dePCI, sendo que a maioria deles é de um custo bastante elevado.Num projeto de PCI, a disposição física dos componentes é, emgeral, definida pelo projetista·, em função de fatores não sóestéticos (tipo e tamanho dos componentes, distribuiçãoorganizada sobre a PCI, etc), como também técnicos(dissipação de potência, proximidade de conectores, facilidadede acesso e manutenção dos componentes, . etc). . Após adefinição da localização de cada componente eletrônico énecessário interligar fisicamente os terminais dos componentesentre si através de filetes de cobre (trilhas). Estas ligaçõesseguem o esquema elétrico definido pelo projeto do circuitoeletrônico . O caminho que percorre uma trilha de um terminalaté outro não pode cruzar outra trilha na mesma superffcie, oque causaria um curto-circuito. O roteamento automático

68

realizado por certos softwares consiste em encontrarsequencialmente trilhas não-conflitantes entre si interligando ospontos necessários, até que todos os terminais sejamconvenientemente conectados, Isto é realizado utilizando-seum, dois ou múltiplos planos de interligação, o que caracterizaplacas de face simples, face dupla ou rnulticamadas. Osalgoritmos de roteamento automático usualmente são derivadosda teoria dos grafos, porém nem sempre são eficientes paraPCls com muitos componentes e ligações. A busca de umasolução ótima para o roteamento de PCIs é inviável para amaioria dos casos, já que o custo computacional desta soluçãoé extremamente elevado. A utilização de AOs para o problemade roteamento automático de PCIs é ainda uma área de poucapesquisa, porém já com resultados promissores (Tanomaru &Oka, 1995).

Correlacionado ao projeto da PCI está o processo de fabricaçãodas placas de circuitos eletrônicos. A nível industrial, amontagem dos componentes eletrônicos sobre a PCI (paraposterior soldagem) é feita por máquinas automáticas queseguem uma programação específica. .Minimizar o tempo decolocaçãolsoldagem significa diminuir custos de produção.Este é um problema semelhante ao.clássico "caixeiro viajante",porém mais complexo, pois é restrito por questões de 'tempo,prioridades, roteamento, etc. AOs também foram utilizadossatisfatoriamente para este problema na indústria eletrônica(Lindhorst, 1998).

4 AGs EM SISTEMAS ELÉTRICOS DEPOTÊNCIA

A operação de um sistema de geração e distribuição de energiaelétrica envolve , entre outras atividades, o planejamento, aprevisão e o despacho de -carga. O planejamento visa estruturaro crescimento da oferta de energia elétrica para o futuro, e éfeito com base em um horizonte de até vários anos. A previsãode carga consiste na estimação antecipada da energia elétrica aser consumida em uma região, e é baseada principalmente emdados históricos. A grosso modo, execução propriamente ditada previsão de carga é o despacho de carga. Esta atividadeconsiste no gerenciamento integrado do sistema geração-distribuição. Isto é, ativar quantas unidades geradoras deenergia forem necessárias para suprir a demanda decarga emdiversas regiões. Deve ser levado em consideração não só aflutuação da demanda com a hora do dia, como também ascapacidades de geração das usinas e de transmissão das linhas.Variáveis adicionais, tais como a compra e venda de energia deoutras concessionárias, variações climáticas inesperadas emanutenções programadas tornam o despacho de carga umatarefa de alta complexidade que demanda, além profissionaisaltamente especializados, softwares auxiliares sofisticados. Aliteratura recente tem mostrado uma grande quantidade deaplicações de AOs no problema do despacho de carga(Bakirtzis et ai, 1994; Chen & Chang, 1995; Li et al; 1994;Wong & Wong, 1994). A principal característica de taisaplicações é o lucro gerado para as operadoras em função daotimização do sistema, que passa a operar de maneira maiseconômica e segura. .Este problema é particularmenteinteressante para AOs não só pela sua complexidade, mastambém por ser dinâmico.

Um subproblema do despacho de carga, bastante conhecido deempresas geradoras de eletricidade (em especial dos setores degeração de energia), é a questão do comissionamento deunidades geradoras. O problema se trata da decisão de quantas.e quais unidades geradoras de energia devem ser utilizadas

Anais do 4°Simpósio Brasileiro de Automação Inteligente

Page 6: ALGORITMOS GENÉTICOS EM PROJETOS DE ...Algoritmos Computação Programação Genética, os Classificadores, Estratégias três A Computação Evolucionária , denominada Neurais Sistemas

num determinado momento. O tempo de colocação emfuncionamento de uma unidade geradora pode ser grande,quando comparado com a velocidade de variação da demandade energia . De maneira análoga, não é econômico o.funcionamento de unidades geradoras quando não há demanda.Além disto também existem inúmeros aspectos que impõemoutras restrições ao problema: o número, capacidade, tipo elocalização geográfica de cada unidade o tempo deacionamento e desligamento de uma unidade geradora, adisponibilidade e a capacidade das linhas de transmissão, aquantidade e localização da demanda de energia e finalmente aprevisão da demanda. A maneira tradicional de abordagemdeste problema é através de programação inteira-mista commétodos de relaxação, entretanto Hassoun (1994) utilizou ummétodo global de otimização através de AGs e redes neuraispara resolver o problema. Este projeto provou que o uso destastécnicas avançadas pode trazer uma considerável economiapara empresas do setor elétrico. Especificamente quando asunidades de geração são termoelétricas, fatores econômicos,além dos técnicos, são preponderantes: cada usina tem custosde .operação distintos e obviamente deseja-se tainbémminimizar os custos totais de operação do sistema. Dasgupta eMcGregor (1994) e ainda Michalewicz et al (1996) mostraramo uso de AGs para problemas desta natureza . ..

A energia elétrica gerada deve ser transmitida por linhas detransmissão de alta tensão até os pontos de consumo (incluindorebaixamento de tensão) . Um sistema integrado de geração edistribuição de energia elétrica normalmente tem algumaredundância na transmissão, de tal modo que a energia podechegar a um ponto de carga por mais de um caminho. Desligaruma linha de transmissão pode significar sobrecarga de outrase, talvez, blackouts localizados. Entretanto, mesmo assim amanutenção preventiva deve ser regularmente executada . Logo,o planejamento da manutenção de linhas de transmissão de altatensão deve ser muito cuidadoso e organizado . O plano demanutenção deve minimizar os custos, levando em.consideração a demanda regional de energia , as capacidadesdos geradores e suas disponibilidades, a capacidade detransmissão da linha e das demais linhas que não serãodesligadas simultaneamente. Nesta aplicação, ' AGs ·tambémtêm se mostrado úteis em problemas reais. Por exemplo , naNational Grid Pie, empresa que administra as linhas detransmissão na Grã-Bretanha, este complexo planejamento érealizado pelos seus engenheiros com o auxílio de AGs(Langdon, 1996).

Inúmeras outras aplicações de AGs em sistemas elétricos depotência têm sido reportadas na literatura, tais como a. localização ótima de seccionadores em redes de distribuição debaixa tensão (Levitin, 1994), otirnização da potência reativa(lha, 1994; Lee et al, 1995), otiinízação da temporização derelés de proteção automáticos (Alander et al, 1997),planejamento e expansão de sistemas de geração (Fukuyama &Chiang, 1996) e distribuição em baixa e média tensão(Barczynski et al, 1999) e at é: mesmo determinação deparâmetros de motores de indução (Haque et ai, 1995). · .

5 AGs EM MECATRÔNICA E CONTROLE

5.1 RobóticaA robótica é uma área de fronteira entre as EngenhariasElétrica e Mecânica, o que é corroborado pelo recentesurgimento da Engenharia Mecatrônica.

Anais do 4 ·Slmpósio Brasileiro de Automação Intellgent

69

AGs têm sido mais freqüentemente aplicados a um problemaclássico (e suas variações) na área de robótica: o planejamentode trajetórias tanto para manipuladores robóticos, quanto pararobôs móveis. O planejamento de trajetórias é um problema dotipo ordem-dependente, posto que é fundamental seguir umaseqüência de pontos (posições/orientações no ·espaço detrabalho do robô) para que o efetuador possa atingir o pontoobjetivo desejado. De maneira análoga, para robôs móveis, orobô deve seguir uma trajetória no plano de tal maneira a evitarobstáculos e atingir um determinado ponto. Uma trajetóriapode ser gerada e/ou otimizada satisfatoriamente com AGsdesde que a codificação utilizada permita a representação detamanho variável dos indivíduos. Isto é necessário pois cadaindivíduo representará uma possível trajetória , e esta pode terum número variável de pontos (Davidor, 1991a). A otirnizaçãoda trajetória pode ser feita com base em um ou mais critériosbem definidos, por exemplo, o menor deslocamento possívelentre o ponto inicial e final, o menor tempo possível dedeslocamento, a menor energia gasta no trajeto, etc. ISto tudotoma o problema da geração de trajetórias altamentemultimodal e multidimensional, Adicionalmente pode-serequerer que a trajetória passe por determinados pontos, o querestringe a variação possível do ângulo de determinadas juntasde um manipulador . Estas restrições quando consideradas' noconjunto representam um problema de elevada complexidade eo uso de AGs tem se mostrado altamente eficiente quandocomparado com métodos tradicionais (Davidor, 1991a; Lee &Lee, 1997; Toogood et al, 1995). .

Uma variante do planejamento de trajetórias é a determinaçãoda cinemática inversa de manipuladores, isto é, dado um pontono espaço de trabalho do robô, determinar qual é a coordenadano espaço de juntas. Este problema é bem mais complexo doque a cinemática direta (que tem uma única solução), pois podeter nenhuma, apenas uma, ou múltiplas soluções. Neste casoem particular, AGs tem sido eficazes para a determinaç ão detrajetórias no espaço das juntas, tanto para manipuladores não-redundantes , quanto para manipuladores redundantes (GebaraJúnior et al, 1999; Silveira et ai, 1994).

O objetivo-chave da robótica móvel é fazer com que o robônavegue através de um ambiente até uma posiçãopreestabelecida, sem coldir com os obstáculos presentes. Édesejável também que o robô possa navegar através de umgrande número de diferentes configurações do ambiente.Tradicionalmente este problema tem sido atacado através detécnicas de Inteligência Artificial .simbólica, porém comresultados ainda aquém do ideal. AGs têm sido utilizados paraa otimização dos parâmetros de controle da navegação do robô(Ram et al, 1994) e, em especial, no planejamento da trajetória(Davidor, 1991b).

5.2 Identificação de Sistemaso princípio básico da identificação de sistemas é: a partir deum modelo conhecido de estrutura e de um conjunto deentradas e saídas, estimar os parâmetros do referido modelo.Em alguns casos o modelo do sistema é bem conhecido eatravés de métodos matemáticos é possível a determinaçãoeficaz do valor dos parâmetros . Entretanto, quando a estruturanão é perfeitamente conhecida ou o sistema envolve não-linearidades, ruído ou outros fatores complicadores, asabordagens tradicionais podem não ser viáveis . Nestes casos aabordagem do problema utilizando AGs passa a serinteressante, em particular para sistemas não-lineares,contínuos ou discretos. A identificação de sistemas é uma áreade intensa aplicação principalmente em engenharia de controle

Page 7: ALGORITMOS GENÉTICOS EM PROJETOS DE ...Algoritmos Computação Programação Genética, os Classificadores, Estratégias três A Computação Evolucionária , denominada Neurais Sistemas

e AGs podem ser utilizados para a identificação em sistemascontínuos e discretos, lineares enão-lineares, identificação depolos e zeros ou mesmo parâmetros físicos de um sistema(Kristinnson & Dumont, 1992; Tan & Li, 1997). Também AGsforam utilizados para a identificação de parâmetros desistemasfitzzy (Yen & Gillespie, 1995), e para a modelagemdesistemas físicos específicos (Tzes et al, 1998). Iba et ai (1993)apresentam um AG diferente para a identificação de sistemas.Nesta proposta a representação cromossômica é estruturada detal maneira a evitar a explosão combinatória à medida queaumenta o número de parâmetros do sistema investigado. Estaabordagem. de fato, é um AG mais próximo da ProgramaçãoGenética, que efetivamente consegue manipular com maiseficiência problemas desta natureza (Koza, 1992).

5.3 Sistemas de Controleo projeto de sistemas de controle em geral é baseado emmétodos algébricos clássicos que são eficientes para a: maioriadas aplicações práticas. Não obstante, AGs também podem seraplicados em problemas de controle linear e não-linear e desistemas dinâmicos que envolvam uma complexidade maiselevada (Fleming & Fonseca, 1993; Krishnakumar &Goldberg, 1992; Marrison & Stengel, 1997; McGregor et ai,1992; Míchalewicz et al, 1992). De igual modo, a aplicaçãoprática em controle de processos industriais, tais comomostrado em Chipperfield & Fleming (1996), Coelho &Coelho (1998) e Nordvik & Renders (1991), são usuais.

Porém, onde AGs têm tido mais amplamente utilizados é noprojeto de controladores com Iógica jazzy, uma área de intensapesquisa e farta bibliografia. A grosso modo, o uso de AGs emsistemas de controle fitzzy pode ser dividido em duas grandescategorias: otimização de funções de pertinência e otimizaçãoda base de regras. No primeiro caso, as funções de pertinênciaque caracterizam os conjuntos fitzzy podem ter uma grandevariedade de formas e, em geral, são parametrizadas. A escolhacorreta da forma e dos parâmetros das funções de.pertinêncianão é trivial, principalmente considerando-se um sistema commuitas variáveis lingüísticas. AGs para este tipo de aplicaçãoem geral objetivam definir a forma (e os parâmetros) doconjunto total de funções de pertinência de um controladorfitzzy' (Karr, 1991). O outro caso, a otimização da base deregras, tem sido ainda mais pesquisado, pois consiste de umproblema bem mais desafiador. A questão crítica é a explosãocombinatória que ocorre no projeto de controladores com umgrande número de variáveis e de funções de pertinência. Porexemplo, com n variáveis e m funções de pertinência, podemexistir n" regras possíveis. Quanto maior o número de regras,mais tempo de processamento será consumido, podendo atémesmo inviabilizar o uso em tempo-real do controlador. Oconjunto de regras deve ser, portanto, o menor possível e omais adequado possível para a função de controle. Esta é umatarefa muito difícil por ser multimodal e descontínua, o quenormalmente demanda algum conhecimento empírico dosistema controlado. O uso de AGs para esta tarefa podefacilitar sobremaneira o projeto de controladores lógicos fitzzy(Baitinger & Kropp, 1993; Cho et al, 1997; Park et al, 1993;Pham & Karaboga, 1991). Não obstante, inúmeros trabalhosutilizam AGs de forma integrada no projeto automático decontroladores lógicos fuzzy, otimizando tanto as funções depertinência quanto a base de regras fuzzy (Carse et ai, 1996;Chiang et ai, 1997; Heider & Drabe, 1997; Homaifar &McCormick, 1995; Tang et ai, 1998b). Esta metodologia temdemonstrado ser muito superior ao tradicional procedimento detentativa e erro que muitas vezes é inviável em termos práticos.

70

6 DISCUSSÃO E CONCLUSÃO

6.1 AGs como método de engenhariaOtimização é um tópico que aparece usualmente em quase todapublicação importante principalmente nas áreas de Engenharia.Ao desenvolver um projeto, não necessariamente o engenheiroo faz de maneira otimizada. Um projeto real de engenhariaenvolve usualmente uma grande quantidade de parâmetros quedevem ser definidos de maneira a satisfazer um conjunto derestrições de projeto ao mesmo tempo que satisfaz uma ou maisespecificações. Assim, otimizar um projeto de engenhariademanda experiência e tempo, e pode ser uma tarefa bastantedifícil, mesmo para engenheiros experientes. A utilização deAG's pode facilitar a tarefa de projeto, convergindorapidamente para um conjunto quase-ótimo (ou mesmo ótimo)de parâmetros, manipulando inúmeras limitações impostas pelousuário ou · pelo projeto. Neste artigo foram apresentadasinúmeras referências de trabalhos de engenharia (enfocando aárea de Engenharia Elétrica) que efetivamente utilizaram COmsucesso AGs como ferramenta.

O processo criativo e inovador implementado por AGs éfacilmente compreensível: a partir de um conjunto de possíveissoluções para um problema, seleciona as melhores, aproveita oque de melhor cada uma tem, recombina-as, adapta-as e geranovas soluções. Este refinamento iterativo é o queintuitivamente se faz para resolver problemas não só deengenharia, com também de outras áreas.

AGs são facilmente adaptáveis a inúmeras classes deproblemas, são robustes e são fáceis de hibridizar com outrastécnicas. Além disto, exploram satisfatoriamente espaços debusca de grande dimensionalidade, assim como manipulamcom certa facilidade um grande número de restrições, fatoresestes comuns em projetos de engenharia. O custocomputacional de implementação é baixo, sendo um algoritmosimples e também facilmente paralelizável. Estes fatores todostomam AGs métodos muito atraentes para a área deengenharia.

6.2 Perspectivas FuturasProjeto é normalmente uma atividade chave em engenharia e éconsiderada uma atividade que requer uma considerávelcriatividade aliada a profundo conhecimento técnico. Atémesmo a definição própria .do termo "projeto" pode sercomplicada, posto que ele pode ser interpretada de diversasmaneiras, dependendo da tarefa a ser executada. Emboratenham sido investidos muitos esforços no sentido de sedesenvolver programas e sistemas para o auxílio a projeto emdiversas áreas da engenharia, tais programas são notoriamentedifíceis de desenvolver. e com eficiência limitada. Nestetrabalho foram citadas inúmeras tarefas de projeto deengenharia, com por exemplo, planejamento de redes decomunicação, projeto de circuitos eletrônicos e otimização desistemas produção e distribuição de energia elétrica. Asferramentas atualmente disponíveis de auxilio a projeto emengenharia são fortemente baseadas no conhecimento doprocesso de projeto. Isto as torna profundamente dependentesda área específica de aplicação, sendo muito difícil. Autilização de AGs como ferramenta de projeto nos diversosexemplos aqui descritos, ·atesta o surgimento de um novoelemento como importante ferramenta de auxílio aengenheiros. Embora neste trabalho seja mostrada apenas uinapequena gama de aplicações numa área específica, AGs têm.sido aplicados com sucesso em inúmeras outras áreas das

Anais .do 4°Simpósio Brasileiro de Automação Inteligente

Page 8: ALGORITMOS GENÉTICOS EM PROJETOS DE ...Algoritmos Computação Programação Genética, os Classificadores, Estratégias três A Computação Evolucionária , denominada Neurais Sistemas

Engenharias (Computação, Mecânica, Química, Civil, etc). Istomostra que além de robustez e eficiência, AGs também sãométodos genéricos. Num contexto mais amplo, não s6 AGscomo também outros paradigmas da ComputaçãoEvolucionária também estão se popularizando. No passado, afilosofia Projeto Auxiliado por ComputadorlEngenhariaAuxiliada por Computador (do inglês CAD/CAE) modificaramradicalmente a prática profissional do engenheiro moderno,especialmente aqueles dedicados à área de projetos. É provávelque brevemente venham a emergir novos conceitos: <iProjetoAuxiliado por Algoritmos Genéticos (PAAG) e a EngenhariaAuxiliada por Algoritmos Genéticos (EAAG). O status-quo dapesquisa atual em AGs aplicados indica que brevemente,estarão disponíveis sistemas de desenvolvimento de aplicaçõesbaseadas em AGs, dispensando o potencial usuário danecessidade de programação em baixo nível. Um sistema destanatureza será um tipo de shell (analogamente às primeirasferramentas para desenvolvimento de sistemas baseados emregras em Inteligência Artificial ). A disporÍibilização de taisferramentas certamente virá a popularizar ainda mais o uso deAGs especialmente no -âmbito de usuários que desenvolvem'tarefas de planejamento e projeto em engenharia.

6.3 ConclusãoCertamente AGs vieram para ficar; não são apenas uma"tecnologia da moda"; tal afirmação é suportada pela imensaquantidade de aplicações bem sucedidas. O principal fatorresponsável pelo sucesso de AGs em aplicações de engenhariaé relacionado à sua eficácia. Nos inúmeros exemplos citadosneste trabalho e em muitos outros, a característica fundamentalé que o AG de fato é capaz de ser uma ferramenta eficaz para asolução dos problemas envolvidos em projetos de engenharia.Esta eficácia traz em si um fator de ganho, em geraleconômico, já que AGs em muitas aplicações vêm direta ouindiretamente gerar algum tipo de lucro, seja por obter melhordesempenho ou melhor qualidade do produto/processo. O usode AGs em si é uma forma de inovação importante comométodo de engenharia. Possivelmente em brevetestemunharemos a sua difusão e assimilação na práticaprofissional e nos currículos dos cursos de engenhariamodernos.

REFERÊNCIAS BIBLIOGRÁFICAS

Alander, J.T., T. Mantere & G. Moghadampour (1997).Searching protection relay response time extremes usinggenetic algorithm - software quality by optimization ..Proceedings of the 4,h lntemational Conference onAdvances in. Power System Control, Operation &Management, Hong Kong, v. 1, p. 95-99.

Arslan, T., E. Ozdemir, M.S. Bright, M.S. & D.H. Horrocks(1993). Genetic synthesis techniques for low-powerdigital signal processing circuits. Proceedings of the I'On-line Workshop _on Soft Computing., Nagoya, Japan,[sp].

Baitinger, U.G. & K. Kropp (1993). Optimization of fuzzylogic controller inference roles using a genetic _algorithrn. Proceedings of r' European Congress onFuzzy and Intelligent Technologies, v. 2, p. 1090-1096.

Bakirtzis, A.G., V. Petridis & S.A. Kazarlis (1994). Geneticalgorithm solution to the economic dispatch problem.

Anais do 4 oSimpósio Brasileiro de Automação Intellge!lt

71

IEE Proceedings par! C: Generation, Transmission andDistribution, v. 141, n. 4, p. 377-382.

Barczynski, D, P. Helt, M. Parol & P. Piotrowski (1999). ANNand EA in electrical distribution network optimisation.In Szczepaniak, P.S., Computational lntelligence andApplications.Heidelberg: Physica-Verlag, p. 94--107.

Brittain, D., J.S. Williams & C. McMahon (1997). A geneticalgorithm approach to planning the telecommunicationsaccess network. Proceedings of the 7,h IntemationalConference on Genetic Algorithms, -East Lansing, USA,p.623-628.

Carse, B., T.e. Fogarty & A. Munro (1996). Evolving fuzzyrole based controllers using genetic algorithms. FuZt..-ySets and Systems, v. 80, n. 3, p. 273-293 .

Cernes R. & D. Ait-Boudaoud (1993). Genetic approach todesign of multiplierIess FIR filters. Electronic Letters,v. 29,n. 24,p.2087-2088.

Chen, P-H. & H-C. Chang (1995). Large-scale economicdispatch by genetic algorithrn. IEEE Transactions onPowerSystems, v. 10, n. 4, p. 1919-1926.

Chen, S, Y. Wu & S. McLaughlin (1997). Genetic algorithrnfor blind channel identification with higher ordercumulant fitting. IEEE Transactions 011 EvolutionaryComputation; v. 1, n. 4, p. 259-265.

Chiang, H.Y. Chung & J-J. Lin (1997). A self-learningfuzzy logic controHer using genetic algorithms withreinforcements.IEEE Transactions on Fuzzy Systems, v.5, n. 3, p. 460-467.

Chipperfield, A. & P.J. Fleming (1996) . Evolutionaryalgorithms for control engineering. Proceedings of 13thInternational Federation of Automatic Control WorldCongress, San Francisco, USA, p. 181-186.

Cho, H-J., K-B. Cho & B-H. Wang (1997). Fuzzy-PID hybridcontrol: automatic role generation using geneticalgorithms. Fuzzy Sets and Systems, v. 92, n. 3, p. 305-316.

CoeHo, C.A., A.D. Christiansen & A. Hemández-Aguirre(1997). Automated design of combinational logiccircuits using genetic algorithrns. Proceedings of theInternational Conference 0/1 Artificial Neural Nets andGenetic Algorithms, Norwich, England, p. 335-338.

Coelho, L.S. & A.A.R. Coelho (1998). Computationalintelligence in process control: fuzzy, evolutionary,neural and hybrid approaches. International Journal ofKnowledge-Based Intelligent Engineering Systems, v.2, n. 2, p. 80-94.

Cox, LA, L. Davis & Y. Qiu (1991). Dynamic anticipatoryrouting in circuit-switched telecommunicationsnetworks. In Davis, L. (ed.), Handbook of GeneticAlgorithms, New York: Van Nostrand Reinhold, p. 124-143.

Crisan, C. & H. Mühlenbein (1998) . The frequency assignmentproblem: a look at the performance of evolutionarysearch. Artificial Evolution 3 rd European Conference -Lecture Notes in Computer Science, v. 1363, p. 263-273.

Page 9: ALGORITMOS GENÉTICOS EM PROJETOS DE ...Algoritmos Computação Programação Genética, os Classificadores, Estratégias três A Computação Evolucionária , denominada Neurais Sistemas

Cuppini, M. · (1994). A genetic algorithm for channelassignment problerns. European Transactions onTelecommunications and Related Technologies, v. 5, n.2, p. 285-294.

Dasgupta, D. & Z. Michalewicz (1997). EvolutionaryAlgorithms in Engineering Applications. Berlin:Springer-Verlag.

Dasgupta, D. & D.R. McGregor (1994). Thermal unitcommitment using genetic aIgorithms. IEE Proceedings- part C: Generation, Transmission and Distribution, v.141, n. 5, p. 459-465. .

Davidenko, V.N., V.M. Kureichik, & V.V. Miagkikh (1997).Genetic algorithm for restrictive channel routingproblem. Proceedings of the t h IntemationalConference on Genetic Algorithms, East Lansing, USA,p.636-642.

Davidor, Y. (1991a). A genetic algorithm applied to robottrajectory generation. In Davis, L. (ed.), Handbook ofGenetic Algorithms. New York: Van NostrandReinhold,p·.144'165.

Davidor, Y. (1991b). Genetic Algorithms and Robotics:aHeuristic Strategy for Robotics. Singapore: WorldScientific Publishing.

Dengiz, B., F. Altiparmak & A. Smith (1997). Local searchgenetic algorithm for optimal design of reliablenetworks, IEEE Transactions on EvolutionaryComputation, v. 1, n. 3, p. 179-188.

Dome, R. & J.K. Hao (1995). An evoIutionary approach forfrequency assignment in cellular radio networks.Proceedings of the IEEE Intemational Conference onEvolutionary Computation, Perth, Australia, p. 539-544.

FIockton, S.J. & M.S. White (1993). Application of geneticalgorithms to infinite impulse-response adaptativefilters. In Ruck, D.W. (ed.), ScienceofArtificial NeuralNetworks lI, v. SPIE-1966, p. 414-419.

Fleming, P.J. & C.M. Fonseca (1993). Genetic algorithms incontrol systems engineering. Proceedings of n/h

Intemational Federation of Automatic Control WorldCongress, Sidney, AustraIia, v. 2, p. 383-390.

Fukuyarna,Y. & H-D. Chiang (1996). A paralIeI geneticaIgorithm for generation expansiori pIanning. IEEETransactions on Power Systems, v. l I, n. 2, p. 955-961.

Gebara Junior, M., AF. Santos & H.S. Lopes (1999). Inversekinematics of trajectories of redundant roboticmanipulators using genetic algorithrns. [submetido parapublicação].

Goldberg, D.E. (1989). Genetic Algorithms in Search,Optimization and Machine Leaming, Reading, USA:Addison-Wesley.

Haikarainen, S., H. Jokinen & M. Valtonen (1996). Geneticoptimization in circuit simulation. Proceedings of theBaltic Electronics Conference, Tallin, Estonia, p. 381-384.

Hao, J-K. & R. Dome (1996). Study of genetic search for the. frequency assignment probIem. Artificial Evolution 2nd

72

European Conference - Lecture Notes in ComputerScience, v. 1063, p. 539-544.

Haque, T., R. Nolan& J. Reynaud (1995). Parameterdetermination for induction motors. Proceedings of theIEEE SOUTHEASTCON'94,Miami, USA, p. 45-94.

Hassoun, M.H. (1994). Optimization of theUnit CommitmentProbIem by a CoupIed Gradient and by a GeneticAIgorithrn. EPRl Report TR-I03697, EIectric PowerResearch Institute, Palo Alto, USA

Heider, H. & T. Drabe (1997). Fuzzy system design with acascaded genetic algorithrn. Proceedings of IEEEIntemational Conference on Evolutionary Computation,Indianapolis, USA, p. 585-588.

Homaifar, A. & E. McCormick (1995). SimuItaneous design ofmembership functions and ruIe sets for fuzzy controllersusing genetic algorithms. IEEE Transactions on FuZZ)lSystems, v. 3, p. 129-139.

Horrocks, D.H. & M.C. Spittle (1993). Component valueseIection for active filters using genetic aIgorithms. InProceedings of the 1st On-line Workshop on SoftComputing., Nagoya, Japan, [sp).

Iha, H., T. Kurita, H. deGaris, H. & T. Sato (1993). Systemidentification using structured genetic algorithrns.Proceedings of the 5/h Intemational Conference onGenetic Algorithms, Urbana-Champaign , USA, p. 279-286.

Iha, K. (1994). Reactive power optimization by geneticalgorithm, IEEE Transactions on Power Systems, v. 9,n. 2, p. 685-692.

Kapsalis, A, P. Chardaire, V.J. Raynard-Smith & G.D. Smith(1995). The radio link frequency assignment probIem: acase study using genetic algorithms. EvolutionaryComputing A/SB Workshop - Lecture Notes inComputerScience, v. 993, p. 117-131.

Karr, C.L. (1991). Design of an adaptative fuzzy Iogiccontroller using a genetic algorithm. Proceedings of the4th International Conference ·on Genetic Algorithms,San Diego, USA, p. 450-457.

Koza, J.R. (1992). Genetic Programming, Cambridge: M1TPress.

Koza, J.R., F.H. Bennett m, H, D. Andre & M.A. Keane(1999). Genetic Programming lII. San Francisco, USA:Morgan Kaufmann.

Koza, J.R., F.H. Bennett m, D. Andre, M.A. Keane & F.DunIap (1997). Automated synthesis of analog electricalcircuits by means of genetic programming. IEEETransactions on Evolutionary Computation, v. 1, n. 2,p. 109-128.

Krishnakumar, K. & D.E. GoIdberg (1992). ControI systemoptimization using genetic algorithms. Joumal ofGuidance, Control , and Dynamics, v. 15, n. 3, p. 735-740

Kristinnson, K. & G.A. Dumont (1992). System identificationand controI using genetic aIgorithms. · IEEE

Anais.do 4°Simp6slo Brasileiro de Automação Inteligente

Page 10: ALGORITMOS GENÉTICOS EM PROJETOS DE ...Algoritmos Computação Programação Genética, os Classificadores, Estratégias três A Computação Evolucionária , denominada Neurais Sistemas

Transactions 011 Systems, Man and Cybemetics, v. 22,n. 5, p. 1033-1046.

Kumar, A, RM. Pathak, Y .P. Gupta, & H.R Parsaei (1995).Genetic algorithm based reliability optimization forcomputer network expansion. IEEE Transactions onReliability, v. 44, n. 1, p. 63-72.

Langdon, W.B. (1996). Scheduling planned maintenance of thenational grid. Evolutionary Computing AISB Workshop- Lecture Notes in Computer Science, v. 993, p. 132-153.

Lee, K.Y. & Y-M. Park (1995). Optimization method forreactive power planning by using a modified simplegenetic algorithm. IEEE Transactions on PowerSystems, v. 10, n. 4, p. 1843-1850.

Lee , Y.D . & B.H. Lee (1997). Genetic trajectory planner for amanipulator with acceleration parameterization. JournalofUniversal Computer Science, v. 3, n. 9, p. 1056-1073.

Levitin, G., S. Mazal-Tov & D. Elmakis (1994) . Optimalsectionalizer allocation in electric distribution systemsby genetic algorithm. Power Systems Research, v. 31, n.2, p. 97-102.

Li, F. , Y.H. Song & R Morgan (1994). Genetic algorithmsbased optimisation approach to power systemeconomicdispatch. Proceedings of the 29'h Universities PowerEngineering Conference, Galway, Ireland, v. 2, p. 680-683 .

Lienig, J. (1997). A parallel genetic algorithm for performance-driven VLSI routing. IEEE Transactions onEvolutionary Computation, v. 1, n. 1, p. 29-39.

Lindhorst, G. · (1998). Relational genetic algorithms: withapplication to surface mount technology placementmachines. Genetic Programming 1998: Proceedings ofthe 3rd Annual Conference, Madison, USA, p. 543-550.

Man, K.F ., K.S . Tang, S. Kwong & W.A. Halang (1999) .Genetic Algorithms Concepts and Designs. 2nd ed.Berlin: Springer-Verlag.

Marrison, C.I. & RF. StengeI (1997). Robust controI systemdesign using random search and genetic aIgorithms.IEEE Tránsactions on Automatic Control, v. 42, n. 6, p.835-839. .

Martin, RS. & J.P . Knight (1993). Genetic aIgorithms for theoptimization of integrated circuits synthesis.Proceedings of5th Intemational Conference on GeneticAlgorithms, Urbana-Champaign, USA, p. 432-438.

Mazumder, P. & E.M. Rudnik (1999). Genetic Algorithms forVLSI Design, Layout and Test Automation. EnglewoodCliffs, USA: Prentice-Hall.

McGregor, D.R., M.O. Odetayo & D. Dasgupta (1992).Adaptive controI of a dynamic system using genetic-based methods. Proceedings of the: ].992 IEEEIntemational Symposium on Intelligent Control, p. 521-525.

Michalewicz, Z., D. Dasgupta, RG. Le Riche & M.Schoenauer (1996). Evolutionary Algorithms . for

Anais do 4 ·Simpóslo Brasileiro de Automação Intellgent

73

Constrained Engineering Problems, Computers &Industrial Engineering Joumal, v. 30, n. 2, p. 851-870.

Michalewicz, Z., C.Z. Janikow & J .R. Krawczyk. (1992). AModified genetic algorithm for optimal controIproblems. Computers & Mathematics witbApplications, v. 23, n. 12, p. 83-94.

Miller, J .F. & P. Thomsori. (1998). Evolving digital electroniccircuits for real-valued function generation using agenetic algorithm. Genetic Programming 1998:Proceedings of the 3rd Annual Conference, Madison,USA , p. 863-868.

Mitchell, M. (1996) . An Introduction to Genetic Algorithms.Cambridge: MlT Press.

Nordvik, J.P. & J.M. Renders (1991). Genetic aIgorithms andtheir potentiaI for use in process controI: a case study.Proceedings of the 4th Intemational Conference 01Z

Genetic Algorithms, San Diego, USA, p. 480-486.

Park, S-H., Y-H. Kim, Y-K. Choi , H-C. Cho , & H-T. Jeon(1993) . Self-organization of fuzzy rule base usinggenetic algorithm. Proceedings of the 5thIntemationalFuzzy Ssystems Association World Congress, Seul,Korea , p. 881-886.

Pham, D.T. & D. Karaboga (1991). Optimun design of fuzzyIogic controllers using genetic aIgorithms. Joumal ofSystems Engineering, v. 1, n. 2, p. 114-118.

Pierre , S. & G. Legault (1998). A genetic algorithm fordesigning distributed computer network topologies,IEEE Transactions 011 Systems, Man and Cybemetics -Part B: Cybemetics, v. 28 , n. 2, p. 249-258.

Ram, A, R. Arkin, G. Boone & M. Pearce (1994). Usinggenetic algorithms to Iearn reactive controI parametersfor autonomous robotic navigation. Adaptive Behavior,v. 2, n. 3,p. 277-305.

Rudnick, E.M., J.H. PateI, G.S. Greenstein, T.M. Niermann(1997). A genetic aIgorithm framework for testgeneration. IEEE Transactions on Computer AidedDesign ofIntegrated Circuits and Systems, v. 16, n. 9, p.1034-1043.

Schnecke, V. & O. Vornberger (1997) . Hybrid geneticaIgorithms for constrained placement problems. IEEETransactions on Evolutionary Computation, v. 1, n. 4, p.266-277.

Sevenster, AA & AP. Engelbrecht (1996) GARTNet: agenetic algorithm for routing in telecommunicationsnetworks. Proceedings of the Symposium on Control,Optimization and Supervision, Lille, France, v. 2, p.1106-1111.

Silveira, C.H., L.S. Coelho & lvi.F.M. Campos (1994). The useof genetic aIgorithms for the evaluation of inversekinematics of manipulators. Anais do ]O CongressoBrasileiro de Redes Neurais, Itajubá, MG.

Tan , K.C . & Y. Li (1997). Evolutionary system identificationin the time-domain. Joumal of Systems and ControlEngineering, part I, v. 211, n. 4, p. 319-323.

Page 11: ALGORITMOS GENÉTICOS EM PROJETOS DE ...Algoritmos Computação Programação Genética, os Classificadores, Estratégias três A Computação Evolucionária , denominada Neurais Sistemas

Tang, K.S., K.F. Man & K.T. Ko (1997). Wireless LAN designusing hierarchical genetic algorithm , Proceedings of the1h Intemational Conference on Genetié 'Algorithms,East Lansing, USA, p. 629-635 .

Tang, K.S., K.F. Man, S. Kwong & Z.F. Liu (1998a). Designand optimization of IIR filter structure usinghierarchical genetic algorithms. IEEE Transactions onIndustrial Electron ics, v. 45, n. 3, p. 481487.

Tang , K.S., K.F. Man, Z.F. Liu, & S. Kwong (1998b) .Minimal fuzzy memberships and rules usinghierarchical genetic a1gorithms. lEEE Transactions onIndustrial Electronics, v. 45, n. 1, p. 162-169.

Tanornaru, J. & K. Oka (1995). Automatic wire routing using acustomized genetic algorithm. Proceedings of IEEEIntemational Conference on Systems, Man andCybemetics, Vancouver, Canada, v. 2, p. 29'71-2976.

Thomson, A. (1997). An evolved circuit, intrinsic in silicon,entwined with physics . In Higuchi, T, Iwata, M, e Liu,W (eds.), Proceedings of the ]'1 lntemationalConference on Evolvable Systems: From Biology toHardware - Lecture Notes in Computer Science , v.J259, p. 390-405.

Toogood, R., H. Hao & C. Wong (1995). Robot path planningusing genetic algorithms. Proceedings of lEEEInternational Conference on Systems, Man andCybemetics, Vancouver, Canada, v. 1, p. 489-494.

Tzes, A., P-Y . Peng & J. Guty (1998) . Genetic-based fuzzyclustering for DC-motor friction identification andcompensation. lEEE Transactions on Control SystemsTechnology, v. 6, n. 4, p. 462-472.

Undrill, P.E., K.A. Delibasis & G.G. Cameron (1997). Stackfilter design using a parallel implementation of genetica1gorithms. Journal of Universal Computer Science, v.3, n. 7, p. 82108;34.

Yen, J. & W. Gillespie (1995) . Integrating global and localevaluations for fuzzy model identification using genetica1gorithms. Proceedings of the 61h lnternational FuzzySsystems Association World Congress, São Paulo,Brazil. v. 1, p. 121-124.

Wang, X-Do & T. Chen (1995) . Performance and areaoptimization of VLSI system using genetic a1gorithms.VLSl Design , V. 3, n. 1, p. 43-51.

White, M.S. & S.J. F1ockton (1994) . Genetic algorithms fordigital signaJ processing. Evolutionary Computing AI8BWorkshóp - Lecture Notes in Computer Science, V. 865,p.291-303 .

Wong, K.P. & Y.W. ' Wong (1994). Genetic andgeneticlsimulated-annealing approaches to economicdispatch. IEE Proceedings C: Generation, Transmissionand Distribution, V. 141, n. 5, p. 507-513.

74Anais do 4°Simp6slo Brasileiro de Automação Inteligente