配車ルート (VRP) の解析 (Solve Vehicle Routing Problem) (Network Analyst ツール)
サマリー
配車ルート (VRP) 解析のネットワーク解析レイヤーを作成し、解析プロパティを設定し、解析を実行する、配車ルート (VRP) Web サービスのセットアップに最適なツールです。 VRP 解析レイヤーは、複数車両について最適なルートを検索します。
レガシー:
これは非推奨のツールです。 この機能は、配車ルート (VRP) 解析レイヤーの作成 ツール、および 解析 リボンの ネットワーク解析 ドロップダウン メニューの 配車ルート (VRP) ボタンに置き換えられました。
使用法
ジオプロセシング ウィンドウでは、ツールはオプション パラメーターを管理しやすいように、次のカテゴリーにグループ化します。
高度な解析
バリア
カスタム移動モード
ネットワーク ロケーション
出力
サービスのケーパビリティー
パラメーター
| ラベル | 説明 | データ タイプ |
|---|---|---|
|
訪問先 |
配車ルート (VRP) 解析のルートが訪れる訪問先。 1 つの訪問先は、配達 (家具の配達など)、引き取り (空港のシャトル バスによる乗客の送迎など)、または何らかのサービスや調査など (伐採作業、建物調査など) を表すことができます。 訪問先フィーチャ セットには、属性テーブルが関連付けられています。 属性テーブルの各フィールドについて、以下で説明します。
システムで管理する ID フィールド。
ネットワーク解析オブジェクトの地理的な位置を示すジオメトリー フィールド。
訪問先の名前。 名前は、一意でなければなりません。 名前が NULL の場合は、解析時に名前が自動的に生成されます。
このプロパティは、ルートがネットワーク ロケーションを訪れた際の滞在時間を示します。つまり、このプロパティには、ネットワーク ロケーションのインピーダンス値が格納されます。 ゼロまたは NULL 値は、ネットワーク ロケーションでサービス時間が必要ないことを表します。 このフィールド値の単位は、時間フィールドの単位 パラメーター (Python では
ネットワーク ロケーションの第 1 のタイム ウィンドウの開始時刻。 このフィールドは NULL 値を含むことができます。NULL 値を指定した場合、開始時刻は設定されません。 注意:
ネットワーク ロケーションの第 1 のタイム ウィンドウの終了時刻。 このフィールドは NULL 値を含むことができます。NULL 値を指定した場合、終了時刻は設定されません。
ネットワーク ロケーションの第 2 のタイム ウィンドウの開始時刻。 このフィールドは、NULL 値を含むことができます。NULL 値を指定した場合、第 2 のタイム ウィンドウは設定されません。
両方のタイム ウィンドウに NULL 以外の値を指定する場合、これらのタイム ウィンドウをオーバーラップするように指定することはできません。 また、第 2 のタイム ウィンドウは第 1 のタイム ウィンドウよりも後になるように設定する必要があります。
ネットワーク ロケーションの第 2 のタイム ウィンドウの終了時刻。 このフィールドは、NULL 値を含むことができます。
到着時刻がタイム ウィンドウの終了よりも後になった場合は、タイム ウィンドウが超過されたと見なされます。 このフィールドでは、訪問先の第 1 のタイム ウィンドウについて、最大許容超過時間を指定します。 このフィールドは値としてゼロを含むことはできますが、負の値を含むことはできません。 値がゼロの場合、訪問先の第 1 のタイム ウィンドウにおいて、タイム ウィンドウ違反は許されません。つまり、第 1 のタイム ウィンドウは、条件が厳しいということです。 一方、NULL 値の場合、許容超過時間は無制限です。 ゼロ以外の値は、最大遅延時間を指定します。たとえば、第 1 のタイム ウィンドウの終了時刻から最大で 30 分遅れて到着することが許されます。 このフィールド値の単位は、時間フィールドの単位 パラメーター (Python では 解析によって、タイム ウィンドウ違反を追跡し、重み付けすることが可能です。 このため、次の 3 つの手法のいずれかを使用するように VRP 解析機能に指示することができます。
タイム ウィンドウ違反の重要度 パラメーター (Python では
訪問先の第 2 のタイム ウィンドウの最大許容超過時間。 このフィールドは、
訪問先に配達される品物が開始拠点で準備完了になる日時を定義します。 訪問先をルートに割り当てることができるのは、インバウンド到着時刻がそのルートの最新の開始時刻よりも前である場合に限ります。これにより、品物を拠点に積み込む準備が完了する前にルートがその拠点から出発できなくなります。 このフィールドは、到着後の積み替えに関わるシナリオのモデリングに役立ちます。 たとえば、現時点で拠点にない特殊な材料が訪問先での作業に必要です。 このマテリアルは、別のロケーションから発送され、午前 11 時に拠点に到着する予定です。マテリアルの到着前に出発するルートが訪問先に割り当てられないようにするために、訪問先のインバウンド到着時間を午前 11 時に設定します。 特殊な材料が午前 11 時に到着し、車両に積み込まれた後、その車両が拠点から出発して、割り当て済みの訪問先を訪れます。 注意:
訪問先で集荷する品物が終了拠点に到着しなければならない日時を定義します。 指定したアウトバウンド出発時間より前にルートが訪問先に移動でき、終了拠点に到着できる場合のみ、訪問先をルートに割り当てることができます。 このフィールドは、アウトバウンド出発時刻の積み替えに関わるシナリオのモデリングに役立ちます。 たとえば、運送会社は配達用トラックを手配し、訪問先から荷物を集荷して拠点に届けます。その拠点から、荷物は最終目的地までの配送の途中で他の施設に転送されます。 毎日、午後 3 時に、セミトレーラーが拠点に立ち寄り、優先度の高い荷物を積み込み、それを中央処理ステーションに直接輸送します。 優先度の高い荷物が翌日の午後 3 時以降に遅れて配送されるのを防止するために、運送会社は、午後 3 時の期限までに配達用トラックが優先度の高い荷物を訪問先から集荷して拠点に届けるように手配します。 このために、アウトバウンド出発時間を午後 3 時に設定します。 注意:
配達される荷物のサイズ。 重量、体積、数量など、必要な計測単位で、サイズを指定できます。 重量と体積など、複数の計測方法で、サイズを指定することもできます。 単位を指定しないで、配達数量を入力します。 たとえば、ある訪問先に 300 ポンドの物品を配達する必要がある場合は、300 と入力します。 値が、ポンド単位であることを認識しておく必要があります。 複数の計測方法を記録する場合、数値をスペースで区切ります。 たとえば、配達について重量と体積を記録する場合、重量が 2,000 ポンド、体積が 100 立法フィートであれば、2000 100 と入力します。 この場合も、単位が、ポンドと立方フィートであることを覚えておく必要があります。 また、値と対応する単位を入力した順序も覚えておく必要があります。 ルート の 空の文字列または NULL 値は、すべての計測方法がゼロになることに相当します。 積載制限 (または計測方法でのサイズ) の総数に対して文字列内の値の数が不足している場合、残りの値はゼロと見なされます。 配送数量を負の値とすることはできません。
引き取る荷物のサイズ。 重量、体積、数量など、必要な計測単位で、サイズを指定できます。 重量と体積など、複数の計測方法で、サイズを指定することもできます。 ただし、負の値は指定できません。 このフィールドは、訪問先 の 注意:交換訪問の場合、訪問先は、配送数量と引き取り数量の両方を持つことができます。
訪問先が、解析に含まれる場合に生成される収入。 このフィールドは、NULL 値 (収入がゼロであることを示す) を含むことができますが、負の値を含むことはできません。 収入は、目的関数の値を最適化する際に算入されますが、ソリューションの運用コストには組み込まれません。 つまり、ルート クラスの
スペース区切りの文字列であり、訪問先が必要とする特別指定の名前が含まれます。 NULL 値は、訪問先が特別指定を必要としていないことを示しています。 訪問先クラスおよびルート クラスに表示されるどの特別指定の綴りも、配車ルート (VRP) 解析でそれらを一緒にリンクできるようにするために、正確に一致している必要があります。 特別指定の説明とその機能を示す例として、芝の手入れと庭木の剪定を行う造園会社を考えます。この会社の一部の訪問先では、背の高い木を剪定するために高所作業車が必要です。 これらの訪問先の
このフィールドには、訪問先をルートに割り当てるためのルールを指定します。 この内容は、次に示す値のドメインによって制約されます (それぞれのコード値は括弧内に示されています)。
このフィールドは、NULL 値を含むことができません。
訪問先が割り当てられるルートの名前。 このフィールドを入力フィールドとして使用し、訪問先を特定のルートにあらかじめ割り当てておきます。 このフィールドは NULL 値を含むことができます。NULL 値の場合、訪問先はどのルートにもあらかじめ割り当てられず、解析機能が訪問先にとって最良のルート割り当てを決定します。 このフィールドを NULL に設定した場合は、順序フィールドも NULL に設定する必要があります。 解析の後、訪問先のルートが解析されると、
このフィールドは、訪問先に割り当てられたルートでの訪問先の順序を示します。 入力フィールドとしてこのフィールドを使用して、ルート上での訪問先の相対的な順序を指定します。 このフィールドは NULL 値を含むことができます。NULL 値は、訪問先をルート上のどこにでも配置できることを示します。 NULL 値にする場合は、 順序を示す入力値は、負以外の値であり、各ルートに対して一意です (拠点立ち寄り状況、訪問先、および休憩の間で共有されます)。ただし、0 から開始する必要も、連続している必要もありません。 解析の後、 |
Feature Set |
|
拠点 |
拠点とは、車両が就業時間において最初に出発し、最後に戻ってくる場所です。 車両は、ルートが開始される拠点で荷積み (配達の場合) または荷降ろし (引き取りの場合) を行います。 拠点は、場合によっては、リニューアル ロケーションとしての役割を果たすこともできます。これにより、車両は荷を降ろしたり再度積み込んだりして、配達と引き取りを引き続き行うことができます。 拠点には、絶対的なタイム ウィンドウで指定される開始時刻と終了時刻があります。 車両は、このタイム ウィンドウ外の時間に拠点に到着することは許されません。 拠点フィーチャ セットには、属性テーブルが関連付けられています。 属性テーブルの各フィールドについて、以下で説明します。
システムで管理する ID フィールド。
ネットワーク解析オブジェクトの地理的な位置を示すジオメトリー フィールド。
拠点の名前。 ルート レコード セットの 拠点の名前は大文字と小文字を区別しませんが、空白以外の一意の値にする必要があります。
ネットワーク ロケーションの第 1 のタイム ウィンドウの開始時刻。 このフィールドは NULL 値を含むことができます。NULL 値を指定した場合、開始時刻は設定されません。 注意:
ネットワーク ロケーションの第 1 のタイム ウィンドウの終了時刻。 このフィールドは NULL 値を含むことができます。NULL 値を指定した場合、終了時刻は設定されません。
ネットワーク ロケーションの第 2 のタイム ウィンドウの開始時刻。 このフィールドは、NULL 値を含むことができます。NULL 値を指定した場合、第 2 のタイム ウィンドウは設定されません。
両方のタイム ウィンドウに NULL 以外の値を指定する場合、これらのタイム ウィンドウをオーバーラップするように指定することはできません。 また、第 2 のタイム ウィンドウは第 1 のタイム ウィンドウよりも後になるように設定する必要があります。
ネットワーク ロケーションの第 2 のタイム ウィンドウの終了時刻。 このフィールドは、NULL 値を含むことができます。
ポイントが移動する方向。 単位は度で、真北を基準に時計回りに計測されます。 このフィールドは 方位データは通常、GPS 受信機を搭載したモバイル デバイスから自動送信されます。 歩行者や車両など、移動中の訪問先を読み込む場合は、方位データを含めるようにしてください。 このフィールドを使用すると、間違ったエッジに場所が追加されるのを防止できます。このエラーは、たとえば、車両が交差点や高架の近辺にいる場合に発生する可能性があります。 また、方位を指定すると、ポイントが道路のどちら側に配置されているかを Network Analyst が判断しやすくなります。 詳細については、「Bearing と BearingTol」をご参照ください。
方位角許容値は、 単位は度で、デフォルト値は 30 です。 値は 0 より大きく 180 未満でなければなりません。 値が 30 の場合は、Network Analyst がネットワーク ロケーションをエッジに追加しようとすると、方位角許容値の範囲がエッジの両側 (左と右) に 15 度ずつ、どちらもエッジのデジタイズ方向に生成されます。 詳細については、「Bearing と BearingTol」をご参照ください。
このフィールドは、 |
Feature Set |
|
ルート |
指定された配車ルート解析で使用可能なルート。 ルートは、車両および運転手の特性を指定します。 解析後には、拠点と訪問先の間の経路も表します。 ルートには、開始拠点と終了拠点のサービス時間、固定または可変の開始時間、時間ベースの運用コスト、距離ベースの運用コスト、複数の容量、運転手の就業日に関するさまざまな制約などを含めることができます。 ルート レコード セットには、複数の属性があります。 属性テーブルの各フィールドについて、以下で説明します。
ルートの名前。 名前は、一意でなければなりません。 フィールドの値が NULL の場合は、解析時に Network Analyst で一意の名前が生成されます。 ほとんどの場合、値の入力は任意です。 ただし、ルートに事前に割り当てられている休憩、ルート リニューアル、ルート ゾーン、または訪問先が解析に含まれる場合、名前の入力は必須です。これは、このような場合に、ルート名が外部キーとして使用されるためです。 ルート名の大文字と小文字は区別されません。
ルートの開始拠点の名前。 このフィールドは、拠点 パラメーターの
訪問先/拠点が複数のタイム ゾーンにある場合、仮想の開始拠点は使用できません。 ルートが配達を行っていて、
ルートの終了拠点の名前。 このフィールドは、拠点 パラメーターの
開始拠点でのサービス時間。 このフィールドを使用して、車両に荷物を積み込むのに要する時間をモデリングします。 このフィールドは NULL 値を含むことができます。NULL 値はサービス時間がゼロであることを示します。 このフィールド値の単位は、時間フィールドの単位 パラメーター (Python では 注意:開始拠点と終了拠点でのサービス時間は固定値で (
終了拠点でのサービス時間。 このフィールドを使用して、車両から荷物を降ろすのに要する時間をモデリングします。 このフィールドは NULL 値を含むことができます。NULL 値はサービス時間がゼロであることを示します。 このフィールド値の単位は、時間フィールドの単位 パラメーター (Python では 注意:開始拠点と終了拠点でのサービス時間は固定値で (
ルートにおいて許容される最も早い開始時間。 解析では、このフィールドを開始拠点のタイム ウィンドウと組み合わせて使用し、ルートの実現可能な開始時間を決定します。 このフィールドは、NULL 値を含むことができません。時刻のみを示す値のデフォルト値は、午前 8 時となります。 デフォルト値は、デフォルトの日付 パラメーター (Python では タイム ウィンドウ フィールドに日時が含まれている場合、デフォルトの日付は無視されます。 この状況でエラーが発生しないようにするには、拠点、ルート、訪問先、休憩のすべてのタイム ウィンドウに日時も含まれるように書式設定します。 複数のタイム ゾーンにまたがる交通量データを持つネットワーク データセットを使用する場合、
ルートにおいて許容される最も遅い開始時間。 このフィールドは、NULL 値を含むことができません。時刻のみを示す値のデフォルト値は、午前 10 時となります。 デフォルト値は、解析レイヤーのデフォルトの日付プロパティで指定された日付の午前 10 時と解釈されます。 複数のタイム ゾーンにまたがる交通量データを持つネットワーク データセットを使用する場合、
このフィールドには、車両を通常の移動速度まで加速し、停止するまで減速し、ネットワークに出入りする (たとえば、駐車場に出入りする) のに必要な移動時間が格納されます。 このプロパティのコストは、一致しない訪問先、拠点、およびルート リニューアルへの訪問の間に発生します。 たとえば、ルートが拠点から出発し、最初の訪問先を訪問したときに、到着と出発の遅延の合計が移動時間に追加されます。 最初の訪問先から 2 番目の訪問先まで移動するときにも同じことが起こります。 2 番目と 3 番目の訪問先が一致している場合、車両は移動する必要がないため、この間については 休憩の場合、車両は減速して停止し、後で加速する必要がありますが、VRP 解析では わかりやすくするために、1 つの高層ビル内に一致する 5 つの訪問先があり、これらに異なる 3 つのルートでサービスが提供されているとします。 この場合は、到着と出発の遅延が 3 回発生します。つまり、3 人の運転手が別々に駐車場所を見つけ、同じ建物に入る必要があります。 しかし、これらの訪問先に 1 つのルートだけでサービスを提供できれば、駐車して建物に入る運転手は 1 人だけになり、到着と出発の遅延の発生も 1 回だけになります。 VRP 解析では、コストの最小化が図られるため、到着と出発の遅延を抑えるために、単一ルートのオプションが選択されます (特別指定、タイム ウィンドウ、積載制限などの制約によって、複数のルートが必要になる場合があります)。 このフィールド値の単位は、時間フィールドの単位 パラメーター (Python では
車両の最大容量。 重量、体積、数量など、任意の計測単位で、容量を指定できます。 重量と体積など、複数の計測方法で、サイズを指定することもできます。 単位を指定しないで、容量を入力します。 たとえば、車両の最大積載量が 40,000 ポンドである場合は、40000 と入力します。 後で参照するために、値がポンド単位であることを覚えておく必要があります。 複数の計測方法を記録する場合、数値をスペースで区切ります。 たとえば、重量と体積の両方を記録する場合、車両の最大積載重量が 40,000 ポンド、最大積載体積が 2,000 立法フィートであれば、40000 2000 と入力します。 この場合も、単位を覚えておく必要があります。 また、値と対応する単位を入力した順序も覚えておく必要があります。この場合は、ポンド、立方フィートの順です。 単位と単位の順序を覚えておくことは、いくつかの理由から重要です。後で情報を再解釈できるようにするためと、訪問先 パラメーターの 空の文字列または NULL 値は、すべての値がゼロになることに相当します。 積載制限を負の値とすることはできません。 訪問先の 注意:VRP 解析では、簡単なブール テストを実行するだけで、積載制限を超過したかを確認できます。 ルートの積載制限値が運送する合計数量以上である場合、車両に積荷が収まると見なされます。 ただし、積荷および車両の実際の形状によっては、この判断は正しくない可能性があります。 たとえば、VRP 解析では、1,000 立方フィートの球体を、幅が 8 フィートで、容積が 1,000 立方フィートのトラックに収容することができます。 しかし、実際には、球体の直径は 12.6 フィートであり、8 フィート幅のトラックに球体を収容することはできません。
ルートがソリューションで使用される (つまり、訪問先がソリューションに割り当てられている) 場合に限り適用される金銭上の固定コスト。 このフィールドは NULL 値を含むことができます。NULL 値は固定コストがゼロであることを示します。 このコストは、ルートの合計運用コストの一部です。
合計ルート所要時間 (移動時間に加えて、訪問先、拠点、休憩でのサービス時間および待機時間も含む) に対して、作業の単位時間ごとに適用される金銭上のコスト。 このフィールドは、NULL 値を含むことができず、デフォルト値は、1.0 となります。 このフィールド値の単位は、時間フィールドの単位 パラメーター (Python では
ルート長 (合計移動距離) に対して (移動距離の単位ごとに) 適用される金銭上のコスト。 このフィールドは NULL 値を含むことができます。NULL 値はコストがゼロであることを示します。 このフィールドの値の単位は、距離フィールドの単位 パラメーター (Python の場合は
規定労働時間の長さで、この時間を超過すると規定外労働時間の計算が開始されます。 このフィールドは NULL 値を含むことができます。NULL 値は規定外労働時間が適用されないことを示します。 このフィールド値の単位は、時間フィールドの単位 パラメーター (Python では たとえば、合計ルート所要時間が 8 時間を上回るときに運転手に規定外労働賃金を支払う場合、時間フィールドの単位 パラメーターが 分 に設定されているときには、
規定外労働時間の単位時間ごとに適用される金銭上のコスト。 これは、
ルートに組み込むことができる訪問先の最大数。 このフィールドは、NULL 値を含むことができません。デフォルト値は、30 となります。
ルートの最大許容所要時間。 ルートの所要時間には、移動時間に加えて、訪問先、拠点、休憩でのサービス時間および待ち時間も含まれます。 このフィールドは、NULL 値を含むことができます。NULL 値は、ルートの所要時間に制約がないことを示します。 このフィールド値の単位は、時間フィールドの単位 パラメーター (Python では
ルートの最大許容移動時間。 移動時間に含まれるのはネットワークの走行に費やされた時間だけで、サービス時間または待ち時間は含まれません。 このフィールドは NULL 値を含むことができます。NULL 値は最大許容移動時間に制約がないことを示します。 このフィールド値は、 このフィールド値の単位は、時間フィールドの単位 パラメーター (Python では
ルートへの最大許容移動距離。 このフィールドの値の単位は、距離フィールドの単位 パラメーター (Python の場合は このフィールドは NULL 値を含むことができます。NULL 値は最大許容移動時間に制約がないことを示します。
スペース区切りの文字列であり、ルートがサポートする特別指定の名前が含められます。 NULL 値は、ルートが特別指定をサポートしていないことを示します。 このフィールドは、訪問先 パラメーターの 特別指定の説明とその機能を示す例として、芝の手入れと庭木の剪定を行う造園会社を考えます。この会社の一部の訪問先では、背の高い木を剪定するために高所作業車が必要です。 これらの訪問先の
解析時にルートを使用できるかどうかを指定します。 このフィールドは、値のドメインによって制約されます。設定可能な値は次のとおりです。
|
Record Set |
|
休憩 |
配車ルート解析でのルートの休憩時間または休憩。 休憩は、厳密に 1 つのルートに関連付けられ、訪問先にサービスを提供した後、訪問先へのルート途中、または訪問先にサービスを提供する前に取ることができます。 休憩には開始時間と継続時間があり、休憩中の賃金が運転手に支払われる場合もあれば、そうでない場合もあります。 休憩の開始の設定には、タイム ウィンドウ、最大移動時間、または最大労働時間を使用する 3 つのオプションがあります。 休憩レコード セットには、属性が関連付けられています。 属性テーブルの各フィールドについて、以下で説明します。
システムで管理する ID フィールド。
休憩を追加するルートの名前。 休憩は、1 つのルートだけに割り当てられますが、多くの休憩を同じルートに割り当てることができます。 このフィールドは、ルート クラスの
優先順位値は、特定のルートの休憩を順序付けします。 優先順位値が 1 の休憩は、2 の休憩よりも前に取られ、以降の休憩も優先順位値の順番に取られます。 タイム ウィンドウか、最大移動時間か、最大労働時間かに関係なく、すべての休暇が、優先順位値を持たなければなりません。
休憩期間の長さ。 このフィールドは、NULL 値を含むことができません。デフォルト値は、60 となります。 このフィールド値の単位は、時間フィールドの単位 パラメーター (Python では
休憩のタイム ウィンドウの開始時間。 休憩では、片方しかないタイム ウィンドウは無効です。 このフィールドが値を持つ場合、 ルートにタイム ウィンドウがオーバーラップした複数の休憩があると、解析時にエラーになります。 タイム ウィンドウ フィールドは、日付フィールドに時刻のみの値または日時の値を含めることができますが、エポックからのミリ秒を表す整数は使用できません。 タイム ウィンドウ フィールドのタイム ゾーンは、時間フィールドのタイム ゾーンの使用 パラメーター (Python では time_zone_usage_for_time_fields タイム ウィンドウ フィールドに日時が含まれている場合、デフォルトの日付は無視されます。 この状況でエラーが発生しないようにするには、拠点、ルート、訪問先、休憩のすべてのタイム ウィンドウに日時も含まれるように書式設定します。
休憩のタイム ウィンドウの終了時間。 休憩では、片方しかないタイム ウィンドウは無効です。 このフィールドが値を持つ場合、
このフィールドでは、タイム ウィンドウによる休憩について、最大許容超過時間を指定します。 到着時間がこの時間の範囲を超えている場合、タイム ウィンドウを超過したと見なされます。 値がゼロの場合、タイム ウィンドウのどのような超過も許されません。つまり、タイム ウィンドウは、条件が厳しい (ハード) ということです。 ゼロ以外の値は、最大遅延時間の指定を意味します。 たとえば、タイム ウィンドウの終了時刻から最大で 30 分遅れて休憩を開始することができますが、この遅延時間には、タイム ウィンドウ違反の重要度 パラメーター (Python では このプロパティは NULL 値にすることができます。 このフィールド値の単位は、時間フィールドの単位 パラメーター (Python では
休憩を取る前に累積できる移動時間の最大値。 移動時間は前の休憩の終了時か、休憩がまだ取られていないときは、ルートの開始時から累積されます。 これがルートの最後の休憩なら、 このフィールドは、休憩が必要になるまでに担当者が運転できる時間を制限します。 たとえば、解析レイヤーの 時間フィールドの単位 パラメーター (Python では このフィールドに値を設定した場合、解析を成功させるには、 このフィールド値の単位は、時間フィールドの単位 パラメーター (Python では
休憩を取る前に累積できる作業時間の最大値。 作業時間は、常にルートの開始時から累積されます。 作業時間は、移動時間と、訪問先、拠点、休憩でのサービス時間の合計です。 ただし、これには待ち時間は含まれません。待ち時間とは、ルート (または運転手) が訪問先または拠点でタイム ウィンドウの開始まで待機した時間のことです。 このフィールドは、休憩が必要になるまでに作業できる時間を制限します。 たとえば、時間フィールドの単位 パラメーター (Python では 引き続き最後の例で、さらに 3 時間作業した後に 2 回目の休憩が必要とします。 この休憩を指定するには、2 回目の休憩の このフィールドに値を設定した場合、解析を成功させるには、 このフィールド値の単位は、時間フィールドの単位 パラメーター (Python では
休憩に賃金を支払うかをブール値で指定します。 True 値を指定すると、休憩で費やされた時間はルートのコスト計算および規定外労働時間の判定で考慮されます。 False 値を指定すると、休憩で費やされた時間はルートのコスト計算および規定外労働時間の判定で考慮されません。 デフォルト値は True です。
入力フィールドとして、ルート上での休憩の順序を示します。 このフィールドには NULL 値を含めることができます。 順序を示す入力値は、正の値であり、各ルートに対して一意です (リニューアル拠点立ち寄り状況、訪問先、および休憩の間で共有されます)。ただし、1 から開始する必要も、連続している必要もありません。 解析機能によって、順序フィールドが変更されます。 解析の後、このフィールドには、ルート上での休憩の順序の値が入力されます。 ルートに対して出力される順序の値は、拠点立ち寄り状況、訪問先、および休憩の間で共有され、1 (開始拠点) から始まり、連続的な値となります。 |
Record Set |
|
時間フィールドの単位 |
解析におけるすべての時間ベースのフィールド値に使用される時間単位を指定します。 配車ルート (VRP) 解析に含まれる多くのフィーチャとレコードには、訪問先の 時間ベースの出力フィールドには、このパラメーターで指定した単位と同じ単位が使用されます。 時間単位はネットワークの 時間属性 パラメーター (Python では
|
String |
|
距離フィールドの単位 |
解析におけるすべての距離ベースのフィールド値に使用される距離単位を指定します。 配車ルート (VRP) 解析に含まれる多くのフィーチャとレコードには、ルートの 距離ベースの出力フィールドには、このパラメーターで指定した単位と同じ単位が使用されます。 この距離単位は、ネットワークの 距離属性 パラメーター (Python では
|
String |
|
ネットワーク データセット |
配車ルート解析が実行されるネットワーク データセット。 配車ルート (VRP) 解析が時間を最小化するツールであるため、ネットワーク データセットは、時間ベースのコスト属性を保持する必要があります。 |
Network Dataset Layer |
|
出力ジオデータベース ワークスペース |
出力フィーチャクラスの作成先になるファイル ジオデータベースまたはインメモリー ワークスペース。 このワークスペースは、すでに存在している必要があります。 デフォルトの出力ワークスペースは、メモリー内にあります。 |
Workspace |
|
出力未配置ストップ名 |
到達できない拠点または未割り当ての訪問先が含まれる、出力フィーチャクラスの名前。 |
String |
|
出力ストップ名 |
ルートが訪問するストップが含まれる、フィーチャクラスの名前。 このフィーチャクラスには、拠点、訪問先、および休憩のストップが含まれます。 |
String |
|
出力ルート名 |
解析のルートが含まれるフィーチャクラスの名前。 |
String |
|
出力ルート エッジ名 |
ルート案内が含まれるフィーチャクラスの名前。 |
String |
|
デフォルトの日付 (オプション) |
日付を含まずに時刻を指定された時間フィールドの値に使用される、デフォルトの日付。 |
Date |
|
U ターン ポリシー (オプション) |
ジャンクションで使用される U ターン ポリシーを指定します。 U ターンを許可するということは、解析においてジャンクションで方向転換し、同じ道路を引き返すことができるということを意味します。 ジャンクションが道路の交差と行き止まりを表すことを前提に、さまざまな車両が、一部のジャンクションでは方向転換でき、他のジャンクションでは方向転換できない、というように設定できます。これは、ジャンクションが交差と行き止まりのどちらを表すかによって変わります。 これに対応するには、ジャンクションに接続するエッジの数 (ジャンクションでのノードへの接続数) によって、暗黙的に U ターン ポリシーを指定します。 以下では、このパラメーターで選択できる値と、ジャンクションの接続におけるそれぞれの意味について示します。 U ターン ポリシーをさらに正確に定義する必要がある場合、グローバル ターン遅延エバリュエーターをネットワーク コスト属性に追加するか、すでに存在する場合はそれを調整することを検討してください。その際、逆ターンの設定には特に注意が必要です。 また、ネットワーク ロケーションの このパラメーターの値は、移動モード (Python では
|
String |
|
タイム ウィンドウ違反の重要度 (オプション) |
タイム ウィンドウを履行する場合に使用される重要度を指定します。
|
String |
|
空間的クラスター ルート (オプション) |
訪問先が空間的にクラスター化されるかどうかを指定します。
|
Boolean |
|
ルート ゾーン (オプション) |
指定されたルートの担当区域を描画します。 ルート ゾーンはポリゴン フィーチャです。ルート ゾーンを使用して、特定の領域内にある訪問先または領域の近くにある訪問先にのみサービスを提供するようにルートを制限します。 どのようなときにルート ゾーンが役に立つかを以下の例で示します。
ルート ゾーン フィーチャ セットには、属性テーブルが関連付けられています。 属性テーブルの各フィールドについて、以下で説明します。
システムで管理する ID フィールド。
ネットワーク解析オブジェクトの地理的な位置を示すジオメトリー フィールド。
このゾーンが適用されるルートの名前。 ルート ゾーンは、関連付けられたルートを最大で 1 つ持っています。 このフィールドは、NULL 値を含むことができません。ルート フィーチャ レイヤーの
ハード ルート ゾーンかソフト ルート ゾーンかをブール値で示します。 True 値はルート ゾーンがハード ルート ゾーンであることを示します。つまり、ルート ゾーン ポリゴンの外にある訪問先をルートに割り当てることはできません。 デフォルト値は True (1) です。 False 値 (0) を指定した場合、ルート ゾーン ポリゴンの外にある訪問先をルートに割り当てることはできますが、訪問先へのサービス提供のコストはルート ゾーンからのユークリッド距離に基づく関数によって重み付けされます。 基本的に、ソフト ゾーンから訪問先までの直線距離が長くなるに従い、訪問先をルートに割り当てる機会が低くなることを意味しています。 |
Feature Set |
|
ルート リニューアル (オプション) |
配達するか引き取る積荷の、再積み込みまたは荷降ろしを行うためにルートが訪問できる、中間拠点。 特に、ルート リニューアルは、ルートを拠点にリンクします。 このリレーションシップは、関連付けられた拠点でルートがリニューアル (途上での再積み込みまたは荷降ろし) できることを示します。 ルート リニューアルを使用してモデリング可能なシナリオとして、開始拠点で配達する荷物を車両に満載し、訪問先に供給し、拠点に戻って配達用の荷物を再び積み込み、訪問先への供給を継続するというものがあります。 たとえば、プロパン ガスの配達の場合は、車両はタンクがほとんどまたは完全に空になるまで、複数回配達を行い、燃料補給ポイントに立ち寄り、さらに配達を継続することができます。 ルート シード ポイントで作業する場合にも考慮すべき、いくつかのルールとオプションを次に示します。
ルート リニューアル レコード セットには、属性が関連付けられています。 属性テーブルの各フィールドについて、以下で説明します。
システムで管理する ID フィールド。
このリニューアルが行われる拠点の名前。 このフィールドは、NULL 値を含むことができません。拠点フィーチャ レイヤーの
このリニューアルが適用されるルートの名前。 このフィールドは、NULL 値を含むことができません。ルート フィーチャ レイヤーの
リニューアルのサービス時間。 このフィールドは NULL 値を含むことができます。NULL 値はサービス時間がゼロであることを示します。 このフィールドの値の単位は、解析レイヤーの時間フィールドの単位プロパティで指定します。 注意:リニューアル拠点で車両に荷積みするのにかかる時間は、車両のサイズと、車両にどれくらい荷物が積まれているかに左右される場合があります。 ただし、ルート リニューアルのサービス時間は固定値であり、実際の積荷を考慮に入れません。 したがって、リニューアル サービス時間には、満載の積荷の場合のサービス時間、平均的な積荷の場合の時間、または別の時間評価による値を指定してください。 |
Record Set |
|
訪問先ペア (オプション) |
同じルートで、引き取りと配達のサービスを提供できるように、引き取りと配達の訪問先をペアにします。 訪問先に対する引き取りと配達をペアにすることが必要な場合があります。 たとえば、宅配会社が、ルートで訪問先から優先度の高い荷物を引き取り、拠点や選別ステーションに戻ることなく、それを別の訪問先に配達し、さらに配達時間を最小化する必要がある場合などです。 これらの関連する訪問先を、訪問先のペアを使用して適切に順序付けし、同じルートに割り当てることができます。 荷物を車両に載せておくことができる時間の制限も割り当てることができます。 たとえば、病院から試験所までの血液サンプルの輸送は、2 時間以内に行う必要があります。 訪問先ペア レコード セットには、属性が関連付けられています。 属性テーブルの各フィールドについて、以下で説明します。
システムで管理する ID フィールド。
ペアの第 1 の訪問先の名前。 このフィールドは、訪問先フィーチャ レイヤーの
ペアの第 2 の訪問先の名前。 このフィールドは、訪問先フィーチャ レイヤーの ペアの第 1 の訪問先は引き取り訪問先でなければなりません。つまり、その 注意:訪問先の数量は、拠点で荷積みまたは荷降ろしされません。
ペアの最大移動時間です。 移動時間とは、第 1 の訪問先の出発時刻から第 2 の訪問先の到着時刻までの時間の長さです。 この制約により、2 つの訪問先の間で車両に積まれている時間 (乗車時間) が制限されます。 人または生鮮食品を車両で輸送する場合、その乗車時間は、荷物または非生鮮食品を車両で輸送する場合より、短くなるのが普通です。 このフィールドは、NULL 値を含むことができます。NULL 値は、乗車時間に制約がないことを示します。 このフィールドの値の単位は、解析レイヤーの時間フィールドの単位プロパティで指定します。 解析では、超過移動時間 (訪問先ペア間の直接移動時間に基づく) をトラッキングし、重み付けすることができます。 このため、次の 3 つの手法のいずれかを使用するように VRP 解析機能に指示することができます。保有車両の移動コストの増大を無視して、全体の超過移動時間を最小にする。全体の超過時間と移動コストのバランスをとるソリューションを検索する。全体の超過移動時間を無視して、保有車両の移動コストを最小にする。 解析レイヤーの 超過移動時間の重要度 パラメーター (Python では |
Record Set |
|
超過移動時間の重要度 (オプション) |
訪問先ペアの超過移動時間を減らすことの重要度を指定します。 超過移動時間とは、訪問先ペア間を直接移動するのに必要な時間に対する超過時間です。 超過時間は、運転手が休憩したり、中間の訪問先や拠点に移動したりすることで発生する場合があります。
|
String |
|
ポイント バリア (オプション) |
ポイント バリアを指定します。ポイント バリアには、通過不可ポイント バリアと追加コスト ポイント バリアの 2 種類があります。 ポイント バリアは、ネットワーク上のポイントを一時的に通過不可にするか、ネットワーク上のポイントにインピーダンスを追加します。 ポイント バリアはフィーチャ セットで定義され、ポイント フィーチャに指定した属性値によって、通過不可バリアであるか追加コスト バリアであるかが決定されます。 属性テーブル内の各フィールドの説明を次に示します。
システムで管理する ID フィールド。
ネットワーク解析オブジェクトの地理的な位置を示すジオメトリー フィールド。
バリアの名前。
バリアを完全に通過不可にするか、バリアを通過する際のコストを加算するかを指定します。 次の 2 つのオプションがあります:
このフィールドの値の単位は、解析レイヤーの 時間フィールドの単位 プロパティで指定します。
このフィールドの値の単位は、距離フィールドの単位 パラメーターで指定します。 |
Feature Set |
|
ライン バリア (オプション) |
ライン バリアを指定し、バリアを一時的に通過不可にします。 ライン バリアはフィーチャ セットで定義されます。 属性テーブル内の各フィールドの説明を次に示します。
システムで管理する ID フィールド。
ネットワーク解析オブジェクトの地理的な位置を示すジオメトリー フィールド。
バリアの名前。 |
Feature Set |
|
ポリゴン バリア (オプション) |
ポリゴン バリアを指定します。ポリゴン バリアには、通過不可ポリゴン バリアとコスト係数指定ポリゴン バリアの 2 種類があります。 ポリゴン バリアは、ネットワークの対象となる部分で一時的に通過不可にするか、インピーダンスの値を増減します。 ポリゴン バリアはフィーチャ セットで定義され、ポリゴン フィーチャに指定した属性値によって、通過不可バリアであるかコスト係数指定バリアであるかが決定されます。 属性テーブル内の各フィールドの説明を次に示します。
システムで管理する ID フィールド。
ネットワーク解析オブジェクトの地理的な位置を示すジオメトリー フィールド。
バリアの名前。
バリアの通過を完全に禁止するか、バリアを通過する際のコストを係数に基づいて計算するかを指定します。 次の 2 つのオプションがあります:
バリアの対象となるエッジの時間ベースのインピーダンス値に、このフィールドで設定した値が乗算されます。 このフィールドは、バリアがコスト係数指定バリアの場合にのみ適用されます。
バリアの対象となるエッジの距離ベースのインピーダンス値に、このフィールドで設定した値が乗算されます。 このフィールドは、バリアがコスト係数指定バリアの場合にのみ適用されます。 |
Feature Set |
|
時間属性 (オプション) |
ネットワーク エレメントの移動時間を求める場合に使用されるネットワーク コスト属性。 このパラメーターの値は、移動モード (Python では |
String |
|
距離属性 (オプション) |
ネットワーク エレメントの距離を決定するときに使用されるネットワーク コスト属性。 このパラメーターの値は、移動モード (Python では |
String |
|
解析に階層を使用 (オプション) |
解析に階層属性を使用するかどうかを指定します。 解析を実行するネットワーク データセットに使用する階層属性が定義されていない場合、このパラメーターは使用されません。 このパラメーターの値は、移動モード (Python では
|
Boolean |
|
規制 (オプション) |
解析時に考慮されるネットワーク規制属性を指定します。 このパラメーターの値は、移動モード (Python では |
String |
|
属性パラメーター値 (オプション) |
パラメーターを持つネットワーク属性のパラメーター値を指定します。 レコード セットには、連携してパラメーターを一意に識別する 2 つの列と、パラメーター値を指定するもう 1 つの列があります。 このパラメーターの値は、移動モード (Python では 属性パラメーター値レコード セットには、属性が関連付けられています。 属性テーブル内の各フィールドの説明を次に示します。
システムで管理する ID フィールド。
属性パラメーターがテーブル行で設定されるネットワーク属性の名前。
値がテーブル行で設定される属性パラメーターの名前 (このツールでは、Object タイプのパラメーターは更新できません)。
属性パラメーターに指定する値。 値が指定されていない場合、属性パラメーターは NULL に設定されます。 |
Record Set |
|
最大スナップ許容値 (オプション) |
最大スナップ許容値は、Network Analyst がネットワーク上にポイントを配置または再配置する際に検索できる最長距離です。 この検索では、適切なエッジまたはジャンクションを見つけ、そのうちで最も近い場所にポイントをスナップします。 最大スナップ許容値内で適切な場所が見つからなかった場合、そのオブジェクトには未配置のマークが付けられます。 |
Linear Unit |
|
ネットワークの制限部分を除外 (オプション) |
ネットワーク ロケーションの配置場所を指定します。
|
Boolean |
|
フィーチャ ロケーターの WHERE 句 (オプション) |
ソース フィーチャのサブセットの選択に使用される SQL 式。これは、訪問先および拠点を配置可能なネットワーク エレメントを制限します。 たとえば、訪問先や拠点が有料道路に配置されないようにするには、それらのソース フィーチャを除外する SQL 式を記述します。 バリアなどの他のネットワーク解析オブジェクトは、読み込み時に、フィーチャ ロケーターの WHERE 句を無視します。 値テーブル列:
|
Value Table |
|
ルート ラインの設定 (オプション) |
ルートの真の形状を示すラインを生成するかどうかを指定します。
|
Boolean |
|
ルート ラインの単純化許容値 (オプション) |
ルート ジオメトリーの単純化の距離。 単純化によって、ルートの基本的な形状を定義する重要ポイント (交差点でのターンなど) は維持され、その他のポイントは削除されます。 ここで指定する単純化の距離は、単純化されたラインの元のラインからの逸脱として認められる、最大許容オフセットです。 ラインを単純化すると、頂点の数が少なくなり、描画時間が短くなる傾向があります。 このパラメーターの値は、移動モード (Python では |
Linear Unit |
|
ルート案内の設定 (オプション) |
ルート案内を生成するかどうかを指定します。
|
Boolean |
|
ルート案内言語 (オプション) |
ルート案内が生成される言語。 ドロップダウン リストに表示される言語は、コンピューターにインストールされている ArcGIS 言語パックによって決まります。 このツールをサービスの一部として、別のサーバー上で公開する予定の場合、ツールが正しく機能するためには、選択する言語に対応する ArcGIS 言語パックが、そのサーバー上にインストールされている必要があります。 また、言語パックがコンピューター上にインストールされていない場合、その言語は、ドロップダウン リストに表示されませんが、選択する代わりに、言語コードを入力することができます。 |
String |
|
ルート案内スタイル名 (オプション) |
ルート案内に使用される書式スタイルを指定します。
|
String |
|
出力ネットワーク解析レイヤーの保存 (オプション) |
レガシー:このパラメーターは ArcGIS Pro では動作せず、無視されます。
|
Boolean |
|
サービスのケーパビリティー (オプション) |
このツールをジオプロセシング サービスとして実行するときに発生するコンピューターの最大処理量を指定します。 このパラメーターを使用することで、許容限度を超えたリソースまたは処理時間を必要とする問題の解析をサーバーに実行させないようにしたり、ビジネス モデルをサポートする異なる配車ルート (VRP) 機能を備えた複数のサービスを作成したりすることができます。 たとえば、段階的サービス ビジネス モデルを採用していて、解析あたり 5 つまでのルートをサポートする無料の配車ルート (VRP) サービスと、解析あたり 6 つ以上のルートをサポートする別の有料サービスを提供する場合などです。 ルートの最大数を制限することに加え、解析に追加できる訪問先またはポイント バリアの数も制限できます。 問題のサイズを制御する別の方法として、ライン バリアまたはポリゴン バリアが交差できるフィーチャ (通常は道路フィーチャ) の最大数を設定する方法があります。 また、指定した直線距離を超えて訪問先が地理的に離れている場合、階層を使用しないように選択していても、解析で強制的に階層を使用できます。 値テーブル列:
|
Value Table |
|
無効な訪問先のロケーションを無視 (オプション) |
配車ルートを解析する際に無効な訪問先を無視するかどうかを指定します。
|
Boolean |
|
移動モード (オプション) |
分析対象の交通モードを選択します。 カスタム は、常に選択肢に含まれています。 その他の移動モードの名前を表示するには、ネットワーク データセット パラメーターで指定されたネットワーク データセットにこれらの移動モードが存在していなければなりません。 移動モードは、ネットワーク データセットで定義され、車、トラック、歩行などの移動モードをまとめてモデル化する一連のパラメーターをオーバーライドする値を指定します。 ここで移動モードを選択した場合、次のパラメーターの値を指定する必要はありません。これらのパラメーターは、ネットワーク データセットで指定された値によってオーバーライドされます:
|
String |
|
ネットワーク ロケーション フィールドを無視 (オプション) |
ネットワーク上で訪問先、拠点、またはバリアを検索する際に、ネットワーク ロケーション フィールドを考慮するかどうかを指定します。
|
Boolean |
|
時間フィールドのタイム ゾーンの使用 (オプション) |
このツールでサポートされている次の入力日時フィールドのタイム ゾーンを指定します。訪問先の UTC 形式での日時の値の指定は、訪問先や拠点があるタイム ゾーンが不明な場合や、訪問先と拠点が複数のタイム ゾーンに分散しているときに、すべての日時の値を同時に開始する必要がある場合に役立ちます。 UTC オプションは、ネットワーク データセットでタイム ゾーン属性が定義されている場合のみ適用されます。 定義されていない場合、すべての日時の値は常に ジオ ローカル (Python では
|
String |
|
オーバーライド (オプション) |
注意:このパラメーターは、内部的な目的のみで使用されます。 |
String |
|
ルート データの保存 (オプション) |
ルート レイヤーを ArcGIS Online または ArcGIS Enterprise で共有するために使用できる形式で解析の入力と出力を保持するファイル ジオデータベースを含む この出力ファイルのデフォルトの出力場所は、スクラッチ フォルダーになります。 スクラッチ フォルダーの場所は、
|
Boolean |
派生した出力
| ラベル | 説明 | データ タイプ |
|---|---|---|
|
出力解析完了 |
配車ルート解析が完了したかどうかを示すブール値。 |
Boolean |
|
出力未配置ストップ名 |
どのルートも立ち寄ることのできない訪問先がリストされたテーブル。 |
Table |
|
出力ストップ |
拠点、訪問先、および休憩地点で止まるストップについての情報を提供するテーブル。 |
Table |
|
出力ルート |
運転手、車両、および配車ルートの車両のルート パスを表すフィーチャクラス。 |
Feature Class |
|
出力ルート案内 |
運転手が割り当てられたルートに追従するのをサポートするターンごとの指示。 |
Feature Class |
|
出力ネットワーク解析レイヤー |
ツール パラメーターで構成されたプロパティを含み、マップ内の詳細な解析やデバッグに使用できるネットワーク解析レイヤー。 |
File |
|
出力ルート データ |
特定のルートに関するすべての情報を含む |
File |
環境
ライセンス情報
- Basic: Network Analyst が必要
- Standard: Network Analyst が必要
- Advanced: Network Analyst が必要