You are on page 1of 5

OTIMIZAÇÃO IRRESTRITA: COMPARAÇÃO ENTRE MÉTODOS DE BUSCA UNIDIRECIO-

NAL (BISSEÇÃO E NEWTON) E OTIMIZAÇÃO (NEWTON E QUASE-NEWTON FAMÍLIA NEW-


TON BROYDEN-FLECHER-GOLDFARB-SHANNO)

LEONARDO CANDIDO CORRÊA, OTÁVIO SCHMENGLER.

PPGEE, Departamento de Engenharia Elétrica, UFRGS


Av. Osvaldo Aranha, 103, Porto Alegre - RS - 90035-190 - Brasil
E-mails: leonardo.ee@gmail.com, otaviosch@gmail.com

Abstract This paper aims to evaluate two different methods of one-dimensional search and compare with two optimization
methods for non-linear unconstrained problems. First it’s presented bisection and Newton search that minimize a given tridi-
mensional function. Afterwards, Newton optimized and quasi-Newton Broyden-Flecher-Goldfarb-Shanno family methods are
performed and its results are analyzed and the number of iterations, time taken and precision of each technique are compared.
Matlab® and Gams® are used to verify the reliability of obtained results of those implemented methods.

Keywords Unconstrained optimization, bisection method, Newton method, quasi Newton

Resumo O Presente artigo tem por objetivo avaliar dois métodos diferentes para busca unidimensional e comparar com dois
métodos de otimização irrestrita não linear. Primeiramente são apresentados os métodos de busca por Bisseção e Newton a fim
de minimizar uma dada função. Após, métodos da família de Newton Otimizado e Semi-Newton Broyden-Flecher-Goldfarb-
Shanno são utilizados e seus resultados são analisados e o número de iterações, tempo de execução e precisão de cada método é
comparado. Matlab® e Gams® são utilizados para verificar a confiabilidade dos resultados obtidos com os obtidos pelos métodos
implementados.

Palavras-chave Otimização irrestrita, métodos da bi-seção, método de Newton, Quase-Newton

1 Introdução 2 Métodos de Busca

Os problemas de otimização (PO) estão presen- Considerando o problema geral de otimização não
tes em diversas áreas de conhecimento e têm como linear descrito em (1), onde Ω representa o conjunto
finalidade encontrar soluções ótimas em relação à viável das soluções.
alguns objetivos. Estes problemas são modelados por
uma equação em função das variáveis de decisão, Minimizar f  x ; x 
chamada de função objetivo. (UNESCO 2005) (1)
As variáveis de decisão podem assumir valores Sujeito à xk  n

limitados, discretos e restrições baseados nos recur-


sos disponíveis, tais como mão-de-obra, insumos, Assim, um ponto viável x* é uma solução
capital, ... (UNESCO 2005). Este trabalho aborda PO local do PO se existe uma vizinhança β de x * tal
irrestrita. que f  x *  f  x  , se x * satisfaz a condição
Para obter a solução ótima de um problema de
minimização irrestrita, é necessária a determinação  n
, pode-se afirmar que x * é uma solução glo-
do ponto de mínimo global da FO que representa este bal. (Haeser 2015)
problema. Desta forma, a partir de um ponto inicial,
atribuído aleatoriamente, é possível determinar este 2.1 Condições necessárias de primeira ordem
ponto de mínimo utilizando-se métodos de busca
unidimensional e métodos de otimização (Luenberger Conforme (Haffner 2014), seja  n
e f  C1
and Ye 2008). (possui derivadas de 1ª ordem). Se x * é ponto mí-
Normalmente não é possível resolver problemas nimo relativo (local), então para qualquer direção
de otimização em apenas um passo, assim segue-se factível d em x * ,
alguns métodos para encontrar a solução. (UNESCO
2005)
x f ( x*)T  d  0 (2)
O objetivo deste trabalho é realizar uma avalia-
ção e comparar dois métodos de busca unidimensio-
nal (Bi-Seção e Newton) e dois métodos de otimiza- 2.2 Condições necessárias de segunda ordem
ção (Newton e Quase-Newton Família Broyden-
Fletcher-Goldfarb-Shanno). Para isto, foram desen- Conforme (Haffner 2014), seja  n
e f C2
volvidos e implementados algoritmos no MATLAB®. (possui derivadas de 2ª ordem). Se x * é ponto mí-
nimo relativo (local), então para qualquer direção g  k 
factível d em x * ,
 k 1   k  2  (7)
 g  k 
