Você está na página 1de 132

0

UNIVERSIDADE FEDERAL DE PERNAMBUCO


CENTRO DE TECNOLOGIA E GEOCIÊNCIAS
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA CIVIL

GABRIELLA AUTRAN GURGEL COÊLHO

OTIMIZAÇÃO DE PÓRTICOS PLANOS DE CONCRETO


ARMADO UTILIZANDO AJUSTE DE PARÂMETROS E
OPERADORES DO ALGORITMO GÉNETICO

Recife
2017
0

GABRIELLA AUTRAN GURGEL COÊLHO

OTIMIZAÇÃO DE PÓRTICOS PLANOS DE CONCRETO


ARMADO UTILIZANDO AJUSTE DE PARÂMETROS E
OPERADORES DO ALGORITMO GÉNETICO

Dissertação apresentada à Universidade Federal de


Pernambuco como parte dos requisitos para
obtenção do Título de Mestre em Engenharia Civil.

Área de concentração: Estruturas


Orientador: Prof.ª Dr.ª Silvana Maria Bastos
Afonso da Silva
Coorientador: Prof. Dr. Bernardo Horowitz

Recife
2017
Catalogação na fonte
Bibliotecária Rosineide Mesquita G. Luz, CRB-4 / 1163

C672o Coêlho, Gabriella Autran Gurgel.


Otimização de pórticos planos de concreto armado utilizando ajuste de
parâmetros e operadores do algoritmo génetico / Gabriella Autran Gurgel
Coêlho. – 2017.
131 folhas, il., gráfs., tabs.

Orientadora: Prof.ª Dr.ª Silvana Maria Bastos Afonso da Silva.


Coorientador: Prof. Dr. Bernardo Horowitz.
Dissertação (Mestrado) – Universidade Federal de Pernambuco. CTG.
Programa de Pós-Graduação em Engenharia Civil, 2017.
Inclui Referências e Apêndice.

1. Engenharia Civil. 2. Otimização. 3. Algoritmo genético. 4.


Parâmetros. 5. Pórticos planos. I. Silva, Silvana Maria Bastos Afonso da
(Orientadora). II. Horowitz, Bernardo (Coorientador). III. Título.

UFPE

624 CDD (22. ed.) BCTG/2017-176


UNIVERSIDADE FEDERAL DE PERNAMBUCO
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA CIVIL

A comissão examinadora da Defesa de Dissertação de Mestrado

OTIMIZAÇÃO DE PÓRTICOS PLANOS DE CONCRETO ARMADO


UTILIZANDO AJUSTE DE PARÂMETROS E OPERADORES DO
ALGORITMO GÉNETICO

defendida por

Gabriella Autran Gurgel Coêlho

Considera a candidata APROVADA

Recife, 23 de fevereiro de 2017

Prof.ª Dr.ª Silvana Maria Bastos Afonso da Silva – Orientadora – UFPE


Prof. Dr. Bernardo Horowitz – Coorientador – UFPE

Banca Examinadora:

___________________________________________
Prof.ª Dr.ª Silvana Maria Bastos Afonso da Silva – UFPE
(orientadora)

___________________________________________
Prof. Dr. Leonardo Correira de Oliveira – UFPE
(examinador externo)

___________________________________________
Prof. Dr. Renato de Siqueira Motta – UFPE
(examinador interno)
A Deus, que me deu forças para persistir
e conseguir chegar ao fim, e a minha
família, pelo apoio incondicional durante
toda minha vida.
AGRADECIMENTOS

Agradeço a todos que contribuíram de forma direta e indireta para realização desse
trabalho.
RESUMO

Muitas das aplicações da Engenharia requerem a solução de problemas de otimização na


obtenção do projeto ótimo. Esses podem ser computacionalmente resolvidos por diversas
estratégias de otimização, dentre as quais estão os Algoritmos Genéticos (GA). Devido à
facilidade de programação, por não necessitar do cálculo de gradientes das funções e nem
que estas sejam contínuas, além do bom desempenho para encontrar o ótimo global, essa
técnica apresenta-se como uma potencial ferramenta para resolução de problemas de
otimização. Esta será abordada neste trabalho através da análise dos seus parâmetros e
operadores visto que a escolha adequada destes é fundamental para o uso eficiente do GA
como otimizador e consiste em um dos obstáculos no emprego de tal método. Nesse
trabalho, é apresentado um procedimento para ajuste off-line de parâmetros e operadores
do GA utilizando a técnica meta-evolucionária, que consiste em aplicá-lo no nível da
otimização de parâmetros do GA e do problema em si. Para validação da metodologia
proposta e sua implementação computacional, realizada no MATLAB, testes foram
conduzidos selecionando exemplos numéricos de diferentes complexidades e exemplos
associados à análise estrutural de pórticos planos de concreto armado, todos disponíveis
na literatura. No caso dos exemplos de pórticos planos, a função objetivo do problema é
o custo total da estrutura, que inclui o custo do concreto, forma e aço. As variáveis de
projeto são as seções transversais das vigas e pilares, diâmetros padrões para as barras da
armação e número de barras. Os pórticos são dimensionados de forma a atender as
especificações da NBR 6118:2014 e requisitos para obtenção de projetos exequíveis. Eles
são submetidos à análise não-linear pelo Método dos Elementos Finitos (MEF),
conduzida a cada iteração da otimização para atualização dos esforços na estrutura. Como
o problema de pórticos envolve restrições diversas, é conduzido ainda o estudo de
aplicação do Método de Penalização (APM) para lidar com estas no GA. Com aplicação
do APM, o problema é interpretado como irrestrito, o que permite configurar outros
parâmetros que não são possíveis quando as restrições são tratadas internamente pelo GA
do MATLAB. Os resultados obtidos são satisfatórios e permitiram a obtenção de
melhores respostas com o GA devidamente configurado pela ferramenta implementada,
o que evidencia e ratifica a importância da configuração dos parâmetros e operadores do
GA além de permitir o direcionamento de futuros trabalhos nessa linha de pesquisa.

Palavras-Chave: Otimização. Algoritmo genético. Parâmetros. Pórticos planos.


ABSTRACT

Optimization techniques have been successfully employed to solve many practical


engineering problems. Since such applications commonly present responses with
multimodal characteristics, the selection of a global optimization technique as the strategy
of choice in the solution process is often required. Genetic Algorithms (GAs) are a well-
established, extensively used option with certain advantages: they are able to handle
discontinuous functions, discrete and continuous variables, and can be conducted without
gradient information. On the other hand, a significant obstacle to their employment is the
time-consuming process to define the problem-dependent control parameters. The current
work presents a procedure for configuring GA parameters and operators using a meta-
level technique, thus GAs are shown to be suitable for both levels of the system
optimization problem. To validate the studied approach and all necessary computational
implementations using MATLAB benchmark side constraint problems with different
complexities and reinforced concrete planes frames examples are the applications
addressed by the study, all cases are available in literature. For the plane frames, the
objective function involves the material and placement costs of concrete, reinforcement
and formwork. The design variables are the dimensions of cross section of beams and
columns which compose the frame, the standard reinforcement bar diameters and the
numbers of bars. The frames are designed considering practical requirements in addition
to relevant provisions and the requirements of NBR 6118:2014 to obtain allowable
designs. These structural response quantities are computed for each frame design using
the Finite Element Method (FEM). A non-linear analysis is performed via FEM each
iteration of the optimization for obtaining the current load effects in the frame during the
iterative process. Since such applications present many constraints, the adaptive penalty
method (APM) is also employed here in order to form an ‘‘unconstrained problem’’ and
allow the study of configuring other parameters since MATLAB restricts the change of
some parameters configuration for situations of constrained problems in which the
constraints are internally dealt by MATLAB´s GA. The results obtained from the design
examples optimized are satisfactory and better than those achieved with the non-
configured MATLAB GA. It clearly indicates the importance of configuring the GA
parameters and can be used as a basis of studies for future works in this research line.

Keywords: Optimization. Genetic algorithm. Parameters. Plane frames.


LISTA DE ILUSTRAÇÕES

Figura 1 - Fluxograma do processo geral de otimização. ............................................... 19


Figura 2 – Função unimodal x função multimodal......................................................... 21
Figura 3 – Espaço de representação gráfica de problema de otimização bidimensional.22
Figura 4 – Otimização topológica de uma estrutura discreta. ........................................ 27
Figura 5 - Otimização topológica de uma estrutura contínua. ........................................ 27
Figura 6 - Exemplo de otimização da geometria, que envolve achar a função 𝜼(𝒙) que
descreve a forma de uma viga genérica. ......................................................................... 28
Figura 7 – Diagrama parábola-retângulo para o concreto em compressão. ................... 32
Figura 8 - Diagrama tensão-deformação dos aços.......................................................... 32
Figura 9 - Representação dos efeitos em estruturas de edifícios altos: 1) perspectiva; 2)
estrutura indeformada; 3) edificação sujeita a instabilidade global; 4) instabilidade local
de pilares centrais inferiores. .......................................................................................... 35
Figura 10 – Forças atuantes no elemento de viga com 3 graus de liberdade por nó. ..... 36
Figura 11- Fluxograma do MEF com análise não-linear (implementado neste trabalho).
........................................................................................................................................ 38
Figura 12 - Esquema de forças verticais (a) e horizontais fictícias (b). ......................... 39
Figura 13 - Deslocamentos horizontais entre os pavimentos. ........................................ 39
Figura 14 - Domínios de dimensionamento. .................................................................. 41
Figura 15 - Posição da solicitação normal nos eixos de simetria. .................................. 43
Figura 16 - Diagrama de interação para taxa mecânica de armadura ω. ....................... 44
Figura 17 - Elementos que compõem a estrutura de um edifício. .................................. 47
Figura 18 - Viga de concreto armado simplesmente apoiada. ........................................ 49
Figura 19 - Análise gráfica do problema da viga de concreto armado simplesmente
apoiada. ........................................................................................................................... 50
Figura 20 - Pórtico plano testado. ................................................................................... 51
Figura 21 - Correspondência entre termos da Biologia e Algoritmo Genético na
linguagem de programação. ............................................................................................ 55
Figura 22 - Esquema para representação de um problema com 5 dimensões (5 variáveis
de projeto) e com 3 indivíduos (possíveis soluções). ..................................................... 55
Figura 23 - Exemplos de cromossomo codificados nas representações mais comuns. .. 58
Figura 24 - Tipos de mutação por tipo de codificação. (a) Inversão de bit (codificação
binária); (b) Mudança de ordem e (c) Inserção (codificação por permutação); (d) Adição
(ou subtração) de número pequeno a determinadas posições do gene. .......................... 60
Figura 25 - Taxonomia para ajuste de parâmetros. ........................................................ 62
Figura 26 - Fluxo de informações e controle de qualidade no ajuste de parâmetros. .... 63
Figura 27 - Resumo de pesquisas recentes desenvolvidas sobre ajuste de parâmetros,
divididas por tipo de técnica utilizada. ........................................................................... 64
Figura 28 - Resumo de pesquisas recentes desenvolvidas sobre ajuste de parâmetros,
divididas por parâmetro ajustado. ................................................................................... 65
Figura 29 - Representação Gráfica da Função Schwefel. ............................................... 66
Figura 30 - População inicial. ......................................................................................... 66
Figura 31 - População final e resultados obtidos para as taxas de cruzamento de 0,2, 0,5
e 0,8. ............................................................................................................................... 67
Figura 32 - Descrição ilustrativa da função f(x). ............................................................ 71
Figura 33 - Representação esquemática do exemplo ny =1. .......................................... 74
Figura 34 - Código esquemático de GA1 para ny =1 ..................................................... 75
Figura 35 - Comunicação entre GA1 e GA2 .................................................................. 76
Figura 36 - Código esquemático de GA2 para ny=1. ..................................................... 77
Figura 37 - Roteiros para GA1 e GA2. ........................................................................... 78
Figura 38 - Típica ftarget para uma função analítica...................................................... 78
Figura 39 - Metodologia dos experimentos conduzidos. ................................................ 80
Figura 40 - Etapas problema de otimização. .................................................................. 89
Figura 41 - Pórtico PF1 (αL). ......................................................................................... 90
Figura 42 - Pórtico PF2 (3B3S): Organização das variáveis. ......................................... 92
Figura 43 - Pórtico PF2: Representação da estrutura e nós utilizando o SAP................ 93
Figura 44 - Problema PF2_01: Gráfico de evolução resultado obtido para os testes 1,2 e
3 (valores normalizados), respectivamente (a), (b) e (c). ............................................. 100
Figura 45 - Pórtico PF3 (2B6S): Organização das variáveis. ....................................... 106
Figura 46 - Pórtico PF3: Representação da estrutura e nós no SAP............................. 107
Figura 47 - Pórtico PF3: Casos de carga estudados...................................................... 108
Figura 48 - Pórtico PF3: Configuração da armação das vigas para o i-ésimo grupo (viga
com 2 vãos)................................................................................................................... 111
Figura 49 - Pórtico PF3: Configuração das variáveis de projeto referente à armação dos
pilares ........................................................................................................................... 112
Figura 50 - Gráfico normalizado desempenho dos testes 2 e 3 em relação ao resultado
obtido com o teste 1. ..................................................................................................... 117
Figura 51 - Gráfico comparativo da constituição de cada geração do GA em função da
frequência de aplicação do crossover/mutação e elitismo. ........................................... 118
LISTA DE TABELAS

Tabela 1 - Resumo dos domínios em função das condições de solicitação da seção


transversal. ...................................................................................................................... 40
Tabela 2 - Valores para esforço normal reduzido ν e parâmetro β. ................................ 44
Tabela 3 – Resultados viga de concreto armado simplesmente apoiada. ....................... 51
Tabela 4 – Resultados pórtico plano,  =1 .................................................................... 52
Tabela 5 – Resultados pórtico plano,  =0,4 ................................................................. 52
Tabela 6 – Parâmetros do GA estudados ........................................................................ 72
Tabela 7 - Tipos de crossover e mutação estudados ....................................................... 72
Tabela 8 – Problemas numéricos estudados ................................................................... 81
Tabela 9 - Equações dos problemas numéricos estudados ............................................. 81
Tabela 10 - Problemas numéricos: Parâmetros estudados pelo M_GA ......................... 82
Tabela 11 - Problemas numéricos: Parâmetros/operadores usados para os testes de 1 a 3
........................................................................................................................................ 82
Tabela 12 – Problemas numéricos: Comparação entre resultados obtidos .................... 83
Tabela 13 - Dados dos testes aplicados a exemplos associados à analise estrutural. ..... 85
Tabela 14 – Aços utilizados nos reforços das seções de concreto.................................. 88
Tabela 15 - Problema PF1: Parâmetros estudados M_GA ............................................. 90
Tabela 16 – Problema PF1: Rodadas do M_GA ............................................................ 90
Tabela 17 – Problema PF1: Comparação entre resultados obtidos. ............................... 91
Tabela 18 – Problema PF1: Verificação das restrições do problema no ponto ótimo
obtido. ............................................................................................................................. 91
Tabela 19 – Pórtico PF2: Variáveis de projeto das vigas (por grupo de viga) ............... 94
Tabela 20 - Pórtico PF2: Variáveis de projeto dos pilares (por grupo de pilar) ............. 94
Tabela 21 - Problema PF2_01: teste 01 .......................................................................... 97
Tabela 22 – Problema PF2_01: Parâmetros estudados M_GA ...................................... 98
Tabela 23 – Problema PF2_01: Rodadas do M_GA ...................................................... 98
Tabela 24 – Problema PF2_01: teste 02 ......................................................................... 99
Tabela 25 – Problema PF2_01: teste 03 ......................................................................... 99
Tabela 26 – Problema PF2_01: Parâmetros/operadores usados para os testes de 1 a 3 . 99
Tabela 27 - Problema PF2_01: Comparação entre resultados obtidos ........................... 99
Tabela 28 – Problema PF2_02: teste 01 ....................................................................... 102
Tabela 29 – Problema PF2_02: Parâmetros estudados M_GA .................................... 102
Tabela 30 – Problema PF2_02: Rodadas do M_GA .................................................... 102
Tabela 31 – Problema PF2_02: teste 02 ....................................................................... 103
Tabela 32 – Problema PF2_02: teste 03 ....................................................................... 103
Tabela 33 – Problema PF2_02: Parâmetros/operadores usados para os testes de 1 a 3 104
Tabela 34 - Problema PF2_02: Comparação entre resultados obtidos ......................... 104
Tabela 35 – Comparação dos resultados da análise linear via o MEF implementado x
SAP 2000 (pórtico PF3). .............................................................................................. 109
Tabela 36 – Comparação resultados da análise não-linear via o MEF implementado x
SAP 2000 (pórtico PF3). .............................................................................................. 109
Tabela 37 – Pórtico PF3: Variáveis de projeto das vigas (por grupo de viga) ............. 110
Tabela 38 - Pórtico PF3: Variáveis de projeto dos pilares (por grupo de pilar) ........... 112
Tabela 39 – Problema PF3: teste 01 ............................................................................. 113
Tabela 40 – Problema PF3: Rodadas do M_GA .......................................................... 113
Tabela 41 - Problema PF3: teste 02 .............................................................................. 114
Tabela 42 - Problema PF3: teste 03 .............................................................................. 114
Tabela 43 – Problema PF3: Parâmetros/operadores usados para os testes de 1 a 3 ..... 115
Tabela 44 - Problema PF3: Comparação entre resultados obtidos ............................... 115
Tabela 45 – Resumo dos resultados obtidos ................................................................. 116
SUMÁRIO

1 INTRODUÇÃO 14
1.1 CONSIDERAÇÕES GERAIS ......................................................................... 14
1.2 MOTIVAÇÃO ................................................................................................. 15
1.3 OBJETIVO ...................................................................................................... 15
1.4 METODOLOGIA ............................................................................................ 15
1.5 ORGANIZAÇÃO DA DISSERTAÇÃO ......................................................... 16
2 OTIMIZAÇÃO 18
2.1 INTRODUÇÃO ............................................................................................... 18
2.2 FORMULAÇÃO MATEMÁTICA DO PROBLEMA DE OTIMIZAÇÃO ... 19
2.3 ELEMENTOS QUE CONSTITUEM UM PROBLEMA DE OTIMIZAÇÃO 20
2.3.1 Variáveis de projeto ....................................................................................... 20
2.3.2 Função objetivo .............................................................................................. 21
2.3.3 Restrições ........................................................................................................ 22
2.4 TÉCNICAS DE OTIMIZAÇÃO ..................................................................... 23
3 ANÁLISE E OTIMIZAÇÃO ESTRUTURAL 26
3.1 INTRODUÇÃO ............................................................................................... 26
3.2 REVISÃO DE LITERATURA ........................................................................ 29
3.3 DIMENSIONAMENTO DE ESTRUTURAS EM CONCRETO ARMADO 31
3.3.1 Hipóteses de cálculo ....................................................................................... 31
3.3.2 Análise estrutural ........................................................................................... 33
3.3.3 Estabilidade de uma estrutura ...................................................................... 34
3.3.4 Procedimento empregado para análise estrutural ...................................... 35
3.3.5 Critério de ruptura das seções de concreto armado ................................... 39
3.3.6 Considerações sobre o cálculo de pilares ..................................................... 41
3.3.7 Considerações sobre o cálculo de vigas ........................................................ 44
3.3.8 Introdução ao cálculo de pórticos planos..................................................... 46
3.3.9 Formulação do dimensionamento ótimo em problemas estruturais ......... 48
3.3.10 Exemplos para validação ............................................................................... 48
3.3.10.1 Viga simplesmente apoiada ............................................................................. 48
3.3.10.2 Pórtico plano .................................................................................................... 51
3.3.10.3 Conclusão......................................................................................................... 53
4 ALGORITMO GENÉTICO 54
4.1 INTRODUÇÃO ............................................................................................... 54
4.2 OPÇÕES DO ALGORITMO GENÉTICO E OPERADORES GENÉTICOS 56
4.2.1 Representação dos indivíduos ....................................................................... 57
4.2.2 Geração da população inicial ........................................................................ 58
4.2.3 Escalonamento e seleção dos indivíduos ...................................................... 58
4.2.4 Crossover ........................................................................................................ 59
4.2.5 Mutação .......................................................................................................... 59
4.2.6 Elitismo ........................................................................................................... 61
4.2.7 Critérios de parada ........................................................................................ 61
4.3 AJUSTE DE PARÂMETROS ......................................................................... 61
4.3.1 Impacto dos operadores do GA no processo de otimização ....................... 65
4.3.2 Parâmetros mais comumente ajustados....................................................... 67
4.3.2.1 Mutação ........................................................................................................... 67
4.3.2.2 Crossover ......................................................................................................... 68
4.3.2.3 Tamanho da população .................................................................................... 68
4.4 FERRAMENTA PROPOSTA ......................................................................... 69
4.4.1 Algoritmo genético utilizado ......................................................................... 69
4.4.2 Método de penalização adaptativa (APM) .................................................. 70
4.4.3 Objetivo principal da ferramenta proposta ................................................ 71
4.4.4 Implementação ............................................................................................... 73
4.4.5 Descrição do algoritmo .................................................................................. 74
5 CASOS ESTUDADOS 79
5.1 INTRODUÇÃO ............................................................................................... 79
5.2 APLICAÇÃO 1: EXEMPLOS NUMÉRICOS (FUNÇÕES ANALÍTICAS) . 80
5.3 APLICAÇÃO 2: PÓRTICOS PLANOS.......................................................... 83
5.3.1 Problema PF1 ................................................................................................. 89
5.3.1.1 Apresentação .................................................................................................... 89
5.3.1.2 Resultados ........................................................................................................ 90
5.3.2 Problema PF2 ................................................................................................. 92
5.3.2.1 Apresentação .................................................................................................... 92
5.3.2.2 Otimização ....................................................................................................... 93
5.3.2.3 Resultados ........................................................................................................ 97
5.3.3 Problema PF3 ............................................................................................... 104
5.3.3.1 Apresentação .................................................................................................. 104
5.3.3.2 Otimização ..................................................................................................... 110
5.3.3.3 Resultados ...................................................................................................... 112
5.4 CONCLUSÕES GERAIS .............................................................................. 115
6 CONSIDERAÇÕES FINAIS 119
6.1 DESENVOLVIMENTOS .............................................................................. 119
6.2 CONCLUSÕES GERAIS .............................................................................. 120
6.3 SUGESTÕES PARA TRABALHOS FUTUROS ......................................... 121
REFERÊNCIAS.............................................................................................122
APÊNDICE A – PARÂMETROS E OPERADORES DO GA DO
MATLAB....................................................................................................... 127
14

1 INTRODUÇÃO

1.1 CONSIDERAÇÕES GERAIS

Ao projetar uma estrutura, o engenheiro pode optar pelo procedimento tradicional


que consiste em adotar, de maneira intuitiva, uma configuração inicial para geometria e
materiais e então, a partir do carregamento definido, calcular as capacidades resistentes e
deslocamentos para verificação do atendimento aos critérios de segurança e utilização.
Esse processo é repetido a partir de alterações nessas configurações pré-estabelecidas até
que os critérios sejam devidamente satisfeitos. Ainda assim, a solução pode não ser a mais
econômica, visto que se parte de uma seleção intuitiva.
Entretanto, devido à crescente necessidade de obtenção de projetos que envolvam
soluções econômicas e viáveis em tempo hábil, os procedimentos tradicionais vêm dando
espaço a metodologias de otimização que se tornaram ao longo das últimas décadas
fundamentais no uso de métodos computacionais para aplicações na Engenharia prática.
Com tais procedimentos, o projetista pode avaliar mais alternativas, e, portanto, obter de
maneira automática um projeto melhor e economicamente mais efetivo.
Neste trabalho são projetados pórticos de concreto armado de baixo custo que
satisfaçam as especificações e limites da NBR 6118 (ABNT, 2014) utilizando o
Algoritmo Genético (GA). A classe dos GAs se distingue das demais técnicas de
otimização pelo uso de conceitos da genética em populações para guiar a busca. Ele
simula a seleção natural que conduz a evolução biológica ao fim e são usados para
solucionar problemas restritos e irrestritos que não podem ser resolvidos por algoritmos
de programação matemática quando estes envolvem funções objetivo descontínuas, não-
diferenciáveis ou multimodais. Também apresentam habilidade de lidar com variáveis
contínuas e inteiras e não requerem informação de gradientes.
A escolha de parâmetros e operadores de um GA pode resultar em respostas bem
distintas. Uma boa configuração pode acarretar em uma boa convergência do algoritmo
para melhores resultados em um tempo menor de processamento, enquanto que fazendo
uso de uma configuração inadequada pode inclusive resultar na não obtenção de uma
solução viável.
Neste estudo foi desenvolvida e aplicada uma ferramenta de ajuste off-line de
parâmetros e operadores do GA utilizando técnica meta-evolucionária. Essa técnica foi
introduzida em Grefenstette (1986) e apresenta o problema de controle dinâmico dos
parâmetros do algoritmo primário como um problema de otimização secundário. Dessa
15

forma, o GA é aplicado tanto no nível de otimização de parâmetros/operadores como no


nível de otimização do problema em si.
O objetivo principal deste trabalho consiste em determinar parâmetros que
originam uma configuração ótima para procedimentos de otimização utilizando o GA
aplicado a exemplos numéricos e a exemplos associados à análise estrutural (pórticos
planos em concreto armado).

1.2 MOTIVAÇÃO

O desafio de utilizar o Algoritmo Genético devidamente configurado de forma a


obter resultados ótimos que essa técnica tem capacidade de encontrar ainda se constitui
um desafio para os pesquisadores. Esta pesquisa se insere nesse contexto, em que uma
das motivações é atingir esses resultados melhores a partir do uso de ferramenta para
seleção de parâmetros e configuração do GA aplicado a problemas estruturais. Além
disso, essa pesquisa também permite a aplicação dos conceitos e implementação do
método dos elementos finitos com análise não-linear e o estudo de técnicas de penalização
para lidar com restrições.

1.3 OBJETIVO

O objetivo principal desta dissertação consiste em encontrar configurações


adequadas para o GA que propiciem a obtenção de resultados ótimos e melhores do que
um GA não configurado de forma a mostrar os ganhos que podem ser conseguidos com
o investimento nessa etapa de ajuste de parâmetros.
Além disso, o conhecimento adquirido nesse trabalho de pesquisa servirá de base
para serem aplicados a problemas mais complexos no futuro e no uso de técnicas de ajuste
de parâmetros complementando a abordagem aqui empregada.

1.4 METODOLOGIA

A linguagem de programação MATLAB foi escolhida para o desenvolvimento


das rotinas e para análise estrutural devido à simplicidade e grande capacidade numérica
proveniente da vasta biblioteca matemática acoplada ao mesmo. A metodologia
empregada para elaboração deste trabalho pode ser resumida pelas etapas a seguir.
a) Implementação do código M_GA para ajuste de parâmetros, fazendo uso da
ferramenta de computação paralela do MATLAB com distribuição de tarefas
entre 2 laboratórios que se comunicam e que trabalham de maneira
independente (um laboratório aguarda a resposta do outro);
16

b) Implementação dos exemplos numéricos para primeira aplicação do M_GA;


c) Aplicação do M_GA a funções analíticas e verificação dos resultados obtidos;
d) Seleção dos problemas estruturais para estudo;
e) Implementação das funções objetivo, restrições, configurações de cada
estrutura estudada;
f) Verificação das rotinas implementadas para otimização e da configuração de
cada problema estudado;
g) Implementação da rotina mef_pf.m para análise linear e não-linear de pórticos
planos via método dos elementos finitos. Inicialmente a análise iria ser
totalmente conduzida no SAP 2000, entretanto, devido ao tempo de
processamento e visando reduzir o esforço computacional, optou-se pela
implementação e uso do MEF no MATLAB;
h) Verificação dos resultados obtidos pela rotina mef_pf.m e comparação com os
resultados obtidos utilizando o software comercial (SAP 2000), com o
objetivo de verificar o código implementado;
i) Execução de 4 etapas de testes para cada exemplo estudado:
A. Teste 1: Otimização usando GA do MATLAB;
B. Aplicação do M_GA, ferramenta proposta pelo presente trabalho para
investigação da configuração de parâmetros do GA;
C. Teste 2: Otimização usando GA com parâmetros/operadores que foram
melhor solução obtida dentre as rodadas de aplicação do M_GA;
D. Teste 3: Otimização usando GA com os parâmetros/operadores médios das
soluções das rodadas de aplicação do M_GA.
j) Compilação e análise dos resultados obtidos.

