Otimização de Processos Capítulo 4: Otimização Unidimensional Sem Restrições (OUSR).
Algoritmos de Otimização P. Estabeleça o intervalo de busca ou estimativa inicial que contenha o ponto de mínimo da FO O mapeamento fornece esse intervalo ou estimativa inicial P. Defina uma tolerância P3. Aplique o método selecionado até atingir a tolerância, certificando-se que: f( + ) < f( )
Tolerância ou Critério de Parada Erro absoluto na FO: Erro relativo na FO: f f f f f Erro absoluto no ponto ótimo: i i 3 ou i i n i. i i 4 3 3
4 4 Erro relativo no ponto ótimo: Erro absoluto na direção de busca: i i i 5 6. n i f f
5 5 Taa de convergência Norma euclidiana: Linear: Ordem p: Superlinear: 0 i i n 0 p 0. lim
Métodos para OUSR Motivação: M. Problemas unidimensionais sem restrições M. Incorporação da(s) restrições à FO M3. Técnicas OMSR e OMCR se originam em OUSR M4. Auilia em problemas onde desconhecemos a região de busca Classificação dos métodos para OUSR: MD - Métodos Diretos (utilizam apenas as funções) MI - Métodos Indiretos (utilizam as derivadas). 6 6
Métodos Diretos (MD) p/ OUSR Não utilizam derivadas G. Métodos por diminuição da região de busca: G.. Dois intervalos iguais de busca G.. Método da seção áurea G. Métodos por aproimação polinomial da FO: G.. Interpolação quadrática G.. Interpolação cúbica. 7 7
Métodos por Diminuição da Região de Busca Algoritmo P. Escolha uma região viável (a,b) que contenha uma função unimodal P. Calcule f() em dois ou mais pontos. P3. Compare os valores de f() eliminando as regiões que tem maiores valores de f(). 8 8
Três intervalos iguais de busca - a = b - = - neste caso o intervalo é reduzido de /3 a cada iteração L 0 é o intervalo de busca original (b - a) e L é o intervalo após interações, então L L 0 3 A cada iteração é necessário avaliar duas vezes a função f(). 9 9
Método da seção áurea O intervalo eliminado manterá sempre uma mesma proporção com o intervalo original a b y c y y y y y y y y y 068, L 068, L 0 0 0
Seção Áurea
Algoritmo Seção Áurea P. determine a e b, e a tolerância e P. CalculeL = b - a = a + 0,38.L = b - 0,68.L P3. Calcule f( ) e f( ) P4. Se f( ) > f( ) => a + = b + = b + = Se f( ) < f( ) => b + = a + = a + = P5. Volte ao passo P até atingir a tolerância.
MD: Interpolação Quadrática f() aproimada por um polinômio quadrático Seja f() unimodal e um intervalo de busca que contenha o etremo Avalie f( ), f( ) e f( 3 ) Aproime f() no ponto ótimo (*) por uma função quadrática g(), então f f f g g g a b. c.. 3 3 a b. a b. 3 c. c. 3 3 3
Mínimo de uma função quadrática g() : * b g c Resolvendo g( ), g( ) e g( 3 ) que formam um sistema de 3 eq s e 3 incog s: g( ) g g 3 3 g3 g g g 3 3 3 ou f ( ) f f 3 3 f 3 f f f 3 3 3 4 4
MD: Interpolação Cúbica f() aproimada por um polinômio cúbico 3 f ( ) g( ) a a. a. a Seja f() unimodal e um intervalo de busca que contenha o etremo Avalie f( ), f( ), f( 3 ) e f( 4 ) Aproime f() no ponto ótimo (*) por uma função cúbica g(), então podemos escrever um sistema de 4 equações lineares. 3 4 5 5
6 6 SEAL: logo Derivando g() e igualando a zero: 4 3 4 3 4 4 3 4 3 3 3 3 3 3 a a a a A f f f f F X X A F T T A X F f d a a a a a a a a apr 3 0 4 6 3 3...
Comparação MD s MI s Métodos Diretos Métodos Indiretos Utilizam apenas f() Utilizam f'() e f () + lentos + rápidos Tratamento + fácil das descontinuidades Tratamento + fácil das restrições Preferido Tratamento + difícil das descontinuidades Tratamento + difícil das restrições Recaem em SENL 7 7
Algoritmos MI s P. Intervalo de busca contendo o ponto de mínimo com FO unimodal neste intervalo P. Defina uma tolerância P3. Aplique o MI até atingir a tolerância, certificando-se que: f( + ) < f( ) Quanto mais positivo for f"( ) mais rapidamente f() diminuirá Para maimizar f(), minimize -f(). 8 8
9 9 MI: Método de Newton Baseado no método de Newton p/ SEANL Epandindo g( + )= 0 em torno de : Como podemos escrever g()= f ()= 0 g g g g g ' 0 '. f f g g " ' '
Vantagens do Método de Newton V. Convergência quadrática se f "(*) 0 V. Se FO é quadrática o mínimo é obtido em uma iteração, pois a epansão em série de Taylor da função f() é eata V3. Converge rapidamente p/ bom chute inicial Temos sempre que assegurar que a cada iteração f( + ) < f( ) para que o mínimo seja alcançado [f( + ) > f( ) para o máimo]. 0 0
Desvantagens do Método de Newton D. Só se aplica qdo eistem f () e f () D. Calcular a cada iteração f () e f () D3. Sensível à estimativa inicial D4. Se f () tende a 0 a convergência é lenta D5. Se eiste mais de um etremo o método pode não convergir para o ponto desejado ou pode oscilar.
Método de Quasi- Newton f () aproimada por diferenças finitas DF. Diferença finita para trás: f f f f f f f
DF. Diferenças finitas para frente: f f f f f f f DF3. Diferenças finitas central: f f f f f f f 3 3
Portanto definindo h= e obtemos f f / f h f h h f h f f h / h Esse método tem duas desvantagens em relação ao método de Newton: D. Necessidade de definir o passo h D. Avaliação de uma função a mais a cada iteração. 4 4
Método da Secante Epandindo f() = 0 em série de Taylor e truncando no terceiro termo: f. f f. f Diferenciando em relação a e igualando a 0: f f '! f f 0 5 5
Em lugar de utilizar a f"( ) usamos Ponto ótimo aproimado apr q p m f f q p q q f q p f f q p / O * é encontrado após algumas iterações A derivada f'() pode ser obtida por diferenças finitas. 6 6
Representação geométrica do método da secante ou regula falsi ou falsa posição f () f () Secante p * ~ * q A sua ordem de convergência é de aproimadamente,6 Requer menos esforço computacional que o quasi-newton, pois precisa avaliar um número menor de funções 7 7
Algoritmo da Secante a. Escolha dois pontos p e q com derivadas de sinal contrário b. Calcule apr * c. Calcule f ( apr *) d. Escolha o novo par de pontos que mantém o sinal contrário entre as derivadas e. Volte à etapa b até que a tolerância admitida seja alcançada. 8 8
Avaliação dos Métodos Unidimensionais de Otimização Requisitos desejados: R. FO seja unimodal R. Conhecer a região de busca que contenha o etremo da FO R3. Nos MI s dar boa estimativa inicial R4. Nos MI's, eistir f (*) e/ou f (*) Conhecer as idiossincrasias dos programas. 9 9
Problemas da otimização Múltiplos etremos Erros de arredondamento FO com gradiente grande FO com gradiente próimo a zero Descontinuidades da FO Descontinuidades das FR (para problemas com restrições) Interação entre as VD s (para multivariável). 30 30
ma L sujeito a : Eercício: L RC R constante C 0 0 3 4 3 3
Dica: ma L ma RC ma C ma C min C min C 3 4 C min min 0 0 º: use a instrução fplot ou plot do MATLAB para mapear a função objetivo º: use a instrução fminbnd para encontrar o ponto ótimo Ou º: faça o mapeamento da função objetivo no EXCEL º: use o solver do para encontrar o ponto ótimo 3 3
Otimização Capítulo 5: Otimização Multidimensional Sem Restrições (OMSR). 33 33
Métodos para OMSR Devem ser eficientes e robustos Formulação geral de problemas de OMSR: encontrar * = [ *, *,..., n *] que minimiza f() Algoritmo geral: P. Escolha ponto(s) de partida ou estimativa inicial P. Calcule a direção de busca s P3. Obtenha a nova aproimação do ponto ótimo: + = +, onde =.s P4. Verifique se a tolerância foi atingida, se não volte p/ P. 34 34
Tolerância ou Critério de Parada Erro absoluto na FO: Erro relativo na FO: f f f f f Erro absoluto no ponto ótimo: i i 3 ou i i n i. i i 4 35 35
36 36 Erro relativo no ponto ótimo: Erro absoluto na direção de busca: i i i 5 6. n i f f
Métodos Indiretos Métodos de a ordem: gradiente gradiente conjugado Métodos de a ordem: Newton Levenberg-Marquardt Métodos da secante ou quasi-newton: Broyden Davidson-Fletcher-Powell (DFP) Broyden-Fletcher-Goldfarb-Shano (BFGS) 37 37
MI: Gradiente Descendente Utiliza a derivada de a ordem O gradiente aponta para a direção de maior variação de f() Na minimização a direção de busca é s f O ponto ótimo é atualizado por s f 38 38
MI para OMSR Utilizam as derivadas de a e/ou a A direção de pesquisa s é denominada direção descendente (para minimização), pois s < 0. Demonstração: T f f f s T mas f f f s 0 onde T T f s f s cos o o e para minimizar 90 80 cos 0 39 39
T f f f. s pois f. s f. s.cos T T 0 e para minimizar 90 80 0 o o cos 40 40
= cte = opt opt T T s H s f s Características do gradiente descendente: C. Eficiente nas iterações iniciais C. Baia taa de convergência qdo * C3. Bom qdo ñ eiste interação entre as VD s C4. Determina apenas pontos estacionários. 4 4
MI: Gradiente Conjugado Utiliza a derivada de a ordem Combina o gradiente da iteração anterior com o gradiente da iteração atual Desempenho superior ao gradiente descendente Tem taa de convergência quadrática 4 4
Algoritmo do Grad. Conjugado P. Defina uma estimativa inicial o P. Calcule f( o ), f( o ), s o = - f( o ) P3. Compute = o + o.s o. o é o escalar que minimiza f() na direção s o, ou seja, é obtido através de uma busca unidimensional P4. Calcule f( ) e f( ). A nova direção de busca é combinação linear entre s o e f( ). T T 0 0 0 s f f f s f f 43 43
para a -ésima iteração T T s f f f s f f P5. Teste se a FO esta sendo minimizada, se não volte ao passo P4. P6. Termine o algoritmo quando s < tolerância Problema se a razão entre os produtos internos dos gradientes entre as iterações + e for pequena recaimos no gradiente descendente. 44 44
MI: Método de Newton MI de a ordem Aproimar f() por série de Taylor T T f f f H Derivando em relação a e igualando a zero: Portanto 0 f H Esta eq. define a direção e amplitude do passo. H f 45 45
Podemos alterar o passo por: H f s Para avaliar o passo não é necessário inverter a Hessiana, basta resolver o SEAL H f Método rápido quando converge Taa de convergência rápida perto do ponto ótimo, eatamente o comportamento contrário do método gradiente. 46 46
Desvantagens do Newton D. Requer a inversão de uma matriz, ou pelo menos a solução de um sistema linear a cada iteração D. Requer a avaliação analítica das derivadas de a e a ordem D3. Pode convergir para um ponto de sela se H() não é positiva definida D4. Tem desempenho fraco ou não converge quando a estimativa inicial é ruim. 47 47
MI: Levenberg- Marquardt Combina o método do gradiente descendente com o de Newton No início se comporta como o MI gradiente No final como o MI de Newton Matriz Hessiana modificada para sempre ser positiva-definida e bem-condicionada Acrescento a Hessiana uma matriz positivadefinida; 48 48
A cada iteração faço: Ou: ~ H H I ~ H H I Onde é um valor positivo que torna H() > 0 e bem-condicionada Se = 0 Método de Newton Se Método Gradiente Descendente > min(autovalor da Hessiana) Marquardt aproveita as melhores características do Gradiente Descendente e do Newton. 49 49
Algoritmo de Marquardt P. Defina uma estimativa inicial o e uma tolerância P. Para = 0 faça 0 = 0 3. P3. Calcule f( ). P4. Verifique se a tolerância foi atingida, se não continue P5. Calcule s H I f P6. Compute + = +.s ; vem da Eq. 5-F P7. Se f( + ) < f( ) vá ao p/ P8, se não vá p/ P9 P8. + = 0,5, e = +. Volte ao passo P3 P9. =. Volte ao passo P3. 50 50
MI: Secante ou Quasi-Newton Análogo ao Método da Secante para OUSR Algoritmo: Passo 0 (zero): P. Defina uma estimativa inicial e uma toler. P. Selecione uma direção de busca inicial. Usualmente s o = - f() 0 0 P3. Calcule H H. Se não for positiva definida faça H H 0 0 I 5 5
Passo P. Calcule a amplitude do passo P. Calcule + que minimiza f() por uma busca unidimensional na direção s H s P3. Calcule f( + ) e f( + ) P4. Calcule = + - e g( ) = f( + ) - f( ) P5. Calcule H H H 5 5
P6. Calcule a nova direção de busca através de s H f ou de H s f Passo + P. Verifique se a tolerância foi atingida P. Se o critério de parada foi atingido, pare. Se não, volte ao passo Broyden, DFP, BFGS, etc. 53 53
Desvantagens Quasi-Newton D. H ou H pode deiar de ser > 0 D. H ou H pode ser ilimitada 54 54
Desvantagens Quasi-Newton D. H ou H pode deiar de ser > 0 H ou H D. pode ser ilimitada D3. Se tem a H f mesma direção da iteração anterior, então H é singular ou indeterminada. H ou 55 55
Métodos Diretos (MD) para OMSR Não utilizam as derivadas: MD. Busca randômica MD. Grade de busca MD3. Busca unidirecional MD4. Método simple ou do poliedro fleível MI s tem taa de convergência maior. 56 56
Busca Randômica Algoritmo P. Fazer = 0 P. Randomicamente escolher um vetor P3. Avaliar f( ) P4. Verificar se a tolerância foi atingida, se não retornar ao passo P Ponto de partida para outro algoritmo Cheque do mínimo local. 57 57
Grade de busca Mapeamento da FO segundo uma geometria definida Requer elevado esforço computacional Algoritmo: P. Definir a topologia da grade P. Em torno do ponto mínimo encontrado, repetir a grade e/ou torná-la mais fina. 58 58
MD: Busca Unidimensional Estabelecida uma direção, fazer uma OUSR nesta direção Eficiente para FO quadráticas sem interações entre as VP s Algoritmo: P. Definir um vetor de partida e tolerâncias P. Escolher um componente j do vetor P3. Na direção de j fazer uma OUSR P4. Voltar a P3 até percorrer todos os j P5. Verificar se as tolerâncias foram atingidas. Se não ir para P. 59 59
MD: Simple ou Poliedro Fleível Utiliza uma figura geométrica regular (simple) para selecionar o ponto em + Em dimensões o simple é um triângulo Em 3 dimensões o simple é um tetraedro. 60 60
Comparação MD s MI s Os métodos precisam: Definição de uma região de busca convea Na região de busca a FO seja unimodal Ponto(s) de partida Métodos Numéricos para OMSR MD s MI s Usam f() f(), f (), f () > n o iterações < n o iterações < tempo p/ iteraç. > tempo p/ iteraç. Pto(s) de partida Estimativa inicial Encontram apenas mínimos locais Fornecem solução aproimada 6 6
MD s MI s O POMSR pode ser resolvido por métodos diretos ou indertos No MATLAB: help fmins (poliedro fleível) MI: linearizando a FO (métodos do gradiente) MI: linearizand o modelo (método de Newton). Método Linearização Taa de Convergência longe da solução perto da solução Gauss-Seidel do modelo lenta alta Gradiente (descendente ou conjugado) Marquardt da função objetivo combina a linearização do modelo com a da função objetivo alta lenta inicia conforme o método do gradiente e depois se comporta como o de Gauss-Seidel Fórmula de Recorrência análoga à Equação 6-3 análoga à Equação 5-5 ou 5-8 análoga à Equação 5-4 6 6
Procedimento Geral para Resolver Problemas de Otimização. Definição dos objetivos. Estudo Qualitativo 3. Desenvolvimento da FO e das FR s 4. Mapeamento da FO 5. Manipulação, normalização e simplificação da FO e da FO e das FR s 6. Aplicação do algoritmo de otimização 7. Análise de sensibilidade e validação da solução encontrada 8. Implementação da solução 9. Manutenção preditiva e Auditoria continuada. 63 63
Eercício: Qual o valor máimo de f(y, z)? Qual o valor da variável de decisão no ponto ótimo? f 4 seno.540 y 0 z y, z Faça o mapeamento.540 Encontre o ponto ótimo utilizando uma rotina de otimização 4 y 0 z 64 64
Mapeamento no MATLAB clear all close all clc y = [ -0 : 0.5 : +0 ] ; z = y ; [Y,Z] = meshgrid(y,z) ; au = sqrt(.54*e4*y.^+e-*z.^) + eps ; f = sin(au)./au ; surfc(y,z,f) label('y') ylabel('z') zlabel('f') 65 65
Algoritmo no MATLAB % Programa principal: arquivo Programa_principa;.m X0 = [ -0. 0. ] ; % Estimativa inicial opcoes = optimset('tolfun',e-8,'tolx',e-8,'display','iter'); X=fminunc(@funcao_objetivo,X0,opcoes) % Função (subrotina): arquivo funcao_objetivo.m function [ f ] = funcao_objetivo(x) Y = X() ; Z = X() ; % au = sqrt(.54*e4*y.^+e-*z.^) + eps ; au = sqrt(y.^+z.^) + eps ; f = sin(au)./au ; f = -f ; 66 66