A First Course in Combinatorial Optimization Chapter 0.4-0.9 岩間研究室 D2 川原 純 0.4 感度分析 • 1ページしかないので、省略 0.5 Polytope • polytope (多面体)についての定理 – – – – – 次元定理 ミンコフスキーの定理 余分な不等式の定理 ファセットの必要性 ファセットの一意性 注意 以下で紹介する定理はすべて幾何学的に自明なことである 多面体の次元 • 定義 多面体 P の次元 dim (P) = (P 内のアフィン独立な点の最大個数) - 1 P が線分の場合 1次元 多角形の場合 2次元 n 次元の多面体 P が n 次元空間にあるとき、 P を full dimensional という。 多面体の場合 3次元 幾何学的な直感と一致 方程式の独立性 • m 本の方程式 a11x1 + a12x2 + … + a1nxn = b1 ... am1x1 + am2x2 + … + amnxn = bn が線形独立であるとは、m 個の点 線形独立であることと定義する。 線形独立でない 2x + 3y = 4 4x + 6y = 8 線形独立である x + 2y = 3 x–y=4 a11 a12 ... a1n b1 a21 am1 a22 am2 ... … ... a2n amn b2 bm が 次元定理 • 定理 n 次元空間にある多面体 P について、 dim(P) = n – e e は「P に属するすべての点が満たす線形独立な 方程式の個数の最大値」 例:2 次元(平面)上にある線分 P 例:2 次元上にある点 P 2x – 4y ≦ 3 P x + 2y ≧ 5 2x – 4y = 3 点も多面体とみなす P 3x – 2y = 4 3x – 2y = 4 方程式の本数は 1 本なので、dim(P) = 2 – 1 = 1 方程式の本数は 2 本なので、 dim(P) = 2 – 2 = 0 次元定理の証明 • X を P の頂点集合とする。 y X = {x, y, z, w} z x 行列を作る w x1 y1 G= z1 w1 x2 y2 z2 w2 x3 y3 z3 w3 1 1 1 1 dim(P) = n – e e は方程式の本数 正確には P = conv(X) 次元定理の証明 • X を P の頂点集合とする。 dim(P) = n – e e は方程式の本数 正確には P = conv(X) y X = {x, y, z, w} z x 行列を作る w x1 y1 G= z1 w1 x2 y2 z2 w2 x3 y3 z3 w3 P の定義より dim(P) = rank(G) - 1 1 1 1 1 (x1, x2, x3) と (y1, y2, y3) が アフィン独立 ⇔ (x1, x2, x3, 1) と (y1, y2, y3, 1) が 線形独立 dim(P) はアフィン独立な点の個数 マイナス1 rank(G) は線形独立な行ベクトルの本数 次元定理の証明 • X を P の頂点集合とする。 dim(P) = n – e e は方程式の本数 正確には P = conv(X) y X = {x, y, z, w} P の定義より z x 行列を作る w α1 α2 α3 β x1 y1 G= z1 w1 ∈ Ker(G) なら x2 y2 z2 w2 α1 α G 2 α3 β dim(P) = rank(G) - 1 x3 y3 z3 w3 1 1 1 1 線形代数の rank-nullity 定理(次元定理)より dim(Ker(G)) + rank(G) = n + 1 (G の列は n + 1 個なので) 2 式から dim(P) = n – dim(Ker(G)) ~ ~ ~ α1x1 + α2x2 + α3x3 + β’ = 0 = 0 より、 Ker(G) の次元 = 線形独立な方程式の本数 e となる ~ x = λ1x + λ2y + λ3z + λ4w α1x1 + α2x2 + α3x3 + β = 0 α1y1 + α2y2 + α3y3 + β = 0 α1z1 + α2z2 + α3z3 + β = 0 α1w1 + α2w2 + α3w3 dim(P) = n – e e は方程式の本数 λ1 + λ2 + λ3 + λ4 = 1 次元定理の証明 +β=0 2t 3t 4t 5t ~ なので、任意の x ∈P について ~ ~ α1•x1 +Xα2を x2~+P α3xの頂点集合とする。 Ker(G) = 3 + β’ = 0 y t は実数 X = {x, y, z, w} の例で考えてみると、 z x 行列を作る w α1 α2 α3 β x1 y1 G= z1 w1 ∈ Ker(G) なら x2 y2 z2 w2 α1 α G 2 α3 β x3 y3 z3 w3 1 1 1 1 ⇔ 2t x1 + 3t x2 + 4t x3 + 5t = 0 2 x1 + 3 x2 + 4 x3 + 5 = 0 Ker(G) からは独立な方程式は1本しか作れない 2 式から dim(P) = n – dim(Ker(G)) ~ ~ ~ α1x1 + α2x2 + α3x3 + β’ = 0 = 0 より、 Ker(G) の次元 = 線形独立な方程式の本数 e となる face (フェイス) と facet (ファセット) • が多面体 P に対し有効であるとは、 P に属するすべての点がこの不等式を満たすこと。 • 有効な不等式は face を描く。 例:2 次元(平面)上にある多角形 P 6x – 3y ≦2 2x – 4y ≦ 3 有効な不等式 P face (facet) face (extreme point) 有効な不等式 P 0 次元の face を extreme point、 dim(P) – 1 次元の face を facet と呼ぶ face を表す式 2x – 4y ≦ 3 P: 有効な不等式 P face (facet) 3x + 4y ≦ 5 x + 2y ≦ 3 2x – 4y ≦ 3 2x – 4y = 3 3x + 4y ≦ 5 F : 3x + 4y ≦ 5 x + 2y ≦ 3 x + 2y ≦ 3 ミンコフスキーの定理 • 定理 かつ、P が有界のとき、P は多面体である。 証明 X を P の extreme point の集合とする。明らかに conv(X) ⊂ P である。 ~ P conv(X) となる x が存在すると仮定して 矛盾を示す。 X は extreme point の集合 ミンコフスキーの定理の証明 x2 x1 y conv(X) X = { x1, x2, x3 } x3 なので、 成分にわけてかくと conv(X) の中の点は y = λx1 x1 + λx2 x2 + λx3 x3 λx1 + λx2 + λx3 = 1 とかける を満たすような λx は存在しない。 を満たすような λx は存在しない。 X は extreme point の集合 ミンコフスキーの定理の証明 Farkas の定理 (I), (II) のいずれか一方のみが解をもつ (I) を満たすような λx は存在しない。 Farkas の定理より、 (II) を満たす t 、c は存在する。 X は extreme point の集合 ミンコフスキーの定理の証明 ~ ≧ -t xは ~ x P <-t ≧ -t ≧ -t を満たすような λx は存在しない。 Farkas の定理より、 の実行可能解で、値は -t 未満となるが、 すべての extreme point での値は -t 以上 となるので、矛盾。 を満たす t 、c は存在する。 余分な不等式の定理 • 定理 P の dim(P) – 1 次元未満の face を描く 有効な不等式は余分である。 P を表す式として不要である。 例:2 次元(平面)上にある多角形 P 6x – 3y ≦2 2x – 4y ≦ 3 余分ではない P face 0 次元 余分である P face 1 次元 jump 20 定理 P の dim(P) – 1 次元未満の face を描く有効な不等式は余分である。 余分な不等式の定理の証明 P を表す式を 線形独立 とすると、 とする。 を満たす が存在する。 次元定理より、dim(P) = n – k である。 が成り立つ。 定理 P の dim(P) – 1 次元未満の face を描く有効な不等式は余分である。 定理の証明の続き • 一般性を失うことなく、face F を描く不等式を とする。 x と x1 を結んだ線分上に x2 が存在。 が成り立つ。 この不等式は P を表すのに余分でないと 仮定する。 以下を満たす x1 が存在 x2は F 内にあるので、 が成り立つ。 ファセットの必要性 • 定理 多面体 P の各ファセット F について、F を 描く有効な不等式は、 P を表すのに必要である。 2x – 4y ≦ 3 P facet jump 22 •定理 多面体 P の各ファセット F について、F を描く有効な不等式は、 P を表すのに必要 定理の証明 線形独立 P ⊂ Rn dim(P) = n ファセットの一意性 • 定理 (Unique Description Theorem) P を full-dimensional な多面体とする。 P のファセットを描く有効な不等式は(定数倍を除き) 一意に定まる。 逆に、フェイスF が(定数倍を除き)一意な不等式で 表されるなら、F は P のファセットである。 2x – 4y ≦ 3 P facet jump 24 定理 ファセットの不等式は一意に定まる。逆に、一意に定まるフェイスの不等式はファセット。 定理の証明 0.6 ラグランジュ緩和 • f を Rm → R なる凸関数とする。 ~ が成り立つとき、h ∈ Rm ~ を f の π における劣勾配とよぶ。 ~ f 傾き h f がπで微分可能なら 劣勾配は一意に定まる (勾配と同じ) ~ π π 0.6 ラグランジュ緩和 • f を Rm → R なる凸関数とする。 ~ が成り立つとき、h ∈ Rm ~ を f の π における劣勾配とよぶ。 f ~ 傾き h 微分不可能なとき、 劣勾配は複数の値をとりうる ~ π π 劣勾配法 • 凸関数 f の最小化を考える 劣勾配法 1. 2. 3. 4. 5. m を選ぶ。 k~:= 0 にし、π~0 ∈R ~ k π での劣勾配 hk を計算する(1つ選ぶ) ステップサイズ λk (> 0) を選ぶ ~ ~k+1 ~ k k π := π – λk h ~ 終了条件(hk = 0)を満たさないならステップ2へ f λ1 ~ h1 λ0 ~ ~ ~ π2 π1 π0 π ~ h0 ステップサイズλk の選び方は いろいろある 凸関数 f の最小化 劣勾配法 1. 2. 3. 4. 5. m を選ぶ。 k~:= 0 にし、π~0 ∈R ~ k π での劣勾配 hk を計算する(1つ選ぶ) ステップサイズ λk (> 0) を選ぶ ~ ~k+1 ~ k k π := π – λk h ~ 終了条件(hk = 0)を満たさないならステップ2へ 勾配ベクトルの 逆向き λ1 ~ h1 λ0 ~ ~ π2 ~ π1 π0 ~ h0 ラグランジュ緩和 subject to subject to (P’) (P) for i = 1,2,...,m x∈P P と P’ の最適解は同じである。 for i = 1,2,...,m x∈P ラグランジュ緩和 subject to subject to (P’) (P) for i = 1,2,...,m for i = 1,2,...,m x∈P x∈P P と P’ の最適解は同じである。 (P’’) P’’ を P のラグランジュ緩和という P の最適解 ≦ P’’ の最適解 subject to x∈P 制約条件が不等式の場合 ラグランジュ緩和 subject to 非負の数 subject to (P’) (P) for i = 1,2,...,m x∈P L(π)を P のラグランジュ緩和という P の最適解 ≦ L(π) の最適解 for i = 1,2,...,m x∈P 非負の数 (L(π)) subject to x∈P 制約条件を破ったときの 罰金とみなすことができる ラグランジュ緩和定理 (L(π)) subject to x ∈ P C := { π∈Rm | π ≧ 0 } a. 任意のπ∈C について、 (P)の最適解 ≦ (L(π)) の最適解 b. f は凸、区分的に線形。 ~ ~ ~ c. π∈ C、x が (L(π)) の最適解、 ~ h ∈ Rmを、 ~ h := 等号が成立するπは存在 ~ ~ とすると、h は f のπでの劣勾配となる。 f この定理からいえること f の最小値を求めれば、 (P)の最適解がわかる。 f は凸なので、劣勾配法が 使える。しかも、劣勾配は 簡単に求まる。 例題 P = { (x1, x2) | 0 ≦ x1, x2 ≦ 1} z = max x1 + x2 (P) subject to 3x1 – x2 ≦ 1 x1 + 3x2 ≦ 2 x∈P P の最適解を求めるため、 ラグランジュ緩和問題 L(π1, π2) の 関数 f の最小値を求める L(π1, π2) f (π1, π2) = π1 + 2π2 + max { (1 – 3π1 – π2) x1 + (1 + π1 – 3 π2) x2 } subject to x∈P L(π1, π2) P = { (x1, x2) | 0 ≦ x1, x2 ≦ 1} f (π1, π2) = π1 + 2π2 + max { (1 – 3π1 – π2) x1 + (1 + π1 – 3 π2) x2 } subject to x∈P 1 – 3π1 – π2 ≧ 0 のとき、x1 = 1 にすると f が最大になる 1 +π1 – 3π2 ≧ 0 のとき、x2 = 1 にすると f が最大になる – 3π1 – π2 ≧ 0 かつ 1 +π1 – 3π2 ≧ 0 のとき、 f (π1, π2) = 2 – π1 – 2π2 π2 π1 + 2π2 したがって、 1 残り3通りも同様に計算をする 1 – 2π1 + π2 1 +π1 – 3π2 = 0 2/5 1 + 2π1 – π2 π1 2 – π1 – 2π2 1/5 1 – 3π1 – π2 = 0 L(π1, π2) P = { (x1, x2) | 0 ≦ x1, x2 ≦ 1} f (π1, π2) = π1 + 2π2 + max { (1 – 3π1 – π2) x1 + (1 + π1 – 3 π2) x2 } subject to x∈P この例では簡単に f の式が 求まったが、一般には劣勾配法で f の最小値を求める π2 π2 π1 f はπ1 = 1/5, π2 = 2/5 のとき、 最小値をとる f(1/5, 2/5) = 1 これは (P) の最適解 π1 1 – 2π1 + π2 + 2π2 1 +π1 – 3π2 = 0 2/5 1 + 2π1 – π2 π1 2 – π1 – 2π2 1/5 1 – 3π1 – π2 = 0 ラグランジュ緩和定理 c の確認 1 + 2π1 – π2 ~ 0.8 π= 0.2 ~ fは x= ~ = 1 2 = 2 -1 h := ~ ~ とすると、h は f のπでの劣勾配となる。 0 1 で最小値をとる ~ h := ~ ~ π∈ C、x ~ が (L(π)) の最適解、 ~ h ∈ Rmを、 ~ ~ のとき、 – 3 -1 0 1 3 1 0.7 双対シンプレックス法 • 直接シンプレックス法を使うより、双対問題に対し、 シンプレックス法を使うほうが簡単なことが あるという話。 • 1ページしかないので省略。 0.8 完全単模行列とグラフ • ある種の組み合わせ最適化問題はLPで簡単に解ける 準備 単模行列 : det(A) = ±1 を満たす正方行列 A 完全単模行列 : 任意の部分正方行列の行列式が 0, 1, -1 の いずれかになる行列 (正方でなくてもよい) 次ページに例 有向グラフの行列表現 単模行列 : det(A) = ±1 を満たす正方行列 A 完全単模行列 : 任意の部分正方行列の行列式が 0, 1, -1 の いずれかになる行列 頂点・枝 接続行列 e2 v2 e4 e5 e1 e2 e3 e4 e5 e6 v3 v1 e 1 e3 v5 e6 v4 v1 v2 v3 v4 v5 1 1 0 0 0 0 0 -1 0 1 1 0 0 -1 0 0 0 0 0 1 0 -1 1 0 0 0 -1 -1 0 -1 枝の始点に 1 、終点に -1 縦には 1 と -1 がひとつずつ並ぶ(他は0) 頂点・枝 接続行列は完全単模行列である。 完全単模行列 : 任意の部分正方行列の行列式が 0, 1, -1 のいずれかになる行列 頂点・枝 接続行列は完全単模行列 定理 頂点・枝 接続行列は完全単模行列である。 部分正方行列のサイズ n についての帰納法 証明 頂点・枝 接続行列 e1 e2 e3 e4 e5 e6 v1 v2 v3 v4 v5 1 1 0 0 0 0 0 -1 0 1 1 0 0 -1 0 0 0 0 0 1 0 -1 1 0 0 0 -1 -1 0 -1 n = 1 のときは明らか ある行(列)のすべてが 0 なら det(B) = 0 ある行(列)に非0 が 1 個、残りが 0 のとき 行列式の展開、帰納法 それ以外のとき すべての行、列に非0 が 2 つある 足し算で要素を1つ消す 詳細は省略 完全単模行列は何が嬉しいか? • 定理 Ax ≦ b で表される多面体を P’ とする。 A が完全単模行列で、b の成分がすべて整数なら、 P’ のすべての extreme point (の成分)は整数である。 組み合わせ最適化問題 extreme point 整数計画法に定式化 完全単模行列になった! 整数条件を抜いた問題(線形計画法)を解く それが元の問題の解になる (厳密でない)証明 Ax ≦ b 1 0 -1 -1 1 1 0 -1 x y ≦ 2 3 -1 4 完全単模行列 x* を extreme point とする。 extreme point は 0 次の facet なので、 制約条件から適切に n 本とってきて、 x1* x2* 1 0 -1 -1 extreme point 完全単模行列 改めて、これを det (Ai) = 2 3 等号 が成り立つ。 i 列目 a11 b1 a1n a21 ... b2 ... a2n ... ... ... an1 bn ann = A x* = b クラメルの公式より、 xi* = det (Ai) とかく 整数 = 整数 det (A) ±1 定理の逆 • 定理 Ax ≦ b で表される多面体を P’ とする。 すべての整数ベクトル b について、 P’ のすべての extreme point (の成分)が整数なら、 A は完全単模行列である。 証明は略 : Konig の定理 • 定理 G を2部グラフとする。G の最大マッチングの 枝数と、最小頂点被覆の数は等しい。 2 部グラフ マッチング 最大マッチングは 2 頂点被覆 任意の枝は黄色の点に接続 最小頂点被覆は 2 定理 G の最大マッチングの枝数と、最小頂点被覆の数は等しい。 : Konig の定理の証明 証明 最大マッチングを求める問題を整数計画法で定式化する。 x1 x2 x5 x3 x4 x1 + s1 = 1 x2 + x3 + x4 + s2 = 1 x5 + s3 = 1 x1 + x5 + s4 = 1 ... 係数行列は完全単模である。 整数計画→線形計画に緩和してよい 定理 G の最大マッチングの枝数と、最小頂点被覆の数は等しい。 : Konig の定理の証明 y4 y1 y5 y2 y6 y3 y1 + y4 ≧ 1 y2 + y5 ≧ 1 ... y7 双対をとる これは、最小頂点被覆の 定式化になっている。 Hall の定理 • 定理 G を2部グラフ、各部の頂点集合を V1(G)、 V2(G) とする。 G は V1(G) をすべて含むマッチングをもつ すべての W ⊂ V1(G) について、 | N(W) | ≧ |W| N(W) は W から出る枝のもう一方の頂点 証明は略 連続1行列 • 連続1行列 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 • 定理 0 0 0 0 1 1 1 1 1 1 列が 000...0111...1000...0 と並ぶ行列 1 1 1 1 1 1 1 0 0 0 連続1行列は完全単模行列である。 証明 部分正方行列の次数に関する帰納法で証明すればよい(略) 応用例 • シフト計画 シフト種類 シフトに入る人数 その時刻に必要なシフト人数 A B C D 1 2 3 4 5 時刻 6 7 8 9 10 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 x1 x2 x3 x4 ≧ 2 3 7 5 4 1 7 4 6 4 min c1x1 + c2x2 + c3 x3 + c4 x4 シフト種類の単価 連続1行列 0.9 Further Study • 省略
© Copyright 2024 ExpyDoc