Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programa de Po´s-Graduac¸a˜o em Engenharia Mecaˆnica Universidade Federal de Uberlaˆndia Otimizac¸a˜o de Sistemas Mecaˆnicos Prof. Fran Se´rgio Lobato fslobato@ufu.br - www.fslobato.eng.br Nu´cleo de Modelagem, Controle e Otimizac¸a˜o de Processos Faculdade de Engenharia Qu´ımica, Universidade Federal de Uberlaˆndia Introduc¸a˜o aos Algoritmos Gene´ticos 1. Um Pouco de Histo´ria Ate´ meados do se´culo XIX os pesquisadores acreditavam que a existeˆncia de cada espe´cie se devia a um ser supremo ou que a teoria da gerac¸a˜o espontaˆnea era uma verdade absoluta. Foi apenas com o estudo baseado em observac¸o˜es e experimentos que Charles Darwin (ver a Figura 1) propoˆs a teoria da selec¸a˜o natural. Como resultado deste trabalho, Darwin publica o livro On the Origin of Species by Means of Natural Selection, o qual influenciou as a´reas da Biologia, Botaˆnica, Zoologia, bem como aspectos relacionados com o pensamento religioso, filoso´fico, pol´ıtico e econoˆmico da e´poca. Com a teoria desenvolvida por Darwin foi poss´ıvel propor o princ´ıpio ba´sico da Gene´tica Populacional, isto e´, a variabilidade entre indiv´ıduos em uma populac¸a˜o de organismos que se reproduzem sexualmente e´ produzida pela mutac¸a˜o e pela recombinac¸a˜o gene´tica. Esta descoberta permitiu o desenvolvimento de simulac¸o˜es computacionais relacionados com sistemas gene´ticos por volta de 1950. Figura 1: Charles Darwin - Idealizador da Teoria da Selec¸a˜o Natural. Foi John Holland (ver Figura 2(a)) o precursor no desenvolvimento das primeiras pesquisas relacionadas a` simulac¸a˜o computacional de sistemas gene´ticos. Este estudo resultou, em 1975, na publicac¸a˜o do livro Adap- tation in Natural and Artificial Systems, hoje considerado a B´ıblia dos Algoritmos Gene´ticos (AG). Mas foi somente em 1989 com o estudo de David E. Goldberg (ver Figura 2(b)) que os AG se tornaram populares entre os pesquisadores da a´rea de otimizac¸a˜o. A partir dos trabalhos que seguiram esta linha de pesquisa, os AG tornaram-se a base fundamental para o desenvolvimento de novos algoritmos de otimizac¸a˜o baseados em processos que acontecem na natureza e que hoje sa˜o tradicionalmente aplicados em diferentes campos da cieˆncia e da engenharia. 2. Me´todos de Otimizac¸a˜o sem o uso de Derivadas 2.1 O Primeiro Me´todo Sem Derivadas Proposto Em termos de otimizac¸a˜o, o primeiro algoritmo no contexto evolutivo, isto e´, sem o uso de informac¸o˜es sobre o gradiente da func¸a˜o objetivo e das restric¸o˜es para a atualizac¸a˜o de candadatos a` soluc¸a˜o do problema de otimizac¸a˜o, foi o Me´todo de Ordem Zero. Este consiste da gerac¸a˜o de candidatos de forma aleato´ria, isto (a) John Holland. (b) David Goldberg. Figura 2: Idealizadores dos tradicionais Algoritmos Gene´ticos. e´, sem que nenhuma metodologia espec´ıfica seja empregada para esta finalidade. A ideia ba´sica por tra´s desta estrate´gia de otimizac¸a˜o e´ gerar, de forma aleato´ria mas respeitando o domı´nio do vetor de varia´veis de projeto (Equac¸a˜o (1)), candidatos a` soluc¸a˜o do problema. De posse destes candidatos, a func¸a˜o objetivo e´ avaliada. A soluc¸a˜o e´ definida como o vetor que apresentar o melhor valor de func¸a˜o objetivo. xki = x l i + r(x u i − xli) (1) em que xli e x u i representam os limites inferior e superior para o vetor de varia´veis de projeto i (i=1,..., n), respectivamente, r e´ um nu´mero aleato´rio pertencente ao intervalo [0 1], e xki e´ a k-e´sima iterac¸a˜o da varia´vel de projeto i. Em termos gerais, o Me´todo de Ordem Zero apresenta a seguinte estrutura: ¶ Definir os paraˆmetros de entrada: nu´mero de varia´veis de projeto, limites inferior e superior para as varia´veis de projeto, func¸a˜o objetivo, nu´mero ma´ximo de iterac¸o˜es; · Enquanto o nu´mero ma´ximo de iterac¸o˜es na˜o for alcanc¸ado: ¸ Gerar o vetor de candidatos a` soluc¸a˜o do problema de otimizac¸a˜o; ¹ Avaliar cada candidato com relac¸a˜o a` func¸a˜o objetivo; º Fim Enquanto; » Ao final do processo identificar a melhor soluc¸a˜o (vetor de varia´veis de projeto e respectivo valor de func¸a˜o objetivo). Para fins de apresentac¸a˜o desta metodologia considere o seguinte problema: min f(x) = (x1 − 1)2 + (x2 − 1)2 + x21 (2) −100, 0 ≤ x1 ≤ 100, 0 (3) −100, 0 ≤ x2 ≤ 100, 0 (4) A Tabela 1 apresenta os resultados obtidos considerando diferentes nu´meros de execuc¸o˜es (com semente inicial para o gerador de nu´meros aleato´rios igual a zero). Os resultados apresentados nesta tabela ressaltam que o aumento do nu´mero de execuc¸o˜es, como esperado, reduz o valor da func¸a˜o objetivo. E´ interessante observar que quando aumenta-se esse valor de 102 para 103, o valor da func¸a˜o objetivo na˜o se altera. Isto se deve ao fato de que o algoritmo na˜o consegue melhorar o valor da func¸a˜o objetivo, por isso esse valor e´ preservado. Ressalta- se que em todas as execuc¸o˜es na˜o foi poss´ıvel, com a semente considerada nesta ana´lise e para o nu´mero de Tabela 1: Influeˆncia do nu´mero total de execuc¸o˜es na qualidade da soluc¸a˜o no estudo de caso proposto. Nu´mero de Execuc¸o˜es x1 x2 f - 0,5 1 0,5 102 0,904579 3,258393 5,927706 103 0,904579 3,258393 5,927706 104 0,928222 0,612552 1,016863 105 0,892548 1,051621 0,810853 106 0,440368 1,249491 0,569358 execuc¸o˜es realizadas, obter um valor pro´ximo ao da soluc¸a˜o anal´ıtica [x1 x2 f ]=[0,5 1 0,5]. Neste caso, apesar de simples, a metodologia na˜o foi capaz de obter um resultado satisfato´rio para este estudo de caso, considerado trivial. A Figura 3 apresenta o histo´rio de execuc¸o˜es usando o Me´todo de Ordem Zero para o tratamento do problema matema´tico proposto. Figura 3: Histo´rio de execuc¸o˜es usando o Me´todo de Ordem Zero para o problema proposto. De forma geral, a metodologia descrita apresenta as seguintes vantangens (Saramago, 1999): conceitu- almente simples, fa´cil de implementar, e´ uma abordagem relativamente confia´vel, e´ capaz de trabalhar com qualquer tipo de varia´veis (discretos, cont´ınuos, bina´rios e reais) e requerem apenas a avalic¸a˜o da func¸a˜o obje- tivo no ponto de interesse. Por outro lado, este necessita de um elevado nu´mero de avaliac¸o˜es da func¸a˜o objetivo e, por consequeˆncia, um elevado tempo de processamento, o que representa a sua principal desvantagem com relac¸a˜o as outras te´cnicas de otimizac¸a˜o (Saramago, 1999). Assim, apesar da facilidade de aplicac¸a˜o deste abordagem, a mesma na˜o pode ser utilizada para resolver problemas de grande complexidade, pois o esforc¸o computacional requerido seria extremamente elevado. 3. Objetivos Conforme observado na sec¸a˜o anterior, apesar das vantagens apresentadas pelo algoritmo puramente ale- ato´rio, dificilmente algum problema mais complexo podera´ ser resolvido utilizando-se esta metodologia. Neste contexto, o presente guia de estudos tem por objetivo apresentar, de forma resumida e pra´tica, os principais conceitos relacionados com a concepc¸a˜o conceitual dos tradicionais Algoritos Gene´ticos, com eˆnfase na sua formulac¸a˜o bina´ria e na sua aplicac¸a˜o em problemas com ou sem restric¸o˜es. 4. Algoritmos Gene´ticos Os Algoritmos Gene´ticos (AG) sa˜o estrate´gias fundamentadas em mecanismos de selec¸a˜o natural e na gene´tica de populac¸o˜es, cujo objetivo e´ a determinac¸a˜o da soluc¸a˜o de um problema de otimizac¸a˜o (Michalewicz, 1998). Estes algoritmos, reconhecidamente de busca global (pois sa˜o capazes de escapar de o´timos locais, o que na˜o acontece com me´todos que fazer uso de informac¸o˜es sobre o gradiente da func¸a˜o objetivo e de suas restric¸o˜es), geram um populac¸a˜o de candidatos fundamentados em determinados operadores gene´ticos de natureza aleato´ria de modo a obter a populac¸a˜o mais evolu´ıda poss´ıvel (esta conte´m o candidato que apresenta a maior adpatac¸a˜o, isto e´, o melhor valor de func¸a˜o objetivo). Apesar de aleato´rios, pode-se dizer quea busca pelo o´timo na˜o representa um conjunto de tentativas puramente aleato´rias, mas de certa forma direcionadas, pois exploram informac¸o˜es baseadas no histo´rico para encontrar novos candidatos a` soluc¸a˜o do problema de otimizac¸a˜o. De forma geral, a atualizac¸a˜o da populac¸a˜o de candidatos e´ realizada atrave´s de um procedimento iterativo, onde cada iterac¸a˜o e´ denominada, segundo a nomenclatura da gene´tica das populac¸o˜es, de gerac¸a˜o. Durante cada gerac¸a˜o, os princ´ıpios de reproduc¸a˜o, mutac¸a˜o e selec¸a˜o sa˜o aplicados a uma populac¸a˜o de candidatos de modo que esta possa ser atualizada, como acontece na natureza onde as espe´cies esta˜o em constante evoluc¸a˜o. Antes de apresentar os operadores gene´ticos responsa´veis pela atualizac¸a˜o da populac¸a˜o, deve-se enfatizar a nomenclatura que normalmente e´ encontrada na literatura especializada. A Tabela 2 apresenta a analogia entre a gene´tica de populac¸o˜es e o problema de otimizac¸a˜o (Michalewicz, 1998). Tabela 2: Analogia entre a gene´tica das populac¸o˜es e o problema de otimizac¸a˜o. Linguagem Natural Problema de Otimizac¸a˜o Cromossomo Vetor de varia´veis de projeto Gene Unidade do cromossomo Alelo Valor do gene Populac¸a˜o Conjunto de cromossomos Gerac¸a˜o Iterac¸a˜o Aptida˜o Func¸a˜o Objetivo A Figura 4 exemplifica o exposto acima (Saramago, 1999): Figura 4: Relac¸a˜o entre cromossomos, genes e alelos (Adaptado de Saramago (1999)). Nesta figura o cromossomo representa o vetor que conte´m as n varia´veis de projeto referentes ao problema de otimizac¸a˜o, representadas, neste caso, por um conjunto de 5 nu´meros bina´rios (zero ou um). Cada gene representa uma varia´vel de projeto e cada bina´rio representa um gene. Ja´ o conjunto de cromossomos forma a populac¸a˜o de candidatos a` soluc¸a˜o do problema de otimizac¸a˜o. E´ importante ressaltar que a primeira versa˜o dos AG foi implementado considerando a codificac¸a˜o bina´ria, isto e´, todo e qualquer nu´mero real era representado por uma sequeˆncia de nu´meros bina´rios. Neste contexto, todo o desenvolvimento da metodologia sera´ fundamentada nesta estrutura, apesar de hoje em dia os AG serem representados por codificac¸a˜o real. Isto se deve ao fato da codificac¸a˜o bina´ria implicar em uma grande alocac¸a˜o de memo´ria, requerida para poder representar um nu´mero real com muitas casas decimais. Assim, este tipo de representac¸a˜o e´ pouco empregada no contexto de otimizac¸a˜o evolutiva. Conforme comentado, os AG sa˜o procedimentos iterativos onde, a cada gerac¸a˜o, a populac¸a˜o e´ modificada de acordo com a aplicac¸a˜o de determinados operadores, a saber, o operador de reproduc¸a˜o (processo no qual cada cadeia e´ copiada levando em conta os valores da func¸a˜o objetivo); o operador de cruzamento (processo no qual a combinac¸a˜o de partes de cada um de dois cromossomos gera um novo descendente) e o operador de mutac¸a˜o (que representa a modificac¸a˜o aleato´ria ocasional (de baixa probabilidade) do valor de um alelo da cadeia) (Saramago, 1999). O fluxograma descrito na Figura 5 apresenta a estrutura ba´sica dos AG. Figura 5: Fluxograma ba´sico referente aos tradicionais AG (Adaptado de Saramago (1999)). Antes de discutir os operadores citados, faz-se necessa´rio a apresentac¸a˜o da forma como cada varia´vel de projeto sera´ representada, ja´ que o objetivo deste guia de estudos e´ destacar a primeira versa˜o dos tradicionais AG proposta, isto e´, a com codificac¸a˜o bina´ria. Todo e qualquer nu´mero real pode ser representado na forma bina´ria, isto e´, ao inve´s de usar a representac¸a˜o real, pode-se escrever um nu´mero em termos de zero e da unidade. A conversa˜o de um nu´mero inteiro e´ realizada da direita para a esquerda, isto e´, determina-se primeiro o algarismo das unidades (o que vai ser multiplicado por 20), em seguida o segundo algarismo da direita (o que vai ser multiplicado por 21), e assim por diante. A questa˜o chave, por incr´ıvel que parec¸a, e´ observar se o nu´mero e´ par ou ı´mpar. Em bina´rio, o nu´mero par termina em 0 e o nu´mero ı´mpar termina em 1. Assim, determina-se o algarismo da direita pela simples divisa˜o do nu´mero por dois (se o resto for 0 (nu´mero par) o algarismo da direita e´ 0; se o resto for 1 (nu´mero ı´mpar) o algarismo da direita e´ 1). Por outro lado, e´ bom lembrar que, na base dez, ao se dividir um nu´mero por dez, basta levar a v´ırgula para a esquerda. Analogamente na base dois, ao se dividir um nu´mero por dois, basta levar a v´ırgula para a esquerda. Assim, para se determinar o segundo algarismo do nu´mero em bina´rio, basta lembrar que ele e´ a parte inteira do nu´mero original dividido por dois, abandonando o resto. Como exemplo pra´tico, deseja-se converter 25 de decimal para bina´rio. A Figura 6 apresenta o procedimento geral para transformar um nu´mero decimal em um equivalente bina´rio. Figura 6: Tranformac¸a˜o de um nu´mero decimal em um nu´mero bina´rio. Neste caso, o nu´mero 25 pode ser representado como 11001, que pode ser reescrito na base 2 como (m=5, e´ o nu´mero de bits considerados): x = m−1∑ i=0 am−1−i × 2i = 1× 20 + 0× 21 + 0× 22 + 1× 23 + 1× 24 = 25 (5) em que a ≡[a0 a1 a2 a3 a4]=[1 1 0 0 1]. Esta transformac¸a˜o e´ necessa´ria para ilustrar o procedimento proposto no primeiro AG. Assim, todo nu´mero real podera´ ser representado atrave´s da codificac¸a˜o bina´ria. Para fins de aplicac¸a˜o dos operadores do AG, sera´ considerado a seguinte func¸a˜o matema´tica (Haupt & Haupt, 1998; Saramago, 1999). max f = −(β sin(4β) + 1, 1γ sin(2γ)) (6) 8 ≤ β, γ ≤ 10 (7) Para este exemplo sera´ considerado 8 bits (m na Equac¸a˜o (5)) para a representac¸a˜o de cada varia´vel, conforme proposto por Haupt & Haupt (1998); Saramago (1999). A seguir sa˜o apresentados os operadores ba´sicos dos AG, bem como a forma como a populac¸a˜o inicial e´ gerada, como o crite´rio de parada pode ser definido neste procedimento iterativo e como pode ser realizado o tratamento de restric¸o˜es de igualdade e desigualdade. 4.1 Inicializac¸a˜o da Populac¸a˜o Como em qualquer algoritmo de otimizac¸a˜o evolutivo, a populac¸a˜o e´ inicializada aleatoriamente (onde cada varia´vel de projeto e´ delimitada pelo domı´nio especificado pelo usua´rio). Para essa finalidade, deve-se definir o tamanho da populac¸a˜o, bem como a func¸a˜o objetivo (Equac¸a˜o (6)) e o respectivo domı´nio (Equac¸a˜o (7)). Assim, considerando seis candidatos na populac¸a˜o tem-se a seguinte populac¸a˜o inicial (gerada aleatoriamente): Tabela 3: Populac¸a˜o inicial para a func¸a˜o f . Candidato Representac¸a˜o Representac¸a˜o f Bina´ria Real C1 [10000101 00100111] [9,04 8,31] 16,26 C2 [00001110 00001001] [8,11 8,07] -3,21 C3 [10010001 00000001] [9,14 8,01] 11,01 C4 [11000101 00101001] [9,55 8,32] 2,76 C5 [01111100 10101100] [8,98 9,35] 10,32 C6 [11100010 01001010] [9,77 8,58] -0,22 A transformac¸a˜o do primeiro cromossomo (candidato a` soluc¸a˜o do problema de otimizac¸a˜o) de bina´rio para real pode ser realizada considerando a seguinte relac¸a˜o Saramago (1999): ξ = liminf + ξ¯ limsup − liminf 2m − 1 (8) em que ξ representa o vetor de varia´veis de projeto (β ou γ), ξ¯ representa o nu´mero bina´rio codificado para a base 10, liminf e limsup representam os limites inferior e superior referentes ao vetor de varia´veis de projeto e m e´ o nu´mero de bits considerados para a representac¸a˜o da codificac¸a˜o bina´ria. Para o estudo de caso em questa˜o tem-se: β¯ = 8−1∑ i=0 a8−1−i × 2i = 1× 20 + 0× 21 + 1× 22 + 0× 23 + 0× 24 + 0× 25 + 0× 26 + 1× 27 = 133 (9) γ¯ = 8−1∑ i=0 a8−1−i × 2i = 1× 20 + 1× 21 + 1× 22 + 0× 23 + 0× 24 + 1× 25 + 0× 26 + 0× 27 = 39 (10) em que a para β e γ sa˜o iguais a [10000101] e [00100111], respectivamente (conforme a primeira linha da Tabela 3). Portanto, aplicando a Equac¸a˜o (8) obteˆm-se (liminf=[8 8], limsup=[10 10], m=8, β¯=133 e γ¯=39):β = 8 + 133(10− 8) 28 − 1 = 9, 04 (11) γ = 8 + 39(10− 8) 28 − 1 = 8, 31 (12) Com os valores de β e γ convertidos, a func¸a˜o objetivo (Equac¸a˜o (6)) pode ser avaliada para este candidato: max f = −(9, 04 sin(4× 9, 04) + 1, 1× 8, 31 sin(2× 8, 31)) = 16, 26 (13) Analogamente, os outros candidatos da populac¸a˜o tambe´m podem ser avaliados, conforme apresentado na Tabela 3. A seguir, todos esses indiv´ıduos da populac¸a˜o sera˜o modificados atrave´s da aplicac¸a˜o dos operadores gene´ticos de reproduc¸a˜o, cruzamento e mutac¸a˜o. 4.2 Reproduc¸a˜o No operador de reproduc¸a˜o o candidato que apresenta o maior valor, em termos da func¸a˜o objetivo, tem a maior chance de contribuir a` gerac¸a˜o seguinte (com pelo menos um descendente). Assim, quanto maior o valor da func¸a˜o objetivo, maiores sa˜o as chances do candidato sobreviver no ambiente e reproduzir-se passando parte de seu material gene´tico a gerac¸o˜es posteriores (Braga, 1998; Saramago, 1999). Para a aplicac¸a˜o deste operador faz-se necessa´rio a determinac¸a˜o da probabilidade (pi, i=1, ..., 6), conforme a seguinte equac¸a˜o: pi = fi(β, γ)∑6 j=1 fj(β, γ) i = 1, ..., 6 (14) Assim, se o candidato for de baixa adequabilidade, o mesmo tem alta probabilidade de desaparecer da populac¸a˜o. Por outro lado, o candidato for de alta adequabilidade, o mesmo tem grandes chances de permanecer na populac¸a˜o. Para a populac¸a˜o apresentada na Tabela 3, o somato´rio de todos os valores da func¸a˜o objetivo e´: 6∑ j=1 fj(β, γ) = 36, 92 (15) Como citado anteriormente, a func¸a˜o objetivo (f(β, γ)) e´ o crite´rio que decide sobre a vida ou a morte de cada cromossomo. O mecanismo para selec¸a˜o das melhores cadeias, ou seja, das mais adaptadas, e´ definido pelo uso das probabilidades proporcionais, resultando os seguintes valores: p1 = 16, 26 36, 92 = 0, 44 (16) p2 = −3, 21 36, 92 = −0, 09 (17) p3 = 11, 01 36, 92 = 0, 30 (18) p4 = 2, 76 36, 92 = 0, 07 (19) p5 = 10, 32 36, 92 = 0, 28 (20) p6 = −0, 22 36, 92 = −0, 00 (21) em que: 6∑ i=1 pi = 1 (22) As probabilidades acumulativas (qi, i=1, ...,6) para cada cromossomo sa˜o dadas por: qi = i∑ j=1 pj , i = 1, ..., 6 (23) Assim, tem-se os seguintes valores acumulativos: q1 = p1 = 0, 44 (24) q2 = p1 + p2 = 0, 44− 0, 09 = 0, 35 (25) q3 = p1 + p2 + p3 = 0, 44− 0, 09 + 0, 30 = 0, 65 (26) q4 = p1 + p2 + p3 + p4 = 0, 44− 0, 09 + 0, 30 + 0, 07 = 0, 72 (27) q5 = p1 + p2 + p3 + p4 + p5 = 0, 44− 0, 09 + 0, 30 + 0, 07 + 0, 28 = 1, 00 (28) q6 = p1 + p2 + p3 + p4 + p5 + p6 = 0, 44− 0, 09 + 0, 30 + 0, 07 + 0, 28 + 0, 00 = 1, 00 (29) A seguir deve-se selecionar as cadeias que ira˜o contribuir para a gerac¸a˜o seguinte. Esta selec¸a˜o considera um conjunto de nu´meros r, escolhidos aleatoriamente entre [0,1], em quantidade igual ao nu´mero de cadeias. A ana´lise e´ feita atrave´s das seguintes opc¸o˜es: • Se r < qi, enta˜o seleciona-se o i◦ cromossomo Ci; • Por outro lado, se r > qi, enta˜o analisar o subsequente cromossomo, isto e´, i+1. Vale ressaltar que alguns cromossomos podera˜o ser selecionados mais de uma vez, isto e´, os melhores sera˜o copiados mais vezes, enquanto que os de menor probabilidade podera˜o ser eliminados da populac¸a˜o Saramago (1999). Para o estudo de caso em ana´lise, considere que foram gerados os seguintes nu´meros aleato´rios: r = [0, 64 0, 08 0, 47 0, 88 0, 93 0, 70] (30) A selec¸a˜o dos cromossomos e´ dada como segue. Primeiramente inicializa-se o processo testando o cromos- somo 1. Assim, como r1=0,64>q1=0,44 → avalia-se o pro´ximo cromossomo. r1=0,64>q2=0,35 → avalia-se o pro´ximo cromossomo. r1=0,64<q3=0,65 → seleciona-se o cromossomo C3. Em seguida, avalia-se os outros candidatos: • r2=0,08<q1=0,44 → seleciona-se o cromossomo C1; • r3=0,47>q1=0,44 → avalia-se o pro´ximo cromossomo. r3=0,47>q2=0,35 avalia-se o pro´ximo cromossomo r3=0,47<q3=0,65 → seleciona-se o cromossomo C3; • r4=0,88>q1=0,44 → avalia-se o pro´ximo cromossomo. r4=0,88>q2=0,35 → avalia-se o pro´ximo cromos- somo. r4=0,88>q3=0,65 → avalia-se o pro´ximo cromossomo. r4=0,88>q4=0,72 → avalia-se o pro´ximo cromossomo. r4=0,88<q5=1,00 → seleciona-se o cromossomo C5; • r5=0,93>q1=0,44 → avalia-se o pro´ximo cromossomo. r5=0,93>q2=0,35 → avalia-se o pro´ximo cromos- somo. r5=0,93>q3=0,65 → avalia-se o pro´ximo cromossomo. r5=0,93>q4=0,72 → avalia-se o pro´ximo cromossomo. r5=0,93<q5=1,00 → seleciona-se o cromossomo C5; • r6=0,70>q1=0,44 → avalia-se o pro´ximo cromossomo. r6=0,70>q2=0,35 → avalia-se o pro´ximo cromos- somo. r6=0,70>q3=0,65→ avalia-se o pro´ximo cromossomo. r6=0,70<q4=0,72 seleciona-se o cromossomo C4. Depois de selecionados, os cromossomos da˜o origem a uma nova populac¸a˜o representada como: Tabela 4: Populac¸a˜o gerada a partir da aplicac¸a˜o do operador de reproduc¸a˜o. Candidato Representac¸a˜o Gerado do f Bina´ria Cromossomo C ′ 1 [10010001 00000001] C3 11,01 C ′ 2 [10000101 00100111] C1 16,26 C ′ 3 [10010001 00000001] C3 11,01 C ′ 4 [01111100 10101100] C5 10,32 C ′ 5 [01111100 10101100] C5 10,32 C ′ 6 [11000101 00101001] C4 2,76 4.3 Cruzamento O operador de cruzamento consiste de troca de material gene´tico de modo a promover a diversidade da populac¸a˜o, isto e´, promover a explorac¸a˜o da regia˜o de busca. Na literatura, inu´meras sa˜o as formas para se obter o cruzamento nos AG. Neste estudo sera´ adotado o seguinte procedimento. Seja um ponto k que define a posic¸a˜o de cruzamento na cadeia de bits de cada cromossomo escolhido aleatoriamente na populac¸a˜o. A quantidade de cromossomos a ser submetida ao processo de cruzamento e´ definida atrave´s da probabilidade de cruzamento (pc), especificada pelo usua´rio entre [0,1] (por se tratar de uma probabilidade). Cada cadeia e´ quebrada no k-e´simo ponto e todas as informac¸o˜es do cromossomo i, a partir do ponto escolhido, sa˜o copiadas para o cromossomo j e vice-versa, conforme esquematizado na Figura 7. O processo de escolha de quem sera´ compartilhado deve ser feito em pares, atrave´s da escolha via a gerac¸a˜o de nu´meros aleato´rios (ri). Quando na˜o for poss´ıvel formar os pares um novo sorteio devera´ ser feito ate´ obter os pares necessa´rios para o cruzamento. Por exemplo, se r1 for menor que a probabilidade pc, enta˜o o cromossomo C ′ 1 sera´ selecionado. Figura 7: Representac¸a˜o esquema´tica do operador de cruzamento (Adpatado de Saramago (1999)). De maneira geral, o valor da probabilidade de cruzamento e´ tomada como sendo 0,25 (considerado neste trabalho). Apo´s de ter feito isso, deve-se gerar um novo nu´mero aleato´rio para determinar a k-e´sima posic¸a˜o onde duas novas cadeias sa˜o formadas pela troca de todos os caracteres compreendidos entre as posic¸o˜es k+1 e m. Esta k-e´sima posic¸a˜o pode ser determinada atrave´s da seguinte relac¸a˜o Saramago (1999): k = 1 + rand((m− 1)− 1) (31) em que rand e´ um nu´mero aleato´rio gerado no intervalo compreendido entre 0 e 1 e m e´ o nu´mero de bits considerados. Em termos pra´ticos, a seguir este operador sera´ aplicado ao estudo de caso proposto. Assim, a nova populac¸a˜o C ′ i (i=1, ..., 6) sera´ submetida ao operador de cruzamento. Para essa finalidade considera-se pc igual a 0,25 e os seguintes nu´meros aleato´rios ri=[0,50 0,17 0,40 0,15 0,20 0,23], os quais nos revelam que [r1 > pc r2 < pc r3 > pc r4 < pc r5 < pc r6 < pc]. Neste caso, os cromossomos com posic¸o˜es C ′ 2 e C ′ 4; C ′ 5 e C ′ 6 sa˜o selecionados para o cruzamento. Agora, e´ so´ gerar um nu´mero aleato´rio para determinar a k-e´sima posic¸a˜o para a realizac¸a˜o do cruzamento. Considerando rand igual a 0,7, o valor de k e´ k=1+0,7((16-1)-1)=1+0,7(15-1)=10,8. Assim, considera-se o maior inteiro, isto e´, k e´ igual a 11. Da´ı, C ′ 2 − 1000010100100111 C ′ 4 − 0111110010101100 (32) Trocando os caracteres tem-se: C′ 2 − 1000010100101100 C ′ 4 − 0111110010100111 (33) Analogamente para o outro par: C ′ 5 − 0111110010101100 C ′ 6 − 1100010100101001 (34) Trocando os caracteres tem-se: C ′ 5 − 0111110010101001 C ′ 6 − 1100010100101100 (35) Apo´s a aplicac¸a˜o do operador cruzamento, a populac¸a˜o gerada e´ dada na Tabela 5. O subscrito ′′ representa um novo candidado a` soluc¸a˜o do problema de otimizac¸a˜o. Tabela 5: Populac¸a˜o gerada a partir da aplicac¸a˜o do operador de cruzamento. Candidato Representac¸a˜o f Bina´ria C ′ 1 [10010001 00000001] 11,01 C ′′ 2 [10000101 00101100] 16,72 C ′ 3 [10010001 00000001] 11,01 C ′′ 4 [01111100 10100111] 11,02 C ′′ 5 [01111100 10101001] 10,67 C ′′ 6 [11000101 00101100] 3,10 4.4 Mutac¸a˜o O operador de mutac¸a˜o consiste em uma modificac¸a˜o aleato´ria no valor de um alelo da cadeia (que forma o gene e, por consequeˆncia, o cromossomo). Caso o alelo escolhido seja zero passa a ser um e vice-versa, conforme esquematizado na Figura 8. Figura 8: Representac¸a˜o esquema´tica do operador de mutac¸a˜o (Adpatado de Saramago (1999)). Segundo Haupt & Haupt (1998), uma forma simples de se implementar esse operador e´ gerar pares (a, b) aleato´rios onde a representa a linha e b representa a coluna da mudanc¸a do bit. Em termos pra´ticos para o estudo de caso proposto para a aplicac¸a˜o dos operadores, sejam os pares (1,10) e (5,3), logo tem-se (o cromossomo C ′ 2 na˜o sera´ objeto de mutac¸a˜o por apresentar o maior valor para a func¸a˜o objetivo): • Par (1,10): escolhe-se o cromossomo 1 (C ′1, o qual sera´ modificado na posic¸a˜o de nu´mero 10, isto e´: [1001000100000001 1001000101000001]; • Par (5,3): escolhe-se o cromossomo 5 (C ′′5 , o qual sera´ modificado na posic¸a˜o de nu´mero 3, isto e´: [0111110010101001 0101110010101001]. Outra forma muito comum e de grande aplicabilidade consiste na selec¸a˜o aleato´ria de uma posic¸a˜o em um cromossomo, a qual deve ser comparada com a probabilidade de mutac¸a˜o pm (escolhida pelo usua´rio como sendo geralmente igual a 1%) para mudar o valor do bit. Neste caso, se for gerado um nu´mero aleato´rio entre 0 e 1 e este for menor que a probabilidade de mutac¸a˜o, sera´ realizada a mudanc¸a no bit do cromossomo, caso contra´rio, o cromossomo permanece sem nenhuma modificac¸a˜o. Este operador tem um papel importante e necessa´rio, porque a aplicac¸a˜o dos operadores de reproduc¸a˜o e de cruzamento podem resultar na perda de material gene´tico potencialmente u´til. O operador de mutac¸a˜o protege os algoritmos gene´ticos contra perdas irrepara´veis (Saramago, 1999). Tomada isoladamente, a mutac¸a˜o se constituiria na explorac¸a˜o aleato´ria do espac¸o das cadeias. Utilizada com cuidado, juntamente com os outros dois operadores, protege-se o procedimento da perda prematura de informac¸o˜es importantes (Braga, 1998). Para a aplicac¸a˜o deste operador ao estudo de caso proposto sa˜o necessa´rios a gerac¸a˜o de 96 (16(nu´mero de bits totais)×6(tamanho da populac¸a˜o)) nu´meros aleato´rios r entre [0,1]. Se r for menor que a probabilidade pm=0,01 sera´ feita a mutac¸a˜o no bit correspondente. Assim, considere que foram gerados 96 nu´meros r entre 0 e 1 e que treˆs tiveram probabilidades menores que pm. Foram os seguintes nu´meros r=[r13=0,009<pm=0,01 r39=0,0025<pm=0,01 r83=0,0004<pm=0,01]. Considerando a populac¸a˜o atual como sendo dado pela Tabela 6 pode-se selecionar a posic¸a˜o onde deve-se Tabela 6: Populac¸a˜o atual. Candidato Representac¸a˜o f Bina´ria C ′ 1 [10010001 00000001] 11,01 C ′′ 2 [10000101 00101100] 16,72 C ′ 3 [10010001 00000001] 11,01 C ′′ 4 [01111100 10100111] 11,02 C ′′ 5 [01111100 10101001] 10,67 C ′′ 6 [11000101 00101100] 3,10 ocorrer a mutac¸a˜o, conforme ilustrado na Tabela 7. Tabela 7: Selec¸a˜o da posic¸a˜o para aplicac¸a˜o do operador mutac¸a˜o. Posic¸a˜o Cromossomo Probabilidade 13 C ′ 1 0,009 39 C ′ 3 0,0025 83 C ′′ 6 0,0004 Submetendo os bits 13, 39 e 83 ao processo de mutac¸a˜o teˆm-se: Tabela 8: Nova populac¸a˜o (apo´s a aplicac¸a˜o do operador mutac¸a˜o). Cromossomo Representac¸a˜o Bina´ria C ′ 1 [10010001 00001001] C ′′ 2 [10000101 00101100] C ′ 3 [10010011 00000001] C ′′ 4 [01111100 10100111] C ′′ 5 [01111100 10101001] C ′′ 6 [11100101 00101100] Apo´s a aplicac¸a˜o dos treˆs operadores tem-se encerrado a 1a gerac¸a˜o dos AG. Observa-se na Tabela 9 que os valores da func¸a˜o objetivo referentes a cada candidato modificaram-se com relac¸a˜o a` populac¸a˜o inicial. cujo valor do somato´rio de f aumentou: 6∑ i=1 fi(β, γ) = 58, 52 (36) Observando as Tabelas 3 e 9 nota-se que a populac¸a˜o inicial melhorou no sentido de caminhar na direc¸a˜o da maximizac¸a˜o da func¸a˜o objetivo, apo´s a aplicac¸a˜o dos treˆs operadores apresentados. Ale´m disso, observa-se que o valor do somato´rio de fi(β, γ) passou de 36,92 para 58,52. Nesta primeira gerac¸a˜o, o ponto o´timo obtido corresponde a`: [β γ f ]=[9,04 8,35 -16,72]. Com o decorrer do processo evolutivo, espera-se que a populac¸a˜o possa evoluir no sentido de melhorar o valor da func¸a˜o objetivo. Tabela 9: Populac¸a˜o ao final da 1a gerac¸a˜o (apo´s a aplicac¸a˜o dos treˆs operadores). Cromossomo Representac¸a˜o Bina´ria β γ f C ′ 1 [10010001 00001001] 9,14 8,04 11,52 C ′′ 2 [10000101 00101100] 9,04 8,35 16,72 C ′ 3 [10010011 00000001] 9,15 8,00 10,68 C ′′ 4 [01111100 10100111] 8,97 9,31 11,06 C ′′ 5 [01111100 10101001] 8,97 9,33 10,63 C ′′ 6 [11100101 00101100] 9,80 8,35 -2,09 4.5 Crite´rio de Parada Em termos pra´ticos, inu´meras sa˜o as formas de se finalizar um procedimento iterativo. Dentre as mais comuns pode-se citar: i) nu´mero ma´ximo de gerac¸o˜es (se um nu´mero finito de gerac¸o˜es e´ alcanc¸ado, o processo evolutivo e´ finalizado); ii valor nume´rico da func¸a˜o objetivo menor que uma refereˆncia (quando se conhece a soluc¸a˜o do problema, o procedimento evolutivo pode ser finalizado quando o valor computado pelo algoritmo de otimizac¸a˜o for menor ou igual a esse valor); iii) erro absoluto e/ou relativo em termos do vetor de varia´veis de projeto (se o vetor de varia´veis de projeto na˜o pode ser mais atualizado, o procedimento iterativo e´ finalizado); iv) nu´mero de avaliac¸o˜es (ou chamadas) da func¸a˜o objetivo (se o nu´mero ma´ximo de avaliac¸o˜es da func¸a˜o objetivo for ultrapassado, o procedimento iterativo e´ finalizado); v) tempo de processamento (se o tempo ma´ximo permitido para a execuc¸a˜o do algoritmo for ultrapassado, o procedimento iterativo e´ finalizado) e vi) intervenc¸a˜o humana (o procedimento iterativo e´ finalizado pelo pro´prio usua´rio sem que nenhum outro crite´rio seja adotado). E´ importante ressaltar que as quatro primeiras formas sa˜o as mais empregadas para finalizar todo e qualquer procedimento iterativo. Cabe enfatizar que o atendimento das u´ltimas duas na˜o implica que a soluc¸a˜o do problema foi alcanc¸ada, na˜o sendo estas empregadas isoladamente para finalizar o procedimento iterativo. Assim, pode-se propor um crite´rio h´ıbrido (mais que um dos apresentados ao mesmo tempo) para finalizar o procedimento iterativo. 4.6 Tratamento de Restric¸o˜es de Igualdade e Desigualdade Os problemas de otimizac¸a˜o sa˜o inerentemente constitu´ıdos por restric¸o˜es de igualdade/desigualdade, ad- vindas de limitac¸o˜es operacionais e f´ısicas, de restric¸o˜es ambientais, entre outros. A grande maioria dos algo- ritmos evolutivos que hoje esta˜o dispon´ıveis na literatura na˜o lidam diretamente com esses tipos de restric¸o˜es (na˜o foram desenvolvidos, a priori, para lidar com restric¸o˜es), mas podem ser facilmente adequados. Para essa finalidade, pode ser empregrado, por exemplo, o Me´todo da Penalidade Exterior (Vanderplaats, 1999) para o tratamento de restric¸o˜es de igualdade e desigualdade. Basicamente,este me´todo consiste da definic¸a˜o da func¸a˜o Pseudo-Objetivo (Φ(x, rp)), que consiste em transformar o problema original com restric¸o˜es em um similar sem restric¸o˜es. Esta func¸a˜o e´ definida como (Vanderplaats, 1999): Φ(x, rp) = f(x) + rpP (x) (37) em que f(x) e´ a func¸a˜o objetivo original, x e´ o vetor de varia´veis de projeto, rp e´ o paraˆmetro de penalidade e P (x) e´ a func¸a˜o penalidade, que e´ definida como: P (x) = m∑ j=1 ( max(0, gj(x)) )2 + l∑ k=1 (hk(x)) 2 (38) onde m e l representam o nu´mero de restric¸o˜es de desigualdade e igualdade, respectivamente. Cabe ressaltar que g(x) deve ser menor ou igual a zero para que essa abordagem possa ser aplicada. Caso g(x) for maior que zero, primeiramente essa deve ser convertida em uma func¸a˜o equivalente menor que zero. Nesta equac¸a˜o percebe-se que, quando as restric¸o˜es de igualdade ou desigualdade sa˜o violadas, esse valor e´ ponderado pela poteˆncia e, na func¸a˜o Pseudo-Objetivo, essa e´ ponderada pelo fator rp, que amplifica o seu efeito no valor da func¸a˜o objetivo original (f(x)). Assim, toda e qualquer violac¸a˜o em qualquer uma das restric¸o˜es implica na penalizac¸a˜o da func¸a˜o objetivo. Segundo Vanderplaats (1999), quando rp tender a ∞ o valor nume´rico da func¸a˜o Pseudo-Objetivo (sem restric¸o˜es) tende ao valor da func¸a˜o original (com restric¸o˜es). Assim, diferentemente do que acontece com os me´todos cla´ssicos, onde esse valor na˜o pode ser, inicialmente elevado (pois pode gerar, por exemplo, um problema mal condicionado), nos me´todos evolutivos esse valor pode ser elevado desde o in´ıcio. Isto se deve ao fato dos me´todos evolutivos na˜o fazerem uso, como os me´todos evolutivos, de informac¸o˜es sobre matrizes e suas inversas. Neste caso, em se tratando de me´todos evolutivos, o valor de rp pode ser bem elevado (da ordem de 10 10, por exemplo). 5. Aplicac¸o˜es 5.1 Func¸o˜es Matema´ticas Cla´ssicas Determine a soluc¸a˜o dos seguintes problemas de otimizac¸a˜o: - Func¸a˜o f1: min f(x) = x21 − 3x1x2 + 4x22 + x1 − x2 (39) −100, 0 ≤ x1 ≤ 100, 0 (40) −100, 0 ≤ x2 ≤ 100, 0 (41) Resposta: x1=-0,713041; x2=-0,142376 e f=-0,285714. - Func¸a˜o f2: min f(x) = 10x41 − 20x21x2 + 10x22 + x21 − 2x1 + 5 (42) −2.0 ≤ x1 ≤ 2.0 (43) −2.0 ≤ x2 ≤ 2.0 (44) Resposta: x1=1; x2=1 e f=4. - Func¸a˜o f3: min f(x) = 100(x2 − x21)2 + (1− x1)2 + 90(x4 − x23)2 + (1− x23)2+ +10, 1((x2 − 1)2 + (x4 − 1)2) + 19, 8(x2 − 1)(x4 − 1) (45) 0 ≤ x1 ≤ 2, 0 (46) 0 ≤ x2 ≤ 2, 0 (47) 0 ≤ x3 ≤ 2, 0 (48) 0 ≤ x4 ≤ 2, 0 (49) Resposta: x1=1; x2=1; x3=1; x4=1 e f=0. - Func¸a˜o f4: min f(x) = (x1 − 1)2 + (x2 − 1)2 (50) x1 + x2 − 1 ≤ 0 (51) x1 ≥ 0 (52) 0 ≤ x1 ≤ 1 (53) 0 ≤ x2 ≤ 1 (54) Qual e´ o efeito pra´tico do paraˆmetro de penalidade? Para responder esta pergunta, testar va´rios valores para rp. Resposta: x1=0,5; x2=0,5 e f=0,5. - Func¸a˜o f5: min f(x) = (x1 − x2)2 + (x2 + x3 − 2)2 + (x4 − 1)2 + (x5 − 1)2 (55) x1 + 3x2 = 0 (56) x3 + x4 − 2x5 = 0 (57) x2 − x5 = 0 (58) −2 ≤ x1 ≤ 2 (59) −2 ≤ x2 ≤ 2 (60) −2 ≤ x3 ≤ 2 (61) −2 ≤ x4 ≤ 2 (62) −2 ≤ x5 ≤ 2 (63) Qual e´ o efeito pra´tico do paraˆmetro de penalidade? Para responder esta pergunta, testar va´rios valo- res para rp. Resposta: x1=-0,76744186; x2=0,25581395; x3=0,62790697; x4=-0,11627906; x5=0,25581395 e f=4,09302325. - Func¸a˜o f6: min f(x) = x21 − 5x1 + x22 − 5x2 + 2x23 − 21x3 + x24 + 7x4 + 50 (64) x21 − x1 + 2x22 + x23 + 2x24 − x4 − 10 ≤ 0 (65) x21 + x1 + x 2 2 − x2 + x23 + x3 + x24 − x4 − 8 ≤ 0 (66) 2x21 + 2x1 + x 2 2 − x2 + x23 − x4 − 5 ≤ 0 (67) 0 ≤ x1 ≤ 2, 1 (68) 0, 5 ≤ x2 ≤ 2, 8 (69) 1, 5 ≤ x3 ≤ 3, 9 (70) −2, 1 ≤ x4 ≤ 0 (71) Qual e´ o efeito pra´tico do paraˆmetro de penalidade? Para responder esta pergunta, testar va´rios valores para rp. Resposta: x1=0; x2=1; x3=2; x4=-1 e f=6. 5.2 Resoluc¸a˜o de Sistemas de Equac¸o˜es Alge´bricas A presente sec¸a˜o tem por objetivo resolver sistemas de equac¸o˜es alge´bricas atrave´s da formulac¸a˜o e resoluc¸a˜o de um problema de otimizac¸a˜o. Para esta finalidade sa˜o considerados dois estudos de caso. - Estudo de Caso Matema´tico: f1 = x 3 − 3xy2 − 1 = 0 (72) f2 = 3x 2y − y3 = 0 (73) cujas ra´ızes sa˜o: [1 0]; [-0,5 √ 3/2] e [-0,5 - √ 3/2]. Como pode-se resolver este problema no contexto da otimiza- c¸a˜o? Como podemos obter todas as ra´ızes? - Estudo de Caso de Engenharia: O modelo dinaˆmico de um reator biolo´gico e´ dado pelo sistema de equac¸o˜es diferenciais:[ dx1 dt dx2 dt ] = [ f1(x1, x2) f2(x1, x2) ] = [ (µ−D)x1 (sf − x2)D − µx1/Y ] (74) onde x1 representa a concentrac¸a˜o de biomassa, x2 representa a concentrac¸a˜o de substrato, a entrada manipulada D=F/V (vaza˜o volume´trica/volume reator) e´ definida como taxa de diluic¸a˜o e as condic¸o˜es iniciais sa˜o definidas genericamente como x1(0)=x1◦ e x2(0)=x2◦. Considerando que a taxa espec´ıfica de crescimento (µ) segue a lei de Monod: µ = µmaxx2 km + x2 (75) e que sa˜o conhecidos os seguintes paraˆmetros: µmax=0,53 h −1, km=0,12 g/L, Y=0,4, sf=4 g/L e D=0,4 h−1, deseja-se determinar a condic¸a˜o de estado estaciona´rio para este modelo. OBS: A condic¸a˜o de estado estaciona´rio e´ definida quando as varia´veis de interesse, neste caso x1 e x2, na˜o mais dependem do tempo. Matematicamente, o estado estaciona´rio e´ definido como: dx1 dt = dx2 dt = 0 (76) Neste caso, tem-se um sistema de equac¸o˜es alge´bricos na˜o lineares que devem ser resolvidas simultanea- mente.[ f1(x1, x2) f2(x1, x2) ] = [ (µ−D)x1 (sf − x2)D − µx1/Y ] = [ 0 0 ] (77) cujas ra´ızes sa˜o: [0 4] e [1,452307692 0,3692307692]. 5.3 Problemas de Estimac¸a˜o de Paraˆmetros Encontrar os paraˆmetros (a e b) do modelo matema´tico y = a exp(−bx) de modo que o somato´rio da diferenc¸a quadra´tica entre os pontos experimentais apresentados na Tabela 10 e os preditos pelo modelo seja a menor poss´ıvel. Tabela 10: Pontos experimentais para o problema de ajuste de curvas. xexp 0 5 10 15 20 25 yexp 1 0,7099 0,5597 0,4428 0,3240 0,2510 E se o modelo fosse y = a+ bx? O que voceˆ espera que acontec¸a com a qualidade do ajuste? 6. Considerac¸o˜es Finais O presente guia de estudos teve como objetivo apresentar os principais operadores envolvidos na aplicac¸a˜o dos tradicionais Algoritmos Gene´ticos, bem como a sua aplicac¸a˜o em problemas cla´ssicos de otimizac¸a˜o, na resoluc¸a˜o de sistemas de equac¸o˜es alge´bricas e na estimac¸a˜o de paraˆmetros. A partir deste material foi poss´ıvel constatar que esta ferramenta configura-se como um interessante procedimento para a otimizac¸a˜o de sistemas matema´ticos, com aplicac¸o˜es em engenharia e a´reas afins. Quanto a sensibilidade dos paraˆmetros considerados por esta estrate´gia evolutiva, pode-se concluir que a qualidade de soluc¸a˜o obtida e´ func¸a˜o destes paraˆmetros e que, para cada estudo de caso, deve-se avaliar a sua influeˆncia (em alguns casos mais relevante que em outros). 7. Atividades 1) Como observado na aula, a qualidade da soluc¸a˜o obtida pelos AG e´ func¸a˜o da especificac¸a˜o de seus paraˆmetros. Neste contexto, e´ de grande importaˆncia que se realize uma ana´lise de sensibilidade dos paraˆmetros considerados nos AG e se avalie a sua real influeˆncia sobre a qualidade da soluc¸a˜o. Para essa finalidade, avalie a influeˆncia de alguns dos paraˆmetros dos AG apresentado em aula. Considere em sua ana´lise a func¸a˜o matema´tica descrita a seguir. min f(x) = x1 sin(4x1) + 1, 1x2 sin(2x2) (78) 0 ≤ x1 ≤ 10 (79) 0 ≤ x2 ≤ 10 (80) Para ajudar na organizac¸a˜o dos resultados complete a Tabela 11, que depende da semente considerada para inicializar o gerador de nu´mero aleato´rios do comando rand. OBS: Quando estiver sendo realizada a ana´lise para um determinado paraˆmetro, os outros devera˜o permanecer constantes. Assim, considere o conjunto de paraˆmetrosdefault : N=50, ngen=500, pc=0,9 e pm=0,1. Neste caso, por exemplo, na avaliac¸a˜o da influeˆncia do nu´mero de indiv´ıduos da populac¸a˜o (N) na qualidade da soluc¸a˜o devera´ ser analisado diferentes valores de N (conforme apresentado na Tabela 11). Os outros devera˜o permanecer constantes (use os valores default definidos). Em termos pra´ticos, para a ana´lise de N , treˆs sera˜o os estudos de caso, a saber, o primeiro ([N=5, ngen=500 pc=0,9 pm=0,1]); o segundo ([N=50, ngen=500 pc=0,9 pm=0,1]) e o terceiro ([N=100, ngen=500 pc=0,9 pm=0,1]). A mesma ana´lise devera´ ser realizada para os outros paraˆmetros. Para facilitar sua ana´lise, plote gra´ficos que relacionem a func¸a˜o objetivo (eixo y) o paraˆmetro em ana´lise (eixo x). O que voceˆ pode concluir com cada ana´lise? Tabela 11: Avaliac¸a˜o da sensibilidade dos paraˆmetros dos AG no valor da func¸a˜o objetivo. Semente N nger 5 50 100 10 100 1000 0 000000000 000000000 000000000 000000000 000000000 000000000 1 2 3 4 5 6 7 8 9 Me´dia Desvio Padra˜o Semente pc pm 0,5 0,7 0,9 0,01 0,05 0,1 0 000000000 000000000 000000000 000000000 000000000 000000000 1 2 3 4 5 6 7 8 9 Me´dia Desvio Padra˜o 2) Para a ana´lise de um estudo de caso ine´dito, isto e´, voceˆ na˜o conhece a soluc¸a˜o do problema, o que voceˆ deve fazer para se resguardar quanto ao resultado obtido? REFEREˆNCIAS Braga, C. G., 1998. O uso de algoritmos gene´ticos para aplicac¸a˜o em problemas de otimizac¸a˜o de sistemas mecaˆ- nicos. Master’s thesis, Faculdade de Engenharia Mecaˆnica, Universidade Federal de Uberlaˆndia, Uberlaˆndia- MG. Haupt, R. L. & Haupt, S. E., 1998. Practical Genetic Algorithms. John Wiley § Sons, INC., first edition edition. Michalewicz, Z., 1998. Evolutionary Computation for NonLinear Programming Problems. Saramago, S. F. P., 1999. Me´todos de Otimizac¸a˜o Randoˆmica: Algoritmos Gene´ticos e Simulated Annealing. FAMAT/UFU, Notas em Matema´tica Aplicada, Volume 6, SBMAC, Sa˜o Carlos - SP. Vanderplaats, G. N., 1999. Numerical Optimization Techniques for Engineering Design. VR D INC. Colorado Springs, USA, third edition edition. REFERÊNCIAS
Compartilhar