ALGORITMO GENÉTICO PARA OTIMIZAÇÃO DE ESTRUTURAS
RETICULADAS
LI CHONG LEE BACELAR DE CASTRO
DISSERTAÇÃO DE MESTRADO EM
ESTRUTURAS E CONSTRUÇÃO CIVIL
DEPARTAMENTO DE ENGENHARIA CIVIL E AMBIENTAL
FACULDADE DE TECNOLOGIA
UNIVERSIDADE DE BRASÍLIA
UNIVERSIDADE DE BRASÍLIA
FACULDADE DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA CIVIL E AMBIENTAL
ALGORITMO GENÉTICO PARA OTIMIZAÇÃO DE
ESTRUTURAS RETICULADAS
LI CHONG LEE BACELAR DE CASTRO
ORIENTADOR: PAUL WILLIAM PARTRIDGE
DISSERTAÇÃO DE MESTRADO EM ESTRUTURAS E
CONSTRUÇÃO CIVIL
PUBLICAÇÃO: E.DM - 001 A/05
BRASÍLIA/DF: MARÇO – 2005
UNIVERSIDADE DE BRASÍLIA
FACULDADE DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA CIVIL
ALGORITMO GENÉTICO PARA OTIMIZAÇÃO DE ESTRUTURAS
RETICULADAS.
LI CHONG LEE BACELAR DE CASTRO
DISSERTAÇÃO SUBMETIDA AO DEPARTAMENTO DE ENGENHARIA CIVIL E AMBIENTAL DA FACULDADE DE TECNOLOGIA DA UNIVERSIDADE DE BRASÍLIA COMO PARTE DOS REQUISÍTOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE MESTRE EM ESTRUTURAS E CONSTRUÇÃO CIVIL.
APROVADA POR:
_________________________________________________
Prof. Paul William Partridge, PhD (ENC-UnB) (Orientador) _________________________________________________ Prof. Luciano Mendes Bezerra, PhD (ENC-UnB) (Examinador Interno) _________________________________________________ Prof. Nelson Francisco Favilla Ebecken, DSc (COPPE-UFRJ) (Examinador Externo) BRASÍLIA/DF, 04 DE MARÇO DE 2005.
ii
FICHA CATALOGRÁFICA
CASTRO, LI CHONG LEE BACELAR DE Algoritmo Genético Para Otimização de Estruturas Reticuladas [Distrito Federal] 2005. xviii, 106p., 297 mm (ENC/FT/UnB, Mestre, Estruturas e Construção Civil, 2005).
Dissertação de Mestrado – Universidade de Brasília. Faculdade de Tecnologia.
Departamento de Engenharia Civil e Ambiental. 1.Estruturas Reticuladas 2.Algoritmo Genético 3.Elementos Finitos 4.Otimização de Peso I. ENC/FT/UnB II. Título (série)
REFERÊNCIA BIBLIOGRÁFICA
CASTRO, L. L. B. (2005). Algoritmo Genético Para Otimização de Estruturas Reticuladas.
Dissertação de Mestrado em Estruturas e Construção Civil, Publicação E.DM 001A/05,
Departamento de Engenharia Civil e Ambiental, Universidade de Brasília, Brasília, DF,
106p.
CESSÃO DE DIREITOS
AUTOR: Li Chong Lee Bacelar de Castro.
TÍTULO: Algoritmo Genético Para Otimização de Estruturas Reticuladas.
GRAU: Mestre ANO: 2005
É concedida à Universidade de Brasília permissão para reproduzir cópias desta dissertação
de mestrado e para emprestar ou vender tais cópias somente para propósitos acadêmicos e
científicos. O autor reserva outros direitos de publicação e nenhuma parte dessa dissertação
de mestrado pode ser reproduzida sem autorização por escrito do autor.
____________________________
Li Chong Lee Bacelar de Castro SCES, TR. 02, LT. 02/41, AP. 203B, Asa Sul. 70.200-002 Brasília – DF Brasil.
iii
AGRADECIMENTOS Ao Professor Paul pela orientação, dedicação, paciência, incentivo e principalmente, pelas
valiosas sugestões e ensinamentos transmitidos.
A minha família, que não vejo há dois anos: Ailton, Sued, Lilian, Guliver, Joseph e
Anthony. Saudades!
A minha futura esposa, pela paciência, carinho e apoio: Patrícia, eu te amo.
Aos professores e funcionários do Programa de Pós-Graduação em Estruturas e Construção
Civil da UnB, em especial ao Professor Luciano Mendes Bezerra pelos conhecimentos
transmitidos nas disciplinas de Métodos dos Elementos de Contorno e Estruturas
Metálicas, e ao Professor Guilherme, pelo apoio no início do curso e orientações que,
foram e são valiosas na minha formação acadêmica.
Aos amigos da sala 14: Arlindo, Cláudio, José Mendes e Sávio. Arlindo, obrigado pela
disciplina, incentivo, sugestões nesta dissertação e principalmente pela sua amizade.
Ao Alexandre Gil, pelas correções iniciais e pelo companheirismo.
A “comunidade natalense”, que não nos deixam esquecer de onde viemos e aos amigos que
não mencionei, mas que estão em meu coração.
Não poderia esquecer o Engenheiro Lenílson e família, que sempre estiveram dispostos em
me ajudar.
À CAPES, pelo apoio financeiro.
iv
RESUMO ALGORITMO GENÉTICO PARA OTIMIZAÇÃO DE ESTRUTURAS RETICULADAS Autor: Li Chong Lee Bacelar de Castro Orientador: Paul William Partridge Programa de Pós-graduação em Estruturas e Construção Civil Brasília, março de 2005.
Neste trabalho, o Algoritmo Genético (AG) é utilizado para a otimização de estruturas
reticuladas. O objetivo destes algoritmos é obter uma solução para um problema específico
usando uma estrutura de dados baseado em um cromossomo, uma das possíveis soluções
do problema. Os cromossomos são estruturados em uma cadeia binária e operadores
genéticos são aplicados para gerarem novos pontos amostrais em um espaço de busca que
recombinam estas estruturas preservando e aprimorando informações críticas. O Método
dos Elementos Finitos (MEF) é combinado com o AG com o intuito de avaliar cada
solução possível produzida. A otimização da estrutura é obtida através da minimização da
função objetivo, que para os exemplos considerados, estão em termos das áreas das seções
transversais das barras, peso específico e comprimentos das barras, representando o peso
global da estrutura. A função objetivo é responsável por classificar os indivíduos de acordo
com o grau de adaptação. Essa classificação é feita através da ordenação das soluções em
ordem crescente. O MEF permite avaliar a estrutura estática e dinamicamente. As áreas,
que são as variáveis de projeto, devem estar dentro de determinados limites, para obter
soluções factíveis. O controle dessa região – através de restrições – é proporcionado pela
consideração de penalizações na função objetivo. Restrições são aplicadas às tensões, aos
deslocamentos nodais e as freqüências naturais. Alguns exemplos em treliças e pórticos
são mostrados, objetivando a robustez e sua eficiência frente a outros métodos. O uso dos
algoritmos genéticos produz excelentes resultados e é de fácil implementação
computacional. Tal metodologia busca também sugerir seções iniciais de dimensionamento
que podem ser usadas na prática pelos projetistas em estruturas metálicas reticuladas.
vi
ABSTRACT GENETIC ALGORITHM FOR OPTIMIZATION OF FRAMED STRUCTURES Author: Li Chong Lee Bacelar de Castro Supervisor: Paul William Partridge Programa de Pós-graduação em Estruturas e Construção Civil Brasília, March of 2005
Here a Genetic Algorithm (GA) is used to optimize frame structures. The objective of
these algorithms is to obtain a solution to a specific problem using a data structure based
on a number of chromosomes, each of which contains a possible solution to the problem.
The chromosomes are stored as binary strings and genetic operators are applied to generate
new points in the search space that recombine these structures preserving and improving
critical information. The Finite Element Method (FEM) is combined with the GA in order
to analyses each possible solution produced. The optimization of the structure is carried out
thought the minimization of the objective function, which for the examples considered
here, is couched in terms of the cross sectional area, the specific weight and the length of
the bars, from which the total weight of the structure is obtained. The objective function
allows each member of the new population of chromosomes to be classified in accordance
with its degree of adaptation. This classification is obtained by ordering the solution in
increasing weight. The FEM allows the static and dynamic analysis of the structure.
The cross sectional areas of the bars, that are the project variables, must be within certain
limits in order to obtain feasible solutions. The control of these restrictions is done through
the use of penalty functions. Restrictions are applied to stresses, nodal displacements and
natural frequencies. Some examples of trusses and frames are considered and it is shown
that the algorithm is robust and efficient compared to the other methods. The genetic
algorithm produced excellent results and is easily implemented. The algorithm also permits
initial cross sectional areas be suggested for practical use by steel frame designers.
vii
SUMÁRIO
1 – INTRODUÇÃO ............................................................................................................. 1
1.1 – CONSIDERAÇÕES INICIAIS ........................................................................... 1
1.2 – MOTIVAÇÃO....................................................................................................... 2
1.3 – OBJETIVOS ......................................................................................................... 2
1.4 – ESTRUTURA DA DISSERTAÇÃO................................................................... 2
2 – OTIMIZAÇÃO .............................................................................................................. 4
2.1 – INTRODUÇÃO...................................................................................................... 4
2.2 – A FORMULAÇÃO DE UM PROBLEMA DE OTIMIZAÇÃO....................... 5
2.2.1 – A formulação de um problema de otimização com restrições................. 6
2.2.2 – Funções de penalização ............................................................................... 7
2.2.1.1 – Penalidades Estáticas .................................................................................. 9
2.2.1.2 – Penalidades Dinâmicas ............................................................................... 9
2.2.1.3 – Penalidades Adaptativas ........................................................................... 10
2.3 – MÉTODOS DE OTIMIZAÇÃO ........................................................................ 10
2.4 – COMPUTAÇÃO NATURAL ............................................................................. 12
2.4.1 – Lógica Nebulosa ......................................................................................... 13
2.4.2 – Redes Neurais Artificiais........................................................................... 13
2.4.3 – Computação Evolucionária....................................................................... 13
2.4.3.1 – Algoritmos Genéticos ............................................................................... 14
2.4.3.2 – Programação Evolucionária...................................................................... 14
2.4.3.3 – Estratégias Evolucionárias........................................................................ 15
2.4.3.4 – Programação Genética .............................................................................. 15
2.4.3.5 – Estratégia de Colônia................................................................................ 15
3 – ALGORITMOS GENÉTICOS .................................................................................. 16
3.1 – INTRODUÇÃO.................................................................................................... 16
3.2 – ALGUNS PROJETOS E PESQUISAS SOBRE ALGORITMOS
GENÉTICOS NA ENGENHARIA .................................................................................. 17
3.3 – VANTAGENS E DESVANTAGENS DOS ALGORITMOS GENÉTICOS.. 19
3.3.1 – Vantagens ................................................................................................... 19
3.3.2 – Desvantagens .............................................................................................. 20
viii
3.4 – ANALOGIA DO MECANISMO DE SELEÇÃO NATURAL COM A
OTIMIZAÇÃO DE SISTEMAS ARTIFICIAIS ............................................................ 20
3.5 – TEORIA DO PROCESSO EVOLUTIVO......................................................... 24
3.5.1 – Hipóteses dos Blocos de Construção ........................................................ 25
3.5.2 – Teorema Fundamental dos Algoritmos Genéticos.................................. 25
3.5.2.1 – Convergência dos Algoritmos Genéticos ................................................. 28
3.5.3 – Paralelismo Implícito................................................................................. 29
3.6 – ALGORITMOS GENÉTICOS GENÉRICOS.................................................. 30
3.6.1 – Algoritmo Genético Geracional................................................................ 32
3.6.2 – Algoritmo Genético em Regime................................................................ 33
3.7 – ESTRUTURA DE FUNCIONAMENTO........................................................... 33
3.7.1 – A representação ......................................................................................... 34
3.7.1.1 – Dimensionamento das variáveis ............................................................... 34
3.7.1.2 – Mapeamento das variáveis........................................................................ 35
3.7.2 – A configuração ........................................................................................... 36
3.7.2.1 – Tamanho da população ............................................................................. 36
3.7.2.2 – Taxa ou probabilidade de cruzamento...................................................... 37
3.7.2.3 – Taxa ou probabilidade de mutação ........................................................... 37
3.7.2.4 – Recomendações ........................................................................................ 38
3.7.3 – A inicialização ............................................................................................ 39
3.7.4 – Classificação dos cromossomos ................................................................ 39
3.7.4.1 – Ordenamento linear .................................................................................. 40
3.7.4.2 – Ordenamento exponencial ........................................................................ 41
3.7.4.3 – Escalonamento linear................................................................................ 41
3.7.5 – Avaliação dos cromossomos...................................................................... 42
3.7.5.1 – Roleta........................................................................................................ 42
3.7.5.2 – Torneio...................................................................................................... 44
3.7.5.3 – Amostragem Determinística ..................................................................... 44
3.7.5.4 – Seleção Estocástica Remanescente........................................................... 45
3.7.6 – Operadores de cruzamento e mutação .................................................... 45
3.7.6.1 – Operador de cruzamento........................................................................... 45
3.7.6.2 – Operador de mutação................................................................................ 47
3.7.7 – Atualização e critérios de parada............................................................. 47
3.7.7.1 – Atualização ............................................................................................... 47
ix
3.7.7.2 – Critérios de parada.................................................................................... 48
3.8 – OUTRAS ESTRATÉGIAS EMPREGÁVEIS................................................... 48
3.8.1 – Controle da diversidade populacional ..................................................... 48
3.8.2 – Hibridização ............................................................................................... 49
3.8.3 – Computação Paralela ................................................................................ 50
3.9 – CONSIDERAÇÕES GERAIS SOBRE O MÉTODO DOS ELEMENTOS
FINITOS............................................................................................................................. 51
3.9.1 – Análise Estática.......................................................................................... 52
3.9.1.1 – Elemento finito unidimensional reto para treliça...................................... 52
3.9.1.2 – Elemento finito unidimensional reto para viga......................................... 54
3.9.1.3 – Elemento finito unidimensional reto para pórtico .................................... 55
3.9.2 – Análise Dinâmica ....................................................................................... 56
3.9.2.1 – Vibrações livres ........................................................................................ 57
3.9.2.2 – Matriz de massa consistente ..................................................................... 58
3.10 – ACOPLAMENTO DOS ALGORITMOS GENÉTICOS COM
ELEMENTOS FINITOS PARA ESTRUTURAS RETICULADAS ............................ 59
4 – ANÁLISE NUMÉRICA.............................................................................................. 61
4.1 – INTRODUÇÃO.................................................................................................... 61
4.2 – TESTANDO O ALGORITMO GENÉTICO.................................................... 62
4.2.1 – Função Seno ............................................................................................... 63
4.2.1.1 – Maximizando ............................................................................................ 63
4.2.1.2 – Minimizando............................................................................................. 66
4.2.2 – Função de Rosenbrock .............................................................................. 68
4.2.3 – Conclusões .................................................................................................. 71
4.3 – ANÁLISE ESTÁTICA ........................................................................................ 71
4.4 – TRELIÇA PLANA DE 10 BARRAS ................................................................. 72
4.4.1 – Caso contínuo ............................................................................................. 74
4.3.1.1 – Otimização à tensão.................................................................................. 74
4.3.1.2 – Otimização à tensão e ao deslocamento combinados ............................... 75
4.4.2 – Caso discreto .............................................................................................. 77
4.4.3 – Conclusões .................................................................................................. 79
4.5 – TRELIÇA PLANA DE 38 BARRAS ................................................................. 79
4.5.1 – Caso contínuo ............................................................................................. 80
x
4.5.2 – Caso discreto .............................................................................................. 83
4.5.3 – Conclusões .................................................................................................. 85
4.6 – PÓRTICO PLANO DE 3 BARRAS................................................................... 85
4.6.1 – Caso I .......................................................................................................... 86
4.6.2 – Caso II......................................................................................................... 87
4.6.3 – Caso III ....................................................................................................... 88
4.6.4 – Resultados e conclusões............................................................................. 89
4.7 – EDIFÍCIO INDUSTRIAL DE 33 BARRAS (PÓRTICO ROTULADO) ....... 90
4.7.1 – Conclusões .................................................................................................. 93
4.8 – ANÁLISE DINÂMICA ....................................................................................... 94
4.9 – PÓRTICO PLANO DE 3 BARRAS................................................................... 95
4.9.1 – Caso I .......................................................................................................... 96
4.9.2 – Caso II......................................................................................................... 97
4.9.3 – Caso III ....................................................................................................... 98
4.9.4 – Resultados e conclusões............................................................................. 99
5 – CONCLUSÕES.......................................................................................................... 100
5.1 – INTRODUÇÃO.................................................................................................. 100
5.2 – CONCLUSÕES.................................................................................................. 100
5.3 – SUGESTÕES...................................................................................................... 101
REFERÊNCIAS BIBLIOGRÁFICAS .......................................................................... 102
xi
LISTA DE TABELAS
Tabela 2.1 – Algoritmos de Otimização (modificado - Soares, 1997). ............................... 11
Tabela 3.1 – Cromossomo, Esquemas, Comprimento de definição e Ordem. .................... 26
Tabela 3.2 – Valores aconselhados por De Jong (1975). .................................................... 38
Tabela 3.3 – Valores aconselhados por Grefenstette (1986) – Opção 1.............................. 38
Tabela 3.4 – Valores aconselhados por Grefenstette (1986) – Opção 2.............................. 39
Tabela 3.5 – Código binário, Código de Gray e a distância Hamming............................... 49
Tabela 3.6 – Valores aconselhados por Schaffer (1989). .................................................... 49
Tabela 4.1 – Parâmetros para a função seno. ...................................................................... 64
Tabela 4.2 – Parâmetros para a função de Rosenbrock (Primeira parametrização) ............ 70
Tabela 4.3 – Parâmetros para a função de Rosenbrock (Parametrização final) .................. 70
Tabela 4.4 – Propriedades do material e restrições (Treliça de 10 barras).......................... 73
Tabela 4.5 – Parâmetros para a treliça de 10 barras (Variáveis contínuas)......................... 74
Tabela 4.6 – Resultados comparativos (Peso e seções transversais para as tensões).......... 75
Tabela 4.7 – Resultados comparativos (Tensões nas seções transversais).......................... 75
Tabela 4.8 – Resultados comparativos (Tensões e deslocamentos). ................................... 76
Tabela 4.9 – Resultados comparativos (Peso e seções transversais para as tensões).......... 76
Tabela 4.10 – Conjunto de seções transversais disponíveis do AISC. ................................ 77
Tabela 4.11 – Parâmetros para a treliça de 10 barras (Variáveis discretas). ....................... 78
Tabela 4.12 – Resultados comparativos (Tensões e deslocamentos). ................................. 78
Tabela 4.13 – Resultados comparativos (Peso e seções transversais)................................. 78
Tabela 4.14 – Seções transversais agrupadas (Treliça de 38 barras)................................... 80
Tabela 4.15 – Propriedades do material e restrições (Treliça de 38 barras)........................ 80
Tabela 4.16 – Parâmetros para a treliça de 38 barras (Variáveis contínuas)....................... 81
Tabela 4.17 – Resultados comparativos ( Peso e deslocamento) ........................................ 82
Tabela 4.18 – Resultados comparativos (Seções transversais)............................................ 82
Tabela 4.19 – Parâmetros para a treliça de 38 barras (Variáveis discretas). ....................... 83
Tabela 4.20 – Resultados comparativos ( Peso e deslocamento) ........................................ 83
Tabela 4.21 – Resultados comparativos (Seções transversais)............................................ 84
Tabela 4.22 – Características das três casos do pórtico de 3 barras .................................... 86
Tabela 4.23 – Propriedades do material e restrições (Pórtico de 3 barras). ........................ 86
Tabela 4.24 – Parâmetros para o pórtico de 3 barras (Caso I)............................................. 87
Tabela 4.25 – Parâmetros para o pórtico de 3 barras (Caso II). .......................................... 87
xii
Tabela 4.26 – Propriedades do material e restrições. .......................................................... 88
Tabela 4.27 – Parâmetros para o pórtico de 3 barras (Caso III). ......................................... 89
Tabela 4.28 – Resultados comparativos (Três casos).......................................................... 90
Tabela 4.29 – Grupos e tipos de seções comerciais (Pórtico de 33 barras)......................... 91
Tabela 4.30 – Conjunto de seções transversais disponíveis do AISC. ................................ 91
Tabela 4.31 – Propriedades do material e restrições (Pórtico de 33 barras). ...................... 92
Tabela 4.32 – Parâmetros para o pórtico de 33 barras......................................................... 92
Tabela 4.33 – Resultados comparativos (Seções transversais, perfis e peso). .................... 93
Tabela 4.34 – Características das três casos do pórtico de 3 barras .................................... 95
Tabela 4.35 – Propriedades do material e restrições (Pórtico de 3 barras). ........................ 96
Tabela 4.36 – Parâmetros para o pórtico de 3 barras........................................................... 96
Tabela 4.37 – Resultados comparativos (Três casos).......................................................... 99
xiii
LISTA DE FIGURAS
Figura 2.1 – Pulso de seno (modificado - Lacerda e Carvalho, 1999). ................................. 6
Figura 2.2 – Treliça com duas barras (modificado - Fox, 1973). .......................................... 7
Figura 2.3 – Representação gráfica do espaço de busca (modificado - Fox, 1973). ............. 8
Figura 2.4 – Subáreas da Computação Natural (modificado - Castro, 2001)...................... 12
Figura 2.5 – Subáreas da Computação Evolucionária (modificado - Castro, 2001). .......... 14
Figura 3.1 – Trajeto retilíneo (Dorigo e Stützle, 2004). ...................................................... 21
Figura 3.2 – Introdução de um obstáculo (Dorigo e Stützle, 2004). ................................... 21
Figura 3.3 – Divisão das formigas no percurso (Dorigo e Stützle, 2004). .......................... 21
Figura 3.4 – Percurso ótimo com o passar do tempo (Dorigo e Stützle, 2004)................... 21
Figura 3.5 – Visão geométrica dos hiperplanos em 3D (Soares, 1997). ............................. 30
Figura 3.6 – Aplicabilidade versus Eficiência (Goldberg, 1989). ....................................... 31
Figura 3.7 – Estrutura de funcionamento de um Algoritmo Genético Genérico................. 32
Figura 3.8 – Cadeia com codificação binária. ..................................................................... 35
Figura 3.9 – Pressão de Seleção (modificado – Lacerda e Carvalho, 1999). ...................... 41
Figura 3.10 – Esboço do escalonamento linear (modificado - Goldberg, 1989)................. 42
Figura 3.11 – Amostragem estocástica universal. ............................................................... 43
Figura 3.12 – Método da roleta com elitismo (modificado – Sampaio, 2004).................... 44
Figura 3.13 – Cruzamento de um ponto (Sampaio, 2004). ................................................. 46
Figura 3.14 – Cruzamento de 2 pontos................................................................................ 46
Figura 3.15 – Cruzamento uniforme. .................................................................................. 47
Figura 3.16 – Operador de mutação (Sampaio, 2004)......................................................... 47
Figura 3.17 – Elemento de treliça plana. ............................................................................. 52
Figura 3.18 – Elemento de viga plana. ................................................................................ 54
Figura 3.19 – Elemento de pórtico plano. ........................................................................... 55
Figura 3.20 – Funcionamento de um Algoritmo Genético com Elementos Finitos. ........... 60
Figura 4.1 – Estrutura de funcionamento do programa de Algoritmo Genético. ................ 61
Figura 4.2 – Pulso de seno................................................................................................... 63
Figura 4.3 – Distribuição da população inicial (Maximização). ......................................... 65
Figura 4.4 – Distribuição da população nas gerações 1, 4 e 6 (Maximização). .................. 65
Figura 4.5 – Distribuição da população nas gerações 8 e 10 (Maximização). .................... 66
Figura 4.6 – Evolução da maximização da função seno...................................................... 66
Figura 4.7 – Distribuição da população na geração inicial (Minimização)......................... 67
xiv
Figura 4.8 – Distribuição da população nas gerações 1, 4 e 6 (Minimização).................... 67
Figura 4.9 – Distribuição da população nas gerações 8 e 10 (Minimização)...................... 67
Figura 4.10 – Evolução da minimização da função seno. ................................................... 68
Figura 4.11 – Função de Rosenbrock. ................................................................................. 68
Figura 4.12 – Evolução da minimização da função de Rosenbrock.................................... 70
Figura 4.13 – Estrutura de funcionamento do programa de MEF estático linear................ 71
Figura 4.14 – Treliça de 10 barras....................................................................................... 72
Figura 4.15 – Minimização do peso da treliça de 10 barras (Tensão)................................. 75
Figura 4.16 – Minimização do peso da treliça de 10 barras (Tensão e deslocamento). ...... 77
Figura 4.17 – Minimização do peso da treliça de 10 barras (Tensão e deslocamento). ...... 79
Figura 4.18 – Treliça de 38 barras (modificado – Templeman, 1988)................................ 80
Figura 4.19 – Minimização do peso da treliça de 38 barras (Caso contínuo). .................... 81
Figura 4.20 – Minimização do peso da treliça de 38 barras (Caso discreto)....................... 85
Figura 4.21 – Pórtico de 3 barras......................................................................................... 85
Figura 4.22 – Minimização do peso do pórtico de 3 barras (Caso I). ................................. 87
Figura 4.23 – Minimização do peso do pórtico de 3 barras (Caso II). ................................ 88
Figura 4.24 – Minimização do peso do pórtico de 3 barras (Caso III)................................ 89
Figura 4.25 – Pórtico de 33 barras....................................................................................... 90
Figura 4.26 – Minimização do peso do pórtico de 33 barras. ............................................. 93
Figura 4.27 – Funcionamento do programa em MEF para vibrações livres. ...................... 94
Figura 4.28 – Pórtico de 3 barras......................................................................................... 95
Figura 4.29 – Minimização do peso do pórtico de 3 barras (Caso I). ................................. 97
Figura 4.30 – Minimização do peso do pórtico de 3 barras (Caso II). ................................ 98
Figura 4.31 – Minimização do peso do pórtico de 3 barras (Caso III)................................ 98
xv
LISTA DE SÍMBOLOS, NOMENCLATURA E ABREVIAÇÕES
1 - Símbolos
(mín) – minimização
(máx) – maximização
– variável x, xi
)(),( xfxF – função objetivo
penal (x) – função de penalização
* – coringa, pode ser tanto o 0 quanto o 1
H, H1, H2 – esquemas
),( tHm – m representantes de um esquema H, numa geração t
medi ff , – desempenho e desempenho médio respectivamente
)1,( +tHm – m representantes de um esquema H, numa geração t + 1
2 - Matrizes e vetores
K – matriz de rigidez
M – matriz de massa
R – matriz de rotação
P – vetor das forças nodais
– vetor das funções de forma Ni
U, u – vetor dos deslocamentos nodais globais
– vetor dos deslocamentos nodais locais uL
X – vetor de variáveis, domínio da variável xi
3 - Escalares
xiL, xi
U – limites inferior e superior das variáveis respectivamente
tll, – comprimento e comprimento total de uma cadeia de caracteres respectivamente
)(Ho – ordem de um esquema
)(Hδ – comprimento de definição de um esquema
)(Hf – desempenho de um esquema
P, Pi – probabilidade de seleção
– número de indivíduos, tamanho da população popn
xvi
Pd, PD – probabilidades de destruição e de destruição real respectivamente
mc pp , – probabilidades de cruzamento e mutação respectivamente
PS, PS2 – probabilidade de sobrevivência
K, C – constante
k – número de alelos diferentes de um cromossomo
nv – número de variáveis discretas
ε – precisão decimal, deformação
ID – valor decodificado de um número binário em inteiro
– densidade de massa ρ
Li – comprimento de uma barra
– área da seção transversal Ai
W – peso de uma estrutura
– número inteiro esperado de cópias de um indivíduo Ei
– resíduo, parte fracionária do número de cópias esperadas de um indivíduo Ri
dH – distância Hamming
– componente de deslocamento na direção x iu
– componente de deslocamento na direção y iv
– componente de deslocamento na direção z iθ
– tensão normal σi
E – módulo de elasticidade
– freqüência natural iω
4 - Índices ( )T – denota transposta de uma matriz ou vetor
– indica que uma operação é feita no contorno do elemento em estudo ( )Γ
– indica que uma operação é feita no domínio do elemento em estudo ( )Ω
5 - Abreviaturas
AG – Algoritmo Genético
AGs – Algoritmos Genéticos
MEF – Método dos Elementos Finitos
FO – Função Objetivo
xvii
PO – Problema de Otimização
AFi – Função de aptidão ou desempenho
AISC – American Institute of Steel Construction
ASCII – American Standard Code for Information Interchange
xviii
1 – INTRODUÇÃO
1.1 – CONSIDERAÇÕES INICIAIS
Um projeto estrutural concentra-se na determinação de proporções ótimas de uma
variedade de tipos de formas para carregamentos atuantes, feitas através de várias análises
visando à concepção ou determinação da estrutura de melhor desempenho global. Sendo a
otimização estrutural uma fusão de áreas da engenharia e da matemática, capaz de
adicionar dados ao projeto estrutural além da experiência do projetista.
Segundo Xie e Steven (1997) os aspectos importantes da otimização que o projetista deve
estar atento incluem:
• Tamanho, forma e topologia sendo otimizados no mesmo problema em diferentes
partes da estrutura;
• Critérios diferentes de otimização em partes diferentes da estrutura;
• Estrutura composta por vários tipos de materiais;
• Consideração de análises bi e tridimensionais;
• Otimização considerando-se análises estáticas, dinâmicas e estabilidade
simultaneamente;
• Otimização com não linearidades físicas e geométricas.
A maioria dos engenheiros projetistas que dimensionam estruturas emprega robustos
pacotes comerciais de análise estrutural de uso geral e complexo, como o ANSYS®,
SAP2000® e outros, para os aspectos anteriormente mencionados. Freqüentemente, os
usuários não têm acesso ao código fonte, e mais ainda, ao conhecimento detalhado dos
algoritmos de análise estrutural contido nestes pacotes. No entanto, o maior desafio para os
pesquisadores em otimização estrutural é desenvolver métodos próprios para usar com os
pacotes comerciais. Um outro grande desafio é o alto custo computacional associado com a
análise dos mais complexos problemas do cotidiano. Em geral, o engenheiro que tem a
tarefa de dimensionar a estrutura não dispõe de muito tempo para analisá-la
exaustivamente.
Este ambiente propicia a busca de técnicas que minimizem as necessidades de pacotes
comerciais e que requeiram apenas um pequeno número de iterações.
1
Problemas, cujo principal objetivo está em determinar estruturas com peso mínimo
(mínimo custo) são comuns, se mostram bastante atraentes quanto ao aspecto econômico.
Por exemplo, projetos em estruturas metálicas, peças mecânicas com um grande número de
unidades fabricadas, se obtiverem uma redução por menor que seja em cada unidade
corresponderá a uma economia global considerável.
1.2 – MOTIVAÇÃO
A motivação em desenvolver pesquisa em aplicação de algoritmos genéticos em
otimização estrutural se dá pelos seguintes aspectos:
• Fácil identificação de solução ótima global, em geral;
• Fácil implementação na análise com variáveis contínuas e discretas - problemas
típicos de engenharia;
• Eficaz quando a otimização tem multi-objetivos;
• Domínio de aplicação amplo.
1.3 – OBJETIVOS
Este trabalho tem como objetivo desenvolver e implementar algoritmos genéticos com
elementos finitos para estruturas reticuladas com o intuito de resolver problemas de
otimização estrutural, assim como mostrar a robustez dos algoritmos genéticos e como
podem resolver problemas que apresentam dificuldades significativas quando analisados
por outros métodos e sugerir seções iniciais de dimensionamento que podem ser usadas na
prática pelos projetistas em estruturas reticuladas.
1.4 – ESTRUTURA DA DISSERTAÇÃO
O trabalho está subdividido em cinco capítulos incluindo a Introdução e a Conclusão.
O primeiro Capítulo é esta introdução. O Capítulo dois apresenta a formulação clássica de
um problema geral de otimização e a classificação dos algoritmos de otimização existentes.
Também são introduzidos os conceitos fundamentais de variáveis de projeto, restrições,
função objetivo e penalização.
No Capítulo três encontram-se as origens e os fundamentos teóricos sobre os algoritmos
genéticos, sua classificação em relação aos outros algoritmos evolucionários de otimização
2
existentes. Ainda neste capítulo é mostrado o acoplamento do AG com o MEF e alguns
tópicos em algoritmos genéticos, como os parâmetros de influência e configuração.
O Capítulo quatro mostra a análise de alguns casos clássicos de otimização estrutural
envolvendo pórticos e treliças, com a inclusão de variáveis contínuas e discretas. São
utilizados nas análises de dimensionamento, as tensões axiais, os deslocamentos nodais e
freqüências naturais. Os resultados são comparados aos da literatura.
Finalmente, no Capítulo cinco, apresentam-se as conclusões deste trabalho, as dificuldades
apresentadas, as sugestões e as propostas para possíveis desenvolvimentos futuros em
otimização estrutural através dos algoritmos genéticos.
3
2 – OTIMIZAÇÃO
2.1 – INTRODUÇÃO
Pode-se dizer que a otimização está intrinsecamente ligada ao desejo humano de se
superar (Vanderplaats, 1984).
Apesar de existirem muitos métodos de otimização, eles não são aplicados apenas na
engenharia, mas em outras áreas como na economia, medicina e ciências aplicadas. A
otimização estrutural tenta encontrar a melhor disposição das variáveis de projeto, com ou
sem restrições, dispostas no comportamento estrutural, geometria e outros fatores.
O objetivo da otimização está definido pela função objetivo (FO), que define alguma
grandeza significativa (custo, peso, dimensões, carregamento, etc.).
Segundo Gallagher (1977) as três partes básicas da otimização – variáveis de projeto,
função objetivo e restrições – contribuem para o dimensionamento em um espaço de busca
formado pelos dados do problema.
O tipo de função objetivo depende das informações disponíveis através dos resultados
conhecidos. Stark e Nicholls (1978) classificam as informações disponíveis de três
maneiras:
• De certeza: todas as ações realizadas para o problema levam a um resultado
esperado e conhecido;
• De risco: cada ação realizada para o problema leva a vários resultados. O resultado
definitivo não é conhecido até o problema ser posto em prática, mas a
probabilidade dos vários resultados ocorridos é conhecida;
• De incerteza: cada ação realizada para o problema leva a resultados que não são
bem conhecidos e as probabilidades destes resultados não podem ser estipulados.
Problemas de certeza e de incerteza podem ser classificados como casos limites de
problemas de risco.
Enquanto muitos problemas na prática são representados pela maior parte dos engenheiros
como problemas de certeza, visto que os mesmos são geralmente fáceis de modelar, os de
risco e de incerteza atraem as pesquisas atuais, pois levam a modelagens mais fidedignas.
4
2.2 – A FORMULAÇÃO DE UM PROBLEMA DE OTIMIZAÇÃO
Um problema de otimização (PO) está sempre associado a um problema de minimização
ou maximização de uma ou mais funções. No caso de minimização o PO pode ser colocado
na seguinte forma (Lemonge, 1999):
minimize W = f (x1, x2, x3, ..., xn) (2.1)
Onde a minimização da função f(x), x ∈ Rn, é equivalente à maximização da função g(x),
sendo que:
g(x) = - f(x) (2.2)
Assim, tem-se:
(mín) f(x) = (máx) g(x) = (máx) - f(x) (2.3)
As funções f(x) e g(x) são conhecidas como funções objetivo. Podem ser de uma ou mais
variáveis, sendo estas duas opções classificadas como otimização unidimensional e
multidimensional respectivamente. São estas funções que desejamos minimizar ou
maximizar, ou seja, encontrar o seu ponto extremo em um intervalo de busca (Santos
Júnior, 2002).
Em geral, é difícil afirmar que tal valor é extremo ou global devido à possibilidade de
existência de vários extremos locais e, assim, somente um deles será global, como visto na
Figura 2.1. O que se pode afirmar é que o valor encontrado é mínimo em uma vizinhança
do espaço de busca (Valente et al., 2002; Sampaio, 2004).
As variáveis – ou comumente variáveis de projeto – são aquelas que se alteram durante o
processo de otimização. Elas podem ser contínuas (reais), discretas ou inteiras (valores
compreendidos dentro de certo conjunto fixo).
5
Mínimos locais Mínimo global
Figura 2.1 – Pulso de seno (modificado - Lacerda e Carvalho, 1999).
Segundo Castro (2001), de um ponto de vista físico, as variáveis de projeto podem
representar as seguintes informações sobre uma estrutura:
• Propriedades mecânicas ou físicas do material;
• A topologia da estrutura, ou seja, padrão de conexão dos elementos ou o número de
elementos em uma estrutura;
• A forma geométrica ou a configuração da estrutura;
• Dimensões das seções transversais ou comprimento dos elementos.
2.2.1 – A formulação de um problema de otimização com restrições
Um PO com restrições pode ser formulado matematicamente da seguinte forma (Haftka e
Gürdal, 1992):
minimize W = f (x1, x2, x3, ..., xn)
submetido a gi (x) ≤ 0 para i = 1, ..., m
hi (x) = 0 para i = 1, ..., n
x ∈ X ⊂ Rn
X = x ∈ Rn: xiL ≤ xi ≤ xi
U , i = 1, 2, ..., n
6
O vetor X é designado como o vetor de incógnitas ou vetor de variáveis de projeto, f(x) é a
FO, como visto anteriormente, gi(x) e hi(x) são as restrições de desigualdade e igualdade,
respectivamente, e estas podem ser funções lineares e/ou não lineares do vetor de variáveis
de projeto.
O conjunto X é o domínio da variável de projeto x, que pode ser qualquer valor deste
domínio. O produto cartesiano dos domínios das variáveis de projeto define o domínio da
FO, este domínio por sua vez pode ser dividido em dois subconjuntos: a região viável ou
factível (feasible region) onde todas as restrições são satisfeitas e a região inviável
(unfeasible region) onde alguma restrição não é observada. Sempre que existir alguma
região viável, o problema tem solução (Mendonça. 2004).
A otimização com restrições é mais complexa e pode requerer estratégias específicas na
formulação do problema para que estas sejam satisfeitas.
2.2.2 – Funções de penalização
Como já visto, a principal dificuldade que aparece em um problema de minimizar com
restrições é que o ponto de mínimo global da FO pode estar fora da região factível.
A Figura 2.2 mostra uma estrutura hipotética a ser otimizada em relação ao seu peso
global, tendo como variáveis de projeto o diâmetro das seções transversais (d) e a sua
altura em relação aos apoios (h). E a Figura 2.3 é a representação gráfica da otimização
deste problema.
Figura 2.2 – Treliça com duas barras (modificado - Fox, 1973).
7
Figura 2.3 – Representação gráfica do espaço de busca (modificado - Fox, 1973).
A estrutura da figura anterior está sujeita a seis restrições (h1 a h6), podendo ser restrições
geométricas, que se todas satisfeitas formam uma região factível - hachurada - que
representa todas as possíveis configurações que podem representar o peso global desta
estrutura e o que está fora é a região não factível.
Um problema com restrições pode ser transformado em um problema sem restrições pela
associação de uma função de penalização. A sua utilização gera uma forma eficaz de se
tratar as restrições (Fox, 1973; Haftka e Gürdal, 1992; Shoenauer e Xanthakis, 1993).
A FO modificada pode ser colocada da seguinte forma (Lemonge, 1999):
)()()( xpenalxfxF += (2.4)
De acordo com o método e a maneira em que é aplicada às soluções não factíveis, a parcela
penal (x), que é a função de penalização, pode diferir.
Barbosa e Lemonge (2003) classificam as técnicas clássicas para lidar com restrições como
diretas (interior) – apenas soluções factíveis são consideradas - e indiretas (exterior), onde
soluções factíveis e não factíveis são usadas durante o processo de otimização.
8
A partir da década de noventa encontra-se outra classificação destas técnicas, que é
comumente utilizada nos problemas de otimização com restrições na atualidade
(Michalewicz, 1995; Lagaros et al, 2002; Barbosa e Lemonge, 2003).
Frente aos mais variados tipos de funções de penalização, são exemplificados nas
subseções seguintes, alguns encontrados na literatura.
2.2.1.1 – Penalidades Estáticas
Os parâmetros da função de penalização são determinados pelo projetista e pode demandar
tempo em função da complexidade do problema a ser analisado.
Homaifar et al. (1994) sugerem a determinação de intervalos com distintos valores dos
parâmetros de penalização associados a cada restrição Si, definindo vários níveis de
violação (l ) por Zij, com i = 1, 2,... ,l e j = 1, 2, ... m, onde m é o número de violações. A
criação dos coeficientes para cada nível de violação e restrição na penalização pode ser
colocada na forma:
(2.5) ∑∑==
+=m
jjij
l
xfZxfxF111
)(.)()(
Lemonge (1999) sugere multiplicar um valor constante qualquer C, escolhido pelo
projetista, pelos resíduos de cada restrição violada Si, com i = 1, 2,..., n. A função
modificada é dada por:
(2.6) ∑=
+=n
iiSCxfxF
1.)()(
2.2.1.2 – Penalidades Dinâmicas
Neste tipo de penalidade, os parâmetros de penalização dependem de que interação (t) o
processo de otimização está.
Joines e Houck (1994) colocam a FO da seguinte maneira:
(2.7) ( ) ∑=
+=m
jj xStCxfxF
1
)(..)()( βα
9
C, α e β, são constantes e têm valores sugeridos de 0,5 , 2 e 2 respectivamente. Nota-se
que a parcela atinge seu valor máximo na última iteração. ( )αtC .
2.2.1.3 – Penalidades Adaptativas
De acordo com as informações obtidas durante as iterações, os parâmetros de penalização
podem ser definidos (adaptados).
Bezerra (1993) propôs uma penalidade com um comportamento logarítmico, pois o mesmo
gradualmente, a cada iteração, penaliza a FO nas proximidades da região não factível. A
função é colocada da seguinte forma:
∑∑= =
+=L
j
P
i iji xS
RxfxF1 1 )(
1)()( (2.8)
Ri ≈ 10Ei, sendo esta última definida como
⎪⎪⎭
⎪⎪⎬
⎫
⎪⎪⎩
⎪⎪⎨
⎧
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
∑∑≈
= =
L
j
P
i ij
ii
xS
xfIntE
1 1
10
)(1)(
log
Quando Sj ≤ 1 a FO é penalizada e quando Sj ≥ 1 a função se mantém. L é o número de
restrições e P o número de variáveis de projeto.
Coit et al. (1996) propuseram a FO da seguinte forma:
( )∑=
⎟⎟⎠
⎞⎜⎜⎝
⎛−+=
m
j
K
j
jallfeas tq
xftFtFxfxF
1 )()(
)()()()( (2.9)
Onde Fall é a melhor solução na iteração anterior, sem considerar a penalização; Ffeas é a
melhor solução factível e K é uma constante.
2.3 – MÉTODOS DE OTIMIZAÇÃO
Apesar da individualidade de cada algoritmo, existem algumas semelhanças que motivam a
formação de grupos. Comumente encontram-se na literatura sobre este assunto os três
conjuntos principais dos métodos de procura, relacionados na Tabela 2.1:
10
Tabela 2.1 – Algoritmos de Otimização (modificado - Soares, 1997).
Programação Linear Simplex
Sem Cálculo de Derivadas
Brent, Powell, Rosenbrock e outros.
Com Cálculo de Derivadas
DBrent, Gradiente, Newton, Steepest Descent.
Direções Conjugadas BFGS, DFP, Fletcher & Reeves.
Programação
Não-Linear
Métodos das penalidades Exterior, Interior, Interior Extendida.
Métodos Determinísticos
Outros Elipsóide, Grid
Métodos Enumerativos Programação Dinâmica
Estratégias Evolucionárias Computação Evolucionária Algoritmos Genéticos
Tabu
Técnicas de
Procura
Métodos Estocásticos
Outros Recozimento Simulado
O primeiro do grupo, também conhecido por Métodos Baseados em Cálculo, reúnem os
algoritmos que fazem uso do cálculo de derivadas e necessitam de algum tipo de
informação do gradiente na procura do extremo global. Nele, o ponto corrente ou inicial é
o ponto e partida para a iteração seguinte, portanto, a procura é local. Assim, a solução
encontrada tem uma grande probabilidade de ser um extremo local. Outra dificuldade
comumente encontrada é quando a derivação se torna complicada pelo fato de o espaço de
busca não ser contínuo, por exemplo, o uso de variáveis discretas. Estes métodos possuem
grande rapidez e funcionam excepcionalmente bem para problemas contínuos.
O segundo do grupo, os Métodos Enumerativos, verificam todas as combinações possíveis
de soluções. São algoritmos computacionalmente caros para espaços de busca muito
grandes, portanto, sua eficiência fica comprometida.
Já os Métodos Estocásticos, o último do grupo, ganharam popularidade nas últimas
décadas. Eles buscam a solução a partir de regras de probabilidade, a busca é feita em
vários pontos do espaço e não há a necessidade de calcularem derivadas.
Uma das maiores preocupações em um algoritmo de otimização é a robustez, que é o
balanço entre eficiência (rapidez), eficácia (convergência para a solução global) e a fácil
adaptação a problemas em geral. Se um método é considerado robusto, sua solução é mais
11
confiável e, provavelmente, o custo de reprojeto para adaptar o método a novas situações é
reduzido ou até mesmo pode ser considerado nulo.
2.4 – COMPUTAÇÃO NATURAL
Durante muitos anos cresceu o interesse em se resolver problemas, das naturezas mais
diversas, através de procedimentos que utilizam algoritmos que consideram características
de hereditariedade entre as soluções factíveis.
Do ponto de vista filosófico, é o método de otimização utilizado pela natureza, que é tida
por muitos como o sistema mais perfeito. E do ponto de vista prático, resolve problemas
matematicamente complexos de modo simples, além de ser fácil acoplar outras técnicas
(hibridação) e/ou aplicações.
A Computação Natural surgiu como uma nova ciência computacional inspirada na
natureza. Castro (2001) organiza as principais subáreas em complemento aos Métodos
Estocásticos encontrados na Tabela 2.1 da seguinte forma:
Figura 2.4 – Subáreas da Computação Natural (modificado - Castro, 2001).
A Inteligência Computacional busca criar sistemas inteligentes reproduzindo os aspectos
do comportamento animal e/ou vegetal, tais como: adaptação, percepção, raciocínio e
aprendizado.
12
O Recozimento Simulado (Simulated Annealing) é um intermediário na inteligência
computacional. O princípio do método está na analogia com a termodinâmica,
precisamente no modo de como os líquidos se esfriam e se cristalizam ou no processo de
recozimento de metais.
A geometria fractal descreve bem as irregularidades e os processos turbulentos da
natureza, sendo amplamente utilizada na meteorologia, biologia, hidrografia, medicina,
geografia, dentre outros.
2.4.1 – Lógica Nebulosa
A lógica Nebulosa ou Difusa (Fuzzy Logic) surgiu da necessidade de tratar problemas onde
existe uma região cujas classificações tornam-se imprecisas (Tran e Zomorodi, 1994).
As variáveis de projeto não são tratadas como tendo apenas um estado, mas muitos; Cada
um com certo grau de associação, por exemplo, uma barra de aço não é grande e sim 0,8
grande, 0,2 média e 0,0 pequena; Gerando assim, a criação de conjuntos para os quais os
dados são inseridos. Isto permite um melhor tratamento de problemas onde existam
fronteiras imprecisas ou não bem definidas.
2.4.2 – Redes Neurais Artificiais
Inspiradas na estrutura do cérebro humano, as Redes Neurais, apresentam características
similares a ele: associação, abstração, generalização e aprendizado.
Os processadores (neurônios artificiais) são interconectados e cada um efetua um número
pequeno de operações simples. Os seus resultados são transmitidos aos processadores
vizinhos para a geração do resultado final (Hajela e Berke, 1990).
São efetivas no aprendizado de padrões (por exemplo: imagem, texto e voz) a partir de
dados não-lineares, incompletos, com ruídos e até compostos de exemplos contraditórios.
2.4.3 – Computação Evolucionária
A computação Evolucionária ou Algoritmos Evolucionários são técnicas estocásticas de
busca e otimização inspiradas nos mecanismos da evolução e da genética (Goldberg, 1989;
Maysa, 1996).
13
O princípio de funcionamento é a evolução de uma população de estruturas
computacionais, de tal modo tal que melhore a adequação média dos indivíduos que
formam esta população em relação ao ambiente a que ela está submetida.
De acordo com a linha de aplicação e alguns detalhes da Computação Evolucionária
podem-se formar novas subáreas como vistas na Figura 2.5.
Figura 2.5 – Subáreas da Computação Evolucionária (modificado - Castro, 2001).
2.4.3.1 – Algoritmos Genéticos
Os Algoritmos Genéticos são inspirados nos mecanismos naturais da genética. Operam
com populações de indivíduos representados por cromossomos, os quais durante o
processo de evolução são submetidos ao procedimento de seleção e reprodução, onde são
aplicados os operadores de recombinação e mutação (Goldberg, 1989).
2.4.3.2 – Programação Evolucionária
A Programação Evolucionária ou Evolutiva também opera com populações, porém alguns
tipos de mutações são efetuados sobre os pais na criação de novas soluções.
Concebida por Lawrence J. Fogel na década de sessenta, este tipo de programação não
necessita de populações constantes, como também não precisa ser fixado um número de
filhos por pai. Não efetuam recombinação, por isso têm a sua representação mais flexível.
14
2.4.3.3 – Estratégias Evolucionárias
Quase que exclusivamente empregadas na engenharia civil como alternativa aos métodos
convencionais, operam com cromossomos na forma de vetores de números reais e
originalmente na proporção (1+1), ou seja, cada pai gera um filho por geração. Caso este
descendente seja melhor que seu progenitor ele toma o seu lugar (Maysa, 1996).
Atualmente estas estratégias foram extendidas para outras proporções, além de usar
estratégias de recombinações introduzidas em seu processo evolutivo.
2.4.3.4 – Programação Genética
Geralmente utilizados na linguagem Lisp, a Programação Genética, opera sobre
representações de trechos de programas na forma de árvores, de modo que possam ser
combinados para gerarem novos trechos de programas mais complexos (Lemonge, 1999;
Castro, 2001).
Normalmente apenas o operador de recombinação é utilizado, através de uma seleção
aleatória de sub-árvores e troca nos indivíduos, para seleção conforme a aptidão de cada
indivíduo.
2.4.3.5 – Estratégia de Colônia
Opera com a idéia da comunicação indireta explorada pelas sociedades de insetos que
formam algoritmos distribuídos de multi-agentes. A Estratégia de Colônia (Swarm) é
inspirada no comportamento coletivo de colônias de insetos, como por exemplo, colônia de
formigas, ou em sociedades de outros animais (Dorigo et al, 1991).
Atualmente está sendo aplicada a vários problemas de otimização de cadeias de
telecomunicações e otimização multi-objetivos.
15
3 – ALGORITMOS GENÉTICOS
3.1 – INTRODUÇÃO
O desenvolvimento da genética estabeleceu que as características hereditárias são
transmitidas através de genes (unidades químicas que se localizam no núcleo das células).
Os genes são constituídos por uma substância química, o ADN, ou ácido
desoxirribonucléico (DNA), dispõem-se aos pares, dentro de filamentos visíveis ao
microscópio, chamados cromossomos. A propriedade fundamental dos genes é que eles se
auto-reproduzem, fielmente, entretanto, não há uma precisão absoluta nessa auto-
reprodução, podendo ocorrer mutações gênicas, ou seja, o gene que até aquele momento
produzia determinada característica passa a produzir outra.
Lamarck em 1809 argumentava que o meio ambiente provocaria a necessidade de
modificação nos seres que nele viviam. As mudanças nas espécies seriam produzidas pela
aquisição de novas características, isto é, novas habilidades que o indivíduo desenvolveria
na tentativa de adaptar-se ao ambiente. Darwin, em 1858 apresentou sua teoria de evolução
através da seleção natural, que seria o agente que propiciaria a evolução, os mais aptos
sobrevivem e levam suas características para a sua descendência. A seleção natural é
apenas um dos elementos da adaptação que se une a outros como a relação entre o
organismo e o ambiente e a hereditariedade. Além disso, é preciso distinguir adaptação de
adaptabilidade. Enquanto adaptação é o preparo do organismo para sobreviver num
ambiente, adaptabilidade é a capacidade de tirar vantagem do ambiente e, até mesmo,
controlá-lo.
Nas décadas de 50 e 60, muitos biólogos começaram a desenvolver simulações
computacionais de sistemas genéticos. Entre eles destacam-se N. A. Barricelli, com o
trabalho “Processos de Evolução Simbiogenética através de Métodos Artificiais”, em 1957
e “Teste Numérico da Teoria da Evolução” em 1962 e também A. S. Fraser, com os
trabalhos “Simulação de Sistemas Genéticos por Computadores Automáticos Digitais” e
“Acoplamento-S, Dominância e Epistasia e Simulação de Sistemas Genéticos”, em 1960 e
1962 respectivamente. Já nos anos 70, Holland desenvolveu uma metodologia baseada na
seleção genética natural de otimização de sistemas artificiais, cuja idéia estava direcionada
em três pontos: cromossomo, indivíduo e população. A tentativa era de encontrar uma
maneira de se codificar um cromossomo que representasse um indivíduo e uma população.
16
Em 1975 a publicação do livro “Adaptation in Natural and Artificial system” de John
Holland foi considerada o marco dos algoritmos genéticos (AGs), porém apenas em 1989
com o livro “Genetic Algorithms in Search, Optimization and Machine Learning” de
David E. Goldberg que os Algoritmos Genéticos foram popularizados e vêm sendo
aplicados com sucesso nas mais diversas áreas, entre elas a otimização em análise
estrutural (Lemonge, 1999).
3.2 – ALGUNS PROJETOS E PESQUISAS SOBRE ALGORITMOS GENÉTICOS
NA ENGENHARIA
A difusão dos Algoritmos Genéticos como ferramenta de otimização despertou o interesse
em pesquisadores da área de engenharia e ciências afins. Freqüentemente aplicados em
problemas de otimização, os AGs foram utilizados em pesquisas desde análises de projetos
de turbinas de aeronaves até recentemente a análises de estruturas de proteínas. Pode-se
encontrar em Goldberg et al. (1997) um resumo de aplicações, incluindo aproximadamente
4300 referências sobre a evolução e aplicação dos AGs.
Atualmente no Brasil, encontram-se várias pesquisas em andamento, destacando os
projetos de pesquisa realizados pela Coordenação dos Programas de Pós-Graduação de
Engenharia (COPPE) e pelo Laboratório Nacional de Computação Científica (LNCC).
O Laboratório de Métodos Computacionais em Engenharia (LAMCE/PEC/COPPE/UFRJ)
realiza pesquisas em sistemas inteligentes para engenharia com o objetivo de formular leis
que governam os fenômenos envolvidos em forma matemática e precisa. Essas descrições
perfeitas nem sempre são possíveis e o conhecimento incompleto e impreciso das
observações que são geralmente feitas em natureza qualitativa e a grande heterogeneidade
dos agentes que interagem causam incertezas na modelagem. Com a evolução da teoria
probabilística e da estatística clássica se fornecem meios teóricos para a descrição dessas
incertezas. A modelagem através de dados observados exige um processo de extração de
conhecimento existente em um banco de dados (data mining) e esse processo se vale de
diversas técnicas, entre elas os algoritmos genéticos.
O Laboratório de Bioinformática (LNCC/MCT) tem como objetivo principal o
desenvolvimento de softwares para análise de seqüências de nucleotídeos e de proteínas
em bancos de dados genéticos.
17
Além destes centros, na última década vários trabalhos têm sido publicados com relação à
aplicação dos algoritmos genéticos em engenharia por pesquisadores em outras
universidades, por exemplo, UFPE, UFMG, PUC/RJ, USP e outros, dos quais alguns
exemplos são considerados em seguida.
Soares (1997) em sua dissertação de mestrado analisou o desempenho dos AGs
numericamente e propõe novas técnicas de como proceder a codificação e parametrização
em código binário.
Lemonge (1999) apresentou em sua tese de doutorado a aplicação dos AGs em otimização
estrutural de estruturas reticuladas planas e espaciais, analisando problemas de
minimização de peso, minimização de trabalho de deformação, reação máxima de apoio e
otimização de parâmetros e topologia.
Borges (1999) desenvolveu em sua tese de doutorado, modelos de AGs paralelos e uma
formulação para problemas de identificação de danos estruturais, baseada em informações
a respeito do comportamento dinâmico da estrutura danificada.
Barcellos (2000) apresenta uma outra classe de AG, o MetaAG, verificando que o mesmo é
mais estável em relação aos seus parâmetros de controle.
Silva (2000) aplicou os AGs para otimizar estruturas de concreto armado, analisou um
trecho de pilar submetido à flexão composta oblíqua e um pórtico plano de cinco
pavimentos.
Castro (2001) em sua tese de doutorado desenvolveu um AG para otimização de problemas
estruturais com multi-objetivos, cuja finalidade era evoluir um conjunto uniformemente
distribuído de soluções para determinar o conjunto ótimo soluções do problema tratado,
além disso, propõe novas características para o AG, como combinação de outros
operadores genéticos.
Mendonça (2004) propõe em sua tese de doutorado uma estratégia híbrida paralela
utilizando redes neurais treinadas com indivíduos retirados das populações do AG para
aproximar funções não-lineares na otimização do casco de uma plataforma semi-
submersível, com o objetivo de minimizar movimentos.
18
Na UnB as pesquisas estão no seu estado inicial comparados a outras instituições, podendo
citar o trabalho de Torres et al. (2003) em “Determinação de Rotas ótimas de Ônibus
Urbano Utilizando Algoritmo Genético Associado ao Algoritmo de Dijkstra”, o de
Sampaio (2004) em “Determinação de uma Rede Ótima de Transporte Utilizando o
Algoritmo Genético” e o presente trabalho.
3.3 – VANTAGENS E DESVANTAGENS DOS ALGORITMOS GENÉTICOS
3.3.1 – Vantagens
Os Algoritmos Genéticos têm sido empregados em problemas complicados de otimização
em que, muitas vezes, os demais métodos falham. Algumas vantagens dos AGs observadas
podem ser:
• Funcionam tanto com parâmetros contínuos como discretos ou uma combinação
deles;
• Realizam buscas simultâneas em várias regiões do espaço de busca, pois trabalham
com uma população e não com um único ponto;
• Utilizam informações de custo ou recompensa e não derivadas ou outro
conhecimento auxiliar;
• Otimizam um número grande de variáveis;
• Otimizam parâmetros de funções objetivos com superfícies complexas e
complicadas, reduzindo a incidência de mínimos locais;
• Trabalham com uma codificação do conjunto de parâmetros e não com os próprios
parâmetros;
• Fornecem uma lista de parâmetros ótimos e não uma simples solução;
• Trabalham com dados gerados experimentalmente e são tolerantes a ruídos e dados
incompletos;
• São fáceis de serem implementados em computadores, inclusive com
processadores em paralelo;
• São modulares e portáteis, no sentido que o mecanismo de evolução é separado da
representação particular do problema considerado. Assim, eles podem ser
transferidos de um problema para outro;
• São flexíveis para trabalhar com restrições arbitrárias e otimizar múltiplas funções
com objetivos conflitantes;
19
• São também facilmente hibridizados com outras técnicas heurísticas;
• São mais resistentes a se prenderem a ótimos locais;
• Apresentam um bom desempenho para uma grande escala de problemas.
3.3.2 – Desvantagens
Mesmo com esse grande número de vantagens, citada na subseção anterior os AGs ainda
não são eficientes para muitos problemas. São considerados lentos e não raro ainda estão
avaliando a população inicial enquanto muitos métodos determinísticos já teriam
encontrado a solução. O principal campo de aplicação dos AGs é em problemas
complexos, com múltiplos mínimos e/ou máximos e para os quais não existe um algoritmo
de otimização eficiente conhecido para resolvê-los. Além disso, podem-se observar
também na literatura as seguintes desvantagens:
• Demora em achar o ótimo global exato;
• Grandes possibilidades de configurações das variáveis, levando a um grande
número de combinações de parâmetros a serem investigados.
3.4 – ANALOGIA DO MECANISMO DE SELEÇÃO NATURAL COM A
OTIMIZAÇÃO DE SISTEMAS ARTIFICIAIS
Há muito tempo, o homem tem se servido das características e princípios existentes na
natureza para a criação de máquinas, métodos e técnicas que melhorem sua qualidade de
vida no planeta. Alguns exemplos típicos são os aviões baseados nas características dos
pássaros, submarinos com sistemas de imersão semelhantes aos peixes, sonares baseados
nos morcegos, entre outros (Silva, 2000).
Dorigo e Stützle (2004) descrevem outro fato interessante ao estudarem o comportamento
de ninhos de formigas, pois, mesmo elas sendo tão simples e irracionais possuem
mecanismos naturais de otimização. São capazes de encontrar um caminho mais curto
entre o ninho e uma fonte de comida sem usar sugestões visuais, mesmo que ocorram
mudanças no ambiente original, como a introdução de um obstáculo, que pode ser
observado nas Figuras 3.1 a 3.4 a seguir.
20
Figura 3.1 – Trajeto retilíneo (Dorigo e Stützle, 2004).
Figura 3.2 – Introdução de um obstáculo (Dorigo e Stützle, 2004).
Figura 3.3 – Divisão das formigas no percurso (Dorigo e Stützle, 2004).
Figura 3.4 – Percurso ótimo com o passar do tempo (Dorigo e Stützle, 2004).
21
A explicação para a descoberta do caminho ótimo a ser percorrido pelas formigas, é que
elas depositam durante a caminhada certa quantidade de feromônio, com uma taxa fixa
através da urina e seguem a trajetória probabilisticamente mais rica em tal sinalizador
químico. O caminho original ao ser interrompido pela introdução de um obstáculo, leva as
formigas a se dividirem pelas alternativas possíveis e com o decorrer do tempo terão
passado pelo menor caminho, ficando o caminho com uma maior concentração do
feromônio, por isso este novo trajeto será adotado.
Outro exemplo, observado por Darwin, é que numa determinada população, quando há
escassez de recursos, sejam eles: comida, espaço ou outro recurso essencial. Os indivíduos
mais preparados para a competição dominam os mais fracos e sobrevivem, acontece
porque, dentre todas as características imprescindíveis à competição, esses serem possuem
algumas mais acentuadamente presente que os outros. Pela hereditariedade, essas
características passarão para seus descendentes, e assim, terão grande chance de serem
também vencedores. Porém, indivíduos fortes podem surgir da exploração de outra
característica ainda não desenvolvida na população. Se a natureza tentasse descobrir essas
novas características através da seleção dos mais aptos e do cruzamento dentro de um
mesmo grupo, certamente não teria sucesso, pois, ao longo das gerações, todos os
indivíduos compartilhariam praticamente do mesmo código genético. Contornando esse
problema inserindo material genético diferente através do processo conhecido por
mutação, a natureza, capacita o individuo a sobreviver, caso ele seja tão apto quanto aos
demais, no futuro processo de seleção. (Darwin, 1902)
Como mencionado anteriormente, Holland (1975) procurou implementar algo semelhante
para sistemas artificiais. Nessa comparação, descreve-se o problema (ambiente de
sobrevivência) sob a forma de uma função objetivo, em que as estruturas (indivíduos) mais
aptas obterão valores mais altos dessa função, assim, cada indivíduo corresponde a uma
possível solução. Então trabalhando com um grupo de indivíduos simultaneamente,
verifica-se a potencialidade de cada um em relação aos demais, tentando selecionar os mais
aptos para o cruzamento. Após o cruzamento, cada gene de cada indivíduo estará sujeito à
ação da mutação. Nos algoritmos genéticos esses processos são conhecidos como
operadores genéticos.
22
Para manter a analogia, são usados nos sistemas artificiais, os termos usuais à genética
natural nos sistemas artificiais. Lacerda e Carvalho (1999) dispõem a terminologia básica
da seguinte maneira:
• Cromossomo e Genoma: na biologia, genoma é o conjunto completo de genes de
um organismo. Um genoma pode ter vários cromossomos. Nos AGs, os termos
cromossomo e genoma, representam a estrutura de dados que codifica uma solução
para um problema, ou seja, um cromossomo, ou genoma representa um simples
ponto no espaço de busca;
• Gene: na biologia, é a unidade de hereditariedade que é transmitida pelo
cromossomo e que controla as características do organismo. Nos AGs, é um
parâmetro codificado no cromossomo, ou seja, um elemento do vetor que
representa o cromossomo;
• Indivíduo: um simples membro da população. Nos AGs, um indivíduo é formado
pelo cromossomo e sua aptidão;
• Genótipo: na biologia, representa a composição genética contida no genoma. Nos
AGs representa a informação contida no cromossomo ou genoma;
• Fenótipo: nos AGs, representa o objeto, estrutura ou organismo construído a partir
das informações do genótipo. É o cromossomo decodificado. Por exemplo,
considere que o cromossomo codifica parâmetros como as dimensões das vigas em
um projeto de construção de um edifício. O fenótipo seria o edifício construído;
• Alelo: na biologia, representa uma das formas alternativas de um gene. Nos AGs,
representa os valores que o gene pode assumir. Por exemplo, um gene que
representa o parâmetro de forma geométrica da seção transversal de uma barra,
poderia ter os alelos de parâmetros circulares, retangulares, circulares vazado, etc;
• Locus: nos AGs, representa uma posição no cromossomo;
• Epistasia: interação entre genes do cromossomo, isto é, quando um valor de um
gene influencia no valor de outro gene. Problemas com alta epistasia são de difícil
solução por AGs;
• População: conjunto de cromossomos ou soluções;
• Operações Genéticas: são operações que o AG realiza sobre cada um dos
cromossomos.
• Geração: é o número total de ciclos de evolução de um AG.
23
A idéia de otimização em conjunto com a seleção natural dos mais aptos no processo de
evolução torna-se um campo convidativo e interessante pelos inúmeros resultados de
sucesso nas mais diferentes áreas de aplicação. Além de ser uma alternativa de grande
força por sua característica: robustez, flexibilidade, eficiência e principalmente,
simplicidade.
3.5 – TEORIA DO PROCESSO EVOLUTIVO
Os Algoritmos Genéticos caminham na direção do ponto ótimo através da procura por
semelhanças na codificação dos indivíduos de bom desempenho. Goldberg (1989) e
Holland (1975) analisaram o indivíduo de um ponto de vista mais amplo. No caso de uma
codificação binária, um esquema é uma cadeia formada com o alfabeto A = 0, 1, *. O
caractere “*” é um coringa, ou seja, pode ser tanto 0 ou 1.
Um esquema (H) descreve um conjunto de cadeias de caracteres que possuem semelhanças
em certas posições. Então, por exemplo, suponha que uma cadeia de caracteres tenha
comprimento = 4. Dessa forma, um esquema H1 poderia ser **10 e esse esquema
representaria as cadeias de caracteres 0010, 0110, 1010 e 1110. Cada cadeia de caracteres
possível significa uma instância do esquema.
l
Algumas características relativas às posições fixas são muito importantes na análise de
desempenho desses esquemas. Chama-se ordem (o(H)) de um esquema, o número de
símbolos que não sejam o “*” (asterisco) e, portanto o esquema H1 anteriormente citado
tem o(H) = 2. Chama-se também, comprimento de definição (δ(H)) do esquema a distância
entre o primeiro e o último símbolo não asteriscos do esquema. Sendo assim, o esquema
H1 tem o δ(H) = 1 (o 1 está na terceira e na quarta posição, então 4 – 3 = 1).
Um outro fator importante ao esquema é o seu desempenho ( ( )Hf ), que é medido pela
média aritmética da aptidão entre todas as suas instâncias, para uma dada população e
geração.
Portanto, duas considerações teóricas são de grande importância para a análise do
mecanismo de pesquisa dos AGs: A Hipótese dos Blocos de Construção e o Teorema
Fundamental dos Algoritmos Genéticos.
24
3.5.1 – Hipóteses dos Blocos de Construção
Quando a análise da população é feita pela perspectiva de esquemas, a descrição sobre a
performance dos AGs fica mais clara. Esquemas de pequeno comprimento de definição, de
baixa ordem e com alto desempenho são amostrados e recombinados, formando cadeias de
mais alto valor de aptidão e neste sentido, reduzindo a complexidade do problema. A
intenção é construir indivíduos fortes a partir dos melhores existentes, ao invés de se tentar
combinar quaisquer cadeias de caracteres. Para isso os esquemas curtos, de baixa ordem e
desempenho acima da média se juntam como blocos de construção, gerando uma estrutura
maior.
Os blocos de construção (building blocks) são muito importantes na fase inicial dos AGs,
onde o objetivo é encontrar a região onde se encontra a solução global. Já na outra fase, a
de convergência final, as cadeias de caracteres compartilham praticamente o mesmo
código genético e conseqüentemente, os mesmos esquemas de alto desempenho, tornando
então bem menos significativa à contribuição dos esquemas nos blocos de construção.
3.5.2 – Teorema Fundamental dos Algoritmos Genéticos
O Teorema fundamental dos algoritmos genéticos, desenvolvido por Goldberg (1989),
utilizou os três operadores genéticos básicos de um AG: seleção, cruzamento e mutação.
Inicialmente suponha que numa geração t, um esquema particular H possua m
representantes, essa situação será denotada por . E durante a reprodução uma
cadeia de caracteres é copiada de acordo com a probabilidade de seleção (
),( tHm
P )
proporcionada pelo seu desempenho , perante todos os desempenhos encontrados na
população , ou seja:
if
∑ f
∑
=f
fP i (3.1)
Analogamente, para esquemas em que é o desempenho médio das instâncias do
esquema:
)(Hf
∑
=f
HfP )( (3.2)
25
Como na geração t + 1, npop indivíduos são selecionados, espera-se ter:
∑
=+f
HfntHmtHm pop)(.).,()1,( (3.3)
Representantes de H. A média de desempenhos da população é definida como: medf
pop
med nf
f ∑= (3.4)
Portanto a equação 3.3 pode ser reescrita como:
medfHftHmtHm )(),()1,( =+ (3.5)
Da equação 3.5 nota-se que o número de esquemas aumentará dependendo da razão entre
os desempenhos médios de suas instâncias e da população. Esta etapa considerou apenas o
efeito da seleção (selection).
Considere agora o cromossomo C abaixo, de comprimento 7 e dois esquemas por ele
representado:
Tabela 3.1 – Cromossomo, Esquemas, Comprimento de definição e Ordem.
C 1010101 )(Hδ )(Ho
H1 ****1*1 2 2 H2 1*0***1 6 3
Em qualquer um dos 6 pontos possíveis em que possa haver cruzamento (crossover) o
esquema H2 será partido (probabilidade 1). Já no esquema H1 uma quebra, por exemplo,
na segunda posição (bit), o manteria inalterado.
Isto ocorre por causa do comprimento de definição ( )(Hδ ). Em H1 a probabilidade de
haver quebra, isto é, de o ponto de escolha para o cruzamento ser escolhido de modo a
romper a estrutura é de 2/6 (as únicas posições em que ocorrem quebras são: após o
primeiro 1, antes do asterisco e logo antes do segundo 1, após o asterisco). No esquema H2
a probabilidade de quebra é 6/6 = 1 (qualquer local entre os dois uns irá romper o
26
esquema). O lugar em que o cromossomo se parte é selecionado aleatoriamente com
probabilidade uniforme em todas as posições, ou seja, uma escolha entre 1 e - 1.
Portanto a probabilidade de um esquema H ser quebrado (destruído) pelo cruzamento será:
l
)1()(
−=
l
HPdδ (3.6)
Considerando agora a probabilidade de haver um cruzamento, a probabilidade real de
romper o esquema será , já que e são eventos independentes, portanto:
cp
DP dc Pp . cp dP
)1()(.
−=
l
HpP cDδ (3.7)
O cruzamento pode ser realizado entre representantes do mesmo esquema, e assim esse
esquema jamais será destruído, então:
)1()(.
−≤
l
HpP cDδ (3.8)
É interessante trabalhar com a probabilidade de sobrevivência ao invés de , assim: SP DP
DS PP −= 1 (3.9)
)1()(.1
−−≥
l
HpP cSδ (3.10)
A ação conjunta dos processos de reprodução e de cruzamento são eventos independentes,
e simplesmente multiplicando-se estes dois eventos a equação 3.5 fica:
⎥⎦
⎤⎢⎣
⎡−
−=+)1()(1)(),()1,(
l
Hpf
HftHmtHm cmed
δ (3.11)
Esta equação mostra que se um esquema tem desempenho acima do desempenho médio da
população e pequeno comprimento de definição, provavelmente ele proliferará. Nesta
etapa considerou agora o efeito da seleção (selection) e do cruzamento (crossover).
O último operador a ser considerado é a mutação (mutation). Cada alelo simples tem
probabilidade mS PP −= 12 , e como cada mutação é estatisticamente independente, a
27
probabilidade de sobrevivência para um esquema particular será o produto das
probabilidades para cada posição fixa, ou seja, a probabilidade de sobrevivência de um
esquema com ordem o(H) é:
2SP
(3.12) )(2 )1( Ho
mS pP −=
Neste ponto, fazemos uma simplificação na equação 3.12, pois geralmente << 1
(grandes probabilidades de mutação transformam o problema em um processo aleatório,
pois se perde o material genético que foi aprimorado pelo cruzamento) e, portanto
(Goldberg, 1989):
mp
)(12 HopP mS −= (3.13)
O efeito combinando dos três operadores leva a equação 3.5 para a seguinte forma:
[ )(1)1()(1)(),()1,( HopHp
fHftHmtHm mc
med
−⎥⎦
⎤⎢⎣
⎡−
−=+l
δ ] (3.14)
Reorganizando e ignorando os termos cruzados do tipo , pois estamos analisando
apenas os efeitos sem a suas interdependências, teremos:
cm pp .
⎥⎦
⎤⎢⎣
⎡−
−−=+ )(
)1()(1)(),()1,( HopHp
fHftHmtHm mc
med l
δ (3.15)
Que é finalmente a formulação matemática dos efeitos dos operadores genéticos sobre o
número de esquemas esperados para a próxima geração e também conhecido como
Teorema Fundamental dos Algoritmos Genéticos.
3.5.2.1 – Convergência dos Algoritmos Genéticos
Analisando a equação 3.15 observa-se que a parcela formada pelos efeitos do cruzamento e
mutação é uma constante (K), representada entre os colchetes, e que se a relação do
desempenho médio das instâncias do esquema H com a média de desempenhos de a
população permanecer constante, teremos:
KtHmtHm ).,()1,( =+ (3.16)
28
Começando com t = 0, Barcellos (2000) observou que na geração (t) a ação dos operadores
genéticos sobre os esquemas tem forma exponencial, ou seja, para tem-se: ),( tHm
(3.17) tKHmtHm ).0,(),( =
Mostrando que esquemas que tem valores de K superiores a 1 (condições do teorema do
esquema) produzem cromossomos representantes a uma taxa exponencial com o tempo e
valores de K inferior a 1 tem um decaimento exponencial com o tempo e tendem a
desaparecer. Sendo então o AG um método de otimização de convergência exponencial.
3.5.3 – Paralelismo Implícito
O AG, a cada geração, processa npop indivíduos, mas o que faz dele um poderoso método
de procura é que, na análise dos npop indivíduos, ele verifica paralelamente npop3 esquemas.
Esse resultado recebeu o nome de paralelismo implícito. A estimativa npop3 esquemas por
npop indivíduos foi desenvolvida por Goldberg (1989).
A estimativa do número de esquemas processados em paralelo inicia-se conhecendo a
capacidade de formação dos indivíduos e esquemas de qualquer código. Para qualquer tipo
decodificação, seja k o número de alelos diferentes e l o comprimento da cadeia de
caracteres, existem então k possibilidades de formação de cadeias de caracteres e (k + 1) l
de esquemas. Cada cadeia de caracteres específica é representante de k l esquemas
diferentes. Por exemplo, seja uma população composta por 4 cromossomos com 3 genes:
l
• 011 • 010 • 111 • 100
Os seguintes esquemas representam o primeiro indivíduo:
• 011 • 01* • 0*1 • *11 • 0** • *1* • **1 • ***
29
Neste caso, temos no máximo 32 (= 4 x 23) e no mínimo 8 (= 23) esquemas presentes na
população. Porém Goldberg (1989) estimou que o limite de esquemas fosse de 3 ,
portanto, 3
l
3 = 27 e não 32 como encontrado anteriormente.
Ainda assim, não é fácil enxergar o paralelismo implícito com os quais os AGs trabalham.
Uma outra forma de verificação deste paralelismo é a visão geométrica de esquemas num
espaço de busca. Consideremos então esquemas de comprimento = 3, como no exemplo
anterior, e um espaço de busca tridimensional. Esquemas com ordem 3 definem pontos
específicos no espaço, esquemas com ordem 2 definem linhas de possíveis soluções. Os
planos no espaço são esquemas de ordem 1, enquanto que todo espaço é coberto por
esquema de ordem 0, ou seja, ***, que pode ser visto na Figura 3.5. Para espaços
superiores a três dimensões (3D), o raciocínio é análogo, porém para estas dimensões, a
visão geométrica é complexa.
l
Figura 3.5 – Visão geométrica dos hiperplanos em 3D (Soares, 1997).
3.6 – ALGORITMOS GENÉTICOS GENÉRICOS
Os Algoritmos Genéticos são muito utilizados em problemas onde, dado um conjunto de
elementos ou indivíduos, deseja-se encontrar aquele ou aqueles que melhor atendam a
certas condições previamente especificadas.
Lemonge (1999) relaciona algumas aplicações entre tantas em engenharia:
• Otimização de forma de elementos estruturais;
30
• Otimização de topologia;
• Localização ótima de sensores e atuadores;
• Detecção, localização e quantificação de danos em estruturas;
• Problemas de identificação e problemas inversos;
• Concepção de projetos;
• Problemas de locação/alocação.
Representando de forma abstrata no eixo das abscissas todos os problemas cujas soluções
podem ser obtidas por algoritmos de otimização e no eixo das ordenadas suas respectivas
eficiências, pode-se determinar curvas indicativas da aplicabilidade em problemas versus
eficiência dos métodos disponíveis, exemplificado pela Figura 3.6 (Goldberg, 1989).
Figura 3.6 – Aplicabilidade versus Eficiência (Goldberg, 1989).
Distinguem-se acima três tipos extremos de métodos. O Método 1 é pouco eficiente para
quase todos os problemas existentes, ou seja, funciona apenas para casos específicos. O
Método 2 é altamente eficiente para uma pequena faixa de problemas, entretanto, pouco
eficiente ou nem aplicável para a grande maioria deles. O último, o Método 3, é
razoavelmente eficiente para quase todos os problemas existentes.
Dentro deste contexto, os AGs se aproximam da terceira classe de métodos, não sendo
mais eficiente que aqueles especificamente projetados para determinado problema,
contudo, modificações no problema original trariam poucos, ou quase nenhum prejuízo aos
AGs, mas provavelmente, a inutilidade de outros métodos.
31
Existem inúmeras versões dos algoritmos genéticos em relação aos procedimentos
empregados (por exemplo, nos operadores).
Figura 3.7 – Estrutura de funcionamento de um Algoritmo Genético Genérico.
No entanto, são duas as formas mais freqüentemente observadas quanto à sua estrutura de
funcionamento, e portanto, sendo estes os algoritmos genéticos genéricos dos quais os
outros AGs existentes são fundamentados. Sendo estes dois explicados nas subseções
seguintes.
3.6.1 – Algoritmo Genético Geracional
No Algoritmo Genético Geracional toda a população é substituída por novos indivíduos
gerados pelo processo de seleção e aplicação dos operadores genéticos. Toda a geração
(Pais) é integralmente substituída pela mais nova (Filhos), não existindo a “convivência”,
havendo a perda de bons indivíduos no processo. Por essa razão, nos problemas de
otimização, um procedimento freqüentemente empregado é o elitismo, isto é, um ou dois
dos melhores indivíduos de uma geração são preservados, passando diretamente para a
geração seguinte.
32
3.6.2 – Algoritmo Genético em Regime
Neste tipo de algoritmo, também conhecido por AG Steady State, apenas um indivíduo é
criado de cada vez e depois da sua avaliação, o mesmo é inserido na população em
substituição a outro, por exemplo, pelo pior de todos. Porém caso ele seja pior que todos os
já existentes, então nada é alterado e procede-se uma nova criação de indivíduo.
Uma maneira de facilitar a comparação do indivíduo gerado com os já existentes na
população é utilizar um ordenamento ou escalonamento, desta forma, o indivíduo é
comparado apenas com o último indivíduo, caso seja superior a ele, assumirá a posição
correspondente no ordenamento ou escalonamento, sendo portanto, o último eliminado
pela seleção natural (Silva, 2000).
3.7 – ESTRUTURA DE FUNCIONAMENTO
O princípio básico de funcionamento do AG é que um critério de seleção vai fazer com
que, depois de um determinado número de gerações, um conjunto inicial de indivíduos
gere indivíduos mais aptos. Basicamente, cinco aspectos fundamentais são usados para
resolver um problema de otimização (Lemonge, 1999):
• Uma codificação genética de soluções para o problema;
• Um procedimento para criar uma população inicial de soluções;
• Uma função de avaliação que retorna a aptidão de cada indivíduo;
• Operadores genéticos que manipulam a codificação dos pais durante o processo de
reprodução, dando origem a novos indivíduos;
• Parâmetros a serem utilizados no algoritmo durante o processo de cruzamento e
mutação.
Inicialmente, é gerada uma população formada por um conjunto aleatório de indivíduos
que podem ser vistos como possíveis soluções do problema. Durante o processo evolutivo,
esta população é avaliada: para cada indivíduo é atribuído uma nota, ou índice, refletindo
sua habilidade de adaptação a determinado ambiente.
Uma porcentagem dos mais aptos é mantida, enquanto os outros são descartados
(Darwinismo). Os indivíduos da população mantidos pela seleção podem sofrer
modificações em suas características fundamentais através dos operadores genéticos de
33
mutação (mutation) e cruzamento (crossover) gerando descendentes para a próxima
geração. Esse processo, chamado de reprodução, é repetido até que uma solução
satisfatória seja encontrada.
3.7.1 – A representação
Uma das principais preocupações a ser avaliada quando se utiliza o AG como ferramenta
de otimização de um determinado problema é a codificação a ser utilizada para representar
as possíveis soluções. Existem vários tipos de codificação utilizados nesse procedimento,
destacando-se entre eles a codificação binária e a codificação real. É comum a utilização
de codificações binárias para problemas com variáveis discretas e de codificações reais
para problemas com variáveis contínuas.
Pacheco (1999), Ochi e Rocha (2000) afirmam que o importante nesse caso, independente
da representação escolhida, é que esta deve ser capaz de representar todo espaço de busca
que se deseja investigar, ou seja, toda solução deve estar associada a um cromossomo e,
reciprocamente, todo cromossomo gerado pelo AG deve estar associado a uma solução
válida do problema analisado.
3.7.1.1 – Dimensionamento das variáveis
A escolha do número de bits para cada variável, o tamanho do cromossomo e sua
decodificação dependem de cada problema (Goldberg, 1989).
• Para um espaço de busca com variáveis discretas, tem-se:
(3.18) nv=l2
Onde é o comprimento da cadeia, ou o número de bits. E nv é o número de possíveis
valores assumidos.
l
• Para um espaço de busca com variáveis reais (contínuas), tem-se:
ε
LU xx −≥ 2logl (3.19)
l bits possibilitam a representação de valores discretos que são distribuídos
uniformemente no intervalo [x
l2L, xU], que possibilitem uma precisão ε de:
34
12 −
−=
l
LU xxε (3.20)
Por exemplo, se ε = 0,01 e, xU = 50,0 e xL = 20,0 teremos então ≥ 12. l
3.7.1.2 – Mapeamento das variáveis
Neste trabalho optou-se por utilizar a representação (codificação) binária. Essa
representação é a mais empregada por ser mais simples, fácil de manipular através dos
operadores genéticos e de ser transformada em uma representação inteira ou real. É obtida
pela concatenação de cada elemento do espaço de busca.
1 0 1 1 1 0 0 1
1 0 1 1 0 0 11
Concatenação
Figura 3.8 – Cadeia com codificação binária.
Para recuperar os valores originais (físicos) das variáveis, é necessário um procedimento
de decodificação. Nessa decodificação, os valores são inteiros e compreendidos na faixa
[0, 2 l -1].
Para as variáveis discretas a decodificação fornece um número inteiro que representa o
índice da variável em uma lista que é o espaço de busca correspondente a essa variável
(isto é, um conjunto de números não contínuos). Por exemplo, seja a variável x1 = 10 da
Figura 3.8, sua decodificação indicará o índice ID = 1 x 21 + 0 x 20 = 2, que apontará para
a segunda variável do espaço de busca dessa variável.
Já para as variáveis contínuas tem-se a decodificação na seguinte forma:
12
.−−
+=l
LUL
ixxIDxx (3.21)
Então imaginemos que temos uma precisão ε = 0,01; limites xU = 50,0 e xL = 20,0; e
tamanho = 12. Se xl 1 = 101000100001 então seu ID é:
35
ID = 1 x 211 + 0 x 210 + 1 x 29 + 0 x 28 + 0 x 27 + 0 x 26 + 1 x 25 + 0 x 24 + 0 x 23 + 0 x 22 +
+ 0 x 21 + 1 x 20 = 2593
E sua variável no intervalo [20, 50] é (utilizando a equação 3.21):
x1 = 20,0 + 2593.12
0,200,5012 −− = 38,99
3.7.2 – A configuração
A configuração correta dos parâmetros que influenciam os algoritmos genéticos é um dos
aspectos mais relevantes dentro da estratégia de configuração. A literatura sobre este tema
não é direcionada, uma vez que tais configurações irão depender entre outras coisas da
aplicação a ser resolvida, entretanto, é intuitivo perceber que este passo é de grande
importância no desempenho do mecanismo de busca. A eficiência e funcionamento de um
AG são altamente dependentes dos seus parâmetros de controle, cujos tipos básicos são
descritos nas subseções seguintes.
3.7.2.1 – Tamanho da população
O tamanho da população (npop) indica o número de cromossomos que há em cada
população. Com uma população pequena, o desempenho do AG pode cair, pois a mesma
representaria uma pequena parte do espaço de busca do problema. Já com grandes
populações, apresentará uma maior diversidade de soluções, contudo, será dispendioso
computacionalmente efetuar muitas avaliações da função de aptidão. Portanto, as
principais influências deste parâmetro estão relacionadas com o desempenho global e com
a eficiência.
Em Khan (2002) sugere-se o tamanho da população de duas formas. A primeira, que é uma
investigação teórica feita por Goldberg, mostra que a população ótima cresce
exponencialmente com o tamanho do problema, ou seja:
(3.22) l.21,02.65,1=popn
Aplicando-se esta fórmula tem-se, por exemplo, para = 10, 20, 30 e 40 bits obtém-se
= 7, 30, 130 e 557 respectivamente, notando que para grandes precisões, isto é, para
muito grande teremos uma população que será dispendiosa computacionalmente. A
l
popn
l
36
segunda, que é uma observação prática de vários pesquisadores, mostra que para a grande
maioria dos problemas, a população deve estar entre l e , ou seja: l.2
ll .2≤≤ popn (3.23)
Sendo assim, aplicando-se a equação 3.23 para o mesmo exemplo anterior teremos
entre 10, 20, 30 e 40 e = 20, 40, 60 e 80 respectivamente.
popn
popn
Não existem critérios para definição do tamanho da população ainda bem definidos,
portanto a escolha vai depender de cada problema e da experiência adquirida ao longo do
processo (Lemonge, 1999).
3.7.2.2 – Taxa ou probabilidade de cruzamento
Este parâmetro indica a probabilidade de um indivíduo ser recombinado com outro.
Quanto maior for esta taxa ( ), mais rapidamente novos indivíduos serão introduzidos na
população, em contrapartida, se for muito alta, indivíduos com boas aptidões poderão ser
retirados mais rapidamente da população, ocorrendo perda de indivíduos de alta aptidão.
Valores baixos podem tornar lenta a convergência do algoritmo.
cp
Usualmente, a taxa de cruzamento varia entre 0,50 e 0,95. Estes números indicam apenas
uma ordem de grandeza, já que existem vários tipos possíveis de cruzamentos, limitados
apenas pela capacidade criativa do pesquisador.
3.7.2.3 – Taxa ou probabilidade de mutação
A taxa de mutação indica a probabilidade de que o conteúdo de uma determinada posição
do cromossomo seja alterado. A mutação é empregada para fornecer novas informações
dentro das populações, prevenindo que as mesmas tornem-se saturadas com cromossomos
similares na medida em que aumenta a diversidade da populacional, possibilitando ainda
uma maior varredura do espaço de busca. Taxas muito altas podem tornar a busca
essencialmente aleatória. Por isso alguns pesquisadores recomendam a escolha da taxa de
mutação com base no tamanho dos cromossomos e das populações. De Jong (1975) sugere
que a taxa de mutação deva ser inversamente proporcional ao tamanho da população, ou
seja:
37
pop
m np 1
= (3.24)
Barbosa e Lemonge (1997) sugerem que a taxa deva ser inversamente proporcional ao
tamanho do cromossomo, isto é:
l
1=mp (3.25)
Hesser e Manner (2000) sugerem que uma taxa ótima de mutação pode ser achada pela
expressão:
lpop
m np 1
= (3.26)
Porém, assim como os demais parâmetros, a taxa de mutação ideal dependerá da aplicação
a ser resolvida. Todavia, a maioria das taxas utilizadas varia entre 0,001 e 0,1.
3.7.2.4 – Recomendações
De Jong (1975) sugere que para um desempenho satisfatório a uma vasta gama de
problemas em que haja aspectos complicantes como descontinuidades, alta dimensão e
ruído a seguinte configuração de parâmetros:
Tabela 3.2 – Valores aconselhados por De Jong (1975).
Tamanho da população ( ) popn
Probabilidade de cruzamento ( ) cp
Probabilidade de mutação ( ) mp
50 -100 0,60 0,001
Grefenstette (1986) em simulações similares concluiu que para um melhor desempenho,
quando a média da função objetivo de cada geração é usada como o índice a ser otimizado,
devam ser usados:
Tabela 3.3 – Valores aconselhados por Grefenstette (1986) – Opção 1.
Tamanho da população ( ) popn
Probabilidade de cruzamento ( ) cp
Probabilidade de mutação ( ) mp
30 0,95 0,01
38
Já onde o índice a otimizar é a função objetivo do melhor cromossomo na população,
normalmente o indicador mais usado para rotinas de otimização, ele recomenda os
seguintes valores:
Tabela 3.4 – Valores aconselhados por Grefenstette (1986) – Opção 2.
Tamanho da população ( ) popn
Probabilidade de cruzamento ( ) cp
Probabilidade de mutação ( ) mp
80 0,45 0,01
3.7.3 – A inicialização
O processo se inicia com a codificação do campo de trabalho, ou seja, a escolha do tipo de
representação a ser utilizada para o universo das soluções. Uma vez definida a codificação
e o estabelecimento de uma população inicial, que é a representação de possíveis soluções
do problema a ser avaliado, deflagrar-se o processo de atuação do algoritmo. Os indivíduos
que constituem a população inicial são escolhidos, geralmente, de forma aleatória
utilizando-se funções randômicas, e assumindo tipicamente formas de cadeias binárias.
3.7.4 – Classificação dos cromossomos
A avaliação é a fase mais importante onde se encontra a ligação entre o algoritmo e o
problema. Avaliar um cromossomo em um AG significa determinar o seu nível de aptidão
de sobrevivência em relação aos demais indivíduos da população (Ochi e Rocha, 2000).
Nessa etapa é realizado o primeiro passo da seleção, onde cada indivíduo é associado a um
valor numérico, que representa seu grau de adaptação, obtido através de sua avaliação pela
função de desempenho (aptidão). Para tanto, existe a função aptidão que é responsável por
classificar os indivíduos de acordo com o grau de adaptação e é específica para cada tipo
de problema. Essa classificação pode ser feita através da ordenação das soluções em ordem
crescente ou decrescente de suas aptidões, se o problema é de minimização ou
maximização, respectivamente.
Genericamente, a função aptidão para um problema de otimização pode ser definida como
na equação 2.2 vista anteriormente e mostrada abaixo:
)()()( xpenalxfxF +=
39
Se o problema não apresenta restrições em sua formulação, a função de penalização não é
considerada e a função aptidão é a própria função objetivo (FO). A penalização está
diretamente associada às restrições e somente será ativada quando alguma delas for
violada.
No presente trabalho utilizará para as estruturas reticuladas (Gere e Weaver, 1981) a FO
apresentada abaixo:
(3.27) ( ) ( ) ∑=
===n
iiii LAWAfxf
1ρ
A parcela penal (x), que a função de penalização, será definida no próximo capítulo para
cada tipo de problema.
No entanto, o valor da função objetivo nem sempre é adequado para ser utilizado como
parâmetro para a aptidão. Se a função objetivo assumir valores negativos alguns métodos
de seleção podem não funcionar, valores muito próximos tornam a seleção aleatória e
ainda, valores muito elevados em relação ao resto da população causam a convergência
prematura. Para isso ordena-se ou escalona-se a FO para o valor da aptidão, sendo
necessário controlar a pressão de seleção.
A pressão de seleção é a relação entre a maior aptidão e a aptidão média na população. Se
para alguns indivíduos a FO tiver valores muito elevados em relação ao restante da
população a pressão de seleção será grande e pode causar a convergência prematura e no
caso de valores muito próximos da FO a pressão de seleção será muito baixa tornando a
busca quase aleatória e, portanto sem controle, como na FO sem ordenação ou
escalonamento.
Nas subseções seguintes são mostrados algumas das possíveis formas de ordenar ou
escalonar a função objetivo para gerar a aptidão.
3.7.4.1 – Ordenamento linear
Este método de ordenamento é o mais comum encontrado na literatura dos AG
(Baker, 1987). A função aptidão ou de desempenho é dada por:
1
min)(maxmin−−
−+=N
iNAFi (3.28)
40
O valor de i é o índice do cromossomo na população em ordem decrescente de valor da
função objetivo e N é o número de indivíduos da população. É utilizado 1 ≤ max ≤ 2 e
min + max = 2 ou min + max = 3.
A alta pressão de seleção favorece os melhores cromossomos, direcionando a busca às
melhores soluções encontradas até então, isto é, aperfeiçoando certa região do espaço de
busca (explotação). Já a baixa pressão de seleção favorece os piores cromossomos,
direcionando a busca para regiões desconhecidas no espaço de busca (exploração).
Figura 3.9 – Pressão de Seleção (modificado – Lacerda e Carvalho, 1999).
3.7.4.2 – Ordenamento exponencial
No método de ordenamento exponencial, a aptidão é dada por (Michalewicz, 1996):
( ) 11 −−= ii qqAF (3.29)
Em que q ∈ [0,1] e i é o índice do cromossomo na população em ordem decrescente do
valor da função objetivo. Caso seja necessário, a aptidão pode ser normalizada dividindo a
equação 3.24 pelo fator 1-(1-q)N.
Este tipo de ordenamento permite a maior pressão de seleção do que o ordenamento linear.
3.7.4.3 – Escalonamento linear
Neste método, proposto por Goldberg (1989), a aptidão é obtida por:
41
bagAFi += (3.30)
Em que g é o valor da função objetivo, como exemplificado na Figura 3.9. Os coeficientes
a e b são determinados de forma a limitar o número esperado de filhos dos cromossomos.
Este método transforma as aptidões de forma que a aptidão média torna-se igual ao valor
médio da função objetivo (isto é, gAFi = ), e a aptidão máxima igual a C vezes a aptidão
média (ou seja, gCAFi =max ). Normalmente o valor de C está entre 1,2 e 2,0. Os
coeficientes a e b são calculados diferentemente quando o escalonamento gera aptidões
negativas.
Figura 3.10 – Esboço do escalonamento linear (modificado - Goldberg, 1989).
3.7.5 – Avaliação dos cromossomos
Nesta fase os indivíduos mais aptos da geração atual são selecionados. Esses indivíduos
são utilizados para gerar uma nova população por cruzamento e cada indivíduo tem uma
probabilidade de ser selecionado proporcional à sua aptidão, como pode ser exemplificado
por alguns métodos a seguir.
3.7.5.1 – Roleta
Para visualizar o método da roleta, considere um círculo dividido em n regiões (tamanho
da população), onde a área de cada região é proporcional à aptidão do indivíduo como na
Figura 3.11. Coloca-se sobre este círculo uma “roleta” com n cursores, igualmente
espaçada. Após um giro da roleta a posição dos cursores indica os indivíduos selecionados.
Este método é denominado amostragem universal estocástica. Evidentemente, os
42
indivíduos cujas regiões possuem maior área terão maior probabilidade de serem
selecionadas várias vezes. Como conseqüência, a seleção de indivíduos pode conter várias
cópias de um mesmo indivíduo enquanto outros podem desaparecer.
Figura 3.11 – Amostragem estocástica universal.
Como exposto, nesse método, cada indivíduo é representado na roleta proporcionalmente
ao seu índice de aptidão, privilegiando, logicamente, os indivíduos com alta aptidão, que
terão uma porção relativamente alta em relação aos indivíduos de aptidão baixa.
Dada uma população com M indivíduos, a probabilidade de seleção Pi (equação 3.26), de
cada cromossomo i, com aptidão fi, é dada por (Lacerda e Carvalho, 1999):
(3.31) ∑i
f=
= M
ii
ifp
1
A cada giro na roleta será sorteada uma cópia exata do candidato a compor a população
intermediária que irá passar pelos demais operadores de cruzamento e mutação
(Torres, 2003).
É possível que no processo de evolução um indivíduo com alta aptidão seja eliminado,
devido ao corte do cruzamento ou à ocorrência de mutação. É importante garantir que o
melhor indivíduo passe de uma geração a outra sem alterações. Para tanto se utiliza o
recurso do operador elitismo. A Figura 3.12 representa este procedimento, que pode ser
aplicado a qualquer método de seleção.
43
Descendência
Transformação
População Intermediária
(m)
Elitismo
Método da
roleta
População
Substituição
Figura 3.12 – Método da roleta com elitismo (modificado – Sampaio, 2004).
3.7.5.2 – Torneio
O método da seleção por torneio, retorna o melhor indivíduo entre dois obtidos no método
da roleta. Este método tenta dificultar, mas não elimina as possibilidades de um indivíduo
com baixo desempenho ser escolhido.
3.7.5.3 – Amostragem Determinística
Na amostragem determinística (Deterministic sampling - DS), o processo de seleção possui
dois estágios. O primeiro é a criação de uma população temporária, a qual é preenchida
com o número inteiro do cálculo da expectativa de cópias de cada membro i da população.
Dado pela seguinte expressão:
ipopi PnE .= (3.32)
A parte inteira , designada por iE ( )iEint , será o número esperado de cópias e o
resíduo:
iR
( )ii EI int= (3.33)
iii IER −= (3.34)
Devido às partes fracionárias desta expectativa, haverá lacunas a preencher. No segundo
estágio, essas lacunas são preenchidas de acordo com os indivíduos que possuírem a parte
fracionária de valor de desempenho mais alto.
44
3.7.5.4 – Seleção Estocástica Remanescente
Similarmente ao DS, a seleção estocástica remanescente (Stochastic remainder sampling -
SRS), também cria uma população temporária com a parte inteira da expectativa de cópias.
As lacunas restantes são preenchidas, verificando-se a ocorrência de um evento com a
probabilidade da parte fracionária. Soares (1997) sugere que a escolha dos indivíduos
(parte fracionária, neste caso) seja na ordem crescente de desempenho, oferecendo assim,
uma oportunidade aos indivíduos de menores valores de desempenho.
3.7.6 – Operadores de cruzamento e mutação
Os operadores genéticos de cruzamento e mutação representam a essência de um AG e têm
como objetivo básico produzir novos cromossomos que possuam propriedades genéticas
superiores às encontradas nos pais, garantindo que a nova geração seja totalmente nova,
apesar de possuir, de alguma forma, características de seus pais, mas mantém
características de adaptação adquiridas pelas gerações anteriores.
3.7.6.1 – Operador de cruzamento
Após a seleção, pares de indivíduos são escolhidos aleatoriamente ( ) para se cruzarem.
Nessa operação, dois novos indivíduos são gerados, os quais possuem características
genéticas de seus pais (Lucas, 2000).
cp
O cruzamento é um importante mecanismo de recombinação de soluções, uma vez que
permite a troca de material genético entre os indivíduos participantes, originando dois
novos pontos no espaço de otimização. Para tanto, divide um par de indivíduos em locais
pré-definidos e recombina seus materiais genéticos formando novos indivíduos, que
novamente são avaliados e recebem um novo valor de aptidão individual. As Figuras 3.13
e 3.14 apresentam os esquemas de cruzamentos clássicos, o cruzamento de um ponto e de
dois pontos. Os demais são a generalização do cruzamento de um ponto.
45
0 0 1 1 0 1 0 1
0 1 0 1
1 0 1 1 1 0 0 1
1 0 1 1 1 0 0 1 0 0 1 1
Pai 1 Pai 2
0 0 1 1 1 0 0 1
1 0 1 1 0 1 0 1
Filho 1
Filho 2
Figura 3.13 – Cruzamento de um ponto (Sampaio, 2004).
Figura 3.14 – Cruzamento de 2 pontos.
Um outro esquema clássico de cruzamento é o uniforme. Para cada par de pais é gerada
uma máscara de bits aleatórios. Se o primeiro bit da máscara possuir o valor 1, então o
primeiro bit do Pai1 é copiado para o primeiro bit do Filho1 e o primeiro bit do Pai2 é
copiado para o Filho2. Caso contrário, o primeiro bit do Pai2 é copiado para o primeiro bit
do Filho1 e o primeiro bit do Pai1 é copiado para o primeiro bit do Filho2, como pode ser
visto na Figura 3.15.
46
Figura 3.15 – Cruzamento uniforme.
3.7.6.2 – Operador de mutação
A mutação é realizada em seguida operando sobre os indivíduos resultantes do processo de
cruzamento e, com uma probabilidade pré-determinada ( ), efetua um tipo de alteração
em sua estrutura, a qual consiste na alteração randômica no valor do bit do cromossomo. A
Figura 3.16 ilustra os procedimentos básicos adotados pelos operadores de mutação.
mp
0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1
Filho 1 Filho 2
0 1 1 0 1 0 1 1 1 0 1 1 0 1 0 1
Figura 3.16 – Operador de mutação (Sampaio, 2004).
3.7.7 – Atualização e critérios de parada
3.7.7.1 – Atualização
Nesse ponto, os indivíduos resultantes do processo de cruzamento e mutação são inseridos
na população segundo a política adotada pelo AG. A população mantém um tamanho fixo
e os indivíduos são criados em mesmo número que seus antecessores e os substituem por
completo (Lucas, 2000).
47
3.7.7.2 – Critérios de parada
A finalização é feita por um teste que dá fim ao processo de evolução caso o AG tenha
chegado a algum ponto de parada preestabelecida. Deve-se salientar que não existe um
critério exato para terminar a execução do AG.
3.8 – OUTRAS ESTRATÉGIAS EMPREGÁVEIS
3.8.1 – Controle da diversidade populacional
A diversidade populacional está relacionada com a variabilidade genética dos
cromossomos da população: quanto maior a diversidade, isto é, quanto maior a diferença
entre os cromossomos, maior o espalhamento das possíveis soluções no espaço de busca.
Normalmente o espalhamento é máximo no inicio do processo, quando a população inicial
é gerada aleatoriamente.
Podem-se criar vários métodos para medir a diferença entre dois indivíduos da população.
O código binário possui um problema de representação que é a presença dos Hamming
cliffs, ou seja, grandes diferenças de bits nas cadeias de caracteres que codificam valores
inteiros adjacentes. Com o intuito de resolver esse problema, um outro tipo de código
binário, denominado de código de Gray (criado por Frank Gray em 1953), foi aplicado
com a finalidade de diferenciar um bit para cada dois números inteiros em seqüência.
Portanto, o código de Gray possui mais adjacência (propriedade de semelhança na cadeia
codificada para representação de inteiros em seqüência) na codificação que o código
binário, como por exemplo, na tabela 3.5. Esta adjacência associada a uma pequena taxa de
mutação ajudará na convergência final do AG, enquanto que no código binário uma
pequena taxa favorece a exploração de novas regiões.
No código binário é importante enfatizar que devido à presença dos Hamming cliffs, os
operadores genéticos, como cruzamento e mutação, poderão ter dificuldade em vencer uma
grande distância Hamming ( ) se o ponto de máximo ou mínimo global estiver distante
(por Hamming) destes cromossomos e toda a população for idêntica ou muito parecida,
gerando um tempo de convergência muito grande. Para isso Schaffer (1989) realizou um
extenso trabalho para quantificar e identificar a influência dos parâmetros de controle
(como na subseção 3.7.2.4), usando o código de Gray e a estratégia elitista, podendo ser
resumido na Tabela 3.6.
dH
48
Tabela 3.5 – Código binário, Código de Gray e a distância Hamming.
Inteiro Binário dH Gray dH
0 0000 - 0000 - 1 0001 1 0001 1 2 0010 2 0011 1 3 0011 1 0010 1 4 0100 3 0110 1 5 0101 1 0111 1 6 0110 2 0101 1 7 0111 1 0100 1 8 1000 4 1100 1 9 1001 1 1101 1 10 1010 2 1111 1 11 1011 1 1110 1 12 1100 3 1010 1 13 1101 1 1011 1 14 1110 2 1001 1 15 1111 1 1000 1
Tabela 3.6 – Valores aconselhados por Schaffer (1989).
Tamanho da população ( ) popn
Probabilidade de cruzamento ( ) cp
Probabilidade de mutação ( ) mp
20-30 0,75-0,95 0,005-0,01
3.8.2 – Hibridização
A hibridização é uma alternativa para melhorar o funcionamento dos Algoritmos
Genéticos, visando acoplar algoritmos distintos com o intuito de tirar o melhor proveito de
cada um deles. Assim, é possível acoplar-se aos Algoritmos Genéticos outros métodos
matemáticos que efetuem uma busca local mais agressiva. Esta alternativa híbrida
resultante possui a capacidade de exploração global da região viável aliada à eficiência nas
buscas locais.
49
Os trabalhos que fizeram uso deste tipo de técnica híbrida buscaram algoritmos
determinísticos que apresentam bons resultados em termos de precisão, eficiência e
robustez, como o de Adeli e Cheng (1994) que utilizaram os multiplicadores de Lagrange
para o refinamento a partir de certas regiões, o de Mendes et al. (1996) que utilizaram o
método do Elipsóide, o de Kim (1997) que os princípios de Subida de Encosta (Hill-
Climbing) para encontrar a melhor relação entre busca local e busca global e o de Soares
(1997) que utilizou o método BFGS. Porém com o inconveniente de haver a necessidade
de cálculo de derivadas. Uma possibilidade de não calcular derivadas é utilizar o método
de Rosenbrock ou o Gradientelike-Bitwise Improvement proposta por Goldberg, que são
tomadas como base os dois melhores indivíduos da atual iteração, depois disto varre-se bit
a bit cada uma, mudando o valor do bit e avaliando o desempenho do indivíduo, no final,
escolhe-se a melhor solução para repô-la na população. O problema desta última técnica é
computacionalmente dispendiosa.
3.8.3 – Computação Paralela
A existência de um ambiente computacional paralelo pode ser aproveitada para tirar
vantagem do alto grau de paralelismo, este implícito, em um algoritmo genético. Existem
diversas formas para se empregar computação paralela. A etapa de seleção necessita de
certa centralização, devendo os valores de aptidão de todos os indivíduos da população
estarem disponíveis simultaneamente em algum processador para a seleção natural dos
indivíduos. Em seguida, os operadores genéticos escolhidos são aplicados sobre os
indivíduos desejados para a evolução do processo (Silva, 2000). Posteriormente, no que diz
respeito à estrutura espacial da população utilizada, pode-se ter a separação dos elementos
da população inicial com a criação de subpopulações, sendo estas residentes nos n
processadores disponíveis, submetidas cada uma a um AG independente, sujeitas a trocas
de material genético entre os grupos em determinados intervalos ou, caso não ocorra
nenhuma comunicação entre os n processadores, aconteceria como se o problema fosse
seqüencial, isto é, a população envolvida com a participação de todos os indivíduos
durante todo o processo evolutivo.
Segundo Borges (1999) os modelos a serem adotados podem ser baseados nas teorias de
Wright e Fisher, vindas da Biologia. O primeiro modelo, o de Wright, a evolução se dá
principalmente através do intercâmbio entre subpopulações, que produz um efeito benéfico
nas gerações subseqüentes, ou seja, se um nicho alcançar determinado resultado,
50
proveniente de sua diversidade genética, limitada pela pequena dimensão populacional.
Melhores indivíduos só virão com o intercâmbio com outros subgrupos possuidores de
diferentes padrões genéticos. Já no segundo, o de Fisher, a separação espacial não é
necessária. Em um ambiente onde a aptidão comporta-se de uma forma tridimensional com
diferentes regiões de alta aptidão espalhados pelo espaço e sofrendo variações decorrentes
das mudanças ambientais, a evolução se faz pela seleção dos alelos, ou grupo de alelos,
que produzam melhores efeitos na população, tornando, assim, o processo mais eficiente,
com toda a população servindo como um banco de dados genético, para as possíveis
combinações que conduzirão a indivíduos mais aptos.
Como a maior parte dos assuntos relacionados aos AG, a implementação computacional
distribuída ainda se encontra em evolução, pela infinidade de alternativas possíveis,
restritas apenas pela própria imaginação.
3.9 – CONSIDERAÇÕES GERAIS SOBRE O MÉTODO DOS ELEMENTOS
FINITOS
O Método dos Elementos Finitos (MEF) foi originalmente desenvolvido para analisar
configurações estruturais bem definidas. Sua popularidade cresceu de uma forma
fenomenal devido à versatilidade e praticidade do método, resolvendo vários tipos de
problemas.
O MEF pode ser interpretado do ponto de vista físico e matemático. O conceito básico do
método na parte física consiste em dividir a estrutura em vários elementos, denominados
de elementos finitos. A resposta de cada elemento é determinada em termos de um número
finito de graus de liberdade caracterizados como um valor de uma função, em um conjunto
de pontos. A resposta do modelo matemático é obtida reunindo todos os elementos
(Felippa, 2000).
Alguns dos princípios que foram utilizados neste trabalho são mostrados nas subseções
seguintes e seguiram os programas implementados de Brebbia e Ferrante (1986).
51
3.9.1 – Análise Estática
3.9.1.1 – Elemento finito unidimensional reto para treliça
A treliça plana foi modelada através do Método dos Elementos Finitos, utilizando as
funções de forma apropriadas (Zienkiewicz, 1977; Desai, 1979). Conhecendo-se a matriz
de rigidez da estrutura e suas condições de contorno, podem-se obter os deslocamentos
genéricos através do sistema:
KU = P (3.35)
Na Figura 3.17 representam-se os deslocamentos de um elemento de treliça plana
considerando coordenadas locais e globais, cuja origem é no nó 1 na extremidade
esquerda.
Figura 3.17 – Elemento de treliça plana.
No sistema local o elemento tem deslocamentos apenas axiais (uL1 e uL2). Já no sistema
global tem dois graus de liberdade por nó, sendo duas translações (u1 e v1 ou u2 e v2) de tal
forma que o vetor de deslocamentos é:
⎥⎦
⎤⎢⎣
⎡=
2
1
L
LL u
uu (3.36)
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
2
2
1
1
vuvu
u (3.37)
Para o sistema local e global, tem-se respectivamente.
52
A equação geral dos trabalhos virtuais para o MEF na forma fraca para problemas estáticos
(elasticidade 2D) é dada por (Segerlind, 1976):
( ) ( ) ( )∫∫∫ Ω++Γ+=Ω++ dububdvPuPd yxyxyyyyxyxyxxxx δδδδδεσδγσδεσ ( (3.38)
Têm-se apenas efeitos axiais de tal forma que σxx ≠ 0 e as forças de corpo como nulas
temos:
( ) uPdxxxx δδεσ∫ =Ω (3.39)
A aproximação de elementos finitos é uma equação do tipo:
∑= niiUNU (3.40)
Onde U é uma função desconhecida, necessária para calcular os termos da equação 3.38,
Ni são funções conhecidas, chamadas de funções de forma, e Uin são valores nodais das
incógnitas.
Para o elemento de treliça plana as funções de forma para a equação 3.40 são:
LxN −= 11 (3.41)
LxN =2 (3.42)
De tal forma que:
2211 LL uNuNU += (3.43)
Podem-se estabelecer os coeficientes de rigidez para elementos reticulados usando o lado
esquerdo da equação 3.38, devendo-se substituir a aproximação de elementos finitos e
integrar termo a termo.
A matriz de rigidez do elemento treliça plana considerando o sistema local, é denominada
KLET.
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−
−=
LEA
LEA
LEA
LEA
K ETL (3.44)
53
3.9.1.2 – Elemento finito unidimensional reto para viga
Na Figura 3.18 representam-se os deslocamentos de um elemento de viga plana
considerando coordenadas locais e globais, cuja origem é no nó 1 na extremidade
esquerda.
Figura 3.18 – Elemento de viga plana.
Os deslocamentos locais para este elemento são:
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
2
2
1
1
θ
θ
L
L
L v
v
u (3.45)
As funções de forma para a equação 3.40 são:
⎟⎟⎠
⎞⎜⎜⎝
⎛+−= 132
2
2
3
3
1 Lx
LxN (3.46)
⎟⎟⎠
⎞⎜⎜⎝
⎛+−= x
Lx
LxN
2
2
3
22
(3.47)
⎟⎟⎠
⎞⎜⎜⎝
⎛−= 3
3
2
2
323Lx
LxN (3.48)
⎟⎟⎠
⎞⎜⎜⎝
⎛−=
Lx
LxN
2
2
3
4 (3.49)
De tal forma que:
24231211 θθ NvNNvNU LL ++++= (3.50)
54
A matriz de rigidez do elemento treliça plana considerando o sistema local, é denominada
KLEV e obtida de maneira análoga à subseção anterior.
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−
−−−
−
−
=
LEI
LEI
LEI
LEI
LEI
LEI
LEI
LEI
LEI
LEI
LEI
LEI
LEI
LEI
LEI
LEI
K EVL
4626
612612
2646
612612
22
2323
22
2323
(3.51)
3.9.1.3 – Elemento finito unidimensional reto para pórtico
Na Figura 3.19 representam-se os deslocamentos de um elemento de pórtico plano em
coordenadas locais cuja origem é no nó 1 na extremidade esquerda.
Figura 3.19 – Elemento de pórtico plano.
O elemento tem três graus de liberdade por nó, sendo duas translações e uma rotação. O
vetor deslocamento do elemento correspondente é:
(3.52)
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
2
2
2
1
1
1
θ
θ
L
L
L
L
L
vu
vu
u
A matriz de rigidez do elemento de pórtico plano em coordenadas locais, denominada
KLEP, é obtida somando em nível de coordenadas locais, a matriz de rigidez de um
55
elemento de treliça (equação 3.44) com a matriz de rigidez de um elemento de viga
(equação 3.51), também em coordenadas locais.
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−
−−−
−
−
−
−
=
LEI
LEI
LEI
LEI
LEI
LEI
LEI
LEI
LEA
LEA
LEI
LEI
LEI
LEI
LEI
LEI
LEI
LEI
LEA
LEA
K EPL
460260
61206120
0000
260460
61206120
0000
22
2323
22
2323
(3.53)
Após gerar a matriz de rigidez do elemento finito (treliça, viga ou pórtico) em relação ao
seu sistema de coordenadas (locais) é necessário referi-la a um sistema global de
coordenadas e para isso usa-se a matriz de rotação ( R ). Para o elemento pórtico plano, por
exemplo, tem-se:
(3.54) RKRK EPL
TEPG =
(3.55)
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−
−
=
1000000cos0000cos0000001000000cos0000cos
ββββ
ββββ
sensen
sensen
R
Onde β é a inclinação do elemento em relação ao eixo x mostradas na Figura 3.19.
Maiores informações sobre rotação do sistema de coordenadas pode ser obtidas em
Zienkiewicz (1977).
3.9.2 – Análise Dinâmica
Na análise linear de estruturas é importante a distinção das cargas estáticas de cargas
dinâmicas para a avaliação da resposta de cada carga separadamente e só então, fazer a
superposição de efeitos para obter a resposta total da estrutura. Carga dinâmica é qualquer
carga cuja magnitude, direção ou posição varie no tempo (Clough e Penzien, 1993;
Chopra, 1995). O principal objetivo de uma análise dinâmica é encontrar os deslocamentos
56
em função do tempo. A expressão matemática que define o deslocamento dinâmico é
denominada de equação de movimento. A equação de movimento para um sistema linear
sujeita a forças externas é uma equação diferencial de segunda ordem, dada por:
( )tPKuuCuM =++ &&& (3.56)
Onde M, C e K são as matrizes de massa, de amortecimento e de rigidez da estrutura,
respectivamente; , e u são os vetores de aceleração, velocidade e deslocamento,
respectivamente, em um determinado instante de tempo .
u&& u&
t
3.9.2.1 – Vibrações livres
O estudo de vibrações livres tem como objetivo a determinação das propriedades
dinâmicas mais importantes de uma estrutura: as freqüências naturais de vibração e seus
respectivos modos normais. A determinação das freqüências e modos normais de uma
estrutura são feitos omitindo-se o amortecimento, que normalmente existe em uma
estrutura considerando isto a ser relativamente pequeno e praticamente não afetando o
cálculo das freqüências naturais e dos modos normais (Paz, 1980). A análise de vibrações
livres para sistemas lineares com vários graus de liberdade é governada pela equação 3.56
com = 0 que com a ausência de amortecimento é dada por: ( )tP
0=+ KuuM && (3.57)
A equação 3.57 representa um conjunto de equações diferenciais homogêneas que estão
acopladas através das matrizes de massa e rigidez. A solução desta equação é um problema
matemático conhecido como problema de autovalores e autovetores, e dado por:
(3.58) 0][ 2 =− iMK φϖ
A solução fornece os valores das freqüências naturais de vibração ωi correspondentes aos
modos naturais de vibração φi (i = 1, 2, 3,..., n). Sendo as matrizes de massa e rigidez
conhecidas, o problema resume-se em determinar o escalar e o vetor φ2iϖ i. A equação
3.58 possui sempre a solução trivial φi = 0, ou seja, não existe movimento no sistema.
Fazendo-se uso da equação 3.58, têm-se soluções não-triviais.
(3.59) 0]det[ 2 =− MK ϖ
57
Esta equação possui raízes reais e positivas para , pois as matrizes de massa e rigidez
são simétricas e positivas definidas.
2iϖ
As raízes da equação 3.58 determinam as freqüências naturais de vibração. Estas raízes da
equação característica são conhecidas como autovalores. Encontrando-se as freqüências
naturais ωi, a equação 3.57 pode ser resolvida. A solução desta equação não estabelece a
amplitude dos vetores φi, apenas sua forma. Para todo autovalor existe um vetor
independente φi chamado de modo natural de vibração ou autovetor.
Tanto as freqüências naturais quanto os modos de vibração são propriedades da estrutura e
dependem apenas das propriedades de massa e rigidez (Craig, 1981). O subscrito indica
o número do modo e o primeiro modo (i = 1) é também chamado de modo fundamental.
i
Em geral, os métodos numéricos são empregados para o cálculo dos autovalores e
autovetores, no presente trabalho utilizou-se o método de Jacobi generalizado.
3.9.2.2 – Matriz de massa consistente
Segundo Weaver e Johnston (1987) a matriz de massa de um determinado elemento é
definida por:
∫ Ω= dNNM T )(ρ (3.60)
Considerando um elemento de treliça com seção uniforme A e substituindo as respectivas
funções de forma (equações 3.41 e 3.42) na equação 3.60, tem-se:
dxLx
Lx
Lx
Lx
AML
ETL ⎥⎦
⎤⎢⎣⎡ −
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡ −= ∫ 1.
1
0
ρ (3.61)
Resolvendo a equação 3.61 termo a termo, a matriz de massa consistente para o elemento
de treliça em coordenadas locais é dada por:
⎥⎦
⎤⎢⎣
⎡=
2112
6LAM ET
Lρ (3.62)
Procedendo da mesma maneira para o elemento de viga, empregando as funções de forma
dadas nas equações 3.46 a 3.49, tem-se:
58
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−−−−−
=
22
22
422313221561354313422135422156
420LLLL
LLLLLLLL
LAM EVL
ρ (3.63)
A matriz de massa consistente para o elemento de pórtico é obtida pelo somatório das
contribuições das matrizes de massa dos elementos de treliça e de viga, conforme a
equação 3.64.
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−
−−
=
22
22
4220313022156013540
001400070313042013540221560007000140
420
LLLLLL
LLLLLL
LAM EPL
ρ (3.64)
Da mesma forma que na análise estática, é necessário referir a matriz de massa a um
sistema de coordenadas globais e analogamente ao visto anteriormente:
(3.65) RMRM EPL
TEPG =
3.10 – ACOPLAMENTO DOS ALGORITMOS GENÉTICOS COM ELEMENTOS
FINITOS PARA ESTRUTURAS RETICULADAS
Para fazer as conexões entre o AG e o programa de elementos finitos, pode-se fazer uma
escolha entre as seguintes opções:
• Fazer com que o programa de elementos finitos seja uma sub-rotina do AG. No
momento de calcular a função aptidão os parâmetros serão enviados para esta sub-
rotina que gerará, de acordo com esses parâmetros, os dados da estrutura a ser
avaliada.
• Fazer uma chamada externa, dentro do AG, do programa de elementos finitos e
neste caso os códigos são independentes demandando escrever e ler arquivos. O
custo computacional pode ficar maior, mas podendo ser usado pacotes comerciais.
No presente trabalho optou-se pela primeira opção, representando a sua estrutura como a
seguir.
59
Operador de Seleção
Operador de Cruzamento
Operador de Mutação
População i+1
Fim
Sim
Parar?
MEF
População i
Início
Figura 3.20 – Funcionamento de um Algoritmo Genético com Elementos Finitos.
60
4 – ANÁLISE NUMÉRICA
4.1 – INTRODUÇÃO
Neste capítulo será feita a análise numérica de alguns exemplos clássicos de otimização de
estruturas reticuladas em engenharia estrutural. As implementações foram realizadas em
linguagem de programação FORTRAN, com o compilador FORTRAN POWER
STATION 4.0 da Microsoft. O algoritmo genético usado é do tipo geracional combinado
com a estratégia elitista. Foram usados os operadores genéticos clássicos: seleção,
cruzamento e mutação. As funções e os parâmetros utilizados são mencionados nos
respectivos problemas. A estrutura de funcionamento está representada no fluxograma da
Figura 4.1 e segue a usada por Torres et al. (2003).
Figura 4.1 – Estrutura de funcionamento do programa de Algoritmo Genético.
As sub-rotinas apresentadas no fluxograma têm as seguintes funções:
61
INPUT: lê de um arquivo em formato ASCII os dados relativos ao problema a maximizar
ou a minimizar, tais como número gerador aleatório (seed), tamanho da população, número
de bits por cromossomo, tipo de cruzamento, probabilidades, etc;
POPIN: gera uma população de acordo com a seed, e o número de bits;
RAN2: gerador de números aleatórios, a partir de uma semente (seed);
BASE10: converte os números binários em inteiros;
FOBJ: mapeia os valores no intervalo de busca e substitui na função objetivo;
ORDENA: ordena a população em ordem crescente de aptidão;
APT: calcula a aptidão e a aptidão acumulada;
SELEC: seleciona com uma probabilidade os pares de indivíduos para serem avaliados
pelos operadores genéticos;
EXECRS: operador de cruzamento;
MUTAC: operador de mutação;
CONV: verifica a população em relação a alguns critérios de parada;
MUTAC: operador de mutação;
OUTPUT: gera o arquivo de saída com os resultados da função maximizada ou
minimizada com a respectiva geração.
4.2 – TESTANDO O ALGORITMO GENÉTICO
Não há algoritmo de otimização que resolva satisfatoriamente qualquer problema, devido a
grande variedade dos mesmos. Então foram escolhidas duas funções teste de forma a tentar
agrupar algumas características comuns a uma série de outras funções. As características
são de continuidade, ser multimodal e ter apenas uma solução global.
62
4.2.1 – Função Seno
Esta primeira função, conhecida como pulso de seno, mostrada na Figura 4.2, embora
aparentemente simples, não é de fácil solução. Existem vários pontos de máximo e de
mínimos, mas muitos não representam o maior ou o menor valor que esta função pode
atingir. O método do gradiente, por exemplo, não é capaz de localizar o ponto de máximo
ou de mínimo global desta função (Lacerda e Carvalho, 1999).
f(x) = x.sen(10.π.x) + 1
-1,00-0,500,000,501,001,502,002,503,00
-1,00 -0,50 0,00 0,50 1,00 1,50 2,00
X
Y
Figura 4.2 – Pulso de seno.
4.2.1.1 – Maximizando
Sendo este problema considerado de otimização sem restrições, utilizaremos a própria
função como a função objetivo, portanto:
1)..10(.)()( +== πxsenxxfxF (4.1)
O espaço de busca a ser considerado é formado por variáveis contínuas que tem os limites
no intervalo de busca com xi ∈ [-1;2] e serão distribuídos uniformemente com uma
precisão de ε = 0,000001.
O primeiro passo é definir o tamanho da cadeia de bits, isto é, o tamanho do cromossomo,
utilizando a equação 3.19 teremos:
63
22
223000000log000001,0
)1(2log
minmaxlog
22
2
2
2
≥
≥⇔≥
−−≥
−≥
l
l
l
l
nb
ε
O segundo é definir o tamanho da população ( ) e as probabilidades dos operadores
( e ). A escolha deve ser feita de modo a ter a configuração de parâmetros que
associem a exploração e explotação, portanto um processo empírico. Para este problema
foram utilizados as equações 3.23 para o cálculo do tamanho da população:
popn
cp mp
30
4422
.2
=
≤≤
≤≤
pop
pop
pop
n
n
n ll
e a equação 3.26 para o cálculo da probabilidade de mutação. Estas equações serviram
como ponto inicial para as avaliações e podem ser utilizadas outras.
007,02230
1
1
==
=
m
popm
p
np
l
O restante dos parâmetros foram baseados no artigo de Lacerda e Carvalho (1999), sendo
então mostrados na Tabela 4.1:
Tabela 4.1 – Parâmetros para a função seno.
Parâmetros População ( ) popn 30
Probabilidade de cruzamento ( ) cp 0,80
Probabilidade de mutação ( ) mp 0,007Operador de cruzamento 1 (um) pontoCritério de parada Convergência dos cromossomospopn
64
A melhor solução, segundo Lacerda e Carvalho (1999) ocorre no ponto cujo valor de x é
igual a 1,85055 e portanto a função assume o valor 2,85027. Após a montagem do arquivo
de entrada em formato ASCII e executado o programa tem-se os seguintes resultados:
Convergência de todos os cromossomos em 9 gerações ao resultado conhecido.
A evolução do processo de localização do ponto máximo global ao longo das gerações e a
evolução da função objetivo são mostradas nas Figuras 4.3 a 4.6.
-1,00
0,00
1,00
2,00
3,00
-1,00 -0,50 0,00 0,50 1,00 1,50 2,00
X
Y
GERAÇÃO 0
Figura 4.3 – Distribuição da população inicial (Maximização).
-1,00
0,00
1,00
2,00
3,00
-1,00 -0,50 0,00 0,50 1,00 1,50 2,00
X
Y
GERAÇÃO 1 GERAÇÃO 4 GERAÇÃO 6
Figura 4.4 – Distribuição da população nas gerações 1, 4 e 6 (Maximização).
65
-1,00
0,00
1,00
2,00
3,00
-1,00 -0,50 0,00 0,50 1,00 1,50 2,00
X
Y
GERAÇÃO 8 GERAÇÃO 10
Figura 4.5 – Distribuição da população nas gerações 8 e 10 (Maximização).
2.50000
2.90000
0 1 2 3 4 5 6 7 8 9
GERAÇÃO
f(x)
POP = 30 - PC = 0,80 e PM = 0,007
Figura 4.6 – Evolução da maximização da função seno.
4.2.1.2 – Minimizando
Para este caso continuaremos utilizando a própria função como a função objetivo (equação
4.1), e os mesmos parâmetros da subseção anterior, como visto na Tabela 4.1. A melhor
solução ocorreu no ponto cujo valor de x é igual a 1,95050 e a função assumiu o valor
-0,95026. Após a montagem do arquivo de entrada em formato ASCII e executado o
programa tem-se os seguintes resultados: Convergência de todos os cromossomos em 10
gerações ao resultado conhecido.
A evolução do processo de otimização ao longo das gerações e a evolução da otimização
da função são mostradas nas Figuras 4.7 a 4.10.
66
-1,00
0,00
1,00
2,00
3,00
-1,00 -0,50 0,00 0,50 1,00 1,50 2,00
X
Y
GERAÇÃO 0
Figura 4.7 – Distribuição da população na geração inicial (Minimização).
-1,00
0,00
1,00
2,00
3,00
-1,00 -0,50 0,00 0,50 1,00 1,50 2,00
X
Y
GERAÇÃO 1 GERAÇÃO 4 GERAÇÃO 6
Figura 4.8 – Distribuição da população nas gerações 1, 4 e 6 (Minimização).
-1,00
0,00
1,00
2,00
3,00
-1,00 -0,50 0,00 0,50 1,00 1,50 2,00
X
Y
GERAÇÃO 8 GERAÇÃO 10
Figura 4.9 – Distribuição da população nas gerações 8 e 10 (Minimização).
67
-1,00000
-0,50000
0 1 2 3 4 5 6 7 8 9 10
GERAÇÃO
f (x)
POP = 30 - PC = 0,80 e PM = 0,007
Figura 4.10 – Evolução da minimização da função seno.
4.2.2– Função de Rosenbrock
Nesta segunda função, conhecida como função de Rosenbrock ou função teste F2 de
DeJong (1975), mostrada na Figura 4.11 é freqüentemente utilizada na literatura para testes
e comparações de algoritmos de otimização.
Figura 4.11 – Função de Rosenbrock.
Neste problema deseja-se encontrar o mínimo para esta função (equação 4.2), com o
intervalo de busca -2,048 ≤ xi ≤ 2,048 em duas dimensões.
68
( ) ( )21
2
22
121 1.100),( xxxxxf −+−= (4.2)
Tem como características ser unimodal e sua solução é 0)1,1( =f . Utilizaremos a própria
função como a função objetivo, portanto:
( ) ( )21
2
22
12121 1.100),(),( xxxxxfxxF −+−== (4.3)
Para definir o tamanho da cadeia de bits, primeiramente define-se a precisão, e neste caso
adotaremos ε = 0,0001. Usando a equação 3.19, teremos:
16
2240960log0001,0
)048,2(048,2log
minmaxlog
16
2
2
2
≥
≥⇔≥
−−≥
−≥
l
l
l
l
nb
ε
Este é um problema em duas dimensões, e o tamanho da cadeia de bits acima foi definida
para uma variável, portanto, como a outra tem os mesmos intervalos de busca, teremos um
cromossomos de comprimento = 32. tl
Os demais parâmetros: o tamanho da população ( ) e as probabilidades dos operadores
( e ) foram escolhidos de forma análoga aos exemplos anteriores. Para este problema
foram utilizado a equação 3.23 para o cálculo do tamanho da população:
popn
cp mp
60
6432
.2
=
≤≤
≤≤
pop
pop
tpopt
n
n
n ll
E equação 3.26 para o cálculo da probabilidade de mutação:
003,03260
1
1
==
=
m
tpopm
p
np
l
69
Tabela 4.2 – Parâmetros para a função de Rosenbrock (Primeira parametrização)
Parâmetros População ( ) popn 60Probabilidade de cruzamento ( ) cp 0,80
Probabilidade de mutação ( ) mp 0,003Tipo de Avaliação Ordenamento linearCritério de parada Convergência dos cromossomos popn
Com essa parametrização, houve convergência prematura, mas não obstante da solução e
com apenas 6 gerações o mínimo encontrado foi (1,0019; 0,9689) = 0,1219. Através de
exaustivas tentativas, variando os três parâmetros acima citados, conclui-se que para esta
função a melhor alternativa está no aumento da população, pois ampliará a distribuição da
população no espaço de busca. E com apenas 9 gerações o mínimo encontrado foi
(1,0000; 0,9999) = 0,000001.
f
f
Tabela 4.3 – Parâmetros para a função de Rosenbrock (Parametrização final)
Parâmetros População ( ) popn 100
Probabilidade de cruzamento ( ) cp 0,80
Probabilidade de mutação ( ) mp 0,001Operador de cruzamento 1 (um) pontoCritério de parada Convergência dos cromossomos popn
0.00
0.05
0.10
0.15
0 1 2 3 4 5 6 7 8 9
GERAÇÃO
f (x,
y)
POP = 100 - PC = 0,80 e PM = 0,001
Figura 4.12 – Evolução da minimização da função de Rosenbrock.
70
4.2.3 – Conclusões
O uso do operador de cruzamento com um ponto, se mostrou satisfatório para problemas
com poucas dimensões. Os dois problemas anteriormente executados serviram como base
para validar o programa do AG, que será acoplado ao programa de MEF para estruturas
reticuladas, e padronizar a metodologia para a parametrização dos problemas que serão
analisados, onde demonstrou eficiência no encontro das soluções disponíveis na literatura.
4.3 – ANÁLISE ESTÁTICA
Para a avaliação das estruturas reticuladas o MEF é apenas acoplado ao AG (ver Figura
3.9). A estrutura básica do programa para o MEF segue a usada por Brebbia e Ferrante
(1986), sendo apresentada na Figura 4.13.
Figura 4.13 – Estrutura de funcionamento do programa de MEF estático linear.
A seguir descrevem-se as sub-rotinas utilizadas no programa para o caso estático.
71
INPUT: lê de um arquivo em formato ASCII os dados relativos à estrutura, tais como
número de nós, número de elementos, graus de liberdade por nó, número de nós por
elemento, carregamentos, condições de contorno, propriedades e tipo dos elementos;
ASSEM: responsável pela montagem da matriz de rigidez global e vetor global de cargas;
STIFF: gera a matriz de rigidez para cada elemento de pórtico/treliça;
ELASS: aloca na matriz global a matriz de rigidez de cada elemento que compõe a
estrutura em forma de banda simétrica;
BOUND: introduz na matriz de rigidez global e no vetor de cargas da estrutura as
condições de contorno;
SLBSI: resolve o sistema de equações PKU = , utilizando o método da eliminação de
GAUSS em matriz banda simétrica;
FORCE: calcula os esforços para o elemento de pórtico/treliça;
OUTPUT: gera o arquivo de saída com os resultados dos deslocamentos nodais, esforços
nos elementos de pórtico/treliça.
4.4 – TRELIÇA PLANA DE 10 BARRAS
Este problema, a treliça de 10 barras, é um exemplo clássico de otimização de peso.
Figura 4.14 – Treliça de 10 barras. 72
Sendo colocado da seguinte forma: encontre o conjunto de áreas Ai = A1, A2, ..., An que
minimize o peso da estrutura (equação 3.27):
( ) ( ) ∑=
===n
iiii LAWAfxf
1ρ
Sujeito às restrições de tensões e deslocamentos (Equações 4.4 e 4.5, respectivamente)
para todos os graus de liberdade da estrutura.
01≤−máx
i
σσ
(4.4)
01≤−máx
i
dd
(4.5)
Este problema será separado em duas partes: otimização à tensão (Full Stressed Design) e
otimização à tensão e ao deslocamento combinados. A Tabela 4.4 mostra as propriedades
do material e os limites admissíveis para as tensões e os deslocamentos. Para todos os
problemas que serão apresentados a seguir, utilizou-se uma função aptidão incorporada a
uma função de penalização (equação 2.2), transformando o problema com restrições em
um problema sem restrições.
Tabela 4.4 – Propriedades do material e restrições (Treliça de 10 barras).
Propriedades Valores Módulo de Young (E) 104 Ksi
Densidade (ρ) 0,10 lbm/in³ Carga (P) 100,0 Kips
Tensão admissível (σmáx) ± 25,0 Ksi Deslocamento nodal admissível (dmáx) ± 2,0 in
A parcela penal (x) será definida para cada um dos três problemas mencionados, ficando:
(4.6) ( ) ( ) )()(1
xpenalLAxpenalxfxFn
iii +=+= ∑
=
ρ
73
4.4.1 – Caso contínuo
Para o caso contínuo, o espaço de busca tem o limite inferior e superior iguais a xU =
40,0 in² e xL = 0,1 in² respectivamente e ε = 0,1. Os parâmetros , e foram
escolhidos de forma análoga aos exemplos anteriores e quando necessário e serão
ajustados quando a convergência estiver muito lenta.
popn cp mp
popn mp
A definição do tamanho da cadeia de bits foi estipulado usando a equação 3.19.
109
399log2
=≥
≥
l
l
l
Como temos 10 variáveis de projeto, teremos um cromossomo de comprimento = 100. tl
Após teste com 10 sementes (seeds), a Tabela 4.5 representa a parametrização final para os
dois problemas.
Tabela 4.5 – Parâmetros para a treliça de 10 barras (Variáveis contínuas).
Parâmetros População ( ) popn 100
Probabilidade de cruzamento ( ) cp 0,80
Probabilidade de mutação ( ) mp 0,01Operador de cruzamento 2 (dois) pontosCritério de parada Menor peso encontrado em 30000 gerações
4.3.1.1– Otimização à tensão
A função objetivo é dado pela seguinte expressão:
∑∑ ⎥⎦
⎤⎢⎣
⎡−+=
= i
in
iiii LAAF 1)(
max1 σσ
αρ (4.7)
O α = 550 foi estipulado após algumas tentativas de ajustes. A melhor solução
(sombreado) foi obtida na geração de número 7299 e são comparados com os resultados de
Schmit Jr. e Farshi (1973) e mostrados nas Tabelas 4.6 e 4.7.
74
Tabela 4.6 – Resultados comparativos (Peso e seções transversais para as tensões).
Áreas (in ²) W (lb) 1 2 3 4 5 6 7 8 9 10 1593,20 8,06 3,94 7,94 0,10 5,57 0,10 5,75 5,57 0,10 0,10 1594,50 8,07 3,94 7,94 0,10 5,57 0,10 5,75 5,58 0,10 0,10
Tabela 4.7 – Resultados comparativos (Tensões nas seções transversais).
Tensões (Ksi) 1 2 3 4 5 6 7 8 9 10
-25,00 -25,00 25,00 15,53 -25,00 -21,97 25,00 25,00 0,00 15,53 -24,98 -24,99 24,99 15,52 -24,99 -21,95 24,98 24,95 -0,05 15,52
1550.00
2550.00
3550.00
4550.00
0 10000 20000 30000
GERAÇÃO
PESO
PR
ÓPR
IO (L
b)
POP = 100 - PC = 0,80 e PM = 0,01
Figura 4.15 – Minimização do peso da treliça de 10 barras (Tensão).
4.3.1.2 – Otimização à tensão e ao deslocamento combinados
Neste problema a função objetivo será dado por:
∑∑∑ ⎥⎦
⎤⎢⎣
⎡−+⎥
⎦
⎤⎢⎣
⎡−+=
= i
i
i
in
iiii d
dLAAF 11)(
maxmax1α
σσ
αρ (4.8)
A parametrização segue a Tabela 4.5. A melhor solução (sombreado) foi obtida na geração
de número 24170 e os resultados são comparados com os trabalhos citados na Tabela 4.8.
75
Também são mostrados, além das seções transversais, os deslocamentos nodais verticais
nos nós 5 e 6 e a tensão na barra 9 nas Tabelas 4.8 e 4.9, conforme Figura 4.14.
Tabela 4.8 – Resultados comparativos (Tensões e deslocamentos).
Referências W (lb)
dy5 (in)
dy6 (in)
σ9 (Ksi)
Lemonge (1999) 5060,92 -1,99 -1,99 24,99 Haftka e Gürdal (1992) 5061,04 -1,99 -1,99 24,99 Presente Dissertação 5062,91 -1,99 -1,99 24,77 Lemonge e Barbosa (2004) 5069,08 -2,00 -1,99 24,75 Schmit Jr. e Farshi (1973) 5089,02 -1,99 -1,99 21,38 Adeli e Kamal (1991) 5052,62 -2,02 -2,01 23,07 Ali et al (2003) 4984,98 -2,04 -2,02 25,97 Galante (1992) 4999,21 -2,03 -2,02 25,09
Tabela 4.9 – Resultados comparativos (Peso e seções transversais para as tensões).
Áreas (in ²) W (lb) 1 2 3 4 5 6 7 8 9 10 5060,92 23,16 15,11 30,56 0,10 21,09 0,10 7,47 21,52 0,10 0,54 5061,04 23,20 15,22 30,52 0,10 21,04 0,10 7,46 21,53 0,10 0,55 5062,91 22,64 15,35 30,64 0,10 21,28 0,10 7,59 21,43 0,10 0,53 5069,08 24,18 14,94 29,22 0,10 21,92 0,10 7,49 21,29 0,10 0,39 5089,02 24,26 14,26 33,43 0,10 20,74 0,10 8,33 19,69 0,10 0,10 5052,62 24,65 15,39 31,28 0,10 21,53 0,10 7,90 19,07 0,10 0,10 4984,98 22,48 14,94 30,75 0,14 21,10 0,13 7,26 20,74 0,12 0,42 4999,21 21,79 14,26 30,44 0,10 21,63 0,10 7,62 21,36 0,10 0,45
76
5050.00
6150.00
7250.00
0 10000 20000 30000
GERAÇÃO
PESO
PR
ÓPR
IO (L
b)
POP = 100 - PC = 0,80 e PM = 0,01
Figura 4.16 – Minimização do peso da treliça de 10 barras (Tensão e deslocamento).
4.4.2 – Caso discreto
Nesta segunda análise para o problema com tensão e deslocamento combinados, o espaço
de busca para as áreas Ai é discreto. São 42 seções transversais escolhidas e disponíveis do
AISC - American Institute of Steel Construction que estão dispostas na Tabela 4.10.
Tabela 4.10 – Conjunto de seções transversais disponíveis do AISC.
Seções Comerciais (in²) 1,62 1,80 1,99 2,13 2,38 2,62 2,63 2,88 2,93 3,09 3,13 3,38 3,47 3,553,63 3,84 3,87 3,88 4,18 4,22 4,49 4,59 4,80 4,97 5,12 5,74 7,22 7,9711,5 13,5 13,9 14,2 15,5 16,0 16,9 18,8 19,9 22,0 22,9 26,5 30,0 33,5
Para análise com espaço de busca discreto, codificamos o cromossomo com o uso da
equação 3.18. As 42 seções transversais serão armazenas em um vetor e com o
mapeamento das soluções relacionamos as variáveis de projeto com esse vetor. Então
teremos:
6422
2
≥=
=
l
l
l nv
A única solução possível é ≥ 6, sendo l 64=nv que é maior que 42, porém como artifício,
as 22 primeiras variáveis serão alocadas no vetor duas vezes, ou seja, as seções de 1,62 a
77
4,59 serão dispostas na seguinte forma por exemplo, S = 1,62; 1,62; 1,80; 1,80, e etc. A
partir daí temos então um cromossomo de comprimento = 60. Os outros parâmetros
partem do princípio visto anteriormente, e no decorrer do processo eles são ajustados
empiricamente de maneira a melhorar a convergência. Como pode ser visto na Tabela 4.11,
a parametrização final para este problema é:
tl
Tabela 4.11 – Parâmetros para a treliça de 10 barras (Variáveis discretas).
Parâmetros População ( ) popn 80Probabilidade de cruzamento ( ) cp 0,80
Probabilidade de mutação ( ) mp 0,02Operador de cruzamento 2 (dois) pontosCritério de parada Menor peso encontrado em 20000 gerações
A melhor solução (sombreado) foi obtida na geração de número 10357 e os resultados são
comparados com os trabalhos citados na Tabela 4.12. Nas Tabelas 4.12 e 4.14, além das
seções transversais são mostrados os deslocamentos nodais verticais nos nós 5 e 6 e a
tensão na barra 9, conforme Figura 4.14.
Tabela 4.12 – Resultados comparativos (Tensões e deslocamentos).
Referências W (lb)
dy5 (in)
dy6 (in)
σ9 (Ksi)
Lemonge (1999) 5490,73 -1,96 -1,99 14,20 Lemonge e Barbosa (2004) 5490,73 -1,96 -1,99 14,20 Presente Dissertação 5491,71 -1,96 -1,99 13,85 Galante (1996) 5458,33 -1,97 -2,01 14,35 Rajeev e Krishnamoorthy (1992) 5613,58 -1,88 -2,00 6,65
Tabela 4.13 – Resultados comparativos (Peso e seções transversais).
Áreas (in ²) W (lb) 1 2 3 4 5 6 7 8 9 10 5490,73 22,9 14,2 33,5 1,62 22,9 1,62 7,97 22,0 1,62 1,62 5490,73 22,9 14,2 33,5 1,62 22,9 1,62 7,97 22,0 1,62 1,62 5491,71 22,9 15,5 33,5 1,62 22,0 1,62 7,97 22,0 1,62 1,62 5458,33 22,0 14,2 33,5 1,62 22,9 1,62 7,97 22,0 1,62 1,62 5613,58 22,0 15,5 33,5 1,62 19,9 2,62 14,20 19,9 1,62 1,62
78
5450.00
6450.00
7450.00
0 10000 20000
GERAÇÃO
PE
SO P
RÓ
PRI
O (L
b)
POP = 80 - PC = 0,80 e PM = 0,02
Figura 4.17 – Minimização do peso da treliça de 10 barras (Tensão e deslocamento).
4.4.3– Conclusões
Para este primeiro problema, uma foi obtida pela equação 3.25, que proporcionou uma
convergência com um número menor de gerações. Tanto no caso contínuo, quanto no caso
discreto, o algoritmo convergiu ou ficou muito próximo das soluções encontradas na
literatura, se mostrando bastante preciso, visto que em alguns casos nota-se que as
restrições foram violadas por precisão decimal.
mp
4.5 – TRELIÇA PLANA DE 38 BARRAS
Neste segundo problema, a treliça de 38 barras, pretende-se minimizar o peso total da
estrutura impondo-se a restrição de que o deslocamento na direção vertical do nó da
extremidade livre não seja superior a 10 mm. As seções transversais das barras são as
variáveis de projeto, e tem a característica de possuir algumas das 38 seções transversais
agrupadas conforme a Tabela 4.14.
79
Tabela 4.14 – Seções transversais agrupadas (Treliça de 38 barras).
Seções transversais (Ai)
A2 = A20 = A29
A21 = A30
A22 = A31
A23 = A32
A24 = A33
A25 = A34
A26 = A35
A27 = A36
A28 = A37
Totalizando, portanto, 28 variáveis de projeto. A tabela 4.15 mostra as propriedades dos
materiais e restrições.
Tabela 4.15 – Propriedades do material e restrições (Treliça de 38 barras).
Propriedades Valores Módulo de Young (E) 210,0 KN/mm²
Densidade (ρ) 7,85 x 10-6 kg/mm³Carga (P) 100,0 KNCarga (P1) 10,0 KNDeslocamento admissível na extremidade livre (dmáx) 10 mm
Figura 4.18 – Treliça de 38 barras (modificado – Templeman, 1988)
4.5.1 – Caso contínuo
Nesta primeira análise o espaço de busca, contínuo, é limitado no intervalo [7,0; 90,0]
(mm² x 10-3). Com ε = 0,01. Os parâmetros , e foram escolhidos de forma popn cp mp
80
análoga aos exemplos anteriores. Usando a equação 3.19 para a definição do tamanho da
cadeia de bits, teremos:
1414
8300log2
=≥
≥
l
l
l
Como temos 28 variáveis de projeto, teremos um cromossomo de comprimento = 392. tl
Após teste com 30 sementes (seeds), a Tabela 4.16 representa a parametrização final para o
caso contínuo.
Tabela 4.16 – Parâmetros para a treliça de 38 barras (Variáveis contínuas).
Parâmetros População ( ) popn 400Probabilidade de cruzamento ( ) cp 0,80
Probabilidade de mutação ( ) mp 0,002Operador de cruzamento 2 (dois) pontosCritério de parada Menor peso encontrado em 100000 gerações
Na geração de número 31952 a melhor solução (sombreado) foi obtida e os resultados não
alcançaram aos encontrados por Lemonge (1999) e Templeman (1988) respectivamente na
Tabela 4.17 e 4.18.
8150.00
8500.00
0 25000 50000 75000 100000
GERAÇÃO
PESO
PR
ÓPR
IO (K
g)
POP = 400 - PC = 0,80 e PM = 0,002
Figura 4.19 – Minimização do peso da treliça de 38 barras (Caso contínuo).
81
Tabela 4.17 – Resultados comparativos ( Peso e deslocamento)
Referências W (kg)
dy1 (mm² x 10³)
Lemonge (1999) 8165,70 -9,99 Templeman (1988) 8166,67 -9,99 Presente Dissertação 8173,94 -9,99
Tabela 4.18 – Resultados comparativos (Seções transversais).
Seções transversais (Ai)
Áreas (mm² x 10³)
Áreas (mm² x 10³)
Áreas (mm² x 10³)
A1 9,95 10,22 11,30 A2 = A20 = A29 7,04 7,00 7,02
A3 10,44 10,53 10,82 A4 7,38 7,38 7,63 A5 10,90 10,70 11,34 A6 7,71 7,45 7,50 A7 11,35 11,33 12,25 A8 8,02 7,95 8,28 A9 11,78 11,82 11,22 A10 8,33 8,22 8,99 A11 12,19 12,17 12,12 A12 8,62 8,69 9,05 A13 12,59 12,60 12,94 A14 8,90 8,94 9,05 A15 12,98 12,95 12,16 A16 9,18 9,27 9,45 A17 13,35 13,45 13,53 A18 9,44 9,42 8,54 A19 13,72 13,78 13,48
A21 = A30 14,42 14,35 13,83 A22 = A31 22,15 22,32 21,23 A23 = A32 30,19 30,30 30,27 A24 = A33 38,55 38,78 37,45 A25 = A34 47,21 47,26 48,51 A26 = A35 56,17 56,29 55,50 A27 = A36 65,42 65,06 66,15 A28 = A37 74,95 74,72 74,50
A38 84,75 84,74 85,49
82
4.5.2 – Caso discreto
Na segunda análise, o espaço de busca, discreto, é formado pelo seguinte conjunto S =
5,0; 10,0; 20,0; 40,0; 75,0 (mm² x 10-3). O cromossomo foi codificado com o uso da
equação 3.18. As 5 seções transversais serão armazenas em um vetor e com o mapeamento
das soluções relacionamos as variáveis de projeto com esse vetor. Então teremos:
352
2
≥=
=
l
l
l nv
A única solução possível é ≥ 3, sendo l 8=nv que é maior que 5, porém como artifício, a
primeira variável será alocado no vetor duas vezes, co ma subseção 4.4.2. Temos então um
cromossomo de comprimento = 84. Os outros parâmetros partem do princípio já visto
anteriormente, e como pode ser visto na Tabela 4.19, a parametrização final para este
problema, após 20 seeds é:
tl
Tabela 4.19 – Parâmetros para a treliça de 38 barras (Variáveis discretas).
Parâmetros População ( ) popn 200Probabilidade de cruzamento ( ) cp 0,80
Probabilidade de mutação ( ) mp 0,01Operador de cruzamento 2 (dois) pontosCritério de parada Menor peso encontrado em 100000 gerações
A melhor solução (sombreado) foi obtida na geração de número 25559 e os resultados são
os mesmos encontrados por Lemonge (1999) e Templeman (1988), vistos na Tabela 4.20 e
Tabela 4.21.
Tabela 4.20 – Resultados comparativos ( Peso e deslocamento)
Referências W (kg)
dy1 (mm² x 10³)
Lemonge (1999) 8489,16 -9,95 Templeman (1988) 8489,16 -9,95 Presente Dissertação 8489,16 -9,95
83
Tabela 4.21 – Resultados comparativos (Seções transversais).
Seções transversais (Ai)
Áreas (mm² x 10³)
A1 10,0
A2 = A20 = A29 5,00 A3 10,0 A4 10,0 A5 10,0 A6 10,0 A7 10,0 A8 10,0 A9 10,0 A10 10,0 A11 10,0 A12 10,0 A13 10,0 A14 10,0 A15 10,0 A16 10,0 A17 10,0 A18 10,0 A19 10,0
A21 = A30 20,0 A22 = A31 20,0 A23 = A32 40,0 A24 = A33 40,0 A25 = A34 40,0 A26 = A35 75,0 A27 = A36 75,0 A28 = A37 75,0
A38 75,0
Observou-se que aproximadamente em torno de 25000 avaliações o processo de
otimização estava apenas refinando a solução, pois neste ponto a otimização se encontrava
em 8567,66 kg e apenas a variável A6 apresentava uma área diferente da esperada.
84
8400,00
9200,00
0 25000 50000 75000 100000
GERAÇÃO
PESO
PR
ÓPR
IO (K
g)
POP = 400 - PC = 0,80 e PM = 0,01
Figura 4.20 – Minimização do peso da treliça de 38 barras (Caso discreto).
4.5.3 – Conclusões
Por se tratar de um problema com um grau maior de dificuldade, onde temos mais
variáveis de projeto, a parametrização se tornou menos sensível e a convergência bem mais
demorada. No caso contínuo, não se chegou a melhor solução encontrada na literatura, mas
como pôde ser visto na Figura 4.19, em torno de 2500 gerações já se encontrava próximo à
região da solução. Já no caso discreto chegou-se à solução encontrada na literatura.
4.6 – PÓRTICO PLANO DE 3 BARRAS
Neste problema, da Figura 4.21, assim como os anteriores também é uma otimização de
peso.
Figura 4.21 – Pórtico de 3 barras.
85
Só há análise de variáveis contínuas e apenas alguns nós são restritos a deslocamentos.
Está dividido em três casos que serão descritos na Tabela 4.22 a seguir:
Tabela 4.22 – Características das três casos do pórtico de 3 barras
Caso Características
I Nós 2 e 3 restritos a um deslocamento de ± 0,10 in.
Todas as barras restritas às tensões de ± 24,0 Ksi.
II Nós 2 e 3 restritos a um deslocamento de ± 0,70 in.
Todas as barras restritas às tensões de ± 24,0 Ksi.
III Nós 2 e 3 restritos a um deslocamento de ± 0,20 in.
A Tabela 4.23 mostra as propriedades do material e os limites admissíveis para as tensões e
os deslocamentos que serão utilizados.
Tabela 4.23 – Propriedades do material e restrições (Pórtico de 3 barras).
Propriedades Valores Intervalo de dimensionamento 0,1 in² - 150,0 in² Módulo de Young (E) 3 x 104 Ksi Densidade (ρ) 0,283 lb/in³
Tensão Limite (σmáx) ± 24,0 Ksi Deslocamento Limite (dmáx) ± 0,20 in e ± 0,07 in Momento de Inércia (I) 75*Ai in4
A definição do tamanho da cadeia de bits, usando a equação 3.19, com ε = 0,01 é:
14
14990log2
≥
≥
l
l
Para 3 variáveis de projeto, teremos um cromossomo de comprimento = 42. tl
4.6.1 – Caso I
Para este caso será usada a função objetivo conforme equação 4.8. O α = 6000 foi
estipulado após algumas tentativas de ajuste e na Tabela 4.24 a parametrização.
86
Tabela 4.24 – Parâmetros para o pórtico de 3 barras (Caso I).
Parâmetros População ( ) popn 50Probabilidade de cruzamento ( ) cp 0,80
Probabilidade de mutação ( ) mp 0,02Operador de cruzamento 2 (dois) pontosCritério de parada Menor peso encontrado em 5000 gerações
A melhor solução foi obtida na geração de número 1296 e os resultados estão na Tabela
4.28.
4290.00
4590.00
0 2500 5000
GERAÇÃO
PESO
PRÓ
PRIO
(Lb)
POP = 50 - PC = 0,80 e PM = 0,02
Figura 4.22 – Minimização do peso do pórtico de 3 barras (Caso I).
4.6.2 – Caso II
Neste caso também usa a equação 4.8 e α = 6000 e na Tabela 4.25 a parametrização.
Tabela 4.25 – Parâmetros para o pórtico de 3 barras (Caso II).
Parâmetros População ( ) popn 50
Probabilidade de cruzamento ( ) cp 0,80Probabilidade de mutação ( ) mp 0,02Operador de cruzamento 2 (dois) pontosCritério de parada Menor peso encontrado em 5000 gerações
87
A melhor solução foi obtida na geração de número 642 e os resultados estão na Tabela
4.28.
6100.00
6400.00
6700.00
0 1250 2500
GERAÇÃO
PESO
PRÓ
PRIO
(Lb)
POP = 50 - PC = 0,80 e PM = 0,01
Figura 4.23 – Minimização do peso do pórtico de 3 barras (Caso II).
4.6.3 – Caso III
Para este caso, onde somente os deslocamentos são restrições, temos a seguinte função
objetivo, com α = 6000:
∑∑ ⎥⎦
⎤⎢⎣
⎡−+=
= i
in
iiii d
dLAAF 1)(
max1αρ (4.9)
A Tabela 4.26 mostra as propriedades do material e os limites admissíveis para as tensões e
os deslocamentos que serão utilizados. Na Tabela 4.27 a parametrização.
Tabela 4.26 – Propriedades do material e restrições.
Propriedades Valores Intervalo de dimensionamento 0,1 in² - 150,0 in² Módulo de Young (E) 3 x 104 Ksi Densidade (ρ) 0,283 lb/in³
Tensão Limite (σmáx) ± 24,0 Ksi Deslocamento Limite (dmáx) ± 0,20 in e ± 0,07 in Momento de Inércia (I) 75*Ai
88
Tabela 4.27 – Parâmetros para o pórtico de 3 barras (Caso III).
Parâmetros População ( ) popn 50Probabilidade de cruzamento ( ) cp 0,80
Probabilidade de mutação ( ) mp 0,01Operador de cruzamento 2 (dois) pontosCritério de parada Menor peso encontrado em 5000 gerações
A melhor solução foi obtida na geração de número 1064 e os resultados estão na Tabela
4.28.
2100.00
2450.00
2800.00
0 2500 5000
GERAÇÃO
PESO
PRÓ
PRIO
(Lb)
POP = 50 - PC = 0,80 e PM = 0,01
Figura 4.24 – Minimização do peso do pórtico de 3 barras (Caso III).
4.6.4 – Resultados e conclusões
Os resultados (sombreados) são comparados com os trabalhos de Schmit e Miura (1976) e
Khan et al. (1979), respectivamente como mostra a Tabela 4.28.
Podemos notar que a convergência do algoritmo levou a soluções melhores que na
literatura, e mais uma vez nota-se que algumas das restrições foram violadas por precisão
decimal. Observa-se também, que se trata de um problema com um grau maior de
dificuldade, isto é, variáveis de projeto com maior influencia na estrutura, no pórtico,
diferentemente das treliças, o momento de inércia das seções transversais contribuem
significativamente na resolução do problema.
89
Tabela 4.28 – Resultados comparativos (Três casos).
Áreas (in ²) W (lb) dx2 (in)
dy2 (in)
dx3 (in)
dy3 (in)
σ1 (Ksi)
σ2 (Ksi)
σ3 (Ksi) 1 2 3
4393,57 -0,102 -0,036 -0,102 0,062 -10,82 0,11 18,71 19,74 105,38 30,13 4397,25 -0,102 -0,035 -0,102 0,062 -10,78 0,11 18,67 19,81 105,39 30,18
I 4300,46 -0,099 -0,049 -0,099 0,044 -14,94 0,11 13,28 14,15 95,55 42,26 6134,85 -0,069 -0,038 -0,069 0,029 -11,49 0,08 8,70 18,34 134,00 64,44 6145,62 -0,070 -0,039 -0,069 0,026 -11,77 0,08 8,07 17,78 130,07 69,31
II 6134,59 -0,069 -0,037 -0,069 0,029 -11,20 0,07 8,96 18,84 135,36 62,57 2145,98 -0,200 -0,113 -0,199 0,085 -33,99 0,21 25,67 6,22 47,74 21,87 2147,68 -0,199 -0,108 -0,199 0,081 -32,69 0,23 24,31 6,43 46,42 23,04
III 2147,68 -0,199 -0,111 -0,199 0,081 -33,59 0,21 25,07 6,28 47,24 22,37
4.7 – EDIFÍCIO INDUSTRIAL DE 33 BARRAS (PÓRTICO ROTULADO)
Para este pórtico de 33 barras (Figura 4.25), pretende-se minimizar o peso total da estrutura
impondo-se a restrição de deslocamento e de tensões. As seções transversais das barras são
as variáveis de projeto, e têm a característica de todas as 33 seções transversais serem
agrupadas como na Tabela 4.29.
Figura 4.25 – Pórtico de 33 barras.
90
Tabela 4.29 – Grupos e tipos de seções comerciais (Pórtico de 33 barras).
Grupos de seções transversais (Ai) Tipo de Perfil
A1 = A26 W A2 = A25 W A3 = A27 W
A4 = A29 = A31 = A33 W A5 = A28 = A30 = A32 W A6 = A7 = A23 = A24 W A8 = A9 = A10 = A11 WT
A12 = A13 = A14 = A15 WT A16 = A22 L A17 = A21 L A18 = A20 L
A19 L
São três tipos de seções transversais escolhidas e disponíveis do AISC, conforme Tabela
4.30. Temos 64 para a seção W (perfil em forma de I), 16 para a seção WT (perfil em
forma de T) e 32 para a seção L (cantoneira de abas desiguais).
Tabela 4.30 – Conjunto de seções transversais disponíveis do AISC.
Seções Comerciais W (in²) 2,51 2,68 2,96 3,55 3,83 3,84 4,16 4,44 4,45 4,71 4,72 4,74 5,26 5,56 5,57 5,89 6,16 6,48 6,49 6,50 7,08 7,36 7,61 7,65 7,68 7,69 8,24 8,79 8,84 8,85 9,12 9,13 9,71 10,00 10,30 10,31 10,32 10,60 11,20 11,50 11,70 11,71 11,80 11,81 12,60 13,10 13,30 13,31 13,50 14,10 14,11 14,12 14,40 14,60 14,70 14,71 15,60 15,61 15,80 15,81 16,20 16,21 16,30 16,31
Seções Comerciais WT (in²) 1,25 1,34 1,48 1,77 1,78 1,91 1,92 2,08 2,21 2,22 2,23 2,35 2,36 2,50 2,63 2,78
Seções Comerciais L (in²) 0,49 0,72 0,82 0,90 0,92 0,95 1,00 1,07 1,09 1,16 1,19 1,20 1,32 1,37 1,44 1,46 1,48 1,56 1,63 1,73 1,75 1,78 1,93 2,11 2,22 2,25 2,26 2,43 2,51 2,75 2,86 2,99
91
Para esta análise, codificamos o cromossomo com o uso da equação 3.18. As 112 seções
transversais e os seus respectivos momentos de inércia serão armazenas em três vetores e
com o mapeamento das soluções relacionamos as variáveis de projeto com esses vetores.
Então teremos:
6642
2
==
=
l
l
l nv
4162
2
==
=
l
l
l nv
5322
2
==
=
l
l
l nv
Temos seis variáveis de projeto com seções W, duas com seção WT e quatro com seção L.
Portanto temos um cromossomo de comprimento = 64. tl
Tabela 4.31 – Propriedades do material e restrições (Pórtico de 33 barras).
Propriedades Valores Módulo de Young (E) 3 x 104 Ksi
Densidade (ρ) 0,283 lb/in³
Tensão Limite (σmáx) ± 36,0 Ksi Deslocamento Limite (dmáx) ± 1,5 in Carga (P) 100,0 Kips Carga (M) 700,0 Kips.in
Tabela 4.32 – Parâmetros para o pórtico de 33 barras.
Parâmetros População ( ) popn 100
Probabilidade de cruzamento ( ) cp 0,80
Probabilidade de mutação ( ) mp 0,01Operador de cruzamento 2 (dois) pontosCritério de parada Menor peso encontrado em 50000 gerações
A melhor solução foi obtida na geração de número 13689 e os resultados estão na Tabela
4.33 em comparação ao trabalho de Erbatur et al. (1999).
92
Tabela 4.33 – Resultados comparativos (Seções transversais, perfis e peso).
Erbatur (1999) Presente Dissertação Seções transversais
(Ai) Perfil
(AISC)
Áreas
(mm² x 10³)
Perfil
(AISC)
Áreas
(mm² x 10³)
A1 = A26 W16x36 10,60 W8x35 10,30 A2 = A25 W21x57 16,70 W24x55 16,30 A3 = A27 W6x16 4,74 W6x16 4,74
A4 = A29 = A31 = A33 W21x44 13,00 W14x48 14,10 A5 = A28 = A30 = A32 W6x12 3,55 W8x10 2,96 A6 = A7 = A23 = A24 W14x26 7,69 W8x28 8,24 A8 = A9 = A10 = A11 WT3x4,5 1,34 WT3x4,5 1,34
A12 = A13 = A14 = A15 WT3x4,5 1,34 WT3x4,5 1,34 A16 = A22 L3x2x3/16 1,80 L3x2,5x3/8 1,93 A17 = A21 L3x2,5x3/16 1,99 L3x3x3/8 2,11 A18 = A20 L3x2x3/16 1,62 L3x2,5x5/16 1,63
A19 L3x2x3/8 3,47 L6x4x5/16 2,99 Peso Total (lb) 8693,21 8711,15
8600.00
9100.00
9600.00
0 25000 50000
GERAÇÃO
PESO
PR
ÓPR
IO (L
b)
POP = 100 - PC = 0,80 e PM = 0,01
Figura 4.26 – Minimização do peso do pórtico de 33 barras.
4.7.1 – Conclusões
Neste último exemplo, em análise estática, procurou associar a dificuldade com a
versatilidade. Dificuldade, pois no pórtico, as variáveis de projeto são muito mais
interdependentes da solução do que na treliça. E versatilidade, porque é comum
encontrarmos estruturas que tem os mais diversos tipos de associação de elementos, no
93
referido problema, pórtico associado à treliça. Além disso ao associar seções comerciais à
estrutura, pode-se sugerir um pré-dimensionamento.
4.8 – ANÁLISE DINÂMICA
Para a avaliação dinâmica para vibrações livres, tomou-se como base o algoritmo usado
por Brebbia e Ferrante (1986), sendo apresentada na Figura 4.27.
Figura 4.27 – Funcionamento do programa em MEF para vibrações livres.
O acoplamento segue o da Figura 3.9. As sub-rotinas apresentadas no fluxograma têm as
seguintes funções:
INPUT: lê de um arquivo em formato ASCII os dados relativos à estrutura, tais como
número de nós, número de elementos, tipo de carregamento, tempo de análise,
propriedades físicas, etc.;
ASSEM: é responsável pelo controle da montagem da matriz de rigidez e da matriz de
massa de cada elemento e da alocação destas nas matrizes de rigidez e de massa globais da
estrutura;
STIFF: possuem as mesmas características da análise estática;
MASS: gera a matriz de massa para os elementos de pórtico/treliça;
94
ELASS: aloca na matriz global, em forma quadrada simétrica, as matrizes de rigidez e de
massa de cada elemento que compõem a estrutura, introduzindo em seguida as condições
de contorno;
OUTPUT: gera o arquivo com os resultados para frequências, períodos, modos naturais de
vibração, esforços, deslocamentos, velocidades e acelerações da estrutura.
4.9 – PÓRTICO PLANO DE 3 BARRAS
Para o dimensionamento ao mínimo peso deste problema (Figura 4.28), analisar-se-á
apenas variáveis contínuas e restrições sendo as freqüências naturais de vibração. Apenas
os três primeiros modos são considerados. O problema será dividido em dois casos que
serão descritos na Tabela 4.34.
Figura 4.28 – Pórtico de 3 barras
Tabela 4.34 – Características das três casos do pórtico de 3 barras
Caso Características
I Primeira freqüência natural igual 5 Hz.
II Segunda freqüência natural igual a 15 Hz.
III Primeira freqüência natural igual a 5 Hz. Segunda freqüência natural igual a 15 Hz. Terceira freqüência natural menor que 18 Hz.
95
Para este problema, onde somente as freqüências naturais são restrições, temos a seguinte
função objetivo:
∑∑ ⎥⎦
⎤⎢⎣
⎡−+=
= i
in
iiii LAAF 1)(
max1 ϖϖ
αρ (4.10)
A Tabela 4.35 mostra as propriedades do material e os limites admissíveis para as
frequências naturais que serão utilizados.
Tabela 4.35 – Propriedades do material e restrições (Pórtico de 3 barras).
Propriedades Valores Intervalo de dimensionamento 0,1 in² - 150,0 in² Módulo de Young (E) 3 x 104 Ksi
Densidade (ρ) 0,283 lb/in³
Primeira Freqüência Limite (ϖ1máx) 5 Hz
Segunda Freqüência Limite (ϖ2máx) 15 Hz
Terceira Freqüência Limite (ϖ3máx) 18 Hz Momento de Inércia (I) 75*Ai
A definição do tamanho da cadeia de bits, usando a equação 3.19, com ε = 0,01 é:
14
14990log2
≥
≥
l
l
Para 3 variáveis de projeto, teremos um cromossomo de comprimento l = 42.
Tabela 4.36 – Parâmetros para o pórtico de 3 barras.
Parâmetros População ( ) popn 50Probabilidade de cruzamento ( ) cp 0,80
Probabilidade de mutação ( ) mp 0,01Operador de cruzamento 2 (dois) pontosCritério de parada Menor peso encontrado em 5000 gerações
4.9.1 – Caso I
Para este caso, onde a primeira freqüência natural é a restrição, temos a seguinte função
96
objetivo, com α = 1000.
∑∑ ⎥⎦
⎤⎢⎣
⎡−+=
= i
in
iiii LAAF 1)(
max1
1
1 ϖϖ
αρ (4.11)
A melhor solução foi obtida na geração de número 756 e os resultados estão na Tabela
4.37.
1100.00
2650.00
4200.00
0 2500 5000
GERAÇÃO
PESO
PR
ÓPR
IO (L
b
POP =50 - PC = 0,80 e PM = 0,01
Figura 4.29 – Minimização do peso do pórtico de 3 barras (Caso I).
4.9.2 – Caso II
Para este caso, onde a segunda freqüência natural é a restrição, temos a seguinte função
objetivo, com α =1000.
∑∑ ⎥⎦
⎤⎢⎣
⎡−+=
= i
in
iiii LAAF 1)(
max2
2
1 ϖϖ
αρ (4.12)
A melhor solução foi obtida na geração de número 2483 e os resultados estão na Tabela
4.37.
97
650.00
1725.00
2800.00
0 2500 5000
GERAÇÃO
PESO
PR
ÓPR
IO (L
b)
POP = 50 - PM = 0,80 - PC = 0,01
Figura 4.30 – Minimização do peso do pórtico de 3 barras (Caso II).
4.9.3– Caso III
Para este caso, onde as três primeiras freqüências naturais são as restrições, temos a
seguinte função objetivo, com α = 1000.
∑∑∑∑ ⎥⎦
⎤⎢⎣
⎡−+⎥
⎦
⎤⎢⎣
⎡−+⎥
⎦
⎤⎢⎣
⎡−+=
= i
i
i
i
i
in
iiii LAAF 111)(
max3
3
max2
2
max1
1
1 ϖϖ
αϖϖ
αϖϖ
αρ (4.13)
A melhor solução foi obtida na geração de número 1768 e os resultados estão na Tabela
4.37.
1000.00
1800.00
2600.00
0 2500 5000
GERAÇÃO
PESO
PR
ÓPR
IO (L
b)
POP = 50 - PC = 0,80 e PM = 0,01
Figura 4.31 – Minimização do peso do pórtico de 3 barras (Caso III). 98
4.9.4 – Resultados e conclusões
Os resultados (sombreados) são comparados com em relação às freqüências com o
SAP2000N®, como mostra a Tabela 4.37 abaixo:
Tabela 4.37 – Resultados comparativos (Três casos).
Áreas (in ²) W (lb) ϖ1 (Hz)
ϖ2 (Hz)
ϖ3 (Hz) 1 2 3
1161,44 5,21 9,61 13,43 19,24 19,24 3,00 I 1161,44 4,67 8,20 13,12 19,24 19,24 3,00 673,68 8,88 15,20 19,12 10,53 10,53 3,00 II 673,68 8,63 14,45 18,73 10,53 10,53 3,00 1032,80 3,93 13,15 16,57 13,01 12,93 10,92 III 1032,80 3,64 12,99 16,56 13,01 12,93 10,92
Observa-se a que quando levamos em consideração as três primeiras freqüências naturais
associadas à estrutura, a mesma se mostra um pouco mais leve em relação ao caso I. Para a
análise dinâmica com vibrações livres, a implementação se mostrou muito simples e de
fácil parametrização.
99
5 – CONCLUSÕES
5.1 – INTRODUÇÃO
Os problemas tratados nesta dissertação foram de otimização do peso de estruturas
reticuladas. Para atingir a otimização da estrutura foi escrita uma função objetivo e a partir
da minimização desta função, chega-se a uma configuração chamada ótima. Os valores das
tensões axiais, deslocamentos nodais e freqüências naturais de vibração quando
considerados limites, foram considerados como restrições à função objetivo.
O processo de otimização fez uso do Algoritmo Genético (AG), do tipo geracional com
codificação binária e estratégia elitista, associado ao Método dos Elementos Finitos
(MEF). As restrições, inerentes às variáveis de projeto e da composição estrutural, foram
considerados nos problemas por meio de uma função objetivo modificada pela adição de
um termo de penalização. Desta forma, os problemas com restrições foram tratados como
problemas sem restrições. As funções de penalização foram definidas através de
parâmetros de penalização constantes durante toda a evolução. No entanto, foram testados,
mas não incluídos nos problemas pelo fato de não terem sido representativos. Estas
funções mostraram-se sensíveis e de difícil definição dos parâmetros envolvidos.
Quase em sua totalidade, as soluções encontradas foram melhores ou muito próximas das
melhores encontradas na literatura. Em todos os casos estudados nenhum tipo de
informação sobre a solução do problema foi introduzido no algoritmo e a busca baseou-se
apenas em valores da função aptidão.
5.2 – CONCLUSÕES
A partir das respostas observadas nos exemplos estudados podem-se apresentar as
seguintes conclusões:
• Para os problemas estudados não houve a necessidade de um código exclusivo, e
sim mudanças na codificação e parametrização para a avaliação da função
objetivo;
• As sugestões de parametrização para o Algoritmo Genético foram bem
consistentes, visto que em apenas em alguns casos foi necessário reajustá-lo;
100
• Comparado aos métodos clássicos (quando esses são aplicáveis) nota-se que, em
geral os AGs apresentam um maior custo computacional no que diz respeito ao
número de avaliações. Porém os AGs mostram-se robustos e eficazes na busca de
soluções ótimas, como visto nos gráficos. Boas soluções foram encontradas
rapidamente, demorando apenas no refinamento das soluções;
• Dada disponibilidade de peças estruturais pré-fabricadas no mercado, escolher
entre elas o conjunto que minimize o custo de um projeto é fácil de implementar e
desenvolver, possibilitando sugerir configurações estruturais a serem utilizadas na
prática;
• Problemas com uma grande variedade de variáveis de projeto tornam o processo
de avaliação da estrutura demorada, tanto no caso contínuo, quanto no caso
discreto. Além disso, a codificação binária exige grandes cadeias de bits e de um
número grande de indivíduos para diversificar o espaço de busca dessas estruturas;
• A codificação binária para casos discretos, mostrou-se bem superior em relação às
variáveis contínuas.
5.3 – SUGESTÕES
Como desenvolvimentos futuros podem ser considerados os seguintes aspectos:
• Implementação de técnicas de hibridização, através de estratégias de busca local
e/ou acoplamento de outros algoritmos ao AG, buscando reduzir os custos
computacionais com o refinamento das soluções;
• Utilização da codificação de Gray ou real como uma alternativa à codificação
binária tradicional e a utilização de outros operadores genéticos;
• Implementação de Algoritmos Genéticos Paralelos, fazendo-se estudos
comparativos com os problemas estudados neste trabalho e analisar novos
problemas (como por exemplo, estruturas reais e de grande porte);
• Implementação para a análise multi-objetivos;
• Estudo de convergência e critérios de parada para os AGs;
• Criação de uma interface gráfica, o que tornaria o processo de otimização mais
interativo, pois possibilitaria acompanhar a otimização em tempo real;
• Análise de estruturas reticuladas em 3D e/ou outras estruturas.
101
REFERÊNCIAS BIBLIOGRÁFICAS
Adeli e Cheng (1994) a. “Concurrent Genetic Algorithms for Optimization of Large
Structures”, In: Journal of Aerospace Engineering, 7(3), 276-296.
Adeli, H. e Kamal, O. (1991) a. “A Efficient Optimization of Plane Trusses.” In: Adv. Eng.
Software, 13(3), 116-122.
AISC - American Institute of Steel Construction (1991). “Manual of steel construction:
Allowable stress design”. 9th edition, Chicago, USA.
Ali, N., Behdinan, K. e Fawaz, Z. (2003) a. “Applicability and Viability of GA Based
Finite Element Analyses Architecture for Structural Design Optimization.” In:
Computers & Structures, 81, 2259-2271.
Baker, J. (1987) a. “Reducing Bias and Inefficiency in Selection Algorithm”, In:
Proceedings of The Second International Conference on Genetic Algorithm and Their
Application, 14-21.
Barbosa, H. J. C. e Lemonge, A. C. C. (2003) a. “A New Adaptive Penalty Scheme for
Genetic Algorithms”, In: Information Science. 156(2003), 215-251.
Barcellos, J. C. H. (2000). Algoritmos Genéticos Adaptativos: Um Estudo Comparativo,
Dissertação de Mestrado, Escola Politécnica de São Paulo, 131p.
Bezerra, L. M. (1993). Inverse Elastostatics Solutions with Boundary Elements, PhD
Thesis, Carnigie Intitute of Technology, Pittsburgh, USA, 107p.
Borges, C. C. H. (1999). Algoritmos Genéticos para Otimização em Dinâmica de
Estruturas, Tese de Doutorado, Universidade Federal do Rio de Janeiro COPPE, 216p.
Brebbia, C. A. e Ferrante, A. J. (1986). “Computational Methods for the Solution of
Engineering Problems. 3th edition. London, UK.
Castro, R. E. (2001). Otimização de Estruturas com Multi-objetivos Via Algoritmos
Genéticos de Pareto, Tese de Doutorado, Universidade Federal do Rio de Janeiro
COPPE, 224p.
Chopra, A. K. (1995), “Dynamics of Structures – Theory and Applications to Earthquake
Engineering”, Prentice Hall, New Jersey, USA.
Clough, R. W. e Penzien, J. (1993), “Dynamics of Structures”, 2nd edition, McGraw-Hill,
New York, USA.
102
Coit, D. W., Smith, A. E. e Tate, D. M. (1996) a. “Adapitive Penalty Methods for Genetic
Optimization of Constrained Combinatorial Problems”. In: Journal on Computing, 6(2),
173-182.
Craig, Jr., R. R. (1981), “Structural Dynamics – An Introduction to Computer Methods”,
John Wiley & Sons, New York, USA.
Darwin, C. R. e Darwin, F. (1902). “Charles Darwin: His Life Told in an Autobiographical
Chapter, and in a Selected Series of his Published Letters”, John Murray (ed), London,
UK.
De Jong, K. A. (1975). An Analysis of Behavior of a class of Genetic Adaptive System,
PhD Thesis, University of Michigan, USA.
Desai, C. S. (1979), “Elementary Finite Element Method”, Prentice Hall, Inc., 10th Edition,
Englewood Cliffs – New Jersey.
Dorigo, M. e Stützle, T. (2004). “Ant Colony Optmization”, Bradford Books, USA.
Dorigo, M., Maniezzo, V. e Colorni, A. (1991) a. “The Ant System: An Autocatalytic
Optimizing Process”, In: Technical Report 91-016.
Erbatur, F., Hasançebi, I. T. e Kiliç, H. (2000) a. “Optimal Design of Planar and Space
Structures with Genetic Algorithms”, In: Computer & Structures, 75 (2000), 209-224.
Felippa, C. A. (2000). “Introduction to The Finite Element Method – Lecture Notes”,
University of Colorado at Boulder.
Fox, R. L. (1973). “Optimization Methods for Engineering Design”, 2nd edition, Addison-
Wesley Publishing Company, London, U.K.
Galante, M. (1992) a. “Structures Optimization By a Simple Genetic Algorithm.” In:
Numerical Methods In Engineering And Applied Sciences, 863-870.
Galante, M. (1996). “Genetic Algorithms As An Approach To Optimize Real-World
Trusses.”, In: International Journal for Numerical Methods In Engineering, 39, 361-
382.
Gallagher, R. H. (1977), “Terminology and Basic Concepts”, In: Optimum Structural
Design. (ed.) John Wiley & Sons, New York, USA.
Gere, J. M. e Weaver, W. JR. (1981). “Análise de Estruturas Reticuladas”, Editora
Guanabara Dois, Rio de Janeiro.
Goldberg, D. E. (1989), “Genetic Algorithms in Search, Optimization and Machine
Learning”, Addison-Wesley, USA.
103
Goldberg, D. E., Zakrzewski, K., Sutton, B., Gadient, R., Chang, C., Gallego, P., Miller, B.
e Cantú-Paz, E. (1997) a. “Genetic Algorithms: A Bibliografy”, In: Illigal Report N.°
97011.
Grefenstette, J. J. (1986) a. “Optimization of Control Parameters for Genetic Algorithms”,
In: IEEE Transaction, Systems Man, and Cybernetics, 16(1), 122-128.
Haftka, R. T. e Gürdal, Z. (1992). “Elements of Structural Optimization”, 3th edition,
Kluwer Academic Publishers, London, U.K.
Hajela, P. e Berke, L. (1990) a. “Neurobiological Computational Models in Structural
Analysis”. In: Computers & Structures. 41(4), 657-667.
Holland, J. H. (1975). “Adaptation in Natural and Artificial Systems”, University of
Michigan Press, USA.
Homaifar, H., Lai, S. H. Y. e Qi, X. (1994) a. “Constrained Optimization Via Genetic
Algorithms”, In: Simulation, 64(2), 242-254.
Joines, J. e Houck, C. (1994) a. “On the Use of Non-stationary Penalty Functions to Solve
Nonlinear Constrained Optimization Problems with Gas”, In: Proceedings of the First
IEEE international Conference on Evolutionary Computation, 579-584.
Khan, M. R., Willmert, K. D. e Thornton, W. A. (1979) a. “An Optimality Criterion
Method for Large-Scale Structures.” In: AIAA Journal, 17(7), 753-761.
Khan, N. (2002). “Population Sizing in Genetic and Evolutionary Algorithms – Lecture
Notes”, University of Illinois at Urbana-Champaign.
Kim, J-K. (1997) a. “Evolutionary Programming Techniques for Constrained Optimization
Problems”, In: IEEE Transactions On Evolutionary Computation, 1(2), 129-140.
Lacerda, E. G. M. e Carvalho, A. C. P. L. F. (1999). “Introdução aos algoritmos
genéticos”. In: Sistemas Inteligentes: Aplicações a Recursos Hídricos e Sistemas
Ambientais, Editora Universidade, UFRGS.
Lagaros, N. D., Papadrakakis, M. e Kokossalakis, G. (2002) a. “Structural Optimization
Using Evolutionary Algorithms”, In: Computer and Structures, 80(2002), 571-589.
Lemonge, A. C. C. (1999). Aplicação de Algoritmos Genéticos em Otimização Estrutural,
Tese de Doutorado, Universidade Federal do Rio de Janeiro COPPE, 218p.
Lemonge, A. C. C. e Barbosa, H. J. C. (2004) a. “An Adaptive penalty Scheme for
Genetic Algorithms In Structural Optimization.”, In: International Journal for
Numerical Methods In Engineering, 59, 703-736.
Lucas, D. C. (2000). Algoritmos Genéticos: Um Estudo de seus Conceitos Fundamentais e
Aplicação no Problema de Grade Horária, Monografia de Graduação, 92p.
104
Maysa, M. P. (1996). “Genetic Algorithms on Evolving Solutions to NP-Complete
Problems”, In: <http://www.kneehighs.com/outline.html>, Acesso em 06/2004.
Mendes, J. M. N., Saldanha, R. R. e Vasconcelos, J.A. (1996) a. “A Hybrid Algorithm
Applied to Nonlinear Optimization Problems”, In: Segundo Congresso Brasileiro de
eletromagnetismo, 222-225.
Mendonça, C. E. L. R. (2004). Um Sistema Computacional para Otimização Através de
Algoritmos Genéticos e Redes Neurais, Tese de Doutorado, Universidade Federal do
Rio de Janeiro COPPE, 135p.
Michalewicz, Z. (1995) a. “Genetic Algorithms, numerical Optimization, and Constraints”,
In: Proceedings of the 6th International Conference on Genetic Algorithms, 151-158.
Michalewicz, Z. (1996). “Genetic Algorithms + Data Structures = Evolution Programs”, 3th
Edition, Springer-Verlag, Berlin, Germany.
Ochi, L. S., Rocha M. L. (2000) a. “A New Hybrid Evolutionary Algorithm for the Vehicle
Routing and Scheduling Problems”, In: Proceedings of the Ninth International
Conference on Intelligence Systems: Artificial Intelligence Applications for the New
Millennium, 135-140.
Pacheco, M. A. (1999) a. “Algoritmos Genéticos: Princípios e Aplicaciones”, In: V
Congresso Internacional de Ingeniería Electrónica, Elétrica y Sistemas - INTERCON,
11-16.
Paz, M. (1980). “Structural Dynamics: Theory and Computation”, Van Nostrand Reinhold,
New York.
Rajeev, S. e Krishnamoorthy, C. S. (1992) a. “Discrete Optimization Of Structures Using
Genetic Algorithms”, In: Journal of Structural Engineering, 118(5), 1233-1250.
Sampaio, C. C. D. (2004). Determinação de uma Rede Ótima de Transporte Utilizando o
Algoritmo Genético, Dissertação de Mestrado, Universidade de Brasília, 98p.
Santos Júnior, J. C. (2002). Otimização de Estruturas Contínuas Bidimensionais pelo
Método dos Elementos de Contorno, Dissertação de Mestrado, Universidade de Brasília,
91p.
Schmit Jr, L. A. e Farshi, B. (1973) a. “Some Approximation Concepts for Structural
Synthesis.” In: AIAA Journal, 12(5), 692-699.
Schmit, L. A. e Miura, H. (1976) a. “Approximation Concepts for Efficient Structural
Analysis/Synthesis.” In: NASA, CR-2552.
Segerlind, L. J. (1976), “Applied Finite Element Analysis”, John Wiley & Sons, New
York, USA.
105
Shaffer, J. D., Caruana, R. A., Eshelman, L. J., Das, R. A. (1989) a. “A Study of Control
Parameters Affecting Online Performance of Genetic Algorithms for Functions
Optimization”, In: Proceedings of the Third International Conference on Genetic
Algorithms, 51-60.
Shoenauer, M. e Xanthakis, S. (1993) a. “Constrained GA Optimization”, In: Proceedings
of The 4th International Conference on Evolutionary Programming, 573-580.
Silva, E. E. (2000). Otimização de Estruturas de Concreto Armado Utilizando Algoritmos
Genéticos, Dissertação de Mestrado, Universidade Federal de Pernambuco, 131p.
Soares, G. L. (1997). Algoritmos Genéticos: Estudo, Novas Técnicas e Aplicações,
Dissertação de Mestrado, Universidade Federal de Minas Gerais, 137p.
Stark, R. M., e Nicholls, R. L. (1978). “Mathematical Foundations for Design Civil
Engineering Systems”, McGraw-Hill Book Company, New York.
Templeman, B. A. (1988) a. “Discrete Optimum Structural Design”, In: Computers &
Structures, 30(3), 511-518.
Torres, A. C. S. (2003). Determinação de Rotas Ótimas de Ônibus Urbanos Utilizando
Algoritmo Genético. Dissertação de Mestrado, Universidade de Brasília, 87p.
Torres, A. C. S.; Santana, J. A.; Partridge, P. W. (2003) a. “Determinação de Rotas Ótimas
de Ônibus Urbano Utilizando Algoritmo Genético Associado ao Algoritmo de
Dijkstra”. In: XVII ANPET, 957-968.
Tran, T. e Zomorodi, A. (1994) a. “A Touch of Gray”, In: Vertices, 10(1), 11-12.
Valente, S.A., Lopes, H.S., Arruda, L.V.R. (2002). “Genetic Algorithms for the Assembly
Line Balancing Problem: a real-world automotive application”, Springer-Verlag, Berlin,
Germany.
Vanderplaats, G. N. (1984). “Numerical Optimization Techniques for Engineering
Design”, McGraw-Hill Book Company, New York.
Weaver Jr., W. e Johnston, P. R. (1987). “Structural Dynamics by Finite Elements”,
Prentice Hall, Englewood Cliffs, New Jersey.
Xie, Y. M. e Steven, G. P. (1997). “Evolutionary Structural Optimization”, Springer-
Verlag, Berlin, Germany.
Zienkiewicz, O. C. (1977), “The Finite Element Method”, McGraw-Hill Book Company,
3th Edition, London, UK.
106