Академический Документы
Профессиональный Документы
Культура Документы
Engenharia Química
Universidade Federal de Alagoas (UFAL)
181 pag.
Escola Politécnica
UFBA
MODELAGEM DE PROCESSOS
SIMULAÇÃO DE PROCESSOS
CONTROLE DE PROCESSOS
OTIMIZAÇÃO DE PROCESSOS
OTIMIZAÇÃO DE PROCESSOS
Índice
Lista de Abreviaturas
Nomenclatura
R2. Himmelblau, D. M.; Process Analysis by Statistical Methods. Jonh Wiley &
Sons, 1970. Livro que traz os algoritmos de vários métodos de otimização e
aplica esses métodos principalmente ao ajuste de modelos matemáticos a
dados experimentais. Livro texto para o Capítulo 6 desta apostila.
1. Introdução e Definições
Metodologia de ensino:
M1.Utilizaremos de data-show e da lousa para desenvolver os tópicos.
M2.Exercícios resolvidos para exemplificar os conhecimentos teóricos
abordados.
M3.Aulas de exercícios para as equipes (2 alunos por equipe).
M4.Lista de exercícios propostos.
M5.Distribuição de apóstila com o conteúdo do que foi apresentado.
M6.Sempre que necessária haverá interrupção da aula para esclarecimento de
dúvidas.
M7.Estudo de “cases” industriais que sejam de intresse dos alunos
-0.5
-1
-1.5
-2
-2.5
-3
-3.5
-4
-4.5
-100 -50 0 50 100
max y 1
Função objetivo (FO):
y 1 = − a. x 2 + b. x + c
Equação 1.6-A
max(y1)
ans = 5
Obs: expressões nesta fonte (Courier New 10, verde, em negrito)
são comandos do MATLAB.
expressões nesta fonte (Courier New 10, azul) são as respostas
geradas pelo MATLAB.
as expressões nesta fonte (Times New Roman 12, preto) são textos em
WORD.
Comando help nome-da-função permite consultar o manual de referência
on-line do MATLAB.
Comando help optim permite consular o manual de referência do toolbox de
otimização on-line do MATLAB.
-0.5
-1
-1.5
-2
-2.5
-3
-3.5
-4
-4.5
-100 -50 0 50 100
• Convexidade:
• convexa, a função objetivo é uma função convexa (tem um único
mínimo)
• côncava, a função objetivo é uma função côncava (tem um único
máximo)
1.6.2. As Restrições
São os limites impostos ao sistema pelas condições físicas, por exemplo:
• capacidade máxima de processamento de um equipamento,
• temperatura e pressão absolutas só podem assumir valores positivos,
• os balanços de massa e energia de um processos devem ser obedecidos,
• capacidade de absorção do mercado,
• preço máximo de venda ou de compra,
• etc.
As restrições podem ser de igualdade ou de desigualdade.
y1 = − a. x 2 + b. x + c
Equação 1.6-B
-400
-600
-800
-1000
-1200
-1400
-1600
10 12 14 16 18 20
1
1
0.8
0.6 0.5
0.4
0.2
0
0
-0.5
-0.2 10
5 10
-0.4 0 5
-8 -6 -4 -2 0 2 4 6 8
0
-5 -5
-10 -10
Figura 1-D: Gráfico bidimensional
c = contour(x,y,Z) ; meshc(x,y,Z)
clabel(c);
8
0
6
-0.2 0 1
4
0
2 0.2
0.8
0.5
0.4
0 -0.2 0.6
-2 0
0
pcolor(x,y,Z)
-2
-4
-6
-8
-8 -6 -4 -2 0 2 4 6 8
0 .8
0 .6
0 .4
0 .2
-0 .2
-0 .4
0 200 400 600 800 1000 1200
Figura 1-I: Gráfico dos valores alinhados de uma função bidimensional
Quando existem muitas VD’s o número de cálculos e/ou de gráficos para
mapear a FO fica proibitivo, por exemplo, para 5 variáveis de decisão com 20
pontos para cada, o número de vezes que a FO será avaliada é 205 =
3.200.000.
[
E1.4.Dada a função f ( x ) = x13 exp x 2 − x12 − 10( x1 − x 2 )
2
] , graficamente obtenha
o ponto de máximo. Estude a sensibilidade.
2. Conceitos Matemáticos
2.1. Definições
Uma matriz é um conjunto de números, símbolos ou funções dispostos em
linhas e colunas. Cada elemento de uma matriz A é denominado aij, onde o
subscrito i corresponde à linha e o subscrito j à coluna corresponde.
⎡ a11 a12 a1m ⎤
⎢a a 22 a 2 m ⎥⎥
A n xm = ⎢ 21
⎢ ⎥
⎢ ⎥
⎣ a n1 an2 a nm ⎦
Equação 2-A
Se o número de linhas (n) for igual ao número de colunas (m) então a matriz
é denominada de matriz quadrada. Uma matriz quadrada particularmente
importante é a matriz identidade I. Esta matriz tem todos os elementos iguais
a zero, exceto os da diagonal principal (aii = 1, i = 1, ..., n), que são todos iguais
a 1 (um).
⎡1 0 0 0⎤
⎢0 1 0 0⎥⎥
⎢
I n xn = ⎢0 0 ⎥
⎢ ⎥
⎢ 1 0⎥
⎢⎣0 0 0 1⎥⎦
Equação 2-B
Equação 2-D
Multiplicação: An x m x Bm x r = Cn x r
O número de colunas da matriz A deve ser igual ao número de linhas da
matriz B. Cada elemento da matriz C é obtido pelo somatório do produto dos
elementos da i-ésima linha da matriz A vezes os correspondentes elementos
da j-ésima coluna da matriz B :
m
cij = ∑ a ik bkj
k =1
Equação 2-E
Equação 2-F
Equação 2-G
Equação 2-H
i =1
Equação 2-I
n
x x = ∑ xi2 é um escalar
T
i =1
Equação 2-J
Se o resultado do produto interno entre dois vetores é igual a zero, então esses
vetores são ortogonais, em vetores bi ou tridimensionais isto significa que os
mesmos são perpendiculares entre si.
Equação 2-K
Equação 2-L
⎢ ∂x ∂x ∂x n ∂x 2 ∂x n2 ⎥⎦
⎣ n 1
Equação 2-N
(
∂ x T Az ) = Az
∂x
Equação 2-P
e
(
∂ x T Ax ) = Ax + A T
x
∂x
Equação 2-Q
Equação 2-S
∑d
j =1
j aj =0 se e somente se dj = 0 qualquer que seja o j
Equação 2-T
Equação 2-V
Equação 2-X
Equação 2-Y
Se o rank da matriz Anxn for n, então existe uma única solução, ou seja o
sistema de equações é linearmente independente. Caso contrário, ou seja, |A|
= 0, então o sistema tem infinitas soluções ou a solução não existe.
Se b = 0, a equação 2-x tem duas soluções:
• a solução trivial: x = 0
• a solução não-trivial: x ≠ 0, neste caso det[A] = 0
Equação 2-Z
2000
1500
4
x 10
1 10000
0.8 9000
0.6 8000
0.4 7000
0.2 6000
0 5000
-0.2 4000
-0.4 3000
-0.6 2000
-0.8 1000
-1 0
0 5 10 15 20 25 30 35
0 5 10 15 20 25 30
c) lim f ( x) = f ( x o )
x → xo
c) lim f ( x, y ) = f ( x o , y o )
( x , y )→( xo , yo )
18
16
14
12
Custo
10
2
0 2 4 6 8 10
D iâ m e tro s d e tub o s c o m e rc ia lm e nte d is p o níve is
-500
-1000
-1500
-2000
-2500
-30 -20 -10 0 10 20 30 40 50
2500
2000
1500
1000
500
0
-30 -20 -10 0 10 20 30 40 50
⎢ ∂x ∂x ∂x 22 ⎥⎦
⎣ 2 1
Equação 2-DD
Analogamente às funções monovariáveis, a matriz das derivadas segundas
de uma função multivariável, ou seja a Hessiana, determina se uma função tem
um máximo ou um mínimo em uma região, ou seja, a matriz H(x) estabelece se
a função é côncava ou convexa numa dada região, respectivamente.
Resumindo, dada uma função objetivo f(x) a sua matriz Hessiana H(x)
determina a sua natureza:
1. Para f(x) ser estritamente convexa H deve ser positiva definida.
Para f(x) ser convexa H deve ser positiva semi-definida.
H é positiva definida se e somente se xTHx é > 0 para todo x ≠ 0.
H é positiva semi-definida se e somente se xTHx é > 0 para todo x ≠ 0.
Se todos os autovalores de H forem positivos (>0) então H é positiva
definida.
Se todos os autovalores de H forem não-negativos (>0) então H é positiva
semi-definida.
2. Para f(x) ser estritamente côncava H deve ser negativa definida.
Para f(x) ser côncava H deve ser negativa semi-definida.
H é negativa definida se e somente se xTHx é < 0 para todo x ≠ 0.
H é negativa semi-definida se e somente se xTHx é < 0 para todo x ≠ 0.
Se todos os autovalores de H forem negativos (<0) então H é negativa
definida.
Se todos os autovalores de H forem não-positivos (<0) então H é negativa
semi-definida.
3. H é indefinida se xTHx < 0 para alguns x e xTHx > 0 para outros.
Se uma função tem um ponto estacionário onde a matriz Hessiana tem
autovalores negativos e positivos, a função não é côncava e nem convexa.
4. Para f(x) ser simultaneamente côncava e convexa H = 0, e neste caso f(x) é
uma função linear.
( )∗
( )
f ( x ) = f x + ∇ T f x .Δ x +
∗ 1
2
( ) ( )
Δ x .∇ 2 f x .Δ x + O3 (Δ x )
T ∗
Equação 2-FF
Equação 2-GG
Equação 2-HH
classifique-os.
E2.6.Verifique a região na qual f(x) e f'(x) são contínuas:
1
a) f ( x ) =
x
b) f ( x ) = ln ( x )
E2.7.Estude a variação da função f(x) = 2x2 - x3 , isto é, estabeleça as regiões
de concavidades e/ou convexidades, calcule os pontos estacionários e
obtenha o valor de de f(x) nesses pontos. Trace gráficos de f(x).
E2.8.Determine a convexidade/concavidade das funções abaixo:
a) f(x) = 2x12 - 3x1x2 + 2x22
b) f(x) = x12 + x1x2 + 2x2 + 4
c) f(x) = 2x1 + 3x2 + 6
d) f(x) = 2x12 + 2x1x2 + 1,5x22 + 7x1 + 8x2 + 24
Ricardo Kalid - Otimização de Processos – kalid@ufba.br
sujeito a g (x ) = 0
e/ou h( x ) ≤ 0
Equação 3-A
Equação 3-B
f (x )
k 2
Equação 3-C
Equação 3-D
ou
∑ (x )
n
2
xik +1 − xik = k +1
i − xik < ε4
i =1
Equação 3-E
Equação 3-F
i =1 ⎢ ∂ x x k ⎥
⎣ ⎦
Equação 3-G
⎡ ⎛ 2 ⎞⎛ Cx C ⎞⎤
x1opt = x1∗ = ⎢ x 22 + ⎜ ⎟⎜⎜ x 2 − 1 2 + 3 ⎟⎟⎥ − x 2
⎣ ⎝ K ⎠⎝ C2 qC 2 ⎠⎦
Para x2 = 2 , K = 0,02 , q = 1000 , C1 = 0,4 , C2 = 1 , C3 = 1000 ,
então x1opt = 12,97 . Obviamente x1 é uma variável inteira, logo x1opt
deve ser aproximada para 13 , este procedimenteo é satisfatório se
x1opt assume valores elevados (12, 13, 14, 15, etc.), mas é
inapropriado se x1opt está em torno de 1, 2 ou 3, neste caso devemos
redefinir x1 para unidades tais como horas ou turno.
⎛ πD 2 ⎞
onde f 1 (S , ρ , t , D, L ) = Sρ ⎜⎜ 2 + πDL ⎟⎟t em unidade de custo em $
⎝ 4 ⎠
Como S, ρ e t são constantes então a FO também pode ser
min f 2
t ,D,L
⎛ πD 2 ⎞
onde f 2 ( ρ , t , D, L ) = ρ ⎜⎜ + πDL ⎟⎟t em unidades de peso
⎝ 2 ⎠
ou
min f 3
D,L
⎛ πD 2 ⎞
onde f 3 (D, L ) = ⎜⎜ + πDL ⎟⎟ em unidades de area
⎝ 2 ⎠
Note que as três FO's diferem apenas de fatores multiplicativos
constantes, portanto a inclusão ou não desses fatores apenas afetará
o valor da FO, mas não alterará o valor das variáveis de projeto.
Logo, por simplicidade, utilizaremos a FO em unidades de área.
Como o volume do vaso cilíndrico é constante existe uma relação
entre altura e diâmetro do mesmo:
πD 2 4
V= L⇔L=
4 πD 2V
Assim existe apenas uma variável de decisão e podemos reescrever a
FO da seguinte forma
min f 4
D
⎛ πD 2 4V ⎞
onde f 4 (D ) = ⎜⎜ + ⎟⎟ em unidades de area
⎝ 2 D ⎠
Identificação da(s) restrições: não existem restrições.
Para encontrar o ponto ótimo temos que diferenciar f4 em relação a
variável de projeto igualar a zero, resultando em
# Brummerstedt, E. F., Natl. Pet. News, 36, R282, R362, R497 (1944).
@ Happel, J. e D. G. Jordan, Chemical Process Economics, 2a. edição, Marcel Dekker, New
York (1975).
Ricardo Kalid - Otimização de Processos – kalid@ufba.br
[
onde f 5 (S , ρ , t , D, L ) = Sρ 1,5(2,32 D 2 ) + πDL t ] unidade de custo em $
Substituindo t(D) em f5 e lembrando que S e ρ são constantes e
que
πD 2 ⎛ D⎞
V= ⎜L + ⎟
4 ⎝ 3⎠
obtemos
min f 6
D
& Rubin, F. L., "Can you Justify more Piping Insulation," Hydrocarbon Process, p. 152 (July,
1982).
Ricardo Kalid - Otimização de Processos – kalid@ufba.br
C B (t ) = α 1 e 1 + α 2 e
βt β 2t
(j)
Equação 3-H
♣ Maiores informações sobre controle preditivo pode ser encontrado em DMC: Controle por
Matriz Dinâmica. Apóstila de Curso Ministrado na Copene de autoria de Ricardo de Araújo
Kalid e Darci Odloak, setembro de 1994.
Ricardo Kalid - Otimização de Processos – kalid@ufba.br
♣ Maiores informações sobre controle preditivo podem ser encontradas em DMC: Controle
por Matriz Dinâmica. Apóstila de Curso Ministrado na Copene de autoria de Ricardo de
Araújo Kalid e Darci Odloak, janeiro de 1995.
Ricardo Kalid - Otimização de Processos – kalid@ufba.br
{
min [E (t )] W1 [E (t )] + [Δ MV (t )] W 2 [Δ MV (t )] + [θ (MV (t ))]
T T 2
}
sujeito a MV (t )min ≤ MV (t ) ≤ MV (t )max
Δ MV (t )min ≤ Δ MV (t ) ≤ Δ MV (t )max
Equação 3-M
O T IM IZA D O R
S P ’s das P V’s
M V’s e P V’s
MPC
M V’s
P V’S
P LA N T A
MV’s
PV’S
PLANTA
♦ Maiores informações sobre controle preditivo podem ser encontradas em DMC: Controle
por Matriz Dinâmica. Apóstila de Curso Ministrado na Copene de autoria de Ricardo de
Araújo Kalid e Darci Odloak, setembro de 1994.
Ricardo Kalid - Otimização de Processos – kalid@ufba.br
_
x x
_ 1,3 T5 1,4
x x
2,3 2,4
Processo _ T6
3 x x
3,3 3,4
T7
x x
5,2 4,4
E3.2.Uma planta química faz três produtos (E, F, G) e utiliza três matérias-
primas (A, B, C) cujo suprimento é limitado. Cada um dos três produtos é
obtido em processo separado (1, 2, 3) de acordo com o esquema
mostrado na figura 3-t.
Monômero
A 1 E
2 F
Monômero
B
3 G
Inibidor
C
Demanda
Produto Mínima,
lb / dia
E 2500
F 1500
G 1800
Ref: Edgar, T. F. & Himmelblau, D. M. "Optimization of Chemical Processes"
Óleo combustível
Etileno Propilen Butadieno Gasolina
o
Figura 3-V: Diagrama de blocos do craquemento térmico
{[ ][
FO2 = min W1 E (t ) + W 2 Δ MV (t ) + Iθ (MV (t )) W1 E (t ) + W2 Δ MV (t ) + Iθ (MV (t ))
T
]}
∂f ( x )
= f x (x ) = 0
∂x 2 2
∂f ( x )
= f x (x ) = 0
∂x n n
Equação 4-A
Cada derivada parcial igualada a zero constitui uma equação não-linear, assim
o problema de OMSR transformou-se num sistema algébrico de equações não-
lineares, um problema tão difícil de resolver quanto o original. Além disso,
enquanto que a matriz Hessiana H(x) de f(x) é simétrica, o Jacobiano das
equações das condições necessárias tem uma estrutura arbitrária, o que
dificulta a resolução do problema. Assim, muitos engenheiros preferem atacar o
problema de minimização/maximização por MD's em lugar de utilizar MI's.
A seguir, na seção 4.1 apresentaremos os MI's mais utilizados em
problemas de OUSR da engenharia química, enquanto na seção 4.2
estudaremos os MD's.
Equação 4-B
Equação 4-C
Ordem p:
k +1 ∗
x −x
≤α 0 ≤α ≤1
∗ p
x −x
k
Equação 4-D
Equação 4-E
( ) (
f (x ) = f x k + x − x k )dfdx(x ) k
( ) ( ) ( )
⇔ f (x ) = f x k + x − x k . f ′ x k
x
Equação 4-F
como qualquer função pode ser escrita da forma f(x) = 0 , então podemos
reescrever a equação 4-f, se a aproximação e truncamento executado acima
forem válidos, da seguinte maneira:
( ) ( ) ( )
f (x ) = f x k + x − x k . f ′ x k = 0 ⇔ x = x k −
( )
f xk
( )
f ′ xk
Equação 4-G
x k +1 = x k −
g xk ( )
⇔ k +1
= k
−
f ′ xk ( )
g′ xk ( )
x x
f ′′ x k ( )
Equação 4-H
) ( ) (x − x )2!. f ′′(x ) = 0
k 2
( ) (
k
f (x ) = f x k + x − x k . f ′ x k +
Equação 4-M
m=
( )
f ′ xq − f ′ x p ( )
xq − x p
Equação 4-O
∗
= xq −
( )
f ′ xq
x apr
[ ( ) ( )] (
f ′ xq − f ′ x p / xq − x p )
Equação 4-P
Figura 4-A: 3 possibilidades para f(x) após dividido o intervalo (a,b) por 2
pontos.
x y
a b
Equação 4-S
♣ Coggins, G. F., Univariate Search Methods, Imperial Chemical Industries Ltd., Central Instr.
Lab. Res. Note 64/11, 1964
Ricardo Kalid - Otimização de Processos – kalid@ufba.br
x g∗ ( x ) =
( ) ( ) (
1 ⎡ x 22 − x32 g ( x1 ) + x32 − x12 g ( x 2 ) + x12 − x 22 g ( x3 ) ⎤ )
⎢ ⎥
2 ⎣ ( x 2 − x3 )g ( x1 ) + ( x3 − x1 )g ( x 2 ) + ( x1 − x 2 )g ( x3 ) ⎦
Equação 4-V
x ∗f ( x ) ≅
( ) ( ) (
1 ⎡ x 22 − x32 f ( x1 ) + x32 − x12 f ( x 2 ) + x12 − x 22 f ( x3 ) ⎤ )
⎢ ⎥
2 ⎣ ( x 2 − x3 ) f ( x1 ) + ( x3 − x1 ) f ( x 2 ) + ( x1 − x 2 ) f ( x3 ) ⎦
Equação 4-W
A = [a1 a4 ]
T
a2 a3
F=XA
Equação 4-Y
Equação 4-AA
o julgamento do engenheiro
é essencial na aceitação ou não
das soluções encontradas
Equação 5-A
o produto dos vetores ∇Tf(x) e s é sempre negativo, ou seja
∇T f ( x ).s < 0
Equação 5-B
Para provar esta afirmação examine os vetores ∇Tf(xk) e sk na figura 5-a. O
ângulo entre eles é θ , assim
( )
k k
( )
∇T f x .s = ∇T f x . s . cosθ
k k
Equação 5-C
Se θ = 90o como na figura 5-a, então a direção de busca (ao longo de sk) não
irá diminuir o valor da FO. Se 0o < θ < 90o então haverá um aumento da FO,
portanto para atingir o objetivo, ou seja, minimizar f(x), 180o > θ > 90o e cosθ <
0 , consequentemente ∇Tf(xk).sk < 0 .
Existem basicamente 3 classes de MI's para resolver problemas de OMSR:
MI1. Métodos de 1a ordem: gradiente, gradiente conjugado
MI2. Métodos de 2a ordem: Newton, Levengerg-Marquardt
Equação 5-D
Equação 5-E
λopt = −
( )
∇T f x .s
k k
(s ) .H (x ).s
k T k k
Equação 5-F
1.5
8 1.5 3
1
6 1
0.5
4 0
0.1
0.5
2 -0.5
2
0 -1
2
1 2 6
-1.5
0 1
0 4 6
-1 -1 -2
-2 -2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x1 = -2:0.1:2; x2 = -2:0.1:2;
v2 = [0.1,0.5,1,1.5,2,3,4,6];
[X1,X2] = meshgrid(x1,x2) ;
c = contour(x1,x2,fx,v2);
fx2 = X1.^2 + X2.^2 + X1.*X2;
clabel(c);
mesh(x1,x2,fx2)
4 4
2
20 6
1.5 2
1.5
15 1
0.5
0.1
10 0 0.5
-0.5 4
5 6 3
2 -1 1
1 2
0 1 -1.5
0
-1 -1 4
-2
-2 -2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
1
= −∇f (x ) + s
1 [∇f (x )] [∇f (x )]
0
1 T 1
[∇f (x )] [∇f (x )]
s
0 T 0
Equação 5-G
k +1
= −∇f x ( )+ s
k +1 k [∇f (x )] [∇f (x )]
k +1 T k +1
[∇f (x )] [∇f (x )]
s T
k k
Equação 5-H
( ) [ ( )] Δ x
f ( x ) ≅ f x + ∇f x
k k T k
+
1
2
( ) ( )( )
k T
Δ x .H x . Δ x
k k
Equação 5-I
Equação 5-J
ou
Δx = x
k k +1
−x =−H x
k
[ ( )] ∇f (x )
k −1 k
Equação 5-K
Δx = x
k k +1
− x = −λk . H x
k
[ ( )] ∇f (x ) = λ .s
k −1 k k k
Equação 5-L
onde λk (amplitude do passo) pode ser calculado pela equação 5-f. No método
de Newton λ = 1 em cada passo.
Note também que para avaliar Δxk não é preciso inverter a matriz Hessiana,
pois podemos reescrever equação 5-j em forma de sistema de equações
lineares
( )( )
H x . Δ x = −∇f x
k k
( ) k
Equação 5-M
[H~ (x )] = [H (x )]
−1 −1
+γ I
Equação 5-O
[
P5. Calcule s = − H + β k I
k
]−1
( ).
∇f x
k
Passo 0 (zero)
P1. Defina uma estimativa inicial xo e uma tolerância ε .
P2. Selecione a direção inicial de busca so . Usualmente so = -∇f(xo) .
0
( )
P3. Calcule H ≡ H x 0 , freqüentemente H = I
0
se H x ( )
0
não for positiva-
definida
Passo k
P1. Calcule o escalar λk , por exemplo pela equação 5-f, ou faça λ = 1 .
−1
= x + λk ⎛⎜ Hˆ ⎞⎟ s .
k +1 k
P2. Calcule xk+1 que minimiza f(x) : x
k k
⎝ ⎠
P3. Calcule f(xk+1) e ∇f(xk+1) .
P4. Calcule Δxk = xk+1 - xk e Δgk = ∇f(xk+1) - ∇f(xk) .
−1 −1 −1
P5. Calcule Hˆ = Hˆ + Δ⎛⎜ Hˆ ⎞⎟ ou ⎡ Hˆ ⎤ = ⎡ Hˆ ⎤ + ⎡Δ⎛⎜ Hˆ ⎞⎟⎤
k +1 k k k +1 k k
⎝ ⎠ ⎢
⎣ ⎥
⎦ ⎢
⎣ ⎦ ⎥ ⎢
⎣ ⎝ ⎠⎥⎦
escolhendo uma das equações entre equação 5-p e equação 5-t.
P6. Calcule a nova direção de busca por
• s
k +1
[ ]
= − Hˆ
k +1 −1
( ) através da inversão de matriz ou
∇f x
k +1
Passo k + 1
P1. Verifique se a tolerância ε foi atingida
P2. Se o critério de convergência foi satisfeito, pare. Se não, retorne ao passo
k.
Algumas equações que realizam a aproximação da matrix Hessiana ou de
sua inversa são mostradas a seguir:
Broyden:
T
⎡ k ⎛ ˆ k ⎞ −1 k ⎤ ⎡ k ⎛ ˆ k ⎞ −1 k ⎤
k −1
⎢Δ x − ⎜⎝ H ⎟⎠ Δ g ⎥ ⎢Δ x − ⎜⎝ H ⎟⎠ Δ g ⎥
Δ⎜ H ⎟ = ⎣
⎛ ˆ ⎞ ⎦⎣ ⎦
⎝ ⎠ ⎡ k ⎛ ˆ ⎞ k −1
k⎤
T
⎢Δ x − ⎜⎝ H ⎟⎠ Δ g ⎥ Δ g
k
⎣ ⎦
Equação 5-P
Davidson-Fletcher-Powell (DFP):
(Δ x )(Δ x ) − ( ) (Δ g )(Δ g ) ( ) ⎥
⎤
Hˆ
k −1
k k T ⎡ ˆk −1 T
Δ (Hˆ ) =
k −1
k k T
⎦ ⎢⎣ H
(Δ x ) (Δ g ) (Δ g ) (Hˆ ) (Δ g )
k T k k T k −1 k
Equação 5-Q
ou sua equivalente
( )
T
⎛⎜ Δ g k − Hˆ k Δ x k ⎞⎟ Δ g k T + Δ g k ⎛⎜ Δ g k − Hˆ k Δ x k ⎞⎟
Δ⎛⎜ Hˆ ⎞⎟ = ⎝ ⎠ ⎝ ⎠ −
k
⎝ ⎠ ( )( )
Δg
k T
Δx
k
⎛⎜ Δ g − Hˆ Δ x ⎞⎟ Δ x Δ g (Δ g )
k T
k k k k k T
⎝ ⎠
[(Δ g ) (Δ x )][(Δ g ) (Δ x )]
k T k k T k
Equação 5-R
Broyden-Fletcher-Goldfarb-Shanno (BFGS):
( )
T
⎡ k ⎛ ˆ k ⎞ −1 k ⎤ k T k⎡ ⎛⎜ Hˆ k ⎞⎟ Δ g k ⎤
−1
Δ − ⎜ ⎟ Δ Δ + Δ Δ −
k
⎢ x H g ⎥ x x ⎢ x ⎥
k −1 ⎝ ⎠ ⎝ ⎠
Δ⎛⎜ Hˆ ⎞⎟ = ⎣ ⎦ ⎣ ⎦ −
⎝ ⎠ Δg ( )( )
k T
Δx
k
− ⎛⎜ Hˆ ⎞⎟ Δ g ⎥ Δ g Δ x (Δ x )
⎡ k ⎤
k −1
k T
⎢Δ x
k k k
⎣ ⎝ ⎠ ⎦
[(Δ g ) Δ x ][(Δ g ) Δ x ]
k T k k T k
Equação 5-S
ou sua equivalente
ˆ k
ΔH =( )
Δg Δg
k k
−
( )
Hˆ Δ x Δ x Hˆ
k k k T
( )k T
Δg
k T
Δx
k
( )( ) ( )
Δ x Hˆ Δ x
k T k k
Equação 5-T
D2. A correção Δ H ( ) k
ou Δ H ( ) k −1
pode tornar-se ilimitada devido aos erros
de arredondamento.
D3. Se Δ x = − λk H
k
( ) ∇f ( x )
k −1 k
por acaso tem a mesma direção da
1 1
6
3 0.5
0.5 0.1
4 0.1
0.5 0 0.5
0
1 1.52
-0.5 4
-0.5
6 6 3
-1 1
-1
-1.5
-1.5
4
-2
-2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Figura 5-G: Curvas de nível com os Figura 5-H: Curvas de nível com os
eixos alinhados eixos desalinhados
♠ Nelder, J. A., e R. Mead, "A Simplex Method for Function Minimization", The Computer
Journal, 7: 308 (1965)
Ricardo Kalid - Otimização de Processos – kalid@ufba.br
@ Himmelblau, D. M., Process Analysis by Statistical Methods, John Wiley & Sons, New York,
1970.
# Himmelblau, D. M., Applied Nonlinear Programming, McGraw-Hill, New York, 1972.
5.4. Exercícios
Ref.: Himmelblau, D. M., Process Analysis by Statistical Methods, John Wiley &
Sons, New York, 1970.
Ref.: Himmelblau, D. M., Process Analysis by Statistical Methods, John Wiley &
Sons, New York, 1970.
onde
(
η i = b0 + b1 . xi − x )
Equação 6-I
†Melhores estimativas, pois nunca obteremos o valor real do parâmetro, apenas uma
estimativa ótima, segundo um certo critério, do mesmo.
Ricardo Kalid - Otimização de Processos – kalid@ufba.br
b0 ,b1
⎧n
b0 ,b1 ⎩ i =1
[(⎫
f = min φ = min ⎨∑ Yi − b0 − b1 . xi − x . pi ⎬
2
⎭
( )) ]
Equação 6-J
Equação 6-K
⎧ n
[(
∂ ⎨∑ Yi − b0 − b1 . xi − x . pi ⎬ ( ))
2
]⎫⎭
∂φ
= ⎩ i =1 {[ ( )]( ) }
n
= −2∑ Yi − b0 − b1 . xi − x . xi − x . pi = 0
∂b1 ∂b1 i =1
Equação 6-L
∑ [Y . p ] = b .∑ [ p ] + b .∑ [(x ) ]
n n n
i i 0 i 1 i − x . pi
i =1 i =1 i =1
Equação 6-M
Equação 6-N
mas
n
∑ [x . p ]
∑ [(x ) ]
n n n n i i n
Equação 6-O
∑ [Y ]
n
i . pi
i =1
b0 = n
=Y
∑[p ]
i =1
i
Equação 6-P
∑ [Y .(x ) ]
n
i i − x . pi
b1 = i =1
∑ [(x ) ]
n
2
i − x . pi
i =1
Equação 6-Q
i =1
Equação 6-R
onde
( ) (
η i = b0 + b1 . xi ,1 − x1 + b2 . xi , 2 − x 2 + + bq . xi ,q − x q ) ( )
Equação 6-S
Equação 6-T
∂φ
{[ ( ) ( ) ( )]( ) }
n
= −2∑ Yi − b0 − b1 . xi1 − x 1 − b2 . xi 2 − x 2 − − bq . xiq − x q . xi1 − x 1 . pi = 0
∂b1 i =1
Equação 6-U
···
∂φ
{[ ( ) ( ) ( )]( ) }
n
= −2∑ Yi − b0 − b1 . xi1 − x1 − b2 . xi 2 − x 2 − − bq . xiq − x q . xiq − x q . pi = 0
∂bq i =1
Equação 6-V
∑ [Y ]
n
i . pi
i =1
b0 = n
=Y
∑ [p ]
i =1
i
Equação 6-W
pois
∑ [(x ) ]
n
ik − x k . pi = 0
i =1
Equação 6-X
⎧n
[( )( ⎫
) ]
⎧n ⎫
b1 ⎨∑ xi1 − x1 xi1 − x1 . pi ⎬ + b2 ⎨∑ xi 2 − x 2 xi1 − x1 . pi ⎬ + [( )( ) ]
⎩ i =1 ⎭ ⎩ i =1 ⎭
⎧n
[( )( ⎫ n
+ bq ⎨∑ xiq − x q xi1 − x1 . pi ⎬ = ∑ Y i xi1 − x1 pi ) ] [ ( ) ]
⎩ i =1 ⎭ i =1
Equação 6-Y
···
⎧n
[( )( ⎫
) ]
⎧n ⎫
[(
b1 ⎨∑ xi1 − x1 xiq − x q . pi ⎬ + b2 ⎨∑ xi 2 − x 2 xiq − x q . pi ⎬ + )( ) ]
⎩ i =1 ⎭ ⎩ i =1 ⎭
⎧n
[( )( ⎫ n
) ]
+ bq ⎨∑ xiq − x q xiq − x q . pi ⎬ = ∑ Y i xiq − x q pi [ ( ) ]
⎩ i =1 ⎭ i =1
Equação 6-AA
⎡ p1 0 0⎤ ⎡Y 1 ⎤ ⎡1 (x − x1 ) (x − x2 ) (x )
− x q ⎤ ⎡b0 ⎤
(x
11
− x ) (x
12
) (x
1q
⎢0
p=⎢
p2 0⎥ ⎥ ⎢ ⎥ ⎢
, e=⎢ ⎥−⎢
Y2 1 21 1 22 − x2
⎥⎢ ⎥
)
2q − x q ⎥ ⎢ 1 ⎥
b
⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥
⎢
⎣0 0
⎥
p n ⎦ n× n ⎢⎣Y n ⎥⎦ ⎣⎢1 (x n1 − x1 ) (x n2 − x2 ) ( )
x nq − x q ⎦⎥ ⎢⎣bq ⎥⎦
Equação 6-BB
obtemos
η = x.b , e = Y − η , φ = ∑ [ei2 . pi ] = eT . p.e
n
i =1
Equação 6-CC
=
⎢ ∂b ⎥
=
T
(
∂φ ⎢ 0 ⎥ ∂ e . p.e
= 2⋅
)
∂ eT ( )
⋅ p.e = 2 ⋅
∂ (Y − x.b )T [ ]
⋅ p.e = −2.x . p.(Y − x.b ) = 0
T
∂ b ⎢ ∂φ ⎥ ∂b ∂b ∂b
⎢ ⎥
⎢ ∂bq ⎥
⎣ ⎦
Equação 6-DD
Equação 6-EE
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
⎣⎢ x n1 xn2 x nq ⎦⎥ ⎣bm ⎦
Equação 6-II
( )
Y = η x1 , x2 ,… , xq , b1 , b2 ,… , bm + e
Equação 6-KK
{ }
n
φ = ∑ [Yi − η i ( x 1 , b )]2 . pi
i =1
Equação 6-LL
A solução analítica deste problema conduz a um sistema de equações
algébricas não-lineares. Um problema com grau de dificuldade igual ou maior
ao problema de otimização original. Por isso a abordagem numérica do
problema de otimização é a mais adequada.
Podemos utilizar métodos de otimização diretos ou indiretos, conforme
estudado no capítulo 5. Em qualquer dos casos, um ou mais critérios de parada
devem ser estabelecidos, veja a seção 3.1.1.
‡ Himmelblau, D. M., Process Analysis by Statistical Methods. John Wiley & Sons, New York,
1970. Pg's 77, 78, 135 e 136
Idem pg 194.
Idem pg's 148, 149, 193 e 194.
6.5. Exercícios
E6.1. Determine qual a forma linear que melhor se ajusta aos dados
experimentais da tabela abaixo.
Dados de um experimento
x Y
1 62.1
2 87.2
3 109.
5
4 127.
3
5 134.
7
6 136.
2
7 134.
9
x Y
200 0.848
400 0.573
600 0.401
800 0.288
1000 0.209
1200 0.153
1400 0.111
1600 0.078
V P massa de gás T
(cm3/g) (ata) (g) (°C)
67,810 5,651 0,2948 50
50,882 7,338 0,2948 50
45,280 8,118 0,2948 50
y = b1 .exp(b2 . x ). x b3
Dados do experimento
x Y
Óxido de Concentração
Nitrogênio do Produto
Absorvido (g/l) (g/l)
0.09 15.1
0.32 57.3
0.69 103.3
1.51 174.6
2.29 191.5
3.06 193.2
3.39 178.7
3.63 172.3
3.77 167.5
sujeitoa xi ≥ 0 , i = 1,2,… ,q
∑ [a x ] = b
q
e ji i j , j = 1,2,… ,m
i =1
∑ [a x ] ≤ b
q
e ji i j , j = m + 1,2,… , p
i =1
Equação 7-A
ou em notação matricial:
min φ ( x , c)
x
φ ( x , c) = c T x
sujeito a xi ≥ 0 , i = 1, 2,… , q
e A1 x = b 1
e A2 x ≤ b 2
Equação 7-B
Equação 7-D
♣ Dantzig, G. B., Linear Programming and Extensions, Princeton University Press, Princeton ,
New Jersey (1963).
Ricardo Kalid - Otimização de Processos – kalid@ufba.br
A 21 . y 1 + A 22 . y 2 ≥ c 2 (r2 )
T T
y1 ≥ 0 (q)
y 2 irrestrito ( m)
Equação 7-G
( ) ( ) ∇φ (x )
minφ ( x ) ≈ φ x + x − x
# # T #
s.a. h ( x ) ≈ h (x ) + (x − x ) ∇h (x ) = 0
# # T #
j j j
g ( x ) ≈ g (x ) + (x − x ) ∇g (x ) ≥ 0
# # T #
j j j
Equação 7-H
7.5. Exercícios
8. Multiplicadores de Lagrange
Equação 8-C
∂L
=0
∂x n
∂L
= h( x ) = 0
∂w1
Equação 8-E
⎢ ∂x ∂x ∂ 2 x 2 ⎥⎦
⎣ 2 1
⎡+ 1 1 ⎤ ⎡0⎤
p/ w1 = −0,5 ⇒ ( x ) = (+ 3,54;−3,54 )ou (− 3,54;+3,54 ) ⇒ H L = ⎢ ⎥ ⇒ autovalores λ = ⎢ ⎥
⎣ 1 + 1⎦ ⎣ + 2⎦
⎡− 1 1 ⎤ ⎡- 2 ⎤
p/ w1 = +0,5 ⇒ ( x ) = (+ 3,54;+3,54 )ou (− 3,54;−3,54 ) ⇒ H L = ⎢ ⎥ ⇒ autovalores λ = ⎢ ⎥
⎣ 1 − 1⎦ ⎣0⎦
como os autovalores são não-negativos (ou não-positivos) a matriz Hessiana é
positiva semi-definida (negativa semi-definida) e esse ponto é, possivelmente
um mínimo (máximo); para comprovar se realmente é um ponto de mínimo
temos que avaliar a FO:
para w1 = -0,5 ⇒ φ(x) = -12,5
para w1 = +0,5 ⇒ φ(x) = +12,5
comparando os valores da FO e a matriz Hessiana nos pontos críticos
concluímos que:
w1 x1 x2 φ(x) HL Ponto
-0,5 +3,54 -3,54 -12,5 > 0 mínimo
-3,54 +3,54 -12,5 > 0 mínimo
+0,5 +3,54 +3,54 +12,5 < 0 máximo
-3,54 -3,54 +12,5 < 0 máximo
Equação 8-F
Equação 8-G
[ ] ∑ {w .[g (x ) − σ ]}
m p
L( x, w) = φ ( x ) + ∑ w j .h j ( x ) + j j
2
j
j =1 j = m +1
Equação 8-H
h j (x ) = 0 j = 1,2, … , J
g k (x ) = 0 k = 1,2, … , K
u k .g k ( x ) = 0 k = 1,2, … , K
uk ≥ 0 k = 1,2, … , K
Equação 8-N
♣ Bazaraa, M. S. e Shetty, C. M., Nonlinear Programming: Theory and Algoritms, John Wiley &
Sons, New York, 1979.
Ricardo Kalid - Otimização de Processos – kalid@ufba.br
8.4. Exercícios
L
(refluxo)
F
(alimentação
B
(resíduo)
9. Função Penalidade
Equação 9-A
O termo penalizante pode assumir várias formas, alguns das quais podem
ser observadas na tabela 9-a.
Vamos demonstrar o uso da função penalidade através de um exemplo
simples.
minφ ( x1 , x 2 )
Exemplo 9.1: φ ( x1 , x 2 ) = ( x1 − 4)2 + ( x 2 − 4 )2
s.a. h( x1 , x 2 ) = x1 + x 2 − 5 = 0
Utilizando uma penalidade quadrática, escrevemos a função penalidade:
1
P( x1 , x 2 , R ) = ( x1 − 4) + ( x 2 − 4) + ( x1 + x 2 − 5)2
2 2
R
Agora temos um problema de otimização sem restrições, que pode ser
resolvido utilizando o método do poliedro flexível.
Para implementar o método da função penalidade temos que definir:
Ricardo Kalid - Otimização de Processos – kalid@ufba.br
Penalidade Ω(R, h( x )) =
1 m
∑ h j (x )[2
]
Igualdade R j =1
Parabólica
Equação 9-C
Ω(h( x )) = 10 20 .∑ g j ( x )
j∈J
Equação 9-D
[ ]
p
Ω( g ( x )) = − R. ∑ ln g j ( x )
2
Penalidade
Inequações
Logarítmica j = m +1
Equação 9-E
1
Ω(R, g ( x )) = R
∑ [ g (x ) ]
p
2
Inequações Penalidade Inversa j
j = m +1
Equação 9-F
Inequações
Operador Ω(R, g ( x )) =
1 p
∑ g j (x ) [ ]
2
Parênteses R j = m +1
Equação 9-G
Ω(R, h( x ), g ( x )) =
1 m
∑ [
h j ( x ) +R
2
] 1
∑ [ g (x ) ]
Equações e
p
R j =1 2
Inequações j = m +1
j
Equação 9-H
1 m
[ ] [ ]
p
Ω(R, g ( x )) = ∑ h j ( x ) −R ∑ ln g j ( x )
2
Equações e 2
Inequações R j =1 j = m +1
Equação 9-I
m p
Equação 9-J
9.1. Exercícios
min φ ( x1 , x 2 )
φ ( x1 , x 2 ) = ( x1 − 4)2 + ( x 2 − 4 )2
s.a. g ( x1 , x 2 ) = 5 − x1 − x 2 ≥ 0
minφ ( x1 , x 2 )
φ ( x1 , x2 ) = x1 2 − x2
s.a. g1 ( x1 , x 2 ) = x1 − 1 ≥ 0
g 2 ( x1 , x 2 ) = 26 − x12 − x 22 ≥ 0
h1 ( x1 , x 2 ) = x1 + x 2 − 6 = 0
Equação 10-B
Equação 10-C
e
∇ xT L( x, w, u ) = c + Q.x − A w − u = 0
T
Equação 10-D
A.x − b − y = 0
w y=0 u x=0
T T
Equação 10-E
O conjunto de variáveis (x*, y*, w*, u*) que satisfaz a equação 10-e é a solução
do PPNL (equação 10-a).
Demonstra-se que se (x*, y*, w*, u*) é solução da equação 10-a, então o PPQ
é equivalente a:
minϕ ( x )
x
1
(
ϕ ( x ) = c T x + bT y
2
)
s.a. c + Q.x − A w − u = 0
T
A.x − b − y = 0
w y=0 u x=0
T T
x≥0 y≥0w≥0u≥0
Equação 10-F
w≥0
z irrestrito
Equação 10-G
[ ( )] (x − x ) + 12 (x − x ) ∇ φ (x )(x
min ∇φ x
i T i +1 i i +1 i T 2 i i +1
−x
i
)
s.a. h (x ) + [∇h (x )] (x − x ) = 0 j = 1,2, … , J
i i T i +1 i
j j
g (x ) + [∇g (x )] (x − x ) ≥ 0 k = 1,2, … , K
i i T i +1 i
k k
Equação 10-I
[ ( )] d + 12 d ∇ φ (x )d
min ∇φ x
i T T 2 i
g (x ) + [∇g (x )] d ≥ 0 k = 1,2,…, K
i i T
k k
Equação 10-J
[ ( )] d + 12 d ∇ L(x )d
min ∇L x
i T T 2 i
g (x ) + [∇g (x )] d ≥ 0 k = 1,2,…, K
i i T
k k
Equação 10-K
onde
∇ x L( x, w, u ) = ∇ xφ ( x ) + w ∇ x h( x ) − u ∇ x g ( x )
T T
∇ 2x L( x, w, u ) = ∇ 2xφ ( x ) + w ∇ 2x h( x ) − u ∇ 2x g ( x )
T T
Equação 10-L
g~ (d , x ) ≡ g (x ) + [∇g (x )] d ≥ 0 k = 1,2,…, K
i i i T
j k k
Equação 10-M
min φ ( x1 , x 2 )
φ ( x1 , x 2 ) = ( x1 − 4 ) + ( x 2 − 4 )
2 2
s.a. g( x1 , x 2 ) = 5 − x1 − x 2 ≥ 0
min φ ( x )
φ ( x ) = x12 + 2 x22 + 3x32 + 4 x42 + 5x52
s.a. 2 x1 + x2 − 4 x3 + x4 − x5 = 0
5x1 − 2 x3 + x4 − x5 = 0
x1 + 2 x2 + x3 ≥ 6
4 x 3 + x 4 − 2 x5 ≤ 0
Equação 11-B
onde o sinal + é aplicado nas inequações de sinal<e o sinal - nas de sinal> .
Suponha que existam n variáveis de decisão e m restrições (n>m).
Imponha que as m restrições podem ser explícitas, assim pode-se substituir na
FO m variáveis, consequentemente o número de incógnitas fica reduzido a (n-
m). Realizar este procedimento em equações não lineares às vezes é
impossível. Porém, se as equações forem lineares ou linearizadas é possível
ter uma solução analítica para o problema, desde que ela exista. Para tornar o
algoritmo geral, ou seja generalizado, é empregado o gradiente das funções,
pois, desta forma, qualquer que seja a expressão, sempre será obtida uma
relação linear entre as variáveis.
Para exemplificar considere o seguinte problema:
min φ ( x 1 , x 2 )
s.a. h( x 1 , x 2 ) = 0
Equação 11-C
O diferencial total de cada função é:
∂φ (x ) ∂φ (x )
dφ (x ) = dx1 + dx 2
∂x1 ∂x 2
Equação 11-D
∂h ( x ) ∂h ( x )
dh( x ) = dx1 + dx 2 = 0
∂x1 ∂x 2
Equação 11-E
⎢
⎢⎣ ∂x1 ⎥⎦
Equação 11-F
Equação 11-H
L ( x, w ) = φ ( x ) + w h ( x )
T
Equação 11-I
logo
∂L( x, w ) ∂φ ( x ) ⎡ ∂h( x )⎤
T
= +⎢ ⎥ w
∂x ∂x ⎣ ∂x ⎦
Equação 11-J
Equação 11-K
∂L ( x I , w ) ∂φ ( x I ) ⎡ ∂h ( x I ) ⎤
T
= +⎢
∂ x I (n − m ) x 1 ⎣ ∂ x I ⎥⎦
w m x1
∂ x I (n − m ) x 1
(n − m ) x m
Equação 11-L
e, demonstra-se que
∂L ( x D , w ) ∂φ ( x D ) ⎡ ∂h ( x D ) ⎤
T
= +⎢ ⎥ w m x1 = 0
∂ x D m x1 ∂ x D m x1 ⎣ ∂ x D ⎦
mxm
Equação 11-M
Da equação 11-m obtém-se
−1 T
⎧⎪⎡ ∂h( x ) ⎤ T ⎫⎪ ⎡ ∂φ ( x ) ⎤ ⎧⎪⎡ ∂h( x ) ⎤ −1 ⎫⎪ ⎡ ∂φ ( x ) ⎤
w = −⎨⎢ ⎥ ⎬ ⎢ ⎥ = −⎨⎢ ⎥ ⎬ ⎢ ⎥
⎪⎩⎣ ∂ x D ⎦ ⎪⎭ ⎣ ∂ x D ⎦ ⎪⎩⎣ ∂ x D ⎦ ⎪⎭ ⎣ ∂ x D ⎦
Equação 11-N
ou
⎡ ∂φ ( x ) ⎤ ⎡ ∂h( x ) ⎤
T −1
w = −⎢
T
⎥ ⎢ ⎥
⎣ ∂ xD ⎦ ⎣∂ xD ⎦
Equação 11-O
A equação 11-o dá a relação entre os multiplicadores de Lagrange e o método
GRG. Substituindo a equação 11-n na equação 11-l obtém-se a expressão do
gradiente reduzido
T
∂L( x, w ) ∂φ ( x ) ⎡ ∂h( x )⎤
T
⎧⎪⎡ ∂h( x )⎤ −1 ⎫⎪ ⎡ ∂φ ( x ) ⎤
gR = = −⎢ ⎥ ⎨⎢ ⎥ ⎬ ⎢ ⎥
∂ xI ∂ xI ⎣ ∂ xI ⎦ ⎪⎩⎣ ∂ x D ⎦ ⎪⎭ ⎣ ∂ x D ⎦
Equação 11-P
{ 2 2
Exemplo 11.1: min f ( x) =min exp( x1 )(4.x1 + 2.x 2 +4.x1 x 2 +1) }
1,5 + x1 x 2 − x1 − x 2 <0
s.a.
x1 x 2 >− 10
A solução obtida pelo MATLAB é
x1 = − 9 ,5474
x2 = + 1, 0474
f min = 0 , 0236
Na tabela 11-a descrevemos, na coluna da esquerda, um algoritmo do
método do gradiente reduzido, enquanto que na da direita, aplicamos esse
algoritmo no exemplo proposto.
Após a tabela encontra-se a listagem do programa desenvolvido no MATLAB
para o método do gradiente reduzido.
ou
⎡ ∂f ( x ) ⎤
⎢ ⎥ =exp( x1 )(4 x 2 + 4 x1 + 2)
T
⎡ ∂f k ⎤ ⎡ ∂ h k ⎤
T
⎧⎡ −1
⎫
⎪ ∂h ⎤ ⎪ ⎡ ∂f k ⎤
⎣ ∂x 2 ⎦
(g )
k
=⎢ ⎥ −⎢ ⎥ ⎨⎢ ⎥ ⎢ ⎥
k
⎬
⎢⎣ ∂ xI ⎥⎦ ⎢⎣ ∂ xI ⎥⎦ ⎪⎩⎢⎣ ∂ xD ⎥⎦ ⎪⎭ ⎢⎣ ∂ xD ⎥⎦
R k k k k
⎢ ⎥ = ∇ xD f = ⎢ ⎡ ∂h2 ( x ) ⎤
T
⎥
⎣⎢ ∂ x D ⎦⎥ ⎣ ∂x1 ∂x m ⎦
⎢ ⎥ =− x 2
⎣ ∂x1 ⎦
um vetor1 x m
⎡ ∂ h2 ( x ) ⎤
⎥ =− x1
⎡ ∂f ( x ) ⎤
[ ] ⎡ ∂f ( x ) ∂f ( x ) ⎤
T
⎢
⎢ ⎥ = ∇ xI f =⎢
T
⎥ ⎣ ∂x 2 ⎦
⎣⎢ ∂ x I ⎦⎥ ⎢⎣ ∂x m +1 ∂x n ⎥⎦
um vetor1 x (n-m)
Então g R ( ) k T ⎡g ⎤
= ⎢ 1 ⎥ onde
⎣g 2 ⎦
3 2 2 2
exp( x1 )(4 x1 + 2 x1 x2 + 4 x1 x2 + x1 +8 x1 − 4 x2 − 2 x2 ) x3
g1 = − 2
x1 − x2
3 2 2 2
exp( x1 )(4 x1 + 4 x1 + 2 x1 x 2 − 6 x2 + 4 x1 x 2 − 3x1 + 1 − 2 x 2 − 4 x1 x 2 ) x 4
g2 =−2
x1 − x 2
4a ETAPA: 4a ETAPA:
Determinação da direção da Só foi necessário um cálculo do
variação das variáveis gradiente reduzido:
independentes.
Δ01 =0,7367 x 10 -40
Para a primeira iteração
Δ02 =0,7441 x 10 - 40
Δ =− g Ri
k
i i =1,…,n
Porém o valor do fator de
ou amortecimento λ da magnitude da
Δk =− g R variação das variáveis modificou-se,
veja os valores obtidos na 6a etapa.
nas demais iterações podemos
a
calcular a direção do incremento para Veja observação da 7 etapa sobre o
as variáveis independentes utilizando número de iterações necessárias.
a fórmula do gradiente conjugado de
Flercher-Reevs (algoritmo de Abadie):
Δk +1
=− g k +1
+Δ
k (g ) (g )
k +1 T
R
k +1
R
I R I
(g ) (g )
R
k T k
R
5a ETAPA: 5a ETAPA:
Determinação da direção da Os valores obtidos para as variáveis
variação das variáveis dependentes para cada uma das 5
dependentes. iterações foram:
⎡∂ h k ⎤
−1
⎡∂ h k ⎤ k x1 x2
Δ =− ⎢
k
D ⎥ ⎢ ⎥Δ I -100.00,100.00
⎢⎣ x D ⎥⎦ ⎢⎣ x I ⎥⎦
-11.2280,-05.3257
-8.5371 , 1.0412
-9.5656,1.0465
-9.5664,1.0464
6a ETAPA: 6a ETAPA:
Determinação da magnitude da O valor do fator de amortecimento λ da
variação das variáveis magnitude da variação das variáveis
independentes e dependentes. modificou-se consideravelmente,
k +1 assumindo os seguintes valores:
x I = x I + λk ΔkI
k
7a ETAPA: 7a ETAPA:
Determinação de uma região viável Na determinação da região viável
a partir das variáveis dependentes. utilizamos a função do MATLAB fsolve.
Usando o método de Newton procura-
se um conjunto de ~
k +1
x D que satisfaz
h(x) = 0.
x D =~
k +1 k +1
x D −⎢
(
⎡ ∂ h x kI +1 , ~
xD
k +1
)⎤⎥ h(x k +1
,~
k +1
xD )
∂ x kD )
I
⎢⎣ ⎥⎦
8a ETAPA: 8a ETAPA:
Verificação da convergência. Nesta etapa utilizamos os testes
descritos e desta maneira conseguimos
Várias situações podem ocorrer:
alcançar a convergência.
(a) Se x k + 1 é um ponto viável e
k +1 k +1 k +1
f ( x I , x D ) < f ( x I , x D ) adotar x e
k k
9a ETAPA: 9a ETAPA:
Critério de parada do programa. Para o problema em questão preferimos
adotar o critério de parada absoluto.
Existem várias possibilidades para o
critério de parada do programa, aqui
adotaremos ou a diferença relativa ou
a absoluta entre dois valores
consecutivos da função objetivo ser
menor que um certo número, i.e.:
( ) − f (x ) ≤ tolerância
f x
k +1
f (x )
ou
( ) − f (x ) ≤ tolerância
f x
k +1
clear
clear functions
echo off
clg
clc
% Disciplina: Otimização
% Versão 1.0
disp(' ')
disp(' ')
disp(' Aguarde um momento, programa em execução ...')
disp(' ')
disp(' ')
disp('Para interromper pressione CTRL-C e aguarde.')
disp(' ')
%==========================================================\
global xi
x(1) = - 100 ;
x(2) = + 100 ;
xd = [ x(1) ; x(2) ] ;
xi = [ x(3) ; x(4) ] ;
lambda = 1 ;
h_tol= 1e-3 ;
f_tol= 1e-5 ;
f_tipo_dif = 'absoluta' ;
% f_tipo_dif = 'relativa' ;
num_max_iteracao = 1000 ;
taxa_diminuicao_lambda = 5 ;
% Função objetivo
f_old = grad_r_f(x) ;
% Restrições
h_old = grad_r_h(xd) ;
iteracao = iteracao + 1
x0= x;
xd0 = xd ;
xi0 = xi ;
%Derivadas
if diminuicao_lambda == 'sim' ,
deltai = - gr ;
else
deltai = - gr + deltai*gr'*gr/(gr_old'*gr_old) ;
end
xi = xi + lambda * deltai ;
xd_old = xd + lambda * deltad ;
xd = fsolve('grad_r_h' , xd_old) ;
x= [ xd ; xi ];
f= grad_r_f(x);
hr = grad_r_h(xd) ;
if f_old > f
end % if f_old
disp('')
disp('Não foi encontrado uma solução viável, ou seja, ')
disp('não foi encontrado um conjunto básico viável.')
disp('Deve-se aumentar a tolerânciah_tol, ou')
disp('tentar nova estimativa inicial paraxdexi.')
continua_minimizacao = 'nao' ;
if f_tipo_dif == 'absoluta' ,
f_dif = abs( f-f_old ) ;
else % if f_tipo_dif == 'absoluta'
f_dif = abs( (f-f_old)/f_old ) ;
end% if f_tipo_dif
f_old = f ;
% Relatório de saída
disp(' ')
disp(' ')
disp('Número de iterações')
iteracao
if f_tipo_dif == 'relativa' ,
disp('Diferença relativa entre duas iterações para a função objetivo')
else
disp('Diferença absoluta entre duas iterações para a função objetivo')
end
f_dif
disp('Ponto mínimo')
x
function f = grad_r_f(x)
maxφ = 86 x1 + 4 x2 + 40 x3
s.a. 774 x1 + 76 x2 + 42 x3 ≤ 875
Exemplo 12.1:
67 x1 + 27 x2 + 53x3 ≤ 875
x1 , x2 , x3 = 0 ou 1
Aplicando a técnica do branch and bound e utilizando o comando lp do
MATLAB obtemos :
PL contínuo s.a. 0 < x1 < 1
0 < x2 < 1
0 < x3 < 1
Solução: x* = (1; 0,776; 1)
Valor da FO: φ= 129,10
x2 = 0
x2 = 1
PL contínuo s.a. 0 < x1 < PL contínuo s.a.: 0 < x1 < 1
1 x2 = 0
x2 = 1 0 < x3 < 1
*
0 < x3 < 1 Solução: x = (1; 0; 1)
Solução: x* = (0,978; 1; 1) Valor da FO: φ = 126,00
Valor da FO: φ= 128 11
x1 = 1 x1 = 0
PL contínuo s.a. x1 = 1 PL contínuo s.a. x1 = 0
x2 = 1 x2 = 1
0 < x3 < 1 0 < x3 < 1
Solução: x* = (1; 1; 0,595) Solução: x* = (0; 1; 1)
Valor da FO: φ= 113,81 Valor da FO: φ = 44,00
x3 = 0
PL contínuo s.a. x1 = 1
x2 = 1
x3 = 0
Solução: x* = (1; 1; 0)
Valor da FO: φ = 90,0
variável: j =1
yi = 0 ou 1
Equação 12-A
x1 (kg/dia)
A U1
x2 (kg/dia)
C U2
= H ( x(t ), u (t ), t )
dx
s.a.
dt
h( x(t ), u (t )) = 0
g ( x(t ), u (t )) ≥ 0
Equação 13-A
Equação 13-B
Apêndice I:
Controle Ótimo
de um Reator a Batelada
Apêndice II: