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

数式による記述で数理計画問題を解く試み−2

N/A
N/A
Protected

Academic year: 2021

シェア "数式による記述で数理計画問題を解く試み−2"

Copied!
2
0
0

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

全文

(1)

日本オペレーションズ・リサーチ学会 2004年秋季研究発表会 1−B−7

数式による記述で数理計画問題を解く試み−2

01701240 (株)数理システム *山下 浩 YAMASHITA Hiroshi

高橋 良徳 TAKAHASHIYoshinori

01308690 (株)数理システム

で,その文書は生きた技術ドキュメント(ライブドキュ メント),生きた教科書(ライブテキストブック)となる. 3.処理の流れ 本システムでは,上記(*)が最も困難な箇所である が,以下で簡単な例題を元に解説する.以下のような数 理計画問題(ナップサック問題): PrOblem set5’ indexi∈S parameterai,Ci,b integer . I Subjectto ∑aiXiくb l はMathTypeによって以下のようなTbX形式に変換さ れる. \[ (\text(problem))\bfi11\newline (\text(set))\,S\hfill\newline (\text(index))\,i\in S\bfi11\newline (\text(para皿eter))\,a_(i),C_(il,b\hfill \newline (\text(integer))\,(\text(variable))\,Ⅹ_(il\in \(0,1\)\hfi11\newline (\text(maximize))\,Z =\sun\1imits_(i) (c_(i)Ⅹ_(i)\)\hfill\newline (\text(subject to))\hfill\newline \sun\1imits_(il(a_(i)Ⅹ_(i))\1eqslant b \bfill\\newline \] 本システムは,これを /* PROBLEM */ Set S; Elementi(set =S); Parameter a(index=i),C(index=i),b; IntegerVariable x(index=i,tyPe=binary); Objective z(type=maXimize); z=Sum(c[i]*Ⅹ[i],i); 1.はじめに 最適化問題を数式で記述し数値的に解く試みについ て【1】でその概要を報告した・本稿はその続編で,より 詳細な説明と,このシステムの利用法に関する若干の報 告である. このようなシステムの重要性に関しては,前回も触 れたが再度強調したい.現在では,数理計画問題をコンピ ュータによって解かせるためにはGAMS,AMPL,SIMPLE などのモデリング言語によって問題を記述することが多 い.この方式は多くの利点を持っているが,モデリング 言語といえどもプログラミング言語と同様の使用上の困 難さが存在する.このバリヤを無くして教科書に書いて ある問題をそのまま入力すれば最適解が得られるように, というのが数理計画問題を数式で記述する最終目的であ る.以下に述べるように,ほぼこの目的は達成されたと 考えている.これによって,数理計画法の学習・習得・ 普及にプラスとなれば幸いである.(数式自体がバリヤと なる人にとっては,本方式は役に立たない.このような 場合には別種の技術が考えられるが,このテーマは本稿 の範囲外である.) 2.使用法 ユーザーはMicrosoftWordを開き,文書に数理計画 問題を記述する.数式の入力法としてWordのアドオン として付属している数式エディタMathTypeを利用す る.もちろん,このとき数理計画問題以外の情報(たと えば,その間題の周辺情報・解説など)をWordドキュ メントに加えても差し支えない. 九4athTypeによって記述された問題を解くために,以 下のような手順が実行される. ・MathTypeによって数式情報がTbX形式に変換さ れる. ・1もⅩで記述された文書をモデリング言語SIMPLE の記述に変換する.(*) ・数理計画パッケージNUOPTが問題を解く. ・最適解の情報をMathTypeの形式に変換してWord ドキュメントに書き出す. 上記の記述で明らかなように,Wordに記述された文書 (数理計画問題)は自由に変更可能で,その問題に対する 最適解がその場で(その文書上に)得られる.その意味 −36− © 日本オペレーションズ・リサーチ学会. 無断複写・複製・転載を禁ず.

(2)

なライブラリー構築のためのプラットフォームとして利 用されれば幸いである. ●Hockand SchittkowskiNo.105 /* Constraint(s) su皿(a[i]*Ⅹ[i], く ニ b / ︶ * ・⊥ とSIMPLEによる記述に変換する.上記は単なる一例 であるが,広範囲かつ自由な数式記述に対応することが 技術的に容易ではないことが理解されると思う. 使用可能な数学記号は以下の通りである. く > ≠+ − ×/・〈 〉「∧ ∨ ∈ ≠ u n u n ⊂ ⊃ ⊆ ⊇ index 宜,ブ Variable :rj parameter yi, 打=6arctan(去) Expression ai,bi,Ci α豆:=器exp(−(肌−∬3)2/(2裾)) わi:=警exp(−(仇−∬4)2/(2∬芋)) ._一。21) [わ](c)〈d〉lelしタ」「ん1 ︶l一2 α ︵ 三甘 exp(⊥(弘一£5)2/(2∬孟)) C五 〇8 /2ヽ乃す言 霊2∬2∬苦 235 minimize −∑log((ai+bi+ci)/ヽ/筋) 五=1 Subjectto l−Xl−X2≧0 0・001≦勺≦0・499,J∈(1,2) 100≦∬3≦180 130≦∬4≦210 170≦∬5≦240 5≦諾j≦25,j∈(6,7,8) ●ポートフォリオ最適化 index i,j parameter N,ri)Jij)P Variable 二ri jV ノⅤ ∑・′・′ れ ゝ∴′・′ ∑′・′・∼ ∑:’−ト∫−′ 甘 i=1 れ 汀勘:n勘 n五諾仕 口㌃=1∬豆 乳 豆=1 また,使用可能な関数は以下の通りである.

sin cos tan arcsin arccos arctan SeC CSC COt aSeCaCSCaCOt

sinhcoshtanh arcsinharccosharc

sechcothasechacschacothhypot

expe〇logloglO XZ 「∬1L∬」l∬l£mOdy 3.問題記述の例 以下では,本システムによる数理計画問題の記述例 によって,問題定義の自由度の概略を示す.自由な数式 記述と言っても,コンピュータへの入力であるから必然 的にある種のルールが必要になるが,実際上十分なだけ の記述能力があることが理解されるであろう.配置の都 合上,右段に掲載する. 4.数理計画のモデルライブラリーの概念 数式で記述された数理計画の問題(モデル)がその まま解けて最適解が得られるようになると,色々な利用 の仕方が考えられる.ここでは,最も直接的なものを一 つだけあげる. 数理計画の多くのモデルが例題として教科書に(数 式で)記述されているが,これらのモデルを例題データ と共にコンピュータによって解けるようにするためには, 通常は特定のモデリング言語による記述として存在する. 最終的にはモデリング言語による記述を利用した方がフ レキシビリティがあるので,数理計画の利用のためにモ デリング言語自身を学習することは無駄ではないが,ビ ギナーにとってはこのことが数理計画法の習得のバリヤ になることも考えられる.そこで,(教科書の記述とほぼ 向じ形式の)数式によるモデルライブラリーがあって, それらを使ってあるいはそれらを修正して最適解を得る 体験は数理計画のモデル・アルゴリズムの理解にとって 非常に有益であると\考えられる.本システムがこのよう γ豆βた=∑∑ル㌦拘 宜=1J=1 mlnlmlZe Subjectto

Ⅳ∑甘∑嶺勘

γ豆∬i=β l ニ .りV £ ≧0,豆∈(1…Ⅳ) ●フィッティング PrOblem Set 5■αmpgeβ,r ble,, αmp輌∈r Variable ei Parameter xi,yi,rP Expression A,bj A‥=10β−1272−18 わ0:=一打2(4β−372)/A む1:=−J7(β+3)/A む2‥=−(2β−372−6)/A £豆:=£豆 ̄γp minimize ∑eヲ 官 Subjectto U肌▲ わ1諾豆+叫

\ノ 〝7

(ノ4b。b。一明) (佃) 参考文献 【1】高嵐山下”数式による記述で数理計画問題を解 く試み日日本オペレーションズリサーチ学会2003年秋 季研究発表会アブストラクト集,186−187. ー37− © 日本オペレーションズ・リサーチ学会. 無断複写・複製・転載を禁ず.

参照

関連したドキュメント

未記入の極数は現在計画中の製品です。 極数展開のご質問は、

国の5カ年計画である「第11次交通安全基本計画」の目標値は、令和7年までに死者数を2千人以下、重傷者数を2万2千人

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

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

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

“〇~□までの数字を表示する”というプログラムを組み、micro:bit

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