CAPÍTULO 5
EXPERIMENTOS NUMÉRICOS, CONCLUSÕES E
RECOMENDAÇÕES
5.1 EXPERIMENTOS NUMÉRICOS
Para analisar o comportamento do algoritmo foram efetuados vários
experimentos numéricos. Os testes foram realizados em uma SUN workstation
SPARC IPX da UFSC. Os programas foram implementados em linguagem Fortran
77, utilizando precisão dupla.
As funções testes utilizadas foram obtidas em [28]('Testing Unconstrained Optimization', de Moré-Garbow-Hillstron) e em [5] (Testing a Class of Methods for Minimization Problems with Simple Bounds on the Variables', de Conn-Gould-Toint). Entretanto, os testes efetuados por Conn-Gould-Toint eram para problemas de menor dimensão. O número de variáveis consideradas no trabalho desses autores era, no máximo, igual a 45.
Na implementação do algoritmo, os problemas de
minimização sem restrições são considerados
como caso particular do problema
min f(x)
s.a l(i)<=x(i)<=u(i) ,
considerando-se os limitantes l(i) adequadamente pequenos e os limitantes
u(i) suficientemente grandes, para todo i {1,...n}. Foram considerados l(i)
= -104 e u(i) = 104, para quaisquer i
{1,...,n}.
Na maioria dos casos cada função teste foi utilizada inicialmente para resolver um problema de minimização irrestrita, com aproximações das Hessianas tridiagonais e pentadiagonais. Posteriormente, foram acrescentadas restrições canalizadas e resolvido um problema com restriçoes canalizadas, sendo também utilizadas aproximacões das Hessianas tridiagonais e pentadiagonais. As restrições canalizadas são as mesmas propostas por Conn-Gould-Toint [5]:
-100.0<=xi<=100.0 , se i é par, sendo x* o ponto de ótimo obtido no problema sem restrições.
O ponto inicial para o problema com restrições canalizadas é a projeção do ponto inicial do problema de minimização irrestrita na região viável do problema com restrições canalizadas.
Em todos os testes , a aproximação inicial da matriz Hessiana é a matriz Identidade .
Na implementação do algoritmo 2.1 foram definidos os seguintes parâmetros:
,(
),
1
=
2
= 0.5, alfa= 10-4,
= 1, Dk
= I,
10 e
0.5.
O critério principal de parada do algoritmo é que a
norma infinito do gradiente da função objetivo projetado na
caixa seja menor que
10-6. Além disso, o número máximo permitido de
iterações da subrotina principal do algoritmo é 600,
no caso sem restrições, e 300 no caso com restrições.
Outro critério adicional de parada é o seguinte:seja
xc a aproximação da solução x na
iteração corrente; o programa pára se o raio da região
de confiança se torna menor que
10-16 (que
é a tolerância estabelecida
para a região de confiança) e, considerando a direção
da projeção de -f(xc) na região viável
da iteração corrente, não foi possível obter
o decréscimo da função objetivo f estabelecido pela
Condição de Armijo.
Na apresentação dos resultados obtidos
se utiliza a seguinte simbologia:
N : número de variáveis independentes.
:
norma infinito do gradiente projetado da função
objetivo f.
F.O.: valor da função objetivo na solução obtida.
Aval. f: número de avaliações da função objetivo .
Iterações: número de iterações da subrotina principal do algoritmo.
Tempo : tempo de CPU em segundos.
> 600 (na coluna de Iterações):significa que o programa parou por ter atingido o número máximo de iterações permitido no caso sem restrições.
> 300 (na coluna de Iterações):significa que o programa parou por ter atingido o número máximo de iterações permitido no caso com restrições.
# (na coluna do N): significa que o programa parou porque
o raio da região de confiança se tornou menor que a
tolerância estabelecida e não foi possível obter
decréscimo da função na direção da
projeção de -f(xc) na região viável
A seguir são apresentados os resultados
dos testes realizados.
1- Função Estendida de Rosenbrock [5 e 28].
f(x) =
, onde
n é par.
[a]- Minimização sem Restrições:
Valor Ótimo (esperado) da função objetivo: f = 0 em
x* = (1,...,1).
Aproximação inicial: x = (-1.2,1,-1.2,1,...,-1.2,1).
[a.1]- Resultados obtidos com Aproximações de Banda
Tridiagonais:
Tabela 1
[a.2]- Resultados obtidos com Aproximações de Banda
Pentadiagonais:
Tabela 2
[b]- Minimização com Restrições
Canalizadas:
[b.1]- Resultados obtidos com Aproximações de Banda
Tridiagonais:
[b.2]- Resultados obtidos com Aproximações de Banda
Pentadiagonais:
Observação: Para N =1000, o problema foi resolvido com a
aproximação da solução x* obtida
na iteração 600 do problema irrestrito.
2- Função Singular Estendida de Powell ( [5 e 28]).
f(x)=
sendo n um múltiplo de 4.
[a]- Minimização sem Restrições:
Valor Ótimo da função objetivo: f = 0 em x* = (0,...,0).
Aproximação Inicial x = (3,-1,0,1,...,3,-1,0,1).
[a.1]- Resultados Obtidos com Aproximações de
Banda Tridiagonais:
Tabela 5
[a.2]- Resultados Obtidos com
Aproximações de Banda Pentadiagonais:
Tabela 6
[b]- Minimização com Restrições
Canalizadas:
[b.1]- Resultados obtidos com Aproximações de Banda
Tridiagonais:
[b.2]- Resultados obtidos com Aproximações de Banda Pentadiagonais:
Como em [a.2], para N = 100, 200 e 1000, o algoritmo não convergiu
em 600 iterações, para esses valores de N os problemas com
restrições canalizadas foram gerados da seguinte forma: para
N = 100 foi retirada a condição de número máximo
de iterações, e resolvido novamente o problema para o caso
irrestrito com aproximações das Hessianas pentadiagonais; o
ponto de ótimo x* foi obtido na iteração
673, e esse ponto foi utilizado para resolver o problema canalizado. Para
N = 200 e N = 1000 o problema com restrições canalizadas foi
gerado com a aproximação da solução x*
obtido na iteração 600.
3- Função Trigonométrica [28]).
f(x) =
.
Valor Ótimo da função objetivo: f = 0 em x* = (0,...,0).
Aproximação Inicial: x = (1/n,1/n,...,1/n).
[a]- Minimização sem Restrições:
[a.1]- Resultados obtidos com Aproximações de
Banda Tridiagonais:
[a.2]- Resultados obtidos com Aproximações de Banda
Pentadiagonais:
[b]-Minimização com Restrições
Canalizadas:
Obs:Para N = 1000 será utilizado x* obtido
na iteração 600.
[b.1]- Resultados obtidos com Aproximações de Banda
Tridiagonais:
[b.2]- Resultados obtidos com Aproximações de Banda
Pentadiagonais:
4- Função Associada ao Problema de Contorno
Discretizado[28].
f(x) =
,
onde h = 1/(n+1), ti = ih, x0 = xn+1 = 0.
Valor Ótimo da função objetivo: f = 0.
Aproximação Inicial: x = (i) onde i = ti(ti - 1),
i = 1,...,n..
[a.1]- Resultados obtidos com Aproximações de Banda
Tridiagonais:
[a.2]- Resultados obtidos com Aproximações de Banda
Pentadiagonais:
[b]- Minimização com Restrições
Canalizadas:
[b.1]- Resultados obtidos com Aproximações de
Banda Tridiagonais:(Para N = 100 e 200 foram utilizados os resultados obtidos
na iteração 600 em [a.1].
[b.2]- Resultados obtidos com Aproximações de Banda
Pentadiagonais:
5- Função Linear (posto máximo)[28].
f(x) =
.
Valor Ótimo da função objetivo: f = 0 em x* =(-1,-1,...,-1).
Aproximação Inicial: x = (1,1,...,1,1).
[a.1]- Resultados obtidos com Aproximações de Banda
Tridiagonais:
[a.2]- Resultados Obtidos com Aproximações de Banda
Pentadiagonais:
[b]- Minimização com Restrições Canalizadas:
[b.1]- Resultados obtidos com Aproximações de
Banda Tridiagonais para os casos onde houve convergência no caso
[a.1]:
6- f(x) = 2 -
(ver[5])
(Uma generalização do problema 45 de Hock e
Schittkowski).
Restrições: 0 xi i, i 1 i n.
Aproximação Inicial: x = (2,2,...,2).
Valor Ótimo da função objetivo: f = 1 em
x* = (1,2,...,n).
Observação: Para valores maiores de N, o ponto inicial
já satisfaz a condição principal de convergência.
Seria necessário impor que a norma do gradiente projetado fosse menor
do que o utilizado.
7- f(x) =
xTAx , onde x Rn ,
A Rnxn
,A = diag(1,2,...,n).
n = 5000
Aproximação Inicial: x0 = (50,50,...,50).
Valor Ótimo da função objetivo: f = 0 em
x* = (0,...,0).
O objetivo deste teste era comparar o resultado com o resultado obtido pelo algoritmo de Friedlander-Martínez-Santos [17]. No caso de minimização de quadráticas , quando se utilizam as matrizes hessianas verdadeiras , o método de Martínez-Friedlander-Santos converge numa única iteração da subrotina Box (subrotina central do algoritmo).
Com as aproximações das hessianas utilizadas nesse trabalho,o algoritmo convergiu em duas iterações da subrotina Box. Os testes foram realizados com aproximações das hessianas diagonais, tridiagonais e pentadiagonais obtendo os mesmos resultados em todos os casos , com exceção do tempo de execução:
x* = (0,0,...,0,0)
Valor da função objetivo: f = 0
Norma infinito do gradiente projetado :0
Número de avaliações da função objetivo :3
Tempo de execução do Algoritmo:
a) Aproximações de Banda Diagonais:1.69 segundos..
b) Aproximaçoes de Banda Tridiagonais: 2.06 segundos.
c) Aproximações de Banda Pentadiagonais: 2.41
segundos.
5.2 CONCLUSÕES E RECOMENDAÇÕES
O algoritmo se mostrou eficiente para resolver a maioria dos problemas
testados. Mesmo em casos em que não houve convergência alguns
resultados podem ser considerados bons; por exemplo, a Função
Singular Estendida de Powell, com N = 100 e aproximações Hessianas
pentadiagonais (caso [a.2]),não convergiu com o número máximo
permitido de iterações, mas se for relaxado esse critério
de parada se obtém o seguinte resultado: convergência na
iteração 673, com
=9.13d-7, F.O.= 3.72d-8, Aval. f = 6546 e Tempo = 981.2 segundos. A
forma de executar os testes, exigindo que a norma do gradiente projetado
seja menor do que 10-6, foi bastante rigorosa, pois não
permitiu que se declarasse convergência mesmo quando o valor da
função objetivo estava próximo do valor verdadeiro.
Isso foi feito porque em muitos problemas reais não se tem uma estimativa
razoável do valor esperado da f e será necessário esse
tipo de exigência.
A grande vantagem do método é que não se requer o cálculo das Hessianas verdadeiras, e o armazenamento necessário para as aproximações de banda pode ser muito menor, quando se considera N grande e aproximações tridiagonais ou pentadiagonais.
Não foram feitos testes utilizando um número maior de diagonais, e isso deverá ser feito posteriormente; o número de diagonais não nulas acima da diagonal principal é um parâmetro na implementação do método. Os resultados com aproximações diagonais das Hessianas não foram satisfatórios(com exceção da função quadrática do problema 7),o que já era esperado.
Do ponto de vista do usuário a grande vantagem é que é suficiente calcular o gradiente de cada função a ser utilizada. Além disso, depois de sucessivas análises, a maioria dos parâmetros utilizados no algoritmo de Friedlander-Martínez-Santos tem seus valores definidos ou sugeridos.
A desvantagem apresentada pelo algoritmo é que o trabalho computacional aumenta à medida que N cresce, pois nos testes se verificou, em quase todos os casos, que o número de iterações, e principalmente o número de avaliações de f, aumenta quando N aumenta. Provavelmente isso vai depender da complexidade da função objetivo . Com funções quadráticas, que são muito usuais em problemas práticos, o algoritmo convergiu rapidamente, apesar de N ser grande.
Os testes com o algoritmo devem prosseguir, e espera-se fazer uma
análise mais adequada da influência nos resultados do número
de diagonais utilizado. Além disso essas aproximações
de banda para as Hessianas deverão ser testadas num caso mais geral,
em que são utilizadas restrições não lineares.
O algoritmo de região de confiança de
Friedlander-Martínez-Santos foi estendido para esse caso mais geral,
o que permitirá essa análise.
