VehicleRoutingProblem input data types for schema version Two

The input data types that can be specified when performing a vehicle routing problem (VRP) analysis when using the VehicleRoutingProblemSchemaVersion.Two schema version are described below.

Orders

VRP 解析のルートで訪問先となる場所を 1 つ以上指定します。 1 つの訪問先は、配達 (家具の配達など)、引き取り (空港のシャトル バスによる乗客の送迎など)、または何らかのサービスや調査など (伐採作業、建物調査など) を表すことができます。

The data type supports the following fields:

FieldDescriptionData type

Name

訪問先の名前。 名前は一意でなければなりません。 名前が NULL の場合は、解析時に名前が自動的に生成されます。

String

Description

訪問先に関する説明的な情報。 訪問先に関するあらゆるテキスト情報を保持することができ、一意でなくてもかまいません。 Name フィールドに顧客 ID 番号を格納し、Description フィールドに顧客の実際の名前または住所を格納すると便利なことがあります。

String

ServiceTime

このプロパティは、ルートがネットワーク ロケーションを訪れたときの滞在時間を指定します。つまり、ネットワーク ロケーションのインピーダンス値を格納します。 0 または NULL 値は、ネットワーク ロケーションでサービス時間が必要ないことを表します。

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

TimeWindowStart

ネットワーク ロケーションの第 1 のタイム ウィンドウの開始時刻。 このフィールドは NULL 値を含むことができます。NULL 値を指定した場合、開始時刻は設定されません。

A time window only states when a vehicle can arrive at an order; it doesn't state when the service time must be completed. To account for service time and departure before the time window ends, subtract ServiceTime from the TimeWindowEnd field.

The time window fields (TimeWindowStart, TimeWindowEnd, TimeWindowStart2, and TimeWindowEnd2) can contain a time-only value or a date and time value. If a time field such as TimeWindowStart has a time-only value (for example, 8:00 AM), the date is assumed to be the default date set for the analysis. Using date and time values (for example, 7/11/2010 8:00 AM) allows you to set time windows that span multiple days.

The value for this attribute can be specified using a datetime Python object, such as datetime.datetime(2019, 5, 11, 8, 30, 0), which represents Saturday May 11 2019 8:30:00 AM. To specify a time-only value, datetime.time(8, 30, 0) represents 8:30 AM on the default date that is set using the defaultDate property.

The time zone for the value is specified by the timeZoneForTimeFields property of the analysis object.

Date

TimeWindowEnd

ネットワーク ロケーションの第 1 のタイム ウィンドウの終了時刻。 このフィールドは NULL 値を含むことができます。NULL 値を指定した場合、終了時刻は設定されません。

Date

TimeWindowStart2

ネットワーク ロケーションの第 2 のタイム ウィンドウの開始時刻。 このフィールドは NULL 値を含むことができます。NULL 値を指定した場合、第 2 のタイム ウィンドウは設定されません。

If the first time window is null, as specified by the TimeWindowStart and TimeWindowEnd fields, the second time window must also be null.

両方のタイム ウィンドウに NULL 以外の値を指定する場合、これらのタイム ウィンドウを重なるように指定することはできません。 また、第 2 のタイム ウィンドウは第 1 のタイム ウィンドウよりも後になるように設定する必要があります。

Date

TimeWindowEnd2

ネットワーク ロケーションの第 2 のタイム ウィンドウの終了時刻。 このフィールドは、NULL 値を含むことができます。

TimeWindowStart2TimeWindowEnd2 がいずれも NULL の場合、第 2 のタイム ウィンドウは設定されません。

TimeWindowStart2 が NULL 以外で TimeWindowEnd2 が NULL の場合、第 2 のタイム ウィンドウの開始時間は設定されますが、終了時間は設定されません。 これは有効な設定です。

Date

MaxViolationTime

到着時刻がタイム ウィンドウの終了よりも後になった場合は、タイム ウィンドウが超過されたと見なされます。 このフィールドでは、訪問先の第 1 のタイム ウィンドウについて最大許容超過時間を指定します。 このフィールドは値としてゼロを含むことはできますが、負の値を含むことはできません。 値がゼロの場合、訪問先の第 1 のタイム ウィンドウにおいてタイム ウィンドウ違反は許されません。つまり、第 1 のタイム ウィンドウは条件が厳しいということです。 一方、NULL 値の場合、許容超過時間は無制限です。 ゼロ以外の値は、最大遅延時間を指定します。たとえば、第 1 のタイム ウィンドウの終了時刻から最大で 30 分遅れて到着することが許されます。

The unit for this field value is specified by the timeUnits property of the analysis object.

解析によってタイム ウィンドウ違反を追跡し、重み付けすることが可能です。 したがって、次のいずれかを行うように VRP 解析機能に指示することができます。

  • 保有車両の移動コストの増大を無視して、全体の超過時間を最小にする。
  • 全体の超過時間と移動コストのバランスをとるソリューションを検索する。
  • 全体の超過時間を無視して、保有車両の移動コストを最小にする。

By assigning an importance level for the timeWindowFactor property of the analysis object, you are essentially choosing one of these options. In any case, however, the solver will return an error if the value set for MaxViolationTime is surpassed.

Double

MaxViolationTime2

The maximum allowable violation time for the second time window of the order. This field is analogous to the MaxViolationTime field.

Double

InboundArriveTime

訪問先に配達されるアイテムが開始拠点で準備される時間を定義します。

このインバウンド到着時間がルートの最新の開始時間値より前の場合のみ、訪問先をルートに割り当てることができます。このため、アイテムを積み込む準備ができるまで、拠点を出発することはできません。

このフィールドは、インバウンド到着後の積み替えに関わるシナリオのモデリングに役立ちます。たとえば、訪問先のジョブで、現在拠点にない特別なマテリアルが必要であるとします。このマテリアルは、別のロケーションから発送され、午前 11 時に拠点に到着する予定です。マテリアルの到着前に出発するルートが訪問先に割り当てられないようにするために、訪問先のインバウンド到着時間を午前 11 時に設定します。特別なマテリアルが午前 11 時に到着し、車両に積み込まれ、車両が拠点から出発して割り当てられた訪問先に移動します。

Notes:

  • サービス時間を含むルートの開始時間は、インバウンド到着時間の後に設定する必要があります。訪問先のインバウンド到着時間の前にルートが開始する場合、訪問先をそのルートに割り当てることはできません。ルートの開始拠点のサービス時間がインバウンド到着時間の後まで続く場合でも、その割り当ては無効になります。

  • この時間フィールドは、時刻のみを示す値を含むことも、日時を示す値を含むこともできます。 時刻のみを示す値 (たとえば、11:00 AM) が設定されている場合、日付は解析に対して設定されたデフォルトの日付と見なされます。 ただし、拠点、ルート、訪問先、または休憩の時間フィールドに時刻を含む日付が指定されている場合、デフォルトの日付は無視されます。 その場合、それらすべてのフィールドを日時 (たとえば、7/11/2015 11:00 AM) で指定します。

  • The VRP solver honors InboundArriveTime regardless of the DeliveryQuantity_* field values.

  • アウトバウンド出発時間も指定されている場合、その時間値はインバウンド到着時間より後である必要があります。

Date

OutboundDepartTime

訪問先で積み込むアイテムが終了拠点に到着しなくてはならない時間を定義します。

指定したアウトバウンド出発時間より前にルートが訪問先に移動でき、終了拠点に到着できる場合のみ、訪問先をルートに割り当てることができます。

このフィールドは、アウトバウンド出発時刻の積み替えに関わるシナリオのモデリングに役立ちます。たとえば、発送会社が配達トラックを使って訪問先からパッケージを積み込み、拠点に運び、それを最終目的地へのルートの途中で、別の施設に送るとします。毎日、午後 3 時に、セミトレーラーが拠点に立ち寄り、優先度の高いパッケージを積み込み、それを中央処理ステーションに直接輸送します。発送会社は、優先度の高いパッケージの輸送が次の日の午後 3 時まで遅れないように、配達トラックで訪問先から優先度の高いパッケージを積み込み、それを締め切りの午後 3 時より前に拠点に輸送しようと努めます。このために、アウトバウンド出発時間を午後 3 時に設定します。

