otimização de processos capítulo 4: otimização ... · m4. auxilia em problemas onde...

66
1 1 Otimização de Processos Capítulo 4: Otimização Unidimensional Sem Restrições (OUSR) .

Upload: docong

Post on 26-Sep-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

1

1

Otimização de ProcessosCapítulo 4:

Otimização Unidimensional Sem Restrições (OUSR)

.

Page 2: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

2

2

Algoritmos de Otimização

P1. 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

P2. Defina uma tolerânciaP3. Aplique o método selecionado até atingir a

tolerância, certificando-se que: f(x k+1) < f(xk)

Page 3: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

3

3

Tolerância ou Critério de Parada

Erro absoluto na FO:

Erro relativo na FO:

Erro absoluto no ponto ótimo:

ou

11 kk xfxf

2

1

k

kk

xfxfxf

31 k

iki xx

.41

211

n

i

ki

ki

ki

ki xxxx

Page 4: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

4

4

Erro relativo no ponto ótimo:

Erro absoluto na direção de busca:

x xx

ik

ik

ik

1

5

.6

2

1

n

i x

k

kxxfxf

Page 5: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

5

5

Taxa de convergência Norma euclidiana:

Linear:

Ordem p:

Superlinear:

101

xx

xxk

k

x xii

n

2

1

101

pk

k

xx

xx

.0lim1

kk

k

k xx

xx

Page 6: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

6

6

Métodos para OUSR Motivação:

M1. Problemas unidimensionais sem restriçõesM2. Incorporação da(s) restrições à FOM3. Técnicas OMSR e OMCR se originam em OUSRM4. Auxilia 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).

Page 7: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

7

7

Métodos Diretos (MD) p/ OUSR Não utilizam derivadas

G1. Métodos por diminuição da região de busca:G1.1. Dois intervalos iguais de buscaG1.2. Método da seção áurea

G2. Métodos por aproximação polinomial da FO:G2.1. Interpolação quadráticaG2.2. Interpolação cúbica.

Page 8: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

8

8

Métodos por Diminuição da Região de Busca

AlgoritmoP1. Escolha uma região viável (a,b) que

contenha uma função unimodalP2. Calcule f(x) em dois ou mais pontos.P3. Compare os valores de f(x) eliminando as

regiões que tem maiores valores de f(x) .

Page 9: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

9

9

Três intervalos iguais de busca x1 - a = b - x2 = x2 - x1 neste caso o intervalo

é reduzido de 1/3 a cada iteração L0 é o intervalo de busca original (b - a) e Lk

é o intervalo após k interações, então

A cada iteração é necessário avaliar duas vezes a função f(x) .

L Lkk

23

0

Page 10: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

10

10

Método da seção áurea O intervalo eliminado manterá sempre

uma mesma proporção com o intervalo original

x yx y

yyx y

yx

yy

y

11

10 618,

x ya b c

L Lk k 0 618 0,

Page 11: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

11

11

Seção Áurea

Page 12: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

12

12

Algoritmo Seção ÁureaP1. determine ak e bk , e a tolerância eP2. CalculeLk = bk - ak

x1k = ak + 0,382.Lk

x2k = bk - 0,618.Lk

P3. Calcule f(x1k) e f(x2

k)P4. Se f(x1

k) > f(x2k) => ak+1 = x1

k

bk+1 = bk

x1k+1 = x2

k

Se f(x1k) < f(x2

k) => bk+1 = x2k

ak+1 = ak

x2k+1 = x1

k

P5. Volte ao passo P2 até atingir a tolerância.

Page 13: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

13

13

MD: Interpolação Quadrática f(x) aproximada por um polinômio

quadrático Seja f(x) unimodal e um intervalo de

busca que contenha o extremo Avalie f(x1) , f(x2) e f(x3) Aproxime f(x) no ponto ótimo (x*) por uma

função quadrática g(x) , então ...

..

..

23333

22222

21111

xcxbaxgxf

xcxbaxgxf

xcxbaxgxf

Page 14: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

14

14

Mínimo de uma função quadrática g(x) :

Resolvendo g(x1) , g(x2) e g(x3) que formam um sistema de 3 eq’s e 3 incog’s:

ou

x bcg x

* 2

xx x g x x x g x x x g x

x x g x x x g x x x g xg x( )

12

22

32

1 32

12

2 12

22

3

2 3 1 3 1 2 1 2 3

xx x f x x x f x x x f x

x x f x x x f x x x f xf x( )

12

22

32

1 32

12

2 12

22

3

2 3 1 3 1 2 1 2 3

Page 15: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

15

15

