AnsweredAssumed Answered

[VRP] order_pairs or without order_pairs

Question asked by kenson_92 on Jun 21, 2018
Latest reply on Jun 25, 2018 by HMoe-esristaff

I have this sample case:

 

--Settings Details--
3 drivers
Working hours: 08:00 - 17:00
2 Drivers Capacity 20 and 1 Driver Capacity 50
Service Time: 30min

 

 

orderlat/longpickup_location_addresspickup_datepickup_time_windowdelivery_datedelivery_time_windowlat/longdelivery_addresscapacity
11.352840, 103.89387916 Defu Lane 9, Singapore 53925707-07-201808:00-17:0007-07-201808:00-17:001.3123804,103.92372551011 E Coast Rd, Singapore10
21.352840, 103.89387916 Defu Lane 9, Singapore 53925707-07-201808:00-17:0007-07-201808:00-17:001.3627151,103.88755341015 Upper Serangoon Rd, Singapore 53475310
31.352840, 103.89387916 Defu Lane 9, Singapore 53925707-07-201808:00-17:0007-07-201808:00-17:001.3627144, 103.88743951019 Upper Serangoon Rd, Singapore 53475710
41.352840, 103.89387916 Defu Lane 9, Singapore 53925707-07-201808:00-17:0007-07-201808:00-17:001.3628945, 103.8877821023 Upper Serangoon Rd, Singapore 53476110

I got this result from ESRI, without using order pair:

ObjectIDNamePickupQuantitiesDeliveryQuantitiesStopTypeRouteNameSequenceFromPrevTravelTimeFromPrevDistanceArriveCurbApproachDepartCurbApproachArriveTimeDepartTimeArriveTimeUTCDepartTimeUTCWaitTimeViolationTimeArriveAtDepartAt
5Warehouse11001Driver 1100001530950400000153095040000015309216000001530921600000007/7/2018 8:00:007/7/2018 8:00:00
1Deliver Order 1100Driver 1222.9831326414.86543752001530951778988153095357898815309229789881530924778988007/7/2018 8:22:597/7/2018 8:52:59
6001Driver 1300001530953578988153095357898815309247789881530924778988007/7/2018 8:52:597/7/2018 8:52:59
7Warehouse13001Driver 3100001530950400000153095040000015309216000001530921600000007/7/2018 8:00:007/7/2018 8:00:00
4Deliver Order 4100Driver 3225.9540391313.13604334001530951957242153095375724215309231572421530924957242007/7/2018 8:25:577/7/2018 8:55:57
3Deliver Order 3100Driver 330.995536210.3400888982001530953816975153095561697515309250169751530926816975007/7/2018 8:56:577/7/2018 9:26:57
2Deliver Order 2100Driver 340.017065510150.005713383493001530955617998153095741799815309268179981530928617998007/7/2018 9:26:587/7/2018 9:56:58

 

Why is ESRI not fully utilize Driver 3 when it can accommodate all the orders with it capacity?

 

 

I got this result from ESRI, by using order pair:

ObjectIDNamePickupQuantitiesDeliveryQuantitiesStopTypeRouteNameSequenceFromPrevTravelTimeFromPrevDistanceArriveCurbApproachDepartCurbApproachArriveTimeDepartTimeArriveTimeUTCDepartTimeUTCWaitTimeViolationTimeArriveAtDepartAt
9001Driver 3100001530950400000153095040000015309216000001530921600000007/7/2018 8:00:007/7/2018 8:00:00
4Pickup Order 4100Driver 3200001530950400000153095220000015309216000001530923400000007/7/2018 8:00:007/7/2018 8:30:00
8Deliver Order 4100Driver 336.1149133982.015914084001530952566895153095436689515309237668951530925566895007/7/2018 8:36:077/7/2018 9:06:07
3Pickup Order 3100Driver 344.6633299551.691244908001530954646695153095644669515309258466951530927646695007/7/2018 9:10:477/7/2018 9:40:47
7Deliver Order 3100Driver 354.4225017351.464128472001530956712045153095851204515309279120451530929712045007/7/2018 9:45:127/7/2018 10:15:12
2Pickup Order 2100Driver 364.7040495721.713946344001530958794288153096059428815309299942881530931794288007/7/2018 10:19:547/7/2018 10:49:54
6Deliver Order 2100Driver 374.4395672441.469841856001530960860662153096266066215309320606621530933860662007/7/2018 10:54:217/7/2018 11:24:21
1Pickup Order 1100Driver 384.6869840621.70823296001530962941881153096474188115309341418811530935941881007/7/2018 11:29:027/7/2018 11:59:02
5Deliver Order 1100Driver 3912.766388754.894596933001530965507864153096730786415309367078641530938507864007/7/2018 12:11:487/7/2018 12:41:48
10Warehouse1001Driver 31023.9205097214.92517258001530968743095153096874309515309399430951530939943095007/7/2018 13:05:437/7/2018 13:05:43

 

