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

指数法について

N/A
N/A
Protected

Academic year: 2021

シェア "指数法について"

Copied!
4
0
0

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

全文

(1)

11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111¥11111111111111111111111111111111111111111111.

《手法紹介》

指数法について

一森哲男

11111川11111111111111川川1111111川川H川川H川11111川11川聞聞川11川川H川川11川聞H聞川11川川H川川11川11川11川川H川H川111附1111川11川H川11川川11川川H川111川川m川1111111川川H川H川川11川H川川H聞H川川11川H聞111川H川11聞1111111川H川11111刷"川111川1111川111川H川11111川11川H川11日111川1111111111111111刷11111111111川1111111川H川H川川111川H川111111"11111111聞11川1111111川111川川1111川111川川川111川聞1111川1111川H川川H聞H川川11川H川川111川11111111川111111刷1111111川川11川H川H川111川1IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIn

1

.

はじめに 数理計画法の問題の中でも,とりわけ難しいの が,大規模混合整数計画法の問題である.整数変 数だけを含む整数計画法の問題でさえもなかなか 解けないのに,実数変数をも含むわけであるか ら,難しいのが当然といえば当然なのかもしれな い.しかしながら,実社会で生じている現実的な 問題といえば,ほとんどが大規模混合整数計画法 の問題である.そういうことは頭ではわかってい ても,なかなか手が出ないのも事実である.その 理由は,頭に浮かんでくる問題解決の手法が,分 校限定法;劣勾配法;動的計画法と,はじめから あまり期待できそうもないものばかりであるから である. ところが近年,指数法とし寸手法が出てきて, 誰もこんなに速く解けそうにもないと思っていた ある大規模混合整数計画法の問題が解けるように なったのである.もう少し具体的に言えば,数千 のオーダーの 0-1 変数と数千のオーダーの実数 変数を含む,ある混合整数計画法の問題がスーパ ーミニコン程度のコソピュータで数 10分のオーダ ーで解けるようになったのである.ここでは手法 の紹介が目的であるので,その問題が具体的にど ういうものであるかについては何も述べない.興 味のある方は,論文[ 1 ]を読まれることをお勧 めいたします. いちもり てつお大阪工業大学経営工学科 干 565 大阪市旭区大宮 5 ー 16ー I

3

1

2

(

5

4

)

2

.

指数法について ベクトル変数 x=