Notes:

  • サービス時間を含むルートの終了時間は、アウトバウンド出発時間より前である必要があります。ルートが拠点に到着しても、訪問先のアウトバウンド出発時間の前に、終了拠点のサービス時間が完了していない場合、訪問先をそのルートに割り当てることはできません。

  • この時間フィールドは、時刻のみを示す値を含むことも、日時を示す値を含むこともできます。 時刻のみを示す値 (たとえば、11:00 AM) が設定されている場合、日付は解析に対して設定されたデフォルトの日付と見なされます。 ただし、拠点、ルート、訪問先、または休憩の時間フィールドに日時が含まれている場合、デフォルトの日付は無視されます。 その場合、それらすべてのフィールドを日時 (たとえば、7/11/2015 11:00 AM) で指定します。

  • The VRP solver honors OutboundDepartTime regardless of the PickupQuantity_* field values.

  • インバウンド到着時間も指定されている場合、その時間値はアウトバウンド出発時間より前である必要があります。

Date

  • DeliveryQuantity_1
  • DeliveryQuantity_2
  • DeliveryQuantity_3
  • DeliveryQuantity_4
  • DeliveryQuantity_5
  • DeliveryQuantity_6
  • DeliveryQuantity_7
  • DeliveryQuantity_8
  • DeliveryQuantity_9

The size of the delivery. You can specify size in any dimension, such as weight, volume, or quantity. If there are multiple delivery quantities, specify them using the DeliveryQuantity_1 through DeliveryQuantity_9 fields as needed.

単位を指定しないで配達数量を入力します。 たとえば、ある訪問先に 300 ポンドの物品を配達する必要がある場合は、「300」と入力します。 値がポンド単位であることを認識しておく必要があります。

Make sure that Capacity_* fields for Routes and DeliveryQuantity_* fields and PickupQuantity_* fields for Orders are specified in the same manner. The values must be in the same units, and the fields ending in the same number must correspond to one another. For example, Capacity_4, DeliveryQuantity_4, and PickupQuantity_4 are assumed to describe the same measured quantity with the same units.

The default is 0. Delivery quantities can't be negative.

Double

  • PickupQuantity_1
  • PickupQuantity_2
  • PickupQuantity_3
  • PickupQuantity_4
  • PickupQuantity_5
  • PickupQuantity_6
  • PickupQuantity_7
  • PickupQuantity_8
  • PickupQuantity_9

The size of the pickup. You can specify size in any dimension, such as weight, volume, or quantity. If there are multiple pickup quantities, specify them using the PickupQuantity_1 through PickupQuantity_9 fields as needed.

These fields are analogous to the DeliveryQuantity_* fields.

交換訪問の場合、訪問先は配送数量と引き取り数量の両方を持つことができます。

The default is 0. Pickup quantities can't be negative.

Double

Revenue

訪問先が解析に含まれる場合に生成される収入。 このフィールドは NULL 値 (収入がゼロであることを示す) を含むことができますが、負の値を含むことはできません。

収入は、目的関数の値を最適化する際に算入されますが、ソリューションの運用コストには組み込まれません。つまり、ルートの TotalCost フィールドの出力に収入が取り込まれることはありません。 ただし、収入によって、訪問先へのサービス提供の重要度が相対的に重み付けされます。

Double

AssignmentRule

訪問先をルートに割り当てるためのルールを指定します。 このフィールド値は、次のいずれかの整数として指定されます (括弧で囲まれた名前ではなく、数値コードを使用します)。

  • 0 (含まない) - 後続の解析から訪問先を除外します。
  • 1 (ルートと関連する順序を保持) - 解析処理において、解析機能は訪問先を、あらかじめ割り当てられたルートにあらかじめ割り当てられた相対的な順序で常に割り当てる必要があります。 この割り当てルールが守られなかった場合は、訪問先違反が発生します。 この設定では、相対的な順序は保持されますが、絶対的な順序は保持されません。 例として、A と B の 2 つの訪問先を考えます。 これらの訪問先の順序の値は、それぞれ 2 と 3 です。 各訪問先の AssignmentRule フィールドの値を「ルートと関連する順序を保持」に設定した場合、他の訪問先、休憩地点、および拠点立ち寄りを A と B の前、間、または後に配置できるため、解析後に A と B の実際の順序の値が変化することがあります。 ただし、B を A の前にすることはできません。
  • 2 (ルートを保持) - 解析処理において、解析機能はあらかじめ割り当てられたルートに訪問先を常に割り当てる必要があります。 順序を保持できてもできなくても、有効な順序を設定する必要があります。 訪問先を指定のルートに割り当てできない場合は、訪問先違反が発生します。
  • 3 (オーバーライド) - 解析処理において、解析機能は、訪問先に対するルートおよび順序の事前割り当てを保持しようとします。 ただし、目的関数の全体の値を最小化するのに役立つ場合は、新規のルートまたは順序を訪問先に対して割り当てることができます。 これがデフォルト値です。
  • 4 (最初にアンカー) - 解析の動作において、解析機能は、訪問先に対するルートおよび順序の事前割り当て (存在する場合) を無視します。 これは、目的関数の全体の値を最小化するために、ルートを訪問先に割り当て、ルートの最初の訪問先にします。
  • 5 (最後にアンカー) - 解析の動作において、解析機能は、訪問先に対するルートおよび順序の事前割り当て (存在する場合) を無視します。 これは、目的関数の全体の値を最小化するために、ルートを訪問先に割り当て、ルートの最後の訪問先にします。

このフィールドは、NULL 値を含むことができません。

Integer

RouteName

訪問先が割り当てられるルートの名前。

このフィールドを使用し、訪問先を特定のルートにあらかじめ割り当てておきます。 このフィールドは NULL 値を含むことができます。NULL 値の場合、訪問先はどのルートにもあらかじめ割り当てられず、解析機能が訪問先にとって最良のルート割り当てを決定します。 このフィールドを NULL に設定した場合は、Sequence フィールドも NULL に設定する必要があります。

解析の後、訪問先のルートが解析されると、RouteName フィールドには訪問先が割り当てられるルートの名前が入ります。

String

Sequence

このフィールドは、訪問先に割り当てられたルートでの訪問先の順序を示します。

このフィールドを使用して、ルート上での訪問先の相対的な順序を指定します。 このフィールドは NULL 値を含むことができます。NULL 値は、訪問先をルート上のどこにでも配置できることを示します。 NULL 値にする場合は、RouteName の値も NULL 値でなければなりません。

順序を示す入力値は、正の値であり、各ルートに対して一意です (リニューアル拠点立ち寄り状況、訪問先、および休憩の間で共有される)。ただし、1 から開始する必要も連続している必要もありません。

Integer

CurbApproach

車両が訪問先に到着する方向および訪問先から出発する方向を指定します。 このフィールド値は、次のいずれかの整数として指定されます (括弧で囲まれた名前ではなく、数値コードを使用します)。

  • 0 (車両の両側) - 車両は訪問先に対してどちらの方向でも到着および出発できます。したがって、インシデントでの U ターンは許可されます。 この設定は、車両が訪問先で方向転換することが可能かつ現実的である場合に選択できます。 これは、道路の幅と交通量に基づいて決定されたり、訪問先に車両が進入して方向転換できる駐車場があるかどうかに応じて決定されたりします。
  • 1 (車両の右側) - 車両が訪問先に到着するとき、および訪問先から出発するときに、アプローチを車両の右側に制限します。 U ターンは許可されません。 これは、通常、バス停が右側にある状態で到着する必要があるバスなどの車両に使用されます。
  • 2 (車両の左側) - 車両が訪問先に到着するとき、および訪問先から出発するときに、アプローチを車両の左側に制限します。 U ターンは許可されません。 これは、通常、バス停が左側にある状態で到着する必要があるバスなどの車両に使用されます。
  • 3 (U ターンなし) - 車両が訪問先に到着するときはどちらの側でも到着できますが、方向転換せずに出発する必要があります。