MD: Interpolação Cúbica f(x) aproximada por um polinômio cúbico

Seja f(x) unimodal e um intervalo de busca que contenha o extremo

Avalie f(x1) , f(x2) , f(x3) e f(x4) Aproxime f(x) no ponto ótimo (x*) por uma

função cúbica g(x), então podemos escrever um sistema de 4 equações lineares.

f x g x a x a x a x a( ) ( ) . . 13

22

3 4

Page 16: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

16

16

SEAL:

logo Derivando g(x) e igualando a zero:

4321

4321

424

34

323

33

222

32

121

31

1111

aaaaA

xfxfxfxfF

xxxxxxxxxxxx

X

AXF

T

T

A X F 1

f xdx

a x a x a

xa a a a

aapr

3 2 0

2 4 126

12

21

3

2 22

1 3

1

. .

.

Page 17: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

17

17

Comparação MD’s x MI’sMétodos Diretos Métodos IndiretosUtilizam apenas f(x) Utilizam f'(x) e f”(x)

+ lentos + rápidosTratamento + fácil das

descontinuidadesTratamento + difícil das

descontinuidadesTratamento + fácil das

restriçõesTratamento + difícil das

restriçõesPreferido Recaem em SENL

Page 18: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

18

18

Algoritmos MI’sP1. Intervalo de busca contendo o ponto de

mínimo com FO unimodal neste intervaloP2. Defina uma tolerânciaP3. Aplique o MI até atingir a tolerância,

certificando-se que: f(x k+1) < f(xk) Quanto mais positivo for f"(xk) mais

rapidamente f(x) diminuirá Para maximizar f(x) , minimize -f(x) .

Page 19: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

19

19

MI: Método de Newton

Baseado no método de Newton p/ SEANL Expandindo g(x k+1)= 0 em torno de x k :

Como podemos escrever g(x)= f‘(x)= 0

k

kkkkkkkk

xgxgxxxgxxxgxg

'0'. 111

k

kkk

k

kkk

xfxfxx

xgxgxx

"'

'11

Page 20: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

20

20

Vantagens do Método de Newton

V1. Convergência quadrática se f "(x*) 0V2. Se FO é quadrática o mínimo é obtido em

uma iteração, pois a expansão em série deTaylor da função f(x) é exata

V3. Converge rapidamente p/ bom chute inicial Temos sempre que assegurar que a cada

iteração f(xk+1) < f(xk) para que o mínimo seja alcançado [f(xk+1) > f(xk) para o máximo].

Page 21: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

21

21

Desvantagens do Método de Newton

D1. Só se aplica qdo existem f’(x) e f”(x)D2. Calcular a cada iteração f’(x) e f”(x)D3. Sensível à estimativa inicialD4. Se f”(x) tende a 0 a convergência é lentaD5. Se existe mais de um extremo o método

pode não convergir para o ponto desejadoou pode oscilar.

Page 22: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

22

22

Método de Quasi-Newton

f’(x) aproximada por diferenças finitas DF1. Diferença finita para trás:

2

22x

xxfxxfxfxf

xxxfxfxf

Page 23: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

23

23

DF2. Diferenças finitas para frente:

DF3. Diferenças finitas central:

f xf x x f x

x

f xf x x f x x f x

x

2 22

2

22

xxxfxfxxfxf

xxxfxxfxf

Page 24: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

24

24

Portanto definindo h=x e obtemos

Esse método tem duas desvantagens em relação ao método de Newton:

D1. Necessidade de definir o passo hD2. Avaliação de uma função a mais a

cada iteração.

x x

f x

f xx

f x h f x h hf x h f x f x h h

k kk

kk

1

2

22

//

Page 25: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

25

25

Método da Secante

Expandindo f(x) = 0 em série de Taylor e truncando no terceiro termo:

Diferenciando em relação a x e igualando a 0:

!2..

2 kkkkk xfxxxfxxxfxf

0'

kkk xfxxxfxfxxf

Page 26: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

26

26

Em lugar de utilizar a f"(xk) usamos

Ponto ótimo aproximado

O x* é encontrado após algumas iterações A derivada f'(x) pode ser obtida por

diferenças finitas.

m

f x f x

x x

q p

q p

x xf x

f x f x x xapr

qq

q p q p

/

Page 27: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

27

27

Representação geométricado método da secante ou

regula falsi ou falsa posição

f’(x) f’(x)

xp

xq

Secante

x* xx*~

A sua ordem de convergência é de aproximadamente 1,6Requer menos esforço computacional que o quasi-Newton,pois precisa avaliar um número menor de funções

Page 28: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

28

28

