Definicedilhaões para augmented_lagrangian
==========================================

 -- Funcedilhaão: augmented_lagrangian_method (FOM, XX, C, YY)
 -- Funcedilhaão: augmented_lagrangian_method (FOM, XX, C, YY, args_opcionais)

     Retorna um mínimo aproximado da expressão FOM com relacedilhaão às variáveis XX, mantendo restrito o valor de C a zero. YY é uma lista de suposicedilhaões iniciais para XX. O método utilizado é o método do Lagrangiano aumentado (veja referências [1] e [2]).

     args_opcionais representam argumentos adicionais, especificados como SÍMBOLO = VALOR. Os argumentos opcionais que podem ser colocados no lugar de SÍMBOLO:

     niter
          Número de iteracedilhaões do algoritmo do Langrangiano aumentado

     lbfgs_tolerance
          Tolerância forneceida a LBFGS (Limited-memory, Broyden, Fletcher, Goldfarb, Shanno)

     iprint
          parâmetro IPRINT (uma lista de dois inteiros que controlam o nível de informacedilhaão) fornecido a LBFGS

     %lambda
          valor inicial de %lambda a ser usado durante o cálculo do Lagrangiano aumentado

     Essa implementacedilhaão minimiza o Lagrangiano aumentado pela pela aplicacedilhaão do algoritmo de memória limitada BFGS (LBFGS), que é um algoritmo quasi-Newton.

     load(augmented_lagrangian) chama essa funcedilhaão.

     Veja também lbfgs.

     References:

     [1] http://www-fp.mcs.anl.gov/otc/Guide/OptWeb/continuous/constrained/nonlinearcon/auglag.html

     [2] http://www.cs.ubc.ca/spider/ascher/542/chap10.pdf

     Exemplo:

          (%i1) load (lbfgs);
          (%o1) /home/robert/tmp/maxima-release-branch/maxima/share/lbfgs/\
          lbfgs.mac
          (%i2) load (augmented_lagrangian);
          (%o2) /home/robert/tmp/maxima-release-branch/maxima/share/contri\
          b/augmented_lagrangian.mac
          (%i3) FOM: x^2 + 2*y^2;
                                         2    2
          (%o3)                       2 y  + x
          (%i4) xx: [x, y];
          (%o4)                        [x, y]
          (%i5) C: [x + y - 1];
          (%o5)                      [y + x - 1]
          (%o6)                        [1, 1]
          (%i7) augmented_lagrangian_method (FOM, xx, C, yy, iprint = [-1, 0]);
          (%o7) [[x = 0.6478349888525, y = 0.32391749442625],
                                           %lambda = [- 1.267422460983745]]