1.5 ORGANIZAÇÃO DA DISSERTAÇÃO

Esta dissertação consiste de seis capítulos organizados de maneira a facilitar o


entendimento dos estudos realizados. Uma breve descrição do conteúdo de cada capítulo
é dada a seguir.
O presente capítulo mostra uma visão geral do estudo.
O Capítulo 2 apresenta a definição e aspectos gerais sobre o procedimento de
otimização, como formulação matemática padrão, elementos que constituem um
problema dessa natureza e as diversas técnicas de otimização disponíveis.
17

O Capítulo 3 faz a conexão entre otimização e sua aplicação a problemas


estruturais, descrevendo a formulação matemática para otimização de pórticos de
concreto armado e apresentando revisão de literatura sobre o tema. Neste capítulo, faz-se
uma descrição detalhada sobre análise e estabilidade de estruturas, com ênfase no
procedimento empregado para análise das estruturas modeladas neste trabalho. Também
são ilustrados exemplos introdutórios sobre otimização de estruturas.
O Capítulo 4 discorre sobre o Algoritmo Genético e sobre as técnicas de ajuste
de parâmetros. Neste capítulo é descrito com detalhes o procedimento para elaboração do
código do M_GA, ferramenta para configuração de parâmetros do GA proposta neste
trabalho.
O Capítulo 5 trata dos exemplos considerados. Os mesmos são divididos em
Aplicação 1 referente aos 6 exemplos numéricos estudados e Aplicação 2, referentes aos
3 pórticos planos estudados. Para cada exemplo é feita a apresentação da função
analítica/estrutura, formulação matemática do problema de otimização, considerações
utilizadas nos testes e resultados obtidos. Ao fim do capítulo são tecidos comentários
acerca dos resultados e feito um resumo de todos.
No último capítulo deste trabalho, Capítulo 6, será resumido às realizações feitas
nesta dissertação. As conclusões obtidas através dos diversos resultados serão também
descritas e discutidas neste capítulo, que se encerra com sugestões para trabalhos futuros.
A bibliografia consultada é apresentada no final desta dissertação.
18

2 OTIMIZAÇÃO

2.1 INTRODUÇÃO

De acordo com Silva (2009), a otimização pode ser definida como o estudo de um
conjunto de técnicas que têm como objetivo obter melhor resultado para uma função e
parâmetros (variáveis de projeto) pré-especificados dentro de um conjunto permitido
(espaço de projeto viável). Os problemas de engenharia geralmente envolvem um grande
número de variáveis, então cabe ao projetista encontrar uma combinação para que estas
resultem em um projeto mais eficiente e econômico possível.
O interesse pelos processos de otimização tem aumentado com o avanço dos
recursos computacionais. As técnicas têm avançado rapidamente e progresso
considerável tem sido obtido, e agora problemas complexos de otimização são passiveis
de serem solucionados utilizando as técnicas e recursos disponíveis.
Não existe uma única técnica de otimização que possa ser aplicada de maneira
eficiente em todos os problemas e a escolha depende das características da função
objetivo, da dimensão do problema, da natureza das restrições e tipo das variáveis.
As principais etapas do projeto de otimização de um produto podem ser resumidas
no fluxograma apresentado na Figura 1. No caso do sistema estrutural de uma ponte, por
exemplo, as etapas consistem em:
• Concepção do projeto:
Definição do uso do produto que será otimizado, que implica na definição do
comprimento e largura do vão, quantidade de pistas e cargas que são esperadas para atuar
na estrutura, etc.;
Definição de concepção da estrutura (treliçada, estaiada, em arco) e do material
(concreto, aço, mista);
• Elaboração do problema de otimização:
Definição da função objetivo (minimização do custo, peso da estrutura) e das
Variáveis de projeto (seções transversais, por exemplo);
Definição das restrições (relacionadas às tensões máximas, deslocamentos
máximos, condições de apoio, etc.);
• Detalhes e desenvolvimento do modelo para o processo:
Definição do tipo de análise e da forma de condução da análise estrutura;
Definição de estratégias para simplificação do problema e de metodologias para
lidar com restrições, etc.;
19

• Análise crítica:
Análise da solução obtida e da sensibilidade frente a variações em parâmetros dos
modelos e as hipóteses adotadas.

Figura 1 - Fluxograma do processo geral de otimização.

Fonte: Elaborado pelo autor.

2.2 FORMULAÇÃO MATEMÁTICA DO PROBLEMA DE OTIMIZAÇÃO

Matematicamente, em um problema de otimização genérico (Kirsch, 1993)


definido na Eq.(1) se deseja encontrar um conjunto de n variáveis de projeto contido em
um vetor x, que:
Minimize f = f ( x)
(ou maximize)
Sujeito a: gi ( x )  gi (i  1, 2,3,..., m) (1)
hi ( x )  hi ( j  1, 2,3,..., l )
xl  x  xu

Os componentes x são as variáveis de projeto. A função f (x) é a meta do problema.


As funções gi(x) e hj(x) representam, respectivamente, as restrições de desigualdade e de
igualdade. As restrições geométricas são os limites inferiores xl e os limites superiores xu.
20

Quando o problema é de maximização, o problema é resolvido através da minimização


da função objetivo em sua forma negativa (-f (x)). Operações matemáticas também são
aplicadas no caso das desigualdades.
A discrepância entre a magnitude das variáveis de projeto e/ou das funções
objetivo e de restrições pode levar a dificuldades numéricas na solução dos problemas de
otimização. Diante disso, é importante que as funções e variáveis envolvidas nos
problemas sejam normalizadas. Como nos casos reais da Engenharia é comum começar
o projeto como uma configuração pré-estabelecida, pode-se utilizar esse valor inicial para
efetuar a normalização. Sendo assim, a magnitude das variáveis e das funções será
conforme Eq.(2) a Eq.(4) (Silva, 2009).
xi
xi  (2)
xi0

em que xi e xi0 são, respectivamente, o valor da variável i (corrente) no ponto x


e o valor da variável i (inicial) do ponto x0 .
f ( x)
f ( x)  (3)
f ( x0 )
em que f (x) e f (x0) são, respectivamente, a função objetivo avaliada no ponto x
(corrente) e a função objetivo avaliada no ponto x0 (inicial). A normalização das restrições
de igualdade pode ser feita da mesma forma apresentada nessa equação.
g j ( x )  g uj
g j ( x)  0 (4)
g uj
u
em que gj(x) e g j são, respectivamente, o valor da restrição j correspondente a

variável x (corrente) e valor limite superior da mesma. Da mesma forma pode ser obtida
a normalização para restrições com limite inferior.

2.3 ELEMENTOS QUE CONSTITUEM UM PROBLEMA DE OTIMIZAÇÃO

2.3.1 Variáveis de projeto

As variáveis de projeto são parâmetros numéricos responsáveis pela modificação


do projeto. Por meio de limites, é definido o espaço viável das mesmas. O potencial de
mudanças para obter o melhor desempenho do projeto através da otimização é expresso
em termo das variações permitidas nesse grupo de parâmetros (Silva, 2009).
As variáveis de projeto podem assumir valores contínuos ou discretos. Problemas
com variáveis discretas, em geral, são mais complicados de serem resolvidos
21

(dependendo do algoritmo utilizado). No geral envolvem o ajuste da solução continua da


solução ótima para o valor discreto mais próximo (Silva, 2009).

2.3.2 Função objetivo

É uma função que mede a eficiência ou qualidade do projeto, e pode ser


unidimensional ou multidimensional de acordo com o número de variáveis utilizadas para
compô-la. Um problema de otimização também pode ser formulado com uma ou mais
funções objetivo (problema uniobjetivo e multiobjetivo, respectivamente), que por sua
vez podem ser caracterizadas ainda segundo o comportamento entre as variáveis (linear
ou não-linear) e a presença ou não de pontos de mínimo local (multimodal ou unimodal,
respectivamente). Esse último conceito é exemplificado na Figura 2 partir dos gráficos
das funções extraídas de Molga et al. (2005).

Figura 2 – Função unimodal x função multimodal.


(a) Função De Jong´s (unimodal)

(b) Função Griewangk (multimodal)

Fonte: Elaborado pelo autor.


22

2.3.3 Restrições

São funções ou parâmetros que fornecem limitações ao projeto (em algumas ou


em todas as variáveis de projeto). É comum distinguir as restrições em:
1) Geométricas: determinadas através da imposição de limites
inferiores/superiores das variáveis de projeto e são funções de desigualdade


por natureza x L  x  xU ; 
2) De comportamento: determinadas através de especificações de funções que
dependem das variáveis de projeto, impondo a limitação das mesmas a um
semi-espaço, através de funções de desigualdade, ou em superfície, através de
funções de igualdade.
O espaço de projeto é delimitado pelas restrições geométricas, e a viabilidade do
projeto é determinada pela intersecção entre o espaço delimitado pelas restrições
geométricas e as restrições de comportamento. Uma restrição de desigualdade gi (x) ≤ 0
é dita ativa para um ponto x* quando gi (x*) = 0, é dita inativa ou passiva se gi (x*) < 0 e
dita violada se gi (x*) > 0. Uma restrição de igualdade hi (x) = 0 é dita violada para um
ponto x* de um dado projeto se hi (x*) é diferente de zero, e ativa caso contrário (Torres,
2001). Na Figura 3 é ilustrado um exemplo de representação gráfica de um problema de
otimização bidimensional envolvendo restrições de desigualdade. No ponto ótimo,
indicado na figura, todas as restrições estão ativas (gi (x*) = 0).

Figura 3 – Espaço de representação gráfica de problema de otimização bidimensional.

Fonte: Elaborado pelo autor.

É importante ressaltar que o número de restrições de igualdade deve ser menor ou


igual ao número de variáveis para que não se tenha um sistema superdeterminado,
23

enquanto que para as restrições de desigualdade não há limitação do número de funções


(Silva, 2009).
A resolução de problemas restritos geralmente é mais difícil do que de problemas
irrestritos (Antoniou & Lu, 2007). Diante disso, ao longo do tempo vem sendo estudadas
e desenvolvidas técnicas para reformulação de problemas com restrições em problemas
irrestritos através, por exemplo, da incorporação das restrições na função objetivo.

2.4 TÉCNICAS DE OTIMIZAÇÃO

Conforme mencionado anteriormente, não existe um único otimizador que possa


ser aplicado de maneira eficiente em todos os problemas e a escolha depende das
características do problema a ser resolvido. Existem na literatura várias formas de
classificar as técnicas de otimização. Adaptando a classificação proposta por Antoniou &
Lu (2007), as abordagens disponíveis podem ser classificadas em:
(a) Métodos analíticos
(b) Métodos gráficos
(c) Métodos experimentais
(d) Métodos numéricos
(e) Métodos de busca heurística
Os métodos analíticos são baseados em técnicas de cálculo diferencial, em que o
critério de minimização/maximização é definido em termos da derivada de f(x1, x2,..,xn) e
dos valores dos parâmetros x1, x2,..,xn que levam a derivada a se anular. Essa técnica não
pode ser aplicada a problemas como muitas variáveis nem com alto grau de não-
linearidade.
Métodos gráficos podem ser utilizados para plotar a função objetivo, porém o
problema só pode envolver até 2 variáveis. Podem ser plotados gráficos x1 versus f(x1) no
caso de 1 variável de projeto, ou ainda curvas de contorno, ou seja, gráficos em que os
ambos os eixos são as variáveis de projeto (caso de problemas bidimensionais). Como a
maioria dos problemas da engenharia envolve um grande número de variáveis, a aplicação
dessa metodologia fica restrita a poucas situações.
No método experimental o sistema é configurado a partir do ajuste “manual” das
variáveis e o critério de eficiência é medido a cada ajuste de configuração. A aplicação
desse método pode não garantir a obtenção de resultados ótimos globais devido à
interação entre variáveis dos problemas.
24

A abordagem mais comum é baseada em métodos numéricos, que a partir de uma


estimativa inicial para solução. Procedimentos iterativos são usados para gerar uma série
de soluções ao longo do processo de otimização. O processo termina quando algum
critério de parada é satisfeito (como por exemplo, critério de convergência e número de
iterações). Essas técnicas são usadas para resolver problemas complexos de otimização,
e ainda podem ser subdivididas em técnicas de programação linear, inteira, quadrática,
não-linear e dinâmica (Antoniou & Lu, 2007). Cada uma delas é adequada a um tipo de
problema de otimização bem como da natureza da função objetivo e das restrições. A
programação não-linear é a mais geral, podendo a linear e quadrática serem consideradas
casos particulares desta. Dentre os métodos de programação não-linear podem ser citados
o método das penalidades, método das funções de barreiras e métodos das direções
viáveis, dentre outros.
Os métodos de busca heurística se baseiam em análises probabilísticas das
possíveis soluções para um determinado problema. Dentro desse grupo tem-se os
Algoritmos Evolucionários (EAs), que usam a seleção natural como instrumento de busca
para resolver problemas (Oliveira, 2013).
Na década de 60, foram desenvolvidos os algoritmos genéticos (Genetic
Algorithms – GAs) (Oliveira, 2013). Nos anos 80 e 90 também ocorreu grande avanço
nas pesquisas utilizando algoritmos meta-heurísticos, com o surgimento de diversas
metodologias inspiradas em fenômenos da natureza, como o resfriamento simulado
(Simulated Annealing – SA); a busca tabu (Tabu Search); o algoritmo de otimização da
colônia de formigas (Ant Colony Optimization – ACO); e o algoritmo do enxame de
partículas (Particle Swarm Optimization – PSO), bastante utilizado na atualidade
(Oliveira, 2013).
Devido à disponibilidade de várias versões do GA em programas computacionais,
além do desenvolvimento de técnicas que já foram implementadas para tornar este
algoritmo mais robusto, ele é um dos EAs mais populares nos dias atuais.
Por fim, a escolha do algoritmo de otimização depende do comportamento
matemático do problema e da função objetivo. Os problemas da Engenharia geralmente
envolvem funções não-lineares e requerem, portanto, algoritmos robustos e eficientes.
No presente trabalho foi utilizado o GA como método de otimização. Ele simula
a seleção natural que conduz a evolução biológica ao fim e são usados para solucionar
problemas restritos e irrestritos apesar de geralmente requererem grande número de
avaliações de função. Muitos destes problemas não podem ser resolvidos por algoritmos
25

de programação matemática quando envolvem funções objetivo descontínuas, não-


diferenciáveis ou multimodais. Também apresentam habilidade de lidar com variáveis
contínuas e discreta e não requerem informação de gradientes. Podem ser citados os
trabalhos de Camp et al. (2003) e Lee et al. (2003) como exemplos de pesquisas
envolvendo o GA na otimização discreta. Mais detalhes sobre o GA serão apresentados
nas seções subsequentes deste trabalho.
26

3 ANÁLISE E OTIMIZAÇÃO ESTRUTURAL

3.1 INTRODUÇÃO

A prática comum do projeto de estruturas de concreto armado inclui a escolha das


dimensões das seções transversais e das armaduras de reforço que atendam aos requisitos
de rigidez, ductilidade, condições de serviço e outras restrições associadas às
especificações de dimensionamento das peças segundo a norma corrente adotada no
projeto. Os procedimentos de otimização vêm sendo cada vez mais utilizados e capazes,
a depender da ferramenta utilizada, de determinar de maneira eficiente e confiável
soluções ótimas e adequadas em comparação com a abordagem tradicional de tentativa e
erro.
Em geral, vários objetivos são considerados no projeto estrutural (Liang, 2005).
São eles:
A. Funcionalidade
B. Condições de Serviço
C. Resistência
D. Economia
Códigos e normas impõem restrições para as condições de serviço e resistência,
que são objetivos relacionados à segurança a fim de garantir que a estrutura projetada se
comporte conforme a função esperada para ela. A funcionalidade e economia não tem
relação com a função estrutural do sistema, mas podem ser usadas para classificar os
projetos que satisfazem o desempenho estrutural exigido. É importante destacar que a
escolha de uma configuração global adequada para a estrutura pode ser mais eficiente do
que modificar as dimensões das peças estruturais que a compõem. O problema de
otimização com múltiplos objetivos de desempenho em geral é resolvido selecionando
apenas uma das funções (A-D) e considerando as demais como restrições.
Muitos livros e artigos a respeito do desenvolvimento teórico e prático da
otimização estrutural foram sido publicados desde 1960 (Liang, 2005). A maioria das
publicações se refere a aspectos matemáticos, ao invés de práticos devido à complexidade
matemática que, em geral, esses métodos apresentam.
Os problemas de otimização estrutural podem ser classificados de acordo com a
classe de suas variáveis de projeto (Torres, 2001). São elas:
a) Propriedades dos materiais/ dimensões: os materiais convencionais possuem
variáveis que são representadas por valores discretos, como módulo de
27

elasticidade, resistência característica e peso específico. O objetivo nesse tipo


de otimização é maximizar o desempenho da estrutura em termos de seu peso
e rigidez global ou resistência. O espaço de projeto é mantido fixo durante o
processo de otimização; A variável pode ser também alguma medida, como
área da seção transversal e momento de inércia de um pilar.
b) Topologia: consiste na definição ótima do leiaute estrutural. O projeto tem
condições de contorno e domínio pré-estabelecido. No caso discreto, como é
de uma treliça (vide Figura 4), as variáveis de projeto são as áreas das barras
que a compõem. Permitindo que essas variáveis assumam valor zero admite-
se que elas possam ser removidas da estrutura e, portanto, a conectividade dos
nós é variável e a topologia da treliça é alterada. Caso seja uma estrutura
contínua (vide Figura 5), a mudança na topologia por ser feita ao permitir
valores nulos para espessura do elemento.

Figura 4 – Otimização topológica de uma estrutura discreta.


(a) Situação inicial (b) Projeto otimizado

Fonte: Christensen & Klarbring (2009, p.06).

Figura 5 - Otimização topológica de uma estrutura contínua.

Fonte: Christensen & Klarbring (2009, p.06).

c) Geometria (forma): a geometria de pórticos e treliças, por exemplo, é descrita


pelas coordenadas dos nós ou pelo comprimento e inclinação das barras. Em
28

um corpo sólido genérico, a variável de projeto representa a forma ou o


contorno de alguma parte da fronteira do domínio da estrutura. A otimização
consiste em escolher um domínio de integração para as equações diferenciais
de maneira ótima. A otimização de geometria (ou forma) é ilustrada na Figura
6. Nesse tipo de otimização, o espaço de projeto não é fixo.

Figura 6 - Exemplo de otimização da geometria, que envolve achar a função 𝜼(𝒙) que descreve a forma
de uma viga genérica.

Fonte: Christensen & Klarbring (2009, p.06).

De acordo com Liang (2005), a otimização integrada da topologia, geometria e


dimensões também é conhecida como otimização de “layout”. Na otimização topológica
de estruturas contínuas, em geral, não se considera a possibilidade de diminuir o tamanho
da estrutura, que tem impacto direto no comportamento do projeto. Esse autor ainda
observa que a otimização topológica pode diminuir significativamente os custos de uma
estrutura quando comparando a otimização de geometria e de dimensões.
De acordo com Christensen & Klarbring (2009), o ideal seria a otimização de
geometria ser considerada uma subclasse da otimização topológica.
Outros autores, como Torres (2001) ainda trazem outras classes, como a
otimização de apoios e carregamentos, em que as condições de contorno ou distribuição
de carga na estrutura são as variáveis de projeto. As localizações do apoio da estrutura e
forças externas são exemplos dessa classe e podem apresentar valores discretos ou
contínuos.
De acordo com Nina (2006), as técnicas de otimização utilizadas no projeto de
estruturas podem ser classificadas em três grandes grupos:
1) Programação matemática: pode ser dividida em programação linear e não-
linear, de acordo com maneira de combinação das variáveis de projeto e
distinguem-se entre algoritmos de ordem zero, primeira e segunda ordem
dependendo do número de derivadas que a função exige. Métodos de ordem
29

zero são Busca Aleatória, Busca em Grelha e Método Simplex. Como


exemplos de primeira ordem têm-se: Método do Gradiente (Steepest Descent)
e o Método dos Gradientes Conjugados. O Método de Newton é um exemplo
de programação matemática de segunda ordem.
2) Método dos critérios de otimização: foi criado para ser aplicado indiretamente,
combinado com multiplicadores de Lagrange. De acordo com Nina (2006),
esse método vem sendo aplicado principalmente em problemas que envolvem
grandes estruturas, dividindo o problema em subproblemas de forma a garantir
a convergência dos resultados.
3) Algoritmos evolucionários (EAs): os EAs clássicos são os algoritmos
genéticos, estratégias de evolução, computação evolutiva, dentre outros. São
algoritmos inspirados na natureza e é o enfoque desse trabalho.

3.2 REVISÃO DE LITERATURA

A otimização aplicada a estruturas de concreto armado obteve um considerável


avanço nas últimas décadas. Com o levantamento dos trabalhos realizados nessa área
observa-se que o principal problema ao comparar a eficiência e aplicabilidade das
diferentes abordagens relaciona-se ao fato delas se basearem em diferentes códigos
normativos, que implica em diferentes regras para posicionamento e cálculo de armaduras
bem como restrições e outras premissas de cálculo, como diâmetros de barras e
espaçamentos.
De acordo com Sias & Alves (2014), a utilização da programação matemática
como técnica para resolução de problemas de otimização em estruturas é muitas vezes
impraticável, visto que ela envolve derivação para encontrar a solução ótima e a maioria
dos problemas estruturais são definidos por funções não-lineares.
No trabalho de Sias & Alves (2014), os autores ainda destacam que os GAs tem
sido bastante utilizados, pois eles se adaptam bem aos problemas estruturais, já que essa
técnica não possui restrições quanto ao tipo, à continuidade da função, se é derivável, etc.
Este trabalho ainda cita um estudo realizado por Medeiros e Kripka (2012) que comparou
o uso de métodos heurísticos, como colônia de formigas (Ant Colony Optimization –
ACO (Sucupira, 2004)), enxame de partículas (Particle Swarm Optimization – PSO
(Silva,2011)), resfriamento simulado (Simulated Annealing – AS (Ferreira,2008)) e GAs
(Oliveira, 2013), dentre outros, e concluíram que os mais consolidados são estes dois
30

últimos embora os pesquisadores alertem que a eficiência do método é dependente da


calibração dos parâmetros utilizados.
Argolo (2000) resolveu problemas de dimensionamento ótimo de seções
retangulares de concreto armado submetidas à flexo-compressão reta. Utilizando
parâmetros de penalização na implementação do algoritmo, este autor verificou que o GA
é mais eficaz e robusto ao ser comparado com outros métodos de otimização.
Cohn e Dinovitzer (1994), a partir do levantamento de cerca de 2.500 exemplos
estruturais apresentados em livros e artigos, chegaram às seguintes conclusões:
• 25% desta literatura refere-se a estudos sobre vigas, treliças planas e espaciais e
pórticos. Os demais exemplos da literatura referem-se a grelhas, chapas, placas,
arcos, cabos dentre outros;
• 88% dos casos considera o carregamento estático;
• 12% considera carregamentos dinâmicos (este número tem crescido nas últimas
décadas);
• Mais de 90% dos casos considera estruturas de aço.
Rath et al. (1999) utilizou como função objetivo o custo total da estrutural,
levando em consideração o material, fabricação, montagem e custo da forma proporcional
ao volume de concreto. Foi conseguida uma redução de material e custo de 40% e 56%,
respectivamente. Interfere diretamente, por exemplo, na economia de uma fábrica de pré-
moldados.
Progressos foram feitos na área de otimização de pórticos em concreto armado via
programação matemática. No trabalho de Hoit et al. (1991) foram projetados pórticos
planos usando o método do Lagrangeano Aumentado e técnica de programação não-
linear. Em Torres (2001) a otimização de pórticos planos é contínua e obedece às
normativas do ACI (American Concrete Institute).
Vianna (2003) pesquisou a otimização de pórticos planos, otimizando
separadamente vigas e pilares (considerando apenas a compressão excêntrica no domínio
5 e trabalhando somente à flexão normal em um eixo), recalculando os esforços e
novamente modelando a estrutura a partir da nova condição ótima. Este procedimento foi
realizado iterativamente até que a solução fosse julgada ótima. Foi utilizada a técnica
determinística de Lagrange.
No trabalho de Kwak & Kim (2008) foi sugerida uma técnica de otimização
discreta através do desenvolvimento de um algoritmo simplificado em que as seções de
31

concreto armado disponíveis em um banco de dados pré-estabelecido são pesquisadas


utilizando regressão a partir da relação delas com sua capacidade resistente.
A otimização discreta de estruturas de concreto armado tem sido conduzida
utilizando algoritmos evolucionários, dentre os quais o GA (Lee et al, 2003). Ele simula
a seleção natural que conduz a evolução biológica ao fim e são usados para solucionar
problemas restritos e irrestritos que não podem ser resolvidos por algoritmos de
programação matemática quando estes envolvem funções objetivo descontínuas, não-
diferenciáveis ou multimodais. Também apresentam habilidade de lidar com variáveis
contínuas e discretas e não requerem informação de gradientes. Podem ser citados os
trabalhos de Camp et al. (2003) e Lee et al. (2003) como exemplos de pesquisas
envolvendo o GA na otimização discreta.

3.3 DIMENSIONAMENTO DE ESTRUTURAS EM CONCRETO ARMADO

3.3.1 Hipóteses de cálculo

A NBR 6118 (ABNT, 2014) define no item 17.2.2 as seguintes hipóteses para
análise dos esforços resistentes de uma seção de viga ou pilar no Estado Limite Último
(ELU)1:
a) A seção transversal do elemento permanece plana e normal ao eixo do
elemento estrutural após a deformação. Dessa hipótese resulta uma
distribuição linear das deformações normais ao longo da altura das seções
transversais;
b) Aderência perfeita entre concreto e aço (não escorregamento entre esses
materiais);
c) É desprezada a resistência à tração do concreto, sendo esta resistido apenas
pelas armaduras.
d) Para o concreto em compressão, é empregado o diagrama parábola-retângulo
mostrado na Figura 7, em que 𝜀𝑐 é a deformação e 𝜎𝑐 a tensão de compressão
no concreto e fcd é a resistência à compressão de cálculo do concreto, dada pela
razão entre o fck (resistência característica do concreto) e 𝛾𝑐 (coeficiente parcial
de segurança), mostrada na Eq.(5). As deformações 𝜀0 e 𝜀𝑢 são em geral
adotadas como 2‰ e 3.5‰, respectivamente.

1
ELU é o estado limite relacionado ao colapso, ou qualquer outra forma de ruína estrutural, que determine
a paralisação do uso da estrutura.
32

fck
fcd  (5)
c

Figura 7 – Diagrama parábola-retângulo para o concreto em compressão.

Fonte: Araujo (2009, p.02)

e) Para os aços para concreto armado, admite-se comportamento idêntico em


tração e compressão. É adotado o diagrama tensão-deformação mostrado na
Figura 8, em que 𝜀𝑠 é a deformação do aço, 𝜎𝑠 a tensão nas barras de aço, fyk
a tensão de escoamento característica e 𝛾𝑠 o coeficiente parcial de segurança.
A tensão de escoamento de cálculo, fyd, é dada pela Eq.(6). A deformação de
escoamento de cálculo, 𝜀𝑦𝑑 , é dada pela razão entre fyd e o módulo de
elasticidade longitudinal do aço (𝐸𝑠 ).
f yk
f yd  (6)
s

Figura 8 - Diagrama tensão-deformação dos aços.

Fonte: Araujo (2009, p.02)


33

3.3.2 Análise estrutural

