Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
線形計画問題         等式標準形         実行可能基底解       単体法       双対性   学習ガイド                「リア充」で学ぶ線形計画問題                            ...
線形計画問題         等式標準形   実行可能基底解   単体法   双対性   学習ガイドOutline   1     線形計画問題   2     等式標準形   3     実行可能基底解   4     単体法   5    ...
線形計画問題         等式標準形   実行可能基底解   単体法   双対性   学習ガイド   1     線形計画問題   2     等式標準形   3     実行可能基底解   4     単体法   5     双対性   ...
線形計画問題      等式標準形   実行可能基底解   単体法   双対性   学習ガイド「リア充」問題         A くんには自由な時間が 1 日あたり 8 時間 あり,彼女ができ         たばかり.         自由な...
線形計画問題      等式標準形   実行可能基底解         単体法   双対性   学習ガイド線形計画問題としての定式化 I         未知変数 (制御変数) の定義         バイトにあてる時間を x1 , デートにあ...
線形計画問題      等式標準形        実行可能基底解               単体法   双対性   学習ガイド線形計画問題としての定式化 II         目的関数         バイト 1 時間あたりの充実度 1 に対...
線形計画問題                 等式標準形                   実行可能基底解                           単体法     双対性      学習ガイド許容領域               ...
線形計画問題                    等式標準形                           実行可能基底解                           単体法         双対性      学習ガイド許容領域...
線形計画問題                        等式標準形                          実行可能基底解                           単体法            双対性   学習ガイド許...
線形計画問題                        等式標準形                          実行可能基底解                           単体法            双対性   学習ガイド許...
線形計画問題                 等式標準形                実行可能基底解                  単体法    双対性    学習ガイド目的関数の等高線と最適解                      ...
線形計画問題                等式標準形                実行可能基底解                      単体法    双対性     学習ガイド脱線 (1): 彼女が実家暮らしの場合      彼女の門限...
線形計画問題                     等式標準形                     実行可能基底解                    単体法     双対性      学習ガイド脱線 (2): 彼女とケンカした場合  ...
線形計画問題                  等式標準形                                         実行可能基底解                   単体法        双対性       学習ガイド...
線形計画問題                     等式標準形                   実行可能基底解                             単体法                 双対性   学習ガイド最適解の...
線形計画問題         等式標準形   実行可能基底解   単体法   双対性   学習ガイドOutline   1     線形計画問題   2     等式標準形   3     実行可能基底解   4     単体法   5    ...
線形計画問題              等式標準形               実行可能基底解       単体法            双対性        学習ガイド等式標準形   N 個の未知変数 x1 , x2 , · · · , xN...
線形計画問題       等式標準形                実行可能基底解          単体法          双対性       学習ガイド等式標準形への変換方法 I         最大化問題は,目的関数の全ての係数に −1...
線形計画問題              等式標準形    実行可能基底解       単体法               双対性      学習ガイド等式標準形への変換方法 II         【補足】非負制約のない変数は,2 つの人工的な非...
線形計画問題        等式標準形                    実行可能基底解          単体法       双対性       学習ガイドリア充問題 (彼女が実家暮らしの場合) の等式標準形としての表現         ...
線形計画問題              等式標準形               実行可能基底解           単体法            双対性        学習ガイド目的関数をベクトルで表現   2 つの N 次元列ベクトル:   ...
線形計画問題         等式標準形          実行可能基底解               単体法         双対性        学習ガイド目的関数をベクトルで表現   2 つの N 次元列ベクトル:            ...
線形計画問題          等式標準形         実行可能基底解        単体法          双対性        学習ガイド制約条件を行列とベクトルで表現         min      c⊤ x          x...
線形計画問題   等式標準形        実行可能基底解         単体法         双対性   学習ガイド制約条件を行列とベクトルで表現         min c⊤ x          x                ...
線形計画問題   等式標準形        実行可能基底解          単体法        双対性   学習ガイド制約条件を行列とベクトルで表現                       min c⊤ x               ...
線形計画問題            等式標準形                    実行可能基底解          単体法       双対性       学習ガイド等式標準形リア充問題のベクトル・行列表現   等式標準形リア充問題    ...
線形計画問題         等式標準形   実行可能基底解   単体法   双対性   学習ガイドOutline   1     線形計画問題   2     等式標準形   3     実行可能基底解   4     単体法   5    ...
線形計画問題               等式標準形                    実行可能基底解           単体法      双対性       学習ガイドリア充問題の例            9              ...
線形計画問題                 等式標準形                    実行可能基底解             単体法            双対性             学習ガイドリア充問題の例           ...
線形計画問題                  等式標準形                 実行可能基底解             単体法            双対性             学習ガイドリア充問題の例            9...
線形計画問題             等式標準形               実行可能基底解              単体法           双対性             学習ガイドリア充問題の例             9      ...
線形計画問題                等式標準形                    実行可能基底解              単体法           双対性             学習ガイドリア充問題の例            ...
線形計画問題                  等式標準形                 実行可能基底解              単体法           双対性             学習ガイドリア充問題の例            9...
線形計画問題             等式標準形          実行可能基底解            単体法            双対性              学習ガイドリア充問題の例             9           ...
線形計画問題               等式標準形          実行可能基底解          単体法            双対性             学習ガイドリア充問題の例            9             ...
線形計画問題               等式標準形                 実行可能基底解              単体法           双対性              学習ガイドリア充問題の例            9  ...
線形計画問題                      等式標準形               実行可能基底解          単体法     双対性    学習ガイドリア充問題の例               9    xN = (x1 ,...
線形計画問題         等式標準形   実行可能基底解   単体法   双対性   学習ガイドOutline   1     線形計画問題   2     等式標準形   3     実行可能基底解   4     単体法   5    ...
線形計画問題             等式標準形         実行可能基底解                   単体法              双対性                  学習ガイドリア充問題の実行可能基底解と最適性  た...
線形計画問題        等式標準形            実行可能基底解    単体法            双対性             学習ガイド基底変数の入れ替えと次の実行可能基底解   x1 = 0 のまま x2 を増やす.   ...
線形計画問題                    等式標準形                     実行可能基底解         単体法             双対性        学習ガイド     ピボット操作:より目的関数の小さい...
線形計画問題                    等式標準形                実行可能基底解         単体法             双対性        学習ガイド     ピボット操作:より目的関数の小さい隣合う端点...
線形計画問題                      等式標準形                     実行可能基底解          単体法               双対性               学習ガイド     2 回目の...
線形計画問題                       等式標準形                    実行可能基底解      単体法         双対性        学習ガイド    2 回目の挑戦 (最適性のチェック)     ...
線形計画問題        等式標準形             実行可能基底解    単体法            双対性             学習ガイド2 回目の挑戦 (基底変数の入れ替え)   x4 = 0 のまま x1 を増やす.  ...
線形計画問題                 等式標準形                実行可能基底解         単体法             双対性          学習ガイド     2 回目の挑戦 (端点から端点へ)      ...
線形計画問題                 等式標準形                実行可能基底解         単体法             双対性          学習ガイド     2 回目の挑戦 (端点から端点へ)      ...
線形計画問題                    等式標準形                    実行可能基底解          単体法                    双対性         学習ガイド     3 回目の挑戦 (...
線形計画問題                     等式標準形                    実行可能基底解         単体法       双対性           学習ガイド    3 回目の挑戦 (最適性のチェック)   ...
線形計画問題        等式標準形          実行可能基底解      単体法            双対性             学習ガイド3 回目の挑戦 (基底変数の入れ替え)   x5 = 0 のまま x4 を増やす.   ...
線形計画問題                 等式標準形                実行可能基底解         単体法           双対性             学習ガイド     3 回目の挑戦 (端点から端点へ)     ...
線形計画問題                 等式標準形               実行可能基底解         単体法           双対性             学習ガイド     3 回目の挑戦 (端点から端点へ)      ...
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
「リア充」で学ぶ線形計画問題(ver0.5.3)
Upcoming SlideShare
Loading in …5
×

「リア充」で学ぶ線形計画問題(ver0.5.3)

3,341 views

Published on

「バイトとデートの時間をうまく配分してリア充を目指す」問題を線形計画問題として解説.

Published in: Education

「リア充」で学ぶ線形計画問題(ver0.5.3)

  1. 1. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 「リア充」で学ぶ線形計画問題 長江 剛志1 February 15, 2013(ver0.5.3) 1 東北大学大学院 工学研究科 技術社会システム専攻 (nagae@m.tohoku.ac.jp)
  2. 2. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドOutline 1 線形計画問題 2 等式標準形 3 実行可能基底解 4 単体法 5 双対性 6 学習ガイド
  3. 3. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 1 線形計画問題 2 等式標準形 3 実行可能基底解 4 単体法 5 双対性 6 学習ガイド
  4. 4. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド「リア充」問題 A くんには自由な時間が 1 日あたり 8 時間 あり,彼女ができ たばかり. 自由な時間の使い途として バイト と デート を考える. バイトすると 1 時間あたり 700 円 の収入になる. デートすると 1 時間あたり 350 円 の支出になる. A くんの仕送りから家賃・食費などの生活費を除くと リア充 資金 として 1 日あたり 700 円 を充当できる. A くんはバイトしてもデートしても充実感が得られるが,で きたばかりの彼女と過ごす時間の方が,バイトの時間よりも 充実感を味わえる.そこで,1 時間あたりの充実感の比率を バイト:デート = 1:5 とする. リア充資金とバイト給料でデート代を賄いつつ,充実した生 活を送るには 1 日あたりバイトとデートを何時間づつすれば よいだろう?
  5. 5. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド線形計画問題としての定式化 I 未知変数 (制御変数) の定義 バイトにあてる時間を x1 , デートにあてる時間を x2 で表す. 時間制約 バイトの時間とデートの時間の合計が 8 時間を超えてはいけ ない: x1 + x2 ≤ 8 (1) 予算制約 「バイトの収入とリア充資金の合計」が「デートへの支出」 以上でなければいけない: 700x1 + 700 ≥ 350x2 両辺を 350 で割れば, 2x1 + 2 ≥ x2 (2)
  6. 6. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド線形計画問題としての定式化 II 目的関数 バイト 1 時間あたりの充実度 1 に対して,デート 1 時間あた りの充実度が 5 だから,その合計を「リア充度」とする: Z(x1 , x2 ) x1 + 5x2 (3) 線形計画問題として表現されたリア充問題 max x1 + 5x2 x1 ,x2 s.t. x1 + x2 ≤ 8 2x1 + 2 ≥ x2 x1 , x2 ≥ 0 s.t. は subject to ... (. . . の制約の下で) の略.
  7. 7. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド許容領域 (9,15) 9 制約条件を満足する (許容 8 (0, 8) される) バイト時間とデー 7 ト時間の組 (x1 , x2 ) は,4 6 本の不等式: 5 x1 + x1 + x2 ≤ 8 4 x2 = 8 3 2 1 (8, 0) -2 -1 1 2 3 4 5 6 7 8 9 で囲まれた領域 -1
  8. 8. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド許容領域 (9,15) 9 制約条件を満足する (許容 8 (0, 8) される) バイト時間とデー 7 ト時間の組 (x1 , x2 ) は,4 6 (2, 6) 本の不等式: 5 x1 + x1 + x2 ≤ 8 x2 4 x2 = 2x1 + 2 ≥ x2 = 8 +2 3 1 2x 2 1 (−2, 0) (8, 0) -2 -1 1 2 3 4 5 6 7 8 9 で囲まれた領域 -1
  9. 9. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド許容領域 (9,15) 9 制約条件を満足する (許容 8 (0, 8) される) バイト時間とデー 7 ト時間の組 (x1 , x2 ) は,4 6 (2, 6) 本の不等式: 5 x1 x1 + x2 ≤ 8 x2 + x1 = 0 x2 = 4 = 2x1 + 2 ≥ x2 +2 8 3 1 2x 2 x1 ≥ 0 (0, 2) 1 (−2, 0) (8, 0) -2 -1 1 2 3 4 5 6 7 8 9 で囲まれた領域 -1
  10. 10. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド許容領域 (9,15) 9 制約条件を満足する (許容 8 (0, 8) される) バイト時間とデー 7 ト時間の組 (x1 , x2 ) は,4 6 (2, 6) 本の不等式: 5 x1 x1 + x2 ≤ 8 x2 + x1 = 0 x2 = 4 = 2x1 + 2 ≥ x2 +2 8 3 1 2x 2 x1 ≥ 0 (0, 2) 1 x2 ≥ 0 (−2, 0) (0, 0) x2 = 0 (8, 0) -2 -1 1 2 3 4 5 6 7 8 9 で囲まれた領域 -1
  11. 11. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド目的関数の等高線と最適解 [ ] 1 目的関数 Z(x1 , x2 ) x1 + 5x2 の等高線は, を法線ベクトルと 5 する平行線. 9 許容領域 の中で,原点か 8 ら最も遠い (ie. 最も値の 7 高い) 等高線が通る点 6 (2, 6) Z (x1 , x ) 2 = 32 (2, 6) が 最適解 で,最適 5 Z (x1 , x ) 2 = 30 値 は 32. 4 Z (x1 , x ) 2 = 25 Z (x1 , x ) 3 2 = 20 2 [ ] 1 1 5 Z (x1 , x ) 2 = 10 -2 -1 1 2 3 4 5 6 7 8 9 -1 Z (x1 , x ) 2 =0
  12. 12. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド脱線 (1): 彼女が実家暮らしの場合 彼女の門限が厳しく,一緒に居られるのは 4 時間まで→ 以下の制約によって許容領域が狭められる: x2 ≤ 4 9 あたらしい制約によって 8 最適解は (4, 4), 最適値は 7 24 となる. 6 5 (4, 4) x2 = 4 4 Z (x1 , x ) Z (x1 , x ) 2 = 24 3 2 = 20 2 [ ] 1 1 5 Z (x1 , x ) 2 = 10 -2 -1 1 2 3 4 5 6 7 8 9 -1 Z (x1 , x ) 2 =0
  13. 13. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド脱線 (2): 彼女とケンカした場合 バイトに精を出す方が彼女と一緒に居るより充実感を得られる→ 目的関数が以下の式で表されるとする: 1 Z ′ (x1 , x2 ) x1 + x2 2 [ ] 9 1 目的関数の等高線は 8 0.5 7 を法線とする平行線. 6 最適解は (8, 0), 最適値は Z( ′ x1 Z( ′ x1 5 8. , x2 , x2 Z( ′ x1 )= 4 )= 8 , x2 7 3 )= 2 [ ] 4 1 1 0.5 (8, 0) -1 1 2 3 4 5 6 7 8 9-2 -1
  14. 14. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド脱線 (3): 彼女と仲直りした場合 彼女と一緒にいても充実できるが,付き合い始めた頃ほど情熱的 にもなれない→目的関数が以下の式で表されるとする: Z ′′ (x1 , x2 ) x1 + x2 [ ] 9 1 目的関数の等高線は 8 1 7 を法線とする平行線. 6 (2, 6) (2, 6) と (8, 0) を結ぶ線分 Z ′′ 5 (x 上の 任意の点 が最適解 Z ′′ 1, 4 x2 (x )= で,最適値は 8. Z ′′ 1, 8 3 x2 (x )= [ ] 1, 2 1 x2 6 )= 1 1 4 (8, 0) -1 1 2 3 4 5 6 7 8 9-2 -1
  15. 15. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド最適解の特徴 最適解は許容領域の 端点 (ごく稀に 辺 ) に限られる. 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 -2 -1 1 2 3 4 5 6 7 8 9 -2 -1 1 2 3 4 5 6 7 8 9 -1 -1 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 -1 1 2 3 4 5 6 7 8 9 -1 1 2 3 4 5 6 7 8 9 -2 -1 -2 -1 つまり,端点を順に探していけば 必ず 最適解が見つかる. 許容領域の端点をシステマティックに表現・探索する方法は?
  16. 16. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドOutline 1 線形計画問題 2 等式標準形 3 実行可能基底解 4 単体法 5 双対性 6 学習ガイド
  17. 17. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド等式標準形 N 個の未知変数 x1 , x2 , · · · , xN を用いて,M 本の 等式 制約条件を 満足しながら,目的関数を最小化する. 等式標準形の線形計画問題 min c1 x1 + c2 x2 + ··· + cN xN x1 ,x2 ,··· ,xN s.t. a11 x1 + a12 x2 + ··· + a1N xN = b1 a21 x1 + a22 x2 + ··· + a2N xN = b2 . . . . .. . . . . . . . . . aM1 x1 + aM2 x2 + · · · + aMN xN = bM x1 , x2 , ··· xN ≥ 0 任意の線形計画問題を同一の形式で記述できる 許容領域の端点をシステマティックに表現できる
  18. 18. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド等式標準形への変換方法 I 最大化問題は,目的関数の全ての係数に −1 を乗じる: max x1 + 5x2 → min −x1 − 5x2 x1 ,x2 x1 ,x2 不等式制約は,まず,(x1 , x2 , · · · についての線形式) ≤ (定数) の形に整理する: 2x1 + 2 ≥ x2 → −2x1 + x2 ≤ 2 非負の人工的な変数 (スラック変数) を導入することで,不等 式制約を等式に書き換える: x1 +x2 ≤ 8 x1 +x2 +x3 = 8 −2x1 +x2 ≤ 2 −2x1 +x2 +x4 = 2 → x2 ≤ 4 x2 +x5 = 4 x1 , x2 ≥ 0 x1 , x2 , x3 , x4 , x5 ≥ 0
  19. 19. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド等式標準形への変換方法 II 【補足】非負制約のない変数は,2 つの人工的な非負変数を 導入し,その差として表現する. + − min − x1 + 2x2 , min − x1 + 2(x2 − x2 ), + − x1 ,x2 x1 ,x2 ,x2 s.t. x1 + x2 = 1, + − ⇒ s.t. x1 + (x2 − x2 ) = 1, x1 ≥ 0, x1 ≥ 0, x2 は正でも負でも 0 でもよい + − x2 , x2 ≥ 0
  20. 20. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドリア充問題 (彼女が実家暮らしの場合) の等式標準形としての表現 min −x1 −5x2 +0 · x3 +0 · x4 +0 · x5 x1 ,x2 ,x3 ,x4 ,x5 s.t. x1 +x2 +x3 = 8 −2x1 +x2 +x4 = 2 +x2 +x5 = 4 x1 , x2 , x3 , x4 , x5 ≥ 0 行列とベクトルを使えば,もっとスッキリ記述できる.
  21. 21. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド目的関数をベクトルで表現 2 つの N 次元列ベクトル: [ ]⊤ [ ]⊤ x = x1 x2 · · · xN , c = c1 c2 · · · cN を用いて目的関数を書き直す (⊤ は行列の転置を表す記号). min c1 x1 + c2 x2 + ··· + cN xN x1 ,x2 ,··· ,xN a11 x1 + a12 x2 + ··· + a1N xN = b1 a21 x1 + a22 x2 + ··· + a2N xN = b2 . . . . .. . . . . . . . . . aM1 x1 + aM2 x2 + · · · + aMN xN = bM x1 , x2 , ··· xN ≥ 0
  22. 22. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド目的関数をベクトルで表現 2 つの N 次元列ベクトル: [ ]⊤ [ ]⊤ x = x1 x2 · · · xN , c = c1 c2 · · · cN を用いて目的関数を書き直す (⊤ は行列の転置を表す記号). min c⊤ x x a11 x1 + a12 x2 + ··· + a1N xN = b1 a21 x1 + a22 x2 + ··· + a2N xN = b2 . . . . .. . . . . . . . . . aM1 x1 + aM2 x2 + · · · + aMN xN = bM x1 , x2 , ··· xN ≥ 0
  23. 23. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド制約条件を行列とベクトルで表現 min c⊤ x x s.t. a11 x1 + a12 x2 + ··· + a1N xN = b1 a21 x1 + a22 x2 + ··· + a2N xN = b2 . . . . .. . . . . . . . . . aM1 x1 + aM2 x2 + · · · + aMN xN = bM x1 , x2 , ··· xN ≥ 0
  24. 24. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド制約条件を行列とベクトルで表現 min c⊤ x x        a11 a12 · · · a1N   x1   b1          21 a22 · · · a2N   x2   b2   a                              s.t.  .   . . .. .   .  =  .  .   .   .        .   . . . .   .   .                       aM1 aM2 · · · aMN xN bM x≥0
  25. 25. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド制約条件を行列とベクトルで表現 min c⊤ x x s.t. Ax = b x≥0      a11 a12 · · · a1N       b1       21 a22 · · · a2N  a           . A=  .  , b =  b2         .   . . . .. .  .   .     .     . . .             aM1 aM2 · · · aMN bM より簡潔に { } min c⊤ x|Ax = b, x ≥ 0 x と記述することもある.
  26. 26. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド等式標準形リア充問題のベクトル・行列表現 等式標準形リア充問題 min −x1 −5x2 +0 · x3 +0 · x4 +0 · x5 x1 ,x2 ,x3 ,x4 ,x5 s.t. x1 +x2 +x3 = 8 −2x1 +x2 +x4 = 2 x2 +x5 = 4 x1 , x2 , x3 , x4 , x5 ≥ 0 ベクトル・行列表現 { } min c⊤ x|Ax = b, x ≥ 0 x [ ]⊤ [ ]⊤ x x1 x2 x3 x4 x5 , c −1 −5 0 0 0 ,      1 1 1 0 0     8      −2 1 0 1 0 ,    A       b 2          0 1 0 0 1 4
  27. 27. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドOutline 1 線形計画問題 2 等式標準形 3 実行可能基底解 4 単体法 5 双対性 6 学習ガイド
  28. 28. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドリア充問題の例 9 0 8 = x4 7 x1 = 0 6 x1 +x2 +x3 = 8 −2x1 +x2 +x4 = 2 5 4 x5 = 0 3 x3 = x2 +x5 = 4 2 0 1 x2 = 0 -2 -1 1 2 3 4 5 6 7 8 9 -1
  29. 29. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドリア充問題の例 9 0 8 = 基底変数/非基底変数: x4 7 (xB |xN ) = (x1 , x2 , x3 |x4 , x5 ) x1 = 0 6 5 x5 = 0 x1 +x2 +x3 = 8 4 t 3 xN = (x4 , x5 ) x3 = −2x1 +x2 +x4 = 2 2 0 x2 +x5 = 4 1        x2 = 0  1 1 1  x1  0 0 [ ] 8          x  4     −2 1 0  x2 +1 0         x = 2 -2 -1 -1 1 2 3 4 5 6 7 8 9                     5        0 1 0 x3 0 1 4 AB AN xN = (x4 , x5 ) = 0 として AB xB = b を解けば, (x1 , x2 , x3 ) = (1, 4, 3) x が全て非負→実行可能
  30. 30. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドリア充問題の例 9 0 8 = 基底変数/非基底変数: x4 7 x1 = 0 6 (xB |xN ) = (x3 , x4 , x5 |x1 , x2 ) 5 4 x5 = 0 x3 +x1 +x2 = 8 x3 3 = 0 x4 −2x1 +x2 = 2 2 x5 +x2 = 4 1 txN = (x1 , x2 ) x2 = 0        -2 -1 1 2 3 4 5 6 7 8 9 1 0 0  x3   1 1 [ ] 8          x  1         0 1 0  x4 +−2 1    x = 2 -1               2              0 0 1 x5 0 1 4 AB AN xN = (x1 , x2 ) = 0 として AB xB = b を解けば, (x3 , x4 , x5 ) = (8, 2, 4) x が全て非負→実行可能
  31. 31. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドリア充問題の例 9 0 8 = 基底変数/非基底変数: x4 7 x1 = 0 6 (xB |xN ) = (x2 , x3 , x5 |x1 , x4 ) 5 x5 = 0 4 x2 +x3 +x1 = 8 x3 3 = x2 −2x1 +x4 = 2 tx 2 N = (x1 , x4 ) 0 x2 +x5 = 4 1 x2 = 0        -1 1 1 0   x 2   1      0 [ ] 8  x   1 0 0  x3 +−2  1   -2 -1 1 2 3 4 5 6 7 8 9                       1 x = 2   4              1 0 1 x5 0 0 4 AB AN xN = (x1 , x4 ) = 0 として AB xB = b を解けば, (x2 , x3 , x5 ) = (2, 6, 2) x が全て非負→実行可能
  32. 32. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドリア充問題の例 9 0 8 = 基底変数/非基底変数: x4 7 x1 = 0 6 (xB |xN ) = (x1 , x3 , x5 |x2 , x4 ) 5 x5 = 0 4 x1 +x3 +x2 = 8 x3 3 = −2x1 +x2 +x4 = 2 2 0 x5 +x2 = 4 1 t x2 = 0        -1  1 1 0   x 1  1      0 [ ] 8  x   −2 0 0  x3 +1  2   -2 -1 1 2 3 4 5 6 7 8 9          xN = (x2 , x4 )             1 x = 2   4              0 0 1 x5 1 0 4 AB AN xN = (x2 , x4 ) = 0 として AB xB = b を解けば, xB = (x1 , x3 , x5 ) = (−1, 9, 4) x1 が負→実行不可能
  33. 33. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドリア充問題の例 9 xN = (x1 , x3 ) 8 t 0 Z Z = Z 基底変数/非基底変数: x4 7 Z x1 = 0 6 Z (xB |xN ) = (x2 , x4 , x5 |x1 , x3 ) 5 Z x5 = 0 4 Z x2 +x1 +x3 = 8 Z x3 3 Z= 0 x2 +x4 −2x1 = 2 Z 2 Z x2 +x5 = 4 1 x2 = 0 Z        Z 9 1 0 0   x 2   1 1 [ ] 8 Z       x   1 1 0  x4 +−2  1   -2 -1 1 2 3 4 5 6 7 8           0 x = 2 -1               3              1 0 1 x5 0 0 4 AB AN xN = (x1 , x3 ) = 0 として AB xB = b を解けば, (x2 , x4 , x5 ) = (8, −6, −4) x4 , x5 が負→実行不可能
  34. 34. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドリア充問題の例 9 0 Z 8 Z = Z 基底変数/非基底変数: x4 ZtN = (x3 , x4 ) 7 x1 = 0 6 x Z (xB |xN ) = (x1 , x2 , x5 |x3 , x4 ) 5 Z x5 = 0 4 Z x1 +x2 +x3 = 8 Z x3 3 Z= 0 −2x1 +x2 +x4 = 2 2 Z Z x2 +x5 = 4 1 x2 = 0 Z        Z 9  1 1 0  x1  1 0 [ ] 8 -2 -1 -1 1 2 3 4 5 6 7 8 Z              x  3        −2 1 0  x2 +0 1          x = 2               4      0 1 1 x5 0 0 4 AB AN xN = (x3 , x4 ) = 0 として AB xB = b を解けば, (x1 , x2 , x5 ) = (2, 6, −2) x5 が負→実行不可能
  35. 35. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドリア充問題の例 9 0 Z 8 Z = Z 基底変数/非基底変数: x4 7 Z x1 = 0 6 Z (xB |xN ) = (x1 , x2 , x4 |x3 , x5 ) 5 Z xN = (x3 , x5 ) x = 0 4 Zt 5 x1 +x2 +x3 = 8 Z x3 3 Z 0= −2x1 +x2 +x4 = 2 Z 2 Z x2 +x5 = 4 1 x2 = 0 Z        Z 9  1 1 0  x1  1 0 [ ] 8 -2 -1 1 2 3 4 5 6 7 8 Z              x  3        -1 −2 1 1  x2 +0 0          x = 2               5      0 1 0 x4 0 1 4 AB AN xN = (x3 , x5 ) = 0 として AB xB = b を解けば, (x1 , x2 , x4 ) = (4, 4, 6) x が全て非負→実行可能
  36. 36. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドリア充問題の例 9 0 Z 8 Z = Z 基底変数/非基底変数: x4 7 Z x1 = 0 6 Z (xB |xN ) = (x1 , x4 , x5 |x2 , x3 ) 5 Z x5 = 0 4 Z x1 +x2 +x3 = 8 Z x3 3 Z= 0 −2x1 +x4 +x2 = 2 Z 2 Z x5 +x2 = 4 1 x2 = 0 Z t        Z 9  1 0 0   x 1  1 1 [ ] 8 Z       x   −2 1 0  x4 +1  2   -2 -1 1 2 3 4 5 6 7 8           xN = (x2 , x3 ) 0 x = 2 -1               3              0 0 1 x5 1 0 4 AB AN xN = (x2 , x3 ) = 0 として AB xB = b を解けば, (x1 , x2 , x5 ) = (8, 18, 4) x が全て非負→実行可能
  37. 37. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドリア充問題の例 9 xN = (x1 , x3 ) t 0 8 特に,xN = 0 とした解: = x4 7 txN = (x3 , x4 ) [ ] [ −1 ] x1 = 0 6 x AB b 5 xN = (x3 , x5 ) x= B = 4 t t x5 = 0 xN 0 xN = (x4 , x5 ) x3 3 = t 2 x N = (x1 , x4 ) 0 は基底解と呼ばれ,許容領域 1 を構成する直線の「交点」に t txN = (x1 , x2 ) x2 = 0 t 対応する. -2 -1 1 2 3 4 5 6 7 8 9xN = (x2 , x4 )-1 xN = (x2 , x3 ) 基底解の中で,x ≥ 0 を満足す るものは実行可能基底解と呼 変数を基底変数 xB ,非基底変数 xN ばれ,許容領域の「端点」に に分解すれば,等式制約 Ax = b を満 対応する. たす解は [ ] [ −1 ] 端点は表現できた.次は, xB AB (b − AN xN ) x= = ある端点が最適解か否か xN xN を判定する方法 と xN のみを用いて表せる. 最適解でなかったときに, 次の端点を探索する方法
  38. 38. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドOutline 1 線形計画問題 2 等式標準形 3 実行可能基底解 4 単体法 5 双対性 6 学習ガイド
  39. 39. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイドリア充問題の実行可能基底解と最適性 たとえば,非基底変数を 基底解 (xB |xN ) = (8, 2, 4|0, 0) は xN = (x1 , x2 ) とする. 実行可能 で,端点 (0, 0) に相当. 目的関数および等式制約は 9 0 8 = x4 Z(x) = −x1 −5x2 7 x1 = 0 s.t. x3 +x1 +x2 = 8 6 x4 −2x1 +x2 = 2 5 x5 = 0 x5 +x2 = 4 4 x3 3 = 0 非基底変数 xN のみで表せば 2 1 t x2 = 0 Z = −x1 − 5x2 , -2 -1 -1 1 2 3 4 5 6 7 8 9  x  8  1  1 [ x ]  3     x  2 −2        4 =   −       1 1 .   x2 基底解における目的関数は Z = 0. x5 4 0 1 目的関数の xN に関する係数は (−1, −5) でどちらも負なので, x1 や x2 を増やせば 目的関数は減少
  40. 40. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド基底変数の入れ替えと次の実行可能基底解 x1 = 0 のまま x2 を増やす. ここで,  x  8 1 ゼロとなった基底変数 x4  3           xB =  x4  = 2 − 1 x2             非負となった非基底変数 x2 x5 4 1 を入れ替えれば,新しい実行可 能基底解 xB ≥ 0 であるためには,  (xB |xN ) = (x2 , x3 , x5 |x1 , x4 )  x3 = 8 − x2 ≥ 0 ⇒ x2 ≤ 8,     x4 = 2 − x2 ≥ 0 ⇒ x2 ≤ 2,  = (2, 6, 2|0, 0) x = 4 − x ≥ 0 ⇒ x ≤ 4  5 2 2 が得られる.この入れ替えをピ このうち,目的関数を最も小さ ボット操作と呼ぶ. くするのは, この基底解における目的関数は x2 = min {8, 2, 4} = 2 Z = −x1 − 5x2 = −10 と選んだときで,このとき で,入れ替え前の目的関数 (x3 , x4 , x5 ) = (6, 0, 2) となる. Z = 0 よりも小さい.
  41. 41. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド ピボット操作:より目的関数の小さい隣合う端点へ 9 xB xN 8 0 Z = x3 x4 x5 x1 x2 x4 7 x1 = 0 6 8 2 4 0 0 0 5 x5 = 0    x2 = 0  x2 = 2 4 3 x3 =     0  x = 2 → x = 0 2  4  4 1 txN = (x1 , x2 ) x2 = 0-2 -1 1 2 3 4 5 6 7 8 9 -1
  42. 42. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド ピボット操作:より目的関数の小さい隣合う端点へ 9 xB xN 8 0 Z = x3 x4 x5 x1 x2 x4 7 x1 = 0 6 8 2 4 0 0 0 5 x5 = 0    x2 = 0  x2 = 2 4 3 x3 =     txN = (x1 , x4 ) 0  x = 2 → x = 0 2 6  4  4 1 d x2 = 0-2 -1 1 2 3 4 5 6 7 8 9 -1 xB xN Z x2 x3 x5 x1 x4 2 6 2 0 0 -10 1 組の基底変数と非基底変数の入れ 替えは, 「ある端点」から「より目的 関数の小さい隣の端点」への移動に 相当.
  43. 43. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 2 回目の挑戦 (最適性のチェック) 基底変数を非基底変数 xN のみ 9 0 で表せば 8 = 1 1 0  x  8  1 0 [ ] x4 7  1 0 0  x2  2 −2 1 x1      x1 = 0 6      3  =  −              x  4 5 x5 = 0 1 0 1 x5 4 0 0 4 3 x3 = [ ] 110 2 txN = (x1 , x4 ) 0 AB = 100 の逆行列を用いて 101 1 x2 = 0  x  1 1 0−1 8  1 0 [ ]-1 1 2 3 4 5 6 7 8 9  2   x  1 0 0 2 −2 1 x1        3 =     −   x    -1                  非基底変数 xN = (x1 , x4 ) x5 1 0 1 4 0 0 4 目的関数および等式制約: 2 −2 1  [ ]        x  = 6 −  3 −1 x1         Z(x) = −5x2 −x1 2 2 −1 4 s.t. x2 +x3 x1 =8 x2 −2x1 +x4 = 2 x2 +x5 =4
  44. 44. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 2 回目の挑戦 (最適性のチェック) 基底変数を非基底変数 xN のみ 9 0 で表せば 8 =  x  2 −2 1  [ ] x4 7  2     x  6  3 −1 x1  x1 = 0 6  3 =   −               x 5 x5 = 0 x5 2 2 −1 4 4 x3 3 = x2 = 2 + 2x1 − x4 を目的関数に 2 txN = (x1 , x4 ) 0 1 代入すれば, x2 = 02 -1 1 2 3 4 5 6 7 8 9 -1 Z = −x1 − x2 = −x1 − 2 − 2x1 + x4 非基底変数 xN = (x1 , x4 ) = −3x1 + x4 − 2. 目的関数および等式制約: 非基底変数 xN = (x1 , x4 ) に関 Z(x) = −5x2 −x1 s.t. x2 +x3 x1 =8 する係数は (−3, 1) なので, x2 −2x1 +x4 = 2 x1 を増やせば目的関数は減少. x2 +x5 =4
  45. 45. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド2 回目の挑戦 (基底変数の入れ替え) x4 = 0 のまま x1 を増やす. ここで,  x  2 −2 ゼロとなった基底変数 x5  2           xB =  x3  = 6 −  3  x1             非負となった非基底変数 x1 x5 2 2 を入れ替えることで,新しい実 xB ≥ 0 であるためには, 行可能基底解   x2 = 2 + 2x1 ≥ 0 ⇒ x1 ≥ 0 なら OK  (xB |xN ) = (x1 , x2 , x3 |x4 , x5 )    x3 = 6 − 3x1 ≥ 0 ⇒ x1 ≤ 2   = (1, 4, 3|0, 0) x5 = 2 − 2x1 ≥ 0 ⇒ x1 ≤ 1 が得られる. このうち,目的関数を最も小さ この基底解における目的関数は くするのは, Z = −x1 − 5x2 = −21 x1 = min {2, 1} = 1 で,入れ替え前の目的関数 と選んだときで,このとき Z = −10 よりも小さい. (x2 , x3 , x5 ) = (4, 3, 0) となる.
  46. 46. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 2 回目の挑戦 (端点から端点へ) xB xN Z 9 x3 x4 x5 x1 x2 8 0 = 8 2 4 0 0 0 x4 7 x1 = 0 6 5 基底変数 x4 ↔ 非基底変数 x2 x5 = 0 4 x3 xB xN 3 = Z 2 txN = (x1 , x4 ) 0 x2 x3 x5 x1 x4 1 6 2 6 2 0 0 -10 dxN = (x1 , x2 ) x2 = 0-2 -1 1 2 3 4 5 6 7 8 9 -1
  47. 47. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 2 回目の挑戦 (端点から端点へ) xB xN Z 9 x3 x4 x5 x1 x2 8 0 = 8 2 4 0 0 0 x4 7 x1 = 0 6 5 基底変数 x4 ↔ 非基底変数 x2 t x5 = 0 4 xB xN 3 xN = (x4 , x5 ) x3 = Z d 2 x N = (x1 , x4 ) 0 x2 x3 x5 x1 x4 1 6 2 6 2 0 0 -10 dxN = (x1 , x2 ) x2 = 0-2 -1 -1 1 2 3 4 5 6 7 8 9 基底変数 x5 ↔ 非基底変数 x1 xB xN Z x1 x2 x3 x4 x5 1 4 3 0 0 -21
  48. 48. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 3 回目の挑戦 (最適性のチェック) 基底変数を非基底変数 xN のみ 9 0 で表せば 8 =  1 1 1  x  8 0 0 [ ] x4 7  −2 1 0  x1  2 1 0 x4      x1 = 0 6      2  =  −              x  5 5 x5 = 0 0 1 0 x3 4 0 1 4 t 3 xN = (x4 , x5 ) x3 = [ ] 1 11 2 0 AB = −2 1 0 の逆行列を用 0 10 1 x2 = 0 いて-1 1 2 3 4 5 6 7 8 9 -1  x   1 1 1−1 8 0 0 [ ]  x  −2 1 0 2 1 0 x4   1       非基底変数 xN = (x4 , x5 )  2 =           −           x       目的関数および等式制約: x3 0 1 0 4 0 1 5 1 −0.5 0.5  [ ]         Z(x) = −x1 −5x2 = 4 −  0       1  x4  x  s.t. x1 +x2 +x3 =8 3 0.5 −1.5 5 −2x1 +x2 +x4 =2 x2 +x5 = 4
  49. 49. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 3 回目の挑戦 (最適性のチェック) 基底変数を非基底変数 xN のみ 9 0 で表せば 8 =  x  1 −0.5 0.5  [ ] x4 7  1     2 =   −   x  4  0   x1 = 0 6           1  x4   x 5 x5 = 0 x3 3 0.5 −1.5 5 4 t xN = (x4 , x5 ) x3 = [ [ x1 ] ] = 1+0.5x4 −0.5x5 を目的関数 3 2 0 x2 4−x5 1 に代入すれば, x2 = 02 -1 1 2 3 4 5 6 7 8 9 -1 Z = −1 − 0.5x4 + 0.5x5 − 20 + 5x5 非基底変数 xN = (x4 , x5 ) = −21 − 0.5x4 + 5.5x5 . 目的関数および等式制約: 非基底変数 xN = (x4 , x5 ) に関 Z(x) = −x1 −5x2 s.t. x1 +x2 +x3 =8 する係数は (−0.5, 5.5) なので, −2x1 +x2 +x4 =2 x4 を増やせば目的関数は減少. x2 +x5 = 4
  50. 50. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド3 回目の挑戦 (基底変数の入れ替え) x5 = 0 のまま x4 を増やす. ここで,  x  1 −0.5 ゼロとなった基底変数 x3  1           xB =  x2  = 4 −  0  x4             非負となった非基底変数 x4 x3 3 0.5 入れ替えれば,新しい実行可能 xB ≥ 0 であるためには, 基底解   x1 = 1 + 0.5x4 ≥ 0 ⇒ x1 ≥ 0 なら OK  (xB |xN ) = (x1 , x2 , x4 |x3 , x5 )    x2 = 4 ≥ 0   ⇒ x1 とは無関係 = (4, 4, 6|0, 0) x3 = 3 − 0.5x4 ≥ 0 ⇒ x4 ≤ 6 が得られる. 従って,目的関数を最も小さく この基底解における目的関数は するのは, Z = −x1 − 5x2 = −24 x4 = 6 で,入れ替え前の目的関数 と選んだときで,このとき Z = −24 よりも小さい. (x1 , x2 , x3 ) = (4, 4, 0) となる.
  51. 51. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 3 回目の挑戦 (端点から端点へ) xB xN Z x3 x4 x5 x1 x2 9 8 0 8 2 4 0 0 0 = x4 7 基底変数 x4 ↔ 非基底変数 x2 x1 = 0 6 5 xB xN t x5 = 0 Z 4 x2 x3 x5 x1 x4 3 xN = (x4 , x5 ) x3 = d 2 x N = (x1 , x4 ) 0 2 6 2 0 0 -10 6 1 dxN = (x1 , x2 ) x2 = 0 基底変数 x5 ↔ 非基底変数 x1-2 -1 1 2 3 4 5 6 7 8 9 -1 xB xN Z x1 x2 x3 x4 x5 1 4 3 0 0 -21
  52. 52. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 3 回目の挑戦 (端点から端点へ) xB xN Z x3 x4 x5 x1 x2 9 8 0 8 2 4 0 0 0 = x4 7 基底変数 x4 ↔ 非基底変数 x2 x1 = 0 6 5 xB xN 4 d -xN = (x3 , x5 ) x5 = 0 t x2 x3 x5 x1 x4 Z 3 xN = (x4 , x5 ) x3 = d 2 x N = (x1 , x4 ) 0 2 6 2 0 0 -10 6 1 dxN = (x1 , x2 ) x2 = 0 基底変数 x5 ↔ 非基底変数 x1-2 -1 1 2 3 4 5 6 7 8 9 -1 xB xN Z x1 x2 x3 x4 x5 1 4 3 0 0 -21 基底変数 x3 ↔ 非基底変数 x4 xB xN Z x1 x2 x4 x3 x5 4 4 6 0 0 -24

×