Vous êtes sur la page 1sur 159

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO

COPPE
PROGRAMA DE ENGENHARIA QUMICA

COQ-897 - Otimizao de Processos

Prof. Argimiro R. Secchi

2015

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Contedo
1. FORMULAO DE PROBLEMAS .............................................................................................................. 5
1.1 APLICAES ................................................................................................................................................. 5
1.2 NOMENCLATURA .......................................................................................................................................... 7
1.3 PROCEDIMENTO GERAL ................................................................................................................................. 9
1.4 DIFICULDADES ENCONTRADAS ................................................................................................................... 10
2. CONCEITOS BSICOS ................................................................................................................................ 10
2.1 MNIMOS E MXIMOS .................................................................................................................................. 10
2.2 CONDIES PARA A OTIMALIDADE.............................................................................................................. 11
2.2.1 Otimizao sem restrio .................................................................................................................. 11
2.2.2 Otimizao com restries ................................................................................................................ 15
2.3 CONVEXIDADE ............................................................................................................................................ 23
2.4.1 Generalizao de funes convexas .................................................................................................. 25
2.4 FORMAS FUNCIONAIS .................................................................................................................................. 27
2.5 LGEBRA VETORIAL ................................................................................................................................... 30
EXERCCIOS DE FIXAO .................................................................................................................................. 31
3. OTIMIZAO SEM RESTRIO ............................................................................................................. 32
3.1 MTODOS DE BUSCA MONOVARIVEL E MULTIVARIVEL ........................................................................... 32
3.1.1 Mtodo da seo urea...................................................................................................................... 33
3.1.2 Mtodo da aproximao polinomial.................................................................................................. 34
3.1.3 Mtodo de busca seccionada ............................................................................................................. 36
3.1.4 Mtodo de Hooke & Jeeves ............................................................................................................... 37
3.1.5 Mtodo de Rosenbrock ...................................................................................................................... 38
3.1.6 Mtodo de Powell .............................................................................................................................. 39
3.1.7 Mtodo de busca de limites ............................................................................................................... 42
3.1.8 Mtodo dos poliedros flexveis .......................................................................................................... 42
3.1.9 Mtodos de busca aleatria ............................................................................................................... 44
3.2 MTODOS ANALTICOS (MTRICA VARIVEL) ............................................................................................. 51

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

3.2.1 Mtodos gradientes............................................................................................................................ 52


3.2.2 Mtodo de Newton ............................................................................................................................. 54
3.2.3 Mtodo do gradiente conjugado ........................................................................................................ 55
3.2.4 Mtodos da mtrica varivel ............................................................................................................. 56
4. TEORIA DA DUALIDADE ........................................................................................................................... 63
4.1 PROBLEMA PRIMAL ..................................................................................................................................... 63
4.2 PROBLEMA DUAL ........................................................................................................................................ 64
4.3 INTERPRETAO GEOMTRICA DO DUAL ..................................................................................................... 65
4.4 DUALIDADE FRACA E FORTE ....................................................................................................................... 68
5. PROGRAMAO LINEAR (LP) ................................................................................................................ 71
5.1 FUNDAMENTOS ........................................................................................................................................... 72
5.2 MTODO SIMPLEX ....................................................................................................................................... 74
5.2.1 Primeira soluo vivel ..................................................................................................................... 77
5.2.2 Forma padro .................................................................................................................................... 78
5.3 MTODO DO PONTO INTERIOR (KARMARKAR) ............................................................................................ 79
6. PROGRAMAO NO LINEAR (NLP) .................................................................................................... 83
6.1 PROGRAMAO QUADRTICA (QP) ........................................................................................................... 83
6.2 RELAXAO LAGRANGEANA ...................................................................................................................... 87
6.3 FUNES PENALIDADE ................................................................................................................................ 90
6.4 PROGRAMAO LINEAR SEQENCIAL (SLP) ............................................................................................... 93
6.5 GRADIENTES REDUZIDOS GENERALIZADOS (GRG) ..................................................................................... 95
6.6 PROGRAMAO QUADRTICA SEQENCIAL (SQP) ................................................................................... 100
Exerccios de fixao ................................................................................................................................ 104
6.7 OTIMIZAO MULTI-OBJETIVO.................................................................................................................. 105
7. PROGRAMAO INTEIRA MISTA........................................................................................................ 113
7.1 PROGRAMAO DINMICA ....................................................................................................................... 116
7.2 PROGRAMAO LINEAR INTEIRA MISTA (MILP) ....................................................................................... 118
7.2.1 Princpio dos mtodos dos planos de corte ..................................................................................... 120

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

7.2.2 Mtodo de branch and bound .......................................................................................................... 121


7.3 PROGRAMAO NO LINEAR INTEIRA MISTA (MINLP) ............................................................................ 127
7.3.1 Decomposio Generalizada de Benders (GBD) ............................................................................ 127
7.3.2 Aproximaes Externas (OA) .......................................................................................................... 129
7.3.3 Aproximaes Externas com Relaxamento de Igualdade (OA/ER) ................................................. 130
7.3.4 Aproximaes Externas com Relaxamento de Igualdade e Penalidade Aumentada (OA/ER/AP) .. 131
7.3.5 Aproximao Externa Generalizada (GOA).................................................................................... 132
7.3.6 Decomposio Cruzada Generalizada (GCD) ................................................................................ 133
7.3.7 Branch and Bound Espacial (SBB).................................................................................................. 134
8. OTIMIZAO DE PROCESSOS DINMICOS...................................................................................... 142
8.1 FORMULAO DA FUNO OBJETIVO E RESTRIES ................................................................................. 143
8.2 PRINCPIO DO MNIMO DE PONTRYAGIN.................................................................................................... 144
8.3 CONTROLE TIMO ..................................................................................................................................... 151
8.4 CONTROLE PREDITIVO .............................................................................................................................. 154
EXERCCIOS ................................................................................................................................................... 155
BIBLIOGRAFIA BSICA .............................................................................................................................. 158

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

1. Formulao de Problemas
Os componentes chaves da formulao de um problema de otimizao so:
1) A funo objetivo
2) O modelo do processo
3) As restries
A funo objetivo representa lucro, custo, energia, produo, distncia, etc., em
termos das variveis de deciso do processo ou sistema em anlise. O modelo do
processo e as restries descrevem as inter-relaes entre estas variveis.
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 nolineares, etc.

A otimizao pode ser efetuada em diferentes nveis dentro de uma empresa,


desde uma combinao complexa de plantas e unidades de suprimentos, passando por
plantas individuais, combinaes de unidades, equipamentos, peas de equipamentos,
at entidades menores. Portanto, o escopo de um problema de otimizao pode ser
toda a empresa, uma planta, um processo, uma equipamento, uma pea de um
equipamento, ou qualquer sistema intermedirio entre estes. Em uma indstria tpica
existem trs nveis que podem ser otimizados: nvel gerencial, nvel de projeto de
processo e especificao de equipamento e nvel de operao de plantas.

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Existe uma srie de atributos de processos que afetam os custos ou lucros,


tornando-os atrativos para aplicao de otimizao, tais como:
-

vendas limitadas pela produo aumento de capacidade produtiva

vendas limitadas pelo mercado aumento de eficincia ou produtividade

grandes unidades de processamento reduo dos custos de produo

elevados consumos de matria-prima ou energia reduo do consumo

qualidade do produto superior s especificaes operar perto das restries

perda de componentes valiosos para os efluentes ajustes e re-aproveitamentos

alto custo de mo-de-obra automao e replanejamento das unidades.

Exemplo 1.1: No projeto de um sistema de resfriamento representado abaixo:

F, to

A1, U1

F, t1

W3, T3

W2, T2

W1, T1

A2, U2

F, t2

A3, U3

W3, T3

W2, T2

W1, T1

F, t3

deseja-se dimensionar os trocadores de calor de modo a resfriar a corrente a


temperatura to para t3 com o menor custo possvel. Uma anlise econmica levou a
seguinte expresso do custo do sistema:
custo por unidade: ci a i Ai bi Wi
3

custo total: cT ci
i 1

onde o coeficiente ai funo do tipo de trocador de calor e do fluido refrigerante e bi


o custo unitrio do refrigerante. Uma anlise tcnica (balano de energia) gerou as
seguintes relaes restritivas:
Ai

F Cp t i 1 Ti
ln

Ui
t i Ti

Wi

F Cp
( t i 1 t i )
i

onde Cp o calor especfico da corrente, Ui o coeficiente global de troca trmica e i


o calor de vaporizao do refrigerante. Portanto, dados os tipos de trocadores de
calor e fluidos refrigerantes, e conhecidas as temperaturas Ti e as propriedades Cp, i e
Ui, o problema de levar a corrente (F, to) para a condio (F, t3) da maneira mais
econmica possvel, consiste em minimizar cT no projeto dos trocadores de calor.
6

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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

No exemplo acima, o problema de otimizao foi gerado pela busca de um


projeto timo do processo. Outra aplicao tpica de tcnicas de otimizao aparece na
melhoria das condies de operao de um processo em produo.

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Exemplo 1.2: No processo de extrao por solvente puro, ilustrado abaixo, deseja-se
encontrar a condio de operao com a maior lucratividade possvel.

W2

W1
F, xo

F, x1

F, x2

W2, y2

W1, y1

onde Wi e Wi so vazes mssicas de solvente, F a vazo mssica de gua, xi


a massa de soluto por unidade de massa de gua e yi a massa de soluto por unidade
de massa de solvente. Uma anlise econmica levou a seguinte expresso do lucro do
sistema:
L=RC
lucro:
receita: R = Ps (W1 y1 + W2 y2)
C = Px (W1 + W2)
custo:
restrio: R > C
onde Ps o preo do soluto no extrato, Px o preo do solvente puro. Uma anlise
tcnica gerou as seguintes relaes restritivas:
balanos de massa para o soluto:

F xo W1 y1 F x1 = 0
F x1 W2 y 2 F x2 = 0

balanos de massa para o solvente:

W1 W1 s F = 0
W2 + s F W2 s F = 0

relaes de equilbrio:

y1 = m x1
y2 = m x2

onde s a solubilidade do solvente em gua (massa de solvente / massa de gua) e m


a constante de equilbrio entre as fases. Portanto, dados F, xo, s, m, Ps e Px, o
problema de extrair o soluto da gua da maneira mais lucrativa possvel, consiste em
maximizar L em funo das condies de operao. Este exemplo possui tambm 6
equaes (4 equaes de balano de massa e 2 equaes de equilbrio) e 8 variveis
(Wi, Wi, yi, x1 e x2), tendo portanto 2 variveis de deciso, ou dois graus de liberdade.
Tomando x1 e x2 como variveis de deciso, a regio de busca para o problema de
otimizao est delimitada pelas seguintes restries de desigualdade:

xo > x1 > x2 > 0


L(x1, x2) > 0
8

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

A figura abaixo ilustra a regio de busca para F = 1,0 x 104 kg-gua / h, xo =


0,02 kg-soluto / kg-gua, s = 7,0 x 10-4 kg-solvente / kg-gua, m = 4,0 kg-gua / kgsolvente, Ps = 0,4 R$ / kg-soluto e Px = 0,01 R$ / kg-solvente.

0.02

invivel
economicamente
0

0.015
X2

18

0.01
15
10

0.005

0.005

0.01

0.015

0.02

0.025

0.03

X1

Outra aplicao muito comum, que utiliza as tcnicas de otimizao, o ajuste


de modelos matemticos a dados experimentais (ajuste de curvas), onde a funo
objetivo utilizada, S(x), formada pelos quadrados dos desvios do modelo em relao
aos dados experimentais (mnimos quadrados):
N

2
S ( x ) [ y j ( x ) y exp
j ]
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

S (x )

2
j 1 j

2
[ y j ( x ) y exp
j ]

onde 2j so as varincias dos dados experimentais.


1.3 Procedimento geral

No existe um nico mtodo que pode ser aplicado eficientemente para todos os
problemas. O mtodo escolhido para um caso particular depende das caractersticas da
funo objetivo, da natureza das restries e do nmero de variveis do problema.
Contudo, os seguintes passos devem ser observados na formulao e soluo de um
problema de otimizao:

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

1) Anlise do processo e suas variveis;


2) Determinao do critrio para otimizao e especificao da funo objetivo em
termos das variveis do processo;
3) Desenvolvimento do modelo para o processo, relacionando as suas variveis
atravs de restries de igualdade e desigualdade. Clculo do grau de liberdade do
sistema;
4) Se a formulao do problema de dimenso elevada, ento procurar particionar o
problema em partes menores ou simplificar a funo objetivo e/ou o modelo;
5) Aplicao de tcnicas apropriadas de otimizao;
6) Analisar a soluo obtida e a sua sensibilidade frente a variaes em parmetros do
modelo e suas consideraes (hipteses).
1.4 Dificuldades encontradas

Problemas de otimizao que apresentam funes objetivo e/ou restries


complicadas podem apresentar grandes dificuldades para obter a soluo pelo uso de
algumas tcnicas de otimizao. Algumas destas complicaes esto listadas abaixo:
-

funo objetivo e/ou restries podem apresentar descontinuidades;

funo objetivo e/ou restries no lineares;

funo objetivo e/ou restries podem estar definidas em termos de complicadas


interaes entre as variveis, podendo ocorrer valores no nicos destas variveis
para o valor timo da funo objetivo;

funo objetivo e/ou restries podem exibir patamares (pouca sensibilidade


variao das variveis) para alguns intervalos das variveis e comportamento
exponencial (muita sensibilidade) para outros intervalos;

funo objetivo pode apresentar timos locais.

2. Conceitos Bsicos
2.1 Mnimos e mximos

Seja uma funo S: X n . Diz-se que x* um mnimo global (ou


absoluto) de S se S(x*) S(x) x X, e que x* um mnimo local (ou relativo) de S
se existe > 0, tal que S(x*) S(x) x tal que ||x x*|| < . Se as desigualdades forem
estritas, isto , S(x*) < S(x) tem-se mnimos globais e locais estritos.
10

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

S(x)

mnimos locais

mnimo global

Se existe um nmero tal que S(x) x X e, para um suficientemente


pequeno, S(x) < + para algum x X, ento o nfimo (ou valor inferior) de S(x).
Considerando os pontos , ento toda funo S(x) tem um nfimo e um supremo (ou
valor superior) em X. Nem toda funo tem mnimo (mximo), mas se ele existir deve
ser finito e obtido no nfimo (supremo), isto ,

S(x*) = min S ( x) inf S ( x)


xX

[S(x*) = max S ( x) sup S ( x) ]

xX

xX

xX

Por exemplo, as funes S(x) = ex e S(x) = e-x no tem mximo nem mnimo em X = .
Contudo, o supremo destas funes = +, ocorrendo em x* = + para ex e em x* =
para e-x, e o nfimo = 0, de ex ocorrendo em x* = para ex e em x* = + para
e-x.
2.2 Condies para a otimalidade
2.2.1 Otimizao sem restrio

No caso da otimizao sem restries, onde deseja-se encontrar os pontos


extremos da funo objetivo, tem-se as seguintes condies de otimalidade.
Condio necessria de primeira ordem:
Para que x* seja um mnimo (mximo) local da funo S(x), diferencivel em
x*, necessrio que:

S(x*) = 0
Condio necessria de segunda ordem:
Para que x* seja um mnimo (mximo) local da funo S(x), duas vezes
diferencivel em x*, necessrio que:

S(x*) = 0 e que
H(x*) 2S(x*) seja positiva (negativa) semidefinida
onde H(x*) chamada de matriz Hessiana.
11

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Observa-se que estas condies so apenas necessrias porque os termos de


primeira e segunda ordem podem estar nulos, deixando ainda dvida sobre a natureza
de x*.
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.
S ( x) S ( x*)

1
( 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:
S ( x) S ( x*)

1 T
1 n
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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Na tabela a seguir apresenta-se as relaes entre a matriz Hessiana e as trs


formas de analisar a sua condio.

H(x*)

Taylor

k = det (Mk)

positiva semidefinida

xT H x 0

positiva definida

xT H x > 0

>0

>0

negativa semidefinida

xT H x 0

(-1)k k 0

negativa definida

xT H x < 0

<0

(-1)k k > 0

no definida

xT H x

dos acima

Desta forma, pode-se afirmar que x* :


ponto de mnimo local se H(x*) for positiva definida, S(x) > S(x*)
ponto de mximo local se H(x*) for negativa definida, S(x) < S(x*)
ponto de sela se H(x*) for no definida, ora S(x) > S(x*) e ora S(x) < S(x*)
Nas situaes onde H(x*) semidefinida deve-se ainda investigar os termos de
ordem superior da expanso em srie de Taylor.
Exemplo 2.1: S(x) = (x2 1)3
2

S(x) = 6 x (x 1) S(x) = 0

x1 0
x 2 1 , satisfazem a condio necessria de
x 3 1

primeira ordem;

H(x) = (x2 1) (30 x2 6) H(x1) = 6; H(x2) = 0; H(x3) = 0 satisfazem a condio


necessria de segunda ordem; contudo somente x1 satisfaz a condio suficiente. Neste
caso (univarivel) x2 e x3 so pontos de inflexo, como pode ser visto no grfico
abaixo, ou avaliando o valor da derivada terceira de S(x) nestes pontos:
3S(x) = 24 x (5 x2 3) 3S(x2) = 48 0 e 3S(x3) = 48 0.

13

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

S(x)

2.0
1.5
1.0
0.5
-1.5

0.0
-0.5 -0.5 0.0

-1.0

x
0.5

1.0

1.5

-1.0
-1.5

Exemplo 2.2: S ( x1 , x 2 ) x12 x1 x 22


2

S ( x ) 2 x1 x 2
2 x1 x 2

ento, x1* = x2* = 0, e:


2
H ( x)
2 x2

2 x2
H ( x*) 20

2 x1

0
0

isto , uma matriz positiva semidefinida. O grfico abaixo ilustra a funo S(x), onde
se observa 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.
2 x y
S ( x1 , y ) 1

x1

2
H ( x1 , y )
1

1 2 2, 4142
1

0
1 2 0, 4142

150
100

S(x)

50
0
-50
-100
5
5
0
x2

0
-5

-5

14

x1

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

2.2.2 Otimizao com restries

Seja o problema de otimizao sujeito a restries de igualdade, h(x), e


desigualdade, g(x):
min S(x)
sujeito a: hj(x) = 0 , j = 1, 2, ..., m
gj(x) 0 , j = 1, 2, ..., p

x X n
onde S(x), g(x), e h(x) C2. O conjunto de todos os pontos viveis definido por:

K = {x X n / h(x) = 0, g(x) 0}
Uma restrio de desigualdade gj(x) chamada de ativa em um ponto vivel x
se gj( x ) = 0, caso contrrio ela uma restrio inativa. As restries ativas restringem
a regio de viabilidade, enquanto que as inativas no impem restrio alguma na
vizinhana do ponto x , definida pela hiperesfera de raio em torno deste ponto,
denotada por B( x ).
Um vetor d chamado de vetor de direo vivel a partir do ponto x se existe
uma hiperesfera de raio tal que:
( x + d) {B( x ) K} para todo 0

.
d

O conjunto de vetores de direes viveis a partir de x chamado de cone de direes


viveis de K no ponto x . A figura abaixo ilustra estas definies.

Se d 0, ento x deve satisfazer as seguintes condies:

dT h( x ) = 0
15

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

dT g( x ) 0 para as g( x ) ativas, pois g ( x) g ( x )

T g ( x )d 0

e se dT S( x ) < 0, ento d uma direo vivel e promissora, isto ,

S( x + d) < S( x ) para todo 0

, pois S ( x) S ( x ) T S ( x )d 0 .
d

Se x = x* um ponto de mnimo local do problema, ento para um


suficientemente pequeno, tem-se:

S(x*) S(x* + d).


A idia chave para desenvolver as condies necessrias e suficientes para um
problema de otimizao com restries transform-lo em um problema de
otimizao sem restries e aplicar as condies para este caso. Uma forma de fazer
esta transformao atravs da introduo de uma funo auxiliar, chamada de funo
de Lagrange, L(x, , ), definida como:

L(x, , ) = S(x) + T h(x) + T g(x) , 0


onde e so os multiplicadores de Lagrange associados com as restries de
igualdade e desigualdade, respectivamente ( so tambm conhecidos como
multiplicadores de Kuhn-Tucker). Deste modo, o problema transformado torna-se:
max min L(x, , )

, 0

onde os multiplicadores associados com as restries de igualdade, h(x) = 0,


assumem sinais positivos quando h(x) 0 e negativos quando h(x) 0. No ponto
timo tem-se:

L(x*, *, *) = S(x*)
Cada multiplicador de Lagrange indica o quo sensvel a funo objetivo em
relao restrio associada. Por exemplo, se as restries de igualdade so
perturbadas por um vetor b, isto , hb(x) = b, ento:

bS(x*) = *.
Note que neste caso a funo de Lagrange tem a forma:

L(x, ) = S(x) + T [hb(x) b]


e sua sensibilidade em relao ao parmetro b dada por:

bL = Tb x [xS(x) + Tx hb(x) ] + Tb [hb(x) b]


Como os termos entre colchetes da expresso acima devem ser nulos no ponto timo
(condio necessria de primeira ordem), ento:
16

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

bL(x*, *) = *
pois

bS(x*) = *

bL(x*, *) = bS(x*) + Tb [hb(x*) b] + Tb hb(x*) * * ,


hb(x) = b

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

Exemplo 2.3: Seja o seguinte problema de otimizao com restrio


min S(x) = (x1 5)2 + (x2 5)2
sujeito a: h(x) = x1 x2 = 0
Introduzindo uma perturbao na restrio de igualdade do tipo: x1 x2 = b, ento a
funo de Lagrange toma a forma:

L(x, ) = (x1 5)2 + (x2 5)2 + (x1 x2 b)


cujo gradiente nulo com relao a x1, x2 e leva ao seguinte sistema de equaes:
2 (x1 5) + = 0
2 (x2 5) = 0

x1 x2 b = 0
resultando na soluo tima: x1* = 5 + b / 2, x2* = 5 b / 2 e * = b.
Deste modo S(x*) = b2 / 2 e bS(x*) = b = *.

Para entender a origem da funo de Lagrange, o timo do exemplo acima deve


satisfazer as seguintes condies:

S =

S
S
x1 +
x2 = 0
x1
x2

h =

h
h
x1 +
x2 = 0
x1
x2

Se S(x) fosse uma funo sem restrio, ento as suas duas derivadas parciais seriam
nulas no ponto timo e S(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 precisam ser igualadas a zero.
17

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Contudo, S(x) deve ser um ponto estacionrio no ponto timo e, portanto, S(x*) = 0.
A segunda condio, h(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
x
1
h
x1

S
x 2

h
x 2

deve ter determinante nulo, ou seja, as linhas da matriz so linearmente dependentes:


S
h
+
=0
x1
x1

S
h
+
=0
x2
x2

Ento, definindo uma funo auxiliar: L(x, ) = S(x) + T h(x)


as condies acima so satisfeitas se: xL(x, ) = 0. Para que a restrio de igualdade,
h(x) = 0, seja tambm satisfeita necessrio que L(x, ) = 0. Portanto, no ponto
timo necessrio que L(x*, *) = 0.
A existncia dos multiplicadores de Lagrange depende da forma das restries,
e estar garantida se e somente se os gradientes das restries de desigualdade ativas,
gj(x*), e das restries de igualdade, h(x*), forem linearmente independentes. Por
exemplo, no caso de um problema somente com restries de igualdade, a condio
necessria de primeira ordem para L(x, ) fica:

xS(x) + [xh(x)]T = 0
cuja soluo para existir somente se a matriz xh(x) possuir posto completo, m, isto
, estar composta por m vetores linearmente independentes.
Condio necessria de primeira ordem de Karush-Kuhn-Tucker (KKT):
Para que x* seja um timo local do problema com restries, com S(x), g(x), e
h(x) diferenciveis em x*, necessrio que:
os gradientes das restries de desigualdade ativas, gj(x*), e das restries de
igualdade, h(x*), sejam linearmente independentes (qualificao de segunda ordem
das restries), e que as seguintes condies sejam satisfeitas:

xL(x*, *, *) = S(x*) + (*)T h(x*) + (*)T g(x*) = 0


h(x*) = 0
g(x*) 0
j* gj(x*) = 0 , j = 1, 2, ..., p (condies de complementaridade)
* 0
18

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

A condio de independncia linear pode ser relaxada por outras qualificaes


de primeira e segunda ordem das restries (Floudas, 1995, pg. 59 e 64).
A condio do gradiente nulo, xL(x*, *, *) = 0, implica em:
(*)T h(x*) + (*)T g(x*) = S(x*)
que interpretada graficamente, figura abaixo, mostra que o vetor S(x*) pertence ao
cone das direes viveis, formado pelo negativo dos gradientes das restries de
igualdade e desigualdade ativas (uma vez que *j = 0 para as restries inativas).

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Condio necessria de segunda ordem de KKT:


Para que x* seja um mnimo local do problema com restries, com S(x), g(x), e
h(x) duas vezes diferenciveis em x*, necessrio que:
a condio de primeira ordem de KKT seja satisfeita e, que a matriz Hessiana da
funo de Lagrange, 2x L(x*, *, *), seja positiva semidefinida para todo vetor no
nulo d tal que:

dT hi(x*) = 0 , i = 1, 2, ..., m
dT gj(x*) = 0 para as gj(x*) ativas
isto , dT 2x L(x*, *, *) d 0.

Condio suficiente de KKT:


Para que x* seja um mnimo local do problema com restries, com S(x), g(x), e
h(x) duas vezes diferenciveis em x*, suficiente que:
a condio de primeira ordem de KKT seja satisfeita e, que a matriz Hessiana da
funo de Lagrange, 2x L(x*, *, *), seja positiva definida para todo vetor no nulo

d tal que:
dT hi(x*) = 0 , i = 1, 2, ..., m
dT gj(x*) = 0 para as gj(x*) ativas {gj(x*) = 0 e j* > 0}
20

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

dT gj(x*) 0 para as gj(x*) inativas {gj(x*) < 0 e j* = 0}


isto , dT 2x L(x*, *, *) d > 0.
A positividade da matriz Hessiana com restrio, isto :

dT 2x L(x*, *, *) d > 0 d {d / dT hi(x*) = 0, dT gj(x*) = 0, d 0}


garantida se todas as razes do polinmio caracterstico
p ( )

I 2x L M
0
MT
0

forem positivas, onde M a matriz formada pelos gradientes de h(x*) e g(x*) ativas,
isto , a matriz tal que MT d = 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 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 MT, isto , MT d = 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


onde

QH M =
0

i = 1,2,..., n , j = m+paw+1,...,m+pa

(Q uma matriz unitria e Q1 = QH a transposta conjugada)

Uma vez encontrada a matriz Z, obtm-se os valores caractersticos da matriz Hessiana


projetada neste sub-espao: ZT 2x L Z.
Exemplo 2.4: Verificar as condies necessrias e suficientes para o seguinte
problema (Edgar & Himmelblau, 1988 , pg. 314):
min S(x) = (x1 1)2 + x22
sujeito a: g1(x) = x1 x22 / 4 0
Exemplo 2.5: Verificar as condies necessrias e suficientes para o problema com a
mesma funo objetivo do exemplo 2.4, mas usando a seguinte restrio:

g2(x) = x1 x22 0
21

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Exemplo 2.6: Verificar se o ponto x* = [1 4,9]T um mnimo local para o seguinte


problema (Edgar & Himmelblau, 1988 , pg. 316):
min S(x) = 4 x1 x22 12
sujeito a: h1(x) = 25 x12 x22 = 0

g1(x) = x12 10 x1 + x22 10 x2 + 34 0


g2(x) = (x1 3)2 (x2 1)2 0
g3(x) = x1 0
g4(x) = x2 0

22

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

2.3 Convexidade

Um subconjunto K de um espao vetorial X dito convexo se x1, x2 K e 0


1:

x1 + (1 ) x2 K
e apresenta as seguintes propriedades:
a) K = {x K x = y, y K } convexo para ;
b) K + L e K L so convexos para subconjunto convexo L de X.
Seja K um convexo no vazio do n. A funo S: K dita convexa se
x1, x2 K e 0 1:

S[ x1 + (1 ) x2] S(x1) + (1 ) S(x2)


A funo S(x) estritamente convexa se a desigualdade for estrita. Uma funo T(x)
cncava se a funo S(x) = T(x) for convexa.
Sejam S(x), Si(x), i=1,2,...,m, funes convexas em um convexo no vazio K do
, ento as seguintes propriedades so apresentadas:
n

a) S(x) contnua em qualquer ponto do interior de K;


b) as sees K = {x K S(x) } so conjuntos convexos;
c) S(x) =

S ( x)
i 1

uma funo convexa. Se no mnimo uma Si(x) estritamente

convexa, ento S(x) estritamente convexa;


23

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

d) S(x) convexa para > 0 .


e) se todas Si(x) < x K, ento S(x) = max{S1(x), S2(x), ..., Sm(x)} convexa.
Quando S(x) convexa, as condies de otimalidade simplificam-se, porque as
condies de segunda ordem so equivalentes convexidade local da funo. Alm
disso, um mnimo local ser tambm global e se a funo for estritamente convexa o
mnimo global nico.
Para ilustrar, define-se y = x1 + (1 ) x2 e w = S(x1) + (1 ) S(x2)

S(x)

S(x)

funo convexa

funo cncava

S(y)

S(y)
x
x1

x2

x1

x2

Seja X um conjunto aberto no vazio do n e S(x) uma funo diferencivel em


xo X. Se S(x) convexa em xo, ento

S(x) S(xo) TS(xo)(x xo)


Para uma funo S(x) diferencivel em X,

S(x) convexa S(x2) S(x1) TS(x1)(x2 x1) x1, x2 X.


Seja X um conjunto aberto no vazio do n e S(x) uma funo duas vezes
diferencivel em xo X. Se S(x) convexa em xo, ento 2S(xo) positiva
semidefinida. Para uma funo S(x) duas vezes diferencivel em X,

S(x) convexa 2S(x) positiva semidefinida x X.


Seja K um conjunto convexo no vazio do n, xo K e d um vetor no nulo tal
que (xo + d) K para um > 0 suficientemente pequeno. Ento, a derivada
direcional de S(x) no ponto xo, ao longo da direo d, denotada por S(xo,d), definida
pelo seguinte limite (incluindo ):
S ( xo , d ) lim

S ( xo d ) S ( xo )
lim T S ( xo ) d d T 2 S ( xo ) d
0

Portanto, a derivada direcional no ponto xo dada por S( xo,d) = TS(xo) d.


Seja K um conjunto convexo no vazio do n e S(x) uma funo convexa.
Ento, o sub-gradiente de S(x) no ponto xo K, denotado por d, definido como:
24

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

S(x) S(xo) + dT (x xo) , x K


Isto , a aproximao linear com o uso do vetor d sempre resulta em uma subestimativa de S(x).
2.4.1 Generalizao de funes convexas

Para generalizar a definio de funes convexas necessrio definir a


continuidade de funes escalares multivariveis.
Sejam X n, xo X e S(x): X .

S(x) contnua em xo se:


para cada > 0 existir () tal que ||x xo|| < |S(x) S(xo)| < , ou
para cada sequncia x1, x2, ..., xm em X convergindo para xo:
lim S ( x m ) S lim x m S ( x o ) .
m

S(x) contnua em X se ela for contnua x X.


S(x) semicontnua inferior em xo se:
para cada > 0 existir () tal que ||x xo|| < < S(x) S(xo), ou
para cada sequncia x1, x2, ..., xm em X convergindo para xo:
lim inf S ( x m ) S lim x m S ( x o ) ,
m
m

onde lim inf S ( x m ) lim min{S ( x1 ), S ( x 2 ),..., S ( x m )} .


m

S(x) semicontnua inferior em X se ela for semicontnua inferior x X.

funo semicontnua inferior

funo semicontnua superior

25

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

S(x) semicontnua superior em xo se:


para cada > 0 existir () tal que ||x xo|| < S(x) S(xo) < , ou
para cada seqncia x1, x2, ..., xm em X convergindo para xo:
lim sup S ( x m ) S lim x m S ( x o ) ,
m

onde lim sup S ( x m ) lim max{S ( x1 ), S ( x 2 ),..., S ( x m )} .


m

S(x) semicontnua superior em X se ela for semicontnua superior x X.


Seja K um convexo no vazio do n. A funo S: K dita quasi-convexa
se x1, x2 K e 0 1:

S[ x1 + (1 ) x2] max{S(x1), S(x2)}


A funo S(x) estritamente quasi-convexa se a desigualdade for estrita quando S(x1)
S(x2). Uma funo T(x) (estritamente) quasi-cncava se a funo S(x) = T(x) for
(estritamente) quasi-convexa. Um mnimo local de uma funo estritamente quasiconvexa ser tambm global.

Funo quasi-convexa

Funo estritamente quasi-convexa (pseudo-convexa)

Definindo as sees K = {x K S(x) }, ento:

S(x) quasi-convexa K convexo .


Seja S(x) uma funo semicontnua inferior no convexo K n. Se S(x)
estritamente quasi-convexa em K, ento S(x) quasi-convexa, mas o converso no
verdadeiro.
A soma de funes quasi-convexas no necessariamente uma funo quasiconvexa, propriedade vlida para funes convexas. Por outro lado, o recproco de
26

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

uma funo quasi-convexa, 1/S(x), uma funo quasi-cncava, mas o recproco de


uma funo convexa no necessariamente uma funo cncava (j o recproco de
uma funo cncava positiva uma funo convexa). Por exemplo, S(x) = ex
convexa e 1/S(x) convexa tambm.
Seja S(x) uma funo diferencivel em um conjunto convexo aberto no vazio
K , ento:
n

S(x) quasi-convexa S(x2) S(x1) TS(x1)(x2 x1) 0 x1, x2 K.


Seja S(x) uma funo quasi-cncava duas vezes diferencivel em um conjunto
convexo aberto no vazio K n, ento uma direo, d, ortogonal ao S(x) exibe as
seguintes propriedades:
a) se xo K, d n e dT S(xo) = 0, ento dT 2S(xo) d 0;
b) a matriz Hessiana de S(x) tem no mximo um valor caracterstico positivo x K.
Isto , a generalizao da concavidade de funes (para quasi-cncavidade)
equivalente existncia de no mximo um valor caracterstico positivo da Hessiana.
Seja S(x) uma funo diferencivel em um conjunto aberto no vazio X n.

S(x) pseudo-convexa se S(x2) < S(x1) TS(x1)(x2 x1) < 0 x1, x2 X.


Uma funo T(x) pseudo-cncava se a funo S(x) = T(x) for pseudoconvexa. O recproco de uma funo pseudo-cncava, 1/S(x), uma funo pseudoconvexa. As seguintes relaes so vlidas:
a) uma funo convexa diferencivel pseudo-convexa;
b) uma funo convexa estritamente quasi-convexa;
c) uma funo convexa quasi-convexa;
d) uma funo pseudo-convexa estritamente quasi-convexa;
e) uma funo estritamente quasi-convexa e semicontnua inferior quasi-convexa.
2.4 Formas funcionais

O mtodo empregado para solucionar um problema de otimizao depende,


fundamentalmente, da forma da funo objetivo e de suas restries. Com relao a
funo objetivo tem-se:
n

funo linear: S ( x ) a c T x a ci xi
i 1

como neste caso S(x) = c 0 x, a funo S(x) no apresenta pontos de mximo ou


mnimo. Para este tipo de funo objetivo, s faz sentido a existncia de um problema
27

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

de otimizao com restrio, cuja soluo, se existir, estar localizada em algum ponto
da fronteira da regio de busca.
funo quadrtica: S ( x ) a c T x

n
1 T
1 n n
x A x a ci xi a ij xi x j
2
2 i 1 j 1
i 1

como xT A x um escalar xT A x = [xT A x]T = xT AT x,


tem-se que: x T A x

1 T
1

( x A x x T A T x ) x T ( A A T ) x ,
2
2

ento definindo Q

1
( A A T ) , que uma matriz simtrica: Q = QT,
2

resulta em: xT A x = xT Q x, isto :


S (x ) a c T x

n
1 T
1 n n
x Q x a ci xi q ij x i x j
2
2 i 1 j 1
i 1

e portanto:
S
S ( x )

x k

x j
x i
1 n n
x j xi
,
ck q ij
2 i 1 j 1 x k
x k

0 , i k

x i
1 n n
ik
, tem-se: S ( x ) ck ( q kj x j q ik xi )
mas como
x k
2 i 1 j 1

1 , i k

e sabendo que a matriz Q simtrica:


n

S ( x ) ck q ik xi c Q x

i 1

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

Subtraindo S(x*) da funo S(x) tem-se:


28

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

S ( x ) S ( x *) c T ( x x*)

1 T
x Q x ( x*) T Q x *
2

como cT = (x*)T Q,

S ( x ) S ( x *)

1 T
x Q x ( x *) T Q x * ( x *) T Q ( x x *) ( x *) T Q ( x x*)
2

S ( x ) S ( x *)

1 T
x Q x ( x*) T Q x ( x*) T Q ( x x*)
2

S ( x ) S ( x *)

1
( x x *) T Q x ( x *) T Q ( x x *)
2

S ( x ) S ( x *)

1
( x x *) T Q ( x x *)
2

funo no linear: S(x): n


a expanso em srie de Taylor de S(x) em torno de um ponto xo dada por:
S (x ) S (x 0 ) T S (x 0 ) (x x 0 )

1
(x x0 ) T 2 S (x0 ) (x x0 )
2

No caso particular de xo = x*, tem-se S(x*) = 0 e:


S ( x ) S ( x *)

1
( 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).

Algumas observaes adicionais:


1) no caso de S(x) ser uma funo quadrtica, o ponto timo global;
2) se H(x*) positiva definida, ento S(x) estritamente convexa na vizinhana de x*
(ou x no caso da funo quadrtica);
3) se H(x*) positiva semidefinida, ento S(x) convexa na vizinhana de x* (ou x
no caso da funo quadrtica);
29

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

4) se H(x*) negativa definida, ento S(x) estritamente cncava na vizinhana de x*


(ou x no caso da funo quadrtica);
5) se H(x*) negativa semidefinida, ento S(x) cncava na vizinhana de x* (ou x
no caso da funo quadrtica);
funo mista linear e inteira: S(x, y) = cT x + dT y , x X n e y Y
onde y um vetor de variveis inteiras de dimenso q, Y q, ou um vetor de
variveis binrias de dimenso q, Y = {0, 1}q. Como a funo linear, s faz sentido a
existncia de um problema de otimizao com restrio.
funo mista no-linear e inteira: S(x, y): X Y
Problemas de otimizao mista no-linear e inteira apresentam grandes desafios e
dificuldades associados com o carter combinatorial do domnio discreto (inteiro)
junto com as comumente encontradas no-convexidades e no-linearidades do
domnio contnuo.

funo unimodal: a funo que apresenta apenas um extremo.


funo multimodal: a funo que apresenta mais de um extremo.
NOTA: toda funo cncava ou convexa unimodal, mas nem toda funo unimodal
necessariamente cncava ou convexa. Veja exemplo S(x) = (x2 1)3.
2.5 lgebra vetorial

Sejam x e y X n, A e B nn, S(x): X , g(x) e h(x): X X. Ento


as seguintes regras de diferenciao se aplicam:
[g(x)T h(x)] = Tg(x) h(x) + Th(x) g(x)
[S(x) g(x)] = g(x) TS(x) + S(x) g(x)
(A x) = A
(xT A) = A
(xT A x) = (A + AT) x
S[g(x)] = Tg(x) gS(g)
S{g[h(x)]} = Th(x) hTg(h) gS(g)
g[h(x)] = hg(h) h(x)
30

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

d ( xT y)
x T y x T y
dt
d ( A x)
A x A x
dt
d ( A B)
A B A B
dt
d ( x T A x)
x T A x x T A x x T A x
dt
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
2. Determine se as funes abaixo so cncavas, convexas, estritas ou no, ou
nenhum destes casos ?
a) S(x) = 2 x1 + 3 x2 + 6
b) S(x) = 2 x12 3 x1 x 2 2 x 22
c) S(x) = x13 x 22 3 x1 8 x 2 2
3. Verifique se as restries abaixo, definindo uma regio fechada, formam uma
regio convexa.
g1(x) = x12 + x2 1 e g2(x) = x2 x1 2
NOTA: se todas as restries colocadas na forma gi(x) 0 so funes convexas (ou
na forma gi(x) 0 so funes cncavas), ento elas formam uma regio convexa.
Funes lineares so tanto convexas quanto cncavas.
4. Mostre que a funo S(x) = x1 x2 com x1 0 e x2 0 quasi-convexa. Ela
tambm convexa ? Por qu ?
5. Mostre que a funo S(x) = x12 5 x1 x 2 3 x 22 com x1 > 0 e x2 > 0 pseudoconvexa. Ela tambm convexa ? Por qu ?

31

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

3. Otimizao Sem Restrio


Na otimizao sem restrio o problema que est sendo resolvido :
min S ( x )

x n

como maxn S ( x ) equivalente a


x

ou

max S ( x )

x n

min S ( x ) , os mtodos descritos a seguir so para

x n

problemas de minimizao. Os mtodos existentes para a soluo deste problema


podem ser agrupados em duas categorias:
1) mtodos que no usam derivadas (mtodos de busca, mtodos diretos);
2) mtodos que usam derivadas (mtodos analticos, mtodos da mtrica
varivel, mtodos indiretos).
Como regra geral, na soluo de problemas sem restrio, os mtodos que usam
derivadas convergem mais rapidamente que os mtodos de busca. Por outro lado, os
mtodos de busca no requerem regularidade e continuidade da funo objetivo e,
principalmente o clculo de derivadas primeira ou segunda de S(x).
3.1 Mtodos de busca monovarivel e multivarivel

Uma forma de avaliar os diferentes algoritmos de busca utilizando os seguintes


critrios:
1) Nmero de problemas resolvidos
2) Nmero de clculos da funo objetivo em cada exemplo
3) Tempo computacional para a soluo de cada exemplo
4) Qualidade da soluo
Pode-se ento definir uma tabela de classificao, com ndices de 0 (pior) a 100
(melhor) usando os seguintes ndices:
*
100 N T j
i

N j 1 Ti , j

*
100 N S j
i

N j 1 S i , j

N
i 100 i
N

100
i
N

(d *j )

(d
j 1

i, j

onde, para o i-simo algoritmo, i a sua eficcia, i a sua eficincia, i a sua


robustez para resolver problemas, i a qualidade da soluo obtida, Ti,j o seu tempo
computacional para resolver o problema j, T j* o menor tempo entre os algoritmos
para resolver o problema j, Si,j o seu nmero de avaliaes da funo objetivo para
32

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

resolver o problema j, S *j o menor nmero de avaliaes entre os algoritmos para


resolver o problema j, d *j a melhor qualidade da soluo para o problema j, di,j a
qualidade
di , j

da

soluo

para

problema

definida

como

|| xi , j x || | S ( xi , j ) S ( x ) |

, a preciso da mquina, x a tolerncia na


*
j

*
j

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 = .
3.1.1 Mtodo da seo urea

um mtodo de busca monovarivel, onde a cada iterao o intervalo de busca


reduzido por um fator , chamado de razo urea, obtido pela relao geomtrica
abaixo (retngulo ureo) :
ab b

b
a

b
b
1 0
a
a

b
a-b

b 1 5

0,618
a
2

Outras escolhas do fator levariam a mtodos similares, como por exemplo o mtodo
da bisseo para = 0,5. Contudo, a vantagem da razo urea est na reduo do
nmero de clculos da funo objetivo, em funo da propriedade deste mtodo de
conservar o retngulo ureo a cada iterao. Outro mtodo com caractersticas
similares a seo urea a busca de Fibonacci.

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 ) ,
xUo U o o , SUo S ( xUo ) ,

3) Se S ( xUk ) S ( x Lk ) , ento Lk +1 xUk , xUk1 x Lk , SUk 1 S Lk


seno U k +1 x Lk , x Lk 1 xUk , S Lk 1 SUk

33

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

4) Fazer (k k + 1) e calcular k = Uk Lk,


x Lk Lk k , S Lk S ( x Lk )

se S ( xUk1 ) S ( x Lk 1 )

xUk U k k , SUk S ( xUk ) se S ( xUk1 ) S ( x Lk 1 )

ou

5) Se k > (tolerncia), ento (ir para 3)


seno FIM.
S(x)

S(x)

S(xU)
S(xL)
S(xL)

S(xU)
xU

xL

xU

xL

x
U

3.1.2 Mtodo da aproximao polinomial

Na verdade uma classe de mtodos de busca monovarivel, que aproxima a funo


S(x) por uma interpolao polinomial, Pn-1(x):
n

Pn 1 ( x) j ( x) S ( x j )
j 1

( x xk )
k 1 ( x j x k )
n

onde j ( x)

so os interpoladores de Lagrange. Quando a derivada de

k j

S(x) est disponvel, ento ela tambm usada na aproximao polinomial:


n

P2n1 ( x) h1 ( x) S ( x j ) h2 ( x) S ( x j )
j 1

onde h1 ( x) 2j ( x) 1 2 ( x x j ) j ( x j ) e h2 ( x) 2j ( x) ( x x j ) so os interpoladores
de Hermite.
Interpolao quadrtica ou mtodo de Coggins (ou DSC-Powell)

O mtodo de G.F. Coggins (1964) ou de Davies-Swann-Campey-Powell (1964)


aproxima a funo S(x) por uma interpolao quadrtica, P2(x):

34

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

P2 ( x)

( x x2 )(x x3 )
( x x1 )(x x3 )
( x x1 )(x x2 )
S ( x1 )
S ( x2 )
S ( x3 )
( x1 x2 )(x1 x3 )
( x2 x1 )(x2 x3 )
( x3 x1 )(x3 x2 )

calculando o mnimo desta funo quadrtica, isto ,

dP2
0 , tem-se:
dx

1 ( x22 x32 )S ( x1 ) ( x32 x12 )S ( x2 ) ( x12 x22 )S ( x3 )


x
2 ( x2 x3 )S ( x1 ) ( x3 x1 )S ( x2 ) ( x1 x2 )S ( x3 )
#

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)
1 ( x22 x32 )S1 ( x32 x12 )S 2 ( x12 x22 )S 3
4) Calcular x
e S# = S(x#)
2 ( x2 x3 )S1 ( x3 x1 )S 2 ( x1 x2 )S 3
#

5) Se |x# xi| < para algum i = 1, 2, 3, ento FIM.


6) Se (x3 x#) (x# x2) > 0, ento k = 1
seno k = 3

7) Se S# < S2, ento xk x2, Sk S2 e k = 2


8) x4-k x#, S4-k S# e (ir para 4).
P2(x)
S(x)

S(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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

P3 ( x) j ( x)S ( x j )

ou

j 1

P3 ( x) h1 ( x) S ( x j ) h2 ( x) S ( x j )
j 1

Escrevendo o polinmio na forma: P3(x) = a3 x3 + a2 x2 + a1 x1 + a0 , a condio


necessria de primeira ordem para o mnimo:
dP3 ( x)
= 3 a3 x2 + 2 a2 x + a1 = 0
dx

resulta no ponto x #

a 2 a 22 3 a1 a3
3 a3

cujo sinal usado aquele que fornece um

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

onde z = S(x1) + S(x2) 3 [S(x1) S(x2)] / (x1 x2) e


w = [z2 S(x1) S(x2)]1/2
algoritmo
1) Determinar o intervalo de busca [x1, x2]
2) Calcular S1 = S(x1), S1 = S(x1) e S2 = S(x2), S2 = S(x2)
3) Calcular x#, S# = S(x#) e S# = S(x#)
4) Se |x# xi| < para algum i = 1, 2, ento FIM.
5) Se S# S1 > 0,

ento k = 1
seno k = 2

6) xk x#, Sk S# , Sk S# e (ir para 3).

3.1.3 Mtodo de busca seccionada

um mtodo de busca multivarivel, mas em uma nica direo por vez, que utiliza
os mtodos de busca univarivel em cada direo. As figuras abaixo ilustram a idia
do mtodo na busca de um ponto de mnimo.

36

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

S(x)
x1 = a

x1 = d
x1 = c

x1 = b
S(x*)

x2
x2*

3.1.4 Mtodo de Hooke & Jeeves

um mtodo de busca multivarivel dividido em duas fases (R. Hooke e T.A. Jeeves,
1962):
fase de explorao: estimar a direo provvel do extremo, a partir de um ponto
inicial (ponto base).
fase de progresso: progredir na direo provvel do extremo enquanto o valor da
funo objetivo for diminuindo.
x2

x2

+
x21

x20

17

15

+
x21

x21

x20

10

x10

x+11

17

15

x21

12

x11

2
2

x1

10
12

x11

explorao

x10

x+11

x1

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)
5) Tomar a primeira direo de busca (k = 1)
37

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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 kseno sucesso em k- e fazer x ko x ko e S o S o (ir para 14)
10) Calcular x ko x ko k (sentido positivo)

estiver fora da regio de busca, ento insucesso em k+ (ir para 14)


11) Se x ko

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 ko 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)
3.1.5 Mtodo de Rosenbrock

um mtodo de busca multivarivel parecido com a fase de explorao do mtodo de


Hooke & Jeeves (H.H. Rosembrock, 1960). Entretanto, ao invs de continuamente
explorar nas direes dos eixos coordenados, so construdas novas direes
ortogonais, usando o procedimento de Gram-Schmidt, baseadas nos tamanhos dos
passos das direes bem sucedidas.
Sejam d ik n , i = 1,2, ..., n, vetores direo unitrios do k-simo estgio de
busca e ki i a soma de todos os passos bem sucedidos (distncia percorrida) na
i-sima direo durante o k-simo estgio de busca. Ordenando os valores das
38

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