d T  2x f ( x*)  d  0  2
(3)
(Hessiana semi-definida positiva) Desta forma, o próximo ponto a ser considerado
para a análise, até que xk  x * é dado por (8)
2.3 Métodos de Descida
Os métodos de descida buscam encontrar um menor xk 1  xk  H[ f ( xk )]1 x f ( xk ) (8)
valor de f  x  procurando os pontos xk 1 tal que
2.4 Métodos de Otimização
xk 1  xk    dk (4) Os métodos de buscas tendem a cada passo encontrar
um valor viável melhor, já os métodos de otimização
onde dk é uma direção de descida e é referenciada na têm como objetivo encontrar o mínimo valor da fun-
direção oposta ao vetor gradiente de f  x  no ponto ção objetivo.
xk , α é o tamanho do passo na direção dk. Tornando 2.4.1 Método de Newton
assim, um problema unidimensional no qual se busca
O método de Newton Otimizado baseia-se no Méto-
determinar o tamanho do passo α que minimize
do de busca de Newton aliado ao método da descida,
f  x  , apresentado em (5). (Haffner 2014)
onde o tamanho do passo ak é calculado a cada ite-
ração e adicionado ao cálculo do próximo ponto a ser
Minimizar g k    f  xk    d k  considerado, conforme (9).
Sujeito à   0; (5)
 xk    dk    xk 1  xk  ak  H[ f (xk )]1 x f ( xk ) (9)

2.3.1 Busca Unidimensional Bi-Seção 2.4.2 Quase-Newton Família Broyden-Flecher-


Goldfarb-Shanno (BFGS)
Dado um problema convexo unidimensional no qual
um intervalo [ak bk] é conhecido e nele encontra-se Este método assemelha-se com o método de Newton
um α* (alfa ótimo), o procedimento é excluir suces- Otimizado, com a diferença de que o vetor de direção
sivamente as partes do intervalo que não contém o d é calculado conforme (10) e a matriz Hessiana,
mínimo da função f  x  , avaliando a derivada da iniciada usualmente como a matriz identidade, é cal-
culada conforme (14).
função g   no ponto central λk, definido em (6). Analogamente ao método de Newton otimizado,
um Hk é calculado, porém uma das principais contri-
ak  bk buições da Família BFGS é a dispensa da inversão de
k  (6) matriz, assim diminuindo o esforço computacional do
2
método. BFGS propõe Hk como descrito em (14).
Tal que:
dk 1  Hk f  xk 
 g  k   0  k é a solução;
(10)

 g  k   0  a função é crescente em λk e xk 1  xk  k dk (11)


a solução encontra-se no intervalo [ak λk],
logo αk+1 = αk e bk+1 = λk
pk  k dk (12)
 g  k   0  a função é decrescente em λk
e a solução encontra-se no intervalo [λk bk],
logo αk+1 = λk e bk+1 = bk (Haffner 2014) qk  x f  xk 1  x f  xk  (13)

2.3.2 Busca Unidimensional de Newton  qT H p  p k pTk


H k 1  H k  1  k T k k  T 
O método de Newton minimiza a função g   , a  qk pk  pk qk (14)
qual é obtida através da aproximação quadrática por pk q Hk  Hk pk q
T T
  k k

série de Taylor de g   . qTk p k


O tamanho do passo, neste método, é obtido em
(7).
k1=-1; k2=0; k3=0
3 Problema Proposto 5
5
k1=0; k2=0; k3=0

100
80

A fim de avaliar e comparar o desempenho dos 80


60
métodos de descida e os algoritmos de otimização, 60

x2
0

x2
0
foi proposto em (Haffner 2017) uma função a ser 40
40

minimizada, apresentada em (15). 20


20

As constantes K1, K2 e K3 estão sujeitas as condi-


-5 0 -5 0
ções (16). -5 0
x1
5 -5 0
x1
5

k1=1; k2=0; k3=0 k1 = 0; k2=5; k3=0


5 5