CurbApproach 属性は、米国の右側通行の標準と英国の左側通行の標準の両方に対応するように設計されています。 はじめに、訪問先が車両の左側にあるとします。 これは、車両が移動するのが道路の左側であるか右側であるかに関係なく、常に左側にあります。 右側通行か左側通行かに応じて異なるのは、訪問先に 2 つの方向のどちらから到着するか、つまり、車両の右側と左側のどちらで到着するかということです。 たとえば、訪問先に到着するときに、車両と訪問先の間に交通レーンがない方がいい場合は、米国では 1 (車両の右側) を選択し、英国では 2 (車両の左側) を選択します。

Short Integer

Bearing

ポイントが移動している方向。 単位は度で、北を基準に時計回りに測定されます。 このフィールドは BearingTol フィールドと組み合わせて使用されます。

通常、方位データは、GPS 受信機を備えたモバイル デバイスから自動的に送信されます。 歩行者や車両などの移動している入力場所を読み込んでいる場合は、方位データを含めてみてください。

このフィールドを使用すると、たとえば、車両が交差点や高架の近くにいる場合に、ロケーションが間違ったエッジに追加されるのを避けることができます。 方位は、ツールがポイントを道路のどちら側に配置するかを決定する際にも役立ちます。

方位と方位許容値の詳細

Double

BearingTol

方位許容値は、Bearing フィールドを使用して移動ポイントをエッジに配置するときに、許容される方位の範囲を作成します。 Bearing フィールドの値が、エッジの方位許容値から生成される許容範囲内にある場合は、ポイントをその場所にネットワーク ロケーションとして配置できます。許容範囲から外れている場合は、次に近いエッジの最も近いポイントが評価されます。

単位は度で、デフォルト値は 30 です。 値は 0 より大きく 180 未満でなければなりません。 値が 30 の場合、Network Analyst がネットワーク ロケーションをエッジに追加しようとすると、方位値の許容範囲がエッジの両側 (左と右) に 15 度ずつ、どちらもエッジのデジタイズされた方向に生成されます。

方位と方位許容値の詳細

Double

NavLatency

このフィールドは、Bearing フィールドと BearingTol フィールドの値が存在する場合にのみ、解析処理で使用されます。ただし、BearingBearingTol の値が存在する場合でも、NavLatency フィールド値の入力は任意です。NavLatency は、移動中の車両からサーバーに GPS 情報が送信されてから、車両のナビゲーション デバイスが処理されたルートを受信するまでの予想コストを示します。

The time units of NavLatency are the same as the units specified by the timeUnits property of the analysis object.

Double

Network location fields

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

これらのプロパティを組み合わせて、オブジェクトが配置されているネットワーク上のポイントを表します。

ネットワーク上での入力の特定の詳細

Depots

配車ルートの拠点を 1 つ以上指定します。 拠点とは、車両が就業日の初めに出発し、就業日の終わりに戻ってくる場所です。 拠点では、車両への荷積みが行われるか (配達の場合)、車両からの荷降ろしが行われます (引き取りの場合)。 拠点は、場合によっては、リニューアル ロケーションとしての役割を果たすこともできます。これにより、車両は荷を降ろしたり再度積み込んだりして、配達と引き取りを引き続き行うことができます。 拠点には、絶対的なタイム ウィンドウで指定される開始時刻と終了時刻があります。 車両はこのタイム ウィンドウ外の時間に拠点に到着することは許されません。

The data type supports the following fields:

FieldDescriptionData type

Name

拠点の名前。 ルートの StartDepotName フィールドと EndDepotName フィールドは、ここで指定した名前を参照します。 ルート リニューアルを使用する場合は、このレコード セットもこれを参照します。

拠点の名前は大文字と小文字を区別しませんが、空白以外の一意の値にする必要があります。

String

Description

拠点の場所に関する説明的な情報。 あらゆるテキスト情報を保持することができ、一意でなくてもかまいません。

たとえば、拠点が存在する領域や、拠点の住所および電話番号をメモしておきたい場合、このような情報は Name フィールドではなく、このフィールドに入力できます。

String

TimeWindowStart

ネットワーク ロケーションの第 1 のタイム ウィンドウの開始時刻。 このフィールドは NULL 値を含むことができます。NULL 値を指定した場合、開始時刻は設定されません。

The time window fields (TimeWindowStart, TimeWindowEnd, TimeWindowStart2, and TimeWindowEnd2) can contain a time-only value or a date and time value. If a time field such as TimeWindowStart has a time-only value (for example, 8:00 AM), the date is assumed to be the default date set for the analysis. Using date and time values (for example, 7/11/2010 8:00 AM) allows you to set time windows that span multiple days.

The value for this attribute can be specified using a datetime Python object, such as datetime.datetime(2019, 5, 11, 8, 30, 0), which represents Saturday May 11 2019 8:30:00 AM. To specify a time-only value, datetime.time(8, 30, 0) represents 8:30 AM on the default date that is set using the defaultDate property.

The time zone for the value is specified by the timeZoneForTimeFields property of the analysis object.

Date

TimeWindowEnd

ネットワーク ロケーションの第 1 のタイム ウィンドウの終了時刻。 このフィールドは NULL 値を含むことができます。NULL 値を指定した場合、終了時刻は設定されません。

Date

TimeWindowStart2

ネットワーク ロケーションの第 2 のタイム ウィンドウの開始時刻。 このフィールドは NULL 値を含むことができます。NULL 値を指定した場合、第 2 のタイム ウィンドウは設定されません。

If the first time window is null, as specified by the TimeWindowStart and TimeWindowEnd fields, the second time window must also be null.

両方のタイム ウィンドウに NULL 以外の値を指定する場合、これらのタイム ウィンドウを重なるように指定することはできません。 また、第 2 のタイム ウィンドウは第 1 のタイム ウィンドウよりも後になるように設定する必要があります。

Date

TimeWindowEnd2

ネットワーク ロケーションの第 2 のタイム ウィンドウの終了時刻。 このフィールドは、NULL 値を含むことができます。

TimeWindowStart2TimeWindowEnd2 がいずれも NULL の場合、第 2 のタイム ウィンドウは設定されません。

TimeWindowStart2 が NULL 以外で TimeWindowEnd2 が NULL の場合、第 2 のタイム ウィンドウの開始時間は設定されますが、終了時間は設定されません。 これは有効な設定です。

Date

CurbApproach

車両が拠点に到着する方向および拠点から出発する方向を指定します。 フィールドには、次に示すいずれかの整数値を指定します (括弧内の名前ではなく、数値コードを使用してください)。

  • 0 (車両の両側) - 車両は拠点に対してどちらの方向でも到着および出発できます。したがって、インシデントでの U ターンは許可されます。 この設定は、車両が拠点で方向転換することが可能かつ現実的である場合に選択できます。 これは、道路の幅と交通量に基づいて決定されたり、拠点に車両が進入して方向転換できる駐車場があるかどうかに応じて決定されたりします。
  • 1 (車両の右側) - 車両が拠点に到着するとき、および拠点から出発するときに、アプローチを車両の右側に制限します。 U ターンは許可されません。 これは、通常、バス停が右側にある状態で到着する必要があるバスなどの車両に使用されます。
  • 2 (車両の左側) - 車両が拠点に到着するとき、および拠点から出発するときに、アプローチを車両の左側に制限します。 U ターンは許可されません。 これは、通常、バス停が左側にある状態で到着する必要があるバスなどの車両に使用されます。
  • 3 (U ターンなし) - 車両が拠点に到着するときはどちらの側でも到着できますが、方向転換せずに出発する必要があります。

CurbApproach 属性は、米国の右側通行の標準と英国の左側通行の標準の両方に対応するように設計されています。 はじめに、拠点が車両の左側にあるとします。 これは、車両が移動するのが道路の左側であるか右側であるかに関係なく、常に左側にあります。 右側通行か左側通行かに応じて異なるのは、2 つの方向のうちどちらから拠点に到着するかです。つまり、結局のところ車両の右側または左側になります。 たとえば、拠点に到着するときに、車両と拠点の間に交通レーンがない方がいい場合は、米国では 1 (車両の右側) を選択し、英国では 2 (車両の左側) を選択します。

Integer

Bearing

ポイントが移動している方向。 単位は度で、北を基準に時計回りに測定されます。 このフィールドは BearingTol フィールドと組み合わせて使用されます。

