シミュレーションテンプレート
SWAT APIは、シミュレーションオブジェクトのテンプレート化をサポートしており、毎回ゼロからシミュレーションを構築することなく、構成と事前定義されたルートの作成、維持、更新を簡素化します。事前定義されたルートとルーティングプロファイルを保存する機能により、ルートが事前に計画されている状況(ミルクランや静的ルートなど)をサポートできます。テンプレートは、シミュレーションオブジェクトのインスタンスを表し、たとえば、新しい運用の日に、別のシミュレーションにすばやくコピー(複製)できます。
各プロジェクトには複数のシミュレーションテンプレートを含めることができ、それぞれに、特定の日付や時刻にコピーするシミュレーションを選択するための時間ベースのルールがあります。これは、シミュレーションオブジェクトのrecurrenceフィールドによって制御され、選択した日付のシミュレーションテンプレートを選択するために使用されます。同じ選択した時間に複数のシミュレーションテンプレートが利用可能な場合、
recurrence_priorityを使用して1つを選択します。
SWAT APIは、テンプレートに基づいてシミュレーションを自動作成して予約をアップロードするための合理化されたプロセスも提供します。このプロセスにも同じルールが適用されます。
このプロセス中に、オブジェクトの時間枠(たとえば、ノードのオープン時間、車両の稼働時間、処理パイプラインの時間枠)が適切に調整されるように、一連のビジネスルールが呼び出されます。
テンプレートからシミュレーションを作成するには、次の2つのオプションがあります。
時間枠調整ルール
simulation.start_timeを目的の値に設定します。end_timeが明示的に指定されていない限り、simulation.end_timeをstart_timeとソースシミュレーションの期間の合計として計算します。
その後、次のフィールドが新しいsimulation.start_timeを基準に調整されます。
simulation.booking_start_timesimulation.booking_end_timevehicle.start_timevehicle.end_timesimulation_processor.start_timesimulation_processor.end_timesimulation_processor.vehicle_filter_expression['start_time', 'end_time'](再帰的)simulation_processor.bookings_filter_expression['min_pickup_time*', 'max_pickup_time*', 'min_dropoff_time*', 'max_dropoff_time*'](再帰的)
テンプレートの不正確または意図的な設定により、新しく作成されたオブジェクトのタイミングがシミュレーションのタイミングを超えて表示される可能性があります。たとえば、時間境界は車両に対して明示的に検証され、そのIDが応答で報告されます。ただし、無効な車両でシミュレーションを複製することは引き続き許可されます。