distncias em ordem decrescente: k1 k2 kn , onde as ltimas m direes (se


existirem) possuem ki 0 , i = (n m) + 1, ..., n, ento os novos vetores direo para
o estgio de busca k + 1 so obtidos pelo seguinte processo de ortogonalizao:
n

Aik kj d kj , 1 i n
j i

d1k 1

A1k

d ik 1

Bik

A1k

Bik

d ik 1 d ik

i 1

Bik Aik ( Aik ) T d kj 1 d kj 1


j 1

1 < i (n m)

(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)
3) Calcular S0 = S(xo) , escolher a direo m =1 e fazer 0i 0 (i = 1,2,...,n)
4) Fazer x1 = xo + m d mk e calcular S1 = S(x1)
5) Se S1 > S0 ento insucesso e fazer m m / 2
seno sucesso e fazer xo x1, S0 S1 , km km m , m 3 m

7) Se alguma direo ainda no teve insucesso, fazer m (m < n ? m+1 : 1)


(ir para 4)
7) Se i i i ento FIM.
8) Calcular a nova direo ortogonal e fazer k k + 1 (ir para 4).
3.1.6 Mtodo de Powell

um mtodo de busca multivarivel ao longo de direes conjugadas (C.S. Smith,


1962 e M.J.D. Powell, 1964). Duas direes d1 e d2 n so ditas conjugadas entre
si, com respeito a uma matriz H, se:
d1T H d2 = 0

A ortogonalidade um caso particular de conjugncia, onde H = I. Em geral, um


conjunto de n direes linearmente independentes di n , i = 1,2,...,n, so
conjugados com respeito a uma matriz positiva definida H nn se:
39

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

d iT H dj = 0 1 i j n

Se H a matriz Hessiana de uma funo quadrtica, S(x), ento o mnimo alcanado


aps n estgios de buscas unidirecionais exatas. Se os eixos coordenados so
transladados e rotacionados por transformaes adequadas de modo que os eixos
estejam nas direes dos vetores caractersticos de H e centralizados no ponto
estacionrio de S(x), ento a conjugncia pode ser interpretada como ortogonalidade
no espao transformado.
Para construir uma direo conjugada sem o uso das derivadas de S(x), pode-se
partir de um ponto xo e obter o ponto xa que minimiza S(x) ao longo de uma direo d,
como ilustra a figura abaixo. Ento, partindo de outro ponto x1 xo e obtendo o ponto
xb que minimiza S(x) ao longo da mesma direo d, o vetor (xb xa) conjugado ao
vetor d, com respeito a matriz Hessiana, H, se S(x) uma funo quadrtica (para
funes no lineares em geral, este conceito uma aproximao).

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

resultando em:

T S ( x o ) d
dT H d

Rescrevendo a funo S(x) na forma: S(x) = a + bT x + xT H x, tem-se:


S(x) = b + H x

e
40

S(xo) = b + H xo

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

que substitudo na equao dS/d = 0, sabendo que d = xa xo, resulta em:


dT (b + H xo) + dT H (xa xo) = 0 dT (b + H xa) = 0
e portanto: dT S(xa) = 0, isto , o gradiente da funo objetivo no mnimo da direo
de busca ortogonal a esta direo. Fazendo a mesma anlise para o ponto x1, tem-se:
dT S(xb) = dT (b + H xb) = 0. Subtraindo estes dois resultados chega-se a:
dT H (xb xa) = 0
que mostra que d conjugado a direo (xb xa) com respeito a matriz H.
O mtodo de Powell uma implementao da busca em direes conjugadas,
que pode ser sumarizado nos seguintes passos:
algoritmo
1) Selecionar um ponto inicial x00 , fazer estgio k = 0 e d i0 ei (direo dos eixos)
2) A partir do ponto x0k determine 1 via busca unidimensional na direo de d1k e
x1k = x0k + 1 d1k . A partir do ponto x1k , determinar 2 via busca unidimensional

na direo de d 2k e fazer x 2k = x1k + 2 d 2k , e assim sucessivamente at determinar


todos os i, i = 1, 2, ..., n. A transio do ponto x0k para o ponto xmk equivalente
a:
m

x mk x0k i d ik
i 1

, m = 1, 2, ..., n

3) Calcular x nk1 = 2 x nk x0k , isto , fazer um passo adicional de tamanho ( x nk


x0k ) na direo resultante das n buscas unidimensionais. Este passo procura

garantir que duas direes de busca no se tornem colineares quando algum i =


0.
4) Calcular k max [ S ( xik1 ) S ( xik )] . A direo de busca relativa a esta variao
i 1,...,n

mxima ser designada por d mk . Definindo S1 = S( x0k ), S2 = S( x nk ) e S3 = S( xnk1 ),


Se S3 S1 e/ou (S1 2 S2 + S3) (S1 S2 k)2 k (S1 S3)2, ento usar as
mesmas direes do estgio k, isto , d ik 1 d ik , i = 1, 2, ..., n e iniciar o prximo

estgio a partir do ponto x0k 1 x nk (ou xnk1 se S2 > S3).


5) Seno usar as direes [ d1k 1 d 2k 1 ... d nk 1 ] = [ d1k d 2k ... d mk 1 d mk 1 ... d nk d k ],
onde a direo d mk (de mxima variao) eliminada e a nova direo resultante,
d k , (de x0k para x nk ) includa em ltimo lugar, com o correspondente valor de

obtido via minimizao nesta direo e x0k 1 = x nk + d k .


41

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

6) Se x nk x0k ento FIM


7) Fazer k k + 1(ir para 2).
3.1.7 Mtodo de busca de limites

A maioria dos mtodos de busca necessitam da definio do intervalo de busca, que


contm o ponto extremo, para garantirem a determinao do timo. Segue abaixo um
algoritmo de busca para a determinao de um intervalo [xo, x1] que contm um ponto
de mnimo.
algoritmo
1) Escolher um ponto inicial, xo, e um passo inicial,
2) Calcular So = S(xo), k = 0
3) Calcular x1 = xo + e S1 = S(x1)
4) Se So S1, ento , k k + 1 e (ir para 7)
5) So S1, 2 , x1 = xo + e S1 = S(x1)
6) Se So > S1, ento (ir para 5)
seno k = 1 (ir para 8)

7) Se k < 2, ento (ir para 3)


8) xo xo + (k - 1), I = [xo, x1], FIM.
3.1.8 Mtodo dos poliedros flexveis

um mtodo de busca multivarivel (J.A. Nelder e R. Mead, 1964), onde o pior


vrtice de um poliedro com n + 1 vrtices substitudo por um novo vrtice colinear
com o vrtice antigo e o centride, como ilustra a figura abaixo.

X2

10

11

7
8
5

12

13

6
1
3

4
2
X1

42

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

As coordenadas do centride so dadas por:


x 0, j

1 n 1
xi , j x h , j
n i 1

j 1,2, n

onde xh,j o pior vrtice.

O algoritmo envolve quatro operaes de busca, que para o caso da


minimizao da funo objetivo tm as seguintes formas:
x Rk x 0k ( x 0k x hk ) , 0
1) Reflexo:
k
k
k
onde S ( x h ) max S ( x1 ), , S ( x n 1 )

Se S ( xRk ) S ( xk ) min S ( x1k ), , S ( xnk1 ) ,

ento xEk x0k ( xRk x0k ) , 1

Se S ( xEk ) S ( xRk ), ento xhk 1 xEk


2) Expanso:

sen o xhk 1 xRk

k k 1 (ir para 1)

onde x k o melhor vrtice.


Se S ( xRk ) S ( xik ) i h, ento xCk x0k ( xhk x0k )

xhk 1 xCk , 0 1
3) Contrao:

k k 1 (ir para 1)

1 k

k
k
k 1
k
k
Se S ( x R ) S ( x h ), ento xi x 2 ( xi x )

i 1,2, , n 1
4) Reduo:

k k 1 (ir para 1)

O critrio usado por Nelder e Mead para terminar a busca o seguinte:


1

2 2
1 n 1
S ( xik ) S ( x 0k ) .

n 1 i 1

43

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

3.1.9 Mtodos de busca aleatria

So os mtodos de busca menos elegantes e eficientes (menores valores para ) de


todas as tcnicas de busca, mas so mais robustos para problemas multimodais e
atrativos para computao paralela (multiprocessamento).

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.

Busca aleatria repetitiva

uma busca completamente aleatria (R.J. Kelly e R.F. Wheeling, 1962), onde um
caminho aleatrio construdo na seqncia dos passos em busca do timo, atravs da
seguinte relao:
x

k 1

dk
k

x k (1 )
r
, k = 1,2,...
k

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Busca aleatria adaptativa

mtodo de otimizao global, baseado em uma busca aleatria memorizada, com


distribuio assimtrica e reduo sistemtica da hiperelipse de amostragem (A.R.
Secchi e C.A. Perlingeiro, 1989), onde os pontos so selecionados da seguinte forma:
xik 1 xik

Ri
Bi ( Ai i 1) ,

i = 1, 2, ..., n , k = 1, 2, ...

onde xk n o melhor ponto da ltima amostragem, um vetor de nmeros


aleatrios (0, 1), R o vetor dos eixos da hiperelipse, o parmetro de forma da
distribuio das amostras ( = 1, 3, 5, ..., sendo que para = 1 tem-se uma distribuio
uniforme), A o vetor de assimetria da distribuio (Ai = 2 distribuio simtrica),
B o vetor de direo da assimetria (Bi = 1 assimetria positiva, no sentido de
aumento de xi, e Bi = 1 assimetria negativa). Aps a amostragem, se estiver na etapa
de explorao, um nmero determinado de pontos so armazenados para uso posterior,
quando a busca na direo do melhor ponto for encerrada. As etapas principais do
algoritmo de busca so as seguintes:
1) Amostragem de pontos aleatrios em torno de xk, usando a equao acima;
2) Ordenao das amostras baseado no valor da funo objetivo;
3) Memorizao das amostras, isto , armazenar os melhores pontos, exceto o melhor
de todos, durante a fase de explorao ( = 1);
4) Anlise do melhor ponto: verificar os critrios de convergncia;
5) Checar validade de um novo ponto timo encontrado: anlise de redundncia de
pontos, baseado em uma mtrica;
6) Resgate de um ponto da memria;
7) Eliminao pelos timos: verificar a tendncia da busca;
8) Ajustar direo e critrios de amostragem: alterao dos parmetros de busca (A, B,
);
9) Anlise dos critrios de parada: nmero mximo de avaliaes e timos;
10) Ordenao dos timos.
A figura abaixo ilustra a caracterstica de memorizao de pontos amostrados,
que so utilizados como novos pontos de partida quando a busca em uma determinada
direo terminada. O encerramento da busca em uma direo pode ocorrer devido a
localizao de um ponto timo local ou pela anlise de redundncia dos pontos.
46

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

5
s tart point
optim um
4

-1

-2

-3

-4

-5
-5

-4

-3

-2

-1

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

1) Gerar aleatoriamente uma populao inicial e avaliar a adaptao de cada


indivduo;
2) Selecionar os pais de uma populao, cruz-los para produzirem os filhos e avaliar
a adaptao dos filhos;
3) Substituir alguns ou todos os indivduos da populao pelos filhos;
4) Se o critrio de convergncia no foi satisfeito ir para o passo (2);
5) FIM.
O procedimento de cruzamento (operao gentica) consiste em gerar aleatoriamente
um ou mais pontos de cruzamento e, ento trocar os segmentos dos cromossomos dos
dois pais para produzir dois filhos.
A mutao aplicada a um filho aps um certo nmero de cruzamentos, pela
substituio de um gene do cromossomo por um valor aleatrio (ou inverso de bit no
caso de cromossomos binrios). A mutao ajuda resguardar a possvel perda de
informao gentica valiosa devido a uma convergncia prematura, expandindo o
espao de busca.

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:
1) Escolher um ponto inicial, xo n, e os parmetros e
2) Calcular So = S(xo), T = To, Tf = To, N = n , r = 0, c = 0, k = 0
48

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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):

m2

To ln
(
1
)
m

m
2
1

Tk 1

Tk
T ln(1 )
1 k
3k

onde aps um nmero m de tentativas iniciais, m1 e m2 so os nmeros de movimentos


com 0 e > 0, respectivamente, o valor mdio dos > 0, (0, 1) a taxa
de aceitao inicial ( 0,95), k o desvio padro da funo objetivo durante a busca
em Tk e a mxima mudana relativa permitida para a probabilidade de aceitao
dos estados ( 0,1).

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

3.2 Mtodos analticos (mtrica varivel)

Apesar da literatura referenciar somente os mtodos quasi-Newton, que utilizam


aproximaes para o clculo da matriz Hessiana (tambm conhecidos como mtodos
da secante), como mtodos da mtrica varivel, nestas notas o termo mtrica
varivel engloba todos os mtodos que utilizam a primeira e/ou a segunda derivada
da funo objetivo. Estes mtodos tm como equao bsica para o processo iterativo:
(3.1)
xk+1 = xk k W(xk) S(xk)
onde k o tamanho do passo, dk = W(xk) S(xk) o vetor direo e
W(xk) a matriz direo (inversa da matriz Hessiana ou aproximao desta)
Em qualquer mtodo de otimizao, uma boa direo de busca deve reduzir (para o
caso da minimizao) o valor da funo objetivo, isto , S(xk+1) < S(xk). Tal direo, dk,
satisfaz o seguinte critrio em cada ponto:
TS(xk) dk < 0
ou em outras palavras, o ngulo () formado entre os vetores S(xk) e dk deve ser
sempre maior que 90, ou seja:
TS(xk) dk = |TS(xk)| |dk| cos < 0 > 90

Como a otimizao sem restries equivalente a encontrar a soluo do


sistema de equaes no-lineares F(x) = S(x) = 0, pode-se utilizar todos os mtodos
disponveis para a soluo de F(x) = 0. Por exemplo, na utilizao do mtodo de
Newton-Raphson, a matriz Jacobiana a prpria matriz Hessiana.
51

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

A seguir sero descritos os mtodos mais conhecidos desta classe, seguidos de


uma generalizao dos mtodos da mtrica varivel.
3.2.1 Mtodos gradientes

Utilizam somente a primeira derivada da funo objetivo, caso em que W(xk) = I:


xk+1 = xk k S(xk)

Quando k escolhido de modo a minimizar:


gk() = S(xk S(xk)) , > 0

(3.2)

tem-se o mtodo da maior descida (steepest descent), cujo algoritmo bsico pode ser
escrito da seguinte forma.
algoritmo
1) Escolher um ponto inicial xo, k = 0
2) Calcular dk = S(xk)
3) Encontrar k tal que S(xk + k dk) = min gk() = S(xk + dk)
0

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

0.02

g1()

L(x1,x2)

X2

0.015

xo

0.01

0.005

g2()
0.005

0.01

0.015

0.02

0.025

0.03

X1

A minimizao de gk(), conhecida como funo de mrito, tambm chamada de


busca em linha (linesearch), pode ser realizada com o uso de qualquer mtodo de
minimizao univarivel. Para ilustrar esta funo, a figura abaixo mostra a funo
g2() do problema acima:
g2()

2
Aproximando S(x) por uma funo quadrtica:

1
S ( x k 1 ) S ( x k ) T S ( x k ) ( x k 1 x k ) ( x k 1 x k ) T H ( x k ) ( x k 1 x k )
2

ou de forma similar:
1
g k () S ( x k d k ) S ( x k ) T S ( x k )d k 2 (d k ) T H ( x k )d k
2

que minimizando em relao a ,

dg k
0 , resulta:
d

* k

T S ( x k )d k
( d k ) T H ( x k )d k

53

(d k )T d k
( d k ) T H ( x k )d k

(3.3)

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Contudo, a equao (3.3) no utilizada para o clculo de nos mtodos gradientes,


pois exigiria o clculo da segunda derivada da funo objetivo. Neste caso, utiliza-se,
em geral, mtodos de busca para a sua seleo.

3.2.2 Mtodo de Newton

Faz uso da segunda derivada da funo objetivo, caso em que W(xk) = [H(xk)]-1:
xk+1 = xk k [H(xk)]-1 S(xk)
que resultado da minimizao da aproximao de S(x) por uma funo quadrtica:
1
S ( x) S ( x k ) T S ( x k ) x k (x k ) T H( x k ) x k
2
onde xk = x - xk, na direo xk, isto :

S
x ik

(3.4)

xk = [H(xk)]-1 S(xk)

Neste caso k ou um parmetro de relaxao do processo iterativo 0 < k 1, ou


um fator de correo da inversa da matriz Hessiana, caso esta no seja atualizada em
todas as iteraes. A positividade da matriz Hessiana deve estar sempre garantida para
evitar a migrao para um ponto sela. E, para assegurar a convergncia do mtodo de
Newton, a correo xk deve ser tal que S(xk+1) < S(xk).
Uma maneira de assegurar a positividade da matriz Hessiana atravs da
modificao de Levenberg-Marquardt, que adiciona um fator ajustvel na diagonal da
matriz Hessiana, ou em sua inversa:
~
k
H ( x k ) = H(x ) + k I

54

, k > min{i}

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

W(xk) = [H(xk)]-1 + k I

, k > min{1/i}

onde i so os valores caractersticos de H(xk).


Em particular, quando o mtodo de Newton utilizado para a soluo de
problemas de mnimos quadrados, ele comumente referenciado na literatura como
mtodo de Gauss-Newton. Sendo que uma das aplicaes a soluo de sistemas de
equaes no-lineares, F(x) = 0, transformados em problemas de mnimos quadrados
ao procurar minimizar o quadrado dos resduos, isto ,
m

S ( x) F T ( x) F ( x) f i 2 ( x)
i 1

neste caso S(xk) = 2 JT(xk) F(xk)

e H(xk) = 2 JT(xk) J(xk) + 2 Q(xk), onde

m
f
J ( x ) i a matriz Jacobiana do sistema, Q( x) f i ( x) H i ( x) e Hi(x) a matriz
i 1
x j i , j

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:
minn F ( x k ) J ( x k ) d

so equivalentes as direes do mtodo de Newton, ou seja:


dk = [ JT(xk) J(xk)]-1 JT(xk) F(xk) [H(xk)]-1 S(xk)

3.2.3 Mtodo do gradiente conjugado

Utiliza somente a primeira derivada da funo objetivo, gerando uma seqncia de


direes que so combinaes lineares do gradiente:
dk+1 = k+1 dk S(xk+1)

(3.5)

onde a nova direo conjugada com a direo anterior com respeito a Hessiana:
(dk+1)T H(xk) dk = 0
e xk+1 = xk + k dk , onde k obtido de forma similar ao mtodo da maior descida.
Para calcular k+1, faz-se a aproximao quadrtica de S(x), equao (3.4), de onde
obtm-se:
S(x) S(xk) + H(xk) (x xk)

(3.6)

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

(dk+1)T [S(xk+1) S(xk)] = k (dk+1)T H(xk) dk = 0


substituindo a equao (3.5) na expresso acima, tem-se:
[k+1 dk S(xk+1)]T [S(xk+1) S(xk)] = 0 ,
mas devido a ortogonalidade entre a direo de busca e o gradiente da funo objetivo
no mnimo desta direo (dk)T S(xk+1) = 0 e para a aproximao quadrtica (3.6)
TS(xk+1) S(xk) = 0, resultando em:
k 1

T S ( x k 1 )S ( x k 1 )
( d k ) T S ( x k )

T S ( x k 1 )S ( x k 1 )
T S ( x k )S ( x k )

a ltima igualdade resulta do fato de dk = k dk-1 S(xk) , que multiplicado por


S(xk) direita:
(dk)T S(xk) = k (dk-1)T S(xk) TS(xk) S(xk) = TS(xk) S(xk),
pois (dk-1)T S(xk) = 0, pela mesma razo acima.
algoritmo
1) Escolher um ponto inicial xo
2) Calcular do = S(xo) , k = 0
3) Encontrar k tal que S(xk + k dk) = min gk() = S(xk + dk)
0

4) Calcular xk+1 = xk + k dk e S(xk+1)


5) Se o critrio de convergncia foi satisfeito, ento FIM.
6) Calcular d k 1 S ( x k 1 ) d k

T S ( x k 1 )S ( x k 1 )
T S ( x k )S ( x k )

, kk+1

7) Se k = n, isto , realizou n direes L.I. ento fazer xo = xk e (ir para 2)


seno (ir para 3)
3.2.4 Mtodos da mtrica varivel

A partir da equao (3.6), pode-se tirar a seguinte relao:


xk+1 xk = xk = [H(xk)]-1 [S(xk+1) S(xk)]
Fazendo uso de uma aproximao da inversa da matriz Hessiana:
56

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

[H(xk)]-1 W(xk+1) = [W(xk) + W(xk)]


onde um fator de escala e W(xk) = W(xk+1) W(xk), resulta em:
xk = [W(xk) + W(xk)] [S(xk+1) S(xk)] ,
que rearranjando tem-se:
x k
W (x ) f (x )
W (x k ) f (x k )

(3.7)

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:
{W ( x k ) f ( x k ), v k }
1 { x k , u k }
W (x )

u k , f (x k )
v k , f (x k )

(3.8)

{f ( x k ), v k } {H ( x k ) x k , u k }

v k , x k
u k , x k

(3.9)

ou

H ( x k )

onde uk e vk so vetores arbitrrios


{x, y} = x yT o produto externo (uma matriz)
<x, y> = xT y o produto interno (um escalar)
Conseqentemente, pode existir uma infinidade de mtodos que utilizam a equao
(3.1), dependendo da escolha de , uk e vk. O parmetro k pode ser minimizado
(linesearch) ou escolhido adequadamente (trust region).
Do mesmo modo que no mtodo de Newton o parmetro k usado essencialmente
para assegurar a convergncia (S(xk+1) < S(xk)), pois a inversa da matriz Hessiana j
contm o tamanho ideal do passo (para funes quadrticas), os mtodos quasiNewton no necessitam minimizar k exatamente, pois W(xk) [H(xk)]-1 a medida que
as iteraes avanam. Portanto, as tcnicas de linesearch no necessitam encontrar
uma soluo precisa para k, mas ajust-lo adequadamente. Por exemplo, as tcnicas
de ajuste usadas nas implementaes de linesearch no MATLAB utilizam os
seguintes critrios para a interpolao cbica, quando so conhecidos dois valores da
funo objetivo e seus gradientes.

57

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

onde c o mnimo obtido por interpolao ou extrapolao cbica, f(x) S(x) a


funo objetivo, qk = S(xk+1) S(xk) e sk = xk = k dk. A relao (qk)T sk > 0
assegura a possitividade da matriz Hessiana (eq. 3.6).
Outra tcnica de linesearch empregada no MATLAB quando apenas um
valor do gradiente da funo objetivo utilizado juntamente com dois ou trs valores
de S(x), onde uma mescla de interpolao cbica e quadrtica so realizadas. Neste
caso os critrios utilizados para a seleo do passo so os seguintes.

58

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

onde q o mnimo obtido por interpolao ou extrapolao quadrtica. Em qualquer


uma das estratgias, quando o q ou c resultarem em valores negativos, ento k+1 = 2
k.
As tcnicas de trust region (regio de confiana) para o ajuste da direo de busca,
consiste em aproximar S(x) por uma funo mais simples, Q(x), (geralmente uma
forma quadrtica) que represente razoavelmente bem a funo S(x) em uma vizinhana
B(x) em torno de x. Ento um novo passo, sk = xk = k dk, obtido pela minimizao
de Q(x) em B(x), ou seja:
s k arg min Q( x k s ) , (xk + s) B(xk)
s

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

As peculiaridades dos mtodos da regio de confiana esto relacionadas com a


escolha da funo Q(x), a forma de reduo de B(x) e o quo preciso resolvido o
problema de minimizao de Q(xk + s).
algoritmo da mtrica varivel (com linesearch)
1) Escolher xo, , uk e vk
2) Calcular W(xo), k = 0
2) Calcular dk = W(xk) S(xk)
3) Encontrar k tal que S(xk + k dk) min gk() = S(xk + dk)
0

4) Calcular xk+1 = xk + k dk , S(xk+1) e f(xk) = S(xk+1) S(xk)


5) Se o critrio de convergncia foi satisfeito, ento FIM.
6) calcular W(xk+1), k k + 1, verificar a necessidade de reset e (ir para 3)
onde reset uma reinicializao (ou modificao) de W(xk) devido a problemas de
convergncia. No caso do mtodo dos gradientes conjugados, o reset acontece a cada n
iteraes (n direes linearmente independentes). Para os demais casos, ele
necessrio quando a matriz W(xk) deixa de ser positiva definida, ou quando a correo
W(xk) torna-se divergente devido a erros de arredondamento, ou ainda quando dk
estiver na mesma direo de dk-1, tornando W(xk+1) singular.

60

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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
d = x W f

f = f(xk)
d = f W-1 x

= <x, f>
= <f , W f>

= <f , f>
= <x, W-1 x>

A = {x, x} /
B = {W f, W f} /

A = {f, f} /
B = {W-1 x, W-1 x} /

E = {x, f}

F = {S(xk),S(xk+1)} / <S(x k),S(xk)>

apresentado na tabela a seguir alguns mtodos de otimizao que utilizam a primeira


e/ou a segunda derivada da funo objetivo. Por exemplo, para o mtodo BFGS a
atualizao apresenta a seguinte formulao:
H ( x k 1 ) H ( x k )

f k (f k )T
(x k )T f

H ( x k )x k (x k ) T [ H ( x k )]T
(x k ) T H ( x k )x k

que ao multiplicar esquerda por (xk)T e direita por xk, resulta em:
(xk)T H(xk+1) xk = (fk)T xk = (qk)T sk
mostrando que se (qk)T sk > 0, ento H(xk+1) positiva definida.

61

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

mtodo

W(xk+1)

Steepest descent

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


Levenberg-Marquardt

D-1 (C + I) D-1; > min (valor caract. de C)

{d , d }
d , f

Broyden

Davidon-Fletcher-Powell (DFP)

W+AB
{d , x}
W A B 1 E T

Pearson I

Pearson II

{d , W f }
1 W B

Newton Projetado (Zoutendijk)

WB

Greenstadt-Goldfarb I (GGI)

W {d , f } { f , d } f , d A

Greenstadt-Goldfarb II (GGII)

E W W ET

W
1 B

E W W ET

W 1 A

Gill-Murray ou (GGIII)

-1

Fletcher ou (GGIII)

1
E T W 1 W 1 E
W 1 A

Broyden-Fletcher-GoldfarbShanno (BFGS) ou (DFP)-1

A B

1
1 {d , d}
W

{d , x}

-1

(Broyden)

Goldstein-Price

aproximao por diferenas-finitas

62

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

4. Teoria da Dualidade
Problemas de otimizao com restrio apresentam duas formas de representao: o
problema primal (P) e o problema dual (D).
4.1 Problema primal

Genericamente, o problema primal pode ser escrito da seguinte forma:


min S(x)
P=

sujeito a: hj(x) = 0 , j = 1, 2, ..., m


gj(x) 0 , j = 1, 2, ..., p
x X n

onde X um conjunto convexo no vazio.


Definindo a funo perturbao, v(y), abaixo associada ao problema primal (P):
inf S(x)
sujeito a: hj(x) = 0 , j = 1, 2, ..., m
v(y) =

gj(x) y , j = 1, 2, ..., p
x X n

onde v(0) corresponde ao valor timo de P. Se o conjunto Y, definido como:


Y = {y p | h(x) = 0, g(x) y para algum x X}
for convexo, ento v(y) uma funo convexa em Y, e v(y) = y Y. A
propriedade de convexidade de v(y) o elemento fundamental para a relao entre os
problemas primal e dual. Particularmente, se h(x) linear e g(x) convexo em X, ento
Y um conjunto convexo.
O problema P estvel se v(0) finito e v(y) uma funo Lipschitz contnua,
isto , existe um escalar L > 0 tal que:
v(0) v(y) L ||y|| , y 0
Esta definio de estabilidade no depende da norma ||y|| usada, sendo necessria e
suficiente a considerao de um vetor y variando em uma dimenso.
Seja x* a soluo tima de P, ento os multiplicadores * e * existem se e
somente se P for estvel. Portanto, a estabilidade de P uma qualificao necessria e
suficiente das restries. Vale lembrar que a existncia dos multiplicadores de
63

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Lagrange depende da forma das restries, e estar garantida se e somente se os


gradientes das restries de desigualdade ativas, gj(x*), e das restries de igualdade,
h(x*), forem linearmente independentes.
Se a funo objetivo, S(x), for suficientemente bem comportada, ento o
problema P ser estvel, mesmo que as restries no sejam bem comportadas. Por
exemplo, se S(x) = c, ento P estvel desde que as restries estejam satisfeitas. Por
outro lado, se a restrio for bem comportada (por exemplo, linear) ainda possvel
que P seja instvel.
Exemplo 4.1: Seja o problema:

min S(x) = x1/3


sujeito a: g(x) = x 0
x X = {x | x 0}
Perturbando g(x) na direo positiva tem-se:
v(0) v(y) = 0 (y1/3) = y1/3 , ||y|| = |y| e 1 L y2/3
ou seja, para y 0 tem-se L , isto , v(y) no Lipschitz contnua.
4.2 Problema dual

O problema dual de P tem a seguinte forma:


max inf L(x,,)

D=

0, xX

sujeito a: L(x,,) = S(x) + T h(x) + T g(x)

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:
(,) = min L(x,,)
xX

Observe que para um valor de x fixo no nfimo de L(x,,), o problema externo,


max (,), torna-se linear em e .
0,

Sejam S(x), h(x) e g(x) funes contnuas e X n um conjunto compacto no


vazio, ento (,) uma funo cncava. Observe que (,) cncava sem a
necessidade de considerar algum tipo de convexidade da funo objetivo ou de suas
64

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

restries, pois ela uma coleo de pontos nfimos de funes lineares em e .


Como (,) cncava e o problema externo uma maximizao, ento o timo de
(,) global. Contudo, a dificuldade surge da forma paramtrica de (,) em
relao a e , isto , no se tem uma forma funcional explcita de e .
4.3 Interpretao geomtrica do dual

Considere o problema primal (P) monovarivel:


min S(x)
P=

sujeito a: g1(x) 0 ,
g2(x) 0 ,
xX

e seu dual (D):


max min L(x,)

D=

0 xX

sujeito a: L(x,) = S(x) + 1 g1(x) + 2 g2(x)

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:
max min L(z,)

D=

0 zI

sujeito a: L(z,) = z3 + 1 z1 + 2 z2

Para valores fixos dos multiplicadores 1 0 e 2 0, L(z, ) = constante um plano


no 3 com inclinao ( 1 , 2 ). O conjunto I e um plano tangente, h , no ponto P
I esto ilustrados na figura abaixo.

65

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Interpretao geomtrica do problema primal: O ponto de interseo de I com o eixo


z3, denotado por P* na figura acima, a imagem da soluo tima, x*, do problema
primal:
P* = [g1(x*), g2(x*), S(x*)]
Portanto, o problema primal consiste na determinao do ponto em I que minimiza z3
sujeito a z1 0 e z2 0.
Interpretao geomtrica da funo dual: A funo dual () no ponto ( 1 , 2 )
corresponde a determinao do plano mais baixo com inclinao ( 1 , 2 ) que
intercepta o conjunto I, ou seja min L(z, ). Isto corresponde ao hiperplano suporte h
zI

que tangente ao conjunto I no ponto P mostrado na figura acima.


Note que o ponto P a imagem de x no min S(x) + 1 g1(x) + 2 g2(x), cuja soluo
xX

o valor de z3 onde o hiperplano h intercepta a ordenada, denotada por z 3 na figura


acima, pois L(z, ) = constante = z3 quando z1 = z2 = 0.
Interpretao geomtrica do problema dual: O ponto P* na figura acima corresponde
aos valores de 1 e 2 que maximizam z 3 . Portanto o problema dual consiste na
determinao dos valores de 1 e 2 que definem a inclinao do hiperplano suporte
do conjunto I, tal que ele intercepta a ordenada na valor mais alto possvel.
Nem sempre possvel obter o valor timo do problema dual igual ao valor
timo do problema primal. Esta igualdade est garantida quando S(x) e g(x) forem
funes convexas, h(x) for uma funo afim (mapeamento linear de x) e o problema
primal for estvel. A diferena entre os valores timos dos problemas primal e dual
66

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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

onde z1 = x1 e z2 = x2. A figura abaixo ilustra a imagem de X deste problema.

A soluo tima do problema primal obtida no ponto x1 = 0 e x2 = 2. Contudo, o


valor timo do problema dual no pode ser igual ao do primal devido a perda de
semicontinuidade inferior de v(y) em y = 0.

67

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

4.4 Dualidade fraca e forte

A possvel existncia da brecha dual leva a necessidade da definio de dualidade


fraca e dualidade forte.
Dualidade Fraca: seja x uma soluo vivel do problema primal (P) e ( , ) uma
soluo vivel do problema dual (D). Ento,
S ( x ) ( , )

Observe que qualquer soluo vivel do problema D um limite inferior da


soluo tima do problema P e qualquer soluo vivel do problema P um limite
superior para a soluo tima do problema D. Estas relaes de limites so importantes
para estabelecer critrios de parada em algoritmos de otimizao. Isto , se em alguma
iterao de um algoritmo existirem solues viveis para os problemas primal e dual e
estas estiverem suficientemente prximas, ento elas podem ser consideradas solues
timas dentro da preciso desejada. Alm disto, estas relaes no esto baseadas em
consideraes de convexidade, portanto so de grande importncia para tratar de
problemas no convexos, desde que o problema dual seja resolvido eficientemente.
Nota: se o valor timo de P ento D deve ser invivel, ao passo que se o valor
timo de D + ento P deve ser invivel.
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.

68

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Exemplo 4.3: Seja o seguinte problema no convexo (devido bilinearidade de g):

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:
max min L(x,)

D=

0 xX

sujeito a: L(x,) = x1 x2 + (x1 x2 4)

Fazendo xL(x,) = 0, tem-se como resultado x1 = x2 = 1/ e, portanto, a funo dual


(mnimo de L em relao a x) toma a forma:
() = 1/ 4
cujo mximo ( = 0) ocorre quando = 0,5 e ( ) = 4. Neste ponto x = (2, 2) e
S( x ) = 4 ( ). Contudo S(x*) < ( ), contrariando o limite inferior da dualidade
fraca. O problema que o ponto x na verdade um ponto de mximo de S(x) sobre a
restrio g(x), pois para vetores direo satisfazendo dT g( x ) = 0, tem-se dT
2x L( x , ) d < 0. Por outro lado, se a restrio x2 8 for includa na formulao do
dual:
max min L(x,)

D=

0 xX

sujeito a: L(x,) = x1 x2 + 1 (x1 x2 4) + 2 (x2 8)

O mnimo de L em relao a x dado por: x1 = (1 2) / 1 e x2 = 1/1. Neste caso a


funo dual dada por:
() = 1/1 41 + 2/1 82
cujo mximo ocorre quando = [1/8 15/16]T e ( ) = 8,5. Neste ponto x = x* e
S( x ) = 8,5 ( ). A figura abaixo ilustra as duas situaes descritas acima.

69

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

8
-11
-9

7
-8

-10
6
-8.5
5

x2

-7
4

g(x)>0
-6
-4

-5
2
g(x)=0
g(x)<0
-2
1
-3

-1
0

0.5

1.5

2
x1

70

2.5

3.5

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

5. Programao Linear (LP)


Na otimizao com restrio o problema que est sendo resolvido :
min S(x) ou max S(x)
sujeito a restries de igualdade e/ou de desigualdade, que definem a regio vivel,
sendo que qualquer ponto nesta regio uma soluo vivel. Dependendo do tipo de
funo objetivo e de suas restries, os problemas de otimizao com restrio so
comumente chamados de programao linear, programao quadrtica, programao
no-linear, programao inteira e programao mista.
Programao linear: funo objetivo e restries lineares
min S(x) = cT x
sujeito a: A x b
x0
onde A uma matriz m x n, isto , m restries e n variveis.
Programao quadrtica: funo objetivo quadrtica e restries lineares
1
2

min S ( x) c T x x T Q x
sujeito a: A x b
x0
Programao no-linear: funo objetivo e/ou restries no-lineares
min S(x)
sujeito a: hj(x) = 0 , j = 1, 2, ..., m
gj(x) 0 , j = 1, 2, ..., p
onde hj(x) so m restries de igualdade e gj(x) so p restries de desigualdade.
Programao inteira: variveis de deciso pertencem ao campo dos nmeros inteiros.
Programao mista: uma combinao da programao inteira com as demais. Por
exemplo, no problema de projeto de trocadores de calor as variveis de deciso
poderiam ser as temperaturas das correntes (campo real) e os tipos de trocadores
existentes (campo inteiro).
Neste captulo tratado o problema da programao linear. As demais
formulaes so assuntos dos captulos subseqentes.
71

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Lista-se abaixo alguns exemplos tpicos de problemas de gerenciamento de


plantas industriais que recaem em programao linear:
a) associar trabalhadores a horrios dirios de trabalho de modo a adequar as
necessidades da planta, maximizando a satisfao do trabalhador e a produtividade;
b) selecionar produtos a serem fabricados para o prximo perodo, tirando o melhor
proveito dos recursos disponveis e dos preos atuais para maximizar os lucros;
c) determinar o padro de distribuio de produtos das plantas para os armazns de
modo a minimizar os custos dentro dos limites de capacidade.
A programao linear um tipo de programao convexa, onde a funo
objetivo convexa e as restries formam um conjunto convexo, portanto o timo
local tambm global.
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

x i xi
i 1

com

n 1

i
i 1 , i 0 e x X (teorema de Caratheodory).

i 1

A regio de busca da programao linear formada por intersees de planos, dados


pelas restries lineares, A x b e x 0, gerando um poliedro convexo, isto , um
conjunto P = {x / A x b e x 0} de vetores no n. Por exemplo, para as seguintes
restries:
2 x1 + x2 8
4 x1 + x2 10
x1 0 e x2 0
2 1

e b = [8 10]T, o poliedro formado mostrado abaixo.


isto , A

4 1

72

10

x2

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

8
6
4
2
1

x1

A soluo da programao linear pode ser enunciada atravs do seguinte teorema:


O timo de uma funo linear em um poliedro convexo P n obtido em no
mnimo um vrtice. Se ele obtido em mais de um vrtice, ento ele obtido em todos
os pontos pertencentes a combinao convexa destes vrtices.
prova: sejam x1, x2, ..., xp, os vrtices do poliedro P, ento, fazendo:

S*

min {S ( x k )}

k 1,2 ,, p

e sabendo que x P pode ser obtido pela combinao convexa x

k x k , onde

k 1

k 0 e

1 , ento S ( x )

k 1

k S (x k ) ,

pois S(x) linear e

k 1

S(x) S* k = S*.
k 1

Exemplo 5.1: min S(x1, x2) = 6 x1 2 x2

sujeito a

2 x1 + x2 8

S(x) = -18

4 x1 + x2 10

S(x) = -12

x1 0 e x2 0

S(x) = -6

10

x2

8
6
4

x2

S (x )
3 x1
2

S(x) = 0

2
1

x1

Se o problema de programao linear no est bem posto, ele pode apresentar


uma soluo no nica (quando a funo objetivo paralela a restrio com melhor
vrtice), ou uma soluo infinita (quando a regio vivel no limitada), ou nenhuma
soluo (quando as restries no formam uma regio vivel), tais problemas so ditos
degenerados.
73

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

5.2 Mtodo simplex

A generalizao para o n, chamado de mtodo simplex (Dantzig, 1947), que


um mtodo da classe dos conjuntos ativos (active set), feita atravs da
transformao das desigualdades em igualdades, pela incluso das chamadas variveis
de folga, fi 0 (i = 1, 2, ..., m, onde m o nmero de restries):
A x b A x + f = b, b 0
A x b A x f = b, b 0
gerando um sistema sub-determinado de m equaes com p = n+m variveis.
Portanto, necessrio especificar n variveis (chamadas de variveis no bsicas) para
obter as demais (variveis bsicas) em funo destas. Se algum bi < 0, ento basta
multiplicar a inequao correspondente por (1) para deix-lo na forma padro, antes
de introduzir a varivel de folga.
Quando atribui-se valores nulos para as variveis no bsicas e obtm-se valores no
negativos para as variveis bsicas, tem-se uma soluo bsica vivel (ou
simplesmente soluo bsica), caso contrrio tem-se um ponto invivel. Se alguma
varivel bsica for nula, ento tem-se uma soluo bsica degenerada, sendo
necessrio substituir as variveis bsicas nulas por variveis no bsicas. Esta situao
ocorre na figura abaixo no ponto x = (5/2, 0), onde tem-se x2 = f2 = f3 = 0, isto , como
n = 2 e m = 3, o nmero de variveis no bsicas 2 e o nmero de variveis nulas 3
> n.
10

x2

8
6
4
2
1

x1

O mtodo simplex busca o timo ao longo das restries, pulando de um vrtice


vivel para outro adjacente at no haver mais progresso. Para descrever o algoritmo
simplex, observa-se que o problema de otimizao modificado pode ser representado
pela matriz aumentada
A
B T
c

74

Im
0

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

de dimenso (m+1) p, e pelo vetor aumentado y = [x f]T, de dimenso p, onde Im a


matriz identidade de tamanho m m. O sistema resultante dado por:
B y = [b S(x)]T
Considerando como ponto de partida o vrtice x = 0, ento as variveis de folga, f,
formam um conjunto de variveis bsicas do sistema. As demais variveis, x, formam
o conjunto de variveis no bsicas. Partindo desta formao, o algoritmo simplex
(minimizao) pode ser descrito da seguinte forma:
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 ssima 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).
Exemplo 5.2: resolvendo o exemplo anterior pelo mtodo simplex, tem-se:
x1

x2

f1

f2

-6

-2

base: f1 e f2

x1

x2

f1

f2

1/2

-1/2

10

1/4

1/4

-1/2

x1

x2

f1

f2

-1

5/2

-1/2

1/2

3/2 S+15

base: x1 e f1

1 S+18

base: x1 e x2

A soluo do sistema [A Im] y = b, aps eliminao de Gauss-Jordan, com :f1 = f2 = 0


(variveis no bsicas), dada por:
x1
2
1 x2
0 1
1 0 1 / 2 1 / 2 f 1
f
2

6 x = 1 e x = 6
1
2
1

Observe que ao igualar as variveis no bsicas a zero, as variveis bsicas so


obtidas simplesmente fazendo xi = bi. Deste modo, se algum bi = 0 significa que h
dependncia entre restries, gerando uma soluo bsica degenerada.
75

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Outra observao importante que ao escrever a funo de Lagrange para o


problema de programao linear tem-se:
L(x,) = cT x + T (A x b) = (cT + T A ) x T b = xT (c + AT ) T b
e portanto xL(x*,*) = c + AT * = 0, resulta em:
L(x*,*) = (*)T b = S(x*) = cT x*
Usando a definio de varivel de folga, a funo de Lagrange dada por:
L(x,) = cT x T f = xT T b

, = c + AT

Consequentemente, ao obter a soluo tima pelo algoritmo simplex, os coeficientes


das variveis de folga na ltima linha da matriz aumentada correspondem aos
multiplicadores de Lagrange das respectivas restries. O sinal negativo na equao
acima compensado pelo fato de que no final do algoritmo tem-se do lado direito o
termo S S(x*). No exemplo acima 1 = 2 = 1. Vale lembrar que:
bS(x) = *
isto , a sensibilidade da funo objetivo em relao as restries dada pelo negativo
do multiplicador de Lagrange. No exemplo dado, aumentando b1 de 8 para 8,2 a
funo objetivo passaria de 18 para 18 0,2 * 1 = 18,2. Esta constatao tambm
pode ser obtida pelo fato de S(x*) = (*)T b.
A formulao dual do problema de programao linear pode ser escrita como:
max () = T b = bT
sujeito a: AT c
0
Onde () = Inf [L(x,)] = T b. Este problema pode ser resolvido da mesma
x

maneira que o problema primal, introduzindo as correspondentes variveis de folga (,


definido acima).
Observe que o mnimo de L(x,) em relao a x existe se 0, cuja soluo
b, pois pelas condies de complementaridade xT = T f = 0 (= gap dual). Ou
seja, quando A x* = b (*)TA x* = (*)T b = cT x* [cT + (*)TA] x* = 0. Se <
0, ento o Inf [L(x,)] = , pois x 0. No caso de restrio de igualdade, a varivel
T

dual, , irrestrita.
O nmero de solues bsicas possveis nos problemas de programao linear
primal e dual so dados pelas seguintes expresses, respectivamente:

76

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

p
p!
N p
m m! ( p m)!

p
p!
N d
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.
5.2.1 Primeira soluo vivel

Se o ponto inicial no vivel, ento necessrio realizar uma busca para a


primeira soluo vivel. Isto pode ser feito com o uso de variveis artificiais.
Exemplo 5.3: considere o problema

min S(x1, x2) = x1 + 2 x2


sujeito a
3 x1 + 4 x2 5
x1 + x2 4
x1 0 e x2 0
Introduzindo as variveis de folga f1 e f2 tem-se:
3 x1 + 4 x2 f1 = 5
x1 + x2 + f2 = 4
e partindo do ponto inicial x1 = x2 = 0, resulta em f1 = 5 e f2 = 4, violando a restrio
de no negatividade das variveis. Definindo uma varivel de folga artificial, v1, a
restrio violada rescrita como:
3 x1 + 4 x2 f1 + v1 = 5
sendo satisfeita com valores positivos de f1 e v1 para x = 0 (e.g., f1 = 1 e v1 = 6). Deste
modo uma soluo vivel obtida quando as restries forem satisfeitas e os valores
das variveis artificiais forem todos nulos. As variveis de folga podem ser levadas a
zero pela incluso de uma penalizao (Murty, 1983) na funo objetivo do tipo:
S(x,v) = S(x) + pT v
onde pi >> 0 a penalizao da varivel vi. Ou pelo uso do algoritmo simplex em duas
fases, sendo a primeira fase usando a seguinte funo objetivo:
m

S(v) = vi
i 1

77

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

e a segunda fase como descrita anteriormente a partir da soluo bsica obtida na


primeira fase. Se o mnimo da primeira fase diferente de zero ento no h soluo
vivel para o problema.
5.2.2 Forma padro

Se um problema de otimizao linear possuir alguma varivel irrestrita, isto ,


pode assumir valores positivos e negativos, ento possvel transform-lo na forma
padro de programao linear:
min S(x) = cT x
sujeito a: A x = b
(forma padro)
x0, b0
pela substituio desta varivel por outras duas variveis restritas. Por exemplo, se um
dado problema tem a varivel x1 irrestrita, ento fazendo x1 = y1 z1, com y1 0 e z1
0, o problema equivalente com y1 e z1 no lugar de x1 restrito nestas variveis. Se x
possuir limite superior finito, estas restries podem ser includas na matriz A com o
uso das variveis de folga. Por outro lado, se o limite inferior for diferente de zero (x
w), ento faz-se uma mudana de varivel do tipo y = x w, com y 0. Em suma,
qualquer problema de programao linear pode ser posto na forma padro. Observe
que os problemas com restries de desigualdade, tratados anteriormente, so
transformados na forma padro acima pela incluso das variveis de folga.
Quando uma linha, i, da matriz de restries de igualdade possuir somente um
elemento no nulo, o componente, j, de x associado a este valor chamado de
singleton, pois no pode assumir outro valor diferente de xj = bi / aij.
A etapa de eliminao Gaussiana do algoritmo simplex pode ser descrita em
uma forma mais compacta atravs da seguinte notao matricial:
xT = [xB xN]

, xB m (vetor bsico) e xN n (vetor no bsico)

A = [B N]

, B mm (matriz base) e N nn (matriz no bsica)

cT = [cB cN]

, cB m e cN n so os coeficientes da funo objetivo

onde n + m = p o nmero total de variveis do sistema. Usando esta notao a forma


padro escrita como:
min S(x) = c TB x B c TN x N
sujeito a: B xB + N xN = b
xB 0, xN 0, b 0

78

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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
sujeito a: xB + N xN = b

(forma cannica)

xB 0, xN 0, b 0
que caracterizada por xB = b quando xN = 0. Substituindo xB na funo objetivo
resulta em:
S(x) = c TB B 1b (c TN c TB B 1 N ) 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

S(x) = c TB B 1b

5.3 Mtodo do ponto interior (Karmarkar)

O mtodo de Karmarkar (1984) (ou Dikin, 1967), desenvolvido para tratar de


problemas de dimenses elevadas (com um nmero elevado de vrtices), determina
direes de busca no interior estrito da regio vivel.
A tarefa mais difcil na soluo do problema primal determinar quais os
componentes de x podem ser estritamente positivos em uma soluo vivel. Isto
equivalente a determinar quais as restries do problema dual podem ser satisfeitas
somente como restries de igualdade (ou seja, satisfazer as condies de
complementaridade). Os algoritmos de conjuntos ativos (active set), tal como o
mtodo simplex, atualizam repetitivamente um conjunto de no mximo m elementos
de x que podem ser positivos a cada vez. Por outro lado, os algoritmos de ponto
interior, tal como o de Karmarkar, trabalham com solues viveis onde todos os
componentes de x so positivos. Eles repetitivamente fazem uma mudana de varivel,
calculam a direo de busca neste novo conjunto (em geral na direo de maior
79

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

descida ou conjugada), caminham alguma distncia nesta direo e levam o ponto


