二次計画法のアルゴリズム
二次計画法の定義
二次計画法は線形制約に従って,二次関数を最小化するベクトルxを見ける問題です。
(1)年代trong>
A·x≤b, Aeq·x = beq, l≤x≤u年代pan>が条件になります。
年代ect我on>
interior-point-convexquadprogアルゴリズム
interior-point-convexアルゴリズムは以下の手順を実行します。
メモ年代trong>
アルゴリズムには2のコドパスがあります。一方はヘッセ行列Hが通常(フル)の双行列の場合に使用され,もう一方はHがスパース行列の場合に使用されます。スパスデタ型の詳細にいては,スパ,ス行列 を参照してください。一般に,hを稀疏的として指定すると,アルゴリズムは,比較的非ゼロの項が少ない大規模な問題の場合により高速になります。同様に,hを完整的として指定すると,アルゴリズムは,小規模または比較的密な問題の場合により高速になります。
<年代ect我on itemprop="content">
解決の前処理と後処理
このアルゴリズムは,まず重複を取り除き制約を単純化することで問題を単純化しようと試みます。解決の前処理のステップで実行されるタスクには,次のようなものがあります。
範囲の上限と下限が等しい変数があるかどうかをチェックする。見かった場合はその実行可能性をチェックし,修正してからそれらの変数を削除する。
含まれている変数が1だけの線形不等式制約があるかどうかチェックする。見かった場合はその実行可能性をチェックした後,線形制約を範囲に変更する。
含まれている変数が1だけの線形等式制約があるかどうかチェックする。見かった場合はその実行可能性をチェックし,修正してからそれらの変数を削除する。
ゼロの行を含む線形制約行列があるかどうかチェックする。見かった場合はその実行可能性をチェックした後,それらの行を削除する。
範囲制約と線形制約に矛盾がないか判断する。
目的関数内の線形項としてのみ含まれ,どの線形制約にも含まれない変数があるかどうかチェックする。見つかった場合はその実行可能性と有界性をチェックした後,それらの変数を修正して適切な範囲制約を設定する。
線形不等式制約があれば,スラック変数を追加して線形等式制約に変更する。
アルゴリズムは,実行不可能または非有界の問題を検出した場合,停止して適切な終了メッセージを表示します。
アルゴリズムgydF4y2Baが単一の実行可能点を得るような場合,これは解を表しています。
アルゴリズムgydF4y2Baが解決の前処理のステップで実行不可能または非有界の問題を検出しなかった場合,および解決の前処理が解を生成しなかった場合,そのアルゴリズムは次のステップに進みます。停止条件に到達すると,アルゴリズムは元の問題を復元し,解決の前処理による変更を元に戻します。この最終ステップが解決の後処理ステップです。
詳細はgydF4y2Ba,古尔德およびToint[63] を参照してください。
年代ect我on>
初期点の生成
アルゴリズムの初期点x0 は次のように決定されます。
x0を的(n, 1) に初期化します。n はh内の行数です。
上限乌兰巴托 と下限磅 の両方をも要素の場合,x0 の要素が厳密に範囲内にないときには,その要素は(ub + lb)/2 に設定されます。
要素の範囲制約が1つだけの場合は,必要に応じて要素に変更を加え,厳密に範囲内に収まるようにします。
予測子修正子のフルステップではなく、実行可能性の補正がわずかな予測子ステップ(予測子修正子 を参照)を実行します。これにより,予測子修正子のフルステップのオ,バ,ヘッドを伴うことなく,初期点が“中央パス” に近づきます。中央パスの詳細は,诺西德尔と赖特[7] (第397页)を参照してください。
二次計画法の定義
二次計画法は線形制約に従って,二次関数を最小化するベクトルxを見ける問題です。
A·x≤b, Aeq·x = beq, l≤x≤u年代pan>が条件になります。
年代ect我on>interior-point-convexquadprogアルゴリズム
interior-point-convexアルゴリズムは以下の手順を実行します。
メモ年代trong>
アルゴリズムには2のコドパスがあります。一方はヘッセ行列Hが通常(フル)の双行列の場合に使用され,もう一方はHがスパース行列の場合に使用されます。スパスデタ型の詳細にいては,スパ,ス行列 を参照してください。一般に,hを稀疏的として指定すると,アルゴリズムは,比較的非ゼロの項が少ない大規模な問題の場合により高速になります。同様に,hを完整的として指定すると,アルゴリズムは,小規模または比較的密な問題の場合により高速になります。
<年代ect我on itemprop="content">
解決の前処理と後処理
このアルゴリズムは,まず重複を取り除き制約を単純化することで問題を単純化しようと試みます。解決の前処理のステップで実行されるタスクには,次のようなものがあります。
範囲の上限と下限が等しい変数があるかどうかをチェックする。見かった場合はその実行可能性をチェックし,修正してからそれらの変数を削除する。
含まれている変数が1だけの線形不等式制約があるかどうかチェックする。見かった場合はその実行可能性をチェックした後,線形制約を範囲に変更する。
含まれている変数が1だけの線形等式制約があるかどうかチェックする。見かった場合はその実行可能性をチェックし,修正してからそれらの変数を削除する。
ゼロの行を含む線形制約行列があるかどうかチェックする。見かった場合はその実行可能性をチェックした後,それらの行を削除する。
範囲制約と線形制約に矛盾がないか判断する。
目的関数内の線形項としてのみ含まれ,どの線形制約にも含まれない変数があるかどうかチェックする。見つかった場合はその実行可能性と有界性をチェックした後,それらの変数を修正して適切な範囲制約を設定する。
線形不等式制約があれば,スラック変数を追加して線形等式制約に変更する。
アルゴリズムは,実行不可能または非有界の問題を検出した場合,停止して適切な終了メッセージを表示します。
アルゴリズムgydF4y2Baが単一の実行可能点を得るような場合,これは解を表しています。
アルゴリズムgydF4y2Baが解決の前処理のステップで実行不可能または非有界の問題を検出しなかった場合,および解決の前処理が解を生成しなかった場合,そのアルゴリズムは次のステップに進みます。停止条件に到達すると,アルゴリズムは元の問題を復元し,解決の前処理による変更を元に戻します。この最終ステップが解決の後処理ステップです。
詳細はgydF4y2Ba,古尔德およびToint[63] を参照してください。
年代ect我on>
初期点の生成
アルゴリズムの初期点x0 は次のように決定されます。
x0を的(n, 1) に初期化します。n はh内の行数です。
上限乌兰巴托 と下限磅 の両方をも要素の場合,x0 の要素が厳密に範囲内にないときには,その要素は(ub + lb)/2 に設定されます。
要素の範囲制約が1つだけの場合は,必要に応じて要素に変更を加え,厳密に範囲内に収まるようにします。
予測子修正子のフルステップではなく、実行可能性の補正がわずかな予測子ステップ(予測子修正子 を参照)を実行します。これにより,予測子修正子のフルステップのオ,バ,ヘッドを伴うことなく,初期点が“中央パス” に近づきます。中央パスの詳細は,诺西德尔と赖特[7] (第397页)を参照してください。
quadprogアルゴリズム
interior-point-convexアルゴリズムは以下の手順を実行します。
メモ年代trong>
アルゴリズムには2のコドパスがあります。一方はヘッセ行列Hが通常(フル)の双行列の場合に使用され,もう一方はHがスパース行列の場合に使用されます。スパスデタ型の詳細にいては,スパ,ス行列 を参照してください。一般に,hを稀疏的として指定すると,アルゴリズムは,比較的非ゼロの項が少ない大規模な問題の場合により高速になります。同様に,hを完整的として指定すると,アルゴリズムは,小規模または比較的密な問題の場合により高速になります。
<年代ect我on itemprop="content">
解決の前処理と後処理
このアルゴリズムは,まず重複を取り除き制約を単純化することで問題を単純化しようと試みます。解決の前処理のステップで実行されるタスクには,次のようなものがあります。
範囲の上限と下限が等しい変数があるかどうかをチェックする。見かった場合はその実行可能性をチェックし,修正してからそれらの変数を削除する。
含まれている変数が1だけの線形不等式制約があるかどうかチェックする。見かった場合はその実行可能性をチェックした後,線形制約を範囲に変更する。
含まれている変数が1だけの線形等式制約があるかどうかチェックする。見かった場合はその実行可能性をチェックし,修正してからそれらの変数を削除する。
ゼロの行を含む線形制約行列があるかどうかチェックする。見かった場合はその実行可能性をチェックした後,それらの行を削除する。
範囲制約と線形制約に矛盾がないか判断する。
目的関数内の線形項としてのみ含まれ,どの線形制約にも含まれない変数があるかどうかチェックする。見つかった場合はその実行可能性と有界性をチェックした後,それらの変数を修正して適切な範囲制約を設定する。
線形不等式制約があれば,スラック変数を追加して線形等式制約に変更する。
アルゴリズムは,実行不可能または非有界の問題を検出した場合,停止して適切な終了メッセージを表示します。
アルゴリズムgydF4y2Baが単一の実行可能点を得るような場合,これは解を表しています。
アルゴリズムgydF4y2Baが解決の前処理のステップで実行不可能または非有界の問題を検出しなかった場合,および解決の前処理が解を生成しなかった場合,そのアルゴリズムは次のステップに進みます。停止条件に到達すると,アルゴリズムは元の問題を復元し,解決の前処理による変更を元に戻します。この最終ステップが解決の後処理ステップです。
詳細はgydF4y2Ba,古尔德およびToint[63] を参照してください。
年代ect我on>
初期点の生成
アルゴリズムの初期点x0 は次のように決定されます。
x0を的(n, 1) に初期化します。n はh内の行数です。
上限乌兰巴托 と下限磅 の両方をも要素の場合,x0 の要素が厳密に範囲内にないときには,その要素は(ub + lb)/2 に設定されます。
要素の範囲制約が1つだけの場合は,必要に応じて要素に変更を加え,厳密に範囲内に収まるようにします。
予測子修正子のフルステップではなく、実行可能性の補正がわずかな予測子ステップ(予測子修正子 を参照)を実行します。これにより,予測子修正子のフルステップのオ,バ,ヘッドを伴うことなく,初期点が“中央パス” に近づきます。中央パスの詳細は,诺西德尔と赖特[7] (第397页)を参照してください。
予測子修正子
スパース内点法凸アルゴリズムとフル内点法凸アルゴリズムは,主に予測子修正子フェーズで異なっています。アルゴリズムは類似していますが,一部の詳細部分が異なっています。アルゴリズムの基本的な説明にいては,Mehrotra
gydF4y2Baこのアルゴリズムでは,はじめに線形不等式Ax < = bをとbに1を乗算することによりAx > = bという形式の不等式に変換します。これは解に影響を与えませんが,同じ形式の問題を一部の文献で見けることができるようになります。
スパス予測子修正子-年代trong>fmincon内点法アルゴリズムと同様に,スパ,ス