前回
2. 線形計画と凸2次計画
まずはシンプルで分かりやすいこともあり、線形計画(および凸2次計画)を扱う。また線形問題の中でという前提で双対性など他の最適化問題にも当てはまる理論を少し扱う*1。
2.1 線形計画問題
目的関数が1次関数であり、制約が(1つの場合も複数の場合もあり得る)1次方程式ないし1次不等式のみから構成される最適化問題を線形計画問題という。線形計画問題は統一的に以下のように書くことができる。
このような形の問題を等式標準形という。2つ目の制約を非負制約という。
これをベクトルで表示すれば、
と書く*2。
例:工場での利益最大化生産問題
ある工場では3種類の原材料を用いて2種類の製品を生産している。製品の生産量を[kg]とし、可能な限り最大の利益を得られるようにを決めるものとする。
製品の利益をそれぞれ[万円]だとすれば、総利益はである。一方で製品を生産するのに、原材料が以下の表のとおりに必要だとする。
kg kg kg kg kg kg原材料の在庫をそれぞれ[kg]とすれば、この最適化問題は
で定式化できる。これは目的関数も制約もすべて一次方程式ないし一次不等式であるから、線形計画問題である。
線形計画問題の制約はすべて1次式であるから、実行可能領域は凸多角形になる。目的関数も1次式であるから、等高線は一定の感覚で平行に並ぶ直線である。このため最適解は実行可能領域を表す多角形の頂点のいずれかである。一般に個の変数を持つ線形計画問題では実行可能領域は多面体になり、その頂点のいずれかが最適解になる。
2.1.1 等式標準形
線形計画問題は様々な形態で書き換えることができる。
その準備として、まず線形計画問題をベクトル形式で書くことにする。
次元数の等しいベクトルに対して、
が成り立つとき、それぞれおよびと書くことにする。
以上を踏まえて線形計画問題を一般的な形式で書くと以下のようになる。すなわちに対して決定変数をとして、またとして
と書くことができる。等式で書かれる制約を等式制約、不等式で書かれる制約を不等式制約という。
応用上、上記の一般形式よりも等式標準形と呼ばれる形式を扱うことが多い。
一般形式において[te:xG=-I,]としたものである。
任意の一般形式は等式標準形に直すことができる。まず目的関数の定数項は最適化には影響しないから最適解の求解には無視しても良いことに注意する*3。次に変数を新たに定義して不等式制約を等式制約
に変換する。こののように不等式制約を等式制約に変換するために用いられる変数をスラック変数と呼ぶ。次に新たに変数を導入し、
と書き直す。以上から、
と書ける。
2.1.2 問題の書き換え
線形計画は、一見単純な問題しか記述できないように見える。しかし非線形の目的関数や制約の中には、工夫することで線形計画問題に帰着できるものも多い。
例1
絶対値を含む最適化問題は、線形計画問題
に帰着できる。
例2
目的変数に絶対値の和を含む最適化問題は、補助変数を導入すると、
に帰着でき、これはさらに線形計画問題
に帰着できる。
例3
方程式が不定であるときに、可能な限り成分にを多く含む解(疎な解)を求めたいとする。
このようなはそのノルムを最小化すると得られることが知られている。すなわちを解けばよい。これは更に補助変数を導入することで線形計画問題に帰着できる。
2.1.3 線形計画問題の基本定理
等式制約の係数行列から線形独立な列ベクトルを並べて定義した正則行列を基底行列と呼び、それに対応する変数を基底変数という。非基底変数をとおけば、基底変数は基底行列をとおけば、と一意に決まる。こうして定まった解を基底解と呼ぶ。更にこの基底解のすべてが非負であるとき、実行可能基底解と呼ぶ。
もし実行可能基底解で等式制約の行列のランクと等しい個数の変数が非負であるとき、非退化実行可能基底解という。
以下の定理から、線形計画問題を解く際には、実行可能基底解が重要になることが分かる。
定理2.1 線形計画問題の基本定理 線形計画問題
が与えられたとき、以下が成り立つ。
(1) 実行可能解が存在するならば、実行可能基底解が存在する。
(2) 最適解が存在するならば、実行可能基底解の中に最適解が存在する。
が成立する。の成分のうち正のものは1つもないか少なくとも1つ存在する。その数をとおく。
まずの場合、の最初の個の成分が正であるとしても一般性を失わない。このとき
であり、これはが線形独立か否かで場合分けできる。
まずが線形独立ならば、であるから、である。
ならば、はを基底変数とする非退化実行可能基底解となる。
ならば、行列の残った列から適当に個選んでそれらとが線形独立になるようにできる。このときを基底変数とする退化した実行可能基底解になる。またの場合もこれに帰着できる。
他方でもしが線形従属であるならば、
であるような、少なくとも1つが非零であるようなスカラーが存在する。ここで一般性を失うことなく、少なくとも1つはであるとすれば、任意の正数に対して
が成り立つ。ここでをから正に増大させると、はに近づいていく。これを繰り返していくことで、最終的に線形独立な列ベクトルを持つ実行可能解が得られ、線形独立の場合に帰着できる。
(2)の場合について、とし、対応するの列ベクトルをとする。もしならば、(1)の場合と同様に退化した実行可能基底解が構築でき、しかも目的関数値はと等しくなるから、この実行可能基底解は最適解となる。
次にの場合を考える。の最初の個の成分が正であるとしても一般性を失わない。対応する列ベクトルをとすれば、
となる。
このとき、が線形独立ならば、(1)の場合と同様にすれば最適解が実行可能基底解になる。
が線形従属ならば、
を満たし少なくとも1つが正であるようなが存在する。が充分に小さい任意のに対して
は実行可能解になるため、
が成り立ち、となる。これはの符号にかかわらず成り立つから、が成立する。したがって任意のに対して
が得られる。したがって(1)と同様に不要な変数を例にしていくと、適当なに対して
は実行可能基底解かつ最適解である。以上より、実行可能基底解の中に最適解が存在することが示された。 )
この基本定理により、線形計画問題を解くためには実行可能基底解を調べればよい。