メディア

MATSim実践編――ドラッグ&ドロップで1万人超のエージェントを動かしてみるリタイア直前エンジニアの社会人大学漂流記(5-2)(3/4 ページ)

» 2026年06月02日 13時30分 公開
[江端智一EE Times Japan]

ドラッグ&ドロップで簡単にエージェントを動かすツールを自作してみた

 と、ここまでで、前々回(第3回)までに作成した2つのファイル、output_events.xml.gzとoutput_network.xml.gzを出力するプロセスを、あらためて復習しました。

 で、今回あらためて考えてみたのですが、MASがいまひとつ世間(というか研究者の世界)に定着しない理由は、それを「見える化」するのが恐ろしく面倒くさいことにあると思うのです。

 実際に私も、output_events.xml.gzとoutput_network.xml.gzからエージェントの動きを可視化する方法を、QGIS(ツール)などを使って確立はしたのですが――とても他の人に「やってみて」と言えるような作業手順にはなりませんでした。

 MASは、上空から人々の営みが見えてナンボであり、ここを突破すれば、MATSimに限らずMASはもっと流行る、と思ったのですよね。

 いや、正確に言えば、MATSimの見える化ツールはあるにはあります。例えば、MATSim OTFVisやVia、さらにはQGISなどを使えば、可視化自体は可能です。実際に、私も全部試しました。

ツール名 位置付け 特徴 利点 欠点
MATSim OTFVis 公式に近い専用可視化ツール eventsをそのまま再生するシミュレーションビューア 動的な挙動(時間変化)がそのまま見える セットアップが面倒・操作が直感的でない
Via 軽量なWeb可視化ツール ブラウザで動作する簡易ビューア 導入が容易・手軽に全体像を把握できる カスタマイズ性や分析機能が弱い
QGIS 汎用GISツール(非MATSim特化) 空間データとして自由に加工・可視化可能 表現力・分析力が非常に高い 前処理が重く、初心者には事実上使えない

 結論:(恐ろしく)使いにくく、面倒くさい

 私が欲しかったのは、ファイルをドラッグ&ドロップするだけで、簡単にレビューできるツールでした。

 ですので今回、頑張ってツールを作りました――“MATSim Live Map Viewer(仮称)”です。

イラスト

 使い方は簡単です。

(Step 1) https://matsim-live-map.kobore.net/ にアクセスする
(Step 2) output_events.xml.gzとoutput_network.xml.gzをドラッグする
(Step 3) 「解析」やら「再生」のボタンを押すと、地図の上でエージェントがワラワラと動き出すのが見える

 以上!

 MASの結果が「見える化」できると、なんだかワクワクして、次のことを考えたくなります(私はそうです)。現在のMASの世界には、こうした超軽量でトライアル的なツールが、まだ足りていないと思うのです。

「Berlin」で1万6000人のエージェントを動かしてみる

 では、最後に、~/matsim-example-projectの中に入っているサンプル「Berlin」から、MATSimを使って、output_events.xml.gzとoutput_network.xml.gz を作成し、それを、私のMATSim Live Map Viewerで表示してみましょう。

[クリックで拡大]

 このディレクトリに、以下の3つのファイルが入っているはずです。

[クリックで拡大]

 これらを使い、前述の手続き(GUIでもCUIでも可)でMATSimを起動し、output_events.xml.gzとoutput_network.xml.gzを作成してください。

$ cd ~/matsim-example-project
$ mvn \
-Dexec.mainClass=org.matsim.project.RunMatsim \
-Dexec.args="examples/berlin/config.xml" exec:java
[クリックで拡大]

 output_events.xml.gzと output_network.xml.gzが生成された状態になります。

[クリックで拡大]

 ただ、これは、WSL2(ubuntu24.04)の中にできますので、基本的にはWindowsのエクスプローラーでは見えないのですが、実は裏技(?)があって、エクスプローラから、

\\wsl$

と入力すると、WSL2の中のファイルを操作することができます。

ですので、私の場合は、

\\wsl.localhost\Ubuntu\home\tomoi\matsim-example-project\examples\berlin\output\berlin

とエクスプローラーに入力すると、そのファイルをWindowsから扱うことができます。

 ここから、output_events.xml.gzとoutput_network.xml.gzを、”MATSim Live Map Viewer”にドラッグしてください。

[クリックで拡大]

 「解析」ボタン→「再生」ボタンで、Berlinの1万6000エージェントが動き出します。Type1〜4は、エージェント番号を4で割った余りに1を足したものになっています つまり、1, 2, 3, 4, 1, 2, 3, 4, 1, 2....と1万6000人まで続きます(ただ、恐ろしく"重い"し、表示速度のコントロールはほとんど機能していません)。

 htmlなどのコードは、curlなどで取得して頂いて、勝手に改造して頂いて結構です(そんでもって、改造後のものを、私にも提供してくれたらうれしいです)。こちらのページになんやかんや書いていますので、適当に参照してください。また、私のサイトに”MATSim”と入力すると、MATSimに関するメモが大量に出てきますので、そちらもご覧ください。

[クリックで拡大]


 今回のMATSimの解説パートでは、以下についてお話しました。

  • MATSimの本質

バッチ処理型シミュレータであり、現実をそのまま再現するものではなく、入力条件に依存する「モデル出力」を扱う枠組みである

  • 構成の理解が最重要

config.xml(設定)、network.xml(道路)、plans.xml(人間)の3ファイルで全体が構成される

  • 計算と環境の制約

CPU・メモリ依存が強く、GPUは無効/結果の収束や正しさは保証されないため解釈が重要

  • 最大の課題=可視化の難しさ

MASは「見える化」が困難であり、既存ツール(OTFVis・Via・QGIS)はあるが実用上扱いにくい

  • 解決策としてのツール提案

ドラッグ&ドロップで可視化できる軽量ツール(MATSim Live Map Viewer)を作成し、Berlinサンプルで動作確認可能



 次回は、config.xml、network.xml、plans.xmlの内容の解説を予定しているのですが ―― これが、かなり「つまらなくて退屈」なので、現在考え中です(実際、今回“これ”を書いたのですが、全体で40ページを越えたので、全部削除してしまいました)。

 それでは、では、また次回お会いしましょう。

Copyright © ITmedia, Inc. All Rights Reserved.

特別協賛PR
スポンサーからのお知らせPR
Pickup ContentsPR
Special SitePR
あなたにおすすめの記事PR

RSSフィード

公式SNS

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.