How do we force ESRI to prioritize nearest distance order over delivery window time?

So that Driver 3 can pickup all the orders first before deliver to each location.

 

INPUT (Without using order_pair)INPUT (by using order_pair)

 

// Orders
{
"features": [

{
"geometry": {
"x": 103.9237255,
"y": 1.3123804
},
"attributes": {
"Name": "Deliver Order 1",
"TimeWindowStart1": "1530950400000",
"TimeWindowEnd1": "1530982800000",
"ServiceTime": 30,
"DeliveryQuantities": "10"
}
},
{
"geometry": {
"x": 103.8875534,
"y": 1.3627151
},
"attributes": {
"Name": "Deliver Order 2",
"TimeWindowStart1": "1530950400000",
"TimeWindowEnd1": "1530982800000",
"ServiceTime": 30,
"DeliveryQuantities": "10"
}
},
{
"geometry": {
"x": 103.8874395,
"y": 1.3627144
},
"attributes": {
"Name": "Deliver Order 3",
"TimeWindowStart1": "1530950400000",
"TimeWindowEnd1": "1530982800000",
"ServiceTime": 30,
"DeliveryQuantities": "10"
}
},
{
"geometry": {
"x": 103.887782,
"y": 1.3628945
},
"attributes": {
"Name": "Deliver Order 4",
"TimeWindowStart1": "1530950400000",
"TimeWindowEnd1": "1530982800000",
"ServiceTime": 30,
"DeliveryQuantities": "10"
}
}
]
}
// Depots
{
"features": [
{
"geometry": {
"x": 103.764304,
"y": 1.314898
},
"attributes": {
"Name": "Warehouse1",
"TimeWindowStart1": "1530923400000",
"TimeWindowEnd1": "1531006200000"
}
}
]
}
// Routes
{
"features": [
{
"attributes": {
"Name": "Driver 1",
"Capacities": "20",
"StartDepotName": "Warehouse1",
"EarliestStartTime": "1530950400000",
"LatestStartTime": "1530950400000",
"MaxTotalTime": 540
}
},
{
"attributes": {
"Name": "Driver 2",
"Capacities": "20",
"StartDepotName": "Warehouse1",
"EarliestStartTime": "1530950400000",
"LatestStartTime": "1530950400000",
"MaxTotalTime": 540
}
},
{
"attributes": {
"Name": "Driver 3",
"Capacities": "50",
"StartDepotName": "Warehouse1",
"EarliestStartTime": "1530950400000",
"LatestStartTime": "1530950400000",
"MaxTotalTime": 540
}
}
]
}

 


