Estimativa da Hessiana Esparsa
Modificação da Matriz K-K-T durante a Fatorização
Métodos de Busca Linear e Métodos de Região de Confiança
Método de Resolução de Sistemas Lineares Simétricos Esparsos Indefinidos
Linguagens para Implementação dos "Software"
Entrada e Saída Amigável de Dados
Este artigo tem como objetivo informar as tendências do desenvolvimento de novos "software" para resolver problemas de otimização não linear de grande porte restritos e esparsos. Aqui abordaremos alguns aspectos importantes do desenvolvimento destes "software". As principais partes dos mesmos são:
Descreveremos também alguns "software" já existentes no mercado.
Existem vários "software" para resolver problemas restritos de otimização não-linear esparsos de grande porte. Estes "software" estão sendo constantemente melhorados tanto no método como na técnica de implementação. Isto significa que todos estes "software" estão sujeitos a ser constantemente superados por outros. Exemplos destes tipos de "software" são: LANCELOT [Conn et al. 1992]
[1] e [Conn et al. 1993] [2] desenvolvido em conjunto pelos seguintes três instituições: IBM-Watson Research Centre nos EUA, Rutherford Appleton Laboratory na Inglaterra e Facultés Universitaires de Namur na Bélgica; MINOS baseado no Simplex [Murtagh & Saunders 1995] [3] e [Murtagh & Saunders 1976] [4] desenvolvido pelo Department of Operational Research of Stanford University nos EUA; BOX [ Friedlander et al. (1994) ] [5] para resolver problemas com restrições caixas (isto é problemas com variáveis restritas) o qual foi desenvolvido pelo DMA-IMECC- UNICAMP, Campinas-SP, Brasil; e finalmente o OPTIMA [Bartholomew-Biggs 1989] [6] desenvolvido pelo Numerical Optimisation Center, University of Hertfordshire. Um dos programas do OPTIMA, o OPALQP foi melhorado e adaptado para resolver problemas de grande porte esparso durante o desenvolvimento da tese [Hernández 1995] [8]e outros "software" estão descritos em [Moré & Wright 1993]. [9]Recentemente o Optimization Technology Center do Argonne National Laboratory e a Northwestern University, USA [Fourer et al. (1996) ] [7] , vêm desenvolvendo o NEOS, um "software" para resolver problemas de otimização através da INTERNET ou E-MAIL.
Para que seja possível o desenvolvimento de "software" competitivo, faz-se necessário uma pesquisa intensa na análise dos métodos, na implementação computacional, nos tipos de testes e nas comparações com os melhores já existentes.
Os problemas resolvidos por estes "software" podem ser colocados na forma
Minimize F(x)
sujeito a gi(x)=0 para i = 1,...,m' onde m'
>=0 m' 0
hj(x) >= 0 para j = m'+1,...m
onde m >= m' ,
onde F é uma função escalar de várias variáveis x (x é um vetor), chamada de função objetivo e g e h são funções escalares também de x, as quais são as restrições. Para que este problema seja de Otimização não Linear, F deve ser não linear, as outras funções podendo ser lineares ou não.
Métodos iterativos são os mais apropriados para resolver este tipo de problemas. Os mais usados são do tipo Programação Quadrática Sequencial (SQP), nos quais para cada iteração se forma e resolve um subproblema de otimização quadrática. A sequência de cálculos efetuados em cada iteração na maioria dos métodos são as seguintes:
Para mais detalhes, ver [Fletcher 1987] [11] e [Gill et al. 1982] [12]. Os passos 3 e 4 são os mais caros computacionalmente, tanto em tempo de execução como no armazenamento dos dados. As pesquisas atuais neste campo visam reduzir estes custos mantendo ou aumentando a precisão dos cálculos. Para isso, se fazem necessário os seguintes requisitos:
As derivadas devem ser calculadas com eficiência, tanto na rapidez como na precisão.
Se usar a estimativa da Hessiana, esta deve ser o mais aproximada possível da Hessiana exata, de maneira que ao calcular a direção de busca esta deve ser a mais adequada possível. A estimativa da Hessiana é iniciada com uma matriz positiva ou negativa (dependendo do problema) definida e vai se atualizando a cada iteração conservando a positividade ou negatividade definida para obtermos uma direção de busca razoavelmente adequada.
Se usar a Hessiana exata e se é previsto que a direção de busca pode não ser adequada, a perturbação da Hessiana deve ser mínima possível para se obter uma boa direção de busca.
Aproveitar o máximo possível da esparsidade das matrizes K-K-T.
Ter eficiência na resolução do sistema linear levando em conta rapidez, esparsidade
(se é o caso) e precisão.
Levando em conta os requisitos ditos acima os tópicos são os seguintes:
Diferenciação Autoámtica (Também chamada de diferenciação aritmética)É um método para calcular computacionalmente gradientes e Hessianas de funções. Diferenciação automática é mais preciso e rápido do que os métodos numéricos comuns de derivação e também até mais rápido do que as derivadas feitas manualmente e fornecidas para o programa.
Este tópico tem despertado bastante interesse devido às vantagens e às suas inúmeras aplicações, sendo uma delas a resolução de problemas de otimização. Ver por exemplo [Griewank 1988]
[13]e [Dixon 1993] [14].Existem alguns "software" de diferenciação automática já
disponíveis no mercado (www, ftp ou e-mail) para ser incorporado a "software"
de otimização. O Laboratório Argonne [Fourer et al. (1996)] [7a] tem desenvolvido dois; o ADIFOR,
implementado em FORTRAN 77 e que fornece as primeiras derivadas, e o ADOL-C desenvolvido
em C/C++ e que fornece as derivadas de ordem arbitrária. O Rutherford Appleton Laboratory
[Duff 1995] [15]desenvolveu
o HSL_AD01 o qual fornece as primeiras e segundas derivadas.
A Hessiana estimada é iniciada como uma diagonal ou tridiagonal a qual é armazenada
em vetores e as atualizações também são armazenadas em vetores. Durante o processo
iterativo somente as últimas atualizações são armazenadas. As vantagens deste método
são a economia no armazenamento na memória e também no número de operações, visto
que nos métodos tradicionais quasi-Newton, as Hessianas estimadas são não-esparsas. Ver
por exemplo [BYRD et al. 1994] [16]e [Hernández 1995] [8a].
Atualiza-se a Hessiana levando-se em conta a esparsidade da matriz Hessiana usando métodos quasi-Newton. A vantagem destes métodos é de se obter a estimativa da Hessiana conservando-se a esparsidade. Este método não foi bem sucedido, até quando Fletcher [Flecher 1992]
[17]reformulou o trabalho de Toint [Toint 1977] [18], dando um novo impulso a esta linha de pesquisa.Outra linha de pesquisa é o uso do método Quasi-Newton particionado. Se as funções
objetivo e restrições podem ser separadas em grupos parciais ("group partial
separability") no processo de atualização da Hessiana estimada, consideram-se
separadamente as Hessianas de cada grupo parcial de funções. Estas Hessianas normalmente
são pequenas fazendo com que a Hessiana estimada a partir do Lagrangeano seja esparsa.
Este método foi implementado em LANCELOTE ver [Conn et al. 1992] [1a].
Modificação da Matriz K-K-T durante a Fatorização
Seja
H AT
K-K- T =
A D
onde H é a Hessiana do Lagrangeano, A é a matriz
jacobiana e D pode ser matriz diagonal ou nula dependendo do método usado. Nos
métodos tradicionais, normalmente antes de formar a matriz K-K-T, verifica-se se
H é positiva definida, se não adicionam-se valores na diagonal de H
forçando-a a ser positiva definida como em [Hernandez 1995] [8b] e [Schnabel & Eskow 1988] [26]. Neste caso, como a
Hessiana (ou sua aproximação) é positiva definida, obtém-se uma direção de busca
adequada. Quando a Hessiana (ou sua aproximação) é positiva definida, isto garante a
positividade definida da Hessiana reduzida. Por outro lado, para se obter uma direção de
busca adequada basta que a Hessiana reduzida (ou sua aproximação) seja positiva definida
e não a Hessiana (ou sua aproximação). Recentemente (ver [Fosgren & Murray 1993] [19], [Arioli et al.
1992] [20]e
[Hernández 1995] [8c])
têm-se desenvolvido técnicas baseadas no esquema: durante a fatorização da matriz
K-K-T, identifica-se se a Hessiana reduzida é ou não positiva definida; se não, no
processo de fatorização, adicionam-se valores na submatriz que ainda tem de ser
fatorada, usando-se uma determinada regra para que a Hessiana reduzida (ou sua
aproximação) se torne positiva definida e continue a fatorização. Estas últimas
técnicas são uma tentativa de reduzir a perturbação introduzida na matriz K-K-T
ou H.
Os métodos podem ser divididos em dois tipos Região de Confiança e Busca Linear. Os métodos de região de confiança demandam que o passo esteja dentro de um raio de confiança e os de busca linear demandam que a busca seja ao longo de uma direção de descida para a F(x) (função objetivo).
Atualmente se inverte tanto no métodos de região de confiança como no de busca linear. Exemplo de "software" que usam métodos de região de confiança são LANCELOTE e BOX e que usam método de busca linear são OPALQP e MINOS .
Problemas com "Simple Bounds" (variáveis restritas)Quando o problema possui variáveis restritas, podemos usar funções penalidade ou "Barriers". Os valores destas funções são adicionados somente na diagonal da Hessiana, evitando a adição de elementos não-zeros (fill-in's ) fora da diagonal, ver [Conn et al. 1992]
[1b].Outros métodos que podem ser usado são o de região de confiança como em BOX e o de
Ponto de Cauchy Generalizado ("Generalized Cauchy Point") como em
LANCELOT.
Recentemente tem surgido a tentativa de usar métodos de ponto interior para problemas
não lineares gerais de otimização como foi apresentado por [Sargent (1996)] [21] e [Forsgren et al.
(1996)] [10]os
quais tem obtidos bons resultados. Na versão futura ou segunda versão do LANCELOT [Conn
et al. (1996) ] [22]os
autores estão se concentrando em métodos de ponto interior para suprir algumas
deficiências da versão atual (primeira versão).
Método de Resolução de Sistemas Lineares Simétricos Esparsos Indefinido
Como as matrizes K-K-T sempre são simétricas indefinidas em problemas
restritos, faz-se necessário o uso de "software" robustos e eficientes
para resolver sistemas lineares com estas características. Podem-se usar métodos
iterativos mas [Conn et al. 1993] [2a] recomenda usar métodos diretos
baseados em técnicas especiais para resolver estes tipos de sistemas, como em [Duff et
al.. 1991] [23].
Um dos melhores "software" no mercado no momento com este fim é o MA47,
a versão mais recente do MA27 (subrotina da Harwell Library) desenvolvida pelo Rutherford
Appleton Laboratory, ver [Duff & Reid 1982] [24] e [Duff & Reid 1995] [27]. Destes "software"
já existentes devem-se extrair os conhecimentos e construir um exclusivo de melhor
qualidade.
Linguagens para Implementação de "Software"
Estes "software" podem ser implementados em linguagens C++ ou FORTRAN
77 mas como já existem versões mais recentes de FORTRAN, o FORTRAN 90 ou 95, e
futuramente FORTRAN 2000, como descrito por [Reid,J.K.(1995)] [25], é fortemente recomendado fazer as
novas implementações em FORTRAN 90, ou em versões mais recentes do FORTRAN .
Entrada e Saída Amigável de Dados
Uma das dificuldades dos usuários destes "software" disponíveis no
mercado é a dificuldade em introduzir os dados de entrada e reconhecer os dados de
saída. Cabe a nós construtores de "software" desenvolver um programa
para facilitar a interação do usuário e o "software". O Laboratório
Argonne [ Fourer et al. (1996)] [7b] vem desenvolvendo um programa, o AMPL,
para entrada e saída de dados amigável e adaptável a qualquer "software"
de otimização, basta programar uma interface entre este e eles. Uma versão deste "software"
está disponível por www, ftp ou e-mail para qualquer usuário ou
construtor de "software".
Para que um "software" seja confiável, este tem que se submeter a
inúmeros testes. Mas não é fácil encontrar problemas testes disponíveis. A equipe que
desenvolve o pacote LANCELOT,disponiilizou uma coleção de mais de quinhentos problemas
testes, o CUTE , acessível em www, ftp ou e-mail. Os problemas
estão em formato de entrada para o LANCELOT. Para que este seja utilizado para testar o
seu "software", basta construir uma interface entre o CUTE e o seu "software".
O Laboratório Argonne [Fourer et al. (1996)] [7c] também está desenvolvendo um pacote
de problemas testes no formato AMPL.
É vasta a aplicabilidade destes "software". Exemplos típicos são a análise do equilíbrio e crescimento econômico, fluxo ótimo de cargas em redes de distribuição de energia elétrica, otimização das dimensões de dispositivos eletromagnéticos, otimização de arranjos de antenas em telecomunicações, etc.
Levando em conta os tópicos de pesquisa descritos acima, o nosso objetivo é aprimorar os algoritmos já existentes e criar novos algoritmos para o desenvolvimento de novos "software" competitivos no mercado internacional. Hoje em dia com a INTERNET podemos acessar centros de pesquisas e verificar o que há de mais recente, o que já foi feito e o que está por fazer. Existem também vários artigos e "software" disponíveis na INTERNET para ajudar na pesquisa e construção de novos algoritmos e "software". Cabe ao pesquisador e/ou construtor de "software" ficar informado para decidir onde e como contribuir para o desenvolvimento desta área.
6 Bartholomew-Biggs, M., OPTIMA User's Guide, Numerical
Optimisation Centre, Hatfield Polytechnic, 1989.
16 Byrd, R. H., Lu, P., and Nocedal, J., Representations
of Quasi-Newton Matrices and Their use in Limited Memory Methods, Mathematical
Programming 63, 129-156, 1994.
1 Conn, A. R., Gould, N. I. M., and Toint, Ph. L.,
LANCELOT: A Fortran Package for Large Scale Nonlinear Optimization, Springer Series
in Computational Mathematics No. 17, Springer-Verlag, 1992.
2 Conn, A. R., Gould, N. I. M., and Toint, Ph. L.,
Numerical Experiments with theLANCELOT Package (Release A) for Large-Scale
Nonlinear Optimization. Reseearch Report RC 18434, IBM T. J. Watson Research Center,
Yorktown Heights, USA, 1993.
22 Conn, A. R., Gould, N. I. M., and Toint, Ph. L.,,
Planning the Second Version of LANCELOT, Fifth SIAM Conference on Optimization,
Victoria, British Columbia, Canada, May 1996.
14Dixon, L. C. W.,Methods for Automatic
Differentiation, presented at "Algorithms for Continuous Optimization: the state of
the art", Il Ciocco, September 1993.
15Duff, I. S., Numerical Analysis Group Progress
Report, Technical Report RAL- TR-96-015, March 1996.
24Duff, I. M., and Reid, J. K., MA27 - A Set of
Fortran Subroutines for Solving Sparse Symmetric Sets of LInear Equations, Tech. Rep.
AERE-R-10533, AERE, Harwell, 1982.
27Duff, I. M., and Reid, J. K., MA47 - A Fortran
Code for direct Solution of Sparse Symmetric Linear Equations, Tech. Rep. RAL-95-001,
AERE, Harwell, 1995.
23Duff, I. S., Gould, N. I. M., Reid, J. K., Scott, J. A. ,
and Turner, K.,
11Fletcher, R.,Optimization in Practice, John
Wiley, 1987.
17Fletcher, R., An Optimal Positive Definite Update
for Sparse Hessian Matrices, Report NA/145, Department of Mathematics, University of
Dundee, 1992.
19Forsgren, A. L., and Murray, W., Newton Methods
for Large- Scale Linear Equality Constrained Minimization, SIAM Journal on Matrix
Analysis and Applications, 14, pp. 560- 587, 1993.
10Forsgren, A. Gill, Ph.E. and Shinnerl, J.R., Interior
methods for Large-Scale Nonconvex Optimization, Fifth SIAM Conference on Optimization,
Victoria, British Columbia, Canada, May 1996.
7Fourer, R., Moré, J. J. and Wright, S.J. ,
Optimization: Algorithms, Software, and Environments, SIAM Short Course 1, Fifth SIAM
Conference on Optimization, Victoria, British Columbia, Canada, May 1996.
5 Friedlander, A., Martínez, J.M. and Santos, S.A., A
new Trust Region Algorithm for Bound Constrained Minimization, Applied Mathematics &
Optimization, 30, pp 235-266 1994.
12 Gill, P.E., Murray W., and Wright, M. H.,
Practical Optimization, Academic Press, 1982.
13 Griewank, A., On Automatic Diferentiation,
Mathematics and Computer Science Division, Argonne National Laboratory, Technical Report
ANL/MCS-P10-1088, November 1988.
8Hernández, M. de F.G., Algorithms for Large Sparse
Constrained Optimisation, Ph.D. Thesis, Numerical Optimization Centre, University of
Hartfordshire , January 1995.
9Moré, J. J., Recent Developments in Algorithms and
"software" For Trust Region Methods, Mathematical Programming: The
State of the Art, Ed. by Bachem, A. et al., Springer- Verlag, Bonn, 1982.
3 Murtagh, B. A., and Saunders, M. A., Nonlinear
Programming for Large, Sparse System, Tech. Rep. SOL76-15, Department of Operations
Research, Stanford University, Stanford, USA, 1976.
4Murtagh, B. A., and Saunders, M. A., MINOS 5.1
User's Guide, Tech. Rep. SOL83-20R, Department of Operations Research, Stanford
University, Standford, USA, 1987.
25Reid, J.K., Exception Handling in Fortran, ACM
FORTRAN Forum,14,9-14,1995.
26Schnabel, R. and Eskow, E., A New Modified
Cholesky Factorization, Report CCU-CS-415-88, University of Colorado, 1988.
21Sargent, R.W.H. , A New SQP Algorithm for
Large-Scale Nonlinear Programming, Fifth SIAM Conference on Optimization, Victoria,
British Columbia, Canada, May 1996.
18Toint, Ph. L., On Sparse and Symmetric Updating
Subject to a Linear Equation, Mathematics of Computation, 31, pp. 954-961,
1977.
Marli de Freitas Gomes
Hernández
DMA-IMECC-UNICAMP, CP 6065,
13083-970 Campinas, São Paulo, BRASIL
E-mail: marli@ime.unicamp.br
<-- Transporte do texto em Word.6 (marli.doc)
^
^
Transporte do texto em PostScript (compactado: marli.ps.Z)
Transporte do texto em PostScript (marli.ps) -->