配車ルート (VRP) 休憩の追加 (Add Vehicle Routing Problem Breaks) (Network Analyst)

サマリー

配車ルート (VRP) 解析レイヤーに休憩を作成します。

使用法

  • このツールは VRP レイヤーの下の休憩サブレイヤーに行を追加します。ルートに対して 5 つの休憩すべてを同時に追加できます。 すべてのルートで休憩スケジュールが同じである場合は、すべての休憩を一度にすべてのルートに追加できます。

  • [ターゲット ルート名] パラメーターの値が指定されていない場合は、既存の各ルートに対して休憩が作成されます。

  • 既存の休憩をすべて削除して新しい休憩を作成するには、[既存のルートに追加] パラメーターのチェックボックス (Python では append_to_existing_breaks = "CLEAR") をオンにします。

  • VRP には 1 つのタイプの休憩のみを追加できます。他のタイプの休憩の値は、ツール パラメーターで未指定のままにしてください。

パラメーター

ラベル説明データ タイプ
入力配車ルート (VRP) 解析レイヤー

休憩の追加先となる配車ルート解析レイヤー。

Network Analyst Layer
ターゲット ルート名
(オプション)

休憩パラメーター用のルート。 このパラメーターを指定しない場合は、既存の各ルートに休憩が作成されます。

String
休憩タイプ
(オプション)

現在の VRP レイヤーの休憩タイプを指定します。 すべての休憩が同じタイプでなければなりません。

  • タイム ウィンドウ休憩特定のタイム ウィンドウ中に休憩が取られます。 これがデフォルトです。
  • 休憩までの最大移動時間特定の移動時間の後に休憩が取られます。 これらの値は、最初の休憩までまたは休憩間の時間として指定されます。
  • 休憩までの最大作業時間特定の累積時間の後に休憩が取られます。 これらの値は、常に、ルートの開始以降の経過時間です。
String
休憩プロパティ
(オプション)

休憩が開始される時間範囲を指定します。 タイム ウィンドウ休憩を設定するには、2 つの時刻値を使用します。

[休憩タイプ] パラメーターが [タイム ウィンドウ休憩] に設定されている場合は、以下のオプションが有効になります。

  • [賃金の支払い] - 休憩に賃金を支払うかどうかを示すブール値。
  • [休憩期間] - 休憩期間の長さ。 このフィールドは NULL 値を含むことができません。デフォルト値は 60 となります。
  • [タイム ウィンドウ開始] - タイム ウィンドウの開始時間。
  • [タイム ウィンドウ終了] - タイム ウィンドウの終了時間。
  • [最大超過時間] - タイム ウィンドウ休憩についての最大許容超過時間。 到着時刻がこの時間の範囲を超えている場合、タイム ウィンドウが超過されたと見なされます。 値がゼロの場合、タイム ウィンドウのどのような超過も許されません。つまり、タイム ウィンドウは条件が厳しい (ハード) ということです。 ゼロ以外の値は、最大遅延時間を示します。 たとえば、タイム ウィンドウの終了時刻から最大で 30 分遅れて休憩を開始することができますが、この遅延には、[タイム ウィンドウ違反の重要度] の設定に従ってペナルティが適用されます。この設定は、違反を招くことなく、タイム ウィンドウの条件を満たす重要度を評価します。

Value Table
休憩プロパティ
(オプション)

休憩が必要になるまでに、担当者が運転できる時間を指定します。

[休憩タイプ] パラメーターが [休憩までの最大移動時間] に設定されている場合は、以下のプロパティが有効になります。

  • [賃金の支払い] - 休憩に賃金を支払うかどうかを示すブール値。
  • [休憩期間] - 休憩期間の長さ。 このフィールドは NULL 値を含むことができません。デフォルト値は 60 となります。
  • [休憩間の最大移動時間] - 休憩を取る前に累積できる移動時間の最大値。 移動時間は前の休憩の終了時か、休憩がまだ取られていないときはルートの開始時から累積されます。

    これがルートの最後の休憩である場合、MaxTravelTimeBetweenBreaks フィールドは最後の休憩から終了拠点までに累積可能な最大移動時間を示すことにもなります。

    このフィールドは、休憩が必要になるまでに担当者が運転できる時間を制限します。 たとえば、解析レイヤーの [時間フィールドの単位] パラメーター (Python では time_units) が [分] に設定され、MaxTravelTimeBetweenBreaks フィールドの値が 120 の場合、運転手は 2 時間運転した後に休憩を取ります。 さらに 2 時間運転した後に 2 回目の休憩を割り当てるには、2 回目の休憩の MaxTravelTimeBetweenBreaks フィールド値を 120 にします。

    このフィールドの値の単位は、[Time Field Units] パラメーター (Python では time_units) で指定します。