f  x   2x12  x22  K1 x1 x2  4x1  100 80

 x  (15)
80
K2
 K3sen  x1   K3 cos  2 
60
 
1  x  4 x1 x2
60
 2
4 2 2

x2

x2
0 0
1 40

K1  1;0;1 ; 0  K2  5 ;
40
Sujeito à 20
20
(16)
0  K3  5 ; x1 , x2  -5 0 -5 0
-5 0 5 -5 0 5
x1 x1
k1 = 0; k2=0; k3=5 k1 = 0; k2=5; k3=5
3.1 Análise das Constantes K1, K2 e K3 5 90 5 90

80 80

A primeira análise do trabalho avalia o comporta- 70 70

mento de f(x) a fim de definir os valores das constan- 60 60


50
x2

x2
0 0 50
tes Kn, precedente à minimização. 40 40
A Figura 1 diferencia o comportamento da fun- 30 30

ção objetivo f  x  quando as constantes K1, K2 e K3 20 20


10
10
-5 -5
assumem os valores extremos dos intervalos especifi- -5 0
x1
5 -5 0
x1
5

cados. A partir dela, constata-se que a constante K1


produz um giro do paraboloide no sentido x1 à x2 Figura 1. Comportamento da função objetivo f  x  para diferen-
(anti-horário), caso assuma valor positivo; quando K1 tes valores de K1, K2 e K3.
assume valor negativo, o giro é no sentido x2 à x1 k1 = 0; k2=5; k3=5

(horário).
As constantes K2 e K3 à medida que seus valores
são incrementados a função objetivo começa a se 20

tornar côncava. A Figura 2 identifica o comporta- 18

mento de f  x  para condição de K1 = 0, K2 e K3 no 16

14
limite superior de sua restrição, demonstrando sua
f(x1,x2)

12
não convexidade.
10
Além disso, utiliza-se o software Gams® consi-
8
derando K2 e K3 como variáveis e aplicada as restri-
6
ções dadas em (16), analisando seus valores margi- 3
2
nais quando K1 é fixado. Resultando que mesmo va- 1 1
1.5

0
riando os valores de K, o mínimo da função não é -1 0
0.5

-0.5
afetado, Assim adotando os valores de -1, 2,5 e 0,1 -2
-3 -1.5
-1
x2
x1
para K1, K2 e K3, respectivamente, apresentados na
Tabela 1. Figura 2. Comportamento da função objetivo f  x  para K1 = 0,
Tabela 1. Valores das Constantes K1, K2 e K3 de f(x). K2 = 5 e K3 = 5.

Constante Valor Kn
K1 -1,0 Os valores das constantes são escolhidos de mo-
K2 2,5 do que a função objetivo permanecesse moderada-
K3 0,1 mente convexa, tolerando, em uma estreita faixa,
f  x  assumir valores maiores que suas vizinhanças.
O comportamento de f  x  é apresentado na Com isso é possível avaliar a robustez dos métodos
Figura 2, na qual (a) é demonstrada a função objetivo implementados.
k1=-1; k2=2,5; k3=0,1
em curvas de nível e em (b), esta é descrita por um 5

100

gráfico de superfície. 80

60
x2

40

20

-5 0
-5 0 5
x1 (a)
k1=-1; k2=2,5; k3=0,1 4.1 Bisseção
Por exceção, o método da Bisseção não utilizou os
25 pontos iniciais da Tabela 2, pois apresentou baixa
20
eficácia na convergência.
Quando definido a precisão de 1,00E-4 e o ponto
15
inicial xo = [-5, -5] este método convergiu para o pon-
f(x1,x2)

10
to de mínimo global, encontrando um ponto de mí-
5 nimo local e se aprisionando em um ponto de cela.
0 Tabela 3. Bisseção: análise da tolerância
-5
3 a1 b1 xo a2 b2 f(x) x i ε ( )
2
3
1
2
-5 5 [0 ; 0] -5 5 -1,7313 [1,33 ; 0,86] 7 1,00E-01
0
1
-1 0 -5 5 [0 ; 0] -5 5 -1,7314 [1,33 ; 0,85] 11 1,00E-02
-2 -1
x2 -3 -2
x1
-5 5 [0 ; 0] -5 5 -1,7315 [1,33 ; 0,85] 15 1,00E-03
(b) -5 5 [0 ; 0] -5 5 -1,7315 [1,33 ; 0,85] 37 1,00E-10

