特集数理計画法
線形計画法の最近の話題
岡本吉晴・玉井哲雄 線形計画法は,単体法の発展により, OR の分 野でもっとも有力な手法の l つになっている.今 日のように,数千の制約式をもっ大規模な LP 問 題が日常的に解かれるようになったのは,計算機 のハードウエアの進展にともなって,ここ数十年 の聞に,汎用数理計画システムが開発され,その 計算技法がし、ちじるしく進歩してきたからに他な らない. ここで、は,最近の汎用数理計画システムで,大 規模な LP 問題を効率よく解くために,どのよう な計算技法の工夫がなされているかを概括的に述 べ,また,これらの工夫によって,どの程度の効 率アップが得られているかを,若干の数値実験結 果をまじえて,紹介してゆきたい. 線形計画法の計算技法の概要 今日では,大抵の大型計算機には数理計画シス テムがインプリメントされており,少なくとも 2 , 000 程度の制約式をもっ LP 問題が効率よく解 けるようにつくられている.このような大規模 L P 問題では,制約行列は非零要素の密度が 1% に も満たないような疎な行列であり,この性質を利 用するために,数理計画システムでは基本的に, 積型式による改訂単体法が採用されている. 積型式の改訂単体法は,基底逆行列[3-1 を,B-
1=
E
t
.
.
.
.
.
E
l
という形で計算している . Ek は掃きだし行列で ある.すなわち,掃きだす列ベクトルを αj , 枢軸 1977 年 6 月号 行を r とし, ' l}r= !/aγJ 豹 = -aij/aγj (i キ r) とすると , Ek は,単位行列の列 r がりベクトルザ 三(ザ1 , "',ザ叫 )t に置きかわっているような行列で ある.したがって,実際には,掃きだし行 r とザ ベグトルの列を記憶しておけばよい. 改訂単体法の反復計算は,つぎのような手順で ある. CDくBTRAN) π ベクトル πZ 三 CBtB-l=CBtEt...E1
を計算する. @くPRICE) 非基底変数の reducedc
o
s
t
d
j
dj 三 Cj-CBtaj=Cj- πtαj を計算し , dj<O なる適当な j を基底候補に 選ぶ. @くFTRAN) αJ の変換 aj 三 B-1αj=Et...Elαj を行なう. @)くCHUZR) 変化量 θ と枢軸行 r を求める. θ=min ん/αij 日日 >0 (þ)く羽TRETA) r を枢軸とする掃きだしベクト ルザ1+ 1 を万ベクトル列につけ加えるという形 で,基底逆行列を更新する . t=t+l として ①へゆく. 上記の手順で、反復が進むと,マベクトルの列が ふえてきて, BTRAN と FTRAN の計算量が増 してくる.このため,適当なタイミングで基底行3
3
9
© 日本オペレーションズ・リサーチ学会. 無断複写・複製・転載を禁ず.列を再逆転 (reinversion) してやり,なるべく短 いマベグトル列で、 B-1を表現しなおしてやること が行なわれる. さて,最近の数理計画システムでは,全体の効 率を上げるためにどのような工夫がなされている であろうか.これらの工夫を大別すると, (1) 改訂単体法自身の効率を上げるもの
(
2
)
単体法の計算の前の処理を工夫するもの(
3
)
問題の構造を利用するもの(
4
)
入力データの作成と結果の出力を便利にす るもの 改訂単体法の効率を土げる接近法としては, (a) 1 反復あたりの計算時間の短縮 (b) 反復回数の減少 とがある.(a) の接近法としては,
BTRAN
,
FTRAN にお けるS- 1 の計算を短縮することが重要である.こ のために,従来より,基底行列の再逆転で,三角 化法とよばれる方法により,なるべく基底行列と 同程度に疎な万ベグトルをつくる工夫がなされて いる.最近では,基底行列を LU 分解して L-l, U-1 を積型式で表現することによって,反復が進 んでも,ザベグトルの要素の増加がはげしくなら ないような工夫がなされている.また PRICE の 部分でも度に制約行列全部をプライシングし ないで,一部だけをプライシンクーする方式(部分 プライシングという)や,プライシンクーで、調べた め <0 の非基底変数から Idjl の大きな順に p 個ま で選んできて,それらを FTRAN で変換して, その部分だけをタブロー形式で最適化してしまう 方式( suboptimization とか multiple pricing と かいわれている)が従来から工夫されている. 反復回数を減らすためには回の反復でなる べく目的関数値の変化量の大きなものを基底に入 れるように選ぶ必要がある.このため,従来より suboptimization のとき , p 個の基底候補全部の 枢軸行を計算し,目的関数値の変化量のもっとも 大きいものを基底に入れるようにしている(最大3
4
0
増加法) .最近では, PRICE に際しでも,目的関 数値の変化量が大きいと期待できる変数を選ぶた めに, DEVEX法と称する方法が考えられ,ある 程度の成果が得られているようである. 単体法の前処理の工夫としては,グラッシング 技法と問題の縮小化技法がある. クラッシング技法は,つぎのような方針で,な るべくし、ぃ初期基底を,なるべく短時間で得るこ とを目的としている. ① なるべく多くのスラッグ変数でない変数を 基底に入れる. ② なるべく基底行列の形を三角化された状態 に保っておく. ③ 実行不可能な行をなるべく減少させるよう な変数を基底に入れる. ④ 基底に入る変数の値がなるべくゼロになら ないように配慮する. 問題の縮小化技法は,与えられた問題から冗長 な制約式や不必要な有界変数条件をとり除き,サ イズを縮小する技法である.最近の数理計画シス テムでは,大抵この機能がとり入れられている. 問題の構造を利用する方法としては,最近では とくに GU B
(
G
e
n
e
r
a
l
i
z
e
d
Upper
Bounding) 法 が数理計画システムにとり入れられて,非常に効 果をあげている.たとえば Tomlin8) によれば,50
,
215行 (49 ,5
8
8
GUB 行),282
,
468列の超 大規模な LP 問題が, MPsm の GUB プログラ ムを用いたら,1
B M
370/165 で%分で解けた そうである. また, GUB 行を数行束ねた型はDantzig-W
olfe の分解型の形になるが, この形 の問題に対しては GUB 法を拡張した拡張 GUB 法を適用できる.この方法も,筆者らの開発した プログラムでは,かなりの成果をおさめているの. 大規模な LP 問題では,その入力データを誤り なく作成したり,結果を見やすいリポートにまと めたりするために,かなりの人二子と時聞が費やさ れている.その作業をサポートするために,多く のマトリックス・ジヱネレータやリポート・ジヱネレータが開発されている. 数値実験結果 IBMの数理計画システム MPSX/370は, L U 分解法による逆行列を採用しており, DEVEX法 によるプライシング機能,問題の縮小化機能も有 している.表 l は縮小化機能の実験結果である. 表 2 は, MPSX/360 との比較 (MPSX/360は,通 常の積型式の逆行列を採用している)を通じて, LU 分解法と DEVEX 法の有効性をテストした 結果である.使用機種は, 1 B M 370/168である. 表 i より,縮小化技法によって,大規模な LP 問題の制約式は,行,チ1],それぞれ 1-2 割程度 は,サイズが縮小化される.表 l で, NORMAL,
FREE, FIXED, BOUNDED は,変数,あるい
は制約式(スラック変数)のタイプで, NORMAL FREE FIXED BOUNDED の怠味である. 友 2 のむベクトルの非零要素数を見ると, L U 分解法によって,基底行列の再逆転直後でも,従 来のものより少なくなっているが,反復が進んで 再逆転の直前になると,従来のものと比べていち じるしく少なくなっており, 1/2 から 1/4程度であ る.とくに,問題のサイズが大きくなるにつれて, この差が大きくなっている.また反復あたり の CPU 時間も,従来のものに比べて, 2/3 程度 に短縮化されている. DEVEX 法については, MODEL-C では,有 効であったが, MODEL-B では,それほど効果 はあがっておらず, MODEL-X で・は,逆にいち じるしく効率を落としている. 縮小化された問題に対しては,最適化の計算時 間が短縮されており,縮小化に要する計算時聞を O 三;;X< ∞ 加えても,全体の効率はあがるようである.とく 一∞<♂<∞ に,問題のサイズが大きくなるにつれて,有効で
X=a
あろう. f 三三 X 三三 u 表 1 ,表 2 の結果からだけでは,明確なことは 表 1 問題の縮小化の実験結果問題(三竺/!--予 IjιTOTALl-T??FF肌 FREE
FIXEDBOUNDED:I斗叩町村 DENS汀W
1 I MODEL-B
I 行
309
63 245 0別3
1.01 l 列 641 548 0 61 32 II~2n.E~,-:-~!行
(縮小化)列 267235 42558m
I MODEL-CI 行
715
218 J.Y~'-' .LJ.L.t.l..J ... I 列 1477 1445 戸フハ U 3 ∞ A マ η4 fO7 ‘ 54 一 行列一 C ) 「レ U rEL , aqE E 、D
d
m
締 W59
一
99一69
42 一 17 一 42 ぷ uq4 一 qJ 円 υ 一 ζun4l
J
J
f
j
j
行列一行列一行列
X一
X) 一 Yレ一レ化一レ
E 一 E 、一 E D 一 Dd 一 D O 一 O 昔一 0 MM ゆ一 M V一羽羽
314 5999 。 229 4406 498 315 2 5979 。 228 2 4389 591v
m
MODEL-Y行列
l 1359 (縮小化) 7115I
X
:
MODEL-Z行列
23546718 MODEL-Z 行列 2288x
.
(縮小化) 3400 1977 年 6 月号 93 21873 210 2869 1.17町一期
9 一 8 げ 0一げ
m刀 只 unL 一 nu 。。 守 tqJ11 マ t 20 一 2 男 0.59 0.33 0.74 0 115 41048 0.28 0 85 38025 0.34 0 119 41051 0.28 0 87 38256 44 2380 44 935 2'516o
87 10110 12765 0.08 1400 2324930 770 5 11817 0.09 341 © 日本オペレーションズ・リサーチ学会. 無断複写・複製・転載を禁ず.いえないが,筆者らの経験も加味すると,つぎの ようなことがし、える. ① LU 分解法によって,従来のものより単体 法による最適化の計算時間が,
2
~ 3 割短縮 される. ② 問題の縮小化は行なって損なことはない. とくに,問題のサイズが大きくなると有効で ある. ③ DEVEX法の有効性は,よくわからない. 今後,どのようなタイプの問題に対して有効 であるかを調査すべきであろう. LU分解法,問題の縮小化技法, DEVEX法に ついては,第 5 回シンポジウムの予稿集,あるい は, LU 分解法は文献 zh 問題の縮小化技法は文 献 1) , DEVEX 法は文献むを参照されたい. LP コード 最近の LP コード(汎用数理計画システム)は, LP の最適化のみならず,入力や出力におけるさ まざまなデータ処理機能,最適化後の感度分析機 能,問題の保存・回復・変更機能などや,さらに は,混合整数計画問題ゃある種の非線形計画問題 の最適化機能なども備えている.代表的な LP コ ードには,つぎのようなものがある.• MPSX
...対象機種は 1 BM. とくに 1B
M
370 シリーズ用に改良された MPSX/370が最新である•
UMPIRE …対象機種 UNIVAC .OPHELIE... 対象機種 CDC.FMPS ・...… Bonner
&
Moore 社により開 発されたもので,種々の機種に インプリメントされている これらは機能的にみると,大体似たようなもの を備えており,性能的にもそれほどの違いはない と思われる.日本では,各国産機メーカーで開発 しているものがある.なお,筆者らが開発に参画 したものに,IMPS
(日本情報処理振興協会の委 託開発)があり,これは,とくに混合整数計画問 題に対するヒューリスティックな解法の導入と, 構造をもった線形計画問題の効率よい取りあっか 表 2 LU 分解法と DEVEX 法の効率評価 t主〉 本時間打ち切り平均l')-elements
l')-elemenlS縮小化
計算に ;--.-/.,f~ I 要した Invert 後 l時間(分) Mm 一凶 n u n U θο8@5 一 91 一 9250916 一 49687 655 心 692 一 2167407 一 2911A6 nunU74nu マt-QU 勾 t 一 ζun47414 マ dA 守。。一 n , LζuqJ7tqJ 211 一一 5313121 一 74242 LULU 一 LU 一 LULULU-LULU 25190 一 94 一 55828 一 15 一 7t ハ U ヴ t'inu 一 'iny 一 nur04 ・ rony 一つ -ny 一 TA41A 守 rO 戸コ一向 ynu 一 η4 今 42J'iA 守一 nyη , L 一 82211-25 一 34443 一 47 一 LULU一
LU一
2LULU 一 LU一
309 一 9 一 492 一 4 一 773 一 1 一 875-1 一675
一7272
一
n u n U A U ' l ' I ' l ' I ハ U ハUnunU ハUnυ ハ U 一 ハ U ハUnU 一ハ U ハ unU ハ U仏仏仏一仏仏仏仏一
ハ U 弓, E ・一 ハU 一 川… v 一 宏一MPSX/360
0
.
3
7
7
2
7
(
3
7
0
)
MODEL-B
IMPSX/370
0
.
3
0
I6
9
9
(
2
8
6
)
:
MPSX/370 DEVEXI
O
.
3
3
仰(部)
I
縮 D小E化
MåDÈL~B;
MPSX/370
MPSX/360
3
.
7
9
2
9
4
3
(
7
4
2
)
MODEL-C :
MPSX/370
3
.
4
4
3
0
9
8
(
7
9
2
)
MPSX/370 DEVEXi 2
.
8
9
I2
3
7
0
(
7
9
2
)
:
縮小化 l MODEレclMPSX/3702
.
2
7
0
.
0
0
0
9
X
E
VE
D
ハunU ハU ぷ V 勾, s 匂 t 3 3 3 rfrf'J,
frx
x
x
s
s
s
p
P
P
M
M
M
X
L
E
D
OM
L6049
U6074
L6951
U6956
3
4
2
4
5
0
2
3
いとを特徴としている 6).7) これらの LP コードにとって,制約式の数が 1 , 000 程度の問題は中位の規模といってよく, 制 約式2 , 000-3 , 000,変数 10, 000程度までの問題は 実用的に解くことができ,また実際に日常的に解 かれているようである.このほかに LP コードの 機能として比較的最近話題となっている項目とし て,つぎのようなものがあげられる. (1) GUB. GUB 型の問題に対して, G U B 技法を適用して効率的に解く機能は多くの LP コ ードに導入されており,さらに一般の LP 問題に 対して, GUB の構造を発見して,その形にデー タを配列し直す機能を備えているものもある.
(
2
)
M 1
p. 混合整数計画問題を解く機能は, 多くの LP コードが備えている.ほとんどが分校 限定法を解法として採用している.最近,需要 が増えつつあるようである.(
3
)
データ管理.各 LP コードは, LP 問題を 入力するデータの形式をもっており,これを内部 的なデータに変換して最適化を行ない,また得ら れた結果をリストやファイルに出力するという入 出力機能をもっ.これらを補助する意味での,行 列生成 (Matrix Generator) やレポート生成 (Re port Generator) のプログラムも,かなり以前か ら,これら LP コードと別に,あるし、は LP コー ドに付随してつくられてきたが,最近ますますそ の必要性が高くなっているようである. この他 に,問題や解の保存・回復・修正なども,データ 管理に含まれる.現在,このデータ管理機能の比 重が増し,計算時間(費用)で,最適化部分の 3 倍 f立がこちらにかかっているという人もいる恥.(
4
)
構造のある LP. とくに分解型 (L P 行列 の大部分がブロック三角化されているもの)の線 形計画問題を効率よく解く方法の研究は多いが, LP コードに採用されているのは非常に少ない.(
5
)
会話型 LP. 時分割方式の処理用にインプ リメントされた LP で,最近, とくに LP 計算に ともなうデータ管理の複雑化の傾向にともない, 1977 年 6 月号 有効性が認識されつつあるらしい.(
6
)
イン・コア最適化.最適化の速度を上げる ためになるべくデータを主記憶内において処理し ようとする工夫である.とくに行列の同じ値をも っ要素を重複しでもたないとしづ工夫により,行 列を主記憶内に納める技法が FMPS の改良版に 使われているのが,日新しい. 参芳文献1) 8rearley, A. L., G. Mitra and
H
.
P. Williams,“
Analysis of Mathematical Programming Prob.lems prior to Applying the Simplex Algorithm
,"
Mathematical Programming
,
8 (1975),
54-83.2) Forrest, J. H. and J. A. Tomlin,“Updating
Triangular Factors of the Basis to Maintain Sparsity in the Product Form Simplex Method
,"
Mathematical Programming
,
2 (1972),
263-2783) Harris, P. 乱1.J.,“Pivot Selection Methods of the DEVEX LP Code
,"
Mathematical Programm. ing,
5 (1973),
1-28.4) Hirsheld, D. S., “The Practice of Linear Pro・
gramming : Status and Outlook
,
XXII Internaュ tional Meeting TIMS, 1975, Kyoto, Japan.5) 反町洋一,武川博臣,岡本吉晴, “上限値付変数を
含む拡張 GUB 法" 1972年度秋季研究発表会アブス トラクト集, 日本 OR 学会, 1972.
6) 反町洋一,岡本吉晴,玉井哲雄, “数理計画、ンステ
ムの開発〆情報処理, 15(1974), 710-716.
7) Sorimachì, Y., H. Mukawa, Y.Okamoto and
T. Tamai, “Implementation of the Heuristic Mixed Integer Program to the Mathematical Programming System
,"
Proceedings,
IX Internaュ tional Symposium on Mathematical Programmュ ing, Hungary, 1976, to appear.8) Tomlin, J. A., “Survey of Computational
Methods for Solving Large Scale Systems
,"
TR72-25
,
Operations Research House,
Stanford Univ.,
1972.:1<;かもと・よしはる 1946年生三菱総合研究所
三菱総合研究所