//Route renewals
{
"features": [
{
"attributes": {
"RouteName": "Driver 1",
"DepotName": "Warehouse1",
"ServiceTime": 30
}
},
{
"attributes": {
"RouteName": "Driver 2",
"DepotName": "Warehouse1",
"ServiceTime": 30
}
},
{
"attributes": {
"RouteName": "Driver 3",
"DepotName": "Warehouse1",
"ServiceTime": 30
}
}
]
}
// Orders
{
"features": [
{
"geometry": {
"x": 103.893879,
"y": 1.352840
},
"attributes": {
"Name": "Pickup Order 1",
"TimeWindowStart1": "1530950400000",
"TimeWindowEnd1": "1530982800000",
"ServiceTime": 30,
"PickupQuantities": "10"
}
},

{
"geometry": {
"x": 103.893879,
"y": 1.352840
},
"attributes": {
"Name": "Pickup Order 2",
"TimeWindowStart1": "1530950400000",
"TimeWindowEnd1": "1530982800000",
"ServiceTime": 30,
"PickupQuantities": "10"
}
},

{
"geometry": {
"x": 103.893879,
"y": 1.352840
},
"attributes": {
"Name": "Pickup Order 3",
"TimeWindowStart1": "1530950400000",
"TimeWindowEnd1": "1530982800000",
"ServiceTime": 30,
"PickupQuantities": "10"
}
},

{
"geometry": {
"x": 103.893879,
"y": 1.352840
},
"attributes": {
"Name": "Pickup Order 4",
"TimeWindowStart1": "1530950400000",
"TimeWindowEnd1": "1530982800000",
"ServiceTime": 30,
"PickupQuantities": "10"
}
},

{
"geometry": {
"x": 103.9237255,
"y": 1.3123804
},
"attributes": {
"Name": "Deliver Order 1",
"TimeWindowStart1": "1530950400000",
"TimeWindowEnd1": "1530982800000",
"ServiceTime": 30,
"DeliveryQuantities": "10"
}
},
{
"geometry": {
"x": 103.8875534,
"y": 1.3627151
},
"attributes": {
"Name": "Deliver Order 2",
"TimeWindowStart1": "1530950400000",
"TimeWindowEnd1": "1530982800000",
"ServiceTime": 30,
"DeliveryQuantities": "10"
}
},
{
"geometry": {
"x": 103.8874395,
"y": 1.3627144
},
"attributes": {
"Name": "Deliver Order 3",
"TimeWindowStart1": "1530950400000",
"TimeWindowEnd1": "1530982800000",
"ServiceTime": 30,
"DeliveryQuantities": "10"
}
},
{
"geometry": {
"x": 103.887782,
"y": 1.3628945
},
"attributes": {
"Name": "Deliver Order 4",
"TimeWindowStart1": "1530950400000",
"TimeWindowEnd1": "1530982800000",
"ServiceTime": 30,
"DeliveryQuantities": "10"
}
}
]
}
// Depots
{
"features": [
{
"geometry": {
"x": 103.764304,
"y": 1.314898
},
"attributes": {
"Name": "Warehouse1",
"TimeWindowStart1": "1530923400000",
"TimeWindowEnd1": "1531006200000"
}
}
]
}
// Routes
{
"features": [
{
"attributes": {
"Name": "Driver 1",
"Capacities": "20",
"EndDepotName": "Warehouse1",
"EarliestStartTime": "1530950400000",
"LatestStartTime": "1530950400000",
"MaxTotalTime": 540
}
},
{
"attributes": {
"Name": "Driver 2",
"Capacities": "20",
"EndDepotName": "Warehouse1",
"EarliestStartTime": "1530950400000",
"LatestStartTime": "1530950400000",
"MaxTotalTime": 540
}
},
{
"attributes": {
"Name": "Driver 3",
"Capacities": "50",
"EndDepotName": "Warehouse1",
"EarliestStartTime": "1530950400000",
"LatestStartTime": "1530950400000",
"MaxTotalTime": 540
}
}
]
}

 

//Order Pairs
{
"features": [
{
"attributes": {
"FirstOrderName": "Pickup Order 1",
"SecondOrderName": "Deliver Order 1"
}
},
{
"attributes": {
"FirstOrderName": "Pickup Order 2",
"SecondOrderName": "Deliver Order 2"
}
},
{
"attributes": {
"FirstOrderName": "Pickup Order 3",
"SecondOrderName": "Deliver Order 3"
}
},
{
"attributes": {
"FirstOrderName": "Pickup Order 4",
"SecondOrderName": "Deliver Order 4"
}
}
]
}

 

 

Outcomes