Figura 3. Comportamento da função objetivo f  x  para K1 = - Tabela 4. Bisseção: análise de convergência.


1,0, K2 = 2,5 e K3 = 0,1. ε ( )
a1 b1 xo a2 b2 f(x) x i
0 10 [5 ; 10] 0 10 -1,7315 [1,33;0,85] 17 1,00E-04
-10 0 [-5 ; -5] -10 0 29,858 [0 ; -0,63] 49 1,00E-04
4 Resultados
-10 5 [-2,5;-2,5] -10 5 -1,7315 [1,33;0,85] 19 1,00E-04

Para avaliar o desempenho dos métodos utiliza- -3 10 [3,5 ; 5] -6 5 -1,7308 [1,33;0,88] 19 1,00E-04
dos na minimização da função objetivo (15) com as
constantes K da Tabela 1 foi determinado um con- 4.2 Newton
junto de pontos próximos utilizados como pontos
iniciais (xo) de busca. Todos os métodos utilizaram os Tabela 5. Newton: análise da tolerância.
mesmos pontos iniciais, apresentados na Tabela 2. xo f(x) x i ε ( )
Tabela 2. Pontos iniciais de busca xoe -1,7315 [1,33 ; 0,85] 4 1,00E-01
xoe -1,7315 [1,33 ; 0,85] 4 1,00E-02
Símbolo Valores de xo xoe -1,7315 [1,33 ; 0,85] 5 1,00E-10
xoa [0 ; 0]
xob [-5 ; 5] Tabela 6. Newton: análise da convergência.
xoc [5 ; -5] xo f(x) x i ε ( )
xod [100 ; 150] xoa -1,7315 [1,33 ; 0,85] 5 1,00E-04
xoe [3 ; 2] xob -1,7315 [1,33 ; 0,85] 4 1,00E-04
xoc -1,7315 [1,33 ; 0,85] 5 1,00E-04
Para cada método implementado foram utiliza- xod -1,7315 [1,33 ; 0,85] 6 1,00E-04
dos os diferentes pontos iniciais da Tabela 2, avali-
ando o número de iterações. O ponto xoe foi empre- 4.3 Otimização por Newton
gado para examinar a precisão do método.
Como o ponto de mínimo de uma função fica lo- Tabela 7. Otimização por Newton: análise da tolerância.
calizado em um ponto de derivada zero, optou-se por
utilizar o módulo do gradiente da função no ponto xk xo f(x) x i ε ( )
como critério de parada. Em todos os métodos foram xoe -1,7315 [1,33 ; 0,85] 3 1,00E-01
efetuadas duas análises: uma avaliando o número de xoe -1,7315 [1,33 ; 0,85] 3 1,00E-02
iterações para precisões de 1,00E-01, 1,00E-02 e a xoe -1,7315 [1,33 ; 0,85] 4 1,00E-09
máxima precisão obtida; a segunda avalição utiliza o Tabela 8. Otimização por Newton: análise da convergência.
ponto inicial xoe para a precisão de 1,00E-04.
Em adição, a fim de validar os métodos imple- xo f(x) x i ε ( )
mentados, foi feita a simulação com duas funções xoa -1,7315 [1,33 ; 0,85] 4 1,00E-04
pré-programadas do Matlab®: a fminsearch (que ba- xob -1,7315 [1,33 ; 0,85] 4 1,00E-04
seia-se em métodos de busca unidimensional sem xoc -1,7315 [1,33 ; 0,85] 4 1,00E-04
derivadas) e o fminunc (que baseia-se no método xod -1,7315 [1,33 ; 0,85] 5 1,00E-04
Quase-Newton com derivadas) utilizando os pontos
da Tabela 2. Ainda, foi utilizado o software Gams® e
comparado o desempenho utilizando os solvers co-
nopt e minos.
4.4 Otimização Quase-Newton BFGS 4.8 Comparativo entre os métodos

Tabela 9. QN-BFGS: análise da tolerância. Tabela 14. Comparativo entre os métodos.

xo f(x) x i ε ( ) Método BS N NO QN-BFGS