A NBR 6118/2014 define, nos itens 14.2.1 e 14.2.2, a análise estrutural a partir de
seus objetivos e princípios da seguinte forma: “O objetivo da análise estrutural é
determinar os efeitos das ações em uma estrutura, com a finalidade de efetuar
verificações dos estados-limites últimos e de serviço”. A análise estrutural permite
estabelecer as distribuições de esforços internos, tensões, deformações e deslocamentos,
em uma parte ou em toda a estrutura.
A análise estrutural deve ser feita a partir de um modelo estrutural adequado ao
objetivo da análise. Em um projeto pode ser necessário mais de um modelo para realizar
as verificações previstas nesta Norma. O modelo deve representar a geometria dos
elementos estruturais, os carregamentos atuantes, as condições de contorno, as
características e respostas dos materiais, sempre em função do objetivo específico da
análise. A resposta dos materiais pode ser representada por um dos tipos de análise
estrutural apresentados nos itens 14.5.1 a 14.5.5 da referida norma (NBR 6118/2014). Os
tipos de análise estrutural que a norma aborda são:
a) Análise Linear: admite-se comportamento elástico-linear para os materiais. Na
análise global, as características podem ser determinadas pela seção bruta de
concreto e na eventualidade da fissuração, deve ser considerada para análise
local de deslocamentos. Geralmente são empregados para verificação de
Estados Limites de Serviço (ELS)2 e podem servir de base para o
dimensionamento de elementos estruturais no ELU desde que se garanta uma
ductilidade mínima às peças.
b) Análise Linear com Redistribuição: “os efeitos das ações, determinadas em
uma análise linear, são redistribuídos na estrutura, para as combinações de
carregamento do ELU.” Não se recomenda utilizar esse tipo de análise nas
verificações de serviço e, quando utilizadas para verificar ELU, as condições
de equilíbrio e ductilidade devem ser obrigatoriamente satisfeitas e esforços
internos devem ser recalculados.
c) Análise Plástica (item 14.5.4): A análise estrutural é denominada plástica
quando as não linearidades puderem ser consideradas, admitindo-se materiais
de comportamento rígido-plástico perfeito ou elastoplástico perfeito. Este tipo

2
Item 10.4 NBR 6118 (2014): Estados-limites de serviço são aqueles relacionados ao conforto do usuário
e à durabilidade, aparência e boa utilização das estruturas, seja em relação aos usuários, seja em relação às
máquinas e aos equipamentos suportados pelas estruturas.
34

de análise deve ser usado apenas para verificações de ELU. A análise plástica
de estruturas reticuladas não pode ser adotada quando: a) se consideram os
efeitos de segunda ordem global; b) não houver suficiente ductilidade para que
as configurações adotadas sejam atingidas.
d) Análise não-linear: admite-se comportamento não-linear para os materiais e
pode ser usada tanto para verificações no ELU como no ELS. Neste caso, toda
a geometria da estrutura bem como suas armaduras precisam ser conhecidas
para que esse tipo de análise possa ser conduzido visto que a resposta da
estrutura depende de como ela foi armada. Devem ser satisfeitas as condições
de equilíbrio, compatibilidade e ductilidade.
e) Análise através de modelos físicos: o comportamento estrutural é
determinado a partir de ensaios realizados com modelos físicos de concreto.
Esse tipo de análise é recomendado quando os modelos de cálculo são
insuficientes.

3.3.3 Estabilidade de uma estrutura

A estabilidade de pórticos está ligada a diversos fatores, como rigidez das


ligações, deformações por cortante, efeitos de 2ª ordem e imperfeições geométricas e dos
materiais empregados (Schuwartz et al, 2016).
A obtenção dos esforços e deslocamentos pode ser realizada por análise de
primeira ordem, na qual é pressuposto o equilíbrio da estrutura na sua posição inicial
indeformada, ou análise de segunda ordem, na qual o equilíbrio da estrutura se dá a partir
de sua posição deformada, o que gera esforços adicionais denominados efeitos de 2ª
ordem.
Estes efeitos podem ser classificados em:
A. Globais: surgem em decorrência dos deslocamentos dos nós da estrutura quando
esta é submetida à ação de cargas horizontais e verticais;
B. Locais: os eixos das barras da estrutura não se mantêm retilíneos, surgindo os
efeitos locais que afetam os esforços solicitantes ao longo das barras da estrutura.
A consideração dos efeitos de 2ª ordem conduzem a não-linearidade entre as ações
e deformações (não-linearidade geométrica) e a consideração da fissuração e fluência do
concreto conduzem a não-linearidade física. A análise estrutural com efeitos de 2ª ordem
deve assegurar que, para as combinações mais desfavoráveis das ações de cálculo, não
35

ocorra perda de estabilidade nem esgotamento da capacidade resistente de cálculo (NBR


6118 (2014)).
Nos pilares-parede ainda existem os efeitos de 2ª ordem localizados, que possuem
maior magnitude e aumentam os esforços de flexão longitudinal e transversal em
determinadas regiões da estrutura. Na Figura 9 são representadas as possibilidades de
instabilidade devido aos efeitos globais e locais de 2ª ordem.

Figura 9 - Representação dos efeitos em estruturas de edifícios altos: 1) perspectiva; 2) estrutura


indeformada; 3) edificação sujeita a instabilidade global; 4) instabilidade local de pilares centrais
inferiores.

Fonte: Carvalho & Filho (2002, p.02)

Para conduzir a análise de estabilidade global de um pórtico primeiramente é


necessário classificá-lo como estrutura de nós fixos ou como de nós móveis. As estruturas
de deslocamentos horizontais pequenos (efeito global de 2ª ordem menor do que 10% dos
esforços de 1ª ordem) são classificadas como de nós fixos (contraventado) e, portanto, os
efeitos globais de 2ª ordem são desprezíveis.
As estruturas em que os deslocamentos horizontais são grandes (efeito global de
2ª ordem maior do que 10% dos esforços de 1ª ordem) são classificadas como de nós
móveis (não-contraventadas). A análise desse tipo de estrutura implica em considerar,
obrigatoriamente, os efeitos locais e globais de 2ª ordem.

3.3.4 Procedimento empregado para análise estrutural

Neste trabalho foi utilizado o Método dos Elementos Finitos (MEF) para a análise
estrutural. Essa técnica numérica tem sido muito empregada por projetistas e
pesquisadores nos campos da Engenharia por ser versátil e poder ser aplicada a problemas
que envolvem diferentes tipos de seções transversais, carregamentos, condições de apoio,
36

materiais etc. (Liang, 2005). Para aplicação do MEF foi feita a implementação no
ambiente do MATLAB (rotina principal mef_pf.m) e aferição dos resultados por meio da
comparação com os deslocamentos e esforços obtidos para o pórtico modelado no SAP
2000 (um exemplo de comparação dos resultados é apresentado no Capítulo 5). Vale
ressaltar que todas as análises foram conduzidas considerando estrutura de pórtico não
contraventado. No MEF o pórtico é definido como uma série de elementos lineares
rigidamente conectados, em que as vigas e pilares são representados pelos seus eixos
baricêntricos. Cada elemento, representado na Figura 10, possui 2 nós, cada nó com 3
graus de liberdade (duas translações dx, dy e uma rotação ϕz).

Figura 10 – Forças atuantes no elemento de viga com 3 graus de liberdade por nó.

Fonte: Logan (2007, p.216)

O vetor de deslocamentos d é obtido pela resolução do sistema de equação dado


pela Eq. (7), em que K é a matriz de rigidez do elemento em coordenadas globais dada
na Eq. (8). A matriz de rigidez do elemento em coordenadas locais é representada por k̂
e T a matriz de rotação dos eixos (vide Logan (2007)).

F   K d (7)

ˆ
K  T T kT (8)
Na rotina mef_pf.m para análise de segunda ordem foi implementado o
procedimento iterativo em que a matriz de rigidez e os esforços tem seus valores
corrigidos até que seja atingida a convergência. Esta matriz de rigidez local das barras de
rigidez EI submetidas a flexo-compressão considera as funções de estabilidade C e S
dadas na Eq. (9) e Eq. (10) (Schuwartz et al, 2016).
37

L  4 EI   2 PL   44 P 2 L3  
C     (9)
EI   L   15   25000 EI  
L  2 EI   PL   26 P L  
2 3
S  
  
   (10)
EI  L   30   25000 EI  

em que L é o comprimento do elemento, P é a força axial na barra (sinal positivo


para compressão e negativo para tração). A matriz de rigidez para consideração da análise

não-linear kˆnl é dada na Eq. (11) e considera efeitos axiais, cortante e flexão (quando
P=0, C=2 e S = 2 esta corresponde à matriz para análise de 1º ordem).

 EA EA 
 L 0 0  0 0 
L
 
 0 2 EI
(C  S ) 
P EI
(C  S ) 0 
2 EI
(C  S ) 
P EI
(C  S ) 
 L3 L L2 L3 L L2 
 
 0 EI EI EI EI 
(C  S ) C 0  2 (C  S ) S
ˆ  L2 L L L 
knl    (11)
EA EA
 0 0 0 0 
 L L 
 2 EI P EI 2 EI P EI 
 0  3
(C  S )   (C  S ) 0 (C  S )   2 (C  S ) 
 L L L2 L3
L L 
 EI EI EI EI 
 0 (C  S ) S 0  2 (C  S ) C 
 L2 L L L 

Na Figura 11 é ilustrado o fluxograma com as etapas principais implementadas


para análise de pórticos planos via MEF com análise de 2º ordem.
Para a comparação dos resultados da análise não-linear implementada no
MATLAB, o SAP 2000 foi configurado para calcular os efeitos de segunda ordem por
meio do processo P-Delta disponível nesse programa (Computers and Structures, 2009).
38

Figura 11- Fluxograma do MEF com análise não-linear (implementado neste trabalho).

Fonte: Elaborado pelo autor.

O processo P-Delta, também denominado Método da Carga Lateral Fictícia,


consiste em um processo aproximado de análise não-linear geométrica feito através de
cálculo iterativo em que o efeito dos deslocamentos sucessivos são transformados em
forças horizontais equivalentes (Moncayo, 2011).
A aplicação do carregamento vertical origina os esforços horizontais fictícios
(cortante fictício V’ e carga lateral fictícia H’) mostrados na Figura 12. Esses esforços
podem ser obtidos pelas seguintes expressões dadas na Eq.(12) e Eq.(13), em que i
representa o pavimento, Pi a carga aplicada, hi altura entre os pavimentos e Δi os
deslocamentos. O deslocamento entre os pavimentos (Figura 13) dão origem a momentos.
39

Para obtenção do momento final de segunda ordem global, são realizadas algumas
iterações até que a posição de equilíbrio seja atingida (Moncayo, 2011).

V '
 P (i
 i ) (12)
i 1
hi
H '  V 'i 1  V 'i (13)

Figura 12 - Esquema de forças verticais (a) e horizontais fictícias (b).

(a) (b)
Fonte: Moncayo (2001, p.54)

Figura 13 - Deslocamentos horizontais entre os pavimentos.

(a) (b) (c)


Fonte: Moncayo (2001, p.53)

3.3.5 Critério de ruptura das seções de concreto armado

A ruína de uma seção transversal pode ocorrer por ruptura do concreto ou por
deformação excessiva da armadura. Na Figura 14 são mostrados os estados (domínios de
40

dimensionamento) em que a condição da deformada plana do elemento pode ser


enquadrada. O enquadramento da distribuição das deformações ao longo da altura da
seção transversal em um dos domínios reflete o modo de ocorrência da ruína, que
caracteriza o ELU.
Nos domínios 1 e 2 há deformação excessiva da armadura, se distinguindo pelo
fato de no domínio 1 não haver tensões de compressão. No domínio 2 não há ruptura por
compressão do concreto e há o máximo alongamento permitido para as armaduras,
portanto caracteriza-se uma ruptura dúctil (com aviso prévio) em função da intensa
fissuração que precede a ruptura. As peças subarmadas (com taxa de armadura muito
pequena) rompem no domínio 2.
Nos domínios 3, 4 e 4a ocorre esmagamento do concreto em seções parcialmente
comprimidas. Tanto o domínio 3 como 4 são em flexão simples ou compostas com ruptura
à compressão do concreto, com e sem o escoamento do aço, respectivamente. No domínio
4a ocorre compressão das armaduras em flexão composta. As peças normalmente
armadas rompem no domínio 3 e o tipo de ruptura é semelhante ao 2, ou seja, dúctil. As
peças superarmadas (taxa de aço alta) tem ruptura frágil e brusca, no domínio 4. O
domínio 5 caracteriza compressão não-uniforme (flexo-compressão), sem tensões de
tração. Na Tabela 1 são mostrados os possíveis domínios para enquadramento das
estruturas em função das condições de solicitação da seção transversal.

Tabela 1 - Resumo dos domínios em função das condições de solicitação da seção transversal.

Condições de solicitação Possíveis domínios


Flexão Simples 2,3,4
Flexo-Tração 1,2,3,4
Flexo-Compressão 2,3,4,5
Fonte: Elaborado pelo autor.

Tradicionalmente, o dimensionamento à flexão simples era realizado


considerando todo o domínio 3 (Araujo, 2010). Entretanto, devido ao uso de concretos
cada vez mais resistentes, é necessário impor restrições mais severas para a profundidade
da linha neutra para obtenção de uma ruptura dúctil e com aviso prévio, portanto, o ideal
é que o dimensionamento seja considerado entre os domínios 2 e 3.
41

Figura 14 - Domínios de dimensionamento.

Fonte: Torres (2001, p.43)

3.3.6 Considerações sobre o cálculo de pilares

De acordo com Torres (2001), no projeto ótimo de pilares a armadura é controlada


pela resistência da coluna ou pela taxa de armadura mínima.
Projetados para suportar cargas axiais e momentos fletores gerados a partir de
solicitações normais, nessas estruturas existem efeitos de 1º ordem devido ao ponto
teórico de aplicação da força normal não estar localizado no centro de gravidade da seção
transversal (Bastos, 2015). Reiterando o introduzido na seção 3.3.3, podem existir
também os efeitos de 2ª ordem decorrentes dos deslocamentos horizontais da estrutura
quando submetida à ação de cargas horizontais e verticais. Nessa situação os eixos do
pilar não mais se mantêm retilíneos, surgindo efeitos locais de 2ª ordem que, a princípio,
afetam os esforços solicitantes ao longo do elemento.
Quando a estrutura tem nós que se deslocam mais do que o aceitável para permitir
uma análise apenas de efeitos locais, é necessário considerar os efeitos de 2ª ordem
globais (vide considerações feitas sobre estabilidade de estruturas na seção 3.3.3).
Quanto à esbeltez (l), dada na Eq.(14), os pilares podem ser classificados em

algumas categorias segundo Araujo (2010):


a) Curtos: nesses casos podem ser desprezados os efeitos de 2º ordem;
b) Moderadamente esbeltos: os efeitos de 2ª ordem têm que ser considerados, mas
permite-se o emprego de processo simplificado;
c) Esbeltos: os efeitos de 2ª ordem têm que ser considerados, levando em conta as
não-linearidades física e geométrica de forma rigorosa.
42

le (14)

i
sendo

I
i (15)
A

em que:
le = comprimento de flambagem do pilar e é em função do comprimento real (L) do
mesmo e das vinculações na base e no topo;
i = raio de giração da seção geométrica da peça (sem consideração de armadura na seção);
I = momento de inércia;
A = área de seção.
O limite que define cada categoria acima apresentada depende do índice de
esbeltez, da excentricidade relativa de primeira ordem e da forma do diagrama de
momentos de primeira ordem (Araujo, 2010).
Os pilares ainda podem ser classificados, de acordo com a posição na estrutura,
como:
a) Intermediários: correspondem aos apoios intermediários das vigas. Considerando
apenas o carregamento vertical atuante nelas, os momentos transmitidos a esses
pilares são pequenos e, em geral, podem ser desprezados. Quando as vigas
adjacentes possuem carregamento ou vão muito diferentes (não simetria), pode
ser necessário considerar os momentos transmitidos pelas vigas. Dessa forma, um
pilar intermediário contraventado (Araujo, 2010), em geral e excluindo erros de
execução ou excentricidade na posição das vigas em relação ao seu eixo, está em
uma situação de compressão centrada (também conhecida como compressão
simples ou uniforme).
b) De extremidade: nesse caso os momentos transmitidos devem ser considerados e
a situação de projeto é de flexo-compressão normal (ou seja, a força normal e o
momento fletor atuam em uma direção). Este é o tipo estudado neste trabalho e é
ilustrado na Figura 15.
c) De canto: a situação de projeto é flexo-compressão oblíqua (ou seja, força
normal e momentos fletores que atuam nas duas direções principais do pilar), já
que devem ser considerados os momentos de ambas as vigas que nele terminam.
43

No caso de pórticos planos, ocorrem apenas os dois primeiros casos descritos, de


pilares intermediários e de extremidade.

Figura 15 - Posição da solicitação normal nos eixos de simetria.

Fonte: Nina (2006, p.29)

O dimensionamento de pilares pode ser feito a partir do diagrama de interação,


que é um conjunto de curvas representadas no sistema de eixos do esforço normal e fletor
reduzidos (   , respectivamente). Cada curva corresponde a uma dada taxa mecânica
de armadura  , e representa o lugar geométrico dos pares de esforço normal e fletor
reduzidos que levam a seção ao estado limite último. A geometria da seção, bem como a
disposição e quantidade de armaduras são pré-estabelecidas.
Para uma seção genérica de concreto armado submetida a um momento fletor Md
e esforço normal Nd, a obtenção do diagrama de interação é feita através da definição do
domínio de dimensionamento, cálculo das deformações na seção transversal e das
resultantes das tensões no concreto e nas camadas de armadura. A aplicação das equações
de equilíbrio da estática define um sistema de equações algébricas não lineares cuja
solução é realizada iterativamente através de algoritmos como da rigidez constante, da
bissecante e algoritmo com rigidez secante.
Para a ruptura da seção do pilar interessa saber se, para um dado par de esforços
solicitantes, a seção entra ou não em ruptura considerando as resistências de cálculo dos
materiais. A capacidade de carga do pilar é comparada à carga e momento aplicados. Caso
o ponto definido pelo par formado por esses dois últimos se situe abaixo da curva limitada
pelo diagrama (Figura 16), a capacidade resistente do pilar é satisfatória. Essa curva
corresponde aos pares de esforços solicitantes que levam a seção à ruina para uma dada
taxa de armadura  . Pontos situados na região A do diagrama da Figura 16 caracterizam
44

uma situação equilibrada entre os esforços solicitantes e os resistentes, e os na região B


representam solicitações as quais a seção não é capaz de suportar (Araujo, 1984).

Figura 16 - Diagrama de interação para taxa mecânica de armadura ω.

Fonte: Adaptado de Araujo (1984).

Neste estudo os pilares foram dimensionados para a situação de flexo-compressão


normal para duas camadas de armadura. Para esta situação, foi empregada fórmulas
aproximadas apresentada em Araujo (2010). Os esforços reduzidos que dão origem aos
diagramas de interação, para uma determinada taxa mecânica de armadura, são
representados pela Eq.(16) e Eq.(17).

   0.5      0.468 (1  ) , se   1 (16)

   0.5     (  1  ) , se   1 (17)

em que o parâmetro geométrico  é dado pela razão entre a distância do centro


da camada de armadura mais externa à borda e a altura da seção. O coeficiente  é
obtido por interpolação linear dos valores dados na Tabela 2 (Araujo, 2010).

Tabela 2 - Valores para esforço normal reduzido ν e parâmetro β.

ν 0.00 0.50 0.60 0.70 0.80 0.90  1.00


β 1.00 1.00 0.93 0.88 0.88 0.90 0.93
Fonte: Araujo (2010).

3.3.7 Considerações sobre o cálculo de vigas

As vigas são dimensionadas para resistir a momentos fletores e esforço cortante.


No projeto de vigas em geral o dimensionamento à flexão geralmente é considerado
primeiro, sendo definidas as dimensões da seção transversal e o arranjo de armaduras
necessário para que esta resista ao momento de projeto. Limites mínimos e máximos para
45

armadura são estabelecidos para que, se a falha no concreto vier a ocorrer, esta possa se
desenvolver gradualmente. Em relação ao cortante, como uma falha devido a esse esforço
é frequentemente repentina e frágil, a concepção de projeto deve garantir que a resistência
ao cisalhamento seja igual ao superior à resistência à flexão em todos os pontos da viga.
O dimensionamento à flexão deve ser feito sempre de forma que a ruptura ocorra
no domínio 2 ou 3, ou seja, seja caracterizada com o comportamento dúctil para o aço,
com o escoamento do mesmo no momento da ruptura. No caso das vigas, durante o
processo de otimização é conduzida a verificação da capacidade resistente para uma dada
seção transversal de concreto armado com as dimensões e armaduras conhecidas. Essa
verificação consiste em determinar o momento fletor que leva a seção à ruína. A equação
básica de segurança à flexão é dada na Eq.(18) a resistência nominal da seção reduzida
do fator de segurança  deve ser menor ou ao momento último calculado a partir das
cominações de carga majoradas.

Mn  Mu (18)

Para uma seção retangular com várias camadas de armadura, emprega-se um


processo iterativo (neste trabalho foi empregado o processo da bissecante) para obtenção
da profundidade da linha neutra (Araujo, 2010). Com isso, determina-se a tensão σsi em
cada camada de aço e o momento de ruína Mu através Eq.(19).
n
M u  Rcc Z   Asi si  d1  di  (19)
i 1

em que Rcc é a resultante de compressão no concreto, Z é o braço de alavanca, Asi


é a área de aço em cada camada i e di a distância entre o centro de gravidade da armadura
da camada i até a borda mais comprimida e d1 a distância da camada mais tracionada a
borda mais comprimida.
Além da verificação ao momento fletor, também é feita a verificação ao
cisalhamento. De acordo com a NBR 6118 (ABNT, 2014), a resistência do elemento
estrutural, em uma determinada seção transversal, deve ser considerada satisfatória,
quando verificadas simultaneamente as condições dadas na Eq.(20) e Eq.(21).

VSd  VRd 2 (20)

VSd  VRd 3 (21)


46

em que VSd é a força cortante solicitante de cálculo na seção, VRd 2 é a força


cortante resistente de cálculo, relativa à ruína das diagonais comprimidas de concreto, e
VRd 3 é a força cortante resistente de cálculo, relativa à ruína por tração diagonal. Neste
trabalho foi utilizado o Modelo de Cálculo II apresentado pela NBR 6118 (ABNT, 2014),
o qual admite diagonais comprimidas com ângulo  em relação ao eixo longitudinal da
viga variando entre 30º a 45º.

3.3.8 Introdução ao cálculo de pórticos planos

A estrutura usual de edifícios é constituída por pórtico espacial (estrutura


tridimensional) ligado às lajes dos pisos (elementos de área), dispostas ao longo dos
diversos pavimentos (vide Figura 17). Devido à complexidade de analisar uma estrutura
desse padrão, bem como outras estruturas da Engenharia Civil, é comum decompor as
estruturas em elementos mais simples. O cálculo de esforços considerando o conjunto
tridimensional, diante das incertezas relativas ao carregamento, condições de apoio e
rigidez dos elementos, etc., torna-se uma meta muito difícil. Uma das simplificações
consiste em calcular os esforços das lajes separadamente e desmembrar o pórtico espacial
em vários pórticos planos de múltiplos andares (Araujo, 2010). Esse ainda pode ser
substituído pelo procedimento tradicional que envolve o cálculo de vigas e pilares,
isoladamente desde que obedecidas algumas considerações que garantam uma solução
favorável a segurança (NBR 6118, p.93 (2014)). Neste trabalho não serão abordadas essas
considerações, pois o cálculo dos esforços foi realizado utilizando um software para
análise estrutural a partir da modelagem da estrutura como um pórtico plano, e a
otimização da estrutura se processou através da otimização das seções transversais de
cada elemento.
Edifícios de múltiplos andares são projetados para suportar tanto cargas verticais
(como peso próprio) como cargas laterais (como vento e sismos). O efeito das cargas
laterais tem grande impacto na rigidez e estabilidade do sistema e cresce
significativamente com o aumento da altura do edifício.
47

Figura 17 - Elementos que compõem a estrutura de um edifício.

Fonte: Lindquist (2002, p.22)

Este trabalho considerou a modelagem de pórtico não contraventado. Nesse tipo


de modelo a estrutura não possui um sistema de travamento que dificulte ou impeça que
ela se desloque horizontalmente. Assim, a rigidez horizontal da mesma é garantida apenas
pelos pilares e vigas que a compõem. De acordo com o item 15.7.1 da NBR 6118 (ABNT,
2014), nesse tipo de estrutura deve-se levar obrigatoriamente em conta os efeitos de não-
linearidade física e geométrica. No dimensionamento são considerados os efeitos globais
e locais de 2ª ordem. Para consideração da não-linearidade física foi considerada a
redução na rigidez dos elementos estruturais, tomando-se como rigidez (EI) dos
elementos estruturais os valores dados na Eq.(22) e na Eq.(23).

EIsec,vigas  0.4Eci Ic (22)

EIsec,pilares  0.8Eci Ic (23)

onde I c é o momento de inércia da seção bruta de concreto e Eci o módulo de


elasticidade do concreto.
Na determinação das seções ótimas das vigas e pilares foi escolhido, neste
trabalho, aplicar a rotina de otimização para cada tipo de elemento, ou seja, após a análise
estrutural e determinados os esforços nas vigas e nos pilares, são conduzidas as
verificações para cada elemento. No caso das vigas, a aplicação da rotina e análise das
restrições é feita nas seções de máximo momento positivo e negativo (no meio do vão e
nos apoios, respectivamente). No caso dos pilares a otimização é, em geral, aplicada nos
elementos mais solicitados da estrutura.
48

Ainda pode-se fazer uso de agrupamento de componentes da estrutura de acordo


com o tipo de comportamento para simplificar o número de variáveis envolvidas no
problema. A partir da solução de cada grupo, atribui-se a todos os componentes destes as
respectivas soluções encontradas. Isso também visa padronizar as seções transversais e
armaduras de uma estrutura.

3.3.9 Formulação do dimensionamento ótimo em problemas estruturais

O problema de dimensionamento ótimo em problemas estruturais pode envolver


diferentes tipos de objetivo, variáveis de projeto e restrições. Os mais comuns, e utilizados
neste trabalho, são:
• Função objetivo: Custo, volume da estrutura;
• Variáveis de projeto: dimensões, seções transversais, área de aço;
• Restrições: tensões e esforços atuantes, deslocamentos máximos, limites
para as variáveis;
De maneira genérica, a função objetivo pode ser escrita como na Eq.(24), em que
o problema pode ser representado em termos das propriedades da estrutura como um todo
bem como do elemento estrutural individualmente.

Minimize F = f  pm , p j , ps  (24)

onde pm é a propriedade de material, p j as características dos nós (tipo de apoio

e relação entre vigas e pilares, por exemplo) e ps as características estruturais.


Para cada exemplo analisado neste trabalho serão definidas as respectivas função
objetivo, variáveis de projeto e restrições.

3.3.10 Exemplos para validação

Nesta subseção são exemplificados alguns casos de otimização de estruturas


reticuladas retirados da literatura com o propósito de validar a ferramenta de otimização
aplicada no presente trabalho.

3.3.10.1 Viga simplesmente apoiada

Um dos casos testados é de uma viga simplesmente apoiada de concreto armado


analisado por Horowitz (1998) e Torres (2001), sujeita a um carregamento distribuído
conforme Figura 18. Importante destacar que esses trabalhos utilizaram a Programação
49

Quadrática Sequencial (PQS), disponível no MATLAB, e o algoritmo de 1ª ordem do


módulo de otimização do ANSYS, respectivamente.

Figura 18 - Viga de concreto armado simplesmente apoiada.

Fonte: Elaborado pelo autor.

Para esse problema foram considerados os seguintes dados:


• Comprimento do vão (L) = 9m;
• Carregamento distribuído (q) = 3,8 tf/m;
• Altura da viga (h) = 0,80m;
• Altura útil da viga (d) = 0,73m;
• Base da viga (b) = variável, em cm;
• Armação (As) = variável, em cm²;
• Resistência à compressão do concreto ( f ck ) = 25 MPa;

• Aço CA-50 = densidade 7850 kg/m³;


• Custos: Aço = R$ 3,00/kg; Concreto = R$ 100,00/m³; Forma = R$ 20,00/m²;
No problema de otimização, a função objetivo consiste em minimizar o custo total
da viga, sujeito à restrição de capacidade de resistência à flexão. As variáveis de projeto
são a base e a área de reforço de aço, conforme descrito anteriormente. A formulação do
problema é definida na Eq.(25).
Minimize F = 288  21, 2 A s  9b (25)
Sujeito a: g  M rd  M sd  0

10  b  40
10  As  40
50

onde o momento solicitante M sd e o momento resistente M rd são dados pela

Eq.(26) e Eq.(27), respectivamente. Nas equações, f cd e f yd são as resistências de cálculo

do concreto e do aço, e f yk é a resistência característica do aço.

qL2
M sd  1, 4 (26)
8
 f yd As 
M rd  f yd As  d   (27)
 2  b  0,85  f cd 

Para o teste conduzido, foi utilizado o GA do MATLAB (Mathworks, 2014) com


