B.1.5 半正定値計画問題専用内点法
次の最適化問題
を考えます.ここで,変数は
次元ベクトルで,関数
は目的関数です.また,
は
次元のベクトル値関数です.変数
は
次元対称正方行列で,
は行列
の半正定値制約を意味するものとします.
は
次元ベクトルを対称正方行列空間に写す写像です.問題が線形の場合,
は
と表現しても構いません.
この問題のラグランジュ関数をとして
としたとき,Karush-Kuhn-Tucker(KKT)条件(最適性の一次の必要条件)は次式で与えられます:
ここでは,,
,
であるものとします.
Nuorium Optimizerでは,このKKT条件を満たす点を,Newton法を利用して反復解法で求めます.
線形な半正定値計画問題の場合,大域的収束性は保証されますが,そうでない問題を扱う場合,大域的収束を保証するには,メリット関数を定義する必要があります.
非線形半正定値計画問題を扱う場合,バリヤペナルティ関数:
をメリット関数として採用します.ここで,はバリヤパラメ-タ,
はペナルティパラメ-タ,
は主双対項の度合いを表すパラメータです.
探索方向を求めるNewton方程式は以下のように記述されます.
ここでは,であるものとします.
,
の構造に応じて
を計算する方法は異なります.
修正KKT条件を満たす点を逐次求め反復するという枠組み自体は,一般の非線形用内点法と同等です.Newton方程式を解く際には,探索方向を対称化するため,KSH方向へのスケーリングを行っています.
問題が非凸な場合,大域的収束性を確保するための工夫が必要になります.Nuorium Optimizerでは信頼領域法に基づく方法を利用する場合,大域的収束を保証する方向と,局所的収束に有利な方向を混ぜ合わせて探索方向を決定します.
上に戻る