通常、方位データは、GPS 受信機を備えたモバイル デバイスから自動的に送信されます。 歩行者や車両などの移動している入力場所を読み込んでいる場合は、方位データを含めてみてください。

このフィールドを使用すると、たとえば、車両が交差点や高架の近くにいる場合に、ロケーションが間違ったエッジに追加されるのを避けることができます。 方位は、ツールがポイントを道路のどちら側に配置するかを決定する際にも役立ちます。

方位と方位許容値の詳細

Double

BearingTol

方位許容値は、Bearing フィールドを使用して移動ポイントをエッジに配置するときに、許容される方位の範囲を作成します。 Bearing フィールドの値が、エッジの方位許容値から生成される許容範囲内にある場合は、ポイントをその場所にネットワーク ロケーションとして配置できます。許容範囲から外れている場合は、次に近いエッジの最も近いポイントが評価されます。

単位は度で、デフォルト値は 30 です。 値は 0 より大きく 180 未満でなければなりません。 値が 30 の場合、Network Analyst がネットワーク ロケーションをエッジに追加しようとすると、方位値の許容範囲がエッジの両側 (左と右) に 15 度ずつ、どちらもエッジのデジタイズされた方向に生成されます。

方位と方位許容値の詳細

Double

NavLatency

このフィールドは、Bearing フィールドと BearingTol フィールドの値が存在する場合にのみ、解析処理で使用されます。ただし、BearingBearingTol の値が存在する場合でも、NavLatency フィールド値の入力は任意です。NavLatency は、移動中の車両からサーバーに GPS 情報が送信されてから、車両のナビゲーション デバイスが処理されたルートを受信するまでの予想コストを示します。

The time units of NavLatency are the same as the units specified by the timeUnits property of the analysis object.

Double

Network location fields

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

これらのプロパティを組み合わせて、オブジェクトが配置されているネットワーク上のポイントを表します。

ネットワーク上での入力の特定の詳細

Routes

車両や運転手の特性を示す 1 つ以上のルートを指定します。 ルートには、開始拠点と終了拠点のサービス時間、固定または可変の開始時間、時間ベースの運用コスト、距離ベースの運用コスト、複数の容量、運転手の就業日に関するさまざまな制約などを含めることができます。

注意:

Unlike other data types, such as Orders and Depots, this data type is a table and does not include any location information.

The data type supports the following fields:

FieldDescriptionData type

Name

ルートの名前。 名前は一意でなければなりません。

フィールドが NULL 値の場合は、解析時に一意の名前が生成されます。このため、ほとんどの場合、値の入力は必須ではありません。 ただし、ルートに事前に割り当てられている休憩、ルート リニューアル、ルート ゾーン、または訪問先が解析に含まれる場合、名前の入力は必須です。これは、このような場合にルート名が外部キーとして使用されるためです。 ルート名の大文字と小文字は区別されません。

String

Description

The descriptive information about the route. This can contain any textual information and does not need to be unique.

String

StartDepotName

ルートの開始拠点の名前。 このフィールドは、拠点の Name フィールドに対する外部キーです。

StartDepotName の値が NULL の場合、ルートは指定されている最初の訪問先から始まります。 開始拠点を省略するのは、車両の出発点が不明か、解析に関係ない場合に有効です。 ただし、StartDepotName が NULL の場合に、EndDepotName も NULL にすることはできません。

訪問先/拠点が複数のタイム ゾーンにある場合、仮想の開始拠点は使用できません。

If the route is making deliveries and StartDepotName is null, it is assumed the cargo is loaded on the vehicle at a virtual depot before the route begins. For a route that has no renewal visits, its delivery orders (those with nonzero DeliveryQuantity_* field values in Orders) are loaded at the start depot or virtual depot. For a route that has renewal visits, only the delivery orders before the first renewal visit are loaded at the start depot or virtual depot.

String

EndDepotName

ルートの終了拠点の名前。 このフィールドは、拠点の Name フィールドに対する外部キーです。

String

StartDepotServiceTime

開始拠点でのサービス時間。 このフィールドを使用して、車両に荷物を積み込むのに要する時間をモデリングします。 このフィールドは NULL 値を含むことができます。NULL 値はサービス時間がゼロであることを示します。

The unit for this field value is specified by the timeUnits property of the analysis object.

開始拠点と終了拠点でのサービス時間は固定値であるため (StartDepotServiceTime および EndDepotServiceTime フィールドの値で指定)、ルートの実際の積み込み時間は考慮されません。 たとえば、開始拠点で車両への積み込みにかかる時間は、訪問先のサイズによって異なります。 拠点のサービス時間に満載の積荷または平均的な積荷に応じた値を割り当てるか、独自に見積もりを行います。

Double

EndDepotServiceTime

終了拠点でのサービス時間。 このフィールドを使用して、車両から荷物を降ろすのに要する時間をモデリングします。 このフィールドは NULL 値を含むことができます。NULL 値はサービス時間がゼロであることを示します。

The unit for this field value is specified by the timeUnits property of the analysis object.

開始拠点と終了拠点でのサービス時間は固定値であるため (StartDepotServiceTime フィールドと EndDepotServiceTime フィールドの値で指定)、ルートの実際の積み込み時間は考慮されません。 たとえば、開始拠点で車両への積み込みにかかる時間は、訪問先のサイズによって異なります。 拠点のサービス時間に満載の積荷または平均的な積荷に応じた値を割り当てるか、独自に見積もりを行います。

Double

EarliestStartTime

ルートにおいて許容される最も早い開始時刻。 解析では、このフィールドを開始拠点のタイム ウィンドウと組み合わせて使用し、ルートの実現可能な開始時刻を決定します。

このフィールドは NULL 値を含むことができません。時刻のみを示す値のデフォルト値は午前 8 時となります。 デフォルト値は、解析に対して設定されたデフォルトの日付の午前 8 時と見なされます。

The value for this attribute can be specified using a datetime Python object, such as datetime.datetime(2019, 5, 11, 8, 30, 0), which represents Saturday May 11 2019 8:30:00 AM. To specify a time-only value, datetime.time(8, 30, 0) represents 8:30 AM on the default date that is set using the defaultDate property.

The time zone for the value is specified by the timeZoneForTimeFields property of the analysis object.

Date

LatestStartTime

ルートにおいて許容される最も遅い開始時刻。

このフィールドは NULL 値を含むことができません。時刻のみを示す値のデフォルト値は午前 10 時となります。 デフォルト値は、解析に対して設定されたデフォルトの日付の午前 10 時と見なされます。

The value for this attribute can be specified using a datetime Python object, such as datetime.datetime(2019, 5, 11, 8, 30, 0), which represents Saturday May 11 2019 8:30:00 AM. To specify a time-only value, datetime.time(8, 30, 0) represents 8:30 AM on the default date that is set using the defaultDate property.

The time zone for the value is specified by the timeZoneForTimeFields property of the analysis object.

Date

ArriveDepartDelay

このフィールドには、車両を通常の移動速度まで加速し、停止するまで減速し、ネットワークに出入りする (たとえば、駐車場に出入りする) のに必要な移動時間が格納されます。 ArriveDepartDelay 値を含めることにより、VRP 解析で、物理的に一致する訪問先にサービスを提供するために多くのルートを送り出すことがなくなります。

このプロパティのコストは、一致しない訪問先、拠点、およびルート リニューアルへの訪問の間に発生します。 たとえば、ルートが拠点から出発し、最初の訪問先を訪問したときに、到着と出発の遅延の合計が移動時間に追加されます。 最初の訪問先から 2 番目の訪問先まで移動するときにも同じことが起こります。 2 番目と 3 番目の訪問先が一致している場合、車両は移動する必要がないため、これらの間に ArriveDepartDelay 値は追加されません。 ルートがルート リニューアルに移動する場合、この値が再び移動時間に追加されます。

休憩の場合、車両は減速して停止し、後で加速する必要がありますが、VRP 解析では ArriveDepartDelay 値を加算できません。 これは、ルートが訪問先を離れ、休憩のために停止し、さらに次の訪問先に向かった場合に、到着と出発の遅延は 2 度ではなく、1 度しか追加されないことを意味します。

