Escolar Documentos
Profissional Documentos
Cultura Documentos
Capítulo 8
Introdução à Otimização
Exemplo 8.1: No processo de extração por solvente puro, ilustrado abaixo, deseja-se encontrar
a condição de operação com a maior lucratividade possível.
W1 W2
F, xo F, x1 F, x2
1 2
W’1, y1 W’2, y2
onde Wi e W’i são vazões mássicas de solvente, F é a vazão mássica de água, xi é a massa
de soluto por unidade de massa de água e yi é a massa de soluto por unidade de massa de
solvente. Uma análise econômica gerou a seguinte expressão do lucro do sistema:
lucro: L = R – C
receita: R = Ps (W’1 y1 + W’2 y2)
2 8. INTRODUÇÃO À OTIMIZAÇÃO
inviável
0.02
economicamente
0
0.015
5
X2
18
0.01
15
10
0.005
S(x)
mínimos locais
x
mínimo global
n
c) S(x) = S i ( x) é uma função convexa. Se no mínimo uma Si(x) é estritamente convexa,
i 1
então S(x) é estritamente convexa;
d) S(x) é convexa para > 0 .
e) se todas Si(x) < x K, então S(x) = max{S1(x), S2(x), ..., Sn(x)} é convexa.
w w
S(y)
x x
x1 y x2 x1 y x2
Seja X um conjunto aberto não vazio do n e S(x) uma função diferenciável em xo
X. Se S(x) é convexa em xo, então
S(x) S(xo) TS(xo)(x xo)
Para uma função S(x) diferenciável em X,
S(x) é convexa S(x2) S(x1) TS(x1)(x2 x1) x1, x2 X.
Seja X um conjunto aberto não vazio do n e S(x) uma função duas vezes
diferenciável em xo X. Se S(x) é convexa em xo, então 2S(xo) é positiva semidefinida. Para
uma função S(x) duas vezes diferenciável em X,
S(x) é convexa 2S(x) é positiva semidefinida x X.
Seja K um conjunto convexo não vazio do n, xo K e d um vetor não nulo tal que (xo
+ d) K para um > 0 suficientemente pequeno. Então, a derivada direcional de S(x) no
ponto xo, ao longo da direção d, denotada por S´(xo,d), é definida pelo seguinte limite
(incluindo ):
S ( xo d ) S ( xo )
S ( x o , d ) lim lim T S ( xo ) d d T 2 S ( x o ) d
0 0
minn S ( x) ou maxn S ( x)
x x
• Condição suficiente:
Seja S(x) duas vezes diferenciável em x* tal que:
S(x*) = 0 e
H(x*) seja positiva (negativa) definida
então x* é um mínimo (máximo) local estrito de S.
Pode-se analisar a condição da matriz Hessiana, H(x*), pelas seguintes formas:
1) Pela sua contribuição no termo de segunda ordem da expansão em série de Taylor em torno
do ponto ótimo.
1
S ( x) S ( x*) ( x x*)T H ( x*)( x x*)
2
3) Pelos sinais dos determinantes das primeiras menores principais de H(x*) (critério de
Sylvester).
A menor Mij de uma matriz H é definida como a matriz obtida pela remoção da i-ésima linha
e da j-ésima coluna de H. Uma menor principal de ordem k é uma matriz obtida pela remoção
de quaisquer n – k colunas e suas linhas correspondentes de uma matriz de ordem n. A
primeira menor principal de ordem k de uma matriz H, denotada por Mk(H), é obtida pela
remoção das últimas n – k colunas e linhas da matriz H. Observa-se que os determinantes das
primeiras menores principais de ordem 1,2,...,n da matriz são, respectivamente: 1, 12, ...,
123n.
Na tabela a seguir apresenta-se as relações entre a matriz Hessiana e as três formas de analisar
a sua condição.
H(x*) Taylor k = det (Mk)
positiva semidefinida xT H x 0 0 0
positiva definida xT H x > 0 >0 >0
negativa semidefinida xT H x 0 0 (-1)k k 0
negativa definida xT H x < 0 <0 (-1)k k > 0
não definida dos acima
xT H x 0 0
S(x)
2.0
1.5
1.0
0.5
0.0 x
-1.5 -1.0 -0.5 -0.5 0.0 0.5 1.0 1.5
-1.0
-1.5
2 x1 x22
S ( x )
2 x1 x2
então, x1* = x2* = 0, e:
2 2 x2 2 0
H ( x) H ( x*)
2 x2 2 x1 0 0
isto é, uma matriz positiva semidefinida. O gráfico abaixo ilustra a função S(x), onde se
observa que x* = 0 não é um ponto de mínimo. Fazendo a mesma análise com a mudança de
variável y x22 , verifica-se que a origem é um ponto sela.
150
100
50
S(x)
-50
-100
5
5
0
0
x2 -5 -5 x1
min S(x)
sujeito a: hj(x) = 0 , j = 1, 2, ..., m
gj(x) 0 , j = 1, 2, ..., p
x X n
onde S(x), g(x), e h(x) C2. O conjunto de todos os pontos viáveis é definido por:
K = {x X n / h(x) = 0, g(x) 0}
Uma restrição de desigualdade gj(x) é chamada de ativa em um ponto viável x se gj( x ) = 0,
caso contrário ela é uma restrição inativa. As restrições ativas restringem a região de
viabilidade, enquanto que as inativas não impõem restrição alguma na vizinhança do ponto
x , definida pela hiperesfera de raio em torno deste ponto, denotada por B( x ).
Um vetor d é chamado de vetor de direção viável a partir do ponto x se existe uma
hiperesfera de raio tal que:
( x + d) {B( x ) K} para todo 0 .
d
O conjunto de vetores de direções viáveis a partir de x é chamado de cone de direções
viáveis de K no ponto x . A figura abaixo ilustra estas definições.
cuja solução para existirá somente se a matriz xh(x) possuir posto completo, m, isto é, estar
composta por m vetores linearmente independentes.
que interpretada graficamente, figura abaixo, mostra que o vetor S(x*) pertence ao cone
das direções viáveis, formado pelo negativo dos gradientes das restrições de igualdade e
desigualdade ativas (uma vez que *j = 0 para as restrições inativas).
Supondo que S(x*) caia fora do cone das direções viáveis, então haveria uma
direção d tal que dT S(x*) < 0, dT g(x*) 0 e dT h(x*) = 0, isto é, existiria um ponto
melhor que x*, como ilustra a figura abaixo.
12 8. INTRODUÇÃO À OTIMIZAÇÃO
sujeito a: g1(x) = x1 x 22 / 4 0
Exemplo 8.6: Verificar as condições necessárias e suficientes para o problema com a mesma
função objetivo do exemplo 8.5, mas usando a seguinte restrição:
g2(x) = x1 x 22 0
14 8. INTRODUÇÃO À OTIMIZAÇÃO
problemas de minimização. Os métodos existentes para a solução deste problema podem ser
agrupados em duas categorias:
1) métodos que não usam derivadas (métodos de busca, métodos diretos);
2) métodos que usam derivadas (métodos analíticos, métodos da métrica variável,
métodos indiretos).
Como regra geral, na solução de problemas sem restrição, os métodos que usam derivadas
convergem mais rapidamente que os métodos de busca. Por outro lado, os métodos de busca
não requerem regularidade e continuidade da função objetivo e, principalmente o cálculo de
derivadas primeira ou segunda de S(x).
algoritmo
o o
1) Determinar o intervalo de busca [L , U ] que contém o ponto de mínimo
2) Fazer k 0, o Uo Lo,
xLo Lo o , S Lo S ( xLo ) ,
xUo U o o , SUo S ( xUo ) ,
3) Se S ( xUk ) S ( xLk ) , então Lk +1 xUk , xUk 1 xLk , SUk 1 S Lk
senão U k +1 xLk , xLk 1 xUk , S Lk 1 SUk
4) Fazer k k + 1 e k Uk Lk,
8.2 MÉTODOS DIRETOS 15
S(xU)
S(xL)
S(xL) S(xU)
x x
xU xL xU xL
L U L U
n
P2n1 ( x) h1 ( x) S ( x j ) h2 ( x) S ( x j )
j 1
onde h1 ( x) 2j ( x) 1 2 ( x x j ) j ( x j ) e h2 ( x) 2j ( x) ( x x j ) são os interpoladores de
Hermite.
algoritmo
1) Determinar o intervalo de busca [x1, x3]
2) Calcular S1 S(x1), S3 S(x3), x2 (x1 + x3) / 2 e S2 S(x2)
1 ( x22 x32 ) S1 ( x32 x12 ) S2 ( x12 x22 ) S3
3) Calcular x #
e S# S(x#)
2 ( x2 x3 ) S1 ( x3 x1 ) S2 ( x1 x2 ) S3
4) Se |x xi| < para algum i = 1, 2, 3, então FIM.
#
P2(x)
S(x)
S(x#)
x
x1 x # x2 x3
x1 x1
x11 x10 x+11 x11 x10 x+11
exploração progressão
algoritmo
Partida:
1) Determinar a região de busca [Li, Ui], (i = 1,2,...,n)
2) Selecionar o ponto base inicial xio (i = 1,2,...,n)
3) Calcular o valor So S(xo) da função objetivo em xo
8.2 MÉTODOS DIRETOS 17
Fase de Exploração:
6) Calcular xko xko k (sentido negativo)
7) Se xko estiver fora da região de busca, então insucesso em k- (ir para 10)
8) Calcular o valor de So S ( xo )
9) Se So So então insucesso em k-
senão sucesso em k- e fazer xko xko e So So (ir para 14)
10) Calcular xko xko k (sentido positivo)
11) Se xko estiver fora da região de busca, então insucesso em k+ (ir para 14)
12) Calcular o valor de So+ S ( xo )
13) Se So So então insucesso em k+
senão sucesso em k+ e fazer xko xko e So So
14) Se já foram exploradas todas as direções (k = n) então (ir para 15)
senão tomar a direção seguinte k k + 1 e (ir para 6)
15) Se houve sucesso em alguma direção então (ir para 17)
16) Se i i i então FIM.
senão i i / 2 i tal que i i (ir para 5)
Fase de Progressão:
17) Tomar xi1 xio i (e, opcionalmente, i 2 i ) para todas as direções que houve
sucesso
18) Se x1 estiver fora da região de busca, então insucesso na progressão (ir para 16)
19) Calcular o valor de S1 S ( x1 )
20) Se S1 So então insucesso na progressão (ir para 5)
senão sucesso na progressão e fazer xo x1 e So S1 (ir para 17)
X2
10
9
7 11
8 13
5 12
6
1 4
3 2
X1
k 1 1 k
Se S ( xR ) S ( xh ), então xi x 2 ( xi x )
k k k k
4) Redução: i 1, 2, , n 1
k k 1 (ir para 1)
O critério usado por Nelder e Mead para terminar a busca é o seguinte:
1
1 n 1 2 2
n 1 i 1
S ( xik ) S ( x0k ) .
onde xik é a posição da partícula i na iteração k, vik sua velocidade, pik sua melhor posição até
a iteração k, gk é a melhor posição dentro todas as partículas até a iteração k, ik e ik são
números aleatórios entre 0 e 1, w (fator de inércia) e c1 e c2 são parâmetros de sintonia do
método. Para valores elevados de w, tem-se uma melhor busca global e para valores pequenos
tem-se uma melhor busca local. c2 > c1 favorece o refinamento da solução já obtida, ou seja, a
busca local, ao passo que c2 < c1 favorece a busca global, já que cada partícula segue o seu
próprio caminho.
algoritmo
0 0
1) Inicialização: construção de x e v aleatoriamente, k = 0.
i i
No passo (4) pode-se também adotar outros critérios de parada, como por exemplo, um
determinado número de iterações sem haver mudança no valor de gk.
20 8. INTRODUÇÃO À OTIMIZAÇÃO
2) Calcular dk S(xk)
3) Encontrar k tal que S(xk + k dk) = min gk() = S(xk + dk)
0
4) Calcular x x + k d
k+1 k k
L(x1,x2) g1()
0.02
0.015
X2
xo
0.01
0.005
g2()
g2()
2
Aproximando S(x) por uma função quadrática:
1
S ( x k 1 ) S ( x k ) T S ( x k ) ( x k 1 x k ) ( x k 1 x k )T H ( x k ) ( x k 1 x k )
2
ou de forma similar:
1
g k ( ) S ( x k d k ) S ( x k ) T S ( x k ) d k 2 ( d k )T H ( x k ) d k
2
dg k
que minimizando em relação a , 0 , resulta:
d
T S ( x k ) d k (d k )T d k
* k k T
( d ) H ( x k ) d k ( d k )T H ( x k ) d k
Contudo, a equação acima não é utilizada para o cálculo de nos métodos gradientes, pois
exigiria o cálculo da segunda derivada da função objetivo. Neste caso, se utiliza, em geral,
métodos de busca para a sua seleção.
f
neste caso S(xk) = 2 JT(xk) F(xk) e H(xk) = 2 JT(xk) J(xk) + 2 Q(xk), onde J ( x) i é
x j i , j
m
a matriz Jacobiana do sistema, Q( x) fi ( x) H i ( x) e Hi(x) é a matriz Hessiana da função
i 1
fi(x). Quando fi(xk) 0 para xk x*, então Q(xk) tende a zero, e as direções de busca do
método de Gauss-Newton para o problema de mínimos quadrados:
2
minn J ( x k ) d F ( x k )
d
algoritmo
1) Escolher um ponto inicial xo
2) Calcular do S(xo) , k 0
3) Encontrar k tal que S(xk + k dk) = min gk() = S(xk + dk)
0
4) Calcular x x + k d e S(x )
k+1 k k k+1
y mod x , a
Assim: f k x para k= 0, 1, ..., n.
a k
Nesse caso diz-se que a função é linear nos parâmetros.
Deseja-se determinar os n parâmetros do modelo que minimizem a função objetivo que é a
2
N exp N exp
y
n
soma dos quadrados dos erros: S a
j 1
exp, j y mod x j , a
2
y exp, j
j 1
i 0
ai f i x j
S a
N exp
n
Logo:
a k
2
j 1
f k x j y exp, j
a
i 0
i fi x j 0
N exp N exp
n
Ou seja: f k x j f i x j ai f k x j y exp, j
i 0 j 1 j 1
a0 y exp,1
a1 n 1 y exp, 2
Adotando a notação matricial: a ; y exp
N exp
;
a y exp, N
n exp
f 0 x1 f 1 x1 f n x1
f 0 x2 f1 x 2 f n x2
A .
f0 xN
exp
f x
1 N exp
f n x N exp
Assim:
A
N exp N exp
T
A linha k
j 1
f k x j f i x j e A T y exp elemento k
f x y
j 1
k j exp, j
1 x1 x1n
1 x 2 x 2n
A
1 x N x N exp
n
exp
26 8. INTRODUÇÃO À OTIMIZAÇÃO
i 1
xi
i 1
y exp,i
i 1
xi2 x y
i 1
i i
x , y exp , x 2
e x y exp resulta:
N exp N exp N exp N exp
1 x a 0 y exp
x x 2 a1 x y exp
a
n n
y mod,linearizado x , a y mod x , a ( k )
i 0
i a i( k ) f i ( k ) x yˆ mod
(k )
x a i 0
i f i(k ) x ,
y x , a
a
n
sendo f i (k )
x mod (k )
e yˆ mod x y mod x, a ( k ) (k )
f i(k ) x
a i
i
a(k ) i 0
a k 1 AkT Ak A
1 T
k
k
y exp
y exp,1 yˆ mod
(k )
x1
k y exp, 2 yˆ mod x 2
(k )
N exp
Sendo: y exp e
y exp, N yˆ mod
exp
(k )
x N exp
8.4 MÉTODO DOS MÍNIMOS QUADRADOS 27
S (a ) R (a ) R(a ) R 2j (a )
T
j 1
N exp
e Hj(a) é a matriz Hessiana da função Rj(a). Quando Rj(a ) 0, então Q(a ) tende a zero, e (k) (k)
c
n
y mod x j , c, p i p ij 1 , sendo: ci a i expbi x1 e p i expbi h
i 0
n
e homogênea da forma: Y j n 1
k 0
k Y j k 0 Porém nos pontos experimentais tal equação
F α
J max n
Assim:
m
2 j 1
y exp, j m y exp, j n 1
k 0
k y exp, j k 0 ou seja:
J max
n
j 1
y exp, j m y exp, j n 1
k 0
k y exp, j k 0 para m = 0,..., n.
n
vista de p i expbi h bi ln p i para i = 0, 1,..., n. Assim y mod x, a , b a expb x
1
i i
h i 0
e como agora a equação do modelo é linear nos coeficientes a0, a1, ...,an estes são
determinados após a definição de:
expb0 x1 expb1 x1 expbn x1
expb0 x 2 expb1 x 2 expbn x 2
A
exp b0 x N
exp
exp b1 x N exp
exp bn x N exp
permitindo determinar: AT A a AT y exp a AT A A
1 T
y exp
y exp, 1
y exp, 2 N exp 1
T
Resultando em: M y exp, 3 M M y 2
exp, i e
i 1
y
exp, N exp 1
y exp, 2
y exp, 3 N exp
v y exp, 4
T
M v y exp, i
y exp, i 1 .
i2
y
exp, N exp
Desse modo:
N exp
N exp
y exp,i y exp,i 1
1 i 2
y exp,i y exp,i 1
0 i 2
N exp 1
p 0 expb h 0 b ln N exp 1
h
i 1
2
y exp, i
i 1
2
y exp, i
N exp
e
j 1
b0 x j
y exp, j
E a N exp
e j 1
2b0 x j
y sendo:
N exp
b x j 2
Minimiza-se a função: S (a, b) exp, j ae
j 1
N exp
e b x j
y exp, j
e y
N exp
S (a, b)
a e b xj 0 ab
b x j j 1
Com: 2
a
exp, j N exp
e
j 1 2b x j
j 1
y x e y
N exp N exp
S (a, b)
e
b
2 a j 1
x je
b x j
exp, j a e b xj 0
j 1
j
b x j
exp, j a e b xj 0
1 1 b
a e b . Os valores de e são calculados da mesma forma que no
a a
ajuste linear, assim:
1
y exp,1
1
1 x Yexp
, sendo Yexp y exp, 2 . Neste caso também vale as duas
x x 2 x Yexp
1
y
exp, N exp
observações feitas acima.
Para um ajuste que minimize de fato a soma dos quadrados dos erros deve-se ter:
2
N exp
a
Minimiza-se a função: S (a, b) y exp, j sendo:
j 1
1 b x j
N exp
y exp, j
S (a, b)
N exp
1 b x
0 ab
1 a j 1 j
Com 2 y exp, j
a 1 b x j 1 b x j N exp
2
j 1 1
1 b x j
j 1
S (a, b)
N exp
N exp
xj
1 b x
xj
a a
e 2 a y exp, j y exp, j 0
0
b j 1 j
2
1 b xj j 1 1 b x j
2
1 b x j
ax
y mod x, a, b Ymod X , , X , sendo: X ,
1 1
1 b x y mod x, a, b x
b 1
e
a a
3) Modelo Geométrico: Erro! Não é possível criar objetos a partir de códigos de campo de edição.
De forma semelhante da feita com o modelo exponencial acima, este modelo pode também
ser expresso na forma: Ymod X , , b ln y mod x, a, b b X , sendo X ln x e
ln a a e .
Os valores de e b são calculados da mesma forma que no ajuste linear, assim:
ln y exp,1
1
X Yexp
, sendo ln y exp, 2
Yexp .
X X 2 b x Yexp
ln y exp, N
exp
Neste caso também vale as duas observações anteriores.
Para um ajuste que minimize de fato a soma dos quadrados dos erros deve-se ter:
y
N exp
2
Minimiza-se a função: sendo: S (a, b) exp, j a x bj
j 1
N exp
x b
j y exp, j
x y
N exp
S (a, b)
a x bj 0 ab
j 1
Com: 2 b
a
j exp, j N exp
x
j 1 2b
j
j 1
0 x
N exp N exp
S (a, b)
e
b
2 a j 1
x bj ln x j y exp, j a x bj
j 1
b
j ln x j y exp, j a x bj 0
Lista de exercícios
1) Determine (a partir da definição de concavidade e convexidade) a concavidade ou
convexidade das funções:
(a) f ( x1 , x2 ) x1 2 3 x2 1 no domínio: x1 , x2 0 ;
2 2
(b) f ( x1 , x2 , x3 ) 2 x1 x2 3 x3 no domínio: x1 , x2 , x3 0 .
2 2 2
2 x
(a) f ( x) para x 0 ;
1 x2
sen( x)
(b) f ( x) para - x ;
x
(c) f ( x) e x sen( x) para 0 x ;
2
dt
A variação da concentração do reagente com o tempo é medida construindo-se a tabela:
t (min) 1 2 3 4 5 7 10 12 15 20 25
c x100 4,049 3,086 2,604 2,222 1,912 1,524 1,142 0,980 0,741 0,649 0,521
(mol/L)
8.4 MÉTODO DOS MÍNIMOS QUADRADOS 33
Dica: note que os pontos estão igualmente espaçados, considere então que:
I mod t i 1 p I mod t i sendo ti 0, 2 0,1 i para i = 0, 1, ...., 7.
9) y é uma função de x dada pela tabela abaixo, sabe-se que esta dependência é expressa por:
y ( x) A e x B e x . Determine os valores de A, B, e .
Dica: note que os pontos estão igualmente espaçados, considere então que:
y mod t i 2 b y mod t i 1 c y mod t i 0 sendo ti 0, 4 0,1 i para i = 0, 1,....,7. Os valores de
b e c são determinados de modo a minimizar a função:
5
y t b y t c y t
2
mod i2 mod i 1 mod i 0 com os valores de b e c determinam-se as
i 0
10) y é uma função de x dada pela tabela abaixo, sabe-se que esta dependência é expressa por:
y ( x) C e a x senb x . Determine os valores de C , a e b
Dica: note que os pontos estão igualmente espaçados, considere então que:
y mod t i 2 b y mod t i 1 c y mod t i 0 sendo ti 0, 2 i para i = 0, 1, ...., 8. Tendo em vista
e b x i e b x i e a b x i e a b x i
que senb x e a x senb x , pode-se assim interpretar
2i 2i
como se o polinômio característico associado apresenta um par de raiz complexa conjugada.
Após as raízes serem determinadas o valores iniciais dos parâmetros seriam:
ln er0 5 ln er0 e b argr0 5 argr0
1 1
a
h h
11) y é uma função de x dada pela tabela abaixo, sabe-se que esta dependência é expressa por:
y ( x) A e x B . Determine os valores de A, B e
34 8. INTRODUÇÃO À OTIMIZAÇÃO
x 1,0 1,2 1,4 1,6 1,8 2,0 2,2 2,4 2,6 2,8 3,0
y(x) 3,00767 2,79720 2,61553 2,45874 2,32340 2,20659 2,10576 2,01874 1,94363 1,87880 1,82284
Dica: note que os pontos estão igualmente espaçados, considere então que:
y mod t i 2 1 b y mod t i 1 b y mod t i 0 sendo ti 1 0, 2 i para i = 0, 1, ...., 10. Com o
valor de b determinam-se as raízes de p 2 1 b p b p 1 p b 0 estas raízes são:
r1 1 e r2 b e 0,2 5 ln b . Calculam-se então A e B por regressão linear.