• 検索結果がありません。

線形計画法の最近の話題

N/A
N/A
Protected

Academic year: 2021

シェア "線形計画法の最近の話題"

Copied!
5
0
0

読み込み中.... (全文を見る)

全文

(1)

特集数理計画法

線形計画法の最近の話題

岡本吉晴・玉井哲雄 線形計画法は,単体法の発展により, 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...E

1

を計算する. @くPRICE) 非基底変数の reduced

c

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

© 日本オペレーションズ・リサーチ学会. 無断複写・複製・転載を禁ず.

(2)

列を再逆転 (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法と称する方法が考えられ,ある 程度の成果が得られているようである. 単体法の前処理の工夫としては,グラッシング 技法と問題の縮小化技法がある. クラッシング技法は,つぎのような方針で,な るべくし、ぃ初期基底を,なるべく短時間で得るこ とを目的としている. ① なるべく多くのスラッグ変数でない変数を 基底に入れる. ② なるべく基底行列の形を三角化された状態 に保っておく. ③ 実行不可能な行をなるべく減少させるよう な変数を基底に入れる. ④ 基底に入る変数の値がなるべくゼロになら ないように配慮する. 問題の縮小化技法は,与えられた問題から冗長 な制約式や不必要な有界変数条件をとり除き,サ イズを縮小する技法である.最近の数理計画シス テムでは,大抵この機能がとり入れられている. 問題の構造を利用する方法としては,最近では とくに G

U 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 問題では,その入力データを誤り なく作成したり,結果を見やすいリポートにまと めたりするために,かなりの人二子と時聞が費やさ れている.その作業をサポートするために,多く のマトリックス・ジヱネレータやリポート・ジヱ

(3)

ネレータが開発されている. 数値実験結果 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

FIXED

BOUNDED: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 42558

m

I MODEL-C

I 行

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

締 W

59

99

一69

42 一 17 一 42 ぷ uq4 一 qJ 円 υ 一 ζun4

l

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 591

v

m

MODEL-Y

行列

l 1359 (縮小化) 7115

I

X

:

MODEL-Z

行列

23546718 MODEL-Z 行列 2288

x

.

(縮小化) 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'516

o

87 10110 12765 0.08 1400 2324930 770 5 11817 0.09 341 © 日本オペレーションズ・リサーチ学会. 無断複写・複製・転載を禁ず.

(4)

いえないが,筆者らの経験も加味すると,つぎの ようなことがし、える. ① LU 分解法によって,従来のものより単体 法による最適化の計算時間が,

2

~ 3 割短縮 される. ② 問題の縮小化は行なって損なことはない. とくに,問題のサイズが大きくなると有効で ある. ③ DEVEX法の有効性は,よくわからない. 今後,どのようなタイプの問題に対して有効 であるかを調査すべきであろう. LU分解法,問題の縮小化技法, DEVEX法に ついては,第 5 回シンポジウムの予稿集,あるい は, LU 分解法は文献 zh 問題の縮小化技法は文 献 1) , DEVEX 法は文献むを参照されたい. LP コード 最近の LP コード(汎用数理計画システム)は, LP の最適化のみならず,入力や出力におけるさ まざまなデータ処理機能,最適化後の感度分析機 能,問題の保存・回復・変更機能などや,さらに は,混合整数計画問題ゃある種の非線形計画問題 の最適化機能なども備えている.代表的な LP コ ードには,つぎのようなものがある.

• MPSX

...対象機種は 1 BM. とくに 1

B

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

I

MPSX/370

0

.

3

0

I

6

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

I

2

3

7

0

(

7

9

2

)

:

縮小化 l MODEレclMPSX/370

2

.

2

7

0

.

0

0

0

9

X

E

V

E

D

ハunU ハU ぷ V 勾, s 匂 t 3 3 3 rfrf'J

,

fr

x

x

x

s

s

s

p

P

P

M

M

M

X

L

E

D

O

M

L6049

U6074

L6951

U6956

3

4

2

4

5

0

2

3

(5)

いとを特徴としている 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-278

3) 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

,"

TR

72-25

,

Operations Research House

,

Stanford Univ.

,

1972.

:1<;かもと・よしはる 1946年生三菱総合研究所

三菱総合研究所

3

4

3

参照

関連したドキュメント

LLVM から Haskell への変換は、各 LLVM 命令をそれと 同等な処理を行う Haskell のプログラムに変換することに より、実現される。

問題集については P28 をご参照ください。 (P28 以外は発行されておりませんので、ご了承く ださい。)

管の穴(bore)として不可欠な部分を形成しないもの(例えば、壁の管を単に固定し又は支持す

話者の発表態度 がプレゼンテー ションの内容を 説得的にしてお り、聴衆の反応 を見ながら自信 をもって伝えて

・本計画は都市計画に関する基本的な方 針を定めるもので、各事業の具体的な

3 ⻑は、内部統 制の目的を達成 するにあたり、適 切な人事管理及 び教育研修を行 っているか。. 3−1

Dual I/O リードコマンドは、SI/SIO0、SO/SIO1 のピン機能が入出力に切り替わり、アドレス入力 とデータ出力の両方を x2

最終的な認定データおよび特性データは最終製品 / プロセス変更通知 (FPCN) に含まれます。この IPCN は、変 更実施から少なくとも 90