(X

t,

"',

Xn) をもっ, m{固の 線形関数 !l(X) , …,ん (X) が与えられた時,これ らの一番下側からなる関数 min {fl(X) ,…,ん (X)} (2.

1

)

を考える.この関数は明らかに,区分線形凹関数 である.この関数を z に関して最大化するにはど うすれば良いのであろうか.すぐ考えつくのが劣 勾配法である.たしかに関数 (2.1) は微分可能な 関数ではないので,劣勾配法を用いるのは自然な ことであるが,その計算効率はあまり良いものと は言えない. 指数法では関数 (2.1) を次の関数で近似する. m -~log{ I: yje-dfj(X)}

(

2

.

2

)

a

j=l ここで d は正の値の定数で, νj は Zνj=1 とな る正の値の定数である.ただ d も各 Yl も常に一定 とするのではなく, (2.1) 式をよりよく近似する ために時々値を変えてやる. 関数 (2.1) と関数 (2.2) の関係を直観的に把握す るために,次のようなきわめて簡単なものを考え てみる.変数 z はスカラーとして

min{x 一 l , tz, -z+6}(23)

を考える.また,これの近似関数として d=l , Yl=0.8 , ν2=0.1 , Ya=O.1 とかつてに決めると, (2.2) の関数は

-

l

o

g

{

O

.

8

e

-

(

X

-

1)

+

0

.

le(-1/2川 +O.le-( 叶船}

(

2

.

4

)

となる.関数 (2.3) と (2.4) をグラフで示すと図 オベレーションズ・リサーチ © 日本オペレーションズ・リサーチ学会. 無断複写・複製・転載を禁ず.

(2)

関数依

2

.

8

7

z

•/

図 2.1 関数 (2.3) と (2.4) のグラフ 2.1 が得られる. 関数 (2.3) の最大値を与える z の値は 4 で,そ の時の関数値は 2 ,一方,関数 (2.4) の最大値を 与える z の値は 4.645 でその時の関数値は 2.87 で ある . d と yj の値をかつてに決めたが,ある程度 関数 (2.4) が (2.3) を近似していることがわかる. さて,理論的に関数 (2.2) が関数 (2. 1) を近似し ているかどうかであるが d →∞の時, (2.2) 式 にロピタルの定理を用いれば, (2.2) 式は分母分 子を d で微分してやると, ZνJ/j(x)exp{

-dfj(x)}

lim

t

= 1 ( 2 . 5 )

d→∞:E νjexp{-dfj(x)} となる.分母で一番大きな値の項は,釣の値など は小さいので無視できるので,

-fj(x)

,

j=

1, …, m の一番大きな項,つまり β (x) , j=l , … , m の中 で一番小さな項である.他方,分子の方も指数関 数に比べて νJ/j(X) の値などは無視できるので, やはり {fj(X)

1

1

~三jζ m} の中で最小となる fj(x) が利 L 、てくる.よって min {fl (x),…,ん (X)}=fk(X) とすれば, (2.5) の関数は 1!ー俳jOk(x)exp{

-djOk(X) }

d引:俳 exp{

-dfk(X)}

=

fk(X)

となり d →∞では,両方の関数 (2. 1) と (2.2) が ー致することがわかる. ところが実際上 d の値を無限にしたのでは, 19肘年 5 月号 コンピュータでは,オーパーフロー,またはアン ダーフローのため,実行することができない.そ こで指数法では .d →∞の代わりに, νj, j=

1

, …,

m の値を次の公式で、改訂する.改訂後のめの値を めと書くと,この公式は 一-~/Je-ã!j(叫 .'Ij -m Zν世Ik e-ãfk(x) k=1

(

2

.

6

)

j=l

,

,

m

である. 次に,なぜこのように釣の値を改訂すれば,関 数 (2.2) が (2. 1)に近づくのかを説明する. νjを公式 (2.6) でさらに改訂した値をあとすれ ば,公式 (2.6) を 2 回用いることにより次式が導 かれる. 一 X X 一

-M

~J 一 d fh 一一 「一 d dL-炉 l -y 可

ZM

一一 z y

i

Y

j

e

-j

(

X

)

}

e

-j

(

x

)

z

Y

i

e

-i

(

X

)

市{叫 ,.p-ã!k(Xk )

)

:

E

i

;

:

^

-

~e-ãfk(x) k=ll:Eめe-ã!i何】) い一 M M叱一サ 」 'LM

I

H

U

l

--m ゃん ]h 一一

(

2

.7

)

(2.6) 式と (2. 7)式を比べてみると明らかである が,何が変化したかというと d が 2 d に変化し たことである.つまり公式 (2.6) で, νj の値を順 次改訂していけば d の値を大きくしていくこと と同じ効果を発揮することになる.ただし,この ようにしていけば d の値そのものは常に一定で あり,旬j の値も 0< 釣 <1 ならば常に o<ÿj< 1 か つ ZIgj=l となるため d →∞とした時のよう な心配はなく,コンピュータで実行することが可 能となる. 以上で関数 (2. 1)と (2.2) の関係がわかったが, 関数 (2.2) はどのような形をしているかというと これは凹関数になっている.たとえば図 2.1 を見 てもわかるように,微分可能な凹関数になってい る.ただし関数 (2.2) が凹関数になっていること (55)

3

1

3

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

(3)

は,あまり自明ではない.要するに, (2.2) のへ ッセ行列が,負定値であることを示せば良いだけ であるが….頭の体操にやってみるのも結構面白 いものである. 指数法をまとめると次のとおりである.

1

.

d

,

Y

J>j= 1 , … , m を適当に定める. もちろん 勿B d>O で O く YJ く l かつ Z 釣 =1 である.

2

.

微分可能な凹関数 (2.2) を , x に関して最大化 を行なう.これで一応 z の値は定まったわけ である(最大化は非線形計画法の手法を活用 する). 3 ・ 釣を公式 (2.6) を用いて改訂する.この時の (2.6) 式の右辺の z の値は, ステップ 2 で求 めた値を用いる.必要ならば d の値をもう少 し大きくしてもよい.ステップ 2 へもどる. いっこのアルゴリズムを止めるかは,いろいろ 考えられるが,現在得られている z の値で,

(

2

.

1

)

と (2.2) の両関数値の差が,ある範囲内に入れば 止める方法が一番良さそうである.

3

.

簡単な例題 例題 3.1

min{I

,

2

,

3} を考える.まず d=l , Yl=0.2 , 仇 =0.3 ,

Ya=

0.5 とすると,公式 (2.6) より,新しい約は

0

.

2

e

-

1 旬

1= 江三五二1τ丙.3e-

2

平正面工

3=0.529

0

.

3

e

-

2

仇=正

EFII0.36-z+0.56-a=0.292

0

.

5

e

-a

2h=0.2FI+0.3fZ+0.56-a=0.179

となる.これをくり返していくと表 3.

1

ÌJ~得られ る. ここでは 3 固までしか, 各 YJ の値を改訂して いないが 3 回目の数値を見れば,これで十分,

Yl

1,

yz

,

Ya→0 に収束することがわかる. さて,たとえば, 3 回目の仇の値,つまり 0.925 はいったい何を意味しているのであろうか.その 解釈の仕方はいろいろあるであろうが,一般には

3

1

4

(

5

6

)

表 3.1

i 初期値

I

1 回目

I

2 回目

I

3 回目

1 2 8 旬。引 wu 引 uu

0

.

9

2

5

0

.

0

6

9

0

.

0

0

6

0

.

8

0

1

min

{I,

2

,

3}=

1 となる確率を示していると考え るのが最も自然であろう.同様に, 仇 =0.069 は

min{ 1

,

2

,

3

}

=2 となる確率で,約 =0.006 は mln

{1

,

2

,

3}=

3 となる確率と考える. さらに各約の収束の速さも,いちじるしいもの であることも,なんとなく理解してもらえそうで ある. 例題 3.2

(2 拭 min{x ーしい -x+6} の最大化を考

える. (2.4) 式で近似して,これを最大化し,そ の解 x=4.645 が得られる.各YJ の値を (2.6) の公 式で改訂すると

Yl=0.3699

Y2=0.1735

Ya=0.4566

となる.次の近似関数は -log{0.369ge1寸+0.

1

7

3

5

e

(

-

!

/

2

)

.1l

+0.4566

e"'

-

6

}

(

3

.

1

)

となり,これを最大にする z の値は 3.605 である. 各約の値は

Yl=0.2802

Y2=0.2932

Ya=0.4266

となり,ここで d=2 とすると,次の近似関数は

-tlog{028ω(!-x)+O 抑F

+0.

4266e2(臼x-寸8め叶〉す作3.2幻

)

となる.これを最大にする z の値は 3. 740 となる. 同様に

Y

l

=0. 0915

Y2=0.5450

約 =0.3635

d=4

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

(4)

表 3.2

「初期値 1

1

回目

1 2 回白川一-1

4 回目

Z 4.645 3.605 3.740 3.953 官 1 0.8 0.3699 0.2802 0.0915

Y

2

0.1

O

.

1735 0.2932 0.5450 Ys 0.1 0.4566 0.4266 0.3635 d 2 4 で,次の近似関数は

一士log{0.0915e

4

<1 同 +0.

5450e-2x +0. 3635x-6)}

(

3

.3) となり,最大値を与える z は 3.953 となる. 以上の内容をまとめると表 3.2 が得られる.こ の表より z の値が 4 に近づいていることがわか る.この例では d の値を少しずつ大きくしてい るが,理論的には,先に述べたように d の値を一 定のままにしていても x の値は 4 に収束する. ただ収束を早めるには d の値を漸次大きくして いった方が良い.

4

.

指数法と線形計画法との関係 先の例 3.1 min{ 1,2, 3} をもう一度考えてみる. 指数法では, ν=(旬hν2 ,仇)の値が,表 3.1 より ν1= (0.529, 0.292, O. げ9) ,が=(0. 801, 0.163, 0.036),

y8=

(0. 925, 0.069, 0.006) と変化し その極限は ν∞ =(1 , 0, 0) であった.よってこの極 限での f の値を求める問題は, 次の線形計画法 問題: ( L P ) min yl + 2仇 +3約 y

s

.

t. y1

+Y2+Ya=

1

,

νhν2 ,約二三 O と同値で ,

y

l,

y2

, y3 , …はこの問題の実行可能解と なっている.逆の見方をすれば, と記の (L P) が 与えられた時, νJ の改訂公式 (2.6) を用いれば, この (LP) が解けることを意味している.これは 今流行りの情円体法のように,線形計画法の問題 を,内点を通って最適解に収束させているところ が,なかなか面白い. 1986 年 5 月号

5

.

おわりに 指数法について,きわめて簡単に,またやさし く説明しようとしたために,やや厳密性に欠ける ところがあります.またこの手法の解釈は筆者が 独自に行なったものであるため,必ずしもこの指 数法を考案した人の解釈とは一致するとは限りま せん.最後に,この指数法の存在および重要性を 筆者に直接教えてくださった,広島大学工学部教 授青木兼一先生(本学会フェロー)に深く感謝い たします. 参芳文献

[ 1 ] D. P. Bertsekas

,

G. S. Lauer

,

N. R. Sandell and T. P. Posbergh: Optimal Short-Term Scheduling of Large-Scale Power Systems

,

IEEE Transactions on Automatic Control

,

Vo

l

.

AC-28, No. 1, pp. 1-11, January 1983

次号予告

; 特集鉄鋼と OR 石炭配合計画における混合整数計画法

i

(MI

P) 適用について 宮城勇誠,他 コンビュータによる自動板取りネスティング 吉海達喜,他 製鋼工場から冷延工場までの一貫 スケジューリング問題 福村聡 製鋼工場のオンライン物流管制j システム 家長吉行,他 事例研究 原料購買業務への線形計画法の適用 花井宏己 (57) 315 © 日本オペレーションズ・リサーチ学会. 無断複写・複製・転載を禁ず.

表 3.2 「初期値 1 1 回目 1 2 回白川一-1 4 回目 Z  4 . 6 4 5  3 . 6 0 5  3 . 7 4 0  3 . 9 5 3  官 1 0

参照

関連したドキュメント

管理画面へのログイン ID について 管理画面のログイン ID について、 希望の ID がある場合は備考欄にご記載下さい。アルファベット小文字、 数字お よび記号 「_ (アンダーライン)

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

、肩 かた 深 ふかさ を掛け合わせて、ある定数で 割り、積石数を算出する近似計算法が 使われるようになりました。この定数は船

各テーマ領域ではすべての変数につきできるだけ連続変量に表現してある。そのため

LUNA 上に図、表、数式などを含んだ問題と回答を LUNA の画面上に同一で表示する機能の必要性 などについての意見があった。そのため、 LUNA

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

2013