(翻訳は江端が行いました。翻訳内容については無保証です 2023/01/30)

コンテンツ

IDEからプログラマとしてMATSimを使用する

MATSimのGUIを使う

MATSimをMavenのプラグインとして使う

可視化

リリースについて

ベンチマーク

 

IDEからプログラマとしてMATSimを使用する

この方法は、JavaとIDE(EclipseやIntelliJなど)を使いこなすプログラマーを対象としています。これにより、MATSimを自動的にダウンロードし、ソースコードを閲覧することができ、リリースやスナップショットの最新情報を得ることができます。

インストール:

  1. (オプションだが推奨として)matsim-example-projectをフォークします
  2. matsim-example-projectをローカルディレクトリにクローンします。
  3. IDEにmavenプロジェクトとしてインポートします。Mavenが依存関係を整理してくれます。MATSimのメインリポジトリをダウンロードする必要はありません。 ソースが用意されています。
    1. IntelliJ: Import project –> browse to dir –> maven –> Next, Next, Next
    2. Eclipse: Import … –> … as maven project –> browse to dir –> accept, accept, accept
  4. IDEからMATSimGUI を実行します。
    1. 設定ファイルの例は scenarios/equilにあります。
    2. Runを押してMATSimを実行します。
  5. (オプションだが推奨として) RunMATSim をIDEからRUNします。
  6. (オプションだが推奨として) フォークしたレポに対して、継続的インテグレーション(CI)のワークフローを設定します。 自分のレポのgithubサイトにて、 Actions –> New Workflow –> More continuous integration workflows... –> Java with Maven –> Set up this workflow –> Start commit –> .... この結果、各コミット後に自動ビルドをトリガーするファイル .github/workflows/maven.yml が生成されます。このファイルによるワークフローの詳細な設定は、後の時点で可能です。

注意事項:

  1. ここでもmatsim-code-examplesを見て、例を探してください。
  2. ControlerDefaultsModule (IDE内、ソースはmavenで取得)を見て、MATSimがどのようにプラグイン化されているかを確認します。

 

MATSimのGUIを使う

