線形計画法(linear programming)とは、有限個の 1 次不等式 $Ax\le b$ を満たす点の中で 1 次式 $c\cdot x$ を最大化(または最小化)する問題、すなわち線形計画問題の理論と解き方のことである。実行可能で目的関数が上に有界なら最適解は必ず存在し、実行可能領域が直線を含まなければ多面体の頂点のどれかが最適解になる。主問題「$Ax\le b$、$x\ge0$ で $c\cdot x$ を最大化」には双対問題「$A^{\mathsf T}y\ge c$、$y\ge0$ で $b\cdot y$ を最小化」が対応し、両方が実行可能なら最適値は一致する(双対定理)。この定理は Farkas の補題から導かれ、相補性条件や行列ゲームの最小最大定理を与え、計算には頂点をたどる単体法が使われる。
工場で 2 種類の製品を作るとき、原料や機械の時間の制約の中で利益を最大にしたい。制約が 1 次不等式、利益が 1 次式で表されるなら、これは「1 次不等式をすべて満たす点の中で、1 次式の値を最大にする点を求める」問題になる。これを線形計画問題といい、その理論と解き方を 線形計画法 という。高校数学では 2 変数の場合を図で解く(不等式の表す領域と線形計画法)。この記事では変数が $n$ 個の場合を扱う。
中心になる事実は 3 つある。目的の 1 次式が上に有界なら最大値は必ず達成され、しかも実行可能領域が直線を含まなければ(たとえば条件に $x\ge0$ を含めば)その頂点で達成される(thm-lp-existence・thm-lp-vertex)。最大化の問題には、不等式に掛ける乗数を変数とする最小化の問題(双対問題)が対応し、両方が解をもてば最大値と最小値は一致する(thm-lp-strong)。その土台が、1 次不等式系が解をもたないことの「証拠」を与える Farkas の補題(thm-lp-farkas)である。計算の方法として、頂点から頂点へ値を増やしながら移る単体法の仕組みも述べる。
以下、ベクトルの不等式 $x\le y$、$x\ge0$ は成分ごとの不等式を表し、内積を $c\cdot x$ と書く。$A$ は $m\times n$ 行列で、第 $i$ 行を $a_i^{\mathsf T}$ とする。
$c\in\mathbb{R}^n$、$A\in\mathbb{R}^{m\times n}$、$b\in\mathbb{R}^m$ について、
$$
\text{最大化 } c\cdot x\quad\text{条件 } Ax\le b
$$
という問題を 線形計画問題(linear programming problem)という。$c\cdot x$ を 目的関数、$Ax\le b$ を満たす $x$ を 実行可能解、その全体 $P=\{x\mid Ax\le b\}$ を 実行可能領域 という。
最小化の問題「最小化 $c\cdot x$」は「最大化 $(-c)\cdot x$」と同じであり、最適値の符号が変わるだけである。等式の制約 $a\cdot x=\beta$ は 2 つの不等式で書ける。実行可能領域 $P$ は多面体である。
次の 2 つの形がよく使われる。
$n=2$ の場合、実行可能領域は凸多角形(または有界でない凸な領域)で、目的関数の値が一定の点は法線ベクトル $c$ の直線である。直線を $c$ の向きに平行移動していき、領域から離れる直前に触れる点が最適解である。領域が有界なら、触れる点は頂点か、頂点を両端にもつ辺なので、頂点だけを調べれば最適値が分かる(有界でない領域では、領域が直線を含まなければ同じことが言える。thm-lp-vertex)。高い次元でも同じことが成り立つことを thm-lp-vertex で示す。
最適値の上界を示すには、制約の不等式に $0$ 以上の数を掛けて足し、目的関数を上から抑えればよい。最もよい上界を求める問題がまた線形計画問題になり、それが双対問題である。双対定理は「最もよい上界がちょうど最適値になる」ことを述べている。
製品 A を $x$ トン、B を $y$ トン作り、1 トンあたりの利益を A は $4$、B は $3$ とする。原料 I・II・III の使用量の制約が
$$
x+y\le5,\qquad 2x+y\le8,\qquad x+3y\le12,\qquad x,y\ge0
$$
であるとき、$4x+3y$ を最大化する。実行可能領域は 5 つの頂点をもつ凸五角形で、各頂点での値は次のとおりである。
| 頂点 | $(0,0)$ | $(4,0)$ | $(3,2)$ | $(\frac32,\frac72)$ | $(0,4)$ |
|---|---|---|---|---|---|
| 等号になる制約 | $x\ge0,\ y\ge0$ | $y\ge0,\ 2x+y\le8$ | $2x+y\le8,\ x+y\le5$ | $x+y\le5,\ x+3y\le12$ | $x+3y\le12,\ x\ge0$ |
| $4x+3y$ | $0$ | $16$ | $18$ | $16.5$ | $12$ |
最適解は $(3,2)$、最適値は $18$ である(thm-lp-vertex により頂点だけを比べればよい)。この最適性は、制約に $2$、$1$、$0$ を掛けて足した
$$
4x+3y=2(x+y)+1\cdot(2x+y)+0\cdot(x+3y)\le2\cdot5+8=18
$$
によっても確かめられる。乗数 $(2,1,0)$ は双対問題の最適解である(ex-lp-production-dual)。
実行可能で上に有界なら、最適解は必ず存在する。目的関数が 1 次でない場合や、不等式に等号がない場合にはこれが成り立たない(記事の終わりの反例の表)。
線形計画問題が実行可能で、目的関数 $c\cdot x$ が実行可能領域 $P$ の上で上に有界ならば、最適解が存在する。
$c\cdot x$ の値の集合 $T:=\{c\cdot x\mid x\in P\}\subset\mathbb{R}$ は、多面体 $P$ の線形写像 $x\mapsto c\cdot x$ による像なので、多面体 の記事の系「多面体の線形写像による像」により $\mathbb{R}$ の多面体である。すなわち有限個の不等式 $\alpha_kt\le\beta_k$ の解の全体であり、閉区間・閉半直線・$\mathbb{R}$・1 点・空集合のいずれかで、とくに閉集合である。仮定より $T$ は空でなく上に有界なので、上限 $v^*:=\sup T$ は有限で、$T$ が閉であることから $v^*\in T$ である。$v^*=c\cdot x^*$ となる $x^*\in P$ が最適解である。$\square$
実行可能領域 $P$ が直線を含まない(たとえば条件に $x\ge0$ を含む)とする。最適解が存在するならば、$P$ の頂点のうちに最適解がある。したがって最適値は、有限個の頂点での目的関数の値の最大値である。
最適値を $v^*$ とし、最適解の全体 $F:=P\cap\{x\mid c\cdot x=v^*\}$ を考える。$F$ は $P$ を表す不等式に $c\cdot x\le v^*$ と $-c\cdot x\le-v^*$ を加えた空でない多面体で、$P$ に含まれるので直線を含まない。多面体 の記事の定理「頂点をもつための条件」により $F$ は頂点 $w$ をもち、同じ記事の定理「頂点の特徴づけ」により $w$ は $F$ の端点である。
$w$ が $P$ の端点であることを示す。$w=(1-t)y+tz$($y,z\in P$、$0< t< 1$)とすると、$c\cdot y\le v^*$、$c\cdot z\le v^*$ で、$(1-t)c\cdot y+tc\cdot z=c\cdot w=v^*$ だから $c\cdot y=c\cdot z=v^*$、すなわち $y,z\in F$ である。$w$ は $F$ の端点なので $y=z=w$ である。よって $w$ は $P$ の端点であり、「頂点の特徴づけ」により $P$ の頂点である。頂点が有限個であることは同じ記事の系「頂点は有限個」による。$\square$
条件に $x\ge0$ を含めば、係数行列が $-I$ を含むので階数は $n$ であり、空でない実行可能領域は直線を含まない(多面体 の記事の定理「頂点をもつための条件」)。
1 次不等式系 $Ax\le b$ に解がないことを確かめるには、不等式に $0$ 以上の数を掛けて足し、左辺が $0$ で右辺が負の不等式 $0\le(\text{負の数})$ を作ればよい。逆に、解がないときはいつもそのような組合せがある、というのが Farkas の補題である。
$A\in\mathbb{R}^{m\times n}$、$b\in\mathbb{R}^m$ とする。次の 2 つのうち、ちょうど一方が成り立つ。
両方が成り立つとすると、$y\ge0$ と $Ax\le b$ から $0=(A^{\mathsf T}y)\cdot x=y\cdot(Ax)\le y\cdot b<0$ となって矛盾する。
1 が成り立たないとして 2 を示す。多面体 の記事の定理「Fourier–Motzkin の消去法」で $x_n,x_{n-1},\dots,x_1$ を順に消去する。各段で得られる不等式系の解の全体は、前の段の多面体の射影なので、前の段の系に解があることと次の段の系に解があることは同値である。また、各段の不等式はその前の段の不等式に $0$ 以上の係数を掛けて足したものなので、帰納的に、どの段の不等式もある $y\ge0$ を用いて $(A^{\mathsf T}y)\cdot x\le b\cdot y$ と書け、すでに消去した変数の係数は $0$ である。すべての変数を消去すると、変数を含まない不等式 $0\le b\cdot y^{(k)}$($y^{(k)}\ge0$、$A^{\mathsf T}y^{(k)}=0$、$k=1,\dots,K$)の系が残る。もとの系に解がないので、この最後の系は成り立たない(最後の段は同じ定理の $n=1$ の場合の読み方による)。すなわちある $k$ で $b\cdot y^{(k)}<0$ であり、$y:=y^{(k)}$ が 2 を満たす。$\square$
$A\in\mathbb{R}^{m\times n}$、$b\in\mathbb{R}^m$ とする。次の 2 つのうち、ちょうど一方が成り立つ。
要点:1 を不等式 $Ax\le b$、$-Ax\le-b$、$-x\le0$ の系に書き直して thm-lp-farkas を当て、最初の 2 つに掛ける乗数の差を $y$ とする。
1 は不等式系 $Ax\le b$、$-Ax\le-b$、$-x\le0$ に解があることである。thm-lp-farkas によりこれが成り立たないことは、$u,w\in\mathbb{R}^m$、$z\in\mathbb{R}^n$(すべて $\ge0$)で $A^{\mathsf T}u-A^{\mathsf T}w-z=0$、$b\cdot u-b\cdot w<0$ となるものがあることと同値である。$y:=u-w$ とおけば $A^{\mathsf T}y=z\ge0$、$b\cdot y<0$ である。逆に 2 の $y$ があれば、$u,w$ を $y$ の正の部分と負の部分($y=u-w$、$u,w\ge0$)、$z:=A^{\mathsf T}y$ とすればよい。$\square$
cor-lp-farkas-eq の 1 は「$b$ が $A$ の列ベクトルの $0$ 以上の係数の和で書ける」ことであり、2 は「超平面 $\{v\mid y\cdot v=0\}$ が、$A$ の列ベクトルを一方の側($y\cdot v\ge0$)に、$b$ を反対の側に分ける」ことである。有限個のベクトルの生成する錐と外の点は超平面で分離できる、という形の分離定理である(一般の閉凸集合の場合は 凸包 の記事の定理「点と閉凸集合の分離」)。BV04 §5.8.3(p. 263)は Farkas の補題を、狭義の不等式を含む別の形($Ax\le0$、$c\cdot x<0$ の系と $A^{\mathsf T}y+c=0$、$y\ge0$ の系のちょうど一方が解をもつ)で述べ、線形計画の双対定理から導いている。この記事では逆に Farkas の補題から双対定理を導く。
不等式標準形の問題
$$
\text{(P)}\qquad\text{最大化 } c\cdot x\quad\text{条件 } Ax\le b,\ x\ge0
$$
に対して、
$$
\text{(D)}\qquad\text{最小化 } b\cdot y\quad\text{条件 } A^{\mathsf T}y\ge c,\ y\ge0
$$
を (P) の 双対問題(dual problem)という。(P) を 主問題 という。
(D) を「最大化 $(-b)\cdot y$、条件 $(-A^{\mathsf T})y\le-c$、$y\ge0$」と書き直してその双対問題を作ると、「最小化 $(-c)\cdot x$、条件 $(-A)x\ge-b$、$x\ge0$」、すなわち (P) に戻る。双対問題の双対問題は主問題である。
$x$ が (P) の実行可能解、$y$ が (D) の実行可能解ならば $c\cdot x\le b\cdot y$ である。とくに $c\cdot x=b\cdot y$ ならば、$x$ と $y$ はそれぞれ (P) と (D) の最適解である。
$x\ge0$ と $A^{\mathsf T}y\ge c$ から $c\cdot x\le(A^{\mathsf T}y)\cdot x$、$y\ge0$ と $Ax\le b$ から $y\cdot(Ax)\le y\cdot b$ であり、$(A^{\mathsf T}y)\cdot x=y\cdot(Ax)$ なので $c\cdot x\le b\cdot y$ である。$c\cdot x=b\cdot y$ なら、(P) の任意の実行可能解 $x'$ について $c\cdot x'\le b\cdot y=c\cdot x$ なので $x$ は最適であり、$y$ も同様である。$\square$
(P) と (D) がどちらも実行可能ならば、どちらも最適解をもち、最適値は等しい:
$$
\max\{c\cdot x\mid Ax\le b,\ x\ge0\}=\min\{b\cdot y\mid A^{\mathsf T}y\ge c,\ y\ge0\}.
$$
$(x,y)\in\mathbb{R}^{n+m}$ についての不等式系
$$
Ax\le b,\qquad -x\le0,\qquad -A^{\mathsf T}y\le-c,\qquad -y\le0,\qquad -c\cdot x+b\cdot y\le0
$$
に解があれば、$x$ は (P)、$y$ は (D) の実行可能解で $b\cdot y\le c\cdot x$ である。prop-lp-weak と合わせて $c\cdot x=b\cdot y$ となり、$x,y$ は最適解で最適値は等しい。
そこで、この系に解がないと仮定して矛盾を導く。thm-lp-farkas により、5 つの不等式に掛ける乗数 $p\in\mathbb{R}^m$、$q\in\mathbb{R}^n$、$r\in\mathbb{R}^n$、$s\in\mathbb{R}^m$、$\tau\in\mathbb{R}$(すべて $\ge0$)で、$x$ の係数・$y$ の係数が $0$ で右辺が負になるもの
$$
A^{\mathsf T}p-q-\tau c=0,\qquad -Ar-s+\tau b=0,\qquad b\cdot p-c\cdot r<0
$$
がある。$q,s\ge0$ なので $A^{\mathsf T}p\ge\tau c$、$Ar\le\tau b$ である。
$\tau>0$ の場合:$\bar x:=r/\tau$ は $A\bar x\le b$、$\bar x\ge0$ を満たし、$\bar y:=p/\tau$ は $A^{\mathsf T}\bar y\ge c$、$\bar y\ge0$ を満たす。prop-lp-weak により $c\cdot\bar x\le b\cdot\bar y$、すなわち $c\cdot r\le b\cdot p$ であり、$b\cdot p-c\cdot r<0$ に反する。
$\tau=0$ の場合:$A^{\mathsf T}p\ge0$、$Ar\le0$ である。(P)、(D) の実行可能解 $x_0$、$y_0$ をとると、
$$
b\cdot p\ge(Ax_0)\cdot p=x_0\cdot(A^{\mathsf T}p)\ge0,\qquad c\cdot r\le(A^{\mathsf T}y_0)\cdot r=y_0\cdot(Ar)\le0
$$
($p\ge0$ と $Ax_0\le b$、$x_0\ge0$ と $A^{\mathsf T}p\ge0$、$r\ge0$ と $A^{\mathsf T}y_0\ge c$、$y_0\ge0$ と $Ar\le0$ を使った)なので $b\cdot p-c\cdot r\ge0$ となり、やはり矛盾する。$\square$
一方だけが実行可能な場合については、次が成り立つ。
要点:(D) が実行不可能なら Farkas の補題から $r\ge0$、$Ar\le0$、$c\cdot r>0$ となる $r$ が得られ、実行可能解を $r$ の向きに動かすと目的関数がいくらでも大きくなる。2 は双対問題に 1 を当てる。
1:(D) の条件は不等式系 $-A^{\mathsf T}y\le-c$、$-y\le0$ である。これに解がないので、thm-lp-farkas により $r\in\mathbb{R}^n$、$s\in\mathbb{R}^m$($\ge0$)で $-Ar-s=0$、$-c\cdot r<0$ となるものがある。すなわち $r\ge0$、$Ar=-s\le0$、$c\cdot r>0$ である。(P) の実行可能解 $x_0$ と $t\ge0$ について、$x_0+tr\ge0$、$A(x_0+tr)\le Ax_0\le b$ なので $x_0+tr$ は実行可能で、$c\cdot(x_0+tr)=c\cdot x_0+t\,c\cdot r\to+\infty$($t\to\infty$)である。
2:(D) を、双対問題の双対問題が主問題になるように書き直した (P) の形の問題(最大化 $(-b)\cdot y$、条件 $(-A^{\mathsf T})y\le-c$、$y\ge0$)とみて、1 を当てはめる。
最後の主張:両方が実行可能なら thm-lp-strong、一方だけなら 1・2 である。非有界な問題は最適解をもたない。$\square$
$c=(1,1)$、$A=\begin{pmatrix}1&-1\\-1&1\end{pmatrix}$、$b=(-1,-1)$ とすると、(P) の条件から $x_1-x_2\le-1$ と $x_2-x_1\le-1$ を足して $0\le-2$、(D) の条件から $y_1-y_2\ge1$ と $y_2-y_1\ge1$ を足して $0\ge2$ となるので、どちらも実行不可能である。
$x$ を (P) の実行可能解、$y$ を (D) の実行可能解とする。$x$ と $y$ がともに最適解であるためには、
$$
y\cdot(b-Ax)=0\quad\text{かつ}\quad x\cdot(A^{\mathsf T}y-c)=0
$$
であることが必要十分である。すなわち、各 $i$ について $y_i>0$ なら $a_i\cdot x=b_i$ であり、各 $j$ について $x_j>0$ なら $(A^{\mathsf T}y)_j=c_j$ である。
要点:$b\cdot y-c\cdot x=y\cdot(b-Ax)+x\cdot(A^{\mathsf T}y-c)$ で右辺の 2 項は $0$ 以上なので、双対定理と弱双対性から従う。
$y\cdot(Ax)=x\cdot(A^{\mathsf T}y)$ なので $$b\cdot y-c\cdot x=y\cdot(b-Ax)+x\cdot(A^{\mathsf T}y-c)$$ であり、右辺の 2 項はどちらも $0$ 以上のベクトルどうしの内積なので $0$ 以上である。$x,y$ が最適なら、thm-lp-strong により $c\cdot x=b\cdot y$ なので 2 項とも $0$ である。逆に 2 項とも $0$ なら $c\cdot x=b\cdot y$ で、prop-lp-weak により $x,y$ は最適である。後半は、$0$ 以上の数の積の和が $0$ なら各項が $0$ であることによる。$\square$
ex-lp-production の双対問題は
$$
\text{最小化 } 5u_1+8u_2+12u_3\quad\text{条件 } u_1+2u_2+u_3\ge4,\quad u_1+u_2+3u_3\ge3,\quad u\ge0
$$
である。$u=(2,1,0)$ は実行可能で $5\cdot2+8\cdot1=18$ であり、主問題の最適値 $18$ に等しいので、prop-lp-weak により両方とも最適である。相補性条件も確かめられる:最適解 $(3,2)$ では $x+3y=9<12$ なので $u_3=0$ であり、$x,y>0$ なので双対の 2 つの制約は等号 $2+2=4$、$2+1=3$ で成り立つ。$u_i$ は原料 $i$ を 1 トン増やしたときの利益の増え方と解釈でき、原料 III は余っているので値打ちが $0$ である(不等式の表す領域と線形計画法 の注意「双対問題の答えの意味:原料 1 トンの値打ち」)。
単体法(simplex method)は、実行可能領域の頂点から出発し、目的関数の値を減らさずに隣の頂点へ移ることを繰り返して最適解を探す方法である(BV04 §1.2.2、p. 6 は Dantzig の単体法として名前を挙げている)。ここでは、不等式標準形 (P) で $b\ge0$ の場合に、計算の仕組みとその正しさを述べる。スラック変数 $s:=b-Ax$ を加え、$w:=(x,s)\in\mathbb{R}^{n+m}$ とする。(P) の実行可能解は $w\ge0$ を満たす $w$ と 1 対 1 に対応する。
添字の集合 $\{1,\dots,n+m\}$ を $m$ 個からなる $B$ と $n$ 個からなる $N$ に分ける。連立方程式
$$
w_i=\beta_i-\sum_{j\in N}\alpha_{ij}w_j\quad(i\in B),\qquad z=\zeta+\sum_{j\in N}\gamma_jw_j
$$
が、$s=b-Ax$、$z=c\cdot x$ と同じ解 $(w,z)$ の全体をもつとき、これを基底 $B$ の 辞書 という。$\beta\ge0$ のとき 実行可能 であるといい、$w_N=0$、$w_B=\beta$ で決まる点を辞書の 基底解 という。
$b\ge0$ なので、$B$ をスラック変数の添字、$N$ を $x$ の添字とした $s=b-Ax$、$z=c\cdot x$ そのものが実行可能な辞書である。その基底解は $x=0$ である。
要点:1 は、$w_N$ を自由に選べることから係数を比べる。2 は、基底解で $0$ になる $n$ 個の変数が $n$ 本の活性な制約に対応し、辞書によりそれらの等式の解がただ 1 つになることによる。3・4 は、実行可能解では $w\ge0$ であることを $z$ の式に入れる。
1:辞書の形から、$w_N$ に任意の値を与えて $w_B$ を辞書の式で定めれば解が得られる。同じ基底の 2 つの辞書は同じ解の全体をもつので、差をとるとすべての $w_N$ について $\beta_i-\beta_i'=\sum_{j\in N}(\alpha_{ij}-\alpha_{ij}')w_j$ が成り立つ。$w_N=0$ として $\beta=\beta'$、$w_N$ を標準基底のベクトルとして $\alpha=\alpha'$ を得る。$z$ の式も同様である。
2:$j\in N$ について $w_j=0$ は、$w_j=x_j$ なら制約 $-x_j\le0$、$w_j=s_i$ なら制約 $a_i\cdot x\le b_i$ が等号で成り立つことである。この $n$ 本の等式を満たす $x\in\mathbb{R}^n$ は、$w=(x,b-Ax)$ が $w_N=0$ を満たすので、辞書により $w_B=\beta$ となり、ただ 1 つに決まる。$n$ 個の未知数の $n$ 本の 1 次方程式の解がただ 1 つなので、係数ベクトルは $\mathbb{R}^n$ を張る。$\beta\ge0$ より基底解は実行可能なので、多面体 の記事の定理「頂点の特徴づけ」の 3 により頂点である。
3:(P) の実行可能解では $w\ge0$ なので $z=\zeta+\sum_j\gamma_jw_j\le\zeta$ であり、基底解で $z=\zeta$ となる。
4:$w_k=t\ge0$、それ以外の $w_j=0$($j\in N$)とすると $w_i=\beta_i-\alpha_{ik}t\ge0$($i\in B$)なので実行可能で、$z=\zeta+\gamma_kt\to+\infty$ である。$\square$
実行可能な辞書で、$k\in N$ について $\gamma_k>0$ で、$\alpha_{ik}>0$ となる $i\in B$ があるとする。そのような $i$ のうち $\beta_i/\alpha_{ik}$ が最小のものを $r$ とし、$r$ の式を $w_k$ について解いて他の式に代入すると、基底 $(B\setminus\{r\})\cup\{k\}$ の実行可能な辞書が得られ、その定数項は
$$
\zeta'=\zeta+\gamma_k\frac{\beta_r}{\alpha_{rk}}\ge\zeta
$$
である。$\beta_r>0$ なら $\zeta'>\zeta$ である。
要点:比 $\beta_i/\alpha_{ik}$ が最小の行を選ぶので、新しい定数項は $0$ 以上のまま残る。
$r$ の式から $w_k=\bigl(\beta_r-w_r-\sum_{j\in N\setminus\{k\}}\alpha_{rj}w_j\bigr)/\alpha_{rk}$ であり、この書き換えと代入は逆にたどれるので、解の全体は変わらない。新しい定数項は $w_k$ の式で $\beta_r/\alpha_{rk}\ge0$、$i\ne r$ の式で $\beta_i-\alpha_{ik}\beta_r/\alpha_{rk}$ である。後者は、$\alpha_{ik}\le0$ なら $\beta_i$ 以上なので $0$ 以上であり、$\alpha_{ik}>0$ なら $r$ の選び方から $\beta_i/\alpha_{ik}\ge\beta_r/\alpha_{rk}$ なので $0$ 以上である。$z$ の式の定数項は $\zeta+\gamma_k\beta_r/\alpha_{rk}$ になる。$\square$
単体法は、実行可能な辞書から始めて、prop-lp-dictionary の 3 か 4 が当てはまるまでピボットを繰り返す。
単体法の各ピボットで $\beta_r>0$ ならば、単体法は有限回のピボットで止まり、最適解を得るか非有界であることが分かる。
仮定より定数項 $\zeta$ は各ピボットで真に増える。prop-lp-dictionary の 1 により辞書は基底で決まるので、同じ基底は 2 度現れない。基底は高々 $\binom{n+m}{m}$ 通りなので、ピボットは有限回で止まり、止まったときは prop-lp-dictionary の 3 か 4 が当てはまる。$\square$
$\beta_r=0$ となるピボット(退化)では $\zeta$ が増えないので、この議論は使えない。退化した場合の扱いには、この記事では立ち入らない。
ex-lp-production にスラック変数 $s_1,s_2,s_3$ を加えた最初の辞書は
$$
\begin{aligned}
s_1&=5-x-y,\\
s_2&=8-2x-y,\\
s_3&=12-x-3y,\\
z&=4x+3y
\end{aligned}
$$
で、基底解は頂点 $(0,0)$ である。$x$ の係数 $4$ が正なので $k=x$ とすると、比 $5/1$、$8/2$、$12/1$ の最小は $s_2$ の行である。$s_2$ の式を $x$ について解いて代入すると
$$
\begin{aligned}
x&=4-\tfrac12y-\tfrac12s_2,\\
s_1&=1-\tfrac12y+\tfrac12s_2,\\
s_3&=8-\tfrac52y+\tfrac12s_2,\\
z&=16+y-2s_2
\end{aligned}
$$
となり、基底解は頂点 $(4,0)$ で $z=16$ である。次に $k=y$ とすると、比 $4/\frac12=8$、$1/\frac12=2$、$8/\frac52=\frac{16}5$ の最小は $s_1$ の行で、
$$
\begin{aligned}
y&=2-2s_1+s_2,\\
x&=3+s_1-s_2,\\
s_3&=3+5s_1-2s_2,\\
z&=18-2s_1-s_2
\end{aligned}
$$
を得る。$z$ の係数がすべて負なので、prop-lp-dictionary の 3 により頂点 $(3,2)$ が最適解で、最適値は $18$ である。最後の $z$ の式のスラック変数の係数の符号を変えた $(2,1,0)$($s_3$ は基底なので $0$)は、ex-lp-production-dual の双対問題の最適解に一致している。
2 人のプレイヤーが同時に、行のプレイヤーは $m$ 個の行から 1 つ、列のプレイヤーは $n$ 個の列から 1 つを選び、行 $i$・列 $j$ なら列のプレイヤーが行のプレイヤーに $M_{ij}$ を支払うとする。確率ベクトルの集合を $\Delta_m:=\{p\in\mathbb{R}^m\mid p\ge0,\ \sum_ip_i=1\}$ とし、各プレイヤーが確率 $p\in\Delta_m$、$q\in\Delta_n$ で選ぶとき、支払いの期待値は $p^{\mathsf T}Mq$ である。
任意の実行列 $M\in\mathbb{R}^{m\times n}$ について
$$
\max_{p\in\Delta_m}\min_{q\in\Delta_n}p^{\mathsf T}Mq=\min_{q\in\Delta_n}\max_{p\in\Delta_m}p^{\mathsf T}Mq
$$
であり、両辺の最大・最小は達成される。
要点:成分を正にずらし、「最大化 $\mathbf 1\cdot w$、条件 $Mw\le\mathbf 1$、$w\ge0$」とその双対問題に双対定理を当てる。共通の最適値 $V$ で最適解を割ると、両プレイヤーの最適な確率ベクトルが得られ、ゲームの値は $1/V$ である。
すべての成分に定数 $K$ を足すと、$\sum p_i=\sum q_j=1$ より $p^{\mathsf T}Mq$ は $K$ だけ増え、両辺も $K$ だけ増えるので、$M$ の成分はすべて正としてよい。$\mathbf 1$ を成分がすべて $1$ のベクトルとし、 $$\text{最大化 }\mathbf 1\cdot w\quad\text{条件 } Mw\le\mathbf 1,\ w\ge0$$ とその双対問題「最小化 $\mathbf 1\cdot u$、条件 $M^{\mathsf T}u\ge\mathbf 1$、$u\ge0$」を考える。前者は $w=0$ で、後者は $u$ の成分を十分大きくとれば実行可能なので($M$ の成分は正)、thm-lp-strong により最適解 $w^*$、$u^*$ があって $\mathbf 1\cdot w^*=\mathbf 1\cdot u^*=:V$ である。十分小さい $\varepsilon>0$ について $w=\varepsilon\mathbf 1$ が実行可能なので $V>0$ である。
$q^*:=w^*/V$、$p^*:=u^*/V$ とおくと $q^*\in\Delta_n$、$p^*\in\Delta_m$ で、$Mq^*\le\frac1V\mathbf 1$、$M^{\mathsf T}p^*\ge\frac1V\mathbf 1$ である。したがって任意の $p\in\Delta_m$、$q\in\Delta_n$ について $$p^{\mathsf T}Mq^*\le\frac1V\le(p^*)^{\mathsf T}Mq$$ である。すると、任意の $p$ について $\min_qp^{\mathsf T}Mq\le p^{\mathsf T}Mq^*\le\frac1V$ で、$p=p^*$ では $\min_q(p^*)^{\mathsf T}Mq\ge\frac1V$ なので、左辺の最大は $p^*$ で達成されて $\frac1V$ に等しい。同様に右辺の最小は $q^*$ で達成されて $\frac1V$ に等しい($\min_q$、$\max_p$ そのものも、たとえば $\min_qp^{\mathsf T}Mq=\min_j(M^{\mathsf T}p)_j$ と、$\Delta_n$ の頂点 $e_j$ で達成される)。$\square$
$M=\begin{pmatrix}2&-1\\-1&1\end{pmatrix}$ では、$p^*=q^*=(\frac25,\frac35)$ で $M^{\mathsf T}p^*=Mq^*=(\frac15,\frac15)$ となり、ゲームの値は $\frac15$ である。
| 外す条件 | 反例 | 成り立たなくなること |
|---|---|---|
| 目的関数が上に有界(thm-lp-existence) | 最大化 $x$、条件 $x\ge0$ | 最適解が存在する |
| 不等式が等号つき(thm-lp-existence) | 最大化 $x$、条件 $x<1$ | 最適解が存在する(上限 $1$ に達しない) |
| 制約が 1 次式(thm-lp-existence) | 最大化 $-x$、条件 $xy\ge1$、$x,y\ge0$ | 最適解が存在する(上限 $0$ に達しない) |
| 目的関数が 1 次式(thm-lp-existence) | 最大化 $1-e^{-x}$、条件 $x\ge0$ | 最適解が存在する(上限 $1$ に達しない) |
| 直線を含まない(thm-lp-vertex) | $(x,y)$ について最大化 $y$、条件 $y\le1$ | 頂点で最適になる(頂点がない) |
| 両方が実行可能(thm-lp-strong) | 上の $c=(1,1)$、$b=(-1,-1)$ の例 | 最適値が存在して等しい |
どの行も、表の左の条件だけを外している。
1 行目:$x$ はいくらでも大きくとれる。2 行目:$x<1$ の範囲で $x$ の上限は $1$ だが、$x=1$ は条件を満たさない。3 行目:$y=1/x$ とすれば $x>0$ はすべて実行可能で、$-x$ の上限は $0$ だが、$x=0$ では $xy=0<1$ である。4 行目:$1-e^{-x}<1$ で、$x\to\infty$ のとき $1$ に近づく。5 行目:$y=1$ の直線上の点がすべて最適解で、実行可能領域 $\{y\le1\}$ は直線を含み頂点をもたない(多面体 の記事の定理「頂点をもつための条件」)。6 行目:どちらも実行不可能なので最適値がない。2〜4 行目は、それぞれ 1 か所だけを線形計画問題の形から外したもので、ほかの部分(実行可能であること、目的関数が上に有界であること)は満たしている。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する