Value Table
休憩プロパティ
(オプション)

休憩が必要になるまでに、担当者が作業できる時間を指定します。

[休憩タイプ] パラメーターが [休憩までの最大作業時間] に設定されている場合は、以下のプロパティが有効になります。

  • [賃金の支払い] - 休憩に賃金を支払うかどうかを示すブール値。
  • [休憩期間] - 休憩期間の長さ。 このフィールドは NULL 値を含むことができません。デフォルト値は 60 となります。
  • [最大累積作業時間] - 休憩を取る前に累積できる作業時間の最大値。 作業時間は常にルートの開始時から累積されます。 作業時間は、移動時間と、訪問先、拠点、休憩でのサービス時間の合計です。 ただし、これには待ち時間は含まれません。待ち時間とは、ルート (または運転手) が訪問先または拠点でタイム ウィンドウの開始まで待機した時間のことです。

    MaxCumulWorkTime フィールドも、休憩を取る前に累積できる作業時間の最大値を示します。

    このフィールドは、休憩が必要になるまでに作業できる時間を制限します。 たとえば、[時間フィールドの単位] パラメーター (Python では time_units) が [分] に設定され、MaxCumulWorkTime フィールドの値が 120、ServiceTime フィールドの値が 15 になっている場合、運転手は 2 時間作業した後に 15 分間の休憩を取ります。

    引き続きこの例で、さらに 3 時間作業した後に 2 回目の休憩が必要とします。 この休憩を指定するには、2 回目の休憩の MaxCumulWorkTime フィールドの値に 315 (5 時間と 15 分) を入力します。 この数には、前の休憩の MaxCumulWorkTimeServiceTime フィールドの値に加えて、2 回目の休憩が許可される前の 3 時間の追加作業時間が含まれます。 最大作業時間の休憩を誤って取ることを避けるために、ルートの開始から作業時間が累積されていること、および作業時間にはそれまでに訪問した拠点、訪問先、休憩でのサービス時間が含まれることを再確認してください。

Value Table
既存の休憩に追加
(オプション)

新しい休憩を既存の休憩属性テーブルに追加するかどうかを指定します。

  • オン - 新しい休憩を休憩属性テーブル内の既存のセットに追加します。 これがデフォルトです。
  • オフ - 既存の休憩が新しい休憩に置き換えられます。

Boolean

派生した出力

ラベル説明データ タイプ
出力配車ルート (VRP) 解析レイヤー

更新された Network Analyst レイヤー。

Network Analyst Layer

arcpy.na.AddVehicleRoutingProblemBreaks(in_vrp_layer, {target_route}, {break_type}, {time_window_properties}, {travel_time_properties}, {work_time_properties}, {append_to_existing_breaks})
名前説明データ タイプ
in_vrp_layer

休憩の追加先となる配車ルート解析レイヤー。

Network Analyst Layer
target_route
(オプション)

休憩パラメーター用のルート。 このパラメーターを指定しない場合は、既存の各ルートに休憩が作成されます。

String
break_type
(オプション)

現在の VRP レイヤーの休憩タイプを指定します。 すべての休憩が同じタイプでなければなりません。

  • TIME_WINDOW_BREAK特定のタイム ウィンドウ中に休憩が取られます。 これがデフォルトです。
  • MAXIMUM_TRAVEL_TIME_BREAK特定の移動時間の後に休憩が取られます。 これらの値は、最初の休憩までまたは休憩間の時間として指定されます。
  • MAXIMUM_WORK_TIME_BREAK特定の累積時間の後に休憩が取られます。 これらの値は、常に、ルートの開始以降の経過時間です。
String
time_window_properties
[time_window_properties,...]
(オプション)

休憩が開始される時間範囲を指定します。 タイム ウィンドウ休憩を設定するには、2 つの時刻値を使用します。

[休憩タイプ] パラメーターが [タイム ウィンドウ休憩] に設定されている場合は、以下のオプションが有効になります。

  • [賃金の支払い] - 休憩に賃金を支払うかどうかを示すブール値。
  • [休憩期間] - 休憩期間の長さ。 このフィールドは NULL 値を含むことができません。デフォルト値は 60 となります。
  • [タイム ウィンドウ開始] - タイム ウィンドウの開始時間。
  • [タイム ウィンドウ終了] - タイム ウィンドウの終了時間。
  • [最大超過時間] - タイム ウィンドウ休憩についての最大許容超過時間。 到着時刻がこの時間の範囲を超えている場合、タイム ウィンドウが超過されたと見なされます。 値がゼロの場合、タイム ウィンドウのどのような超過も許されません。つまり、タイム ウィンドウは条件が厳しい (ハード) ということです。 ゼロ以外の値は、最大遅延時間を示します。 たとえば、タイム ウィンドウの終了時刻から最大で 30 分遅れて休憩を開始することができますが、この遅延には、[タイム ウィンドウ違反の重要度] の設定に従ってペナルティが適用されます。この設定は、違反を招くことなく、タイム ウィンドウの条件を満たす重要度を評価します。