500 gerações e mutação adaptativa (as configurações e parâmetros do Algoritmo
Genético serão abordados com mais detalhes nas próximas seções deste trabalho). Os
demais parâmetros foram mantidos os valores padrão do GA do MATLAB (Mathworks,
2014).
O problema pode ser graficamente analisado de acordo com a Figura 19. O
resultado ótimo obtido no teste conduzido é apresentado no gráfico e na Tabela 3Tabela
3. Os resultados alcançados são próximos aos obtidos nos trabalhos de referência.

Figura 19 - Análise gráfica do problema da viga de concreto armado simplesmente apoiada.

Fonte: Elaborado pelo autor.


51

Tabela 3 – Resultados viga de concreto armado simplesmente apoiada.

Ref.A Ref.B Resultado obtido


b (cm) 20,432 19,584 19,591
As (cm²) 21,339 21,665 21,677
f(b,As)* 924,17 923,562 923,869
Fonte: Elaborado pelo autor.
Nota: Ref.A = Torres (2001) e Ref.B = Horowitz (1998).

3.3.10.2 Pórtico plano

O pórtico plano de concreto armado, apresentado na Figura 20 e testado para


validação, foi apresentado por Horowitz (1998) e Torres (2001).

Figura 20 - Pórtico plano testado.

Fonte: Torres (2001, p.38)

Para esse problema foram considerados os seguintes dados:


• Comprimento do vão (L) = 5,5m;
• Carregamento distribuído (w) = 1,5 tf/m;
• Seção transversal da viga e dos pilares é quadrada;

• Dimensão da seção transversal do pilar ( x1 ) = variável de projeto, em m;

• Dimensão da seção transversal da viga ( x2 ) = variável de projeto, em m;

• Relação entre altura do pilar e vão da viga (  )

Na otimização deste problema, a função objetivo consiste em minimizar o volume


da estrutura (resultado em m³), sujeito à restrição nas tensões atuantes nas seções críticas
do pórtico (topo dos pilares, extremos e região central da viga). As variáveis de projeto
são as dimensões das seções dos elementos, com limites definidos entre 0,01m e 1m. A
formulação matemática do problema é definida na Eq.(28) e a tensão admissível adotada

foi  a = 130 kg/cm².


52

Minimize f( x )= 2 Lx12  Lx22


wL 3wL2 x1
Sujeito a: g1( x )= 2  4 a  0
2 x1 6x1  4 x24
x14 ( x2  6 L) wL
g 2 ( x )= a  0
x23 (6x14  4 x24 ) 2 (28)

x14 x2   L(3x14  6 x24 ) wL


g3 ( x )= a  0
x23 (6x14  4 x24 ) 2

O problema foi testado para diferentes valores de  . Da mesma forma que para
o problema da viga simplesmente apoiada, o pórtico foi otimizado por Horowitz (1998)
e Torres (2001) utilizando Programação Quadrática Sequencial (PQS), disponível no
MATLAB, e o algoritmo de 1ª ordem do módulo de otimização do ANSYS,
respectivamente. No presente trabalho foi utilizado o GA com 100 gerações, 20
indivíduos na população e os demais parâmetros foram mantidos os valores padrão
(Mathworks, 2014). Para  =1, os resultados são mostrados na Tabela 4 e a convergência
do GA ocorreu na 2ª geração.

Tabela 4 – Resultados pórtico plano,  =1


Ref.A Ref.B Resultado obtido
x1 0,0649 0,0635 0,0636
x2 0,2962 0,2967 0,2967
f(x1,x2)* 0,5289 0,5286 0,5288
Fonte: Elaborado pelo autor.
Nota: Ref.A = Torres (2001) e Ref.B = Horowitz (1998).

Para  =0,4, o problema apesenta dois pontos de ótimo e o GA, utilizando os


mesmos parâmetros adotados no caso anterior, convergiu ao final da 8ª geração. Os
resultados obtidos são mostrados na Tabela 5.

Tabela 5 – Resultados pórtico plano,  =0,4


Ref.B* Resultado obtido
x1 0,0929 0,0920
x2 0,3108 0,3111
f(x1,x2)* 0,5690 0,5695
Fonte: Elaborado pelo autor.
Nota: *os dados foram inferidos a partir de gráfico apresentado por Horowitz (1998).
53

3.3.10.3 Conclusão

Conforme explicado anteriormente, os exemplos apresentados têm o intuito de


introduzir problemas de otimização em estruturas bem como mostrar que o GA do
MATLAB (Mathworks, 2014) pode ser usado de maneira satisfatória para aplicação aos
problemas de otimização estrutural de mesma natureza aos estudados neste trabalho. A
validação da rotina de análise estrutural, a partir da comparação dos resultados obtidos
pelo mef_pf.m e SAP 2000, é apresentada no Capítulo 5 aplicada a um dos casos
estudados nesta dissertação.
54

4 ALGORITMO GENÉTICO

4.1 INTRODUÇÃO

O Algoritmo Genético (abreviado neste trabalho como GA) é classificado como


um algoritmo evolucionário e se baseia nos princípios do processo de evolução estudados
por Darwin. A ideia principal é que indivíduos que se adaptam melhor ao ambiente em
que vivem apresentam maior chance de se reproduzir e competir por alimentos
(Costa,1995; Darwin,1859 e Michalewicz,1995), sendo a seleção natural o processo que
governa a evolução das gerações. A evolução natural e os conceitos da ciência genética
podem ser associados à formulação de um problema de otimização cujo objetivo é
adaptar-se ao problema proposto da melhor maneira possível, visando atender todas as
restrições previamente definidas (condições do ambiente, no caso da teoria da seleção
natural).
Como os GAs utilizam conceitos da genética para simular a evolução das
populações, faz-se necessário realizar uma analogia entre os termos utilizados na biologia
e os empregados no módulo computacional a fim de melhor entender a correspondência
(Figura 21) entre eles.
1) Cromossomos: ou indivíduos, representam uma cadeia de caracteres com
informação relativa às variáveis do problema. Cada indivíduo simboliza uma
solução do problema;
2) Gene: é a unidade básica do indivíduo. Cada variável do problema é
representada por um gene, e o conjunto deles forma um indivíduo vide Figura
22);
3) População: é o conjunto de indivíduos (ou soluções);
4) Geração: é o número de iterações, isto é, repetições que o GA executa;
5) Operações genéticas: operações que o algoritmo realiza sobre cada um dos
indivíduos.
55

Figura 21 - Correspondência entre termos da Biologia e Algoritmo Genético na linguagem de


programação.

PROBLEMAS DE
GENÉTICA
OTIMIZAÇÃO

CROMOSSOMO INDIVÍDUO

GENE VARIÁVEL

ALELO VALOR DA VARIÁVEL

Fonte: adaptado de Zini (2009).

Figura 22 - Esquema para representação de um problema com 5 dimensões (5 variáveis de projeto) e com
3 indivíduos (possíveis soluções).

Fonte: Elaborado pelo autor.

Dada uma população de indivíduos (possíveis soluções), a pressão do meio


ambiente causa seleção natural e é esperada a melhoria dos indivíduos ao longo das
gerações (número de iterações que o GA executa). Baseado nas aptidões, alguns dos
melhores candidatos são escolhidos para compor a próxima geração a partir da aplicação
do crossover (também chamado de recombinação ou cruzamento) e/ou mutação. Durante
essa seleção, alguns indivíduos são selecionados a partir do elitismo e passam para
geração seguinte sem sofrer modificações. O crossover é aplicado entre dois ou mais
candidatos (chamados de pais) e resulta em um ou mais novos candidatos (filhos). A
mutação é aplicada a um candidato e resulta em um novo indivíduo (há alteração genética
56

do indivíduo). Ao executar essas operações de crossover e mutação, os novos candidatos


irão competir com os antigos e os melhores formarão a nova população. Esse processo
dura até que um candidato tenha qualidade suficiente ou algum outro critério de parada
que seja encontrado (por exemplo, limite do número de avaliação de funções).
Nesse processo, os dois processos fundamentais que compõem o sistema de
evolução são (Eiben & Smith, 2003):
• Operadores de variação (crossover e mutação), que criam a diversidade
necessária;
• Seleção, que atua como força que impulsiona a propagação dos indivíduos
de melhor qualidade.
É importante destacar que as principais etapas desse algoritmo envolvem
processos estocásticos, ocorrendo de maneira aleatória, por exemplo: a escolha de quais
partes do crossover que serão trocadas; a escolha das partes que sofrerão mutação bem
como o que as substituirá. O esquema geral de funcionamento de um algoritmo genético
pode ser representado pelas seguintes etapas:
• Inicializar a população inicial G através de um processo aleatório;
• Fazer t = 0;
• Enquanto o critério de parada não for atingido fazer:
• Avaliar G(t);
• Selecionar G1* a partir de G(t);
• Fazer o cruzamento e/ou aplicar a mutação em G1* para gerar G(t+1);
• Fazer t = t + 1.
* G1 representa o grupo de indivíduos que melhor se adaptou ao meio (indivíduos
com as melhores aptidões)

4.2 OPÇÕES DO ALGORITMO GENÉTICO E OPERADORES GENÉTICOS

A forma de concepção da busca genética afeta a forma como os operadores


genéticos são definidos. Segundo Oliveira (2013), em GAs convencionais, o operador
de cruzamento é usado como principal operador, ao passo que a mutação é usada como
secundária.
Existe uma enorme gama de estudos empíricos em torno da comparação entre a
importância desses operadores supracitados no processo de busca e que sugerem uma
abordagem em que ambos desempenham papéis fundamentais durante o processo (como
57

sugerido por Gen & Cheng (2000)). As opções dos operadores do GA do MATLAB são
apresentadas no Apêndice A.

4.2.1 Representação dos indivíduos

A representação ou codificação das variáveis do problema de otimização tem


grande impacto no desempenho de um GA, devendo ser o mais simples possível sem
perder, no entanto, as características de representação do problema (Zini, 2009). Portanto,
a elucidação das variáveis é o primeiro passo para construção de um algoritmo e depende
do tipo de problema a ser solucionado. A escolha correta da codificação das variáveis é
uma das partes mais difíceis e complexas de um bom algoritmo evolucionário (Eiben,
2003).
Quando se fala em GA, é comum imaginar a codificação dos cromossomos na
forma binária (utilizando 0 e 1), devido a maior simplicidade da representação e por ter
sido bastante utilizada por programadores, independentemente do tipo de problema a ser
resolvido. Sendo assim, mesmo problemas que possuem variáveis inteiras ou reais são
transformados por processos internos em codificação binária. Contudo, a codificação
binária traz consigo alguns problemas (Zini, 2009), que não serão abordados nesse
trabalho, todavia precisam ser contornados ou a codificação pode ser substituída por uma
representação mais adequada.
De acordo com Obtiko (1998), podem ser destacados os seguintes outros tipos de
codificações (vide Figura 23):
• Codificação por permutação: pode ser usada em problemas que envolvem
ordenação, como o “Problema do Caixeiro Viajante” (Goldbarg & Luna
(2000));
• Codificação de valores: nesse tipo, cada cromossomo é uma sequência de
valores, que podem ser números reais, caracteres ou outro tipo de objeto.
Pode ser usada em problemas que envolvem o cálculo de pesos para uma
rede neural;
• Codificação em árvore: é usada principalmente para desenvolver
programas ou expressões. Cada cromossomo é uma árvore de alguns
objetos, como funções ou comandos de uma linguagem de programação.
Neste trabalho foi utilizada a codificação tipo “double vector” disponível no
toolbox do MATLAB (Mathworks, 2014).
58

Figura 23 - Exemplos de cromossomo codificados nas representações mais comuns.


Binária Por Permutação Valores Árvore

+
Cromossomo 1000110101 12345 1.23 1.45 2.35 4.55 1.07
a b

Fonte: Obtiko (1998).

4.2.2 Geração da população inicial

Em geral, a população inicial é concebida de maneira aleatória e não é considerada


uma fase crítica em algoritmos genéticos, desde que contenha indivíduos suficientemente
diversificados. Às vezes utiliza-se uma população inicial com características pré-
definidas, com soluções aproximadas conhecidas através de algum tipo de informação
prévia.

4.2.3 Escalonamento e seleção dos indivíduos

O processo de seleção define quais os indivíduos serão responsáveis pela


transmissão da informação genética para a próxima geração. Há muitos métodos para
eleger os cromossomos-pais. A seleção, em geral, é baseada na aptidão dos indivíduos
(função objetivo), e os mais aptos tem maior probabilidade de serem escolhidos para o
processo de reprodução. Sendo fi a aptidão do indivíduo i e N o tamanho da população, a
maneira mais simples de determinar essa probabilidade de seleção do indivíduo i (psi) é
dada pela Eq.(29), para fi positivo.
fi
psi 

i (29)
j 1
fi

Os processos de seleção mais conhecidos nos GAs são (Bernardino, 2008):


a) Torneio: dois ou mais indivíduos são escolhidos ao acaso na população e são
comparados, o melhor vence o torneio. O procedimento é realizado até que o número
necessário de indivíduos seja selecionado;
b) Ranking: os indivíduos são ordenados de acordo com a aptidão e a
probabilidade de seleção depende da posição de cada um na lista ordenada. O ranking
pode ser, por exemplo, linear ou exponencial. Inicialmente são calculadas as

probabilidades máxima ( pmax ) e mínima ( pmin ), e as demais são calculadas através de


fórmulas. Na Eq.(30) é mostrada a equação para o caso linear, em que i é o indivíduo.
59

 i 1 
psi  pmin  ( pmax  pmin )
N  1
(30)

c) Roleta: também é conhecida como amostragem estocástica uniforme ou ainda
como seleção proporcional onde a chance de um indivíduo ser escolhido é dada pela
Eq.(29). Esse esquema de seleção se restringe a problemas em que todas as aptidões são
maiores ou iguais a zero. Além disso, pode ser que um indivíduo venha a possuir uma
aptidão muito superior aos demais e esse comportamento impede que outros contribuam
para sua evolução. Isso pode causar uma convergência prematura.

4.2.4 Crossover

O crossover (ou recombinação) define o operador que mescla a informação de


dois pais para formar novos indivíduos. Assim como a mutação, o crossover é um
operador estocástico, visto que a escolha de quais partes de cada pai serão combinadas e
como serão combinadas é uma escolha aleatória. Nos GAs ele é visto como principal
operador (Eiben, 2003). Algoritmos evolucionários criam um número de crianças através
da recombinação aleatória e admitem que algumas irão gerar combinações indesejadas, a
maioria terá configuração nem melhor ou pior que os pais e espera que alguma tenha
características melhores do que os genitores. Além disso, como na Biologia a maior parte
dos indivíduos tem reprodução sexuada (ocorre quando há mistura de material genético
entre dois pais), chega-se à conclusão que a recombinação é a forma superior de
reprodução.
Operadores de recombinação são, na maioria dos casos, aplicados com uma

probabilidade pc , no intervalo [0,1]. Quando os pais são selecionados, é gerado um valor

aleatório entre 0 e 1 e comparado a pc . Se o valor gerado for menor que a probabilidade,


os dois filhos são criados via recombinação, caso contrário, eles serão cópias dos pais.

Ao contrário da probabilidade de mutação pm , que controla como as partes do


cromossomo serão alteradas, a probabilidade de crossover determina a chance de um
conjunto de pais serem submetidos a essa operação.
Assim como a população, os operadores variacionais são dependentes da
codificação da mesma (vide por exemplo Mathworks (2014)).

4.2.5 Mutação

Mutação é o nome dado aos operadores de variação que usam apenas um pai para
gerar um filho através da aplicação de uma mudança randômica no gene do indivíduo. O
60

operador de mutação especifica como o GA faz pequenas modificações aleatórias nos


indivíduos da população para criar os descendentes através dos mesmos. Nos GAs, este
operador é bastante importante para preencher o conjunto de indivíduos com novas
características, ou seja, permitir a exploração de novas regiões do espaço.
A probabilidade de mutação pm pode ser definida de acordo com o tipo de
operador e de como o algoritmo foi programado. De maneira geral, o operador de mutação
mais utilizado no caso de codificação binária considera cada gene separadamente e
permite que esses sejam trocados de 0 para 1 ou 1 para 0 com probabilidade pm . O
número de valores alterados depende da sequência de números codificada, ou seja, para

um cromossomo de tamanho L, uma média de L  pm valores serão trocados. Para


problemas que utilizam outros tipos de codificação, as formas de executar a mutação
sofrem variações. No caso da mutação tipo Gaussiana (Mathworks, 2014), por exemplo,
é adicionado ao gene um valor obtido da distribuição Gaussiana com média 0 (zero) e um
desvio padrão 1 (um). A probabilidade pode ser usada para determinar quantos genes do
indivíduo sofrerão mutação (similar ao caso da codificação binária supracitada) ou ainda
pode ser usada para controlar o desvio padrão da distribuição. No caso de operadores
quando se utiliza representação por permutação, não é possível considerar cada gene
independente. O parâmetro de mutação é interpretado como a probabilidade de a variável
sofrer mudanças. Tais modificações em problemas com codificação por permutação
podem ser a inversão da posição dos genes, troca de valores entre genes, dentre outros.
Na Figura 24 são ilustrados alguns tipos de mutação de acordo com o tipo de
representação dos cromossomos.

Figura 24 - Tipos de mutação por tipo de codificação. (a) Inversão de bit (codificação binária); (b)
Mudança de ordem e (c) Inserção (codificação por permutação); (d) Adição (ou subtração) de número
pequeno a determinadas posições do gene.

Fonte: Elaborado pelo autor.


61

4.2.6 Elitismo

O mecanismo de elitismo é feito, em geral, após a criação da nova população a


partir dos pais selecionados no início da geração. Ao contrário das demais operações que
constituem as etapas de um GA, o elitismo é uma operação determinística em que há
propagação de uma parte dos melhores indivíduos ao longo das gerações.
A aplicação do elitismo tem o intuito de aumentar a velocidade de convergência
do algoritmo e preservar as melhores soluções encontradas na geração atual para as
próximas gerações, garantindo que elas não serão destruídas nas etapas de crossover e
mutação. Sendo assim, além de serem passados para a próxima geração, também
participarão da criação de novos indivíduos. Embora tenha papel fundamental para
convergência do algoritmo, existe a possibilidade de haver um direcionamento
equivocado para algum ótimo local descoberto antes do global (Zini, 2009).

4.2.7 Critérios de parada

Os critérios de parada mais comumente utilizados são:


• Quando se conhece o ótimo do problema (solução obtida pela literatura), pode-se
definir a parada do algoritmo quando ele atingir um determinado nível. Como o GA
é estocástico e não há garantia de atingir o ótimo em uma única rodada, essa condição
pode nem sempre ser satisfeita e pode ser que o algoritmo nunca termine quando
utilizando esse critério (Eiben, 2003).
• Tempo máximo de execução;
• Número máximo de avaliações de função;
• Dado um período de tempo (ou seja, para um dado número de gerações ou avaliação
de funções), quando não é observada melhoria nos resultados;
• Quando a diversidade da população diminui até atingir um limite.

4.3 AJUSTE DE PARÂMETROS

A seleção de valores apropriados para os parâmetros dos GAs é uma das


dificuldades ainda não solucionadas pelos estudiosos. Na prática, esses valores
geralmente são selecionados por convenção, sugeridos por autores, ou através de
simulações para comparações expeditas com a finalidade de defini-los para o problema
especifico investigado (ou seja, testando-se diferentes combinações de parâmetros e
taxas).
62

De acordo com Kramer (2010), o desenvolvimento de técnicas de adaptação dos


parâmetros iniciou-se em 1967, ano em que Rosenberg (1967) propôs adaptar a
probabilidade de aplicação do crossover. Weinberg (1970) foi um dos primeiros autores
a introduzir abordagens meta-evolucionárias.
Eiben et al. (1999) agrupa a seleção de parâmetros em duas abordagens (Figura
25):
• Ajuste off-line (Parameter Tuning): a adequação dos parâmetros é realizada
antes da execução do algoritmo. Estes se dividem em ajuste manual, projeto
de experimentos e meta-evolução.
• Ajuste online (Parameter Control): os parâmetros sofrem alterações ao longo
da execução do processo de otimização. Estes se dividem em ajuste
determinístico, adaptativo e auto-adaptativo.

Figura 25 - Taxonomia para ajuste de parâmetros.

Fonte: Adaptado de Eiben et al. (1999) e Kramer (2010).

Neste trabalho foi utilizada a técnica de ajuste via meta-evolução, destacada na


Figura 25 e descrita com mais detalhes nas próximas seções. Nos algoritmos meta-
evolucionários a otimização ocorre em dois níveis: no primeiro nível ocorre otimização
dos parâmetros (“algoritmo externo”) enquanto que no segundo ocorre a otimização da
função objetivo (“algoritmo incorporado” ou “interno”). Nessa técnica, a estratégia de
seleção de parâmetros constitui o próprio problema de otimização e é esquematizada na
Figura 26. A técnica de meta-evolução permite em geral obter resultados satisfatórios de
ajuste dos parâmetros do otimizador interno, embora requeira maior tempo de execução.
63

Essa técnica adotada é análoga ao conceito da hiper-heurística (HH), que consiste


em “heurística que gerencia heurística” (Sucupira & Silva, 2007) e é utilizada para
resolver problemas de otimização sem que alterações em seu código fonte sejam
necessárias (Sucupira & Silva, 2007). O domínio de uma HH é composto por conjuntos
heurísticos que operam em alto nível de generalidade, e não pelo conjunto de instâncias
de um problema de otimização.

Figura 26 - Fluxo de informações e controle de qualidade no ajuste de parâmetros.

Fonte: Adaptado de Eiben et al. (1999).

A técnica de controle online determinística consiste em modificar o valor do


parâmetro baseando-se em regras que não utilizam informações derivadas da otimização.
São mais simples de serem implementadas e possuem baixo custo computacional. O
controle auto-adaptativo (ou agregado) se caracteriza pela codificação dos parâmetros no
próprio vetor solução, como dimensões extras, que são otimizadas durante o processo de
otimização, então os valores que levam a melhores soluções são mais propensos a se
propagarem. No controle adaptativo, são utilizadas regras pré-definidas pela heurística e
um feedback do processo de busca determina a magnitude e direção na mudança do
parâmetro.
O trabalho de André & Parpinelli (2014) reuniu os estudos recentes na área de
ajuste de parâmetros. A partir da revisão bibliográfica apresentada pelos autores, foi
produzido o gráfico da Figura 27 em que são mostrados em termos percentuais a maior
incidência das pesquisas nessa área de ajuste de parâmetros de acordo com o tipo de
controle definido nos parágrafos anteriores.
64

Figura 27 - Resumo de pesquisas recentes desenvolvidas sobre ajuste de parâmetros, divididas por tipo de
técnica utilizada.

9%

Online - Adaptativo
17%
Online - Determinístico
Online - Agregado
54% Off-line
9%
Outros
11%

Fonte: Criado a partir dos dados apresentados em André & Parpinelli (2014).

Ainda é possível dividir as técnicas de controle de parâmetros de acordo com o


que é alterado e quais evidências dessa alteração. Assim, a classificação dos métodos que
alteram os parâmetros de um GA pode ser (Eiben, 2003):
1) Que parâmetros/componentes são alterados?
2) Como a mudança é feita?
3) Que evidências informam a mudança?
O terceiro critério da classificação diz respeito ao fundamento utilizado para
determinar a mudança no valor do parâmetro, que pode ser através da observação da
performance dos operadores, diversidade da população, dentre outros, que servem como
feedback para o ajuste dos parâmetros (Eiben, 2003). Ainda de acordo com o autor, esse
critério pode ser dividido em evidência absoluta, em que alguma regra determinística
dispara a mudança (requer experiência do usuário), e evidência relativa, em que há
comparação entre as aptidões obtidas pelo indivíduo produzido a partir da alteração e por
outros valores do mesmo parâmetro.
Os principais parâmetros investigados e controlados pelas técnicas de ajuste são
listados nas subseções a seguir. Um resumo dos principais parâmetros investigados na
literatura, criado a partir dos artigos listados na pesquisa realizada por André & Parpinelli
(2014), é mostrado na Figura 28.
65

Figura 28 - Resumo de pesquisas recentes desenvolvidas sobre ajuste de parâmetros, divididas por
parâmetro ajustado.

3%

8%

Probabilidade Mutação
Probabilidade Crossover

54% Tamanho da População


35%
Parâmetro de Seleção

Fonte: Criado a partir dos dados apresentados em André & Parpinelli (2014).

4.3.1 Impacto dos operadores do GA no processo de otimização

Para elucidar o impacto dos parâmetros e operadores de Algoritmos Genéticos na


solução ótima, um estudo paramétrico foi inicialmente conduzido em um exemplo
benchmark da literatura. O problema consiste em minimizar a função multimodal
Schwefel (Molga et al. 2005) representada na Figura 29, empregando restrições de limite
às variáveis [-500,500].
Dada a população inicial indicada na Figura 30, o teste implica na obtenção de
soluções ótimas para três diferentes taxas de cruzamentos: 0,2, 0,5 e 0,8, mantendo-se os
valores padrões para os demais parâmetros (valores padrão do GA do toolbox do
MATLAB).
Conforme observado na Figura 29, a função de Schwefel apresenta muitos
mínimos locais. É importante enfatizar que o ótimo global x* = (420,9687; 420,9687) é
bastante afastado das concentrações de pontos de mínimos locais. Portanto, algoritmos de
busca local podem, facilmente, convergir para uma solução equivocada. Na literatura
(Molga et al. 2005), o valor ótimo para esse problema é dado como f(x*) = -837,9658.
A Figura 30 e Figura 31 ilustram as populações inicial e final, respectivamente,
para cada teste realizado. Com as taxas de cruzamento 0,8 e 0,5 a solução ótima é
f(x*) = - 837,96, enquanto que com a taxa de cruzamento 0,2 a solução modifica-se para
f(x*) = - 620,83. Resultados como estes demonstram claramente a influência que apenas
66

um dos parâmetros de GA possui na solução final, portanto é de se esperar que maiores


variações ocorrerão quando um número maior de parâmetros é variado.

Figura 29 - Representação Gráfica da Função Schwefel.

Fonte: Elaborado pelo autor.

Figura 30 - População inicial.

Fonte: Elaborado pelo autor.


67

Figura 31 - População final e resultados obtidos para as taxas de cruzamento de 0,2, 0,5 e 0,8.

Fonte: Elaborado pelo autor.

4.3.2 Parâmetros mais comumente ajustados

4.3.2.1 Mutação

Quando se refere ao ajuste da mutação, tanto pode ser ajustada a taxa de aplicação
de mutação (pm) quanto o passo da mutação (  ), também conhecido como desvio padrão
da distribuição Gaussiana. Uma direção seguida pela pesquisa da variação de pm reside
na especificação de certo tempo para alterar a taxa, em função do número de gerações.
Posteriormente foi proposta uma variação exponencial de pm ao longo da rodada. Um
argumento sobre uma taxa de mutação dependente do tempo é discutida em Bäck (1992).
Hesser & Männer (1991) sugeriram um esquema em que a taxa de mutação depende do
contador de tempo T (número de gerações), dado pela Eq.(31).
 T
( )
 e 2
pm  (31)
  L
onde α, β e γ são constantes e L é o tamanho do cromossomo.
68

Michalewicz (1992) definiu a singularidade como a distância mínima permitida


entre qualquer cromossomo da população e a prole. Se um novo cromossomo está mais
perto do que o existente, os valores dos alelos correspondentes são randomicamente
alterados até que a distância mínima seja atingida. Isso implicitamente representa um
aumento na probabilidade de mutação.
Outros autores utilizaram o ajuste agregado, decodificando a mutação em alguns
bits. Em Bäck (1992) um método adaptativo para pm foi criado utilizando as seguintes
diretrizes: 1) cada posição de cada cromossomo é associada a uma probabilidade de
mutação; 2) essas probabilidades são incorporadas na representação do cromossomo
codificado em bitstrings; 3) as probabilidades são igualmente sujeitas a mutação e
seleção, isto é, elas participam do processo de evolução que os cromossomos sofrem.

4.3.2.2 Crossover

Um exemplo clássico de ajuste das taxas de crossover do GA é o operador de


Davis (1991), o qual adapta a taxa de crossover através da “recompensa” àqueles
indivíduos que são bem-sucedidos ao criar melhores proles. Essa “recompensa” é
decrescentemente propagada de volta para operadores de algumas gerações anteriores. O
GA que usa esse método aplica vários operadores de crossover simultaneamente na
mesma geração, cada um com sua taxa pc. Cada operador tem seu “delta local”, que
representa a força do operador medida pela vantagem de uma criança criada por ele em
relação ao melhor indivíduo da população (Davis, 1991).