たとえば、1 つの高層ビル内に 5 つの一致する訪問先があり、それらが 3 つの異なるルートでサービスを提供されているとします。 この場合は、到着と出発の遅延が 3 回発生します。つまり、3 人の運転手がそれぞれ駐車場所を見つけ、同じ建物に入ることが必要になります。 しかし、これらの訪問先に 1 つのルートでサービスを提供できれば、駐車して建物に入る運転手は 1 人だけになり、到着と出発の遅延の発生も 1 回だけになります。 VRP 解析ではコストの最小化が図られるため、到着と出発の遅延を抑えるために、単一ルートのオプションが特定されます (特別指定、タイム ウィンドウ、積載制限などの制約によって、複数のルートが必要になる場合があります)。

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

  • Capacity_1
  • Capacity_2
  • Capacity_3
  • Capacity_4
  • Capacity_5
  • Capacity_6
  • Capacity_7
  • Capacity_8
  • Capacity_9

The maximum amount (for instance, volume, weight, quantity) that can be carried by the vehicle. If there are multiple capacities, specify them using the Capacity_1 through Capacity_9 fields as needed.

単位を指定しないで容量を入力します。 たとえば、車両の最大積載量が 40,000 ポンドである場合は、「40000」と入力します。 値がポンド単位であることを覚えておく必要があります。

Make sure that Capacity_* fields for Routes and DeliveryQuantity_* fields and PickupQuantity_* fields for Orders are specified in the same manner. The values must be in the same units, and the fields ending in the same number must correspond to one another. For example, Capacity_4, DeliveryQuantity_4, and PickupQuantity_4 are assumed to describe the same measured quantity with the same units.

The default is 0. Capacities can't be negative.

VRP 解析では、簡単なブール テストを実行するだけで、積載制限を超過したかを確認できます。 ルートの積載制限値が運送する合計数量以上である場合、車両に積荷が収まると見なされます。 ただし、積荷および車両の実際の形状によっては、この判断は正しくない可能性があります。 たとえば、VRP 解析では、1,000 立方フィートの球体を、幅が 8 フィートで容積が 1,000 立方フィートのトラックに収容することができます。 しかし、実際には、球体の直径は 12.6 フィートであり、8 フィート幅のトラックに球体を収容することはできません。

Double

FixedCost

ルートがソリューションで使用される (つまり、訪問先がソリューションに割り当てられている) 場合に限り適用される金銭上の固定コスト。 このフィールドは NULL 値を含むことができます。NULL 値は固定コストがゼロであることを示します。 このコストは、ルートの合計運用コストの一部です。

Double

CostPerUnitTime

合計ルート所要時間 (移動時間に加えて、訪問先、拠点、休憩でのサービス時間および待機時間も含む) に対して作業の単位時間ごとに適用される金銭上のコスト。 このフィールドは NULL 値を含むことができず、デフォルト値は 1.0 となります。

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

CostPerUnitDistance

ルート長 (合計移動距離) に対して (移動距離の単位ごとに) 適用される金銭上のコスト。 このフィールドは NULL 値を含むことができます。NULL 値はコストがゼロであることを示します。

The unit for this field value is specified by the distanceUnits property of the analysis object.

Double

OvertimeStartTime

規定労働時間の長さで、この時間を超過すると規定外労働時間の計算が開始されます。 このフィールドは NULL 値を含むことができます。NULL 値は規定外労働時間が適用されないことを示します。

The unit for this field value is specified by the timeUnits property of the analysis object.

たとえば、合計ルート所要時間が 8 時間を上回るときに、運転手に規定外労働賃金を支払う必要がある場合は、OvertimeStartTime に「480」(8 時間 × 60 分) と指定し、時間単位を [分] に設定します。

Double

CostPerUnitOvertime

規定外労働時間の単位時間ごとに適用される金銭上のコスト。 このフィールドには NULL 値を入力することができます。NULL 値は、CostPerUnitOvertime の値が CostPerUnitTime の値と同じであることを示します。

Double

MaxOrderCount

ルートに組み込むことができる訪問先の最大数。 このフィールドは NULL 値を含むことができません。デフォルト値は 30 となります。

Integer

MaxTotalTime

ルートの最大許容所要時間。 ルートの所要時間には、移動時間に加えて、訪問先、拠点、休憩でのサービス時間および待ち時間も含まれます。 このフィールドは NULL 値を含むことができます。NULL 値はルートの所要時間に制約がないことを示します。

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

MaxTotalTravelTime

ルートの最大許容移動時間。 移動時間に含まれるのはネットワークの走行に費やされた時間だけで、サービス時間または待ち時間は含まれません。

このフィールドは NULL 値を含むことができます。NULL 値は最大許容移動時間に制約がないことを示します。 このフィールドの値を MaxTotalTime フィールドの値よりも大きくしてはなりません。

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

MaxTotalDistance

ルートへの最大許容移動距離。

The unit for this field value is specified by the distanceUnits property of the analysis object.

このフィールドは NULL 値を含むことができます。NULL 値は最大許容移動距離に制約がないことを示します。

Double

AssignmentRule

問題の解決時にルートを使用できるかどうかを指定します。 このフィールドは、次に示す値のドメインによって制約されます (括弧内の名前ではなく、数値コードを使用してください)。

  • 1 (含む) - ルートは解析処理に含まれます。 これがデフォルト値です。
  • 2 (含まない) - ルートは解析処理に含まれません。

Integer

Breaks

特定の配車ルート解析のルートについての休憩時間や休憩を指定します。 休憩は、厳密に 1 つのルートに関連付けられ、訪問先にサービスを提供した後、訪問先へのルート途中、または訪問先にサービスを提供する前に取ることができます。 休憩には開始時間と継続時間があり、休憩中の賃金が運転手に支払われる場合もあれば、そうでない場合もあります。 休憩の開始の設定には、タイム ウィンドウ、最大移動時間、または最大労働時間という 3 つのオプションがあります。

Unlike other data types, such as Orders or Depots, this data type is a table and does not include any location information.

The data type supports the following fields:

FieldDescriptionData type

RouteName

休憩を追加するルートの名前。 休憩は 1 つのルートだけに割り当てられますが、多くの休憩を同じルートに割り当てることができます。

このフィールドは、ルートの Name フィールドに対する外部キーであるため、NULL 値を指定することができません。

String

Precedence

優先順位値は、特定のルートの休憩を順序付けします。 優先順位値が 1 の休憩は、2 の休憩よりも前に取られ、以降の休憩も優先順位値の順番に取られます。

タイム ウィンドウか、最大移動時間か、最大労働時間かにかかわりなく、すべての休暇が優先順位値を持たなければなりません。

Integer

ServiceTime

休憩期間の長さ。 このフィールドは、NULL 値を含むことができません。 デフォルト値は 60 です。

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

TimeWindowStart

休憩のタイム ウィンドウの開始時間。 開始時間と終了時間の両方を指定する必要があります。

このフィールドが値を持つ場合、MaxTravelTimeBetweenBreaks フィールドと MaxCumulWorkTime フィールドの値は NULL でなければなりません。また、解析対象の他のすべての休憩でも、MaxTravelTimeBetweenBreaksMaxCumulWorkTime の値を NULL にする必要があります。

ルートにタイム ウィンドウが重なった複数の休憩があると、解析時にエラーになります。

The time window fields in breaks can contain a time-only value or a date and time value. If a time field, such as TimeWindowStart, has a time-only value (for example, 12:00 PM), the date is assumed to be the date specified by the defaultDate parameter. Using date and time values (for example, 7/11/2012 12:00 PM) allows you to specify time windows that span two or more days. This is beneficial when a break should be taken sometime before and after midnight.

The value for this attribute can be specified using a datetime Python object, such as datetime.datetime(2019, 5, 11, 8, 30, 0), which represents Saturday May 11 2019 8:30:00 AM. To specify a time-only value, datetime.time(8, 30, 0) represents 8:30 AM on the default date that is set using the defaultDate property.

The time zone for the value is specified by the timeZoneForTimeFields property of the analysis object.

Date

TimeWindowEnd

