最適化・シミュレーション演習 第10回 ラベル,リソース,シミュレー ション実験の進め方と結果の表示・分析 • 授業サポートページ http://www.morito.mgmt.waseda.ac.jp/optsim/ • 数理計画による最適化と(離散事象型)シミュレーションに 関する演習を行う.使用するソフトウェアは,AMPL(+ GurobiまたはCPLEX),および,Simul8を想定している. • 演習では,数理計画による最適化やシミュレーションの実践 的能力を身につけることを目指す。履修者は,Cを使用でき る環境を有するPCを持参すること。受講者は,実験室にて, 演習で使用する C,AMPL,Simul8をダウンロードできる。 1 本日のトピックス • 応用モデリングテクニック – ラベル – 移動先 – リソース • シミュレーションの設定と実験の進め方 – シミュレーションクロック – 立ち上がり期間と結果集計期間 – 「試行」(ラン)の繰り返し(独立標本法) • 実行結果とその分析 – 結果の参照と結果マネージャ • 有限バッファ直列システムのシミュレーションに よる特性分析(今泉先生) 2 離散(事象)型シミュレーション Discrete (Event) Simulation • 待ち行列型のモデルで表現されるシステム のシミュレーション • 混雑現象のシミュレーション • 応用例 – 銀行のキャッシュマシン、生協食堂、コールセン ター、病院、工場のショップ(ジョブショップ等)、 電話、通信ネットワーク、... • 商用ソフトウェア(国内で代表的なもののみ) WITNESS、Simul8、S^4、SLAM 3 離散事象シミュレーションの特徴 • 時間は(通常)連続時間を考慮 • システム内を動き回る要素(entity)を考慮 – 例:顧客、工場内を流れる製品、ジョブ、注文 • 要素にサービスを提供する静的な要素と考えられる、 広義のリソース(resource)の存在 – 例:キャッシュマシン、機械、CPU、事務処理者 • システムの状態(state) – 例:待ち人数、サーバーの状態(idle/busy) • システムの状態変化が離散的に(事象発生時に)の み変化すると見る捉え方 – 例:顧客の到着時、サービス終了時 • 時間の進め方は、事象ー事象進行方式 • 離散事象シミュレーションのベースとなっているモデル は待ち行列モデル 4 待ち行列モデル Queueing Models • 待ち行列モデルは何で規定されるんだろう? • 待ち行列モデルの分類 A/B/X/Y/Z – A: – B: – X: – Y: – Z: 到着パターン(到着時間分布) サービスパターン(サービス時間分布) 並列サーバー数 システム容量(=サービス中+待機中)上限 待ち行列規律 • 例: M/M/1,M/G/m,M/D/2/∞/FCFS 𝑀 𝑋 /G/𝑐/𝑐 5 待ち行列モデルの分類 A/B/X/Y/Z (A)(B): M=指数分布、D=一定、G=一般 𝐸𝑘 =タイプ𝑘アーラン分布 PH=相型分布 (X): 並列サーバー数 1,2,…,∞ (Y): システム容量(=サービス中+待機中) 1,2,…,∞ (Z): 待ち行列規律 FCFS、LCFS RSS(ランダム)、PR(優先規律) GD(一般) 6 ラベル • モデルの中を動き回るワークアイテムには 「属性」を持たせることができる • ワークアイテムの属性をラベルと呼ぶ • ラベルの使い方 – ワークアイテムの移動の制御 – ワークアイテムのアクティビティの時間 • ラベルは,数値,または,テキスト 7 ラベルによる行き先の制御 8 移動先の制御 • • • • • • • 巡回(順番に,1→2→3→1→2→・・・) 一様(均等な確率で,ただし,ランダムに) 割合(指定された確率でランダムに) 優先度(指定された優先度の順番に) ラベル(ラベルの値に応じて) ・・・ 分割(=コピーを作る) 9 分割=コピーの作成 (batching) Activity 1は時間0のダミーアクティビティ 「ワークセンター」で「分割(batching)」をクリック 分割数を(たとえば)「固定値」2に指定 10 リソース • ワークセンター(=アクティビティ)は,「固定的」 なリソース • つまり,ワークアイテムが特定のワークセンター に入ったときにワークセンター(機械など)という リソースを占有する • 「流動的」なリソースを考えたい,というケースが 出てくるのに対応するのがリソース – 例: 機械で加工するが,機械だけでなく,作業者が 必要,しかし,作業者は他の機械も掛け持ちしている 11 リソースの使用例(1) worker(一人しかいないリソース)は,二つの ワークセンターを掛け持ち 12 リソースの使用例(2) 検査工程で検査; X%は要調整; (100-X) は系外に移動 (確率による行き先決定) 検査,調整とも同一の作業者(一人)が実施13 シミュレーションクロック (「データとルール」の「属性」) 14 「何を調べたいか」による シミュレーションの分類 1. 定常状態のシミュレーション(steady state simulation) – システムの稼働率のように、安定な動きをして いるシステムのふるまいのシミュレーション 2. 条件停止のシミュレーション(terminating simulation) – システムがダウンするまでの時間とか、立ち上 がりの1時間のシステム特性のように、ある条件 を満たすまでの間のシステムのふるまいのシ ミュレーション 15 定常状態のシミュレーションにおける シミュレーションの実行方法と統計収集 • 点推定と区間推定 – たとえば、待ち時間の推定 – シミュレーションの実行ごとに推定値はばらつく – ばらつきの大きさの評価が必要 → 区間推定 • 中心極限定理に基づく区間推定 • 立ち上げの問題 • 独立な標本をとるための実行方法 – 独立標本法(independent replications) – 塊平均法(batch means) 16 独立標本法(上)と塊平均法(下) 1 2 3 ・ ・ ・ ・ 初期立ち上げ期間 n 両方法の狙い: 独立な標本を得ること 1 2 3 ・・・・ n 「試行」(ラン)の繰り返し (独立標本法) 18 実行結果(結果マネージャ) 19 有限バッファ直列システムの シミュレーションによる特性分析 担当 今泉 淳 対象のシステム • 5段階の有限バッファ直列システム 無限供給 実験の目的と評価尺度 • システムの性能評価 バッファ容量の影響 加工時間の変動の吸収 vs 失うものは何か? 定量的にどうか? 加工時間の変動の影響 加工時間の変動を直接抑えこむメリットは? • 評価尺度 – 産出されたアイテム数:多いほうが性能良い – タイムインシステム:短いほうが望ましい 実験上の設定 • 共通の設定 バランスドライン:各センターの加工時間の特性は同一 (iid) ランタイムは一ヶ月、ランは一回のみ 初期状態は「システムは空」 • バッファ容量 バッファ容量は一様で1,2,3,5,10,20,30 加工時間は各センターとも指数分布で平均10 • 加工時間の変動 平均10の指数分布、アーラン分布k=2,3,5,10,20,30(k大な るほど分散小、k=1は指数分布) バッファ容量は1に固定 アーラン分布 • • • • パラメタとしての「相数」(k) k個の独立の指数分布を重ねあわせたもの k=1は指数分布 kが大きいほど分散(標準偏差)が小さい k個 1/k λ 1/k λ 1/k λ それぞれは平均1/kλ 1/k λ トータルで平均1/λ 結果(1):バッファ容量の影響 バッ ファ 1 2 3 5 10 20 30 完了ワークアイ テム数 561 640 685 732 819 849 875 タイムインシステム 平均 標準偏差 106.68 30.28 130.7 34.48 151.24 38.93 191.28 52.75 274.37 74.51 422.82 150.23 511.29 219.77 結果(1):バッファ容量の影響 アイテム数・タイムインシステム 1000 900 800 700 600 500 400 300 200 100 0 完了アイテム数 タイムインシステム 0 10 20 バッファ容量 30 結果(1):バッファ容量の影響 アイテム数・タイムインシステム 1000 900 800 700 600 500 400 300 200 100 0 完了アイテム数 容量小のときの改善幅は大きいが、漸減 タイムインシステム タイムインシステムも増加(悪化) 0 10 20 バッファ容量 30 バッファ容量の影響のまとめ • 容量30の際におおむね完了数900弱 • バッファは加工時間の変動の吸収に有 効 小容量の際の増加の効果は顕著 しかし、次第に効果は減少 • タイムインシステムの悪化を伴う 結果(2):加工時間の変動の影響 k 完了ワークアイ テム数 1 2 3 5 10 20 30 561 669 720 780 835 885 908 タイムインシステム 平均 106.68 94.92 66.1 83.16 80.78 77.22 74.44 標準偏差 30.28 18.73 14.47 12.62 9.95 8.5 6.91 完了アイテム数・タイムインシステム 結果(2):加工時間の変動の影響 1000 900 800 700 600 500 400 300 200 100 0 完了アイテム数 タイムインシステム 0 5 10 15 k 20 25 30 完了アイテム数・タイムインシステム 結果(2):加工時間の変動の影響 1000 900 800 700 600 500 400 300 200 100 0 完了アイテム数 安定化で改善、特に初期の効果は絶大 タイムインシステムは減少し、また安定化 タイムインシステム 0 5 10 15 k 20 25 30 加工時間の変動のまとめ • K=30の際におおむね完了数900弱 • 加工時間のばらつきの除去は完了アイテム 数・タイムインシステムの両者に有効 • タイムインシステムは安定化:加工時間が安 定傾向にある以上当然 全体のまとめ • バッファ容量増加・加工時間の安定化はいず れも完了アイテム数の向上に貢献 • しかし、タイムインシステムへの挙動は正反 対 • バッファ容量30とアーランのk=30はおおむね 等価(しかし厳密ではない。ややこじつけ か)、しかしタイムインシステムの平均・標準 偏差は比較にならず 宿題10 (必要に応じて,プログラム,結果,考察を提示すること) • 宿題10.1 (今泉先生の分析例に関して) (1)本分析における方法にツッコミを入れよ(良く ないところ,直すべきところがあれば指摘せよ). (2)上記(1)とは別の本質的な意味で,本分析を もっと緻密に行う拡張としてどんなことが考えられ るか考えよ. 34 宿題10(続き) (必要に応じて,プログラム,結果,考察を提示すること) • 宿題10.2 検査と調整工程のライン[2,3] 組み立てられた製品が最終工程である検査工程に入ってくる.検査工程にお いてセッティングミスが発見されると,製品はセッティングを再調整するために調 整工程に送られる.調整工程を終えた製品は検査工程のバッファエリアに戻さ れ,再び検査を待つ.検査工程において検査にパスした製品は梱包工程に送り 出される. 製品の到着時間間隔は,最低3.5分から最高7.5分の一様分布に従う.検査工 程には2人の作業員がいて,別々に作業を行うことができる.検査時間は,6分 から12分までの一様分布に従う.平均的に考えて,85%の製品が検査工程をパ スし梱包工程に送られる.残りの15%は作業員が1人の調整工程に送られる.調 整に要する時間は,最低20分から40分までの一様分布に従う.480分のシミュ レーションを繰り返し行い,製品が検査と調整の工程に要する時間,および,検 査,調整工程の稼働率を推定しなさい.また,検査と調整工程に要する時間(= 製品が到着してから,梱包工程に送られるまでの時間)の95%信頼区間を示しな さい. 35 参考文献 [1]森戸晋,逆瀬川浩孝,システムシミュレーショ ン,朝倉書店,2000. [2]A. A. B. Pritsker and C. D. Pegden, Introduction to Simulation and SLAM, Halsted Press, 1979. [3]森戸晋,中野一夫,相沢りえ子,SLAMⅡによ るシステム・シミュレーション入門(改訂版),1993. [4]森戸晋,黒澤隆,大久保寛基,仕事のやり方 を変えるヒント:シミュレーションによる効率化, Parade Books,2015. 36
© Copyright 2024 ExpyDoc