[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
41.1 Functions and Variables for augmented_lagrangian |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
yyは xxの初期推量のリストです。 利用した方法は拡張 Lagrange法です。(文献[1]と[2]を参照してください。)
もしgradが存在するなら、 それは FOMの xxに関するグラディエントであり、 xxの変数それぞれに関する式のリストとして表されます。 もし存在ないなら、グラディエントは自動的に構成されます。
FOMと、もし gradが存在するならその要素それぞれは、 関数名やラムダ式ではなく、通常の式でなければいけません。
optional_args
は
symbol = value
として指定される追加の引数を表します。
認識するオプション引数は以下の通りです:
niter
拡張 Lagrangeアルゴリズムの繰り返しの回数
lbfgs_tolerance
LBFGSに供給される許容誤差
iprint
LBFGSに供給される IPRINTパラメータ(メッセージ出力を制御する2つの整数のリスト)
%lambda
拡張 Lagrangeを計算するために使われる
%lambda
の初期値
この実装は 擬似 Newtonアルゴリズムであるメモリ制限付きBFGS (LBFGS)アルゴリズムを適用することで 拡張 Lagrangeを最小化します。
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) /home/gunter/src/maxima-code/share/lbfgs/lbfgs.mac (%i2) load ("augmented_lagrangian"); (%o2) /home/gunter/src/maxima-code/share/contrib/augmented_lagra\ ngian.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.666659841080023, y = 0.333340272455448], %lambda = [- 1.333337940892518]] |
前と同じ例ですが、今回はグラディエントが引数として供給されます。
(%i1) load ("lbfgs")$ (%i2) load ("augmented_lagrangian")$ (%i3) FOM: x^2 + 2*y^2; 2 2 (%o3) 2 y + x (%i4) xx: [x, y]; (%o4) [x, y] (%i5) grad : [2*x, 4*y]; (%o5) [2 x, 4 y] (%i6) C: [x + y - 1]; (%o6) [y + x - 1] (%i7) yy: [1, 1]; (%o7) [1, 1] (%i8) augmented_lagrangian_method ([FOM, grad], xx, C, yy, iprint = [-1, 0]); (%o8) [[x = 0.6666598410800247, y = 0.3333402724554464], %lambda = [- 1.333337940892525]] |
Categories: Numerical methods · Optimization · Share packages · Package augmented_lagrangian
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by 市川雄二 on October, 5 2017 using texi2html 1.76.