Value Table
travel_time_properties
[travel_time_properties,...]
(オプション)

休憩が必要になるまでに、担当者が運転できる時間を指定します。

[休憩タイプ] パラメーターが [休憩までの最大移動時間] に設定されている場合は、以下のプロパティが有効になります。

  • [賃金の支払い] - 休憩に賃金を支払うかどうかを示すブール値。
  • [休憩期間] - 休憩期間の長さ。 このフィールドは NULL 値を含むことができません。デフォルト値は 60 となります。
  • [休憩間の最大移動時間] - 休憩を取る前に累積できる移動時間の最大値。 移動時間は前の休憩の終了時か、休憩がまだ取られていないときはルートの開始時から累積されます。

    これがルートの最後の休憩である場合、MaxTravelTimeBetweenBreaks フィールドは最後の休憩から終了拠点までに累積可能な最大移動時間を示すことにもなります。

    このフィールドは、休憩が必要になるまでに担当者が運転できる時間を制限します。 たとえば、解析レイヤーの [時間フィールドの単位] パラメーター (Python では time_units) が [分] に設定され、MaxTravelTimeBetweenBreaks フィールドの値が 120 の場合、運転手は 2 時間運転した後に休憩を取ります。 さらに 2 時間運転した後に 2 回目の休憩を割り当てるには、2 回目の休憩の MaxTravelTimeBetweenBreaks フィールド値を 120 にします。

    このフィールドの値の単位は、[Time Field Units] パラメーター (Python では time_units) で指定します。

Value Table
work_time_properties
[work_time_properties,...]
(オプション)

休憩が必要になるまでに、担当者が作業できる時間を指定します。

[休憩タイプ] パラメーターが [休憩までの最大作業時間] に設定されている場合は、以下のプロパティが有効になります。

  • [賃金の支払い] - 休憩に賃金を支払うかどうかを示すブール値。
  • [休憩期間] - 休憩期間の長さ。 このフィールドは NULL 値を含むことができません。デフォルト値は 60 となります。
  • [最大累積作業時間] - 休憩を取る前に累積できる作業時間の最大値。 作業時間は常にルートの開始時から累積されます。 作業時間は、移動時間と、訪問先、拠点、休憩でのサービス時間の合計です。 ただし、これには待ち時間は含まれません。待ち時間とは、ルート (または運転手) が訪問先または拠点でタイム ウィンドウの開始まで待機した時間のことです。

    MaxCumulWorkTime フィールドも、休憩を取る前に累積できる作業時間の最大値を示します。

    このフィールドは、休憩が必要になるまでに作業できる時間を制限します。 たとえば、[時間フィールドの単位] パラメーター (Python では time_units) が [分] に設定され、MaxCumulWorkTime フィールドの値が 120、ServiceTime フィールドの値が 15 になっている場合、運転手は 2 時間作業した後に 15 分間の休憩を取ります。

    引き続きこの例で、さらに 3 時間作業した後に 2 回目の休憩が必要とします。 この休憩を指定するには、2 回目の休憩の MaxCumulWorkTime フィールドの値に 315 (5 時間と 15 分) を入力します。 この数には、前の休憩の MaxCumulWorkTimeServiceTime フィールドの値に加えて、2 回目の休憩が許可される前の 3 時間の追加作業時間が含まれます。 最大作業時間の休憩を誤って取ることを避けるために、ルートの開始から作業時間が累積されていること、および作業時間にはそれまでに訪問した拠点、訪問先、休憩でのサービス時間が含まれることを再確認してください。

Value Table
append_to_existing_breaks
(オプション)

新しい休憩を既存の休憩属性テーブルに追加するかどうかを指定します。

  • APPEND新しい休憩を休憩属性テーブル内の既存のセットに追加します。 これがデフォルトです。
  • CLEAR既存の休憩が新しい休憩に置き換えられます。
Boolean

派生した出力

名前説明データ タイプ
out_vrp_layer

更新された Network Analyst レイヤー。

Network Analyst Layer

環境

このツールは、ジオプロセシング環境を使用しません。

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック