Skip to content

Commit 5cc5100

Browse files
committed
text/folder add update
1 parent 823366e commit 5cc5100

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

guide/11-performing-network-analyses/part7_vehicle_routing_problem.ipynb

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"source": [
2424
"## Introduction\n",
2525
"\n",
26-
"Now we have learned about Network Datasets and Network Analysis services in [Part 1](../part1-introduction-to-network-analysis), how to find routes from one point to another, and among multiple points in [Part 2](../part2-find-routes), how to generate service area in [Part 3](../part3-generate-service-area), how to find closest facility in [Part 4](../part4-find-closest-facilities), how to create an Origin Destination Cost Matrix in [Part 5](../part5-generate-od-cost-matrix), how to solve location allocation in [Part 6](../part6-solve-location-allocation), let's move onto the seventh topic - how to perform `Vehicle Routing Problem` service. Please refer to the road map below if you want to revisit the previous topics or jump to the next topic -\n",
26+
"Now we have learned about Network Datasets and Network Analysis services in [Part 1](../part1-introduction-to-network-analysis), how to find routes from one point to another & between multiple points in [Part 2](../part2-find-routes), how to generate service areas in [Part 3](../part3-generate-service-area), how to find closest facilities in [Part 4](../part4-find-closest-facilities), how to create an Origin Destination Cost Matrix in [Part 5](../part5-generate-od-cost-matrix), how to solve location allocation in [Part 6](../part6-solve-location-allocation), let's move onto the seventh topic - how to perform the `Vehicle Routing Problem` service. Please refer to the road map below if you want to revisit the previous topics or jump to the next topic:\n",
2727
"\n",
2828
" - Network Dataset and Network Analysis services ([Part 1](../part1-introduction-to-network-analysis)) \n",
2929
" - Find Routes ([Part 2](../part2-find-routes))\n",
@@ -704,9 +704,7 @@
704704
{
705705
"cell_type": "code",
706706
"execution_count": 14,
707-
"metadata": {
708-
"scrolled": false
709-
},
707+
"metadata": {},
710708
"outputs": [
711709
{
712710
"data": {
@@ -1550,7 +1548,7 @@
15501548
"source": [
15511549
"route_data = result1.out_route_data.download('.')\n",
15521550
"root_folder = my_gis.content.folders.get()\n",
1553-
"route_data_item = root_folder.add({\"type\": \"File Geodatabase\"}, route_data)\n",
1551+
"route_data_item = root_folder.add({\"type\": \"File Geodatabase\"}, route_data).result()\n",
15541552
"route_data_item"
15551553
]
15561554
},
@@ -2827,7 +2825,7 @@
28272825
"\n",
28282826
"`Breaks` are the rest periods, for the routes in a given vehicle routing problem. A break is associated with exactly one route, and can be taken after completing an order, while en route to an order, or prior to servicing an order. It has a start time and a duration for which the driver may or may not be paid. There are three options for establishing when a break begins: (1) using a time window, (2) a maximum travel time, or (3) a maximum work time ([5](#references)).\n",
28292827
"\n",
2830-
"In the CSV file we specified below, the time variable being used is `MaxCumuWorkTime`, which represents \"the maximum amount of work time that can be accumulated before the break is taken. Work time is always accumulated from the beginning of the route.\" This field is designed to limit how long a person can work until a break is required. In this case, the time unit for the analysis is set to Minutes, `MaxCumulWorkTime` has a value of 240, and `ServiceTime` has a value of 30, the driver will get a 30-minute break after 4 hours of work.\n",
2828+
"In the CSV file we specified below, the time variable being used is `MaxCumulWorkTime`, which represents \"the maximum amount of work time that can be accumulated before the break is taken. Work time is always accumulated from the beginning of the route.\" This field is designed to limit how long a person can work until a break is required. In this case, the time unit for the analysis is set to Minutes, `MaxCumulWorkTime` has a value of 240, and `ServiceTime` has a value of 30, the driver will get a 30-minute break after 4 hours of work.\n",
28312829
"\n",
28322830
"Otherwise, you can either use a combination of `TimeWindowStart`, `TimeWindowEnd`, and `MaxViolationTime`, or `MaxTravelTimeBetweenBreaks` to specify the time attributes. Remember that these options are mutually exclusive, meaning that if e.g. the `MaxCumuWorkTime` field has a value, then TimeWindowStart, TimeWindowEnd, MaxViolationTime, and MaxTravelTimeBetweenBreaks must be null for an analysis to solve successfully. For more information to these fields, please checkout the REST API Help doc ([5](#references)).\n",
28332831
"\n",
@@ -3033,9 +3031,7 @@
30333031
{
30343032
"cell_type": "code",
30353033
"execution_count": 38,
3036-
"metadata": {
3037-
"scrolled": false
3038-
},
3034+
"metadata": {},
30393035
"outputs": [
30403036
{
30413037
"data": {
@@ -3801,7 +3797,7 @@
38013797
"## Solution 3: Delineates work territories\n",
38023798
"\n",
38033799
"\n",
3804-
"The third example is to delineate work territories for given routes. This scenario is needed whenever -\n",
3800+
"The third example is to delineate work territories for given routes. This scenario is needed whenever:\n",
38053801
" - Some of your employees don't have the required permits to perform work in certain states or communities. You can create a hard route zone so they only visit orders in areas where they meet the requirements.\n",
38063802
" - One of your vehicles breaks down frequently so you want to minimize response time by having it only visit orders that are close to your maintenance garage. You can create a soft or hard route zone to keep the vehicle nearby ([6](#references)).\n",
38073803
"\n",
@@ -4836,7 +4832,7 @@
48364832
"source": [
48374833
"## Conclusions\n",
48384834
"\n",
4839-
"The network module of the ArcGIS API for Python allows you to solve a Vehicle Routing Problem and other network problems with necessary business constraints. In this part of guide, we have explored three different scenarios: (1) Basic scenario, given the stores to visit, the distribution center to load supplies, and the vehicle(s) to deliver goods; (2) Modified scenario, when one of the truck drivers go on vacation, and overtime is required; and (3) With work territories delineated, assuming that certain areas cannot be visited on the route (or under certain penalties if visited). These solutions tend to meet different requirements of the least total cost, the least travel time, and the least distance, respectively. To learn more about how to solve VRP with business constraints <a href=\"https://developers.arcgis.com/python/api-reference/arcgis.network.analysis.html#solve-vehicle-routing-problem\">here</a>."
4835+
"The network module of the ArcGIS API for Python allows you to solve a Vehicle Routing Problem and other network problems with necessary business constraints. In this part of guide, we have explored three different scenarios: (1) Basic scenario, given the stores to visit, the distribution center to load supplies, and the vehicle(s) to deliver goods; (2) Modified scenario, when one of the truck drivers go on vacation, and overtime is required; and (3) With work territories delineated, assuming that certain areas cannot be visited on the route (or under certain penalties if visited). These solutions are oriented to meet different requirements of the least total cost, the least travel time, and the least distance, respectively. To learn more about how to solve VRP with business constraints <a href=\"https://developers.arcgis.com/python/api-reference/arcgis.network.analysis.html#solve-vehicle-routing-problem\">here</a>."
48404836
]
48414837
},
48424838
{
@@ -4875,7 +4871,7 @@
48754871
"name": "python",
48764872
"nbconvert_exporter": "python",
48774873
"pygments_lexer": "ipython3",
4878-
"version": "3.7.11"
4874+
"version": "3.10.14"
48794875
},
48804876
"toc": {
48814877
"base_numbering": 1,
@@ -4921,5 +4917,5 @@
49214917
}
49224918
},
49234919
"nbformat": 4,
4924-
"nbformat_minor": 2
4920+
"nbformat_minor": 4
49254921
}

0 commit comments

Comments
 (0)