休憩のタイム ウィンドウの終了時間。 開始時間と終了時間の両方を指定する必要があります。

このフィールドが値を持つ場合、MaxTravelTimeBetweenBreaks フィールドと MaxCumulWorkTime フィールドの値は NULL でなければなりません。また、解析対象の他のすべての休憩でも、MaxTravelTimeBetweenBreaksMaxCumulWorkTime の値を NULL にする必要があります。

The value for this attribute can be specified using a datetime Python object, such as datetime.datetime(2019, 5, 11, 8, 30, 0), which represents Saturday May 11 2019 8:30:00 AM. To specify a time-only value, datetime.time(8, 30, 0) represents 8:30 AM on the default date that is set using the defaultDate property.

The time zone for the value is specified by the timeZoneForTimeFields property of the analysis object.

Date

MaxViolationTime

このフィールドでは、タイム ウィンドウによる休憩について最大許容超過時間を指定します。 到着時刻がこの時間の範囲を超えている場合、タイム ウィンドウが超過されたと見なされます。

値がゼロの場合、タイム ウィンドウのどのような超過も許されません。つまり、タイム ウィンドウは条件が厳しい (ハード) ということです。 ゼロ以外の値は最大遅延時間の指定を意味します。 たとえば、タイム ウィンドウの終了時刻から最大で 30 分遅れて休憩を開始することができますが、この遅延時間には、[タイム ウィンドウ違反の重要度] パラメーターに従ってペナルティが適用されます。

このプロパティには NULL を指定できます。 TimeWindowStartTimeWindowEnd が NULL 値の場合、許容超過時間は無制限になります。 MaxTravelTimeBetweenBreaks または MaxCumulWorkTime に値が設定されている場合、MaxViolationTime は NULL でなければなりません。

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

MaxTravelTimeBetweenBreaks

休憩を取る前に累積できる移動時間の最大値。 移動時間は前の休憩の終了時か、休憩がまだ取られていないときはルートの開始時から累積されます。

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

このフィールドの目的は、休憩が必要になるまでに運転できる時間を制限することです。 たとえば、解析の時間単位が分に設定され、MaxTravelTimeBetweenBreaks の値が 120 の場合、運転手は 2 時間運転した後に休憩を取ります。 さらに 2 時間運転した後に 2 回目の休憩を割り当てるには、2 回目の休憩の MaxTravelTimeBetweenBreaks プロパティを 120 にします。

このフィールドに値を設定した場合、解析を成功させるには、TimeWindowStartTimeWindowEndMaxViolationTime、および MaxCumulWorkTime が NULL でなければなりません。

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

MaxCumulWorkTime

休憩を取る前に累積できる作業時間の最大値。 作業時間は常にルートの開始時から累積されます。

作業時間は、移動時間と、訪問先、拠点、休憩でのサービス時間の合計です。 ただし、これには待ち時間は含まれません。待ち時間とは、ルート (または運転手) が訪問先または拠点でタイム ウィンドウの開始まで待機した時間のことです。

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

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

このフィールドに値を設定した場合、解析を成功させるには、TimeWindowStartTimeWindowEndMaxViolationTime、および MaxTravelTimeBetweenBreaks が NULL でなければなりません。

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

IsPaid

休憩に賃金を支払うかをブール値で指定します。 このフィールド値に 1 を指定すると、休憩で費やされた時間はルートのコスト計算および規定外労働時間の判定で考慮されます。 そうでない場合は、値 0 を指定します。 デフォルト値は 1 です。

Integer

Sequence

ルートでの休憩の順序を示します。 このフィールドは NULL 値を含むことができます。これにより、解析が休憩の順序を割り当てることができるようになります。 順序の値は正の値で、かつ各ルートに対して一意として指定します (リニューアル拠点立ち寄り状況、訪問先、および休憩の間で共有される)。ただし、1 から開始する必要も連続している必要もありません。

Integer

OrderPairs

同じルートで引き取りと配達のサービスを提供できるように、引き取りと配達の訪問先をペアにします。 訪問先のペアを指定すると、解析は訪問先の片方だけをルートに割り当てられなくなります。訪問先の両方を同じルートに割り当てるか、どちらも割り当てないようにします。

訪問先に対する引き取りと配達をペアにすることが必要な場合があります。 たとえば、宅配会社が、ルートで訪問先から優先度の高い荷物を引き取り、拠点や選別ステーションに戻ることなくそれを別の訪問先に配達し、さらに配達時間を最小化する必要がある場合などです。 これらの関連する訪問先を、訪問先のペアを使用して適切に順序付けし、同じルートに割り当てることができます。 荷物を車両に載せておける時間の制限を割り当てることもできます。たとえば荷物が、病院から試験所まで 2 時間以内に輸送する必要のある血液サンプルの場合です。

場合によっては 2 つの訪問先ペアを必要とすることがあります。 たとえば、高齢者を自宅から、かかりつけの病院まで連れて行き、その後、家につれて戻りたい場合があるとします。 自宅から病院までの乗車は、1 つの訪問先ペアであり、病院への到着時刻が要求されます。一方、病院から自宅に帰る乗車はもう 1 つの訪問先ペアであり、病院に迎えに行く時刻が要求されます。

The data type supports the following fields:

FieldDescriptionData type

FirstOrderName

ペアの第 1 の訪問先の名前。 このフィールドは、訪問先の Name フィールドに対する外部キーです。

String

SecondOrderName

ペアの第 2 の訪問先の名前。 このフィールドは、訪問先の Name フィールドに対する外部キーです。

The first order in the pair must be a pickup order; that is, the values for its DeliveryQuantity_* fields is 0. The second order in the pair must be a delivery order; that is, the values for its PickupQuantity_* fields is 0. The quantity picked up at the first order must agree with the quantity delivered at the second order. As a special case, both orders may have zero quantities for scenarios in which capacities are not used.

訪問先の数量は拠点で荷積みまたは荷降ろしされません。

String

MaxTransitTime

ペアの最大移動時間です。 移動時間とは、第 1 の訪問先の出発時刻から第 2 の訪問先の到着時刻までの時間の長さです。 この制約により、2 つの訪問先の間で車両に積まれている時間 (乗車時間) が制限されます。 人または生鮮食料品を車両で輸送する場合、その乗車時間は、荷物または非生鮮食料品を車両で輸送する場合より短くなるのが普通です。 このフィールドは NULL 値を含むことができます。NULL 値は乗車時間に制約がないことを示します。

The unit for this field value is specified by the timeUnits property of the analysis object.

解析では、超過移動時間 (訪問先ペア間の直接移動時間に基づく) をトラッキングし、重み付けすることができます。 このため、次の 3 つの手法のいずれかを使用するように VRP 解析機能に指示することができます。

  • 保有車両の移動コストの増大を無視して、全体の超過移動時間を最小にする。
  • 全体の超過時間と移動コストのバランスをとるソリューションを検索する。
  • 全体の超過移動時間を無視して、保有車両の移動コストを最小にする。

By assigning an importance level using the excessTransitFactor property of the analysis object, you are, in effect, choosing one of these three options. Regardless of the importance level, the solver will always return an error if the MaxTransitTime value is surpassed.

Double

RouteRenewals

配達するか引き取る積荷の、再積み込みまたは荷降ろしを行うためにルートが訪問できる、中間拠点を指定します。 特に、ルート リニューアルは、ルートを拠点にリンクします。 このリレーションシップは、関連付けられた拠点でルートがリニューアル (途上での再積み込みまたは荷降ろし) できることを示します。

ルート リニューアルを使用してモデリング可能なシナリオとして、「開始拠点で配達する荷物を車両に満載し、訪問先に供給し、拠点に戻って配達用の荷物を再び積み込み、訪問先への供給を継続する」というものがあります。 たとえば、プロパンガスの配達の場合は、車両はタンクがほとんどまたは完全に空になるまで複数回配達を行い、燃料補給ポイントに立ち寄り、さらに配達を継続することができます。

