1.シミュレーション概要

1.シミュレーション概要
1.3
1.1 シミュレーションにできること
シミュレーションの応用分野
•
生産工場
•
銀行
•
流通センター
(中断)せずに変更を検討することができる.
•
病院
を経営者に見せることができる.
•
レストラン
•
スーパーマーケット
•
テーマパーク
•
緊急誘導
•
交通渋滞,等々…
•
新規のシステムや既存のシステムのモデルを作成することによって,様々な条件を設定し,シ
することができる.
ステムの挙動を
•
新規システムの場合,取得もしくは運用
•
既存システムの場合,作業を
•
新規・既存システムの
•
システムの構成要素がいかに影響しあっているか,全体のパフォーマンスにいかに影響を及ぼ
することできる.
しているかを
•
モノ,人,金,情報の流れ(動き)の
•
モノ,人,金,情報の流れ(動き)の
ができる.
にテストすることができる.
(
)を理解することできる.
(
)を見つけること
等々…
1.4
シミュレーションモデル構築のプロセス
1.2 シミュレーションにできないこと
1.システムを
することはできない(あくまで代替案の比較⇒
•
する.
)
.
をはっきりさせる.
2.
•
理解できていないシステムを
することはできない.
•
入力データが不正確であれば,正確な
•
問題を根本的に
を出すことはできない.
することはできない.
する.
3.モデル表現を
4.モデルを
する.
を検証する.
5.モデルの
等々…
6.実験を
する.
7.実験を
する.
8.実験結果を
する.
9.解析結果を
する.
10.
1/33
一連の作業を書き残す(
化).
2/33
1.5 シミュレーションの種類
2. Arena の概要
•
的(
)と
的(
)
•
系(
)と
系(
)と両系
•
的(
)と
的(
)
2.1
Arena の変遷
1981
1982
1986
1993
1995
1997
1998
1999
2000
2001
2002
2003
2004
2.2
Dr.D.C.Pegden らが,Arena のベースであるシミュレーション言語 SIMAN(サイマン)を開発.
米国 Systems Modeling 社開設.SIMAN が商品化.
SIMAN にアニメーションの機能を担う「Cinema(シネマ)を開発,商品化.
Arena1.0 リリース:SIMAN,Cinema を統合.
Arena2.0 リリース:Microsoft により認定.
Arena3.0 リリース:VBA 組み込み.テンプレート機能,統計処理機能の充実
Arena3.5 リリース:モデルの高層化機能.Visio リンク
CD 付きテキスト”Simulation with Arena ”発売.
Arena4.0 リリース:Visio 形式によるモデル作成機能.クリスタルレポート機能.
Systems Modeling 社が Rockwell Software に買収.
Arena5.0 リリース:数式作成機能追加.Access,Excel へのモデルロジックのインポート.
Arena6.0 リリース
Arena7.0 リリース:Read/Write 機能の拡張,ビジュアル強化.
”Simulation with Arena (2nd edition)”発売.
Arena8.0 リリース.
Arena9.0 リリース.
”Simulation with Arena (3rd edition)”発売(http://www.arenasimulation.com/にて公開).
Arena の特徴
•
性,
•
がはやい.
がはやい.
•
•
性がある
オリジナル
作成可能,等々…
シミュレーションの種類では,…(○:対応,◎:得意)
3/33
•
静的(Static)と動的(Dynamic)
•
連続系(Continuous)と離散系(Discrete)と両系
•
確定的(Deterministic)と確率的(Stochastic)
4/33
2.3 動作環境(Arena5.0 の場合:テキスト p.682 参照)
使用環境
HDの空き容量
メモリ
CPU
Arena 画面用語
Microsoft Windows
95/98/NT4.0(SP5 以降)/2000
対応(ME,XP に関しては Arena6.0 以降)
75∼200MB
32MB以上(64MB推奨)
Pentium 300MHz 以上
2.4 重要な用語の説明
(
・
・
):動きをつかさどるもの.
な Entity:部品や製品,人,車,など.
な Entity:システムの制御,要求,管理など.
(
):Entity に制約を加えるもの.
機械,窓口業務,病院の医者など.
流れ:待ち行列(Queue)⇒占有(Seize)⇒遅延(Delay)⇒解放(Release)
(
):待ち行列,待機場所
利用可能になるまでの間,Entity が待機するエリア.
属性(
):
の情報
個々に固有に割り当てられる情報.
変数(
):
情報
システム全体が共有できる情報.
5/33
6/33
(1)必要な情報を下図に記入しなさい.
Part A Prep
3.練習問題
3.1 電子部品組み立て・検査工場モデルの概要
Rework
到着時間間隔
作業時間
2種類(A と B)の電子製品の最終工程のモデル化をおこなう.はじめに 2 種類の金属ケース(Part A, Part B)が
Sealer
作業時間
%
運び込まれる.Part A は 1 つずつ,Part B は 4 つずつ到着する.2 種類の金属ケースは,それぞれ異なる機械
Part B Prep
金属ケースの中に挿入され密閉される.その後,検査が行われ,合格(91%),不合格(9%)に振り分けられる.合
作業時間
Part A
Part B
Part B
到着時間間隔
は,処理を施し再び検査を行う.その結果,80%は再利用され(Salvaged),残りは破棄される(Scrapped).このシ
作業時間
ステムの 1,920 分間(8 時間×4 日分)シミュレーションを実行しなさい.それぞれの時間は以下のとおりである.
☆ Entity
金属ケースの到着時間間隔
Part A: EXPO(5)
←平均 5 分の指数分布
Part B: EXPO(30)
←平均 30 分の指数分布
3.2 操作手順
3.2.1 Part A の到着時間間隔および,Prep A の作業時間の設定
イメージ図:
☆ Resource ①,②
表面加工(Prep A, Prep B)の作業時間
Prep A: TRIA(1,4,8)
←最小 1 分,最大 8 分,モード 4 分の三角分布
Prep B: TRIA(3,5,10)
←最小 3 分,最大 10 分,モード 5 分の三角分布
☆ Resource ③
密閉加工(Sealer)の作業時間
Part A: TRIA(1,3,4)
←最小1分,最大4分,モード 3 分の三角分布
Part B: WEIB(2.5, 5.3) ←尺度パラメータβ2.5,形状パラメータα5.3 のワイブル分布
☆ Resource ④
手直し作業の作業時間
EXPO(45) ←平均 45 分の指数分布
7/33
Scrapped
%
Salvaged
Shipped
%
(Prep A, Prep B)で表面加工が行われる.その後,両ケースとも Sealer と呼ばれるエリアへ搬送され,電子部品が
格の場合は出荷部門へ送られ(Shipped),不合格の場合は,手直し(Rework)エリアへ送られる.手直しエリアで
%
Part A
8/33
この部分
①
左側のプロジェクトバーの「Basic Process」パネルの中の「Create」フローチャートモジュールを選び,右側の
モデルウィンドウに置く.
⑤
左側のプロジェクトバーの「Basic Process」パネルの中の「Process」フローチャートモジュールを選び,右側の
モデルウィンドウに置く.
②
①の「Create」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
⑥
⑤の「Process」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
③
左側のプロジェクトバーの「Basic Process」パネルの中の「Assign」フローチャートモジュールを選び,右側の
モデルウィンドウに置く.
④
③の「Assign」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
9/33
10/33
3.2.2 Part B の到着時間間隔および,Prep B の作業時間の設定
イメージ図:
この部分
④
③の「Assign」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
⑤
左側のプロジェクトバーの「Basic Process」パネルの中の「Process」フローチャートモジュールを選び,右側の
モデルウィンドウに置く.
⑥
⑤の「Process」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
① 左側のプロジェクトバーの「Basic Process」パネルの中の「Create」フローチャートモジュールを選び,右側の
モデルウィンドウに置く.
② ①の「Create」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
③
左側のプロジェクトバーの「Basic Process」パネルの中の「Assign」フローチャートモジュールを選び,右側の
モデルウィンドウに置く.
11/33
12/33
3.2.3 Sealer の設定
イメージ図:
この部分
3.2.4 検査システムの設定
イメージ図:
この部分
① 左側のプロジェクトバーの「Basic Process」パネルの中の「Process」フローチャートモジュールを選び,右側の
モデルウィンドウに置く.
② ①の「Process」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
① 左側のプロジェクトバーの「Basic Process」パネルの中の「Decide」フローチャートモジュールを選び,右側のモ
デルウィンドウに置く.
② ①の「Decide」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
13/33
14/33
3.2.5 Rework(手直し)エリアの設定
イメージ図:
この部分
③ 左側のプロジェクトバーの「Basic Process」パネルの中の「Decide」フローチャートモジュールを選び,右側のモ
デルウィンドウに置く.
④ ③の「Decide」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
① 左側のプロジェクトバーの「Basic Process」パネルの中の「Process」フローチャートモジュールを選び,右側の
モデルウィンドウに置く.
② ①の「Process」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
15/33
16/33
3.2.6 Scrap(破棄)エリアの設定
イメージ図:
この部分
3.2.7 Salvage(再利用)エリアの設定
イメージ図:
この部分
① 左側のプロジェクトバーの「Basic Process」パネルの中の「Record」フローチャートモジュールを選び,右側のモ
デルウィンドウに置く.
① 左側のプロジェクトバーの「Basic Process」パネルの中の「Record」フローチャートモジュールを選び,右側のモ
デルウィンドウに置く.
② ①の「Record」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
② ①の「Record」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
③ 左側のプロジェクトバーの「Basic Process」パネルの中の「Dispose」フローチャートモジュールを選び,右側の
モデルウィンドウに置く.
③ 左側のプロジェクトバーの「Basic Process」パネルの中の「Dispose」フローチャートモジュールを選び,右側の
モデルウィンドウに置く.
④ ③の「Dispose」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
④ ③の「Dispose」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
17/33
18/33
3.2.8 Ship(出荷)エリアの設定
イメージ図:
この部分
3.2.9 コネクト(モジュールをつなぐ線)を編集する.
余計なコネクトは,キーボード上の「Delete」キーを使い削除する.足りないコネクトは,下図の部分をクリックし,
モジュールをつなぐ.
この部分
3.2.10 シミュレーション実行に関する設定
① Run>Setup を選択する.
① 左側のプロジェクトバーの「Basic Process」パネルの中の「Record」フローチャートモジュールを選び,右側のモ
デルウィンドウに置く.
② ①の「Record」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
② Project Parameters タブを開き,Project Title,Analyst Name(自分の名前)を記入し,Statistics Collection の
Entities のチェックをはずす.
③ 左側のプロジェクトバーの「Basic Process」パネルの中の「Dispose」フローチャートモジュールを選び,右側の
モデルウィンドウに置く.
④ ③の「Dispose」フローチャートモジュールをダブルクリックし,次のデータを入力し,「OK」をクリックする.
19/33
20/33
③ Replication Parameters タブを開き,下図のように設定する.[Start Date and Time]は自動的にデータが入りま
す.
④ モデルを実行する.
下図の部分をクリックする.
「はい」をクリックし,シミュレーション実行結果を見る(左側の Report パネルの Queue を選択した画面).
この部分
エラーがなければ,下記のメッセージが出る.
点線内の数値を確認し,問題がなければ右上の×(上図の矢印部分)を数回押し,元の画面へ戻り,end ボタン
(下図の矢印部分)を押す.
21/33
22/33
3.2.11 モデルの保存
(注意)
・ ファイル名には,ピリオド「.」はつけない.
・ FD に保存した場合,シミュレーション実行に非常に時間がかかる.
・ サーバーにあるドライブに保存する場合,上書き保存「Save」をすると強制終了になることがあるため.File
>Save As(名前を付けて保存)を選び,保存する度に違う名前をつけて保存すること.
3.3 アニメーションの充実
3.3.1
Part A と Part B を区別するために,エンティティのアニメーションを変更する.
① 左側のプロジェクトバーの「Basic Process」パネルの中の「Entity」データモジュールを選び,スプレッドシートビ
ュー(右側の下のウインドウ)を見る.
② スプレッドシートビュー内の part aの「Initial Picture」の値を「Picture.Blue Ball」(プルダウンリスト(三角のボ
タン)から選択),part b の「Initial Picture」の値を「Picture. Red Ball」へ変更する.
この部分
23/33
24/33
3.3.2 リソースの設定
4 台のリソース,Prep A(A の表面加工),Prep B(B の表面加工),Sealer(密閉・検査),Rework(手直し)を設定
する.
まずは,Animate ツールバーが表示されているか確認をする.
この部分
② 「Identifier」を「prep a」に設定(プルダウンリストから選択)し,右側の「Open」をクリックする.
この部分
表示されていない場合は,View>Toolbars を開き,Animate をチェックし,「OK」をクリックする.
③ Machines.plb を選択し,「開く」をクリックする(ネットワーク管理上,HD が参照できない場合は,事前に plb ファ
イルを各自のディレクトリにダウンロードしておく).
3.3.2.1 Prep A の設定
① 「Animate」ツールバーの「Resource」ボタンをクリックする.
25/33
この部分
26/33
④ 左側の「Idle」(遊休状態)と右側の絵を選択し,「≪」ボタンをクリックする.
①この部分を選択
⑥ 「Seize Area」にチェックをし,「OK」をクリックし,モデルウィンドウに置く.
②この部分をクリック
この部分
⑤ 左側の「Busy」(稼働状態)と右側の絵を選択し,「≪」ボタンをクリックする.
この部分
①この部分を選択
27/33
②この部分をクリック
28/33
3.3.2.2 Prep B,Sealer,Rework の設定
1.3.2.1 の④以降の作業を繰り返す(貼り付けた「Prep A」をコピー&ペーストすることも可能).ただし,
「Identifier」はプルダウンリストで「prep b」,「sealer」,「rework」をそれぞれ選択する.
Rework の場合
Prep B の場合
それぞれのリソースをモデルウィンドウに配置
Sealer の場合
rework
prep a
sealer
prep b
29/33
30/33
3.3.3 バックグラウンドの充実
3.3.4 Queue(待ち行列)の設定
① テキストを使い,工程名を記入する.
この部分
「Process」フローチャートモジュールの上にある
を Resource(機械)の前に移動(ドラック)させる.
それぞれのテキストをモデルウィンドウに配置
3.3.5 Count(カウント)の設定
「Process」フローチャートモジュールの下,「Dispose」モジュールの右にある数字(カウント)をテキストの横に移
動(ドラック)させる.
31/33
32/33
3.3.6 実行をする
参考文献:
W. David Kelton et al., Simulation with Arena,
『シミュレーション』,コロナ社,2005).
McGraw-Hill Companies, Inc.,(高桑 宗右ヱ門監訳:
33/33