3. 連続系シミュレーション 3.1 連続系シミュレーションの歴史 ・昔はアナコン ・精緻なシミュレーション: CSMP/DDS ・社会経済のシミュレーション: DYNAMO 3.2 連続系シミュレーション言語 ・数値積分法: Euler, 修正Euler,Runge-Kutta, Runge-Kutta-Gill,Predictor-Corrector ・CSMP/DDS: 多種の積分法を用意 ・DYNAMO: Euler法(シンプル)。応用: SD,ID,WD 3.3 WS上での連続系シミュレーション言語 031221 061021 1 連続系シミュレーション言語の系譜 Euler型積分 方式採用 Interpreter方式 DDS (日立) 031103 ・Pre-compiler方式 ↓ FORTRAN ・非手続き言語 2 CSMP/DDS 連続系シミュレーション言語 Continuous System Modeling Program 1967 IBM 開発 Digital Dynamic Simulator 1964-1969 日立開発 1.特徴 (1)連続系の構成要素を表現する基本的な関数ブロックを備え, これらを組合わせて,高度に複雑なモデルを簡単に表すこと ができる。複雑な非線形問題さえも容易に扱える。 (2)多種類の関数ブロック ・ラプラス演算を実現する関数ブロック(積分器,微分器) ・ステップ,パルスなどの信号発生器 ・任意関数の関数発生器 ・スイッチ関係 ・論理演算器 ・陰関数,ヒステリシスなどの特殊関数 (3)問題向き言語(POL: Problem Oriented Language) コンピュータの言語の熟知不要。ブロック線図や微分方程式 を仲介にしてモデル化。FORTRANに類似の言語形式をもち, FORTRAN文を挿入できるなど柔軟性の高い言語である。 031103 3 CSMPの構成 2. 言語処理方式 (1) プリコンパイラ (Pre-compiler) 方式 入力データ→FORTRANソースプログラムに変換。 FORTRANコンパイラでオブジェクトプログラムを作成。 FORTRAN関数やCSMP関数を結合後,実行。 (2) 非手続言語 (nonprocedural language) 1つ1つのステートメントを順序立てて書く煩雑さはない。 任意の順序で書く。素人には理解しやすい。 031103 4 CSMPの言語体系 3. 言語体系 言語としては,ストラクチャ文,データ文,コントロール文から なる。CSMP文は,定数,変数,演算子,関数およびレーベ ルを基本要素としている。 061021 5 連続系シミュレーション言語記述例 振動系の シミュレーション DDS(CSMP)に よる記述 031029 6 ・運動方程式を標準型連立方程式に 031103 7 ・ブロック図を使う方法 031103 8 ブロック図 → 構造文 031103 9 初期値,変数,出力制御変数 031103 10 コーディング例 PARAMETER 031103 (K = 0.1) M = 0.5, (K = 0.1), R = 0.2 11 パラメータの変更例 (K = 0.1, PARAMETER 0.3, 0.5) M = 0.5, (K = 0.1, 0.3, 0.5), R = 0.2 パラメータ変更 パラメータ変更繰り返し 計算結果 on Line Printer 031103 12 計算結果 on Line Printer K = 0.1 DOUT K = 0.3 K = 0.5 031103 時間 13 数値積分 031103 14 数値積分法 Euler法 031029 15 修正Euler法 031029 16 Runge-Kutta 法 031029 17 Runge-Kutta-Gill 法 中間結果を保存 しなくて済む 031029 18 Predictor-Corrector 法 031029 19 System Dynamics ・・・ DYNAMO System Dynamics(SD) ・・・ DYNAMO (言語) ・Industrial Dynamics(ID) ・Urban Dynamics(UD) ・World Dynamics(WD) MITの J.W. Forrester 教授が開発 歴史: 1958 SIMPLE → 1961 DYNAMO II User’s manual 構成 変量間関係のモデル ・・・ 差分方程式 時間管理 ・・・ 単位時間方式 レベル,レートおよびフローの概念の利用 031127 20 DYNAMO 031127 ダイナモ方程式 21 水タンクシステムの例 031103 22 SDで用いられるシンボル 031127 23 System Dynamicsの特徴 1. 正または負の情報フィードバックループが前 提。ループの情報流の流れ,増幅,ゆがみが 表現できる。 2. 方策→結果がダイナミックな視点から試行錯 誤的に得られる。数学的最適解を求めるもの ではない。 3. 要素間の因果関係は任意に定めてもよい。 4. モデル式は簡単。非線形はテーブル関数で扱 える。 5. 何をレベルやレートと考えるか,それらの因果 関係はどうなっているか,というシステムの構 031127 24 造把握を重点に置いている。 貝と海草のモデル 貝: limpet 海草: seaweed ① ② 031103 ③ ④ 25 ① 貝と海草のモデル方程式(1) 031103 26 貝と海草のモデル方程式(2) ④ ② ③ 031103 27 貝と海草モデルのフローダイヤグラム ① ② ③ ④ 031103 28 貝と海草の生育数 031103 29 World Dynamics (original) 031125 30 世界モデルのフローダイヤグラム 031103 31 Quality of life 031103 32 WDの結果 1970ころ 警告: 何もしないと,生 活の質が低下 今後の政策に示 唆: 適正な施策の下 で,生活の質が 維持できる 031103 33 ソーシャルシステムの特徴(1) ソーシャルシステムとは,人間を含んだシステム。 最小単位は人間。 人間 < 集団 < 組織 1. 2. 3. 4. 5. 6. 7. システムの境界をもつ。 因果ループに基づく。 フィードバックループは多重性をもつ。 複雑な相互関係がある。 非線形である。 直感的にわかりにくい性質をもつ。 原因と結果,原因と現象が時間的,空間的 に離れている。 031127 34 ソーシャルシステムの特徴(2) 8. 原因を除去しなければ,施策の効果は永続 的でない。 9. ソーシャルシステムでの諸現象は1回生起現 象である。 10.ソーシャルシステムのシミュレーションは,ス テップバイステップのシミュレーションしかな い。 11.人間の能力は,システムの観察に優れてい る。しかし,幾つかのファクタが相互作用しな がらダイナミックに変化していく様子を追跡す るのは劣っている。 031127 35 WS上での連続系シミュレーション言語 MATLAB 制御系設計 システム同定 信号処理 線形代数 ACSL 非線形シミュレーション PROTOBLOCK ブロック線図による モデリング 図 3.6 制御系のモデリング,設計,シミュレーション のためのパッケージ構成 030910 oldppt 36 WS上での連続系シミュレーション言語 MATRIXx: リアルタイムの制御系,信号処理系を 設計するときに用いられる CAE (computer aided engineering) ツールである。 AutoCode: MATRIXxで設計された制御方式をコ ントローラのソフトウェアに変換するCASE (computer aided software engineering) ツール である。 MATRIXxで設計されたブロックダイヤ グラムをもとに C, FORTRAN, Adaの各ソース コードを自動生成する。 031127 37 第3章 Key words 連続系シミュレーション言語 ・精緻なシミュレーション: アナコン→CSMP/DDS 多種の積分法: Euler, 修正Euler,Runge-Kutta, Runge-Kutta-Gill,Predictor-Corrector 計算物理,微分方程式の求解,振動方程式 ・社会経済のシミュレーション: DYNAMO言語。 Euler法(シンプルな積分法)採用。 SD,ID,UD,WD(地球レベル,QoL) ・利用環境:大型計算機 → WS → パソコン Interpreter, compiler 031221 38
© Copyright 2024 ExpyDoc