Algoritmo da Secantea. Escolha dois pontos xp e xq com derivadas

de sinal contráriob. Calcule xapr*c. Calcule f’(xapr *)d. Escolha o novo par de pontos que mantém o

sinal contrário entre as derivadase. Volte à etapa b até que a tolerância admitida

seja alcançada.

Page 29: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

29

29

Avaliação dos Métodos Unidimensionais de Otimização

Requisitos desejados:R1. FO seja unimodalR2. Conhecer a região de busca que contenha o

extremo da FOR3. Nos MI’s dar boa estimativa inicialR4. Nos MI's, existir f’(x*) e/ou f”(x*) Conhecer as idiossincrasias dos programas.

Page 30: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

30

30

Problemas da otimização Múltiplos extremos Erros de arredondamento FO com gradiente grande FO com gradiente próximo a zero Descontinuidades da FO Descontinuidades das FR

(para problemas com restrições) Interação entre as VD’s

(para multivariável).

Page 31: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

31

31

Exercício:

2 3 4

max

:20 10constante

xL x

L x R C xsujeito a R

C x x x x

Page 32: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

32

32

Dica:

1º: use a instrução fplot ou plot do MATLAB para mapear a função objetivo

2º: use a instrução fminbnd para encontrar o ponto ótimo

Ou1º: faça o mapeamento da função objetivo no EXCEL2º: use o solver do para encontrar o ponto ótimo

2 3 4

max max max

max min min

min min 20 10

x x x

x xx

x x

L x R C x C x

C x C x C x

C x x x x

Page 33: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

33

33

Otimização Capítulo 5:

Otimização Multidimensional Sem Restrições (OMSR)

.

Page 34: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

34

34

Métodos para OMSR Devem ser eficientes e robustos Formulação geral de problemas de OMSR:encontrar x* = [x1 *,x2 *,...,xn *] que minimiza f(x) Algoritmo geral:P1. Escolha ponto(s) de partida ou estimativa inicialP2. Calcule a direção de busca sk

P3. Obtenha a nova aproximação do ponto ótimo:xk+1 = xk + xk , onde xk = k.sk

P4. Verifique se a tolerância foi atingida, se não volte p/ P2.

Page 35: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

35

35

Tolerância ou Critério de Parada

Erro absoluto na FO:

Erro relativo na FO:

Erro absoluto no ponto ótimo:

ou

11 kk xfxf

2

1

k

kk

xfxfxf

31 k

iki xx

.41

211

n

i

ki

ki

ki

ki xxxx

Page 36: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

36

36

Erro relativo no ponto ótimo:

Erro absoluto na direção de busca:

x xx

ik

ik

ik

1

5

.6

2

1

n

i x

k

kxxfxf

Page 37: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

37

37

Métodos Indiretos Métodos de 1a ordem: gradiente gradiente conjugado

Métodos de 2a ordem: Newton Levenberg-Marquardt

Métodos da secante ou quasi-Newton: Broyden Davidson-Fletcher-Powell (DFP) Broyden-Fletcher-Goldfarb-Shano (BFGS)

Page 38: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

38

38

MI: Gradiente Descendente Utiliza a derivada de 1a ordem O gradiente aponta para a direção de

maior variação de f(x) Na minimização a direção de busca é

O ponto ótimo é atualizado por

s f xk k

1k k k k k k kk kx x x x s x f x

Page 39: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

39

39

MI para OMSR Utilizam as derivadas de 1a e/ou 2a

A direção de pesquisa s é denominada direção descendente (para minimização), pois s < 0. Demonstração:

1

1mas 0

onde cos

e para minimizar 90 180 cos 0

k k k kT

k k k kT

k kT T

o o

f x f x f x s

f x f x f x s

f x s f x s

Page 40: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

40

40

f x f x f x s

f x s f x s

k k T k k

T k k T

o o

1 0

90 180 0

.

. . . cos

cos

pois

e para minimizar

Page 41: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

41

41

k = cte k = opt

Características do gradiente descendente:C1. Eficiente nas iterações iniciaisC2. Baixa taxa de convergência qdo x x*C3. Bom qdo ñ existe interação entre as VD’sC4. Determina apenas pontos estacionários.

1Tk k k k kopt Ts H x s f x s

Page 42: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

42

42

MI: Gradiente Conjugado

Utiliza a derivada de 1a ordem Combina o gradiente da iteração anterior

com o gradiente da iteração atual Desempenho superior ao gradiente

descendente Tem taxa de convergência quadrática

Page 43: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

43

43

Algoritmo do Grad. ConjugadoP1. Defina uma estimativa inicial xo

P2. Calcule f(xo), f(xo), so = - f(xo)P3. Compute x1 = xo + o.so . o é o escalar que

minimiza f(x) na direção so , ou seja, éobtido através de uma busca unidimensional

P4. Calcule f(x1) e f(x1). A nova direção de busca é combinação linear entre so e f(x1).

1

1 1 0 0 1 10T T

s f x f x f x s f x f x

Page 44: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

44

44

para a k-ésima iteração

P5. Teste se a FO esta sendo minimizada,se não volte ao passo P4.

P6. Termine o algoritmo quando ||sk|| < tolerância Problema se a razão entre os produtos internos

dos gradientes entre as iterações k+1 e k for pequena recaimos no gradiente descendente.

1

1 1 1 1T Tk k k k k k ks f x f x f x s f x f x

Page 45: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

45

45

MI: Método de Newton MI de 2a ordem Aproximar f(x) por série de Taylor

Derivando em relação a x e igualando a zero:

Portanto

Esta eq. define a direção e amplitude do passo.

12

T Tk k k k k kf x f x f x x x H x x

0k k kf x H x x

11k k k k kx x x H x f x

Page 46: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

46

46

Podemos alterar o passo por:

Para avaliar o passo não é necessário inverter a Hessiana, basta resolver o SEAL

Método rápido quando converge Taxa de convergência rápida perto do ponto

ótimo, exatamente o comportamento contrário do método gradiente.

11k k k k k kk kx x x H x f x s

1 k k kk H x x f x

Page 47: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

47

47

Desvantagens do NewtonD1. Requer a inversão de uma matriz, ou pelo

menos a solução de um sistema linear acada iteração

D2. Requer a avaliação analítica das derivadasde 1a e 2a ordem

D3. Pode convergir para um ponto de sela seH(x) não é positiva definida

D4. Tem desempenho fraco ou não convergequando a estimativa inicial é ruim.

Page 48: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

48

48

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 positiva-

definida;

Page 49: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

49

49

A cada iteração faço:

Ou:

Onde é um valor positivo que torna H(x) > 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.

~H x H x I

~H x H x I

1 1

Page 50: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

50

50

Algoritmo de MarquardtP1. Defina uma estimativa inicial xo e uma tolerânciaP2. Para k = 0 faça 0 = 103 . P3. Calcule f(xk).P4. Verifique se a tolerância foi atingida, se não

continueP5. Calcule P6. Compute xk+1 = xk + k .sk ; k vem da Eq. 5-F P7. Se f(xk+1) < f(xk) vá ao p/ P8, se não vá p/ P9P8. k+1 = 0,25 k , e k = k+1 . Volte ao passo P3P9. k = 2 k. Volte ao passo P3.

kkkk xfIHs 1

Page 51: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

51

51

MI: Secante ou Quasi-Newton Análogo ao Método da Secante para OUSR Algoritmo:Passo 0 (zero):P1. Defina uma estimativa inicial e uma toler.P2. Selecione uma direção de busca inicial.

Usualmente so = - f(x)P3. Calcule . Se não for

positiva definida faça H H x

0 0

H I0

H0

Page 52: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

52

52

Passo kP1. Calcule a amplitude do passo k

P2. Calcule xk+1 que minimiza f(x) por umabusca unidimensional na direção sk

P3. Calcule f(xk+1) e f(xk+1)P4. Calcule xk = xk+1 - xk e

g(xk) = f(xk+1) - f(xk)P5. Calcule

x x H sk k k k k

11

H H Hk k k

1

Page 53: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

53

53

P6. Calcule a nova direção de busca através de

ou de

Passo k+1P1. Verifique se a tolerância foi atingidaP2. Se o critério de parada foi atingido, pare.

Se não, volte ao passo k Broyden, DFP, BFGS, etc.

s H f xk k k 1 1 1

1

H s f xk k k

1 1 1

Page 54: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

54

54

Desvantagens Quasi-NewtonD1. pode deixar de ser > 0

D2. pode ser ilimitada

H Hk k

ou1

H Hk k

ou1

Page 55: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

55

55

Desvantagens Quasi-NewtonD1. pode deixar de ser > 0

D2. pode ser ilimitada

D3. Se tem a

mesma direção da iteração anterior, então

é singular ou indeterminada.

H Hk k

ou1

H Hk k

ou1

x H f xk k k k

1

H Hk k 1 1 1

ou

Page 56: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

56

56

Métodos Diretos (MD) para OMSR

Não utilizam as derivadas:MD1. Busca randômicaMD2. Grade de buscaMD3. Busca unidirecionalMD4. Método simplex ou do poliedro flexível MI’s tem taxa de convergência maior.

