Académique Documents
Professionnel Documents
Culture Documents
ESCOLA DE ENGENHARIA
CURSO DE PS-GRADUAO EM ENGENHARIA QUMICA
Otimizao de Processos
2001 - 2005
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Contedo
2
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
4. TEORIA DA DUALIDADE........................................................................................................................... 63
3
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
7.3.4 Aproximaes Externas com Relaxamento de Igualdade e Penalidade Aumentada (OA/ER/AP).. 131
4
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
1. Formulao de Problemas
1.1 Aplicaes
As tcnicas de otimizao, que buscam a melhor soluo para um problema
(mximos ou mnimos de grandezas mensurveis em seus domnios de definio),
fazem-se necessrias em muitas reas da engenharia, tais como:
pesquisa operacional: otimizao de sistemas tcnico-econmicos, controle de
estoques, planejamento de produo, etc.;
engenharia de processos: dimensionamento e otimizao de processos,
integrao mssica e energtica de processos, estimao de parmetros,
reconciliao de dados, anlise de flexibilidade, etc.;
controle de processos: identificao de sistemas, controle timo, controle
adaptativo, controle preditivo, estimadores de estados, etc.;
anlise numrica: aproximaes, regresso, soluo de sistemas lineares e no-
lineares, etc.
5
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
F, to F, t1 F, t2 F, t3
A1, U1 A2, U2 A3, U3
6
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
1.2 Nomenclatura
No contexto de otimizao os problemas so tratados dentro da seguintes
definies:
funo objetivo: a funo matemtica cujo mximo ou mnimo deseja-se
determinar. No exemplo acima a funo objetivo o custo total.
variveis de deciso: so as variveis independentes que aparecem na funo
objetivo. Correspondem, em nmero, ao excesso de variveis
em relao ao nmero de equaes (restries de igualdade),
isto , o grau de liberdade do sistema. No exemplo acima tem-
se 6 equaes (3 para Ai e 3 para Wi) e 8 variveis (t1, t2, Ai e
Wi), portanto 2 variveis de deciso ou grau de liberdade igual
a 2.
restries: so os limites impostos ao sistema ou estabelecidos pelas leis naturais que
governam o comportamento do sistema, a que esto sujeitas as variveis
de deciso. As restries podem ser de igualdade (equaes) ou de
desigualdade (inequaes). No exemplo acima tem-se 6 restries de
igualdade e 3 restries de desigualdade: t3 t2 t1 to.
regio de busca: ou regio vivel, a regio do espao definido pelas variveis de
deciso, delimitada pelas restries, em cujo interior ou em cuja
fronteira se localiza o timo da funo objetivo. No exemplo acima,
tomando t1 e t2 como variveis de deciso, a regio de busca
aquela delimitada pelas restries de desigualdade.
t2
t1 t2
t3
to t1
7
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Exemplo 1.2: No processo de extrao por solvente puro, ilustrado abaixo, deseja-se
encontrar a condio de operao com a maior lucratividade possvel.
W1 W2
F, xo F, x1 F, x2
1 2
W1, y1 W2, y2
8
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
invivel
0.02
economicamente
0
0.015
5
X2
18
0.01
15
10
0.005
j =1
onde y(x) o modelo proposto (ou tipo de curva) para ser ajustado aos N dados
experimentais yexp, e x so os parmetros de ajuste do modelo. Ou, se for utilizado o
mtodo da mxima verossimilhana:
N
1
S (x ) = [ y j ( x ) y exp
j ]
2
j =1 j
2
9
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
2. Conceitos Bsicos
10
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
S(x)
mnimos locais
x
mnimo global
11
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Condio suficiente:
Seja S(x) duas vezes diferencivel em x* tal que:
S(x*) = 0 e
H(x*) seja positiva (negativa) definida
ento x* um mnimo (mximo) local estrito de S.
Pode-se analisar a condio da matriz Hessiana, H(x*), pelas seguintes formas:
1) Pela sua contribuio no termo de segunda ordem da expanso em srie de Taylor
em torno do ponto timo.
1
S ( x) S ( x*) = ( x x*)T H ( x*)( x x*) +
2
2) Pelos sinais dos valores caractersticos de H(x*).
Decompondo a matriz Hessiana em seus valores e vetores caractersticos:
H(x*) = V V-1
onde V a matriz dos vetores caractersticos (nas colunas) e a matriz dos valores
caractersticos (na diagonal). Definindo z(x) = V-1 (x - x*) e lembrando que sendo a
matriz Hessiana simtrica ento V-1 = VT (matriz ortogonal) e (x - x*)T V = zT. Desta
forma a expanso em srie de Taylor pode ser escrita como:
1 T 1 n
S ( x) S ( x*) = z z+ = i z i2 +
2 2 i =1
3) Pelos sinais dos determinantes das primeiras menores principais de H(x*) (critrio
de Sylvester).
A menor Mij de uma matriz H definida como a matriz obtida pela remoo da
i-sima linha e da j-sima coluna de H. Uma menor principal de ordem k uma matriz
obtida pela remoo 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 remoo 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 so, respectivamente: 1, 12, ..., 123n.
12
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
13
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
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
S ( x ) = 2 x1 + x 2
2 x1 x 2
ento, x1* = x2* = 0, e:
2 2 x2
H ( x) = H ( x*) = 20 0
2 x2 2 x1 0
isto , uma matriz positiva semidefinida. O grfico abaixo ilustra a funo S(x), onde
observa-se que x* = 0 no um ponto de mnimo. Fazendo a mesma anlise com a
mudana de varivel y = x 22 , verifica-se que a origem um ponto sela.
150
100
50
S(x)
-50
14
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
K = {x X n / h(x) = 0, g(x) 0}
15
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
=0
dT g( x ) 0 para as g( x ) ativas, pois g ( x) g ( x ) + T g ( x )d 0
Como os termos entre colchetes da expresso acima devem ser nulos no ponto timo
(condio necessria de primeira ordem), ento:
16
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
bL(x*, *) = * e bS(x*) = *
pois bL(x*, *) = bS(x*) + Tb [hb(x*) b] + Tb hb(x*) * * ,
hb(x) = b e bhb(x) = I
Portanto, o valor de S(x) aumenta ou diminui a partir de S(x*) com um aumento ou
diminuio em b, dependendo do sinal de *. Por isso, os multiplicadores de Lagrange
so tambm conhecidos como shadow prices ou custos marginais das restries,
porque a mudana no valor timo da funo objetivo por unidade de acrscimo no
lado direito da restrio de igualdade dado por *.
Se S(x) fosse uma funo sem restrio, ento as suas duas derivadas parciais seriam
nulas no ponto timo e dS(x*) seria nulo para quaisquer valores das variaes x1 e
x2. Entretanto, como as variveis x1 e x2 esto restritas (x1 e x2 no so
independentes), as duas derivadas parciais de S(x) no podem ser arbitrariamente
17
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
igualadas a zero. Contudo, S(x) deve ser um extremo no ponto timo e portanto dS(x*)
= 0. A segunda condio, dh(x*) = 0, existe porque h(x) = 0. Para se obter uma soluo
(x1 e x2) no trivial do sistema de equaes acima, a matriz dos coeficientes do
sistema:
S S
x x 2
1
h h
x1 x 2
Supondo que S(x*) caia fora do cone das direes viveis, ento haveria
uma direo 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.
19
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
isto , dT 2x L(x*, *, *) d 0.
20
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
forem positivas, onde M a matriz formada pelos gradientes de h(x*) e g(x*) ativas,
isto , a matriz tal que dT M = 0, com m+pa < n e com posto completo (pa o nmero
de restries g ativas). O mesmo critrio se aplica para semipositividade, negatividade
e seminegatividade, com os respectivos sinais das razes.
Uma maneira de resolver o problema de valor caracterstico acima usando a
decomposio decomposio QR (ou decomposio ortogonal-triangular, ou
decomposio de Householder) da matriz M (= Q R) para obter a matriz de projeo,
ZT, do vetor d no sub-espao nulo de M, isto , dT M = 0, ou ento a decomposio em
valores singulares da matriz MT (= U S VH). A matriz Z formada pelas ltimas w
colunas de Q, ou ainda pelas ltimas w colunas de V, onde w a dimenso do espao
nulo (nmero de valores singulares nulos, ou nmero de linhas nulas da matriz R):
Zi,j = Qi,j = Vi,j i = 1,2,..., n , j = m+paw+1,...,m+pa
R
onde QH M = (Q uma matriz unitria e Q1 = QH a transposta conjugada)
0
Uma vez encontrada a matriz Z, obtm-se os valores caractersticos da matriz Hessiana
projetada neste sub-espao: ZT 2x L Z.
21
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
22
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
2.3 Convexidade
Um subconjunto K de um espao vetorial X dito convexo se x1, x2 K e 0
1:
x1 + (1 ) x2 K
x x
x1 y x2 x1 y x2
24
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
lim S ( x m ) = S lim x m = S ( x o ) .
m m
25
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
26
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
27
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
e portanto:
S 1 n n x i x j
S ( x ) = = c + q x + x ,
x k 2 i = 1 j =1 x k x k
k ij j i
x i 0 , i k 1 n n
mas como = ik = , tem-se: S ( x ) = ck + ( q kj x j + q ik xi )
x k 1 , i = k 2 i =1 j =1
e H(x) = 2S(x) = Q
com isto, a condio necessria de primeira ordem, S(x*) = 0, para este tipo de
funo resulta em:
Q x* = c ou de forma similar (x*)T Q = cT
e
1 1
S ( x *) = a + c T x * + ( x *) T Q x * = a + c T x *
2 2
28
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
S ( x ) = S ( x*) + c T ( x x *) +
2
[
1 T
x Q x ( x*) T Q x * ]
como cT = (x*)T Q,
S ( x ) = S ( x *) +
2
[
1 T
x Q x ( x*) T Q x * ( x *) T Q ( x x *) ( x *) T Q ( x x *) ]
S ( x ) = S ( x *) +
2
[
1 T
x Q x ( x*) T Q x ( x*) T Q ( x x*) ]
S ( x ) = S ( x *) +
1
2
[( x x *) T Q x ( x*) T Q ( x x*) ]
1
S ( x ) = S ( x *) + ( x x *) T Q ( x x*)
2
1
S ( x ) S ( x *) + ( x x*) T H ( x*) ( x x*)
2
2S
Se S(x) for duas vezes diferencivel em x*, ento H ( x *) = simtrica.
xi x j x*
Portanto, tanto no caso de funo quadrtica, onde H(x*) = Q, quanto no caso geral de
funo no-linear, a matriz Hessiana fornece as caractersticas do(s) ponto(s) timo(s)
de S(x).
29
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
30
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Exerccios de fixao
1. Teste as condies necessrias e suficientes do problema abaixo.
min S(x) = x1 x2
sujeito a: g1 ( x ) = x12 + x 22 25 0
31
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
min S ( x ) ou max S ( x )
x n x n
100 N T j
*
100 N S j
*
N 100 N (d *j + )
i =
N j =1 Ti , j
i =
N j =1 S i , j
i = 100 i
N
i =
N
(d
j =1 +)
i, j
32
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
di , j = j
+ j
, a preciso da mquina, x a tolerncia na
x S
varivel independente, S a tolerncia na funo objetivo, x*j a soluo exata do
problema j, Ni o seu nmero de problemas resolvidos e N o nmero total de
problemas. Quando o i-simo algoritmo no consegue resolver o j-simo problema,
ento Ti,j = e Si,j = .
algoritmo
1) Determinar o intervalo de busca [Lo, Uo] que contm o ponto de mnimo
2) Fazer k = 0 e calcular o = Uo Lo,
x Lo = Lo + o , S Lo = S ( x Lo ) ,
33
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
S(xU)
S(xL)
S(xL) S(xU)
x x
xU xL xU xL
L U L U
n ( x xk )
onde j ( x) = so os interpoladores de Lagrange. Quando a derivada de
k =1 ( x j x k )
k j
[ ]
n
P2n1 ( x) = h1 ( x) S ( x j ) + h2 ( x) S ( x j )
j =1
onde h1 ( x) = 2
j ( x) [1 2 ( x x j ) j (x j ) ]e h2 ( x) = 2
j ( x) ( x x j ) so os interpoladores
de Hermite.
34
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
algoritmo
1) Determinar o intervalo de busca [x1, x3]
2) Calcular S1 = S(x1) e S3 = S(x3)
3) Calcular x2 = 0,5 (x1 + x3) e S2 = S(x2)
P2(x)
S(x)
S(x#)
x
x1 x# x2 x3
Interpolao cbica
Para a aproximao cbica so necessrias quatro informaes sobre a funo
objetivo, ou seja, quatro valores da funo ou dois valores da funo e de sua
derivada:
35
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
[ ]
4 2
P3 ( x) = j ( x)S ( x j ) ou P3 ( x) = h1 ( x) S ( x j ) + h2 ( x) S ( x j )
j =1 j =1
a 2 a 22 3 a1 a3
resulta no ponto x # = cujo sinal usado aquele que fornece um
3 a3
valor positivo para a derivada segunda de P3(x), isto , 6 a3 x# + 2 a2 > 0. No caso de
usar dois pontos tem-se as expresses:
S ( x 2 ) + w z
x # = x2 ( x 2 x1 )
S ( x 2 ) S ( x1 ) + 2 w
36
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
S(x)
x1 = a
x1 = d
x1 = b x1 = c
S(x*)
x2
x2*
x1 x1
x11 x10 x+11 x11 x10 x+11
explorao progresso
algoritmo
Partida:
1) Determinar a regio 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 funo objetivo em xo
4) Selecionar os incrementos iniciais i e as respectivas tolerncias i (i = 1,2,...,n)
37
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Fase de Explorao:
6) Calcular x ko = x ko k (sentido negativo)
7) Se x ko estiver fora da regio de busca, ento insucesso em k- (ir para 10)
8) Calcular o valor de S o = S ( x o )
9) Se S o > S o ento insucesso em k-
seno sucesso em k- e fazer x ko x ko e S o S o (ir para 14)
10) Calcular x k+o = x ko + k (sentido positivo)
+
11) Se x ko estiver fora da regio de busca, ento insucesso em k+ (ir para 14)
12) Calcular o valor de S o+ = S ( x o+ )
13) Se S o+ > S o ento insucesso em k+
seno sucesso em k+ e fazer x ko x k+o e S o S o+
14) Se j foram exploradas todas as direes (k = n) ento (ir para 15)
seno tomar a direo seguinte (k k + 1) e (ir para 6)
15) Se houve sucesso em alguma direo ento (ir para 17)
16) Se i i i ento FIM.
seno i i / 2 i tal que i > i (ir para 5)
Fase de Progresso:
17) Tomar xi1 = xio i (e, opcionalmente, i 2 i ) para todas as direes que
houve sucesso
18) Se x1 estiver fora da regio de busca, ento insucesso na progresso (ir para 16)
19) Calcular o valor de S1 = S ( x1 )
20) Se S1 > S o ento insucesso na progresso (ir para 5)
seno sucesso na progresso e fazer x o x1 e S o S1 (ir para 17)
38
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
distncias em ordem decrescente: k1 > k2 > > kn , onde as ltimas m direes (se
A1k
d1k +1 =
A1k
d ik +1 =
Bik
,
i 1
[ ]
Bik = Aik ( Aik ) T d kj +1 d kj +1 1 < i (n m)
Bik j =1
d ik +1 = d ik (n m) < i n
algoritmo
1) Selecionar o ponto base inicial xo, fazer k = 0, e d i0 = ei (direo dos eixos)
2) Selecionar os incrementos iniciais i e as respectivas tolerncias i (i = 1,2,...,n)
d iT H dj = 0 1 i j n
Para verificar esta conjugncia, basta representar S(x) em srie de Taylor em torno do
ponto xo:
1
S ( x) = S ( x o ) + T S ( x o )( x x o ) + ( x x o ) T H ( x x o )
2
e minimiz-la ao longo da direo d: x = xo + d, isto , obter tal que:
dS ( x o + d )
= 0 = T S ( x o ) d + d T H d = d T S ( x o ) + d T H d
d
T S ( x o ) d
resultando em: =
dT H d
40
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
41
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
X2
10
9
7 11
8 13
5 12
6
1 4
3 2
X1
42
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
x Rk = x 0k + ( x 0k x hk ) , > 0
1) Reflexo: k
{
onde S ( x h ) = max S ( x1 ), , S ( x n +1 )
k k
}
Se S ( xRk ) S ( x k ) = min {S ( x1k ), , S ( xnk+1 )} ,
ento xEk = x0k + ( xRk x0k ) , > 1
2) Expanso: Se S ( xEk ) < S ( xRk ), ento xhk +1 = xEk
sen o xhk +1 = xRk
k = k + 1 (ir para 1)
onde x k o melhor vrtice.
k +1 1 k
Se S ( x R ) > S ( x h ), ento xi = x + 2 ( xi x )
k k k k
4) Reduo: i = 1,2, , n + 1
k = k + 1 (ir para 1)
O critrio usado por Nelder e Mead para terminar a busca o seguinte:
1
1 n +1 2 2
n + 1 i =1
[ ]
S ( xik ) S ( x 0k ) .
43
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Mtodo complex
similar ao mtodo dos poliedros flexveis, sem a restrio de usar somente n+1
vrtices (M. J. Box, 1965). A partir de um ponto inicial, x1, outros p1 pontos so
obtidos aleatoriamente:
xi = L + i [U - L] , i = 2, 3, ..., p
onde L e U so vetores que limitam a regio de busca e i uma matriz diagonal de
nmeros aleatrios, distribudos uniformemente no intervalo [0,1]. A busca procede de
forma anloga ao mtodo dos poliedros flexveis. Recomenda-se, em geral, usar p = 2
n.
onde k o passo, que ampliado aps uma direo bem sucedida e reduzido
caso contrrio, um coeficiente ajustvel durante a busca (grau de aleatoriedade das
direes), rk n um vetor unitrio gerado aleatoriamente, dk n um vetor da
histria da busca (uma direo mdia dos passos anteriores), obtido por:
dk+1 = dk + (1 ) (xk+1 xk) k
onde [0, 1] o fator de esquecimento das direes e k n+n uma matriz
diagonal de fatores de escala para as variveis x. A figura abaixo ilustra um caminho
tpico de uma busca aleatria.
44
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Direes aleatrias
uma tcnica onde as direes de busca so aleatrias, geradas a partir de um raio de
busca uniforme, isto , os pontos aleatrios em cada estgio esto localizados sobre a
superfcie de uma hiperesfera com centro no ponto xk. Uma busca em linha realizada
na direo que passa pelo ponto xk e pelo melhor ponto da hiperesfera. A figura abaixo
mostra que quanto maior o raio da hiperesfera (limitado pela posio do ponto timo),
maior a probabilidade do melhor ponto cair dentro do cone de direes melhores que
a direo do gradiente no ponto xk. Para atender os critrios de convergncia, o raio de
busca deve ser periodicamente reduzido. A busca pode ser acelerada se os pontos
aleatrios forem restritos a um ngulo mnimo entre eles e a direo do estgio
anterior.
45
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
xik +1 = xik +
Ri
[Bi ( Ai i 1)] , i = 1, 2, ..., n , k = 1, 2, ...
46
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
5
s tart point
optim um
4
-1
-2
-3
-4
-5
-5 -4 -3 -2 -1 0 1 2 3 4 5
Algoritmo gentico
A idia dos algoritmos genticos (GA), J. Holland (1975), est baseada no processo
evolutivo dos organismos biolgicos da natureza (princpios da seleo natural e da
sobrevivncia do mais adaptado). Os indivduos que tm mais sucesso para se adaptar
ao meio ambiente tero mais chance de sobreviver e reproduzir, enquanto que os
menos ajustados sero eliminados. Isto significa que os genes dos indivduos mais
adaptados sero disseminados em um nmero crescente de indivduos nas prximas
geraes. A combinao de caractersticas de ancestrais bem ajustados pode produzir
indivduos que so bem mais adaptados que os pais. Os GAs procuram simular este
processo natural pela aplicao de operadores genticos sobre uma populao inicial e
suas prximas geraes. Cada indivduo da populao codificado em um
cromossomo (string), que representa uma soluo possvel para o problema. A
adaptao de um indivduo avaliada pelo valor da funo objetivo. Indivduos
altamente ajustado so permitidos a se reproduzirem pela troca de parte de sua
informao gentica (em um procedimento de cruzamento) com outro indivduo
altamente ajustado, produzindo filhos (offsprings) com caractersticas de ambos os
pais. Mutaes so freqentemente permitidas pela alterao de alguns genes dos
cromossomos. Os filhos podem substituir toda a gerao anterior (tcnica das
geraes), ou substituir apenas os indivduos menos ajustados (tcnica do estado
estacionrio). Os passos bsicos de um algoritmo gentico so os seguintes:
47
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Simulated annealing
uma tcnica de busca direta com relaxao estocstica (S. Kirkpatrick, C. Gelatt Jr. e
M. Vecchi, 1983), baseada no processo de recozimento de slidos (onde um slido
aquecido a altas temperaturas e gradualmente resfriado para permitir a sua
cristalizao). Como o processo de aquecimento permite que os tomos se
movimentem aleatoriamente, se o resfriamento no realizado muito rapidamente,
ento os tomos tero tempo suficiente para se alinharem de modo a atingir um estado
de mnima energia. Usando esta analogia, o estado do slido corresponde a uma
soluo vivel e a energia de cada estado corresponde ao valor da funo objetivo.
Neste procedimento, a busca permitida a prosseguir mesmo se o movimento causar
um aumento na funo objetivo, atravs do uso de um parmetro chamado
temperatura (T), onde o movimento aceito com uma probabilidade de exp(/T),
com = S(xk+1) S(xk). O valor de T (0,) controlado pelo processo de
resfriamento, sendo que valores baixos resultam em um algoritmo de busca local, ao
passo que valores altos reduzem a velocidade de convergncia. Os passos bsicos de
um algoritmo simulated annealing (SA) so os seguintes:
48
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
3) Fazer N vezes:
Mudar de direo componentes de xk e gerar aleatoriamente um vizinho, x
Calcular = S(x) S(xk)
Se < 0 ou exp(/Tk) > Y, ento xk x e c = 0, seno r r + 1
4) Se r = N, ento c c + 1
5) Atualizar Tk, r = 0, k k + 1
6) Se o processo no estiver congelado (T > Tf ou c Cmax), ento ir para (3)
7) FIM.
onde um parmetro que define o nvel de temperatura (Tf) que o algoritmo deve
terminar, um parmetro utilizado para definir o nmero de iteraes (N) em cada
nvel de temperatura, To a temperatura inicial, r o nmero de rejeies, nmero
de mudanas de direo, Y [0,1] uma varivel aleatria uniforme e Cmax o
nmero de mximo de nveis consecutivos de temperatura sem progresso (isto ,
rejeio total). O clculo de To e a atualizao de Tk podem ser feitos de diversas
maneiras, tal como (Aarts et al., 1988):
1
m2 Tk
To = ln e Tk +1 =
m (1 ) m1 T ln(1 + )
2 1+ k
3k
PSO
O Particle Swarm Optimization (PSO) um algoritmo que tem como fundamento o
comportamento de organismos sociais tais como uma revoada de pssaros ou um
cardumes de peixes, onde cada indivduo da populao (partcula) modifica sua
posio com o tempo (gerao). A posio modificada de acordo com a experincia
do indivduo e a dos demais componentes da populao, valendo-se de sua melhor
posio e a melhor posio do conjunto.
49
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Sistemas Frmicos
Um Sistema Frmico (ou Ant System) um algoritmo baseado em agentes que emulam
o comportamento natural de formigas e desenvolvem mecanismos de cooperao e
aprendizado. O Ant System foi proposto como uma nova heurstica para otimizao
combinatorial. Ele composto de um conjunto de formigas artificiais que cooperam
entre si para resolver um problema atravs de troca de informaes via feromnio que
depositado nas arestas de um grafo. As formigas passeiam pelo grafo construindo
uma soluo para o problema. Aps cada soluo ser gerada, as formigas atualizam a
intensidade de feromnio na arestas que fazem parte de sua soluo como uma funo
da qualidade da soluo encontrada por aquelas formigas. Alm disso, parte do
feromnio evapora a cada passo, diminuindo a intensidade de trilhas que no so
seguidas. O feromnio depositado nas arestas desempenha o papel de memria
distribuda atravs da qual as formigas reforam as solues progressivamente
melhores. Ao mesmo tempo, a escolha probabilstica de cada passo da soluo evita a
converso prematura para um timo local.
Busca tabu
um procedimento para levar mtodos de busca local para fora da regio de atrao
de um timo local (meta-estratgia ou meta-heursticas), pela incorporao de funes
de memria flexvel para proibir movimentos que levam a caractersticas (ou atributos,
ou estado das variveis) de solues passadas (F. Glover, 1986). Os atributos que no
so permitidos a serem retomados so chamados de tabu e so mantidos em uma
memria de curta durao (lista de tabus).
Para maiores detalhes deste procedimento e dos dois mtodos anteriores, sugere-se a
leitura de Hasan et al. (2000) e suas referncias.
50
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
xk+1 = xk k S(xk)
4) Calcular xk+1 = xk + k dk
5) Se o critrio de convergncia no foi satisfeito, ento k k + 1 (ir para 2)
6) FIM.
52
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
0.02
L(x1,x2) g1()
0.015
X2
xo
0.01
0.005
g2()
53
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
xk = [H(xk)]-1 S(xk)
54
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
neste caso S(xk) = 2 JT(xk) F(xk) e H(xk) = 2 JT(xk) J(xk) + 2 Q(xk), onde
f m
J ( x ) = i a matriz Jacobiana do sistema, Q( x) = f i ( x) H i ( x) e Hi(x) a matriz
x j i , j i =1
Hessiana da funo fi(x). Quando fi(xk) 0 para xk x*, ento Q(xk) tende a zero, e
as direes de busca do mtodo de Gauss-Newton para o problema de mnimos
quadrados:
2
min J ( x k ) d F ( x k )
dn
onde a nova direo conjugada com a direo anterior com respeito a Hessiana:
(dk+1)T H(xk) dk = 0
e portanto: S(xk+1) S(xk) = H(xk) (x k+1 xk) = H(xk) k dk , que multiplicado por
dk+1 esquerda, resulta:
55
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
T S ( x k +1 )S ( x k +1 ) T S ( x k +1 )S ( x k +1 )
k +1 = =
( d k ) T S ( x k ) T S ( x k )S ( x k )
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
56
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
onde f(xk) = S(xk+1) S(xk). Como o sistema (3.7) possui n equaes e n2 variveis
a determinar (os elementos de W(xk)), ento existe um nmero infinito de solues,
sendo que a soluo geral dada por:
1 { x k , u k } {W ( x k ) f ( x k ), v k }
W (x ) =
k
(3.8)
< u k , f (x k ) > < v k , f (x k ) >
{f ( x k ), v k } {H ( x k ) x k , u k }
ou H ( x k ) = (3.9)
< v k , x k > < u k , x k >
57
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
58
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
se S(xk + sk) < S(xk), ento o novo ponto aceito, caso contrrio a regio de confiana
reduzida e o procedimento repetido. A figura abaixo ilustra esta tcnica, onde as
curvas de nveis tracejadas representam a aproximao quadrtica convexa de S(x) no
ponto xk.
59
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
60
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
No algoritmo acima, quando a interpolao cbica usada, ento os passos (3) e (4)
so concomitantes.
Definindo:
W = W(xk) W-1 = [W(xk)]-1
x = xk f = f(xk)
d = x W f d = f W-1 x
= <x, f> = <f , f>
= <f , W f> = <x, W-1 x>
A = {x, x} / A = {f, f} /
B = {W f, W f} / B = {W-1 x, W-1 x} /
E = {x, f} F = {S(xk),S(xk+1)} / <S(x k),S(xk)>
f k (f k )T H ( x k )x k (x k ) T [ H ( x k )]T
H ( x k +1 ) = H ( x k ) +
(x k )T f k
(x k ) T H ( x k )x k
que ao multiplicar esquerda por (xk)T e direita por xk, resulta em:
61
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
mtodo W(xk+1)
Steepest descent I
Gradiente Conjugado I+WF
Newton [H(xk+1)]-1
Greenstadt, i(C) max{|i|,10-4} D-1 C D-1; D = diag ( |W 1 |1i ,/ j2 ) e C = D-1 W D-1
Greenstadt-Goldfarb II (GGII) E W + W ET
W+ 1 + B
E W +W ET
Gill-Murray ou (GGIII) W + 1 + A
1
1 ET W 1 + W 1 E
W + 1 + A
-1
Fletcher ou (GGIII)
Broyden-Fletcher-Goldfarb-
[W ]
1 1
Shanno (BFGS) ou (DFP)-1 + A B
1
1 {d , d }
W +
-1
(Broyden)
{d , x}
Goldstein-Price aproximao por diferenas-finitas
62
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
4. Teoria da Dualidade
inf S(x)
sujeito a: hj(x) = 0 , j = 1, 2, ..., m
v(y) = gj(x) y , j = 1, 2, ..., p
x X n
Como o problema interno (,) = inf L(x,,) do dual D uma funo paramtrica de
xX
e , (,), tambm chamado de funo dual, ele pode assumir valores () para
algum valor de ou . Se o problema interno finito para todos 0 e , ento ele
pode ser escrito como:
64
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
O conjunto I 3 que a imagem de X sob as trs funes S(x), g1(x) e g2(x) dado
por:
I = {(z1, z2, z3) 3 | z1 = g1(x), z2 = g2(x) e z3 = S(x) para algum x X}
Sobre este conjunto a formulao equivalente do dual dada por:
65
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
66
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
conhecida como brecha dual (duality gap). Esta diferena pode ser devido a uma
descontinuidade da funo perturbao v(y) em y = 0, que impossibilita a existncia de
um hiperplano suporte neste ponto.
Se a funo perturbao v(y) finita em y = 0, ento no existe brecha dual se e
somente se v(y) semicontnua inferior em y = 0. Para que isto ocorra as seguintes
condies devem ser satisfeitas:
a) X um conjunto fechado;
b) S(x) e g(x) so funes contnuas em X;
c) S(x*) finito;
d) {x X | h(x) = 0, g(x) 0 e S(x) } um conjunto limitado, no vazio e
convexo, para algum escalar v(0).
Exemplo 4.2: Seja o seguinte problema:
min S(x) = x2
P= sujeito a: x1 0 ,
x X = {( x1, x2) | 0 x1 2, 1 x2 4 e x2 2 se x1 = 0} 2
67
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Dualidade Forte: sejam S(x) e g(x) funes convexas, h(x) funo afim e X n um
conjunto convexo no vazio. Se o problema primal (P) estvel, ento
a) o problema dual (D) tem uma soluo tima;
b) os valores timos dos problemas P e D so iguais;
c) (*, *) uma soluo tima de D (*, *) um sub-gradiente da funo
perturbao v(y) em y = 0, isto ,
v(y) v(0) + dT y , onde d um vetor sub-gradiente
d) todas as solues timas (*, *) do problema D caracterizam o conjunto de todas
as solues timas do problema P obtidas pela minimizao da funo de
Lagrange: L(x,*,*) = S(x) + (*)T h(x) + (*)T g(x) para x X, satisfazendo as
restries h(x) = 0, g(x) 0 e a condio de complementaridade (*)T g(x) = 0.
min S(x) = x1 x2
P= sujeito a: g(x) = x1 x2 4 0 ,
x X = {( x1, x2) | 0 x1 4, 0 x2 8} 2
cuja timo global x* = [0,5 8]T e S(x*) = 8,5. O seu dual (D) somente em relao a
restrio g(x) dado por:
69
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
-11
7 -9
-8
-10
6
-8.5
5
-7
x2
4 g(x)>0
-6
-4
3
-5
2
g(x)=0
g(x)<0
-2
1
-1 -3
0
0 0.5 1 1.5 2 2.5 3 3.5 4
x1
70
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
71
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
5.1 Fundamentos
Semi-espao vetorial aberto: H = {x / cT x < , x n, , c 0 n}
Semi-espao vetorial fechado: H = {x / cT x , x n, , c 0 n}
Hiperplano: h = {x / cT x = , x n, , c 0 n}
m
Politopo: H i
i =1
Poliedro convexo: Politopo limitado.
Casca convexa: o conjunto convexo, C(X), formado pela interseo de todos
conjuntos convexos no n que contm o conjunto X n (convexo ou no convexo).
Se x C(X), ento
n +1 n +1
x = i xi i = 1 , i 0 e x X (teorema de Caratheodory).
i
com
i =1 i =1
72
x2 Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
10
8
| | | | |
1 2 3
x1
4 5
p
e sabendo que x P pode ser obtido pela combinao convexa x = k x k , onde
k =1
p p
k 0 e k = 1 , ento S ( x ) = k S (x k ) , pois S(x) linear e
k =1 k =1
p
S(x) S* k = S*.
k =1
73
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
| | | | |
1 2 3
x1
4 5
74
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
algoritmo
1) Se ci 0 i = 1,2,...,n, ento a soluo tima foi encontrada, bastando igualar a
zero as variveis no bsicas e resolver o sistema [A Im] y = b. FIM.
2) Pivotamento: identificar o k-simo elemento da linha m+1 da matriz B com o menor
valor (corresponde ao ndice da varivel que causa a maior reduo da funo
objetivo). A k-sima varivel ser includa na base. Identificar o s-simo elemento
do vetor bi / ai,k com menor valor positivo (corresponde a restrio mais prxima, e
valores negativos no violam a restrio com o aumento da k-sima varivel). A s-
sima varivel de folga ser removida da base.
3) Eliminao de Gauss-Jordan: executar as operaes elementares na matriz B (para
levar de uma soluo bsica para outra), tomando como elemento piv: as,k e (ir
para 1).
75
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
76
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
p p! p p!
N p = = N d = =
m m! ( p m)! n n! ( p n)!
sendo que o algoritmo simplex chega na soluo tima, geralmente, entre m e 3m
iteraes para o problema primal (e entre n e 3n para o dual), no necessariamente
seguindo o caminho mais curto para o timo. O problema dual no requer uma soluo
inicial bsica vivel para x, mas para . Por outro lado, o problema primal sempre
mantm a viabilidade das solues para x a cada iterao.
77
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
sujeito a: B xB + N xN = b
xB 0, xN 0, b 0
78
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Como a matriz base de posto cheio, o vetor bsico (das variveis dependentes)
dado por:
xB = B1 b B1 N xN
Esta operao transforma o problema na forma padro para a sua forma cannica, ou
seja:
min S(x) = c TB x B + c TN x N
O termo rN = cN (B1 N)T cB, conhecido como vetor dos custos relativos ou
gradiente reduzido da funo objetivo ( xN S ( x) = rN), usado para determinar qual a
varivel no bsica se tornar bsica (determinao da coluna piv). A varivel que
deixar a base resulta do teste da razo entre as linhas do termo independente B1 b e a
coluna piv da matriz B1 N.
Fazendo xN = 0 (como parte da soluo bsica vivel), tem-se:
xB = B1 b e S(x) = c TB B 1b
79
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
dr
origem dp
80
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
81
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
onde 0 < < 1 um fator de segurana para que os pontos permaneam no interior da
regio vivel (usualmente [0,9 0,9999]). Para o exemplo * = 1/3. Usando um
valor = 0,98, tem-se o prximo ponto x1 = [1,98/3 1/3 0,02/3]T, ilustrado na figura
acima pelo ponto da fronteira [2/3 1/3 0]T. Portanto, a matriz de escalonamento
dada por D = diag(1,98/3, 1/3, 0,02/3).
Existe uma grande variedades de implementaes de algoritmos do ponto
interior, tanto na forma primal quanto na dual, mantendo a idia bsica da projeo do
gradiente no espao nulo.
82
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
84
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
min S(x) = cT x
sujeito a: A x = b
x0
onde cT = [c 0m b 0n]
xT = [x f ] 2p
bT = [b c]
A Im 0m 0n
A=
Q 0m AT Im
85
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
dr
origem dp
86
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
sujeito a: 0
onde (,) = min {S(x) + T h(x) + T f(x)}, fj(x) = gj(x) + (vj)2 e vj (j = 1,2,...,p)
x K
L( x, ) = x1 x 2 + 1 ( x12 + x 22 25 + v12 )
L
= x 2 + 21 x1 = 0
x1
L
= x1 + 21 x 2 = 0
x 2
L
= x12 + x 22 25 + v12 = 0
1
L
= 21v1 = 0
v1
1 x1 x2 v1 S(x) ponto
0 0 0 5 0 sela
0.5 3,54 -3,54 0 -12,5 mnimo
0,5 -3,54 3,54 0 -12,5 mnimo
-0,5 3,54 3,54 0 12,5 mximo
-0,5 -3,54 -3,54 0 12,5 mximo
87
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
L
Observe que como = 2 j v j = 0 (isto , as condies de complementaridade das
v j
restries de desigualdade) implica em j = 0 ou vj = 0, ento para o caso de vj = 0,
tem-se a soluo sobre a j-sima restrio de desigualdade, e quando j = 0, a soluo
est distante da restrio pela varivel de folga vj. Observe tambm que o ponto timo
de S(x) corresponde a um ponto sela de sua correspondente funo de Lagrange (isto ,
um ponto de mnimo em relao a x e de mximo em relao aos multiplicadores,
tambm conhecido como problema minimax).
O uso das variveis de folga na forma (vj)2 nas restries de desigualdade evita
a necessidade de restringir v 0, como foi feito para os casos da programao linear e
quadrtica.
I 2x L M
p ( ) = =0
MT 0
2 1 1 1
2x L = =
1 2 1 1
resultando em dT g1(x*) = 7,08 (d1 d2) = 0 d1 = d2 e d T 2x L d = 4 d12 > 0 , e
portanto o ponto um mnimo local, ou de forma equivalente p() = 0 resulta no valor
caracterstico = 2. Para o exemplo 6.2, que convexo, a soluo obtida o mnimo
global do problema.
Apesar da dificuldade da aplicao do mtodo de Lagrange para a soluo de
problemas no lineares, ele muito til para analisar a sensibilidade da funo
objetivo em relao as restries.
A aplicao do mtodo do gradiente para a soluo da relaxao Lagrangeana
no espao dual, quando h somente restries de desigualdade, sem o uso das variveis
de folga, resulta no seguinte algoritmo (Uzawa). Lembrando que se * maximiza ()
sobre 0, ento o correspondente x* soluo do problema primal.
89
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
algoritmo
1) Escolher um ponto inicial o, k = 0
2) Resolver o problema (k) = min {S(x) + (k)T g(x)}, obtendo xk.
xK
gi (x k ) se ik > 0
3) d ik = i = 1, 2, ..., p
max{0, g i ( x k )} se ik = 0
5) Calcular k+1
= + k d
k k
Esta funo, ilustrada abaixo, causa uma descontinuidade da matriz Hessiana quando
algum gj(x) = 0, dificultando o uso de algoritmos quasi-Newton.
90
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
0 g
sendo uma penalidade exata, pois existe um valor finito de r , rmin, tal que x* um
mnimo local de {S(x) + P(x, r)} quando r > rmin, ao contrrio da penalidade quadrtica
onde r deve ser infinito para se ter uma penalidade exata.
No caso de restries de desigualdades possvel usar penalidades interiores
regio vivel, conhecidas como funes barreiras, sendo a forma mais comum dada
por:
p 1
B ( x, r ) =
i =1 r g i ( x )
x+1=0
93
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
94
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
95
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
- B -1 C
T
x S ( x k ) 1 T
gR(x ) = Z S(x ) = D = IS(x ) C (B ) DS(x )
k T k k T k
xI S ( x )
k
I nm
96
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
DS(x) = 4 x1 IS(x) = 4 x2
portanto, gR(x) = IS(x) CT (B1)T DS(x) = 4 x2 8 x1 , que pode ser
visualizado na figura abaixo.
97
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
algoritmo
1) Escolher um ponto xo vivel e selecionar nm variveis independentes, k = 0
2) Linearizar a funo objetivo e as restries em torno do ponto xk
3) Calcular g Rk
4) Determinar a direo de busca no espao das variveis independentes:
se x Ik,i = U i e g Rk ,i < 0 ou x Ik,i = Li e g Rk ,i > 0, ento d Ik,i = 0
seno d Ik,i = g Rk ,i
6) Encontrar k tal que S(xk + k dk) = min gk() = S(xk + dk), sujeito a L x U
>0
d Dk
onde d k = k
d I
7) Calcular x Ik +1 = x Ik + k d Ik
x Dk +1 = x D
~ k
+ k d Dk (ponto tentativa ou predio)
98
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
99
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
100
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
SQP
2
1
x2
BFGS
0
-1
start point g(x)=0
optimum
-2
-3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5
x1
101
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
sujeito a: Ae d = b e
A I d bI
onde c = S(xk), Ae = Th(xk), AI = Tg(xk), be = h(xk) e bI = g(xk), geralmente
realizada em duas etapas. A primeira destina-se a encontrar um ponto vivel e a
segunda obtm um seqncia de pontos viveis que convergem para a soluo.
A obteno de um ponto vivel pode ser realizada pela incluso de variveis
artificiais, do mesmo modo que no caso da programao linear, isto , resolve-se o
seguinte problema auxiliar de programao linear:
min v
v, d n
sujeito a: Ae d = b e
AI d v bI
Se uma soluo vivel no encontrada, ento a direo de busca aquela que
minimiza o valor de v.
Usando a estratgia dos conjuntos ativos para a soluo da segunda etapa da
programao quadrtica, construda a matriz das restries ativas, A, e determina-se a
base, Z, de seu espao nulo (A Z = 0). A matriz Z formada pelas ltimas mw colunas
da decomposio QR (ou decomposio ortogonal-triangular, ou decomposio de
Householder) da matriz AT, ou ainda pelas ltimas mw colunas da matriz V da
decomposio em valor singular da matriz A (= U S VH), onde w o nmero de
restries ativas do problema quadrtico (w < m), isto :
Zi,j = Qi,j+w i = 1,2,..., n , j=1,2,...,mw
R
onde QH AT = (Q uma matriz unitria e Q1 = QH a transposta conjugada)
0
Uma vez encontrada a base Z, determina-se a direo de busca que minimiza q(d) no
espao nulo das restries ativas. Escrevendo a funo objetivo quadrtica, q(d), em
termos da projeo de d no espao nulo, dp = ZT d (ou d = Z dp), tem-se:
q(dp) = cT Z dp + (dp)T ZT H(xk,k,k) Z dp
que diferenciado em relao a dp, resulta em:
q(dp) = ZT c + ZT H(xk,k,k) Z dp
102
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
que definida para as restries que no esto no conjunto ativo, e na direo de sua
fronteira (Ai dk > 0).
Quando n restries independentes esto includas no conjunto ativo e o
mnimo ainda no foi localizado, ento os multiplicadores de Lagrange so calculados
de modo a satisfazer o sistema no singular de equaes:
AT k = c
Se todos os elementos de k 0, ento xk a soluo tima do problema quadrtico.
Entretanto, se algum componente de k negativo e este no corresponder a uma
restrio de igualdade, ento a restrio associada removida do conjunto ativo para a
prxima iterao.
A soluo do problema de programao quadrtica gera um vetor direo, dk,
que usado para calcular o prximo ponto no nvel mais externo das iteraes SQP,
ou seja:
xk+1 = xk + k dk
sendo k determinado de modo a minimizar uma funo de mrito, escrita
genericamente como:
(, xk, dk, k,k,k+1,k+1,rk)
onde k+1 e k+1 so os multiplicadores de Lagrange obtidos na soluo do problema
quadrtico que gerou dk, e rk um escalar (ou vetor) usado na penalizao das
restries. Por exemplo, a funo implementada no SQP do MATLAB tem a forma
(Han, 1977 e Powell, 1978):
103
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
que assegura uma elevada penalizao das restries com menor gradiente, isto , as
que estiverem mais perto de suas fronteiras (este mesmo procedimento pode ser usado
para obter uma estimativa inicial para os multiplicadores de Lagrange).
Outra forma muito utilizada a do Lagrangeano aumentado (Powell, 1969 e
Hestenes, 1969). Neste caso a funo de mrito dada por:
() = S(x) + T h(x) + T f(x) + P(x, rk)
onde fj(x) = max{0, gj(x)}, j = 1,2,...,p
P(x, rk) = rk {hT(x) h(x) + fT(x) f(x)}
x = xk ou x = xk + dk
= k ou = k + (k+1 k)
= k ou = k + (k+1 k)
Exerccios de fixao
Resolver os seguintes problemas de programao no linear usando SQP:
1. min S(x) = x1 x2
sujeito a: g1 ( x ) = x12 + x 22 25 0
104
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
w
i =1
i =1 e w0
Consequentemente, este problema pode ser resolvido por qualquer uma das tcnicas de
otimizao de um funcional escalar. Uma das dificuldades desta estratgia a
homogeneizao das diferentes unidades de medida tratadas em cada funo objetivo
105
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
(tais como grau de confiabilidade, custo, segurana, qualidade), ou seja, como escolher
os pesos adequadamente. Outra dificuldade est associada ao tratamento das no
convexidades que podem existir no espao das funes objetivos, ilustrado a seguir.
O mtodo das restries consiste em minimizar uma das funes objetivos,
expressando as demais como restries de desigualdades, ou seja:
min Fr(x)
xK
o termo wi permite uma certa folga para mais ou para menos no alcance dos
objetivos. Valores nulos de wi implicam em restries rgidas para os objetivos. Como
nesta formulao os objetivos podem ser super-alcanados ( < 0) ou sub-alcanados
( > 0), os valores de F* no necessitam de elevada preciso. O grau relativo deste
alcance controlado pelo vetor de pesos, w. Quando wi = | Fi* |, assegurado um
mesmo percentual de super- e sub-alcance na respectiva funo objetivo, pois neste
caso [Fi(x) Fi* ] / | Fi* |. Observe que representa a quantidade mxima relativa de
desvio do objetivo (para mais ou para menos).
O grande problema existente na otimizao multi-objetivo que se existe
conflito entre as funes objetivos, ento a soluo do problema original no nica.
Consequentemente, a soluo obtida por qualquer um dos mtodos acima vai estar
associada aos pesos ou restries impostas em cada alternativa. Para tratar da no
106
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
107
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Resolvendo este exemplo pelo mtodo das restries , com a escolha de F2(x) como
funo objetivo, tem-se o seguinte problema de otimizao:
min S(x) = F2(x)
x
sujeito a: F1(x)
x0
cujas solues para vrios valores de 1 (observe que min F1(x) = 1, x 0,
ocorrendo em x = 0) so dadas por:
108
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
1/ 2 1,125
x * ( ) =
2 ( 1) 1 1,125
sujeito a: x0
cujas solues em funo do peso w1 so dadas por:
4 (1 w1 )
x * ( w1 ) =
8 7 w1
0.5
0.45
0.4
0.35
0.3
0.25
x
0.2
0.15
0.1
0.05
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
w1
109
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
x*
sujeito a: F2(x) 2
onde verifica-se que o mtodo capaz de identificar pontos no inferiores dentro da
regio de no convexidade de .
Fr* ()
= *i , ir
Fi
onde F1* e F2* so os objetivos estabelecidos, representados pelo ponto P, e (F1s, F2s)
o ponto timo obtido para um determinado conjunto de pesos {w1, w2}, que define a
direo de busca. A regio vivel, (), vai encolhendo medida que o valor de
reduzido. Este mtodo pode ser visto como uma generalizao do mtodo das
restries , que resgatado quando wi = 0 i r e wr = 1.
A formulao do problema de otimizao pelo mtodo da perseguio dos
objetivos tambm pode ser escrito na forma minimax, ou seja:
min max i
x i
Fi ( x) Fi *
onde i = , i = 1, 2, ..., q, ou seja, deseja-se minimizar o pior caso.
wi
Ao resolver este problema usando mtodos tipo SQP, uma forma apropriada de
representar a funo de mrito a seguinte:
(x) = max i
i
111
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
( x, ) = i =1
max i se wi 0
i
112
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
113
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Seqenciamento de destilaes.
projeto de produtos;
sntese de topologias (redes de transporte e distribuio, estruturas, etc.).
As variveis inteiras de deciso cujos nveis formam uma dicotomia (por
exemplo, instalar ou no instalar um equipamento) so chamadas de variveis binrias
(ou variveis 01), assumindo os valores de 0 ou 1. As variveis inteiras que assumem
valores elevados, podem as vezes ser tratadas como variveis contnuas (relaxamento),
sendo a soluo tima arredondada para o nmero inteiro mais prximo, podendo
resultar em uma soluo sub-tima. Por exemplo, as figuras abaixo apresentam
situaes onde a soluo relaxada difere significativamente da soluo tima.
min S(x) = 11 x1 + 21 x2
x2 x2
S = 63
S = 55
3 s.a.: 4 x1 + 6,5 x2 12,5 3
S = 44
S = 42
S = 34,4
2 xI 2
2
1 1
| | | | | | | | | |
1 2 3
x1 1 2 3
x1
4 5 4 5
sendo que a funo int trunca o argumento real para um valor inteiro. Esta
aproximao, entretanto, pode no ser prtica quando os limites so grandes.
A maioria dos problemas de programao mista so inerentemente de natureza
combinatorial, isto , as variveis inteiras do problema de otimizao correspondem a
combinaes de n elementos tomando m de cada vez, resultando em um nmero de
115
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
n
combinaes, ou correspondem a permutaes de n elementos, levando a n!
m
possibilidades.
Os problemas MIP que envolvem somente variveis inteiras so denotados por
IP (Integer Programming), tendo como caso particular a programao inteira binria
(BIP), onde todas as variveis inteiras so binrias. Quando um problema MIP linear
na funo objetivo e nas restries, tem-se o caso MILP (Mixed-Integer Linear
Programming). Finalmente, quando h relaes no lineares na funo objetivo ou nas
restries, tem-se o problema de programao no linear inteira mista (MINLP).
Exemplos clssicos de programao inteira so o do caixeiro viajante e o da
mochila. O problema da mochila consiste em colocar q artigos valiosos dentro de uma
mochila, no ultrapassando um peso (ou volume) mximo W, de modo a maximizar o
valor total dos artigos. Designando cada artigo como yi, seu respectivo peso (ou
volume) de wi e seu valor de ci, o problema BIP pode ser descrito como:
max S(y) = cT y
sujeito a: wT y W
y Y = {0,1}q
sendo yi = 1 quando o i-simo artigo for selecionado e yi = 0 caso contrrio.
O problema do caixeiro viajante consiste em fazer um vendedor visitar n
cidades somente uma vez, retornando para a cidade de origem, percorrendo o menor
caminho possvel. Designando como yij = 1 a viagem da cidade i para a cidade j e cij a
distncia entre estas cidades, o problema BIP pode ser formulado como:
n n
min S(y) = cij yij
i =1 j =1
n n
sujeito a: yij = 1 , yij = 1 , yii = 0, i,j = 1,2,...,n
i =1 j =1
y Y = {0,1}q=nn
Este problema tambm pode ser interpretado como um problema de associao, como
por exemplo, a associao de correntes de processo a trocadores de calor, limitando
um trocador por corrente.
116
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
dk dk1 d2 d1
117
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
8 3 8
A D E H
5 5 2 2
9 3 3
B C F G
Como cada funo objetivo otimizada, S k* (xk), depende de suas variveis de entrada,
xk, estas formas funcionais devem ser obtidas antes de passar para o prximo estgio,
ou devem ser calculadas recursivamente. Portanto, a programao dinmica s
atrativa para problemas de baixa dimenso. Por exemplo, se um estgio k possuir m
variveis de entrada, cada uma podendo assumir rj nveis viveis, j = 1,2,...,m, ento o
nmero de combinaes possveis onde a funo objetivo otimizada deste estgio deve
m
ser calculada r j , ou rm se rj = r.
j =1
118
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
119
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
120
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
teria como soluo a ponto timo do problema original x = [1 4]T, pois as restries
formam uma casca convexa de suas solues inteiras.
(i) uma soluo vivel de qualquer subproblema (P1), (P2), ..., (Pn) tambm uma
soluo vivel de (P);
(ii) cada soluo vivel de (P) uma soluo vivel de exatamente um de seus
subproblemas.
Neste caso, o problema (P) chamado de problema Pai e os subproblemas (P1), (P2),
..., (Pn) so chamados de problemas Filhos.
Uma questo importante no mtodo de branch and bound de como gerar uma
separao do problema (P). A maneira geralmente utilizada a introduo de
restries contraditrias em uma nica varivel binria (ou inteira) a cada estgio. Por
exemplo, selecionando a varivel binria y1 de (P), pode-se separ-lo, ou ramific-lo
(branching), em dois subproblemas (P1) e (P2):
min S(x,y) = cT x + dT y min S(x,y) = cT x + dT y
sujeito a: A x + B y b sujeito a: A x + B y b
x0 x0
P2
y1 = 0 y1 = 1
x X n x X n
y Y = {0,1}q y Y = {0,1}q
Construindo-se desta maneira uma rvore binria. Outra maneira de gerar separaes,
aplicvel para problemas com restries generalizadas de limite superior, ou seja:
yj =1
jJ
igualar a zero parte desta soma e gerar outra soma mutuamente excludente. Por
exemplo, se o problema (P) possuir a seguinte restrio:
y1 + y2 + y3 + y4 = 1
ento ao subproblema (P1) seria adicionado a restrio y1 + y2 = 0 e ao subproblema
(P2) a restrio y3 + y4 = 0.
Relaxao:
Um problema de otimizao, denotado por (RP), uma relaxao do problema
(P) se o conjunto de solues viveis de (P) um subconjunto de solues viveis de
(RP), isto ,
FS(P) FS(RP)
Deste modo, se (RP) no tem soluo vivel, ento (P) tambm no tem. Alm disto,
se zP a soluo tima de (P) e zRP a soluo tima de (RP), ento:
122
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
zRP zP
ou seja, a soluo do problema relaxado fornece um limite inferior para a soluo do
problema original. Naturalmente, se a soluo tima de (RP) vivel para (P), ento
ela a soluo tima de (P).
A forma de relaxao mais freqentemente utilizada em problemas MILP
tornar as variveis binrias em variveis contnuas: 0 y 1, gerando um problema
LP relaxado. Outra forma de relaxao remoo de algumas restries de (P). Porm,
existe um compromisso entre a relaxao e a qualidade do limite inferior (zRP) para a
soluo tima. Em geral, quanto mais fcil for a soluo do problema relaxado (maior
relaxamento), maior ser a diferena entre zRP e zP.
Sondagem:
Seja (CS) um subproblema candidato para a soluo de (P). Deseja-se ento
determinar se a regio vivel de (CS), FS(CS), contm uma soluo tima de (P), para
ento encontr-la. Este subproblema (CS) ser considerado sondado se uma das
seguintes condies for satisfeita:
(i) estiver garantido que FS(CS) no pode conter uma soluo melhor que a
melhor soluo j encontrada em estgios anteriores (ou soluo titular, z*). Se
nenhuma soluo vivel havia sido encontrada, ento z* = ;
(ii) uma soluo tima de (CS) foi encontrada, zCS.
Em qualquer uma destas situaes o subproblema (CS) no necessita de novas
separaes.
Denotando por (RCS) uma relaxao do subproblema (CS), e zRCS a sua soluo
tima, ento os critrios gerais de sondagem em um algoritmo de branch and bound,
baseado em relaxao, so:
1) Se (RCS) no possui soluo vivel, ento (CS) tambm no possui e pode ser
considerado sondado;
2) Se zRCS z* ento (CS) est sondado;
3) Se uma soluo tima de (RCS) vivel para (CS), ento ela tambm uma
soluo tima de (CS), portanto o problema (CS) pode ser considerado sondado.
Neste caso, a soluo tambm vivel para (P) e se zRCS < z*, ento a soluo
titular substituda por esta nova soluo, seno zRCS um limite superior para o
problema.
Note que possvel ter zCS z* > zRCS, e neste caso (CS) no pode ser considerado
sondado, sendo zRCS um limite inferior para o problema. Portanto, quanto menor a
123
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
124
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Exemplo 7.3: Para ilustrar o mtodo de branch and bound com relaxao das
variveis binrias, seja o seguinte problema:
min S(x,y) = 2 x1 3 y1 2 y2 3 y3
sujeito a: x1 + y1 + y2 + y3 2
10 x1 + 5 y1 + 3 y2 + 4 y3 10
x1 0
y Y = {0,1}3
onde a soluo tima ocorre no ponto x* = 0 e y* = [1 0 1]T, com o valor da funo
objetivo S(x*,y*) = z* = 6. Resolvendo o problema LP relaxado na raiz da rvore
binria, tem-se a soluo:
x = 0 , y = [0,6 1 1]T e z = 6,8
que representa um limite inferior para o problema MILP. As rvores binrias para as
tcnicas de busca em primeira profundidade e busca em primeira largura so
mostradas abaixo, onde o nmero dentro do n indica a seqncia do subproblema
(CS).
125
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
raiz nvel 0
nvel 1
nvel 2
nvel 3
0 0 6,8 0 6,8
1 1 6,667 1 6,8 5 5
2 2 6,667 1 6,667 5 5
3 3 6,5 5 5 2 6,667 6 6
4 3 6,5 5 5 2 6,5 6 6
5 2 6,667 6 6 3 6,5 6 6
6 1 6 6 6 3 6 6 6
126
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
127
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
sujeito a: h(x,yk) = 0
F
gi(x, yk) 0, i I
x X n
onde wi 0 so pesos associados a cada restrio, g i+ ( x, y k ) = max [0, gi(x, yk)], I o
conjunto de restries de desigualdade viveis, e Il o conjunto de restries de
desigualdade inviveis. A soluo do problema FP fornece informaes sobre os
multiplicadores de Lagrange, k e k , sendo a funo de Lagrange para este caso
dada por:
L (x,y, k , k ) = ( k )T h(x,y) + ( k )T g(x,y)
Problema mestre
O problema mestre derivado via teoria de dualidade no linear, faz uso dos
multiplicadores de Lagrange obtido no problema primal e sua soluo produz
informao sobre o limite inferior, caracterizada pelas seguintes idias chaves:
(i) projeo do problema MINLP sobre o espao y (i.e., y Y V);
(ii) representao dual de V, onde V = {y | h(x,y) = 0, g(x,y) 0, x X};
(iii) representao dual da projeo do problema MINLP sobre o espao y.
128
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
min
sujeito a: inf L(x,y,,) , , 0
xX
M
0 inf L (x,y, , ) , ( , )
xX
y Y = {0,1}q ,
p
onde = { m, p | 0 , i = 1 }. Observa-se que o problema mestre
i =1
(M) tem como restrio dois problemas de otimizao, que precisam ser considerados
para todos e 0 (primal vivel) e para todos ( , ) (primal invivel),
resultando em um problema com um nmero elevado de restries. A estratgia
natural de resolver este problema atravs de relaxao das restries, gerando um
problema mestre relaxado (RM).
min
sujeito a: inf L(x,y,k,k) , k = 1,2,...,NP
xX
RM
0 inf L (x,y, k , k ) , k = 1,2,...,NFP
xX
y Y = {0,1}q ,
onde Np o nmero de problemas primais viveis e NFP o nmero de problemas
primais inviveis resolvidos.
130
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
131
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
132
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
( ) ( ) yx xy
{ }
T k
0 g i x k , y k + g i x k , y k , i I 1 I x X
k
x X n, y Y = {0,1}q
sujeito a g(x) + B y0 0
x X n
O problema NLP resolvido, encontrando uma soluo (x0,y0), a qual corresponde a
um determinado valor z da funo objetivo. Considera-se zu = z, o limite superior
para a soluo tima do problema MINLP.
Se a violao de restrio for maior que c, onde c a tolerncia de violao
de restrio, ento faz-se zu = , o que significa que este primeiro NLP considerado
invivel.
Na implementao, quando y0 no for dado, existe a possibilidade de ser
resolvido um NLP com condies de integralidade sobre as variveis binrias
relaxadas. Neste caso resolvido um NLP relaxado, resultando uma soluo (x0,y0). Se
y0 no for inteiro, ento y0 sofre um arredondamento e resolvido um outro NLP.
Passo 3 As funes no lineares do problema MINLP so linearizadas, usando a
soluo tima x0 do subproblema NLP, resultando no seguinte problema MILP.
z = min
x , y ,
135
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
, x X n, y Y = {0,1}q
Passo 4 O problema MILP transforma-se num problema LP, com as condies de
integralidade sobre as variveis binrias relaxadas. A soluo deste LP considerada
um limite inferior, zl, para a soluo tima do problema MINLP. Caso zl + z zu ,
onde z a tolerncia da funo objetivo, ento este problema desconsiderado. Se
zl < zu, este primeiro problema LP armazenado como o primeiro n da rvore de
busca e se a soluo deste LP para as variveis binrias y for inteira, segue-se para o
passo 8.
Passo 5 Se no existe mais LPs para serem resolvido, ou seja, nenhum n aberto na
rvore, ento o limite superior corrente zu a soluo tima do problema MINLP e
terminou o algoritmo.
Passo 6 Se a soluo do LP para variveis binrias no for inteira, ento haver uma
ramificao na rvore de busca com a criao de dois ns filhos, isto , dois problemas
LPs. A criao desses LPs ser feita da seguinte forma, seleciona-se dentro da soluo
do ltimo (LP )kj , onde j o nmero do n e k o nmero do n pai, o yi cujo
valor fracionrio encontra-se mais distante dos extremos 0 e 1 e adiciona-se as
restries yi = 0 e yi = 1 para os subproblemas (LP ) jj + 1 e (LP ) jj + 2 , respectivamente.
Substitui-se o problema pelos dois subproblemas filhos na lista de LPs.
Passo 7 Se no final da lista de LPs tem-se dois problemas filhos para serem
resolvidos que tem o mesmo problema pai, ento faz-se o seguinte:
i) resolve-se o (LP ) jj + 2 . Se o valor da funo objetivo z j + 2 + z zu , este
problema desconsiderado. Caso z j + 2 seja uma soluo inteira, segue-se
para o passo 8;
ii) resolve-se o (LP ) jj + 1 . Se o valor da funo objetivo z j + 1 + Z zu , este
problema desconsiderado. Caso z j +1 seja uma soluo inteira, segue-se
para o passo 8;
iii) se z j + 2 z j + 1 , inverte-se (LP ) jj + 2 e (LP ) jj + 1 , no armazenamento de LPs.
Caso contrrio (isto , existe somente um problema filho), resolve-se o (LP )kj e se
z j + z zu , este deve ser desconsiderado, mas se zj uma soluo inteira, segue-se
para passo 8.
Retornar ao passo 5.
136
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
138
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
139
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
z = min
sujeito a r(vk) + (k)T [C y + D w + t(vk)] (k)T G (v vk)
Ey+Fw+Gvb
cT y + aT w + = 0
, , y Y , w W, v V
k = 1,2, ...,K(NLPs)
Observe que usando as aproximaes lineares acima somente a primeira
inequao modificada para os ns abertos na rvore de busca, quando acontece uma
soluo inteira de um LP.
4 - Restrio Aproximada proposta por Pereira e Secchi (2000)
Considerando o problema MINLP original na forma:
z = min S(x,y) = cT y + f(x) + u
sujeito a: g(x) + B y u
x X n, y Y = {0,1}q , u 0
onde > 0. Se u > 0 h violao de restries para problemas inviveis. Isto , u
uma penalizao introduzida na funo objetivo quando as restries so violadas.
Fazendo aproximaes externas para o ponto x1, o qual foi gerado pelo primeiro
subproblema NLP, tem-se o MILP
z = min
x , y , ,u
141
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
142
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
com a condio inicial (0) = 0, para ser integrada simultaneamente. Para o caso
particular de = 1, tem-se o problema de minimizao do tempo de operao, tf.
Uma formulao mais geral para a funo objetivo envolve as duas formas
acima, ou seja:
tf
(u(t),v,tf) = (x(tf), x(t f ) ,y(tf),u(tf),v) + (x(t), x(t ) ,y(t),u(t),v) dt
0
144
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
onde = [x, x(t ) ,t] [x*, x * (t ) ,t] = [x* + , x * (t ) + (t ) ,t] [x*, x * (t ) ,t].
Expandindo em srie de Taylor tem-se:
145
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
( )
t2
S = Tx + Tx dt = 0
t1
sobre qualquer funo arbitrria (t). O segundo termo no integrando pode ser
integrado por partes (u = x e v = ), resultando em:
t2 t2
t d T
x dt = [ x ]t12 [ x ] dt
T T
t1 t1 dt
Se a funo x(t) fixada nos contornos, t1 e t2, ento (t) deve se anular nestes pontos,
pois no pode existir variao de x(t) nos contornos. Deste modo o primeiro termo da
integrao por partes nulo. Para o caso mais geral, onde algum contorno pode estar
livre, as seguintes condies de complementaridade devem ser satisfeitas:
Tx = 0 para t = t1 e t = t2
ou seja, se S para ser zero para todas as variaes admissveis (restritas somente
pela continuidade e diferenciabilidade) ento o primeiro termo da integrao por partes
deve ser sempre nulo. No caso de existir uma contribuio terminal na funo
objetivo:
t2
Como a equao acima deve ser satisfeita para qualquer funo arbitrria (t),
contnua, diferencivel e que satisfaa as condies de contorno, ento o termo entre
parntesis deve ser nulo, resultando na equao de Euler-Lagrange:
d
x [ x ] = 0
dt
146
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
O comprimento de uma curva conectando os pontos (t1, x1) e (t2, x2) dado por:
s (t2 ) t2
S ( x) = ds = 1 + x 2 dt
s (t1 ) t1
d d d x
x [ x ] = 0 = =0
dt dt x
dt 1 + x 2
x
ou seja: = constante, o que implica que x * (t ) = constante. Portanto,
1+ x 2
como no poderia deixar de ser, o caminho mais curto entre dois pontos uma reta:
x*(t) = a t + b.
Naturalmente, para assegurar que a funo x(t) minimize o funcional S(x), a
condio suficiente de segunda ordem deve ser verificada, que no caso de variaes
significa que a segunda variao de S deve ser positiva para todas variaes possveis
de x, isto :
147
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
2S > 0 , x
que equivalente a (x)T 2x S (x*) x > 0, ou ainda pela condio de segunda ordem
de Legendre:
2x ( x*, x*, t ) > 0
[ + ]T f = 0 + = 0 = 0 para t = tf
148
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
= 0 = + T f = u + Tu f
= x H = x Tx f
u H = u + Tu f = 0
que devem ser resolvidas juntamente com as condies iniciais e finais e as condies
de complementaridade:
x(0) = xo
h[x(tf),tf] = 0
[ x (t f ) (tf)]T x(tf) = 0
{H[x(tf),u(tf),(tf),tf] + t f } tf = 0
H[x*(t),u*(t),*(t),t] H[x*(t),u(t),*(t),t]
para todos as possveis funes u(t).
Para problemas com restries de desigualdade do tipo:
g[x(t),u(t),t] 0 , t [0, tf]
onde g p duas vezes continuamente diferencivel e o subconjunto de restries
ativas, ga, no deve ser maior que o nmero de variveis de controle, u, e deve
apresentar uma matriz Jacobiana, uga, de posto completo t [0, tf]. Exemplos de
restries de desigualdade que satisfazem estas condies so:
umin u(t) umax , t [0, tf]
umin[x(t),t] u(t) umax[x(t),t] , t [0, tf]
149
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
[ z + z ]T z f = 0 z + z = 0 z = 0 para t = tf
150
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
{H[x(tf),u(tf),(tf),tf] + t f } tf = 0
i gi = 0, i = 1,2,...,p.
[ ]
tf
1 1
2 0
2
+ + u (t ) W ( t ) dt
2 2
S[x(t),u(t),tf] = x(t f ) x(t ) Q (t )
2 R
151
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
pois P(tf) = R.
Fazendo a integrao em [t, tf] tem-se:
152
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
tf
x(t)T P(t) x(t) = x(tf)T R x(tf) + ( x T Q x + u T W u )dt 0
t
153
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Para qualquer um dos casos acima, o algoritmo abaixo mostra uma maneira de
solucionar o problema de otimizao dinmica via NLP, conhecida como mtodo da
tentativa-e-erro ou single-shooting.
algoritmo
1) Escolher um perfil inicial para as variveis de controle, u0(t), k = 0.
2) Integrar o sistema de equaes algbrico diferenciais.
3) Calcular a funo objetivo e restries.
4) Corrigir as variveis de controle pelo uso de mtodos de NLP.
5) Verificar a convergncia de uk(t). Caso no esteja satisfeita k k + 1 (ir para 2).
6) FIM.
Outra forma de resolver o problema atravs da discretizao das equaes
diferenciais (ou mtodo de multiple-shooting) por tcnicas de elementos finitos,
diferenas finitas ou aproximao polinomial, gerando um problema algbrico de
programao no linear de elevada dimenso, que tambm pode ser resolvido por
qualquer mtodo de NLP com restrio.
154
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Exerccios
1) A figura abaixo representa um extrator onde entram uma soluo com uma vazo F = 104
kg H2O / h e uma concentrao xo = 0,02 kg A / kg H2O, e um solvente B puro a uma vazo
W kg B / h a ser determinada. A corrente rafinada sai com uma vazo F = 104 kg H2O / h e
uma concentrao x kg A / kg H2O e ainda um pouco de solvente B dissolvido em gua. No
extrato, a vazo de W kg B / h e a concentrao y kg A / kg B. Calcular a vazo tima W de
B.
relao de equilbrio: y = k x (k = 4)
o despejo no tem valor comercial.
critrio de desempenho: Lucro = $ soluto extrado - $ solvente utilizado.
2) Calcular as vazes timas de solvente para o exerccio anterior quando dois extratores em
srie so utilizados no lugar de apenas um extrator, conforme figura abaixo. Considere a
mesma relao de equilbrio e a mesma solubilidade de B em gua para os dois extratores.
155
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
4) A figura abaixo representa um sistema de dois trocadores de calor em srie, onde uma
corrente de processo com vazo Fo = 1000 kg / h e temperatura to = 20 C deve ser
aquecida a t2 = 100 C por correntes de vapor saturado a T1 = 100 C e T2 = 120 C,
respectivamente. Calcular as vazes timas W1 e W2 das correntes de vapor (kg / h) bem
como as reas de troca trmica timas A1 e A2 (m2). Considerar cp = 1 kcal / kg C, U1 =
300 kcal / h m2 C, U2 = 400 kcal / h m2 C, 1 = 500 kcal / kg e 2 = 600 kcal / kg.
Fo, to t1 t2
A 1, U 1 A2, U2
W1, T1 W2, T2
Por outro lado, pode-se tambm obter alguma converso somente com a adio de catalisador,
sem o aquecimento. O produto B pode ser vendido por R$ 50 / mol de B. O custo do
catalisador (R$ / mol da alimentao) dado pela expresso:
Cc = 2 + 10 X c + 20 X c2
onde Xc a frao molar de catalisador. O custo do vapor (R$ / mol da alimentao) dado
pela expresso:
Cs = 1 + 0,003 S + 2 10 6 S 2
onde XB a relao de mol de B / mol de alimentao. Deseja-se saber qual o lucro mximo
deste processo produtivo por mol de alimentao.
sujeito a: ( x1 + x 2 ) 2 4 ( x1 x 2 ) = 0
157
Otimizao de Processos - Prof. Argimiro R. Secchi - PPGEQ/UFRGS
Bibliografia Bsica
Referncias citadas:
Secchi, A.R., Perlingeiro, C.A. (1989), Busca Aleatria Adaptativa, in Proc. of XII
Congresso Nacional de Matemtica Aplicada e Computacional, So Jos do Rio Preto,
SP, pp. 49-52.
Aarts, E., Korts, J., Van Laarhoven, P. (1988), A quantitative analysis of the simulated
annealing algorithm: a case study for the travelling salesman problem, J. Stat. Phys., 50,
187-206.
Hasan, M., Alkhamis, T., Ali, J. (2000), A comparison between simulated annealing,
genetic algorithm and tabu search methods for the unconstrained quadratic Pseudo-
Boolean function, Comp. & Ind. Eng., 38, 323-340.
158