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

EQUATRAN-M(イコートラン・エム) —知的生産性を高める方程式解法ソフト—

N/A
N/A
Protected

Academic year: 2021

シェア "EQUATRAN-M(イコートラン・エム) —知的生産性を高める方程式解法ソフト—"

Copied!
5
0
0

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

全文

(1)

UIIIIIlI IIIIIIIIIII1I1I1I11I11II Il1I1I1 II11I11 I I11 I I11I1日 111111111111111111111111111111川H刷H川11川11111川1111川1111\1\1川目\1\1刷\1\1\1附11111聞H捌111刷\111\1\1\1\1\11111刷111川\11刷1111川H川111附1111鵬111111川1111川1111制H川1111川H削H川111\1川11111111川11川111川H附11111川111川H川11川11川111川H川H川11111111111川11111川川11川H川11川11川111111川H川H川11111川H川11川11川H川111川11川11川H川1111111111111川u刷u川H川11111111111川11川111111111川川H川111\1川111111 連載 パソコンによる OR(ゆω8肪

)

1111111111111111111111111111111111111111111111¥1¥1111¥111111111111111111¥1111¥111111¥11111¥111¥1111111111111111¥11111111111111¥11111111111¥1111111111111¥1¥11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

EQUATRAN-M( イコートラン・エム)

一一一知的生産性を高める方程式解法ソフト一一一

小口梧郎,宮原量中

11川川11川川11川川11川11川川11川川11川11川川11川川11川川11川川11川川11川川11川川11川川11川川11川川11川山11川川11川111川川11川11川11川川11川11川11川川11川川11川川11川川11川川11川11川川11川川11川11川11川川11川11川川11川川11川川11川川11川川11川川11川川11川川11川川11川11川川11川11川11川11川川11川11川川11川川11川川11川川11川川11川川11川川11川川11川11川川11川川11川11川川11川川11川川11川11川川11川川11川川11川川11川川11川11川川11川川11川11川川11川川11川11川川11川川11川11川川11川川11川11川川11川川11川11川11川111川川11川11川川11川川11川川11川川11川川11川川11川川11川川11川川11川11川川11川111川川11川川11川川11川川11川11川11川川11川11川川11川川11川11川川11川川11川11川川11川川11川11川11川川11川11川川11川111川11川11川11川川11川川11川川11川川11川川11川11川川11川111川川11川11川川11川川11川11川川11川川11川11川11川川11川11川11川川11川111川川11川11川11川川11川11川川11川川11川川11川川11川川11川11川川11川11川山11川川11川11川11川川11川11川11川川11川11川川11川川11川11川川11川川11川111川11川11川川11川川11川11川川11川川11川11川川11川川11川11川11川川11川11川11川川11川川11川川11川川11川川11川11川川11川川11川川11川川11川11川川11川川11川川11川川11川川11川川11川11川11川川11川11川11川川11川11川11川11川11川川11川11川11川川11川11川川11川川11川川11川川11川川11川川11川11川川11川川11川川11川川11川川11川111川11川111川川11川11川川11川川11川11川川11川川11川11川川11川川11川11川川11川川11川川11川11川川11川川11川川11川11川111

1

.

はじめに 専門分野によらず,およそ数式モデルを使って 仕事をするということは次の 3 つの作業のくりか えしである.数式モデ、ルを立てること,このモデ ルを解く(計算する)こと,そして計算結果を検 討すること,である.ところで 2 つめのモデルを 解く作業は多くの人にとって,たいへん気の重い 作業になってはいないだろうか.プログラムの作 成に手間と時聞がかかるうえに,多くのトラフ守ル がここに起因するからである.自分の専門領域と は無関係なプログラミングやデバッギングに煩わ された上にここでの小さな失敗に足を引っばられ る一一今回紹介するソフトウエア EQUATRAN­ M( イコートラン・エム)はこうした悩みを解決 し,数式モデ、ルを用いる仕事を能率よく,しかも 楽しくしてくれる強力なツールである. なお最近 EQUATRAN-M の新しいノミージョ ン(パージョン 2 )を発表したので,以下の紹介 はこの新パージョンにもとづくものとしたわ.

2

.

EQUATRAN-M の機能 EQUATRAN-M とは

EQUATRAN-M