考慮するべきルールとオプションをいくつか示します。

  • 再積み込み/荷降ろしのポイントである、リニューアル ロケーションは、開始拠点または終了拠点とは異なる可能性があります。
  • 各ルートは、あらかじめ決定されたリニューアル ロケーションを 1 つまたは複数持つことができます。
  • リニューアル ロケーションは、1 つのルートで複数回使用することができます。
  • 1 つのルートにおいて使用できるリニューアル ロケーションがいくつか存在する場合は、一番近い有効なリニューアル ロケーションが解析によって識別されます。

The data type supports the following fields:

FieldDescriptionData type

RouteName

このリニューアルが適用されるルートの名前。 このフィールドには NULL 値を指定することができません。このフィールドは、ルートの Name フィールドに対する外部キーになります。

String

DepotName

このリニューアルが行われる拠点の名前。 このフィールドには NULL 値を指定することができません。このフィールドは、拠点の Name フィールドに対する外部キーになります。

String

ServiceTime

リニューアルのサービス時間。 このフィールドは NULL 値を含むことができます。NULL 値はサービス時間がゼロであることを示します。

The unit for this field value is specified by the timeUnits property of the analysis object.

リニューアル拠点で車両に荷積みするのにかかる時間は、車両のサイズと、車両にどれくらい荷物が積まれているかに左右される場合があります。 ただし、ルート リニューアルのサービス時間は固定値であり、実際の積荷を考慮に入れません。 したがって、リニューアル サービス時間には、満載の積荷の場合のサービス時間、平均的な積荷の場合の時間、または別の時間評価による値を指定してください。

Double

Sequences

Specifies a space-separated string of sequence values of visits to the renewal depot. This field can contain a null value and is used to preassign visits to the renewal depot.

String

RouteZones

指定されたルートの担当区域を描画します。 ルート ゾーンはポリゴン フィーチャです。ルート ゾーンを使用して、特定の領域内にある訪問先または領域の近くにある訪問先にのみサービスを提供するようにルートを制限します。 どのようなときにルート ゾーンが役に立つかを以下の例で示します。

  • 従業員または車両の一部が特定の地域で作業を行うために必要な許可証を持っていません。 この場合は、要件を満たす地域の訪問先のみを訪れるようにハード ルート ゾーンを作成することができます。
  • ある車両が頻繁に故障するので、対応時間を可能な限り短くするために、その車両の担当訪問先を修理工場の近くにのみ限定したいと考えます。 車両を近隣での運用にとどめるために、ソフト ルート ゾーンまたはハード ルート ゾーンを作成できます。

The data type supports the following fields:

FieldDescriptionData type

RouteName

このゾーンが適用されるルートの名前。 ルート ゾーンは、関連付けられたルートを最大で 1 つ持っています。 このフィールドには NULL 値を指定することができません。このフィールドは、ルートの Name フィールドに対する外部キーになります。

String

IsHardZone

A Boolean value indicating a hard or soft route zone. A field value of 1 indicates that the route zone is hard; that is, an order that falls outside the route zone polygon can't be assigned to the route. The default value is 1. A field value of 0 indicates that such orders can still be assigned, but the cost of servicing the order is weighted by a function that is based on the Euclidean distance from the route zone. Basically, this means that as the straight-line distance from the soft zone to the order increases, the likelihood of the order being assigned to the route decreases.

Short Integer

OrderSpecialties

OrderSpecialties and RouteSpecialties list the specialties that can be required by orders and supported by routes. A route can service an order only if it supports all the specialties required for that order.

An order may require a technician with a certain skill set or a vehicle with certain capabilities. You model these skills, capabilities, and so on, by adding them in the OrderSpecialties table. Next, you add the specialties that are supported by a route to RouteSpecialties. When the analysis is solved, orders that require certain specialties are matched with routes that can provide them.

The OrderSpecialties data type supports the following fields:

FieldDescriptionData type

OrderName

The name of the order.

The value of this field corresponds to a value in the Name field of an order in the Orders input class.

String

SpecialtyName

The name of the specialty.

Indicates the required specialty for the order. Only a single specialty is listed per line. If an order requires more than one specialty, create a new row.

Specialty names can't contain spaces. For example, a senior technician specialty should be entered as SeniorTechnician.

String

RouteSpecialties

OrderSpecialties and RouteSpecialties list the specialties that can be required by orders and supported by routes. A route can service an order only if it supports all the specialties required for that order.

An order may require a technician with a certain skill set or a vehicle with certain capabilities. You model these skills, capabilities, and so on, by adding them in the OrderSpecialties table. Next, you add the specialties that are supported by a route to RouteSpecialties. When the analysis is solved, orders that require certain specialties are matched with routes that can provide them.

The RouteSpecialties data type supports the following fields:

FieldDescriptionData type

RouteName

The name of the route.

The value of this field corresponds to a value in the Name field of a route in the Routes input class.

String

SpecialtyName

The name of the specialty.

Indicates the specialty that the route supports. Only a single specialty is listed per line. If a route supports more than one specialty, create a new row.

Specialty names can't contain spaces. For example, a senior technician specialty should be entered as SeniorTechnician.

String

PointBarriers

一時的な規制として機能する 1 つ以上のポイント、または対象の道路を通行するために必要とされる追加の時間や距離を表す 1 つ以上のポイントを指定する場合に、このパラメーターを使用します。 たとえば、ポイント バリアを使用して、道路沿いの倒木や、踏切で生じる遅延時間を表すことができます。

The data type supports the following fields:

FieldDescriptionData type

Name

バリアの名前。

String

BarrierType

ポイント バリアの通過を完全に禁止するか、通過時に時間または距離を追加するかを指定します。 この属性の値は、次のいずれかの整数として指定されます (括弧で囲まれた名前ではなく、数値コードを使用します)。

  • 0 (通過不可): バリアを通過できません。 バリアは通過不可として機能するので、通過不可ポイント バリアとも呼ばれます。

  • 2 (追加コスト) - バリアを通過するたびに、Additional_TimeAdditional_Distance、または Additional_Cost フィールドで指定した値だけ、移動時間または移動距離が加算されます。 このバリア タイプは、追加コスト ポイント バリアとも呼ばれます。

Short

Additional_Time

バリアを通過するときに追加される移動時間。 このフィールドは、追加コスト バリアにのみ適用され、[計測単位] パラメーター値が時間ベースである場合に限られます。

This field value must be greater than or equal to zero, and the values are interpreted to be in the units specified by the timeUnits property.

Double

Additional_Distance

バリアを通過するときに追加される距離。 このフィールドは、追加コスト バリアにのみ適用され、[計測単位] パラメーター値が距離ベースである場合に限られます。

This field value must be greater than or equal to zero, and the values are interpreted to be in the units specified by the distanceUnits property.

Double

Additional_Cost

バリアを通過するときに追加されるコスト。 このフィールドは、追加コスト バリアにのみ適用され、[計測単位] パラメーター値が時間ベースでも距離ベースでもない場合に限られます。

This field value must be greater than or equal to zero, and the values are interpreted to be in unknown units.

Double

FullEdge

解析時に、通行不可ポイント バリアをエッジ要素に適用する方法を指定します。 このフィールド値は、次のいずれかの整数として指定されます (括弧で囲まれた名前ではなく、数値コードを使用します)。

  • 0 (False) - エッジ上をバリアまでは移動できますが、バリアを通過することはできません。 これがデフォルト値です。
  • 1 (True) - バリアが配置されているエッジ全体が通行不可となります。

Short

CurbApproach

バリアによって影響を受ける移動方向を指定します。 このフィールド値は、次のいずれかの整数として指定されます (括弧で囲まれた名前ではなく、数値コードを使用します)。

  • 0 (車両の両側) - エッジ上での両方向への移動がバリアの対象となります。
  • 1 (車両の右側) - バリアが移動車両の右側にある場合のみ影響を与えます。 同じエッジ上で、バリアが移動車両の左側にある場合は影響を与えません。
  • 2 (車両の左側) - バリアが移動車両の左側にある場合のみ影響を与えます。 同じエッジ上で、バリアが移動車両の右側にある場合は影響を与えません。

ジャンクションは特定のポイントなので、右側/左側がありません。したがって、ジャンクション上にバリアを配置した場合は、アプローチ制限にかかわらずすべての車両に影響を与えます。

