1.1 相補性定理
この定理を理解するのに一番良い方法は生産計画を分析してみることである。 一般の生産計画は次のように定式化されることはよく知られている。
これに対する双対問題は双対変数をy1,y2,…ym
とすると次のように定式化される。
さてこれらの問題の最適解をそれぞれx*,y*
とするとき次の関数が成立する。
即ち yi*(bi - ainxn*)
= 0
数式だけの説明では分かりにくいかと思われるので、経済的な意味でこれらの関係を表現すると、(A)は最適計画が実行されたとき結果的に余剰の出るような資源の価額(限界価値)は0であることを意味する。(B)については左辺は製品jを一単位生産するのに要する資源の総価値、別な言葉で表現すると、限界価値によって評価された各原料も総価値が、その商品からもたされる収入 Cj
よりもお大きいならば、その商品は生産されないということである。以上の説明で相補性の定理が表現する数字の経済的な意味を多少は理解されたと思う。
1.2 ヒッチコック型輸送問題の定式化
1.3 ネットワークにおける輸送問題の定式化とその双対問題
さてネットワークにおける輸送問題は、前節のヒッチコック型のように供給量と需要量からくる制約式では不充分で、中継点に対しても何らかの制約を設けなければならない。そこでネットワークの場合には次のようなモデルを考え定式化してみる。
巡回(Circulation)
さて前項の式をみたとき、1式と3式は点0で流れdが発生し、点nで流れdが消滅したことを意味するが、これはある意味で冗長な式である。何故ならば図2に見られるように点nから点0に還流するルート(点線)を付け加えることにより、すべて2式の流量保存法則の式に帰属できる。従って以後は流れではなく、巡回(Circulation)という言葉を使って説明する。即ち問題を次のような簡単な形に定式化し、最適巡回を求めることに置き換える。
x21 + x22 + x23 ≦ S2
x31 + x32 + x33 ≦ S3
x21 + x22 + x23 ≧ D2
x31 + x32 + x33 ≧ D3
xij ≧0 i=1,2,3 j=1,2,3
ここで
各式を説明すると
この定式化した問題は次のような双対問題になる。
ここにUi,Uj
はそれぞれ点i,jに設定される相対変数でポテンシャルとよばれる任意の実数である。 U'ij,U"ij は枝 i → j
のそれぞれ下限、上限に対する双対変数で非負の値をとる。
1.4 相補性定理の適用
さて今まで述べてきた問題で、最適巡回が得られたとするならば、各枝に関して相補性の定理を適用すると次の3式が成立する筈である。
1.5 輸送問題と相補性定理の適用の経済的解釈
ここから少し経済的な解釈に重点を置きながら話を進めてみたい。
図3 図4
これらの式のうち、1.および
2.は主問題の各枝についての下限及び上限からくる制約条件式 と、それぞれの双対変数から導かれる。3.式は双対問題の制約条件式とその双対変数(双対問題の双対変数であるから、即ち主問題の主変数でXij
となる)から導かれるものである。
これらについて表現を変えてもう少し詳しく説明してみると、最適巡回における各枝の状態は必ず次の3つの状態のどれかに相当する筈である。
@ Xij = Lij かつ U"ij = 0 かつ
U"ij = Cij + Ui - Uj ≧ 0
A Lij < Xij < Kij かつ
U'ij = U"ij = Cij + Ui - Uj = 0
B Xij = Kij かつ U'ij = 0 かつ
U"ij =
-(Cij + Ui - Uj) ≧ 0
図3のようなごく簡単なネットワークを考えてみる。図3において、各枝につけられた数字はその枝に1単位のものを輸送したときの費用で、( )内はその費用で流し得る流量である。
特に枝0→2については道幅が狭く混雑しやすいので、図4に見られるように流量が多いと急激に費用が高くなっていく枝であるとする。この場合ネットワークにおいては枝0→2の間に仮の点a,b,cを設け、費用別に3本の枝が同時に存在しているように取り扱う。
さてここで、各枝の輸送コストをその枝の距離とみなし、点0(供給点)から各中継点への最短距離をもとめてラベル付けを行う。各点のラベルはそれぞれ(0)、(1)、(3)、(5)となり最短路は0→2→1→3となる。各点のラベルは最短距離の累積であるから、その点が物を購入する際、もっとも安い輸送路を選んで買った場合の輸送コストであるといえる。従ってもし最短路を構成する枝に容量制限が無ければ、流れは専らこれらの枝に集中するであろう。
ところで、これら各点のラベルにマイナス符号をつけたものが前節に出てきたポテンシャルに相当するのである。それは恰も電流が電位の高い所から低い方へ流れるように、流れがポテンシャルの高い所から低い方に向かって生ずることを意味する。
さて経済社会では、物流は必ず価額の安い所から高い方に向かって生ずる。そこでラベルの値を、その点の原価(生産原価を除いた)と見立てて話を進めてもそれほど不自然ではないと考える。そこで以後はポテンシャルの反対符号にした値を、その点における原価とみなして話を進めていく。
次に、再び前節のCij + Ui - Uj
という式を思い出していただきたい。この式の意味するところを次に説明する。
3.式は、このような枝がもし存在するとしたら、その枝が最短路となって Cij=0 となる筈であるが、この訳は図3枝0→a→2 の費用1の枝について考えてみれば分かる。この枝は容量が3であるから、それ以上の流れを起こしたいときは費用2の枝 (0→b→2) に流すしかない。しかし現在の点2の原価は1であるから、これを2にすることにより、枝0→b→2 にも流すことができる。すると枝0→a→2の Cijは Cij + Ui - Uj = 1 + 0 - 2= -1 < 0 で負となる。従って流量は当然その枝の上限に張り付き、上限を超えた分がもっとも高い費用の枝に流れることになる。
さて今までの説明で、輸送すると損と分かっている枝には流れを生じさせなければ良いのであるが、安い枝に流したくとも、容量制約(Kij )があるため高い枝にも流さなくてはならないとか、或いは世間に義理、人情で高いと分かっていても、ある量だけは決められた所から買わねばならないというような制約(Lij )をしばしばうけることがある。このようなルートは当然ある量(Lij )までしか流さず、それ以上は流さないことが賢明である。