シミュレーションテンプレート (Simulation templates)
SWAT API はシミュレーションオブジェクトのテンプレート化をサポートしており、毎回ゼロからシミュレーションを構築することなく、構成と定義済みルートの作成、保守、および更新を簡素化します。定義済みルートとルーティングプロファイルを保存する機能により、ルートが事前に計画されている状況(ミルクランや静的ルートなど)のサポートが可能になります。テンプレートは、たとえば新しい運用日のために、別のシミュレーションにすばやくコピー(クローン作成)できる シミュレーションオブジェクト のインスタンスを表します。
各プロジェクトには複数のシミュレーションテンプレートを含めることができ、それぞれに特定の日付や時間のためにコピーするシミュレーションを決定する時間ベースのルールがあります。これはシミュレーションオブジェクトの recurrence フィールドによって制御され、選択した日付 のシミュレーションテンプレートを選択するために使用されます。同じ選択された時間に複数のシミュレーションテンプレートが利用可能な場合、recurrence_priority を使用して1つを選択します。
SWAT API は、テンプレートに基づくシミュレーションの自動作成を伴う予約アップロードの合理化されたプロセスも提供します。同じルールが 注文アップロード にも適用されます。
このプロセス中にオブジェクトの時間枠(たとえば、ノードの開店時間、車両の稼働時間、処理パイプラインの時間枠)が適切に調整されるように、一連のビジネスルールが呼び出されます。
テンプレートからシミュレーションを作成するには、次の2つのオプションがあります。
- 明示的に シミュレーションを作成する
- 予約/注文をアップロードし、その プロセス 中にシミュレーションを自動作成する
時間枠調整ルール (Time window adjustment rules)
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 は応答で報告されます。ただし、無効な車両を含むシミュレーションのクローン作成は引き続き許可されます。