(EQUAtion TRANslator

f

o

r

Micro-computer) は連立方程式を解くソフ おぐち ごろう,みやはら これあっ三井東庄化学 干 100 千代田区霞ヶ関 3-2-5 1986 年 11 月号 トウエアである.代数方程式や常微分方程式など をそのまま入力すれば,プログラミングを行なう ことなく,すぐにその解を得ることができる. 「そのまま J 入力するとは,方程式を変形したり あるいは解く順序に並べかえたりする必要がない ということである.ちょうど紙の上に方程式を書 き並べるのと同じように,ディスプレイ上に方程 式を入力すればよいのである. EQUATRAN-M は入力された方程式を解析 して,計算可能なように式の変形と順序の並べか えを行なう.このさい,方程式が解ける構造をし ているか(式と未知変数の対応がとれているか) もチェックする.そして必要に応じて線形連立方 程式の直接解法,非線形連立方程式の反復解法, 探索法による最適化計算あるいは常微分方程式の 数値積分などの数値計算のアルゴリズムを組み込 んで計算の手続きを自動的に生成したのち,これ を実行して解を出力する. EQUATRAN-M には方程式などを入力する ための専用のスクリーンエディタ,計算手JI債を自 動生成するコンパイラ,計算を実行するインタプ リターと数値計算ノレーチン,計算結果をグラフ化 する作図プログラム,が一括して含まれており, 方程式の入力から計算結果の解析までがたいへん 能率よく実行できる. どんな方程式が解けるのだろうか 方程式が解けるのはそれだけでたいへん便利な 機能であるが,単純な代数方程式しか扱えないと (43)

7

0

5

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

(2)

く例題1. 4 点、を通る 3 次式の決定〉 x1I 平面上の 4 点 (0, 8) ,

(1,

0)

,

(3

,

4)

,

(6

,

-

3

)

を通る 3 次式,

1

I=ax8+bx2+cx+d

その応用分野はかなり限られてしまうで あろう.われわれが実際の問題でとり扱う数式モ テツレの中には,代数方程式では表わしにくいさま ざまな関係が含まれていることが多いからであ したら,

4点の座標を (XhYt) ,

(X2

,

Y2)' (X8

,

Y8)

,

(X4

,

Y4)

で表わせば,この問題は次の 4 元の線形連立方程 式を解く問題となる.

Yi=aXi8+bxi2+CXi+d

(i=I

,

2

,

3

,

4)

(

2

)

EQUATRAN-M では方程式などを記述した ものをソーステキストという.図 1 はこの問題の ためのソーステキストのリスト(ソースリスト) である.計算結果も併せて示しである.ソーステ キストの中の/*と*/とで固まれた部分はコメン

)

-(

の係数を決定せよ. EQUATRAN-M では代数方程式と常微分 方程式および不等号制約条件つきの最適化の式が 扱えるほか,これらの方程式の中に,論理演算や 各種の組み込み関数,適用範囲によって式の形が る. l 行自のコメントは問題のタイトルを 兼ねている. 3 行目の VAR文 (VARIABLE 文) は使用する変数名とその属性を定義する文で,一 般の変数(スカラー変数)では省略しでもよいが, 配列変数に対しては必ずその次元と要素数を定義 配列変数を使えば (2) 式は 5 行自のよ トとなる. 異なる式(場合分けされている式) ,数表によって 定義される関数関係などを自由に組み入れること ができる.また特に配列変数(ベクトルとマトリ クスに相当)についての機能は強力で,ベグトル やマトリクス(あるいは,その任意の一部分)を 含む方程式を直接記述することが可能である.さ らに,マグロ機能といって,一群の方程式をまと めて登録しておくと,これをちょうどサフe ルーチ ンのように呼び出して使うことのできる機能も用 意されているので,配列変数の機能とあいまっ て,数百の変数を含むような規模の大きな問題で もコンパクトに,しかもわかりやすく記述するこ しておく. うに 1 つの式で記述することができる.配列変数 聞の演算はすべて対応する要素間の演算として定 7-8 行目は配列変数を配列定数 義されている. とができるのである. ただし,

EQUA

TRAN-M で直接扱えるのは 実数の領域に限られており,また積分方程式や偏 微分方程式も直接記述できないので離散化などの 処理が必要である.

1:

/*

4 点を通る 3 次式の決定(線形連立方程式)

*/

2

:

3: VAR y(4)

,

x

(4)

4 : 5 : 6 :

7

:

8

:

9 : 10: OUTPUT

a

,

b

,

c

,

d

-

(

;

I

J

用 使

3

.

簡単な例題をいくつか解いてみ

y=a* x^3+b* x^2+c*

x十d EQUATRAN-M の機能 ょう. 3

,

6)

4

,

-3)

1

,

0

,

