トップQs
タイムライン
チャット
視点

二次計画法

ウィキペディアから

Remove ads

二次計画法(にじけいかくほう、: quadratic programming, QP)は、数理最適化における非線形計画法の代表例の一つであり、いくつかの変数からなる二次関数を線形制約の下で最適化(最小化ないしは最大化)する方法である。二次計画法の対象となる最適化問題二次計画問題という。

問題の定式化

要約
視点

n の変数と m の制約からなる二次計画問題は以下のように定式化することができる[1]

以下を所与とする:

  • 実数値の n 次元ベクトル c
  • nn 列の実数値対称行列 Q
  • mn 列の実数値行列 A
  • 実数値の m 次元ベクトル b

二次計画問題の目的は以下の問題の解となる n 次元ベクトル x を見つけることである。

ここで xT はベクトル x転置を表す。Axb という記法はベクトル Ax の全ての要素が対応するベクトル b の要素より小さいもしくは等しいことを意味する。

関係する最適化問題として、二次制約付き二次計画問題英語版があり、二次制約付き二次計画問題では二次の制約が足されている。

Remove ads

解法

要約
視点

一般の問題について、多様な解法が広く用いられており、例えば

などがある。行列 Q正値定符号ならば、問題はより一般的な凸最適化の領域の特殊ケースとなる。

等式制約

二次計画問題は行列 Q正値定符号であり、等式制約のみを含む時、特に簡単になり、解の過程は線形となる。ラグランジュの未定乗数法を用い、ラグランジアンの極値を探せば、以下の等式制約問題

,
.

の解は次の線形システム

.

の解として与えられることが容易に示される。ここで はラグランジュ乗数の集合で x と共に計算される。

このシステムを解く最も簡単な方法は直接的に問題を解くこと(例えばLU分解)で、問題の規模が小さければ非常に有用である。問題の規模が大きければ、このシステムは特異な難しさに直面する。もっとも重要なのは(Q が正値定符号であったとしても、)問題自体は正値定符号と決してならないことである。そのためうまくいく数値解法を見いだすことは非常に難しいので、問題に依存した様々な方法がある[4]

もしも、制約があまり多くの変数を含んでいなければ、比較的簡単な方法として制約を無条件で満たすように変数を変換する方法がある。例えば、d = 0(非ゼロの場合にも一般化できる)と仮定する。制約方程式を見ると

.

となる。新しい変数として y を以下のように定義する。

.

ここで y の次元は x の次元から制約の数を引いたものである。この時、

.

であり、もし ZEZ = 0 となるように選べば、制約方程式は常に満たされるようになる。このような Z を見つけるということは E零空間を見つけることを意味し、E の構造に依存するが多かれ少なかれ単純である。二次形式に代入すると次の無制約の最小化問題が得られる。

この解は以下で与えられる。

Q についてのある条件の下で、退化した行列 ZTQZ は正値定符号となる。Z の陽な計算を避けた共役勾配法のバリエーションとして書くことも可能である[5]

Remove ads

ラグランジュ双対

要約
視点

二次計画問題のラグランジュ双対はまた二次計画問題となる。これを見るために、c = 0 かつ Q が正値定符号であるケースに着目しよう。ラグランジュ関数は以下のように書ける。

(ラグランジュ)双対関数を とし、 を満たすものとすれば、 という条件と Q の正値定符号性を用いることで、L の下限を見つけることができる。

ゆえに双対関数は

であり、二次計画問題のラグランジュ双対は

となる。ラグランジュ双対理論の他にも他の双対性が存在する(例えばWolfe双対英語版)。

Remove ads

複雑性

正値定符号行列である Q について楕円体法多項式時間で二次計画問題を解くことができる[6]。一方で、Q の符号が不定ならば、二次計画問題はNP困難となる[7]。実際、Q のただ一つの固有値だけが負であったとしても、二次計画問題はNP困難である[8]

二次計画法のソルバーとプログラミング言語

さらに見る 名前, 要約 ...
Remove ads

脚注

参考文献

関連項目

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads