整数計画法 - 第 2 章 線形計画法
2.1 予備的な凸解析
2.1.1 凸集合と分離定理
定義 2.1集合C ⊆ R n C\sube \R^nとするC⊆Rn、 x の場合、 y ∈ C x,y\in C× 、y∈C和λ ∈ [ 0 , 1 ] \lambda \in [0,1]私∈[ 0 ,1 ],有
λ x + ( 1 − λ ) y ∈ C , \lambda x+(1-\lambda) y\in C,λ ×+( 1−l ) y∈C 、
CCといいますCは凸集合です。
凸ジオメトリでは、凸セットは、凸の組み合わせの下で閉じられたアフィン空間のサブセットです。より具体的には、ユークリッド空間では、凸集合は、集合内のすべての点のペアについて、その点のペアを接続する直線セグメント上のすべての点も集合内に含まれるようなものです。たとえば、立方体は凸集合ですが、中空のものや三日月などのくぼみがあるものは凸集合ではありません。
定理 2.1 C ⊆ R n C\sube \R^n と仮定しますC⊆Rnは空ではない閉じた凸集合、y ∈ R n 、 y ∉ C y\in \R^n,y\not\in Cy∈Rn、y∈Cでは、
-
C に一意の点x ‾ ∈ C \overline{x}\がありますバツ∈C,使用
∣ ∣ x ‾ − y ∣ ∣ = inf { ∣ ∣ x − y ∣ ∣ ∣ x ∈ C } ||\overline{x}-y|| = \inf \{||xy||\ |\ x\in C \}∣∣バツ−y∣∣ _=in f { ∣∣ x−y ∣∣ ∣ x ∈C }数学表記では、「inf」は「infimum」を表し、数学的解析と集合論の概念です。セットの下限は、セットの下限における最大の実数です。簡単に言うと、セット内のすべての数値以下の最小の実数です。
この定理は、指定された点yyを持つ空ではない閉じた凸集合が存在することを示しています。yは最も近い点であり、この点は一意です。
-
x ‾ ∈ C \overline{x}\in Cバツ∈Cは点yyyでCCを設定Cの最近点の必要十分条件は
( x − x ‾ ) T ( x ‾ − y ) ≥ 0 , ∀ x ∈ C (2.1) (x-\overline{x})^T(\overline{ x}-y )\ge 0,\quad \forall x\in C\tag{2.1}( ×−バツ)T (バツ−y )≥0 、∀ ×∈C( 2.1 )
定理 2.2 凸集合分離定理 设 C ⊆ R n C\sube \R^n C⊆Rnは空ではない閉じた凸集合、y ∈ R n 、 y ∉ C y\in \R^n,y\not\in Cy∈Rn、y∈Cの場合、非ゼロベクトルa ∈ R na\in R^nある∈Rnと数値β \betaβ使得
a T x ≤ β < a T y , ∀ x ∈ C a^\text{T}x\le\beta <a^{\text{T}}y,\quad \forall x\in CあるT ×≤b<あるタイ、_∀ ×∈具体的には
:
- ああaは超平面を定義する非ゼロのベクトルです。
- β \ベータβは実数で、超平面がT xa^\text{T}xあるT xのオフセット
- コレクションCC用Cのxxx、それらはすべてこの超平面の片側にあり、超平面は点yyyとCCC。 _
この定理は、凸集合CCにおいて次のように直観的に述べています。C 和点 y y yの間にはyy超平面がありますyとセットCCCは完全に分離されています、つまり点yyyは超平面の一方の側にあり、集合はもう一方の側CCC._ _ この超平面は線として見ることができます (n = 2 n=2n=2 ) または平面 (n = 3 n=3n=3 ) または高次元空間の超平面。
2.1.2 多面体の基礎知識
定義 2.2 S ⊆ R n S\sube R^nの場合S⊆Rn が有限数の半角スペースの交点である場合、それはSSSは多面体、つまりS = { x ∈ R n ∣ ai T ≤ bi 、 i = 1 , . 。。, m } S=\{x\in \R^n |a^T_i \le b_i,\ i=1,...,m\}S={ ×∈Rn ∣a私T≤b私は、 私=1 、... 、m},这里 a ∈ R n , a i ≠ 0 , b i ∈ R a∈\R^n,ai≠0,b_i∈\R ある∈Rn、あい=0 、b私は∈R
多面体が閉じた凸集合であることが簡単にわかります。A ∈ R m × n , b ∈ R m A∈\R^{m\times n},b∈R^m とします。あ∈Rm × n、b∈Rmの場合、次の集合はすべて多面体です:
S = { x ∈ R n ∣ A x ≤ b } 、 S = { x ∈ R n ∣ A x = b 、 x ≥ 0 } 、 S = { x ∈ R n ∣ A x ≤ b , x ≥ 0 } . \begin{aligned} &S=\{x\in \R^n| Ax\le b\},\\ &S=\{x\in \R^n| Ax= b ,\ x\ge 0\},\\ &S=\{x\in \R^n| Ax\le b,\ x\ge 0\}. \end{aligned}S={
×∈Rn ∣Ax≤b } 、S={
×∈Rn ∣Ax=b 、 バツ≥0 } 、S={
×∈Rn ∣Ax≤b 、 バツ≥0 } .
多面体は、(有限数の) 線形方程式と不等式の解のセットです。
半空間は、超平面と特定の側にあるそのすべての点によって形成される領域です
定義 2.3 S ⊆ R n S\sube \R^n とするS⊆Rnは空ではない凸集合、x∈S x∈Sバツ∈S._ _ 任意のλ ∈ ( 0 , 1 ) \lambda \in (0,1)私∈( 0 ,1 )とx 1 、 x 2 ∈ S x_1,x_2∈Sバツ1、バツ2∈S、x = λ x 1 十 (1 一 λ ) x 2バツ=λ ×110 ( 1 - λ ) x2x 1 = x 2 = x x_1=x_2=x と推定できます。バツ1=バツ2=xの場合、 xxと呼ばれます×はSSですSの頂点。
つまりCCならCには、 xx2 つの異なる点は存在しません。x はこれら 2 点を結ぶ線上の点になり、xxxは頂点です。
定義 2.4 S ⊆ R n S\sube \R^n とするS⊆Rnは空ではない凸集合、d ∈ R nd\in \R^nd∈Rn。任意のx ∈ S x∈Sバツ∈S 和 λ ≥ 0 \lambda \ge 0 私≥0 はx + λ d ∈ S x+λd∈Sを持ちますバツ+λd _∈Sの場合、それはdddはSSですSの方向です。任意のλ 1 について、λ 2 > 0 \lambda_1,\lambda_2>0私1、私2>0とSSSの方向は d 1 、d 2 d_1、d_2 です。d1、d2、d = λ 1 d 1 + λ 2 d 2 d=\lambda_1d_1+\lambda_2d_2d=私1d1+私2d2d 1 = α d 2 d_1=\alpha d_2 と推定できます。d1=αd _2、ここで、α > 0 \alpha>0ある>0の場合はddと呼ばれますdはSSですSの極方向。(SSS方向ddd が集合の 2 つの異なる方向の正の線形結合として表現できない場合、それはdddはSSですSの極方向。)
直観的に言えば、極方向は凸集合SSとみなすことができます。S x 0 x_0の境界点バツ0の「最も伸びる方向」。極方向では、その方向に無限に遠くまで伸びても、凸集合SSにとどまることができます。Sインテリア。
定理 2.3 S = { x ∈ R n ∣ A x = b , x ≥ 0 } S=\{x\in \R^n|Ax=b,x\ge0\} と仮定します。S={ ×∈Rn ∣Ax=b 、バツ≥0},其中 A A 行Aがフルランクである場合、x ∈ S x\in Sバツ∈SはSSですSの頂点の必要十分条件はxxx は$ x = \left( \begin{aligned} &B^{-1}b \cr &0 \end{aligned} \right)$ として表現できます。ここで、A = ( B , N ) A=(B,N)あ=( B 、N )、BBBは可逆であり、B − 1 b ≥ 0 B^{-1}b\ge 0B− 1b _≥0
定理2.4设S = { x ∈ R n ∣ A x = b , x ≥ 0 } S=\{x\in \R^n|Ax=b,x\ge 0\}S={ ×∈Rn ∣Ax=b 、バツ≥0 }空ではない、AA列Aはフルランク、次にSSSには少なくとも 1 つの頂点があります。
2.2 線形計画法と原始単体法
線形計画法 (LP) の標準形式を考えてみましょう:
( LP ) min { c T x ∣ A x = b , x ≥ 0 } (LP)\quad \min\{c^{\text{T}} x|軸 = b,x\ge 0\}( LP ) _分{
cT x∣Ax=b 、バツ≥0 }
此处A ∈ R m × n A\in R^{m\times n}あ∈Rm × n、AAA行满ち,设S = { x ∈ R n ∣ A x = b , x ≥ 0 } S=\{x\in \R^n | 軸 = b, x\ge 0\}S={
×∈Rn ∣Ax=b 、バツ≥0 }、SSSは (LP) の実現可能領域です。
連立一次方程式を解く場合、フルランク行列には一意の解が存在することがよくあります。
定理 2.7 (線形計画法の基本定理) 線形計画可能領域をSSとするSは空ではありません、SSSの頂点は x 1 , ..., xk x_1,...,x_kですバツ1、... 、バツk、極方向はdi, . . . , dl d_i,...,d_lです。d私は、... 、d私とすると、(LP) が有限最適解を持つための必要十分条件はc T di ≥ 0 , i = 1 , ..., lc^Td_i≥0, i=1,...,l となります。cTd _私は≥0 、i=1 、... 、l。(LP) に有限最適解がある場合、(LP) は頂点xj x_jの 1 つになければなりません。バツj最適な状態に到達する。
定義 2.5線形計画法 (LP) の実行可能領域SSを考慮するS ,设 A = ( B , N ) A=(B,N) あ=( B 、N )、ここでBBBが可逆の場合、 BBと呼ばれますB 为 A A Aの 1 基、x = ( x B x N ) = ( B − 1 b 0 ) x =\left( \begin{aligned} &x_B \cr &x_N \end{aligned} \right)= \left( \begin{整列} &B^{-1}b \cr &0 \end{整列} \right)バツ=(バツBバツN)=(B− 1b _0)为 A x = b Ax=b あ×=b ,x B x_Bの基本解バツBは基本変数と呼ばれます、x N x_NバツNは非基本変数です。B − 1 b ≥ 0の場合B^{-1}b\ge 0B− 1b _≥0の場合はBBと呼ばれますBは元の実行可能基底、x = ( B − 1 b 0 ) x = \left( \begin{aligned} &B^{-1}b \cr &0 \end{aligned} \right)バツ=(B− 1b _0)は基本的な実行可能解と呼ばれます。
既知の行列AAAはm × nm\times nメートル×nの行列AAA は完全な行ランクを持ち (つまり、方程式のすべての行に意味があります)、m < n m<nメートル<n ,则 A A Aの基底ベクトルはmmですメートル。A を列ごとに並べ替えてA = ( B , N ) A=(B,N)と表します。あ=( B 、N )、ここでBBB ×mmm基底ベクトル表現、NNNは他のn − m nmで与えられます。n−それはm 個の非基本ベクトルで構成されます。同様に、xxx は、基本変数と非基本変数の組み合わせとして表すこともできます。x = ( x B x N ) x =\left( \begin{aligned} &x_B \cr &x_N \end{aligned} \right)バツ=(バツBバツN)、目的関数はc BT x B + c NT x N c_B^Tx_B+c_N^Tx_NcBTバツB+cNTバツN。方程式A x = b Ax=bの場合あ×=bは、 B x B + N x N = b Bx_B+Nx_N=bとして表すことができます。B ×B+N ×N=b。
非基本変数x N x_NバツNすべての値が0のときに得られる解を基本解と呼び、基本解の数は最大でC nm C_n^mCnメートル,若x > 0 x>0バツ>0 の場合、これは基本実行可能解と呼ばれます。
任意の基本的な実行可能解に対する仮定 2.1 (非縮退仮定) x = ( B − 1 b 0 ) x = \left( \begin{aligned} &B^{-1}b \cr &0 \end{aligned} \right)バツ=(B− 1b _0)、両方ともB − 1 b > 0 B^{-1}b> 0B− 1b _>0
特性 2.1 線形計画法の実行可能領域 S の頂点は基本実行可能解と 1 対 1 に対応しており、線形計画法に有限最適解がある場合、最適解である基本実行可能解が存在するはずです。
上記の定理と特性は、実行可能領域の頂点で線形計画法の最適解を見つけるだけでよいことを示しています。
シンプレックス法
単体: n 次元空間に n+1 個の頂点を持つ多面体
アルゴリズム 2.1 オリジナルシンプレックスアルゴリズム
ステップ 0: 初期の基本実現可能基礎BBを計算するBおよび対応する基本実行可能解x = ( B − 1 b 0 ) x = \left( \begin{aligned} &B^{-1}b \cr &0 \end{aligned} \right)バツ=(B− 1b _0)。
ステップ 1: r N = c NT − c BTB − 1 N ≥ 0 の場合 r_N=c_N^T-c_B^TB^{-1}N\ge 0rN=cNT−cBTB− 1N _≥0、停止、現在基本的に実行可能な解決策xxxが最適解です。そうでない場合は、ステップ 2 に進みます。
ステップ 2: jjを選択しますj满十分cj − c BTB − 1 aj < 0 c_j-c_B^TB^{-1}a_j<0cj−cBTB− 1a _j<0,若a ‾ j = B − 1 aj ≤ 0 \overline{a}_j=B^{-1}a_j\le 0あるj=B− 1a _j≤0で停止すると、元の問題は無制限になります。それ以外の場合は、ステップ 3 に進みます。
ステップ 3:次の式からλ \lambdaを計算します。λ,令x : = x + λ djx:=x+\lambda d_jバツ:=バツ+λd _j,その中dj = ( − B − 1 ajej ) d_j=\left( \begin{aligned} &-B^{-1}a_j \\&\qquad e_j \end{aligned} \right)dj=(−B− 1a _jej),转步1
λ = min { b ‾ ia ‾ ij ∣ a ‾ ij > 0 } = b ‾ ra ‾ rj ≥ 0 \lambda=\min\left\{\frac{\overline{b}_i}{ \overline{a}_{ij}}|\overline{a}_{ij}>0\right\}=\frac{\overline{b}_r}{\overline{a}_{rj}}\ge 0私=分{
あるイジb私は∣あるイジ>0 }=あるr jbr≥0
内部アイデア: まず、一連の基礎を決定し、次にこの一連の基礎を通じて実行可能な解決策の基礎を見つけることができます。これはステップ 0-1 の作業です。基本的な実行可能解を見つけた後は、それが最適解であるかどうかを判断する必要があります。これがステップ 2 の作業最適性テストです。テストの結果、探しているソリューションが最適なソリューションであることがわかったら、それは本当に幸運です。そうでない場合は問題ありません。基本変数を変更する 3 番目のステップに入ります。このようにして、基本的な実行可能なソリューションの新しいセットを見つけることができ、その後、最適なソリューションが見つかるまで最適性テストが実行されます。
シンプレックス法は、任意の n 次元空間内のシンプレックス上で 1 つの頂点からより適切な別の頂点に移動することです。より良い頂点が見つからなくなるまでは、最適解に到達したことを意味します。
定理 2.8非縮退の仮定の下では、元のシンプレックス アルゴリズムは有限ステップで終了するか、(LP) の最適解を見つけるか、(LP) が無制限であると判断します。
上記のアルゴリズムは、 b ≥ 0 b\ge 0 を仮定して表の形式で表現できます。b≥0、最初の実行可能基底をBBB,A = ( B , N ) A=(B,N)あ=( B 、N )の場合、次のテーブルに対してシンプレックス法の 1 回の反復プロセスを実行できます。
「rhs」は「right-hand side」(右辺定数)の略です。
例 2.1シンプレックス アルゴリズムを使用して次の線形計画法を解きます
min − 7 x 1 − 2 x 2 s . t . − x 1 + 2 x 2 + x 3 = 4 , 5 x 1 + x 2 + x 4 = 20 , 2 x 1 + 2 x 2 − x 5 = 7 , x ≥ 0 \begin{aligned} &\min -7x_1-2x_2\\ &s.t.-x_1+2x_2+x_3=4,\\ &\quad\クアッド 5x_1 +x_2+x_4=20,\\ &\quad\quad 2x_1+2x_2-x_5=7,\\ &\quad\quad x\ge 0 \end{aligned}分− 7x _1−2倍_2s 。と。−バツ1+2倍_2+バツ3=4 、5倍_1+バツ2+バツ4=20 、2倍_1+2倍_2−バツ5=7 、バツ≥0
初期のシンプレックス テーブルは次のとおりです。
反復 1。初期基底を選択しますB = ( a 1 , a 3 , a 4 ) B=(a_1,a_3,a_4)B=( _1、ある3、ある4),以x B = ( x 1 , x 3 , x 4 ) T x_B=(x_1,x_3,x_4)^TバツB=( ×1、バツ3、バツ4)Tを基本変数とする単体テーブルを次の表に示します。対応する初期基本実行可能解は x B = ( x 1 , x 3 , x 4 ) T = ( 3 1 2 , 7 1 2 , 2 1 2 ), x N = ( x 2 , x 4 ) T = ( 0 , 0 ) T x_B=(x_1,x_3,x_4)^T=(3\frac{1}{2},7\frac{1}{ 2}, 2\frac{1}{2}),x_N=(x_2,x_4)^T=(0,0)^TバツB=( ×1、バツ3、バツ4)T=( 321、721、221)、×N=( ×2、バツ4)T=( 0 ,0 )T
2 回目の反復、なぜなら− 7 2 < 0 -\frac{7}{2}<0−27<0、x 5 x_5バツ5基本変数については、λ = 2 1 2 2 1 2 = 1 \lambda=\frac{2\frac{1}{2}}{2\frac{1}{2}}=1 を計算します。私=221221=1なのでx 4 x_4バツ4はオフベース変数です。新しいベース変数はx B = ( x 1 , x 3 , x 5 ) x_B=(x_1,x_3,x_5)です。バツB=( ×1、バツ3、バツ5)。新しいシンプレックス テーブルは表 2.3 です。
3 回目の反復、x 2 x_2を選択しますバツ2基本変数の場合、min { 8 11 / 5 , 4 1 / 5 } \min\left\{ \frac{8}{11/5},\frac{4}{1/5} \right\} を計算します。分{ 11/58、1/54} . つまり、x 3 x_3バツ3r N = ( 3 11 , 6 11 ) ≥ 0 r_N=(\frac{3}{11},\frac{6}{11})\ge 0 であるため、は基地外変数、新しいシンプレックス テーブル 2.4 です。rN=(113、116)≥0、現在の基本的な実行可能な解x = (36 11, 40 11, 0, 0, 75 11) T x=(\frac{36}{11},\frac{40}{11},0,0,\ frac {75}{11})^Tバツ=(1136、1140、0 、0 、1175)Tは線形計画法の最適解であり、最適値は− 30 2 11 -30\frac{2}{11}− 30112。
上記のシンプレックス アルゴリズムでは、問題に初期の基本的な実行可能解があることが必要です。一般的な状況下で問題の初期の実行可能な解を見つける方法について説明します。線形計画法の標準形式を考えてみましょう:
( LP ) min { c T x ∣ A x = b , x ≥ 0 } (LP)\quad \min\{c^{\text{T}}x|Ax = b , x\ge 0\}( LP ) _分{
cT x∣Ax=b 、バツ≥0 }
ここでb ≥ 0 b\ge 0b≥0、人工変数y ∈ R + my\in \R^{m}_+ をy∈R+メートルでは、次の線形計画法を考えてみましょう:
( LP a ) min { e T y ∣ A x + y = b , x ≥ 0 , y ≥ 0 } (LP^a)\quad \min\{e^{\text{ T }}y|Ax+y = b,x\ge 0,y\ge 0\}( LP _) _私の{
eT y∣Ax+y=b 、バツ≥0 、y≥次
の結論は明らかに真実です。
- 線形計画法 ( LP a LP^aLP _a ) 実現可能かつ実現可能な解(x, y) = (0, b) (x,y)=(0,b)( x ,y )=( 0 ,b )、その最適値は 0 以上です。
- 線形計画法(LP) (LP)( LP ) は、 (LP a) (LP^a)の場合に限り、実行可能な解決策を持ちます。( LP _a )は 0 です。特に、(LP a) (LP^a)( LP _aの最適解におけるyi (i = 1, ..., m) y_i(i=1,...,m)y私は(私は=1 、... 、m )がすべて非基本変数である場合、最適解も(LP) (LP)( LP )の基本的な実行可能な解決策
上記の方法を使用して最初の基本的な実行可能解を見つけることをステージ I と呼び、最初の実行可能解を取得した後、元の問題に対する最適な解を見つけることをステージ II と呼びます。解決プロセス全体は2 段階法と呼ばれます。
例 2.1 (続き) : 段階 I を使用して最初の実行可能解を解くと、次の問題を構築できます:
min y 1 + y 2 + y 3 , s . t . − x 1 + 2 x 2 + x 3 + y 1 = 4 , 5 x 1 + x 2 + x 4 + y 2 = 20 , 2 x 1 + 2 x 2 − x 5 + y 3 = 7 , x ≥ 0 , y ≥ 0 \begin{aligned} &\min y_1+y_2+ y_3,\\ &s.t.-x_1+2x_2+x_3+y_1=4,\\ &\quad\quad 5x_1+x_2+x_4+y_2=20,\\ &\quad\quad 2x_1+2x_2- x_5+y_3 =7,\\ &\quad\quad x\ge 0,y\ge 0 \end{aligned}分y1+y2+y3、s 。と。−バツ1+2倍_2+バツ3+y1=4 、5倍_1+バツ2+バツ4+y2=20 、2倍_1+2倍_2−バツ5+y3=7 、バツ≥0 、y≥0
x 3 x_3に注意してくださいバツ3そしてx 4 x_4バツ4はスラック変数とみなすことができるため、人工変数y 1 y_1y1和y 2 y_2y2は冗長です。y 3 y_3を導入してください。y3は人工変数です。したがって、段階 I の線形計画問題は次のように単純化できます:
min y 3 , s . t . − x 1 + 2 x 2 + x 3 = 4 , 5 x 1 + x 2 + x 4 = 20 , 2 x 1 + 2 x 2 − x 5 + y 3 = 7 , x ≥ 0 , y 3 ≥ 0 \begin{aligned} &\min y_3,\\ &s.t.-x_1+2x_2+x_3=4,\\ & \quad\quad 5x_1+x_2+x_4=20,\\ &\quad\quad 2x_1+2x_2-x_5+y_3=7,\\ &\quad\quad x\ge 0,y_3\ge 0 \end{aligned}分y3、s 。と。−バツ1+2倍_2+バツ3=4 、5倍_1+バツ2+バツ4=20 、2倍_1+2倍_2−バツ5+y3=7 、バツ≥0 、y3≥0
明らかに、最初の基本変数はx B = ( x 3 , x 4 , y 3 ) T x_B=(x_3,x_4,y_3)^T です。バツB=( ×3、バツ4、y3)T、対応するシンプレックス テーブルを表 2.5 に示します。x 1 x_1を選択してくださいバツ1たとえば、λ = min ( 20 5 , 7 2 ) \lambda=\min(\frac{20}{5},\frac{7}{2})私=分(520、27),故y 3 y_3y3基底からの新しい基底変数はx B = ( x 1 , x 3 , y 4 ) T x_B=(x_1,x_3,y_4)^T です。バツB=( ×1、バツ3、y4)T、対応するシンプレックス テーブルを表 2.6 に示します。これにより、最初の基本的な実行可能解x = ( 7 2 , 0 , 15 2 , 5 2 , 0 ) T x=(\frac{7}{2},0,\frac{15}{2},\frac{ 5}{2},0)^Tバツ=(27、0 、215、25、0 )T._ _ 単体テーブル 2.6 の対応する列を削除して、ステージ II の初期単体テーブルを取得します。
2.3 線形計画法の二重および二重シンプレックス法
次の線形計画問題を考えてみましょう:
( P ) max { c T x ∣ A x ≤ b , x ∈ R + n } (\text{P})\quad \max\{c^{\text{T}} x |Ax\le b,x\in \R^n_{+}\}( P )最大{
cT x∣Ax≤b 、バツ∈R+ん}
此处A ∈ R m × n A\in \R^{m\times n}あ∈Rm × n、AA行はフルランクを持ち、§ の双対問題は次のように定義されます:
( D ) min { b T u ∣ AT u ≥ c , u ∈ R + m } (\text{D})\quad \min\{ b^{\ text{T}} u|A^{\text{T}}u\ge c,u\in \R^m_{+}\}( D )分{
bT u∣Aトゥ_≥c 、あなた∈R+メートルここ
でR + m R^m_{+}R+メートルmmを意味しますm次元の非負ベクトルのコレクション。検証が簡単な、線形計画法 (LP) の標準形式
min { c T x ∣ A x = b , x ∈ R + n } (\text{LP})\quad \min\{c^{\text{ T} } x|Ax= b,x\in \R^n_{+}\}( LP )分{
cT x∣Ax=b 、バツ∈R+ん}
の対数は次のとおりです:
( LD ) max { b T u ∣ AT u ≤ c , u ∈ R + m } (\text{LD})\quad \max\{b^{\text{T}} u |A^{\text{T}}u\le c,u\in \R^m_{+}\}( LD )最大{
bT u∣Aトゥ_≤c 、あなた∈R+メートル定理
2.9(弱い双対性)xxxは (LP) の実行可能な解です、uuu が(LD) の実行可能解である場合、c T x ≥ b T uc^{\text{T}} x\ge b^{\text{T}} ucT ×≥bトゥ_
系 2.1 v(LP) = −∞ v(LP)=-∞の場合v ( LP ) _=− ∞の場合、(LD) は実現不可能です。そうでない場合、v ( LD ) = + ∞ v(LD)=+∞v ( L D )=+ ∞の場合、(LP) は実行できません。つまり、元の線形計画問題 (LP) が制限されていない場合、双対問題 (LD) は実行不可能でなければなりません。
系 2.2 (相補的緩和条件) xxとしますx 和 u u u はそれぞれ (LP) と (LD) の実行可能な解です。s = c − AT us=cA^{\text{T}}us=c−ああなた、则xxx 和 u u u がそれぞれ (LP) と (LD) の最適解となるための必要十分条件は、 sixi = 0, i = 1, ..., n s_ix_i=0,i=1,...,ns私はバツ私は=0 、私=1 、... 、ん。
定理 2.10 (強い双対性) (LP) または (LD) が実行可能であり、最適解が制限されていると仮定すると、v (LP) = v (LD) v(LP)=v(LD)v ( LP ) _=v ( L D )。
つまり、原始問題 (LP) と双対問題 (LD) に少なくとも 1 つの実行可能な解があり、両方の問題に有限最適解がある場合、それらの最適な目的関数の値は等しいです。
系 2.3線形計画法 (LP) とその二重問題 (LD) では、次の 4 つの状況のうち 1 つだけが発生します。
- (LP) と (LD) には両方とも有限最適解があり、v (LP) = v (LD) v(LP)=v(LD)v ( LP ) _=v ( LD ) ; _
- v ( LP ) = − ∞ v(LP)= - ∞v ( LP ) _=− ∞ ,(LD) は実現不可能です。
- v ( LD ) = + ∞ v(LD)=+∞v ( L D )=+ ∞ ,(LP) は実現不可能です。
- (LP) も (LD) も実行可能ではありません。
系 2.4 (ファルカスの補題) A ∈ R m × n , c ∈ R n A\in \R^{m\times n},c\in \R^n とするあ∈Rm × n、c∈Rnの場合、次のシステムのうち 1 つだけが解決策を持ちます。
- A x ≤ 0 , c T x > 0 Ax\le 0,c^Tx>0あ×≤0 、cT ×>0
- AT u = c , u ≥ 0 A^Tu=c,u\ge0あトゥ_=c 、あなた≥0
プロパティ 2.2 A = ( B , N ) A=(B,N)とします。あ=( B 、N )、BBBは (LP) の双対実現可能基底です。つまり、r N = c NT − c BTB − 1 N ≥ 0 r_N=c_N^T-c_B^TB^{-1}N\ge0rN=cNT−cBTB− 1N _≥0、B \mathcal{B}B 和 N \mathcal{N} NはそれぞれBBをBとNNNの列インデックス セット。 a ‾ j = B − 1 aj , j ∈ N , b ‾ = B − 1 b \overline{a}_j=B^{-1}a_j,j\in \mathcal{N で表されます。 } ,\overline{b}=B^{-1}bあるj=B− 1a _j、j∈ん、b=B− 1 b、b ‾ s < 0 \overline{b}_s<0bs<0
- waa ‾ sj ≥ 0 , ∀ j ∈ N \overline{a}_{sj}\ge 0,\forall j\in \mathcal{N}あるsj _≥0 、∀j _∈Nの場合、(LP) は実行不可能です
- j ∈ N j\in \mathcal{N}が存在する場合j∈N使a ‾ sj < 0 \overline{a}_{sj}<0あるsj _<0の場合はBBです隣接関係の二重実現可能根拠B of B ‾ \overline{B}B、その列インデックスセットB ‾ = B ∪ { t } ∪ { s } \overline{\mathcal{B}}=\mathcal{B}\cup\{t\}\cup\{s\}B=B∪{ t }∪{ s }、ここ
t = arg min j ∈ N { − rja ‾ sj ∣ a ‾ sj < 0 } (2.14) t=\arg\underset{j\in \mathcal{N}}{\min}\{ -\cfrac{ r_j}{\overline{a}_{sj}}|\overline{a}_{sj}<0\}\tag{2.14}t=arg _j ∈ N分{ −あるsj _rj∣あるsj _<0 }( 2.14 )
デュアルシンプレックスアルゴリズム
- ステップ 0 初期の二重実現可能基底BBを計算するB,A = ( B , N ) A=(B,N)あ=( B 、ん)
- ステップ 1 b ‾ = B − 1 b ≥ 0 の場合 \overline{b}=B^{-1}b\ge 0b=B− 1b _≥0,则x T = ( x BT , 0 ) = ( b ‾ T , 0 ) ≥ 0 x^T=(x_B^T,0)=(\overline{b}^T,0)\ge 0バツT=( ×BT、0 )=(bて、0 )≥0は元の問題に対する最適な解決策です。それ以外の場合はステップ 2 に進みます。
- ステップ2 ssを選択しますs はb ‾ s < 0 \overline{b}_s<0を満たすbs<0,若a ‾ sj ≥ 0 , ∀ j ∈ N \overline{a}_{sj}\ge 0,\forall j\in \mathcal{N}あるsj _≥0 、∀j _∈Nの場合、元の問題は実行不可能です。そうでない場合は、tt はt,令B : = B ∪ { t } ∪ { s } {\mathcal{B}}:=\mathcal{B}\cup\{t\}\cup\{s\}B:=B∪{ t }∪{ s }、ステップ 1 に進みます
例 2.1 (続き) 線形計画法は次のように記述できます
min − 7 x 1 − 2 x 2 s . t . − x 1 + 2 x 2 + x 3 = 4 , 5 x 1 + x 2 + x 4 = 20 , 2 x 1 + 2 x 2 − x 5 = 7 , x ≥ 0 \begin{aligned} &\min -7x_1-2x_2\\ &s.t.-x_1+2x_2+x_3=4,\\ &\quad\クアッド 5x_1 +x_2+x_4=20,\\ &\quad\quad 2x_1+2x_2-x_5=7,\\ &\quad\quad x\ge 0 \end{aligned}分− 7x _1−2倍_2s 。と。−バツ1+2倍_2+バツ3=4 、5倍_1+バツ2+バツ4=20 、2倍_1+2倍_2−バツ5=7 、バツ≥0
二重シンプレックス法を使用して解きます。
1 回目の反復。最初の実行可能基底をB = ( a 2 , a 3 , a 5 ) B=(a_2,a_3,a_5)として選択します。B=( _2、ある3、ある5)対応する単体テーブルは表 2.7 です。r N = r N = c NT − c BTB − 1 N = ( 3 , 2 ) ≥ 0 r_N=r_N=c_N^T-c_B^TB^{-1} N であるため=(3,2)≧0rN=rN=cNT−cBTB− 1N _=( 3 、2 )≥0,故 B = ( a 2 , a 3 , a 5 ) B=(a_2,a_3,a_5) B=( _2、ある3、ある5)は二重の実現可能な根拠です。そしてx B = b ‾ = ( − 36 , 20 , 33 ) T x_B=\overline{b}=(-36,20,33)^TバツB=b=( − 36 、20 、33 )T、だからBBB は原始的な実現可能基底ではありません。
2 回目の反復では、b ‾ 3 = − 36 < 0 \overline{b}_3=-36<0 を選択します。b3=− 36<0,計算λ = min ( 3 11 , 3 2 ) = 3 11 \lambda =\min(\cfrac{3}{11},\cfrac{3}{2})=\cfrac{3}{11}私=分(113、23)=113、つまりx 1 x_1バツ1ベースを入力してください、x 3 x_3バツ3基底を離れると、新しい双対実現可能基底はB = ( a 1 , a 2 , a 5 ) B=(a_1,a_2,a_5) となります。B=( _1、ある2、ある5)の場合、対応するシンプレックス テーブルは次のとおりです。このとき、実行可能な双対解はx = ( 36 11 , 40 11 , 0 , 0 , 75 11 ) x=(\cfrac{36}{11},\cfrac{40}{11},0,0, \cfrac{ 75}{11})バツ=(1136、1140、0 、0 、1175)は元の実行可能解でもあり、したがって元の最適解でもあります。
参考文献
- 整数計画法 Sun Xiaoling、Li Rui 北京、Science Press 2010
- 凸集
- オペレーションズ リサーチ S01E02—シンプレックス法
- 線形計画法のシンプレックス アルゴリズムを簡単に理解する