4.3.2.3 Tamanho da população

O tamanho da população pode afetar o desempenho global e eficiência do


Algoritmo Genético. Populações muito pequenas têm grandes chances de perder a
diversidade necessária para convergir e obter uma boa solução, pois fornecem uma
pequena cobertura do espaço de busca (Zini, 2009). Uma população muito grande, por
sua vez, perde a eficiência diante do aumento do número de avaliações a cada iteração.
Quando muitos cromossomos não têm prole, o resultado é a perda rápida de
diversidade e convergência prematura, ou seja, poucos cromossomos são selecionados. A
fim de reconhecer esse fato antes que ocorra, Baker (1985) apresentou a chamada percent
involvement como a porcentagem da população atual que contribui para a geração da prole
da próxima geração. Foi proposto um tamanho de população dinâmico que impõe um
limite inferior para o “envolvimento”. Isso é feito ao se adicionar cromossomos na
população até que o valor da porcentagem de envolvimento aceitável seja atingido. O
69

tamanho da população diminui durante o período de lenta convergência (ou seja, para
aumentar o tamanho da porcentagem de envolvimento).
No trabalho apresentado por Arabas et al (1994) é introduzido o GAVaPS e o
conceito de idade do cromossomo, que é equivalente ao número de gerações que aquele
cromossomo permanece vivo. O GAVaPS não opera com mecanismo de seleção. Quando
o cromossomo nasce, um tempo de vida é associado a ele. Embora essa estratégia não
tenha obtido muito sucesso, o autor destaca a necessidade de conduzir mais investigações.

4.4 FERRAMENTA PROPOSTA

4.4.1 Algoritmo genético utilizado

O desenvolvimento deste trabalho foi conduzido no ambiente do MATLAB


(Mathworks, 2014). O toolbox de otimização global dessa plataforma contém o GA
empregado nos estudos. Nesse, a formulação do problema é apresentada na Eq.(32).
Minimize f  f ( x)
(ou
maximize) c ( x )  0
c ( x )  0
 eq
 (32)
Sujeito a:  Ax  b
A x  b
 eq eq


lb  x  ub
Para se utilizar o GA com as opções default, a sintaxe geral é:

[x,fval,exitflag,output,population,score]=ga(fitnessfcn,nvars,A,b,Aeq,beq,lb,ub,noncolon,options)

em que os argumentos de entrada são fitnessfcn (função que computa a função


objetivo), nvars (dimensão do problema), A e Aeq são as matrizes de restrição linear e b,
beq seus correspondentes vetores. Os limites das variáveis de projeto são lb e ub enquanto
noncolon é a função que computa as restrições não lineares e options é a estrutura que
permite especificar diferentes opções disponíveis para os parâmetros. O argumento de
saída, x, é o ponto ótimo (valor das variáveis de projeto nesse ponto), fval é o valor final
da função objetivo no valor ótimo, exitflag é um valor inteiro correspondente a razão de
término do algoritmo, output é a estrutura que contém as informações sobre a
performance do algoritmo a cada geração, population é a população final e score é um
vetor com as aptidões da população final.
70

A estrutura de opção é criada usando a função gaoptimset, disponível no toolbox


de otimização do MATLAB, em que é possível modificar valores de alguns parâmetros
default do código (como tamanho da população, frequência de crossover, tipos de
operadores, número de gerações, dentre outros). Ver Mathworks (2014).
Caso as opções (options) não sejam especificadas na lista de argumentos de
entrada, o GA utiliza os parâmetros default prescritos em Mathworks (2014). Para criação
das gerações, a reprodução é controlada a partir das opções relativas ao elitismo (valor
padrão é de 2 indivíduos com garantia de passarem para a geração seguinte) e da taxa de
crossover, que indica a quantidade de indivíduos que serão recombinados além daqueles
criados por elitismo (padrão igual a 0,8 e identificada neste trabalho como “Freq.
Cross/Mut”). Conforme manual do GA do MATLAB, utilizando essas taxas para um
exemplo de tamanho de população igual a 20, na concepção da uma geração o número de
crianças de acordo com a proveniência é da seguinte forma:
* 2 crianças provenientes de elitismo
* 18 indivíduos restantes, 0,8 x 18 sofrem crossover = 14
* 4 indivíduos restantes são provenientes de mutação
Os algoritmos evolucionários nas formas padrão, em geral, lidam apenas com
problemas irrestritos. Algumas técnicas têm sido desenvolvidas para contornar essa
dificuldade. Na maioria das aplicações do GA que envolvem restrições tem sido aplicado
o método de penalização de funções. Neste trabalho foi estudado o uso do APM (Barbosa
& Lemonge, 2002), que utiliza informação da população que está sendo avaliada e não
requer que o usuário introduza nenhum parâmetro adicional.
Vale mencionar, que embora o GA seja uma ferramenta para problemas irrestritos,
o MATLAB tem um procedimento interno para lidar com restrições (ver Mathworks,
2014).

4.4.2 Método de penalização adaptativa (APM)

O método de penalização adaptativa (APM) foi desenvolvido por Barbosa &


Lemonge (2002) para aplicação em problemas restritos. Os coeficientes de penalização
são adaptados a cada iteração a partir da leitura de informações da população. A função
aptidão é definida na Eq.(33).
 f ( x) se x é viável

F ( x)   m

 f ( x )    j v j ( x) caso contrário
(33)

 j 1
71

onde


 f ( x) se f ( x )  f ( x) ,
f ( x)   (34)

 f ( x) caso contrário

Na Eq.(34), f ( x) é a média de valores da função objetivo da população atual.


Para ilustrar o comportamento da função aptidão, na Figura 32 são apresentadas tanto
soluções viáveis quanto inviáveis.

Figura 32 - Descrição ilustrativa da função f(x).

Fonte: Oliveira (2013, p.38).

O parâmetro de penalização  j é definido pela Eq.(35). A violação a l-ésima

restrição na população atual é representada por vl ( x ) .

vl ( x )
 j  f ( x) m

  v ( x) 
2 (35)
l
l 1
Neste trabalho, essa metodologia foi implementada no ambiente do MATLAB
para ser usada com o GA (Oliveira, 2013).

4.4.3 Objetivo principal da ferramenta proposta

A principal finalidade da ferramenta desenvolvida (denominada neste trabalho


como M_GA) é que ela seja capaz de, automaticamente, determinar os melhores
parâmetros internos do Algoritmo Genético para um dado problema. Tais especificações
são atingidas com um processo de otimização que emprega o próprio GA como
otimizador. Portanto, a ferramenta implementada é classificada como tipo de ajuste off-
line de parâmetros utilizando algoritmo meta-evolucionário (vide seção 4.3). Os casos
estudados no presente trabalho consideram problemas padrões envolvendo funções
analíticas sujeitas a restrições e aplicações a problemas estruturais, que serão
72

apresentados no capítulo específico. Os parâmetros estudados são apresentados na Tabela


6.

Tabela 6 – Parâmetros do GA estudados


1) Tamanho da população
2) Taxa de aplicação crossover/mutação
3) Tipo do crossover
4) Taxa de crossover específico (taxa 1)
5) Taxa crossover o específico (taxa 2)
6) Tipo da mutação
7) Taxa de mutação específica (Scale)
8) Taxa de mutação específica (Shrink)
9) Taxa de mutação específica (taxa 3)
Fonte: Elaborado pelo autor.

O problema de otimização para processar parâmetros ótimos pode ser formulado


matematicamente como:

(GA1) Minny f ( x* ( y ))
yR
(36)
sujeito a y  yi  y , i  1..ny
l u
i i

(GA2) x* ( y )  GA( y ) ArgMin f ( x )


xR n
(37)
sujeito a xi  xi  xi , i  1..n
l u

onde y representa as variáveis de projeto associadas aos parâmetros e operadores


do GA, e x as variáveis de projeto estabelecidas para a função objetivo desejada f. A
dimensão de y é ny e a dimensão de x é n. A notação <GA(y)>ArgMin representa o
resultado da aplicação de um Algoritmo Genético utilizado y como parâmetro na
minimização da função objetivo f(x).
Os tipos de crossover e mutação testados são mostrados na Tabela 7 com os
índices utilizados para identificação de cada tipo dos operadores. Para os tipos de
crossover Intermediate (tipo 4) e Heuristic (tipo 5) existem parâmetros adicionais,
representados em y por taxa 1 e taxa 2, respectivamente. Para a mutação tipo 1 (Gaussian)
existem duas especificações: fatores scale e shrink. Para a mutação tipo 3 (Uniform) um
parâmetro específico, taxa 3, é estudada.

Tabela 7 - Tipos de crossover e mutação estudados


Crossover
Identificação Tipo
1 Two point
73

Crossover
Identificação Tipo
2 Scattered
3 Single Point
4 Intermediate
5 Heuristic
6 Arithmetic
Mutação
Identificação Tipo
1 Gaussian
2 Adaptfeasible
3 Uniform
Fonte: Elaborado pelo autor.

4.4.4 Implementação

A ferramenta de Computação Paralela disponível no MATLAB possui a


capacidade de solucionar diversos problemas computacionais e de grande porte de dados.
Para isso, pode-se fazer uso de funções que transmitem mensagens entre os diversos
laboratórios configurados, que são os ambientes de trabalho para execução das tarefas
(códigos). A comunicação pode ser dependente ou em paralelo, com divisão de uma
mesma tarefa entre os laboratórios.
Uma grande operação a ser performada no MATLAB, chamada trabalho, é
segmentada em tarefas. A execução de trabalhos e a avaliação de suas tarefas são
coordenadas pelo gerenciador de trabalho que distribui as tarefas para seções de servidor
individuais MATLAB chamadas trabalhadores. A medida que a tarefa for executada o
trabalhador a retorna para o gerenciador e ela recebe outra tarefa. Quando todas as
tarefas para o trabalho em execução forem designadas para os laboratórios, o
gerenciador de trabalho inicia o processamento da próxima tarefa assim que um dos
trabalhadores estiver disponível (Mathworks, 2014).
O atual trabalho implementado no MATLAB com o recurso de programação
paralela, compreende dois laboratórios (trabalhadores), cada um executando um dos
GAs programados com recursos da Ferramenta de Otimização Global. Como cada
laboratório executa atividades interdependentes, o recurso de programação de
distribuição de memória foi utilizado, e a comunicação entre eles foi cumprido com os
comandos labSend e labReceive. A sintaxe do MATLAB para executar o primeiro
comando é labsend (data, destination), onde data é enviado para outro laboratório-
destino específicado no argumento. A sintaxe do MATLAB para a execução do segundo
74

comando é data = labReceive(source), onde source denota o laboratório onde o dado


(data) é originado.

4.4.5 Descrição do algoritmo

Para demonstrar o funcionamento do código implementado será utilizado nessa


seção o caso de ny = 1, onde o único parâmetro considerado a ser obtido é o tamanho da
população. Para facilitar a identificação, o problema formulado pelas Eqs.(36) e (37), são
respectivamente nomeados como GA1 e GA2, e o procedimento mostrado na Figura 33
é descrito passo-a-passo como segue:
• GA1 envia a variável y para GA2;
• GA2 recebe y interpreta como o tamanho da população para a otimização da
função objetivo;
• Para cada y enviado GA2 computa o valor ótimo de f(x*(y));
• Usando f(x*(y)) como a aptidão da função, GA1 determina o tamanho ótimo da
população para o problema solucionado por GA2;

Figura 33 - Representação esquemática do exemplo ny =1.

GA1 envia o
vetor y, contendo
o tamanho da
população, para
GA2

f(x*(y)) é
enviado para GA2 interpreta
GA1 como a y como o
aptidão da tamanho da
função utilizando população
y

GA2 otimiza a
função analítica
através do uso do
tamanho da
população y
recebido de GA1

Fonte: Elaborado pelo autor.

É importante destacar que uma vez que o valor ótimo é recebido de GA2, ele é
normalizado da seguinte forma:
f ( x *( y ))GA2
f ( x *( y))   0, 01 y(1) (38)
fpad
75

onde f ( x *( y ))GA 2 é o tamanho ótimo da população y(1) recebido de GA2, e fpad


é o valor padrão derivado de amostras geradas em Rn espaços projetados utilizando a
técnica de DOE LHS (Latin Hypercube Sample) disponível da função LHSDESIGN do
MATLAB, (Mathworks, 2014). Cem (100) amostras são criadas para a avaliação de f(x),
e o valor médio é adotado para fpad. A segunda parte da Eq.(38) leva em consideração o

número de indivíduos necessários para obter f ( x *( y ))GA 2 , desta forma penalizando


futuras soluções com populações maiores. O valor de 0,01 foi considerado o mais
adequado após testes com diferentes taxas durante o desenvolvimento do esquema de
normalização.
• GA1
Os valores da variável y são modificados a cada geração com os parâmetros GA
(para cada exemplo estudado serão indicados os parâmetros configurados para o GA
externo), de acordo com as restrições de limite (lb,ub) estabelecidas pelo usuário. A
Figura 34 ilustra esquematicamente como GA1 trabalha. GA1 e GA2 comunicam-se
através da função objetivo, F(y), chamada por GA1, como demonstrado na Figura 35. A
avaliação da função ótima para cada indivíduo na população é conduzida com o
otimizador GA2 (Figura 36). Este processamento é feito em paralelo através da opção
“Vetorização” utilizada em GA1 (ver Figura 37). Isso instrui GA1 a mandar para GA2
todos os indivíduos da variável y criados por cada geração a ser avaliada
simultaneamente. Ao fim do processo, esses valores ótimos retornam como um vetor para
GA1. Os parâmetros do GA1 foram utilizados os pré-definidos pelo MATLAB (vide
Apêndice A), exceto o número máximo de gerações (igual a 20 no caso dos problemas
analíticos e 2 a 5 no caso de problemas de estruturas) e tamanho de população (padrão do
MATLAB no caso dos problemas analíticos e 5 no caso de problemas de estruturas).

Figura 34 - Código esquemático de GA1 para ny =1

Fonte: Elaborado pelo autor.


76

Figura 35 - Comunicação entre GA1 e GA2

Fonte: Elaborado pelo autor.

• GA2
A função objetivo de GA2 é a função alvo original f(x). O algoritmo GA é
executado com os parâmetros informados em y. No problema unidimensional acima, y é
o vetor com valores de tamanho da população. Assim que GA2 converge, o valor
correspondente de f(x) para o dado tamanho da população é retornado para GA1, como
pode ser visto na Figura 36. O processo descrito para uma variável (tamanho da
população) é basicamente o mesmo empregado quando a metodologia é aplicada aos
parâmetros expostos na Tabela 6 onde ny = 9.
77

Figura 36 - Código esquemático de GA2 para ny=1.

Fonte: Elaborado pelo autor.

Trechos dos scripts do laboratório de comunicação para a ferramenta são


expostos na Figura 37, com o comando responsável em negrito. A Figura 38 apresenta o
típico mfile (script do MATLAB) quando ftarget (função objetivo) é uma função analítica
(exemplo com a função Griewangk).
78

Figura 37 - Roteiros para GA1 e GA2.


Lab 1 Lab 2

Beginning of GA1 Beginning of GA2

1. Definition of parameter bounds (population size of GA2) 1. Definition of a target function


lb =[20] ftargetname = 'Griewangk'
ub =[200] lb = -600*ones(1,10)
ub = 600*ones(1,10)
2. Modification of GA default specifications, but not the n = length (lb )
default parameters like crossover and mutation type
2. GA2 receives the variables sent from GA1
options = gaoptimset('Vectorized','on','Generations',20) nindiv = labReceive(1)
IntCon = [1] (it means that the variable associated to the for i=1:nindiv
bounds lb and ub is an integer) y (i,:) = labReceive(1)

3. GA call 3. Interpretation of variable sent from GA1


[y ,F] = ga(@F,1,[],[],[],[],lb ,ub ,[],IntCon,options) xps = y (i,1)
gen = round (5000/xps)

function f=F(y)
4. Substitution of default specifications for the parameters
[nindiv,ny] = size (y) settings sent from GA1 to optimize the target function
labSend (nindiv,2)
options = gaoptimiset ('PopulationSize',xps,'Generations',gen)
for i = 1:nindiv
5. GA call
labSend (y(i,:),2) [x,f]=ga(@ftarget,n,[],[],[],[],lb ,ub ,[],options);
f(i) = labReceive(2)

end 6. Optimum obtained using the parameters sent from GA1


labSend (f,1);
end

Fonte: Elaborado pelo autor.

Figura 38 - Típica ftarget para uma função analítica.


function f = fgriewangk (x)

o = 0;

for i=1:length (x)


a(i) = 1+ o;
o = o + 1;
end

f = 1 + sum(x.^2/4000)-prod(cos(x./sqrt(a)));

Fonte: Elaborado pelo autor.


79

5 CASOS ESTUDADOS

5.1 INTRODUÇÃO

Para realizar os experimentos foi utilizado o Algoritmo Genético disponível no


pacote do MATLAB (Mathworks, 2014), conforme descrito no Capítulo 4. Para validação
das rotinas implementadas, dois tipos de testes foram selecionados da literatura: exemplos
numéricos e exemplos associados à análise estrutural.
Para cada exemplo estudado nesse trabalho serão apresentadas as respectivas
função objetivo, variáveis de projeto, limites, restrições, parâmetros investigados do GA,
indicação da aplicação ou não da técnica APM para lidar com restrições, características
dos materiais empregados nas estruturas, combinações de carga estudadas em cada caso,
etc. (ou seja, serão devidamente definidos os problemas executados pelo GA interno –
GA2).
A metodologia empregada para realização dos experimentos conduzidos nesse
trabalho é esquematizada na Figura 39. A etapa 1 consiste na definição do problema, que
pode ser desmembrado em mais de um caso (etapa 2). No caso de pórticos, por exemplo,
pode ser feita uma variação no problema em relação ao carregamento, à consideração de
restrições etc., de forma a configurar mais de um caso de estudo para o mesmo problema.
Na etapa 3 são conduzidos de fato os testes de otimização, que são:
A. Teste 1: Otimização usando GA do MATLAB com parâmetros padrão (exceto
número de gerações e população a depender do teste). Os valores utilizados para
esses dois parâmetros são apresentados em cada seção específica);
B. Aplicação M_GA, ferramenta proposta pelo presente trabalho (conforme
apresentado no Capítulo 4) para investigação da configuração de parâmetros do
Algoritmo Genético para o problema estudado;
C. Teste 2: Otimização usando GA com parâmetros/operadores que foram melhor
solução obtida dentre as rodadas de aplicação do M_GA;
D. Teste 3: Otimização usando GA com os parâmetros/operadores médios das
soluções das rodadas de aplicação do M_GA.
Devido ao comportamento randômico inerente ao GA, foram realizadas 10 (dez)
rodadas para os testes realizados na etapa 3, inclusive a aplicação do M_GA foi conduzida
10 (dez) vezes.
80

Figura 39 - Metodologia dos experimentos conduzidos.

Fonte: Elaborado pelo autor.

Para cada problema, as soluções obtidas, considerando os testes apresentados


acima, foram comparadas entre si e com os resultados reportados na literatura (etapa 4).
A identificação para cada tipo de crossover e mutação foi apresentada anteriormente no
Capítulo 4 deste trabalho e será nesta seção apresentada em termos de seus identificadores
(índices de identificação).
É importante ressaltar que, quando for mencionado o critério de parada do
algoritmo de otimização, serão utilizados os índices-padrão do GA do MATLAB
(indicado por exitflag):
0_XX – Algoritmo parou por ter atingido o número máximo de gerações
estabelecido, XX indica o número máximo de gerações atingido;
1_XX – Algoritmo parou por não ter mudança significativa nos resultados a partir
de parâmetros de controle do GA do MATLAB. Inclui a condição de violação das
restrições ser menor do que a tolerância estabelecida. XX indica a geração em que o
algoritmo parou.

5.2 APLICAÇÃO 1: EXEMPLOS NUMÉRICOS (FUNÇÕES ANALÍTICAS)

Nesta seção, a ferramenta desenvolvida é empregada para resolver seis problemas


irrestritos apresentados na literatura (Molga & Smutinicki, 2005) que envolvem funções
objetivo com diferentes graus de complexidade, com características unimodais e
81

multimodais. Os problemas estão resumidos na Tabela 8 e na Tabela 9. Na primeira, é


feita a associação dos seis problemas investigados (P1 a P6) a respectiva função objetivo,
dimensão do problema (n), limite inferior (lb) e superior (ub) das variáveis de projeto e o
valor ótimo (f*) no ponto ótimo reportado pela literatura.

Tabela 8 – Problemas numéricos estudados

Problema Função n lb ub f*
P1 Dixon Price Min 12 -10 10 0
P2 De Jong’s Min 10 -5,12 5,12 0
P3 Rosebrock’s Min 10 -5 5 0
Valley
P4 Griewangk Min 10 -600 600 0
P5 Michalewicz Min 10 0 π -9,66
P6 Rastrigin Min 10 -5,12 5,12 0
Fonte: Elaborado pelo autor.

Tabela 9 - Equações dos problemas numéricos estudados


n
f ( x)  ( x1  1)2   i(2 xi2  xi 1 ) 2
Dixon Price i 2

n
f ( x)   xn2
De Jong’s i 1

n 1
Rosenbrock’s f ( x)  {100[ x n 1  xn2 ]2  [1  xn ]2 }
Valley n 1

1 n 2 n
 x 
Griewangk
f ( x)   xi   cos  i   1
4000 i 1 i 1  i

2m
ix2
Michalewicz
f(x⃗) = - ∑ni=1 sin⁡(xi ) [sin⁡( πi )] , para m = 10

n
f ( x)  10n    xi2  10cos(2 xi ) 
Rastrigin i 1

Fonte: Elaborado pelo autor.

Os parâmetros e operadores do GA selecionados para variáveis de projeto a serem


determinados pela ferramenta proposta, com os seus respectivos limites inferiores e
superiores, são mostrados na Tabela 10. Esses parâmetros/operadores são considerados
simultaneamente, ou seja, o GA1 resolve um problema de otimização com dimensão
ny=9.
82

Tabela 10 - Problemas numéricos: Parâmetros estudados pelo M_GA


Variáveis
y= [Tam. Pop. Freq.Cross/ Tipo Taxa Taxa Tipo Scale Shrink Taxa 3]
Mut Cross 1 2 Mut
lb = [20 0.01 1 0 1 1 0 0 0]
ub = [200 1 6 2 2 3 1 1 1]
Fonte: Elaborado pelo autor.

Para todos os problemas investigados, um número máximo de avaliações de


função foi estabelecido através da relação nmgen  tampop igual a 5.000 (em que nmgen
é o número máximo de gerações e tampop é o tamanho da população).
Os resultados obtidos estão indicados na Tabela 11, na qual são mostrados os
parâmetros/operadores considerados para cada teste (1 a 3).

Tabela 11 - Problemas numéricos: Parâmetros/operadores usados para os testes de 1 a 3


Formação população Taxa 1
Tam Nº Tipo Scale/Shrink
Problema Teste Tipo Cross ou
Pop Gerações Freq.Cross/ Indiv. Indiv. Indiv. Mut ou Taxa 3
Taxa 2
Mut elitismo crossover mutação

1 20 250 0,80 5 12 3 Scattered - Gauss. 1/ 1

P1 2 20 250 0,68 5 10 5 Intermed. - Adapt. -

3 20 250 0,74 5 11 4 Intermed. - Adapt. -

1 20 250 0,80 5 12 3 Scattered - Gauss. 1/ 1

P2 2 20 250 0,61 5 9 6 Heuristic 1,512 Gauss. 0,24/0,512

3 20 250 0,60 5 9 6 Scattered - Gauss. 0,015/0,75

1 20 250 0,80 5 12 3 Scattered - Gauss. 1/ 1

P3 2 20 250 0,29 5 4 11 Intermed. - Adapt. -

3 20 250 0,27 5 4 11 Heuristic 1,628 Adapt. -

1 20 250 0,80 5 12 3 Scattered - Gauss. 1/ 1

P4 2 20 250 0,68 5 10 5 Sing.Point - Gauss. 0,103/0,550

3 20 250 0,71 5 11 4 Scattered - Gauss. 0,035/0,687

1 20 250 0,80 5 12 3 Scattered - Gauss. 1/ 1

P5 2 40 125 0,61 5 21 14 Scattered - Adapt. -

3 24 208 0,73 5 14 5 Heuristic 1,199 Adapt. -

1 20 250 0,80 5 12 3 Scattered - Gauss. 1/ 1

P6 2 20 250 0,70 5 10 5 Heuristic 1,214 Adapt. -

3 20 250 0,76 5 11 4 Heuristic 1,115 Adapt. -


Fonte: Elaborado pelo autor.

Para cada problema investigado, a função objetivo f* no ótimo, de acordo com os


diferentes testes realizados, está indicada na Tabela 12. A melhor solução f*(x) é também
mostrada nesta tabela. A melhor solução encontrada para cada problema é destacada em
cinza.
83

Tabela 12 – Problemas numéricos: Comparação entre resultados obtidos


f*(x)
Função Teste 1 Teste 2 Teste 3
literatura
P1 0,3505 0,0162 0,0416 0
P2 0,1102 0,000392 0,0245 0
P3 2,6851 1,8271 0,1436 0
P4 0,0147 0,000651 0,001367 0
P5 -7,4821 -8,3057 -8,7215 -9,66
P6 4,3559 0,105 0,716 0
Fonte: Elaborado pelo autor.

Verifica-se que os resultados obtidos pelos testes com os parâmetros configurados


foram mais eficientes que os obtidos pelo GA do MATLAB.

5.3 APLICAÇÃO 2: PÓRTICOS PLANOS

Para organização da apresentação dos testes conduzidos envolvendo problemas


estruturais, será apresentada a seguir uma tabela com as características de cada um deles
de forma que as diferenças e semelhanças entre cada estudo possam ser mais facilmente
visualizadas. As estruturas são apresentadas nas suas respectivas seções. Os estudos e
testes conduzidos serão apresentados ao longo dessa seção e resumidos na Tabela 13.
É importante comentar algumas nomenclaturas adotadas na Tabela 13:
• Linha 1.1: os pórticos estudados são o pórtico αL (Horowitz (1998) e Torres
(2001)) (identificado aqui como PF1), pórtico 3B3S (Lee & Ahn (2003) e Kwak
& Kim (2007)) (identificado aqui como PF2) e pórtico 2B6S estudado mais
recentemente por Akin & Saka (2015) (identificado aqui como PF3), maiores
detalhes destes são trazidos em suas seções específicas;
• Linha 1.9: existência de um banco de dados pré-determinado antes da etapa de
otimização, construído e organizado na ordem crescente de capacidade resistente
da seção é uma solução adotada em algumas referências (por exemplo, Kwak &
Kim (2007), Lee & Ahn (2003) dentre outros). Ao adotar essa metodologia de
lidar com as variáveis, essas são agrupadas em uma variável de projeto
representativa que é o número de identificação da seção;
• Linhas 2.3 e 2.4: conforme mencionado no Capítulo 3, é comum se adotar no
projeto de estruturas o agrupamento de componentes de acordo com o tipo de
comportamento para simplificar o número de variáveis envolvidas no problema.
Nessas linhas são identificados e quantificados os grupos de pilares e vigas;
84

• Linha 2.7: para alguns testes são utilizados os aços do padrão brasileiro e em
outros foi utilizado padrão internacional para fins de comparação de resultados
apresentados nas respectivas referencias. A equivalência ao sistema métrico de
barras apresentadas nesse estudo é apresentada na Tabela 14. A identificação das
barras utilizadas será sempre feita usando as nomenclaturas apresentadas na
coluna “ID” da referida tabela.
• Linha 3.2 e 3.3: são adotadas as seguintes nomenclaturas para identificar os
carregamentos e ações atuantes nas estruturas.
Qd = carga distribuída permanente
Ql = carga distribuída de serviço
Fh = carga concentrada horizontal
PP = peso próprio da estrutura
• Linha 3.3: as combinações de carga são identificadas por CX onde “X” identifica
o número sequencial da combinação. Os esforços considerados no
dimensionamento e verificações são feitos pela envoltória quando se tem mais de
uma combinação de carga;
• Linha 5.2 e 5.3: são utilizadas as seguintes abreviações para os parâmetros do GA.
Tamanho da população: Tam Pop
CR: crossover
MT: mutação
85

Tabela 13 - Dados dos testes aplicados a exemplos associados à analise estrutural.

ID PROBLEMA PF1 PF2_01 PF2_02 PF3