x=(

0

,

y=( 8

,

は大きく,例題で示せるのはその だいたいの 一部分にすぎないが,

]

=ー0.7

=

6

.

1

3

3

3

3

3

=ー 13 .433333 =8 計算結果 「 Labcd 雰囲気は理解していただけよう. 線形連立方程式 方程式の中で連立して解く必要 のある部分についてはその線形性 が調べられ,線形であれば,直接 解法(ガウスの消去法)が採用さ f?1J題 1 のソースリストと計算結果 オベレージョンズ・リサーチ 図 1 れる.

7

0

6

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

(3)

1

:

/*Wilson パラメータの決定(非線形連立方程式)

*/

2 : 数のもつ属性として計算結果の 表示などに利用される.

6-7

行自に現われる LOGE は自然 対数を表わす組込み関数で, 3: VAR

,

gO(2) “無限希釈溶液の活量係数 y.

.,

4

:

,

A (

2

)

“ Wilson パラメータ (A12,

A21) .

.

J

6

:

LOGE(g

(

l

))=-LOGE(A(1))+(l-A(2))

7

:

LOGEÜ~0(2))=-LOGE(A(2))+ (l -A(1)) 8 : 9:

INPUT

gO

1

0

:

OUTPUT

A

EQUATRAN-M には初等関 数をはじめ 36種類の組込み関数 が用意されている. 9 行自の INPUT 文は計算の実行時に値 を読み込む変数(この場合 rO) を

[

入力データ

]

gO :無|浪希釈溶液の活量係数 y。 指定するもので,これによって ケーススタディが可能になる.

1

)

0

.

4

2

)

0

.

5

6

[

計算結呆

A

:

Wilson パラメータ (A12,

A21)

ところで式,

(3),

(4) は非線

形の連立方程式であるので,解 を得るには反復収束計算が必要 である.

EQUA

TRAN-M に

1

)

0

.

8

4

5

4

3

7

2

2

)

2

.

0

8

4

1

9

2

図 2 例題 2 のソースリストと計算結果 に等値する式である.また 10行目の OUTPUT文 は計算結果を表示する変数を指定している. 非線形連立方程式 非線形方程式の解法は EQUATRAN-M の主 要機能の l つである.収束計算の手法はニュート ンラフソン法の改良法である. く例題 2. Wilson パラメータの決定〉 無限稀釈溶液についての 2 成分系の Wil­ son式

lnd=

-lnA

I2

+ (1-

A

21)

(

3

)

l

n

r

2

0=

-lnA21 +