Page 57: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

57

57

Busca Randômica AlgoritmoP1. Fazer k = 0P2. Randomicamente escolher um vetor xk

P3. Avaliar f(xk) P4. Verificar se a tolerância foi atingida,

se não retornar ao passo P2 Ponto de partida para outro algoritmo Cheque do mínimo local.

Page 58: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

58

58

Grade de busca Mapeamento da FO segundo uma

geometria definida Requer elevado esforço computacional Algoritmo:P1. Definir a topologia da gradeP2. Em torno do ponto mínimo

encontrado,repetir a grade e/ou torná-la mais fina.

Page 59: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

59

59

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:P1. Definir um vetor de partida e tolerânciasP2. Escolher um componente j do vetorP3. Na direção de j fazer uma OUSRP4. Voltar a P3 até percorrer todos os jP5. Verificar se as tolerâncias foram atingidas.

Se não ir para P2.

Page 60: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

60

60

MD: Simplex ou Poliedro Flexível Utiliza uma figura geométrica regular (simplex)

para selecionar o ponto em k+1 Em 2 dimensões o simplex é um triângulo Em 3 dimensões o simplex é um tetraedro.

Page 61: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

61

61

Comparação MD’s x MI’s Os métodos precisam: Definição de uma região de busca convexa Na região de busca a FO seja unimodal Ponto(s) de partida

Métodos Numéricos para OMSRMD’s MI’s

Usam f(x) f(x), f’(x), f”(x)> no iterações < no iterações

< tempo p/ iteraç. > tempo p/ iteraç.Pto(s) de partida Estimativa inicialEncontram apenas mínimos locais

Fornecem solução aproximada

Page 62: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

62

62

MD’s x MI’s O POMSR pode ser resolvido por métodos

diretos ou indertos No MATLAB: help fmins (poliedro flexível) MI: linearizando a FO (métodos do gradiente) MI: linearizand o modelo (método de Newton).

Método LinearizaçãoTaxa de Convergência

Fórmula delonge dasolução

perto dasolução

Recorrência

Gauss-Seidel do modelo lenta alta análoga àEquação 6-31

Gradiente(descendente ou

conjugado)

da funçãoobjetivo

alta lenta análoga àEquação 5-5 ou

5-8

Marquardtcombina a

linearização domodelo com a dafunção objetivo

inicia conforme ométodo do gradiente e

depois se comportacomo o de Gauss-Seidel

análoga àEquação 5-14

Page 63: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

63

63

Procedimento Geral para Resolver Problemas de

Otimização1. Definição dos objetivos2. Estudo Qualitativo3. Desenvolvimento da FO e das FR’s4. Mapeamento da FO5. Manipulação, normalização e simplificação da FO

e da FO e das FR’s6. Aplicação do algoritmo de otimização7. Análise de sensibilidade e

validação da solução encontrada8. Implementação da solução9. Manutenção preditiva e Auditoria continuada.

Page 64: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

64

64

Exercício:Qual o valor máximo de f(y, z) ?Qual o valor da variável de decisão no ponto

ótimo?

Faça o mapeamento Encontre o ponto ótimo utilizando uma rotina de

otimização

212214

212214

10101.5242

10101.5242seno,

zy

zyzyf

Page 65: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

65

65

Mapeamento no MATLABclear allclose allclcy = [ -10 : 0.5 : +10 ] ;z = y ;[Y,Z] = meshgrid(y,z) ;aux = sqrt(1.5242*1e14*Y.^2+1e-12*Z.^2) + eps ;f = sin(aux)./aux ;surfc(Y,Z,f)xlabel('y')ylabel('z')zlabel('f')

Page 66: Otimização de Processos Capítulo 4: Otimização ... · M4. Auxilia em problemas onde desconhecemos a ... 14 14 Mínimo de uma ... Diferenciando em relação a xe igualando a 0:

66

66

Algoritmo no MATLAB% Programa principal: arquivo Programa_principa;.mX0 = [ -0.1 0.1 ] ; % Estimativa inicialopcoes = optimset('TolFun',1e-8,'TolX',1e-8,'Display','iter');X=fminunc(@funcao_objetivo,X0,opcoes)

% Função (subrotina): arquivo funcao_objetivo.mfunction [ f ] = funcao_objetivo(X)Y = X(1) ;Z = X(2) ;% aux = sqrt(1.5242*1e14*Y.^2+1e-12*Z.^2) + eps ;aux = sqrt(Y.^2+Z.^2) + eps ;f = sin(aux)./aux ;f = -f ;