。
線形計画法は線形制約に従って,線形関数fTxをを小气するxを见つける问题です。
次の 1.つ以上の式が成り立つ必要があります。
a·x≤b
AEQ·X = BEQ
L≤x≤u。
线性规划问题
内点法アルゴリズム线性规划问题
“内点”
アルゴリズムは、内点凸四边形アルゴリズムととよく似ていいまた,线性规划问题
'内部点遗留'
アルゴリズムとアルゴリズムてい。
解决,问题问题を単纯単纯して的的形式形式形式変换
初期点の生成。初寿点选択は,内点法アルゴリズム效率的に解くに特にであり,このステップにはでありがことありあり。
马方程式を解くための予測子修正子の反復。このステップには通常,最も時間がかかります。
このアルゴリズムは,まず重複を取り除き制約を単純化することで問題を単純化しようと試みます。解決の前処理のステップで実行されるタスクには,次のようなものがあります。
范囲范囲上限と等しい等しいががするかかチェックするするどうかは実実性をチェックし,修正ししそれらの削除削除するを削除するを削除する削除を削除削除
含まれている変数が1つだけの線形不等式制約があるかどうかチェックする。見つかった場合はその実行可能性をチェックした後,線形制約を範囲に変更する。
含ま含まているいるがかたどうかするがか场はその実実性をチェックししし性をししををするそれらをを削除ををををを削除ををををををををををのののののの
ゼロの行をを制约行列があるかかチェックチェックする実実するする。
范囲制约と形制约に矛盾がないか判断判断。
目形制约含まかするない场は実するするするするする実する性ととと実しとととととととととととととととととととととととと性をとととととする后とととと性形た后ととととととととととととたたた后たたた后た后た后,并且それらてて适切な范囲范囲制约を设定设定
線形不等式制約があれば、スラック変数を追加して線形等式制約に変更する。
アルゴリズムは,実行不可能または非有界の問題を検出した場合,停止して適切な終了メッセージを表示します。
アルゴリズムが又一次の実点を得るようななますますますます。
アルゴリズムが解決の前処理のステップで実行不可能または非有界の問題を検出しなかった場合、および解決の前処理が解を生成しなかった場合、そのアルゴリズムは次のステップに進みます。停止条件に到達すると、アルゴリズムは元の問題を復元し、解決の前処理による変更を元に戻します。この最終ステップが解決の後処理ステップです。
簡単にするため、解決の前処理のステップで問題が解決しない場合、アルゴリズムはすべての有限の下限をゼロにシフトします。
初期点X0.
を設定するために,アルゴリズムは次の処理を行います。
X0.
を的(n, 1)
にに化し。ここここ,n
は目的关关ベクトルFのの数。
すべての有界の成分の下限が 0になるように変換します。成分我
股有限性上限你(i)
がある場合は,x0(i)= U / 2
になります。
要素の範囲制約が1つだけの場合は,必要に応じて要素に変更を加え,厳密に範囲内に収まるようにします。
X0.
が中心パスに近くなるようにするには,予測子修正子のステップを1回実行して,結果の位置およびスラック変数を変更して範囲内に十分に収まるようにします。中心パスの詳細は,Nocedalと赖特[7](397页)を参照してください。
粉刺
の内点法アルゴリズムと同様に,interior-point-convex
アルゴリズムもカルーシュ・キューン・タッカー(马)条件が満たされる点を見つけようとします。線形計画問題についてこれらの方程式を記述するために、前処理後の線形計画問題の標準的な形式を考えます。
ここでは,すべての変数に少なくとも1つの有限範囲があると仮定します。この仮定は,必要に応じて成分のシフトおよび符号反転を行うと,すべてのx成分の下限が0になることを意味します。
は,线路不锈钢および等式の両のを拡张された线形行。 は、対応する線形等式ベクトルです。 には、不等式制約を等式制約にするスラック変数 Sでベクトル xを拡張するための項も含まれています。
ここで、x0は元のベクトルxを意味します。
Tは、上限を等式に変換するスラックのベクトルです。
このシステムのラグランジュ関数には、次のベクトルが含まれます。
y:線形等式に関連付けられたラグランジュ乗数
v:下几津に关键词付けられた数(正式制约)
w:上限に関連付けられたラグランジュ乗数
ラグランジュ関数は次のようになります。
そのため,このシステムの马条件は次のようになります。
线性规划问题
アルゴリズムは,返されるラグランジュラグランジュに対して,ここでの说明とは符符规则をしてますますこのこの明で,ほとんどの文本と同じ符使使しします同じ详细使は详细は,lambda.
を参照してください。
アルゴリズムは最初にニュートン・ラフソン式からステップを予測し、その後、修正子ステップを計算します。修正子は非線形相補性方程式年代我z我= 0の残差を減らそうとします。ニュートン・ラフソンステップは次のようになります。
(1) |
ここで、十、 V、W、および Tは、ベクトル x、 v、w、および Tにそれぞれ対応する対角行列です。方程式の最も右辺にある残差ベクトルは以下のとおりです。
rd: 双対残差
rp:主残差
rUB.: 上限残差
rVX.: 下限相補性残差
rWT.: 上限相補性残差
反复表示は以の量しますます。
式1を解くには、まず対称行列形式に変換します。
(2) |
ここで,
DおよびRの定義に含まれる逆行列は,行列が対角であるため,すべて簡単に計算できます。
式1から式2を導くには,式2の2行目が式1の2行目と同じであることに注目します。式2の1行目を得るには,式1の最後の2行をΔvおよびΔwについて解き,その後Δtについて解きます。
式2は対称ですが,项-dがあるため正式ではありません。そのため,コレスキー分类を使し解くことができませんん。的に解くことができる,别の方程式式ます。
式2の2行目は
また、1.行目は
次を代入し
次の结果が得ますます。
(3) |
通讯,ニュートンステップを求めるための效率效率的な方法は,コレスキー分类解使使て式3.をΔYについて解くことです。ΔYのの数であるは明显に対称行列,退化がない场に,退値になる,コレスキー后,ニュートン,ニュートンの求めるです。,结果を元の式に代入Δx,Δt,Δv,△Δwをを求め。ただし,
が密な列をもつもつもつ,代わりに式2を解く方が効率的なこともあります。线性规划问题
内点法アルゴリズムは,列の密度に基づいて解のアルゴリズムを選択します。
アルゴリズムアルゴリズムについての详细,Mehrotra[6]を参照してください。
アルゴリズムは,订正されたステップを计算した后计算実行して,现在のステップをするとともに,后続のステップを良いものするののうことができます。により,性能性能とロバスト性をとともも向向さられられられられははははははははははははは[4]を参照してください。
予測子修正子アルゴリズムは,二次の項を除き,完全な二次规划优化函数
の'内部point-convex'
バージョンバージョンとほぼ同じ详细详细,フルフル子修正子を参照してください。
予测子修正子アルゴリズム,実行可口(许容误差范囲内に收まるようする制约を満たすさいさい点ににするするまで反复ししに到するするはしします到ますははははししのののようようににし。
これらこれらのすべての条件が満たされる,アルゴリズムが停止し。
ここで,
rcは相补性の残差を测定しますベクトルますますのはそれぞれベクトルベクトルベクトルベクトルののサイズを测定しベクトルベクトルベクトル相补のサイズサイズをしベクトルベクトルベクトルの性サイズををししベクトル的のサイズのサイズサイズししし的ののサイズサイズサイズにしおよびおよびののサイズサイズにですおよびおよびのににににますおよびおよび実质のににに
既定のレガシ内点法は利普索尔([52])をベースにしています。この方法は,主主双対内内点点である梅赫罗特拉予測子修正子アルゴリズム ([47])ののです。
アルゴリズムは一連の前管理ステップ(前処理を参照适适,问题后,问题は次のをしいい。
(4) |
上限の制約は制約行列一个に暗黙的に含まれています。主スラック変数年代を加えると,式4は以下になります。
(5) |
これは“主问题”と考えられます.Xはは数号Sはは主スラックからからなりなりなり“双”対問題は以下のように表せます。
(6) |
ここで,yとwはは双対,zは双対スラック数です。この線形計画法に対する最適性,すなわち主式5および双対式6は以下になります。
(7) |
ここで、x我z我と我w我は要素単位の乗算を表します。
线性规划问题
アルゴリズムは,返されるラグランジュラグランジュに対して,ここでの说明とは符符规则をしてますますこのこの明で,ほとんどの文本と同じ符使使しします同じ详细使は详细は,lambda.
を参照してください。
二次方程式x我z我= 0および年代我w我= 0は線形計画法に対する"相補性条件" と呼ばれ、他の (線形) 方程式は“実行可能条件“と呼ばれます。次の式で計算される量は,
xTz+sTw
“双対性ギャップ”で(x,z,s,w)≥0のときfのの相补性性の残差をを测定しし
このアルゴリズムは,“主双対対”です。すなわち,主计画と双対计画同に解かれます。式7の中で线形二次システムF (x, y, z s w) = 0に適用されるニュートン法に似た手法と考えられます。一方,反復のx, z, wおよび年代は正に保たれ,そのため内点法の名前をもちます(反復は式5の中の不成式制约表现される厳密な意味内点内点
アルゴリズムは,Mehrotraが提唱する予測子修正子アルゴリズムのバリアントです。反復v = [x, y, z,年代;w)を考えてみましょう。ここでは[x;ZSw] >0です。まず,いわゆる“予測”方向を計算します。
これはニュートン方向になります。そして "修正子"の方向は次のようになります。
ここで,μ> 0.は”“センタリングパラメーターと呼ばれ,注意深く選択しなければなりません。 はF (v)の二次方程式に対応する1をもつ,0と1を要素とするベクトルです。すなわち,すべてが二次である相補性条件のみに摂動が適用され,すべて線形である実行可能条件には適用されません。2つの方向はステップ長パラメーターα > 0と结合され,新たな反复v+を得るためにvが更新されます。
ここで,ステップ长パラメーターαは
v+= [X.+;Y+;Z+;S+;W+]
が
[x+;Z+;S+;W+] > 0.
上の予测子/修正子の方向の解法の中间,アルゴリズムはA·A.Tのコレスキーコレスキー子を変更ししし,(スパースの)直接直接子分类をします.aが密な列をもつ場合は,代わりにSherman-Morrison式式を使い使いでないそのが适切(残差残差大胆すぎる)场合,拡大系ののldl分享到の実によって解します。(matlab®LDL.
関数リファレンス ページの例4 - Dの构造体を参照)。
そしてアルゴリズムは反復が収束するまで反復します。メイン停止条件は標準的なものです。
ここで,
は,それぞれ,主残差,双双残差,実行可用上限({x}はは有のxを意味するするxを意味する。
は,主目的値と双対目的値の間の差で托尔は許容誤差です。停止条件の和は式7のの化解で相対残差残差の総和を计测します。
主問題の実行不可能性の尺度は| | rb||で,双対問題の実行不可能性の尺度は| | rf||です。ここでノルムはユークリッドです。
このアルゴリズムは,まず重複を取り除き制約を単純化することで問題を単純化しようと試みます。解決の前処理のステップで実行されるタスクには,次のようなものがあります。
范囲范囲上限と等しい等しいががするかかチェックするするどうかは実実性をチェックし,修正ししそれらの削除削除するを削除するを削除する削除を削除削除
含まれている変数が1つだけの線形不等式制約があるかどうかチェックする。見つかった場合はその実行可能性をチェックした後,線形制約を範囲に変更する。
含ま含まているいるがかたどうかするがか场はその実実性をチェックししし性をししををするそれらをを削除ををををを削除ををををををををををのののののの
ゼロの行をを制约行列があるかかチェックチェックする実実するする。
范囲制约と形制约に矛盾がないか判断判断。
目形制约含まかするない场は実するするするするする実する性ととと実しとととととととととととととととととととととととと性をとととととする后とととと性形た后ととととととととととととたたた后たたた后た后た后,并且それらてて适切な范囲范囲制约を设定设定
線形不等式制約があれば、スラック変数を追加して線形等式制約に変更する。
アルゴリズムは,実行不可能または非有界の問題を検出した場合,停止して適切な終了メッセージを表示します。
アルゴリズムが又一次の実点を得るようななますますますます。
アルゴリズムが解決の前処理のステップで実行不可能または非有界の問題を検出しなかった場合、および解決の前処理が解を生成しなかった場合、そのアルゴリズムは次のステップに進みます。停止条件に到達すると、アルゴリズムは元の問題を復元し、解決の前処理による変更を元に戻します。この最終ステップが解決の後処理ステップです。
簡単にするため、アルゴリズムはすべての下限をゼロにシフトします。
これらの前処理ステップがアルゴリズムの反復部分をスピードアップすることができるとき,ラグランジュ乗数が必要であれば,アルゴリズムの処理中に計算される乗数は変換された問題に使用され,元のものには使用されないため,前処理ステップは未処理でなければなりません。そのため乗数が必要でない場合,この変換の逆が計算“さされ”,计算时间が节约さかもしれません。
上位レベルでは,线性规划问题
“对偶单纯形”
アルゴリズムは実質的に、シンプレックス法アルゴリズムを“双双対”に対して実行します。
このアルゴリズムは,まず前処理で说明されている前を行います详细は,安德森和安德森[1]、および 诺切达尔和莱特[7]の第13章を参照しくださいてこの前定理,元の线形问题をを式4の形に簡約します。
aとbは,元の制约行列変换したバージョンです。
主実行可能性は,+に关键词てのよう定义定义ます。
主问题の実行不可能性性の尺度は次ようようなりなりはのようになり
式6でで明されているに,双対问题と,次を解くベクトルととおよび変ベクトルベクトルベクトルベクトルです。
线性规划问题
アルゴリズムは,返されるラグランジュラグランジュに対して,ここでの说明とは符符规则をしてますますこのこの明で,ほとんどの文本と同じ符使使しします同じ详细使は详细は,lambda.
を参照してください。
双対問題の実行不可能性の尺度は次のようになります。
双対問題の任意の有限解は主問題への解を与え,また主問題の任意の有限解が双対問題の解を与えることはよく知られています([7]を参照)。さらに,主问题と双対问题のかが非非界であるである合书,もう一方の问题は実行不可能です。そして,主问题または问题のどちらが実または双対问题のか実行不可能ななにに,一方の问题は行行不可であるか,非したがっ,この2,つのは,解が现处于するするに,有限解を求める点で。主问题等価ではある计算は异なるため计算问题问题がによって主问题がががももありますますありありありますありますありありありますますますますますますますますますます解く解くがますありますますますますます解く解くますますますありあり
退化を緩和するために(Nocedal和赖特[7]の366ページを参照),双対シンプレックス法アルゴリズム最初最初にに的关键词。
双対シンプレックス法アルゴリズムの第1段階は,双対実行可能点を見つけることです。このアルゴリズムは,補助線形計画問題を解くことによってこれを求めます。
第2段階では,ソルバーが进入変数と离开変数を繰り返し選択します。アルゴリズムは,福勒斯特と戈德法布[3]により提唱された双対最急エッジプライシング(双steepest-edge定价)という手法に従って离开変数を選択します。また,アルゴリズムはKoberstein[5]により提唱された哈里斯の比率判定法のバリエーションを使用して进入変数を選択します。退化を緩和するため,アルゴリズムによって第2段階で追加の摂動が加えられる場合もあります。
ソルバーは,主問題の実行不可能性を低減し,かつ双対問題の実行可能性を維持できるような方法で反復を行います。反復は、低減され摂動された問題について主問題と双対問題の両方が実行可能であるような解が見つかるまで続けられます。加えられた摂動はアルゴリズムによって取り除かれます。摂動のない元の問題において、摂動を加えた問題の解では双対問題が実行不可能な場合、ソルバーは主シンプレックス法または第 1 段階のアルゴリズムを使用して双対問題の実行可能性を復元します。最後に、ソルバーが前処理の手順を元に戻し、解を元の問題に返します。
この節では線形計画問題に対して用語として"基底"、"非基底"、および“実行可能基底解“を定義します。この定義では,問題が次の標準形で与えられることを仮定します。
(aおよびbは元の问题不断式を定义列やベクトルではないことに注意てくださいくださいくださいくださいくださいくださいくださいくださいくださいくださいくださいくださいくださいくださいくださいくださいくださいくださいくださいくださいくださいm < nのm行n列の行列で,その列が{1,一个2, ..., 一种n}であると仮定します。 がインデックス集合 B={i1,我2, ..., 一世米}としての一列空間に対する基底であり,N ={1,2,…n} \ BがBの補集合であると仮定します。部分行列Bは“基调”と呼ばれ、相補性部分行列 A.Nは"非基底"と呼ばれます。“基础偏数”ののはxBであり,“非基底数”のベクトルはxNです。段阶2の各反复でアルゴリズムは现ののののののの基于xで置き换え置き换え,それに応じててxBとX.Nを新新します。
xが.A·x=bの解であり、xNの非基于数量すべてそれらそれらのまたはまたはとき上等しい等しい,xは“基底解“と呼ばれます。さらにxBの基底変数がそれらの上限と下限を満たし,したがってxが実行可能な点である場合,xは“基础驾流可解”と呼ばれます。
[1]安德森,E. D.和K. D. Andersen。预定线性规划。数学。编程71,1995,pp。221-245。
Applegate, D. L., R. E. Bixby, V. Chvátal和W. J. Cook,旅行推销员问题:计算研究,普林斯顿大学出版社,2007。
[3] Forrest,J. J.和D. Goldfarb。最陡峭的单纯仪算法,用于线性编程。数学。编程57,1992,PP。341-374。
[4] Gondzio, J. <线性规划的原始对偶方法中的多重中心性校正>计算优化与应用,第6卷第2期,1996年,第137-156页。可以在https://www.maths.ed.ac.uk/~gondzio/software/correctors.ps
.
[5] 科伯斯坦,A。求解大规模线性规划问题的对偶单纯形算法进展:快速稳定实现技术。计算优化。和申请412008,第185-204页。
[6] Mehrotra, S.《关于原-对偶内点方法的实现》。优化学报,Vol. 2, 1992, pp . 575-601。
[7] Nocedal,J.和S. Wright。数值优化,第二版。Springer系列在运营研究中,Springer-Verlag,2006。