この「スタンドアロン」バージョンは、config.xmlを含む入力ファイルを直接編集してMATSimを使いたいユーザーを対象にしています。基本的なGUIが提供されています。

  1. matsim-example-project をダウンロードし、解凍してください。zipfileをダウンロードするオプションがあります。
  2. クリックできる jar ファイルは、git repo が大きくなりすぎるため、提供されなくなりました。代わりに、matsim-example-project の "Building and Running it locally" at matsim-example-projectにある説明に従ってください。.
  3. そこに書かれているように、生成されたMATSimのjarファイルをダブルクリックすることになります。開くのは、MATSimのGUIと呼ばれるものです。 設定ファイルの例は、scenarios/equilにあります。 Runを押すと、MATSimが実行されます。

    ログファイルには、他の多くの情報の他に、matsim の完全な設定のダンプも含まれています。もし興味深いパラメータがあれば、それを自分の設定ファイルにコピーし、修正して再実行するとよいでしょう。

    私(kn)の考えでは、この方法、つまり設定ファイルを編集するだけで、かなり遠くまで行くことができると思います。主な問題は、自分のシナリオのネットワーク、特にいわゆる初期需要をどのように入手するかということです。もし、どこからか入手できないのであれば、チュートリアルを通した方が良いでしょう。

    最新の安定版リリース

    Version 14.0 “Spring 2022”, released April 2022

    開発版

    This (= using a development version of MATSim via the GUI) is not recommended any longer. If you cannot work with a release, you should use the IDE and maven.

     

    MATSimをmavenプラグインとして使用する

    Maven」バージョンは、Mavenについて知っていて、すでに存在するMavenプロジェクトにMATSimを含めたいプログラマーを対象としています。上記の「MATSimサンプルプロジェクト」と同様に、MavenアプローチはMATSimをmavenダウンロードし、ソースコードを閲覧できるようにし、リリースまたはスナップショット(pom.xmlに依存)で最新の状態を維持することができるようにします。

    既存のMATSimのコードを修正することはできませんが、ほとんどの場合、その必要もありません。このような場合は、開発者に連絡していただければ、不足する拡張ポイントを実装するなどの支援を行います。

    (プレ)リリース

    <repositories>
      <repository>
        <id>matsim</id>
        <name>MATSim Maven repository</name>
        <url>https://repo.matsim.org/repository/matsim/</url>
      </repository>
    </repositories>
    <dependencies>
      <dependency>
        <groupId>org.matsim</groupId>
        <artifactId>matsim</artifactId>
        <version>14.0</version>
      </dependency>
    </dependencies>
    

    GitHubにあるサンプルプロジェクトには有効なpom.xmlが含まれています。

    Extensions拡張機能も同様に追加されています。pom.xmlを見てください。のコードサンプルとしてあります

    開発版の自動スナップショット

    <repositories>
      <repository>
        <id>matsim</id>
        <name>MATSim Maven repository</name>
        <url>https://repo.matsim.org/repository/matsim/</url>
      </repository>
    </repositories>
    <dependencies>
      <dependency>
        <groupId>org.matsim</groupId>
        <artifactId>matsim</artifactId>
        <version>15.0-SNAPSHOT</version>
      </dependency>
    </dependencies>
    

    これらのバージョンは通常、安定性が低く、最新のドキュメントが付属していませんが、新機能が含まれている場合があります。

     

    可視化

    シミュレーションが実行されると、その出力ディレクトリに多くのファイルが作成されます。GUIには出力ディレクトリに到達するためのボタンがあることに注意してください。そのうちの1つは、いわゆるイベントファイルで、通常10回目のイテレーションごとに生成されます。0回目の繰り返しのイベントファイルは.../ITERS/it.0/...0.events.xml.gzに格納されています。これには、可視化できる多くの情報が含まれています。

    MATSimの出力を可視化する最も簡単な方法は、VIAを使用することです。エージェントの数に制限のある無料版が「available for download」です。VIAを起動すると、大きな黒い領域が表示されるはずです。ここがトラフィックを可視化する場所です。このエリアの左側には、上部に4つのアイコンがある小さなエリアがあります(「コントロール」)。最初のアイコン(Data Sources)をクリックします。このセクションにファイルをドラッグ&ドロップするか(例:network.xmlevents.xml.gz)、下部の「+」をクリックして追加するファイルを選択できます。いずれかの方法で、まずnetwork.xmlを利用可能なデータのリストに追加し、次にevents.xml.gzを追加します。これで、ビジュアライザーが私たちのデータを認識し、どのようにビジュアル化するかを指示できるようになりました。

    次に、コントロールセクションの2番目のアイコン(Layers)をクリックします。初期状態では、背景レイヤーのみが表示されています。をクリックして、表示させたいデータを選択します。読み込んだnetwork.xmlでネットワークを視覚化するよう既に提案されているはずなので、Addをクリックします。しばらくすると、ネットワークが可視化エリアに表示されるはずです。をもう一度クリックし、今度はレイヤーの種類として「ビークル」を選択します。events.xml.gzファイルはすでに選択されています。Addをクリックします。イベントに依存するレイヤと同様に、レイヤタグの下部にLoad Dataボタンが表示されます。これをクリックすると、イベントから車両の位置が抽出されます。

     

    リリースについて

    通常、ベルリン工科大学での夏期講習と一緒にリリースしています。

    1. 3月から4月にかけてプレリリースを行います。
    2. 授業が行われている間、バグフィックス版をリリースする可能性があります。
    3. 6月から7月にかけて、最後のバグフィックスバージョンが安定版としてリリースされます。

    その結果、「最新の(プレ)リリース」は「最新の安定版」よりも最新になる可能性があります。

     

      ベンチマーク

    Download Benchmark ZIP, ca. 180 MB

    の詳細はこちらです。MATSim Benchmark.