resultante para as variveis originais.
Considerando o problema de programao linear na forma padro:
min S(x) = cT x
sujeito a: A x = b
x0
O algoritmo de Karmarkar inicia no centride do simplex formado pelas restries de
igualdade A x = b, que um ponto interior vivel, xo (pontos prximos as fronteiras
podem tornar lenta a convergncia). A seguir o vetor direo da maior descida, dado
por d = S(x) = c projetado na interseo das restries de igualdade (que define
o espao nulo, ou ncleo da matriz A, isto , o conjunto = {dp n | A dp = 0}). A
matriz de projeo obtida sabendo-se que d = dp + dr, onde dr um vetor do espao
ortogonal ao espao nulo (conhecido como range space), isto , a imagem de AT, ou
seja R = {dr n | dr = AT , m} = . Portanto,
(dr)T dp = 0

d p = d d r = d AT

T A (d AT ) = 0

que resolvendo para resulta em:


= (A AT)1 A d
e, deste modo, a direo projetada dp = P d, obtida pela seguinte matriz de projeo:
P = I AT (A AT)1 A
Esta projeo pode ser melhor interpretada ao analisar duas solues viveis durante a
busca, xk e xk+1, onde A xk = b e A xk+1 = b, e portanto A (xk+1 xk) = 0, ou seja (xk+1
xk) = k dp, isto , dp ortogonal as linhas da matriz A estando portanto no espao nulo
de A. A figura abaixo ilustra a projeo.
d
dr

origem

dp

A busca segue ento na direo projetada at as proximidades de uma restrio,


obtendo o ponto xk, que normalizado por:
xk+1 = D1 xk
80

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

onde D a matriz diagonal de xk. Ento o problema reformulado em funo desta


matriz para que o ponto de partida do prximo estgio tambm esteja equidistante de
todos os hiperplanos que formam o poliedro (ou seja, o centride). Tem-se ento:
A xk = b = A DD1 xk = A D xk+1
S(x) = cT DD1 xk = cT D xk+1
resultando no novo problema:
min S(x) = cT D x
sujeito a: A D x = b
x0
devendo-se proceder como no incio do algoritmo, substituindo a matriz A por A D e
vetor cT por cT D. O critrio de parada verificado pela anlise dos multiplicadores de
Lagrange, calculados por:
= (A AT)1 A c
e do gradiente projetado, isto , na soluo P d = 0.

Exemplo 5.4: considere o problema

min S(x) = x1 + 2 x2 + 3 x3
sujeito a

x1 + x2 + x3 = 1
x1 0, x2 0, x3 0

ilustrado na figura abaixo, com centride em xo = [1/3 1/3 1/3]T e x* = [1 0 0]T.

81

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

A primeira direo projetada dada por: dp = P d = P c = [1 0 1]T. O tamanho do


passo nesta direo obtido de modo a obter o maior avano sem tornar a soluo
invivel, isto :
* = max { > 0 | xk + dp 0} = min { xik / d pi | dpi < 0, i = 1,..., n}
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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

6. Programao No Linear (NLP)


Os problemas de programao no linear podem ser representados pelas seguintes
funo objetivo e restries no lineares:
min S(x)
sujeito a: hj(x) = 0 , j = 1, 2, ..., m
gj(x) 0 , j = 1, 2, ..., p
onde hj(x) so m restries de igualdade e gj(x) so p restries de desigualdade.
A maioria dos algoritmos de programao no linear procuram linearizar
localmente a fronteira da regio vivel, gerando restries lineares. Alguns aproximam
a funo objetivo por funes quadrticas, outros por funes lineares. Portanto, os
problemas de programao linear e quadrtica so de grande importncia para auxiliar
na soluo de problemas de programao no linear. O problema da programao
linear j foi tratado no captulo anterior. A seguir discutido o problema de
programao quadrtica.
6.1 Programao Quadrtica (QP)

O problema de programao quadrtica caracterizado por uma funo objetivo


quadrtica e restries lineares:
1
2

min S ( x) c T x x T Q x
sujeito a: A x b
x0
onde A uma matriz m x n, isto , m restries e n variveis, c um vetor de n
coeficientes e Q uma matriz simtrica n x n. Vale lembrar que uma matriz quadrada,
M, pode ser transformada em uma matriz simtrica usando a transformao Q = (M +
MT) / 2 e que xT M x = xT Q x.
O problema de programao quadrtica geralmente surge como um subproblema da programao no linear. Tambm ocorre em problemas de mnimos
quadrados com restrio, controle timo de sistemas descritos por modelos lineares e
funo custo quadrtica, controle preditivo linear, etc.
Sendo as restries lineares e linearmente independentes, as condies de
qualificao de segunda ordem das restries so sempre satisfeitas. Portanto, as
condies de primeira ordem de KKT so as condies necessrias para obter a
soluo tima, ou seja:
83

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

xL(x*, *, *) = S(x*) + (*)T h(x*) + (*)T g(x*) = 0


h(x*) = 0
g(x*) 0
j* gj(x*) = 0 , j = 1, 2, ..., p
* 0
Alm disto, se a matriz Q for positiva definida, as condies de segunda ordem de
KKT so as condies suficientes para a soluo ser um ponto extremo e o timo
global do problema. Se Q no for positiva definida, ento o problema pode no ter
soluo limitada ou apresentar mnimos locais.
A funo de Lagrange para o problema de programao quadrtica, na forma
acima, dada por:
L(x, , ) = cT x + xT Q x + T (A x b) T x
onde so os multiplicadores associados ao limite inferior do vetor x (o sinal negativo
surge porque a restrio do tipo ). Portanto, o gradiente de L com relao a x fica:
xL(x, , ) = c + Q x + AT
Inserindo as variveis de folga, f, e aplicando as condies KKT, resulta em:
Ax+fb=0
c + Q x + AT = 0
T f = 0, T x = 0 (ou T f + T x = 0)
x 0, f 0, 0, 0
Multiplicando o segundo sistema de equaes transposto por x / 2, tem-se:
xT Q x = (T x T A x cT x)
que substituindo na equao funo objetivo leva a:
S(x, , , f) = (cT x T A x + T x)
como A x = b f , T x = 0 e T f = 0, tem-se ento:
S(x, , , f) = (cT x T b)
Fazendo o mesmo para a funo de Lagrange tem-se:
L(x, , , f) = (cT x T b) (T f + T x)
Portanto, o problema de programao quadrtica pode ser resolvido pelo seguinte
problema de programao linear, conhecido como problema de complementaridade
linear:
84

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

min S(x) = cT x

minmax S(x) = cT x

sujeito a: A x = b
x0

sujeito a: A x = b
x 0 (min x e f, max e )

onde cT = [cT 0m bT 0n]

onde cT = [cT 0m bT 0n]

xT = [xT fT T T] 2p

xT = [xT fT T T] 2p

bT = [bT cT]

bT = [bT cT]

A=

0m

Im

0nm AT

0mn

A=

In

Im

0m

0mn

0nm

AT

In

e observando a condio de complementaridade (T f + T x) = 0 (= gap dual). Onde


0m um vetor nulo de tamanho m na definio de c, e uma matriz nula de dimenso m
m na definio de A. As condies de complementaridade implicam que no
algoritmo simplex no permitido que os pares (xi, i) e (i, fi) sejam simultaneamente
variveis bsicas em uma soluo vivel. Para maximizar em relao s variveis duais
pode-se inverter os seus limites ou mudar o sinal dos seus coeficientes.
Observe que no problema acima, quando Q = 0, tem-se uma formulao primaldual de um problema de programao linear.
Rescrevendo a funo de Lagrange na seguinte forma, sem incluir a restrio x
0 na funo:
L(x, ) = (cT + xT Q + T A) x xT Q x bT
ento o mnimo de L(x,) em relao a x existe se Q for pelo menos positiva semidefinida e se = c + Q x + AT 0, cuja soluo xT Q x T b, pois pelas
condies de complementaridade T x = 0. Neste caso o problema dual pode ser
formulado, sendo dado por:
max (,z) = zT Q z bT
sujeito a: AT Q z c
0, z irrestrito
Do mesmo modo que na programao linear, tambm possvel resolver o
problema de programao quadrtica usando os mtodos do ponto interior. Neste caso,
a direo da maior descida, a matriz de projeo e os multiplicadores de Lagrange so
dados por, respectivamente:
d = S(xk) = c Q xk

e dp = Q-1d Q-1AT

P = Q-1 Q-1AT (A Q-1AT)1 A Q-1


= (A Q-1AT)1 A Q-1 d
85

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

que resultam da soluo das condies de otimalidade do problema:


min S(xk +dp) = S(xk) + TS(xk) dp + (dp)T Q dp
sujeito a: A dp = 0
isto , da minimizao da funo objetivo sobre o espao nulo, como ilustra abaixo,
onde dp = P d. A soluo acima possvel se Q for positiva definida e A possuir posto
completo.

d
dr

origem

dp

Ou seja, ao aplicar a condio de gradiente nulo para a funo de Lagrange do


problema acima: L(dp, ) = S(xk) + TS(xk) dp + (dp)T Q dp + TA dp, tem-se:
dpL(dp, ) = S(xk) + Q dp + AT = 0
L(dp, ) = A dp = 0
e multiplicando a primeira equao por Q-1 e depois por A, chega-se, aps o uso da
segunda equao, em = (A Q-1 AT )-1 A Q-1 d, ou na forma matricial, usando
d = S(xk):
Q

AT d p d

0 0

cuja soluo para e dp dada acima com o uso da matriz de projeo.

86

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

6.2 Relaxao Lagrangeana

O mtodo da relaxao Lagrangeana consiste em utilizar os multiplicadores de


Lagrange para a soluo de problemas convexos, transformando o problema:
min S(x)
xK

sujeito a: hj(x) = 0 , j = 1, 2, ..., m


gj(x) 0 , j = 1, 2, ..., p
onde S(x), hj(x) e gj(x) so funes convexas e K um convexo, no problema:
max

m , p

(,)

sujeito a:

onde (,) = min {S(x) + T h(x) + T f(x)}, fj(x) = gj(x) + (vj)2 e vj (j = 1,2,...,p)
x K

so as variveis de folga. Isto , transforma em um problema sem restries.

Exemplo 6.1: min S(x) = x1 x2

sujeito a: g1 ( x ) x12 x 22 25 0
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

x1

x2

v1

S(x)

ponto

sela

0.5

3,54

-3,54

-12,5

mnimo

0,5

-3,54

3,54

-12,5

mnimo

-0,5

3,54

3,54

12,5

mximo

-0,5

-3,54

-3,54

12,5

mximo

87

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Observe que como

L
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.
Exemplo 6.2: min S(x) = 4 x12 5 x22

sujeito a: h1(x) = 2 x1 + 3 x2 6 = 0
L( x, ) 4 x12 5 x22 1 (2 x1 3 x2 6)

L
8 x1 2 1 0
x1
L
10 x2 3 1 0
x2
L
2 x1 3 x1 6 0
1

A soluo deste sistema de equaes leva a x1 = 1,071, x2 = 1,286, 1 = -4,286.


Em suma, a soluo do mtodo da relaxao Lagrangeana (ou mtodo de
Lagrange) consiste em aplicar as condies de otimalidade sobre L(x,,), ou seja:
xL(x, , ) = S(x) + T h(x) + T g(x) = 0
h(x) = 0
gj(x) + (vj)2 = 0
j vj = 0 ,

j = 1, 2, ..., p

0
Como o conjunto resultante de equaes forma, geralmente, um sistema no linear de
equaes algbricas, ento o mtodo da relaxao Lagrangeana no muito atrativo,
pois a soluo deste sistema no linear pode ser mais complexa que a soluo direta do
problema de otimizao por outros mtodos. Alm disto, a soluo somente est
88

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

garantida se as condies de convexidade forem satisfeitas. Caso contrrio, os testes de


otimalidade de segunda ordem devem ser verificados, isto , a matriz Hessiana da
funo de Lagrange com relao a x, 2x L(x*, *, *), deve ser pelo menos positiva
semi-definida para todo vetor no nulo d tal que:
dT hi(x*) = 0 , i = 1, 2, ..., m
dT gj(x*) = 0 para as gj(x*) ativas {vj* = 0 e j* > 0}
dT gj(x*) 0 para as gj(x*) inativas {vj* 0 e j* = 0}
isto , dT 2x L(x*, *, *) d 0, ou se todas as razes do polinmio caracterstico:
p ( )

I 2x L M
0
0
MT

forem no negativas, onde M a matriz formada pelos gradientes de h(x*) e g(x*)


ativas, isto , a matriz tal que MT d = 0 (espao nulo de MT), com m+pa < n e com
posto completo (pa o nmero de restries g ativas). Observe que MT = A para os
casos da programao linear e quadrtica.
Para a segunda soluo do exemplo 6.1 a matriz M = g1(x*) = 2 [x1 x2]T =
[7,08 7,08]T e a matriz Hessiana dada por:
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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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
i = 1, 2, ..., p
max{0, g i ( x k )} se ik 0

3) d ik

4) Encontrar k tal que (k + k dk) = max (k + dk)


0

5) Calcular

k+1

= + k d
k

6) Se o critrio de convergncia no foi satisfeito, ento k k + 1 (ir para 2)


7) FIM.
Naturalmente, assim como foi utilizado o mtodo do gradiente, qualquer outro
mtodo de otimizao sem restrio poderia ser utilizado para resolver este problema.
6.3 Funes penalidade

Transforma o problema:
min S(x)
x K

sujeito a:

hj(x) = 0 , j = 1, 2, ..., m
gj(x) 0 , j = 1, 2, ..., p

no problema:
min [S(x) + P(x, r)] , otimizao sem restrio

x n

onde P(x, r) a funo penalidade e r 0. A funo penalidade deve satisfazer as


seguintes propriedades:
P(x, r) 0 x
P(x, r) = 0 para todo x vivel
O caso mais comum de funes penalidades a penalidade quadrtica:
m
P ( x, r ) r h j ( x )
j 1

2 max0, g j ( x)2
p

j 1

Esta funo, ilustrada abaixo, causa uma descontinuidade da matriz Hessiana quando
algum gj(x) = 0, dificultando o uso de algoritmos quasi-Newton.

90

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Alm disto, o condicionamento do problema, que responsvel pelo desempenho de


qualquer algoritmo de descida, piora quando r cresce. Um aumento de r gera uma
melhor aproximao da fronteira da regio vivel, mas torna-se mais difcil satisfazer
as condies de KKT. Uma estimativa para os multiplicadores de Lagrange (e KuhnTucker) dada por:
= r h[x(r)]
= r max{0, g[x(r)]}
Uma estratgia possvel, para minimizar estes problemas, seria um auto-ajuste
do parmetro r, iniciando com valores baixos e se P(xk, rk) > ento fazer rk+1 = rk
com > 1. O fator de escala r pode tambm ser individualizado para cada restrio, em
funo da importncia ou da ordem de grandeza da mesma.
Outra funo penalidade usada, no suave, dada por:
p
m

P ( x, r ) r h j ( x) max 0, g j ( x)
j 1

j 1

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:
1
i 1 r g i ( x )
p

B ( x, r )

sendo as solues sucessivas estritamente viveis. Obviamente, as dificuldades


computacionais aumentam quando se aproxima da fronteira.
Uma penalizao mais satisfatria e exata, no sentido de que existe um valor
finito de r, acima do qual a soluo do problema modificado satisfaz as condies de
91

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

otimalidade do problema original, o mtodo do Lagrangeano aumentado (Powell,


1969 e Hestenes, 1969). Neste caso a funo de Lagrange toma a forma:
LA(x,;r) = S(x) + T h(x) + T f(x) + P(x, r)
onde fj(x) = gj(x) + (vj)2 , vj (j = 1,2,...,p)
P(x, r) = r {hT(x) h(x) + fT(x) f(x)}
Neste caso, a parte da matriz Hessiana de LA, correspondente a funo penalidade
dada por:
r {AT(x)A(x) + Q(x)}
onde A = Tw(x), wT = [hT(x)

m p

fT(x)] , Q( x) wi ( x) H i ( x) e Hi(x) a matriz


i 1

Hessiana da funo wi(x). Como wi(x*) = 0, ento Q(x*) = 0, reduzindo a Hessiana da


funo penalidade para r AT(x*)A(x*), que uma matriz positiva semi-definida.
Portanto, se um vetor d pertence ao ncleo de A(x*), isto , A(x*) d = 0, ento:
dT 2x LA(x*,*;r) d = dT 2x L(x*,*) d + r dT AT(x*)A(x*) d = dT 2x L(x*,*) d 0
E se d pertence ao range space de A(x*), isto , d = AT(x*) , ento:
dT 2x LA(x*,*;r) d = dT 2x L(x*,*) d + r T A(x*)AT(x*) A(x*)AT(x*) 0
se r for suficientemente grande, aumentando os valores caractersticos de 2x L(x*,*)
no range space de A(x*), que podem ser negativos, deixando os demais inalterados.
Logo, se o problema original possuir uma matriz Hessiana positiva semi-definida (ou
definida), ento existe um r finito tal que valores acima dele resultaro em uma matriz
Hessiana aumentada positiva semi-definida (ou definida), o que implica que x*
minimiza LA(x,*;r).
No caso de usar um vetor de pesos, r, ao invs de um escalar, a anlise acima
tambm se aplica, bastando trocar a expresso r AT(x*)A(x*) por AT(x*) R A(x*),
onde R = diag(ri).
Exemplo 6.3: min S(x) = x3
sujeito a: h(x) = x + 1 = 0

Obviamente a soluo deste problema x* = 1. O valor timo do multiplicador de


Lagrange pode ser obtido por:
xL(x, ) = 3 x2 + = 0 * = 3 (x*)2 = 3.
Definindo o Lagrangeano aumentado:
LA(x, ; r) = x3 + (x + 1) + r (x + 1)2 / 2
92

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

tem-se os seguintes resultados:


xLA(x*, *; r) = 3 (x*)2 + * + r (x* + 1) = 0
2x L( x*, *) = 6 x* = 6 (negativa definida)

dT h(x*) = 0 d = 0 (m = n, grau de liberdade nulo)


2x L A ( x*, *; r ) = 6 x* + r = r 6 (positiva definida se r > 6).

A figura abaixo ilustra este exemplo, fixando * = 3 e usando dois valores


diferentes para r (r = 2 < 6 e r = 9 > 6). Observe que para x* = 1 o valor de L(x,*)
mximo, e onde o valor de S(x) intercepta L(x,*). Tambm neste ponto a funo
LA(x, *; 9) apresenta um mnimo local. O nfimo de LA(x, *; 9) = . Observe
tambm que quando r < 6 o mnimo de LA(x, *; r) deslocado para um ponto
invivel.
x+1=0

6.4 Programao linear seqencial (SLP)

A tcnica mais direta para resolver problema de programao no linear em


geral a linearizao do problema e a aplicao de tcnicas de programao linear,
tais como:
1. Linearizar o problema (funo objetivo e restries) em torno de um ponto nominal
de operao e obter a soluo do problema de programao linear resultante;
2. Linearizar sucessivamente o problema no linear na medida em que melhores
solues viveis so obtidas por mtodos de programao linear. No caso de obter
uma soluo invivel na programao linear, ento localizado um ponto vivel
prximo a este;

93

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

3. Linearizar por partes a funo objetivo e as restries gerando um problema


aproximado, formado por sries de segmentos de reta.
Contudo, no h garantias de convergncia para estes mtodos. A segunda estratgia
a base do mtodo da programao linear seqencial (SLP - Sequential Linear
Programming), onde a cada estgio um problema de programao linear resolvido
pelo mtodo simplex. Este mtodo tambm conhecido como mtodo da programao
aproximada (MAP - Method of Approximate Programming), denominado por Griffith
& Stewart, 1961.
A linearizao do problema de programao no linear em torno de um ponto xk
resulta em:
min S(x ) + S(x ) (x x ) S(x)
k

xK L

sujeito a:

hj(x) hj(xk) + Thj(xk) (x xk) = 0 , j = 1, 2, ..., m


gj(x) gj(xk) + Tgj(xk) (x xk) 0 , j = 1, 2, ..., p

sendo (x xk) arbitrariamente restrito por limites inferior e superior para que os pontos
permaneam em uma vizinhana prxima a xk.
algoritmo
1) Escolher um ponto inicial xo vivel e seus limites Lo e Uo, k = 0
2) Linearizar a funo objetivo e as restries em torno do ponto xk
3) Resolver o problema de programao linear resultante
4) Se xk+1 (soluo do LP) no for vivel para o NLP, ento reduzir o intervalo [Lk, Uk]
para [Lk+1, Uk+1] e ir para (3)
5) Se o critrio de convergncia no foi satisfeito, ento k k + 1 (ir para 2)
6) FIM.
As maiores desvantagens do SLP so:
a) pode convergir lentamente se o timo estiver no interior da regio vivel, ou se o
problema for muito no linear;
b) geralmente viola as restries no lineares por uma quantidade razovel,
necessitando de muitas iteraes para a reduo dos intervalos.
Por outro lado, em problemas de grandes dimenses e no linearidades
moderadas, o mtodo SLP pode ser competitivo, principalmente para problemas com
restries bilineares. A convergncia pode ser rpida em problemas cuja soluo est
em um vrtice das restries.
94

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

6.5 Gradientes reduzidos generalizados (GRG)

O mtodo dos gradientes reduzidos generalizados tem se mostrado o melhor


mtodo de linearizaes sucessivas. uma extenso do mtodo de Wolfe (1962),
aplicado a problemas com restries lineares, para acomodar restries no lineares.
Em essncia, o mtodo define novas variveis que so normais s restries lineares
ou linearizadas, e expressa o gradiente (ou outra direo de busca) em termos desta
base normal.
O problema no linear, para ser resolvido pelo mtodo GRG, deve estar na
forma padro, ou seja:
min S(x)
sujeito a:

hj(x) = 0 , j = 1, 2, ..., m
Li x Ui, i = 1, 2, ..., n

onde as restries de desigualdade esto includas em h(x) pelo uso das variveis de
folga:
hj(x) = gj(x) + (vj)2 , vj
hj(x) = gj(x) + vj

ou

, 0 vj

ou ainda usando a estratgia dos conjuntos ativos (active set), onde a cada estgio de
busca as restries ativas so adicionadas ao conjunto das restries de igualdade e as
inativas so removidas, baseado nas estimativas dos multiplicadores de Lagrange.
Lembrando que o vetor direo d pode ser decomposto em d = dr + dp, onde dp
um vetor do espao nulo () da matriz A = Th, dr um vetor do range space (R)
de A e (dp)Tdr = 0, ou seja, dp a projeo ortogonal de d em . Portanto, qualquer
vetor d n pode ser representado unicamente por uma combinao linear da base Y
de R e da base Z de :
d = Y dr + Z dp
onde Y uma matriz com m colunas independentes e Z uma matriz com nm colunas
independentes e ortogonais a Y, tendo ambas n linhas.
Por exemplo, se x um ponto vivel de restries lineares (ou linearizadas), A x = b, a
sua representao nas base acima: x = Y xr + Z xp, resulta em:
A x = A Y xr + A Z xp = b
mas como A Z = 0, tem-se A Y xr = b e portanto:
xr = (A Y)1 b
95

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

ou seja, todos os pontos viveis possuem os mesmos componentes no range space


de A e a soluo do problema de otimizao determinada somente pelos
componentes de x no espao nulo de A. Em outras palavras, partindo de um ponto
vivel, xk, o vetor direo deve permanecer no espao nulo:
xk+1 = xk + k dk

, com A dk = 0

ou seja dk = Z d kp (Y d rk = 0). Ento, o vetor direo tem dimenso reduzida nm.


No caso das programaes linear e quadrtica tem-se, respectivamente:
ZT = P = I AT (A AT)1 A
ZT = P = Q1 Q1AT (A Q-1AT)1 A Q1
Observe que ZT = Z1, pois a base ortogonal.
No mtodo GRG a matriz Z obtida pela seguinte forma:
- B -1 C
Z

I nm

onde B uma matriz no singular de dimenso m m e C uma matriz m


ambas com colunas independentes, obtidas da decomposio da matriz A:

(nm),

A = [B C]
Do mesmo modo o vetor x decomposto em xT = [xD xI], onde B = TxD h( x k ) e
C TxI h( x k ) . Deste modo, xD = B1 b B1 C xI, que conhecido como vetor das

variveis dependentes (ou vetor bsico) e xI o vetor das variveis independentes (ou
vetor superbsico). Aquelas variveis mantidas fixas em um de seus limites so
chamadas de variveis no bsicas.
O termo gradiente reduzido, gR, dado ao seguinte vetor:
- B -1 C
gR(x ) = Z S(x ) =

I nm
k

x S ( x k )
k
T
1 T
k
= IS(x ) C (B ) DS(x )
D
k
xI S ( x )

onde DS(xk) = xD S ( x k ) (para simplificar a notao), sendo que o vetor direo de


