SlideShare a Scribd company logo
1 of 74
Download to read offline
線形計画問題         等式標準形         実行可能基底解       単体法       双対性   学習ガイド




                「リア充」で学ぶ線形計画問題

                               長江 剛志1



                       February 15, 2013(ver0.5.3)




     1
         東北大学大学院 工学研究科 技術社会システム専攻 (nagae@m.tohoku.ac.jp)
線形計画問題         等式標準形   実行可能基底解   単体法   双対性   学習ガイド



Outline

   1     線形計画問題

   2     等式標準形

   3     実行可能基底解

   4     単体法

   5     双対性

   6     学習ガイド
線形計画問題         等式標準形   実行可能基底解   単体法   双対性   学習ガイド




   1     線形計画問題

   2     等式標準形

   3     実行可能基底解

   4     単体法

   5     双対性

   6     学習ガイド
線形計画問題      等式標準形   実行可能基底解   単体法   双対性   学習ガイド



「リア充」問題

         A くんには自由な時間が 1 日あたり 8 時間 あり,彼女ができ
         たばかり.
         自由な時間の使い途として バイト と デート を考える.
         バイトすると 1 時間あたり 700 円 の収入になる.
         デートすると 1 時間あたり 350 円 の支出になる.
         A くんの仕送りから家賃・食費などの生活費を除くと リア充
         資金 として 1 日あたり 700 円 を充当できる.
         A くんはバイトしてもデートしても充実感が得られるが,で
         きたばかりの彼女と過ごす時間の方が,バイトの時間よりも
         充実感を味わえる.そこで,1 時間あたりの充実感の比率を
         バイト:デート = 1:5 とする.
         リア充資金とバイト給料でデート代を賄いつつ,充実した生
         活を送るには 1 日あたりバイトとデートを何時間づつすれば
         よいだろう?
線形計画問題      等式標準形   実行可能基底解         単体法   双対性   学習ガイド



線形計画問題としての定式化 I

         未知変数 (制御変数) の定義
         バイトにあてる時間を x1 , デートにあてる時間を x2 で表す.
         時間制約
         バイトの時間とデートの時間の合計が 8 時間を超えてはいけ
         ない:
                    x1 + x2 ≤ 8      (1)
         予算制約
         「バイトの収入とリア充資金の合計」が「デートへの支出」
         以上でなければいけない:

                    700x1 + 700 ≥ 350x2

         両辺を 350 で割れば,

                         2x1 + 2 ≥ x2           (2)
線形計画問題      等式標準形        実行可能基底解               単体法   双対性   学習ガイド



線形計画問題としての定式化 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 ... (. . . の制約の下で) の略.
線形計画問題                 等式標準形                   実行可能基底解                           単体法     双対性      学習ガイド



