2.4 Skriverens stemme(r)
2.4.2 Stemme og identitet
Com os limites de dimensões impostos anteriormente, pode-se ter até 901 larguras dos banzos diferentes, conforme é calculado de seguida:
n = (Limsup− Liminf) + 1 ⇒ n = (1000 − 100) + 1 = 901 (5.5)
Para a representação binária da variável largura dos banzos, b, é necessário um número em notação binária que represente pelo menos até ao valor inteiro 901, ou seja 10 bits.
Como um número binário com 10 bits pode representar até ao número inteiro 1024, é necessário excluir os casos não válidos para o estudo.
Representação da variável altura da alma, d
Com os limites de dimensões impostos anteriormente, pode-se ter até 951 alturas de alma diferentes, conforme é calculado de seguida:
n = (Limsup− Liminf) + 1 ⇒ n = (1000 − 50) + 1 = 951 (5.6)
Para a representação binária da variável altura da alma, d, é necessário um número em notação binária que represente pelo menos até ao valor inteiro 951, ou seja 10 bits. Como um número binário com 10 bits pode representar até ao número inteiro 1024, é necessário excluir os casos não válidos para o estudo.
Representação da variável espessura dos banzos, tf
Com os limites de dimensões impostos anteriormente, pode-se ter até 38 espessuras de banzos diferentes, conforme é calculado de seguida:
n = (Limsup− Liminf) + 1 ⇒ n = (40 − 3) + 1 = 38 (5.7)
Para a representação binária da variável espessura dos banzos, tf, é necessário um
número em notação binária que represente pelo menos até ao valor inteiro 38, ou seja 6 bits.
Como um número binário com 6 bits pode representar até ao número inteiro 64, é necessário excluir os casos não válidos para o estudo.
Representação da variável espessura da alma, tw
Com os limites de dimensões impostos anteriormente, pode-se ter até 38 espessuras de alma diferentes, conforme é calculado de seguida:
Capítulo 5. Descrição do Problema de Otimização
Para a representação binária da variável largura da alma, tw, é necessário um nú-
mero em notação binária que represente pelo menos até ao valor inteiro 38, ou seja 6 bits.
Como um número binário com 6 bits pode representar até ao número inteiro 64, é necessário excluir os casos não válidos para o estudo.
Deste modo, uma viga é representada por um cromossoma de 32 bits, conforme se pode observar na Figura 5.4 onde se exemplifica o cromossoma para as variáveis b = 100, d = 50, tf = 3 e tw = 3.
Figura 5.4: Representação de exemplo de cromossoma de uma viga (b = 100, d = 50, tf = 3 e tw = 3).
5.3.2
Operadores Genéticos
Conforme foi introduzido no capítulo anterior, os Operadores Genéticos têm como finalidade a diversificação da população e continuidade das características de adaptação adquiridas nas gerações anteriores. Deste modo, para este estudo foi necessário optar por uma função de seleção, uma técnica de cruzamento e de mutação.
A função de seleção escolhe os progenitores da geração seguinte de acordo com os valores da função de mérito. Dentro das várias opções possíveis e abordadas anteri- ormente utilizou-se como método para a seleção dos indivíduos o método da roleta, proposto inicialmente por Holland (1975) e que foi descrito em 4.4.3.
A técnica de cruzamento especifica o modo como o algoritmo combina dois indi- víduos progenitores, a fim de originar um indivíduo filho na geração seguinte. Neste trabalho optou-se por utilizar o cruzamento de tipo disperso, denominado Scattered no programa utilizado, onde um vector do tipo binário é criado ao acaso e escolhe genes onde o vetor do primeiro progenitor é 1 e o vetor do segundo progenitor é 0.
Como foi explicado no Capítulo 4, o operador genético de mutação é responsável pela introdução e manutenção da diversidade genética nas populações. Este operador altera de forma aleatória genes de alguns indivíduos, fornecendo assim, meios para a introdução de novos indivíduos na população, assegurando que em quaisquer gerações se mantenha a diversidade das populações, de modo a tentar contornar o problema da convergência para ótimos locais. Dentro das opções de Mutação existentes no pro- grama utilizado neste trabalho, as mais importantes são do tipo Gaussiana e Uniforme (Cardoso e Coelho, 2011). Neste trabalho foi utilizada a mutação uniforme que foi descrita no em 4.4.5.
Capítulo 6
Testes de Parâmetros
6.1 Introdução
Para validar o programa apresentado anteriormente, foi necessário aplicá-lo a um caso teste cuja solução ótima já fosse conhecida a fim de se poder fazer uma comparação quanto à sua funcionalidade. Como o método de otimização utilizado se baseia na probabilidade de individuos serem selecionados para reprodução, existem alguns parâ- metros que podem fazer com que o algoritmo convirja ou não para um mínimo local. Tais parâmetros são: o tamanho da população, o tamanho do cromossoma, a taxa de mutação, o número máximo de gerações, o critério de paragem, a população inicial, entre outros. Assim, para o AG fornecer resultados satisfatórios, esses parâmetros precisam de ser devidamente calibrados.
Para demonstrar a influência destes parâmetros, foram realizados testes onde se va- riou apenas um parâmetro mantendo todos os outros fixos. Estes teste são apresentados nas próximas secções. Para cada teste, o programa foi aplicado 10 vezes.
Os testes foram realizados numa viga apoiada com vão de 10 m, secção transversal de classe 1, tensão de cedência 275 MPa, submetida a um carregamento distribuído de 20 kN/m. A função objetivo e as restrições consideradas são as apresentadas nos capítulos anteriores. Na Figura 6.1 é representada a configuração da viga em estudo.
Figura 6.1: Configuração da viga teste.
De modo a conhecer a solução ótima deste problema, foi feita uma análise discreta onde se analizaram todas as soluções possiveis, obtendo-se a secção ótima representada na Figura 6.2 com uma área ótima de 12284 mm2.
Capítulo 6. Testes de Parâmetros
Figura 6.2: Dimensões da secção ótima da viga teste.