You are on page 1of 165

81,9(56,'$'()('(5$/'25,2*5$1'('268/

(6&2/$'((1*(1+$5,$

&8562'(3Ï6*5$'8$d­2(0(1*(1+$5,$48Ë0,&$

²2WLPL]DomRGH3URFHVVRV²

3URI$UJLPLUR56HFFKL

−  −
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

&RQWH~GR

)2508/$d­2'(352%/(0$6 

1.1 APLICAÇÕES .............................................................................................................................................5

1.2 NOMENCLATURA ......................................................................................................................................7

1.3 PROCEDIMENTO GERAL ...........................................................................................................................10

1.4 DIFICULDADES ENCONTRADAS ................................................................................................................10

&21&(,726%È6,&26  

2.1 MÍNIMOS E MÁXIMOS ..............................................................................................................................11

2.2 CONDIÇÕES PARA A OTIMALIDADE ..........................................................................................................11

2WLPL]DomRVHPUHVWULomR  

2WLPL]DomRFRPUHVWULo}HV 

2.3 CONVEXIDADE ........................................................................................................................................24

*HQHUDOL]DomRGHIXQo}HVFRQYH[DV  

2.4 FORMAS FUNCIONAIS ..............................................................................................................................29

2.5 ÁLGEBRA VETORIAL................................................................................................................................32

EXERCÍCIOS DE FIXAÇÃO...............................................................................................................................33

27,0,=$d­26(05(675,d­2 

3.1 MÉTODOS DE BUSCA MONOVARIÁVEL E MULTIVARIÁVEL .......................................................................34

0pWRGRGDVHomRiXUHD 

0pWRGRGDDSUR[LPDomRSROLQRPLDO  

0pWRGRGHEXVFDVHFFLRQDGD  

0pWRGRGH+RRNH -HHYHV 

0pWRGRGH5RVHQEURFN  

0pWRGRGH3RZHOO  

0pWRGRGHEXVFDGHOLPLWHV 

0pWRGRGRVSROLHGURVIOH[tYHLV 

2
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

0pWRGRVGHEXVFDDOHDWyULD  

3.2 MÉTODOS ANALÍTICOS (MÉTRICA VARIÁVEL) .........................................................................................54

0pWRGRVJUDGLHQWHV 

0pWRGRGH1HZWRQ  

0pWRGRGRJUDGLHQWHFRQMXJDGR  

0pWRGRVGDPpWULFDYDULiYHO  

7(25,$'$'8$/,'$'(  

4.1 PROBLEMA PRIMAL .................................................................................................................................66

4.2 PROBLEMA DUAL ....................................................................................................................................67

4.3 INTERPRETAÇÃO GEOMÉTRICA DO DUAL.................................................................................................68

4.4 DUALIDADE FRACA E FORTE....................................................................................................................71

352*5$0$d­2/,1($5 /3  

5.1 FUNDAMENTOS .......................................................................................................................................75

5.2 MÉTODO SIMPLEX ...................................................................................................................................77

3ULPHLUDVROXomRYLiYHO  

)RUPDSDGUmR  

5.3 MÉTODO DO PONTO INTERIOR (KARMARKAR) ........................................................................................83

352*5$0$d­21­2/,1($5 1/3  

6.1 PROGRAMAÇÃO QUADRÁTICA (QP)........................................................................................................86

6.2 RELAXAÇÃO LAGRANGEANA ..................................................................................................................90

6.3 FUNÇÕES PENALIDADE ............................................................................................................................93

6.4 PROGRAMAÇÃO LINEAR SEQÜENCIAL (SLP) ...........................................................................................97

6.5 GRADIENTES REDUZIDOS GENERALIZADOS (GRG)..................................................................................98

6.6 PROGRAMAÇÃO QUADRÁTICA SEQÜENCIAL (SQP) ...............................................................................103

([HUFtFLRVGHIL[DomR  

6.7 OTIMIZAÇÃO MULTI-OBJETIVO ..............................................................................................................109

3
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

352*5$0$d­2,17(,5$0,67$  

7.1 PROGRAMAÇÃO DINÂMICA....................................................................................................................121

7.2 PROGRAMAÇÃO LINEAR INTEIRA MISTA (MILP) ...................................................................................123

3ULQFtSLRGRVPpWRGRVGRVSODQRVGHFRUWH  

0pWRGRGHEUDQFKDQGERXQG  

7.3 PROGRAMAÇÃO NÃO LINEAR INTEIRA MISTA (MINLP).........................................................................132

'HFRPSRVLomR*HQHUDOL]DGDGH%HQGHUV *%'  

$SUR[LPDo}HV([WHUQDV 2$  

$SUR[LPDo}HV([WHUQDVFRP5HOD[DPHQWRGH,JXDOGDGH 2$(5  

$SUR[LPDo}HV([WHUQDVFRP5HOD[DPHQWRGH,JXDOGDGHH3HQDOLGDGH$XPHQWDGD 2$(5$3

 

$SUR[LPDomR([WHUQD*HQHUDOL]DGD *2$  

'HFRPSRVLomR&UX]DGD*HQHUDOL]DGD *&'  

%UDQFKDQG%RXQG(VSDFLDO 6%%  

27,0,=$d­2'(352&(6626',1Æ0,&26  

8.1 FORMULAÇÃO DA FUNÇÃO OBJETIVO E RESTRIÇÕES .............................................................................149

8.2 PRINCÍPIO DO MÍNIMO DE PONTRYAGIN ................................................................................................151

8.3 CONTROLE ÓTIMO .................................................................................................................................158

(;(5&Ë&,26  

%,%/,2*5$),$%È6,&$  

4
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

)RUPXODomRGH3UREOHPDV

Os componentes chaves da formulação de um problema de otimização são:


1) A função objetivo
2) O modelo do processo
3) As restrições
A função objetivo representa lucro, custo, energia, produção, distância, etc., em
termos das variáveis de decisão do processo ou sistema em análise. O modelo do
processo e as restrições descrevem as inter-relações entre estas variáveis.

$SOLFDo}HV

As técnicas de otimização, que buscam a melhor solução para um problema


(máximos ou mínimos de grandezas mensuráveis em seus domínios de definição),
fazem-se necessárias em muitas áreas da engenharia, tais como:
• pesquisa operacional: otimização de sistemas técnico-econômicos, controle
de estoques, planejamento de produção, etc.;
• projeto de processo: dimensionamento e otimização de processos, integração
mássica e energética de processos, estimação de parâmetros, reconciliação
de dados, análise de flexibilidade, etc.;
• controle de processo: identificação de sistemas, controle ótimo, controle
adaptativo, controle preditivo, estimadores de estados, etc.;
• análise numérica: aproximações, regressão, solução de sistemas lineares e
não-lineares, etc.
A otimização pode ser efetuada em diferentes níveis dentro de uma empresa,
desde uma combinação complexa de plantas e unidades de suprimentos, passando
por plantas individuais, combinações de unidades, equipamentos, peças de
equipamentos, até entidades menores. Portanto, o escopo de um problema de
otimização pode ser toda a empresa, uma planta, um processo, uma equipamento,
uma peça de um equipamento, ou qualquer sistema intermediário entre estes. Em
uma indústria típica existem três níveis que podem ser otimizados: nível gerencial,
nível de projeto de processo e especificação de equipamento e nível de operação de
plantas.

5
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Existe uma série de atributos de processos que afetam os custos ou lucros,


tornando-os atrativos para aplicação de otimização, tais como:
- vendas limitadas pela produção Å aumento de capacidade produtiva
- vendas limitadas pelo mercado Å aumento de eficiência ou produtividade
- grandes unidades de processamento Å redução dos custos de produção
- elevados consumos de matéria-prima ou energia Å redução do consumo
- qualidade do produto superior às especificações Å operar perto das restrições
- perda de componentes valiosos para os efluentes Å ajustes e re-aproveitamentos
- alto custo de mão-de-obra Å automação e replanejamento das unidades.
([HPSOR No projeto de um sistema de resfriamento representado abaixo:
:1 , 71 :2 , 72 :3 , 73

)
, Wo )
, W1 ) , W2 ) , W3
$1 , 81 $2 , 82 $3 , 83

:1 , 71 :2 , 72 :3 , 73
deseja-se dimensionar os trocadores de calor de modo a resfriar a corrente a
temperatura Wo para W3 com o menor custo possível. Uma análise econômica levou a
seguinte expressão do custo do sistema:
custo por unidade: F = D $ +E :

3
custo total: F
7
= ∑F L

L =1

onde o coeficiente D é função do tipo de trocador de calor e do fluido refrigerante e


E  é o custo unitário do refrigerante. Uma análise técnica (balanço de energia) gerou

as seguintes relações restritivas:


) &S W −7  ) &S
$ = ln −1 L
 L
e  =
: ( W  −1 − W  )
λ
L
8
L
 W −7  L L

onde &S é o calor específico da corrente, 8i é o coeficiente global de troca térmica e


λi é o calor de vaporização do refrigerante. Portanto, dados os tipos de trocadores de
calor e fluidos refrigerantes, e conhecidas as temperaturas 7i e as propriedades &S, λi

6
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

e 8i, o problema de levar a corrente (), Wo) para a condição (), W3) da maneira mais
econômica possível, consiste em minimizar F  no projeto dos trocadores de calor.

1RPHQFODWXUD

No contexto de otimização os problemas são tratados dentro da seguintes


definições:
IXQomRREMHWLYR : é a função matemática cujo máximo ou mínimo deseja-se
determinar. No exemplo acima a função objetivo é o custo total.
YDULiYHLVGHGHFLVmR : são as variáveis independentes que aparecem na função
objetivo. Correspondem, em número, ao excesso de variáveis
em relação ao número de equações (restrições de igualdade),
isto é, o JUDX GH OLEHUGDGH do sistema. No exemplo acima
tem-se 6 equações (3 para $ e 3 para :  ) e 8 variáveis (W1, W2,
$  e :  ), portanto 2 variáveis de decisão ou grau de liberdade

igual a 2.
UHVWULo}HV : são os limites impostos ao sistema ou estabelecidos pelas leis naturais
que governam o comportamento do sistema, a que estão sujeitas as
variáveis de decisão. As restrições podem ser de igualdade (equações)
ou de desigualdade (inequações). No exemplo acima tem-se 6 restrições
de igualdade e 3 restrições de desigualdade: W3 ≤ W2 ≤ W1 ≤ Wo.
UHJLmRGHEXVFD : ou região viável, é a região do espaço definido pelas variáveis de
decisão, delimitada pelas restrições, em cujo interior ou em cuja
fronteira se localiza o ótimo da função objetivo. No exemplo
acima, tomando W1 e W2 como variáveis de decisão, a região de
busca é aquela delimitada pelas restrições de desigualdade.

W2

W1 ≥ W2

W3

Wo W1

7
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

No exemplo acima, o problema de otimização foi gerado pela busca de um


projeto ótimo do processo. Outra aplicação típica de técnicas de otimização aparece
na melhoria das condições de operação de um processo em produção.
([HPSOR No processo de extração por solvente puro, ilustrado abaixo, deseja-se
encontrar a condição de operação com a maior lucratividade possível.

:1 :2

) , [o ) , [1 ) , [2
1 2

:¶1 , \1 :¶2 , \2

onde : e :¶  são vazões mássicas de solvente, ) é a vazão mássica de água, [


é a massa de soluto por unidade de massa de água e \  é a massa de soluto por
unidade de massa de solvente. Uma análise econômica levou a seguinte expressão do
lucro do sistema:
lucro: / = 5 – &

receita: 5 = 3 (:¶1 \1 + :¶2 \2)


custo: & = 3 (:1 + :2)

restrição: 5 > &

onde 3 é o preço do soluto no extrato, 3 é o preço do solvente puro. Uma análise


técnica gerou as seguintes relações restritivas:
balanços de massa para o soluto: ) [o – :¶1\1 –)[1 = 0
F [1 – :¶2 \ 2 – ) [2 = 0
balanços de massa para o solvente: :1 – :¶1 – V) = 0
:2 + V) – :¶2 – V) = 0
relações de equilíbrio: \1 = P[1
\2 = P [2

onde V é a solubilidade do solvente em água (massa de solvente / massa de água) e


P é a constante de equilíbrio entre as fases. Portanto, dados ), [o, V, P, 3 e 3 , o

problema de extrair o soluto da água da maneira mais lucrativa possível, consiste em


maximizar / em função das condições de operação. Este exemplo possui também 6
equações (4 equações de balanço de massa e 2 equações de equilíbrio) e 8 variáveis
8
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

(:  , :¶ , \ , [1 e [2), tendo portanto 2 variáveis de decisão, ou dois graus de


liberdade. Tomando [1 e [2 como variáveis de decisão, a região de busca para o
problema de otimização está delimitada pelas seguintes restrições de desigualdade:
[o > [1 > [2 > 0
/ [1 [2 ( , )>0
A figura abaixo ilustra a região de busca para ) = 1,0 x 104 kg-água / h, [o =
0,02 kg-soluto / kg-água, V = 7,0 x 10-4 kg-solvente / kg-água, P = 4,0 kg-água / kg-
solvente, 3 = 0,4 R$ / kg-soluto e 3 = 0,01 R$ / kg-solvente.

inviável
0.02 economicamente 0

0.015
5
X2

18
0.01

15
10
0.005

0.005 0.01 0.015 0.02 0.025 0.03


X1

Outra aplicação muito comum, que utiliza as técnicas de otimização, é o


ajuste de modelos matemáticos a dados experimentais (ajuste de curvas), onde a
função objetivo utilizada, 6([), é formada pelos quadrados dos desvios do modelo
em relação aos dados experimentais (mínimos quadrados):

( ) = ∑ [ \ ( [ ) − \ exp ] 2
6 [
 =1

onde \([) é o modelo proposto (ou tipo de curva) para ser ajustado aos 1 dados
experimentais \exp, e [ são os parâmetros de ajuste do modelo. Ou, se for utilizado o
método da máxima verossimilhança:

1
6 [ ( )=∑ [ \ ( [ ) − \  exp ] 2
 =1 σ
2

onde σ
2 são as variâncias dos dados experimentais.

9
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

3URFHGLPHQWRJHUDO

Não existe um único método que pode ser aplicado eficientemente para todos
os problemas. O método escolhido para um caso particular depende das
características da função objetivo, da natureza das restrições e do número de
variáveis do problema. Contudo, os seguintes passos devem ser observados na
solução de um problema de otimização:
1) Análise do processo e suas variáveis;
2) Determinação do critério para otimização e especificação da função objetivo em
termos das variáveis do processo;
3) Desenvolvimento do modelo para o processo, relacionando as suas variáveis
através de restrições de igualdade e desigualdade. Cálculo do grau de liberdade
do sistema;
4) Se a formulação do problema é de dimensão elevada, então procurar particionar o
problema em partes menores ou simplificar a função objetivo e/ou o modelo;
5) Aplicação de técnicas apropriadas de otimização;
6) Analisar a solução obtida e a sua sensibilidade frente a variações em parâmetros
do modelo e suas considerações (hipóteses).

'LILFXOGDGHVHQFRQWUDGDV

Problemas de otimização que apresentam funções objetivo e/ou restrições


complicadas podem apresentar grandes dificuldades para obter a solução pelo uso de
algumas técnicas de otimização. Algumas destas complicações estão listadas abaixo:
- função objetivo e/ou restrições podem apresentar descontinuidades;
- função objetivo e/ou restrições não lineares;
- função objetivo e/ou restrições podem estar definidas em termos de complicadas
interações entre as variáveis, podendo ocorrer valores não únicos destas variáveis
para o valor ótimo da função objetivo;
- função objetivo e/ou restrições podem exibir patamares (pouca sensibilidade à
variação das variáveis) para alguns intervalos das variáveis e comportamento
exponencial (muita sensibilidade) para outros intervalos;
- função objetivo pode apresentar ótimos locais.

10
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

&RQFHLWRV%iVLFRV

0tQLPRVHPi[LPRV

Seja uma função 6: ; ⊆ ℜn → ℜ. Diz-se que [* é um mínimo global (ou


absoluto) de 6 se 6([*) ≤ 6([) ∀ [ ∈ ;, e que [* é um mínimo local (ou relativo) de 6
se existe ε > 0, tal que 6([*) ≤ 6([) ∀ [ tal que ||[ − [*|| < ε. Se as desigualdades
forem estritas, isto é, 6([*) < 6([) tem-se mínimos globais e locais estritos.

6 [
( )
mínimos locais

[
mínimo global

Se existe um número β tal que 6([) ≥ β ∀ [ ∈ ; e, para um ε suficientemente


pequeno, 6([) < β + ε para algum [ ∈ ;, então β é o ínfimo (ou valor inferior) de
6([). Considerando os pontos ±∞, então toda função 6([) tem um ínfimo e um

supremo (ou valor superior) em ;. Nem toda função tem mínimo (máximo), mas se
ele existir deve ser finito e é obtido no ínfimo (supremo), isto é,
( ) = min 6 ( [) = inf 6 ( [)
6 [ [6([ ) = max 6 ( [) = sup 6 ( [) ]
∈;
[ ∈;
[ [∈; [∈;

Por exemplo, a função 6([) = H não tem máximo em ; = ℜ e a função 6([) = H não

tem mínimo em ; = ℜ. Contudo, o supremo de H é +∞, e o ínfimo de H é zero.

&RQGLo}HVSDUDDRWLPDOLGDGH

2WLPL]DomRVHPUHVWULomR

No caso da otimização sem restrições, onde deseja-se encontrar os pontos


extremos da função objetivo, tem-se as seguintes condições de otimalidade.
• Condição necessária de primeira ordem:

11
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Para que [* seja um mínimo (máximo) local da função 6([), diferenciável em


[*, é necessário que:

∇6([*) = 0

• Condição necessária de segunda ordem:


Para que [* seja um mínimo (máximo) local da função 6([), duas vezes
diferenciável em [*, é necessário que:
∇6([*) = 0 e que
( *) ≡ ∇26([*) seja positiva (negativa) semidefinida
+ [

onde +([*) é chamada de matriz Hessiana.


Observa-se que estas condições são apenas necessárias porque os termos de
primeira e segunda ordem podem estar nulos, deixando ainda dúvida sobre a
natureza de [*.

• Condição suficiente:
Seja 6([) duas vezes diferenciável em [* tal que:
∇6([*) = 0 e
+ [
( *) seja positiva (negativa) definida
então [* é um mínimo (máximo) local estrito de 6.
Pode-se analisar a condição da matriz Hessiana, + [
( *), pelas seguintes
formas:
1) Pela sua contribuição no termo de segunda ordem da expansão em série de Taylor
em torno do ponto ótimo.

1
6 ( [) − 6 ( [*) = ( [ − [*) + ( [*)( [ − [*) + L
2
2) Pelos sinais dos valores característicos de +([*).
Decompondo a matriz Hessiana em seus valores e vetores característicos:
+ [ ( *) = 9Λ9-1
onde 9 é a matriz dos vetores característicos (nas colunas) e Λ é a matriz dos valores
característicos (na diagonal). Definindo ]([) 9-1 ([ [ ) e lembrando que sendo a

12
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

 
matriz Hessiana simétrica então 9-1 = 9 (matriz ortogonal) e ([[ ) 9 = zT. Desta
forma a expansão em série de Taylor pode ser escrita como:

1 
∑ λ  ] 2 + L
1
6 ( [) − 6 ( [*) = ] Λ ] +L =
2 
2 =1

3) Pelos sinais dos determinantes das primeiras menores principais de +([*) (critério
de Sylvester).
A PHQRU 0   de uma matriz + é definida como a matriz obtida pela remoção
da L-ésima linha e da M-ésima coluna de +. Uma PHQRU SULQFLSDO de ordem N é uma
matriz obtida pela remoção de quaisquer Q – N colunas e suas linhas correspondentes
de uma matriz de ordem Q. A SULPHLUDPHQRUSULQFLSDO de ordem N de uma matriz +,
denotada por 0 (+), é obtida pela remoção das últimas Q – N colunas e linhas da
matriz +. Observa-se que os determinantes das primeiras menores principais de
ordem 1,2,...,Q da matriz Λ são, respectivamente: λ1, λ1λ2, ..., λ1λ2λ3⋅⋅⋅λ .
Na tabela a seguir apresenta-se as relações entre a matriz Hessiana e as três
formas de analisar a sua condição.

+ [
( *) Taylor λ ∆ = det (0 )
positiva semidefinida [
T
+ [ ≥0 ≥0 ≥0
T
positiva definida [ + [ >0 >0 >0

negativa semidefinida [
T
+ [ ≤0 ≤0 (-1) ∆ ≥ 0

negativa definida [
T
+ [ <0 <0 (-1) ∆ > 0
> >
≠ dos acima
T
não definida [ + [ 0 0
< <

Desta forma, pode-se afirmar que [* é:


• ponto de mínimo local se +([*) for positiva definida, 6([) > 6([*)
• ponto de máximo local se +([*) for negativa definida, 6([) < 6([*)
• ponto de sela se +([*) for não definida, ora 6([) > 6([*) e ora 6([) < 6([*)
Nas situações onde +([*) é semidefinida deve-se ainda investigar os termos
de ordem superior da expansão em série de Taylor.

13
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

([HPSOR 6 [ ( ) = ([2 – 1)3


[1 = 0
∇6([) = 6 [ ([ – 1) → ∇6([) = 0 [ 2 = 1 , satisfazem a condição necessária de
2 2

[ 3 = − 1
primeira ordem;
( ) = ([2 – 1) (30 [2 – 6) → +([1) = 6; +([2) = 0; +([3) = 0 satisfazem a
+ [

condição necessária de segunda ordem; contudo somente [1 satisfaz a condição


suficiente. Neste caso (univariável) [2 e [3 são pontos de inflexão, como pode ser
visto no gráfico abaixo, ou avaliando o valor da derivada terceira de 6([) nestes
pontos:
∇36([) = 24 [ (5 [2 – 3) → ∇36([2) = 48 ≠ 0 e ∇36([3) = – 48 ≠ 0.

6 [
2.0
1.5
1.0
0.5
0.0 [

-1.5 -1.0 -0.5 -0.5 0.0 0.5 1.0 1.5

-1.0
-1.5

([HPSOR 6 [ ( 1 , [ 2 ) = [12 + [1 [ 22

 2
∇6 ( [ ) =  2 [1 + [ 2 
 2 [1 [ 2 
então, [1* = [2* = 0, e:
 2 2 [2 
( [) =  → + [( *) =  20 00
2 [1 
+

2 [2  

isto é, uma matriz positiva semidefinida. O gráfico abaixo ilustra a função 6([), onde
observa-se que [* = 0 não é um ponto de mínimo.

14
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

150

100

50
S(x)

-50

-100
5
5
0
0

x2 -5 -5 x1

15
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

2WLPL]DomRFRPUHVWULo}HV

Seja o problema de otimização sujeito a restrições de igualdade, K [


( ), e
desigualdade, J([):
min 6([)
sujeito a: K  ([) = 0 , M = 1, 2, ..., P
g ([) ≤ 0 , M = 1, 2, ..., S

[ ∈;⊆ℜ
onde 6([), J([), e K([) ∈ &2. O conjunto de todos os pontos viáveis é definido por:

. = {[ ∈ ;⊆ ℜ / K([) = 0, g([) ≤ 0}

Uma restrição de desigualdade g ([) é chamada de DWLYD em um ponto viável


[ se g ( [ ) = 0, caso contrário ela é uma UHVWULomR LQDWLYD. As restrições ativas
restringem a região de viabilidade, enquanto que as inativas não impõem restrição
alguma na vizinhança do ponto [ , definida pela hiperesfera de raio ε em torno deste
ponto, denotada por %ε( [ ).
Um vetor G é chamado de YHWRU GH GLUHomR YLiYHO a partir do ponto [ se
existe uma hiperesfera de raio ε tal que:
ε
( [ +λ G) ∈ %ε( [ ) ∩ . para todo 0 ≤ λ ≤ .
G

O conjunto de vetores de direções viáveis a partir de [ é chamado de FRQH GH

GLUHo}HVYLiYHLV de . no ponto [ . A figura abaixo ilustra estas definições.

16
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Se G ≠ 0, então [ deve satisfazer as seguintes condições:



G ∇K( [ ) = 0

G ∇J( [ ) ≤ 0 para as J( [ ) ativas

e se G ∇6( [ ) < 0, então G é uma direção viável e promissora, isto é,
ε
6 ( [ + λ G) < 6( [ ) para todo 0 ≤ λ ≤ .
G

Se [ = [* é um ponto de mínimo local do problema, então para um λ


suficientemente pequeno, tem-se:
( *) ≤ 6([* + λ G).
6 [

A idéia chave para desenvolver as condições necessárias e suficientes para um


problema de otimização com restrições é transformá-lo em um problema de
otimização sem restrições e aplicar as condições para este caso. Uma forma de fazer
esta transformação é através da introdução de uma função auxiliar, chamada de
função de Lagrange, /([, λ, µ), definida como:
 
( , λ, µ) = 6([) + λ
/ [ ( )+µ
K [ ( ) , µ≥0
J [

onde λ e µ são os multiplicadores de Lagrange associados com as restrições de


igualdade e desigualdade, respectivamente (µ são também conhecidos como
multiplicadores de Kuhn-Tucker). Deste modo, o problema transformado torna-se:
max min / [( , λ, µ)
λ , µ ≥0 [

onde os multiplicadores λ associados com as restrições de igualdade, K([) = 0,


assumem sinais positivos quando K([) ≥ 0 e negativos quando K([) ≤ 0. No ponto
ótimo tem-se:
( , λ*, µ*) = 6([ )
/ [

Cada multiplicador de Lagrange indica o quão sensível é a função objetivo


em relação à restrição associada. Por exemplo, se as restrições de igualdade são
perturbadas por um vetor E, isto é, K ([) = E, então:
∇ 6(x*) = −λ*.
Note que neste caso a função de Lagrange tem a forma:

( , λ) = 6([) + λ [K ([) − E]
/ [

17
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

e sua sensibilidade em relação ao parâmetro E é dada por:


∇ / =∇ 7
E
[∇ 6([) + ∇
[
7
[
K  ([) λ] + ∇ λ [K ([) − E] − λ
7
E

Como os termos entre colchetes da expressão acima devem ser nulos no ponto ótimo
(condição necessária de primeira ordem), então:
∇ /([ , λ*) = −λ* e ∇ 6([ ) = −λ*
pois ∇ /([ , λ*) = ∇ 6([ ) + ∇ λ [K ([ ) − E] + ∇
7
E
7
E
K  ([ ) λ* − λ* ,
K  ([) = E e ∇ K ([) = ,
Portanto, o valor de 6([) aumenta ou diminui a partir de 6([*) com um aumento ou
diminuição em E, dependendo do sinal de λ*. Por isso, os multiplicadores de
Lagrange são também conhecidos como “VKDGRZ SULFHV” ou “custos marginais” das
restrições, porque a mudança no valor ótimo da função objetivo por unidade de
acréscimo no lado direito da restrição de igualdade é dado por λ*.
([HPSOR Seja o seguinte problema de otimização com restrição
min 6([) = ([1 − 5)2 + ([2 − 5)2
sujeito a: K([) = [1 − [2 = 0
Introduzindo uma perturbação na restrição de igualdade do tipo: [1 − [2 = E, então a
função de Lagrange toma a forma:
( , λ) = ([1 − 5)2 + ([2 − 5)2 + λ ([1 − [2 − E)
/ [

cujo gradiente nulo com relação a [1, [2 e λ leva ao seguinte sistema de equações:
2 ([1 − 5) + λ = 0
2 ([2 − 5) − λ = 0
[1 − [2 − E = 0
resultando na solução ótima: [1* = 5 + E / 2, [2 * = 5 − E / 2 e λ* = −E.
Deste modo 6([*) = E2 / 2 e ∇ 6(x*) = E = −λ*.
Para entender a origem da função de Lagrange, o ótimo do exemplo acima
deve satisfazer as seguintes condições:
∂6 ∂6
G6 = δ[1 + δ[2 = 0
∂[1 ∂[ 2

18
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

∂K ∂K
GK = δ[1 + δ[2 = 0
∂[1 ∂[ 2

Se 6([) fosse uma função sem restrição, então as suas duas derivadas parciais seriam
nulas no ponto ótimo e G6([ ) seria nulo para quaisquer valores das variações δ[1 e
δ[2. Entretanto, como as variáveis [1 e [2 estão restritas (δ[1 e δ[2 não são
independentes), as duas derivadas parciais de 6([) não podem ser arbitrariamente
igualadas a zero. Contudo, 6([) deve ser um extremo no ponto ótimo e portanto
G6([ ) = 0. A segunda condição, GK([ ) = 0, existe porque K([) = 0. Para se obter

uma solução (δ[1 e δ[2) não trivial do sistema de equações acima, a matriz dos
coeficientes do sistema:
 ∂6 ∂6 
 ∂[ ∂[ 2 
 1 
 ∂K ∂K 
 ∂[1 ∂[ 2 

deve ter determinante nulo, ou seja, as linhas da matriz são linearmente dependentes:
∂6 ∂K ∂6 ∂K
+λ =0 e +λ =0
∂[1 ∂[1 ∂[ 2 ∂[ 2

Então, definindo uma função auxiliar: /([, λ) = 6([) + λ K [
( )
as condições acima são satisfeitas se: ∇ /([, λ) = 0. Para que a restrição de
igualdade, K([) = 0, seja também satisfeita é necessário que ∇λ/([, λ) = 0. Portanto,
no ponto ótimo é necessário que ∇/([ , λ*) = 0.
A existência dos multiplicadores de Lagrange depende da forma das
restrições, e estará garantida se e somente se os gradientes das restrições de
desigualdade ativas, ∇J ([*), e das restrições de igualdade, ∇K([*), forem
linearmente independentes. Por exemplo, no caso de um problema somente com
restrições de igualdade, a condição necessária de primeira ordem para /([, λ) fica:
∇ 6([) + [∇ K([)]T λ = 0
cuja solução para λ existirá somente se a matriz ∇ K([) possuir posto completo, P ,
isto é, estar composta por P vetores linearmente independentes.
• Condição necessária de primeira ordem de Karush-Kuhn-Tucker (KKT):
Para que [* seja um ótimo local do problema com restrições, com 6([), J([), e
K([) diferenciáveis em [*, é necessário que:

19
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

os gradientes das restrições de desigualdade ativas, ∇J ([*), e das restrições de


igualdade, ∇K([*), sejam linearmente independentes (TXDOLILFDomR GH VHJXQGD
RUGHP das restrições), e que as seguintes condições sejam satisfeitas:
 
∇ /([ , λ*, µ*) = ∇6([ ) + (λ*) ∇K([ ) + (µ*) ∇J([ ) = 0
K [
( )=0
( )≤ 0
J [

µ * J ([ ) = 0 , M = 1, 2, ..., S
µ* ≥ 0
A condição de independência linear pode ser relaxada por outras
qualificações de primeira e segunda ordens das restrições (Floudas, 1995, pg. 59 e
64).
A condição do gradiente nulo, ∇ /([ , λ*, µ*) = 0, implica em:
 
(λ*) ∇K([ ) + (µ*) ∇J([ ) = −∇6([ )
que interpretada graficamente, figura abaixo, mostra que o vetor −∇6([ ) pertence
ao cone das direções viáveis, formado pelo gradientes das restrições de igualdade e
desigualdade ativas (uma vez que µ * = 0 para as restrições inativas).

20
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Supondo que −∇ 6([ ) caia fora do cone das direções


 viáveis, então haveria
uma direção G tal que G ∇6([ ) < 0, G ∇J([ ) ≤ 0 e G ∇K([ ) = 0, isto é, existiria
um ponto melhor que [*, como ilustra a figura abaixo.

• Condição necessária de segunda ordem de KKT:


Para que [* seja um mínimo local do problema com restrições, com 6([), J([),
e K([) duas vezes diferenciáveis em [*, é necessário que:
a condição de primeira ordem de KKT seja satisfeita e, que a matriz Hessiana da
função de Lagrange, ∇ 2 /([ , λ*, µ*), seja positiva semidefinida para todo vetor não
[

nulo G tal que:



G ∇K ([*) = 0 , L = 1, 2, ..., P

G ∇J ([*) = 0 para as J ([*) ativas

isto é, G ∇ 2 /([ , λ*, µ*)G≥ 0.
[

• Condição suficiente de KKT:

21
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Para que [* seja um mínimo local do problema com restrições, com 6([), J([),
e K([) duas vezes diferenciáveis em [*, é suficiente que:
a condição de primeira ordem de KKT seja satisfeita e, que a matriz Hessiana da
função de Lagrange, ∇ 2 /([ , λ*, µ*), seja positiva definida para todo vetor não
[

nulo G tal que:



G ∇K ([*) = 0 , L = 1, 2, ..., P

G ∇J ([*) = 0 para as J ([*) ativas {J ([*) = 0 e µ * > 0}

G ∇J ([*) ≤ 0 para as J ([*) inativas {J ([*) < 0 e µ * = 0}

isto é, G ∇ 2 /([ , λ*, µ*)G> 0.
[

A positividade da matriz Hessiana com restrição, isto é:


  
G ∇ 2 /([ , λ*, µ*)G> 0 ∀ G ∈ {G / G ∇K ([*) = 0, G ∇J ([*) = 0, G ≠ 0}
[

é garantida se todas as raízes do polinômio característico


λ, − ∇ 2 / 0
S (λ ) =  =0
0 0

forem positivas, onde 0 é a matriz formada pelos gradientes de K([*) e J([*) ativas,
isto é, a matriz tal que G 0 = 0, com PS < Q e com posto completo (S é o número
de restrições J ativas). O mesmo critério se aplica para semipositividade,
negatividade e seminegatividade, com os respectivos sinais das raízes.

([HPSOR  Verificar as condições necessárias e suficientes para o seguinte


problema (Edgar & Himmelblau, 1988 , pg. 314):
min 6([) = ([1 − 1)2 + [ 22

sujeito a: J1([) = [1 − [
2
2 /4≤0

([HPSOR Verificar as condições necessárias e suficientes para o problema com


a mesma função objetivo do exemplo 2.4, mas usando a seguinte restrição:
( ) = [1 −
J2 [ [
2
2 ≤0

22
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS


([HPSOR Verificar se o ponto [* = [1 4,9] é um mínimo local para o seguinte
problema (Edgar & Himmelblau, 1988 , pg. 316):
min 6([) = 4 [1 − [ 22 − 12

sujeito a: K1([) = 25 − 2
[
1 − [
2
2 =0

J1 [
( )= 2
[
1 − 10 [1 + [ 22 − 10 [2 + 38 ≤ 0
( ) = −([1 − 3)2 − ([2 − 1)2 ≤ 0
J2 [

( ) = −[1 ≤ 0
J3 [

( ) = −[2 ≤ 0
J4 [

23
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

&RQYH[LGDGH

Um subconjunto . de um espaço vetorial ; é dito convexo se ∀ [1, [2 ∈ . e


0 ≤ α ≤ 1:
α [1 + (1 – α) [2 ∈ .

e apresenta as seguintes propriedades:


a) β . = {[ ∈ . ⁄ [ = β \, \ ∈ . } é convexo para ∀ β ∈ ℜ;
b) . + / e . ∩ / são convexos para ∀ subconjunto convexo / de ;.

Seja . um convexo não vazio do ℜ . A função 6: . → ℜ é dita convexa se ∀
[1, [2 ∈ . e 0 ≤ α ≤ 1:

[α [1 + (1 – α) [2] ≤ α 6([1) + (1 – α) 6([2)


6

A função 6([) é estritamente convexa se a desigualdade for estrita. Uma função 7([)
é côncava se a função 6([) = –7([) for convexa.
Sejam 6([), 6 ([), L=1,2,...,Q, funções convexas em um convexo não vazio .

do ℜ , então as seguintes propriedades são apresentadas:
a) 6([) é contínua em qualquer ponto do interior de .;
b) as seções .ε = {[ ∈ . ⁄ 6([) ≤ ε} são conjuntos convexos;

24
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

!
c) 6([) = "∑ 6 " ( [) é uma função convexa. Se no mínimo uma 6# ([) é estritamente
=1
convexa, então 6([) é estritamente convexa;
d) β 6([) é convexa para β > 0 ∈ ℜ.
e) se todas 6# ([) < ∞ ∀ [ ∈ ., então 6([) = max{61([), 62([), ..., 6$ ([)} é convexa.
Quando 6([) é convexa, as condições de otimalidade simplificam-se, porque
as condições de segunda ordem são equivalentes à convexidade local da função.
Além disso, um mínimo local será também global e se a função for estritamente
convexa o mínimo global é único.
Para ilustrar, define-se \ = α [1 + (1 – α) [2 e w = α 6([1) + (1 – α) 6([2)

6 [
( ) 6 [ ( ) função côncava
função convexa
6 (y)
Z Z

6(y)

[ [

[1 \ [2 [1 \ [2

$
Seja ; um conjunto aberto não vazio do ℜ e 6([) uma função diferenciável
em [ ∈ ;. Se 6([) é convexa em [o, então
o

%
6 [ ( ) − 6([o) ≥ ∇ 6([o)([− [o)
Para uma função 6([) diferenciável em ;,
%
6 [ ( ) é convexa ⇔ 6 [ ( 2) − 6([1) ≥ ∇ 6([1)([2− [1) ∀ [1, [2 ∈ ;.
$
Seja ; um conjunto aberto não vazio do ℜ e 6([) uma função duas vezes
diferenciável em [o ∈ ;. Se 6([) é convexa em [o, então ∇26([o) é positiva
semidefinida. Para uma função 6([) duas vezes diferenciável em ;,
( ) é convexa ⇔ ∇26([) é positiva semidefinida ∀ [ ∈ ;.
6 [

$
Seja . um conjunto convexo não vazio do ℜ , [o ∈ . e G um vetor não nulo
tal que ([o + α G) ∈ . para um α > 0 suficientemente pequeno. Então, a GHULYDGD
GLUHFLRQDO de 6([) no ponto [ , ao longo da direção α, denotada por 6´([ ,G), é
o o

definida pelo seguinte limite (incluindo ±∞):

25
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

& &
& ([ + α G ) − 6([ )
6
6 ′( [ , G ) = lim+
α →0 α
o
Por exemplo, para uma aproximação [
% oquadrática em torno do ponto , a derivada
direcional é dada por 6´([ ,G) = ∇ 6([ ) G.
o

$
Seja . um conjunto convexo não vazio do ℜ e 6([) uma função convexa.
Então, o sub-gradiente de 6([) no ponto [o ∈ ., denotado por G, é definido como:
%
( ) ≥ 6([o) + G ([− [o) , ∀ [ ∈ .
6 [

Isto é, a aproximação linear com o uso do vetor G sempre resulta em uma sub-
estimativa de 6([).

*HQHUDOL]DomRGHIXQo}HVFRQYH[DV

Para generalizar a definição de funções convexas é necessário definir a


continuidade de funções escalares multivariáveis.
$
Sejam ; ⊆ ℜ , [o ∈ ;, e 6([): ; → ℜ.
6 [( ) é contínua em [o se:
para cada ε > 0 existir δ(ε) tal que ||[− [o|| < δ ⇒ |6([) −6([o)| < ε, ou
1 '
para cada seqüência [ , [2, ..., [ em ; convergindo para [o:
) )
) lim 6([ ) = 6  ) lim [  = 6 ( [ ( ) .
→∞  →∞ 

6 [( ) é contínua em ; se ela for contínua para todo [o ∈ ;.


6 [( ) é semicontínua inferior em [o se:
para cada ε > 0 existir δ(ε) tal que ||[− [o|| < δ ⇒ −ε < 6([) −6([o), ou
1 '
para cada seqüência [ , [2, ..., [ em ; convergindo para [o:
+  + 
lim
+ →∞ inf 6([ ) = 6  lim [  = 6 ([ * ) ,
 + →∞ 

onde lim inf 6 ( [ ) = lim min{6 ( [1 ), 6 ( [ 2 ),..., 6 ( [ )} .


P P

P →∞ P →∞

6 [( ) é semicontínua inferior em ; se ela for semicontínua inferior para todo [o


∈ ;.

26
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

IXQomRVHPLFRQWtQXDLQIHULRUIXQomRVHPLFRQWtQXDVXSHULRU

6 [ ( ) é semicontínua superior em [o se:


para cada ε > 0 existir δ(ε) tal que ||[− [o|| < δ ⇒ 6([) −6([o) < ε, ou
1 '
para cada seqüência [ , [2, ..., [ em ; convergindo para [o:
) )
) lim sup 6 ( [ ) = 6  ) lim [  = 6 ( [ ( ) ,
→∞  →∞ 

onde lim sup 6 ( [ ) = lim max{6 ( [1 ), 6 ( [ 2 ),..., 6 ( [ )} .


P P

P →∞ P →∞

6 [ ( ) é semicontínua superior em ; se ela for semicontínua superior para todo


[
o
∈ ;.

$
Seja . um convexo não vazio do ℜ . A função 6: . → ℜ é dita TXDVL

FRQYH[D se ∀ [1, [2 ∈ . e 0 ≤ α ≤ 1:

6[α [1 + (1 – α) [2] ≤ max{6([1), 6([2)}


A função 6([) é estritamente quasi-convexa se a desigualdade for estrita quando
6([1) ≠ 6([2). Uma função 7([) é (estritamente) TXDVLF{QFDYD se a função 6([) = –

7([) for (estritamente) quasi-convexa. Um mínimo local de uma função estritamente

quasi-convexa será também global.

27
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

)XQomRTXDVLFRQYH[D )XQomRHVWULWDPHQWHTXDVLFRQYH[D

Definindo as seções .ε = {[ ∈ . ⁄ 6([) ≤ ε}, então:


( ) é quasi-convexa ⇔ .ε é convexo ∀ ε ∈ ℜ.
6 [

$
Seja 6([) uma função semicontínua inferior no convexo . ⊆ ℜ . Se 6([) é
estritamente quasi-convexa em ., então 6([) é quasi-convexa, mas o converso não é
verdadeiro.
A soma de funções quasi-convexas não é necessariamente uma função quasi-
convexa, propriedade válida para funções convexas. Por outro lado, o recíproco de
uma função quasi-convexa, 1/6([), é uma função quasi-côncava, mas o recíproco de
uma função convexa não é necessariamente uma função côncava (já o recíproco de
,
uma função côncava positiva é uma função convexa). Por exemplo, 6([) = H é
convexa e 1/6([) é convexa também.
Seja 6([) uma função diferenciável em um conjunto convexo aberto não vazio
$
.⊆ℜ , então:
%
6 [ ( ) é quasi-convexa ⇔ ( 2) ≤ 6([1) → ∇ 6([1)([2− [1) ≤ 0 ∀ [1, [2 ∈ ..
6 [

Seja 6([) uma função quasi-côncava duas vezes diferenciável em um conjunto


$
convexo aberto não vazio .⊆ℜ , então uma direção, G, ortogonal ao ∇6([) exibe as
seguintes propriedades:
$ % %
a) se [
o
∈ ., G ∈ℜ e G ∇6([o) = 0, então G ∇26([o) G ≤ 0;

28
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

b) a matriz Hessiana de 6([) tem no máximo um valor característico positivo ∀ [ ∈


.. Isto é, a generalização da concavidade de funções (para quasi-côncavidade) é

equivalente à existência de no máximo um valor característico positivo da Hessiana.


$
Seja 6([) uma função diferenciável em um conjunto aberto não vazio ;⊆ℜ .
%
6 [ ( ) é SVHXGRFRQYH[D se 6 [ ( 2) < 6([1) → ∇ 6([1)([2− [1) < 0 ∀ [1, [2 ∈ ;.
Uma função 7([) é SVHXGRF{QFDYD se a função 6([) = –7([) for pseudo-
convexa. O recíproco de uma função pseudo-côncava, 1/6([), é uma função pseudo-
cônvexa. As seguintes relações são válidas:
a) uma função convexa diferenciável é pseudo-convexa;
b) uma função convexa é estritamente quasi-convexa;
c) uma função convexa é quasi-convexa;
d) uma função pseudo-convexa é estritamente quasi-convexa;
e) uma função estritamente quasi-convexa e semicontínua inferior é quasi-convexa.

)RUPDVIXQFLRQDLV

O método empregado para solucionar um problema de otimização depende,


fundamentalmente, da forma da função objetivo e de suas restrições. Com relação a
função objetivo tem-se:
Q

função linear: ( )=
6 [ D +F 7
[ = D + ∑F L
[
L

L =1

como neste caso ∇6([) = F ≠ 0 ∀ [, a função 6([) não apresenta pontos de máximo
ou mínimo. Para este tipo de função objetivo, só faz sentido a existência de um
problema de otimização com restrição, cuja solução, se existir, estará localizada em
algum ponto da fronteira da região de busca.
Q Q Q
1 1
função quadrática: 6 [ ( )= D+F 7
[ + [
7
$ [ = D + ∑F L
[
L
+ ∑∑D LM
[
L
[
M
2 L =1 2 =1 =1
L M

% % % % % %
como [ $[ é um escalar ⇒ [ $[ = [[ $[ ] =[ $ [ ,
- 1 - - - - 1 - 
tem-se que: [ $ [ = ([ $ [ +[ $ [ )= [
 2 ( $ + $ ) [ ,
2 

29
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

1 . /
então definindo 4 = ($ + $ ) , que é uma matriz simétrica: 4 = 4 ,
2
/ /
resulta em: [ $[ =[ 4[ , isto é:
Q Q Q
1 1
6 [ ( )= D+F 7
[ + [
7
4 [ = D + ∑F L
[
L
+ ∑∑T LM
[
L
[
M
2 L =1 2 =1 =1 L M

e portanto:
 ∂6   1  ∂[ Q Q
∂[  
= F + ∑ ∑ T 
M
∇6 ( [ ) =  
L
[ +[  ,
 ∂[   2 =1 =1  ∂[ ∂[  
N LM M L

N L M N N

∂[ 0 , L ≠ N  1 Q Q

mas como =δ L
= , tem-se: ∇6 ( [ ) =  F + ∑ ∑ ( T [ +T [ )
∂[
LN N NM M LN L

N 1 , L = N  2 =1 =1 L M 

e sabendo que a matriz 4 é simétrica:


 Q

∇6 ( [ ) =  F + ∑ T N LN
[
L  = F + 4[
 =1 L 

e + [ ( ) = ∇26([) = 4

com isto, a condição necessária de primeira ordem, ∇6([*) = 0, para este tipo de
função resulta em:
/ /
4 [ * = −F ou de forma similar ([*) 4 = −F
e
0 1 0 1 0
6 [ ( *) = D +F [ * + ( [ *) 4 [ *= D + F [ *
2 2
Subtraindo 6([*) da função 6([) tem-se:
1 1 1
( ) = 6 ( [*) + F ( [ − [*) +
6 [
1
2
[ [ 4 [ − ( [ *) 4 [ ]
*
/ /
como F = −([*) 4 ,
2 2 2 2
6 [ ( ) = 6 ( [ *) +
1
2
[ [ 4 [ − ( [*) 4 [ * − ( [ *) 4 ( [ − [*) − ( [ *) 4 ( [ − [ *) ]

30
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

3 3 3
( ) = 6 ( [*) +
6 [
1
2
[ [ 4 [ − ( [ *) 4 [ − ( [ *) 4 ( [ − [*) ]
4 4
( ) = 6 ( [ *) +
6 [
1
2
[
( [ − [ *) 4 [ − ( [ *) 4 ( [ − [*) ]
1 5
6 [ ( ) = 6 ( [ *) + ( [ − [ *) 4 ( [ − [*)
2

função não linear: 6([): ℜn → ℜ


a expansão em série de Taylor de 6([) em torno de um ponto [o é dada por:
4 1 4
( ) = 6 ([0 ) + ∇
6 [ 6 [
( 0 ) ([ − [ 0 ) + ([ − [0 ) ∇ 2 6 ([0 ) ([ − [0 ) + K
2
No caso particular de [o = [*, tem-se ∇6([*) = 0 e:

1 6
( ) ≈ 6 ( [*) +
6 [ ( [ − [*) + [ ( *) ( [ − [*)
2

 ∂26 
Se 6([) for duas vezes diferenciável em [*, então + [ ( *) =   é simétrica.
 ∂ [
L
∂ [
M *
[

Portanto, tanto no caso de função quadrática, onde +([*) = 4, quanto no caso geral
de função não-linear, a matriz Hessiana fornece as características do(s) ponto(s)
ótimo(s) de 6([).

Algumas observações adicionais:


1) no caso de 6([) ser uma função quadrática, o ponto ótimo é global;
2) se +([*) é positiva definida, então 6([) é estritamente convexa na vizinhança de
[* (ou ∀ [ no caso da função quadrática);

3) se +([*) é positiva semidefinida, então 6([) é convexa na vizinhança de [* (ou ∀


[ no caso da função quadrática)..

4) se +([*) é negativa definida, então 6([) é estritamente côncava na vizinhança de


[* (ou ∀ [ no caso da função quadrática);

31
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

5) se +([*) é negativa semidefinida, então 6([) é côncava na vizinhança de [* (ou ∀


[ no caso da função quadrática);

/ /
função mista linear e inteira: 6([, \) = F [ +G \ , [ ∈ ; ⊆ ℜn e \ ∈<
7
onde \ é um vetor de variáveis inteiras de dimensão T, < ⊆ ℑ , ou um vetor de
7
variáveis binárias de dimensão T, < = {0, 1} . Como a função é linear, só faz sentido
a existência de um problema de otimização com restrição.

função mista não linear e inteira: 6([, \): ; × <→ ℜ


Problemas de otimização mista não linear e inteira apresentam grandes desafios e
dificuldades associados com o caráter combinatorial do domínio discreto (inteiro)
junto com as comumente encontradas não convexidades e não linearidades do
domínio contínuo.

função unimodal: é a função que apresenta apenas um extremo.


função multimodal: é a função que apresenta mais de um extremo.
NOTA: toda função côncava ou convexa é unimodal, mas nem toda função
unimodal é necessariamente côncava ou convexa. Veja exemplo 6([) = ([2 – 1)3.

ÈOJHEUDYHWRULDO
8 8 8
Sejam [ e\ ∈ ; ⊆ ℜ , $ e% ∈ ℜ × , 6([): ; → ℜ, J([) e K([): ; → ;. Então
as seguintes regras de diferenciação se aplicam:
/ / /
∇[J([) ( )] = ∇ J([) K([) + ∇ K([) J([)
K [
/
∇[6([) g([)] = g([) ∇ 6([) + 6([) ∇J([)
∇($[) = $
/
∇([ $ )=$
/ /
∇([ $[ ) = ($ + $ ) [
/
∇6[J([)] = ∇ J([) ∇g6(J)
/ /
∇6{J[K([)]} = ∇ K([) ∇9 ( ) ∇g6(J)
J K

32
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

∇J[K([)] = ∇9 J(K) ∇K([)


:
G ([ \ ) : :
= [& \ + [ \&
GW

G ( $ [)
= $& [ + $ [&
GW

G ( $ %)
= $& % + $ %&
GW
4
G ([ $[ ) 4 4 4
= [& $[ + [ $& [ + [ $[&
GW

([HUFtFLRVGHIL[DomR

1. Teste as condições necessárias e suficientes do problema abaixo.


min 6([) = [1 [2
sujeito a: J
1 ([ ) = 2
[
1 + [ 22 − 25 ≤ 0

2. Determine se as funções abaixo são côncavas, convexas, estritas ou não, ou


nenhum destes casos ?
a) 6 [ ( ) = 2 [1 + 3 [2 + 6
b) 6 [ ( ) = 2 [12 − 3 [1 [ 2 + 2 [22

c) 6 [ ( )= [
3
1 + [22 − 3 [1 + 8 [ 2 + 2

3. Verifique se as restrições abaixo, definindo uma região fechada, formam uma


região convexa.
J1 [ ( ) = − [12 + [2 ≥ 1 e ( ) = [2 − [1 ≤ 2
J2 [

NOTA: se todas as restrições colocadas na forma Ji([) ≤ 0 são funções convexas (ou
na forma Ji([) ≥ 0 são funções côncavas), então elas formam uma região convexa.
Funções lineares são tanto convexas quanto côncavas.
4. Mostre que a função 6([) = −[1 [2 com [1 ≥0 e [2 ≥ 0 é quasi-convexa. Ela é
também convexa ? Por quê ?
5. Mostre que a função 6([) = 2
[
1 + 5 [1 [ 2 + 3 [ 22 com [1 >0 e [2 > 0 é pseudo-
convexa. Ela é também convexa ? Por quê ?

33
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

2WLPL]DomR6HP5HVWULomR

Na otimização sem restrição o problema que está sendo resolvido é:

PLQ 6 [ ( ) ou PD[ 6 [ ( )
[ ∈ℜ ; [ ∈ℜ ;

como PD[ 6 [ ( ) é equivalente a PLQ −6 ( [ ) , os métodos descritos a seguir são


[ ∈ℜ ; [ ∈ℜ <

para problemas de minimização. Os métodos existentes para a solução deste


problema podem ser agrupados em duas categorias:
1) métodos que não usam derivadas (métodos de busca, métodos diretos);
2) métodos que usam derivadas (métodos analíticos, métodos da métrica
variável, métodos indiretos).
Como regra geral, na solução de problemas sem restrição, os métodos que usam
derivadas convergem mais rapidamente que os métodos de busca. Por outro lado, os
métodos de busca não requerem regularidade e continuidade da função objetivo e,
principalmente o cálculo de derivadas primeira ou segunda de 6([).

0pWRGRVGHEXVFDPRQRYDULiYHOHPXOWLYDULiYHO

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


critérios:
1) Número de problemas resolvidos
2) Número de cálculos da função objetivo em cada exemplo
3) Tempo computacional para a solução de cada exemplo
Pode-se então definir uma tabela de classificação, com índices de 0 (pior) a 100
(melhor) usando os seguintes índices:

= >* @ A*
100 7 100 6 1 C
θ? =
1

> =1 7? ,>
χB =
1

A =1 6 B ,A
η C = 100
1

onde, para o L-ésimo algoritmo, θ D é a sua eficácia, χD é a sua eficiência, η D é a sua


robustez para resolver problemas, 7D E F é o seu tempo computacional para resolver o
34
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

problema M, 7G * é o menor tempo entre os algoritmos para resolver o problema M, 6 D E F é


o seu número de avaliações da função objetivo para resolver o problema M, 6 G* é o
menor número de avaliações entre os algoritmos para resolver o problema M, 1D é o
seu número de problemas resolvidos e 1 é o número total de problemas. Quando o L-
ésimo algoritmo não consegue resolver o M-ésimo problema, então 7D E F = ∞ e 6 D E F = ∞.

0pWRGRGDVHomRiXUHD

É um método de busca monovariável, onde a cada iteração o intervalo de busca é


reduzido por um fator α, chamado de razão áurea, obtido pela relação geométrica
abaixo (retângulo áureo) :
D −E E
=
D E D

2
 E E
E   + −1= 0
 D D

D E
- E
E − 1+ 5
α= = = 0,618
D 2
Outras escolhas do fator α levariam a métodos similares, como por exemplo o
método da bisseção para α = 0,5. Contudo, a vantagem da razão áurea está na
redução do número de cálculos da função objetivo, em função da propriedade deste
método de conservar o retângulo áureo a cada iteração. Outro método com
características similares a seção áurea é a busca de Fibonacci.
algoritmo
1) Determinar o intervalo de busca [/o, 8o] que contém o ponto de mínimo
2) Fazer N = 0 e calcular ∆o = 8o − /o,
[
o
/
= o
/ + α ∆o , 6
o
/
= 6 ([ o ) , /

[
o
8
= 8 o − α ∆o , 6
8
o
= 6 ([ o ) , 8

+1 +1
3) 6H 6 [
( N

8
) > 6 ([ ) ,
N

/
HQWmR /
N +1
=[ , N

8
[
N

8
= [
N

/
, 6
N

8
= 6
N

+1 +1
VHQmR 8
N +1
= [
N

/
, [
N

/
= [
N

8
, 6
N

/
= 6
N

H
4) Fazer (N ← N + 1) e calcular ∆ = 8k − /k,

35
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

−1 −1
[
k
/
= /
k
+ α ∆k , 6
k
/
= 6 ([ k )
/
se 6 [
( N

8
) > 6 ([ N

/
)
−1 −1
ou [
k
8
= 8 k − α ∆k , 6
k
8
= 6 ( [ k ) se
8
6 [
( N

8
) < 6 ([ N

/
)
H
5) 6H ∆ > ε (tolerância), HQWmR (ir para 3)
VHQmR FIM.
6 [
( ) 6 [
( )

6 [U
( )
6 [L( )

6 [L
( ) 6 [U
( )
[ [
[U [L [U [L
/ 8 / 8

α∆ α∆
α∆ α∆

0pWRGRGDDSUR[LPDomRSROLQRPLDO

Na verdade é uma classe de métodos de busca monovariável, que aproxima a função


6([) por uma interpolação polinomial, 3I ([):

3
Q
( [) = ∑ l ( [)6 ( [ ) M M
M =1
J
( [ − [L )
onde l K ( [) = L ∏ L são os interpoladores de Lagrange. Quando a derivada de
K
L =1K ( [ − [ )

6 [
( ) está disponível, então ela também é usada na aproximação polinomial:

[ 1( ]
Q

3
2 Q −1 ( [ ) =∑ K [ ) 6 ( [ ) + K2 ( [ ) ∇ 6 ( [ )
M M
M =1

onde K
1 ( [) [
= l 2M ( [) 1 − 2 ( [ − [ M )∇l M ( [ M ) ] e K
2 ( [) = l 2M ( [) ( [ − [ M ) são os
interpoladores de Hermite.

,QWHUSRODomRTXDGUiWLFDRXPpWRGRGH&RJJLQV RX'6&3RZHOO

O método de G.F. Coggins (1964) ou de Davies-Swann-Campey-Powell (1964)


aproxima a função 6([) por uma interpolação quadrática, 32([):

36
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

( [ − [2 )([ − [3 ) ( [ − [1 )([ − [3 ) ( [ − [1 )([ − [2 )


3
2 ( [) = 6 ([ ) +
1 6([ ) +
2 6([ )
3
( [1 − [2 )([1 − [3 ) ( [2 − [1 )([2 − [3 ) ( [3 − [1 )([3 − [2 )
G3
calculando o mínimo desta função quadrática, isto é, 2
= 0 , tem-se:
G[

1 ( [22 − [32 )6 ( [1 ) + ( [32 − [12 )6 ( [2 ) + ( [12 − [22 )6 ( [3 )


[
#
=
2 ( [2 − [3 )6 ( [1 ) + ( [3 − [1 )6 ( [2 ) + ( [1 − [2 )6 ( [3 )

algoritmo
1) Determinar o intervalo de busca [[1, [3]
2) Calcular 61 = 6([1) e 63 = 6 ([ 3 )
3) Calcular [2 = 0,5 ([1 + [3) e 62 = 6 ([ 2 )

1 ( [22 − [32 )61 + ( [32 − [12 )6 2 + ( [12 − [22 )6 3 N N


4) Calcular [
#
= e 6 = 6 ([ )
2 ( [2 − [3 )61 + ( [3 − [1 )6 2 + ( [1 − [2 )6 3
N
5) 6H |[ − [O | < ε para algum L = 1, 2, 3, HQWmR FIM.
N N
6) 6H ([3 − [ ) ([ − [2) > 0, HQWmR N = 1
VHQmR N =3
N
7) 6H 6 < 62 , HQWmR [ P ← [2 , 6 P ← 62 e N =2
N N
8) [4-P ← [ , 64- P ← 6 e (ir para 4).

32 [ ( )
6 [
( )

N
6 [ ( )
N [
[1 [2 [3
[

,QWHUSRODomRF~ELFD

Para a aproximação cúbica são necessárias quatro informações sobre a função


objetivo, ou seja, quatro valores da função ou dois valores da função e de sua
derivada:

37
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

[ 1( ]
4 2
3
3 ( [) = ∑ l ( [)6 ( [ ) M M
ou 3
3 ( [) =∑ K [ ) 6 ( [ ) + K2 ( [) ∇6 ( [ )
M M
M =1 M =1

3 2 1
Escrevendo o polinômio na forma: 33([) = D3 [ + D2 [ + D1 [ + D0 , a condição
necessária de primeira ordem para o mínimo:
G3
3 ( [)
= 3 D3 [2 + 2 D2 [ + D1 = 0
G[

− D2 ± D
2
2 − 3 D1 D3
resulta no ponto [
#
= cujo sinal usado é aquele que fornece um
3 D3
N
valor positivo para a derivada segunda de 33([), isto é, 6 D3 [ + 2 D2 > 0. No caso de
usar dois pontos tem-se as expressões:
 ∇6 ( [ 2 ) + Z − ] 
[
#
= [
2 −  ( [2 − [1 )
 ∇6 ( [2 ) − ∇6 ( [1 ) + 2 Z 

onde ] = ∇6([1) + ∇6([2) − 3 [6([1) − 6([2)] / ([1 − [2) e


Z = []2 − ∇6([1) ∇6([2)]1/2
algoritmo
1) Determinar o intervalo de busca [[1, [2]
2) Calcular 61 = 6([1), ∇61 = ∇6([1) e 62 = 6([2), ∇62 = ∇6([2)
N N N N N
3) Calcular [ , 6 = 6([ ) e ∇6 = ∇6([ )
N
4) 6H |[ − [O | < ε para algum L = 1, 2, HQWmR FIM.
N
5) 6H ∇6 ∇61 > 0, HQWmR N =1
VHQmR N =2
N N N
6) [P ← [ , 6 P ← 6 , ∇6P ← ∇6 e (ir para 3).

0pWRGRGHEXVFDVHFFLRQDGD

É um método de busca multivariável, mas em uma única direção por vez, que utiliza
os métodos de busca univariável em cada direção. As figuras abaixo ilustram a idéia
do método na busca de um ponto de mínimo.

38
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

6 [( )
[1 =D
[1 =G

[1 =E [1 =F

6 [
( )

[2

[2 *

0pWRGRGH+RRNH -HHYHV

É um método de busca multivariável dividido em duas fases (R. Hooke e T.A.


Jeeves, 1962):
fase de exploração: estimar a direção provável do extremo, a partir de um ponto
inicial (ponto base).
fase de progressão: progredir na direção provável do extremo enquanto o valor da
função objetivo for diminuindo.
4
[2 [2
δ
+ +
[21 9 [21 9
δ δ
δ2
[20 17
δ1 δ1 [20 17
15 10 15 10
δ2
− −
[21 12 [21 12

[1 [1
− + − +
[11 [10 [11 [11 [10 [11

exploração progressão

algoritmo
Partida:
1) Determinar a região de busca [/ O , 8 O ], (L = 1,2,...,Q)
2) Selecionar o ponto base inicial [L o (L = 1,2,...,Q)

39
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

3) Calcular o valor 6o = 6([o) da função objetivo em [o


4) Selecionar os incrementos iniciais δ e as respectivas tolerâncias ε (L = 1,2,...,Q)
L L

5) Tomar a primeira direção de busca (N = 1)


Fase de Exploração:

6) Calcular [
No = [
N
o − δ (sentido negativo)
N


7) 6H [
No estiver fora da região de busca, HQWmR insucesso em N- (ir para 10)

8) Calcular o valor de 6
o = 6 ( [ o− )

9) 6H 6
o > 6o HQWmR insucesso em k-
-
VHQmR sucesso em k e fazer [
N o ← [ −o e
N
6
o ← 6 o− (ir para 14)
+
10) Calcular [
No = [
N
o + δ (sentido positivo)
N

+
11) 6H [
No
estiver fora da região de busca, HQWmR insucesso em N+ (ir para 14)
12) Calcular o valor de 6
+
o = 6 ( [ o+ )
+
13) 6H 6
o > 6o HQWmR insucesso em N+
VHQmR sucesso em N+ e fazer [
N o ← [ +o e
N
6
o ← 6 o+
14) 6H já foram exploradas todas as direções (N = Q) HQWmR (ir para 15)
VHQmR tomar a direção seguinte (N ← N + 1) e (ir para 6)

15) 6H houve sucesso em alguma direção HQWmR (ir para 17)


16) 6H δ ≤ ε L L
∀L HQWmR FIM.
VHQmR δ ← δ / 2 ∀Ltal que δ > ε (ir para 5)
L L L L

Fase de Progressão:
17) Tomar [ 1 = [ ± δ (e, opcionalmente, δ ← 2 δ ) para todas as direções que
L LR L L L

houve sucesso
18) 6H x1 estiver fora da região de busca, HQWmR insucesso na progressão (ir para 5)
19) Calcular o valor de 6
1 = 6 ( [1 )
20) 6H 6
1 > 6o insucesso na progressão (ir para 5)
HQWmR

VHQmR sucesso na progressão e fazer [


o ← [1 e 6
o ← 61 (ir para 17)

0pWRGRGH5RVHQEURFN

É um método de busca multivariável parecido com a fase de exploração do método


de Hooke & Jeeves (H.H. Rosembrock, 1960). Entretanto, ao invés de

40
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

continuamente explorar nas direções dos eixos coordenados, são construídas novas
direções ortogonais, usando o procedimento de Gram-Schmidt, baseadas nos
tamanhos dos passos das direções bem sucedidas.
Q
Sejam G
N
L
∈ ℜ , L = 1,2, ..., Q, vetores direção unitários do N-ésimo estágio de
busca e ∆ = ∑ δ a soma de todos os passos bem sucedidos (distância percorrida) na
N
L L

L-ésima direção durante o N-ésimo estágio de busca. Ordenando os valores das

distâncias em ordem decrescente: ∆1 > ∆ 2 > L > ∆ , onde as últimas P direções N N N


Q

(se existirem) possuem ∆ = 0 , L = (Q − P) + 1, ..., Q, então os novos vetores direção


N
L

para o estágio de busca N + 1 são obtidos pelo seguinte processo de ortogonalização:


Q

$
N
L
= ∑∆ N
M
G
N
M
, 1≤L≤Q
M =L

N
+1 $
G
N
1 = 1
N
$
1

−1
[ ]
N
L
+1 % +1 +1
G
N
L
= L
, %
L
N
= $
L
N
− ∑ ($ ) N
L
7
G
N
M
G
N
M
1 < L ≤ (Q − P )
N
%
L
M =1

+1
G
N
L
=G N
L
(Q − P )  i ≤ Q

algoritmo
1) Selecionar o ponto base inicial [o, fazer N = 0, e G
0
L
= H (direção dos eixos)
L

2) Selecionar os incrementos iniciais δ e as respectivas tolerâncias ε (L = 1,2,...,Q) L L

3) Calcular 6 R = 6([o) , escolher a direção P =1 e fazer ∆0 = 0 (L = 1,2,...,Q) L

4) Fazer [1 = [o + δS G
N
P
e calcular 61 = 6([1)

5) 6H 61 > 6 R HQWmR insucesso e fazer δS ← −δS / 2


VHQmR sucesso e fazer [
o
← [1 , 6 R ← 61 , ∆ ← ∆ + δ , δ S ← 3 δ S
N
P
N
P P

6) Se alguma direção ainda não teve insucesso, fazer P ← min{P+1, Q} (ir para 4)
7) 6H δ ≤ ε L L
∀L HQWmR FIM.

8) Calcular a nova direção ortogonal e fazer N ← N + 1(ir para 4).

41
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

0pWRGRGH3RZHOO

É um método de busca multivariável ao longo de direções conjugadas (C.S. Smith,


Q
1962 e M.J.D. Powell, 1964). Duas direções G1 e G2 ∈ ℜ são ditas conjugadas entre
si, com respeito a uma matriz +, se:
7
G
1 + G2 =0
A ortogonalidade é um caso particular de conjugância, onde + = ,. Em geral, um
Q
conjunto de Q direções linearmente independentes G T ∈ ℜ , L = 1,2,...,Q, são
Q Q
conjugados com respeito a uma matriz positiva definida + ∈ ℜ × se:
G
7
L
U =0 1≤L≠M≤Q
+ G

Se + é a matriz Hessiana de uma função quadrática, 6([), então o mínimo é


alcançado após Q estágios de buscas unidirecionais exatas. Se os eixos coordenados
são transladados e rotacionados por transformações adequadas de modo que os eixos
estejam nas direções dos vetores característicos de + e centralizados no ponto
estacionário de 6([), então a conjugância pode ser interpretada como ortogonalidade
no espaço transformado.
Para construir uma direção conjugada sem o uso das derivadas de 6([), pode-
V
se partir de um ponto [o e obter o ponto [ que minimiza 6([) ao longo de uma
direção G, como ilustra
W a figura abaixo. Então, partindo de outro ponto [1 ≠W [o e
V
obtendo o ponto [ que minimiza 6([) ao longo da mesma direção G, o vetor ([ − [ )
é conjugado ao vetor G, com respeito a matriz Hessiana, +, se 6([) é uma função
quadrática (para funções não lineares em geral, este conceito é uma aproximação).

42
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Para verificar esta conjugância, basta representar 6([) em série de Taylor em torno
do ponto [o:
Y 1 Y
6 ( [) = 6 ( [ X ) + ∇ 6 ( [ X )( [ − [ X ) + ( [ − [ X ) + ([ − [ X )
2
e minimizá-la ao longo da direção G: [ = [o + α G, isto é, obter α tal que:
[
G6 ([ + α G ) Z [ Z Z [ Z
=0=∇ 6 ([ ) G + G + α G = G ∇6 ( [ ) + G + αG

∇ 7
6 ([ ) G R

resultando em: α = 7
G + G

\ \
Rescrevendo a função 6([) na forma: 6([) = D + E [ +½[ +[ , tem-se:
∇6([) = E + + [ e ∇6([o) = E + + [o
V
que substituído na equação G6/Gα = 0, sabendo que α G [ − [o, resulta em:
\ \ V \ V
G (E + +[o) + G + ([ − [o) = 0 → G (E + +[ ) = 0
\ V
e portanto: G ∇6([ ) = 0, isto é, o gradiente de uma função quadrática no mínimo da
direção de busca
\ éW ortogonal
\ a esta
W direção. Fazendo a mesma análise para o ponto
[ , tem-se: G ∇6([ ) = G (E + +[ ) = 0. Subtraindo estes dois resultados chega-se a:
1

\ W V
G + [  ( −[ )=0
W V
que mostra que G é conjugado a direção ([ − [ ) com respeito a matriz +.
O método de Powell é uma implementação da busca em direções conjugadas,
que pode ser sumarizado nos seguintes passos:
algoritmo
1) Selecionar um ponto inicial [
0
0, fazer estágio N = 0 e G
0
L
= H (direção dos eixos)
L

2) A partir do ponto [
N
0 determine α1 via busca unidimensional na direção de G
N
1 e
[
1
N
= [
N
0 + α1 G
N
1 . A partir do ponto [
N
1 , determinar α2 via busca
unidimensional na direção de G
N
2 e fazer [
N
2 = [
N
1 + α2 G
2
N
, e assim
sucessivamente até determinar todos os αT , L = 1, 2, ..., Q. A transição do ponto
N N
[
0 para o ponto [ é equivalente a: P

_ _ ] _
[ ] = [0 + ∑ α^ G^ , P = 1, 2, ..., Q
^ =1

43
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

3) Calcular [
Q
N
+1 = 2[ − N
Q
[
N
0 , isto é, fazer um passo adicional de tamanho ( [ − N
Q

N
[
0 ) na direção resultante das Q buscas unidimensionais. Este passo procura
garantir que duas direções de busca não se tornem colineares quando algum αT =
0.
` ` `
4) Calcular ∆ = a maxb [ 6 ( [ a −1 ) − 6 ( [ a )] . A direção de busca relativa a esta variação
=1,...,
N N N
máxima será designada por G . Definindo 61 = 6( [0 ), 62 = 6( [ ) e 63 =
P
c c Q

6 ([ Q
N
+1 ), 6H 63 ≥ 61 e/ou (61 − 2 62 + 63) (61 − 62 − ∆ )2 ≥ ½ ∆ (61 − 63)2, HQWmR
+1
usar as mesmas direções do estágio N, isto é, G
N
L
=G , N
L
L = 1, 2, ..., Q e iniciar o
+1
próximo estágio a partir do ponto [
N
0 = [
N
Q
(ou [
N
Q +1 se 63 > 62).

5) 6HQmR usar as direções [ G1 +1 N


G
N
2
+1
... G
N
Q
+1
] = [ G1 N
G
2
N
... G
N
P −1 G
N
P +1 ... G
N
Q
G
N
],
N
onde a direção G
P
(de máxima variação) é eliminada e a nova direção
N N N
resultante, G , (de [
0 para [
Q
) é incluída em último lugar, com o
+1
correspondente valor de α obtido via minimização nesta direção e [
N
0 = [
N
Q
+
α G
N
.
6) 6H [
N
Q
− [0 ≤ ε
N
HQWmR FIM

7) Fazer N ← N + 1(ir para 2).

0pWRGRGHEXVFDGHOLPLWHV

A maioria dos métodos de busca necessitam da definição do intervalo de busca, que


contém o ponto extremo, para garantirem a determinação do ótimo. Segue abaixo um
algoritmo de busca para a determinação de um intervalo [[o, [1] que contém um
ponto de mínimo.
algoritmo
1) Escolher um ponto inicial, [o, e um passo inicial, α
2) Calcular 6o = 6([o), N =0
3) Calcular [1 = [o + α e 61 = 6 ([ 1 )
4) 6H 6o ≤ 61 , HQWmR α ← −α, N ← N + 1 e (ir para 7)
5) 6o ← 61, α ← 2 α, [1 = [o + α e 61 = 6 ([ 1 )

44
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

6) 6H 6o > 61 , HQWmR (ir para 5)


VHQmR N = 1 (ir para 8)
7) 6H N < 2, HQWmR (ir para 3)
8) [o ← [o + α (N - 1), I = [[o, [1], FIM.

0pWRGRGRVSROLHGURVIOH[tYHLV

É um método de busca multivariável (J.A. Nelder e R. Mead, 1964), onde o pior


vértice de um poliedro com Q + 1 vértices é substituído por um novo vértice colinear
com o vértice antigo e o centróide, como ilustra a figura abaixo.

p l

g hji
e f hkh q
o h
hml
d
h n
q
l
p h

As coordenadas do centróide são dadas por:


1  +1
Q

[
0, M = ∑ [ , − [ L M K M
,  M = 1,2,K Q
Q
 =1 L 
onde [tr s u é o pior vértice.

O algoritmo envolve quatro operações de busca, que para o caso da


minimização da função objetivo têm as seguintes formas:

 [ v w = [ 0w + α ( [ 0w − [ x w ) , α > 0
1) Reflexão: 
RQGH 6 ( [ x w ) = PD[ 6 ( [1w ),K , 6 ( [ y w +1 ) { }
45
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

6H 6 ( [ ) ≤ 6 ( [ l ) = PLQ 6 ( [1 ),K , 6 ( [ +1 ) ,



N

5
N
{ N N

Q }
HQWmR [ = [ 0 + γ ( [ − [ 0 ) , γ > 1
K K N N

 ( 5

+1
6H 6 ( [ ) < 6 ( [ ), HQWmR [ =[
N N N N
2) Expansão:  ( 5 K (


 sen mR [ +1 = [ N

K
N

 N = N +1 (LU SDUD 1)

N
onde [ é o melhor vértice.
l

6H 6 [ ( z { ) > 6 ( [| { ) ∀ L ≠ K, HQWmR } ~ = [ 0~ + β ( [ { − [ 0{ )


[
~

{ +1 } {
3) Contração:  [
~ = [ , 0<β <1
 N = N + 1 (LU SDUD 1)


 +1 1
6H 6 [
( N

5
) > 6 ( [ ), N

K
HQWmR [
L
N
=
+ ( [ − [l )
[
N

l
N

L
N

2

4) Redução:  L = 1,2,K , Q + 1
 N = N + 1 (LU SDUD 1)


O critério usado por Nelder e Mead para terminar a busca é o seguinte:
 € € 2 2
1
 1 +1
 ∑
 Q + 1  =1
[
6( [ ) − 6( [ )
0  ≤ ε.

]

0pWRGRVGHEXVFDDOHDWyULD

São os métodos de busca menos elegantes e eficientes (menores valores para χ) de


todas as técnicas de busca, mas são mais robustos para problemas multimodais e
atrativos para computação paralela (multiprocessamento).
0pWRGRFRPSOH[

É similar ao método dos poliedros flexíveis, sem a restrição de usar somente Q+1
vértices (M. J. Box, 1965). A partir de um ponto inicial, [1, outros S−1 pontos são
obtidos aleatoriamente:
[ ‚ = / + ψ ‚ [8 - /] , L = 2, 3, ..., S

46
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

onde / e 8 são vetores que limitam a região de busca e ψ ‚ é uma matriz diagonal
de números aleatórios, distribuídos uniformemente no intervalo [0,1]. A busca
procede de forma análoga ao método dos poliedros flexíveis. Recomenda-se, em
geral, usar S = 2 Q.

%XVFDDOHDWyULDUHSHWLWLYD

É uma busca completamente aleatória (R.J. Kelly e R.F. Wheeling, 1962), onde um
caminho aleatório é construído na seqüência dos passos em busca do ótimo, através
da seguinte relação:
 ƒ 
[
ƒ +1
= [ ƒ + α ƒ (1 − β)
G
+ βUƒ  , N = 1,2,...
 G
ƒ 
 

onde α„ ∈ ℜ é o passo, que é ampliado após uma direção bem sucedida e reduzido
caso contrário, β é um coeficiente ajustável durante a busca (grau de aleatoriedade
„ … „ …
das direções), U ∈ ℜ é um vetor unitário gerado aleatoriamente, G ∈ ℜ é um vetor
da história da busca (uma direção média dos passos anteriores), obtido por:
„ +1 „ „ „ „
G = γ G + (1 − γ) ([ +1 − [ ) Λ
„ … …
onde γ ∈ [0, 1] é o fator de esquecimento das direções e Λ ∈ ℜ + é uma matriz
diagonal de fatores de escala para as variáveis [. A figura abaixo ilustra um caminho
típico de uma busca aleatória.

47
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

'LUHo}HVDOHDWyULDV

É uma técnica onde as direções de busca são aleatórias, geradas a partir de um raio
de busca uniforme, isto é, os pontos aleatórios em cada estágio estão localizados
„
sobre a superfície de uma hiperesfera com centro no ponto [ . Uma busca em linha é
„
realizada na direção que passa pelo ponto [ e pelo melhor ponto da hiperesfera. A
figura abaixo mostra que quanto maior o raio da hiperesfera (limitado pela posição
do ponto ótimo), maior é a probabilidade do melhor ponto cair dentro do cone de
„
direções melhores que a direção do gradiente no ponto [ . Para atender os critérios
de convergência, o raio de busca deve ser periodicamente reduzido. A busca pode
ser acelerada se os pontos aleatórios forem restritos a um ângulo mínimo entre eles e
a direção do estágio anterior.

%XVFDDOHDWyULDDGDSWDWLYD

É método de otimização “global”, baseado em uma busca aleatória memorizada, com


distribuição assimétrica e redução sistemática da hiperelipse de amostragem (A.R.
Secchi e C.A. Perlingeiro, 1989), onde os pontos são selecionados da seguinte forma:
†
[
†‡ +1
‡
= [† +
5
[ † ( † ψ†
% $ − 1)]δ , L = 1, 2, ..., Q , N = 1, 2, ...
δ

48
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

„ …
onde [ ∈ ℜ é o melhor ponto da última amostragem, ψ é um vetor de números
aleatórios ∈ (0, 1), 5 é o vetor dos eixos da hiperelipse, δ é o parâmetro de forma da
distribuição das amostras (δ = 1, 3, 5, ..., sendo que para δ = 1 tem-se uma
distribuição uniforme), $ é o vetor de assimetria da distribuição ($ ‚ = 2 Å
distribuição simétrica), % é o vetor de direção da assimetria (%‚ = −1 Å assimetria
positiva, no sentido de aumento de [ ‚ , e % ‚ = 1 Å assimetria negativa). Após a
amostragem, se estiver na etapa de exploração, um número determinado de pontos
são armazenados para uso posterior, quando a busca na direção do melhor ponto for
encerrada. As etapas principais do algoritmo de busca são as seguintes:
„
1) Amostragem de pontos aleatórios em torno de [ , usando a equação acima;
2) Ordenação das amostras baseado no valor da função objetivo;
3) Memorização das amostras, isto é, armazenar os melhores pontos, exceto o
melhor de todos, durante a fase de exploração (δ = 1);
4) Análise do melhor ponto: verificar os critérios de convergência;
5) Checar validade de um novo ponto ótimo encontrado: análise de redundância de
pontos, baseado em uma métrica;
6) Resgate de um ponto da memória;
7) Eliminação pelos ótimos: verificar a tendência da busca;
8) Ajustar direção e critérios de amostragem: alteração dos parâmetros de busca ($,
%, δ);

9) Análise dos critérios de parada: número máximo de avaliações e ótimos;


10) Ordenação dos ótimos.

A figura abaixo ilustra a característica de memorização de pontos amostrados,


que são utilizados como novos pontos de partida quando a busca em uma
determinada direção é terminada. O encerramento da busca em uma direção pode
ocorrer devido a localização de um ponto ótimo local ou pela análise de redundância
dos pontos.

49
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

5
s tart point
optim um
4

-1

-2

-3

-4

-5
-5 -4 -3 -2 -1 0 1 2 3 4 5

$OJRULWPRJHQpWLFR

A idéia dos algoritmos genéticos (GA), J. Holland (1975), está baseada no processo
evolutivo dos organismos biológicos da natureza (princípios da seleção natural e da
sobrevivência do mais adaptado). Os indivíduos que têm mais sucesso para se
adaptar ao meio ambiente terão mais chance de sobreviver e reproduzir, enquanto
que os menos ajustados serão eliminados. Isto significa que os genes dos indivíduos
mais adaptados serão disseminados em um número crescente de indivíduos nas
próximas gerações. A combinação de características de ancestrais bem ajustados
pode produzir indivíduos que são bem mais adaptados que os pais. Os GAs
procuram simular este processo natural pela aplicação de RSHUDGRUHVJHQpWLFRV sobre
uma população inicial e suas próximas gerações. Cada indivíduo da população é
codificado em um FURPRVVRPR (VWULQJ), que representa uma solução possível para o
problema. A adaptação de um indivíduo é avaliada pelo valor da função objetivo.
Indivíduos altamente ajustado são permitidos a se reproduzirem pela troca de parte
de sua informação genética (em um procedimento de cruzamento) com outro
indivíduo altamente ajustado, produzindo filhos (RIIVSULQJV) com características de
ambos os pais. Mutações são freqüentemente permitidas pela alteração de alguns
genes dos cromossomos. Os filhos podem substituir toda a geração anterior (WpFQLFD
50
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

GDVJHUDo}HV ), ou substituir apenas os indivíduos menos ajustados (WpFQLFDGRHVWDGR


HVWDFLRQiULR). Os passos básicos de um algoritmo genético são os seguintes:

1) Gerar aleatoriamente uma população inicial e avaliar a adaptação de cada


indivíduo;
2) Selecionar os pais de uma população, cruzá-los para produzirem os filhos e
avaliar a adaptação dos filhos;
3) Substituir alguns ou todos os indivíduos da população pelos filhos;
4) Se o critério de convergência não foi satisfeito ir para o passo (2);
5) FIM.

O procedimento de cruzamento (operação genética) consiste em gerar aleatoriamente


um ou mais pontos de cruzamento e, então trocar os segmentos dos cromossomos
dos dois pais para produzir dois filhos.
A mutação é aplicada a um filho após um certo número de cruzamentos, pela
substituição de um gene do cromossomo por um valor aleatório (ou inversão de bit
no caso de cromossomos binários). A mutação ajuda resguardar a possível perda de
informação genética valiosa devido a uma convergência prematura, expandindo o
espaço de busca.

6LPXODWHGDQQHDOLQJ

É uma técnica de busca direta com relaxação estocástica (S. Kirkpatrick, C. Gelatt
Jr. e M. Vecchi, 1983), baseada no processo de recozimento de sólidos (onde um
sólido é aquecido a altas temperaturas e gradualmente resfriado para permitir a sua
cristalização). Como o processo de aquecimento permite que os átomos se
movimentem aleatoriamente, se o resfriamento não é realizado muito rapidamente,
então os átomos terão tempo suficiente para se alinharem de modo a atingir um
estado de mínima energia. Usando esta analogia, o estado do sólido corresponde a
uma solução viável e a energia de cada estado corresponde ao valor da função
objetivo. Neste procedimento, a busca é permitida a prosseguir mesmo se o
movimento causar um aumento na função objetivo, através do uso de um parâmetro
chamado “WHPSHUDWXUD” (7), onde o movimento é aceito com uma probabilidade de
„
exp(−∆/7), com ∆ = 6([ +1) − 6([k). O valor de 7 ∈ (0,∞) é controlado pelo processo
de “UHVIULDPHQWR”, sendo que valores baixos resultam em um algoritmo de busca
51
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

local, ao passo que valores altos reduzem a velocidade de convergência. Os passos


básicos de um algoritmo VLPXODWHGDQQHDOLQJ (SA) são os seguintes:
…
1) Escolher um ponto inicial, [o ∈ ℜ , e os parâmetros α e β
2) Calcular 6o = 6([o), 7 , Tˆ = α 7o,
7o 1 = β Q λ, U = 0, F = 0, N = 0
3) Fazer 1 vezes:
„
Mudar de direção λ componentes de [ e gerar aleatoriamente um vizinho, [
Calcular ∆ = 6([) − 6([k)
„
6H ∆ < 0 ou exp(−∆/7„ ) > <, HQWmR [ ← [ e F = 0, VHQmR U ←U+1
4) 6H U = 1, HQWmR F ← F + 1
5) Atualizar 7„ , U = 0, N ←N+1
6) 6H o processo não estiver “FRQJHODGR” (7 > 7ˆ ou F ≤ &‰‹ŠmŒ ), HQWmR ir para (3)
7) FIM.

onde α é um parâmetro que define o nível de WHPSHUDWXUD (7ˆ ) que o algoritmo deve
terminar, β é um parâmetro utilizado para definir o número de iterações (1) em cada
nível de WHPSHUDWXUD, 7o é a WHPSHUDWXUD inicial, U é o número de rejeições, λ é
número de mudanças de direção, < ∈ [0,1] é uma variável aleatória uniforme e &‰‹ŠmŒ
é o número de máximo de níveis consecutivos de temperatura sem progressão (isto é,
rejeição total). O cálculo de 7o e a atualização de 7„ podem ser feitos de diversas
maneiras, tal como (Aarts et al., 1988):
−1
 P  7
7 = ∆ˆ  ln 2  e 7
+1 = N
R

 P2 η − (1 − η) P1 
N
7 ln(1 + δ)
1+ N

3σ N

onde após um número P de tentativas iniciais, P1 e P2 são os números de


movimentos com ∆ ≤ 0 e ∆ > 0, respectivamente, ∆ˆ é o valor médio dos ∆ > 0, η ∈
(0, 1) é a taxa de aceitação inicial (≈ 0,95), σ„ é o desvio padrão da função objetivo
durante a busca em 7 e δ é a máxima mudança relativa permitida para a
probabilidade de aceitação dos estados (≈ 0,1).

52
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

%XVFDWDEX

É um procedimento para levar métodos de busca local para fora da região de atração
de um ótimo local (meta-estratégia ou meta-heurísticas), pela incorporação de
funções de memória flexível para proibir movimentos que levam a características
(ou DWULEXWRV, ou estado das variáveis) de soluções passadas (F. Glover, 1986). Os
atributos que não são permitidos a serem retomados são chamados de WDEX e são
mantidos em uma memória de curta duração (OLVWDGHWDEXV).
Para maiores detalhes deste procedimento e dos dois métodos anteriores, sugere-se a
leitura de Hasan et al. (2000) e suas referências.

53
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

0pWRGRVDQDOtWLFRV PpWULFDYDULiYHO

Apesar da literatura referenciar somente os métodos quasi-Newton, que utilizam


aproximações para o cálculo da matriz Hessiana (também conhecidos como métodos
da secante), como métodos da métrica variável, nestas notas o termo “métrica
variável” engloba todos os métodos que utilizam a primeira e/ou a segunda derivada
da função objetivo. Estes métodos têm como equação básica para o processo
iterativo:
 +1   
[ = [ − ፠:([ ) ∇6([ ) (3.1)
  
onde αk é o tamanho do passo, G = −:([ ) ∇6([ ) é o vetor direção e
( k) é a matriz direção (inversa da matriz Hessiana ou aproximação desta)
: [

Em qualquer método de otimização, uma boa direção de busca deve reduzir (para o
 
caso da minimização) o valor da função objetivo, isto é, 6([ +1) < 6([ ). Tal direção,

G , satisfaz o seguinte critério em cada ponto:
Ž  
∇ 6 ([ ) G < 0
 
ou em outras palavras, o ângulo (θ) formado entre os vetores ∇6([ ) e G deve ser
sempre maior que 90º, ou seja:
Ž   Ž  
∇ 6([ ) G = |∇ 6([ )| |G | cos θ < 0 ⇔ θ > 90º

54
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Como a otimização sem restrições é equivalente a encontrar a solução do


sistema de equações não-lineares )([) = ∇6([) = 0, pode-se utilizar todos os métodos
disponíveis para a solução de )([) = 0. Por exemplo, na utilização do método de
Newton-Raphson, a matriz Jacobiana é a própria matriz Hessiana.
A seguir serão descritos os métodos mais conhecidos desta classe, seguidos de
uma generalização dos métodos da métrica variável.

0pWRGRVJUDGLHQWHV

Utilizam somente a primeira derivada da função objetivo, caso em que :([k) = I:


 +1  
[ = [ − ፠∇6([ )

Quando ፠é escolhido de modo a minimizar:


 
g (α) = 6([ − α ∇6([ )) , α > 0 (3.2)
tem-se o método da maior descida (“steepest descent”), cujo algoritmo básico pode
ser escrito da seguinte forma.
algoritmo
o
1) Escolher um ponto inicial [ , N =0
 
2) Calcular G = −∇6([ )
   
3) Encontrar ፠tal que ( + α
6 [ G )= PLQ g (α) = 6([ + α G )
α>0
  
4) Calcular [ +1 = [ + ፠G

55
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

5) 6H o critério de convergência não foi satisfeito, HQWmR N ← N + 1 (ir para 2)


6) FIM.

−/([1,[2) J1 (α)
0.02

0.015
X2

o
[
0.01

0.005

J2 (α)

0.005 0.01 0.015 0.02 0.025 0.03


X1

A minimização de J (α), conhecida como IXQomR GH PpULWR, também chamada de


busca em linha (“linesearch”), pode ser realizada com o uso de qualquer método de
minimização univariável. Para ilustrar esta função, a figura abaixo mostra a função
J2(α) do problema acima:

J2 (α)

α
α2

Aproximando 6([) por uma função quadrática:


 +1
    +1
 1  +1
‘   +1

6 ([ ) ≈ 6([ ) + ∇ 6 ([ ) ([ − [ ) + ([ −[ ) + [( ) ([ −[ )
2
ou de forma similar:
’ ’ ’ “ ’ ’ 1 ’ “ ’ ’
J
’ (α) = 6 ( [ + αG ) ≈ 6 ( [ ) + α∇ 6 ( [ )G + α 2 ( G ) + ( [ )G
2

56
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

GJ ”
que minimizando em relação a α, = 0 , resulta:
G α
∇ 7
6
N
( [ )G N
(G ) N 7
G
N

α* = α = − N
N 7 N N
= N 7 N N
(3.3)
(G ) + ( [ )G (G ) + ( [ )G

Contudo, a equação (3.3) não é utilizada para o cálculo de α nos métodos gradientes,
pois exigiria o cálculo da segunda derivada da função objetivo. Neste caso, utiliza-
se, em geral, métodos de busca para a sua seleção.

0pWRGRGH1HZWRQ


Faz uso da segunda derivada da função objetivo, caso em que :([k) = [+([ )]-1:
 +1   
[ = [ − ፠[+([ )]-1 ∇6([ )

que é resultado da minimização da aproximação de 6([) por uma função quadrática:


• – • • 1 •‘– • •
6 ( [) ≈ 6 ( [ ) + ∇ 6 ( [ ) ∆[ + (∆[ ) + [ ( ) ∆[ (3.4)
2
   ∂6
onde ∆[ = [ - [ , na direção ∆[ , isto é: =0
∂∆ [ L
N

  
∆[ = −[+([ )]-1 ∇6([ )

Neste caso ፠ou é um parâmetro de relaxação do processo iterativo 0 < ፠≤ 1, ou é


um fator de correção da inversa da matriz Hessiana, caso esta não seja atualizada em
todas as iterações. A positividade da matriz Hessiana deve estar sempre garantida
57
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

para evitar a migração para um ponto sela. E, para assegurar a convergência do


  
método de Newton, a correção ∆[ deve ser tal que 6([ +1) < 6([ ).
Uma maneira de assegurar a positividade da matriz Hessiana é através da
modificação de Levenberg-Marquardt, que adiciona um fator ajustável na diagonal
da matriz Hessiana, ou em sua inversa:
~ 
+ ( [ ) = +( [ ) + ⠍ I
N
, ⍠> −min{λ — }
 
W([ ) = [+([ )]-1 + ㍠I , ㍠> −min{1/λ — }

onde λ — são os valores característicos de +([ ).
Em particular, quando o método de Newton é utilizado para a solução de
problemas de mínimos quadrados, ele é comumente referenciado na literatura como
método de Gauss-Newton. Sendo que uma das aplicações é a solução de sistemas de
equações não-lineares, )([) = 0, transformados em problemas de mínimos quadrados
ao procurar minimizar o quadrado dos resíduos, isto é,
š ˜
6 ( [) = ) ( [) ) ( [) = ∑ I ™ 2 ( [)
™ =1
› œ › › › œ › › ›
neste caso ∇6([ ) = 2 - ([ ) ) [ ( ) e + [ ( ) = 2 - ( [ ) -( [ ) + 2 4 [
( ), onde
 ∂I  
([) =  4 ( [ ) = ∑ I ž ( [ ) + ž ( [ ) e + Ÿ ([ ) é a
L
-  é a matriz Jacobiana do sistema, ž =1
 ∂[ 
M
L M
,
› › ›
matriz Hessiana da função IŸ ([). Quando I Ÿ ([ ) → 0 para [ → [*, então 4([ ) tende a
zero, e as direções de busca do método de Gauss-Newton para o problema de
mínimos quadrados:
    2
¡ min¢ - ([ ) G − ) ([ )
∈ℜ

são equivalentes as direções do método de Newton, ou seja:


› œ › › œ › › › ›
G = −[- ([ ) -([ )]-1 - ([ ) )([ ) ≈ −[+([ )]-1 ∇6([ )

0pWRGRGRJUDGLHQWHFRQMXJDGR

Utiliza somente a primeira derivada da função objetivo, gerando uma seqüência de


direções que são combinações lineares do gradiente:
› +1 › › +1
G = ε› +1 G − ∇6([ ) (3.5)

58
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

onde a nova direção é conjugada com a direção anterior com respeito a Hessiana,
isto é:
› œ › ›
(G +1) + [ ( )G =0
› › ›
e [ +1 = [ + α› G , onde α› é obtido de forma similar ao método da maior descida.
Para calcular ε› +1, faz-se a aproximação quadrática de 6([), equação (3.4), de onde
obtém-se:
› › ›
∇6([) ≈ ∇6([ ) + +([ ) ([ − [ ) (3.6)
› › › › +1 › › ›
e › portanto: ∇6([ +1) − ∇6([ ) = +([ ) ([ − [ ) = +([ ) α› G , que multiplicado por
+1
G à esquerda, resulta:
› œ › +1 › › œ › ›
(G +1) [∇6([ ) − ∇6([ )] = α› (G +1) H([ ) G = 0

substituindo a equação (3.5) na expressão acima, tem-se:


› › +1 œ › +1 ›
[ε› +1 G − ∇6([ )] [∇6([ ) − ∇6([ )] = 0 ,
› œ › +1
mas devido œ as direções
› +1 › conjugadas (G ) ∇6([ ) = 0 e para a aproximação
quadrática ∇ 6([ ) ∇6([ ) = 0, resultando em:
+1 +1 +1 +1
∇ 7
6 ([ N
)∇6 ( [ N
) ∇ 7
6 ([ N
)∇6 ( [ N
)
ε N +1 =− =
( G ) ∇6 ( [ )
N 7 N
∇ 7
6 ( [ )∇6 ( [ )N N

› › -1 ›
a última
› igualdade resulta do fato de G = ε› G − ∇6([ ) , que multiplicado por
∇6([ ) à direita:
› œ › › œ › œ › › œ › ›
(G ) ∇6([ ) = ε› (G -1) ∇6([ ) − ∇ 6([ ) ∇6([ ) = −∇ 6([ ) ∇6([ ),
› œ ›
pois (G -1) ∇6([ ) = 0, pela mesma razão acima.

algoritmo
o
1) Escolher um ponto inicial [

2) Calcular G
o
= −∇6([o) , N =0
› › › ›
3) Encontrar α› tal que ( + α›
6 [ G )= PLQ g› (α) = 6([ + α G )
α>0
› +1 › › › +1
4) Calcular [ = [ + α› G e ∇6([ )

59
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

5) 6H o critério de convergência foi satisfeito, HQWmR FIM.


+1 +1
+1 +1 ∇ 7
6 ([ N
)∇6 ( [ N
)
6) Calcular G
N
= −∇6 ( [ N
)+G N
, N ←N+1
∇ 7
6 ( [ )∇6 ( [ )
N N

›
7) 6H N = Q, isto é, realizou Q direções L.I. HQWmR fazer [o = [ e (ir para 2)
VHQmR (ir para 3)

0pWRGRVGDPpWULFDYDULiYHO

A partir da equação (3.6), pode-se tirar a seguinte relação:


› +1 › › › › +1 ›
[ − [ = ∆[ = [+([ )]-1 [∇6([ ) − ∇6([ )]

Fazendo uso de uma aproximação da inversa da matriz Hessiana:


› › +1 › ›
[+([ )]-1 ≈ ω :([ ) = ω [:([ ) + ∆:([ )]
› › +1 ›
onde ω é um fator de escala e ∆:([ ) = :([ ) − :([ ), resulta em:
› › › › +1 ›
∆[ = ω [:([ ) + ∆:([ )] [∇6([ ) − ∇6([ )] ,
que rearranjando tem-se:
∆[ N

∆ : ([ ) ∆I ([
N N
)= − : ([ ) ∆I ([ ) N N
(3.7)
ω
› › ›
onde ∆I([ ) = ∇6([ +1) − ∇6([ ). Como o sistema
› (3.7) possui Q equações e Q2
variáveis a determinar (os elementos de ∆:([ )), então existe um número infinito de
soluções, sendo que a solução geral é dada por:

1 {∆ [ , X } {: ( [ ) ∆ I ( [ ), Y }
N N N N N

∆ : ([ N
)= − (3.8)
ω < X , ∆I ([ ) > N
< Y , ∆I ([ ) > N N N

› ›
onde X e Y  são vetores arbitrários
œ
{[, \} = [\ é o produto transposto (uma matriz)
œ
< [ , \> = [ \ é o produto escalar (um escalar)
Conseqüentemente, pode existir uma infinidade
› › de métodos que utilizam a equação
(3.1), dependendo da escolha de ω, X e Y . O parâmetro α› pode ser minimizado
(“OLQHVHDUFK”) ou escolhido adequadamente (“WUXVWUHJLRQ”).

60
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Do mesmo modo que no método de› Newton› o parâmetro α› é usado essencialmente


para assegurar a convergência (6([ +1) < 6([ )), pois a inversa da matriz Hessiana já
contém o tamanho ideal do passo (para funções quadráticas), › os métodos
› -1 quasi-
Newton não necessitam minimizar α› exatamente, pois :([ ) → [+([ )] a medida
que as iterações avançam. Portanto, as técnicas de “OLQHVHDUFK” não necessitam
encontrar uma solução precisa para α› , mas ajustá-lo adequadamente. Por exemplo,
as técnicas de ajuste usadas nas implementação de “OLQHVHDUFK” no MATLAB
utilizam os seguintes critérios para a interpolação cúbica, quando são conhecidos
dois valores da função objetivo e seus gradientes.

onde α£ é o mínimo› obtido › por interpolação


› ou › cúbica, I([) ≡› 6œ ([› ) é a
› extrapolação
›
função objetivo, T = ∇6([ ) − ∇6([ ) e V = ∆[ = α› G . A relação (T )  V > 0
+1

assegura a possitividade da matriz Hessiana.

61
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Outra técnica de “OLQHVHDUFK” empregada no MATLAB é quando apenas um


valor do gradiente da função objetivo é utilizado juntamente com dois ou três valores
de 6([), onde uma mescla de interpolação cúbica e quadrática são realizadas. Neste
caso os critérios utilizados para a seleção do passo são os seguintes.

onde α¤ é o mínimo obtido por interpolação ou extrapolação quadrática. Em


qualquer uma das estratégias, quando o α¤ ou α£ resultarem em valores negativos,
então α› +1 = 2 α› .
As técnicas de “WUXVWUHJLRQ” (região de confiança) para o ajuste da direção de busca,
consiste em aproximar 6([) por uma função mais simples, 4([), (geralmente uma
forma quadrática) que represente razoavelmente bem › a função
› › 6([) em uma
vizinhança %ε([) em torno de [. Então um novo passo, V = ∆[ = α› G , é obtido pela
minimização de 4([) em %ε([), ou seja:
› ›
V
N
= arg min 4( [ + V ) , ([ + V) ∈ %ε([ )
N

62
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

› › ›
se 6([ + V ) < 6([ ), então o novo ponto é aceito, caso contrário a região de
confiança é reduzida e o procedimento é repetido. A figura abaixo ilustra esta
técnica, onde as curvas de› níveis tracejadas representam a aproximação quadrática
convexa de 6([) no ponto [ .

As peculiaridades dos métodos da região de confiança estão relacionadas com


a escolha da função 4([), a forma› de redução de %ε([) e o quão preciso é resolvido o
problema de minimização de 4([ + V).

algoritmo da métrica variável (com OLQHVHDUFK)


› ›
1) Escolher [
o
, ω, X e Y

2) Calcular : [ ( o), N =0
2) Calcular Gk = −:([k) ∇6([k)
› › ¥ ¥
3) Encontrar α› tal que 6 [ ( + α› G ) ≈ min g› (α) = 6([ + α G )
α >0
¥ +1 ¥ ¥ ¥ +1 ¥ ¥ +1 ¥
4) Calcular [ = [ + α¥ G , 6 [
( ) e ∆I([ ) = ∇6([ ) − ∇6([ )
5) 6H o critério de convergência foi satisfeito, HQWmR FIM.
¥ +1
6) calcular :([ ), N ← N + 1, verificar a necessidade de UHVHW e (ir para 3)

63
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

¥
onde UHVHW é uma reinicialização (ou modificação) de :([ ) devido a problemas de
convergência. No caso do método dos gradientes conjugados, o UHVHW acontece a cada
Q iterações (Q direções linearmente independentes). Para os demais casos, ele é
¥
necessário quando a matriz :([ ) deixa de ser positiva definida, ou quando a
¥
correção ¥ ∆:([ ) torna-se divergente devido
¥ -1 a erros de ¥ arredondamento, ou ainda
+1
quando G estiver na mesma direção de G , tornando :([ ) singular.
No algoritmo acima, quando a interpolação cúbica é usada, então os passos (3) e (4)
são concomitantes.
Definindo:
¥ -1
¥
: = :([ ) : = [:([ )]-1
¥ ¥
∆[ = ∆[ ∆I = ∆I([ )
G = ∆[ − : ∆I $
G = ∆I − :
-1
∆[
δ = <∆[, ∆I> δ$ = <∆I , ∆I>
γ = <∆I , W ∆I> γ$ = <∆[, :-1 ∆[>
$ = {∆[, ∆[} / δ $ = {∆I, ∆I} / δ
$

% = {: ∆I, : ∆I} / γ $
% = {:
-1
∆[, :-1 ∆[} / γ$
¥ ¥ +1 ¥ ¥
E = {∆[, ∆I} ) = {∇6([ ),∇6([ )} / <∇6([ ),∇6([ )>

é apresentado na tabela a seguir alguns métodos de otimização que utilizam a


primeira e/ou a segunda derivada da função objetivo. Por exemplo, para o método
BFGS a atualização apresenta a seguinte formulação:

+1 ∆I (∆I )
N N 7
+ ( [ )∆[ (∆[ ) [ + ( [ )]
N N N 7 N 7

+ ([ N
)= + ([ ) +
N

(∆[ ) ∆I N 7 N
(∆[ ) N 7
+ ( [ )∆[ N N

¥ ¦ ¥
que ao multiplicar à esquerda por (∆[ ) e à direita por ∆[ , resulta em:
¥ ¦ ¥ +1 ¥ ¥ ¦ ¥ ¥ ¦ ¥
(∆[ ) + [
( ) ∆[ = (∆I ) ∆[ = (T ) V

¥ ¦ ¥ ¥ +1
mostrando que se (T ) V > 0, então +([ ) é positiva definida.

64
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

¥ +1
PpWRGR : [ ( )
6WHHSHVWGHVFHQW I
Gradiente Conjugado I + :)
¥ +1
Newton [ +( [ )]-1
Greenstadt, λ § (C)→ max{|λ § |,10-4} '
-1
& '
-1
; ' = diag ( |: − 1 |1,/ 2 ) e L M
& = '-1 : '-1

Levenberg-Marquardt '
-1
(&βI '-1; β > −min (valor caract. de &)
{G , G }
Broyden : +
< G , ∆I >
Davidon-Fletcher-Powell (DFP) W+A−B
{G , ∆ [} ¨
Pearson I : + =:+ $ − γ %$ − 1 (
δ
{G , : ∆ I }  δ 
Pearson II : + = 1 +  : − %
γ  γ
Newton Projetado (Zoutendijk) : −%
Greenstadt-Goldfarb I (GGI) 1 δ 
: +  {G , ∆ I } + {∆ I , G } − < ∆ I , G > $$ 
δ$  δ$ 
©
Greenstadt-Goldfarb II (GGII) ( : +: (  δ
: + − 1 +  %
γ  γ

 γ ( : +: (
7

Gill-Murray ou (GGIII) : + 1 +  $ −
 δ δ
ª −1 −1
 −1  γ$  ( : +:− 1 ( 
: +  1 +  $$ −
-1
Fletcher ou (GGIII) 
 δ δ 
Broyden-Fletcher-Goldfarb-
[ ]
−1 −1
Shanno (BFGS) ou (DFP)-1 : + $$ − %$
−1
 − 1 {G$ , G$} 
: + $
-1
(Broyden) 
 {G , ∆ [} 
Goldstein-Price aproximação por diferenças-finitas

65
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

7HRULDGD'XDOLGDGH

Problemas de otimização com restrição apresentam duas formas de representação: o


SUREOHPDSULPDO (3) e o SUREOHPDGXDO (').

3UREOHPDSULPDO

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


min 6([)
sujeito a: « ([) = 0 , M = 1, 2, ..., P
K
3 =
« ([) ≤ 0 , M = 1, 2, ..., S
J

¬
[ ∈;⊆ℜ

onde ; é um conjunto convexo não vazio.

Definindo a função perturbação, Y(\), abaixo associada ao problema primal (3):

inf 6([)
sujeito a: « ([) = 0 , M = 1, 2, ..., P
K

Y \
( )= « ([) ≤ \ , M = 1, 2, ..., S
J

¬
[ ∈;⊆ℜ

onde Y(0) corresponde ao valor ótimo de 3. Se o conjunto <, definido como:


­
< = {\ ∈ ℜ | K([) = 0, J([) ≤ \ para algum [ ∈ ;}
for convexo, então Y(\) é uma função convexa em <, e Y(\) = ∞ ⇔ \ ∉ <. A
propriedade de convexidade de Y(\) é o elemento fundamental para a relação entre os
problemas primal e dual. Particularmente, se K([) é linear e J([) é convexo em ;,
então < é um conjunto convexo.
O problema 3 é HVWiYHO se Y(0) é finito e Y(\) é uma função Lipschitz
contínua, isto é, existe um escalar / > 0 tal que:
Y (0) − Y(\) ≤ / ||\|| , ∀ \ ≠ 0
Esta definição de estabilidade não depende da norma ||\|| usada, sendo necessária e
suficiente a consideração de um vetor \ variando em uma dimensão.

66
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Seja [* a solução ótima de 3, então os multiplicadores λ* e µ* existem se e


somente se 3 for estável. Portanto, a estabilidade de 3 é uma qualificação necessária
e suficiente das restrições. Vale lembrar que a existência dos multiplicadores de
Lagrange depende da forma das restrições, e estará garantida se e somente se os
gradientes das restrições de desigualdade ativas, ∇J« ([*), e das restrições de
igualdade, ∇K([*), forem linearmente independentes.
Se a função objetivo, 6([), for suficientemente bem comportada, então o
problema 3 será estável, mesmo que as restrições não sejam bem comportadas. Por
exemplo, se 6([) = F, então 3 é estável desde que as restrições estejam satisfeitas.
Por outro lado, se a restrição for bem comportada (por exemplo, linear) é ainda
possível que 3 seja instável.
([HPSOR Seja o problema:
min 6([) = −[1/3
sujeito a: J([) = [ ≤ 0
[ ∈ ;= {[ | [ ≥ 0}

Perturbando J([) na direção positiva tem-se:

Y (0) − Y(\) = 0 − (−\1/3) = \1/3 , ||\|| = |\| e 1 ≤ / \2/3

ou seja, para y → 0 tem-se / → ∞, isto é, Y(\) não é Lipschitz contínua.

3UREOHPDGXDO

O problema dual de 3 tem a seguinte forma:

max inf /([,λ,µ)


µ≥0, λ [∈;
' = ® ®
sujeito a: ( ,λ,µ) = 6([) + λ
/ [ ( )+µ
K [ J [
( )

Como o problema interno φ(λ,µ) = inf /([,λ,µ) do dual ' é uma função paramétrica
∈;
[

de λ e µ, φ(λ,µ), também chamado de IXQomR GXDO, ele pode assumir valores (−∞)
para algum valor de λ ou µ. Se o problema interno é finito para todos µ ≥ 0 e λ,
então ele pode ser escrito como:

φ(λ,µ) = min /([,λ,µ)


∈;
[

67
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Observe que para um valor de [ fixo no ínfimo de /([,λ,µ), o problema externo,


max φ(λ,µ), torna-se linear em λ e µ.
µ ≥ 0, λ
¬
Sejam 6([), K([) e J([) funções contínuas e ; ⊆ ℜ um conjunto compacto
não vazio, então φ(λ,µ) é uma função côncava. Observe que φ(λ,µ) é côncava sem a
necessidade de considerar algum tipo de convexidade da função objetivo ou de suas
restrições, pois ela é uma coleção de pontos ínfimos de funções lineares em λ e µ.
Como φ(λ,µ) é côncava e o problema externo é uma maximização, então o ótimo de
φ(λ,µ) é global. Contudo, a dificuldade surge da forma paramétrica de φ(λ,µ) em
relação a λ e µ, isto é, não se tem uma forma funcional explícita de λ e µ.

,QWHUSUHWDomRJHRPpWULFDGRGXDO

Considere o problema primal (3) monovariável:


min 6([)
sujeito a: J1 [( )≤0,
3 =
J2 [( )≤0,
[ ∈;⊆ℜ
e seu dual ('):

° ¯ /([,µ)
max min
µ≥ 0 ∈
' =
sujeito a: ( ,µ) = 6([) + µ1 J1([) + µ2 J2([)
/ [

O conjunto , ⊆ ℜ3 que é a imagem de ; sob as três funções 6([), J1 [


( )e J2 [( )é
dado por:
, = {(]1, ]2, ]3) ∈ ℜ3 | ]1 ≥ J1 [
( ), ]2 ≥ J2 [( ) e ]3 = 6([) para algum [ ∈ ;}
Sobre este conjunto a formulação equivalente do dual é dada por:

max min /(],µ)


µ≥ 0 ] ∈,
' =
sujeito a: ( ,µ) = ]3 + µ1 ]1 + µ2 ]2
/ ]

Para valores fixos dos multiplicadores µ1 ≥ 0 e µ 2 ≥ 0, /(], µ ) é um plano no ℜ3 com


inclinação (− µ1 , − µ 2 ). O conjunto , e um plano tangente, K , no ponto 3 ∈ , estão
ilustrados na figura abaixo.

68
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Interpretação geométrica do problema primal: O ponto de interseção de , com o eixo


]3, denotado por 3* na figura acima, é a imagem da solução ótima, [*, do problema

primal:
3 * = [J1([ ), J2([ ),6([ )]
Portanto, o problema primal consiste na determinação do ponto em , que minimiza
z3 sujeito a ]1 ≤ 0 e ]2 ≤ 0.
Interpretação geométrica da função dual: A função dual φ(µ) no ponto ( µ1 , µ 2 )
corresponde a determinação do plano mais baixo com inclinação (− µ1 , − µ 2 ) que
intercepta o conjunto ,. Isto corresponde ao hiperplano suporte K que é tangente ao
conjunto , no ponto 3 mostrado na figura acima.
Note que o ponto 3 é a imagem do min 6([) + µ1 ( ) + µ 2 J2([) cuja solução é o
J1 [
∈;
[

valor de ]3 onde o hiperplano K intercepta a ordenada, denotada por ]


3 na figura
acima.
Interpretação geométrica do problema dual: O ponto 3* na figura acima corresponde
aos valores de µ1 e µ 2 que maximizam ]3 . Portanto o problema dual consiste na
determinação dos valores de µ1 e µ 2 que definem a inclinação do hiperplano suporte
do conjunto ,, tal que ele intercepta a ordenada na valor mais alto possível.
Nem sempre é possível obter o valor ótimo do problema dual igual ao valor
ótimo do problema primal. Esta igualdade está garantida quando 6([) e J([) forem

69
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

funções convexas, K([) for uma função afim (mapeamento linear de [) e o problema
primal for estável. A diferença entre os valores ótimos dos problemas primal e dual é
conhecida como brecha dual (GXDOLW\ JDS). Esta diferença pode ser devido a uma
descontinuidade da função perturbação Y(\) em \ = 0, que impossibilita a existência
de um hiperplano suporte neste ponto.
Se a função perturbação Y(\) é finita em \ = 0, então não existe brecha dual se
e somente se Y(\) é semicontínua inferior em \ = 0. Para que isto ocorra as seguintes
condições devem ser satisfeitas:
a) ; é um conjunto fechado;
b) 6 [ ( ) e J([) são funções contínuas em ;;
c) 6 [ ( *) é finito;
d) {[ ∈ ; | K([) = 0, J([) ≤ 0 e 6([) ≤ α} é um conjunto limitado, não vazio e
convexo, para algum escalar α ≥ Y(0).
([HPSOR Seja o seguinte problema:

min 6([) = [2

3 = sujeito a: [1 ≤0,
[ ∈ ; {([1,[2) | 0 ≤ [1 ≤ 2, 1 ≤ [2 ≤ 4 e [2 ≥ 2 se [1 = 0} ⊆ ℜ2

onde ]1 = [1 e ]2 = [2. A figura abaixo ilustra a imagem de ; deste problema.

70
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

A solução ótima do problema primal é obtida no ponto [1 = 0 e [2 = 2. Contudo, o


valor ótimo do problema dual não pode ser igual ao do primal devido a perda de
semicontinuidade inferior de Y(\) em \ = 0.

'XDOLGDGHIUDFDHIRUWH

A possível existência da brecha dual leva a necessidade da definição de dualidade


fraca e dualidade forte.
Dualidade Fraca: seja [ uma solução viável do problema primal (3) e ( λ , µ ) uma
solução viável do problema dual ('). Então,
6 ( [ ) ≥ φ( λ , µ )

Observe que qualquer solução viável do problema ' é um limite inferior da


solução ótima do problema 3 e qualquer solução viável do problema 3 é um limite
superior para a solução ótima do problema '. Estas relações de limites são
importantes para estabelecer critérios de parada em algoritmos de otimização. Isto é,
se em alguma iteração de um algoritmo existirem soluções viáveis para os problemas
primal e dual e estas estiverem suficientemente próximas, então elas podem ser
consideradas soluções ótimas dentro da precisão desejada. Além disto, estas relações
não estão baseadas em considerações de convexidade, portanto são de grande
importância para tratar de problemas não convexos, desde que o problema dual seja
resolvido eficientemente.
Nota: se o valor ótimo de 3 é −∞ então ' deve ser inviável, ao passo que se o valor
ótimo de ' é +∞ então 3 deve ser inviável.
¬
Dualidade Forte: sejam 6([) e J([) funções convexas, K([) função afim e ; ⊆ ℜ um
conjunto convexo não vazio. Se o problema primal (3) é estável, então
a) o problema dual (') tem uma solução ótima;
b) os valores ótimos dos problemas 3 e ' são iguais;
c) (λ*, µ*) é uma solução ótima de ' ⇔ (−λ*, −µ*) é um sub-gradiente da função
perturbação Y(\) em \ = 0, isto é,
( ) ≥ Y(0) + GT \ , onde G é um vetor sub-gradiente
Y \

d) todas as soluções ótimas (λ*, µ*) do problema ' caracterizam o conjunto de


todas as soluções ótimas do problema 3 obtidas pela minimização da função de

71
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

® ®
Lagrange: /([,λ*,µ*) = 6([) + (λ*) K([) + (µ*) J([) para [ ∈ ;, satisfazendo
® as
restrições K([) = 0, J([) ≤ 0 e a condição de complementaridade (µ*) J([) = 0.

([HPSOR Seja o seguinte problema não convexo (devido a bilinearidade de J):

min 6([) = −[1 − [2

3 = sujeito a: J [ ( ) = [1[2 − 4 ≤ 0 ,
[ ∈ ; {([1,[2) | 0 ≤ [1 ≤ 4, 0 ≤ [2 ≤ 8} ⊆ ℜ2
®
cuja ótimo global é [ = [0,5 8] e 6([ ) = −8,5. O seu dual (') somente em relação
a restrição J([) é dado por:

µ≥ 0° ¯ /([,µ)
max min

' =
sujeito a: / [ ( ,µ) = −[1 − [2 + µ ([1[2 − 4)

Fazendo ∇± /([,µ) = 0, tem-se como resultado [1 = [2 = 1/µ e, portanto, a função


dual (mínimo de / em relação a [) toma a forma:
φ(µ) = −1/µ − 4µ

cujo máximo (∇φ = 0) ocorre quando µ = 0,5 e φ( µ ) = −4. Neste ponto [ = (2, 2) e
6( [ ) = −4 ≥ φ( µ ). Contudo 6([ ) < φ( µ ), contrariando o limite inferior da dualidade

fraca. O problema é que o ponto [ na verdade é um ponto ® de máximo de 6([) sobre®


a restrição J([), pois para vetores direção satisfazendo G ∇J( [ ) = 0, tem-se G
∇ 2 /( [ , µ ) G < 0. Por outro lado, se a restrição [2 ≤ 8 for incluída na formulação do
[

dual:

µ≥ 0° ¯ /([,µ)
max min

' =
sujeito a: / [ ( ,µ) = −[1 − [2 + µ1 ([1[2 − 4) + µ2 ([2 − 8)

O mínimo de / em relação a [ é dado por: [1 = (1 − µ2) / µ1 e [2 = 1/µ1. Neste caso a


função dual é dada por:
φ(µ) = −1/µ1 − 4µ1 + µ2/µ1 − 8µ2
®
cujo máximo ocorre quando µ = [1/8 15/16] e φ( µ ) = −8,5. Neste ponto [ = [* e
6( [ ) = −8,5 ≥ φ( µ ). A figura abaixo ilustra as duas situações descritas acima.

72
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

-11
7 -9
-8
-10

6
-8.5

5
-7
x2

4 g(x)>0
-6

-4
3
-5

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

0
0 0.5 1 1.5 2 2.5 3 3.5 4
x1

73
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

3URJUDPDomR/LQHDU /3

Na otimização com restrição o problema que está sendo resolvido é:


min 6([) ou max 6([)

sujeito a restrições de igualdade e/ou de desigualdade, que definem a região viável,


sendo que qualquer ponto nesta região é uma solução viável. Dependendo do tipo de
função objetivo e de suas restrições, os problemas de otimização com restrição são
comumente chamados de programação linear, programação quadrática, programação
não-linear, programação inteira e programação mista.

Programação linear: função objetivo e restrições lineares


®
min 6([) = F [
sujeito a: $[ ≤ E
[ ≥ 0

onde $ é uma matriz P x Q, isto é, P restrições e Q variáveis.

Programação quadrática: função objetivo quadrática e restrições lineares


² 1 ²
min 6 ( [) = F [ + [ 4[
2
sujeito a: $[≤E
[ ≥ 0

Programação não-linear: função objetivo e/ou restrições não-lineares


min 6([)
sujeito a: K« ([) = 0 , M = 1, 2, ..., P
J« ([) ≤ 0 , M = 1, 2, ..., S

onde K« ([) são P restrições de igualdade e g« ([) são S restrições de desigualdade.

Programação inteira: variáveis de decisão pertencem ao campo dos números inteiros.

Programação mista: é uma combinação da programação inteira com as demais. Por


exemplo, no problema de projeto de trocadores de calor as variáveis de decisão
poderiam ser as temperaturas das correntes (campo real) e os tipos de trocadores
existentes (campo inteiro).

74
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Neste capítulo é tratado o problema da programação linear. As demais


formulações são assuntos dos capítulos subseqüentes.
Lista-se abaixo alguns exemplos típicos de problemas de gerenciamento de
plantas industriais que recaem em programação linear:
a) associar trabalhadores a horários diários de trabalho de modo a adequar as
necessidades da planta, maximizando a satisfação do trabalhador e a
produtividade;
b) selecionar produtos a serem fabricados para o próximo período, tirando o melhor
proveito dos recursos disponíveis e dos preços atuais para maximizar os lucros;
c) determinar o padrão de distribuição de produtos das plantas para os armazéns de
modo a minimizar os custos dentro dos limites de capacidade.
A programação linear é um tipo de programação convexa, onde a função
objetivo é convexa e as restrições formam um conjunto convexo, portanto o ótimo
local é também global.

)XQGDPHQWRV
³ ´ ´
6HPLHVSDoRYHWRULDODEHUWR : + = {[ / F [³ < α, [ ∈ ℜ , α ∈ ℜ, F ≠ 0 ∈ ℜ }
´ ´
6HPLHVSDoRYHWRULDOIHFKDGR: + = {[ / F [ ≤ α, [ ∈ ℜ , α ∈ ℜ, F ≠ 0 ∈ ℜ }
³ ´ ´
+LSHUSODQR: K = {[ / F [ = α, [ ∈ ℜ , α ∈ ℜ, F ≠ 0 ∈ ℜ }

3ROLWRSR : I+ L

L =1
3ROLHGURFRQYH[R : Politopo limitado.
&DVFD FRQYH[D: é o conjunto convexo, &(;), formado pela interseção de todos
´ ´
conjuntos convexos no ℜ que contêm o conjunto ; ⊆ ℜ (convexo ou não
convexo). Se [ ∈ &(;), então
µ +1 ¶ · +1 ¹
[ = ∑α¶ ¸
¶ =1 [ com ¸∑ α = 1 , α¹ ≥ 0 e
=1
[ ∈ ; (teorema de Caratheodory).

A região de busca da programação linear é formada por interseções de planos, dados


pelas restrições lineares, $[ ≤ E e [ ≥ 0, gerando um poliedro convexo, isto é, um
´
conjunto 3 = {[ / $[ ≤ E e [ ≥ 0} de vetores no ℜ . Por exemplo, para as seguintes
restrições:
2 [1 + [2 ≤ 8
4 [1 + [2 ≤ 10
[1 ≥ 0 e [2 ≥ 0

75
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

2 1 ³
isto é, $ =  e E = [8 10] , o poliedro formado é mostrado abaixo.
4 1
[2
10 −
8−

6−

4−

2−

| | | | | [1
1 2 3 4 5

A solução da programação linear pode ser enunciada através do seguinte teorema:


´
“O ótimo de uma função linear em um poliedro convexo 3 ⊆ ℜ é obtido em no
mínimo um vértice. Se ele é obtido em mais de um vértice, então ele é obtido em
todos os pontos pertencentes a combinação convexa destes vértices”.
º
SURYD : sejam [1, [2, ..., [ , os vértices do poliedro 3, então, fazendo:
»
6 *= » PLQ ¼ {6 ( [ )}
=1, 2 ,½ ,

e sabendo que ∀ [ ∈ 3 pode ser obtido pela combinação convexa [ = ∑α N


[
N
,
N =1
S S

onde α¾ ≥ 0 e ∑ α = 1 , então
N
( )=
6 [ ∑α N
6 [
( N
) , pois 6([) é linear e
N =1 N =1
S

6 [ ( ) ≥ S* ∑ α = S*. N

N =1

([HPSOR : min 6([1, [2) = −6 [1 − 2 [2


sujeito a 2 [1 + [2 ≤ 8 6 [
( ) = -18
[2
10 −
4 [1 + [2 ≤ 10 6 [
( ) = -12
8−
[1 ≥0 e [2 ≥0 6−
6 [
( ) = -6
4−
6 [
( )=0
6 [
( ) 2−
[
2 =− − 3 [1
2 | | | | | [1
1 2 3 4 5

76
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Se o problema de programação linear não está bem posto, ele pode apresentar
uma solução não única (quando a função objetivo é paralela a restrição com melhor
vértice), ou uma solução infinita (quando a região viável não é limitada), ou
nenhuma solução (quando as restrições não formam uma região viável), tais
problemas são ditos GHJHQHUDGRV.

0pWRGRVLPSOH[
´
A generalização para o ℜ , chamado de método simplex (Dantzig, 1947), que
é um método da classe dos conjuntos ativos (“DFWLYH VHW”), é feita através da
transformação das desigualdades em igualdades, pela inclusão das chamadas
variáveis de folga, I ¹ ≥ 0 (L = 1, 2, ..., P, onde P é o número de restrições):
$ [ ≤E ⇒ $ [ + I = E, E ≥0
$ [ ≥E ⇒ $ [ − I = E, E ≥0
gerando um sistema sub-determinado de P equações com S = Q+P variáveis.
Portanto, é necessário especificar Q variáveis (chamadas de YDULiYHLV QmR EiVLFDV)
para obter as demais (YDULiYHLV EiVLFDV) em função destas. Se algum E ¹ < 0, então
basta multiplicar a inequação correspondente por (−1) para deixá-lo na forma
padrão, antes de introduzir a variável de folga.
Quando atribui-se valores nulos para as variáveis não básicas e obtém-se valores não
negativos para as variáveis básicas, tem-se uma VROXomR EiVLFD YLiYHO (ou
simplesmente VROXomR EiVLFD), caso contrário tem-se um ponto inviável. Se alguma
variável básica for nula, então tem-se uma VROXomR EiVLFD GHJHQHUDGD, sendo
necessário substituir as variáveis básicas nulas por variáveis não básicas. Esta
situação ocorre na figura abaixo no ponto [ = (5/2, 0), onde tem-se [2 = I2 = I3 = 0,
isto é, como Q = 2 e P = 3, o número de variáveis não básicas é 2 e o número de
variáveis nulas é 3 > Q.
[2
10 −
8−

6−

4−

2−

| | | | | [1
1 2 3 4 5

77
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

O método simplex busca o ótimo ao longo das restrições, pulando de um


vértice viável para outro adjacente até não haver mais progressão. Para descrever o
algoritmo simplex, observa-se que o problema de otimização modificado pode ser
representado pela matriz aumentada
$ ±I 
= P

0 
%
7
F
³
de dimensão (P+1) × S, e pelo vetor aumentado \ = [[ I] , de dimensão S, onde I¿ é a
matriz identidade de tamanho P × P. O sistema resultante é dado por:
³
% \ = [E 6 [ ( )]
Considerando como ponto de partida o vértice [ = 0, então as variáveis de folga, I,
formam um conjunto de variáveis básicas do sistema. As demais variáveis, [,
formam o conjunto de variáveis não básicas. Partindo desta formação, o algoritmo
simplex (minimização) pode ser descrito da seguinte forma:

algoritmo
1) Se F ¹ ≥ 0 ∀ L = 1,2,...,Q, então a solução ótima foi encontrada, bastando igualar a
zero as variáveis não básicas e resolver o sistema [$ I¿ ] \ = E. FIM.
2) Pivotamento: identificar o N-ésimo elemento da linha P+1 da matriz % com o
menor valor (corresponde ao índice da variável que causa a maior redução da
função objetivo). A N-ésima variável será incluída na base. Identificar o V-ésimo
elemento do vetor E¹ / D¹ À ¾ com menor valor positivo (corresponde a restrição mais
próxima, e valores negativos não violam a restrição com o aumento da N-ésima
variável). A V-ésima variável de folga será removida da base.
3) Eliminação de Gauss-Jordan: executar as operações elementares na matriz % (para
levar de uma solução básica para outra), tomando como elemento pivô: DÁ À ¾ e (ir
para 1).

([HPSOR : resolvendo o exemplo anterior pelo método simplex, tem-se:


[1 [2 I1 I2 E [1 [2 I1 I2 E [1 [2 I1 I2 E

2 1 1 0 8 ⇒ 0 1/2 1 -1/2 3 ⇒ 0 1 2 -1 6
4 1 0 1 10 1 1/4 0 1/4 5/2 1 0 -1/2 1/2 1
-6 -2 0 0 6 0 -1/2 0 3/2 S+1 0 0 1 1 S+1
5 8

base: I1 e I2 base: [1 e I1 base: [1 e [2

78
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

A solução do sistema [$ IÂ ] \ = b, após eliminação de Gauss-Jordan, com :I1 = I2 =


0 (variáveis não básicas), é dada por:
 [1 
0 1 2 − 1   [ 2  =  6 ⇒
 1 0 − 1 / 2 1 / 2  I 1   1 [1 =1 e [2 =6
I 
 2
Observe que ao igualar as variáveis não básicas a zero, as variáveis básicas
são obtidas simplesmente fazendo [ Ã = E Ã . Deste modo, se algum EÃ = 0 significa que
há dependência entre restrições, gerando uma solução básica degenerada.
Outra observação importante é que ao escrever a função de Lagrange para o
problema de programação linear tem-se:
Ä Ä Ä Ä Ä Ä Ä Ä
/ [
( ,µ) = F [ + µ ($ [ − E) = (F + µ $ ) [− µ E = [ (F+ $ µ)− µ E
Ä
e portanto ∇Å /([ ,µ*) = F + $ µ* = 0, resulta em:
Ä Ä
( ,µ*) = −(µ*)
/ [ E = 6([*) = F [

Usando a definição de variável de folga, a função de Lagrange é dada por:


Ä Ä Ä Ä Ä
/ [
( ,µ) = F [ −µ I = [ η− µ E , η = F+ $ µ
Consequentemente, ao obter a solução ótima pelo algoritmo simplex, os coeficientes
das variáveis de folga na última linha da matriz aumentada correspondem aos
multiplicadores de Lagrange das respectivas restrições. O sinal negativo na equação
acima é compensado pelo fato de que no final do algoritmo tem-se do lado direito o
termo 6 − 6([*). No exemplo acima µ1 = µ2 = 1. Vale lembrar que:
∇Æ S(x) = −µ*
isto é, a sensibilidade da função objetivo em relação as restrições é dada pelo
negativo do multiplicador de Lagrange. No exemplo dado, aumentando E1 de 8 para
8,2 a função objetivo passaria de −18 para −18 − 0,2
Ä * µ1 = −18,2. Esta constatação
também pode ser obtida pelo fato de 6([*) = −(µ*) E.
A formulação dual do problema de programação linear pode ser escrita como:
Ä Ä
max φ(µ) = −µ E  −E µ
Ä
sujeito a: −$ µ ≤ F
µ≥0

79
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Este problema pode ser resolvido da mesma maneira que o problema primal,
introduzindo as correspondentes variáveis de folga (η, definido acima).

Ä Observe que o mínimo de /([,µ) em relação a [ existe


Ä seÄ η ≥ 0, cuja solução
é −µ  E, pois pelas condições de Ä complementaridade
Ä [ η = µ  I = 0 (= JDS dual).
Ä Ä Ä
Ou seja, quando $ [ = E → (µ*) $ [ = (µ*) E = −F  [ → [F + (µ*) $] [ = 0.
No caso de restrição de igualdade, a variável dual, λ, é irrestrita.
O número de soluções básicas possíveis nos problemas de programação linear
primal e dual são dados pelas seguintes expressões, respectivamente:
 S S !  S S!
1
S
=   = 1
G
=   =
P P! ( S − P )!  Q  Q! ( S − Q)!
sendo que o algoritmo simplex chega na solução ótima, geralmente, entre P e 3⋅P
iterações para o problema primal (e entre Q e 3⋅Q para o dual), não necessariamente
seguindo o caminho mais curto para o ótimo. O problema dual não requer uma
solução inicial básica viável para [, mas para µ. Por outro lado, o problema primal
sempre mantém a viabilidade das soluções para [ a cada iteração.

3ULPHLUDVROXomRYLiYHO

Se o ponto inicial não é viável, então é necessário realizar uma busca para a
primeira solução viável. Isto pode ser feito com o uso de YDULiYHLVDUWLILFLDLV.
([HPSOR : considere o problema
min 6([1, [2) = [1 + 2 [2
sujeito a 3 [1 + 4 [2 ≥ 5
[1 + [2 ≤ 4

[1 ≥ 0 e [2 ≥ 0

Introduzindo as variáveis de folga I1 e I2 tem-se:


3 [1 + 4 [2 − I1 = 5
[1 + [2 + I2 = 4
e partindo do ponto inicial [1 = [2 = 0, resulta em I1 = −5 e I2 = 4, violando a
restrição de não negatividade das variáveis. Definindo uma variável de folga
artificial, Y1, a restrição violada é rescrita como:
3 [1 + 4 [2 − I1 + Y1 = 5

80
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

sendo satisfeita com valores positivos de I1 e Y1 para [ = 0 (e.g., I1 = 1 e Y1 = 6).


Deste modo uma solução viável é obtida quando as restrições forem satisfeitas e os
valores das variáveis artificiais forem todos nulos. As variáveis de folga podem ser
levadas a zero pela inclusão de uma penalização (Murty, 1983) na função objetivo
do tipo: Ä
6’([,Y) = 6([) + S Y

onde S Ã >> 0 é a penalização da variável Y Ã . Ou pelo uso do algoritmo simplex em


duas fases, sendo a primeira fase usando a seguinte função objetivo:
Ç
6’(Y) = È∑ Y È
=1

e a segunda fase como descrita anteriormente a partir da solução básica obtida na


primeira fase. Se o mínimo da primeira fase é diferente de zero então não há solução
viável para o problema.

)RUPDSDGUmR

Se um problema de otimização linear possuir alguma variável irrestrita, isto é,


pode assumir valores positivos e negativos, então é possível transformá-lo na IRUPD
SDGUmR de programação linear:
Ä
min 6([) = F [
sujeito a: $[ = E (forma padrão)
[ ≥ 0 , E ≥ 0

pela substituição desta variável por outras duas variáveis restritas. Por exemplo, se
um dado problema tem a variável [1 irrestrita, então fazendo [1 = \1 − ]1, com \1 ≥ 0
e ]1 ≥ 0, o problema equivalente com \1 e ]1 no lugar de [1 é restrito nestas
variáveis. Se [ possuir limite superior finito, estas restrições podem ser incluídas na
matriz $ com o uso das variáveis de folga. Por outro lado, se o limite inferior for
diferente de zero ([ ≥ Z), então faz-se uma mudança de variável do tipo \ = [ − Z,
com \ ≥ 0. Em suma, qualquer problema de programação linear pode ser posto na
forma padrão. Observe que os problemas com restrições de desigualdade, tratados
anteriormente, são transformados na forma padrão acima pela inclusão das variáveis
de folga.
Quando uma linha, L, da matriz de restrições de igualdade possuir somente um
elemento não nulo, o componente, M, de [ associado a este valor é chamado de
VLQJOHWRQ, pois não pode assumir outro valor diferente de [É = E Ã / D Ã É .

81
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

A etapa de eliminação Gaussiana do algoritmo simplex pode ser descrita em


uma forma mais compacta através da seguinte notação matricial:
Ä Â Ì
[ = [[Ê ¦ [Ë ] , Ê ∈ ℜ (vetor básico) e
[ [ Ë ∈ ℜ (vetor não básico)
 ×Â Ì ×Ì
$ = [% ¦ 1
] , % ∈ℜ (matriz base) e 1 ∈ℜ (matriz não básica)
Ä Â Ì
F = [FÊ ¦ FË ] , Ê ∈ℜ
F e F Ë ∈ℜ são os coeficientes da função objetivo
onde Q  P = S é o número total de variáveis do sistema. Usando esta notação a
forma padrão é escrita como:
min 6([) = F
7
%
[
%
+F 7
1
[
1

sujeito a: %[ Ê + 1[Ë = E


[ Ê ≥ 0, [Ë ≥ 0, E ≥ 0
Como a matriz base é de posto cheio, o vetor básico (das variáveis dependentes) é
dado por:
Ê = %−1E−%−1 1[Ë
[

Esta operação transforma o problema na forma padrão para a sua IRUPDFDQ{QLFD, ou


seja:
min 6([) = F
7
%
[
%
+F 7
1
[
1

sujeito a: [ Ê + 1 [ Ë = E (forma canônica)


[ Ê ≥ 0, [Ë ≥ 0, E ≥0

que é caracterizada por [Ê = E quando [Ë = 0. Substituindo [Ê na função objetivo


resulta em:
−1 −1
6 [
( )= F
7
%
% E + (F − F 7
1
7
%
% 1 )[ 1

Ä
O termo UË = FË − (%−1 1) FÊ , conhecido como vetor dos “custos relativos” ou
gradiente reduzido da função objetivo ( ∇ Í 6 ( [) = UË ), é usado para determinar qual
[

a variável não básica se tornará básica (determinação da coluna pivô). A variável que
deixará a base resulta do teste da razão entre as linhas do termo independente %−1 E
e a coluna pivô da matriz %−1 1.
Fazendo [Ë = 0 (como parte da solução básica viável), tem-se:
[ Ê = %−1E e 6 [ ( )= F
7
%
%
−1
E

82
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

0pWRGRGRSRQWRLQWHULRU .DUPDUNDU

O método de Karmarkar (1984) (ou Dikin, 1967), desenvolvido para tratar de


problemas de dimensões elevadas (com um número elevado de vértices), determina
direções de busca no interior estrito da região viável.
A tarefa mais difícil na solução do problema primal é determinar quais os
componentes de [ podem ser estritamente positivos em uma solução viável. Isto é
equivalente a determinar quais as restrições do problema dual podem ser satisfeitas
somente como restrições de igualdade (ou seja, satisfazer as condições de
complementaridade). Os algoritmos de conjuntos ativos (DFWLYH VHW), tal como o
método simplex, atualizam repetitivamente um conjunto de no máximo P elementos
de [ que podem ser positivos a cada vez. Por outro lado, os algoritmos de ponto
interior, tal como o de Karmarkar, trabalham com soluções viáveis onde todos os
componentes de [ são positivos. Eles repetitivamente fazem uma mudança de
variável, calculam a direção de busca neste novo conjunto (em geral na direção de
maior descida ou conjugada), caminham alguma distância nesta direção e levam o
ponto resultante para as variáveis originais.
Considerando o problema de programação linear na forma padrão:
Ä
min 6([) = F [
sujeito a: $[ = E
[ ≥ 0

O algoritmo de Karmarkar inicia no centróide do simplex formado pelas restrições


de igualdade $ [ = E, que é um ponto interior viável, [o (pontos próximos as
fronteiras podem tornar lenta a convergência). A seguir o vetor direção da maior
descida, dado por G = −∇6([) = −F é projetado na interseção das restrições de
igualdade (que define o espaço nulo, ou núcleo da matriz $, isto é, o conjunto ℵ =
Ì
{GÎ ∈ ℜ | $ GÎ = 0}). A matriz de projeção é obtida sabendo-se que G = GÎ + GÏ , onde
GÏ é um vetor do espaço ortogonal ao espaço nulo (conhecido como “UDQJHVSDFH”),
Ä Ì Ä Â
isto é, a imagem de $ , ou seja 5 = {GÏ ∈ ℜ | GÏ = $ µ, µ ∈ ℜ } = ℵ⊥. Portanto,
Ä Ä Ä Ä
(G Ï ) Î =0
G e Î = G− GÏ = G− $ µ
G → µ $ (G− $ µ) = 0
que resolvendo para µ resulta em:
Ä
µ = ($$ )−1 $ G
e, deste modo, a direção projetada GÎ = 3 G, é obtida pela seguinte matriz de
projeção:
83
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Ä Ä
3 = , − $ ($$ )−1 $
Esta projeção
Ð pode
Ð +1 ser melhorÐ interpretada
Ð +1 ao analisar duas soluções
Ð +1 viáveis
Ð durante
a busca,
Ð +1 Ð [ e [ , onde $ [ = E e $ [ = E, e portanto $ ([ − [ ) = 0, ou seja
([ − [ ) = αk GÎ , isto é, GÎ é ortogonal as linhas da matriz $ estando portanto no
espaço nulo de $. A figura abaixo ilustra a projeção.

G Ò

origem • G Ñ

A busca segue então


Ð na direção projetada até as proximidades de uma restrição,
obtendo o ponto [ , que é normalizado por:
Ð +1 Ð
[ = '−1 [
Ð
onde ' é a matriz diagonal de [ . Então o problema é reformulado em função desta
matriz para que o ponto de partida do próximo estágio também esteja eqüidistante de
todos os hiperplanos que formam o poliedro (ou seja, o centróide). Tem-se então:
Ð Ð Ð +1
$[ = E = $''−1 [ = $' [
Ä −1
Ð Ä Ð +1
6 [
( )=F '' [  F '[

resultando no novo problema:


Ä
min 6([) = F '[
sujeito a: $'[ = E
[ ≥ 0

devendo-se
Ä proceder
Ä como no início do algoritmo, substituindo a matriz $ por $' e
vetor F por F  '. O critério de parada é verificado pela análise dos multiplicadores
de Lagrange, calculados por: Ä
µ = −($$ )−1 $ F
e do gradiente projetado, isto é, na solução 3G = 0.
([HPSOR : considere o problema

84
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

min 6([) = [1 + 2 [2 + 3 [3
sujeito a [1 + [2 + [3 = 1
[1 ≥ 0, [2 ≥ 0, [3 ≥ 0
o
Ä Ä
ilustrado na figura abaixo, com centróide em [ = [1/3 1/3 1/3] e [* = [1 0 0] .

Ä
A primeira direção projetada é dada por: GÎ = 3G = −3F = [1 0 −1] . O tamanho do
passo nesta direção é obtido de modo a obter o maior avanço sem tornar a solução
inviável, isto é:
Ð Õ
α* = γ × max {α > 0 | [ + α GÎ ≥ 0} = γ × min { − [ Ô / G kÓ Ô | GÎ Ã < 0, L = 1,..., Q}

onde 0 < γ < 1 é um IDWRUGHVHJXUDQoD para que os pontos permaneçam no interior


da região viável (usualmente γ ∈ [0,9 0,9999]). Para o exemplo α* = γÄ × 1/3. Usando
um valor γ = 0,98, tem-se o próximo ponto [1 = [1,98/3 Ä 1/3 0,02/3] , ilustrado na
figura acima pelo ponto da fronteira [2/3 1/3 0] . Portanto, a matriz de
escalonamento é dada por ' = diag(1,98/3, 1/3, 0,02/3).
Existe uma grande variedades de implementações de algoritmos do ponto
interior, tanto na forma primal quanto na dual, mantendo a idéia básica da projeção
do gradiente no espaço nulo.

85
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

3URJUDPDomR1mR/LQHDU 1/3

Os problemas de programação não linear podem ser representados pelas seguintes


função objetivo e restrições não lineares:
min 6([)
sujeito a: KÉ ([) = 0 , M = 1, 2, ..., P
JÉ ([) ≤ 0 , M = 1, 2, ..., S

onde KÉ ([) são P restrições de igualdade e gÉ ([) são S restrições de desigualdade.


A maioria dos algoritmos de programação não linear procuram linearizar
localmente a fronteira da região viável, gerando restrições lineares. Alguns
aproximam a função objetivo por funções quadráticas, outros por funções lineares.
Portanto, os problemas de programação linear e quadrática são de grande
importância para auxiliar na solução de problemas de programação não linear. O
problema da programação linear já foi tratado no capítulo anterior. A seguir é
discutido o problema de programação quadrática.

3URJUDPDomR4XDGUiWLFD 43

O problema de programação quadrática é caracterizado por uma função objetivo


quadrática e restrições lineares:
Ö 1 Ö
min 6 ( [) = F [ + [ 4[
2
sujeito a: $[≤E
[ ≥ 0

onde $ é uma matriz P x Q, isto é, P restrições e Q variáveis, F é um vetor de Q


coeficientes e 4 é uma matriz simétrica Q x Q. Vale lembrar que uma matriz
quadrada, 0, pode ser × transformada × em ×uma matriz simétrica usando a
transformação 4 = (0 + 0 ) / 2 e que [ 0[ = [ 4[.
O problema de programação quadrática geralmente surge como um sub-
problema da programação não linear. Também ocorre em problemas de mínimos
quadrados com restrição, controle ótimo de sistemas descritos por modelos lineares e
função custo quadrática, controle preditivo linear, etc.
Sendo as restrições lineares e linearmente independentes, as condições de
qualificação de segunda ordem das restrições são sempre satisfeitas. Portanto, as
86
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

condições de primeira ordem de KKT são as condições necessárias para obter a


solução ótima, ou seja:
× ×
∇Ø /([ , λ*, µ*) = ∇6([ ) + (λ*) ∇K([ ) + (µ*) ∇J([ ) = 0
K [
( )=0
( )≤ 0
J [

µÙ * JÙ ([ ) = 0 , M = 1, 2, ..., S
µ* ≥ 0
Além disto, se a matriz 4 for positiva definida, as condições de segunda ordem de
KKT são as condições suficientes para a solução ser um ponto extremo e o ótimo
global do problema. Se 4 não for positiva definida, então o problema pode não ter
solução limitada ou apresentar mínimos locais.
A função de Lagrange para o problema de programação quadrática, na forma
acima, é dada por:
× × × ×
( , µ, η) = F
/ [ [ +½[ 4[ + µ ($ [ − E) − η [

onde η são os multiplicadores associados ao limite inferior do vetor [ (o sinal


negativo surge porque a restrição é do tipo ≥). Portanto, o gradiente de / com
relação a [ fica: ×
∇Ø /([, µ, η) = F + 4[+ $ µ − η
Inserindo as variáveis de folga, I, e aplicando as condições KKT, resulta em:
$[ +I−E=0
×
F + 4[+ $ µ − η = 0
× × × ×
µ I = 0, η [ = 0 (ou µ I +η [ = 0, pois todos são ≥ 0)
[ ≥ 0, I ≥ 0, µ ≥ 0, η ≥ 0
Multiplicando o segundo sistema de equações transposto por [ / 2, tem-se:
× × × ×
½[ 4[ = ½ (η −µ
[ $[ −F [ )
que substituindo na equação função objetivo leva a:
× × ×
6 [ ( , µ, η,I) = ½ (F [ +µ $ [ −η [ )
× ×
como $[ = E−I , η [ =0 e µ I = 0, tem-se então:
× ×
6 [ ( , µ, η,I) = ½ (F [ −µ E )
87
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Fazendo o mesmo para a função de Lagrange tem-se:


× × × ×
( , µ, η,I) = ½ (F
/ [ [ −µ E ) − ½ (µ I +η [ )
Portanto, o problema de programação quadrática pode ser resolvido pelo seguinte
problema de programação linear, conhecido como SUREOHPD GH FRPSOHPHQWDULGDGH
OLQHDU:
×
min 6([) = F [
sujeito a: $ [=E
[ ≥ 0
×
onde F = ½ [F¦ 0Ú ¦ −E ¦ 0Û ]
×
[ = [[¦ I ¦ µ ¦ η] ∈ ℜ2Ü
×
E = [E¦ −F]
$ IÚ 0Ú 0Û
$ = ×
4 0Ú $ −IÚ
× ×
e observando a condição de complementaridade ½ (µ I + η [) = 0 (= JDS dual).
Onde 0Ú é um vetor nulo de tamanho P na definição de F, e uma matriz nula de
dimensão P × P na definição de $. As condições de complementaridade implicam
que no algoritmo simplex não é permitido que os pares ([ Ý , η Ý ) e (µ Ý , I Ý ) sejam
simultaneamente variáveis básicas em uma solução viável.
Observe que no problema acima, quando 4 = 0, tem-se uma formulação
primal-dual de um problema de programação linear.
Rescrevendo a função de Lagrange na seguinte forma, sem incluir a restrição
[ ≥ 0 na função:
× × × × ×
/ [ ( , µ) = (F + [ 4 +µ $ ) [− ½ [ 4 [ −E µ
então o mínimo de /([,µ) em relação
× a [ existe se 4 for pelo
× menos × positiva semi-
definida e se η = F + 4 [ + $ µ ≥ × 0, cuja solução é −½ [  4 [ − µ  E, pois pelas
condições de complementaridade η [ = 0. Neste caso o problema dual pode ser
formulado, sendo dado por:
× ×
max φ(µ,]) = −½ ] 4 ] −E µ
×
sujeito a: −$ µ − 4]≤ F
µ ≥ 0, ] irrestrito
88
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Do mesmo modo que na programação linear, também é possível resolver o


problema de programação quadrática usando os métodos do ponto interior. Neste
caso, a direção da maior descida, a matriz de projeção e os multiplicadores de
Lagrange são dados por, respectivamente:
Þ Þ
G = −∇6([ ) = −F − 4 [
× ×
3 = 4ß 1 − 4ß 1$ ($4ß 1$ )−1 $4ß 1
× ×
µ = 4ß 1$ ($4ß 1$ )−1 $4ß 1 G
que resultam da solução das condições de otimalidade do problema:
Þ Þ × Þ ×
min 6([ +GÜ ) = 6([ ) + ∇ 6([ ) GÜ + ½ (GÜ ) Ü
4 G

sujeito a: $G Ü =0
isto é, da minimização da função objetivo sobre o espaço nulo, como ilustra abaixo,
onde GÜ = 3 G. A solução acima é possível se 4 for positiva definida e $ possuir
posto completo.

G Ò

origem • G Ñ

Ou seja, ao aplicar a condição Þ de gradiente


× Þ nulo para
× a função
× de Lagrange do
problema acima: /(GÜ , µ) = 6([ ) + ∇ 6([ ) GÜ + ½ (GÜ ) 4 GÜ + µ $GÜ , tem-se:
Þ ×
∇à Ü /(GÜ , µ) = ∇6([ ) + 4 GÜ + $ µ = 0
∇µ/(GÜ , µ) = $GÜ = 0
Þ
ou na forma matricial, usando G = −∇6([ ):
â
4 $   G á  G 
   =  
 $ 0   µ   0 

cuja solução para µ e GÜ é dada acima com o uso da matriz de projeção.

89
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

5HOD[DomR/DJUDQJHDQD

O método da relaxação Lagrangeana consiste em utilizar os multiplicadores de


Lagrange para a solução de problemas convexos, transformando o problema:
min 6 [
( )
[ ∈.

sujeito a: KÙ ([) = 0 , M = 1, 2, ..., P


JÙ ([) ≤ 0 , M = 1, 2, ..., S
onde 6([), KÙ ([) e JÙ ([) são funções convexas e . é um convexo, no problema:
ä
max ã φ(λ,µ)
λ∈ℜ ,µ∈ℜ

sujeito a: µ≥0
× ×
onde φ(λ,µ) = PLQ {6([) + λ ( ) + µ I([)}, IÙ ([) = JÙ ([) + (YÙ )2 e YÙ (M = 1,2,...,S)
K [
[ ∈.

são as variáveis de folga. Isto é, transforma em um problema sem restrições.


([HPSOR : min 6([) = [1 [2
sujeito a: J
1 ([ ) = [
2
1 + [ 22 − 25 ≤ 0

( , µ) =
/ [ [ [
1 2 + µ1 ( [12 + [ 22 − 25 + Y12 )
∂/
= [ 2 + 2µ1 [1 = 0
∂[1
∂/
= [1 + 2µ1 [ 2 = 0
∂[ 2
∂/
= [12 + [ 22 − 25 + Y12 = 0
∂µ1
∂/
= 2µ1Y1 = 0
∂Y1

µ1 [1 [2 Y1 6 [
( ) ponto
0 0 0 5 0 sela
     PtQLPR

     PtQLPR

-0,5 3,54 3,54 0 12,5 máximo


-0,5 -3,54 -3,54 0 12,5 máximo

90
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

∂/
Observe que como = 2µ M
Y
M
= 0 (isto é, as condições de complementaridade das
∂Y M

restrições de desigualdade) implica em µÙ = 0 ou YÙ = 0, então para o caso de YÙ = 0,


tem-se a solução sobre a M-ésima restrição de desigualdade, e quando µÙ = 0, a
solução está distante da restrição pela variável de folga YÙ . Observe também que o
ponto ótimo de 6([) corresponde a um ponto sela de sua correspondente função de
Lagrange (isto é, um ponto de mínimo em relação a [ e de máximo em relação aos
multiplicadores, também conhecido como problema PLQLPD[).
O uso das variáveis de folga na forma (YÙ )2 nas restrições de desigualdade
evita a necessidade de restringir Y ≥ 0, como foi feito para os casos da programação
linear e quadrática.
([HPSOR : min 6([) = 4 [12 + 5 [ 22
sujeito a: K1([) = 2 [1 + 3 [2 − 6 = 0
( , µ) = 4 [12 + 5 [ 22 + λ1 (2 [1 + 3 [ 2 − 6)
/ [

∂/
= 8 [ 2 + 2 λ1 = 0
∂[1
∂/
= 10 [1 + 3 λ1 = 0
∂[ 2
∂/
= 2 [1 + 3 [1 − 6 = 0
∂λ1

A solução deste sistema de equações leva a [1 = 1,071, [2 = 1,286, λ1 = -4,286.


Em suma, a solução do método da relaxação Lagrangeana (ou método de
Lagrange) consiste em aplicar as condições de otimalidade sobre /([,λ,µ), ou seja:
× ×
∇Ø /([, λ, µ) = ∇6([) + λ ∇K([) + µ ∇J([) = 0
K [
( )=0
JÙ ([) + (YÙ )2 = 0
µÙ YÙ = 0 , M = 1, 2, ..., S
µ≥0
Como o conjunto resultante de equações forma, geralmente, um sistema não linear
de equações algébricas, então o método da relaxação Lagrangeana não é muito
atrativo, pois a solução deste sistema não linear pode ser mais complexa que a
solução direta do problema de otimização por outros métodos. Além disto, a solução
91
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

somente está garantida se as condições de convexidade forem satisfeitas. Caso


contrário, os testes de otimalidade de segunda ordem devem ser verificados, isto é, a
matriz Hessiana da função de Lagrange com relação a [, ∇ 2 /([ , λ*, µ*), deve ser [

pelo menos positiva semi-definida para todo vetor não nulo G tal que:
×
G ∇KÝ ([*) = 0 , L = 1, 2, ..., P
×
G ∇JÙ ([*) = 0 para as JÙ ([*) ativas {YÙ * = 0 e µÙ * > 0}
×
G ∇JÙ ([*) ≤ 0 para as JÙ ([*) inativas {YÙ * ≠ 0 e µÙ * = 0}
×
isto é, G ∇ 2 /([ , λ*, µ*)G≥ 0, ou se todas as raízes do polinômio característico:
[

λ, − ∇ 2 / 0
S (λ ) = åæ =0
0 0

forem não negativas, onde 0 é a× matriz formada pelos gradientes


× de K([*) e J([*)
ç
ativas, isto é, a matriz tal que 0 G = 0 (espaço nulo de 0 ), com PS× < Q e com
ç
posto completo (S é o número de restrições J ativas). Observe que 0 = $ para os
casos da programação linear e quadrática.
×
Para a × segunda solução do exemplo 6.1 a matriz 0 = ∇J1([*) = 2 [[1 [2 ] =
[7,08 −7,08] e a matriz Hessiana é dada por:

2 µ 1  1 1
∇2 / = 
[ = 
 1 2 µ  1 1
×
resultando em G ∇J1([*) = 7,08 (G1 − G2 )=0→ G1 = G2 e G
7
∇ 2 / G = 4 G12 > 0 , e
[

portanto o ponto é um mínimo local, ou de forma equivalente S(λ) = 0 resulta no


valor característico λ > 2. Para o exemplo 6.2, que é convexo, a solução obtida é o
mínimo global do problema.
Apesar da dificuldade da aplicação do método de Lagrange para a solução de
problemas não lineares, ele é muito útil para analisar a sensibilidade da função
objetivo em relação as restrições.
A aplicação do método do gradiente para a solução da relaxação Lagrangeana
no espaço dual, quando há somente restrições de desigualdade, sem o uso das
variáveis de folga, resulta no seguinte algoritmo (Uzawa). Lembrando que se µ*
maximiza φ(µ) sobre µ ≥ 0, então o correspondente [* é solução do problema primal.
algoritmo

92
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

1) Escolher um ponto inicial µo, N =0


Þ Þ × Þ
2) Resolver o problema φ(µ ) = min {6([) + (µ ) J [ ( )}, obtendo [ .
∈.
[
è è
è
 é ([ ) è µ éè > 0
3) G é = 
J VH
L = 1, 2, ..., S
max{0, J é ( [ )} VH µé = 0
Þ Þ Þ Þ
4) Encontrar αÞ tal que φ(µ + αÞ G ) = max φ(µ + α G )
α >0
Þ +1 Þ Þ
5) Calcular µ = µ + αÞ G

6) 6H o critério de convergência não foi satisfeito, HQWmR N ← N + 1 (ir para 2)


7) FIM.
Naturalmente, assim como foi utilizado o método do gradiente, qualquer outro
método de otimização sem restrição poderia ser utilizado para resolver este
problema.

)XQo}HVSHQDOLGDGH

Transforma o problema:
PLQ 6 [ ( )
[ ∈.

sujeito a: K ê ([) = 0 , M = 1, 2, ..., P


gê ([) ≤ 0 , M = 1, 2, ..., S
no problema:
PLQ [6([) + 3([, U)] , otimização sem restrição
[ ∈ℜ ë

onde 3([, U) é a função penalidade e U ≥ 0. A função penalidade deve satisfazer as


seguintes propriedades:
3 [ ( , U) ≥ 0 ∀[
3 [ ( , U) = 0 para todo [ viável
O caso mais comum de funções penalidades é a penalidade quadrática:
 ì î 
3 ( [, U ) = U  ∑ K í ( [ ) ( )
2
+ ∑ [max(0, J í ( [) )]2 
í =1 í =1 

93
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Esta função, ilustrada abaixo, causa uma descontinuidade da matriz Hessiana quando
algum Jï ([) = 0, dificultando o uso de algoritmos quasi-Newton.

0 J

Além disto, o condicionamento do problema, que é responsável pelo desempenho de


qualquer algoritmo de descida, piora quando U cresce. Um aumento de U gera uma
melhor aproximação da fronteira da região viável, mas torna-se mais difícil
satisfazer as condições de KKT. Uma estimativa para os multiplicadores de
Lagrange (e Kuhn-Tucker) é dada por:
λ = U K[[(U)]
µ = U max{0, J[[(U)]}
Uma estratégia possível, para minimizar estes problemas,
ð ð seria um auto-ajuste
ð ð
do parâmetro U, iniciando com valores baixos e se 3([ , U ) > ε então fazer U +1 = γ U
com γ > 1. O fator de escala U pode também ser individualizado para cada restrição,
em função da importância ou da ordem de grandeza da mesma.
Outra função penalidade usada, não suave, é dada por:
 ñ ó 
(
3 ( [, U ) = U  ∑ K ( [ ) + ∑ max 0, J ò ( [ ) 
ò )
ò =1 ò =1 

sendo uma penalidade exata, pois existe um valor finito de U , Uôöõ ÷ , tal que [* é um
mínimo local de {6([) + 3([, U)} quando U > Uôøõ ÷ , ao contrário da penalidade
quadrática onde U deve ser infinito para se ter uma penalidade exata.
No caso de restrições de desigualdades é possível usar penalidades interiores
à região viável, conhecidas como IXQo}HV EDUUHLUDV, sendo a forma mais comum
dada por:
S
1
( , ) = −∑
% [ U

L =1 U J ( [ )
L

94
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

sendo as soluções sucessivas estritamente viáveis. Obviamente, as dificuldades


computacionais aumentam quando se aproxima da fronteira.
Uma penalização mais satisfatória e exata, no sentido de que existe um valor
finito de U, acima do qual a solução do problema modificado satisfaz as condições de
otimalidade do problema original, é o PpWRGR GR /DJUDQJHDQR DXPHQWDGR (Powell,
1969 e Hestenes, 1969). Neste caso a função de Lagrange toma a forma:
ú ú
/ ù ([,λ;U) = S(x) + λ ( ) + µ I([) + 3([, U)
K [

onde Iï ([) = Jï ([) + (Yï )2 , Y ï (M = 1,2,...,S)


ú ú
3 [ ( , U) = ½ U {K ([) K([) + I ([) I([)}
Neste caso, a parte da matriz Hessiana de /ù , correspondente a função penalidade é
dada por:
ú
U {$ ([)$([) + 4([)}
ú ú ú ú P +S
onde $ =∇ Z [
( ), Z = [ K ( [) I ([)] , 4 [ ( ) = ∑ Z ( [) + ( [) e L L
+ õ ([) é a matriz
L =1
Hessiana da função Z õ ([). Como
ú Zõ ([ ) = 0, então 4([ ) = 0, reduzindo a Hessiana
da função penalidade para U $ ([ )$([ ), que é uma matriz positiva semi-definida.
Portanto, se um vetor G pertence ao núcleo de $([ ), isto é, $([ ) G = 0, então:
ú ú ú ú ú
G / ù ([ ,λ*;U) G = G / [ ( ,λ*) GUG $ ([ )$([ ) G G ( ,λ*) G ≥ 0
/ [
ú
E se G pertence ao UDQJHVSDFH de $([ ), isto é, G = $ ([ ) µ, então:
ú ú ú ú ú
G /ù ([ ,λ*;U) G = G ( ,λ*) GUµ
/ [ ( ) ([ )$([ )$ ([ ) µ≥ 0
$ [ $

se U for suficientemente grande, aumentando os valores característicos de /([ ,λ*)


no UDQJHVSDFH de $([ ), que podem ser negativos, deixando os demais inalterados.
Logo, se o problema original possuir uma matriz Hessiana positiva semi-definida (ou
definida), então existe um U finito tal que valores acima dele resultarão em uma
matriz Hessiana aumentada positiva semi-definida (ou definida), o que implica que
[* minimiza /ù ([,λ*;U).

No caso de usar um vetor de pesos, U, ao invés


ú de um escalar, a ú análise acima
também se aplica, bastando trocar a expressão U $ ([ )$([ ) por $ ([ ) 5 $([ ),
onde 5 = diag(U õ ).

95
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

([HPSOR : min 6([) = [3


sujeito a: K([) = [ + 1 = 0
Obviamente a solução deste problema é [* = −1. O valor ótimo do multiplicador de
Lagrange pode ser obtido por:
∇û /([, λ) = 3 [2 + λ = 0 → λ* = −3 ([*)2 = −3.
Definindo o Lagrangeano aumentado:
/ù ([, λ; r) = [ + λ ([ + 1) + U ([ + 1) / 2
3 2

tem-se os seguintes resultados:


∇û /ù ([ , λ*; U) = 3 ([ )2 + λ* + U ([ + 1) = 0
∇ 2 /( [*, λ*) = 6[ = −6 (negativa definida)
[

ú
G ∇K([*) = 0 → G = 0 (P = Q, grau de liberdade nulo)
∇ 2 / ( [*, λ*; U ) = 6[ + U = U− 6 (positiva definida se U> 6).
[ $

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


diferentes para U (U = 2 < 6 e U = 9 > 6). Observe que para [* = −1 o valor de /([,λ*)
é máximo, e é onde o valor de 6([) intercepta /([,λ*). Também neste ponto a função
/ù ([, λ*; 9) apresenta um mínimo local. O ínfimo de /ù ([, λ*; 9) = −∞. Observe

também que quando U < 6 o mínimo de /ù ([, λ*; U) é deslocado para um ponto
inviável.

96
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

3URJUDPDomROLQHDUVHTHQFLDO 6/3

A técnica mais direta para resolver problema de programação não linear em


geral é a linearização do problema e a aplicação de técnicas de programação linear,
tais como:
1. Linearizar o problema (função objetivo e restrições) em torno de um ponto
nominal de operação e obter a solução do problema de programação linear
resultante;
2. Linearizar sucessivamente o problema não linear na medida em que melhores
soluções viáveis são obtidas por métodos de programação linear. No caso de
obter uma solução inviável na programação linear, então é localizado um ponto
viável próximo a este;
3. Linearizar por partes a função objetivo e as restrições gerando um problema
aproximado, formado por séries de segmentos de reta.
Contudo, não há garantias de convergência para estes métodos. A segunda estratégia
é a base do método da programação linear seqüencial (SLP - 6HTXHQWLDO /LQHDU
3URJUDPPLQJ), onde a cada estágio um problema de programação linear é resolvido

pelo método simplex. Este método também é conhecido como método da


programação aproximada (MAP - 0HWKRG RI $SSUR[LPDWH 3URJUDPPLQJ),
denominado por Griffith & Stewart, 1961.

ð A linearização do problema de programação não linear em torno de um ponto


[ resulta em:
ð ú ð ð
minü ( ) + ∇ 6([ ) ([− [ ) ≈ 6([)
6 [
[∈.
ð ú ð ð
sujeito a: K ï ([) ≈ Kï ([ ) + ∇ Kï ([ ) ([− [ ) = 0 , M = 1, 2, ..., P
ð ú ð ð
gï ([) ≈ gï ([ ) + ∇ gï ([ ) ([− [ ) ≤ 0 , M = 1, 2, ..., S
ð
sendo ([ − [ ) arbitrariamente restrito por limites ð inferior e superior para que os
pontos permaneçam em uma vizinhança próxima a [ .
algoritmo
o
1) Escolher um ponto inicial [ viável e seus limites /o e 8o, N =0
ð
2) Linearizar a função objetivo e as restrições em torno do ponto [
3) Resolver o problema de programação linear resultante

97
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

ð ð
4)ð 6H [ +1 (solução
ð +1 ð +1 do LP) não for viável para o NLP, HQWmR reduzir o intervalo [/ 
8 ] para [/ 8 ] e ir para (3)
5) 6H o critério de convergência não foi satisfeito, HQWmR N ← N + 1 (ir para 2)
6) FIM.
As maiores desvantagens do SLP são:
a) pode convergir lentamente se o ótimo estiver no interior da região viável, ou se o
problema for muito não linear;
b) geralmente viola as restrições não lineares por uma quantidade razoável,
necessitando de muitas iterações para a redução dos intervalos.
Por outro lado, em problemas de grandes dimensões e não linearidades
moderadas, o método SLP pode ser competitivo. A convergência pode ser rápida em
problemas cuja solução está em um vértice das restrições.

*UDGLHQWHVUHGX]LGRVJHQHUDOL]DGRV *5*

O método dos gradientes reduzidos generalizados tem se mostrado o melhor


método de linearizações sucessivas. É uma extensão do método de Wolfe (1962),
aplicado a problemas com restrições lineares, para acomodar restrições não lineares.
Em essência, o método define novas variáveis que são normais às restrições lineares
ou linearizadas, e expressa o gradiente (ou outra direção de busca) em termos desta
base normal.
O problema não linear, para ser resolvido pelo método GRG, deve estar na
forma padrão, ou seja:
min 6([)
sujeito a: Kï ([) = 0 , M = 1, 2, ..., P
/ õ ≤ [ ≤ 8õ , L = 1, 2, ..., Q
onde as restrições de desigualdade estão incluídas em K([) pelo uso das variáveis de
folga:
Kï ([) = Jï ([) + (Yï )2 , −∞ ≤ Yï ≤ ∞ ou
Kï ([) = Jï ([) + Yï , 0 ≤ Yï

98
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

ou ainda usando a estratégia dos conjuntos ativos (DFWLYHVHW), onde a cada estágio de
busca as restrições ativas são adicionadas ao conjunto das restrições de igualdade e
as inativas são removidas, baseado nas estimativas dos multiplicadores de Lagrange.
Lembrando que o vetor direção G pode ser decomposto
ú em G = Gý + Gþ , onde
Gþ é um vetor do espaço ú nulo (ℵ) da matriz $ = ∇ K, Gý é um vetor do “UDQJH
VSDFH” (5) de $ e (Gþ ) Gý = 0, ou seja, Gþ é a projeção ortogonal de G em ℵ.
÷
Portanto, qualquer vetor G ∈ ℜ pode ser representado unicamente por uma
combinação linear da base < de 5 e da base = de ℵ:
G = < Gý + = Gþ
onde < é uma matriz com P colunas independentes e Z é uma matriz com Q−P
colunas independentes e ortogonais a <, tendo ambas Q linhas.
Por exmeplo, se [ é um ponto viável de restrições lineares (ou linearizadas), $ [ = E,
a sua representação nas base acima: [ = < [ý + = [þ , resulta em:
$[ = $< [ý + $= [þ = E
mas como $= = 0, tem-se $< [ ý = E e portanto:
[ ý = ($<)−1 E
ou seja, todos os pontos viáveis possuem os mesmos componentes no “UDQJHVSDFH”
de $ e a solução do problema de otimização é determinada somente pelos
componentes
ð de [ no espaço nulo de $. Em outras palavras, partindo de um ponto
viável, [ , o vetor direção deve permanecer no espaço nulo:
ð +1 ð ð ð
[ = [ + αð G , com $ G =0
ð ÿ
ou seja G = =G (< G
N
U
= 0). Então, o vetor direção tem dimensão reduzida Q−P.

No caso das programações linear e quadrática tem-se, respectivamente:


ú ú ú
=  3 = , − $ ($$ )−1 $
ú ú  ú
=  3 = 4−1 − 4−1$ ($4 1$ )−1 $4−1
ú −1
Observe que =  = , pois a base é ortogonal.
No método GRG a matriz = é obtida pela seguinte forma:
- B -1 & 
= = 
 I  −  

99
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

onde % é uma matriz não singular de dimensão P × P e & é uma matriz P × (Q−P),
ambas com colunas independentes, obtidas da decomposição da matriz $:
$ = [% ¦ &]
ú
Do mesmo modo o vetor [ é decomposto em [ = [[ ¦ [ ], onde % = ∇ 7

[
K [
( N
) e
−1
& =∇ 7

[
K [
( N
) . Deste modo, [ = % E − %−1 & [ , que é conhecido como vetor das
variáveis dependentes (ou vetor básico) e [ é o vetor das variáveis independentes
(ou vetor superbásico). Aquelas variáveis mantidas fixas em um de seus limites são
chamadas de variáveis não básicas.
O termo gradiente reduzido, J
, é dado ao seguinte vetor:

- B
-1
&  ∇   6( [ )
J
([ ) = = ∇6([ ) =     = ∇ 6([ )−& (%−1) ∇ 6 [ ( )
 I  −    ∇   6([ ) 


onde ∇ 6([ ) = ∇ [
 6
N
( [ ) (para simplificar a notação), sendo que o vetor direção de
busca é dado por −J
nas direções que não violam os limites das variáveis.
Naturalmente, como as restrições foram linearizadas, a direção de busca é
viável localmente, como ilustra a figura abaixo.

e a busca pode parar em um ponto inviável, em relação as restrições originais.


A relação entre os multiplicadores de Lagrange e os gradientes reduzidos
pode ser obtida da seguinte forma:

100
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS


( , λ) = 6([) + λ
/ [ K [
( )

∇ ( , λ) = ∇ 6([) + ∇ K([) λ = ∇ 6([) + % λ = 0
/ [

∇ /([, λ) = ∇ 6([) + ∇ K([) λ = ∇ 6([) + & λ = 0

então, λ = −(%−1) ∇ 6([)
e ao substituí-lo em ∇ /([, λ), resulta em:

∇ /([, λ) = ∇ 6([) − ∇ K([) λ = ∇ 6([) − & (%−1) ∇ 6([) = J
([) = 0
quando [ for um ponto ótimo.
([HPSOR : min 6([) = 2 [12 + 2 [ 22
sujeito a: K1([) = [1 + 2 [2 − 2 = 0
arbitrando [ = [1 e [ = [2, tem-se:
∂K ∂K
% =  =1 & =  =2
∂[ ∂[

∇ 6([) = 4[1 ∇ 6([) = 4[2



−1
portanto, J
([) = ∇ 6([) − & (% ) ∇ 6([) = 4 [1 − 8 [2 , que pode ser
visualizado na figura abaixo.

101
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

algoritmo
1) Escolher um ponto [o viável e selecionar Q−P variáveis independentes, N =0

2) Linearizar a função objetivo e as restrições em torno do ponto [
N
3) Calcular J
5

4) Determinar a direção de busca no espaço das variáveis independentes:


   
VH [
 
, = 8 e J
 
, < 0 ou [
 
, = / e J
 
, > 0, HQWmR G
" !
, =0
 
VHQmR G
 
, = −J# ,

5) Determinar a direção de busca no espaço das variáveis dependentes:


G
N
'
= −( % ) −1 & N N
G
N
,

∂K ∂K
(isto é, GK =  G[ +  G[ = 0)
∂[ ∂[

6) Encontrar α tal que 6 [ ( + α G )= PLQ g (α) = 6([ + α G ), sujeito a /≤ [ ≤ 8
α>0
$
$ G & 
onde G = $ 
 G % 
+1
7) Calcular [
N
,
= [
N
,
+α N
G
N
,

~ +1
[
N
'
= [
N
'
+α N
G
'
N
(ponto tentativa ou SUHGLomR)

8) Usar o método de Newton para tornar as variáveis dependentes em um ponto


viável K( [ +1 , [ +1 ) = 0 (FRUUHomR), usando ~[ +1 como estimativa inicial.
N
'
N
,
N
'


9) 6H [ +1 é viável e 6([ +1) ≤ 6([ ), HQWmR N ← N + 1 e VH o critério de convergência
não foi satisfeito (ir para 2) VHQmR FIM.

10) 6H [ +1 é viável e 6([ +1) > 6([ ) ou se o método de Newton não convergiu, HQWmR
reduzir α e (ir para 7).

NOTA: se a obtenção de um ponto viável [ +1 não foi possível, após um determinado
número de iterações, então deve-se trocar alguns elementos da base e reiniciar o
algoritmo. Também aquelas variáveis independentes que atingirem seus limites
devem ser substituídas por outras variáveis dependentes. A determinação da direção
de busca no espaço das variáveis independentes pode também ser obtida pelo
método dos gradientes conjugados:

102
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

$ ( $
+1 ' +1
$
% +1
$ $ (J ' ) J
G = − J ' +1 + G% $ ( $
(J' ) J
'

As figuras abaixo ilustram o procedimento de predição-correção. No primeiro caso a


correção foi bem sucedida, mas no segundo foi necessário mudar de base. As
variáveis independentes na iteração N são [1 e [2. Do ponto A para o ponto B tem-se
a correção somente nas variáveis independentes. O ponto C é a predição da variável
dependente (retorno ao plano tangente, ou restrições linearizadas). O ponto D
corresponde a correção da variável dependente para satisfazer as restrições originais.
No caso da segunda figura, as correções de Newton não levam o ponto C para dentro
das restrições. Então no ponto D (fora das restrições) é feita uma mudança de base
tornando [2 como variável dependente e [3 como variável independente, sendo que
uma nova correção leva o ponto D para o ponto E, que satisfaz as restrições.

3URJUDPDomRTXDGUiWLFDVHTHQFLDO 643

Programação quadrática seqüencial, ou sucessiva, ou recursiva, ou iterativa, ou ainda


métodos da métrica variável com restrição, são as várias formas de referenciar o
método SQP (Wilson, 1963), que resume-se, basicamente, a resolver as equações de
Karush-Kuhn-Tucker (KKT), ou condições necessárias de primeira ordem. A idéia é
chegar o mais próximo possível do método de Newton empregado na solução de
problemas sem restrição, que apresenta convergência quadrática.
Ao nível mais externo das iterações são feitas aproximações da Hessiana da
função de Lagrange, usando métodos de atualização tipo quasi-Newton. O problema
de programação quadrática resultante, associado a uma busca em linha (OLQHVHDUFK)
103
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

ou a uma técnica de região de confiança (WUXVWUHJLRQ), é então resolvido para prover


uma direção de busca.
Aplicando as condições de KKT ao problema de programação não linear:
min 6 [ ( )
[ ∈.

sujeito a: K) ( [) = 0 , M = 1, 2, ..., P
J) ([) ≤ 0 , M = 1, 2, ..., S

com o uso da função de Lagrange:


* *
/ [ ( , λ, µ) = 6([) + λ K [ ( )+µ J [ ( )
chega-se no seguinte conjunto de equações:
* *
∇+ /([, λ, µ) = ∇6([) + λ ∇K([) + µ ∇J([) = 0
K [
( )=0
J) ( [) = 0 , M ∈ {restrições ativa}
µ, ≥ 0 , L ∈ {restrições inativas}
que é transformado nos sucessivos problemas de programação quadrática:
* . * . . .
min- T G ( ) = ∇ 6([ ) G + ½ G + [
( ,λ ,µ ) G
G ∈ℜ
. * .
sujeito a: K [ ( ) + ∇ K([ ) G = 0
. * .
J [ ( ) + ∇ g([ ) G ≤ 0
.
para determinar a melhor direção de . busca a. partir do
.
ponto [ e então proceder a
atualização para o próximo ponto [ = [ + α G . Assim como no método de
+1 .

Newton, apesar do valor ótimo do passo ser α. = 1, valores de α. ∈ (0,1] são


determinados para garantir as propriedades de convergência global do método. Este
procedimento geralmente é feito com o uso de técnicas de OLQHVHDUFK (minimização
unidirecional de uma função de mérito)
. .
ou
.
pela limitação do problema quadrático
acima na WUXVW UHJLRQ. A matriz +([ λ ,µ ) é uma aproximação positiva definida da
matriz Hessiana da função de Lagrange, que pode ser atualizada por qualquer
método da métrica variável (DFP, BFGS, etc.). Como parte da solução do problema.
de. programação quadrática tem-se também os multiplicadores de Lagrange λ +1 e
µ +1.
Se método de otimização estiver bem implementado, é provável que a solução
do problema com restrição seja obtida em um número menor de iterações que o
104
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

respectivo problema sem restrição. Isto geralmente ocorre porque as restrições


podem gerar informações adicionais para a determinação da melhor direção de busca
e do tamanho do passo mais apropriado.
([HPSOR : min 6([) = 100 ( [ 2 − [12 ) 2 + (1 − [1 ) 2 (Rosenbrock, 1960)

sujeito a: J([) = [
2
1 + [ 22 − 2 ≤ 0
*
Partindo do ponto [o = [−1,9 2] , a solução *
do problema sem restrição, usando o
método BFGS chega na solução [* = [1 1] após 165 avaliações da função objetivo,
ao passo que o método SQP (com atualização BFGS) obtém a mesma solução com
apenas 84 avaliações da função objetivo, usando a mesma tolerância (10−6). A figura
abaixo ilustra a trajetória dos dois métodos.
4

SQP
2
x2

BFGS
0

-1
start point g(x)=0
optimum
-2
-3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5
x1

A solução do problema interno de programação quadrática, que pode ser


escrito na seguinte forma:
* * . . .
min- T G ( )=F G +½G + [
( ,λ ,µ )G
G ∈ℜ

sujeito a: $/ G = E/
$0 G ≤ E0

105
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

. * . * . . .
onde F = ∇6([ ), $/ = ∇ K([ ), $0 = ∇ g([ ), E/ = −K([ ) e E0 = −J([ ), é geralmente
realizada em duas etapas. A primeira destina-se a encontrar um ponto viável e a
segunda obtém um seqüência de pontos viáveis que convergem para a solução.
A obtenção de um ponto viável pode ser realizada pela inclusão de variáveis
artificiais, do mesmo modo que no caso da programação linear, isto é, resolve-se o
seguinte problema auxiliar de programação linear:
min 1 Y
Y ∈ℜ, G∈ℜ

sujeito a: $/ G = E/
$0 G − Y ≤ E0
Se uma solução viável não é encontrada, então a direção de busca é aquela que
minimiza o valor de Y.
Usando a estratégia dos conjuntos ativos para a solução da segunda etapa da
programação quadrática, é construída a matriz das restrições ativas, $, e determina-
se a base, =, de seu espaço nulo ($= = 0). A matriz = é formada pelas últimas P−Z
colunas da decomposição QR (ou decomposição *
ortogonal-triangular, ou
decomposição de Householder) da matriz $ , ou ainda pelas últimas P2 −Z colunas da
matriz 9 da decomposição em valor singular da matriz $ (  8 6 9 ), onde Z é o
número de restrições ativas do problema quadrático (Z < P), isto é:
=, 3) = 4 , 3 )5476 L = 1,2,..., Q , =1,2,...,P−Z
M

2 * 5 2
onde 4 $ =   (4 é uma matriz unitária e Q−1 = 4 é a transposta conjugada)
0
Uma vez encontrada a base =, determina-se a direção de busca que minimiza T(G) no
espaço nulo das restrições ativas. Escrevendo a* função objetivo quadrática, T(G), em
termos da projeção de G no espaço nulo, G8 = = G(ou G = = G8 ), tem-se:
* * * . . .
T G8
( )=F =G8 + ½ (G8 ) = + [ ( ,λ ,µ )=G8
que diferenciado em relação a G8 , resulta em:
* * . . .
∇T(G8 ) = = F += + [( ,λ ,µ )=G8
* . . .
ou seja, o gradiente projetado de T(G). O termo =  +([ ,λ ,µ ) = é chamado de
Hessiana projetada. Como a matriz Hessiana é mantida sempre positiva definida no

106
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

método SQP, então o mínimo de T(G8 ) ocorre quando ∇T(G8 ) = 0, ou seja a solução
do problema linear:
* . . . *
= + [ ( ,λ ,µ )=G8 = −= F
. . . .
e a correção em [. é então realizada nesta direção: [ +1 = [ + α. G , com G = = G8 .
Devido a natureza quadrática da função objetivo, T(G8 ), existe somente duas
escolhas possíveis para .α. . O valor exato, α. = 1, que é usado quando
.
nenhuma
+1
restrição é violada em [ . Caso contrário, o passo ao longo de G até a restrição
mais próxima é α. < 1, sendo esta restrição incluída
.
no. conjunto
.
ativo da próxima
iteração. Tal distância é dada por (multiplicando [ = [ + αk G por $ , ):
+1

9
− ( $: [ − E: ) .
α 9 = : min; 9 , com $ , G >0
∈{1,..., } $: G

que é definida. para as restrições que não estão no conjunto ativo, e na direção de sua
fronteira ($ , G > 0).
Quando Q restrições independentes estão incluídas no conjunto ativo e o
mínimo ainda não foi localizado, então os multiplicadores de Lagrange são
calculados de modo a satisfazer o sistema não singular de equações:
* .
$ λ =F
. .
Se todos os elementos de λ ≥ 0, então [. é a solução ótima do problema quadrático.
Entretanto, se algum componente de λ é negativo e este não corresponder a uma
restrição de igualdade, então a restrição associada é removida do conjunto ativo para
a próxima iteração.
.
A solução do problema de programação quadrática gera um vetor direção, G ,
que é usado para calcular o próximo ponto no nível mais externo das iterações SQP,
ou seja:
. . .
[
+1
= [ + α. G

sendo α. determinado de modo a minimizar uma função de mérito, escrita


genericamente como:
. . . . . .
Ψ(α,[ , G , λ ,µ ,λ +1
,µ +1,U. )
. .
onde λ +1 e µ +1 são os multiplicadores
.
de Lagrange obtidos na solução do problema
.
quadrático que gerou G , e U é um escalar (ou vetor) usado na penalização das

107
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

restrições. Por exemplo, a função implementada no SQP do MATLAB tem a forma


(Han, 1977 e Powell, 1978):
* * . .
Ψ(α) = 6([) + U/ K [ ( ) + U0 max{0, J([)} , [ = [ + αG
= <>= =  <= 1 <= <>=  = <@= =  =< 1 =< <@= 
onde U? , = U? , +1 = max λ , (λ + U? , ) e UA , = UA , +1 = max µ , ( µ + UA , ) , que
 2   2 
permite uma contribuição para a função de mérito das restrições que não estavam
ativas na última programação quadrática, mas que estiveram ativas em iterações
adjacentes. O valor inicial do fator de penalização pode ser calculado da seguinte
forma:
B ∇6 ( [ ) D ∇6 ( [ )
UC
0
= B  e UE
0
= D
∇K ( [ ) ∇J ( [ )
, ,

que assegura uma elevada penalização das restrições 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 função de mérito é dada por:
* *
Ψ(α) = S([) + λ ( ) + µ I([) + 3([, U. )
K [

onde I) ([) = max{0, J) ([)}, M = 1,2,...,S


* *
3 [ ( , U. ) = ½ U. {K ([) K([) + I ([) I([)}
. . .
[ =[ ou [ = [ + αG
. . . .
λ = λ ou λ = λ + α (λ +1
−λ)
. . . .
µ = µ ou µ = µ + α (µ +1 − µ )

([HUFtFLRVGHIL[DomR

Resolver os seguintes problemas de programação não linear usando SQP:


1. min 6([) = [1 [2
sujeito a: J
1 ([ ) = [
2
1 + [ 22 − 25 ≤ 0

2. min 6([) = ([1 − 2)2 + ([2 − 1)2


sujeito a: K1 [( ) = [1 − 2 [2 + 1 = 0
J
1 ( [) = 2
[
1 / 4 + [ 22 − 1 ≤ 0

108
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

3. min 6([) = [
3
1 − 3 [1 [2 + 4

sujeito a: K1 [( ) = −2 [1 + [
2
2 −5=0
J1 [( ) = 18 − 5 [1 − 2 [2 ≤ 0

2WLPL]DomRPXOWLREMHWLYR

O projeto ou operação ótima de um sistema geralmente implica na satisfação de


várias especificações e requisitos, tais como elevada confiabilidade, baixo custo, alta
produtividade, baixo risco de operação, alta qualidade e baixa poluição. Estes
aspectos, freqüentemente, estão em conflito uns com os outros e, portanto, uma
solução compromisso deve ser obtida. Consequentemente, a formulação de uma
única função objetivo com restrições pode não representar de forma adequada o
problema. Sendo necessária a definição de um conjunto de funções objetivos, que
devem ser balanceadas de alguma maneira.
Em geral, a importância relativa destas funções objetivos não são conhecidas
até que se tenha idéia das potencialidades do sistema e do grau de compromisso que
pode ser admitido. As preferências entre as funções objetivos recaem muito sobre a
experiência e intuição do projetista. Existem pelo menos três estratégias diferentes
para expressar estas preferências:
1) Método da soma ponderada das funções objetivos;
2) Método das restrições ε;
3) Método da perseguição dos objetivos.
O método da soma ponderada transforma o problema de otimização multi-
objetivo: G
min )([) = [)1([) )2([) ... )F ([)]
[∈.

sujeito a: KH ( [) = 0 , M = 1, 2, ..., P
JH ( [) ≤ 0 , M = 1, 2, ..., S
em um problema de otimização escalar pela definição da soma ponderada das
funções objetivos: G
min 6([) = Z )([)
[∈.

sujeito a: KH ( [) = 0 , M = 1, 2, ..., P
JH ([) ≤ 0 , M = 1, 2, ..., S

109
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

onde Z é o vetor dos pesos relativos, geralmente definido como uma combinação
convexa:
I


J=1
ZJ =1 e Z ≥0

Consequentemente, este problema pode ser resolvido por qualquer uma das técnicas
de otimização de um funcional escalar. Uma das dificuldades desta estratégia é a
homogeneização das diferentes unidades de medida tratadas em cada função objetivo
(tais como grau de confiabilidade, custo, segurança, qualidade), ou seja, como
escolher os pesos adequadamente. Outra dificuldade está associada ao tratamento
das não convexidades que podem existir no espaço das funções objetivos, ilustrado a
seguir.
O método das restrições ε consiste em minimizar uma das funções objetivos,
expressando as demais como restrições de desigualdades, ou seja:
min )K ( [)
[∈.

sujeito a: KH ( [) = 0 , M = 1, 2, ..., P
JH ( [) ≤ 0 , M = 1, 2, ..., S
)L [ ( ) ≤ εL , L = 1, 2, ..., T , L ≠U
As dificuldades naturais deste método estão associadas à seleção da função objetivo
a ser minimizada e a definição do nível de restrição para as demais funções (ε L ).
Pode-se também associar a este método uma estratégia de priorização das funções
objetivos durante o processo de otimização.
No método da perseguição dos objetivos (JRDO DWWDLQPHQW) é definido um
conjunto de objetivos ) = {)1* , )2* , K, )M * } a ser perseguido pelas respectivas
funções ) [
( ) = {)1([), )2 [
( ), ..., )F ([)}. A formulação do problema é dada por:
min N γ
γ∈ℜ,O ∈

sujeito a: KP ( [) = 0 , M = 1, 2, ..., P
JP ( [) ≤ 0 , M = 1, 2, ..., S
)Q [ ( ) − ZQ γ ≤ )
L
*
, L = 1, 2, ..., T

o termo ZQ γ permite uma certa folga para mais ou para menos no alcance dos
objetivos. Valores nulos de ZQ implicam em restrições rígidas para os objetivos.
Como nesta formulação os objetivos podem ser super-alcançados (γ < 0) ou sub-
110
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

alcançados (γ > 0), os valores de )  não necessitam de elevada precisão. O grau


relativo deste alcance é controlado pelo vetor de pesos, Z. Quando ZQ = | ) * |, é L

assegurado um mesmo percentual de super- e sub-alcance na respectiva função


objetivo, pois neste caso γ ≥ [) Q ([) − ) * ] / | ) * |. Observe que γ representa a
L L

quantidade máxima relativa de desvio do objetivo (para mais ou para menos).


O grande problema existente na otimização multi-objetivo é que se existe
conflito entre as funções objetivos, então a solução do problema original não é única.
Consequentemente, a solução obtida por qualquer um dos métodos acima vai estar
associada aos pesos ou restrições impostas em cada alternativa. Para tratar da não
unicidade de solução é definido o conceito de QmRLQIHULRULGDGH, também conhecido
como RWLPDOLGDGHGH3DUHWR.
Uma solução não inferior é aquela que uma posterior melhoria em uma das
funções objetivos causa a degradação de outras. Para entender melhor este conceito,
R
define-se a região viável, Ω, no espaço das variáveis de decisão [ ∈ ℜ , que satisfaz
todas as restrições, isto é:
R
Ω = {[ ∈ . ⊆ ℜ }
sujeito a: KP ([) = 0 , M = 1, 2, ..., P

JP ([) ≤ 0 , M = 1, 2, ..., S

e a correspondente região viável, Λ, no espaço das funções objetivos:


S
Λ = {\ ( )∈ℜ |
) [ [ ∈ Ω}
Ou seja, o vetor de desempenho )([) é um mapeamento do espaço das variáveis de
decisão no espaço das funções objetivos, como ilustra a figura abaixo.

Então, um ponto [* ∈ Ω, é uma solução não inferior se para alguma vizinhança de


[* não existe um ∆[ tal que ([* + ∆[) ∈ Ω e:

111
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

)Q [ ( * + ∆[) ≤ )Q ([*) , L = 1, 2, ..., T


)P ([* + ∆[) < )P ([*) , para algum M

Na representação bidimensional, o conjunto de soluções não inferiores (ou FRQMXQWR


GH3DUHWR) está sobre a curva entre os pontos C e D da figura abaixo. Os pontos A e

B representam dois pontos não inferiores distintos, ou seja, pontos onde a melhoria
em uma função objetivo requer a degradação de outra: )1B < )1A → )2B > )2A.

Como qualquer ponto em Ω que não seja um ponto não inferior há a possibilidade de
obter um novo ponto com melhoria em todas as funções objetivos, o problema de
otimização multi-objetivo resume-se em gerar e selecionar pontos do conjunto de
Pareto.
T
([HPSOR : min )([) = [)1([) )2 [
( )]
sujeito a: ( ) = 1 + ½ [2
)1 [

)2([) = 4 ([ − ½) + ½
2

[ ≥ 0

Para este exemplo o conjunto de Pareto (3) está ilustrado nos gráficos abaixo.

112
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Resolvendo este exemplo pelo método das restrições ε, com a escolha de )2([) como
função objetivo, tem-se o seguinte problema de otimização:
min 6 [
( ) =)2([)
U ∈ℜ

sujeito a: )1 [ ( )≤ ε
[ ≥0
cujas soluções para vários valores de ε ≥ 1 (observe que min )1 [
( ) = 1, [ ≥ 0,
ocorrendo em [ = 0) são dadas por:
 1/ 2 ε ≥ 1,125
[ * (ε ) = 
 2 (ε − 1) 1 ≤ ε ≤ 1,125

o valor de ε = 1,125 corresponde a )1(½), sendo que para valores de ε ≥ 1,125 a


restrição )1([) ≤ ε é inativa, e valores entre 1 ≤ ε ≤ 1,125, a restrição está ativa.
Portanto, o conjunto de Pareto para este problema corresponde a 3 = {[ (ε) | 1 ≤ ε ≤
1,125} = {0 ≤ [ ≤ ½}.
A solução do exemplo acima pelo método das somas ponderadas recai no
seguinte problema de otimização:
T
min
U 6 [ ( )=Z ) [ ( ) = Z1 )1([) + (1 − Z1) )2([)
∈ℜ

sujeito a: [ ≥0
cujas soluções em função do peso Z1 são dadas por:
4 (1 − Z1 )
[ * ( Z1 ) =
8 − 7 Z1

0.5

0.45

0.4

0.35

0.3

0.25
x

0.2

0.15

0.1

0.05

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
w1

113
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Quando Z1 = 0, a solução é o mínimo de )2([), ou seja, [* = ½, e para Z1 = 1 a


solução é o mínimo de )1([), isto é, [* = 0. Para valores entre 0 ≤ Z1 ≤ 1, a figura
acima mostra que 3 = {[ (Z1) | 0 ≤ Z1 ≤ 1} = {0 ≤ [ ≤ ½}.
A existência de soluções não concorrentes dentro do conjunto de Pareto pode
gerar um conjunto não convexo, dificultando a obtenção de soluções, principalmente
pelo método das somas ponderadas. Neste método,
T
a função objetivo é linear dentro
do espaço das funções objetivos: 6(\) = Z \ e, portanto, as curvas de níveis são
hiperplanos dentro deste espaço. Consequentemente, a minimização de 6(\) pode ser
interpretada como encontrar a menor curva de nível que toca no conjunto Λ, como
pode ser visto na figura abaixo.

[ *

onde / é a linha de nível. A seleção dos pesos, Z, define a inclinação do hiperplano


e, consequentemente, o ponto onde o conjunto Λ será tocado. O problema de não
convexidade surge quando a fronteira inferior de Λ é não convexa, como ilustra a
figura abaixo.

Neste caso, o conjunto de soluções não inferiores entre os pontos A e B não estão
acessíveis. Este problema de não convexidade pode ser tratado pelo método das
restrições ε, conforme ilustra a figura a seguir relativa ao problema abaixo:
min 6 [ ( ) =)1([)
U∈Ω

sujeito a: ( ) ≤ ε2
)2 [

114
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

onde verifica-se que o método é capaz de identificar pontos não inferiores dentro da
região de não convexidade de Λ.

Uma informação importante do método das restrições ε é a sensibilidade da solução


no ponto [*(ε). Ou seja, o quanto varia o valor de )V ([*) em relação as variações nas
demais funções objetivos, usadas como restrições. Esta informação é diretamente
dada pelos multiplicadores de Kuhn-Tucher no ponto ótimo:
∂)X * (ε) W
W = −µ * , ∀L≠U
∂)

representando uma ajuda importante na tomada de decisão em estabelecer os


compromissos entre as funções objetivos.
O método da perseguição dos objetivos apresenta uma forma mais
conveniente de expressar os compromissos entre as funções objetivos, dando uma
maior flexibilidade para o algoritmo de otimização buscar a melhor solução. A
figura abaixo ilustra a evolução deste método na direção da solução.

γo

* *
onde )
1 e )
2 são os objetivos estabelecidos, representados pelo ponto P, e ()1s, )2s)
é o ponto ótimo obtido para um determinado conjunto de pesos {Z1, Z2}, que define
a direção de busca. A região viável, Λ(γ), vai encolhendo à medida que o valor de γ é
reduzido. Este método pode ser visto como uma generalização do método das
restrições ε, que é resgatado quando ZQ = 0 ∀ L ≠ U e ZV = 1.

115
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

A formulação do problema de otimização pelo método da perseguição dos


objetivos também pode ser escrito na forma minimax, ou seja:
min
U Y ΛQ
max
∈Ω
Z Z*
Z ) ( [) − )
onde Λ = Z , L = 1, 2, ..., T, ou seja, deseja-se minimizar o pior caso.
Z

Ao resolver este problema usando métodos tipo SQP, uma forma apropriada
de representar a função de mérito é a seguinte:
Ψ([) = max
Y ΛQ

pois funções tipo Lagrange:


\
Ψ([,γ) = γ + ∑
[=1
U[ max{0, )[ ( [) − Z[ γ − )[ * }

podem apresentar problemas devido as possíveis concorrências entre as funções


objetivos. Contudo, como Λ Q = ∞ para Z Q = 0 (restrições rígidas), uma combinação
entre as duas formas acima é mais recomendada, ou seja:
^

∑ U] max{0, )] ( [) − Z] γ − )] } Z] =0
*
VH
Ψ ( [, γ ) =  ] =1
 max] Λ] VH Z] ≠0

Finalmente, ao usar métodos quasi-Newton na solução deste problema, devido a
linearidade de γ na função objetivo, a contribuição desta variável é nula para a matriz
Hessiana. Portanto, ao inicializar a aproximação da Hessiana com a matriz
identidade, o elemento da diagonal relacionado com γ deve ser anulado (ou próximo
a zero para manter a matriz positiva definida), de modo a acelerar a convergência da
programação quadrática interna.

116
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

3URJUDPDomR,QWHLUD0LVWD

A programação inteira mista (MIP − 0L[HG,QWHJHU 3URJUDPPLQJ), caracterizada


pela existência de variáveis contínuas e inteiras, surge em uma grande variedade de
aplicações, tais como:
• síntese de processos (rede de trocadores de calor e/ou massa, superestruturas,
sistemas de utilidades, etc.);

5HGHGHWURFDGRUHVGHFDORU


✮✍✑
❒❅❆■✍✑ ✰✑

❒❅❆❉ ✒

✑ ✒
❆❉✌❆❉ ❒❉



❂◆❉

❂◆✒

✰✒
✑ ✰✒

/RFDOL]DomRGHDOLPHQWDomRHRXUHIOX[RGHFROXQDVGHGHVWLODomR

117
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

6HTHQFLDPHQWRGHGHVWLODo}HV

6XSHUHVWUXWXUDSDUDDKLGURGHDOTXLODomRGRWROXHQR

118
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

• projeto, programação e planejamento de sistemas descontínuos com múltiplos


produtos e/ou múltiplos propósitos;
• localização, alocação, planejamento e programação de facilidades;
• interação entre projeto e controle de sistemas;
• projeto de produtos;
• síntese de topologias (redes de transporte e distribuição, estruturas, etc.).
As variáveis inteiras de decisão cujos níveis formam uma dicotomia (por
exemplo, instalar ou não instalar um equipamento) são chamadas de YDULiYHLV
ELQiULDV (ou variáveis 0−1), assumindo os valores de 0 ou 1. As variáveis inteiras

que assumem valores elevados, podem as vezes ser tratadas como variáveis
contínuas (UHOD[DPHQWR), sendo a solução ótima arredondada para o número inteiro
mais próximo, podendo resultar em uma solução sub-ótima. Por exemplo, as figuras
abaixo apresentam situações onde a solução relaxada difere significativamente da
solução ótima.

PLQ6 [ ( ) = 11[1 + 21 [2
[2 [2
fhgjilk
fhgjmnm s.a.: 4[1 + 6,5 [2 ≥ 12,5
fhgjono 3− 3−
fhgpolq
fhgrksont o [ ∈I 2
2− 2−

1− 1−

| | | | | | | | | |
[1 [1
1 2 3 4 5 1 2 3 4 5

ótimo discreto ótimo contínuo ótimo discreto ótimo contínuo

_ `
As variáveis inteiras, ], com limites superiores e inferiores dados, ] ≤ ] ≤ ] ,
a
podem ser expressas como um vetor de variáveis binárias, \ ∈ < = {0,1} , pela
seguinte fórmula:
c b −1
] = ] + \
1 + 2 \ 2 + 4 \3 + L + 2 \b

onde T é o número mínimo de variáveis 0−1 necessárias para representar ]. Este


número mínimo é dado por:
(e )
d
 log ] − ]
T = 1 + int 
 log 2 

119
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

sendo que a função “int” trunca o argumento real para um valor inteiro. Esta
aproximação, entretanto, pode não ser prática quando os limites são grandes.
A maioria dos problemas de programação mista são inerentemente de
natureza combinatorial, isto é, as variáveis inteiras do problema de otimização
correspondem a combinações de Q elementos tomando P de cada vez, resultando em
Q
um número de   combinações, ou correspondem a permutações de Q elementos,
P 
levando a Q! possibilidades.
Os problemas MIP que envolvem somente variáveis inteiras são denotados
por IP (,QWHJHU 3URJUDPPLQJ), tendo como caso particular a programação inteira
binária (BIP), onde todas as variáveis inteiras são binárias. Quando um problema
MIP é linear na função objetivo e nas restrições, tem-se o caso MILP (0L[HG,QWHJHU
/LQHDU 3URJUDPPLQJ). Finalmente, quando há relações não lineares na função

objetivo ou nas restrições, tem-se o problema de programação não linear inteira


mista (MINLP).
Exemplos clássicos de programação inteira são o do caixeiro viajante e o da
mochila. O problema da mochila consiste em colocar T artigos valiosos dentro de
uma mochila, não ultrapassando um peso (ou volume) máximo :, de modo a
maximizar o valor total dos artigos. Designando cada artigo como \ u , seu respectivo
peso (ou volume) de Zu e seu valor de F u , o problema BIP pode ser descrito como:
v
max 6(\) = F \
v
sujeito a: Z \ ≤:
a
\ ∈ < = {0,1}
sendo \ u = 1 quando o L-ésimo artigo for selecionado e \ u = 0 caso contrário.
O problema do caixeiro viajante consiste em fazer um vendedor visitar Q
cidades somente uma vez, retornando para a cidade de origem, percorrendo o menor
caminho possível. Designando como \ u w = 1 a viagem da cidade L para a cidade M e Fu w
a distância entre estas cidades, o problema BIP pode ser formulado como:
Q Q

min 6(\) = ∑ ∑ F LM
\
LM
L =1 M =1

120
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

x Q

sujeito a: y∑ \ y z = 1 , ∑ \ = 1 , LM
\ u{u = 0, LM = 1,2,...,Q
=1 M =1
a7|p} ×}
\ ∈ < = {0,1}
Este problema também pode ser interpretado como um problema de associação,
como por exemplo, a associação de correntes de processo a trocadores de calor,
limitando um trocador por corrente.

3URJUDPDomRGLQkPLFD

Embora a programação dinâmica não esteja, necessariamente, enquadrada dentro da


programação mista, ela é descrita neste capítulo por se tratar de um método de
solução de problemas que podem ser decompostos em um número inteiro de
estágios. Muitos processos e equipamentos podem ser representados (física ou
imaginariamente) por múltiplos estágios (ou períodos de tempo), como ilustra a
figura abaixo.

G  G  −1 G2 G1

estágio estágio estágio estágio



[
[  −1 [  −2 [2 [1 [0

N N −1 2 1
5  5  −1 52 51

6  ([ ) 
6 −1([ −1) 62 [ 2
( ) 61 [ 1
( )
[ −1 [  −2 [1 [0

onde 5~ é o valor da função objetivo do estágio N,


[~ é o vetor de variáveis de entrada do estágio N,
[~ −1 é o vetor de variáveis de saída do estágio N,
G~ é o vetor de variáveis de decisão (independente) do estágio N,
6~ ([~ ) é a função objetivo global dos estágios 1 a N.
A essência da programação dinâmica é decompor um problema de otimização
multivariável interconectado em uma seqüência de subproblemas que podem ser
resolvidos serialmente. Cada subproblema contém um subconjunto de variáveis de

121
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

decisão, que pode ser otimizado por qualquer uma das técnicas de otimização
descritas nos capítulos anteriores.
A programação dinâmica está baseada no SULQFtSLR GD RWLPDOLGDGH GH
%HOOPDQ (1957): “Se uma decisão forma uma solução ótima em um estágio de um

processo, então qualquer decisão remanescente deve ser ótima com respeito ao
resultado desta decisão tomada”. Este conceito pode ser melhor implementado se as
tomadas de decisão de um estágio para outro são realizadas na direção do fluxo de
informação nos estágios, que pode estar no sentido oposto ao fluxo de material.
([HPSOR  Para ilustrar este princípio, seja o problema de distribuição de
combustível através de uma rede de tubulações, cujo escoamento se dá somente
através do terminal H, segundo a figura abaixo, onde os valores representam os
custos de transporte.
8 3 8
A D E H
5 5 2 2
9 3 3
B C F G

Deseja-se determinar o menor custo de transporte da estação de bombeamento C


para o terminal H. Ao invés de tentar todos os caminhos possíveis (isto é, uma busca
exaustiva), pode-se aplicar o princípio da otimalidade. Partindo do terminal H,
obtém-se o custo mínimo 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 mínimo 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 princípio de Bellman pode ser formulado como segue:
* *
6
N
 [ 5 € ([ € , G € ) +
([€ ) = min 6
N −1 ([€ −1)]
G

*
Como cada função objetivo otimizada, 6
N
([€ ), depende de suas variáveis de entrada,

, estas formas funcionais devem ser obtidas antes de passar para o próximo estágio,
ou devem ser calculadas recursivamente. Portanto, a programação dinâmica só é

122
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

atrativa para problemas de baixa dimensão. Por exemplo, se um estágio N possuir P


variáveis de entrada, cada uma podendo assumir U‚ níveis viáveis, M = 1,2,...,P, então
o número de combinações possíveis onde a função objetivo otimizada deste estágio
ƒ
…
deve ser calculada é „ ∏ U„ , ou U se U‚ =U.
=1

Vários métodos tem sido propostos para reduzir a dimensionalidade da


programação dinâmica. Contudo, não existe uma formulação matemática padrão
para esta programação, ou seja, o problema é formulado em função das
características do processo.

3URJUDPDomROLQHDULQWHLUDPLVWD 0,/3

Como na grande maioria das aplicações que recaem em problemas de programação


linear inteira mista, as variáveis inteiras podem ser representadas por variáveis
binárias, somente este caso é tratado nesta seção, sem perda de generalidade.
A formulação MILP com variáveis 0−1 é dada por:
† †
min 6([,\) = F [ +G \

sujeito a: $[ + %\ ≤ E


[ ≥0
‡ ˆ
[ ∈;⊆ℜ , \ ∈ < = {0,1}
Para um dado valor do vetor \, o problema acima recai em um problema de
programação linear (LP). Uma busca exaustiva (ou HQXPHUDomR), enumerando todas
as possíveis combinações de variáveis 0−1 para os elementos do vetor \, poderia ser
utilizada para a solução do problema. Contudo, para problemas de médio e grande
porte este procedimento torna-se proibitivo, devido a natureza combinatorial.
Os algoritmos existentes para problemas MILP podem ser classificados como:
1) Métodos “EUDQFKDQGERXQG”;
2) Métodos dos planos de corte;
3) Métodos de decomposição;
4) Métodos baseados em lógica e disjunções.
Nos algoritmos “EUDQFKDQGERXQG” (Land e Doig, 1960), uma árvore binária
é empregada para representar as combinações 0−1, a região viável é

123
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

sistematicamente particionada em subdomínios e limites inferiores e superiores são


gerados em diferentes níveis da árvore binária.
Nos métodos dos planos de corte (Gomory, 1958), a região viável não é
dividida em subdomínios, mas novas restrições (chamadas de planos de cortes) são
geradas a cada estágio e adicionadas ao conjunto de restrições, reduzindo a região
viável até obter uma solução ótima.
Nos métodos de decomposição (Benders, 1962), a estrutura matemática do
modelo é explorada através de partições das variáveis, dualidade e métodos de
relaxação.
Nos métodos baseados em lógicas e disjunções, técnicas de inferência
simbólica, em termos das variáveis binárias, são utilizadas para restringir a região
viável.
Nesta seção é dada ênfase ao método de “EUDQFK DQG ERXQG”, que é mais
comumente utilizado nos algoritmos de MILP e MINLP. O método da decomposição
de Benders é tratado em detalhe na próxima seção.

3ULQFtSLRGRVPpWRGRVGRVSODQRVGHFRUWH

A idéia básica destes métodos é a seguinte:


1) Resolve-se o problema MILP com as variáveis inteiras relaxadas (ou seja,
consideradas como contínuas), transformando-se em um problema LP. Se a
solução do problema LP possuir todas as variáveis relaxadas inteiras, então a
solução ótima do problema original foi encontrada;
2) Caso contrário, é sempre possível eliminar a solução obtida pela adição de
restrições extras ao problema, sem contudo eliminar qualquer solução inteira.
Tais restrições são chamadas de SODQRVGHFRUWH;
3) Após a adição de um plano de corte (ou possivelmente mais do que um), o
problema MILP aumentado é novamente resolvido, com as variáveis inteiras
relaxadas. Observa-se que, como a solução eliminada é viável no dual, é
vantajoso usar algoritmos duais para a solução deste problema, pois parte-se de
um ponto inicial viável;

124
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

4) Se a solução do problema aumentado apresentar todas as variáveis relaxadas


inteiras, então a solução ótima do problema original foi encontrada. Caso
contrário, o procedimento é repetido até a convergência.
Se os planos de corte forem adequadamente escolhidos a cada estágio, então o
poliedro inicial será progressivamente reduzido até coincidir com a casca convexa da
solução inteira (pelo menos na vizinhança da solução ótima) e, consequentemente, a
solução contínua do problema aumentado se tornará inteira nas variáveis relaxadas.
Portanto, a maneira em que os planos de corte são escolhidos é decisiva para a
convergência do método. Infelizmente, não há um método sistemático para gerar
todas as restrições que definem a casca convexa dos pontos inteiros contidos dentro
de um poliedro convexo. Além disto, seria custoso e supérfluo gerar todas as faces
de uma casca convexa, pois a maioria das restrições estariam inativas, não
contribuindo para a definição do ponto ótimo. Contudo, existem vários métodos na
literatura que procuram definir os planos de corte de modo a obter uma convergência
finita do algoritmo.
([HPSOR Seja o problema:
min 6([) = −10 [1 − 11 [2
sujeito a: 10 [1 + 12 [2 ≤ 59
[ ∈ I2  e [ ≥0

A solução do problema original


†
relaxado é ‰‹Š Œ’Ž”“ [2
obtida no ponto [ = [5,9 0] . Portanto, a ‰‹ŠŒŽ‘
5−
restrição adicional:
4−
• ∇‰
[1 ≤5 3−

eliminaria este ponto sem excluir qualquer 2−


solução inteira. Similarmente, qualquer 1−
restrição suplementar da forma:
| | | | | |
1 2 3 4 5 [1
[1 + [2 ≤ α 6

ótimo discreto ótimo contínuo


com 5 ≤ α ≤ 5,9 é um plano de corte. De
fato, muitos outros planos de corte são possíveis, existindo, em princípio infinitas
possibilidades. Em particular, se as seguintes restrições fossem utilizadas como
planos de corte:

125
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

[1 + [2 ≤ 5 e [2 ≤4
então o problema aumentado:
min 6([) = −10 [1 − 11 [2
sujeito a: 10 [1 + 12 [2 ≤ 59
[1 + [2 ≤ 5
[2 ≤4
[ ≥0
†
teria como solução a ponto ótimo do problema original [ = [1 4] , pois as restrições
formam uma casca convexa de suas soluções inteiras.

0pWRGRGHEUDQFKDQGERXQG

O método de EUDQFK DQG ERXQG está baseado nas idéias chaves de VHSDUDomR,
UHOD[DomR e VRQGDJHP.

6HSDUDomR

Denotando o problema MILP abaixo por (P) e o conjunto de suas soluções


viáveis por FS(P).
† †
min 6([,\) = F [ +G \

P sujeito a: $[ + %\ ≤ E


[ ≥0
‡ ˆ
[ ∈;⊆ℜ , \ ∈ < = {0,1}
Então o conjunto de subproblemas (P1), (P2), ..., (Pn) de (P) é uma separação de (P)
se:
(i) uma solução viável de qualquer subproblema (P1), (P2), ..., (Pn) é também
uma solução viável de (P);
(ii) cada solução viável de (P) é uma solução viável de exatamente um de seus
subproblemas.
Neste caso, o problema (P) é chamado de problema 3DL e os subproblemas (P1), (P2),
..., (Pn) são chamados de problemas )LOKRV.

126
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Uma questão importante no método de EUDQFK DQG ERXQG é de como gerar


uma separação do problema (P). A maneira geralmente utilizada é a introdução de
restrições contraditórias em uma única variável binária (ou inteira) a cada estágio.
Por exemplo, selecionando a variável binária \1 de (P), pode-se separá-lo, ou
ramificá-lo (EUDQFKLQJ), em dois subproblemas (P1) e (P2):
† † † †
min 6([,\) = F [ +G \ min 6([,\) = F [ +G \

sujeito a: $[ + %\ ≤ E sujeito a: $[ + %\ ≤ E


[ ≥0 [ ≥0
P2
\1 =0 \1 =1
‡ ‡
[ ∈;⊆ℜ [ ∈;⊆ℜ
ˆ ˆ
\ ∈ < = {0,1} \ ∈ < = {0,1}
Construindo-se desta maneira uma iUYRUH ELQiULD. Outra maneira de gerar
separações, aplicável para problemas com restrições generalizadas de limite
superior, ou seja:

— ∑–
\— =1

é igualar a zero parte desta soma e gerar outra soma mutuamente excludente. Por
exemplo, se o problema (P) possuir a seguinte restrição:
\1 + \2 + \3 + \4 = 1
então ao subproblema (P1) seria adicionado a restrição \1 + \2 = 0 e ao subproblema
(P2) a restrição \3 + \4 = 0.
5HOD[DomR

Um problema de otimização, denotado por (RP), é uma relaxação do


problema (P) se o conjunto de soluções viáveis de (P) é um subconjunto de soluções
viáveis de (RP), isto é,
FS(P) ⊆ FS(RP)
Deste modo, se (RP) não tem solução viável, então (P) também não tem. Além disto,
se ]P é a solução ótima de (P) e ]RP é a solução ótima de (RP), então:
]RP ≤ ]P

127
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

ou seja, a solução do problema relaxado fornece um OLPLWHLQIHULRU para a solução do


problema original. Naturalmente, se a solução ótima de (RP) é viável para (P), então
ela é a solução ótima de (P).
A forma de relaxação mais freqüentemente utilizada em problemas MILP é
tornar as variáveis binárias em variáveis contínuas: 0 ≤ \ ≤ 1, gerando um problema
LP relaxado. Outra forma de relaxação é remoção de algumas restrições de (P).
Porém, existe um compromisso entre a relaxação e a qualidade do limite inferior
(]RP) para a solução ótima. Em geral, quanto mais fácil for a solução do problema
relaxado (maior relaxamento), maior será a diferença entre ]RP e ]P.
6RQGDJHP

Seja (CS) um subproblema candidato para a solução de (P). Deseja-se então


determinar se a região viável de (CS), FS(CS), contém uma solução ótima de (P),
para então encontrá-la. Este subproblema (CS) será considerado VRQGDGR se uma das
seguintes condições for satisfeita:
(i) estiver garantido que FS(CS) não pode conter uma solução melhor que a
melhor solução já encontrada em estágios anteriores (ou solução titular, ]*).
Se nenhuma solução viável havia sido encontrada, então ]* = ∞;
(ii) uma solução ótima de (CS) foi encontrada, ]CS.
Em qualquer uma destas situações o subproblema (CS) não necessita de novas
separações.
Denotando por (RCS) uma relaxação do subproblema (CS), e ]RCS a sua
solução ótima, então os critérios gerais de sondagem em um algoritmo de EUDQFK
DQGERXQG, baseado em relaxação, são:

1) Se (RCS) não possui solução viável, então (CS) também não possui e pode ser
considerado sondado;
2) Se ]RCS ≥ ]* então (CS) está sondado;
3) Se uma solução ótima de (RCS) é viável para (CS), então ela é também uma
solução ótima de (CS), portanto o problema (CS) pode ser considerado sondado.
Neste caso, a solução também é viável para (P) e se ]RCS < ]*, então a solução
titular é substituída por esta nova solução, senão ]RCS é um OLPLWHVXSHULRU para o
problema.

128
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Note que é possível ter ]CS ≥ ]* > ]RCS, e neste caso (CS) não pode ser considerado
sondado, sendo ]RCS um OLPLWH LQIHULRU para o problema. Portanto, quanto menor a
diferença entre a solução do problema (RCS) e o problema (CS), mais
freqüentemente estes critérios serão utilizados para eliminar ramificações. O sucesso
dos algoritmos de EUDQFK DQG ERXQG está baseado no percentual de eliminação de
subproblemas e no esforço requerido para resolver os subproblemas candidatos.
Um algoritmo genérico para os métodos de EUDQFK DQG ERXQG pode ser
descrito como segue:
algoritmo
1) Inicializar a lista de subproblemas (CS) = (P), ou árvore binária, ]* = ∞;
2) 6H a lista de subproblemas (CS) estiver vazia, HQWmR FIM (se ]* = ∞, então não
existe solução viável);
3) Selecionar um candidato da lista, tornado-o candidato (CS) corrente;
4) Selecionar e resolver uma relaxação (RCS) do (CS) corrente, obtendo a solução
]RCS;

5) Aplicar os três critérios de sondagem:


(i) 6H (RCS) é inviável, HQWmR o (CS) corrente não tem solução viável e (ir para
2);
(ii) 6H ]RCS ≥ ]*, HQWmR o (CS) corrente não tem solução viável melhor que ]* e (ir
para 2);
(iii) 6Ha solução ótima de (RCS) é viável para (CS) e ]RCS < ]*, HQWmR ]* ← ]RCS
e (ir para 2);
6) Separar o (CS) corrente e adicionar os seus subproblemas filhos na lista de
subproblemas (CS). (ir para 2).
Existem três alternativas principais para selecionar os candidatos da árvore
binária:
a) Busca em primeira profundidade (GHSWKILUVW VHDUFK) com retrocesso (LIFO:
/DVW,Q)LUVW2XW). Técnica padrão da maioria dos algoritmos;

b) Busca em primeira largura (EUHDGWKILUVWVHDUFK);


c) Busca pelo melhor limite.

129
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Na técnica de busca em primeira profundidade o próximo (CS) selecionado é


um dos filhos do (CS) corrente. Quando um nó é considerado sondado, a busca é
retrocedida até o ancestral mais próximo que tenha um filho que ainda não foi
selecionado. Esta técnica tem como característica uma maior facilidade de re-
otimização e compactação de informação, mas pode requerer um número elevado de
subproblemas (CS).
Na técnica de busca em primeira largura, todos os nós de um mesmo nível da
árvore binária são considerados antes dos nós de níveis subseqüentes. Esta técnica é
geralmente utilizada como base de heurísticas para a seleção de nós para a melhoria
dos limites inferiores.
Na técnica de busca pelo melhor limite, o próximo (CS) escolhido da lista é
aquele que possui o menor limite inferior. Esta técnica resulta em um menor número
de subproblemas (CS), mas apresenta uma maior heterogeneidade no caminho para o
ótimo. Nota-se que existe um compromisso entre o número de (CS) gerados e o
controle da otimização, dificultando a seleção da melhor estratégia.
([HPSOR  Para ilustrar o método de EUDQFK DQG ERXQG com relaxação das
variáveis binárias, seja o seguinte problema:
min 6([,\) = 2[1 − 3\1 − 2\2 − 3\3
sujeito a: [1 + \1 +\2 +\3 ≥ 2
10 [1 + 5 \1 + 3\2 + 4\3 ≤ 10
[1 ≥0
\ ∈ < = {0,1}3
†
onde a solução ótima ocorre no ponto [ = 0 e \ = [1 0 1] , com o valor da
função objetivo 6([ ,\ ) = ]* = −6. Resolvendo o problema LP relaxado na raiz da
árvore binária, tem-se a solução:
†
[ =0, \ = [0,6 1 1] e ] = −6,8
que representa um limite inferior para o problema MILP. As árvores binárias para as
técnicas de busca em primeira profundidade e busca em primeira largura são
mostradas abaixo, onde o número dentro do nó indica a seqüência do subproblema
(CS).

130
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

UDL] QtYHO

QtYHO

QtYHO

QtYHO

%XVFDHPSULPHLUDSURIXQGLGDGH %XVFDHPSULPHLUDODUJXUD

Observa-se que na busca em primeira profundidade, a solução ótima é obtida


no nó 5, sendo necessário considerar 6 nós da árvore, além da raiz. Por outro lado, na
busca em primeira largura, o ótimo é obtido no nó 3, mas é necessário considerar o
mesmo número de nós que no caso anterior para certificar-se da otimalidade do nó.
Os limites inferiores e superiores em cada nó da árvore binária, para as duas
técnicas, são apresentados na tabela abaixo.

SULPHLUDSURIXQGLGDGH SULPHLUDODUJXUD

Qy
QtYHO LQIHULRU VXSHULRU ] QtYHO LQIHULRU VXSHULRU ]

0 0 −6,8 ∞ ∞ 0 −6,8 ∞ ∞
1 1 −6,667 ∞ ∞ 1 −6,8 −5 −5
2 2 −6,667 ∞ ∞ 1 −6,667 −5 −5
3 3 −6,5 −5 −5 2 −6,667 −6 −6
4 3 −6,5 −5 −5 2 −6,5 −6 −6
5 2 −6,667 −6 −6 3 −6,5 −6 −6
6 1 −6 −6 −6 3 −6 −6 −6

131
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

3URJUDPDomRQmROLQHDULQWHLUDPLVWD 0,1/3

A formulação MINLP com variáveis 0−1 é dada por:


min 6([,\)
sujeito a: K˜ ( [ ,\ ) = 0 , M = 1, 2, ..., P
J˜ ( [ ,\ ) ≤ 0 , M = 1, 2, ..., S
™ š
[ ∈;⊆ℜ , \ ∈ < = {0,1}

Os algoritmos existentes para resolver problemas MINLP podem ser


classificados em quatro categorias principais:
• %UDQFKDQG%RXQG

• Decomposição Generalizada de Benders (GBD)


• Aproximações Externas (OA)
• Lógica e disjunções
O método de EUDQFK DQG ERXQG, aplicado ao problema MINLP, inicia
resolvendo o correspondente problema NLP relaxado, para então realizar a
enumeração implícita e seleção dos subproblemas através das técnicas descritas na
seção anterior (busca em primeira profundidade ou busca em primeira largura). Os
critérios de sondagem são aplicados às soluções dos subproblema NLP relaxados a
cada nó, que geram limites inferiores e superiores.

'HFRPSRVLomR*HQHUDOL]DGDGH%HQGHUV *%'

Geoffrion (1972) generalizou a aproximação proposta por Benders (1962), para


explorar a estrutura de problemas de programação MINLP. A idéia básica é gerar,
para cada iteração, um limite superior e um limite inferior sobre a busca da solução
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 iterações verifica-se que a seqüência de limites superiores
não cresce e a seqüência de limites inferiores não decresce, logo, as seqüências
convergem em um número finito de iterações.

132
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

3UREOHPDSULPDO 1/3

O problema primal corresponde ao MINLP com as variáveis \ fixas em


valores inteiros:
›
min 6([,\ )
›
› sujeito a: K([,\ ) = 0
P(\ ) ›
J [ \( , )≤0
™
[ ∈;⊆ℜ
› š
onde \ ∈ {0,1} corresponde ao vetor \ fixo na iteração N.

›
Se o problema primal é viável, então sua solução fornece um OLPLWH VXSHULRU,
›
6([ ,\ ), para a função objetivo e os respectivos multiplicadores de Lagrange das
› ›
restrições, λ e µ . A função de Lagrange para este problema é dada por:
› › › œ › œ
/ [ \
( , ,λ ,µ ) = 6([,\) + (λ ) K [ \
( , ) + (µ ) J [ \
( , )
Se o problema primal é inviável, então o seguinte problema de viabilidade
geral, FP, (Fletcher e Leyffer, 1994) é resolvido:
 
+
min ∑ ZŸ JŸ ( [, \ )
Ÿ ž

›
sujeito a: K([,\ ) = 0
FP ›
J¡ ([,\ ) ≤ 0, L ∈,
™
[ ∈;⊆ℜ
›
+
onde Z¡  ≥ 0 são pesos associados a cada restrição, J
L
N
( [, \ ) = max [0,J ¡ ([,\ )], , é
¢
o conjunto de restrições de desigualdade viáveis, e , é o conjunto de restrições de
desigualdade inviáveis. A solução do problema FP fornece informações sobre os
multiplicadores de Lagrange, λ e µ , sendo a função de Lagrange para este caso
N N

dada por:
œ œ
/ ( [ ,\ , λ , µ ) = ( λ )
N N N
K [ \( , ) + (µ ) N
J [ \
( , )

3UREOHPDPHVWUH

O problema mestre é derivado via teoria de dualidade não linear, faz uso dos
multiplicadores de Lagrange obtido no problema primal e sua solução produz
informação sobre o limite inferior, caracterizada pelas seguintes idéias chaves:

133
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

(i) projeção do problema MINLP sobre o espaço \ (i.e., \ ∈ < ∩ 9);


(ii) representação dual de 9, onde 9 = {\| K([\) = 0, J([\) ≤ 0, [ ∈ ;};
(iii) representação dual da projeção do problema MINLP sobre o espaço \.
min α
sujeito a: α ≥ inf /([,\,λ,µ) , ∀ λ , ∀ µ ≥ 0
[∈;
M
0 ≥ inf / ([,\, λ , µ ) , ∀ ( λ , µ ) ∈ Λ
[ ∈;
š
\ ∈ < = {0,1} , α∈ℜ
£ ¤ S

onde Λ = { λ ∈ ℜ , µ ∈ ℜ | µ ≥ 0 , ∑ µ = 1 }. Observa-se que o problema


L

L =1
mestre (M) tem como restrição dois problemas de otimização, que precisam ser
considerados para todos λ e µ ≥ 0 (primal viável) e para todos ( λ , µ ) ∈ Λ (primal
inviável), resultando em um problema com um número elevado de restrições. A
estratégia natural de resolver este problema é através de relaxação das restrições,
gerando um problema mestre relaxado (RM).
min α › ›
sujeito a: α ≥ inf /([,\,λ ,µ ) , N = 1,2,...,1¥
[∈;
RM
0 ≥ inf / ([,\, λ , µ ) , k = 1,2,...,1¦7¥
N N

[ ∈;
š
\ ∈ < = {0,1} , α∈ℜ
onde 1¤ é o número de problemas primais viáveis e 1¦p¥ é o número de problemas
primais inviáveis resolvidos.

$SUR[LPDo}HV([WHUQDV 2$

Duran e Grossmann (1986) propuseram um algoritmo para tratar de problemas


MINLP na forma abaixo, cuja idéia básica é similar ao GBD, onde a cada iteração
gera-se um limite superior e um limite inferior da solução MINLP. O limite superior
resulta a partir da solução viável do respectivo problema primal com \ fixo.
œ
min 6([,\) = F \ + I([)
sujeito a: J [ ( ) + %\ ≤ 0
™ š
[ ∈;⊆ℜ , \ ∈ < = {0,1}

134
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

O limite inferior resulta a partir da solução do problema mestre. O problema


mestre é derivado pela projeção do MINLP no espaço \ e pela aproximação externa
(linearização)
›
das restrições e função objetivo não linear ao redor da solução primal
[ . Ou seja, consiste de suportes lineares válidos, e, consequentemente, relaxamentos
› ›
de funções não lineares para todos pontos [ que resultam fixando \ = \ ∈ <.
Se o problema primal é viável, então as aproximações
›
externas são dadas pela
linearização das funções convexas I([) e J([) no ponto [ :
› œ › ›
( ) ≥ I([ ) + ∇ I([ ) ([ − [ )
I [
› œ › ›
( ) ≥ J( [ ) + ∇ J( [ ) ( [ − [ )
J [

Se o problema primal é inviável, então resolve-se o respectivo problema de


N
viabilidade geral, para então linearizar as restrições no ponto obtido, [ :
œ
( ) ≥ J( [ ) + ∇ J( [ ) ( [ −
J [
N N
[
N
)
Então o problema mestre pode ser formulado como:
œ
min F \ + α › œ › › ›
sujeito a: α ≥ I([ ) + ∇ I([ ) ([ − [ ), ∀ N ∈ P(\ )
› œ › › ›
M 0 ≥ J([ ) + ∇ J([ ) ([ − [ ) + %\, ∀ N ∈ P(\ )
œ ›
0 ≥ J( [ ) + ∇ J( [ ) ( [ −
N N
[
N
) + %\, ∀ N ∈ FP(\ )
š
[ ∈ ;, \ ∈ < = {0,1} , α∈ℜ
A aproximação natural da resolução do problema mestre é o relaxamento, que
considera para cada iteração os suportes lineares das restrições e função objetivo ao
redor de todos os pontos linearizados previamente. Deste modo, para cada iteração
um novo conjunto de restrições e suportes lineares são adicionadas, os quais
melhoram o relaxamento e por esta razão melhoram o limite inferior. Observe que o
problema mestre corresponde a um problema MILP.
Com as iterações ocorridas, duas seqüências de limites superiores e inferiores
são gerados, que não aumentam nem diminuem, respectivamente. Então, é mostrado
que essas duas seqüências convergem dentro de uma tolerância ε com um número
finito de iterações.

135
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

$SUR[LPDo}HV([WHUQDVFRP5HOD[DPHQWRGH,JXDOGDGH 2$(5

Para lidar com restrições de igualdade não lineares explicitamente da forma K([) = 0,
Kocis e Grossmann (1987) propuseram uma aproximação externa com relaxamento
de igualdade para a seguinte classe de problemas MINLP.
œ
min 6([,\) = F \ + I([)
sujeito a: $ [ + %\ ≤ E
K([) = 0

J([) ≤ 0
™ š
[ ∈ ; ⊆ ℜ , \ ∈ < = {0,1}

A idéia básica do OA/ER é relaxar as restrições de igualdade não lineares em


desigualdades e subseqüentemente aplicar o algoritmo OA. O relaxamento das
igualdades não lineares é baseada no sinal dos multiplicadores de Lagrange
associados a este relaxamento quando o problema primal (com \ fixo) é resolvido.
Se um multiplicador λ¡ é positivo então a correspondente igualdade não linear
K ¡ ([)=0 é relaxada como K ¡ ([) ≤ 0 Se um multiplicador λ ¡ é negativo, então a

igualdade não linear é relaxada como ±K¡ ([) ≤ 0. Entretanto, se λ¡ = 0, então a


restrição de igualdade não linear associada é escrita como 0.K¡ ([) = 0, a qual implica
que esta restrição pode ser eliminada. Tendo transformado as igualdades não lineares
em desigualdades, na seqüência formula-se o problema mestre baseado sobre os
princípios da aproximação OA discutida anteriormente.
œ
min F \ + α › œ › › ›
sujeito a: α ≥ I([ ) + ∇ I([ ) ([ − [ ), ∀ N ∈ P(\ )
› œ › › ›
0 ≥ J([ ) + ∇ J([ ) ([ − [ ), ∀ N ∈ P(\ )
› › œ › › ›
0 ≥ T [K([ ) + ∇ K([ ) ([ − [ )], ∀ N ∈ P(\ )
œ ›
M
0 ≥ J( [ ) + ∇ J( [ ) ( [ −
N N
[
N
), ∀ N ∈ FP(\ )
œ ›
0≥ 7
N
[K( [ ) + ∇ K( [ ) ([ −
N N
[
N
)], ∀ N ∈ FP(\ )
$ [ + %\ ≤ E
š
[ ∈ ;, \ ∈ < = {0,1} , α∈ℜ
›
onde7 é a matriz diagonal dos sinais dos multiplicadores de Lagrange.
O algoritmo OA/ER tem a vantagem de exigir um número menor de iterações
que o GBD, porém o tamanho de seus problemas mestres MILP é considerado
grande em relação ao GBD.

136
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

    $SUR[LPDo}HV ([WHUQDV FRP 5HOD[DPHQWR GH ,JXDOGDGH H 3HQDOLGDGH

$XPHQWDGD 2$(5$3

Os algoritmos EUDQFKDQGERXQG, GBD e OA/ER requerem que algumas formas de


suposições de convexidade sejam satisfeitas de modo a garantir a otimização global
do problema MINLP. Viswanathan e Grossmann (1990) propuseram o algoritmo
OA/ER/AP (conhecido como DICOPT - ',VFUHWH DQG &2QWLQXRXV 237LPL]HU), que
é um variante do algoritmo OA/ER, com objetivo de evitar as limitações impostas
pela suposição de convexidade feita no algoritmo OA/ER.
Este algoritmo recorre a mesma formulação do OA/ER e introduz a função
penalidade aumentada nos subproblemas de limite inferior da aproximação OA/ER.
Como a suposição de convexidade não é imposta em OA/ER/AP, então:
› ›
(i) a equivalência de K([) = 0 e 7 K([) ≤ 0 pode não se manter, onde K([) e 7 K([)›
são as igualdades não lineares e as igualdades relaxadas, respectivamente (7
é a matriz diagonal dos sinais dos multiplicadores de Lagrange);
(ii) as linearizações podem não representar suportes válidos;
(iii) o problema mestre pode não produzir um limite inferior válido sobre a
solução do MINLP.
A idéia básica em OA/ER/AP é limitar (i), (ii) e (iii) pelo relaxamento das
linearizações no problema mestre, permitindo-os de serem violados e utilizando uma
aproximação tipo penalidade que penaliza essas violações das funções suportes.
Então, o problema mestre para o método AO/ER/AP pode ser formulado como:
œ œ œ œ
min F \ + α + Z§ V +› ∑˜ (Z¤œ ˜ ) S
›
˜ +∑˜ (Zš ˜ ) T˜
› ›
sujeito a: α + V› ≥ I([ ) + ∇ I([ ) ([ − [ ), ∀ N ∈ P(\ )
› œ › › ›
S
› ≥ J([ ) + ∇ J([ ) ([ − [ ), ∀ N ∈ P(\ )
› › œ › › ›
T
› ≥ T [K([ ) + ∇ K([ ) ([ − [ )], ∀ N ∈ P(\ )
M œ ›
0 ≥ J( [ ) + ∇ J( [ ) ( [ −
N N
[
N
), ∀ N ∈ FP(\ )
œ ›
0≥ 7
N
[K( [ ) + ∇ K( [ ) ([ −
N N
[
N
)], ∀ N ∈ FP(\ )
$ [ + %\ ≤ E
š
[ ∈ ;, \ ∈ < = {0,1} , α∈ℜ , V
› ,S› ,T› ≥ 0
onde Z§ , Z¤ e Zš são os pesos para as variáveis de folga das restrições. Ou seja, as
violações das linearizações são permitidas pela introdução de variáveis de folga,
137
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

enquanto a penalidade das violações é introduzida como um conjunto adicional de


termos na função objetivo que consiste de variáveis de folga multiplicadas por
fatores de peso positivos. Deste modo, por causa do relaxamento de restrições, a
região viável é expandida e, consequentemente, a possibilidade de partes das regiões
viáveis serem cortadas devido a linearizações inválidas é reduzida.

$SUR[LPDomR([WHUQD*HQHUDOL]DGD *2$

Fletcher e Leyffer (1994) estenderam a aproximação OA para problemas MINLP do


tipo abaixo, introduzindo funções penalidades exatas, criando o algoritmo GOA.
min 6([,\)
sujeito a: J([,\) ≤ 0
™ š
[ ∈;⊆ℜ , \ ∈ < = {0,1}

para 6 e J convexas e continuamente diferenciáveis e ; convexo, compacto e não


vazio. O GOA é similar ao OA, com as principais diferenças sendo:
(i) tratamento da inviabilidade;
(ii) problema mestre considera as inviabilidades explicitamente;
(iii) tratamento unificado de funções penalidades exatas.
›
Se o problema primal P(\ ) é inviável, então o seguinte problema de viabilidade
geral é dado por:
(, )
«
+
min
¬ ∑ Zª
ª © ¨
Jª [ \


›
sujeito a ( , ) ≤ 0,
J ¡ [ \ L ∈,
™
[ ∈;⊆ℜ
›
+ N
onde Z¡  são os pesos, J
L
( [, \ ) = max [0, J ¡ ([, \ )], , é o conjunto de restrições de
¢
desigualdade viáveis, e , é o conjunto de restrições de desigualdade inviáveis. Note
que o problema acima tem dentro da função objetivo um somatório somente das
restrições de desigualdade inviáveis.
› ›
Se o problema primal P(\ )° é inviável de modo que [ resolve o problema de
( )
° ±
+
viabilidade geral e tem ∑­ Z¯ J ¯ [ , \ > 0 , então \ é inviável dentro das restrições:
¯ ®

138
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

³ ²
0≥ J´ (
[
²
,\
²
)+ ∇ ´ (
J [
²
,\
²
) [−[

 \ − \²


 , ∀L ∈ { ,
1
}
∪ , ∀[ ∈ ;
 

Observe que as restrições acima são as linearizações


± ±
das restrições de
desigualdade não lineares
±
em torno do ponto ([ \ ). Então a inviabilidade no
problema primal P(\ ) significa
± ±
que os cortes de linearizações de desigualdade viável
e inviável em torno de ([ \ ) são violados.
A formulação do problema mestre que considera a inviabilidade
explicitamente, é baseada nas seguintes idéias:
a) projeção do problema MINLP sobre o espaço \;
b) aproximação externa da função objetivo e da região viável, com tratamento das
inviabilidades do problema primal.

'HFRPSRVLomR&UX]DGD*HQHUDOL]DGD *&'

Holmberg (1990) generalizou a aproximação proposta por Van Roy (1983) para a
classe de problemas de otimização da forma:
min 6([,\)
sujeito a: K([,\) = 0
( , )≤0
J [ \

µ ¶
[ ∈;⊆ℜ , \ ∈ < = {0,1}

para 6, J e K convexas para cada \ fixo, limitadas e Lipschitz contínuas e ; convexo,


compacto e não vazio. Outra condição é que a otimização com respeito a [ da função
de Lagrange pode ser realizada independentemente de \.
A decomposição cruzada generalizada consiste de duas fases. A fase I é
composta de subproblemas primal e dual e a fase II é constituída de problemas
mestres e testes de convergência apropriados.
Na fase I, o subproblema primal produz um limite
± ±
superior sobre a solução
procurada do MINLP e multiplicadores de Lagrange λ , µ para o subproblema dual.
O± subproblema dual produz um limite inferior sobre a solução do MINLP e fornece
\ para o subproblema primal. Ambos subproblemas, primal e dual, geram cortes

para o problema mestre na fase II. Para cada iteração do GCD, os problemas primal ±
e dual são resolvidos, e um teste de convergência primal é aplicado sobre \ ,
139
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

± ±
enquanto o teste de convergência dual é aplicada sobre λ , µ . Se qualquer teste de
convergência falhar, então entra-se na fase II, que caracteriza a solução do problema
mestre e retorna subseqüentemente para a fase I. A idéia chave é fazer uso extenso
da fase I e limitar tanto quanto possível o uso da fase II para a aplicação de testes de
convergência apropriados. Isto é porque o problema mestre é mais difícil e demanda
um maior tempo computacional que os problemas da fase I.

%UDQFKDQG%RXQG(VSDFLDO 6%%

Os algoritmos GBD e OA têm a limitação do tamanho do problema mestre (MILP)


que cresce a medida que as iterações ocorrem, devido as restrições adicionais, sendo
este o maior problema quando o MINLP original tem um número grande de
variáveis inteiras. O tempo usado para resolver o problema mestre cresce conforme
as iterações ocorrem, enquanto o tempo para os subproblemas NLP mantém-se na
mesma ordem de magnitude.
%UDQFKDQG%RXQG(VSDFLDO/LQHDUL]DGR

Quesada e Grossmann (1992) propuseram um algoritmo para evitar os


problemas relatados acima, melhorando a eficiência da solução dos problemas
MINLP convexos e reduzindo o trabalho computacional exigido para resolver os
problemas mestres MILP.
O algoritmo SBB (6SDWLDO %UDQFK DQG %RXQG) consiste da busca em árvore
sobre o espaço de variáveis binárias. O problema mestre MILP é definido
dinamicamente durante a busca em árvore para reduzir o número de nós que
necessitam ser enumerados. Uma busca EUDQFK DQG ERXQG é conduzida para
determinar limites inferiores na solução de subproblemas LP até encontrar soluções
inteiras viáveis. Para estes nós, subproblemas NLP são resolvidos, determinando
limites superiores e novas aproximações lineares, as quais são usadas para estender a
representação linear dos nós abertos na árvore de busca. Estas aproximações lineares
podem ser feitas de diversas formas.
A seguir descreve-se detalhadamente o algoritmo de Quesada e Grossmann
(1992) com modificações propostas por Pereira e Secchi (2000). Considera-se os
problemas MINLP da forma: ·
] = min 6([,\) = F \ + I([)

sujeito a: J([) + %\ ≤ 0


µ ¶
[ ∈ ; ⊆ ℜ , \ ∈ < = {0,1}

140
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

3DVVR  ± Arbitram-se valores iniciais para as variáveis binárias “\” e variáveis


contínuas “[”. Durante a implementação, existe a opção do próprio algoritmo
escolher estes valores, caso não sejam arbitrados.
0
Fixando
3DVVR   ± \ \ , o problema MINLP transforma-se num subproblema
NLP, ou seja: ·
0
] = min F \ + I([)
[

sujeito a ( ) + %\0 ≤ 0
J [
µ
[ ∈ ; ⊆ ℜ

O problema NLP é resolvido, encontrando uma solução ([0\0), a qual corresponde a


um determinado valor “]” da função objetivo. Considera-se ]X ], o limite superior
para a solução ótima do problema MINLP.
Se a violação de restrição for maior que ε¸ , onde “ε¸ ” é a tolerância de
violação de restrição, então faz-se ]X  ∞, o que significa que este primeiro NLP é
considerado inviável.
Na implementação, quando \0 não for dado, existe a possibilidade de ser
resolvido um NLP com condições de integralidade sobre as variáveis binárias
relaxadas. Neste caso é resolvido um NLP relaxado, resultando uma solução ([0\0).
Se \0 não for inteiro, então \0 sofre um arredondamento e é resolvido um outro NLP.
3DVVR  – As funções não lineares do problema MINLP são linearizadas, usando a
solução ótima [0 do subproblema NLP, resultando no seguinte problema MILP.
] = º min
¹ α
, ,α
· ·
sujeito a α ≥ F \ + I([0) + ∇ I([0) ([ − [0)
·
%\ + J([0) + ∇ J([0) ([ − [0) ≤ 0
µ ¶
α ∈ ℜ, [ ∈;⊆ℜ , \ ∈ < = {0,1}
3DVVR – O problema MILP transforma-se num problema LP, com as condições de
integralidade sobre as variáveis binárias relaxadas. A solução deste LP é
considerada um limite inferior, ]O, para a solução ótima do problema MINLP. Caso
]O + ε » ≥ ]X , onde “ε¼ ” é a tolerância da função objetivo, então este problema é

desconsiderado. Se ]O  ]X, este primeiro problema LP é armazenado como o


primeiro nó da árvore de busca e se a solução deste LP para as variáveis binárias “\´
for inteira, segue-se para o passo 8.

141
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

– Se não existe mais LPs para serem resolvido, ou seja, nenhum nó aberto
3DVVR 

na árvore, então o limite superior corrente ]X é a solução ótima do problema MINLP


e terminou o algoritmo.
3DVVR  – Se a solução do LP para variáveis binárias não for inteira, então haverá
uma ramificação na árvore de busca com a criação de dois nós filhos, isto é, dois
problemas LPs. A criação desses½ LPs será feita da seguinte forma, seleciona-se
dentro da solução do último (/3 )¾ , onde “M” é o número do nó e “N” é o número do
nó pai, o “\ ¿ ” cujo valor fracionário encontra-se mais distante dos extremos
ÀÂÁ
0 e ¾Â
1Ã e
adiciona-se as restrições \ ¿ = 0 e \ ¿  = 1 para os subproblemas (/3 )À + e (/3 )¾ + ,
respectivamente. Substitui-se o problema pelos dois subproblemas filhos na lista de
LPs.
3DVVR  – Se no final da lista de LPs tem-se dois problemas filhos para serem
resolvidos que tem o mesmo problema pai, então faz-se o seguinte:
¾ÂÃ
i) resolve-se o (/3 )¾ + . Se o valor da função objetivo ]Æ + Å + ε Ä ≥ ]X , este
problema é desconsiderado. Caso ]È + Ç seja uma solução inteira, segue-
se para o passo 8;
ÀÂÁ
ii) resolve-se o ( )À + . Se o valor da função objetivo
/3 ]Ë
+
Ê + εÉ ≥ ]X , este
problema é desconsiderado. Caso ]Í seja uma solução inteira, segue-

se para o passo 8;
¾Âà ÀÂÁ
iii) se ]Ï
+
Ð ≥ ]Ï
+Î , inverte-se ( )¾ + e ( )À + , no armazenamento de LPs.
/3 /3

½
Caso contrário (isto é, existe somente um problema filho), resolve-se o (/3 )¾ e se
] Ò + ε Ñ ≥ ]X , este deve ser desconsiderado, mas se ]Ó  é uma solução inteira, segue-se

para passo 8.
Retornar ao passo 5.

3DVVR  – Resolve-se um subproblema NLP fixando as variáveis binárias “\” da


solução do problema LP para o nível do nó onde o problema LP se encontra. Se ]ÔÖÕØ×
]X, faz-se ]X ]ÔÖÕØ× . Se ]ÔÖÕØ× ≥]X, então continua-se com o limite superior anterior.
3DVVR  – A solução dos NLPs é usada para gerar restrições adicionais, isto é, a
medida que é resolvido um subproblema NLP, esta solução é adicionada como
restrição para a solução do próximo subproblema LP e assim sucessivamente. Estas
restrições adicionais podem ser feitas de diversas formas como será comentado a

142
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

seguir. Desconsiderar todos os nós de ( )Æ para os quais


/3 ]Ù  ≥]X e retornar para o
passo 5.
5HVWULo}HV$GLFLRQDLV

As restrições adicionais, comentadas no passo 9 do algoritmo, a partir das


informações da solução dos subproblemas NLP podem ser adicionadas para os nós
abertos na árvore de busca de diversos modos.
$SUR[LPDo}HV([WHUQDV 2$

O algoritmo OA consiste de uma seqüência de subproblemas NLP e problemas


mestres MILP, onde as linearizações dos termos não lineares são derivadas para a
solução ótima dos subproblemas NLP. O problema mestre MILP é dado por:
] = Û min
Ú α
, ,α
Ü Ý Ü Ý Ý
sujeito a α ≥ F \ + I([ ) + ∇ I([ ) ([ − [ )
Ý Ü Ý Ý
%\ + J([ ) + ∇ J([ ) ([ − [ ) ≤ 0
Þ ß
α ∈ ℜ, [ ∈;⊆ℜ , \ ∈ < = {0,1}
N  1,2, ...,. à áãâØäæå ç
Ý
onde [ é a solução viável ou inviável do N-ésimo subproblema NLP.
'HFRPSRVLomR*HQHUDOL]DGDGH%HQGHUV *%'

Na decomposição generalizada de Benders uma seqüência de subproblemas NLP e


problemas mestres MILP no espaço das variáveis binárias é resolvido. Os
subproblemas NLPs são
Ý
gerados fixando as variáveis binárias no MINLP original
para um dado valor \ . O problema mestre é gerado projetando o problema original
no espaço reduzido das variáveis binárias. Isto é feito derivando, para cada
subproblema, uma função Lagrangeana parametrizada nas variáveis discretas “\”.
Aplicando as condições de Kuhn-Tucker em um subproblema NLP,
consideradas em relação as variáveis não lineares “[”, tem-se:
Ý Ý Ý
∇I([ ) + ∇J([ ) λ = 0
Ý
Multiplicando a equação acima por ([±[ ), tem-se:
Ü Ý Ý Ý Ü Ü Ý Ý
∇ I([ ) ([±[ ) + (λ ) ∇ J([ ) ([±[ ) = 0
Da segunda inequação do problema MILP, tem-se

143
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Ü Ý Ý Ý
∇ J([ ) ([ − [ ) ≤ −[%\ + J([ )]
Ü Ý Ý Ý Ü Ý
Então, ∇ I([ ) ([±[ ) − (λ ) [%\ + J([ )] ≥ 0. Logo, a primeira inequação do MILP
reduz-se a:
Ü Ý Ý Ü Ý
α≥F \ + I([ ) + (λ ) [%\ + J([ )]
Desta forma, a formulação do problema mestre para os cortes de Benders é dado por:
] = min
è α

Ü Ý Ý Ü Ý
sujeito a α ≥ F \ + I([ ) + (λ ) [%\ + J([ )] , N  1,2, ...,. à áÖâ5äæåÖé‘ê ëìéîí‘ê å ç
Ý Ü Ý
(λ ) [%\ + J([ )] ≤ 0, N 1,2, ...,. à áãâØäïåðê Þ
 é”ê ëìéñí”ê å{ç
ß
α ∈ ℜ, \ ∈ < = {0,1}
Ý Ý
onde [ e λ são as variáveis ótima primal e dual do subproblema NLP.
A vantagem das aproximações externas é que elas têm a representação
estendida da região viável. Entretanto, têm a limitação que o número de colunas dos
problemas LPs que são resolvidos para os nós pode tornar-se muito grande. Também
em um número de casos, as novas linearizações não determinam aproximações muito
reais da região viável não linear. Para evitar este problema, uma opção são os cortes
de Benders, que em geral, não provêm cortes fortes.
Por estas razões, Quesada e Grossmann (1992) propuseram uma restrição
aproximada, cuja a idéia básica é agregar as linearizações de funções não lineares,
enquanto mantém as restrições lineares em ordem para fortalecer os cortes.
5HVWULomR$SUR[LPDGDSURSRVWDSRU4XHVDGDH*URVVPDQQ 

A partir do problema MINLP original, considere a partição das variáveis contínuas


em dois subconjuntos “Z” e “Y” tais que as restrições são divididas em restrições
lineares e não lineares e as variáveis contínuas em variáveis lineares e não lineares.
Ü Ü
] = min F \ +D Z + U ( Y)
sujeito a&\ + 'Z + W(Y) ≤ 0
(\ + )Z + *Y ≤ E
\ ∈ < , Z ∈ :, Y ∈ 9
Ü Ü Ü
Nesta representação I([) = D Z + U(Y), % = [& ( ], J [ ( ) = ['Z + W(Y) )Z + *Y]
e ; :×9.

144
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

O problema acima é reformulado com a adição de duas variáveis contínuas α


e β para representar as partes lineares e não lineares da função objetivo, ou seja:
] = min α
sujeito a &\ + 'Z + W(Y) ≤ 0
U Y ( )≤β
(\ + )Z + *Y ≤ E
Ü Ü
F \ +D Z +β−α=0
α,β ∈ ℜ, \ ∈<, Z ∈ :, Y ∈9
Ý Ý
Fazendo aproximações externas no problema acima para o ponto (Z , Y ) gerado pelo
N-ésimo subproblema NLP tem-se:

] = min α
Ý Ý Ý
sujeito a &\ + 'Z + W(Y ) + ∇W(Y ) (Y−Y ) ≤ 0
Ý Ý Ý
U Y ( ) + ∇U(Y ) (Y−Y ) ≤ β
(\ + )Z + *Y ≤ E
Ü Ü
F \ +D Z +β−α=0
α,β ∈ ℜ, \ ∈<, Z ∈ :, Y ∈9
Se as condições de Kuhn-Tucker do subproblema NLP são consideradas em
relação as variáveis não lineares “Y”, então:
Ý Ý Ý Ü Ý
∇U(Y ) + ∇W(Y ) λ + G µ = 0
Ý
que multiplicado por (Y−Y ), tem-se:
Ü Ý Ý Ý Ü Ý Ý Ü Ü Ý Ý
∇ U(Y ) (Y−Y ) + (µ ) G (Y−Y ) = −(λ ) ∇W (Y ) (Y−Y )
Do problema linearizado tem-se:
Ý Ý Ý
∇W(Y ) (Y−Y ) ≤ −[&\ + 'Z + W(Y )]
então:
Ü Ý Ý Ý Ü Ý Ý Ü Ý
∇ U(Y ) (Y−Y ) ≥ (λ ) [&\ + 'Z + W(Y )] − (µ ) G (Y−Y )

Finalmente, substituindo este expressão na segunda inequação do problema


linearizado, tem-se o MILP:
145
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

] = min α
Ý Ý Ü Ý Ý Ü Ý
sujeito a β ≥ U(Y ) + (λ ) [&\ + 'Z + W(Y )] − (µ ) G (Y−Y )
(\ + )Z + *Y ≤ E
Ü Ü
F \ +D Z +β−α=0
α,β ∈ ℜ, \ ∈<, Z ∈ :, Y ∈9
N  1,2, ...,. à áãâØäæå ç
Observe que usando as aproximações lineares acima somente a primeira
inequação é modificada para os nós abertos na árvore de busca, quando acontece
uma solução inteira de um LP.
5HVWULomR$SUR[LPDGDSURSRVWDSRU3HUHLUDH6HFFKL 

Considerando o problema MINLP original na forma:


Ü
] = min 6([,\) = F \ + I([) + µ X
sujeito a: J [ ( ) + %\ ≤ X
Þ ß
[ ∈;⊆ℜ , \ ∈ < = {0,1} , X ≥0
onde µ > 0. Se X > 0 há violação de restrições para problemas inviáveis. Isto é, µ X é
uma penalização introduzida na função objetivo quando as restrições são violadas.
ò
Fazendo aproximações externas para o ponto [  o qual foi gerado pelo primeiro
subproblema NLP, tem-se o MILP
] = õ min ó α
ô
, ,α ,
Ü ö Ü ö ö
sujeito a α ≥ F \ + I([ ) + ∇ I([ ) ([ − [ ) + µ X
ö Ü ö ö
%\ + J([ ) + ∇ J([ ) ([ − [ ) ≤ X
Þ ß
α ∈ ℜ, [ ∈;⊆ℜ , \ ∈ < = {0,1} , X ≥0
A partir do relaxamento das variáveis binárias no problema acima, resolve-se
M-LPs até encontrar uma solução inteira. Quando esta solução é encontrada é

resolvido um subproblema N-NLP e a partir desta solução há um acréscimo de uma


inequação para todos os nós abertos na árvore de busca, sendo que se não houver
violação de restrição, a aproximação feita será do tipo OA e se houver violação de
restrição, a aproximação será feita através de cortes de Benders. Assim, o MILP terá
a seguinte forma:

146
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

] = õ min ó α
ô
, ,α ,
Ü ö Ü ö ö
sujeito a α ≥ F \ + I([ ) + ∇ I([ ) ([ − [ ) + µ X
ö Ü ö ö
%\ + J([ ) + ∇ J([ ) ([ − [ ) ≤ X
Ü Ý Ü Ý Ý
α≥F \ + I([ ) + ∇ I([ ) ([ − [ ) + µ XN 1,2, ...,. à áãâØäæåÖé”ê ë÷éîí”ê å{ç
Ü Ý Ý Ü Ý
α≥F \ + I([ ) + (λ ) [%\ + J([ ) − X] + µ XN 1,2, ...,. à áÖâØäïåøê Þ é”ê ëìéñí”ê å{ç
Þ ß
α ∈ ℜ, [ ∈;⊆ℜ , \ ∈ < = {0,1} , X ≥0
onde .(NLPs viáveis) são todos pontos viáveis obtidos pelo NLP e .(NLPs inviáveis) são
todos os pontos inviáveis resultantes do NLP.
%UDQFKDQG%RXQG(VSDFLDO 1mR/LQHDU

A diferença entre o SBB linearizado e o SBB não linear está na solução do problema
relaxado. Enquanto que o SBB linearizado resolve problemas LP relaxados para
encontrar limites inferiores, o SBB não linear resolve problemas NLP relaxados.
Os algoritmos SBB linearizados partem da suposição de que o LP relaxado
pode ser resolvido mais eficientemente que o NLP relaxado. Contudo, se muitos
NLPs resultantes de soluções inteiras do LP relaxado forem inviáveis, então os
algoritmos SBB linearizados podem encontrar dificuldades de convergência. A
introdução de novas restrições, resultantes de sucessivas linearizações, também
podem trazer mau condicionamento para os problemas LP relaxados, além de levar a
possíveis cortes de soluções ótimas em problemas não convexos.
Por outro lado, os algoritmos SBB não lineares partem da premissa de que os
subproblemas NLPs diferem por apenas algumas restrições e, portanto, a solução de
um NLP pode servir como uma boa estimativa inicial para outro NLP, acelerando a
convergência.
É de se esperar que o SBB não linear seja mais eficiente em problemas com
poucas variáveis discretas e com maior não linearidade e não convexidade.

147
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

2WLPL]DomRGH3URFHVVRV'LQkPLFRV

([HPSOR  Para ilustrar o problema de otimização dinâmica, algumas vezes


chamado de otimização em GLPHQVmRLQILQLWD, pois envolve variáveis de decisão que
são funções, considere o sistema abaixo de um reator semi-batelada, com reações
duas exotérmicas:

onde C é o produto de interesse e D é um sub-produto. Iniciando com o reator vazio,


as alimentações de A e B, bem com a taxa de água de resfriamento, estão livres para
variar ao longo da operação. Para um dado reator, com dimensões fixas, o objetivo
operacional pode ser o de determinar o tempo de duração da operação e as taxas de
alimentação de reagentes e água, de modo a maximizar a concentração final de C. O
projeto do equipamento também pode ser parte do objetivo do problema.
Geralmente, quando as variáveis de decisão envolvem somente variáveis
operacionais, o problema é denominado de FRQWUROHyWLPR.
A formulação matemática do processo acima pode ser genericamente
representada por:
) [ W
( ( ), [& (W ) ,\(W),X(W),Y) = 0
onde [(W), [& (W ) são as variáveis diferenciais e suas derivadas em relação a variável
independente, W (geralmente o tempo), \(W) são as variáveis algébricas, X(W) são as
variáveis de controle e Y são os parâmetros invariantes no tempo, a serem
determinados pela otimização. Para o exemplo, X(W) representa as taxas de
alimentação dos reagentes e da água de refrigeração e Y pode ser o volume do reator.
As condições iniciais para este problema podem ser descritas genericamente por:

148
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

, [
( (0), [& (0) ,\(0),X(0),Y) = 0
que juntamente com a forma funcional de X(W) e os valores de Y determinam
completamente a resposta transiente do sistema.

)RUPXODomRGDIXQomRREMHWLYRHUHVWULo}HV

A formulação da função objetivo para um problema de otimização dinâmica pode


estar associada a determinação dos seguintes valores:
• horizonte de tempo da operação, Wù (tempo final);
• parâmetros invariantes no tempo, Y;
• variação temporal das variáveis de controle, X(W), para W ∈ [0, Wù ].
de modo a minimizar (ou maximizar) um funcional Φ(X(W),Y,Wù ). A função objetivo é
um IXQFLRQDO pois depende da escolha da função X(W). No problema do reator semi-
batelada Φ seria a concentração final do produto C e Wù seria a duração da batelada,
resultando no problema de otimização abaixo:
ú max ú Φ = [3(Wù )
W ,Y ,X (W ),W∈[ 0,W ]

sujeito a: ) [ W
( ( ), [& (W ) ,\(W),X(W),Y) = 0
, [
( (0), [& (0) ,\(0),X(0),Y) = 0

onde [3 é a concentração de C.
Se a função objetivo a ser minimizada for a integral de uma função sobre todo
o intervalo [0, Wù ]:
üû

Φ(X(W),Y,Wù ) = ∫ ϕ ([(W), [& (W ) ,\(W),X(W),Y) GW


0

pode-se adicionar ao sistema de equações algébrico-diferenciais do problema, a


seguinte equação:
& = ϕ([(W), [& (W ) ,\(W),X(W),Y)
Φ

com a condição inicial Φ(0) = 0, para ser integrada simultaneamente. Para o caso
particular de Φ
& = 1, tem-se o problema de minimização do tempo de operação, Wù .

Uma formulação mais geral para a função objetivo envolve as duas formas
acima, ou seja:

149
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

üû

Φ(X(W),Y,Wù ) = ψ([(Wù ), [& (W ý ) ,\(Wù ),X(Wù ),Y) + ∫ ϕ ([(W), [& (W ) ,\(W),X(W),Y) GW


0

Dentre as mais variadas formas de restrições adicionais em um problema de


otimização dinâmica, tem-se:
a) Limites nas variáveis de decisão
þ êÞ þ ÿ
Wù ≤ Wù ≤ Wù
þ ÿ
X
min
≤ X(W) ≤ X , ∀ W ∈ [0,Wù ]
þ ÿ
Y
min
≤Y≤Y
b) Restrições terminais
de igualdade: Z(Wù ) = Z
þ ÿ
de desigualdade: Zmin ≤ Z(Wù ) ≤ Z
onde Z representa alguma variável do sistema ([ ou \), ou uma relação 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) Restrições interiores
Aparecem quando algumas variáveis devem estar limitadas em alguns pontos no
interior do intervalo de operação, ou seja:
þ ÿ
Z
min
(W ) ≤ Z(W ) ≤ Z (W )
onde W ∈ [0,Wù ). Como por exemplo, limitar a curva de aquecimento do reator dentro
de uma faixa determinada.
d) Restrições de trajetória
São aquelas restrições que devem ser satisfeitas durante todo o intervalo de
operação, ou seja:
þ ÿ
Z
min
≤ Z(W) ≤ Z , ∀ W ∈ [0,Wù ]
Por exemplo, no reator semi-batelada pode-se impor que a temperatura da reação não
deva ultrapassar um determinado valor para evitar a degradação do produto.

150
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

3ULQFtSLRGR0tQLPRGH3RQWU\DJLQ

Antes de enunciar o princípio do mínimo de Pontryagin, é necessário introduzir os


conceitos do cálculo variacional, que trata da seleção de uma função desconhecida
que aparece no integrando de uma integral que deve ser minimizada ou maximizada
em função desta seleção.
Considere a seguinte integral:

2
6 ( [ ) = ∫ ϕ[W , [ (W ), [& (W )] GW

1

onde [& (W ) é a derivada de [(W) em relação a W. O problema do cálculo variacional


consiste na seleção de [(W) de modo a minimizar (ou maximizar) o funcional 6([).
Supondo que [ (W) é a função que minimiza 6([) e [(W) é uma outra função com uma
diferença infinitesimal de [ (W) em cada ponto dentro do intervalo (W1, W2), define-se:
δ[ = [(W) − [ (W)
como o operador variação, ou seja, a variação de uma função representa uma
mudança infinitesimal arbitrária na função a um dado valor de W. Note que a variação
difere da diferenciação, pois esta última corresponde a uma medida da mudança de
uma função resultante de uma mudança específica (não arbitrária) na variável
independente. A equação acima pode ser escrita como:
δ[ = [(W) − [ (W) = ε φ(W)
onde φ(W) é uma função arbitrária contínua e diferenciável e ε é um parâmetro
variável que tende a zero.
Como o operador variação acarreta uma mudança infinitesimal em uma
função para um valor fixo de W, tem-se:
δW = 0
ou seja, a variável independente não participa do processo de variação. Outra
propriedade importante do operador variação é a comutatividade com os operadores
de diferenciação e integração:
G G G φ G[ G[ G[ * G G φ
δ[ = [ε φ(W )] = ε e δ = − = ( [ − [*) = ε
GW GW G[ GW GW GW GW G[

    
2 2 2 2 2
δ ∫ [ (W )GW = ∫ [ (W )GW − ∫ [ * (W )GW = ∫ [ [ (W ) − [ * (W )]GW = ∫ δ[ (W )GW
    
1 1 1 1 1

151
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Como a condição necessária de primeira ordem para o mínimo local de uma


função, 6([), pode ser interpretada como a existência de um ponto estacionário da
função objetivo, então dentro de uma região infinitesimal em torno deste ponto tem-
se que:
δ6 = 0
Usando a propriedade comutativa chega-se a:

2
δ6 = ∫ δϕ GW

1

onde δϕ = ϕ[[, [& (W ) ,W] − ϕ[[ , [& * (W ) ,W] = ϕ[[* + ε φ, [& * (W ) + ε φ& (W ) ,W] − ϕ[[ , [& * (W ) ,W].
Expandindo ϕ em série de Taylor tem-se:
ϕ[[*+ ε φ(W), [& * (W ) + ε φ& (W ) , W] = ϕ[[ , [& * (W ) , W] + ∇ ϕ[[ , [& * (W ) , W] ε φ(W) + 7
[

∇ & ϕ[[ , [& * (W ) , W] ε φ& (W ) + 2[ε2 φ2(W), ε2 φ& 2 (W ) ]


7
[

que eliminando os termos de ordem 2(ε2), resulta em:


δϕ = ε { ∇ ϕ[[ , [& * (W ) , W] φ(W) + ∇ & ϕ[[ , [& * (W ) , W] φ& (W ) }
7
[
7
[

Para um ponto estacionário tem-se:




( )
2  
δ6 = ε ∫ ∇  ϕ φ + ∇  ϕ φ& GW =0

1

sobre qualquer função arbitrária φ(W). O segundo termo no integrando pode ser
integrado por partes (X = ∇
ϕ e Y = φ), resultando em:
 
2    2 G 
∫ ∇ ϕ φ& GW = [∇  ϕ φ] − ∫ 2 [∇  ϕ] φ GW
  1 GW
1 1

Se a função [(W) é fixada nos contornos, W1 e W2, então φ(W) deve se anular nestes
pontos, pois não pode existir variação de [(W) nos contornos. Deste modo o primeiro
termo da integração por partes é nulo. Para o caso mais geral, onde algum contorno
pode estar livre, as seguintes condições de FRPSOHPHQWDULGDGH devem ser satisfeitas:
∇ & ϕ φ = 0 para
7
[
W = W1 e W = W2

ou seja, se δ6 é para ser zero para todas as variações admissíveis (restritas somente
pela continuidade e diferenciabilidade) então o primeiro termo da integração por
partes deve ser sempre nulo. No caso de existir uma contribuição terminal na função
objetivo:
152
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

6 ( [) = Ψ[ [(W 2 ), W 2 ] + ∫ ϕ[W , [(W ), [& (W )] GW



1

a condição de complementaridade terminal seria:



[∇ Ψ + ∇  ϕ] φ = 0 para W = W2

Substituindo a integração por partes em δ6 = 0, tem-se então:



2
  G


δ6 = ε ∫  ∇  ϕ − [∇   ϕ]  φ GW =0
  GW 
1

Como a equação acima deve ser satisfeita para qualquer função arbitrária φ(W),
contínua, diferenciável e que satisfaça as condições de contorno, então o termo entre
parêntesis deve ser nulo, resultando na equação de (XOHU/DJUDQJH:
G 
∇ ϕ − [∇  ϕ] = 0
GW

([HPSOR Para ilustrar, considere o problema de determinar a curva de menor


comprimento conectando dois pontos no espaço, conforme a figura abaixo.

O comprimento de uma curva conectando os pontos (W1, [1) e (W2, [2) é dado por:
  
( 2) 2
6 ( [) = ∫ GV = ∫ 1 + [& 2 GW

 
( 1) 1

onde ϕ[W , [(W ), [& (W )] = 1 + [& 2 e GV = GW


2
+ G[ 2 que é o comprimento de um
segmento infinitesimal da curva.

153
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Aplicando a equação de Euler-Lagrange para o problema acima, tem-se:


∂ϕ
∇ ϕ = =0
∂[
∂ϕ [
&
∇ &ϕ =
[
=
∂[& 1 + [& 2

G G  ∂ϕ  G
 [
& 
∇ ϕ− [∇ & ϕ] = 0 −  =−  =0
GW  
[ [
GW GW  ∂[
&
 1 + [&
2

[&
ou seja: = constante, o que implica que [& * (W ) = constante. Portanto,
1 + [& 2
como não poderia deixar de ser, o caminho mais curto entre dois pontos é uma reta:
[ (W) = D W + E.

Naturalmente, para assegurar que a função [(W) minimize o funcional 6([), a


condição suficiente de segunda ordem deve ser verificada, que no caso de variações
significa que a segunda variação de 6 deve ser positiva para todas variações
possíveis de [, isto é:
δ26 > 0 , ∀ δ[

que é equivalente a (δ[) ∇ 2 6 (x*) δ[ > 0, ou ainda pela condição de segunda ordem
[

de Legendre:
∇ 2& ϕ( [*, [&*, W ) > 0
[

Aplicando esta condição para o exemplo acima tem-se:


1
∇ 2& ϕ =
[
>0
(1 + [& 2 ) 3 / 2

logo, a solução ótima [ (W) minimiza o funcional 6([).


Retornando ao problema de otimização de sistema dinâmicos, seja então o
problema:


 min  Φ[[(W),X(W),W ] = ψ[[(W ),W ] + ∫ ϕ [[(W),X(W),W] GW


W , [ (W ),X (W ),W∈[ 0,W ] 0

sujeito a: & ( ) = I[[(W),X(W),t] ,


[ W [ (0) = [o

K [(W ),W ] = 0
Introduzindo os multiplicadores de Lagrange associado às restrições chega-se a:

154
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS


[ ( ),X(W),λ(W),η,W ] = ψ[[(W ),W ] + η
/ [ W K [ W
[ ( ),W ] +


∫ {ϕ [[(W),X(W),W] + λ (t) (I[[(W),X(W),t] − [& (W ) )} GW
0

que pode ser dividida em duas funções:



Θ[[(W ),η,W ] = ψ[[(W ),W ] + η K [ W [ ( ),W ] e

Λ[[(W),X(W),λ(W),W] = ϕ[[(W),X(W),W] + λ (t) (I[[(W),X(W),t] − [& (W ) )
resultando no funcional:


[ ( ),X(W),λ(W),η,W ] = Θ[[(W ),η,W ] + ∫ Λ [[(W),X(W),λ(t),W] GW


/ [ W

que ao ser minimizado resulta nas equações de Euler-Lagrange:


" G " " !"
∇ Λ− [∇ Λ ] = 0 = ∇ ϕ + ∇ I λ + λ&
GW

G
∇ ωΛ − [∇ ω# Λ] = 0 ⇒ ∇ ω& Λ = FWH
GW

onde ω& (W ) = X(W), e pelas condições de complementaridade para ω& (W $ ) :


&
[∇ ω Θ + ∇ ω' Λ ] δω% = 0 ⇒ ∇ ω Θ + ∇ ω( Λ = 0 ⇒ ∇ ω) Λ = 0 para W = W

pois ω(W ) é livre (δω ≠ 0) e Θ não depende de ω, chega-se a ∇ ω& Λ = 0 ∀ W, ou seja:

∇ ω& Λ = 0 = ∇ ω& ϕ + ∇ ω& I λ = ∇ ϕ + ∇


7
X
7
X
I λ

Definindo a seguinte IXQomRGH+DPLOWRQ (ou +DPLOWRQLDQR):


*
[ ( ),X(W),λ(W),W] = ϕ[[(W),X(W),W] + λ (t) I[[(W),X(W),t]
+ [ W

então, as condições necessárias de primeira ordem (Euler-Lagrange) descritas acima


são equivalentes a:
& = ∇λ + =
[ I

λ& = −∇ [
+ = −∇ ϕ − ∇
[
7
[
I λ

∇ X
+ = ∇ ϕ+∇ X
7
X
I λ=0

que devem ser resolvidas juntamente com as condições iniciais e finais e as


condições de complementaridade:

155
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

[ (0) = [o
K [ W+ [ ( ),W+ ] = 0
*
[∇ [ W( , )Θ − λ(W+ )] δ[(W+ ) = 0

{+[[(W+ ),X(W+ ),λ(W+ ),W+ ] + ∇ - Θ } δW+ = 0W

A condição de segunda ordem pode ser verificada pela positividade de ∇ 2 + . Este X

conjunto de condições são conhecidos como 3ULQFtSLR GR 0tQLPR GH 3RQWU\DJLQ
(1962), e os multiplicadores de Lagrange, λ(W), são conhecidos como YDULiYHLV
.0/1
min
DGMXQWDV. Para as partes do caminho X(W) sobre as restrições X ou X , vale a
seguinte condição de otimalidade, no lugar de ∇ 2 + = 0 :

[ ( ),X (W),λ*(W),W] ≤ +[[ (W),X(W),λ*(W),W]


+ [ W

para todos as possíveis funções X(W).


Para problemas com restrições de desigualdade do tipo:
[ ( ),X(W),W] ≤ 0 , ∀ W ∈ [0, W+ ]
J [ W

3
onde J ∈ ℜ é duas vezes continuamente diferenciável e o subconjunto de restrições
/
ativas, J , não deve ser maior que o número de variáveis de controle, X, e deve
/
apresentar uma matriz Jacobiana, ∇4 J , de posto completo ∀ W ∈ [0, W+ ]. Exemplos de
restrições de desigualdade que satisfazem estas condições são:
.0/1
X
min
≤ X(W) ≤ X , ∀ W ∈ [0,W+ ]
.0/1
X [[(W),W] ≤ X(W) ≤ X
min
[[(W),W] , ∀ W ∈ [0,W+ ]
.
|X(W)| ≤ X , ∀ W ∈ [0,W+ ]
||X(W)||2 ≤ U2 , ∀ W ∈ [0,W+ ] , U ∈ ℜ
Introduzindo funções de folga ]&(W ) , isto é:
J5 [[(W),X(W),W] + ]& 6 2 (W ) = 0 , L = 1,2,...,S

tem-se o integrando da função de Lagrange na forma:


7 7
Λ[[(W),X(W),λ(W),W] = ϕ[[(W),X(W),W] + λ (t) (I[[(W),X(W),t] − [& (W ) ) + µ (t) (J[[(W),X(W),t] + ]& 2 (W ) )
*
onde o vetor ]& 2 (W ) = [... ]& 6 2 (W ) ...] . Neste caso as equações de Euler-Lagrange são
dadas por:

156
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

: G : : 9: 9:
∇ Λ− [∇ 8 Λ ] = 0 = ∇ ϕ + ∇ I λ+∇ J µ + λ&
GW

G
∇ ωΛ − [∇ ω; Λ] = 0 ⇒ ∇ ω& Λ = FWH
GW

G =
∇< Λ − [∇ < Λ ] = 0 ⇒ ∇ > ? Λ = FWH
GW

De modo análogo às condições de complementaridade para ω(W), que resultam em


∇ ω& Λ = 0 ∀ W, para a função ](W) tem-se:
A
[∇ B Θ + ∇ B C Λ ] δ] @ = 0 ⇒ ∇ D Θ + ∇ D E Λ = 0 ⇒ ∇ F G Λ = 0 para W = WH
logo, ∇ F G Λ = 0 ∀ W e, pela definição de Λ, µ I ]& J = 0, ou ainda µ I JI = 0, L = 1,2,...,S.

Definindo o Hamiltoniano para este caso:


K K
[ ( ),X(W),λ(W),W] = ϕ[[(W),X(W),W] + λ (t) I[[(W),X(W),t] + µ (t) J[[(W),X(W),t]
+ [ W

então o Princípio do Mínimo de Pontryagin (ou condições necessárias de otimalidade


para systemas dinâmicos) é dado por:
& = ∇λ + =
[ I

L L
λ& = −∇ M + = −∇ M ϕ − ∇ M I λ − ∇M J µ
N N
∇O + = ∇O ϕ + ∇O I λ + ∇O J µ=0

µ≥0
Q
∇ 2 + ≥ 0 ∀ {δX | ∇ R
X
J P δX = 0}

juntamente com as condições iniciais, finais e de complementaridade:


[ (0) = [o
K [ WH
[ ( ),WH ] = 0
K
[∇ ( S )Θ
[ W
− λ(WH )] δ[(WH ) = 0

{+[[(WH ),X(WH ),λ(WH ),WH ] + ∇ T Θ } δWH = 0 W

µI JI = 0, L = 1,2,...,S.

157
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

&RQWUROHyWLPR

Analisando inicialmente o problema de controle ótimo para sistemas lineares:


& ( ) = $(W) [(W) + %(W) X(W)
[ W , [ (0) = [o

com a seguinte função objetivo quadrática:


VU

6[[(W),X(W),WH ] =
1
2
[ (W Z ) Y
2 1
+ ∫
20
[ [ W () X
2
V
( )
+ X (W )
2
W V
( )
]
GW

K
≥ 0, ()≥0e ( ) ≥ 0 são matrizes simétricas de pesos.
2
onde [ [ = [  5 [  e 5 4 W : W

Definindo o Hamiltoniano para este problema:


K
1 2 \ 1 2 \
+ [ W
[ ( ),X(W),λ(W),W] = [ (W ) ^
( )
+ X (W ) ]
( )
+ λ [ $ [ + % X]
2 2
então, pelo princípio do mínimo de Pontryagin, tem-se:
& = ∇ λ + = $ [ + % X
[
K
λ& = −∇ _ + = −4 [ − $ λ
K
∇` + = :X + % λ = 0
[ (0) = [o
λ(WH ) = 5[(WH )
que resolvendo para X(W), chega-se a:
K
X = −:−1% λ
K
[ & $ [ − % :−1% λ
gerando um problema de TPBVP (WZRSRLQW ERXQGDU\ YDOXH SUREOHP) para [ e λ,
cuja solução minimiza a função objetivo, pois ∇ 2 + = : > 0, e é um mínimo global X

devido a convexidade do problema. Se a solução λ(W) do problema de TPBVP puder


ser expressa como uma função da solução [(W) em termos de uma transformação
a a
linear 3(W) ∈ ℜ × , isto é, [(W) ser uma base de soluções para λ(W):
λ(W) = 3(W) [(W)
então a solução do TPBVP pode ser facilmente obtida. Para verificar tal
possibilidade, primeiro substitui-se esta dependência nas equações para [& e λ& , e
subtrai-se uma da outra resultando em:
K K
( 3& +3$ + $ 3 − 3% :−1% 3 + 4) [(W) = 0

158
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

que deve ser satisfeita ∀ W, logo como [(W) ≠ 0 então:


K K
3
& = −3$ − $ 3 + 3% :−1% 3 −4
que é uma equação diferencial matricial não linear, conhecida como equação de
5LFFDWLdinâmica, cuja condição de contorno é obtida de λ(WH ) = 5[(WH ), ou seja:

3 WH ( )=5
Fazendo a mudança de variável τ = WH − W, tem-se G τ = −GW e:
K K
& = 3$ + $
3 3 − 3% :−1% 3 +4
3 (0) = 5
Portanto, o problema de TPBVP foi transformado em um problema de valor inicial
de dimensão Q (Q + 1) / 2, pois 3(W) é uma matriz simétrica. Com a solução da
equação de Riccati dinâmica, a lei de controle ótimo quadrático é dada por:
X = −.(W)[ (W)
K
. W ( ) = :(W)−1%(W) 3 W ()
que é independente da condição inicial [o . O sistema dinâmico em malha fechada
pode ser escrito como:
K
& * = ($ − % :−1%
[ 3 [
) = $b [ , [ (0) = [o
K
onde $b (W) = $ − % :−1 % 3 é a matriz característica da dinâmica do sistema
regulado. Observa-se também que o valor ótimo da função objetivo é dado por:
1 d
6 [ X WH
[ , , ]= [c 3 ( 0) [ c
2
onde 3(0) é obtido em W = 0 (τ = WH ). Este resultado pode ser verificado pela equação:
G e e e e
([ 3 [ ) = [& 3 [ + [ 3& [ + [ 3 [ &
GW

que ao substituir as expressões para 3& e [& *, resulta em:


g g g g g
G f −1
([ 3 [ ) = −[ 4[ −[ 3% : % 3[ = −[ 4[−X :X
GW

Integrando a equação acima em [0, Wh ] tem-se:


ji k k
g g
[ (0) 3 (0)[(0) = [(Wh ) ( )[(Wh ) + ∫ ( [
3 Wh 4 [ +X : X GW ) = 6[[(W),X(W),Wh ]
0

pois 3(Wh ) = 5.
159
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Fazendo a integração em [W, Wh ] tem-se:


ji k k
g g
[ W
() 3 W [ W
( ) ( ) = [(Wh ) ( ) + ∫ ([
5[ Wh 4 [ +X : X GW
) ≥0
j

de onde conclui-se que 3(W) é positiva semidefinida.


Para o caso particular de um sistema invariante no tempo, com [$  %]
controlável, Wh = ∞ e matrizes pesos constantes, a lei de controle ótimo pode ser
obtida através da solução da equação de 5LFDWWLHVWDFLRQiULD:
g g
3$ +$ 3 − 3% :−1% 3 +4=0
que pode ser eficientemente resolvida via decomposição em valores característicos
do gradiente do Hamiltoniano associado. Neste caso a matriz de ganhos, ., da lei de
controle é invariante no tempo.
Na maioria dos casos de controle ótimo não linear, é mais eficiente tratar o
problema como uma programação não linear do que utilizar o princípio do mínimo
de Pontryagin, para obter o controle ótimo, X(W). Nestes casos, a escolha da forma das
variáveis de controle toma um aspecto mais de engenharia do que matemático, pois
dependerá da forma com que as ações de controle serão implementadas na prática.
Alguns tipos de variações mais comuns para as variáveis de controle estão ilustrados
abaixo.

160
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

Sendo as duas primeiras mais freqüentemente utilizadas em controle ótimo de


processos.
Para qualquer um dos casos acima, o algoritmo abaixo mostra uma maneira de
solucionar o problema de otimização dinâmica via NLP, conhecida como método da
tentativa-e-erro ou VLQJOHVKRRWLQJ.
algoritmo
1) Escolher um perfil inicial para as variáveis de controle, X0(W), N = 0.
2) Integrar o sistema de equações algébrico diferenciais.
3) Calcular a função objetivo e restrições.
4) Corrigir as variáveis de controle pelo uso de métodos de NLP.
l
5) Verificar a convergência de X (W). Caso não esteja satisfeita N ← N + 1 (ir para 2).
6) FIM.
Outra forma de resolver o problema é através da discretização das equações
diferenciais (ou método de PXOWLSOHVKRRWLQJ) por técnicas de elementos finitos,
diferenças finitas ou aproximação polinomial, gerando um problema algébrico de
programação não linear de elevada dimensão, que também pode ser resolvido por
qualquer método de NLP com restrição.

161
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

([HUFtFLRV

 A figura abaixo representa um extrator onde entram uma solução com uma vazão ) =
104 kg H2O / h e uma concentração [o = 0,02 kg A / kg H2O, e um solvente B puro a uma
vazão : kg B / h a ser determinada. A corrente rafinada sai com uma vazão ) = 104 kg
H2O / h e uma concentração [ kg A / kg H2O e ainda um pouco de solvente B dissolvido
em água. No extrato, a vazão é de : kg B / h e a concentração \ kg A / kg B. Calcular a
vazão ótima : de B.

dados: preço do soluto no extrato: 0,4 $ / kg A

preço do solvente B: 0,01 $ / kg B


solubilidade de B em água: 0,0007 kg B / kg H2O

relação de equilíbrio: \ = N [ (N = 4)

o despejo não tem valor comercial.

critério de desempenho: Lucro = $ soluto extraído - $ solvente utilizado.

 Calcular as vazões ótimas de solvente para o exercício anterior quando dois extratores
em série são utilizados no lugar de apenas um extrator, conforme figura abaixo. Considere a
mesma relação de equilíbrio e a mesma solubilidade de B em água para os dois extratores.

 A figura abaixo representa um trocador de calor em contra-corrente, onde uma corrente


de processo com vazão W1 = 1000 kg / h e temperatura T1 = 200 °C é resfriada a T2 =
100 °C por uma corrente fria a t2 = 60 °C. Calcular a vazão ótima W2 do refrigerante (kg /
162
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

h) bem como a área de troca térmica ótima A (m2). Considerar cp = 1 kcal / kg °C para as
duas correntes e U = 500 kcal / h m2 °C.

dados: investimento do trocador de calor: 3200 (A / 50)0,48 $

custo do refrigerante: 5 x 10-6 $ / kg

custo de manutenção: 2 % do investimento / ano

tempo de operação: 8640 h / ano

critério de desempenho: custo anual = 50 % custo

operacional + 10 % ao ano sobre o investimento

 A figura abaixo representa um sistema de dois trocadores de calor em série, onde uma
corrente de processo com vazão )o = 1000 kg / h e temperatura Wo = 20 °C deve ser
aquecida a W2 = 100 °C por correntes de vapor saturado a 71 = 100 °C e 72 = 120 °C,
respectivamente. Calcular as vazões ótimas :1 e :2 das correntes de vapor (kg / h) bem
como as áreas de troca térmica ótimas $1 e $2 (m2). Considerar FS = 1 kcal / kg °C, 81 =
300 kcal / h m2 °C, 82 = 400 kcal / h m2 °C, λ1 = 500 kcal / kg e λ2 = 600 kcal / kg.

)o, Wo W1 W2
$1 , 81 $2 , 82

:1 , 71 :2 , 72

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 manutenção: 2 % do investimento / ano

tempo de operação: 8640 h / ano

critério de desempenho:

custo anual = 50 % custo operacional + 10 % ao ano sobre o investimento

163
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

 Um reator CSTR converte um reagente A em um produto B através de uma reação


catalítica endotérmica. O catalisador pode ser continuamente injetado no reator e a
temperatura do reator pode ser controlada pela injeção de vapor através de uma serpentina.
Alguma conversão pode ser obtida somente com o aquecimento, sem a adição de
catalisador. Por outro lado, pode-se também obter alguma conversão somente com a adição
de catalisador, sem o aquecimento. O produto B pode ser vendido por R$ 50 / mol de B. O
custo do catalisador (R$ / mol da alimentação) é dado pela expressão:
&
F
= 2 + 10 ;
F
+ 20 ;
2
F

onde ;m é a fração molar de catalisador. O custo do vapor (R$ / mol da alimentação) é dado
pela expressão:
&
V
= 1 + 0,003 6 + 2 × 10 − 6 6
2

onde 6 é a relação de kg de vapor / mol de alimentação. A conversão em termos das


quantidades de catalisador e vapor é dada por:
;
%
= 0,1 + 0,3 ;
F
+ 10 − 4 6 − 10 − 4 ;
F
6

onde ;n é a relação de mol de B / mol de alimentação. Deseja-se saber qual o lucro


máximo deste processo produtivo por mol de alimentação.

 Encontre o mínimo global da função


I ( [ ) = [12 + [ 22 − 3[1 + 15[ 2

sujeito a: ( [ 1 + [ 2 ) 2 − 4 ( [1 − [ 2 ) = 0

164
Otimização de Processos - Prof. Argimiro R. Secchi - CPGEQ/UFRGS

%LEOLRJUDILD%iVLFD

• Optimization of Chemical Processes – T. F. Edgar & D. M. Himmelblau –


McGraw-Hill, 1988.
• Optimization: Theory and Practice – G. S. G. Beveridge & R. S. Schechter –
McGraw-Hill, 1970.
• Applied Nonlinear Programming – D. M. Himmelblau – McGraw-Hill, 1972.
• Nonlinear and Mixed-Integer Optimization: Fundamentals and Applications –
C.A. Floudas – Oxford Press, 1995.
• Systematic Methods of Chemical Process Design – L.T. Biegler, I.E.
Grossmann, A.W. Westerberg – Prentice Hall, Inc., 1997.
• The Variational Method in Engineering – R. S. Schechter – McGraw-Hill, 1967.
• Optimierung – M. Papageorgiou – Oldenbourg Ed., 1996.
• Mathematical Programming. Theory and Algorithms – M. Minoux – John Wiley
& Sons, 1986.
• Programação Não-Linear. Introdução à Teoria e aos Métodos – P. Mahey –
Editora Campus, 1987.

5HIHUrQFLDVFLWDGDV

• Secchi, A.R., Perlingeiro, C.A. (1989), “Busca Aleatória Adaptativa”, LQ 3URF
RI;,,&RQJUHVVR 1DFLRQDO GH 0DWHPiWLFD $SOLFDGD H &RPSXWDFLRQDO, São 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”, -6WDW3K\V, , 187-206.
• Hasan, M., Alkhamis, T., Ali, J. (2000), “A comparison between simulated
annealing, genetic algorithm and tabu search methods for the unconstrained
quadratic Pseudo-Boolean function”, &RPS ,QG(QJ, , 323-340.

165

You might also like