Previous: Пакет augmented_lagrangian, Up: Пакет augmented_lagrangian [Contents][Index]
Возвращает приближенный минимум выражения FOM по переменным xx, при связях C, равных нулю. yy – список затравочных начальных значений xx. Для нахождения минимума используется метод расширенного лагранжиана (см. [1] и [2]).
optional_args
– дополнительные аргументы,
задаваемые в форме symbol = value
.
Допустимы следующие дополнительные аргументы:
niter
Число итераций алгоритма расширенного лагранжиана
lbfgs_tolerance
Допустимое отклонение для LBFGS
iprint
Параметр IPRINT (список двух целых чисел, которые управляют уровнем вывода) для LBFGS
%lambda
Начальное значение %lambda
для вычисления расширенного лагранжиана
Данная реализация минимизирует расширенный лагранжиан методом BFGS с ограничением памяти (LBFGS), являющимся квази-нюьтоновым алгоритмом.
Команда load("augmented_lagrangian")
загружает данную функцию.
См. также lbfgs
.
Ссылки:
[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
Пример:
(%i1) load ("lbfgs"); (%o1) /maxima/share/lbfgs/lbfgs.mac (%i2) load ("augmented_lagrangian"); (%o2) /maxima/share/contrib/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] (%i6) yy: [1, 1]; (%o6) [1, 1] (%i7) augmented_lagrangian_method(FOM, xx, C, yy, iprint=[-1,0]); (%o7) [[x = 0.66665984108002, y = 0.33334027245545], %lambda = [- 1.333337940892525]]
Previous: Пакет augmented_lagrangian, Up: Пакет augmented_lagrangian [Contents][Index]