1. PROBLEMA - GERAL

1.1 ID do pórtico Portico αL Portico 3B3S Portico 3B3S Portico 2B6S

1.2 Tipo de otimização Contínua Discreta Discreta Discreta

Minimizar volume da Minimizar custo Minimizar custo Minimizar custo


1.3 Função objetivo
estrutura (concreto, aço e forma) (concreto, aço e forma) (concreto, aço e forma)

1.4 Nº de variáveis 2 18 18 58

Dimensões seção Dimensões seção Dimensões seção


1.5 Variáveis consideradas Dimensões transversais
transversal e área aço transversal e área aço transversal e área aço

1.6 Nº de restrições igualdade 0 0 0 0

Nº de restrições
1.7 3 27 27 47
desigualdade

1.8 Aplicação APM? Não Não Sim Não

1.9 Usa banco de dados? Não Não Não Não

2. PARÂMETROS ESTRUTURA

2.1 Nº pavimentos 1 3 3 6
86

ID PROBLEMA PF1 PF2_01 PF2_02 PF3

2.2 Nº vãos 1 3 3 2

Grupo 1: 1 viga
Nº grupos vigas/ Nºde vigas Grupo 1: 6 vigas (9m)/ Grupo 1: 6 vigas (9m)/
2.3 Grupo 1: 1 viga (5,5m) (6m/4m)/ Grupo 2: 5
no grupo/Vão(m) Grupo 2: 3 vigas (9m) Grupo 2: 3 vigas (9m)
vigas (6m/4m)
Grupo 1: 6 pilares Grupo 1: 6 pilares
Nº grupos pilares/ Nºde Grupo 1: 2 pilares Grupo 1,2 e 3: 6 pilares
2.4 (3,6m) / Grupo 2: 6 (3,6m) / Grupo 2: 6
pilares no grupo (2,2m) (4m) cada grupo
pilares (3,6m) pilares (3,6m)
Norma dimensionamento/
2.5 NBR 6118 NBR 6118 NBR 6118 NBR 6118
verificações

2.6 Estádio verificação ELU ELU ELU ELU

Padrões estrangeiros Padrões estrangeiros ∅10.0, ∅12.5, ∅16.0,


2.7 Diâmetros barras de reforço -
(D19, D22, D25) (D19, D22, D25) ∅20.0, ∅25.0, ∅32.0

3. CARREGAMENTO/ ANÁLISE ESTRUTURAL


MEF - considera não- MEF - considera não- MEF - análise não linear
3.1 Tipo de análise -
linearidade física linearidade física (física e geométrica)
Cargas consideradas (kN,
3.2 Qd= 1.5 ton/m Qd=16,5 ; Ql= 7,2; PP Qd=16,5 ; Ql= 7,2; PP Qd=30 ; Fh= 10; PP
m)
C1=1.4(Qd+PP)+ 1.4Fh (+);
3.3 Combinações de carga - C1=1.7(Qd+PP)+ 1.4Ql C1=1.7(Qd+PP)+ 1.4Ql C2=1.4(Qd+PP)+ 1.4Fh (-);
87

ID PROBLEMA PF1 PF2_01 PF2_02 PF3


4. MATERIAL EMPREGADO
Resistência à compressão
4.1 - 32,9 32,9 20
concreto (MPa) - fck
Resistência à tração (MPa) -
4.2 - 450,8 450,8 500
fyk
Fator minoração resistência
4.3 - 1,4 / 1,15 1,4 / 1,15 1,4 / 1,15
concreto e aço
5. OTIMIZAÇÃO
Nº de parâmetros
5.1 5 2 9 2
configurados no M_GA
Tam Pop, % CR/MT, tipo Tam Pop, % CR/MT, tipo
5.2 Parâmetros estudados CR e taxas relacionadas
Tam Pop, % CR/MT
CR, MT e taxas relacionadas
Tam Pop, % CR/MT

Parâmetros não estudados


(restrição devido ao Tipo de MT e taxas Tipo de MT/CR e taxas Tipo de MT/CR e taxas
5.3 -
funcionamento do GA do relacionadas relacionadas relacionadas
MATLAB)
Fonte: Elaborado pelo autor.
88

Tabela 14 – Aços utilizados nos reforços das seções de concreto.

Nomenclatura Características
Diâmetro
Sistema Massa linear
"Padrão" ID nominal Área (mm²)
métrico (kg/m)
(mm)
D19 (#6 - ANSI) #19 2,24 19,05 285,0

Estrangeiro D22 (#7 - ANSI) #22 3,049 22,225 387,9

D25 (#8 - ANSI) #25 3,982 25,4 506,7

∅6.3 - 0,245 6,3 31,2

∅8 - 0,395 8 50,3

∅10 - 0,617 10 78,5

∅12,5 - 0,963 12,5 122,7

Brasileiro ∅16 - 1,578 16 201,1

∅20 - 2,466 20 314,2

∅22 - 2,984 22 380,1

∅25 - 3,853 25 490,9

∅32 - 6,313 32 804,2

Fonte: Elaborado pelo autor.

Para aplicação da metodologia proposta nos problemas estruturais foi necessário


o desenvolvimento da etapa de análise estrutural via MEF, implementação das restrições,
função objetivo e adaptação do código da análise estrutural para rodar na ferramenta
proposta para configuração dos parâmetros do GA. A princípio a análise estrutural
durante a otimização era conduzida no SAP 2000, porém devido ao elevado esforço
computacional para aplicação da análise rigorosa realizada no programa, optou-se pela
implementação do MEF no ambiente do MATLAB. Para validação das rotinas
programadas foi feita a comparação dos resultados obtidos com o SAP 2000. Um exemplo
de validação das rotinas do MEF implementadas aplicadas ao pórtico PF3 é mostrada na
seção específica desse pórtico.
O GA interno (GA2) nessa aplicação trabalha conforme fluxograma apresentado
na Figura 40.
89

Figura 40 - Etapas problema de otimização.

OTIMIZAÇÃO ANÁLISE ESTRUTURAL

Inicialização do GA

Leitura dos dados da estrutura (vãos,


cobrimento, fck, fyd, etc)

Dadas as dimensões geradas pelo


O otimizador gera indivíduos da população,
otimizador, é conduzida a análise da
que representam dimensões das seções
estrutura e determinados os esforços em
transversais, número de barras, diâmetros
cada elemento

Leitura da envoltória de esforços a partir de


análise não-linear

Cálculo dos parâmetros necessários para


cada elemento da estrutura (Momento
resistente, áreas mínimas e máximas, etc.)

Verificação das restrições

Critério de parada satisfeito?


NÃO
SIM

TÉRMINO DO PROCESSO

Fonte: Elaborado pelo autor.

5.3.1 Problema PF1

5.3.1.1 Apresentação

O primeiro exemplo estrutural (conduzido no problema PF1) para aplicação do


algoritmo meta-heurístico proposto foi o pórtico αL (com α=0,4 e L=5,5m) apresentado
por Horowitz (1998) e Torres (2001), introduzido e preliminarmente estudado no
Capítulo 3 do presente trabalho e apresentada na Figura 41.
90

Figura 41 - Pórtico PF1 (αL).

Fonte: Torres (2001, p.38).

5.3.1.2 Resultados

Os parâmetros estudados para esse problema são mostrados na Tabela 15, onde
for indicado “x” significa que não houve consideração do parâmetro por limitação do
algoritmo face ao problema em estudo. O tipo de mutação neste exemplo não foi uma
variável de projeto do GA1 e foi fixado em 2 (adaptfeasible) uma vez que o GA do
MATLAB não recomenda outro tipo de mutação para esse tipo de problema, portanto o
tipo de mutação não foi considerado um parâmetro variável na etapa de investigação.

Tabela 15 - Problema PF1: Parâmetros estudados M_GA


Variáveis
y= [Tam. Pop. Freq.Cross/ Tipo Taxa Taxa Tipo Scale Shrink Taxa 3]
Mut Cross 1 2 Mut
lb = 20 0.01 1 0 1 x x x x
ub = 200 1 6 2 2 x x x x
Fonte: Elaborado pelo autor.

Foram conduzidas 10 otimizações utilizando a ferramenta proposta sendo obtidas


ao longo destas as seguintes configurações ótimas (Tabela 16). Um número máximo de
avaliações de função foi estabelecido através da relação nmgen  tampop igual a 400. As
colunas da tabela abaixo refletem as variáveis mostradas na tabela de parâmetros
estudados (Tabela 15). No fim desta Tabela 16 são mostrados os parâmetros utilizados na
configuração dos testes 3 e 2 (os médios e os utilizados para o melhor resultado obtido
pelo M_GA).

Tabela 16 – Problema PF1: Rodadas do M_GA

Formação população
Nº Tam.
Rodada f* (x) Freq.Cross Indivíduos Indivíduos Indivíduos
Gerações Pop
/ Mut elitismo crossover mutação
1 0,52892 20 20 0,17 2 3 15
2 0,5312 20 20 0,62 2 11 7
3 0,53138 20 20 0,28 2 5 13
91

Formação população
Nº Tam.
Rodada f* (x) Freq.Cross Indivíduos Indivíduos Indivíduos
Gerações Pop
/ Mut elitismo crossover mutação
4 0,53297 20 20 0,3 2 5 13
5 0,53967 20 20 0,31 2 6 12
6 0,57604 20 20 0,8 2 14 4
7 0,53816 20 20 0,76 2 14 4
8 0,52964 20 20 0,54 2 10 8
9 0,52883 20 20 0,33 2 6 12
10 8,50177 20 20 0,41 2 7 11
Média 1,33386 20 20 0,45 - - -
Melhor f*(x) 0,52883 20 20 0,33 - - -
Desvio
2,5186 0,00 0,00 0,22 - - -
padrão
Fonte: Elaborado pelo autor.

Com os melhores parâmetros obtidos ao longo de 10 rodadas da ferramenta


proposta, mostrados na última linha da Tabela 16, o problema em estudo foi otimizado
10 vezes utilizando o GA com a configuração ótima obtida para o melhor resultado f* e
para o resultado médio. Os resultados são mostrados na Tabela 17. A configuração
ajustada utilizada no teste 2 permitiu encontrar um valor para a função objetivo 7,1%
inferior (f*=0,5288, para x = 0,08802; 0,29991) ao resultado obtido na literatura
(f*=0,5690, para x = 0,09294; 0,31083) e ao obtido pelo GA no teste 1 ( f*=0,5695, para
x = 0,09200; 0,31110), sem haver violação de restrição conforme verificações mostradas
na Tabela 18.

Tabela 17 – Problema PF1: Comparação entre resultados obtidos.

Problema Teste 1 Teste 2 Teste 3 f*(x) literatura


PF1 0,5695 0,5288 0,5574 0,5690*
Fonte: Elaborado pelo autor.
Nota: *os dados foram inferidos a partir de gráfico apresentado por Horowitz (1998).

Tabela 18 – Problema PF1: Verificação das restrições do problema no ponto ótimo obtido.
Limite
Tensão Verificação
Restrição (máximo)
(kg/cm²) restrição
(kg/cm²)
Topo pilar 129,999 130 Atendida
Extremidade viga 2,112 130 Atendida
Centro vão 112,428 130 Atendida
Fonte: Elaborado pelo autor.
92

5.3.2 Problema PF2

5.3.2.1 Apresentação

O problema PF2 consiste na minimização do custo estrutura de um pórtico plano


(concreto, forma e aço) de 3 andares e 3 vãos (3B3S: 3-bay 3-storey), apresentada em Lee
& Ahn (2003) e Kwak & Kim (2007), e foi adaptado e resolvido pela metodologia aqui
proposta. A estrutura é composta por 9 vigas e 12 pilares projetados de maneira agrupada
em 2 grupos de vigas e 2 grupos de pilares, conforme mostrado na Figura 42.
As vigas centrais foram agrupadas no Grupo 2 e as vigas das extremidades no
Grupo 1. Da mesma forma foi feito o agrupamento dos pilares.

Figura 42 - Pórtico PF2 (3B3S): Organização das variáveis.

Fonte: Elaborado pelo autor.

Para obtenção dos esforços, cada viga foi discretizada com 2 elementos e 1
elemento foi utilizado para representar cada pilar, totalizando 30 elementos na estrutura,
conforme mostrado na Figura 43. As nomenclaturas atribuídas às vigas e pilares nesta
figura foram as utilizadas no SAP 2000 e não tem relação ao agrupamento descrito no
parágrafo introdutório sobre esta estrutura. Para esclarecer a nomenclatura indicada na
figura, V3-1_a, por exemplo, significa: viga - 3º pavimento - 1º vão - parte a (antes do
ponto intermediário de discretização do elemento de viga).
No caso PF2_01 essa estrutura é submetida a um carregamento permanente
uniformemente distribuído de 16,5 kN/m e uma carga de serviço de 7,2 kN/m, e para
combinação de carga foi utilizado fatores de majoração 1,4 e 1,7, respectivamente, que
são os mesmos utilizados nos trabalhos de referência (indicação da norma ACI 318-99
93

(ACI, 2008)). Ainda para o problema PF2_01 foram adotados os parâmetros de projeto
também conforme referências, sendo a resistência de compressão do concreto
fcd =23,5MPa e fyd=392MPa para a resistência à tração do aço e aços padrão D19, D22 e

D25.

Figura 43 - Pórtico PF2: Representação da estrutura e nós utilizando o SAP.

Fonte: Elaborado pelo autor.

5.3.2.2 Otimização

Função objetivo. O custo total da estrutura é a função objetivo utilizada nesse


trabalho para o projeto ótimo de pórticos de concreto armado, que é função do volume de
concreto da estrutura, peso da armadura e área de fôrma. A forma matemática da função
objetivo a ser minimizada é definida na Eq. (39).
nc nb
F  {Ccbi hi  CsWsi  2C f (bi  hi )}li  {Ccb j h j  CsWs j  C f (b j  2h j )}l j (39)
i 1 i j

onde l é o vão de cada elemento, nb = número de vigas do pórtico e nc = número


de pilares do pórtico. As características geométricas são base b e altura h , e Ws é dado
pela área de aço As multiplicada pelo comprimento de cada barra de reforço. Para os
custos do concreto ( Cc ), aço ( Cs ) e forma ( C f ) foram tomados os adotados na referência

(Lee & Ahn, 2003) e valem, respectivamente, 54 US$/m³, 0,55 US$/kg e 54 US$/m²
(preços em dólar americano).
Variáveis de projeto. Todas as variáveis desse problema são discretas. Para as
vigas, as dimensões da seção transversal, a área de reforço das barras ao longo da viga e
nos apoios são as variáveis de projeto. As variáveis de projeto, o número e identificação
94

de cada são definidas na Tabela 19, na qual também são apresentados os limites inferiores
e superiores para essas variáveis. Por questões construtivas, as dimensões da seção
transversal são incrementadas a cada 5 cm. As variáveis de projeto para os pilares são as
dimensões da seção transversal na direção x e y (que são incrementadas a cada 5cm), o
diâmetro e o número de barras de reforço em cada direção. Na Tabela 20 são apresentadas
as variáveis e o número de variáveis (coluna “quantidade”) para os pilares bem como o
limite inferior e superior para cada. Ao total (vigas e pilares) tem-se 18 variáveis de
projeto, número calculado conforme Eq.(40), em que ngrv== 2 (número de grupos de
vigas), nvgrv=5 (número de variáveis por grupo de viga dado na Tabela 19). De maneira
análoga para os pilares, ngrp= 2 e nvgrp = 4 conforme Tabela 20.
n  ngrv  nvgrv  ngrp  nvgrp (40)

Tabela 19 – Pórtico PF2: Variáveis de projeto das vigas (por grupo de viga)
Variável de
Descrição Limite inferior Limite superior
projeto
xi ,1 Base da seção transversal da viga 20cm 50cm
xi ,2 Altura da seção transversal da viga 35cm 90cm
xi ,3 Diâmetro da armadura das vigas ∅19 (D19) ∅22 (D22)

xi ,4 Número de barras (momento negativo) 2 6

xi ,5 Número de barras (momento positivo) 2 6

Fonte: Elaborado pelo autor.


Nota: i é número do grupo da viga.

Tabela 20 - Pórtico PF2: Variáveis de projeto dos pilares (por grupo de pilar)

Variável de projeto Descrição Limite inferior Limite superior


xip ,1 Dimensão na direção x 30cm 60cm
xip,2 Dimensão na direção y 30cm 90cm
xip,3 Número de barras* 4 18
xip ,4 Diâmetro da armadura ∅19 (D19) ∅25 (D25)
Fonte: Elaborado pelo autor.
Nota: ip é número do grupo do pilar.

Restrições. Os critérios considerados neste exemplo para o projeto de otimização


são ligados à resistência, estabilidade e segurança da estrutura. As restrições são
separadas por grupos de viga, pilar e nós. Não foram verificadas restrições para o ELS
95

(Estado Limite de Serviço (ABNT, 2014)) no que se refere à abertura de fissuras e flecha
máxima. Ao total são 27 restrições para o problema PF2.
Todas as restrições são consideradas na forma normalizada e estão apresentadas
nas equações descritas a seguir. Para o vão das vigas são analisadas as seções críticas no
meio de cada vão e nos apoios.
As restrições para as vigas são descritas nas equações abaixo (Eq.(41) à Eq.(46)).
A capacidade resistente da seção deve ser menor do que o momento de dimensionamento
(vide Eq.(41)). A Eq.(42) e Eq.(43) verificam se as áreas calculadas a partir dos diâmetros
e números de barras obtidas pelo otimizador atendem às áreas de aço mínimas e máximas
estabelecidas pela NBR 6118 (ABNT, 2014). A capacidade resistente das vigas ao
cisalhamento deve ser maior do que o esforço cortante solicitante (Eq.(44) e Eq.(45)).
Além dessas restrições, é imposto um número máximo de camadas para disposição das
armaduras igual a 2 (Eq.(46)).

M d  i ,k 
g1 ( x)  1  0 (41)
M n i , k 
As ,mini ,k 
g 2 ( x)  1  0 (42)
Asi ,k 
Asi ,k 
g3  x   1  0 (43)
As ,maxi ,k 
Vsi ,k 
g4  x   1  0 (44)
Vrd 2i ,k 
Vsi ,k 
g5  x   1  0 (45)
Vrd 3i ,k 
nci ,k 
g6  x   1  0 (46)
2

Onde:
i = grupo da viga;
k = seção crítica para análise;
Mn= momento resistente;
Md = momento solicitante;
96

As = armadura definida a partir de informações fornecidas pelo otimizador (número de


barras e respectivo diâmetro por seção de análise);
As,min = armadura mínima;
As,max = armadura máxima;
Vs = esforço cortante solicitante;
Vrd2 = força resistente de cálculo relativa à ruina das diagonais comprimidas de
concreto;
Vrd3= força cortante resistente de cálculo relativa à ruina por tração da diagonal;
nc = número de camadas.

As restrições para os pilares são dadas a partir da Eq.(47) a Eq.(49). Da mesma


forma que descrita para as vigas, as restrições verificam a capacidade resistente da seção
(vide Eq.(47)) e a área mínima e máxima através da Eq.(48) e Eq.(49).
M d  i ,k , j 
g 7 ( x)  1  0 (47)
M n i , k , j 
As ,min i ,k , j
g8 ( x )  1  0 (48)
Asi ,k , j 
Asi ,k , j 
g9  x   1  0 (49)
As ,maxi ,k , j 

onde:
i = grupo do pilar;
k = seção crítica para análise;
j = pavimento (nesse caso = 1 pois foi verificado no pilar mais carregado do grupo);

Além das restrições apresentadas para vigas e pilares, foram impostas restrições
para os nós e para o deslocamento máximo da estrutura. Na Eq.(50) a base da viga deve
ser menor do que a dimensão do pilar conectado àquele nó. Na Eq.(51) é verificado se o
maior deslocamento horizontal verificado para os nós da estrutura atende ao limite
máximo estabelecido em norma (ABNT, 2014).
bv ( i )
g10  x   1  0 (50)
bp ( i )
desloc
g11  x   1  0 (51)
desloclim
onde:
97

i = nó;
bv = base da viga;
bp= base do pilar;
desloc = deslocamento da estrutura;
desloc lim= deslocamento máximo permitido, dado pela razão entre a altura total do
pórtico dividido por 1700.
5.3.2.3 Resultados

Para este pórtico, foram propostas duas abordagens. A primeira, que constitui o
problema PF2_01 consiste em conduzir os testes usando o esquema de tratamento das
restrições disponível no MATLAB (Mathworks, 2014). O problema PF2_02 se distingue
daquele primeiro pelo uso da técnica APM para tratar as restrições. Com a implementação
da técnica de penalização, o problema se torna irrestrito e podem ser testados outros
parâmetros que não são permitidos na versão do GA do MATLAB para tratar problemas
restritos. Portanto, os dois problemas se distinguem pela forma de lidar com as restrições
e consequentemente pelo número de parâmetros estudados no M_GA.
Para os dois problemas foi estabelecido um número máximo de avaliações de
função através da relação nmgen  tampop igual a 2.400.
a) Resultados Problema PF2_01
Os resultados obtidos utilizando o GA com número de gerações limitado a 200 e
tamanho de população 20 (demais parâmetros mantidos padrão do MATLAB) são
mostrados na Tabela 21. Este resultado é o melhor obtido dentre as 10 rodadas para o
teste 1.

Tabela 21 - Problema PF2_01: teste 01


Var. projeto Var. projeto
Viga GR.1 Viga GR.2 Pilar GR.1 Pilar GR.2
p/vigas p/pilares
x1/x2 25/50 25/50 x1/x2 30/30 30/30
x4,x3 (M-) 6∅22 5∅22 x3,x4 12∅19 4∅19
x5,x3 (M+) 3∅22 3∅22
RESULTADO DA OTIMIZAÇÃO
Melhor solução f*(x) Avaliação Restrições Exitflag
10.238,00 Ativas 4 1_157
Média das soluções Atendidas 23 Nº aval função
11.144,23 Violadas 0 3.161
Fonte: Elaborado pelo autor.

Os parâmetros estudados para esse problema são mostrados na Tabela 22. Por se
tratar de um problema restrito e com variáveis inteiras, o GA do MATLAB permite as
98

variações nos parâmetros indicados abaixo. Portanto, o M_GA aplicado a este problema
permite o ajuste do tamanho da população dentro do limite mostrado na tabela abaixo
(entre 20 e 200 indivíduos na população) e frequência de crossover/mutação variando de
0,01 a 1. O número de gerações para cada avaliação de função que o GA1 conduz é função
da relação nmgen x tampop.

Tabela 22 – Problema PF2_01: Parâmetros estudados M_GA


Variáveis
y= [Tam. Pop. Freq.Cross/ Tipo Taxa Taxa Tipo Scale Shrink Taxa 3]
Mut Cross 1 2 Mut
lb = 20 0.01 x x x x x x x
ub = 200 1 x x x x x x x
Fonte: Elaborado pelo autor.

As configurações obtidas nas 10 rodadas da ferramenta proposta são mostradas na


Tabela 23. Também são apresentados os valores normalizados para cálculo do desvio
padrão dos resultados. A formação da população também é apresentada, calculada a partir
do tamanho de população e frequência de crossover/mutação em cada rodada.

Tabela 23 – Problema PF2_01: Rodadas do M_GA

Formação população
f*(x) Nº
Rodada f*(x) Tam. Pop Freq.Cross/ Indivíduos Indivíduos Indivíduos
normalizado Gerações
Mut elitismo crossover mutação

1 0,5295 10.590,05 114 21 0,75 5 12 4

2 0,5329 10.657,98 100 24 0,32 5 6 13

3 0,5085 10.170,24 83 29 0,46 5 11 13

4 0,5203 10.406,97 86 28 0,18 5 4 19

5 0,5168 10.336,26 109 22 0,1 5 2 15

6 0,5827 11.653,23 22 109 0,22 5 23 81

7 0,5216 10.431,71 114 21 0,75 5 12 4

8 0,5131 10.262,84 100 24 0,32 5 6 13

9 0,5123 10.245,46 109 22 0,76 5 13 4

10 0,5063 10.126,63 75 32 0,63 5 17 10

Média 0,5244 10.488,14 91 33 0,45 - - -


Melhor
0,5063 10.126,63 75 32 0,63 - - -
f*(x)
Desvio
0,0210 - 26,4076 25,5139 0,2430 - - -
padrão
Fonte: Elaborado pelo autor.

Com os parâmetros obtidos, foram conduzidos os testes 2 e 3 e obtidos os


resultados mostrados na Tabela 24 e Tabela 25 respectivamente, que representam os
melhores das 10 rodadas.
99

Tabela 24 – Problema PF2_01: teste 02


Var. projeto Var. projeto
Viga GR.1 Viga GR.2 Pilar GR.1 Pilar GR.2
p/vigas p/pilares
x1/x2 25/50 25/40 x1/x2 35/30 30/30
x4,x3 (M-) 6∅22 6∅22 x3,x4 6∅25 4∅19
x5,x3 (M+) 4∅22 3∅22
RESULTADO DA OTIMIZAÇÃO
Melhor solução f*(x) Avaliação Restrições Exitflag
10.119,61 Ativas 4 0_75
Média das soluções Atendidas 23 Nº aval função
10.464,70 Violadas 0 2.433
Fonte: Elaborado pelo autor.

Tabela 25 – Problema PF2_01: teste 03


Var. projeto Var. projeto
Viga GR.1 Viga GR.2 Pilar GR.1 Pilar GR.2
p/vigas p/pilares
x1/x2 25/50 25/40 x1/x2 30/30 30/30
x4,x3 (M-) 6∅22 6∅22 x3,x4 8∅25 4∅19
x5,x3 (M+) 4∅22 3∅22
RESULTADO DA OTIMIZAÇÃO
Melhor solução f*(x) Avaliação Restrições Exitflag
10.087,54 Ativas 4 0_91
Média das soluções Atendidas 23 Nº aval função
10.439,96 Violadas 0 3.037
Fonte: Elaborado pelo autor.

Por fim, os parâmetros utilizados em cada teste são resumidos na Tabela 26, e o
resumo dos resultados apresentados na Tabela 27 em que o melhor resultado obtido é
destacado.

Tabela 26 – Problema PF2_01: Parâmetros/operadores usados para os testes de 1 a 3


Parâmetros do GA
Problema Nº Freq.
Taxa 1
Scale/Shrink
Tam Pop Tipo Cross ou Tipo Mut
Gerações Cross/Mut ou Taxa 3
Taxa 2

Teste 1 20 200 0,800 Scattered - Gauss. 1/1

PF2_01 Teste 2 32 75 0,630 - - Adapt. -

Teste 3 33 91 0,450 - - Adapt. -

Fonte: Elaborado pelo autor.

Tabela 27 - Problema PF2_01: Comparação entre resultados obtidos


Problema Teste 1 Teste 2 Teste 3 f*(x) literatura
PF2_01 10.238,00 10.119,61 10.087,54 10.566,00*

Fonte: Elaborado pelo autor.


Nota: * referência Lee & Ahn (2003) usando GA
100

O teste 3 conduzido com os parâmetros configurados obteve a estrutura com


menor custo dentre os demais valores apresentados na Tabela 27. Esse valor foi obtido
para 3.073 avaliações de função. Os gráficos da evolução da otimização para os 3 testes
são mostrados na Figura 44 para o valor da função normalizada com fpad=20.000 (fpad
representa um valor para o projeto inicial estabelecido para normalização da função
objetivo). Nesses gráficos, os pontos pretos indicam o valor do melhor indivíduo da
geração e os azuis o valor médio dos resultados. A partir dos gráficos expostos, para um
mesmo número máximo de avaliações de função, pode-se concluir que a metodologia
proposta (obtenção dos melhores parâmetros do GA) foi mais efetiva na obtenção dos
resultados e permitiu estabelecer um equilíbrio entre número de gerações, tamanho da
população e probabilidade de crossover/mutação que ensejou na obtenção de melhores
resultados, reiterando a dependência do desempenho do GA ao ajuste de seus
operadores/parâmetros e a aleatoriedade dos resultados. A diversidade da população pode
ser analisada a partir dos gráficos apresentados. Desde que a distância entre a média e os
melhores indivíduos não seja tão grande (essa medida é função do problema e do
comportamento estocástico do algoritmo), em geral uma população com maior
diversidade tende a apresentar melhor resultados (Mathworks, 2014). Para os testes
apresentados, a taxa de indivíduos gerados a partir de mutação cresce à medida que “Freq.
Cross/Mut” diminui e isto pode ser graficamente constatado diante da maior distância
entre os pontos azuis (média) e pretos (melhor) (vide parâmetros na Tabela 26 e
explicação sobre “Freq. Cross/Mut” no Capítulo 4).

Figura 44 - Problema PF2_01: Gráfico de evolução resultado obtido para os testes 1,2 e 3 (valores
normalizados), respectivamente (a), (b) e (c).

(a)
101

(b)

(c)

Fonte: Elaborado pelo autor.

b) Resultados Problema PF2_02


Os resultados obtidos utilizando o GA com o esquema APM para lidar as
restrições com número de gerações limitado a 200 e tamanho de população 20 (demais
parâmetros mantidos padrão do MATLAB) são mostrados na Tabela 28. Os 9 (nove)
parâmetros estudados no M_GA são mostrados na Tabela 29. As configurações obtidas
nas 10 rodadas da ferramenta proposta são mostradas na
Tabela 30. Os resultados dos testes 2 e 3 utilizando os parâmetros conforme
102

Tabela 30 são mostrados na Tabela 31 e na Tabela 32, respectivamente. A síntese


dos testes, das configurações do GA utilizadas e dos resultados atingidos em cada um
deles é apresentada na Tabela 33 e Tabela 34.

Tabela 28 – Problema PF2_02: teste 01


Var. projeto Var. projeto
Viga GR.1 Viga GR.2 Pilar GR.1 Pilar GR.2
p/vigas p/pilares
x1/x2 25/60 25/60 x1/x2 40/30 35/30
x4,x3 5∅22 4∅22 x3,x4 8∅19 8∅22
x5,x3 5∅22 3∅22
RESULTADO DA OTIMIZAÇÃO
Melhor solução f*(x) Avaliação Restrições Exitflag
11.617,00 Ativas 4 1_76
Média das soluções Atendidas 23 Nº aval função
12.911,93 Violadas 0 1.540
Fonte: Elaborado pelo autor.

Tabela 29 – Problema PF2_02: Parâmetros estudados M_GA


Variáveis
y= [Tam. Pop. Freq.Cross/ Tipo Taxa Taxa Tipo Scale Shrink Taxa 3]
Mut Cross 1 2 Mut
lb = 20 0.01 1 0 1 1 0 0 0]
ub = 200 1 6 2 2 3 1 1 1]
Fonte: Elaborado pelo autor.

