Upgrade to Pro — share decks privately, control downloads, hide ads and more …

線形計画法-2-双対問題-双対定理-双対単体法-20260707

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for TomNJP TomNJP
July 23, 2026
72

 線形計画法-2-双対問題-双対定理-双対単体法-20260707

Avatar for TomNJP

TomNJP

July 23, 2026

Transcript

  1. 数理最適化 2 双対問題 / 双対定理 / 双対単体法 中島 智哉 電気通信大学

    / 経営・社会情報学プログラム / 学部 3 年 2026/7/7 中島智哉|電気通信大学 1
  2. 一般的な標準形の双対問題の導出 (1) 一般的な標準形の線形計画問題(主問題)を以下に定義 最大化 条件 n X j=1 n X

    cj xj aij xj ≤ bi i = 1, . . . , m (1) j=1 xj ≥ 0 j = 1, . . . , n 各制約条件に非負の係数 yi を掛けて足し合わせる   m n m X X X   yi aij xj ≤ yi bi i=1 中島智哉|電気通信大学 j=1 (2) i=1 7
  3. 一般的な標準形の双対問題の導出 (2) 左辺を xj についてまとめると以下の不等式が得られる ! n m m X

    X X xj aij yi ≤ yi bi j=1 i=1 (3) i=1 P 任意の実行可能解は xj ≥ 0 を満たすため左辺の xj の係数が m i=1 aij yi ≥ cj を満たせば 上界が求められる ! n n m m X X X X cj xj ≤ xj aij yi ≤ yi bi (4) j=1 中島智哉|電気通信大学 j=1 i=1 i=1 8
  4. 変数に非負制約がない線形計画問題 (1) 次に変数に非負制約がない線形計画問題(主問題)を考える 最大化 n X cj xj (6) j=1

    条件 n X aij xj ≤ bi i = 1, . . . , m j=1 各制約条件に非負の係数 yi を掛けて足し合わせ左辺を xj についてまとめる ! n m m X X X xj aij yi ≤ yi bi j=1 中島智哉|電気通信大学 i=1 (7) i=1 10
  5. 変数に非負制約がない線形計画問題 (2) xj が負の値をとる場合 i=1 aij yi ≥ cj を満たしても以下の関係が成り立たない

    Pm n X xj j=1 したがって条件を ! aij yi i=1 ≥ n X (8) cj xj j=1 i=1 aij yi = cj と変更すれば上界が求められる Pm n X j=1 中島智哉|電気通信大学 m X cj xj = n X j=1 xj m X i=1 ! aij yi ≤ m X yi bi (9) i=1 11
  6. 変数に非負制約がない線形計画問題 (3) 変数に非負制約がない線形計画問題の双対問題は以下のように定式化される 最小化 条件 m X i=1 m X

    bi yi aij yi = cj j = 1, . . . , n (10) i=1 yi ≥ 0 i = 1, . . . , m 主問題の変数に非負制約がない場合は双対問題の制約条件は等式となる 中島智哉|電気通信大学 12
  7. 等式制約からなる線形計画問題 (1) 最後に等式制約からなる線形計画問題(主問題)を考える 最大化 条件 n X j=1 n X

    cj xj aij xj = bi i = 1, . . . , m (11) j=1 xj ≥ 0 j = 1, . . . , n 制約条件に係数 yi を掛けて足し合わせ左辺を xj についてまとめる ! n m m X X X xj aij yi = yi bi j=1 中島智哉|電気通信大学 i=1 (12) i=1 13
  8. 等式制約からなる線形計画問題 (2) 制約条件が等式であるため係数 yi は負の値をとることも許容される P xj は非負であるため左辺の xj の係数が

    m i=1 aij yi ≥ cj を満たせば上界が求められる ! n n m m X X X X cj xj ≤ xj aij yi = yi bi (13) j=1 j=1 i=1 i=1 等式制約からなる線形計画問題の双対問題は以下のように定式化される 最小化 条件 m X i=1 m X bi yi (14) aij yi ≥ cj j = 1, . . . , n i=1 主問題の制約が等式である場合は双対問題の変数に非負制約がなくなる 中島智哉|電気通信大学 14
  9. 主問題と双対問題の行列表記 対応する以下の 主問題 (P) と双対問題 (D) を考える (P) 最大化 c>

    x 条件 Ax = b, x≥0 (D) 最小化 b> y 条件 A> y ≥ c (15) A ∈ Rm×n , b ∈ Rm , c ∈ Rn , x ∈ Rn , y ∈ Rm と定義 n > m かつ A のすべての行ベクトルが 1 次独立であると仮定 中島智哉|電気通信大学 16
  10. 弱双対定理 弱双対定理 x と y がそれぞれ主問題 (P) と双対問題 (D) の実行可能解ならば

    c> x ≤ b > y (16) が成り立つ. 証明 主問題 (P) と双対問題 (D) の制約条件から c> x ≤ (A> y)> x = y > (Ax) = y > b が成り立つ. 中島智哉|電気通信大学 (17)  17
  11. 弱双対定理の系 弱双対定理の系 主問題 (P) と双対問題 (D) のいずれか一方が非有界ならば他方は実行不能である. 証明 背理法を用いる.主問題 (P)

    が非有界のとき,双対問題 (D) に実行可能解 y が存在すると仮 定する.定理 2.1 より,主問題 (P) の任意の実行可能解 x に対して c> x ≤ b > y (18) が成り立つ.これは,主問題 (P) が非有界であることに反するため,双対問題 (D) に実行可 能解は存在しない.双対問題 (D) が非有界の場合も同様である.  中島智哉|電気通信大学 18
  12. 強双対定理 強双対定理 主問題 (P) に最適解 x∗ が存在すれば,双対問題 (D) にも最適解 y

    ∗ が存在し, c> x∗ = b> y ∗ (19) が成り立つ. 主問題と双対問題が実質的に等価であることを示す 中島智哉|電気通信大学 19
  13. 強双対定理の証明 証明 主問題 (P) に単体法を適用して得られた最適基底解を x∗ = (x∗B , x∗N

    ) とする.最適値は以下 のように表せる. −1 > −1 > > ∗ c> x ∗ = c> (20) B B b + (cN − N (B ) cB ) xN x∗ は最適基底解なので,cN − N > (B −1 )> cB ≤ 0 が成り立つ.A = (B N ) より c − A> (B −1 )> cB ≤ 0 が成り立つ.ここで,y = (B −1 )> cB とおくと,c − A> y ≤ 0 が満た されるので y は双対問題 (D) の実行可能解である.また, b> y = b> (B −1 )> cB = (B −1 b)> cB = (x∗B )> cB = c> x∗ が成り立つ.すなわち,y は双対問題 (D) の最適解である. 中島智哉|電気通信大学 (21)  20
  14. 相補性定理 相補性定理 主問題 (P) の実行可能解 x と双対問題 (D) の実行可能解 y

    がともに最適解であるための 必要十分条件は ! m X xj aij yi − cj = 0, j = 1, . . . , n (22) i=1 が成り立つことである. 中島智哉|電気通信大学 21
  15. 相補性定理の証明 証明 x∗ , y ∗ がそれぞれ主問題 (P) と双対問題 (D)

    の最適解ならば,強双対定理より, c> x∗ = b> y ∗ (23) が成り立つ.また,x∗ は主問題 (P) の実行可能解なので Ax∗ = b が成り立つ.これを上式に 代入すると, c> x∗ = (Ax∗ )> y ∗ (24) が得られる.この式を整理すると, (x∗ )> (A> y ∗ − c) = 0 (25) となる. 中島智哉|電気通信大学 22
  16. 相補性定理の証明 ここで,x∗ ≥ 0, A> y ∗ ≥ c なので,前ページの式は

    ! m X x∗j aij yi∗ − cj = 0, j = 1, . . . , n (26) i=1 と同値である.逆に,条件が成り立てば,ここから c> x∗ = b> y ∗ が得られる.  上記の条件を相補性条件と呼ぶ 主問題が不等式制約 Ax ≤ b の場合は以下の条件もあわせて相補性条件と定義   n X yi bi − aij xj  = 0, i = 1, . . . , m (27) j=1 中島智哉|電気通信大学 23
  17. 主問題の辞書の導出 1 標準形の主問題にスラック変数を導入して等号制約とした次を考える. (P ) 最大化 c> x 条件 Ax

    = b, x≥0 (28) ここで, A ∈ Rm×n , b ∈ Rm , c ∈ Rn , x ∈ Rn また,n > m であり,A の行ベクトルは 1 次独立とする. 中島智哉|電気通信大学 26
  18. 主問題の辞書の導出 2 添字集合を B, N ⊂ {1, . . .

    , n}, |B| = m, |N | = n − m, B∩N =∅ とする. B :基底変数の添字集合 N :非基底変数の添字集合 B ∈ Rm×m :A の列のうち,添字集合 B に対応する部分行列 N ∈ Rm×(n−m) :A の列のうち,添字集合 N に対応する部分行列 以降,B は正則行列であるとする. 中島智哉|電気通信大学 27
  19. 主問題の辞書の導出 3 A = (B, N ) と書ける. 変数ベクトルと目的関数の係数ベクトルも同様に分割する. 

       xB cB x= , c= xN cN ここで, xB , cB ∈ Rm , xN , cN ∈ Rn−m である. 中島智哉|電気通信大学 28
  20. 主問題の辞書の導出 4 制約式に代入すると, BxB + N xN = b である.

    B は正則より, xB = B −1 b − B −1 N xN と変形できる. 目的関数に代入すると, zP 中島智哉|電気通信大学 −1 > −1 > = c> B B b + cN − N (B ) cB > xN (29) 29
  21. 主問題の辞書の導出 5 次の記号を用いると, c̄N = cN − N > (B

    −1 )> cB , b̄ = B −1 b, N̄ = B −1 N 主問題の辞書は > zP = c> B b̄ + c̄N xN , これを行列でまとめると,  zP xB  xB = b̄ − N̄ xN  >   1 cB b̄ c̄> N = xN b̄ −N̄ (30) この辞書では,xB が基底変数,xN が非基底変数である. 中島智哉|電気通信大学 30
  22. 双対問題の辞書の導出 1 主問題に対応する双対問題は (D) 最小化 b> y 条件 A> y

    ≥ c 双対問題の制約にスラック変数 s を導入すると, A> y − s = c, s≥0 代入して添字集合ごとに分けると, B > y − s B = cB N > y − s N = cN 中島智哉|電気通信大学   s= sB sN  (31) 31
  23. 双対問題の辞書の導出 2 B > y − sB = cB から,

    y = (B −1 )> cB + (B −1 )> sB これを N > y − sN = cN に代入する. sN  = − cN − N > (B −1 )> cB + N > (B −1 )> sB = −c̄N + N̄ > sB (32) よって,双対問題の辞書では,sB が非基底変数,sN が基底変数となる. 中島智哉|電気通信大学 32
  24. 双対問題の辞書の導出 3 標準形に変形するために双対問題の目的関数 b> y に -1 を掛ける. zD =

    −b> y y = (B −1 )> cB + (B −1 )> sB を代入すると, zD = −b> (B −1 )> cB − b> (B −1 )> sB −1 −1 > = −c> B B b − (B b) sB (33) > = −c> B b̄ − b̄ sB 中島智哉|電気通信大学 33
  25. 双対問題の辞書の導出 4 したがって,双対問題の辞書は > zD = −c> B b̄ −

    b̄ sB , sN = −c̄N + N̄ > sB これを行列でまとめると,  zD sN   >   cB b̄ b̄> 1 =− > sB c̄N −N̄ (34) この辞書では,sN が基底変数,sB が非基底変数である. 中島智哉|電気通信大学 34
  26. 主問題と双対問題の辞書の比較 主問題の辞書は  zP xB 双対問題の辞書は  zD sN 

     =  >   1 cB b̄ c̄> N xN b̄ −N̄  >   cB b̄ b̄> 1 =− > sB c̄N −N̄ 主問題と双対問題では基底・非基底の添字集合 B, N が逆になる. (転置により主問題の辞書から双対問題の辞書を得ることも出来る) 中島智哉|電気通信大学 35
  27. 双対問題のピボット操作 双対問題に主単体法を適用する. 双対問題の現在の基底添字集合は N ,非基底添字集合は B である. sp : 非基底変数

    → 基底変数, sq : 基底変数 → 非基底変数 (p ∈ B, q ∈ N ) とピボット操作を行ったとき,ピボット後の B 0 , N 0 はそれぞれ以下の通り変化 B 0 = (B \ {p}) ∪ {q} 0 N = (N ∪ {p}) \ {q} 中島智哉|電気通信大学 (35) (36) 36
  28. 主問題から見た双対問題のピボット操作 主問題と双対問題の基底・非基底の添字集合 B, N の対応関係より, 前ページの双対問題でのピボット操作は,主問題で xp : 基底変数 →

    非基底変数, xq : 非基底変数 → 基底変数 とピボットすることと等価. すなわち,双対問題において主単体法のピボット操作を行うことと等価の処理を、 主問題の辞書上で,双対問題のピボット操作対象と同じ添字の要素に逆向きの操作を行うこ とで実現できる 中島智哉|電気通信大学 37
  29. 双対単体法の基本的な流れ 次の形の標準形の辞書を考える. z = z̄ − X c̄j xj j∈N

    X xi = b̄i − āij xj (∀c̄j ≤ 0), (i ∈ B, ∃b̄i < 0) (37) j∈N 双対単体法では,上記のような最適性条件を満たすものの制約条件を違反しており実行不能 な初期状態から開始し,最適性条件を保ちつつ実行可能となるまで操作を繰り返す. 中島智哉|電気通信大学 38
  30. 双対単体法のアルゴリズム 1 すべての基底変数について b̄i ≥ 0 ならば,現在の辞書は最適であるため終了. 2 minb̄i <0

    b̄i = b̄p となる p を算出 3 p 行が全て āpj ≤ 0 ならば,主問題は実行可能でないので終了 4 q mināpj >0 āpjj = āpq となる q を算出. 5 以下のようにピボットする. c̄ c̄ xp : 基底変数 → 非基底変数, 6 xq : 非基底変数 → 基底変数 1 に戻る 中島智哉|電気通信大学 39
  31. 主問題 次の線形計画問題を考える. 最大化 zP = x1 + 2x2 条件 x1

    + x2 ≤ 6 x1 + 3x2 ≤ 12 2x1 + x2 ≤ 10 x1 , x 2 ≥ 0 (38) スラック変数 x3 , x4 , x5 を導入すると 最大化 zP = x1 + 2x2 条件 x1 + x2 + x3 = 6 x1 + 3x2 + x4 = 12 2x1 + x2 + x5 = 10 x1 , x2 , x3 , x4 , x5 ≥ 0 中島智哉|電気通信大学 (39) 41
  32. 主問題の最適な辞書 主問題の最適な辞書の 1 つとして次を得たとする. zP = 9 − 12 x3

    − 12 x4 x1 = 3 − 32 x3 + 12 x4 x2 = 3 + 12 x3 − 12 x4 (40) x5 = 1 + 52 x3 − 12 x4 中島智哉|電気通信大学 42
  33. 制約条件の定数項を変更した場合 第 2 制約の定数項を 12 −→ 9 と変更したときを考える. 変更後の問題は次である. 最大化

    zP = x1 + 2x2 条件 x1 + x2 + x3 = 6 x1 + 3x2 + x4 = 9 2x1 + x2 + x5 = 10 x1 , x2 , x3 , x4 , x5 ≥ 0 中島智哉|電気通信大学 (41) 43
  34. 変更直後の主問題の辞書 変更前の基底変数をそのまま用いると,主問題の辞書は次となる. zP = x1 = x2 = x5 =

    15 1 1 2 − 2 x3 − 2 x4 9 3 1 2 − 2 x3 + 2 x4 3 1 1 2 + 2 x3 − 2 x4 − 12 + 52 x3 − 12 x4 (42) 目的関数の係数はすべて 0 以下で最適.一方 x5 = − 12 < 0 より現在の基底解は実行不能. したがって双対単体法を適用する. 中島智哉|電気通信大学 44
  35. アルゴリズム ステップ 1 1.すべての基底変数について b̄i ≥ 0 ならば現在の辞書は最適であるため終了 主問題(双対単体法) zP

    x1 x2 x5 1 1 = 15 2 − 2 x3 − 2 x4 = 92 − 32 x3 + 12 x4 = 32 + 12 x3 − 12 x4 = − 12 + 52 x3 − 12 x4 b̄5 = − 12 < 0 より実行可能でないため終了し 双対問題(主単体法) zD s3 s4 = = = 9 3 1 − 15 2 − 2 s1 − 2 s2 + 2 s5 1 3 1 5 2 + 2 s1 − 2 s2 − 2 s5 1 1 1 1 2 − 2 s1 + 2 s2 + 2 s5 目的関数に係数が正の非基底変数 s5 があり最適 でないため終了しない. ない. 対応関係:双対問題が最適でないことは主問題が実行可能でないことに対応 補足 1:双対問題の辞書は 14 ページより主問題の辞書の転置によって得られる 補足 2:本来は双対問題の辞書は不要だが説明のために導出 中島智哉|電気通信大学 45
  36. アルゴリズム ステップ 2 2.minb̄i <0 b̄i = b̄p となる p

    を算出 主問題(双対単体法) 最も制約違反の大きい変数を選択 双対問題(主単体法) 目的関数値を最も増加させる変数を選択 p = 5 → x5 が s5 が 基底変数 → 非基底変数 非基底変数 → 基底変数 対応関係:双対問題で最大係数規約に従う変数選択を行うことと双対単体法のステップ 2 は等価 中島智哉|電気通信大学 46
  37. アルゴリズム ステップ 3:実行不能性の判定 3.p 行が全て āpj ≤ 0 ならば主問題は実行可能でないので終了 主問題(双対単体法)

    x5 の行の辞書の式: 1 5 1 x5 = − + x3 − x4 2 2 2 非基底変数の係数に正のものが存在する. 主問題は実行可能にできる見込みがあり,終了し ない. 双対問題(主単体法) s5 の増分の制約式: 1 5 − s5 ≥ 0 2 2 1 1 s4 = + s5 ≥ 0 2 2 s3 = s5 の増加を制限する式(係数が負)が存在する. s5 を無限に増加でき非有界のとき,弱双対定理の 系より主問題は実行不能. 対応関係:双対問題が非有界かの判定を主問題の辞書で行うことで,主問題が実行可能かを判定 している 中島智哉|電気通信大学 47
  38. アルゴリズム ステップ 4 q 4.mināpj >0 āpjj = āpq となる

    q を算出. c̄ c̄ 主問題(双対単体法) ā5j > 0 となるのは x3 のみ. 双対問題(主単体法) 移動先の隣接頂点を選択. よって q = 3. 1 1 1 5 − s5 ≥ 0 → s5 = 25 ≤ 2 2 5 2 1 1 s4 = + s5 ≥ 0 → 制限なし 2 2 x3 : 非基底変数 → 基底変数 s5 は 15 まで増やせる. 1 1 c̄3 = 25 = ā5,3 5 2 s3 = s3 : 基底変数 → 非基底変数 対応関係:双対問題で s5 の増分の上限を導出して移動先の隣接頂点を選択する際の比率計算と 等価な操作を主問題の辞書で行っている 中島智哉|電気通信大学 48
  39. アルゴリズム ステップ 5 5.以下のようにピボット xp : 基底変数 → 非基底変数,xq :

    非基底変数 → 基底変数 主問題(双対単体法) x5 の行を x3 について解く. x5 x3 = − 12 + 52 x3 − 12 x4 ↓ = 15 + 15 x4 + 25 x5 これを他の式へ代入し,辞書を更新する. 双対問題(主単体法) s3 の行を s5 について解く. s3 s5 = ↓ = 1 3 1 5 2 + 2 s1 − 2 s2 − 2 s5 1 3 1 2 5 + 5 s1 − 5 s2 − 5 s3 これを他の式へ代入し,辞書を更新する. 対応関係:双対問題における s3 と s5 のピボットと等価の操作を,主問題で x5 と x3 をピボット することで実現できる 中島智哉|電気通信大学 49
  40. ステップ 6 → ステップ 1:更新後の辞書と終了判定 6.1 に戻る 1.すべての基底変数について b̄i ≥

    0 ならば現在の辞書は最適であるため終了 主問題(双対単体法) zP x1 x2 x3 = = = = 37 3 1 5 − 5 x4 − 5 x5 21 1 3 5 + 5 x4 − 5 x5 8 2 1 5 − 5 x4 + 5 x5 1 1 2 5 + 5 x4 + 5 x5 双対問題(主単体法) zD s5 s4 21 8 1 = − 37 5 − 5 s1 − 5 s2 − 5 s3 1 3 1 2 = 5 + 5 s1 − 5 s2 − 5 s3 = 35 − 15 s1 + 25 s2 − 15 s3 ステップ 1 の判定(2 周目) : 目的関数行の非基底変数の係数が全て負となり, ステップ 1 の判定(2 周目): これ以上目的関数を改善できない. すべての b̄i ≥ 0 となり実行可能性を満たしたた め,現在の辞書は最適となりアルゴリズム終了. 最適な辞書となったため,主単体法が終了する. 中島智哉|電気通信大学 50