評価:分析サイドカー
本章では、MaaS Blenderにおける評価コンポーネントを説明します。 評価コンポーネントは、シミュレーションと並行して実行され、システムの動作をリアルタイムで観察・分析する補助的なサイドカーです。
本プロジェクトでは、経路計画結果を分析し、ユーザビリティメトリクスを評価するリファレンス実装を提供しています。
リファレンス実装では、各DEMANDイベントに対して予約可能なサービスを評価し、サービスカバレッジと利用可能性の分析を可能にします。
動作
- 評価コンポーネントは
DEMANDイベントを処理し、利用可能な経路とその予約可能性を分析します。 - 各需要イベントについて、評価コンポーネントは経路プランナーに問い合わせ、予約可能なサービスを確認します。
- シミュレーション中にリアルタイムで評価結果を生成し、経路利用可能性をキャプチャします。
設定
{
"planner": {
"endpoint": "http://broker/plan"
},
"reservable": {
"endpoint": "http://broker/reservable"
},
"evaluation_timing": "departure"
}
planner.endpoint:経路計画クエリ用エンドポイント(通常、ブローカーの/planエンドポイント)。reservable.endpoint:サービス予約可能性確認用エンドポイント(通常、ブローカーの/reservableエンドポイント)。evaluation_timing:経路を評価するタイミング:"departure"(デフォルト):需要イベントで指定された実際の出発時刻に評価します。"demand":需要イベント作成時に直ちに評価します。
シミュレーション後の分析
評価出力形式
シンプル評価器は、JSON Lines形式(1行につき1つのJSONオブジェクト)の評価結果を含む evaluation.txt ファイルを生成します。
各行は単一の DEMAND イベントに対する評価結果を表します。
{
"demand_id": "D_1",
"time": 570.0,
"event_time": 563.309169,
"org": "1_01",
"dst": "7_01",
"actual_service": "gtfs",
"plans": [
[
{
"org": "1_01",
"dst": "7_01",
"dept": 570.0,
"arrv": 578.0,
"service": "gtfs",
"reservable": true
}
],
[
{
"org": "1_01",
"dst": "1_02",
"dept": 570.0,
"arrv": 572.0,
"service": "walking",
"reservable": true
},
{
"org": "1_02",
"dst": "7_01",
"dept": 580.0,
"arrv": 590.0,
"service": "flex",
"reservable": true
}
]
]
}
demand_id(文字列):評価対象の需要イベントの一意識別子time(数値):シミュレーション開始からの出発時刻(分)event_time(数値):DEMANDイベントが作成された時刻org(文字列):移動元位置情報IDdst(文字列):目的地位置情報IDactual_service(文字列 | null):ユーザーが実際に予約したサービス(評価時点で判明している場合)plans(配列の配列):プランナーが返したすべての経路代替案- 各経路代替案は区間(leg)の配列です
- 各区間には以下が含まれます:
org(文字列):この区間の移動元位置情報IDdst(文字列):この区間の目的地位置情報IDdept(数値):この区間の出発時刻(シミュレーション開始からの分)arrv(数値):この区間の到着時刻(シミュレーション開始からの分)service(文字列):この区間に使用されるサービス名(例:"gtfs"、"flex"、"walking")reservable(論理値):このサービス区間が予約可能であるかどうか