Você está na página 1de 3

COPPE/UFRJ PROGRAMA DE ENGENHARIA MECNICA TPICOS ESPECIAIS EM ENGENHARIA MECNICA: OTIMIZAO DE SISTEMAS TRMICOS PROF. MARCELO COLAO (COLACO@ASME.

ORG) PROJETO COMPUTACIONAL PRAZO FINAL - UMA SEMANA ANTES DO FINAL DO PERODO

Imaginem que vocs queiram otimizar um processo cujo modelo matemtico extremamente complexo e, conseqentemente, no existe uma formulao matemtica precisa da funo objetivo (ou ainda, a soluo precisa do problema leve diversos dias para ser obtida). Este processo utiliza um certo nmero de variveis (por exemplo, os coeficiente de um spline que gera a geometria de um aeroflio; as propriedades termofsicas das camadas de isolamento de um sistema de proteo trmica de dutos de extrao de leo em guas profundas; etc) que precisam ter seus valores ajustados a fim de achar o valor timo de uma funo objetivo (por exemplo, o arrasto mnimo de um aeroflio; a taxa mnima de formao de hidratos em tubulaes de leo ultra-profundas; etc).

Estes processos complexos podem ser simulados usando pacotes computacionais (CFX, Olga, Simulink, etc) que fornecero o valor da funo objetivo para cada conjunto de variveis, ou at mesmo atravs de experimentos, onde cada conjunto de variveis definir um procedimento experimental a ser realizado para se obter um valor de funo objetivo. O objetivo final deste curso justamente obter um programa de otimizao que possa ser usado futuramente por cada um de vocs para ser acoplado a estes pacotes computacionais ou a dados experimentais. A fim de simular esta situao, cada um de vocs ir receber um programa "caixa-preta" que ir fazer o papel dos simuladores/experimentos. O nome do programa funcao.exx. Aps receber tal programa, renomeiem o arquivo como funcao.exe, uma vez que diversos servidores de Email no permitem o envio de arquivos com a extenso .exe. Este programa l um arquivo chamado "var.dat" com a seguinte sintaxe: Primeira linha Segunda linha Terceira linha Quarta linha etc -> nmero da funo (inteiro). -> nmero de variveis (inteiro). -> valor da primeira varivel (dupla preciso). -> valor da segunda varivel (dupla preciso).

Aps ser executado, o programa escreve um arquivo chamado "obj.dat" com a seguinte sintaxe: Primeira linha -> valor da funo objetivo (dupla preciso)

Juntamente com o programa, vocs tambm iro receber dois arquivos exemplos "var.dat" e "obj.dat"

Usando os seguintes mtodos, otimize as variveis deste problema: (i) Steepest Descent; (ii) Mtodo do Gradiente Conjugado; (iii) Mtodo de Newton; (iv) Mtodo BFGS; (v) Mtodo da Evoluo Diferenciada; (vi) Mtodo do Enxame de Partculas; (viii) Formulao Hbrida; (ix) UM DOS mtodos heursticos com uma formulao de superfcie de resposta.

Note que, como no existe uma descrio matemtica da funo objetivo (como acontece em diversos casos da vida real), todas as derivadas devero ser aproximadas usando diferenas finitas (tenham cuidado com a escolha das variaes de cada varivel). Cada aluno deve escolher pelo menos trs funes, cada uma pertencendo a um dos trs grupos de funes listadas abaixo (grupos verde, amarelo e azul). Comparem a eficincia de cada mtodo, a influncia da estimativa inicial, do tamanho da populao, da escolha do passo de procura, etc. A primeira folha de cada relatrio (aps a capa), deve apresentar sumariamente (em uma pgina) os resultados encontrados em cada mtodo. As pginas seguintes devero conter todas as anlises detalhadas. As notas sero baseadas na extenso das anlises feitas.

Alternativamente, cada aluno tambm receber um arquivo chamado fcn.obj, para aqueles que desejarem linkar o objeto diretamente nos seus cdigos. Neste caso, o arquivo .obj contm uma subrotina com a seguinte sintaxe:
subroutine fcn(nvar,funct,y,U) integer nvar, funct real(8) y(12), U !nmero de variveis, nmero do problema !vetor de variveis (sempre 12), valor da funo objetivo !no caso de problemas com 2 variveis, zerar os valores de 3 a 12.

A tabela a seguir mostra os limites superior e inferior permitidos para cada um dos 50 problemas propostos: Funo objetivo -> Problema nmero 1 2 3 4 5 6 7 8 9 10 11 12 13 2 Nmero de variveis xmin -15 -4.5 -100 -10 -5 -5 -10 -100 -2 -5 -10 -2 -5 U(x) xmax 30 4.5 100 10 10 10 10 100 2 5 10 2 10 ymin -15 -4.5 -100 -10 0 -5 -10 -100 -2 -5 -10 -2 -5 ymax 30 4.5 100 10 15 10 10 100 2 5 10 2 10

14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 2

-500 -5.12 0 -600 -10 -10 -10 -10 -10 -10 -10 -11 -2 -100 -100 -100 -100

500 5.12 600 10 10 10 10 10 10 10 11 2 100 100 100 100

-500 -5.12 0 -600 -10 -10 -10 -10 -10 -10 -10 -11 -2 -100 -100 -100 -100

500 5.12 600 10 10 10 10 10 10 10 11 2 100 100 100 100

31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 12 -100 100 Todas as 12 variveis possuem os mesmos limites inferior e superior

Você também pode gostar