CurbApproach 属性は、米国の右側通行の標準と英国の左側通行の標準の両方に対応しています。 はじめに、施設が車両の左側にあるとします。 これは、車両が移動するのが道路の左側であるか右側であるかに関係なく、常に左側にあります。 右側通行か左側通行かに応じて異なるのは、2 つの方向のうちどちらから施設に到着するかです。つまり、結局のところ車両の右側または左側になります。 たとえば、施設に到着するときに、車両と施設の間に交通レーンがない場合は、米国では 1 (車両の右側) を選択し、英国では 2 (車両の左側) を選択します。

Short

Bearing

ポイントが移動している方向。 単位は度で、北を基準に時計回りに測定されます。 このフィールドは BearingTol フィールドと組み合わせて使用されます。

通常、方位データは、GPS 受信機を備えたモバイル デバイスから自動的に送信されます。 歩行者や車両などの移動している入力場所を読み込んでいる場合は、方位データを含めてみてください。

このフィールドを使用すると、たとえば、車両が交差点や高架の近くにいる場合に、ロケーションが間違ったエッジに追加されるのを避けることができます。 方位は、ツールがポイントを道路のどちら側に配置するかを決定する際にも役立ちます。

方位と方位許容値の詳細

Double

BearingTol

方位許容値は、Bearing フィールドを使用して移動ポイントをエッジに配置するときに、許容される方位の範囲を作成します。 Bearing フィールドの値が、エッジの方位許容値から生成される許容範囲内にある場合は、ポイントをその場所にネットワーク ロケーションとして配置できます。許容範囲から外れている場合は、次に近いエッジの最も近いポイントが評価されます。

単位は度で、デフォルト値は 30 です。 値は 0 より大きく 180 未満でなければなりません。 値が 30 の場合、Network Analyst がネットワーク ロケーションをエッジに追加しようとすると、方位値の許容範囲がエッジの両側 (左と右) に 15 度ずつ、どちらもエッジのデジタイズされた方向に生成されます。

方位と方位許容値の詳細

Double

NavLatency

このフィールドは、Bearing フィールドと BearingTol フィールドの値が存在する場合にのみ、解析処理で使用されます。ただし、BearingBearingTol の値が存在する場合でも、NavLatency フィールド値の入力は任意です。NavLatency は、移動中の車両からサーバーに GPS 情報が送信されてから、車両のナビゲーション デバイスが処理されたルートを受信するまでの予想コストを示します。

The time units of NavLatency are the same as the units specified by the timeUnits property of the analysis object.

Double

Network location fields

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

これらのプロパティを組み合わせて、オブジェクトが配置されているネットワーク上のポイントを表します。

ネットワーク上での入力の特定の詳細

LineBarriers

道路と交差しているラインの場所を移動できないようにする 1 つ以上のラインを指定する場合に、このパラメーターを使用します。 たとえば、複数の道路区間にわたって通行禁止となるパレードやデモを表すときに通過不可ライン バリアを使用します。 また、ライン バリアを使用すれば、道路網の特定の区間を迂回して利用できる経路をすばやく見つけることができます。

The data type supports the following fields:

FieldDescriptionData type

Name

バリアの名前。

String

BarrierType

バリアの通過を完全に禁止するか、バリアを通過する際のコスト (時間または距離など) を係数に基づいて計算するかを指定します。 このフィールド値は、次のいずれかの整数として指定されます (括弧で囲まれた名前ではなく、数値コードを使用します)。

  • 0 (通行不可) - バリアが交通ネットワークと交差している場所の通過を禁止します。 このバリアは、ライン バリアと呼ばれます。

  • 1 (コスト係数指定) - 対象の道路の通過にかかるコスト (たとえば、移動時間または移動距離) に、ScaledTimeFactor フィールドまたは ScaledDistanceFactor フィールドで指定した係数が乗算されます。 道路の一部だけがバリアの対象になっている場合は、移動の時間または距離が比率に応じて乗算されます。 たとえば、係数 0.25 を割り当てると、対象の道路での移動速度が通常の 4 倍速くなります。 係数 3.0 を指定すると、対象道路での移動時間が通常の 3 倍長くなります。 このバリア タイプは、コスト係数ライン バリアとも呼ばれます。 このバリア タイプを使用して、建設中の車線の通行止めに起因する減速をモデル化できます。

Short

ScaledTimeFactor

これは、バリアが交差している道路の移動時間に乗算する係数です。 フィールド値は 0 より大きい必要があります。

このフィールドは、コスト係数指定バリアにのみ適用され、[計測単位] パラメーターが時間ベースである場合に限られます。

Double

ScaledDistanceFactor

これは、バリアが交差している道路の距離に乗算する係数です。 フィールド値は 0 より大きい必要があります。

このフィールドは、コスト係数指定バリアにのみ適用され、[計測単位] パラメーターが距離ベースである場合に限られます。

Double

ScaledCostFactor

これは、バリアと交差する道路のコストに乗算する係数です。 フィールド値は 0 より大きい必要があります。

このフィールドは、コスト係数指定バリアにのみ適用され、[計測単位] パラメーターが時間ベースでも距離ベースでもない場合に限られます。

Double

Locations

このフィールドの情報は、ラインまたはポリゴンで覆われるネットワークのエッジ、および覆われる各エッジ エレメントの部分を定義します。このフィールドに含まれる情報を直接読んだり編集したりすることはできませんが、Network Analyst は解析を実行する際にその情報を解釈します。

ネットワーク上での入力の特定の詳細

Blob

PolygonBarriers

通過を完全に禁止するポリゴン、またはそのポリゴンと交差する道路を移動するときに時間または距離が係数に基づいて乗算されるポリゴンを指定する場合に、このパラメーターを使用します。

The data type supports the following fields:

FieldDescriptionData type

Name

バリアの名前。

String

BarrierType

バリアの通過を完全に禁止するか、バリアを通過する際のコスト (時間または距離など) を係数に基づいて計算するかを指定します。 このフィールド値は、次のいずれかの整数として指定されます (括弧で囲まれた名前ではなく、数値コードを使用します)。

  • 0 (通過不可): バリアのどの部分も通過できません。 バリアと交差する道路は通過不可になるので、バリアは通過不可ポリゴン バリアとも呼ばれます。 たとえば、複数の道路を含む領域が浸水し、それらの道路を通過できない状況を表す場合などに、このタイプのバリアを使用します。

  • 1 (コスト係数指定) - 対象の道路の通過にかかるコスト (たとえば、移動時間または移動距離) に、ScaledTimeFactor フィールドまたは ScaledDistanceFactor フィールドで指定した係数が乗算されます。 道路の一部だけがバリアの対象になっている場合は、移動の時間または距離が比率に応じて乗算されます。 たとえば、係数 0.25 を割り当てると、対象の道路での移動速度が通常の 4 倍速くなります。 係数 3.0 を指定すると、対象道路での移動時間が通常の 3 倍長くなります。 このバリア タイプは、コスト係数ポリゴン バリアとも呼ばれます。 暴風のため特定領域の移動速度が低下する場合などに使用できます。

Short

ScaledTimeFactor

これは、バリアが交差している道路の移動時間に乗算する係数です。 フィールド値は 0 より大きい必要があります。

このフィールドは、コスト係数指定バリアにのみ適用され、[計測単位] パラメーターが時間ベースである場合に限られます。

Double

ScaledDistanceFactor

これは、バリアが交差している道路の距離に乗算する係数です。 フィールド値は 0 より大きい必要があります。

このフィールドは、コスト係数指定バリアにのみ適用され、[計測単位] パラメーターが距離ベースである場合に限られます。

Double

ScaledCostFactor

これは、バリアと交差する道路のコストに乗算する係数です。 フィールド値は 0 より大きい必要があります。

このフィールドは、コスト係数指定バリアにのみ適用され、[計測単位] パラメーターが時間ベースでも距離ベースでもない場合に限られます。

Double

Locations

このフィールドの情報は、ラインまたはポリゴンで覆われるネットワークのエッジ、および覆われる各エッジ エレメントの部分を定義します。このフィールドに含まれる情報を直接読んだり編集したりすることはできませんが、Network Analyst は解析を実行する際にその情報を解釈します。

ネットワーク上での入力の特定の詳細

Blob