メインコンテンツまでスキップ

特定の車両タイプの場所へのアクセスを制限する

ユースケース:特定の車両タイプの場所へのアクセス制限

物流業務では、特定の車両タイプが特定の場所にアクセスするのを制限する必要があることがよくあります。この機能は、運用効率の維持、安全規制の順守、およびインフラストラクチャの制限の管理に不可欠です。

スペースの制約とそこで扱われる商品の種類のために、小型バンと小型トラック専用に設計された専用の荷積みドックがある配送センターのシナリオを考えてみましょう。同時に、同じ配送センターには、大型トラックや連結トラック用の別の大きなヤードと荷積みベイがある場合がありますが、これらは小型ドックには適していません。

SWATを使用すると、特定の車両タイプに関連付けることで場所の制限を定義できます。ルートを最適化する場合、システムは、許可されたタイプに一致する車両のみがこれらの場所に誘導されるように自動的に保証します。これにより、運用上のボトルネックと潜在的な損傷を防ぎ、サイト固有の規則への準拠も保証します。この機能により、アクセスを厳密に制御しながら、複雑な物流ネットワーク内で多様なフリートタイプをシームレスに統合できます。

実装

場所へのアクセスを管理するために、SWATは構造化されたVehicleTypeモデルを導入しています。

VehicleTypeモデル:中央テンプレート

この機能の中核は、新しいVehicleTypeモデルです。これを、車両を作成するための再利用可能なテンプレートと考えてください。プロジェクト内で定義する各VehicleTypeは、次のようなデフォルトプロパティのセットを指定できます。

  • 車両タイプ名(例:'small_van')
  • ルーティングプロファイルと設定
  • 容量構造
  • コストプロファイル
  • 関連するlabelsのセット

車両の作成:作成時にコピー

新しいVehicleを作成してVehicleTypeに関連付けると、システムは**「作成時にコピー」**アプローチを使用します。

  • **仕組み:**車両のプロパティ(容量やコストなど)は、作成時にVehicleTypeからコピーされます。
  • **なぜ便利なのか:**これにより柔軟性が得られます。テンプレートに基づいて事前に構成された車両を取得しますが、元のVehicleTypeテンプレートを変更することなく、後でその特定のプロパティを上書きまたは変更できます。

車両ラベルの集約方法

車両の最終的なラベルセットは、ジョブや場所との照合に不可欠であり、次の3つのソースから自動的に集約されます。

  1. VehicleType自体(例:'heavy_truck')。
  2. VehicleTypeで定義された追加のラベル(例:'refrigerated''tail-lift')。
  3. 作成中または作成後に**Vehicleインスタンス自体で指定した**ラベル。

たとえば、ラベル'urgent_delivery'を持つ車両を作成し、ラベル'high_capacity'を持つ'large_van'という名前のVehicleTypeに割り当てると、最終的な車両には'large_van''high_capacity'、および'urgent_delivery'の3つのラベルすべてが付きます。

OperationsLoCationVehicleTypeモデルで場所を制限する

特定のOperationsLocationにサービスを提供できる車両の種類を直接制御できるようになりました。これは、シミュレーション、車両タイプ、およびオペレーションロケーション自体を含む3者間のリンクを介して行われます。オペレーションロケーションに明示的に接続されている車両タイプのみが訪問を許可されます。

シミュレーションはこの3者間接続の一部であるため、これらの制限は各シミュレーションに固有です。さらに計画の柔軟性を高めるために、これらの制限はsimulation内で一時的に調整することもできます。これにより、プランナーは、場所のマスターデータを変更することなく、さまざまなシナリオ(たとえば、1回限りのイベントで場所に大型トラックを許可するなど)を試すことができます。 さらに、これらの制約はシミュレーションテンプレートレベルで定義できます。このように設定すると、関係はそのテンプレートから作成されたすべての新しいシミュレーションに自動的にコピーされます。

ヒント

内部的に、システムは自動的にラベルを生成します。これらのラベルは、オペレーションロケーションと車両用に作成され、車両はタイプに基づいて決定されます。

ラベルを組み合わせるロジック

予約を制限された場所にルーティングする必要がある場合、システムは予約の要件と場所の制限をインテリジェントに組み合わせます。最終的なルールは、2つの条件セットを論理**AND**で結合することによって作成されます。

これは、車両が予約の元のラベル要件場所の許可されたタイプの両方を満たす必要があることを意味します。

詳しく見ていきましょう。

  1. 予約要件:予約には、booking.vehicle_labelsで定義された独自の複雑なラベル要件のセットを含めることができます。

    • :予約には、ラベル'1''2'または'3'の少なくとも1つ、および'5''6'の両方を同時に持たない車両が必要です。ロジックは次のようになります。
      {"and": ["1", {"or": ["2", "3"]}, {"not": {"and": ["5", "6"]}}]}
  2. 場所の制限:場所のallowed_vehicle_typesは、論理OR条件に変換されます。

    • :場所では、タイプ'small_van'または'light_truck'の車両が許可されます。ロジックは次のようになります。
      {"or": ["small_van", "light_truck"]}
  3. 最終的な組み合わせロジック:システムは、ANDを使用してこれら2つのルールを組み合わせます。結果として得られるnode.vehicle_labelsでは、車両がすべての条件を満たす必要があります。

    • 最終例
      {
      "and": [
      {"and": ["1", {"or": ["2", "3"]}, {"not": {"and": ["5", "6"]}}]},
      {"or": ["small_van", "light_truck"]}
      ]
      }

これにより、ルーティングが正確になります。割り当てられた車両は、ジョブに必要な特定の機器または属性(ルール1)を持っているだけでなく、物理的にその場所にアクセスすることも許可されています(ルール2)。