拡張ラグランジュ関数法
拡張ラグランジュ関数法(Augmented Lagrangian methods)は、制約付き
最適化問題にアプローチするための一つの手法です。この手法は、近似的に無制約
最適化問題に変換することにより、解を見つけることが可能です。具体的には、元の目的関数にペナルティ項を付加し、加えてラグランジュ乗数を用いることで、制約条件を考慮します。
歴史的背景
拡張ラグランジュ関数法は1970年代から1980年代にかけて発展し、最初は「乗数法」として知られていました。1969年にマグナス・ヘステネスとマイケル・パウエルの手により初めてこの手法について議論され、その後、ティレル・ロッカフェラーによってさらなる研究が行われました。特にこの研究は、構造最適化において重要な役割を果たしていました。1982年にはディミトリ・ベルツェカスが彼の著書で、拡張ラグランジュ関数法を非二次正則化関数と関連付けて説明しました。
この数十年の間に、この手法は数値解析のさまざまなライブラリに取り入れられました。その結果、
内点法と逐次
二次計画法(SQP)との関連が明らかになり、これに基づく数理的手法の発展が続いています。
一般的な手法の概要
以下に示すのは、制約付き最適化の一般的な形式です。この問題設定に対して、最小化を行う目的関数が設定され、等式制約が課されます。
$$
\min f(\mathbf{x})
$$
subject to
$$
c_{i}(\mathbf{x}) = 0 \, \forall i \in \mathcal{E}
$$
ここで、\( \mathcal{E} \) は等式制約の集合を示しています。拡張ラグランジュ関数法では、このような制約問題を無制約
最適化問題として扱います。これを実現するために、次のようなペナルティ関数を用います。
$$
\min \Phi_{k}(\mathbf{x}) = f(\mathbf{x}) + \mu_{k} \sum_{i \in \mathcal{E}} c_{i}(\mathbf{x})^{2}.
$$
ここで\( \mu_{k} \) はペナルティ項の係数で、各反復で更新されます。次の反復では、通常より大きな値の\( \mu_{k} \)を設定して問題を再解決します。こうすることで、解の収束性を高めることができます。
拡張ラグランジュ関数法の特徴
拡張ラグランジュ関数法の最大の利点の一つは、元の
最適化問題を解くために、ペナルティ項を無限大にする必要がない点です。このため、比較的小さな\( \mu \)の値を用いても、数値的な安定性が維持されます。加えて、ラグランジュ乗数項が含まれていることから、各反復での改善が期待できます。これにより、大規模な問題に対する適用性も向上しています。
拡張ラグランジュ関数法は不等式制約にも拡張可能です。これは、解法の適応範囲を広げ、多様な
最適化問題に対する有用性を高める要因となります。
ソフトウェア実装
拡張ラグランジュ関数法は、数多くのオープンソース及び商用ソフトウェアで実装されています。その中には、Accord.NET、
ALGLIB、PENNON、MINOS、ALGENCAN、NLOPT、PyProximalなどが含まれます。これらのツールは、研究者や実務者が効率的に
最適化問題を解決するための強力な手段を提供しています。
結論
拡張ラグランジュ関数法は、多様な
最適化問題に対して効果的な手法であり、ペナルティ関数法との相互作用によってその性能が向上しています。今後も、最適化分野での利用が期待される重要な技術の一つとして位置付けられるでしょう。