Tabela 30 – Problema PF2_02: Rodadas do M_GA

Formação população
f*(x) Nº
Rodada f*(x) Tam. Pop
normalizado Gerações Indivíduos Indivíduos Indivíduos
Freq.Cross/ Mut
elitismo crossover mutação
1 0,5932 11.863,07 96 25 0,39 5 8 12

2 0,6683 13.366,98 100 24 0,12 5 2 17

3 0,6744 13.487,80 80 30 0,56 5 14 11

4 0,6861 13.721,24 42 57 0,51 5 27 25

5 0,7519 15.038,36 75 32 0,57 5 15 12

6 0,6677 13.353,87 73 33 0,88 5 25 3

7 0,5984 11.967,44 73 33 0,42 5 12 16

8 0,5624 11.248,75 21 117 0,12 5 13 99

9 0,7019 14.037,74 92 26 0,15 5 3 18

10 0,5624 11.247,21 44 55 0,87 5 44 6

Média 0,6467 12.933,24 70 43 0,46 - - -


Melhor
0,5624 11.247,21 44 55 0,87 - - -
f*(x)
Desvio
0,0606 - 24,6219 26,9807 0,2651 - - -
padrão
103

Continuação colunas Tabela 30

Tipo Taxa Taxa Tipo Taxa


Rodada Scale Shrink
Cross 1 2 Mut 3

1 1 - - 2 - - -

2 5 - 1,24 2 - - -

3 2 - - 2 - - -

4 4 0,12 - 2 - - -

5 1 - - 2 - - -

6 1 - - 2 - - -

7 2 - - 2 - - -

8 3 - - 2 - - -

9 3 - - 2 - - -

10 5 - 1,55 2 - - -

Média 3 - - 2 - - -
Melhor
5 - 1,55 2 - - -
f*(x)
Desvio
- - - - - - -
padrão
Fonte: Elaborado pelo autor.

Tabela 31 – Problema PF2_02: teste 02


Var. projeto Var. projeto
Viga GR.1 Viga GR.2 Pilar GR.1 Pilar GR.2
p/vigas p/pilares
x1/x2 40/60 25/45 x1/x2 50/35 40/55
x4,x3 6∅19 5∅22 x3,x4 6∅19 8∅22
x5,x3 5∅19 5∅22
RESULTADO DA OTIMIZAÇÃO
Melhor solução f*(x) Avaliação Restrições Exitflag
12.946,23 Ativas 5 0_44
Média das soluções Atendidas 22 Nº aval função
13.171,63 Violadas 0 2.475
Fonte: Elaborado pelo autor.

Tabela 32 – Problema PF2_02: teste 03


Var. projeto Var. projeto
Viga GR.1 Viga GR.2 Pilar GR.1 Pilar GR.2
p/vigas p/pilares
x1/x2 25/55 25/35 x1/x2 40/35 30/50
x4,x3 5∅22 6∅19 x3,x4 8∅19 12∅19
x5,x3 6∅22 5∅19
RESULTADO DA OTIMIZAÇÃO
Melhor solução f*(x) Avaliação Restrições Exitflag
11.140,70 Ativas 6 0_70
Média das soluções Atendidas 21 Nº aval função
11.193,96 Violadas 0 3.053
Fonte: Elaborado pelo autor.
104

Tabela 33 – Problema PF2_02: Parâmetros/operadores usados para os testes de 1 a 3


Parâmetros do GA

Taxa
Problema Nº Freq. 1 ou Scale/Shrink
Tam Pop Tipo Cross Tipo Mut
Gerações Cross/Mut Taxa ou Taxa 3
2
Teste 1 20 200 0,800 Scattered - Gauss. 1/1

PF2_02 Teste 2 55 44 0,866 Heuristic 0,94 Adapt. -

Teste 3 43 70 0,457 Single point - Adapt. -


Fonte: Elaborado pelo autor.

Tabela 34 - Problema PF2_02: Comparação entre resultados obtidos


Problema Teste 1 Teste 2 Teste 3 f*(x) literatura
PF2_02 11.617,00 12.946,23 11.140,70 10.566,00
Fonte: Elaborado pelo autor.

Conforme destacado na Tabela 34, o teste 3 conduzido com os parâmetros


configurados (Tabela 33) obteve a estrutura com menor custo dentre as soluções obtidas
pelo otimizador nos demais testes.
Sem o uso do APM, os resultados deram mais próximos da literatura (vide valores
apresentados na Tabela 27 e Tabela 34) e o esquema interno do GA de lidar com as
restrições foi satisfatório para o caso estudado. Ademais, o ajuste de parâmetros quando
utilizando o APM envolve um problema de dimensão 9 resolvido pelo GA1 (nível de
controle de parâmetros) ao passo que para PF2_01 o problema tem 2 dimensões (tamanho
de população e frequência de crossover/mutação). Além disso, por resolver um problema
de maior dimensão para PF2_02, o GA1 precisaria ser configurado para trabalhar com
mais gerações e mais indivíduos na população para melhorar o processo de convergência
e possivelmente obter de melhores resultados com APM.

5.3.3 Problema PF3

5.3.3.1 Apresentação

O problema PF3 consiste na minimização do custo estrutura de um pórtico plano


(concreto, forma e aço) de 6 andares e 2 vãos (2B6S: 2-bay 6-storey). Este exemplo
estudado é representado na Figura 45 e foi estudado por Akin & Saka (2015). Esse pórtico
é constituído por 12 vigas e 18 pilares, que são agrupados em 2 e 3 grupos
respectivamente. A viga da coberta está inserida no Grupo 1 e as demais no Grupo 2. Os
pilares de canto estão agrupados no Grupo 1 e 3 e os pilares do centro no Grupo 2. Foram
adotados os seguintes valores para o projeto (conforme dados da literatura):
105

• Resistência à compressão do concreto: fck =20 MPa


• Resistência ao escoamento do aço: fyk =500 MPa
• Cobrimento das vigas e pilares: 2,5cm
• Módulo de elasticidade longitudinal do aço: 200 GPa
• Peso específico do concreto: 25 kN/m³
• Coeficientes de segurança: 1,4 (concreto) e 1,15 (aço)
Para obtenção dos esforços, cada viga foi discretizada com 2 elementos e 1
elemento foi utilizado para representar cada pilar, totalizando 42 elementos na estrutura,
conforme mostrado na Figura 46.
A estrutura é carregada com uma carga uniformemente distribuída de 30 kN/m e
uma força lateral de 10 kN aplicada em cada pavimento. O peso próprio é variável de
acordo com as dimensões enviadas pelo otimizador e também considerado para o cálculo
dos esforços na estrutura. Os esforços solicitantes foram obtidos a partir da envoltória das
combinações de carga no Caso 1 (força horizontal no sentido positivo de X) e no Caso 2
(força horizontal no sentido negativo de X), Figura 47. Foi conduzida análise não linear
via MEF, conforme procedimento mostrado no Capítulo 3.
106

Figura 45 - Pórtico PF3 (2B6S): Organização das variáveis.

Fonte: Elaborado pelo autor.

Para esse exemplo estudado são totalizadas 47 restrições não-lineares além das
restrições de limite, dentre as quais 20 são referentes às restrições de vigas, 24 referentes
aos pilares e 3 referentes aos nós e deslocamento.
107

Figura 46 - Pórtico PF3: Representação da estrutura e nós no SAP.

Fonte: Elaborado pelo autor.


108

Figura 47 - Pórtico PF3: Casos de carga estudados.

(a) Caso 1 (F sentido positivo de X) (b) Caso 2 (F sentido negativo de X)

Fonte: Elaborado pelo autor.

Para este exemplo é mostrada na Tabela 35 e Tabela 36 os valores de esforço


normal, cortante e momento fletor comparados com os obtidos no SAP 2000, para análise
linear e não-linear, respectivamente. As cores atribuídas aos erros percentuais estão em
escala de cor em função da magnitude da diferença encontrada em relação ao SAP.
Embora seja percebida uma diferença relativa no cortante do pilar P1-1 desta estrutura,
tal dado não interfere nas análises e verificações conduzidas. A magnitude desse esforço
é pequena, por isso a diferença entre os resultados a princípio é grande. São consideradas,
portanto, válidas as rotinas implementadas e adequadas para o uso na aplicação os
problemas estudados nesta dissertação.
109

Tabela 35 – Comparação dos resultados da análise linear via o MEF implementado x SAP 2000 (pórtico PF3).
Esforço P1-1 P1-2 P1-3 P1-4 P1-5 P1-6 P2-1 P2-2 P2-3 P2-4 P2-5 P2-6 P3-1 P3-2 P3-3 P3-4 P3-5 P3-6
Cortante Fx,1 19,8% 0,8% 0,3% 0,6% 0,2% 0,4% 0,4% 0,1% 0,0% 0,2% 0,2% 0,3% 0,0% 0,3% 0,2% 0,2% 0,1% 0,3%
Normal Fy,1 0,0% 0,1% 0,1% 0,0% 0,0% 0,0% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1%
Fletor Mz,1 2,0% 0,9% 0,2% 0,3% 0,1% 0,5% 0,3% 0,0% 0,1% 0,3% 0,0% 0,7% 0,2% 0,2% 0,2% 0,4% 0,3% 0,6%
Cortante Fx,2 19,8% 0,8% 0,3% 0,6% 0,2% 0,4% 0,4% 0,1% 0,0% 0,2% 0,2% 0,3% 0,0% 0,3% 0,2% 0,2% 0,1% 0,3%
Normal Fy,2 0,0% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1%
Fletor Mz,2 0,2% 0,6% 0,4% 0,8% 0,3% 0,3% 0,7% 0,2% 0,0% 0,1% 0,3% 0,1% 0,5% 0,3% 0,1% 0,1% 0,1% 0,1%

Esforço V1-1 V1-2 V2-1 V2-2 V3-1 V3-2 V4-1 V4-2 V5-1 V5-2 V6-1 V6-2
Cortante Fx,1 0,9% 2,4% 0,6% 0,8% 0,9% 0,5% 1,2% 0,9% 2,4% 1,7% 0,3% 0,3%
Normal Fy,1 0,0% 0,3% 0,1% 0,3% 0,1% 0,2% 0,1% 0,1% 0,1% 0,2% 0,1% 0,1%
Fletor Mz,1 0,3% 7,7% 0,4% 12,2% 0,4% 5,3% 0,3% 1,1% 0,3% 0,8% 0,3% 0,3%
Cortante Fx,2 0,9% 2,4% 0,6% 0,8% 0,9% 0,5% 1,2% 0,9% 2,4% 1,7% 0,3% 0,3%
Normal Fy,2 0,0% 0,2% 0,0% 0,2% 0,1% 0,1% 0,0% 0,1% 0,1% 0,1% 0,0% 0,1%
Fletor Mz,2 0,0% 0,3% 0,1% 0,3% 0,1% 0,2% 0,1% 0,2% 0,1% 0,2% 0,0% 0,1%

Fonte: Elaborado pelo autor.

Tabela 36 – Comparação resultados da análise não-linear via o MEF implementado x SAP 2000 (pórtico PF3).
Esforço P1-1 P1-2 P1-3 P1-4 P1-5 P1-6 P2-1 P2-2 P2-3 P2-4 P2-5 P2-6 P3-1 P3-2 P3-3 P3-4 P3-5 P3-6
Cortante Fx,1 831,0% 18,9% 13,6% 6,2% 2,7% 0,3% 10,6% 13,4% 11,9% 7,8% 4,8% 1,2% 9,5% 11,3% 9,3% 5,8% 3,2% 0,8%
Normal Fy,1 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0%
Fletor Mz,1 3,8% 0,0% 0,9% 0,7% 0,6% 0,2% 1,9% 1,4% 1,0% 0,5% 0,4% 0,1% 1,8% 1,2% 0,9% 0,5% 0,3% 0,1%
Cortante Fx,2 831,0% 18,9% 13,6% 6,2% 2,7% 0,3% 10,6% 13,4% 11,9% 7,8% 4,8% 1,2% 9,5% 11,3% 9,3% 5,8% 3,2% 0,8%
Normal Fy,2 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0% 0,0%
Fletor Mz,2 3,5% 0,8% 0,3% 0,1% 0,0% 0,2% 0,4% 0,9% 1,1% 0,9% 0,8% 0,3% 0,3% 0,8% 1,0% 0,8% 0,6% 0,3%

Esforço V1-1 V1-2 V2-1 V2-2 V3-1 V3-2 V4-1 V4-2 V5-1 V5-2 V6-1 V6-2
Cortante Fx,1 0,6% 0,5% 0,4% 0,2% 0,5% 1,0% 0,1% 0,1% 0,3% 0,0% 0,0% 0,0%
Normal Fy,1 0,0% 0,1% 0,0% 0,1% 0,0% 0,1% 0,0% 0,1% 0,0% 0,1% 0,0% 0,1%
Fletor Mz,1 0,1% 2,5% 0,2% 0,5% 0,2% 5,1% 0,2% 1,1% 0,1% 0,3% 0,2% 0,2%
Cortante Fx,2 0,6% 0,5% 0,4% 0,2% 0,5% 1,0% 0,1% 0,1% 0,3% 0,0% 0,0% 0,0%
Normal Fy,2 0,0% 0,1% 0,0% 0,0% 0,0% 0,1% 0,0% 0,1% 0,0% 0,0% 0,0% 0,1%
Fletor Mz,2 0,0% 0,1% 0,1% 0,1% 0,1% 0,1% 0,1% 0,2% 0,1% 0,1% 0,0% 0,1%

Fonte: Elaborado pelo autor.


110

5.3.3.2 Otimização

Função objetivo. A função objetivo utilizada para o projeto ótimo do pórtico PF3
é a mesma utilizada para o estudo do pórtico PF2 e é equacionada na Eq.(39). Para os
custos do concreto (Cc), aço (Cs) e forma (Cf) foram tomados os adotados na referência
(Akin & Saka, 2015) e valem, respectivamente, 735 R$/m³, 7.10 R$/kg e 54 R$/m².
Variáveis de projeto. Todas as 58 variáveis desse problema são discretas. Para as
vigas, as dimensões da seção transversal, a área de reforço das barras ao longo da viga e
nos apoios são as variáveis de projeto. Estas são identificadas, quantificadas e seus limites
inferior e superior mostrados na Tabela 37.

Tabela 37 – Pórtico PF3: Variáveis de projeto das vigas (por grupo de viga)
Limite Limite
Variável de projeto Descrição Quantidade
inferior superior
xi,1 Base da seção transversal da
1 25cm 50cm
viga

xi,2 Altura da seção transversal


1 40cm 90cm
da viga

xi,3  xi,k Diâmetro da armação nvãos ∅10 ∅32


superior nos vãos das vigas

xi,k 1  xi,m Diâmetro da armação nvãos ∅10 ∅32


inferior nos vãos das vigas

xi,m1  xi,n Diâmetro da armação


nvãos +1 ∅10 ∅32
superior nos apoios

xi,n 1  xi, j Diâmetro da armação


nvãos +1 ∅10 ∅32
inferior nos apoios

xi,j1  xi,kk Número de barras na parte nvãos 2 6


superior dos vãos das vigas

xi,kk 1  xi,mm Número de barras na parte nvãos 2 6


inferior dos vãos das vigas

xi,mm1  xi,nn Número de barras na parte


nvãos +1 1 6
superior dos apoios

xi ,nn 1  xi , NVvigas Número de barras na parte


nvãos +1 0 6
inferior dos apoios
Fonte: Elaborado pelo autor.
Nota: i : número do grupo da viga, nvãos : número de vãos ( k  2  nvãos , m  2  2nvãos ,
n  3  3nvãos , j  4  4nvãos , kk  2  nvãos  j  1 , mm  2  2nvãos  j  1 ,
nn  3  3nvãos  j  1 )
111

As dimensões da seção transversal são incrementadas a cada 5 cm. O número total


de variáveis de projeto para cada grupo de viga (NVvigas) é definido na Eq.(52) e é igual a
23. Nesta equação ndn_vigas é o número de variáveis referentes ao diâmetro das barras e
nnb_vigas a quantidade de variáveis referentes aos respectivos números de barras (Eq.(53)).
Na Figura 48 é mostrado o layout das variáveis referentes às armaduras (diâmetro e
número de barras) dispostas em uma viga com 2 vãos. No total são 46 variáveis de projeto
relativas às vigas.
NVvigas =2 + ndn_vigas + nnb_vigas (52)

ndn_vigas = nnb_vigas=4+3nvãos (53)

Figura 48 - Pórtico PF3: Configuração da armação das vigas para o i-ésimo grupo (viga com 2 vãos)

Fonte: Elaborado pelo autor.

As variáveis de projeto para os pilares são as dimensões da seção transversal na


direção x e y (que são incrementadas a cada 5cm), o diâmetro e o número de barras de
reforço em cada direção (vide Figura 49) e totalizam 12 variáveis. Na Tabela 38 são
apresentadas as variáveis para os pilares bem como o limite inferior e superior para cada.
112

Tabela 38 - Pórtico PF3: Variáveis de projeto dos pilares (por grupo de pilar)

Variável de projeto Descrição Limite inferior Limite superior


xi,1 Dimensão na direção x 30cm 50cm

xi,2 Dimensão na direção y 40cm 100cm

xi,3 Reforço na direção x ∅10 ∅32

xi,4 Reforço na direção y ∅10 ∅32

Fonte: Elaborado pelo autor.

Figura 49 - Pórtico PF3: Configuração das variáveis de projeto referente à armação dos pilares

Fonte: Elaborado pelo autor.

Restrições. Os critérios considerados neste exemplo para o projeto de otimização


são os mesmos considerados no caso do pórtico PF2 e as equações para as restrições são
mostradas na seção 5.3.2.2.

5.3.3.3 Resultados

Os resultados obtidos utilizando o GA com número de gerações limitado a 120 e


tamanho de população 20 (demais parâmetros mantidos padrão do MATLAB) são
mostrados na Tabela 39. Foi estabelecido um número máximo de avaliações de função
através da relação nmgen  tampop igual a 2.400.
113

Tabela 39 – Problema PF3: teste 01


Var. Var.
projeto Viga GR.1 Viga GR.2 projeto Pilar GR.1 Pilar GR.2 Pilar GR.3
p/vigas p/pilares
x1/x2 30/80 25/50 x1/x2 40/40 35/50 30/30
x13,x3 3∅16 3∅12,5 x3,x4 8∅16 6∅12,5 10∅10
x14,x4 4∅12,5 3∅10
x15,x5 6∅10 2∅12,5
x16,x6 3∅20 5∅12,5
x17,x7 2∅20 3∅10
x18,x8 5∅16 5∅12,5
x19,x9 3∅16 5∅12,5
x20,x10 3∅20 3∅16
x21,x11 3∅16 4∅10
x22,x12 4∅16 4∅16
RESULTADO DA OTIMIZAÇÃO
Melhor solução f*(x) Avaliação Restrições Exitflag
36.293,40 Ativas 2 0_120
Média das soluções Atendidas 45 Nº aval função
42.568,43 Violadas 0 2.421
Fonte: Elaborado pelo autor.

As configurações obtidas nas 10 rodadas da ferramenta proposta são mostradas na


Tabela 40. Nas tabelas abaixo, seguindo a mesma sequência de apresentação dos demais
resultados apresentados nesta seção, são mostrados os parâmetros e resultados obtidos
para os testes 2 e 3 (Tabela 40 a Tabela 44).

Tabela 40 – Problema PF3: Rodadas do M_GA

Formação população
f*(x) Nº
Rodada f*(x) Tam. Pop Indivíduos Indivíduos Indivíduos
normalizado Gerações Freq.Cross/ Mut
elitismo crossover mutação

1 0,4498 44.979,17 114 21 0,75 5 12 4

2 0,4327 43.273,85 104 23 0,32 5 6 12

3 0,3944 39.444,22 104 23 0,76 5 14 4

4 0,4498 44.979,17 114 21 0,75 5 12 4

5 0,4327 43.273,85 104 23 0,32 5 6 12

6 0,3944 39.444,22 104 23 0,76 5 14 4

7 0,4639 46.393,51 65 37 0,16 5 5 27

8 0,3930 39.297,13 73 33 0,7 5 20 8

9 0,4231 42.306,78 83 29 0,46 5 11 13

10 0,4639 46.393,51 65 37 0,16 5 5 27

Média 0,4298 42.978,54 93 27 0,51 - - -

Melhor f*(x) 0,3930 39.297,13 73 33 0,70 - - -

Desvio padrão 0,0266 - 18,5311 6,1319 0,2441 - - -


Fonte: Elaborado pelo autor.
114

Tabela 41 - Problema PF3: teste 02


Var. Var.
projeto Viga GR.1 Viga GR.2 projeto Pilar GR.1 Pilar GR.2 Pilar GR.3
p/vigas p/pilares
x1/x2 30/80 25/50 x1/x2 35/40 40/50 30/30
x13,x3 5∅10 3∅12,5 x3,x4 8∅16 4∅20 12∅12,5
x14,x4 4∅12,5 5∅10
x15,x5 5∅12,5 3∅10
x16,x6 4∅16 4∅12,5
x17,x7 3∅20 3∅16
x18,x8 5∅12,5 2∅12,5
x19,x9 5∅16 4∅16
x20,x10 5∅12,5 3∅20
x21,x11 3∅12,5 3∅16
x22,x12 3∅20 5∅12,5
RESULTADO DA OTIMIZAÇÃO
Melhor solução f*(x) Avaliação Restrições Exitflag
37.536,14 Ativas 2 0_76
Média das soluções Atendidas 45 Nº aval função
40.522,99 Violadas 0 2.443
Fonte: Elaborado pelo autor.

Tabela 42 - Problema PF3: teste 03


Var. Var.
projeto Viga GR.1 Viga GR.2 projeto Pilar GR.1 Pilar GR.2 Pilar GR.3
p/vigas p/pilares
x1/x2 25/75 25/50 x1/x2 35/40 30/50 30/30
x13,x3 4∅16 3∅10 x3,x4 6∅20 4∅20 12∅12,5
x14,x4 4∅16 6∅10
x15,x5 3∅12,5 2∅12,5
x16,x6 6∅20 4∅10
x17,x7 4∅20 4∅10
x18,x8 3∅12,5 3∅10
x19,x9 6∅12,5 3∅10
x20,x10 6∅12,5 3∅12,5
x21,x11 2∅20 4∅10
x22,x12 4∅25 6∅12,5
RESULTADO DA OTIMIZAÇÃO
Melhor solução f*(x) Avaliação Restrições Exitflag
37.091,16 Ativas 2 0_93
Média das soluções Atendidas 45 Nº aval função
42.235,19 Violadas 0 2.539
Fonte: Elaborado pelo autor.
115

Tabela 43 – Problema PF3: Parâmetros/operadores usados para os testes de 1 a 3


Parâmetros do GA

Taxa
Problema Nº Freq. 1 ou Scale/Shrink
Tam Pop Tipo Cross Tipo Mut
Gerações Cross/Mut Taxa ou Taxa 3
2
Teste 1 20 120 0,800 Scattered - Gauss. 1/1

PF3 Teste 2 27 93 0,510 - - Adapt. -


Teste 3 33 73 0,690 - - Adapt. -

Fonte: Elaborado pelo autor.

Tabela 44 - Problema PF3: Comparação entre resultados obtidos


Problema Teste 1 Teste 2 Teste 3 f*(x) literatura
PF3 36.293,40 37.536,14 37.091,16 43.586,19*

Fonte: Elaborado pelo autor.

Nota: * Ref: Akin & Saka (2015), otimização usando método da busca harmônica (Harmony search)

Para a quantidade de configurações estudadas para esse problema (relacionada ao


número de indivíduos e de gerações do GA1 externo), esse problema configurado não
superou os resultados obtidos no teste 1. Vale destacar a necessidade de aumentar a
diversidade da população do GA1 na perspectiva de obter parâmetros que melhor se
adequem a otimizar a solução desse problema quando configurados.

5.4 CONCLUSÕES GERAIS

No total foram estudados 6 problemas envolvendo funções analíticas (P1-P6) com


diferentes características e 4 casos envolvendo exemplos associados à análise estrutural
(PF1, PF2_01, PF2_02 e PF3). O resumo dos resultados consolidados para os 10
exemplos estudados é mostrado na
Tabela 45 e evidencia a importância da configuração dos parâmetros e operadores
do GA. O teste 2 apresentou os melhores resultados em 50% dos exemplos estudados,
enquanto que o teste 3 e teste 1 foi o melhor em 40% e 10% dos casos, respectivamente.
Pode ser visto que a escolha dos parâmetros pelo teste 2 ou 3 não pode ser generalizado
para nenhuma aplicação e, portanto, é recomendado para futuras aplicações que estes
sejam feitos e comparados.
No caso dos exemplos analíticos, para os problemas analisados, a ferramenta
proposta (soluções do teste 2 ou teste 3) provou ser mais eficiente quando comparada com
o GA MATLAB sem o estudo da configuração dos seus parâmetros. No caso dos
116

exemplos de estruturas, apenas o pórtico PF3 obteve resultado para o teste 1 melhor do
que os demais, embora o M_GA tenha obtido resultado melhor do que o apresentado na
literatura. Tal como mencionado em Akin & Saka (2015), esse pórtico (PF3) também foi
otimizado por Camp et.al (2003), que apresentou o valor ótimo de R$ 24.959,00
entretanto o trabalho utilizado como referência nessa dissertação justifica a diferença de
valores obtidos em função da análise estrutural não-linear conduzida e do acréscimo de
restrições impostas ao problema. Adicionalmente, no caso dessa dissertação, a diferença
também pode ser justificada pelo fato de Camp et.al (2003) usar um algoritmo genético
com 300 gerações e tamanho de população 300, que equivaleria a aproximadamente
90.000 avaliações de função, um esforço computacional aproximadamente 37 vezes o
utilizado no presente trabalho. Portanto, pode-se considerar o resultado obtido aqui
satisfatório. Importante destacar que nos valores apresentados na Tabela 45 todas as
restrições são atendidas (resultados não violam nenhuma das restrições impostas).

Tabela 45 – Resumo dos resultados obtidos

Exemplo Teste 1 Teste 2 Teste 3 f*(x) literatura


P1 0,3505 0,0162 0,0416 0