許容領域                                                           (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
線形計画問題                    等式標準形                           実行可能基底解                           単体法         双対性      学習ガイド



許容領域                                                                      (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,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
線形計画問題                        等式標準形                          実行可能基底解                           単体法            双対性   学習ガイド



許容領域                                                                         (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
線形計画問題                 等式標準形                実行可能基底解                  単体法    双対性    学習ガイド



目的関数の等高線と最適解
                                                    [ ]
                                                     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
線形計画問題                等式標準形                実行可能基底解                      単体法    双対性     学習ガイド



脱線 (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
線形計画問題                     等式標準形                     実行可能基底解                    単体法     双対性      学習ガイド



脱線 (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
線形計画問題                  等式標準形                                         実行可能基底解                   単体法        双対性       学習ガイド



脱線 (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
線形計画問題                     等式標準形                   実行可能基底解                             単体法                 双対性   学習ガイド



最適解の特徴

   最適解は許容領域の 端点 (ごく稀に 辺 ) に限られる.
              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



   つまり,端点を順に探していけば 必ず 最適解が見つかる.
   許容領域の端点をシステマティックに表現・探索する方法は?
線形計画問題         等式標準形   実行可能基底解   単体法   双対性   学習ガイド



Outline

   1     線形計画問題

   2     等式標準形

   3     実行可能基底解

   4     単体法

   5     双対性

   6     学習ガイド
線形計画問題              等式標準形               実行可能基底解       単体法            双対性        学習ガイド



等式標準形

   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

         任意の線形計画問題を同一の形式で記述できる
         許容領域の端点をシステマティックに表現できる
線形計画問題       等式標準形                実行可能基底解          単体法          双対性       学習ガイド



等式標準形への変換方法 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
線形計画問題              等式標準形    実行可能基底解       単体法               双対性      学習ガイド



等式標準形への変換方法 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
線形計画問題        等式標準形                    実行可能基底解          単体法       双対性       学習ガイド



リア充問題 (彼女が実家暮らしの場合) の等式標準形とし
ての表現

              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
   行列とベクトルを使えば,もっとスッキリ記述できる.
線形計画問題              等式標準形               実行可能基底解           単体法            双対性        学習ガイド



目的関数をベクトルで表現

   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
線形計画問題         等式標準形          実行可能基底解               単体法         双対性        学習ガイド



目的関数をベクトルで表現

   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
線形計画問題          等式標準形         実行可能基底解        単体法          双対性        学習ガイド



制約条件を行列とベクトルで表現

         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
線形計画問題   等式標準形        実行可能基底解         単体法         双対性   学習ガイド



制約条件を行列とベクトルで表現

         min c⊤ x
          x
                                     
               a11 a12 · · · a1N   x1   b1 
              
                                     
               21 a22 · · · a2N   x2   b2 
               a
              
              
                                       
                                       
                                       
                                       
              
                                     
         s.t.  .
              
               .    .  ..     .   .  =  . 
                                .   .   . 
                                       
               .
              
              
                      .
                      .      .  .   .   . 
                                       
                                       
                                       
                                     
                 aM1 aM2 · · · aMN xN          bM
              x≥0
線形計画問題   等式標準形        実行可能基底解          単体法        双対性   学習ガイド



制約条件を行列とベクトルで表現

                       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

   と記述することもある.
線形計画問題            等式標準形                    実行可能基底解          単体法       双対性       学習ガイド



等式標準形リア充問題のベクトル・行列表現

   等式標準形リア充問題
                  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
線形計画問題         等式標準形   実行可能基底解   単体法   双対性   学習ガイド



Outline

   1     線形計画問題

   2     等式標準形

   3     実行可能基底解

   4     単体法

   5     双対性

   6     学習ガイド
線形計画問題               等式標準形                    実行可能基底解           単体法      双対性       学習ガイド



リア充問題の例
            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
線形計画問題                 等式標準形                    実行可能基底解             単体法            双対性             学習ガイド



リア充問題の例
             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 が全て非負→実行可能
線形計画問題                  等式標準形                 実行可能基底解             単体法            双対性             学習ガイド



リア充問題の例
            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 が全て非負→実行可能
線形計画問題             等式標準形               実行可能基底解              単体法           双対性             学習ガイド



リア充問題の例
             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 が全て非負→実行可能
線形計画問題                等式標準形                    実行可能基底解              単体法           双対性             学習ガイド



リア充問題の例
                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 が負→実行不可能
線形計画問題                  等式標準形                 実行可能基底解              単体法           双対性             学習ガイド



リア充問題の例
            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 が負→実行不可能
線形計画問題             等式標準形          実行可能基底解            単体法            双対性              学習ガイド



リア充問題の例
             9
                       





                          0
            Z
            8
              Z      




                      =
               Z                                      基底変数/非基底変数:

                     x4
                 Zt
N = (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 が負→実行不可能
線形計画問題               等式標準形          実行可能基底解          単体法            双対性             学習ガイド



リア充問題の例
            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 が全て非負→実行可能
線形計画問題               等式標準形                 実行可能基底解              単体法           双対性              学習ガイド



リア充問題の例
            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 が全て非負→実行可能
線形計画問題                      等式標準形               実行可能基底解          単体法     双対性    学習ガイド



リア充問題の例
               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   9
xN = (x2 , x4 )-1
                                          xN = (x2 , x3 )        基底解の中で,x ≥ 0 を満足す
                                                                 るものは実行可能基底解と呼
       変数を基底変数 xB ,非基底変数 xN                                      ばれ,許容領域の「端点」に
       に分解すれば,等式制約 Ax = b を満                                     対応する.
       たす解は
            [ ] [ −1              ]                              端点は表現できた.次は,
             xB   AB (b − AN xN )
         x=     =                                                      ある端点が最適解か否か
             xN        xN
                                                                       を判定する方法
       と xN のみを用いて表せる.                                                 最適解でなかったときに,
                                                                       次の端点を探索する方法
線形計画問題         等式標準形   実行可能基底解   単体法   双対性   学習ガイド



Outline

   1     線形計画問題

   2     等式標準形

   3     実行可能基底解

   4     単体法

   5     双対性

   6     学習ガイド
線形計画問題             等式標準形         実行可能基底解                   単体法              双対性                  学習ガイド



リア充問題の実行可能基底解と最適性

  たとえば,非基底変数を                                     基底解 (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 を増やせば 目的関数は減少
線形計画問題        等式標準形            実行可能基底解    単体法            双対性             学習ガイド



基底変数の入れ替えと次の実行可能基底解
   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 よりも小さい.
線形計画問題                    等式標準形                     実行可能基底解         単体法             双対性        学習ガイド



     ピボット操作:より目的関数の小さい隣合う端点へ

          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
線形計画問題                    等式標準形                実行可能基底解         単体法             双対性        学習ガイド



     ピボット操作:より目的関数の小さい隣合う端点へ

          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 組の基底変数と非基底変数の入れ
                                                              替えは, 「ある端点」から「より目的
                                                              関数の小さい隣の端点」への移動に
                                                              相当.
線形計画問題                      等式標準形                     実行可能基底解          単体法               双対性               学習ガイド



     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
線形計画問題                       等式標準形                    実行可能基底解      単体法         双対性        学習ガイド



    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 = 0
2   -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
線形計画問題        等式標準形             実行可能基底解    単体法            双対性             学習ガイド



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) となる.
線形計画問題                 等式標準形                実行可能基底解         単体法             双対性          学習ガイド



     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
線形計画問題                 等式標準形                実行可能基底解         単体法             双対性          学習ガイド



     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
線形計画問題                    等式標準形                    実行可能基底解          単体法                    双対性         学習ガイド



     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
線形計画問題                     等式標準形                    実行可能基底解         単体法       双対性           学習ガイド



    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 = 0
2   -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
線形計画問題        等式標準形          実行可能基底解      単体法            双対性             学習ガイド



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) となる.
線形計画問題                 等式標準形                実行可能基底解         単体法           双対性             学習ガイド



     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
線形計画問題                 等式標準形               実行可能基底解         単体法           双対性             学習ガイド



     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
「リア充」で学ぶ線形計画問題(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)

More Related Content

What's hot

色々なダイクストラ高速化
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化yosupo
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理Taiji Suzuki
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとはTakuya Akiba
 
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015SaitoTsutomu
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろHiroshi Yamashita
 
大規模な組合せ最適化問題に対する発見的解法
大規模な組合せ最適化問題に対する発見的解法大規模な組合せ最適化問題に対する発見的解法
大規模な組合せ最適化問題に対する発見的解法Shunji Umetani
 
人と人の相性を考慮したシフトスケジューラ
人と人の相性を考慮したシフトスケジューラ人と人の相性を考慮したシフトスケジューラ
人と人の相性を考慮したシフトスケジューラ鈴木 庸氏
 
最適腕識別と多重検定
最適腕識別と多重検定最適腕識別と多重検定
最適腕識別と多重検定Masa Kato
 
はじめてのKrylov部分空間法
はじめてのKrylov部分空間法はじめてのKrylov部分空間法
はじめてのKrylov部分空間法tmaehara
 
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPythonKimikazu Kato
 
強化学習その1
強化学習その1強化学習その1
強化学習その1nishio
 
20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則koba cky
 
探索と活用の戦略 ベイズ最適化と多腕バンディット
探索と活用の戦略 ベイズ最適化と多腕バンディット探索と活用の戦略 ベイズ最適化と多腕バンディット
探索と活用の戦略 ベイズ最適化と多腕バンディットH Okazaki
 
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造Takuya Akiba
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門Yoichi Iwata
 
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会Kenyu Uehara
 
平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズムTakuya Akiba
 
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~Kenshi Abe
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習Mitsuhisa Ohta
 

What's hot (20)

色々なダイクストラ高速化
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
 
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
大規模な組合せ最適化問題に対する発見的解法
大規模な組合せ最適化問題に対する発見的解法大規模な組合せ最適化問題に対する発見的解法
大規模な組合せ最適化問題に対する発見的解法
 
人と人の相性を考慮したシフトスケジューラ
人と人の相性を考慮したシフトスケジューラ人と人の相性を考慮したシフトスケジューラ
人と人の相性を考慮したシフトスケジューラ
 
最適腕識別と多重検定
最適腕識別と多重検定最適腕識別と多重検定
最適腕識別と多重検定
 
Rで学ぶロバスト推定
Rで学ぶロバスト推定Rで学ぶロバスト推定
Rで学ぶロバスト推定
 
はじめてのKrylov部分空間法
はじめてのKrylov部分空間法はじめてのKrylov部分空間法
はじめてのKrylov部分空間法
 
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython
 
強化学習その1
強化学習その1強化学習その1
強化学習その1
 
20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則
 
探索と活用の戦略 ベイズ最適化と多腕バンディット
探索と活用の戦略 ベイズ最適化と多腕バンディット探索と活用の戦略 ベイズ最適化と多腕バンディット
探索と活用の戦略 ベイズ最適化と多腕バンディット
 
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
 
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
 
平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム平面グラフと交通ネットワークのアルゴリズム
平面グラフと交通ネットワークのアルゴリズム
 
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習
 

Recently uploaded

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 

Recently uploaded (6)

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 

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

  • 1. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 「リア充」で学ぶ線形計画問題 長江 剛志1 February 15, 2013(ver0.5.3) 1 東北大学大学院 工学研究科 技術社会システム専攻 (nagae@m.tohoku.ac.jp)
  • 2. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド Outline 1 線形計画問題 2 等式標準形 3 実行可能基底解 4 単体法 5 双対性 6 学習ガイド
  • 3. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 1 線形計画問題 2 等式標準形 3 実行可能基底解 4 単体法 5 双対性 6 学習ガイド
  • 4. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 「リア充」問題 A くんには自由な時間が 1 日あたり 8 時間 あり,彼女ができ たばかり. 自由な時間の使い途として バイト と デート を考える. バイトすると 1 時間あたり 700 円 の収入になる. デートすると 1 時間あたり 350 円 の支出になる. A くんの仕送りから家賃・食費などの生活費を除くと リア充 資金 として 1 日あたり 700 円 を充当できる. A くんはバイトしてもデートしても充実感が得られるが,で きたばかりの彼女と過ごす時間の方が,バイトの時間よりも 充実感を味わえる.そこで,1 時間あたりの充実感の比率を バイト:デート = 1:5 とする. リア充資金とバイト給料でデート代を賄いつつ,充実した生 活を送るには 1 日あたりバイトとデートを何時間づつすれば よいだろう?
  • 5. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 線形計画問題としての定式化 I 未知変数 (制御変数) の定義 バイトにあてる時間を x1 , デートにあてる時間を x2 で表す. 時間制約 バイトの時間とデートの時間の合計が 8 時間を超えてはいけ ない: x1 + x2 ≤ 8 (1) 予算制約 「バイトの収入とリア充資金の合計」が「デートへの支出」 以上でなければいけない: 700x1 + 700 ≥ 350x2 両辺を 350 で割れば, 2x1 + 2 ≥ x2 (2)
  • 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 許容領域 (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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 許容領域 (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,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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 許容領域 (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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 目的関数の等高線と最適解 [ ] 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 脱線 (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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 脱線 (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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 脱線 (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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 最適解の特徴 最適解は許容領域の 端点 (ごく稀に 辺 ) に限られる. 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド Outline 1 線形計画問題 2 等式標準形 3 実行可能基底解 4 単体法 5 双対性 6 学習ガイド
  • 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 等式標準形への変換方法 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 等式標準形への変換方法 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド リア充問題 (彼女が実家暮らしの場合) の等式標準形とし ての表現 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 目的関数をベクトルで表現 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 目的関数をベクトルで表現 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 制約条件を行列とベクトルで表現 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 制約条件を行列とベクトルで表現 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 制約条件を行列とベクトルで表現 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 等式標準形リア充問題のベクトル・行列表現 等式標準形リア充問題 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド Outline 1 線形計画問題 2 等式標準形 3 実行可能基底解 4 単体法 5 双対性 6 学習ガイド
  • 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド リア充問題の例 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド リア充問題の例 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド リア充問題の例 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド リア充問題の例 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド リア充問題の例 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド リア充問題の例 9 0 Z 8 Z = Z 基底変数/非基底変数: x4 Zt N = (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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド リア充問題の例 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド リア充問題の例 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド リア充問題の例 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 9 xN = (x2 , x4 )-1 xN = (x2 , x3 ) 基底解の中で,x ≥ 0 を満足す るものは実行可能基底解と呼 変数を基底変数 xB ,非基底変数 xN ばれ,許容領域の「端点」に に分解すれば,等式制約 Ax = b を満 対応する. たす解は [ ] [ −1 ] 端点は表現できた.次は, xB AB (b − AN xN ) x= = ある端点が最適解か否か xN xN を判定する方法 と xN のみを用いて表せる. 最適解でなかったときに, 次の端点を探索する方法
  • 38. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド Outline 1 線形計画問題 2 等式標準形 3 実行可能基底解 4 単体法 5 双対性 6 学習ガイド
  • 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 基底変数の入れ替えと次の実行可能基底解 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド ピボット操作:より目的関数の小さい隣合う端点へ 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド ピボット操作:より目的関数の小さい隣合う端点へ 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 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 = 0 2 -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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 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 = 0 2 -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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 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. 線形計画問題 等式標準形 実行可能基底解 単体法 双対性 学習ガイド 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