こんにちは、AI技術部の岩水です。
交差点でこう感じたことはありませんか?
「この信号、すぐ赤になっちゃうんだよなー。早すぎじゃない??ちゃんと最適化されてるの?」
こんな不満に対して簡単に検証できるのがシミュレーターです。
今回、誰でも簡単に”かっこいい”シミュレーターを作成できるソフトウェアをご紹介します!
シミュレーターを動かしてみよう
本記事が対象とするシミュレーターは、「AnyLogic」というシミュレーションモデリングツールで作成したものになります。
まずは、シミュレーターを動かしているデモ動画をご覧ください。
このデモは倉庫内の入出荷作業を可視化したデモです。
3Dや2Dで動きを可視化できる他、リアルタイムの統計情報も閲覧できます。
また、パラメータ(フォークリフトの数など)を変化させて、動きの変化を見ることも可能です。
その他のデモは下記URLから体験できるので是非ご覧ください。(再生ボタン▶で動きます)
https://cloud.anylogic.com/models
シミュレーションによるメリット
上記のような、グラフィカルなシミュレーターを使うとどんなメリットがあるでしょうか?
例えば、以下のような問題に対し、様々なパラメータを設定して検証することができます。
- 信号機の切り替え間隔は何秒にしたらいい?
- コールセンターのオペレーターは何人にしたらいい?
- 施設のレイアウトはどう配置したら、動線がスムーズになる?
また、3Dや2Dの動画で動きを可視化することで、定性的な判断が出来たり、潜在的なリスクを発見しやすくなります。
そして、バーチャル環境という特性上、シミュレーションの倍速実行ができる上、現実の環境で試行錯誤せずに済むため、コスト減やリスク回避にも繋がります。
まとめると、グラフィカルなシミュレーターには以下のメリットが挙げられます。
- 様々なパラメータを試すことで、最適なシステムを設計しやすい。
- 動きが可視化されるため、説得力がある。
- 現実の環境で実験するよりも、低コスト、低リスクで実験しやすい。
様々な分野で使用されているシミュレーションモデリングツール「AnyLogic」
AnyLogicの概要と特徴的な機能を以下に記載します。
AnyLogicの概要
20年近くの歴史を持つ企業向けシミュレーションモデリングツール。ユーザ数もグローバルでトップシェア。
物理エンジンではなく、物流、人流、情報の流れにフォーカスしたシミュレーター。
適用分野は、製造、サプライチェーン、マーケティング、資産・プロジェクト管理など多岐。
使用企業は、NASA、Google、P&G、トヨタ、パナソニックなど。
AnyLogicの特徴的な機能
ログ出力、データ集計機能。
作成したシミュレーションモデルを専用クラウドにアップロード可能。高負荷なシミュレーション実行を可能にしたり、モデル共有の利便性が向上。
現実世界のデータをDBやCSVを介してシミュレーターに入力することで、再現シミュレーションが可能。
オブジェクトの発生頻度は、一様分布、正規分布、ポアソン分布等、多種多様な確率分布を選択可能。
Javaによるオブジェクトの独自定義や、Blender等のソフトウェアで作成した3Dオブジェクトの追加が可能。
[実験1]信号機で交通量を制御するシミュレーターを作成する
AnyLogicのサンプルモデルを使って作成フローを解説します。
ここではAnyLogic Professional(30日試用版)を使用します。無償版でもベーシックな開発は可能です。
画面は以下の様な構成となっており、Eclipseベースのソフトウェアになっています。
基本的な操作は、左側のパレットからアイテムをドラッグ&ドロップし、プロパティに値を設定するのみで、コーディング知識が無くても作成可能です。
作成手順
主に以下のフローでシミュレーターを作成します。
1.マップレイアウト作成
下絵となる画像やCADデータを基に、実際の縮尺に合うように道や信号を配置します。他にも工場用ライブラリには、ベルトコンベヤや工作ロボット等も用意されています。
動くオブジェクトを扱う場合は、その発生地点や目的地点も定義します。
2.オブジェクト定義
動かす対象の特徴を定義します。通常、既存のオブジェクトをそのまま使えますが、必要に応じてカスタマイズ可能です。人はもちろん、自動車や製造部品等のオブジェクトが用意されており、大きさや見た目を変更できます。
3.オブジェクト動きやIF-THENルールの定義
オブジェクトの発生から消滅までの動きをフローチャートのように定義します。
-
-
- 発生頻度(確率分布)や動く速さの定義
- 経由地や条件分岐の定義
- 目的地到達時の動きの定義
-
今回の交通シミュレーターでは、以下のようなプロパティ設定になっています。
- 車の発生頻度:1時間あたり500台(手前の道路)
- 信号機の青の時間:15秒
- 信号機の赤の時間:10秒
それでは動かしてみましょう。
上記は開始10分後の様子です。
手前の道の渋滞が約150mまで伸びています。頻繁に信号機が切り替わると効率が悪いのかもしれません。
[実験2]パラメータを調整して、交通量を最大化する
最適化用のオブジェクトを追加し、下記条件を設定します。
- 最適化対象:信号機の青・赤の時間(10~40秒の間で最適解を探索させる)
- 最小化するもの:シミュレーター内の自動車の平均通過時間
パラメータ最適化を実行すると下記の結果になりました。
青信号が32秒、赤信号が38秒の時が最適のようです。このパラメータで再シミュレーションしてみます。
手前の道の渋滞が150mから約40mにまで短くなりました!
また、統計情報を確認すると、車の平均通過時間は190秒から112秒まで短縮していました。
おわりに
様々なビジネス用途で使用されているシミュレータモデリングツール「AnyLogic」をご紹介しました。
IoTやAI、シミュレーターの技術の発展により、実空間のデータをサイバー空間で再現・分析し、実空間で活用する仕組みが使われ始めており、これはデジタルツイン(Digital Twin)等と呼ばれています。
また、ロボットの自律学習やAIのアルファ碁に使われている技術「強化学習」も、シミュレーターを使うことで高速に分散学習を行うことができるようになります。
こうした利点から、シミュレーター関連技術はますます向上し、身近な物になっていくのではと考えています。
最後までお読み頂きありがとうございます。