busca dado por gR nas direes que no violam os limites das variveis.
Naturalmente, como as restries foram linearizadas, a direo de busca
vivel localmente, como ilustra a figura abaixo.

96

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

e a busca pode parar em um ponto invivel, em relao as restries originais.


A relao entre os multiplicadores de Lagrange e os gradientes reduzidos pode
ser obtida da seguinte forma:
L(x, ) = S(x) + T h(x)
DL(x, ) = DS(x) + Dh(x) = DS(x) + BT = 0
IL(x, ) = IS(x) + Ih(x) = IS(x) + CT = 0
= (B1)T DS(x)

ento,

e ao substitu-lo em IL(x, ), resulta em:


IL(x, ) = IS(x) Ih(x) = IS(x) CT (B1)T DS(x) = gR(x) = 0
quando x for um ponto timo.
Exemplo 6.4: min S(x) = 2 x12 2 x 22

sujeito a: h1(x) = x1 + 2 x2 2 = 0
arbitrando xD = x1 e xI = x2, tem-se:
B=

h
=1
x D

DS(x) = 4 x1

C=

h
=2
x I

IS(x) = 4 x2

portanto,
gR(x) = IS(x) CT (B1)T DS(x) = 4 x2 8 x1
visualizado na figura abaixo.

97

, que pode ser

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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

5) Determinar a direo de busca no espao das variveis dependentes:


d Dk ( B k ) 1 C k d Ik

(isto , dh =

h
h
dxD +
dxI = 0)
x D
x I

6) Encontrar k tal que S(xk + k dk) = min gk() = S(xk + dk), sujeito a L x U
0

d Dk
k
d I

onde d k
7) Calcular

x Ik 1 x Ik k d Ik
k
~
x Dk 1 x D
k d Dk (ponto tentativa ou predio)

98

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

8) Usar o mtodo de Newton para tornar as variveis dependentes em um ponto vivel


k 1 k 1
h( x D
, x I ) 0 (correo), usando ~
x Dk 1 como estimativa inicial.
9) Se xk+1 vivel e S(xk+1) S(xk), ento k k + 1 e se o critrio de convergncia
no foi satisfeito (ir para 2) seno FIM.
10) Se xk+1 vivel e S(xk+1) > S(xk) ou se o mtodo de Newton no convergiu, ento
reduzir k e (ir para 7).
NOTA: se a obteno de um ponto vivel xk+1 no foi possvel, aps um determinado
nmero de iteraes, ento deve-se trocar alguns elementos da base e reiniciar o
algoritmo. Tambm aquelas variveis independentes que atingirem seus limites devem
ser substitudas por outras variveis dependentes. A determinao da direo de busca
no espao das variveis independentes pode tambm ser obtida pelo mtodo dos
gradientes conjugados:
d Ik 1 g Rk 1 d Ik

( g Rk 1 ) T g Rk 1
( g Rk ) T g Rk

As figuras abaixo ilustram o procedimento de predio-correo. No primeiro caso a


correo foi bem sucedida, mas no segundo foi necessrio mudar de base. As variveis
independentes na iterao k so x1 e x2. Do ponto A para o ponto B tem-se a correo
somente nas variveis independentes. O ponto C a predio da varivel dependente
(retorno ao plano tangente, ou restries linearizadas). O ponto D corresponde a
correo da varivel dependente para satisfazer as restries originais. No caso da
segunda figura, as correes de Newton no levam o ponto C para dentro das
restries. Ento no ponto D (fora das restries) feita uma mudana de base
tornando x2 como varivel dependente e x3 como varivel independente, sendo que
uma nova correo leva o ponto D para o ponto E, que satisfaz as restries.

99

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

6.6 Programao quadrtica seqencial (SQP)

Programao quadrtica seqencial, ou sucessiva, ou recursiva, ou iterativa, ou ainda


mtodos da mtrica varivel com restrio, so as vrias formas de referenciar o
mtodo SQP (Wilson, 1963), que resume-se, basicamente, a resolver as equaes de
Karush-Kuhn-Tucker (KKT), ou condies necessrias de primeira ordem. A idia
chegar o mais prximo possvel do mtodo de Newton empregado na soluo de
problemas sem restrio, que apresenta convergncia quadrtica.
Ao nvel mais externo das iteraes so feitas aproximaes da Hessiana da
funo de Lagrange, usando mtodos de atualizao tipo quasi-Newton. O problema
de programao quadrtica resultante, associado a uma busca em linha (linesearch) ou
a uma tcnica de regio de confiana (trust region), ento resolvido para prover uma
direo de busca.
Aplicando as condies de KKT ao problema de programao no linear:
min S(x)
xK

sujeito a:

hj(x) = 0 , j = 1, 2, ..., m
gj(x) 0 , j = 1, 2, ..., p

com o uso da funo de Lagrange:


L(x, , ) = S(x) + T h(x) + T g(x)
chega-se no seguinte conjunto de equaes:
xL(x, , ) = S(x) + T h(x) + T g(x) = 0
h(x) = 0
gj(x) = 0 , j {restries ativa}
i 0

, i {restries inativas}

que transformado nos sucessivos problemas de programao quadrtica:


min q(d) = TS(xk) d + dT H(xk,k,k) d

dn

sujeito a:

h(xk) + Th(xk) d = 0
g(xk) + Tg(xk) d 0

para determinar a melhor direo de busca a partir do ponto xk e ento proceder a


atualizao para o prximo ponto xk+1 = xk + k dk. Assim como no mtodo de Newton,
apesar do valor timo do passo ser k = 1, valores de k (0,1] so determinados para
garantir as propriedades de convergncia global do mtodo. Este procedimento
geralmente feito com o uso de tcnicas de linesearch (minimizao unidirecional de
100

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

uma funo de mrito) ou pela limitao do problema quadrtico acima na trust


region. A matriz H(xk,k,k) uma aproximao positiva definida da matriz Hessiana
da funo de Lagrange, que pode ser atualizada por qualquer mtodo da mtrica
varivel (DFP, BFGS, etc.). Como parte da soluo do problema de programao
quadrtica tem-se tambm os multiplicadores de Lagrange k+1 e k+1.
Se mtodo de otimizao estiver bem implementado, provvel que a soluo
do problema com restrio seja obtida em um nmero menor de iteraes que o
respectivo problema sem restrio. Isto geralmente ocorre porque as restries podem
gerar informaes adicionais para a determinao da melhor direo de busca e do
tamanho do passo mais apropriado.
Exemplo 6.5: min S(x) = 100 ( x2 x12 ) 2 (1 x1 ) 2 (Rosenbrock, 1960)

sujeito a: g(x) = x12 x 22 2 0


Partindo do ponto xo = [1,9 2]T, a soluo do problema sem restrio, usando o
mtodo BFGS chega na soluo x* = [1 1]T aps 165 avaliaes da funo objetivo,
ao passo que o mtodo SQP (com atualizao BFGS) obtm a mesma soluo com
apenas 84 avaliaes da funo objetivo, usando a mesma tolerncia (106). A figura
abaixo ilustra a trajetria dos dois mtodos.
4

3
SQP

x2

1
BFGS
0

-1
start point
optimum
-2

-3.5

-3

-2.5

g(x)=0
-2

-1.5

-1
x1

101

-0.5

0.5

1.5

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

A soluo do problema interno de programao quadrtica, que pode ser escrito


na seguinte forma:
min q(d) = cT d + dT H(xk,k,k) d

dn

sujeito a:

Ae d = b e
AI d b I

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, d n

sujeito a:

Ae d = b e
AI d v b I

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
onde

QH A T =
0

(Q uma matriz unitria e Q1 = QH a transposta conjugada)

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

ou seja, o gradiente projetado de q(d). O termo ZT H(xk,k,k) Z chamado de


Hessiana projetada. Como a matriz Hessiana mantida sempre positiva definida no
mtodo SQP, ento o mnimo de q(dp) ocorre quando q(dp) = 0, ou seja a soluo do
problema linear:
ZT H(xk,k,k) Z dp = ZT c
e a correo em xk ento realizada nesta direo: xk+1 = xk + k dk, com dk = Z dp.
Devido a natureza quadrtica da funo objetivo, q(dp), existe somente duas
escolhas possveis para k. O valor exato, k = 1, que usado quando nenhuma
restrio violada em xk+1. Caso contrrio, o passo ao longo de dk at a restrio mais
prxima k < 1, sendo esta restrio includa no conjunto ativo da prxima iterao.
Tal distncia dada por (multiplicando xk+1 = xk + k dk por Ai):
k min

i{1,...,m}

( Ai x k bi )

Ai d

, com Ai dk > 0

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

() = S(x) + reT h(x) + rIT max{0, g(x)}


onde

1
re ,i rek,i1 max ik , (ik rek,i )
i

x = xk + dk

rI ,i rIk,i1 max ik , ( ik rIk,i ) , que


i
2

permite uma contribuio para a funo de mrito das restries que no estavam
ativas na ltima programao quadrtica, mas que estiveram ativas em iteraes
adjacentes. O valor inicial do fator de penalizao pode ser calculado da seguinte
forma:
re0,i

S ( x )
hi ( x)

rI0,i

S ( x )
g i ( x )

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
2. min S(x) = (x1 2)2 + (x2 1)2
sujeito a: h1(x) = x1 2 x2 + 1 = 0
g1 ( x) x12 / 4 x 22 1 0

3. min S(x) = x13 3 x1 x2 + 4


sujeito a: h1(x) = 2 x1 + x22 5 = 0
g1(x) = 18 5 x1 2 x2 0
104

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

6.7 Otimizao multi-objetivo

O projeto ou operao tima de um sistema geralmente implica na satisfao de vrias


especificaes e requisitos, tais como elevada confiabilidade, baixo custo, alta
produtividade, baixo risco de operao, alta qualidade e baixa poluio. Estes
aspectos, freqentemente, esto em conflito uns com os outros e, portanto, uma
soluo compromisso deve ser obtida. Consequentemente, a formulao de uma nica
funo objetivo com restries pode no representar de forma adequada o problema.
Sendo necessria a definio de um conjunto de funes objetivos, que devem ser
balanceadas de alguma maneira.
Em geral, a importncia relativa destas funes objetivos no so conhecidas
at que se tenha idia das potencialidades do sistema e do grau de compromisso que
pode ser admitido. As preferncias entre as funes objetivos recaem muito sobre a
experincia e intuio do projetista. Existem pelo menos trs estratgias diferentes
para expressar estas preferncias:
1) Mtodo da soma ponderada das funes objetivos;
2) Mtodo das restries ;
3) Mtodo da perseguio dos objetivos.
O mtodo da soma ponderada transforma o problema de otimizao multiobjetivo:
T
min F(x) = [F1(x) F2(x) ... Fq(x)]
xK

sujeito a:

hj(x) = 0 , j = 1, 2, ..., m
gj(x) 0 , j = 1, 2, ..., p

em um problema de otimizao escalar pela definio da soma ponderada das funes


objetivos:
T
min S(x) = w F(x)
xK

sujeito a:

hj(x) = 0 , j = 1, 2, ..., m
gj(x) 0 , j = 1, 2, ..., p

onde w o vetor dos pesos relativos, geralmente definido como uma combinao
convexa:
q

w
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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

(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

sujeito a:

hj(x) = 0 , j = 1, 2, ..., m
gj(x) 0 , j = 1, 2, ..., p
Fi(x) i , i = 1, 2, ..., q , i r

As dificuldades naturais deste mtodo esto associadas seleo da funo objetivo a


ser minimizada e a definio do nvel de restrio para as demais funes (i). Pode-se
tambm associar a este mtodo uma estratgia de priorizao das funes objetivos
durante o processo de otimizao.
No mtodo da perseguio dos objetivos (goal attainment) definido um
conjunto de objetivos F* = {F1* , F2* , , Fq* } a ser perseguido pelas respectivas
funes F(x) = {F1(x), F2(x), ..., Fq(x)}. A formulao do problema dada por:
min

, xK

sujeito a:

hj(x) = 0 , j = 1, 2, ..., m
gj(x) 0 , j = 1, 2, ..., p
Fi(x) wi Fi* , i = 1, 2, ..., q

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

unicidade de soluo definido o conceito de no inferioridade, tambm conhecido


como otimalidade de Pareto.
Uma soluo no inferior aquela que uma posterior melhoria em uma das
funes objetivos causa a degradao de outras. Para entender melhor este conceito,
define-se a regio vivel, , no espao das variveis de deciso x n, que satisfaz
todas as restries, isto :
= {x K n}
sujeito a:
hj(x) = 0 , j = 1, 2, ..., m
gj(x) 0 , j = 1, 2, ..., p
e a correspondente regio vivel, , no espao das funes objetivos:
= {y = F(x) q | x }
Ou seja, o vetor de desempenho F(x) um mapeamento do espao das variveis de
deciso no espao das funes objetivos, como ilustra a figura abaixo.

Ento, um ponto x* , uma soluo no inferior se para alguma vizinhana de x*


no existe um x tal que (x* + x) e:
Fi(x* + x) Fi(x*) , i = 1, 2, ..., q
Fj(x* + x) < Fj(x*) , para algum j
Na representao bidimensional, o conjunto de solues no inferiores (ou conjunto de
Pareto) est sobre a curva entre os pontos C e D da figura abaixo. Os pontos A e B
representam dois pontos no inferiores distintos, ou seja, pontos onde a melhoria em
uma funo objetivo requer a degradao de outra: F1B < F1A F2B > F2A.

107

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Como qualquer ponto em que no seja um ponto no inferior h a possibilidade de


obter um novo ponto com melhoria em todas as funes objetivos, o problema de
otimizao multi-objetivo resume-se em gerar e selecionar pontos do conjunto de
Pareto.

Exemplo 6.6: min F(x) = [F1(x) F2(x)]T

sujeito a: F1(x) = 1 + x2
F2(x) = 4 (x )2 +
x0
Para este exemplo o conjunto de Pareto (P) est ilustrado nos grficos abaixo.

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

1/ 2
x * ( )
2 ( 1)

1,125
1 1,125

o valor de = 1,125 corresponde a F1(), sendo que para valores de 1,125 a


restrio F1(x) inativa, e valores entre 1 1,125, a restrio est ativa.
Portanto, o conjunto de Pareto para este problema corresponde a P = {x*() | 1
1,125} = {0 x }.
A soluo do exemplo acima pelo mtodo das somas ponderadas recai no
seguinte problema de otimizao:
min S(x) = w F(x) = w1 F1(x) + (1 w1) F2(x)
T

x0

sujeito a:

cujas solues em funo do peso w1 so dadas por:


x * ( w1 )

4 (1 w1 )
8 7 w1

0.5
0.45
0.4
0.35

0.3
0.25
0.2
0.15
0.1
0.05
0

0.1

0.2

0.3

0.4

0.5
w1

0.6

0.7

0.8

0.9

Quando w1 = 0, a soluo o mnimo de F2(x), ou seja, x* = , e para w1 = 1 a soluo


o mnimo de F1(x), isto , x* = 0. Para valores entre 0 w1 1, a figura acima mostra
que P = {x*(w1) | 0 w1 1} = {0 x }.
A existncia de solues no concorrentes dentro do conjunto de Pareto pode
gerar um conjunto no convexo, dificultando a obteno de solues, principalmente
pelo mtodo das somas ponderadas. Neste mtodo, a funo objetivo linear dentro do
espao das funes objetivos: S(y) = wT y e, portanto, as curvas de nveis so
hiperplanos dentro deste espao. Consequentemente, a minimizao de S(y) pode ser
interpretada como encontrar a menor curva de nvel que toca no conjunto , como
pode ser visto na figura abaixo.

109

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

x*

onde L a linha de nvel. A seleo dos pesos, w, define a inclinao do hiperplano e,


consequentemente, o ponto onde o conjunto ser tocado. O problema de no
convexidade surge quando a fronteira inferior de no convexa, como ilustra a
figura abaixo.

Neste caso, o conjunto de solues no inferiores entre os pontos A e B no esto


acessveis. Este problema de no convexidade pode ser tratado pelo mtodo das
restries , conforme ilustra a figura a seguir relativa ao problema abaixo:
min S(x) = F1(x)
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 .

Uma informao importante do mtodo das restries a sensibilidade da soluo no


ponto x*(). Ou seja, o quanto varia o valor de Fr(x*) em relao as variaes nas
demais funes objetivos, usadas como restries. Esta informao diretamente dada
pelos multiplicadores de Kuhn-Tucher no ponto timo:
110

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Fr* ()
*i
Fi

, ir

representando uma ajuda importante na tomada de deciso em estabelecer os


compromissos entre as funes objetivos.
O mtodo da perseguio dos objetivos apresenta uma forma mais conveniente
de expressar os compromissos entre as funes objetivos, dando uma maior
flexibilidade para o algoritmo de otimizao buscar a melhor soluo. A figura abaixo
ilustra a evoluo deste mtodo na direo da soluo.

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

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

pois funes tipo Lagrange:


(x,) = +

r max{0, F ( x) w
i 1

111

Fi* }

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

podem apresentar problemas devido as possveis concorrncias entre as funes


objetivos. Contudo, como i = para wi = 0 (restries rgidas), uma combinao
entre as duas formas acima mais recomendada, ou seja:
q
*
ri max{0, Fi ( x) wi Fi } se wi 0
( x, ) i 1

max i
se wi 0
i

Finalmente, ao usar mtodos quasi-Newton na soluo deste problema, devido a


linearidade de na funo objetivo, a contribuio desta varivel nula para a matriz
Hessiana. Portanto, ao inicializar a aproximao da Hessiana com a matriz identidade,
o elemento da diagonal relacionado com deve ser anulado (ou prximo a zero para
manter a matriz positiva definida), de modo a acelerar a convergncia da programao
quadrtica interna.

112

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

7. Programao Inteira Mista


A programao inteira mista (MIP Mixed-Integer Programming), caracterizada pela
existncia de variveis contnuas e inteiras, surge em uma grande variedade de
aplicaes, tais como:
sntese de processos (rede de trocadores de calor e/ou massa, superestruturas,
sistemas de utilidades, etc.);

Rede de trocadores de calor.

Localizao de alimentao e/ou refluxo de colunas de destilao.

113

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Seqenciamento de destilaes.

Superestrutura para a hidrodealquilao do tolueno.


projeto, programao e planejamento de sistemas descontnuos com mltiplos
produtos e/ou mltiplos propsitos;
localizao, alocao, planejamento e programao de facilidades;
interao entre projeto e controle de sistemas;
114

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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
S = 63
S = 55
S = 44
S = 42
S = 34,4

x2

s.a.: 4 x1 + 6,5 x2 12,5

xI

1
1

timo discreto

x1

timo contnuo

timo discreto

x1

timo contnuo

As variveis inteiras, z, com limites superiores e inferiores dados, zl z zu,


podem ser expressas como um vetor de variveis binrias, y Y = {0,1}q, pela
seguinte frmula:
z z l y1 2 y 2 4 y3 2 q 1 y q

onde q o nmero mnimo de variveis 01 necessrias para representar z. Este


nmero mnimo dado por:

log z u z l
q 1 int

log 2

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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

i 1

j 1

sujeito a: yij 1 , yij 1 , yii = 0, i,j = 1,2,...,n


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.
7.1 Programao dinmica

Embora a programao dinmica no esteja, necessariamente, enquadrada dentro da


programao mista, ela descrita neste captulo por se tratar de um mtodo de soluo
116

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

de problemas que podem ser decompostos em um nmero inteiro de estgios. Muitos


processos e equipamentos podem ser representados (fsica ou imaginariamente) por
mltiplos estgios (ou perodos de tempo), como ilustra a figura abaixo.
dk

estgio
xk

xk1

estgio

k
Rk
Sk(xk)

xk1

d2

dk1

Sk1(xk1)

k1
Rk 1

xk2

x2

estgio
2
R2

S2(x2)

xk2

x1

d1

x1

S1(x1)

estgio
1
R1

x0

x0

onde Rk o valor da funo objetivo do estgio k,


xk o vetor de variveis de entrada do estgio k,
xk1 o vetor de variveis de sada do estgio k,
dk o vetor de variveis de deciso (independente) do estgio k,
Sk(xk) a funo objetivo global dos estgios 1 a k.
A essncia da programao dinmica decompor um problema de otimizao
multivarivel interconectado em uma seqncia de subproblemas que podem ser
resolvidos serialmente. Cada subproblema contm um subconjunto de variveis de
deciso, que pode ser otimizado por qualquer uma das tcnicas de otimizao descritas
nos captulos anteriores.
A programao dinmica est baseada no princpio da otimalidade de Bellman
(1957): Se uma deciso forma uma soluo tima em um estgio de um processo,
ento qualquer deciso remanescente deve ser tima com respeito ao resultado desta
deciso tomada. Este conceito pode ser melhor implementado se as tomadas de
deciso de um estgio para outro so realizadas na direo do fluxo de informao nos
estgios, que pode estar no sentido oposto ao fluxo de material.

Exemplo 7.1: Para ilustrar este princpio, seja o problema de distribuio de


combustvel atravs de uma rede de tubulaes, cujo escoamento se d somente
atravs do terminal H, segundo a figura abaixo, onde os valores representam os custos
de transporte.

117

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

5
B

D
5
C

E
2

H
2
G

Deseja-se determinar o menor custo de transporte da estao de bombeamento C para


o terminal H. Ao invs de tentar todos os caminhos possveis (isto , uma busca
exaustiva), pode-se aplicar o princpio da otimalidade. Partindo do terminal H, obtmse o custo mnimo de transporte de G para H: CGH* = 2, e de E para H:
CEH* = min {CEH, (CEF + CFH*)}
como CFH* = 3 + 2 = 5, tem-se CEH* = min {8, 2 + 5} = 7. O custo mnimo de D para
H dado por CDH* = CDE + CEH* = 3 + 7 = 10. Portanto, o menor custo de
bombeamento de C para H obtido de:
CCH* = min {(CCD + CDH*), (CCF + CFH*)} = min {(5 + 10), (3 + 5)} = 8.
O princpio de Bellman pode ser formulado como segue:
S k* (xk) = min [Rk(xk, dk) + S k*1 (xk1)]
dk

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

Vrios mtodos tem sido propostos para reduzir a dimensionalidade da


programao dinmica. Contudo, no existe uma formulao matemtica padro para
esta programao, ou seja, o problema formulado em funo das caractersticas do
processo.
7.2 Programao linear inteira mista (MILP)

Como na grande maioria das aplicaes que recaem em problemas de programao


linear inteira mista, as variveis inteiras podem ser representadas por variveis
binrias, somente este caso tratado nesta seo, sem perda de generalidade.
118

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

A formulao MILP com variveis 01 dada por:


min S(x,y) = cT x + dT y
sujeito a: A x + B y b
x0
x X n, y Y = {0,1}q
Para um dado valor do vetor y, o problema acima recai em um problema de
programao linear (LP). Uma busca exaustiva (ou enumerao), enumerando todas as
possveis combinaes de variveis 01 para os elementos do vetor y, poderia ser
utilizada para a soluo do problema. Contudo, para problemas de mdio e grande
porte este procedimento torna-se proibitivo, devido a natureza combinatorial.
Os algoritmos existentes para problemas MILP podem ser classificados como:
1) Mtodos branch and bound;
2) Mtodos dos planos de corte;
3) Mtodos de decomposio;
4) Mtodos baseados em lgica e disjunes.
Nos algoritmos branch and bound (Land e Doig, 1960), uma rvore binria
empregada para representar as combinaes 01, a regio vivel sistematicamente
particionada em subdomnios e limites inferiores e superiores so gerados em
diferentes nveis da rvore binria.
Nos mtodos dos planos de corte (Gomory, 1958), a regio vivel no
dividida em subdomnios, mas novas restries (chamadas de planos de cortes) so
geradas a cada estgio e adicionadas ao conjunto de restries, reduzindo a regio
vivel at obter uma soluo tima.
Nos mtodos de decomposio (Benders, 1962), a estrutura matemtica do
modelo explorada atravs de parties das variveis, dualidade e mtodos de
relaxao.
Nos mtodos baseados em lgicas e disjunes, tcnicas de inferncia
simblica, em termos das variveis binrias, so utilizadas para restringir a regio
vivel.
Nesta seo dada nfase ao mtodo de branch and bound, que mais
comumente utilizado nos algoritmos de MILP e MINLP. O mtodo da decomposio
de Benders tratado em detalhe na prxima seo.

119

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

7.2.1 Princpio dos mtodos dos planos de corte

A idia bsica destes mtodos a seguinte:


