経営システム工学専門実習...
TRANSCRIPT
経営システム工学専門実習
(生産工学)
生産シミュレーション
担当教員: 鬼頭朋見
2018/07/03
今日(+次回、次々回)の予定
2
昨年度まで
今回: シミュレーションツール NetLogoの紹介
どんなことが出来るのか
モデルの理解・実行・モデル改善
次回: 外部講師の方による講演
次々回: 吉本先生ご担当
シミュレーションツール S4を使ったモデルの理解・実行・結果の集計
今年度
シミュレーション
3
現実世界に存在する、複雑で不確実性を含んだ問題・・・
実際に試すにはコストや時間が掛かる、危険を伴う
1つのシナリオを試したら他が試せない
そもそもまだシステムが出来ていない etc.
問題をコンピュータ上に再現し、様々なシナリオ(条件の組み合わせ)を試す
ことにより、システムの挙動について調べ、より深く理解し、予測したり改善に
役立てたりすることが可能。
生産システム と 複雑系
• 生産に携わる複数の要素が,全て独立して機能
• 情報を集中管理
• 不確実性がない,或いは事前に想定・対処済
最適化シミュレーション
数値解析
• ある工程がダメになると,ほかに影響が広がっていく
• 要素間が相互依存的な関係にある
• 顧客の嗜好や市場の状況がどんどん変わっていくので,適応しなくてはいけない
• それぞれが個別に意思決定・行動をする
MASシミュレーションが有用
(かも)4
エージェントベースモデル
個々のエージェント(自律的に
意思決定・行動する主体)の
特徴を捉えたモデル
観察されるマクロ的な挙動
5
シミュレーション構築ツール
6
全て自分でコーディングシミュレータを利用
日本ハイコム株式会社
• プログラミング不要
• GUI上で操作可能
• 視覚的に分かりやすい
• 自由な設計ができない
• 高価
• 動作する環境が限られる
• アップデートや動作保証は
提供先次第
• プログラミング技術が必要
• コマンドで操作
• 可視化の技術が必要
• 何でも自由に作れる
• 無料
• 動作する環境を問わない
• アップデートや動作保証は
世界中で常に行われる
中間ぐらいのツールが
欲しい
シミュレーションツールの紹介
7
https://www.msi.co.jp/s4/index.html
S-quattro (S4)
• プログラミングは簡単な独自言語
• GUI上で操作可能
• 視覚的に分かりやすい
• 自由な設計がかなり出来る
• 有料
• 動作する環境はWindowsのみ
• アップデートや動作保証は
提供先次第
artisoc
http://mas.kke.co.jp
• プログラミングは簡単な独自言語
• GUI上で操作可能
• 視覚的に分かりやすい
• 自由な設計がかなり出来る
• 有料(※アカデミックは無償,要認証)
• 動作する環境はWindows,MacOSX
(ただしバージョンが限られる)
• アップデートや動作保証は
提供先次第
コミュニティも存在するが,日本限定
NetLogoの紹介
8
• プログラミングは簡単な独自言語
• GUI上で操作可能
• 視覚的に分かりやすい
• 自由な設計がかなり出来る
• 無料
• 動作する環境が限られない
• アップデートや動作保証が,世界中で頻繁に行われている
• マニュアルやチュートリアル等が豊富
https://ccl.northwestern.edu/netlogo/
NetLogoの概要
9
自然現象・社会現象のシミュレーションを容易に構築可能なプログラミング環境。
複雑系のモデリングが可能。
個々の意思決定主体(エージェント、ここでは“タートル”)のミクロレベルの行動と、
主体間の相互作用(インタラクション)により創発するマクロレベルの現象・挙動の
間の関係性を調べることができる。
NetLogoの歴史
10
1967~
1991~
1999~
教育向けに設計された
プログラミング言語。
「子供でも使える」言葉を
ベースにした言語。
LOGOの拡張版。
エージェントベースシミュ
レーション言語。
座標の導入、
ネットワークなどの拡張機能、
クロスプラットフォーム化
インストール
11
1. OSに合わせてインストールファイルをダウンロード
まずNetLogo6.0をインストールする。もしJava関連のエラーが出たら、
5.0を試してみる。
5.0と6.0ではJavaのバージョンが違う + 少しだけ文法が変わっている。
HPからダウンロードも可能。(名前・所属・メールアドレス等を入力)
2. ダウンロードしたファイルをクリック
3. 起動
NetLogoのHPにアクセス
12
https://ccl.northwestern.edu/netlogo/
l HPからダウンロードする時・・・ 「Download Netlogo」をクリックし、指示に従う。
l Extensions : 追加機能を利用する時(ライブラリのようなもの)
l Models > Library: モデルライブラリに入っているサンプルモデルの説明
l Models > Community :他のユーザが作成したモデルをダウンロードできる
l Models > Modeling Commons: 自作モデルを共有や議論のためのプラットフォーム
l User Manuals: 全ての説明が詳細に書かれている。チュートリアルもある。
日本語版もある(ただしバージョン5.0について)。
Tips
13
• 1台のPCに複数のバージョンをインストールしても問題ない。(独立に起動・実行可能)
• 各モデルは「~~.nlogo」という形式で保存される。.NetLogoを起動させて.nlogoファイルを読み込んでも良いし、nlogoファイルをクリックしてNetLogoを起動させても良い。
• ファイルを読み込んだり、外部ライブラリを使ったりしないのであれば、基本的には
.nlogoファイルをどこに保存しても問題ない。
• 6.0と5.0で若干文法などに違いがあるが、基本的な文法のみで書いていれば、どちらでも動作する。
サンプルモデルを触ってみる
14
http://www2.gssm.otsuka.tsukuba.ac.jp/staff/kurahasi/NetLogo-v5-ja/index.html
User Manuals > Japaneseに移動する
(もちろん英語版でも可)
指示に従って、Model Library > Social Science > Party を開く
学ぶこと
• setup, go once, go
• パラメータの選び方
• グラフ出力
• 可視化
• モデルの保存
注意: モデルに手を加えたい場合、必ず
「名前をつけて保存」すること!
• エクスポート
• インターフェース、情報、コード
チュートリアル
15
課題
16
各自の理解度に合わせて、以下の3つの課題のうち(少なくとも)1つを選んで
取り組んで下さい。
①【Ants】モデルを用いた性能検証②【Ants】モデルの変更による
システムの性能向上
③生産システムのシミュレーションを自作し、性能を検証
条件:
• システム全体・個々のパラメータについて、生産システムとしての解釈を加える。
• 効率性を考える。(例:蟻の数が多い=コストが高い、 フェロモンの量は?)
※ 多少手を加えたものを配布するので、それをベースにしても良い。
モデル名: Ants-sample.nlogo
課題説明①
17
Models Library > Biology > Ants
蒸発率、拡散率は、生産システムでは
何と解釈できるか?
蟻(=作業要員)の数が多いとコストが掛かるが、
性能を維持するのにはどの程度必要なのか?
何でパフォーマンスを測るべきか?
他にどんな値を取得すれば良いか?
課題説明②
18
Models Library > Biology > Ants餌場の位置は固定とした時、巣の位置を変えて
もっと効率を上げられるか?餌の量をランダムではなく、何らかの
ルールで配分すると効率は上がるか?
無駄を省くには?
蟻に役割分担をさせたほうが
うまくいくか?