(1-

Ad

(

4

)

を用い,活量係数 nO, r20からパラメータ

A

2

,

A

2

1

~>J<めよ

l

非理想溶液の活量係数を表現する式の中でよく 使われるものの中に Wilson 式がある. 2 成分系 の Wilson 式のノ 4 ラメータイ 12 とイ21 は,実測デ ータから得られる無限稀釈溶液の活量係数から, (3)

,

(4) 式を使って決定することができる. 図 2 がこの問題のためのソースリストと計算結 果である.

3

-

4 行自の VAR 文には“ "で固 まれた日本語の部分があるが,これは変数の説明 項と呼ばれる.説明項はコメントとは異なり,変 1986 年 11 月号 は,収束計算の方法(どの変数の値を仮定してど の式で収束の判定を行なうか)を自動的に選択す る機能があり,園 2 の例ではこの機能を利用して いる.収束計算の方法はソーステキスト中に RE­ SET 文という文を書いてユーザーが指定するこ とも可能で,いずれの場合も変数の初期仮定値と その変域とを指定することができるので,確実に 希望する解を得ることができる. 常微分方程式とシミュレーション EQUATRAN-M では常微分方程式と一般の 方程式との混合問題を扱うことができるが,単に 積分計算をするだけでなく連続系のシミュレーシ ョンがしかも対話形式で行える機能が備えられて いる.これを利用して簡単なゲームを作ってみた.

l く舵月面軟骨ーム>

月ロケットが月面に着陸しようとしてい!

る.現在高度は h=10000m , 降下速度 v=500 m/sec である.逆噴射力を適当に操作して, 着陸時の降下速度が 5 m/sec 以下となるよう に軟着陸を試みよ.ただし,逆噴射の能力は 最大 20m/sec2であり,着陸までの時聞は短 いほどよいものとする.なお月の重力加速度 は g=

1

.

7m/sec2 である.

(

4

5

)

7

0

7

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

(4)

逆噴射による加速度を u として次の運 動方程式を得る.

u

+

g

一一 弘一日 J U E a

(

5

)

また,降下速度 u は次式で与えられる.

品一出

一一 U

(

6

)

図 3 にこのシミュレーションのための ソースリストを示す. EQUATRAN-M では変数の微分項 をアポストロフィ( ')を使って ,

dh/dt

h'

, d2h/dt2→h" のように表現する.した がって (5) , (6) 式はソースリストの 9, 10行自のように書けばよい.独立変数 (この場合 t )は方程式とは別に INTE-GRAL 文(リスト 17行目)によって,その積分 範囲や積分のきざみ幅などとともに指定されてい る.積分の初期条件は, リストの 12行自のように 等号(=)の代わりに非を用いた式によって与え る. 14行目と 15行目では,論理演算によって,着陸 完了を示す変数 land と,軟着陸の条件 (

v

~玉 5

)

の成立を示す変数 OK が計算されている.論理演 算の結果は真が 1 ,偽が O によって表わされる.

1

:

/*月面軟着陸ゲーム*/

2

:

3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 :

1

1

:

12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 :

2

0

:

21 :

VAR h

“高度

[

m

J

,

v

“降下速度

[m/ s

e

c

J

, t “時間

[

s

ec

]

,

u

“逆噴射加速l皮変 [m/九s巴 c2泊] , g =l.7 “重力加速度 [m/九sec2幻]刊 h"=-g 十 u

v=-h'

h

#

1

0

0

0

0

;

h

'

#

-500

land= (h< = 0

)

OK= (v<= 5)

/*着陸*//*制限速度内*/

INTEGRAL

t[O

,

5

0

0

J

STEP 0

.

5

BREAK l

a

n

d

TREND

v[O

,

600J

,

h[O

,

1

0

0

0

0

J

STEP 0

.

5

OUTPUT

t

,

v

,

OK

OUTPUT1

t,

v

,

h

,

u STEP

1.

0

INPUT

u

リストの INTEGRAL 文には,

BREAK

land

とし、う項が付加されているが,これは land の値 が真になった時点,すなわちロケットが着地した 時点で積分計算を中断することの指定である. 本例の場合はこの中断でシミュレーションは終 りであるが,一般には中断時に計算条件の変更を 行なってシミュレーションを継続することもでき る.積分の中断は,この BREAK 項によるほか, ESC キーを押すことによって随時行なうことが できる.本例ではこの機能を使って逆噴射の調整 を行なう. 図 4 にシミュレーションの様子を示す.刻々表 示されるキャラグタグラフはリスト 17行目の TR­ END 文の働きによる.最初は逆噴射を行なわず

(

u

=

0) 降下を続行し t=5 の時点で ESC キー

7

0

8

(46) 図 3 例題 3 のソースリスト を押して積分を中断している.中断時にはモデル 中の任意の変数の値を調べることができる(図 4 では k の値を表示).ここで能力一杯の逆噴射 (

u

=20) を行なってゲームを継続している. 図 5 はゲーム終了後,ファイルに出力された結 果(リスト 20行自の OUTPUTI 文はファイル出 力のためのものである)からグラフを作成したも のである.なんとか無事に軟着陸に成功している ようだ. EQUATRAN-M のグラフ作成機能は技術計 算専用であるため,円グラフや棒グラフなどは作 れないが,片対数・両対数グラフが可能なほか, データ点を滑らかに結ぶスプライン曲線補間 次 -3 次の回帰線の表示などの機能がある. ま た,グラフ中に凡例やコメントを入れることもで きる.

3

.

開発上のポイント 最後に EQUATRAN-M を開発する上で特に 留意した点について触れておきたい. 記述性の高い言語の設計

EQUATRAN-M

は数式モデルを記述するための言語であるといえ る.記述性が高くかっドキュメント性の良い言語 の設計が最大のポイントであると考えた.特に配 オペレーションズ・リサーチ © 日本オペレーションズ・リサーチ学会. 無断複写・複製・転載を禁ず.

(5)

ソコンをいわば「超電 卓」として使いたい. このため操作性の向上 には,特別に設計上の 重点が置かれている. エディタとして既存の ものを利用せず,専用 のスクリーンエディタ を内蔵したのもこのた エディタの めである. 画面から直接各種のコ マンドが実行できる. グラフの作成や DOS コマンドの実行 もすべて EQUATR-AN-M の 内部から可 また, 一-つ &If--liIlli--131}llli 一一つ& 一一ヮ“ 一一ヮ“ 一一つ μ 一一つん 一一 11111111111 一一つゐ 一一・・・・・・・・ 9 “ •• 一一つ臼 一 η 〆“ 一一---111 」一 つ“んん C 一一 ρU 一­ S 一一 /'一一 m 一一 h 』 [一;・・・:・・・・・ J ーし V 在正一一 宇品 速一一し n H H -力一一断 ふ斗 d-I 3 岳匁一一・・・・・・・・・・ 61 噴一一引

逆…一よ

・・一一唱〕 -E 1 -一 l 一 llilili--ーキ

•••

一ワム M 一 FU

一一円 b 一一円 ι 一一 0000000000or 一一ハ UAUnUAU ハUAUAUAununU ハ U'l )--ORUOFUOFUAUFU ハ U 戸 UO (一一 08754219865 =一 v 一仏 0.LL1ιiiι7.0ι 1J---一ハ U ハ U ハリハ U ハU ハU ハU ハUAUAUnU 一 1A 一口 d 戸 bRυFUFUFbpbFURURυ 「D タ一一 一一一 oo -r 一一ハ ununU ハ UHU ハ U ハリハリハリハ V 胃 H ハ UAU ハリハリハ UAU ハリハ unu u 一一∞∞∞∞∞∞∞∞∞∞ >ωωωωωωω ∞∞ U 一一∞∞∞∞∞ ωω ∞∞∞ 5名 ω ∞∞∞∞ ωωωω ノ一 t 一点 0. ふ 0.5.J50.J0.= 数 50.505.35 ハ J5 [u 一一 oo--2233445t変h[U566778899 1 ・ 1 1 1 ・ 1 ・ 1 ・ 1 ・ 1 ・ 1 ・ 2 つ 2 2 ・ 2 2 2 ・ 2 ・ 2 ・ [m] :逆噴射加速度 [m/sec2] i

t

1

;

:皮 =7478.75 ] =20 499.3500 490.2000 481.0500 471.9000 462.7500 453.6000 444.4500 435.3000 426.1500 入力データ 能にしている. 充実したマニュアル と HELP 機能 プログラムを作らずに計算が行なえるという方 例題 3 の実行の様子(一部分) 図 4 列変数を含む方程式の記述法には苦心している. 幸い,大型計算機用に開発され,十分実用性の実 証されている方程式解法ソフト [IJ があり, 程式解法ソフトは,いままでパソコンになじみの この意味で, 初心者でも 1 人で簡単に使えるよう,マニュアル と HELP 機能の充実に力を入れていることも強 調しておきたい. ない人にもその利用を可能にする. その 言語仕様をほとんどそのまま利用することができ さらに変数名に大文字を区別して使えるこ と,一部日本語を使えるなど.パソコン向けの改 良を行なった. 操作性の重視 た. 献 文 ラ考 参

Oguchi

,

G. and Mitsunaga

,

M. : A Powerfu1 Language to Solve a set of NonlinearEquations. Preprint of International Congress “Contribution

of Computer to the Development of Chemical Engineering and Induュ strialChemistryヘ Paris , Mar. 7-10

,

1978 [ 1 ] (注) 100 MM 制コミ骨密判明乍\川町一明 υ「註 ハUVAununu 8 6 4 2 EQUATRAN-島f によってパ 一一一高度 ーーーー降下速度 一-ー逆噴射加速度 lO()OO 8000 E '-' 6000 部 n u nHv nU A 後 主 2000 1) 本ソフトについての詳細は三井東圧化学 。 ヱ=r:三三三 40 60 時間 [sec] 20 。 。 側システム部 (03-593ー7286) へ問い合せ (47)

7

0

9

てください. 例題 3 のグラフ出力 図 5 1986 年 11 月号 © 日本オペレーションズ・リサーチ学会. 無断複写・複製・転載を禁ず.

参照

関連したドキュメント

問についてだが︑この間いに直接に答える前に確認しなけれ

る、関与していることに伴う、または関与することとなる重大なリスクがある、と合理的に 判断される者を特定したリストを指します 51 。Entity

式目おいて「清十即ついぜん」は伝統的な流れの中にあり、その ㈲

前章 / 節からの流れで、計算可能な関数のもつ性質を抽象的に捉えることから始めよう。話を 単純にするために、以下では次のような型のプログラム を考える。 は部分関数 (

この節では mKdV 方程式を興味の中心に据えて,mKdV 方程式によって統制されるような平面曲線の連 続朗変形,半離散 mKdV

これらの定義でも分かるように, Impairment に関しては解剖学的または生理学的な異常 としてほぼ続一されているが, disability と

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

Tomonari KITAHARA and Shinji MIZUNO (TIT) 単体法と強多項式アルゴリズム July 21–23, 2015 5 / 53..