P2 0,1102 0,000392 0,0245 0

P3 2,6851 1,8271 0,1436 0

P4 0,0147 0,000651 0,001367 0

P5 -7,4821 -8,3057 -8,7215 -9,66

P6 4,3559 0,105 0,716 0

PF1 0,5695 0,5288 0,5574 0,569

PF2_01 10.238,00 10.119,61 10.087,54 10.566,00

PF2_02 11.617,00 12.946,23 11.140,70 10.566,00

PF3 36.293,40 37.536,14 37.091,16 43.586,19

Fonte: Elaborado pelo autor.

As conclusões escritas nesta seção também podem ser analisadas graficamente a


partir da Figura 50, cujo intuito é comparar os testes 1,2 e 3. Através dele pode-se observar
que os resultados utilizando parâmetros configurados foram em sua maioria melhores do
que os obtidos pelo teste 1 (a grande maioria dos pontos se situam abaixo da linha verde
que indica o teste 1).
117

Figura 50 - Gráfico normalizado desempenho dos testes 2 e 3 em relação ao resultado obtido com o teste
1.

1,2

0,8

0,6

0,4

0,2

0
P1 P2 P3 P4 P5 P6 PF1 PF2_01 PF2_02 PF3

Teste 1 Teste 2 Teste 3

Fonte: Elaborado pelo autor.

Ademais, em relação aos parâmetros do GA, o uso de populações pequenas (na


faixa de 20 indivíduos) em quase todos os casos obteve uma boa performance devido a
associação de uma alta taxa de crossover + baixa taxa de mutação ou baixa taxa de
crossover + alta taxa de mutação. Isso pode ser evidenciado através do gráfico da Figura
51 de constituição dos novos indivíduos da população (crianças) em função da sua forma
de criação (gerado a partir de elitismo, crossover ou mutação) para os melhores resultados
de cada exemplo estudado. Para populações médias (entre 30-50 indivíduos), percebe-se
um número mais equilibrado entre crianças geradas a partir de mutação e crossover.
118

Figura 51 - Gráfico comparativo da constituição de cada geração do GA em função da frequência de


aplicação do crossover/mutação e elitismo.

50
45
40
35
21
30
25 15 Nº Crianças Mutação
20 6 Nº Crianças Crossover
6 6 5 3
15 7
13 12 17 Nº Crianças Elistimo
10 16 13 12
12 11 12 13
5 5 6
0
PF1

PF3
PF2_01

PF2_02
P3
P1

P2

P4

P5

P6

Fonte: Elaborado pelo autor.


119

6 CONSIDERAÇÕES FINAIS

6.1 DESENVOLVIMENTOS

A seguir são sucintamente descritos alguns dos códigos implementados e suas


propriedades.
• M_GA: Código implementado que constitui a ferramenta responsável pelo ajuste off-
line dos parâmetros e operadores do GA. A partir desse código é possível obter
automaticamente os melhores parâmetros internos do GA para um dado problema.
Para o desenvolvimento desse código foi necessário o aprofundamento dos estudos
sobre a realização de atividades no MATLAB utilizando mais de um laboratório, bem
sobre como funciona a comunicação entre eles e distribuição de atividades.
• MEF_PF: Esta implementação foi conduzida para analisar estrutura de pórticos
planos através do método convencional de elementos finitos. A rotina desenvolvida
foi validada através da comparação de reultados obtidas por esta com aqueles
utilizando o SAP 2000 e mostrou-se satisfatória para análise estrutural. Ademais,
permite análise linear e não-linear através do emprego das funções de estabilidade.
• Rotinas de verificação de capacidade resistente de vigas e pilares e demais restrições
impostas aos problemas estudados.
• Rotinas para implementação de todos os problemas estudados.
• Adequações nas rotinas para aplicação do APM (Barbosa & Lemonge, 2002).
• Adicionalmente, os testes iniciais para construção da metodologia contemplavam o
uso do MATLAB acessando o simulador (SAP 2000) como caixa preta
(Mathworks, 2014), sem intervenção na forma de atuação do SAP 2000 (Computer
and Structures, 2009) e apenas lendo as respostas de análise estrutural. Foi
implementada a parte referente à leitura e interpretação dos dados fornecidos pelo
SAP 2000 bem como feita a adequação dos arquivos de entrada para o processamento
da estrutura e cálculo de todas as propriedades das seções transversais dos elementos.
• Três tipos de testes foram formulados, a saber: teste 1 (otimização usando GA do
MATLAB sem configuração de parâmetros), teste 2 (otimização usando GA com
parâmetros/operadores que foram melhor solução obtida dentre as rodadas de
aplicação do M_GA) e teste 3 (otimização usando GA com os parâmetros/operadores
médios das soluções das rodadas de aplicação do M_GA). Esses testes foram
aplicados para todos os exemplos aqui estudados.
120

6.2 CONCLUSÕES GERAIS

Neste trabalho, vários exemplos foram analisados, e com os resultados obtidos


pode-se chegar às seguintes conclusões:
• A ferramenta proposta provou ser mais eficiente quando comparada com o GA sem o
estudo da configuração dos seus parâmetros;
• Os resultados obtidos foram satisfatórios, evidenciam a importância da configuração
dos parâmetros e operadores do GA e permitindo a obtenção de resultados melhores
com o GA devidamente configurado pela ferramenta implementada (M_GA);
• É necessário o investimento no GA1 (otimização no nível do controle de parâmetros)
a partir do estabelecimento de um maior número de gerações e indivíduos na
população a fim de obter maiores amostras para análise do comportamento dos
parâmetros aplicados nos problemas;
• O uso de populações pequenas (na faixa de 20 indivíduos) em quase todos os casos
obteve uma boa performance devido a associação de uma alta taxa de crossover +
baixa taxa de mutação ou baixa taxa de crossover + alta taxa de mutação. Para
populações médias (entre 30-50 indivíduos), percebe-se um número mais equilibrado
entre “filhos” gerados a partir de mutação e crossover;
• Para todos os exemplos estudados foi estabelecido um número máximo de avaliações
de função através da relação nmgen x tampop. Os resultados obtidos pelo M_GA em
geral apresentaram como melhores resultados configurações em que número de
gerações é superior ao tamanho de população;
• Os resultados do M_GA em geral indicaram o uso de populações pequenas com uma
diversidade maior (populações constituídas por um número maior de indivíduos
gerados por mutação quando comparado à configuração padrão do GA);
• A adoção do GA1 (externo) com pequena escala de configuração de parâmetros (1 a
5 gerações) possivelmente está associado ao resultado verificado para o problema PF3
(vide Grefenstette, (1986));
• A performance do GA se apresenta como um problema não-linear para o controle de
parâmetros, e o número de realizações ainda é limitado para confirmar a existência de
descontinuidades ou ótimos locais no espaço de busca da performance do GA1.
• Para os problemas numéricos analisados a ferramenta proposta (soluções do teste 2
ou teste 3) provou ser mais eficiente quando comparada com o GA MATLAB sem o
estudo da configuração dos seus parâmetros. Os resultados não foram melhores do
121

que os reportados na literatura, o que pode ter relação com o número máximo de
avaliações de função estabelecido;
• No caso dos exemplos de pórticos planos, apenas o pórtico PF3 obteve resultado para
o teste 1 melhor do que os demais, muito embora ainda tenha obtido resultado melhor
do que o apresentado na literatura. Os resultados para PF1, PF2_01 também foram
melhores do que os apresentados na literatura.

6.3 SUGESTÕES PARA TRABALHOS FUTUROS

• Inclusão de mais verificações nas estruturas dos pórticos, inclusive verificação no


ELS de abertura de fissuras;
• Inclusão do fck como variável de projeto. Neste trabalho foi adotado o valor constante
nos respectivos trabalhos de referência. Os exemplos aqui implementados podem ser
utilizados como ponto de partida, de forma a ser obter um projeto ainda mais
econômico com alteração de alguns parâmetros para dimensionamento;
• Otimização de pórticos espaciais;
• Fixar a população inicial para cada problema;
• Comparar a função de performance do GA1 com outras técnicas de busca não-lineares
(estocásticas);
• Utilização de simplificações para diminuir o tempo de processamento;
• Para o exemplo PF3, rodar M_GA com tamanho de população mínimo igual ao
número de variáveis (dimensão) do problema;
• Utilizar o GA1 com um maior número de gerações e indivíduos na população;
• Utilizar processos adaptativos para ajuste dos parâmetros do GA1.
122

REFERÊNCIAS

AMERICAN CONCRETE INSTITUTE. Building code requirements for structural


concrete. ACI Committee 318. Detroit, 2008.

ANDRE, L., & PARPINELLI, R. S. Tutorial Sobre o Uso de Técnicas para Controle
Online de Parâmetros em Algoritmos de Inteligência de Enxame e Computação
Evolutiva. RITA - vol.21, 90-135. 2014.

ANTONIOU, A., LU, W.S. Practical Optimization: Algorithms and Engineering


Applications. New York, NY: Springer Science + Business. 2007.

ARABAS, J., MICHALEWICZ, Z., MULAWKA, J. GAVaPS - a Genetic Algorithm


with Varying Population Size. in Proc. The First IEEE Conference on Evolutionary
Computation, (pp. 73-78). 1994.

ARAUJO, J.M. Dimensionamento de pilares esbeltos de concreto armado.


Dissertação (Mestrado em Ciências em Engenharia Civil), Universidade Federal do Rio
Grande do Sul, Rio Grande do Sul. 1984.

ARAUJO, J.M. Dimensionamento à flexão simples de seções transversais de


concreto armado com ênfase na ductilidade. Teoria e Prática na Engenharia Civil,
n.14, p.1-13. Rio Grande. 2009.

ARAUJO, J.M. Curso de Concreto Armado. 3.ed. Rio Grande: Editora Dunas; 2010.

ARGOLO, W. P. Otimização de seções de concreto armado submetidas à flexo


compressão reta utilizando algoritmos genéticos. Dissertação (Mestrado em
Ciências em Engenharia Civil) – COPPE, Universidade Federal do Rio de Janeiro, Rio
de Janeiro. 2000.

ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 6118: Projeto de


Estruturas de Concreto - Procedimento. Rio de Janeiro: 2014.

BÄCK, T. The interaction of mutation rate, selection and self-adaptation within


Genetic Algorithm. Parallel Problem Solving from Nature 2 (Elsevier Science
Publishers, Amsterdam), 85-94. 1992.

BAKER, J.E. Adaptive Selection Methods for Genetic Algorithms. in: Proc. First
Int. Conf. of Genetic Algorithms (L.Erlbaum Associates, Hillsdale, MA, 101-111.
1985.

BARBOSA, H. J., LEMONGE, A. C. An adaptive penalty scheme in genetic


algorithms for constrained optimization problems. In GECCO, vol. 2, pp. 287–294.
2002.

BERNARDINO, H.S. Hibridização de algoritmos genéticos com sistemas


imunológicos artificiais para problemas de otimização com restrições em
engenharia. Dissertação (Mestrado em Modelagem Computacional), Universidade
Federal de Juiz de Fora/Brasil. 2008.
123

CAMP, C.V., PEZESHK, S., HANSSON, H. Flexural Design of Reinforced


Concrete Frames Using a Genetic Algorithm. Journal of Structural Engineering, vol.
129, n.1, pp.105-115. 2003.

CARVALHO, R.C., FILHO, J.R.F. Pilares de Concreto Armado. Notas de aula -


Escola de Engenharia de São Carlos, Universidade de São Paulo. 2002.

CHRISTENSEN, P.W., KLARBRING A. An introduction to structural


optimization. In Solid Mechanics and its Applications, Springer-Berlin, v.153. 2009.

COHN, M. Z. E DINOVITZER, A.S. Application of structural optimization. Journal


of Structural Engineering, ASCE, v.120, n.2, pp.617–650. 1994.

COMPUTERS AND STRUCTURES, Inc. SAP2000 14.1, Structural Analysis


Program. 2009.

COSTA, L. Genetic Algorithms, numerical optimization and constraints. In 2nd


International Conference on Engineering Optimization, pp. 151-158. 1995.

DARWIN, C. On the Origin of Species by Means of Nature Selection, or the


Preservation of Favoured Races in the Struggle for Life. 1895.

DAVIS, L. Handbook of Genetic Algorithms. Van Nostrand Reinhold. 1991.

EIBEN A., HINTERDING R., MICHALEWICZ, Z. Parameter control in


evolutionary algorithms. Evolutionary Computation, IEEE Transactions on,
3(2):124–141.1999.

EIBEN A., SMITH, J. Introduction to Evolutionary Computing. 2003.

EIBEN A., SMITH, J. Parameter tuning for configuring and analyzing


evolutionary algorithms. Swarm and Evolutionary Computation. 2011.

FERREIRA, F. DE S. Uma abordagem numérico-experimental para a


identificação de dano estrutural utilizando o método Simulated Annealing.
Dissertação (Mestrado) – Programa de Pós-Graduação em Engenharia Mecânica,
Universidade Federal do Rio Grande do Sul, Porto Alegre. 2008.

GEN, M.; CHENG, R. Genetic Algorithm & Engineering Optimization. Wiley


Series in Engineering Design an Automation - Hamid R. Parsaei, Series Editor. 2000.

GREFENSTETTE, J.J. Optimization of Control Parameters for Genetic


Algorithms. IEEE Transactions on Systems, Man and Cybernetics. vol.16. 1986.

GOLDBARG, M.C.; LUNA, H.P.L. Otimização combinatória e programação


linear: modelos e algoritmos. Rio de Janeiro. 2000.

HOROWITZ, B. Notas de aulas sobre otimização estrutural.1998.


124

KIRSCH, U. Structural Optimization—Fundamentals and Applications. Springer,


Berlin. 1993.

KRAMER, O. Evolutionary self-adaptation: a survey of operators and strategy


parameters. Evolutionary Intelligence, Springer-Verlag. 2010.

KWAK, H.G.; KIM, J. Optimum design of reinforced concrete plane frames based
on predetermined section database. Computer-aided design, vol.40, pp.396-408,
Elsevier. 2007.

LEE, C.; AHN, J. Flexural design of reinforced concrete frames by Genetic


Algorithm. Journal of Structural Engineering, vol.129, pp.762-774. ASCE. 2003.

LIANG, Q.Q. Performance-Based Optimization of Structures: Theory and


Applications. 2005.

LINDQUIST, M. Aplicativo Windows para Análise e Dimensionamento de


Pórticos Planos em Concreto Armado. Dissertação (Mestrado em Engenharia Civil),
Escola de Engenharia de São Carlos, Universidade de São Paulo/Brasil. 2002.

LOGAN, D.L. The First Course in the Finite Element Method. Canada: Thomson,
4.ed. 2007.

MATHWORKS. MATLAB User’s Guide, Mathworks Inc., Natacki. 2014.

MEDEIROS, G.F.; KRIPKA, M. Algumas aplicações de métodos heurísticos na


otimização de estruturas. Rev. CIATEC, Universidade de Passo Fundo, vol.4, n.1,
pp.19-32. 2012.

MICHALEWICZ, Z. Genetic Algorithms + Data Structures = Evolution Programs.


Springer-Verlag, New York. 1992.

MOLGA, M.; SMUTINICKI, C. Test functions for optimization needs. 2005.

MONCAYO, W.J.Z. Análise de segunda ordem global em edifícios com estrutura


de concreto armado. Dissertação (Mestrado em Engenharia Civil), Escola de
Engenharia de São Carlos, Universidade de São Paulo/Brasil. 2011.

NINA, T.C. Otimização de seções transversais de concreto armado: aplicação a


pórticos planos. Dissertação (Mestrado em Engenharia Civil), Escola de Engenharia
de São Carlos, Universidade de São Paulo/Brasil. 2006.

OBITKO, M. Uma introdução aos Algoritmos Genéticos com Java Applets.


Disponível em www.obitko.com/tutorials, acesso em Outubro de 2015. Traduzido para
o português do Brasil por Hermelindo Pinheiro Manoel em 2004. 1998.

OLIVEIRA, L.C.de. Estratégia Híbrida Aplicada ao Gerenciamento Ótimo de


Reservatórios. Tese (Doutorado em Engenharia Civil), Universidade Federal de
Pernambuco/Brasil. 2013.
125

RATH, D. P. et al. Shape optimization of RC flexural members. Journal of Structural


Engineering, ASCE, vol.125, n.2, pp.1439-1446. 1999.

REED, J.; TOOMBS, R.; BARRICELLI, N.A. Simulation of biological evolution and
machine learning: selection of self-reproducing numeric patterns by data
processing machines, effects of hereditary control, mutation type and crossing. J
Theor Biol 17:319–342. 1967.

ROSENBERG, R.S. Simulation of genetic populations with biochemical properties.


PhD thesis, University of Michigan. 1967.

SIAS, F.M, ALVES, E.C. Dimensionamento ótimo de pilares de concreto armado.


Revista eletrônica de engenharia civil, v.9, n.3, pp.16-31. 2014.

SECCHI, A.R. Apostila da disciplina COQ-897: Otimização de Processos. COPPE


– Universidade Federal do Rio de Janeiro/Brasil. 2015.

SILVA, M.F da. Estratégia de aproximação para a otimização estrutural.


Dissertação (Mestrado em Engenharia Civil), Universidade Federal de
Pernambuco/Brasil. 2009.

SILVA, M. M. da. Otimização de Estruturas Reticuladas Incluindo Não


Linearidade Geométrica. Dissertação (Mestrado) - Programa de Pós-Graduação em
Modelagem Computacional, Universidade Federal de Juiz de Fora, Juiz de Fora. 2011.

SUCUPIRA, I. R. Métodos heurísticos genéricos: metaheurísticas e hiper-


heurísticas. Trabalho de Conclusão de Curso- Departamento de Ciência da
Computação, Instituto de Matemática e Estatística, Universidade de São Paulo. 2004.

SUCUPIRA, I. R; SILVA, F.S.C da. Um estudo empírico de hiper-heurísticas.


Instituto de Matemática e Estatística, Universidade de São Paulo. 2007.

SCHUWARTZ, A.L. F. C.; DIAS J. V. F.; DIETRICH, M. Z.; CALENZANI, A. F. G.


Avaliação dos efeitos de 2ª ordem em pórticos de aço utilizando processos
aproximado e rigoroso. Proceedings of the XXXVII Iberian Latin-American
Congress on Computational Methods in Engineering ABMEC, Brasília, DF, Brazil,
November 6-9,2016.

TORRES, J.V.S. Otimização de pórticos de concreto armado utilizando o sistema


computacional Ansys. Dissertação (Mestrado em Engenharia Civil), Universidade
Federal de Pernambuco/Brasil. 2001.

VIANNA, L. C. C. Otimização de seções transversais de concreto armado:


aplicação a pórticos. Dissertação (Mestrado em Engenharia de Estruturas) – Escola de
Engenharia de São Carlos, Universidade de São Paulo, São Carlos. 2003.

WEINBERG, R. Computer simulation of a living cell. PhD thesis, University of


Michigan. 1970.

ZINI, E.C. Algoritmo Genético Especializado na Resolução de Problemas com


126

Variáveis Contínuas e Altamente Restritos. Dissertação (Mestrado em Engenharia


Elétrica) – Programa de Pós-Graduação em Engenharia Elétrica, Universidade Estadual
Paulista – Campus de Ilha Solteira, São Paulo. 2009.
127

APÊNDICE A – Parâmetros e Operadores do GA do MATLAB

Este apêndice tem como objetivo apresentar os principais comandos utilizados no


Algoritmo Genético (GA) do MATLAB 2014 para conduzir a otimização, de acordo com
seus respectivos módulos e parâmetros utilizados na configuração padrão do algoritmo
neste software.
a) Utilizando o GA no MATLAB 2014:
O GA do MATLAB resolve problemas de otimização inteiros ou discretos,
restritos ou irrestritos. A chamada da função através da linha de comando é feita através
da sintaxe:
[x,fval] = ga(@fitnessfun, nvars, options)
em que
• @fitnessfun é a função objetivo do problema
• nvars é o número de variáveis indepentes para a função objetivo (variáveis de
projeto)
• options contém as opções do GA. Caso não seja configurado, esse argumento
utiliza as opções padrão que serão apresentadas a seguir.

b) Configurações padrão do GA:


As opções do GA são configuradas através da linha de comando através da
sintaxe:
options = gaoptimset('param1',value1,'param2',value2,...)
As configurações padrão do GA são mostradas na tabela abaixo. Em alguns casos,
os operadores funcionam apenas para variáveis inteiras e outros apenas para variáveis
reais. Os parâmetros que foram estudados nesta dissertação são destacados em azul e
alguns serão descritos em seguida.
Parâmetro Descrição Valor padrão
PopulationType Tipo dos indivíduos que formam a população 'doubleVector'
PopInitRange Range inicial para população []
'50 when numberOfVariables
PopulationSize Tamanho da população
<= 5, else 200'
Número de indivíduos selecionados por
EliteCount '0.05*PopulationSize'
elitismo
Fração da população na próxima geração,
CrossoverFraction exceto filhos de elitismo, que são criados por 0.8000
crossover

ParetoFraction Escalar entre 0 e 1 especificando a fração de []


indivíduos para manter na primeira frente de
128

Parâmetro Descrição Valor padrão


Pareto enquanto o solucionador seleciona
indivíduos de frentes mais altas

MigrationDirection Direção da migração 'forward'


MigrationInterval Intervalo da migração 20
MigrationFraction Frequencia da migração 0.2000
Generations Número de gerações permitido '100*numberOfVariables'
TimeLimit Tempo máximo para execução do algoritmo Inf
Limite para parada do algoritmo, caso a
FitnessLimit -Inf
função objetivo o atinja
O algoritmo pára se a mudança média relativa
no melhor indivíduo do valor estabelecido de
StallGenLimit 50
"StallGenLimit" é menor ou igual a tolerância
estabelecida (TolFun)
StallTest Condiciona o tipo de parada 'averageChange'
O algoritmo pára se não há melhoria na função
StallTimeLimit objetivo no tempo estabelecido em Inf
StallTimeLimit
O algoritmo pára se a mudança média relativa
no melhor indivíduo do valor estabelecido de
TolFun 1,00E-02
"StallGenLimit" é menor ou igual a tolerância
estabelecida (TolFun)
TolCon Tolerância para parada do algoritmo 1,00E-02
InitialPopulation População inicial []
Valores iniciais usados para determinar a
InitialScores []
aptidão
InitialPenalty Valor inicial do parâmetro de penalidade 10
PenaltyFactor Parâmetro de atualização de penalidade 100
Número inteiro positivo que especifica o
PlotInterval número de gerações entre chamadas 1
consecutivas para as funções de plotagem.
Especificação do tipo de função que cria a
CreationFcn @gacreationuniform
população inicial
Função que escala os valores da função de
FitnessScalingFcn @fitscalingrank
aptidão
Função que seleciona pais de crianças
SelectionFcn @selectionstochunif
formadas por crossover e mutação
Função que o algoritmo usa para criar filhos
CrossoverFcn @crossoverscattered
de crossover
Função que o algoritmo usa para criar filhos
MutationFcn {[@mutationgaussian] [1] [1]}
de mutação
Especificação da função que calcula a
distância entre os indivíduos. O valor aplica-se
DistanceMeasureFcn []
à variável de decisão ou espaço de projeto
(genótipo) ou ao espaço de função (fenótipo)
Utilizado em otimização com algoritmo
HybridFcn híbrido, função de otimização a ser utilizada []
após conclusão da parte do GA
Nível de exibição das informações da
Display 'final'
otimização
Funções para criação de gráficos e
PlotFcns []
informações neles apresentadas
Funções que são chamadas pelo GA em cada
OutputFcns []
iteração
129

Parâmetro Descrição Valor padrão


Vectorized As informações são passadas por vetores 'off'
Função para calcular a aptidão e funções de
UseParallel 0 {false}
restrição não-linear em paralelo

Tipos de crossover (CrossoverFcn):


O operador de crossover faz a combinação entre os indivíduos da população. Esse
operador possibilita ao GA uma investigação mais localizada no espaço de busca onde se
encontram os genitores (Oliveira, 2013).
As opções de crossover especificam como o algoritmo genético combina dois
indivíduos, ou pais, para formar uma criança cruzada para a próxima geração. A função
crossover (CrossoverFcn) especifica a função que executa o crossover, mas não pode ser
alterado em problemas inteiros.
O GA do MATLAB pode executar o crossover a partir de uma das seguintes
metodologias. Para melhor entendê-las, pode-se ter um exemplo com os seguintes
genitores:
P1 = [a b c d e f g h]
P2 = [1 2 3 4 5 6 7 8]
Scattered: é a função de crossover padrão para problemas sem restrições lineares.
É criado um vetor binário aleatório e selecionados os genes onde o vetor é um 1 do
primeiro pai, os genes onde o vetor é um 0 do segundo pai, e este são combinados para
formar a criança. A criança formada é C = [a b 3 4 e 6 7 8].
Single point: um número inteiro n entre 1 e o número de variáveis é selecionado
randomicamente. Depois são executadas as seguintes etapas:
1 – seleção das entradas vetoriais numeradas menores ou iguais a n do primeiro
pai;
2 - seleção das entradas vetoriais numeradas maiores que n do segundo pai;
3 – essas entradas são concatenadas para formar um vetor filho.
A criança formada para um ponto 3 é C = [a b c 4 5 6 7 8].
Two point: dois inteiros aleatórios m e n entre 1 e número de variáveis são
selecionados randomicamente. Depois a função seleciona:
1 - entradas vetoriais numeradas menores ou iguais a m do primeiro pai;
2 - entradas vetoriais numeradas de m + 1 a n, inclusive, do segundo pai;
3 - entradas vetoriais numeradas maiores que n do primeiro pai.
130

O algoritmo então concatena esses genes para formar um único gene. No caso de
pontos 3 e 6, a função retorna a criança C = [a b c 4 5 6 g h].
Essa função não deve ser utilizada quando o problema envolve restrições lineares.
Intermediate: essa função é a padrão quando tem restrições lineares. As crianças
são criadas como uma média ponderada dos pais. Para especificar os pesos de um
parâmetro único, Ratio (valor padrão é 1), você pode usar um escalar ou um vetor com
tamanho igual ao número de variáveis. A criança é criada utilizando a seguinte fórmula
dada por P1 + rand * Ratio * (P2 - P1).
Heuristic : retorna uma criança que está na linha que contém os dois pais, a uma
pequena distância do pai com o melhor valor de aptidão na direção longe do pai com o
pior valor de aptidão. Você pode especificar até que ponto a criança é do pai melhor pelo
parâmetro Ratio (valor padrão 1.2). Se P1 tem o melhor valor de aptidão, a função retorna
a criança P2 + Ratio * (P1 - P2).
Arithmetic: cria filhos que são a média aritmética ponderada de dois pais. As
crianças são sempre viáveis em relação às restrições e limites lineares.
Ainda é possível o usuário implementar a função de crossover.
Função de mutação (MutationFcn):
As opções de mutação especificam como o algoritmo genético faz pequenas
mudanças aleatórias nos indivíduos da população para criar crianças a partir de mutação.
A mutação fornece diversidade genética e permite que o algoritmo genético aumente a
busca para um espaço mais amplo. O ajuste desse operador não pode ser feito com
problemas inteiros. Podem ser escolhidas entre as seguintes funções:
Gaussian: é a função de mutação padrão para problemas não restritos. É
adicionado um número aleatório a partir de uma distribuição gaussiana com média 0 para
cada entrada do vetor pai. O desvio padrão dessa distribuição na primeira geração e ao
longo das demais gerações é determinado, respectivamente, pelos parâmetros Scale e
Shrink. A atualização do desvio padrão é dada pela equação:

em que k é a geração corrente e maxGen é o número máximo de gerações


permitidas ao GA. Para os casos onde o fator de retração (Shrink) seja definido com um
valor negativo, o desvio padrão é aumentado com o passar das gerações.
Uniform: é um processo de duas etapas. Primeiro o algoritmo seleciona uma
fração das entradas de vector de um indivíduo para mutação, em que cada entrada tem
131

uma probabilidade Rate de ser mutado (padrão 0.01). Depois, o algoritmo substitui cada
entrada selecionada por um número aleatório selecionado uniformemente do intervalo
para essa entrada.
Adaptive Feasible: essa é a função de mutação padrão quando há restrições. Nessa
mutação são geradas direções aleatórias que são adaptadas de acordo com o sucesso ou
fracasso das gerações passadas. A mutação escolhe um sentido e comprimento de passo
que satisfaz limites e restrições lineares.

Você também pode gostar