1) Resolve-se o problema MILP com as variveis inteiras relaxadas (ou seja,
consideradas como contnuas), transformando-se em um problema LP. Se a
soluo do problema LP possuir todas as variveis relaxadas inteiras, ento a
soluo tima do problema original foi encontrada;
2) Caso contrrio, sempre possvel eliminar a soluo obtida pela adio de
restries extras ao problema, sem contudo eliminar qualquer soluo inteira. Tais
restries so chamadas de planos de corte;
3) Aps a adio de um plano de corte (ou possivelmente mais do que um), o
problema MILP aumentado novamente resolvido, com as variveis inteiras
relaxadas. Observa-se que, como a soluo eliminada vivel no dual, vantajoso
usar algoritmos duais para a soluo deste problema, pois parte-se de um ponto
inicial vivel;
4) Se a soluo do problema aumentado apresentar todas as variveis relaxadas
inteiras, ento a soluo tima do problema original foi encontrada. Caso contrrio,
o procedimento repetido at a convergncia.
Se os planos de corte forem adequadamente escolhidos a cada estgio, ento o
poliedro inicial ser progressivamente reduzido at coincidir com a casca convexa da
soluo inteira (pelo menos na vizinhana da soluo tima) e, consequentemente, a
soluo contnua do problema aumentado se tornar inteira nas variveis relaxadas.
Portanto, a maneira em que os planos de corte so escolhidos decisiva para a
convergncia do mtodo. Infelizmente, no h um mtodo sistemtico para gerar todas
as restries que definem a casca convexa dos pontos inteiros contidos dentro de um
poliedro convexo. Alm disto, seria custoso e suprfluo gerar todas as faces de uma
casca convexa, pois a maioria das restries estariam inativas, no contribuindo para a
definio do ponto timo. Contudo, existem vrios mtodos na literatura que procuram
definir os planos de corte de modo a obter uma convergncia finita do algoritmo.
Exemplo 7.2: Seja o problema:

min S(x) = 10 x1 11 x2
sujeito a: 10 x1 + 12 x2 59
x I2 e x 0

120

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

A soluo do problema original relaxado


obtida no ponto x = [5,9 0]T. Portanto, a
restrio adicional:

x2
S = -59
S = -54

5
4

x1 5

-S

eliminaria este ponto sem excluir qualquer


soluo inteira. Similarmente, qualquer
restrio suplementar da forma:

2
1
1

x1 + x2

timo discreto

x1

timo contnuo

com 5 5,9 um plano de corte. De


fato, muitos outros planos de corte so possveis, existindo, em princpio infinitas
possibilidades. Em particular, se as seguintes restries fossem utilizadas como planos
de corte:
e
x2 4
x1 + x2 5
ento o problema aumentado:
min S(x) = 10 x1 11 x2
sujeito a: 10 x1 + 12 x2 59
x1 + x2 5
x2 4
x0
teria como soluo a ponto timo do problema original x = [1 4]T, pois as restries
formam uma casca convexa de suas solues inteiras.
7.2.2 Mtodo de branch and bound

O mtodo de branch and bound est baseado nas idias chaves de separao,
relaxao e sondagem.
Separao:

Denotando o problema MILP abaixo por (P) e o conjunto de suas solues


viveis por FS(P).
min S(x,y) = cT x + dT y
P

sujeito a: A x + B y b
x0
x X n, y Y = {0,1}q

Ento o conjunto de subproblemas (P1), (P2), ..., (Pn) de (P) uma separao de (P) se:
121

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

(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

P2

y1 = 0

x0
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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

diferena entre a soluo do problema (RCS) e o problema (CS), mais freqentemente


estes critrios sero utilizados para eliminar ramificaes. O sucesso dos algoritmos de
branch and bound est baseado no percentual de eliminao de subproblemas e no
esforo requerido para resolver os subproblemas candidatos.
Um algoritmo genrico para os mtodos de branch and bound pode ser descrito
como segue:
algoritmo
1) Inicializar a lista de subproblemas (CS) = (P), ou rvore binria, z* = ;
2) Se a lista de subproblemas (CS) estiver vazia, ento FIM (se z* = , ento no
existe soluo vivel);
3) Selecionar um candidato da lista, tornado-o candidato (CS) corrente;
4) Selecionar e resolver uma relaxao (RCS) do (CS) corrente, obtendo a soluo
zRCS;
5) Aplicar os trs critrios de sondagem:
(i)

Se (RCS) invivel, ento o (CS) corrente no tem soluo vivel e (ir para 2);

(ii)

Se zRCS z*, ento o (CS) corrente no tem soluo vivel melhor que z* e (ir
para 2);

(iii)

Se a soluo tima de (RCS) vivel para (CS) e zRCS < z*, ento z* zRCS e
(ir para 2);

6) Separar o (CS) corrente e adicionar os seus subproblemas filhos na lista de


subproblemas (CS). (ir para 2).
Existem trs alternativas principais para selecionar os candidatos da rvore
binria:
a) Busca em primeira profundidade (depth-first search) com retrocesso (LIFO: LastIn-First-Out). Tcnica padro da maioria dos algoritmos;
b) Busca em primeira largura (breadth-first search);
c) Busca pelo melhor limite.
Na tcnica de busca em primeira profundidade o prximo (CS) selecionado
um dos filhos do (CS) corrente. Quando um n considerado sondado, a busca
retrocedida at o ancestral mais prximo que tenha um filho que ainda no foi
selecionado. Esta tcnica tem como caracterstica uma maior facilidade de reotimizao e compactao de informao, mas pode requerer um nmero elevado de
subproblemas (CS).
124

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Na tcnica de busca em primeira largura, todos os ns de um mesmo nvel da


rvore binria so considerados antes dos ns de nveis subseqentes. Esta tcnica
geralmente utilizada como base de heursticas para a seleo de ns para a melhoria
dos limites inferiores.
Na tcnica de busca pelo melhor limite, o prximo (CS) escolhido da lista
aquele que possui o menor limite inferior. Esta tcnica resulta em um menor nmero
de subproblemas (CS), mas apresenta uma maior heterogeneidade no caminho para o
timo. Nota-se que existe um compromisso entre o nmero de (CS) gerados e o
controle da otimizao, dificultando a seleo da melhor estratgia.

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

nvel 0

raiz

nvel 1

nvel 2

nvel 3

Busca em primeira profundidade.

Busca em primeira largura.

Observa-se que na busca em primeira profundidade, a soluo tima obtida no


n 5, sendo necessrio considerar 6 ns da rvore, alm da raiz. Por outro lado, na
busca em primeira largura, o timo obtido no n 3, mas necessrio considerar o
mesmo nmero de ns que no caso anterior para certificar-se da otimalidade do n. Os
limites inferiores e superiores em cada n da rvore binria, para as duas tcnicas, so
apresentados na tabela abaixo.

primeira profundidade
n

primeira largura

nvel

inferior

superior

z*

nvel

inferior

superior

z*

6,8

6,8

6,667

6,8

6,667

6,667

6,5

6,667

6,5

6,5

6,667

6,5

126

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

7.3 Programao no linear inteira mista (MINLP)

A formulao MINLP com variveis 01 dada por:


min S(x,y)
sujeito a: hj(x,y) = 0 , j = 1, 2, ..., m
gj(x,y) 0 , j = 1, 2, ..., p
x X n, y Y = {0,1}q
Os algoritmos existentes para resolver problemas MINLP podem ser
classificados em quatro categorias principais:
Branch and Bound
Decomposio Generalizada de Benders (GBD)
Aproximaes Externas (OA)
Lgica e disjunes
O mtodo de branch and bound, aplicado ao problema MINLP, inicia
resolvendo o correspondente problema NLP relaxado, para ento realizar a
enumerao implcita e seleo dos subproblemas atravs das tcnicas descritas na
seo anterior (busca em primeira profundidade ou busca em primeira largura). Os
critrios de sondagem so aplicados s solues dos subproblema NLP relaxados a
cada n, que geram limites inferiores e superiores.
7.3.1 Decomposio Generalizada de Benders (GBD)

Geoffrion (1972) generalizou a aproximao proposta por Benders (1962), para


explorar a estrutura de problemas de programao MINLP. A idia bsica gerar, para
cada iterao, um limite superior e um limite inferior sobre a busca da soluo do
problema MINLP. O limite superior resulta a partir de um problema primal, enquanto
o limite inferior resulta a partir de um problema mestre.
Com o decorrer das iteraes verifica-se que a seqncia de limites superiores
no cresce e a seqncia de limites inferiores no decresce, logo, as seqncias
convergem em um nmero finito de iteraes.

127

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Problema primal (NLP)

O problema primal corresponde ao MINLP com as variveis y fixas em valores


inteiros:
min S(x,yk)
k

P(y )

sujeito a: h(x,yk) = 0
g(x,yk) 0
x X n

onde yk {0,1}q corresponde ao vetor y fixo na iterao k.


Se o problema primal vivel, ento sua soluo fornece um limite superior,
S(x ,y ), para a funo objetivo e os respectivos multiplicadores de Lagrange das
restries, k e k. A funo de Lagrange para este problema dada por:
k

L(x,y,k,k) = S(x,y) + (k)T h(x,y) + (k)T g(x,y)


Se o problema primal invivel, ento o seguinte problema de viabilidade
geral, FP, (Fletcher e Leyffer, 1994) resolvido:
min wi g i ( x, y k )
iI l

sujeito a: h(x,yk) = 0
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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

min
sujeito a: inf L(x,y,,) , , 0
xX

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.
7.3.2 Aproximaes Externas (OA)

Duran e Grossmann (1986) propuseram um algoritmo para tratar de problemas MINLP


na forma abaixo, cuja idia bsica similar ao GBD, onde a cada iterao gera-se um
limite superior e um limite inferior da soluo MINLP. O limite superior resulta a
partir da soluo vivel do respectivo problema primal com y fixo.
min S(x,y) = cT y + f(x)
sujeito a: g(x) + B y 0
x X n, y Y = {0,1}q
O limite inferior resulta a partir da soluo do problema mestre. O problema
mestre derivado pela projeo do MINLP no espao y e pela aproximao externa
(linearizao) das restries e funo objetivo no linear ao redor da soluo primal xk.
Ou seja, consiste de suportes lineares vlidos, e, consequentemente, relaxamentos de
funes no lineares para todos pontos xk que resultam fixando y = yk Y.
Se o problema primal vivel, ento as aproximaes externas so dadas pela
linearizao das funes convexas f(x) e g(x) no ponto xk:
129

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

f(x) f(xk) + Tf(xk) (x xk)


g(x) g(xk) + Tg(xk) (x xk)
Se o problema primal invivel, ento resolve-se o respectivo problema de
viabilidade geral, para ento linearizar as restries no ponto obtido, x k :
g(x) g( x k ) + Tg( x k ) (x x k )
Ento o problema mestre pode ser formulado como:
min cT y +
sujeito a: f(xk) + Tf(xk) (x xk), k P(yk)
M

0 g(xk) + Tg(xk) (x xk) + B y, k P(yk)


0 g( x k ) + Tg( x k ) (x x k ) + B y, k FP(yk)
x X, y Y = {0,1}q ,

A aproximao natural da resoluo do problema mestre o relaxamento, que


considera para cada iterao os suportes lineares das restries e funo objetivo ao
redor de todos os pontos linearizados previamente. Deste modo, para cada iterao um
novo conjunto de restries e suportes lineares so adicionadas, os quais melhoram o
relaxamento e por esta razo melhoram o limite inferior. Observe que o problema
mestre corresponde a um problema MILP.
Com as iteraes ocorridas, duas seqncias de limites superiores e inferiores
so gerados, que no aumentam nem diminuem, respectivamente. Ento, mostrado
que essas duas seqncias convergem dentro de uma tolerncia com um nmero
finito de iteraes.
7.3.3 Aproximaes Externas com Relaxamento de Igualdade (OA/ER)

Para lidar com restries de igualdade no lineares explicitamente da forma h(x) = 0,


Kocis e Grossmann (1987) propuseram uma aproximao externa com relaxamento de
igualdade para a seguinte classe de problemas MINLP.
min S(x,y) = cT y + f(x)
sujeito a: A x + B y b
h(x) = 0
g(x) 0
x X n, y Y = {0,1}q
A idia bsica do OA/ER relaxar as restries de igualdade no lineares em
desigualdades e subseqentemente aplicar o algoritmo OA. O relaxamento das
igualdades no lineares baseada no sinal dos multiplicadores de Lagrange associados
130

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

a este relaxamento quando o problema primal (com y fixo) resolvido. Se um


multiplicador i positivo ento a correspondente igualdade no linear hi(x)=0
relaxada como hi(x) 0. Se um multiplicador i negativo, ento a igualdade no
linear relaxada como hi(x) 0. Entretanto, se i = 0, ento a restrio de igualdade
no linear associada escrita como 0.hi(x) = 0, a qual implica que esta restrio pode
ser eliminada. Tendo transformado as igualdades no lineares em desigualdades, na
seqncia formula-se o problema mestre baseado sobre os princpios da aproximao
OA discutida anteriormente.
min cT y +
sujeito a: f(xk) + Tf(xk) (x xk), k P(yk)
0 g(xk) + Tg(xk) (x xk), k P(yk)
M

0 Tk [h(xk) + Th(xk) (x xk)], k P(yk)


0 g( x k ) + Tg( x k ) (x x k ), k FP(yk)
0 T k [h( x k ) + Th( x k ) (x x k )], k FP(yk)
Ax+Byb
x X, y Y = {0,1}q ,

onde Tk a matriz diagonal dos sinais dos multiplicadores de Lagrange.


O algoritmo OA/ER tem a vantagem de exigir um nmero menor de iteraes
que o GBD, porm o tamanho de seus problemas mestres MILP considerado grande
em relao ao GBD.
7.3.4 Aproximaes Externas com Relaxamento de Igualdade e Penalidade Aumentada
(OA/ER/AP)

Os algoritmos branch and bound, GBD e OA/ER requerem que algumas formas de
suposies de convexidade sejam satisfeitas de modo a garantir a otimizao global do
problema MINLP. Viswanathan e Grossmann (1990) propuseram o algoritmo
OA/ER/AP (conhecido como DICOPT - DIscrete and COntinuous OPTimizer), que
um variante do algoritmo OA/ER, com objetivo de evitar as limitaes impostas pela
suposio de convexidade feita no algoritmo OA/ER.
Este algoritmo recorre a mesma formulao do OA/ER e introduz a funo
penalidade aumentada nos subproblemas de limite inferior da aproximao OA/ER.
Como a suposio de convexidade no imposta em OA/ER/AP, ento:
(i)

a equivalncia de h(x) = 0 e Tk h(x) 0 pode no se manter, onde h(x) e Tkh(x)


so as igualdades no lineares e as igualdades relaxadas, respectivamente (Tk
a matriz diagonal dos sinais dos multiplicadores de Lagrange);
131

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

(ii)

as linearizaes podem no representar suportes vlidos;

(iii)

o problema mestre pode no produzir um limite inferior vlido sobre a soluo


do MINLP.

A idia bsica em OA/ER/AP limitar (i), (ii) e (iii) pelo relaxamento das
linearizaes no problema mestre, permitindo-os de serem violados e utilizando uma
aproximao tipo penalidade que penaliza essas violaes das funes suportes. Ento,
o problema mestre para o mtodo AO/ER/AP pode ser formulado como:
min cT y + + wsT s + j (wpj)T pj + j (wqj)T qj
sujeito a: + sk f(xk) + Tf(xk) (x xk), k P(yk)
pk g(xk) + Tg(xk) (x xk), k P(yk)
M

qk Tk [h(xk) + Th(xk) (x xk)], k P(yk)


0 g( x k ) + Tg( x k ) (x x k ), k FP(yk)
0 T k [h( x k ) + Th( x k ) (x x k )], k FP(yk)
Ax+Byb
x X, y Y = {0,1}q , , sk, pk, qk 0

onde ws, wp e wq so os pesos para as variveis de folga das restries. Ou seja, as


violaes das linearizaes so permitidas pela introduo de variveis de folga,
enquanto a penalidade das violaes introduzida como um conjunto adicional de
termos na funo objetivo que consiste de variveis de folga multiplicadas por fatores
de peso positivos. Deste modo, por causa do relaxamento de restries, a regio vivel
expandida e, consequentemente, a possibilidade de partes das regies viveis serem
cortadas devido a linearizaes invlidas reduzida.
7.3.5 Aproximao Externa Generalizada (GOA)

Fletcher e Leyffer (1994) estenderam a aproximao OA para problemas MINLP do


tipo abaixo, introduzindo funes penalidades exatas, criando o algoritmo GOA.
min S(x,y)
sujeito a: g(x,y) 0
x X n, y Y = {0,1}q
para S e g convexas e continuamente diferenciveis e X convexo, compacto e no
vazio. O GOA similar ao OA, com as principais diferenas sendo:
(i)

tratamento da inviabilidade;
132

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

(ii)

problema mestre considera as inviabilidades explicitamente;

(iii)

tratamento unificado de funes penalidades exatas.

Se o problema primal P(yk) invivel, ento o seguinte problema de viabilidade geral


dado por:

min wi g i x, y k
x

iI

sujeito a gi(x, yk) 0, i I


x X n
onde wi so os pesos, 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. Note
que o problema acima tem dentro da funo objetivo um somatrio somente das
restries de desigualdade inviveis.
Se o problema primal P(yk) invivel de modo que xk resolve o problema de
viabilidade geral e tem wi g i x k , y k 0 , ento yk invivel dentro das restries:
iI

yx xy

0 g i x k , y k g i x k , y k

, i I 1 I x X

Observe que as restries acima so as linearizaes das restries de


desigualdade no lineares em torno do ponto (xk,yk). Ento a inviabilidade no problema
primal P(yk) significa que os cortes de linearizaes de desigualdade vivel e invivel
em torno de (xk,yk) so violados.
A formulao do problema mestre que considera a inviabilidade explicitamente,
baseada nas seguintes idias:
a) projeo do problema MINLP sobre o espao y;
b) aproximao externa da funo objetivo e da regio vivel, com tratamento das
inviabilidades do problema primal.
7.3.6 Decomposio Cruzada Generalizada (GCD)

Holmberg (1990) generalizou a aproximao proposta por Van Roy (1983) para a
classe de problemas de otimizao da forma:
min S(x,y)
sujeito a: h(x,y) = 0
g(x,y) 0
133

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

x X n, y Y = {0,1}q
para S, g e h convexas para cada y fixo, limitadas e Lipschitz contnuas e X convexo,
compacto e no vazio. Outra condio que a otimizao com respeito a x da funo
de Lagrange pode ser realizada independentemente de y.
A decomposio cruzada generalizada consiste de duas fases. A fase I
composta de subproblemas primal e dual e a fase II constituda de problemas mestres
e testes de convergncia apropriados.
Na fase I, o subproblema primal produz um limite superior sobre a soluo
procurada do MINLP e multiplicadores de Lagrange k, k para o subproblema dual.
O subproblema dual produz um limite inferior sobre a soluo do MINLP e fornece yk
para o subproblema primal. Ambos subproblemas, primal e dual, geram cortes para o
problema mestre na fase II. Para cada iterao do GCD, os problemas primal e dual
so resolvidos, e um teste de convergncia primal aplicado sobre yk, enquanto o teste
de convergncia dual aplicada sobre k, k. Se qualquer teste de convergncia falhar,
ento entra-se na fase II, que caracteriza a soluo do problema mestre e retorna
subseqentemente para a fase I. A idia chave fazer uso extenso da fase I e limitar
tanto quanto possvel o uso da fase II para a aplicao de testes de convergncia
apropriados. Isto porque o problema mestre mais difcil e demanda um maior
tempo computacional que os problemas da fase I.
7.3.7 Branch and Bound Espacial (SBB)

Os algoritmos GBD e OA tm a limitao do tamanho do problema mestre (MILP)


que cresce a medida que as iteraes ocorrem, devido as restries adicionais, sendo
este o maior problema quando o MINLP original tem um nmero grande de variveis
inteiras. O tempo usado para resolver o problema mestre cresce conforme as iteraes
ocorrem, enquanto o tempo para os subproblemas NLP mantm-se na mesma ordem
de magnitude.
Branch and Bound Espacial Linearizado

Quesada e Grossmann (1992) propuseram um algoritmo para evitar os


problemas relatados acima, melhorando a eficincia da soluo dos problemas MINLP
convexos e reduzindo o trabalho computacional exigido para resolver os problemas
mestres MILP.
O algoritmo SBB (Spatial Branch and Bound) consiste da busca em rvore
sobre o espao de variveis binrias. O problema mestre MILP definido
dinamicamente durante a busca em rvore para reduzir o nmero de ns que
necessitam ser enumerados. Uma busca branch and bound conduzida para
134

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

determinar limites inferiores na soluo de subproblemas LP at encontrar solues


inteiras viveis. Para estes ns, subproblemas NLP so resolvidos, determinando
limites superiores e novas aproximaes lineares, as quais so usadas para estender a
representao linear dos ns abertos na rvore de busca. Estas aproximaes lineares
podem ser feitas de diversas formas.
A seguir descreve-se detalhadamente o algoritmo de Quesada e Grossmann
(1992) com modificaes propostas por Pereira e Secchi (2000). Considera-se os
problemas MINLP da forma:
z = min S(x,y) = cT y + f(x)
sujeito a: g(x) + B y 0
x X n, y Y = {0,1}q
Passo 1 Arbitram-se valores iniciais para as variveis binrias y e variveis
contnuas x. Durante a implementao, existe a opo do prprio algoritmo escolher
estes valores, caso no sejam arbitrados.
Passo 2 Fixando y = y0, o problema MINLP transforma-se num subproblema NLP,
ou seja:
z = min cT y0 + f(x)
x

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 ,

sujeito a cT y + f(x0) + Tf(x0) (x x0)


B y + g(x0) + Tg(x0) (x x0) 0
135

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

, 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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Passo 8 Resolve-se um subproblema NLP fixando as variveis binrias y da


soluo do problema LP para o nvel do n onde o problema LP se encontra. Se zNLP
<zu, faz-se zu = zNLP. Se zNLP zu, ento continua-se com o limite superior anterior.
Passo 9 A soluo dos NLPs usada para gerar restries adicionais, isto , a
medida que resolvido um subproblema NLP, esta soluo adicionada como
restrio para a soluo do prximo subproblema LP e assim sucessivamente. Estas
restries adicionais podem ser feitas de diversas formas como ser comentado a
seguir. Desconsiderar todos os ns de LP j para os quais zj zu e retornar para o

passo 5.
Restries Adicionais

As restries adicionais, comentadas no passo 9 do algoritmo, a partir das


informaes da soluo dos subproblemas NLP podem ser adicionadas para os ns
abertos na rvore de busca de diversos modos.
1 - Aproximaes Externas (OA)

O algoritmo OA consiste de uma seqncia de subproblemas NLP e problemas


mestres MILP, onde as linearizaes dos termos no lineares so derivadas para a
soluo tima dos subproblemas NLP. O problema mestre MILP dado por:
z = min
x , y ,

sujeito a cT y + f(xk) + Tf(xk) (x xk)


B y + g(xk) + Tg(xk) (x xk) 0
, x X n, y Y = {0,1}q
k = 1,2, ...,K(NLPs)
onde xk a soluo vivel ou invivel do k-simo subproblema NLP.
2 - Decomposio Generalizada de Benders (GBD)

Na decomposio generalizada de Benders uma seqncia de subproblemas NLP e


problemas mestres MILP no espao das variveis binrias resolvido. Os
subproblemas NLPs so gerados fixando as variveis binrias no MINLP original para
um dado valor yk. O problema mestre gerado projetando o problema original no
espao reduzido das variveis binrias. Isto feito derivando, para cada subproblema,
uma funo Lagrangeana parametrizada nas variveis discretas y.
Aplicando as condies de Kuhn-Tucker em um subproblema NLP,
consideradas em relao as variveis no lineares x, tem-se:
f(xk) + g(xk) k = 0
137

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Multiplicando a equao acima por (x xk), tem-se:


Tf(xk) (x xk) + (k)T Tg(xk) (x xk) = 0
Da segunda inequao do problema MILP, tem-se
Tg(xk) (x xk) [B y + g(xk)]
Ento, Tf(xk) (x xk) (k)T [B y + g(xk)] 0. Logo, a primeira inequao do MILP
reduz-se a:
cT y + f(xk) + (k)T [B y + g(xk)]
Desta forma, a formulao do problema mestre para os cortes de Benders dado por:
z = min
y ,

sujeito a cT y + f(xk) + (k)T [B y + g(xk)] , k = 1,2, ...,K(NLPs viveis)


(k)T [B y + g(xk)] 0, k = 1,2, ...,K(NLPs inviveis)
, y Y = {0,1}q
onde xk e k so as variveis tima primal e dual do subproblema NLP.
A vantagem das aproximaes externas que elas tm a representao
estendida da regio vivel. Entretanto, tm a limitao que o nmero de colunas dos
problemas LPs que so resolvidos para os ns pode tornar-se muito grande. Tambm
em um nmero de casos, as novas linearizaes no determinam aproximaes muito
reais da regio vivel no linear. Para evitar este problema, uma opo so os cortes de
Benders, que em geral, no provm cortes fortes.
Por estas razes, Quesada e Grossmann (1992) propuseram uma restrio
aproximada, cuja a idia bsica agregar as linearizaes de funes no lineares,
enquanto mantm as restries lineares em ordem para fortalecer os cortes.
3 - Restrio Aproximada proposta por Quesada e Grossmann (1992)