xoe -1,7311 [1,33 ; 0,87] 4 1,00E-01 xo [10;15]
xoe -1,7315 [1,33 ; 0,85] 5 1,00E-02 ε ( ) 1,00E-10
xoe -1,7315 [1,33 ; 0,85] 8 1,00E-10 i 39 6 5 8
t (s) 0,0038 0,0083 0,5488 1,1899
f(x) -1,7315 -1,7315 -1,7315 -1,7315
Tabela 10. QN-BFGS: análise da convergência.
(x1,x2) (1,33;0,85) (1,33;0,85) (1,33;0,85) (1,33;0,85)
xo f(x) x i ε ( )
xoa -1,7315 [1,33 ; 0,85] 6 1,00E-04 Todos os testes e simulações foram feitas na ver-
xob -1,7315 [1,33 ; 0,85] 5 1,00E-04 são 2011a do Matlab® em um computador AMD
xoc -1,7315 [1,33 ; 0,85] 6 1,00E-04 FX™ - 8320 8-Core 3.5 GHz com 8 GB de RAM e
xod -1,7315 [1,33 ; 0,85] 6 1,00E-04 rodando com Windows 10 x64.
A Figura 4 apresenta a trajetória percorrida para
4.5 Matlab® “fminsearch” cada método.

Tabela 11. Função fminsearch: Teste de convergência.


5 Conclusão
xo f(x) x i ε ( )
xoa -1,7315 [1,33 ; 0,85] 70 1,00E-04
Com este trabalho, pode-se ter uma melhor visão
xob -1,7315 [1,33 ; 0,85] 50 1,00E-04
da convergência e da precisão dos diferentes métodos
xoc -1,7315 [1,33 ; 0,85] 54 1,00E-04
de busca e otimização, levando-se em consideração o
xod -1,7315 [1,33 ; 0,85] 52 1,00E-04
número de iterações necessárias e o tempo de execu-
ção de cada um.
4.6 Matlab® “fminunc” Todos os métodos implementados foram valida-
dos com os resultados obtidos pelas funções pré-
Tabela 12. Função fminunc: Teste de convergência. definidas do Matlab®, onde pode-se avaliar que o
método que não utiliza derivadas (Tabela 11) neces-
xo f(x) x i ε ( ) sita de mais iterações do que o método que utiliza
xoa -1,7315 [1,33 ; 0,85] 6 1,00E-04 (Tabela 12).
xob -1,7315 [1,33 ; 0,85] 6 1,00E-04 Também, pode-se aferir que o método da bisse-
xoc -1,7315 [1,33 ; 0,85] 9 1,00E-04 ção não apresenta uma convergência tão boa quanto
xod -1,7315 [1,33 ; 0,85] 4 1,00E-04 os outros 3. Além disso, utiliza mais iterações para se
chegar ao mesmo resultado, embora utilize cálculos
4.7 GAMS® solver conopt e minos mais simples e, por consequência, exige menos esfor-
O tempo, em segundos, utilizado do CPU para a exe- ço computacional, conforme mostrado na Tabela 14.
cução do programa é apresentado na coluna t(s). Notou-se, também, que os métodos com otimiza-
ção mostrados possuem melhor convergência para
pontos mais distantes do mínimo da função. Entretan-
Tabela 13. Resolução no Gams: Teste de convergência. to, por utilizarem funções para resolução de polinô-
Solver f(x) x t(s) i mios demandam de mais tempo de processamento
conopt -1,7315 [1,33 ; 0,85] 0,000 10 computacional.
minos -1,7315 [1,33 ; 0,85] 0,000 6
Referências Bibliográficas

UNESCO, (2005). Water Resources Systems Plan-


ning and Management, ISBS 92-3-103998-9
Luenberger, D. G. and Ye, Y. (2008). Linear and
Nonlinear Programming, 3rd edition, Springer
G. Haeser, Condições de otimalidade de primeira e
segunda ordem em otimização não linear,
Instituto de Matemática e Estatística,
Universidade de São Paulo, 2015
Haffner S., (2014), Notas de Aula – iom02 –
Otimização Irrestrita: Fundamentos.
Haffner S., (2017), Trabalho 1 – Otimização
Irrestrita.
Figura 4. Trajetória dos métodos implementados.

You might also like