pso

100
UNIFEI Universidade Federal de Itajubá Programa de Pós-Graduação em Engenharia Elétrica Pró-Diretoria de Pesquisa e Pós-Graduação Estudo de Aplicação do Algoritmo de Otimização por Enxame de Partícula na Resolução de Problemas de Otimização Ligados ao SEP Área de Sistemas Elétricos de Potência Ahmed Ali Abdalla Esmin

Upload: rafael-ferreira-lopes

Post on 15-Sep-2015

13 views

Category:

Documents


5 download

DESCRIPTION

pso

TRANSCRIPT

  • UNIFEI Universidade Federal de Itajub

    Programa de Ps-Graduao em Engenharia Eltrica

    Pr-Diretoria de Pesquisa e Ps-Graduao

    Estudo de Aplicao do Algoritmo de Otimizao por Enxame de Partcula na Resoluo de Problemas de Otimizao

    Ligados ao SEP

    rea de Sistemas Eltricos de Potncia

    Ahmed Ali Abdalla Esmin

  • Estudo de Aplicao do Algoritmo de Otimizao por Enxame de Partcula na Resoluo de Problemas de Otimizao

    Ligados ao SEP

    ORIENTADORES: PROF. GERMANO LAMBERT TORRES

    PROF. ANTONIO CARLOS ZAMBRONI DE SOUZA

    TESE APRESENTADA UNIVERSIDADE FEDERAL DE ITAJUB - UNIFEI

    COMO REQUISITO DO PROGRAMA DE DOUTORADO

    ITAJUB ESTADO DE MINAS GERAIS BRASIL

    ABRIL / 2005

  • Ficha catalogrfica elaborada pela Biblioteca Mau Bibliotecria Jacqueline R. de Oliveira Balducci- CRB_6/1698

    E74e Esmin, Ahmed Ali Abdalla. Estudo de Aplicao do Algoritmo de Otimizao por Enxame de Partcula na Resoluo de Problemas de Otimizao Ligados ao SEP / por Ahmed Ali Abdalla Esmin. -- Itajub (MG) : [s.n.], 2005. 99 p. : il. Orientador : Prof. Dr. Germano Lambert Torres Orientador : Prof. Dr. Carlos Zambroni de Souza Tese (Doutorado) Universidade Federal de Itajub - Departamento de Eltrica. 1. Otimizao. 2. Otimizao por Enxame de Partcula. 3. Sistemas Hbridos. 4. Sistemas Inteligentes Evolutivos. 5. Otimizao de Perdas Eltricas. 6. Colapso de Tenso. I. Torres, Germano Lambert, orient. II. Souza, Carlos Zambroni de, orient. III. Universidade Federal de Itajub. IV. Ttulo. CDU 004.421(043)

  • meus pais, pelo carinho e apoio apesar da distancia meus filhos, Tamara, Tarik e Tamires, pelo carinho

    minha esposa, Gilvanete, pela compreenso

  • Agradecimentos

    Manifesto meus sinceros agradecimentos s seguintes pessoas e instituies:

    Aos Professores Germano Lambert Torres e Antonio Carlos Zambroni de Souza, pela amizade e valiosa orientao que tornou possvel a concluso deste trabalho

    Aos colegas de doutorado da UNIFEI, pelo apoio Universidade Federal de Engenharia de Itajub, atravs do Instituto de

    Engenharia Eltrica, pela oportunidade de capacitao

    Fundao Educacional Comunitria Formiguense - FUOM, pelo apoio

    CAPES, pelo auxlio

    A minha esposa e meus filhos pelo apoio e dedicao

    E a todas as pessoas que, direta ou indiretamente, contriburam para a realizao deste trabalho

  • RESUMO

    Esta tese apresenta um estudo sobre as tcnicas de otimizao evolutivas e mais especificamente sobre o algoritmo de Otimizao por Enxame de Partcula (PSO). Um estudo sobre o comportamento do algoritmo PSO realizado e um novo algoritmo chamado de Algoritmo de Otimizao por Enxame de Partcula Hbrido com Mutao (HPSOM) apresentado. Este trabalho apresenta tambm os algoritmos PSO e HPSOM como ferramentas para o estudo da reduo de perdas eltricas. Este problema pode ser formulado como um problema de otimizao no linear. A aplicao proposta consiste em usar um Fluxo de Potncia timo (FPO) baseado na funo da minimizao de perdas. O estudo realizado em duas etapas. Primeiramente, usando a tcnica do vetor do tangente, a rea crtica do sistema de potncia identificada sob o ponto da vista da colapse da tenso. Em seguida, uma vez que esta rea identificada, os algoritmos PSO e HPSOM entram em ao calculando a quantidade de compensao shunt para cada barra do sistema. O modelo proposto foi examinado e testado com resultados promissores usando os sistemas IEEE 14,30, 57 e 118 barras.

  • ABSTRACT

    This thesis presents particle swarm optimization (PSO) as a tool for loss reduction study. This issue can be formulated as a nonlinear optimization problem. The proposed application consists of using a developed optimal power flow (OPF) based on loss minimization (LM) function by expanding the original PSO. The study is carried out in two steps. First, by using the tangent vector technique, the critical area of the power systems is identified under the point of view of voltage instability. Second, once this area is identified, the PSO technique calculates the amount of shunt reactive power compensation that takes place in each bus. The proposed approach has been examined and tested with promising numerical results using the IEEE 14, 30, 57, and 118 buses systems.

  • i

    ndice

    Captulo 1 Introduo ..................................................................................................... 1 1.1 MOTIVAO ............................................................................................................ 2 1.2 OBJETIVOS............................................................................................................... 2 1.3 METODOLOGIA ........................................................................................................ 2 1.4 ORGANIZAO ........................................................................................................ 3

    Captulo 2 Reviso Bibliogrfica.................................................................................... 4 2.1 OTIMIZAO............................................................................................................ 4

    2.1.1 Otimizao Local............................................................................................ 5 2.1.2 Otimizao Global.......................................................................................... 5

    2.2 COMPUTAO EVOLUCIONRIA (CES).................................................................... 6 2.2.1 Histrico ......................................................................................................... 7

    2.3 ALGORITMOS GENTICOS (AGS) ........................................................................... 7 2.3.1 Caractersticas Gerais dos Algoritmos Genticos ......................................... 8 2.3.2 Operadores Genticos .................................................................................. 10 2.3.3 Parmetros Genticos .................................................................................. 11

    2.4 OTIMIZAO POR ENXAME DE PARTCULAS (PSO) ............................................... 12 2.4.1 O Algoritmo PSO.......................................................................................... 12 2.4.2 O Comportamento do PSO........................................................................... 15 2.4.3 Consideraes sobre a semelhana entre PSO e EAs.................................. 16 2.4.4 Origens e Terminologia................................................................................ 16 2.4.5 Modelo do Melhor Global (gbest) ................................................................ 17 2.4.6 O Modelo do Melhor Local ( Lbest )............................................................ 17 2.4.7 A Verso Binria do PSO............................................................................. 18

    2.5 AS PRINCIPAIS PROPOSTAS DE MELHORIAS DO PSO ............................................ 19 2.5.1 Melhorias na Taxa de Convergncia............................................................ 19

    Captulo 3 Uma aplicao: O Ajuste Automtico das Funes de Pertinncia Fuzzy Usando PSO 21

    3.1 INTRODUO......................................................................................................... 21 3.2 O PACOTE COMPUTACIONAL ORIGINAL ................................................................ 22 3.3 SIMULAES ......................................................................................................... 23 3.4 DESCRIO DO MDULO TREINAMENTO PSO....................................................... 24 3.5 COMPONENTES DO ALGORITMO PSO .................................................................... 25

    3.5.1 Representao das Solues usando PSO.................................................... 27 3.5.2 Funo de Avaliao e o Critrio de Parada............................................... 27 3.5.3 Apresentao do Algoritmo.......................................................................... 27

    3.6 TESTES .................................................................................................................. 28 3.7 CONSIDERAES SOBRE ESTA APLICAO............................................................. 32

    Captulo 4 Um novo algoritmo: Algoritmo Hbrido de Otimizao por Enxame de Partcula com Mutao HPSOM.................................................................................... 34

    4.1 INTRODUO......................................................................................................... 34

  • ii

    4.2 O ALGORITMO HPSOM ........................................................................................ 35 4.3 TESTES E EXPERIMENTO......................................................................................... 36 4.4 DISCUSSES DOS RESULTADOS ............................................................................. 41

    Captulo 5 Aplicao do PSO e HPSOM na Resoluo de Problema de Otimizao de Perdas Eltricas ............................................................................................................. 43

    5.1 OTIMIZAO DE PERDAS ELTRICAS..................................................................... 43 5.1.1 Formulao do Problema............................................................................. 43 5.1.2 Metodologia.................................................................................................. 45 5.1.3 Anlise Preliminar dos resultados ............................................................... 46 5.1.4 Identificao das reas ................................................................................ 47 5.1.5 Exemplo de aplicao usando Sistema de 4 barras ..................................... 49 5.1.6 Simulao do Sistema IEEE14 barras ......................................................... 53 5.1.7 Simulao do Sistema IEEE30 barras ......................................................... 60 5.1.8 Simulao do Sistema IEEE57 barras ......................................................... 66 5.1.9 Simulao do Sistema IEEE118 barras ....................................................... 70 5.1.10 Consideraes sobre a aplicao................................................................. 75

    Captulo 6 Concluses ................................................................................................... 76 6.1 CONTRIBUIES ALCANADAS ............................................................................. 77 6.2 PROPOSTAS DE TRABALHO FUTURO ...................................................................... 77

    Referncias Bibliogrficas ................................................................................................. 79

    Apndice A Dados do Sistema de 4 Barras ................................................................... 86

    Apndice B Publicaes Associadas ao Trabalho e Realizadas no Perodo............... 87

    Apndice C Artigo da Tese Publicado no IEEE Transactions on Power Systems .88

  • iii

    ndice de Tabelas

    Tabela 3.1 Posies iniciais para o treinamento. ............................................................. 29 Tabela 3.2 Parmetros do PSO. ........................................................................................ 29 Tabela 3.3 Iteraes aps o treinamento com PSO. ......................................................... 30 Tabela 3.4 Resultados de Simulaes. .............................................................................. 32 Tabela 4.1- O espao de busca e os valores iniciais das funes de teste........................... 37 Tabela 4.2 - Resultados de mdia da melhor aptido para 100 execues (mdio da

    melhor aptido erro padro)..................................................................................... 38 Tabela 4.3- Resultados de mdia da melhor aptido para 100 execues - PSO, HPSOM e

    AG- (mdio da melhor aptido erro padro) ............................................................ 41 Tabela 4.4 - As taxas de cruzamento e mutao usados pelo AG (padro)......................... 41 Tabela 5.1 Parmetros utilizados para as simulaes....................................................... 46 Tabela 5.2 Parmetros do PSO/HPSOM utilizados para as simulaes.......................... 47 Tabela 5.3- Quantidade de Barras de Controle ................................................................... 48 Tabela 5.4- Relao dos sistemas com respectivas Barras Criticas .................................... 49 Tabela 5.5- A populao inicial - sistema 4 barras ............................................................. 49 Tabela 5.6- Relao das partculas e o seu valor de perdas - sistema 4 barras.................. 50 Tabela 5.7(a)- Relao das partculas e suas velocidades sistema 4 barras (PSO)......... 50 Tabela 5.7(b)- A nova populao (1- Iterao) sistema 4 barras (PSO)......................... 50 Tabela 5.7 (c)- O melhor individual de cada partcula sistema 4 barras (PSO) ............ 50 Tabela 5.7(d)- A populao da ltima (5- Iterao) sistema 4 barras (PSO) ................ 51 Tabela 5.7(e)- O melhor global de cada partcula sistema 4 barras (PSO) ................... 51 Tabela 5.8(a)- Relao das partculas e suas velocidades sistema 4 barras (HPSOM)... 51 Tabela 5.8(b)- A nova populao (1- Iterao) sistema 4 barras (HPSOM) .................. 52 Tabela 5.8(c)- As partculas sorteados para a Mutao sistema 4 barras (HPSOM) ...... 52 Tabela 5.8(d)- A nova populao antes e depois da Mutao sistema 4 barras (HPSOM)

    ...................................................................................................................................... 52 Tabela 5.8(e)- Relao das partculas e o seu valor de perdas - sistema 4 barras (HPSOM)

    ...................................................................................................................................... 52 Tabela 5.8 (f)- O melhor individual de cada partcula sistema 4 barras(HPSOM) ....... 52 Tabela 5.8(g)- A populao da ltima (5- Iterao) sistema 4 barras (HPSOM) .......... 53 Tabela 5.8(h)- O melhor global de cada partcula sistema 4 barras (HPSOM)............. 53 Tabela 5.9 - Resultados obtidos pelo MPC Sistema IEEE 14 ....................................... 53 Tabela 5.10 - Resultados obtidos pelo PSO no sistema IEEE 14 barras Criticas .......... 54 Tabela 5.11 - Resultados obtidos pelo HPSOM sistema IEEE 14 barras Criticas.......... 55 Tabela 5.12 (a,b) - Resultados obtidos pelos PSO e HPSOM- IEEE 14 BCS ................. 56 Tabela 5.13 (a,b) - Resultados obtidos pelos PSO/HPSOM- IEEE 14 BCS criticas ....... 57 Tabela 5.14 - Resultados obtidos pelo MPC Sistema IEEE 14 ..................................... 59 Tabela 5.15(a,b) - Resultados obtidos pelos PSO/HPSOM- sistema IEEE 14 TBS........ 59 Tabela 5.15(c) - Resumo dos resultados obtidos pelos PSO/HPSOM- sistema IEEE 14

    TBS. .............................................................................................................................. 60 Tabela 5.16 - Resultados obtidos pelo MPC Sistema IEEE 30 ........................................ 61 Tabela 5.17(a,b) - Resultados obtidos pelos PSO/HPSOM- sistema IEEE 30 BCS ........ 61

  • iv

    Tabela 5.17(c) -Resumo dos resultados obtidos pelos PSO/HPSOM- sistema IEEE 30BCS....................................................................................................................................... 62

    Tabela 5.18 - Resultados obtidos pelo MPC Sistema IEEE 30 ........................................ 64 Tabela 5.19 (a,b) - Resultados obtidos pelo PSO sistema IEEE 30 Todas as Barras ..... 64 Tabela 5.19(c) -Resumo dos resultados obtidos pelos PSO/HPSOM-sistema IEEE 30 TBS.

    ...................................................................................................................................... 65 Tabela 5.20 (a,b) - Resultados obtidos pelo PSO/HPSOM sistema IEEE 30 TBS-

    iterao = 500 .............................................................................................................. 65 Tabela 5.20(c) - Resumo dos resultados obtidos pelo PSO/HPSOM sistema IEEE 30

    TBS- iterao = 500 ..................................................................................................... 66 Tabela 5.21 - Resultados obtidos pelo MPC Sistema IEEE57 ......................................... 66 Tabela 5.22(c)-Resumo dos resultados obtidos pelos PSO/HPSOM- sistema IEEE 5 BCS.

    ...................................................................................................................................... 67 Tabela 5.22(a,b) - Resultados obtidos pelo PSO sistema IEEE 57 Barras Criticas. ....... 68 Tabela 5.23 - Resultados obtidos pelo MPC Sistema IEEE 57 ........................................ 68 Tabela 5.24(c) Resumo dos resultados obtidos pelos PSO/HPSOM- sistema IEEE 5 TBS.

    ...................................................................................................................................... 69 Tabela 5.24(a,b) - Resultados obtidos pelo PSO sistema IEEE 57 TBS. .......................... 70 Tabela 5.25 - Resultados obtidos pelo MPC Sistema IEEE118 ....................................... 71 Tabela 5.26(a,b) - Resultados obtidos pelo PSO sistema IEEE 118 BCS......................... 71 Tabela 5.26(c) -Resumo dos resultados obtidos pelos PSO/HPSOM- sistema IEE118

    CBS. .............................................................................................................................. 72 Tabela 5.27 - Resultados obtidos pelo MPC Sistema IEEE118 ....................................... 74 Tabela 5.28(a,b) - Resultados obtidos pelo PSO sistema IEEE 118 TBS. ........................ 74 Tabela 5.28(c) - Resumo dos resultados obtidos pelos PSO/HPSOM- sistema IEEE 118

    TBS. .............................................................................................................................. 75

  • v

    ndice de Figuras

    Figura 2.1 - Um exemplo de funo xxxxxf 554212)( 234 += , com o mnimo local

    *Ax e o mnimo global

    *x . .............................................................. 6 Figura 2.2 - Indivduos de uma populao e a sua correspondente roleta de seleo. ........... 9 Figura 2.3 O Pseudocdigo do AGs .................................................................................... 9 Figura 2.5 - Um exemplo de crossover de um ponto. .......................................................... 11 Figura 2.6 - O Pseudocdigo do algoritmo de PSO bsico. ................................................. 14 Figura 3.1 - Tela bsica do programa. .................................................................................. 22 Figura 3.2 - Exemplos de simulao do pacote computacional. .......................................... 24 Figura 3.3 Parmetros das funes de pertinncia. ........................................................... 25 Figura 3.4 Exemplo de ajuste de uma funo de pertinncia. ........................................... 26 Figura 3.5 Funes de pertinncia originais...................................................................... 28 Figura 3.6 Posies iniciais de treinamento. ..................................................................... 29 Figura 3.7 Simulaes sem treinamento............................................................................ 30 Figura 3.8 Simulaes aps treinamento gentico. ............................................................ 31 Figura 3.9 Funes de pertinncia aps o ajuste com PSO. .............................................. 31 Figura 4.1 - o pseudocdigo do algoritmo HPSOM............................................................. 35 Figura 4.2 A funo Rastrigin em 3D................................................................................ 37 Figura 4.3- PSO versus HPSOM para a funo Spherical (esfera) - f1 ................................ 38 Figura 4.4- PSO versus HPSOM model for Rosenbrock function- f2 .................................. 39 Figura 4.5 - PSO versus HPSOM para a funo for Griewank - f3 .................................... 39 Figura 4.6 - PSO versus HPSOM para a funo Rastrigin - f4............................................. 40 Figure 4.7- Os comportamentos das partculas PSO/HPSOM para a funo Esfera .......... 40 (pop = 3)- f1.......................................................................................................................... 40 Figure 5.1 Sistema eltrico simples................................................................................... 49 Figura 5.2 A evoluo dos algoritmos PSO/HPSOM IEEE 14- Barras Criticas............ 54 Figure 5.3-: O comportamento das partculas usando PSO/HPSOM - Pop(5)..................... 55 Figure 5.4- A evoluo dos algoritmos PSO/HPSOM a partir de 20 iterao - Pop(5) .. 56 Figure5.5- A evoluo dos algoritmos PSO/HPSOM - IEEE14 .......................................... 58 Figure 5.6- A evoluo dos algoritmos PSO/HPSOM - IEEE14- Todas as Barras ............ 60 Figure 5.7- A evoluo dos algoritmos PSO/HPSOM - IEEE30 - BCS .............................. 62 Figure 5.8- A evoluo dos algoritmos PSO/HPSOM - IEEE30 TBS............................. 63 Figure 5.9 - A evoluo dos algoritmos PSO/HPSOM - IEEE57 - BCS ............................ 67 Figura 5.10 - A evoluo dos algoritmos PSO/HPSOM- IEEE57 TBS........................... 69 Figure 5.11 - A evoluo dos algoritmos PSO/HPSOM - IEEE118 - BCS ........................ 72 Figure 5.12 - A evoluo dos algoritmos PSO/HPSOM - IEEE118 - TBS ........................ 73

  • 1

    Captulo 1

    Introduo

    Formas de otimizao so importantes na vida cotidiana. Muitos problemas cientficos, sociais, econmicos e de engenharia tm parmetros que podem ser ajustados de forma a produzir um resultado mais desejvel. Ao longo dos anos foram desenvolvidas numerosas tcnicas para resolver tais problemas.

    Tcnicas de otimizao vm sendo aplicadas em diversos problemas no Sistema Eltricos de Potncia (SEP). Dependendo do enfoco do estudo, a tcnica de otimizao empregada pode levar em conta algumas simplificaes no conjunto das equaes. Tais simplificaes podem simplificar a soluo e conduz a aplicao de tcnicas lineares [1,2].

    Porm, outros problemas podem requerer uma formulao mais complexa, como os conjuntos de equaes envolvidos podem no ser linearizados. Neste caso, devem ser empregadas tcnicas no lineares. Um dos problemas no linear analisado em sistemas de potncia o problema de reduo de perdas [3] que considera como variveis de controle, a gerao de potncia ativa, nvel de tenso de geradores, entre outros. Este problema no linear pode ser importante para anlise de estabilidade de tenso [4] ou somente melhorar as condies operacionais de sistema [5]. Referncias [4] e [5] apresentaram um fluxo timo de potncia resolvido por mtodo preditor-corretor de pontos interiores baseado em uma funo de barreira logartmica [6]-[8]. A tcnica empregada nessas referncias tambm foi aplicada para uma variedade de problemas em sistemas de potncia. Outras metodologias, como o mtodos quase-Newton e o mtodo de direo conjugada poderiam ser usados para resolver estes problemas. Estes mtodos apresentem, em geral, um desempenho satisfatrio. A idia neste trabalho analisar, mais uma vez, o problema de reduo de perdas. Porm, a ferramenta de anlise empregada pertence famlia de Algoritmo Evolutiva. uma tcnica relativamente nova conhecida como Otimizao por Enxame de Partcula (Particle Swarm Optimization - PSO) [9,11], que resolve problemas simulando comportamento de enxame. Esta ferramenta pode ter um amplo campo de aplicaes em sistemas de potncia. Por exemplo, a referncia [9] enfocou nos problemas de minimizao de custo de combustvel, melhoria de perfil da tenso e melhoria de estabilidade de tenso.

    O PSO foi originalmente inspirado no comportamento scio biolgico associado com grupos de pssaros. um mtodo de otimizao baseado em populao e foi primeiro proposto pelo Kennedy e Eberhart [10,11]. Algumas das caractersticas interessantes do PSO incluem a facilidade de implementao e o fato que nenhuma informao de gradiente requerida. Pode ser usado para resolver uma gama de diferentes problemas de otimizao, incluindo a maioria dos problemas que podem ser resolvidos atravs dos Algoritmos Genticos. Neste trabalho, algumas modificaes sero incorporadas no mtodo para torn-lo mais robusto. O resultado um algoritmo novo chamado de algoritmo Hbrido de Otimizao por Enxame de Partcula com Mutao (HPSOM).

  • 2

    Este trabalho apresenta e investiga os comportamentos das novas ferramentas (PSO e HPSOM) e tambm apresenta a aplicao destas ferramentas para resolver o problema de reduo de perdas eltricas.

    1.1 Motivao Com a crescente complexidade dos problemas a resolver, sempre haver uma necessidade por melhores algoritmos de otimizao. No caso especifico da rea de engenharia eltrica, o Sistema Eltrico de Potncia um sistema dinmico de grande complexidade e que est aberto realizao de estudos de problemas de otimizao em vrios campos, como, por exemplo, a otimizao de perdas e o estudo de estabilidade.

    Por outro lado, o mtodo PSO se apresenta com uma promissora forma de otimizao, e como recente, na literatura no se encontra um estudo mais abrangente de resoluo de problemas complexos e sobre tudo ligados ao SEP. Este trabalho se prope a realizar vrios estudos de aplicao e de comportamento do PSO na resoluo de problemas complexos ligados ao SEP.

    1.2 Objetivos Podem ser resumidos os principais objetivos deste trabalho como segue: Realizao de estudo terico sobre o algoritmo PSO e seu comportamento; Desenvolvimentos de aplicaes usando o algoritmo PSO para minimizar as funes de

    pertinncia fuzzy; Desenvolver e testar o novo algoritmo HPSOM e provar o seu sucesso quando aplicado

    para resolver problemas de otimizao local ou global e com melhor desempenho. A investigao e o desenvolvimento de aplicao usando os algoritmos PSO e HPSOM

    para resolver problemas ligados ao SEP como o problema de perdas eltricas.

    1.3 Metodologia Ser necessria a realizao de estudos tericos e prticos, iniciando-se por um estudo terico sobre o PSO e seu comportamento. No caso de estudo de aplicao, ser adotada uma metodologia experimental. Ser feita uma analise de comportamento e desempenho do PSO onde sero mostrados problemas ligados a atualizao da sua velocidade, chamado de problema de estagnao e a proposta de um novo algoritmo para solucionar este problema chamado de HPSOM. Para provar o seu sucesso sero realizados vrios experimentos usando tipos diferentes de funes (unimodal e multimodal) envolvendo problemas de minimizao.

    Para minimizar as perdas eltricas, neste trabalho ser utilizado como ao de controle a instalao de capacitncia shunt. O clculo do valor ideal de shunt a ser instalado em cada barra identificada para obedecer funo objetivo (reduo de perdas eltricas) um problema de programao no linear. Os algoritmos PSO e HPSOM sero

  • 3

    implementados individualmente, e os resultados alcanados sero comparados com os resultados obtidos pelo mtodo preditor-corretor de pontos interiores (MPC).

    Para cumprir a meta estabelecida acima, a seguinte metodologia ser adotada:

    a) Atravs do mtodo do vetor tangente sero identificadas as reas crticas para reduo de perdas eltricas nos sistemas IEEE 14, 30, 57 e 118 barras. Este passo ser utilizado pelos algoritmos PSO e HPSOM como foi utilizado pelo MPC.

    b) Sero realizadas vrias simulaes com os algoritmos PSO e HPSOM variando-se o nmero de populao de partculas no enxame e o nmero de iteraes.

    c) finalmente os resultados sero analisados e comparados.

    1.4 Organizao O Captulo 2 inicia com uma introduo sobre a teoria de otimizao, seguida por uma

    prvia reviso das tcnicas evolutivas existentes, e em especial os Algoritmos Genticos, usados para resolver problemas de otimizao. Seguido por uma descrio da Otimizao por Enxame de Partcula, com uma discusso das suas principais modificaes apresentada.

    No captulo 3 ser mostrada uma aplicao do PSO para otimizar as funes de pertinncia de um controle Fuzzy, atravs de apresentao de uma ferramenta para o controle de estacionamento de um carro.

    Captulo 4 inicia-se com uma breve analise de comportamento do algoritmo PSO padro. Em seguida apresentado um novo algoritmo chamado de Algoritmo de Otimizao por Enxame de Partcula Hbrido com Mutao (HPSOM), que combine a idia do enxame de partcula com o conceito de Algoritmos Genticos. Sero apresentados e discutidos os resultados dos testes entre os dois modelos: PSO e o HPSOM usando funes unimodal e multimodal.

    No captulo 5 ser apresentada uma aplicao utilizando os algoritmos PSO e HPSOM para resoluo de problemas de otimizao ligados ao SEP. Ser apresentada a aplicao de otimizao de perdas eltricas. E por fim, no capitulo 6 sero apresentadas e discutidos as concluses e os trabalhos futuros.

  • 4

    Captulo 2

    Reviso Bibliogrfica

    Este captulo revisa algumas das definies bsicas relacionadas questo da otimizao. Uma discusso breve de Computao Evolucionria e Algoritmos Genticos apresentada. As origens da Otimizao por Enxame de Partculas so discutidas, seguida por uma avaliao das suas principais caractersticas. Finalmente, sero apresentadas as principais extenses e modificaes recentemente publicadas.

    2.1 Otimizao Pode-se definir a otimizao como sendo a tarefa de determinar as melhores solues para certos problemas matematicamente formulados.

    Esta tarefa de grande importncia para muitas profisses. Por exemplo, fsicos, qumicos e engenheiros esto interessados em maximizar a produo ao projetar uma indstria qumica, levando em considerao certas restries, como por exemplo custo e poluio. Os economistas e investigadores de operao por suas vezes, tm que considerar a tima alocao de recursos em colocaes industriais e sociais. Alguns destes problemas envolvem apenas modelos lineares, em que as variveis so contnuas e apresentam comportamento linear, tanto em relao funo objetivo com s restries, resultando em problemas de otimizao linear para os quais existe uma tcnica muito eficiente conhecida como programao linear (PL) [12]. Os outros problemas so conhecidos como problemas de otimizao no-linear se exibir qualquer tipo de no-linearidade, seja na funo objetivo ou em qualquer de suas restries. So geralmente muito mais difceis de serem resolvidos. Estes problemas so o foco deste trabalho.

    Toda tarefa de busca e otimizao possui vrios componentes, entre eles: o espao de busca, onde so consideradas todas as possibilidades de soluo de um determinado problema, e a funo de avaliao (ou funo de custo), que uma maneira de avaliar os membros do espao de busca. Existem muitos mtodos de busca e funes de avaliao.

    As tcnicas de busca e otimizao tradicionais iniciam-se com um nico candidato que, iterativamente, manipulado utilizando algumas heursticas (estticas) diretamente associadas ao problema a ser solucionado. Geralmente, estes processos heursticos no so algortmicos e sua simulao em computadores pode ser muito complexa. Apesar destes mtodos no serem suficientemente robustos, isto no implica que eles sejam inteis. Na prtica, eles so amplamente utilizados, com sucesso, em inmeras aplicaes [13].

    Por outro lado, as tcnicas de computao evolucionria operam sobre uma populao de candidatos em paralelo. Assim, elas podem fazer a busca em diferentes reas do espao de soluo, alocando um nmero de membros apropriado para a busca em vrias regies.

    Existem dois tipos de otimizao: global e local. A otimizao global busca o melhor ponto dentro da totalidade do espao da busca, enquanto a local tenta encontrar o

  • 5

    melhor ponto dentro de um subespao especifico. A definio mais completa ser dada nas prximas sees.

    2.1.1 Otimizao Local

    Pode-se definir um ponto mnimo local ou simplesmente, o mnimo local, *Ax de uma funo f , para uma determinada regio A, da seguinte forma:

    Axxfxf A ),()( * (2.1)

    onde nRSA e S denota o espao de busca. Note que S = Rn em problemas sem restries e note tambm que A um subconjunto de S. O espao de busca S pode conter mltiplas regies iA tal que =ji AA I ; quando ji . Ento, do mesmo modo,

    **ji AA

    xx , de forma que o ponto mnimo de cada regio iA nico. Qualquer * iAx pode ser considerado como o mnimo de iA . No h nenhuma restrio no valor que a funo pode assumir para o mnimo, assim sendo )()( **

    ji AAxfxf = permitido. O

    valor de )( *iA

    xf ser chamado do mnimo local.

    A maioria dos algoritmos de otimizao requer um ponto de partida 0x S . Um algoritmo de otimizao local deve garantir que ser capaz de encontrar o mnimo local

    *iA

    x para um conjunto A, se 0x A . Muitos algoritmos de otimizao local tm sido propostos. Uma distino ser feita

    entre algoritmos determinsticos, analticos e os algoritmos estocsticos nas prximas sees . Dentro dos algoritmos determinsticos de otimizao local incluem o algoritmo Newton-Raphson [14] e suas variantes, o algoritmo Escalado de Gradiente Conjugado (SCG) [15], o quasi-Newton [14,16] e a sua famlia de algoritmos.

    2.1.2 Otimizao Global

    O mnimo global, *x de uma funo f , pode ser definido da seguinte forma:

    Sxxfxf ),()( * (2.2) Onde S o espao de busca. Para problemas sem restries comum usar S = Rn, onde n a dimenso de x. O algoritmo de otimizao global, como no caso dos algoritmos de otimizao local descritos acima, tambm comea pela escolha de um ponto inicial

    0x S . Em alguns publicaes (por exemplo [14]), h uma definio diferente para o

    algoritmo de otimizao global, definido como sendo um algoritmo capaz de encontrar o mnimo (local) de SA , independentemente da posio atual de 0x . Estes algoritmos consistem em dois processos: O processo dos passos globais" e o processo dos passos locais". Os passos locais normalmente so a aplicao de um algoritmo de otimizao

  • 6

    local, e os passos globais so projetados para assegurar que o algoritmo passar para regio

    iA , onde o processo dos passos locais ser capaz de encontrar o mnimo de iA . Estes mtodos so chamados de algoritmos globalmente convergentes. Isto significa que eles podem convergir a um mnimo local indiferentemente de sua posio inicial 0z . Estes mtodos tambm so capazes de encontrar o mnimo global. Entretanto, no h nenhum modo geral seguro e conhecido de fazer isto.

    A Figura 2.1 ilustra a diferena entre o mnimo local *Ax e o mnimo global

    *x .

    Figura 2.1 - Um exemplo de funo xxxxxf 554212)( 234 += , com o mnimo local *Ax e o mnimo global

    *x .

    2.2 Computao Evolucionria (CEs) Computao evolucionria (CE) define vrios mtodos projetados para simular a evoluo. Estes mtodos baseiam-se, para resolver problemas, em populao de pontos, e uma combinao de variao aleatria e da seleo. Neste campo existem vrias tcnicas, incluindo Algoritmos Evolutivos (AEs), Estratgias de Evoluo (SE), Programao Evolutivo (PE), Algoritmos Genticos (AGs) e Programao Gentica (PG) [17,18,19].

    CEs diferenciam dos mtodos tradicionais de otimizao em quatro aspectos [13]: 1. Trabalham com codificao do conjunto de parmetros e no com os prprios

    A

    *x*Ax

  • 7

    parmetros; 2. trabalham com uma populao e no com um nico ponto; 3. utilizam de informaes de custo ou recompensa e no derivadas ou outro conhecimento auxiliar; 4. utilizam de regras de transio probabilsticas e no determinsticas.

    2.2.1 Histrico

    Antes da teoria de evoluo apresentada por Charles Darwin e at meados do sculo 19, os naturalistas acreditavam que cada espcie na natureza havia sido criada separadamente por um ser supremo ou atravs de gerao espontnea. O trabalho do naturalista Carolus Linnaeus levou a comunidade cientifica a acreditar na existncia de uma certa relao entre as espcies. Por outro lado, Thomas Robert Malthus props que fatores ambientais, tais como doenas e carncia de alimentos, limitavam e influenciavam o crescimento de uma populao.

    Aps anos de observaes e experimentos, Charles Darwin apresentou em 1858 sua teoria de evoluo atravs de seleo natural, ao mesmo tempo que outro naturalista, Alfred Russel Wallace. No ano seguinte, Darwin publicou o seu livro intitulado On the Origin of Species by Means of Natural Selection com a sua teoria completa, sustentada por muitas evidncias cientificas.

    Por volta de 1900, a moderna teoria da evoluo combina a gentica e as idias de Darwin e Wallace sobre a seleo natural, criando o princpio bsico de Gentica Populacional: a variabilidade entre indivduos em uma populao de organismos que se reproduzem sexualmente produzida pela mutao e pela recombinao gentica.

    Durante os anos 30 e 40 este princpio foi desenvolvido por bilogos e matemticos de grandes centros de pesquisa. Nos anos 50 e 60, muitos bilogos comearam a desenvolver simulaes computacionais de sistemas genticos. Entretanto, foi John Holland quem comeou a desenvolver sistematicamente as primeiras pesquisas no tema. Desenvolveu suas idias e em 1975 publicou o seu livro Adaptation in Natural and Artificial Systems [19], hoje considerado a principal referncia na rea de Algoritmos Genticos. Desde ento, estes algoritmos vm sendo melhorados e aplicados nos mais diversos problemas de otimizao e aprendizado de mquina com sucesso.

    2.3 Algoritmos Genticos (AGs) Os Algoritmos Genticos formam a parte da rea dos sistemas inspirados na natureza; simulando os processos naturais e aplicando-os soluo de problemas reais. So mtodos generalizados de busca e otimizao que simulam os processos naturais de evoluo, aplicando a idia darwiniana de seleo. So capazes de identificar e explorar fatores ambientais e convergir para solues timas, ou aproximadamente.

    Na natureza os indivduos competem entre si por recursos como comida e gua. Adicionalmente, entre os animais de uma mesma espcie, aqueles que no obtm xito tendem provavelmente a ter um nmero reduzido de descendentes, tendo, portanto menor probabilidade de seus genes serem propagados ao longo de sucessivas geraes. A combinao entre os genes dos indivduos que perduram na espcie pode produzir um novo indivduo muito melhor adaptado s caractersticas de seu meio ambiente.

  • 8

    Os Algoritmos Genticos utilizam uma analogia direta deste fenmeno de evoluo na natureza, onde cada indivduo representa uma possvel soluo para um problema dado. A cada indivduo se atribui uma pontuao de adaptao, dependendo da resposta dada ao problema por este indivduo. Aos mais adaptados dada uma maior oportunidade de reproduzir-se mediante cruzamentos com outros indivduos da populao, produzindo descendentes com caractersticas de ambas as partes. Um Algoritmo Gentico desenvolvido de modo adequado possui elevada probabilidade de que a populao (conjunto de possveis respostas) convergir a uma soluo tima para o problema proposto. Os processos que mais contribuem para a evoluo so o cruzamento, mutao e a adaptao baseada na seleo/reproduo. A rea biolgica mais proximamente ligada aos Algoritmos Genticos a Gentica Populacional.

    Algoritmos Genticos so eficientes para busca de solues timas, ou aproximadamente timas, em uma grande variedade de problemas, pois no impem muitas das limitaes encontradas nos mtodos de busca tradicionais. Os pesquisadores referem-se a "algoritmos genticos" ou a "um algoritmo gentico" e no "ao algoritmo gentico", pois AGs so uma classe de procedimentos com muitos passos separados, e cada um destes passos possui muitas variaes possveis. Os AGs no so as nicas tcnicas baseadas em uma analogia da natureza. Por exemplo, as Redes Neurais esto baseadas no comportamento dos neurnios do crebro.

    2.3.1 Caractersticas Gerais dos Algoritmos Genticos

    Os AGs so algoritmos de otimizao global que empregam uma estratgia de busca paralela, estruturada e voltada em direo da busca de pontos de "alta aptido", ou seja, pontos nos quais a funo a ser minimizada (ou maximizada) tem valores relativamente baixos (ou altos). Os AGs exploram informaes histricas para encontrar novos pontos de busca onde so esperados melhores desempenhos. Isto feito atravs de processos iterativos, onde cada iterao chamada de gerao.

    O primeiro passo para a utilizao de AGs, como ferramenta para soluo de problemas, a representao destes problemas de maneira que os AGs possam atuar adequadamente sobre eles. Tradicionalmente, os indivduos so representados genotipicamente por um vetor de valores binrios, onde cada elemento deste vetor denota a presena (1) ou ausncia (0) de uma determinada caracterstica: o seu gentipo. Os elementos podem ser combinados formando as caractersticas reais do indivduo, ou o seu fentipo. Entretanto, h casos em que mais adequado o uso de representao numrica.

    O princpio bsico do funcionamento do AGs que um critrio de seleo vai fazer com que, depois de muitas geraes, o conjunto inicial de indivduos gere indivduos mais aptos. Um mtodo de seleo muito utilizado o Mtodo da Roleta, onde indivduos de uma gerao so escolhidos pelo sorteio para fazer parte da prxima gerao atravs do cruzamento. A Figura 2.2 mostra a representao da roleta para uma populao composta por 4 indivduos.

    Os indivduos so representados na roleta proporcionalmente ao seu ndice de aptido. Finalmente, a roleta girada um determinado nmero de vezes, dependendo do tamanho da populao, e so escolhidos para participaro da prxima gerao, aqueles indivduos sorteados na roleta.

  • 9

    Figura 2.2 - Indivduos de uma populao e a sua correspondente roleta de seleo.

    Um conjunto de operaes (operadores) necessrio para que, dada uma populao inicial, se consiga gerar sucessivas populaes que (espera-se) que melhora sua aptido com o passar do tempo. Estes operadores utilizados so: cruzamento (crossover) e mutao. Eles so utilizados para assegurar que a nova gerao seja totalmente nova, mas possui, de alguma forma, caractersticas de seus pais. Para prevenir que os melhores indivduos no desapaream e sejam descartados da populao pela manipulao dos operadores genticos, eles podem ser automaticamente colocados na prxima gerao atravs da reproduo elitista.

    Esse processo repetido um determinado nmero de vezes (numero de geraes). Durante esse processo, os melhores indivduos, assim como alguns dados estatsticos podem ser armazenados para avaliao. A Figura (2.3) mostrada o pseudocdigo de um algoritmo gentico.

    Figura 2.3 O Pseudocdigo do AGs

    X12%

    X25%

    X380%

    X413%

    I Indivduo xi

    fi(x) Aptido (x2)

    AptidoRelativa

    1 00011 9 0,02 2 00101 25 0,05 3 10100 400 0,8 4 01000 64 0,13

    Total 498 1,00

    Criar e inicializar: g - gerao atual; t nmero de geraes para finalizar o algoritmo; P - populao

    inicio g = 0; inicia_populao (P, g) avaliao (P, g); repita:

    g = g +1; seleo_dos_pais (P, g);

    recombinao (P, g); mutao (P, g); avaliao (P, g); at (g = t)

    fim

  • 10

    2.3.2 Operadores Genticos

    Os operadores genticos transformam a populao atravs de sucessivas geraes, estendendo a busca at chegar a um resultado satisfatrio. So necessrios para que a populao se diversifique e mantenha caractersticas de adaptao adquiridas pelas geraes anteriores.

    O operador de mutao modifica aleatoriamente um ou mais genes de um cromossomo. A probabilidade de ocorrncia de mutao em um gene denominada taxa de mutao Pm. Usualmente, so atribudos valores pequenos para a taxa de mutao. A idia intuitiva por trs desse operador a criao de variabilidade extra na populao, mas sem destruir o progresso j obtido no decorrer do processo evolutivo, como ilustrado na Figura 2.4, fornecendo assim, meios para introduo de novos elementos na populao. Desta forma, a mutao assegura que a probabilidade de se chegar a qualquer ponto do espao de busca nunca ser zero, alm de contornar o problema de mnimos locais, pois com este mecanismo, altera-se levemente a direo da busca.

    .Figura 2.4 - Exemplo de mutao.

    O operador de cruzamento ou recombinao responsvel pela criao de novos

    indivduos por intermdio da combinao de dois ou mais indivduos (pais). A idia intuitiva por trs desde operador a troca de informao entre diferentes solues candidatas permitindo que caractersticas dos pais sejam herdados pelas prximas geraes. Ele considerado o operador gentico mais importante, por isso aplicado com probabilidade maior que a taxa de mutao e dada pela taxa de crossover Pc. As formas de utilizao desse operador so:

    Um-ponto: para a aplicao desse operador, so selecionados dois indivduos (pais)

    e a partir de seus cromossomos so gerados dois novos elementos (filhos). Para gerar os filhos, seleciona-se um ponto de corte aleatoriamente nos cromossomo-pais, de modo que os segmentos a partir do ponto de corte sejam trocados, como mostrado no exemplo da Figura 2.5.

    Multi-pontos: a troca de material gentico feita da mesma forma de um ponto, apenas esta troca utilizada em muitos pontos.

    Uniforme: como este operador para cada bit no primeiro filho decidido (com alguma probabilidade fixa p) qual pai vai contribuir com seu respectivo bit para aquela posio.

  • 11

    Figura 2.5 - Um exemplo de crossover de um ponto. (a) dois indivduos so escolhidos.

    (b) um ponto (2) de crossover escolhido. (c) so recombinadas as caractersticas, gerando dois novos indivduos.

    2.3.3 Parmetros Genticos

    Os parmetros genticos influem no comportamento dos Algoritmos Genticos e importante, analis-los e estabelec-los conforme as necessidades do problema e dos recursos disponveis.

    Tamanho da Populao: o tamanho da populao afeta de uma forma direta o

    desempenho global e a eficincia dos AGs. Uma populao pequena oferece uma pequena cobertura do espao de busca, causando uma queda no desempenho. Uma grande populao fornece uma melhor cobertura do domnio do problema e previne a convergncia prematura para solues locais. Entretanto, com uma grande populao tornam-se necessrios maiores recursos computacionais, ou um tempo maior de processamento do problema.

    Taxa de Cruzamento: quanto mais alta for esta taxa, mais rapidamente novos

    indivduos sero introduzidos na populao. Entretanto, isto pode gerar um efeito indesejado, pois a maior parte da populao ser substituda podendo ocorrer perda de indivduos com alta aptido. Com uma taxa baixa, o algoritmo pode ficar muito lento.

    Taxa de Mutao: uma taxa de mutao baixa pode prevenira a populao do

    problema de estagnao em um determinado valor, alm de permitir que se chegue em qualquer ponto do espao de busca. Com uma taxa muito alta a busca se torna praticamente aleatria.

    Intervalo de Gerao: determina a porcentagem da populao que ser substituda na

    prxima gerao. Com um valor alto, a maior parte da populao ser substituda, mas com valores muito altos pode ocorrer perda de indivduos com alta aptido. Com um valor baixo, o algoritmo pode ficar muito lento.

  • 12

    2.4 Otimizao por Enxame de Partculas (PSO) O mtodo de otimizao denominado Otimizao por Enxame de Partculas (PSO) tal como outras meta-heursticas recentemente desenvolvidas, simula o comportamento dos sistemas fazendo a analogia com comportamentos sociais.

    O PSO um mtodo de otimizao baseado em populao e foi primeiro proposto pelos Kennedy e Eberhart [10,11]. Possui caractersticas interessantes como, a facilidade de implementao nos computadores e o fato que no requer nenhuma informao de gradiente. Pode ser aplicado para resolver uma variedade de diferentes problemas de otimizao, incluindo a maioria dos problemas que podem ser resolvidos atravs dos Algoritmos Genticos; pode-se citar como exemplo algumas das aplicaes, como treinamento de rede neural [20,21,22,23] e a minimizaro de vrios tipos de funes [24,25].

    Muitos algoritmos de otimizaes populares so determinsticos, como os algoritmos baseados em gradientes. O PSO, como o seus similares, que pertencem famlia de Algoritmo Evolutiva, um algoritmo do tipo estocstico que no precisa de gradiente de informaes derivadas de funo de erro. Isto permite a utilizao do PSO em funes onde o gradiente indisponvel ou cuja obteno est associada a um alto custo computacional.

    2.4.1 O Algoritmo PSO

    O algoritmo PSO mantm uma populao de partculas, onde cada partcula representa uma soluo potencial para um problema de otimizao. Assume-se que S como sendo o tamanho do enxame. Cada partcula i pode ser representada como um objeto com vrias caractersticas. Estas caractersticas so as seguintes:

    xi: A posio atual da partcula; vi: A velocidade atual da partcula; yi: A melhor posio individual alcanada pela partcula.

    A melhor posio individual da partcula i representa a melhor posio que a

    partcula visitou e onde obteve a melhor avaliao. No caso de uma tarefa de minimizao, por exemplo, uma posio que obteve o menor valor da funo considerada como sendo a posio com melhor avaliao ou com mais alta aptido. O smbolo f ser usado para denotar a funo objetivo que est sendo minimizada. A equao de atualizao para a melhor posio individual dada pela equao (2.3), utilizando o tempo t explicitamente.

    +>++=+

    ))1(())(()1())1(())(()(

    )1(txftyfsetxtxftyfsety

    tyiii

    iiii (2.3)

    Existem duas verses do PSO, chamadas de modelos gbest e lbest (o melhor global e o melhor local) [26]. A diferena entre os dois algoritmos est baseada diretamente na forma com que uma determinada partcula interage com o seu conjunto de partculas. Para

  • 13

    representar esta interao ser utilizado o smbolo y . Os detalhes dos dois modelos sero discutidos por completo mais adiante. A definio do y , como usado no modelo de gbest, apresentado pela equao (2.4).

    { }}{ )(),.....,(),(

    ))((),(min)(

    10 tytytyytyfyfty

    s=

    (2.4)

    Note que esta definio mostra que y a melhor posio at ento encontrada por todas as partculas no enxame de tamanho S.

    O algoritmo PSO faz uso de duas seqncias aleatrias independentes, )1,0(~1 Ur e )1,0(~2 Ur . Estas seqncias so usadas para dar a natureza estocstica ao algoritmo,

    como mostrado abaixo na equao (2.5). Os valores de 1r e 2r so escalados atravs de constantes 2,0 21 > cc . Estas constantes so chamadas de coeficientes de acelerao, e exercem influncia no tamanho mximo do passo que uma partcula pode dar em uma nica iterao. A velocidade que atualiza o passo especificada separadamente para cada dimenso nj ..1 , de forma que jiv , denota a dimenso j do vetor da velocidade associado com a partcula i . A atualizao de velocidade dada pela seguinte equao:

    )]()()[(

    )]()()[()()1(

    ,,22

    ,,,11,,

    txtytrctxtytrctvtv

    jijj

    jijijjiji

    ++=+

    (2.5)

    Na definio da equao da atualizao de velocidade, a constante 2c regula de uma forma clara o tamanho mximo do passo na direo da melhor partcula global, e a constante 1c regula o tamanho do passo na direo da melhor posio individual daquela partcula. O valor de jiv , mantido dentro do intervalo de ],[ maxmax vv , reduzindo a probabilidade de que uma partcula pode sair fora do espao de busca. Se o espao de busca

    for definido pelo intervalo ],[ maxmax xx , ento o valor de maxv calculado da seguinte forma [27]:

    maxmax * xkv = , onde 0.11.0 k (2.6) A posio de cada partcula atualizada usando o seu novo vetor de velocidade:

    )1()()1( ++=+ tvtxtx iii (2.7) O algoritmo consiste em aplicao repetida das equaes de atualizao acima

    apresentadas. A Figura 2.6 contm o pseudocdigo do algoritmo de PSO bsico.

  • 14

    Figura 2.6 - O Pseudocdigo do algoritmo de PSO bsico. A inicializao mencionada no primeiro passo do algoritmo consiste do seguinte: 1. inicialize cada coordenada jix , com um valor aleatrio do intervalo ],[ maxmax xx , para todo o si ..1 e nj ..1 . Isto distribui as posies iniciais das partculas ao longo do espao de busca. Deve selecionar um bom algoritmo de distribuio aleatria para obter uma distribuio uniforme no espao de busca. 2. inicialize cada jiv , com um valor extrado do intervalo ],[ maxmax vv , para todo o

    si ..1 e nj ..1 . Alternativamente, as velocidades das partculas podero ser inicializadas com 0 (zero), desde que as posies inicias sejam inicializadas de uma forma aleatria.

    A condio de parada mencionado no algoritmo (Figura 2.6) depende do tipo de problema a ser resolvido. Normalmente o algoritmo executado para um nmero fixo e pr-determinado de iteraes (um nmero fixo de avaliao de funo) ou at alcanar um valor especfico de erro. importante perceber que o termo de velocidade modela a taxa de mudana dentro da posio da partcula. As mudanas induzidas pela equao de atualizao de velocidade (2.5) representam acelerao, o que explica por que as constantes

    21 , cc so chamados de coeficientes de acelerao.

    Uma descrio breve de como o algoritmo trabalha dada da seguinte forma: Inicialmente, uma partcula qualquer identificada como sendo a melhor partcula no grupo, baseado na sua aptido usando a funo objetiva. Ento, todas as partculas sero

    Criar e inicializar: i particula atual; S PSO de n-dimenses :

    inicio repita:

    para cada partcula i = [1..S] se f(S.xi) < f(S. yi) ento S. yi = S.xi se f(S.yi) < f(S. y)

    ento S. y = S. yi fimPara Atualize S usando as equaes (2.5 e 2.6)

    at a condio da parada seja Verdadeira fim

  • 15

    aceleradas na direo desta partcula, e ao mesmo tempo na direo das prprias melhores posies previamente encontradas. Ocasionalmente as partculas exploram o espao de busca ao redor da atual melhor partcula. Desta forma, todas as partculas tero a oportunidade para mudar a sua direo e buscar uma nova 'melhor' partcula. Considerando que a maioria das funes tm alguma forma de continuidade, as chances so boas de encontrar as melhores solues no espao que cerca a melhor partcula. Aproximao das partculas vindo de diferentes direes no espao de busca no sentido da melhor soluo aumenta as chances de descobrir as melhores solues que esto na rea vizinha da melhor partcula.

    2.4.2 O Comportamento do PSO

    Foram sugeridas muitas interpretaes a respeito do funcionamento e o comportamento do PSO. Kennedy, na sua investigao fortaleceu a viso scia-biolgica do PSO, realizando experincias para investigar as funes dos diferentes componentes da equao de atualizao da velocidade [28]. A tarefa de treinar uma rede neural foi usada para comparar o desempenho dos diferentes modelos. Kennedy fez uso do modelo de lbest (veja a seo sobre lbest para uma descrio completa deste modelo), em lugar do modelo gbest.

    Para isto desenvolveu duas equaes de atualizao de velocidade, a primeira, usando apenas a experincia da prpria partcula, chamado de componente de cognio, e a segunda, utilizando apenas a interao entre as partculas e chamou de componente social. Considere a equao de atualizao de velocidade (2.5) apresentada anteriormente:

    )]()()[(

    )]()()[()()1(

    ,,22

    ,,,11,,

    txtytrctxtytrctvtv

    jijj

    jijijjiji

    ++=+

    (2.8)

    O termo )]()()[( ,,,11 txtytrc jijij associado apenas com a cognio, onde

    leva-se em considerao apenas as experincias da prpria partcula. Se um PSO for construdo com o uso de apenas o componente cognitivo, a equao de atualizao de velocidade se tornar :

    )]()()[()()1( ,,,11,, txtytrctvtv jijijjiji +=+ (2.9)

    Kennedy constatou que o desempenho deste modelo de apenas com cognio era inferior ao desempenho do PSO original. Uma das razes de mal desempenho atribudo a ausncia total da interao entre as diferentes partculas.

    O terceiro termo na equao de atualizao de velocidade, )]()()[( ,,22 txtytrc jijj , representa a interao social entre as partculas. Uma verso do

    PSO com apenas o componente social pode ser construdo usando a seguinte equao de atualizao de velocidade:

    )]()()[()()1( ,,22,, txtytrctvtv jijjjiji +=+ (2.10)

  • 16

    Foi observado que nos problemas especficos que Kennedy investigou, o desempenho deste modelo era superior ao PSO original.

    Em resumo, o termo da atualizao da velocidade do PSO consiste de dois componentes, o componente de cognio e o componente social. Atualmente, pouco se sabe sobre a importncia relativa deles, embora resultados iniciais indiquem que o componente social mais importante na maioria dos problemas estudados. Esta interao social entre as partculas desenvolve a cooperao entre elas para resoluo dos problemas.

    2.4.3 Consideraes sobre a semelhana entre PSO e EAs

    H uma relao clara do PSO com os algoritmos evolutivos (EAs). Para alguns autores, o PSO mantm uma populao de indivduos que representam solues potenciais, uma das caractersticas encontradas em todos os EAs. Se as melhores posies individuais ( iy ) so tratadas como parte da populao, ento h uma forma clara de seleo fraca [29]. Em alguns algoritmos de ES, as descendentes (offspring), competem com os pais, substituindo-os se forem mais adaptados. A equao (2.3) se assemelha a este mecanismo, com a diferena que, a melhor posio individual (o pai) s pode ser substituda por sua prpria posio atual (descendente), desde que a posio atual seja mais adaptada. Portanto, parece ser alguma forma fraca de seleo presente no PSO.

    A equao de atualizao de velocidade se assemelha ao operador de cruzamento aritmtico (crossover) encontrado nos AGs. Normalmente, o cruzamento aritmtico produz dois descendentes que so resultados da mistura de dois pais envolvidos no cruzamento. A equao de atualizao de velocidade no PSO, sem o termo )(, tv ji (veja a equao 2.5), pode ser interpretado como uma forma de cruzamento aritmtico envolvendo dois pais, devolvendo apenas um nico descendente. Alternativamente, a equao de atualizao de velocidade, sem o termo )(, tv ji pode ser visto como operador de mutao.

    A melhor forma de analisar o termo )(, tv ji de no pensar em cada iterao como sendo um processo de substituio de populao por uma nova (mecanismo de morte e nascimento), mas como um processo de adaptao continuo [30]. Deste modo os valores de ix no so substitudos, mas continuamente adaptados usando os vetores iv de velocidade. Isto torna a diferena entre o PSO e os outros EAs mais clara: o PSO mantm informao relativa a posio e velocidade (mudanas em posio); em contraste, EAs tradicionais s mantm informao relativa a posio.

    Apesar de parecer que h algum grau de semelhana entre o PSO e a maioria do outro EAs, o PSO tem algumas caractersticas que atualmente no esto presentes em nenhum outro EAs, especialmente o fato de que o PSO modela a velocidade das partculas como tambm as suas posies.

    2.4.4 Origens e Terminologia

    O movimento das partculas foi descrito como sendo "vo" no espao de n-dimensionais [26]. Esta terminologia faz parte das experincias realizadas em simulaes de vo de pssaro, e que conduziu o desenvolvimento do algoritmo original do PSO [28], como foi citado pelos autores do PSO, Kennedy e Eberhart.

  • 17

    O termo enxame (swarm) era usado por Millonas para descrever modelos de vidas artificiais [31]. Para ele o termo de inteligncia enxame caracterizado pelas seguintes propriedades : Proximidade: necessita de espao simples e pequeno tempo computacional. Qualidade: Respondendo a fatores de qualidade no ambiente. Resposta diversa: No entrando em um subconjunto restrito de solues. Estabilidade: Podendo manter modos de comportamentos quando os ambientes mudam. Adaptabilidade: Podendo mudar modos de comportamentos quando a adaptao for

    necessria.

    Eberhart et al. [26] apresentou argumentos que demostraram que as partculas do PSO possuem estas propriedades. Tambm foi justificado o uso do termo partcula". Para o autor, usar populao poder dar a sensao de que os membros da populao precisam de massa e volume, talvez chamar de pontos" seria o mais preciso. Porm, os conceitos de velocidade e acelerao so mais compatveis com o termo partcula. Outros campos de pesquisa em computao, como a computao grfica, tambm usam o termo "sistemas de partcula para descrever os modelos usados para fazer efeitos especais e animao [32].

    2.4.5 Modelo do Melhor Global (gbest)

    O modelo gbest permite uma taxa mais rpida de convergncia [26] s custas de robustez. Este modelo mantm s uma nica "melhor soluo", chamada de melhor partcula global, entre todas as partculas no enxame. Esta partcula age como um atrator, puxando todas as partculas para ela. Eventualmente, todas as partculas convergiro a esta posio. Caso no seja atualizada regularmente, o enxame poder convergir prematuramente. As equaes de atualizao para y e iv so as mesmas apresentadas anteriormente: { }

    }{ )(),.....,(),())((),(min)(

    10 tytytyytyfyfty

    s=

    (2.11)

    )]()()[(

    )]()()[()()1(

    ,,22

    ,,,11,,

    txtytrctxtytrctvtv

    jijj

    jijijjiji

    ++=+

    (2.12)

    Note que y chamado de a melhor posio global, e pertence partcula chamada de a melhor partcula global.

    2.4.6 O Modelo do Melhor Local ( Lbest )

    O modelo de lbest tenta prevenir convergncia prematura mantendo mltiplos atratores. Um subconjunto de partculas definido para cada partcula de qual selecionada a melhor partcula local, iy . O smbolo iy chamado de a melhor posio local ou de melhor na vizinhana (the local best position or the neighbourhood best).

  • 18

    Assumindo que os ndices das partculas esto ao redor do espao S, as equaes de atualizao de lbest para um bairro de tamanho l so os seguintes: {

    })(),....,(),(),(),.....,(),(

    1

    11

    tytytytytytyN

    lii

    iililii

    ++

    += (2.13) { } iiii NaaftyfNty =++ ,)(min))1(()1( (2.14)

    )]()()[(

    )]()()[()()1(

    ,,22

    ,,,11,,

    txtytrctxtytrctvtv

    jijj

    jijijjiji

    ++=+

    (2.15)

    Note que as partculas selecionadas esto no subconjunto iN e no tem nenhuma relao com as outras partculas dentro do domnio do espao de busca; a seleo baseada unicamente no ndice da partcula. Isto feito por duas principais razes: o custo computacional mais baixo, por no necessitar de agrupamento, e isto ajuda tambm a promover a expanso de informao relativa s boas solues para todas as partculas, embora trata-se de busca local.

    Finalmente, pode observar que o modelo de gbest de fato um caso especial do modelo de lbest, quando o l = s, ou seja, quando o conjunto selecionado engloba todo o enxame [26].

    2.4.7 A Verso Binria do PSO

    Uma verso binria do PSO foi introduzida pelo Kennedy e Eberhart [33]. Esta verso til para fazer comparaes entre AGs codificados numa forma binria e o PSO, bem como representar problemas que so por natureza binrios. Uma aplicao tpica representar o grfico de conexo de uma rede neural onde '1' representa uma conexo e '0' representa a ausncia de conexo entre dois nodos na rede.

    A verso binria restringe os valores de componente de ix e iy para serem elementos do intervalo }1,0{U . Porm, no h nenhuma restrio no valor da velocidade,

    iv , de uma partcula. Entretanto, quando a velocidade usada para atualizar as posies, ela deve ser colocada dentro do intervalo de [0.0,1.0] e tratado como probabilidade. Isto pode ser obtido utilizando a funo sigmoidal, definida por:

    )exp(11)(

    xxsig += (2.16)

    Ento, a equao de atualizao para o termo de velocidade usado no enxame binrio dada por :

    )]()()[(

    )]()()[()()1(

    ,,22

    ,,,11,,

    txtytrctxtytrctvtv

    jijj

    jijijjiji

    ++=+

    (2.17)

  • 19

    Note que esta equao de atualizao de velocidade similar a que foi usada no PSO original. Em vez da equao de atualizao de posio habitual (por exemplo equao 2.8), uma nova equao de atualizao probabilstica usada:

    ( )( )3, ,, 3, ,

    0 ( ( 1))( 1)

    1 ( ( 1))j i j

    i jj i j

    se r t sig v tx t

    se r t sig v t ++ = < +

    (2.18)

    Onde ( ) ( )1,0~,3 Utr j um variante aleatrio uniforme (selecionado a partir do intervalo [0.0,1.0]). Ao analisar a equao (2.18), pode-se observar que o valor de jix , permanecer 0 (zero) se 0)( , =jivsig Isto acontecer quando jiv , aproximadamente menor do que -10. Igualmente, a funo de sigmoid saturar quando

    jiv , > 10. Para prevenir isto, recomendado que o valor de jiv , seja mantido dentro do intervalo de 4 [30]. O artigo original que descreve o PSO binrio recomenda um limiar de maxv ligeiramente maior de 6 , resultando em uma probabilidade de aproximadamente 0.0025 [33].

    Esta verso foi melhorada com a utilizao de novos conceitos [34]. Estes conceitos foram desenvolvidos com sendo extenses do PSO que sero apresentados mais adiante.

    2.5 As Principais Propostas de Melhorias do PSO Foram propostas vrias melhorias para a otimizao por Enxame de Partcula. Sero apresentadas as mais importantes melhorias agrupadas de acordo com seus objetivos.

    2.5.1 Melhorias na Taxa de Convergncia

    Foram propostas vrias tcnicas para melhorar a taxa de convergncia do PSO. Estas propostas normalmente envolvem mudanas na equao da atualizao do PSO, sem mudar a estrutura do prprio algoritmo. Isto normalmente resulta em otimizao local de melhor desempenho e s vezes com uma diminuio de desempenho em funes com mltiplos mnimos locais. - Peso da inrcia (Inertia weight) : A introduo do peso de inrcia por Shi e Eberhart foi uma das primeiras modificaes no algoritmo do PSO original objetivando melhorar a sua taxa de convergncia [66]. O peso de inrcia um fator escalar associado com a velocidade durante o passo de tempo anterior, resultando na seguinte nova equao de atualizao de velocidade :

    )]()()[(

    )]()()[()()1(

    ,,22

    ,,,11,,

    txtytrctxtytrctwvtv

    jijj

    jijijjiji

    ++=+

    (2.19)

    A equao da atualizao da velocidade do PSO original pode ser obtida fixando w = 1. Shi

  • 20

    e Eberhart investigaram o efeito de valores de w na faixa de [0, 1.4], como tambm variando w com o passar do tempo [66]. Os resultados obtidos demonstram que escolhendo

    ]2.1,8.0[w resulta em convergncia mais rpida, mas com o valor de w maior do que (> 1.2) resulta em mais fracassos para convergir. - Coeficiente de enxugamento (Constriction Factor) Recentemente num trabalho feito por Clerc [27,38] foi demonstrado que o coeficiente (ou fator) de enxugamento pode ajudar assegurar a convergncia. O modelo de coeficiente de enxugamento descreve, entre outras coisas, um modo de escolher os valores de w, c1 e c2 de forma que a convergncia seja assegurada.

    A Escolha correta destes valores, elimina a necessidade de ajustar os valores de jiv , escala de ],[ maxmax vv . A equao da atualizao usando este coeficiente como foi proposta em [27,38], apresentada na equao (2.20):

    ( ))]()()[()]()()[()()1( ,,22,,,11,, txtytrctxtytrctvtv jijjjijijjiji ++=+ , (2.20) Onde 42

    22

    = ,

    e 4,21 >+= cc .

    Eberhart e Shi compararam o desempenho de um enxame usando o ajuste com o maxv com outro enxame, onde foi utilizado apenas o coeficiente de enxugamento [43].

    Seus resultados indicaram que o uso do coeficiente de enxugamento (sem ajustar a velocidade) resulta geralmente em uma taxa melhor de convergncia em algumas das funes do teste, entretanto, o PSO com o coeficiente de enxugamento no alcanou a convergncia esperada com o nmero de iteraes pr-determinado. O problema, de acordo com Eberhart e Shi, que as partculas vagueiam demasiadamente longe da regio desejada do espao da busca. Para reduzir este efeito decidiram aplicar tambm o ajuste no prprio coeficiente de enxugamento, ajustando o parmetro do maxv igual ao maxx ,o tamanho do espao da busca. Isto conduziu melhora no desempenho do algoritmo para quase todas as funes usadas durante os testes. Para mostrar o funcionamento e aplicao do PSO, no prximo captulo ser apresentada uma aplicao do PSO para otimizar as funes de pertinncia num controle fuzzy.

  • 21

    Captulo 3

    Uma aplicao: O Ajuste Automtico das

    Funes de Pertinncia Fuzzy Usando

    PSO

    Neste captulo ser descrita uma aplicao que foi desenvolvida com objetivo de apresentar uma estratgia para o ajuste automtico das funes de pertinncia usando PSO. E com o algoritmo PSO pode-se fazer um ajuste automtico das funes de pertinncia melhorando significativamente o controle, minimizando o espao percorrido pelo veculo at estacionar e auxiliando os estudantes no aprendizado de controle difuso.

    3.1 Introduo A Teoria dos Conjuntos Difusos foi proposta por Lofti A. Zadeh em um artigo publicado em 1965 [87]. Recentemente, a Lgica Difusa tem sido utilizada no controle de processos industriais, equipamentos eletrnicos, de entretenimento, carros, sistemas de diagnose e, at mesmo, para o controle de eletrodomsticos.

    Os sistemas difusos podem ser considerados como sendo sistemas baseados em conhecimento, incorporando conhecimento humano na Base de Conhecimento deles atravs de Regras Difusas e Funes de Pertinncia. A definio destas regras difusas e as funes de pertinncia geralmente so feitas atravs de decises subjetivas, influenciando de uma forma direta no desempenho do sistema. Na maioria das aplicaes existentes, as regras difusas so geradas por peritos na rea, especialmente para problemas de controle com poucas entradas (variveis). Com um nmero crescente de variveis, o nmero de regras aumenta exponencialmente, o que torna mais difcil para peritos definirem conjunto de regras que resultam num sistema de bom desempenho.

    Neste estudo de caso foi utilizado um ambiente computacional para o ensino da lgica difusa [88]. Este programa computacional foi desenvolvido para o treinamento de estudantes de Engenharia na Teoria de Controle Difuso. O seu principal objetivo estacionar um veculo em uma garagem, partindo de qualquer posio dentro de uma rea pr-determinada.

    Com este pacote, os estudantes dispem de um recurso que exemplifica uma situao muito conhecida da vida real. Entretanto, este pacote apresenta uma sria desvantagem: o tipo de aprendizagem. Neste caso, os estudantes, para conseguir uma ao

  • 22

    de controle apropriada, utilizam o mtodo da tentativa-e-erro na definio das regras e parmetros para cada uma das funes de pertinncia.

    Neste trabalho ento desenvolveu-se um mdulo de treinamento PSO para um controle previamente criado. O algoritmo PSO ser utilizado para encontrar os melhores parmetros das funes de pertinncia. A concatenao destes parmetros constitui as partculas do enxame, que so avaliadas de acordo com o nmero de iteraes necessrias para que o veculo estacionar de acordo com o ajuste feito por cada grupo de partculas.

    Nas prximas sees ser descrito o mdulo de treinamento do PSO apresentando o algoritmo bem, como as telas de interface com o usurio. Em seguida sero mostrados os testes realizados com controles difusos que tiveram suas funes de pertinncia ajustadas e finalmente, as concluses sero apresentadas.

    3.2 O Pacote Computacional Original O pacote computacional tem como principal objetivo estacionar um veculo em uma garagem, partindo de qualquer ponto inicial dentro de uma rea pr-definida. Para tal, o usurio deve projetar um conjunto de regras de controle difuso e tambm as funes de pertinncia que controlaro a trajetria do veculo. Para definir tais regras, o programa oferece diversos menus com janelas e rotinas numricas. Os processos de fuzzificao e de defuzzificao das variveis so feitos pelo programa sem a necessidade de interferncia do usurio [88]. A Figura 3.1 mostra a tela inicial para representar o problema do estacionamento de um veculo. Nesta janela aparecem a posio da garagem, os limites existentes (as paredes) e os valores das coordenados limites. Tambm so apresentadas as variveis de entrada (x, y) medidas a partir do ponto central da parte traseira do veculo e finalmente, o ngulo do carro ().

    Figura 3.1 - Tela bsica do programa.

  • 23

    Para a realizao de estacionamento do veculo, algumas condies so estabelecidas, e pertencem dois tipos: ligadas ao pacote computacional e ligadas a lgicas. As condies ligadas ao pacote representam as limitaes fsicas. So elas [88]:

    limites das variveis de entrada: - posio (x, y): 0 < x < 32 e 0 < y < 20 (m) (limitaes do estacionamento) - ngulo do veculo: -90 270 - sentido do veculo: para frente ou para trs

    limite da varivel de sada: - ngulo da roda do veculo: -30 30 (limitao do modelo real)

    Com relao s limitaes lgicas, elas podem variar de acordo com os tipos das

    estratgias empregadas. Alguns exemplos destas estratgias podem ser, entre outras:

    minimizao do nmero de mudanas de sentido do veculo (para frente ou para trs);

    minimizao do espao percorrido pelo veculo at a garagem; a restrio de partes da garagem para o estacionamento.

    Para o movimento do veculo so estabelecidas as seguintes condies: acelerao igual a 1 (m/s2) e velocidade mxima de 1 (m/s). Estes dois valores so utilizados como referncia para todos os movimentos. Para inverter o sentido do movimento do veculo existem trs possibilidades, que so:

    a) Choque contra a parede: quando o sistema verifica que o veculo ir se chocar contra a parede no prximo passo;

    b) Regra que fora a inverso: quando a ordem de inverter for utilizada como conseqncia de uma regra; ou,

    c) Falta de sadas: quando nenhuma regra for utilizada pelo controle, ou seja, se a sada for nula.

    Para obter mais informaes sobre este pacote e tambm como feita a criao de um controle difuso veja [88].

    3.3 Simulaes Selecionada a opo simulao do menu, o usurio pode definir uma posio inicial (Coordenada X, Y e ngulo) para o veculo. A Figura 3.2 mostra o deslocamento do veculo utilizando o conjunto composto por 356 regras para o deslocamento.

    No exemplo de simulao da Figura 3.2, pode-se verificar o rastro deixado pelo veculo durante sua trajetria. Cada ponto significa uma iterao (ou seja, uma passagem completa no conjunto de regras). No exemplo, mostrado na Figura 3.2, produziu-se 256 iteraes.

  • 24

    Figura 3.2 - Exemplos de simulao do pacote computacional. O pacote computacional dispe de recursos, que permitem variar o tamanho do

    carro entre: pequeno, mdio ou grande. Esta variao cria a oportunidade de verificar o comportamento do sistema de controle para um equipamento que tenha alteradas algumas de suas grandezas. O pacote computacional possui tambm trs mtodos de defuzzificao, que so: o centride, mdia das reas e mdia das mximas [89].

    3.4 Descrio do Mdulo Treinamento PSO De forma geral, a integrao dos algoritmo PSO com o controle difuso foi implementada da seguinte maneira:

    A subpopulao de partculas do enxame foi definido como sendo a concatenao dos valores de ajuste das funes de pertinncia.

    Os parmetros so os centros e as larguras de cada conjunto difuso. Estes parmetros compem as partculas.

    De uma gama inicial de valores de parmetros possveis, o sistema difuso executado para determinar o quanto ele funciona bem.

    Essas informaes so usadas para determinar o ajuste de cada subpopulao (adaptabilidade) e estabelecer a evoluo do enxame.

    O ciclo repetido at que se complete o nmero de iteraes do enxame definido pelo usurio. A cada iterao encontrado o melhor conjunto de valores para os parmetros das funes de pertinncia. Para o treinamento do PSO podem-se definir as posies iniciais que o veculo ir partir para avaliar cada subpopulao do enxame que representa o conjunto de valores para os parmetros das funes de pertinncia, buscando assim uma otimizao do controle no somente sobre uma nica trajetria, mas sim de todas as posies iniciais possveis de se partir o veculo para que se ocorra o estacionamento.

  • 25

    Atravs de utilizao do menu Opo Treinamento PSO, o usurio faz o ajuste dos parmetros para o treinamento, alm de definir os parmetros (populao, iterao, velocidade mxima), estabelecer o valor de ajuste para as funes de pertinncia que o quanto a funo deslocar para esquerda ou direita e quanto ela se encolher ou expandir. Aps iniciar o treinamento, pode-se acompanhar o treinamento atravs das informaes exibidas por janelas. Concludas todas as iteraes, tem-se o melhor resultado encontrado. Aps o ajuste, as funes de pertinncia so redefinidas segundo os parmetros do melhor resultado encontrado. O sistema far o controle com base nestas novas funes.

    3.5 Componentes do Algoritmo PSO Sero apresentados nesta seo os mecanismos empregados para gerar timas funes de pertinncia no controlador difuso usando o algoritmo PSO.

    Cada funo de pertinncia do controlador difuso implementado definida usando quatro parmetros. So eles: IE (inferior esquerdo), ID (inferior direito), SE (superior esquerdo) e SD (superior direito).

    Figura 3.3 Parmetros das funes de pertinncia. Na Figura 3.3 so mostrados os parmetros da funo de pertinncia PE da varivel x. Para est funo o valor de IE igual a 30, ID igual a 160, SE igual a 80 e SD igual a 110. Para ajustar as funes de pertinncia foram definidas as seguintes equaes:

    IE = (IE + ki) wi ID = (ID + ki) + wi

  • 26

    SE = (SE + ki) SD = (SD + ki)

    Onde, ki e wi so coeficientes de ajustes. O ki faz cada funo de pertinncia mover-se para a direita ou para esquerda sem perder sua forma original. O coeficiente wi faz com que a funo de pertinncia encolha ou se expanda. Estes coeficientes assumem valores inteiros negativos ou positivos de acordo com o valor de ajuste definido pelo usurio. A Figura 3.4 mostra um exemplo de ajuste com os valores de IE igual a 30, ID igual a 160, SE igual a 80 e SD igual a 110. Sendo k = -8 e w = 5 a funo de pertinncia ter o seguinte ajuste:

    IE = ( 30 + (-8)) 3 = 19

    ID = (160 + (-8)) + 3 = 155 SE = ( 80 + (-8)) = 72

    SD = (110 + (-8)) = 102

    Figura 3.4 Exemplo de ajuste de uma funo de pertinncia. O algoritmo PSO ser utilizado para achar os timos valores das funes de pertinncia, segundo a estratgia escolhida, os pontos iniciais utilizados e os coeficientes de ajustes (ki e wi ).

  • 27

    3.5.1 Representao das Solues usando PSO

    O controle difuso normalmente est composto por muitas funes. Assim, para este tipo de problema ser necessrio o uso de subpopulao. Cada subpopulao representa uma possvel soluo. Com relao ao tamanho da subpopulao, ou seja, quantos partculas cada subpopulao ir ter, isso depender do nmero de funes de pertinncia definidas pelo usurio. Para um controle difuso com um grupo de 18 funes de pertinncia, por exemplo, necessita ter uma subpopulao com 18 partculas de 2 (duas) dimenses (x,y) . Isso porque para cada funo deve ter dois coeficientes de ajuste: ki e wi. A subpopulao ento representada por um vetor de 18 posies de partculas com 2 posies cada. Ento, necessrio ter a seguinte estrutura: sp1 = { p11,p12,p13...p1m } sp2 = { p21,p22,p23...p2m } ..... spn = { pn1,pn2,pn3...pnm } Onde: p: uma partcula de 2 dimenses (ki , wi.) n : numero de populao(enxame). m : nmero de partculas.

    3.5.2 Funo de Avaliao e o Critrio de Parada

    A funo de avaliao tem o papel de avaliar o nvel de aptido (adaptao) de cada subpopulao gerada pelo algoritmo. Para o problema em questo, o objetivo minimizar a trajetria do veculo at estacionar. No caso a funo de avaliao dada por:

    If +=1

    1 (3.1)

    onde I o total de iteraes at estacionar com base no ajuste feito por cada subpopulao nas funo de pertinncia. De acordo com est funo, a aptido de cada subpopulao ser inversamente proporcional ao nmero de iteraes. Como critrio de parada foi utilizado o nmero mximo de iteraes.

    3.5.3 Apresentao do Algoritmo

    Seja, G o nmero de iteraes do PSO, S o enxame, N o nmero de subpopulaes, Vmax a velocidade mxima e VA o valor de ajuste permitido para as funes de pertinncia. O algoritmo abaixo apresentado gere como sada o vetor gbest com a melhor subpopulao representando a melhor soluo.

  • 28

    Passo 1. Gere subpopulaes inicial SP com partculas no intervalo [- VA, +VA]. Passo 2. Gere velocidade inicial Vx e Vy com valores aleatrios. Passo 3. Se completou o nmero de repetio G v para Passo 7. Passo 4. Avalie a aptido da subpopulao SP. Passo 5. Atualize S usando as equaes (2.5 e 2.7) Passo 6. V para Passo 3. Passo 7. Fim.

    3.6 Testes Nesta seo sero apresentados os testes realizados com controles difusos que tiveram suas funes de pertinncia ajustadas usando PSO. Estes testes demonstram a eficincia de tais mecanismos, permitindo uma avaliao objetiva dos resultados encontrados.

    As funes de pertinncia originais so mostradas na Figura 3.5. Este controles possuem 148 regras e 15 funes de pertinncia para as variveis de entrada x, y e ngulo da roda.

    Figura 3.5 Funes de pertinncia originais. O treinamento deste controle foi feito a partir de trs posies iniciais, conforme mostra a Tabela 3.1 Nesta tabela tem tambm o nmero de iteraes geradas pelo veculo at estacionar utilizando as funes de pertinncia originais.

  • 29

    Tabela 3.1 Posies iniciais para o treinamento.

    Posio X Y ngulo do Carro

    Iteraes sem treinamento

    1 25 120 180 330 2 160 130 -90 888 3 275 160 -40 655

    A Figura 3.6 mostra o veculo em cada uma das posies iniciais.

    Figura 3.6 Posies iniciais de treinamento. Estas posies foram escolhidas de acordo com pontos onde o veculo no desenvolve uma boa trajetria at estacionar e, consequentemente, gerando um nmero excessivo de iteraes. Como j explicado no Captulo 4, a definio de vrias posies iniciais no ir somente minimizar as trajetrias referentes a estes pontos, mas como tambm para outros pontos, conseguindo assim uma minimizao global de espao percorrido.

    A Figura 3.7 mostra as trajetrias referentes a cada posio inicial. Os parmetros genticos definidos para o treinamento so mostrados na Tabela 3.2.

    Tabela 3.2 Parmetros do PSO.

    Tamanho da Populao 14 Nmero de Iteraes 30 Vmax 10

    Os resultados gerados pelo algoritmo PSO so mostrados na Tabela 3.3 e Figura 3.8.

  • 30

    Tabela 3.3 Iteraes aps o treinamento com PSO.

    Posio Iteraes sem treinamento

    Iteraes com treinamento

    1 330 285 2 888 592 3 655 439 Total 1873 1316 Mdia 624,33 438,99

    (a) (b)

    (c)

    Figura 3.7 Simulaes sem treinamento. (a) Posio 1 - (b) Posio 2 (c) Posio 3

    Como mostrado na Tabela 3.3, obteve-se uma reduo de 557 iteraes (29,74%) para o veculo estacionar partindo-se das posies inicias fixadas para o treinamento. Na Tabela 3.4 sero apresentados resultados de simulaes feitas partindo de posies iniciais no utilizadas no treinamento.

  • 31

    (a) (b)

    (c)

    Figura 3.8 Simulaes aps treinamento gentico. Posio 1 (b) Posio 2 (c) Posio 3

    Figura 3.9 Funes de pertinncia aps o ajuste com PSO.

    A Figura 3.9 mostra as funes de pertinncia aps o ajuste. Nota-se que as maiores modificaes ocorreram nas funes das variveis y e ngulo da roda. O prximo exemplo apresentar modificaes significantes nas funes da varivel x, uma vez que so utilizadas mais posies iniciais no treinamento.

  • 32

    A Tabela 3.4 apresenta o resultado obtido de simulaes feitas com 20 posies escolhidas aleatoriamente para o veculo estacionar utilizando o controle original que tiveram suas funes de pertinncia ajustadas pelos PSO. Os resultados demonstram uma reduo mdia do nmero de iteraes para o veculo atingir a posio final de 18,22%. Estes valores representam uma reduo global na trajetria do veculo partindo-se de posies no utilizadas no treinamento gentico. Outra observao que em determinadas posies o nmero de iteraes maior que as geradas pelos controles originais (sem treinamento). Na posio 2 da Tabela 3.4 por exemplo, o controle original gera 167 iteraes para estacionar o veculo enquanto que o controle treinado gera 306 iteraes. Este aumento conseqncia das modificaes nas funes da pertinncia que fazem com que o veculo desenvolva uma trajetria diferente para atingir a posio final.

    Tabela 3.4 Resultados de Simulaes. Iteraes geradas pelos Controles Difusos Posio X Y

    ngulo do carro Original Traindo com PSO

    1 1 126 182 450 445 2 6 46 132 167 306 3 8 41 190 1000 1000 4 15 70 -90 318 313 5 70 95 -6 263 257 6 74 69 -70 453 450 7 76 193 232 605 363 8 88 46 44 283 289 9 115 120 240 463 289 10 131 140 -72 457 512 11 141 69 -28 342 225 12 154 166 -80 863 950 13 160 135 268 1101 445 14 217 66 -50 684 506 15 228 194 -48 830 476 16 246 169 154 312 310 17 250 180 -40 739 489 18 265 170 -40 672 483 19 300 124 258 317 308 20 305 156 -40 521 449 Total 10840 8865 Mdia 542 443,25

    3.7 Consideraes sobre esta aplicao O algoritmo PSO oferece vantagens distintas de otimizao das funes de pertinncia resultando em uma pesquisa global, reduzindo as chances de terminarem em um

  • 33

    mnimo local, pois utiliza vrios conjuntos de solues simultaneamente. A lgica difusa contribuiu com a funo de avaliao, estgio do algoritmo PSO onde o ajuste determinado. Este trabalho tambm um exemplo de integrao de sistemas difusos com algoritmo PSO, constituindo assim um sistema hbrido. Nesta integrao mostrou-se que quando se tem o domnio do problema, este pode ser explorado pelo algoritmo PSO conduzindo a um desempenho melhor do controlador difuso. Os resultados obtidos foram bons e consistentes e comprovam os benefcios visualizados e descritos acima. O desenvolvimento desta aplicao permitiu tambm maior domnio sobre o algoritmo PSO e ajudou no estudo sobre o seu comportamento que ser apresentado no prximo captulo.

  • 34

    Captulo 4

    Um novo algoritmo: Algoritmo Hbrido de

    Otimizao por Enxame de Partcula com

    Mutao HPSOM

    Este captulo inicia-se com uma breve analise informal de comportamento do algoritmo PSO padro e seu desempenho. Em seguida apresentado um novo algoritmo chamado de Algoritmo de Otimizao por Enxame de Partcula Hbrido com Mutao (HPSOM), que combine a idia do enxame de partcula com o conceito de Algoritmos Genticos. Sero apresentados e discutidos os resultados dos testes entre os dois modelos: PSO e o HPSOM usando funes unimodal e multimodal.

    4.1 Introduo O desempenho do algoritmo PSO foi investigado em diversos trabalhos, desde o seu surgimento em ([10,11]). O trabalho apresentado na referncia [62] descreve a complexa tarefa da seleo dos parmetros no PSO. Uma comparao formal entre PSO e o Algoritmo Gentico padro foi realizada e apresentada na referencia [40], onde o autor apontou que o PSO possui um bom desempenho nas iteraes iniciais, mas apresenta problemas de convergncia quando se aproxima da soluo tima.

    O comportamento do PSO no modelo global (gbest) apresenta alguns aspectos importantes relacionados com a atualizao da sua velocidade. Se a posio atual de uma partcula coincidir com a melhor posio global, a partcula mover-se- afastando deste ponto somente se o seu peso de inrcia (w) e a sua velocidade anterior forem diferentes de zero. Se as velocidades anteriores das partculas forem muito prximas de zero, todas as partculas pararo de se mover, uma vez que j alcanam a melhor posio global. Isso pode conduzir o algoritmo convergncia prematura. De fato, isto no garante nem mesmo que o algoritmo convergiu em um mnimo local, apenas, significa que todas as partculas convergiram melhor posio encontrada at ento pelo enxame. Este fenmeno conhecido como estagnao [54].

    Algu