A partir do problema MINLP original, considere a partio das variveis contnuas em


dois subconjuntos w e v tais que as restries so divididas em restries lineares e
no lineares e as variveis contnuas em variveis lineares e no lineares.
z = min cT y + aT w + r(v)
sujeito a C y + D w + t(v) 0
Ey+Fw+Gvb
y Y , w W, v V

138

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Nesta representao f(x) = aT w + r(v), BT = [C E]T, g(x) = [D w + t(v)


X = W V.

F w + G v] e

O problema acima reformulado com a adio de duas variveis contnuas e


para representar as partes lineares e no lineares da funo objetivo, ou seja:
z = min
sujeito a C y + D w + t(v) 0
r(v)
Ey+Fw+Gvb
cT y + aT w + = 0
, , y Y , w W, v V
Fazendo aproximaes externas no problema acima para o ponto (wk, vk) gerado pelo
k-simo subproblema NLP tem-se:
z = min
sujeito a C y + D w + t(vk) + t(vk) (v vk) 0
r(vk) + r(vk) (v vk)
Ey+Fw+Gvb
cT y + aT w + = 0
, , y Y , w W, v V
Se as condies de Kuhn-Tucker do subproblema NLP so consideradas em
relao as variveis no lineares v, ento:
r(vk) + t(vk) k + GT k = 0
que multiplicado por (v vk), tem-se:
Tr(vk) (v vk) + (k)T G (v vk) = (k)T tT(vk) (v vk)
Do problema linearizado tem-se:
t(vk) (v vk) [C y + D w + t(vk)]
ento:
Tr(vk) (v vk) (k)T [C y + D w + t(vk)] (k)T G (v vk)

Finalmente, substituindo este expresso na segunda inequao do problema


linearizado, tem-se o MILP:
139

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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

sujeito a cT y + f(xl) + Tf(xl) (x xl) + u


B y + g(xl) + Tg(xl) (x xl) u
, x X n, y Y = {0,1}q , u 0
A partir do relaxamento das variveis binrias no problema acima, resolve-se jLPs at encontrar uma soluo inteira. Quando esta soluo encontrada resolvido
um subproblema k-NLP e a partir desta soluo h um acrscimo de uma inequao
para todos os ns abertos na rvore de busca, sendo que se no houver violao de
restrio, a aproximao feita ser do tipo OA e se houver violao de restrio, a
aproximao ser feita atravs de cortes de Benders. Assim, o MILP ter a seguinte
forma:
z = min
x , y , ,u

sujeito a cT y + f(xl) + Tf(xl) (x xl) + u


140

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

B y + g(xl) + Tg(xl) (x xl) u


cT y + f(xk) + Tf(xk) (x xk) + u , k = 1,2, ...,K(NLPs viveis)
cT y + f(xk) + (k)T [B y + g(xk) u] + u , k = 1,2, ...,K(NLPs inviveis)
, x X n, y Y = {0,1}q , u 0
onde K(NLPs viveis) so todos pontos viveis obtidos pelo NLP e K(NLPs inviveis) so todos
os pontos inviveis resultantes do NLP.
Branch and Bound Espacial No Linear

A diferena entre o SBB linearizado e o SBB no linear est na soluo do problema


relaxado. Enquanto que o SBB linearizado resolve problemas LP relaxados para
encontrar limites inferiores, o SBB no linear resolve problemas NLP relaxados.
Os algoritmos SBB linearizados partem da suposio de que o LP relaxado
pode ser resolvido mais eficientemente que o NLP relaxado. Contudo, se muitos NLPs
resultantes de solues inteiras do LP relaxado forem inviveis, ento os algoritmos
SBB linearizados podem encontrar dificuldades de convergncia. A introduo de
novas restries, resultantes de sucessivas linearizaes, tambm podem trazer mau
condicionamento para os problemas LP relaxados, alm de levar a possveis cortes de
solues timas em problemas no convexos.
Por outro lado, os algoritmos SBB no lineares partem da premissa de que os
subproblemas NLPs diferem por apenas algumas restries e, portanto, a soluo de
um NLP pode servir como uma boa estimativa inicial para outro NLP, acelerando a
convergncia.
de se esperar que o SBB no linear seja mais eficiente em problemas com
poucas variveis discretas e com maior no linearidade e no convexidade.

141

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

8. Otimizao de Processos Dinmicos


Exemplo 8.1: Para ilustrar o problema de otimizao dinmica, algumas vezes
chamado de otimizao em dimenso infinita, pois envolve variveis de deciso que
so funes, considere o sistema abaixo de um reator semi-batelada, com duas reaes
exotrmicas:

onde C o produto de interesse e D um sub-produto. Iniciando com o reator vazio,


as alimentaes de A e B, bem com a taxa de gua de resfriamento, esto livres para
variar ao longo da operao. Para um dado reator, com dimenses fixas, o objetivo
operacional pode ser o de determinar o tempo de durao da operao e as taxas de
alimentao de reagentes e gua, de modo a maximizar a concentrao final de C. O
projeto do equipamento tambm pode ser parte do objetivo do problema. Geralmente,
quando as variveis de deciso envolvem somente variveis operacionais, o problema
denominado de controle timo.
A formulao matemtica do processo acima pode ser genericamente
representada por:
F(x(t), x (t ) ,y(t),u(t),v) = 0
onde x(t), x (t ) so as variveis diferenciais e suas derivadas em relao a varivel
independente, t (geralmente o tempo), y(t) so as variveis algbricas, u(t) so as
variveis de controle e v so os parmetros invariantes no tempo, a serem
determinados pela otimizao. Para o exemplo, u(t) representa as taxas de alimentao
dos reagentes e da gua de refrigerao e v pode ser o volume do reator. As condies
iniciais para este problema podem ser descritas genericamente por:
I(x(0), x (0) ,y(0),u(0),v) = 0

142

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

que juntamente com a forma funcional de u(t) e os valores de v determinam


completamente a resposta transiente do sistema.
8.1 Formulao da funo objetivo e restries

A formulao da funo objetivo para um problema de otimizao dinmica pode estar


associada a determinao dos seguintes valores:
horizonte de tempo da operao, tf (tempo final);
parmetros invariantes no tempo, v;
variao temporal das variveis de controle, u(t), para t [0, tf].
de modo a minimizar (ou maximizar) um funcional (u(t),v,tf). A funo objetivo
um funcional pois depende da escolha da funo u(t). No problema do reator semibatelada seria a concentrao final do produto C e tf seria a durao da batelada,
resultando no problema de otimizao abaixo:
max

t f ,v ,u (t ),t[ 0,t f ]

= x3(tf)

sujeito a: F(x(t), x (t ) ,y(t),u(t),v) = 0


I(x(0), x (0) ,y(0),u(0),v) = 0
onde x3 a concentrao de C.
Se a funo objetivo a ser minimizada for a integral de uma funo sobre todo o
intervalo [0, tf]:
tf

(u(t),v,tf) = (x(t), x (t ) ,y(t),u(t),v) dt


0

pode-se adicionar ao sistema de equaes algbrico-diferenciais do problema, a


seguinte equao:
= (x(t), x (t ) ,y(t),u(t),v)

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

Dentre as mais variadas formas de restries adicionais em um problema de


otimizao dinmica, tem-se:
143

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

a) Limites nas variveis de deciso


tfmin tf tfmax
umin u(t) umax , t [0, tf]
vmin v vmax
b) Restries terminais
de igualdade: w(tf) = w*
de desigualdade: wmin w(tf) wmax
onde w representa alguma varivel do sistema (x ou y), ou uma relao entre elas. Para
o exemplo do reator, a quantidade final de material no reator pode ser fixada ou a
temperatura final pode estar limitada em uma dada faixa.
c) Restries interiores
Aparecem quando algumas variveis devem estar limitadas em alguns pontos no
interior do intervalo de operao, ou seja:
wmin(tI) w(tI) wmax(tI)
onde tI [0, tf). Como por exemplo, limitar a curva de aquecimento do reator dentro
de uma faixa determinada.
d) Restries de trajetria
So aquelas restries que devem ser satisfeitas durante todo o intervalo de operao,
ou seja:
wmin w(t) wmax , t [0, tf]
Por exemplo, no reator semi-batelada pode-se impor que a temperatura da reao no
deva ultrapassar um determinado valor para evitar a degradao do produto.
8.2 Princpio do Mnimo de Pontryagin

Antes de enunciar o princpio do mnimo de Pontryagin, necessrio introduzir os


conceitos do clculo variacional, que trata da seleo de uma funo desconhecida que
aparece no integrando de uma integral que deve ser minimizada ou maximizada em
funo desta seleo.
Considere a seguinte integral:
t2

S ( x) [t , x(t ), x (t )] dt
t1

144

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

onde x (t ) a derivada de x(t) em relao a t. O problema do clculo variacional


consiste na seleo de x(t) de modo a minimizar (ou maximizar) o funcional S(x).
Supondo que x*(t) a funo que minimiza S(x) e x(t) uma outra funo com uma
diferena infinitesimal de x*(t) em cada ponto dentro do intervalo (t1, t2), define-se:
x = x(t) x*(t)
como o operador variao, ou seja, a variao de uma funo representa uma mudana
infinitesimal arbitrria na funo a um dado valor de t. Note que a variao difere da
diferenciao, pois esta ltima corresponde a uma medida da mudana de uma funo
resultante de uma mudana especfica (no arbitrria) na varivel independente. A
equao acima pode ser escrita como:
x = x(t) x*(t) = (t)
onde (t) uma funo arbitrria contnua e diferencivel e um parmetro varivel
que tende a zero.
Como o operador variao acarreta uma mudana infinitesimal em uma funo
para um valor fixo de t, tem-se:
t = 0
ou seja, a varivel independente no participa do processo de variao. Outra
propriedade importante do operador variao a comutatividade com os operadores de
diferenciao e integrao:
d
d
d
x [ (t )]
dt
dt
dt

d
dx dx dx * d

( x x*)
dt
dt dt
dt
dt

t2

t2

t2

t2

t2

t1

t1

t1

t1

t1

x(t )dt x(t )dt x * (t )dt [ x(t ) x * (t )]dt x(t )dt

Como a condio necessria de primeira ordem para o mnimo local de uma


funo, S(x), pode ser interpretada como a existncia de um ponto estacionrio da
funo objetivo, ento dentro de uma regio infinitesimal em torno deste ponto tem-se
que:
S = 0
Usando a propriedade comutativa chega-se a:
t2

S dt
t1

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

[x* + (t), x * (t ) + (t ) , t] = [x*, x * (t ) , t] + Tx [x*, x * (t ) , t] (t) +


Tx [x*, x * (t ) , t] (t ) + O[2 2(t), 2 2 (t ) ]

que eliminando os termos de ordem O(2), resulta em:


= { Tx [x*, x * (t ) , t] (t) + Tx [x*, x * (t ) , t] (t ) }
Para um ponto estacionrio tem-se:
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
d T
t2
T
T

dt

x
dt [ x ] dt
x
t1
t1
t1

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

S ( x) [ x(t 2 ), t 2 ] [t , x(t ), x (t )] dt
t1

a condio de complementaridade terminal seria:


[ Tx Tx ] 0 para t = t2

Substituindo a integrao por partes em S = 0, tem-se ento:


t2
d

S Tx [ Tx ] dt 0
dt

t1

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:
x

d
[ x ] 0
dt

146

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Exemplo 8.2: Para ilustrar, considere o problema de determinar a curva de menor


comprimento conectando dois pontos no espao, conforme a figura abaixo.

O comprimento de uma curva conectando os pontos (t1, x1) e (t2, x2) dado por:
s ( t2 )

t2

s (t1 )

t1

S ( x) ds 1 x 2 dt

onde [t , x(t ), x (t )] 1 x 2 e ds dt 2 dx 2 que o comprimento de um segmento


infinitesimal da curva.
Aplicando a equao de Euler-Lagrange para o problema acima, tem-se:
x

0
x

x
1 x 2

d
d
d
x
[ x ] 0
dt
dt x
dt 1 x 2

ou seja:

x
1 x 2

constante,

o que implica que x * (t ) = constante. Portanto,

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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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

Aplicando esta condio para o exemplo acima tem-se:


1

2x

(1 x 2 ) 3 / 2

logo, a soluo tima x*(t) minimiza o funcional S(x).


Retornando ao problema de otimizao de sistema dinmicos, seja ento o
problema:
tf

min

t f , x (t ),u (t ),t[ 0,t f ]

sujeito a:

[x(t),u(t),tf] = [x(tf),tf] + [x(t),u(t),t] dt


0

x (t ) = f[x(t),u(t),t] ,

x(0) = xo

h[x(tf),tf] = 0
Introduzindo os multiplicadores de Lagrange associado s restries chega-se a:
L[x(t),u(t),(t),,tf] = [x(tf),tf] + T h[x(tf),tf] +
tf

T
{ [x(t),u(t),t] + (t) (f[x(t),u(t),t] x (t ) )} dt

que pode ser dividida em duas funes:


[x(tf),,tf] = [x(tf),tf] + T h[x(tf),tf] e
[x(t),u(t),(t),t] = [x(t),u(t),t] + T(t) (f[x(t),u(t),t] x (t ) )
resultando no funcional:
tf

L[x(t),u(t),(t),,tf] = [x(tf),,tf] + [x(t),u(t),(t),t] dt


0

que ao ser minimizado resulta nas equaes de Euler-Lagrange:


x

d
[ x ] 0 x Tx f
dt

d
[ ] 0 cte
dt

onde (t ) = u(t), e pelas condies de complementaridade para (t f ) :


[ ]T f 0 0 0

148

para t = tf

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

pois (tf) livre (f 0) e no depende de , chega-se a 0 t, ou seja:


0 T f u Tu f

Definindo a seguinte funo de Hamilton (ou Hamiltoniano):


H[x(t),u(t),(t),t] = [x(t),u(t),t] + T(t) f[x(t),u(t),t]
ento, as condies necessrias de primeira ordem (Euler-Lagrange) descritas acima
so equivalentes a:
x H 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
A condio de segunda ordem pode ser verificada pela positividade de u2 H . Este
conjunto de condies so conhecidos como Princpio do Mnimo de Pontryagin
(1962), e os multiplicadores de Lagrange, (t), so conhecidos como variveis
adjuntas. Para as partes do caminho u(t) sobre as restries umin ou umax, vale a
seguinte condio de otimalidade, no lugar de u H 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

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

|u(t)| um , t [0, tf]


||u(t)||2 r2 , t [0, tf] , r
Introduzindo funes de folga z (t ) , isto :
gi[x(t),u(t),t] + zi2 (t ) = 0 , i = 1,2,...,p
tem-se o integrando da funo de Lagrange na forma:
[x(t),u(t),(t),t] = [x(t),u(t),t] + T(t) (f[x(t),u(t),t] x (t ) ) + T(t) (g[x(t),u(t),t] + z 2 (t ) )

onde o vetor z 2 (t ) = [... zi2 (t ) ...]T. Neste caso as equaes de Euler-Lagrange so dadas
por:
x

d
[ x ] 0 x Tx f Tx g
dt

d
[ ] 0 cte
dt

d
[ z ] 0 z cte
dt

De modo anlogo s condies de complementaridade para (t), que resultam em


0 t, para a funo z(t) tem-se:
[ z z ]T z f 0 z z 0 z 0

para t = tf

logo, z 0 t e, pela definio de , i zi = 0, ou ainda i gi = 0, i = 1,2,...,p.


Definindo o Hamiltoniano para este caso:
H[x(t),u(t),(t),t] = [x(t),u(t),t] + T(t) f[x(t),u(t),t] + T(t) g[x(t),u(t),t]
ento o Princpio do Mnimo de Pontryagin (ou condies necessrias de otimalidade
para systemas dinmicos) dado por:
x H f
x H x Tx f Tx g
u H u Tu f Tu g 0

0
u2 H 0 {u | Tu g a u = 0}

juntamente com as condies iniciais, finais e de complementaridade:


x(0) = xo
h[x(tf),tf] = 0
[ x (t f ) (tf)]T x(tf) = 0
150

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

{H[x(tf),u(tf),(tf),tf] + t f } tf = 0
i gi = 0, i = 1,2,...,p.
8.3 Controle timo

Analisando inicialmente o problema de controle timo para sistemas lineares:


x (t ) = A(t) x(t) + B(t) u(t)

, x(0) = xo

com a seguinte funo objetivo quadrtica:


S[x(t),u(t),tf] =

1
x(t f )
2

2
R

tf

1
x(t )
2 0

2
Q (t )

u (t ) W ( t ) dt

onde x R = xT R x e R 0, Q(t) 0 e W(t) 0 so matrizes simtricas de pesos.


Definindo o Hamiltoniano para este problema:
H[x(t),u(t),(t),t] =

1
x(t )
2

2
Q (t )

1
2
u (t ) W ( t ) + T [A x + B u]
2

ento, pelo princpio do mnimo de Pontryagin, tem-se:


x H A x + B u
x H Q x AT
u H W u + B T = 0

x(0) = xo

(tf) = R x(tf)
que resolvendo para u(t), chega-se a:
u = W1 BT
1 T
x = A x B W B

gerando um problema de TPBVP (two-point boundary value problem) para x e , cuja


soluo minimiza a funo objetivo, pois u2 H = W > 0, e um mnimo global devido
a convexidade do problema. Se a soluo (t) do problema de TPBVP puder ser
expressa como uma funo da soluo x(t) em termos de uma transformao linear
P(t) nn, isto , x(t) ser uma base de solues para (t):

(t) = P(t) x(t)


ento a soluo do TPBVP pode ser facilmente obtida. Para verificar tal possibilidade,
primeiro substitui-se esta dependncia nas equaes para x e , e subtrai-se uma da
outra resultando em:
( P +PA + AT P P B W1 BT P + Q) x(t) = 0
151

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

que deve ser satisfeita t, logo como x(t) 0 ento:


P = PA AT P + P B W1 BT P Q

que uma equao diferencial matricial no linear, conhecida como equao de


Riccati dinmica, cuja condio de contorno obtida de (tf) = R x(tf), ou seja:
P(tf) = R
Fazendo a mudana de varivel = tf t, tem-se d = dt e:
P = PA + AT P P B W1 BT P + Q

P(0) = R
Portanto, o problema de TPBVP foi transformado em um problema de valor inicial de
dimenso n (n + 1) / 2, pois P(t) uma matriz simtrica. Com a soluo da equao de
Riccati dinmica, a lei de controle timo quadrtico dada por:
u* = K(t) x*(t)
K(t) = W(t)1 B(t)T P(t)
que independente da condio inicial xo. O sistema dinmico em malha fechada pode
ser escrito como:
x * = (A B W1 BT P) x* = AK x* , x(0) = xo

onde AK(t) = A B W1 BT P a matriz caracterstica da dinmica do sistema


regulado. Observa-se tambm que o valor timo da funo objetivo dado por:
S[x*,u*,tf] =

1 T
xo P(0) xo
2

onde P(0) obtido em t = 0 ( = tf). Este resultado pode ser verificado pela equao:
d T
( x P x) x T P x x T P x x T P x
dt

que ao substituir as expresses para P e x *, resulta em:


d T
T
T
1 T
T
T
( x P x) = x Q x x P B W B P x = x Q x u W u
dt

Integrando a equao acima em [0, tf] tem-se:


tf

x(0) P(0) x(0) = x(tf) P(tf) x(tf) + ( x T Q x u T W u )dt = S[x(t),u(t),tf]


T

pois P(tf) = R.
Fazendo a integrao em [t, tf] tem-se:

152

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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

de onde conclui-se que P(t) positiva semidefinida.


Para o caso particular de um sistema invariante no tempo, com [A B]
controlvel, tf = e matrizes pesos constantes, a lei de controle timo pode ser obtida
atravs da soluo da equao de Ricatti estacionria:
PA + AT P P B W1 BT P + Q = 0
que pode ser eficientemente resolvida via decomposio em valores caractersticos do
gradiente do Hamiltoniano associado. Neste caso a matriz de ganhos, K, da lei de
controle invariante no tempo.
Na maioria dos casos de controle timo no linear, mais eficiente tratar o
problema como uma programao no linear do que utilizar o princpio do mnimo de
Pontryagin, para obter o controle timo, u(t). Nestes casos, a escolha da forma das
variveis de controle toma um aspecto mais de engenharia do que matemtico, pois
depender da forma com que as aes de controle sero implementadas na prtica.
Alguns tipos de variaes mais comuns para as variveis de controle esto ilustrados
abaixo.

Sendo as duas primeiras mais freqentemente utilizadas em controle timo de


processos.

153

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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.

8.4 Controle Preditivo

154

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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.

dados: preo do soluto no extrato: 0,4 $ / kg A


preo do solvente B: 0,01 $ / kg B
solubilidade de B em gua: 0,0007 kg B / kg H2O
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.

3) A figura abaixo representa um trocador de calor em contra-corrente, onde uma corrente de


processo com vazo W1 = 1000 kg / h e temperatura T1 = 200 C resfriada a T2 = 100 C
por uma corrente fria a t2 = 60 C. Calcular a vazo tima W2 do refrigerante (kg / h) bem

como a rea de troca trmica tima A (m2). Considerar cp = 1 kcal / kg C para as duas
correntes e U = 500 kcal / h m2 C.

155

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

dados: investimento do trocador de calor: 3200 (A / 50)0,48 $


custo do refrigerante: 5 x 10-6 $ / kg
custo de manuteno: 2 % do investimento / ano
tempo de operao: 8640 h / ano
critrio de desempenho: custo anual = 50 % custo
operacional + 10 % ao ano sobre o investimento

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

A 1, U 1

t2

A2, U2
W2, T2

W1, T1

dados: investimento dos trocadores de calor: 160 (A1)0,5 $ e 320 (A2)0,5 $


custo do vapor: (a 100 C) 5 x 10-6 $ / kg e (a 120 C) 1 x 10-5 $ / kg
custo de manuteno: 2 % do investimento / ano
tempo de operao: 8640 h / ano
critrio de desempenho:
custo anual = 50 % custo operacional + 10 % ao ano sobre o investimento

5) Um reator CSTR converte um reagente A em um produto B atravs de uma reao


cataltica endotrmica. O catalisador pode ser continuamente injetado no reator e a
temperatura do reator pode ser controlada pela injeo de vapor atravs de uma serpentina.
Alguma converso pode ser obtida somente com o aquecimento, sem a adio de catalisador.

156

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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 S a relao de kg de vapor / mol de alimentao. A converso em termos das
quantidades de catalisador e vapor dada por:

X B 0,1 0,3 X c 10 4 S 10 4 X c S
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.

6) Encontre o mnimo global da funo

f ( x ) x12 x 22 3x1 15x 2


sujeito a:

( x1 x 2 ) 2 4 ( x1 x 2 ) 0

157

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

Bibliografia Bsica
The Mathematical Theory of Optimal Processes L.S. Pontryagin, V.G. Boltyanskii,
R.V. Gamkrelidze & E.F. Mishchenko John Wiley & Sons, 1962.
The Variational Method in Engineering R. S. Schechter McGraw-Hill, 1967.
Optimization: Theory and Practice G. S. G. Beveridge & R. S. Schechter McGrawHill, 1970.
Applied Nonlinear Programming D. M. Himmelblau McGraw-Hill, 1972.
Nonlinear Programming M. S. Bazaraa & C. M. Shetty John Wiley & Sons, 1979.
Mathematical Programming. Theory and Algorithms M. Minoux John Wiley & Sons,
1986.
Programao No-Linear. Introduo Teoria e aos Mtodos P. Mahey Editora
Campus, 1987.
Practical Methods of Optimization F. Fletcher John Wiley & Sons, 1987.
Optimization of Chemical Processes T. F. Edgar & D. M. Himmelblau McGraw-Hill,
1988.
Nonlinear and Mixed-Integer Optimization: Fundamentals and Applications C.A.
Floudas Oxford Press, 1995.
Optimal Control F.L. Lewis & V.L. Syrmos John Wiley & Sons, 1995.
Optimierung M. Papageorgiou Oldenbourg Ed., 1996.
Systematic Methods of Chemical Process Design L.T. Biegler, I.E. Grossmann, A.W.
Westerberg Prentice Hall, Inc., 1997.
Numerical Optimization J. Nocedal & S. J. Wright Springer, 1999.
Numerical Optimization J. F. Bonnans, J. C. Gilbert, C. Lemarchal & C. A.
Sagastizbal Springer, 2003.
Nonlinear Optimization A. Ruszczynski Princeton University Press, 2006.
Nonlinear Programming: Concepts, Algorithms, and Applications to Chemical Processes
L. T. Biegler SIAM, 2010.

158

COQ-897 Otimizao de Processos - Profs. Argimiro e Evaristo - PEQ/COPPE/UFRJ

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 PseudoBoolean function, Comp. & Ind. Eng., 38, 323-340.

159