Balance travelled distance
Problem
{
"plan": {
"jobs": [
{
"id": "job1",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5697304,
"lng": 13.3848221
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job2",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5060419,
"lng": 13.5152641
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job3",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5421315,
"lng": 13.5189513
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job4",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5243421,
"lng": 13.4619776
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job5",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4629002,
"lng": 13.4757055
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job6",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4960479,
"lng": 13.3915876
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job7",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5372914,
"lng": 13.3996298
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job8",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5429597,
"lng": 13.3989552
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job9",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5678751,
"lng": 13.4231417
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job10",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4945572,
"lng": 13.4698049
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job11",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4989511,
"lng": 13.4740528
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job12",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4658835,
"lng": 13.4461224
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job13",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5685168,
"lng": 13.3690720
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job14",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4742821,
"lng": 13.3628588
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job15",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5650163,
"lng": 13.3027992
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job16",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5496702,
"lng": 13.4286263
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job17",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5058684,
"lng": 13.4750990
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job18",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5473416,
"lng": 13.3327894
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job19",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5276784,
"lng": 13.5465640
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job20",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5192039,
"lng": 13.3044440
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job21",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5228904,
"lng": 13.4418623
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job22",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4828453,
"lng": 13.4363713
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job23",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5291335,
"lng": 13.3668934
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job24",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5261554,
"lng": 13.5062954
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job25",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5189653,
"lng": 13.3890068
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job26",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5090143,
"lng": 13.4368189
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job27",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4940454,
"lng": 13.3788834
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job28",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5065998,
"lng": 13.3689955
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job29",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5473490,
"lng": 13.3733163
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job30",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4695374,
"lng": 13.4914662
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job31",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4868236,
"lng": 13.3353656
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job32",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4661617,
"lng": 13.3226920
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job33",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4917198,
"lng": 13.5251532
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job34",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5431264,
"lng": 13.4416407
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job35",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5426716,
"lng": 13.5161692
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job36",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4708241,
"lng": 13.3598752
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job37",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4737341,
"lng": 13.3866700
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job38",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5404107,
"lng": 13.3914127
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job39",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5492619,
"lng": 13.3693560
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job40",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4827319,
"lng": 13.3157235
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job41",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4711004,
"lng": 13.3321906
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job42",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4871049,
"lng": 13.5423247
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job43",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5614441,
"lng": 13.4194712
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job44",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5414557,
"lng": 13.5276390
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job45",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5425207,
"lng": 13.4139155
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job46",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5632095,
"lng": 13.2940051
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job47",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5146285,
"lng": 13.2852959
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job48",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4855438,
"lng": 13.3832067
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job49",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.5279215,
"lng": 13.4995315
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
},
{
"id": "job50",
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.4959052,
"lng": 13.3539713
},
"duration": 180.0
}
],
"demand": [
1
]
}
]
}
]
},
"fleet": {
"vehicles": [
{
"typeId": "vehicle",
"vehicleIds": [
"vehicle_1",
"vehicle_2",
"vehicle_3",
"vehicle_4",
"vehicle_5"
],
"profile": {
"matrix": "car"
},
"costs": {
"fixed": 20.0,
"distance": 0.0002,
"time": 0.005
},
"shifts": [
{
"start": {
"earliest": "1970-01-01T00:00:00Z",
"location": {
"lat": 52.4664257,
"lng": 13.2812488
}
},
"end": {
"latest": "1970-01-01T23:59:00Z",
"location": {
"lat": 52.4664257,
"lng": 13.2812488
}
}
}
],
"capacity": [
20
]
}
],
"profiles": [
{
"name": "car"
}
]
},
"objectives": [
{
"type": "minimize-unassigned"
},
{
"type": "minimize-tours"
},
{
"type": "multi-objective",
"strategy": {
"name": "sum"
},
"objectives": [
{
"type": "minimize-cost"
},
{
"type": "balance-distance"
}
]
}
]
}
Solution
{
"statistic": {
"cost": 273.0455999999999,
"distance": 182928,
"duration": 27292,
"times": {
"driving": 18292,
"serving": 9000,
"waiting": 0,
"break": 0
}
},
"tours": [
{
"vehicleId": "vehicle_1",
"typeId": "vehicle",
"shiftIndex": 0,
"stops": [
{
"location": {
"lat": 52.4664257,
"lng": 13.2812488
},
"time": {
"arrival": "1970-01-01T00:00:00Z",
"departure": "1970-01-01T00:00:00Z"
},
"distance": 0,
"load": [
10
],
"activities": [
{
"jobId": "departure",
"type": "departure"
}
]
},
{
"location": {
"lat": 52.4960479,
"lng": 13.3915876
},
"time": {
"arrival": "1970-01-01T00:13:38Z",
"departure": "1970-01-01T00:16:38Z"
},
"distance": 8175,
"load": [
9
],
"activities": [
{
"jobId": "job6",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5090143,
"lng": 13.4368189
},
"time": {
"arrival": "1970-01-01T00:22:17Z",
"departure": "1970-01-01T00:25:17Z"
},
"distance": 11563,
"load": [
8
],
"activities": [
{
"jobId": "job26",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5261554,
"lng": 13.5062954
},
"time": {
"arrival": "1970-01-01T00:33:45Z",
"departure": "1970-01-01T00:36:45Z"
},
"distance": 16641,
"load": [
7
],
"activities": [
{
"jobId": "job24",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5276784,
"lng": 13.546564
},
"time": {
"arrival": "1970-01-01T00:41:18Z",
"departure": "1970-01-01T00:44:18Z"
},
"distance": 19373,
"load": [
6
],
"activities": [
{
"jobId": "job19",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5060419,
"lng": 13.5152641
},
"time": {
"arrival": "1970-01-01T00:49:39Z",
"departure": "1970-01-01T00:52:39Z"
},
"distance": 22582,
"load": [
5
],
"activities": [
{
"jobId": "job2",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4989511,
"lng": 13.4740528
},
"time": {
"arrival": "1970-01-01T00:57:29Z",
"departure": "1970-01-01T01:00:29Z"
},
"distance": 25484,
"load": [
4
],
"activities": [
{
"jobId": "job11",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4945572,
"lng": 13.4698049
},
"time": {
"arrival": "1970-01-01T01:01:26Z",
"departure": "1970-01-01T01:04:26Z"
},
"distance": 26052,
"load": [
3
],
"activities": [
{
"jobId": "job10",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4828453,
"lng": 13.4363713
},
"time": {
"arrival": "1970-01-01T01:08:47Z",
"departure": "1970-01-01T01:11:47Z"
},
"distance": 28667,
"load": [
2
],
"activities": [
{
"jobId": "job22",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4742821,
"lng": 13.3628588
},
"time": {
"arrival": "1970-01-01T01:20:14Z",
"departure": "1970-01-01T01:23:14Z"
},
"distance": 33741,
"load": [
1
],
"activities": [
{
"jobId": "job14",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4711004,
"lng": 13.3321906
},
"time": {
"arrival": "1970-01-01T01:26:45Z",
"departure": "1970-01-01T01:29:45Z"
},
"distance": 35851,
"load": [
0
],
"activities": [
{
"jobId": "job41",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4664257,
"lng": 13.2812488
},
"time": {
"arrival": "1970-01-01T01:35:34Z",
"departure": "1970-01-01T01:35:34Z"
},
"distance": 39345,
"load": [
0
],
"activities": [
{
"jobId": "arrival",
"type": "arrival"
}
]
}
],
"statistic": {
"cost": 56.538999999999994,
"distance": 39345,
"duration": 5734,
"times": {
"driving": 3934,
"serving": 1800,
"waiting": 0,
"break": 0
}
}
},
{
"vehicleId": "vehicle_5",
"typeId": "vehicle",
"shiftIndex": 0,
"stops": [
{
"location": {
"lat": 52.4664257,
"lng": 13.2812488
},
"time": {
"arrival": "1970-01-01T00:00:00Z",
"departure": "1970-01-01T00:00:00Z"
},
"distance": 0,
"load": [
10
],
"activities": [
{
"jobId": "departure",
"type": "departure"
}
]
},
{
"location": {
"lat": 52.5146285,
"lng": 13.2852959
},
"time": {
"arrival": "1970-01-01T00:08:57Z",
"departure": "1970-01-01T00:11:57Z"
},
"distance": 5373,
"load": [
9
],
"activities": [
{
"jobId": "job47",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5192039,
"lng": 13.304444
},
"time": {
"arrival": "1970-01-01T00:14:16Z",
"departure": "1970-01-01T00:17:16Z"
},
"distance": 6767,
"load": [
8
],
"activities": [
{
"jobId": "job20",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5632095,
"lng": 13.2940051
},
"time": {
"arrival": "1970-01-01T00:25:31Z",
"departure": "1970-01-01T00:28:31Z"
},
"distance": 11716,
"load": [
7
],
"activities": [
{
"jobId": "job46",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5650163,
"lng": 13.3027992
},
"time": {
"arrival": "1970-01-01T00:29:34Z",
"departure": "1970-01-01T00:32:34Z"
},
"distance": 12344,
"load": [
6
],
"activities": [
{
"jobId": "job15",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5473416,
"lng": 13.3327894
},
"time": {
"arrival": "1970-01-01T00:37:17Z",
"departure": "1970-01-01T00:40:17Z"
},
"distance": 15171,
"load": [
5
],
"activities": [
{
"jobId": "job18",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5685168,
"lng": 13.369072
},
"time": {
"arrival": "1970-01-01T00:45:57Z",
"departure": "1970-01-01T00:48:57Z"
},
"distance": 18575,
"load": [
4
],
"activities": [
{
"jobId": "job13",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5697304,
"lng": 13.3848221
},
"time": {
"arrival": "1970-01-01T00:50:44Z",
"departure": "1970-01-01T00:53:44Z"
},
"distance": 19649,
"load": [
3
],
"activities": [
{
"jobId": "job1",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5492619,
"lng": 13.369356
},
"time": {
"arrival": "1970-01-01T00:57:55Z",
"departure": "1970-01-01T01:00:55Z"
},
"distance": 22156,
"load": [
2
],
"activities": [
{
"jobId": "job39",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5291335,
"lng": 13.3668934
},
"time": {
"arrival": "1970-01-01T01:04:40Z",
"departure": "1970-01-01T01:07:40Z"
},
"distance": 24403,
"load": [
1
],
"activities": [
{
"jobId": "job23",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5065998,
"lng": 13.3689955
},
"time": {
"arrival": "1970-01-01T01:11:51Z",
"departure": "1970-01-01T01:14:51Z"
},
"distance": 26915,
"load": [
0
],
"activities": [
{
"jobId": "job28",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4664257,
"lng": 13.2812488
},
"time": {
"arrival": "1970-01-01T01:27:15Z",
"departure": "1970-01-01T01:27:15Z"
},
"distance": 34357,
"load": [
0
],
"activities": [
{
"jobId": "arrival",
"type": "arrival"
}
]
}
],
"statistic": {
"cost": 53.0464,
"distance": 34357,
"duration": 5235,
"times": {
"driving": 3435,
"serving": 1800,
"waiting": 0,
"break": 0
}
}
},
{
"vehicleId": "vehicle_4",
"typeId": "vehicle",
"shiftIndex": 0,
"stops": [
{
"location": {
"lat": 52.4664257,
"lng": 13.2812488
},
"time": {
"arrival": "1970-01-01T00:00:00Z",
"departure": "1970-01-01T00:00:00Z"
},
"distance": 0,
"load": [
10
],
"activities": [
{
"jobId": "departure",
"type": "departure"
}
]
},
{
"location": {
"lat": 52.547349,
"lng": 13.3733163
},
"time": {
"arrival": "1970-01-01T00:18:16Z",
"departure": "1970-01-01T00:21:16Z"
},
"distance": 10957,
"load": [
9
],
"activities": [
{
"jobId": "job29",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5404107,
"lng": 13.3914127
},
"time": {
"arrival": "1970-01-01T00:23:41Z",
"departure": "1970-01-01T00:26:41Z"
},
"distance": 12405,
"load": [
8
],
"activities": [
{
"jobId": "job38",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5429597,
"lng": 13.3989552
},
"time": {
"arrival": "1970-01-01T00:27:39Z",
"departure": "1970-01-01T00:30:39Z"
},
"distance": 12989,
"load": [
7
],
"activities": [
{
"jobId": "job8",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5614441,
"lng": 13.4194712
},
"time": {
"arrival": "1970-01-01T00:34:47Z",
"departure": "1970-01-01T00:37:47Z"
},
"distance": 15471,
"load": [
6
],
"activities": [
{
"jobId": "job43",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5678751,
"lng": 13.4231417
},
"time": {
"arrival": "1970-01-01T00:39:03Z",
"departure": "1970-01-01T00:42:03Z"
},
"distance": 16229,
"load": [
5
],
"activities": [
{
"jobId": "job9",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5496702,
"lng": 13.4286263
},
"time": {
"arrival": "1970-01-01T00:45:29Z",
"departure": "1970-01-01T00:48:29Z"
},
"distance": 18289,
"load": [
4
],
"activities": [
{
"jobId": "job16",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5431264,
"lng": 13.4416407
},
"time": {
"arrival": "1970-01-01T00:50:23Z",
"departure": "1970-01-01T00:53:23Z"
},
"distance": 19432,
"load": [
3
],
"activities": [
{
"jobId": "job34",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5425207,
"lng": 13.4139155
},
"time": {
"arrival": "1970-01-01T00:56:31Z",
"departure": "1970-01-01T00:59:31Z"
},
"distance": 21310,
"load": [
2
],
"activities": [
{
"jobId": "job45",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5372914,
"lng": 13.3996298
},
"time": {
"arrival": "1970-01-01T01:01:24Z",
"departure": "1970-01-01T01:04:24Z"
},
"distance": 22439,
"load": [
1
],
"activities": [
{
"jobId": "job7",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5189653,
"lng": 13.3890068
},
"time": {
"arrival": "1970-01-01T01:08:00Z",
"departure": "1970-01-01T01:11:00Z"
},
"distance": 24602,
"load": [
0
],
"activities": [
{
"jobId": "job25",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4664257,
"lng": 13.2812488
},
"time": {
"arrival": "1970-01-01T01:26:36Z",
"departure": "1970-01-01T01:26:36Z"
},
"distance": 33959,
"load": [
0
],
"activities": [
{
"jobId": "arrival",
"type": "arrival"
}
]
}
],
"statistic": {
"cost": 52.77179999999999,
"distance": 33959,
"duration": 5196,
"times": {
"driving": 3396,
"serving": 1800,
"waiting": 0,
"break": 0
}
}
},
{
"vehicleId": "vehicle_2",
"typeId": "vehicle",
"shiftIndex": 0,
"stops": [
{
"location": {
"lat": 52.4664257,
"lng": 13.2812488
},
"time": {
"arrival": "1970-01-01T00:00:00Z",
"departure": "1970-01-01T00:00:00Z"
},
"distance": 0,
"load": [
10
],
"activities": [
{
"jobId": "departure",
"type": "departure"
}
]
},
{
"location": {
"lat": 52.4661617,
"lng": 13.322692
},
"time": {
"arrival": "1970-01-01T00:04:41Z",
"departure": "1970-01-01T00:07:41Z"
},
"distance": 2811,
"load": [
9
],
"activities": [
{
"jobId": "job32",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4708241,
"lng": 13.3598752
},
"time": {
"arrival": "1970-01-01T00:11:58Z",
"departure": "1970-01-01T00:14:58Z"
},
"distance": 5385,
"load": [
8
],
"activities": [
{
"jobId": "job36",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4737341,
"lng": 13.38667
},
"time": {
"arrival": "1970-01-01T00:18:03Z",
"departure": "1970-01-01T00:21:03Z"
},
"distance": 7231,
"load": [
7
],
"activities": [
{
"jobId": "job37",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4658835,
"lng": 13.4461224
},
"time": {
"arrival": "1970-01-01T00:27:56Z",
"departure": "1970-01-01T00:30:56Z"
},
"distance": 11356,
"load": [
6
],
"activities": [
{
"jobId": "job12",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4629002,
"lng": 13.4757055
},
"time": {
"arrival": "1970-01-01T00:34:19Z",
"departure": "1970-01-01T00:37:19Z"
},
"distance": 13390,
"load": [
5
],
"activities": [
{
"jobId": "job5",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4695374,
"lng": 13.4914662
},
"time": {
"arrival": "1970-01-01T00:39:29Z",
"departure": "1970-01-01T00:42:29Z"
},
"distance": 14689,
"load": [
4
],
"activities": [
{
"jobId": "job30",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4871049,
"lng": 13.5423247
},
"time": {
"arrival": "1970-01-01T00:49:05Z",
"departure": "1970-01-01T00:52:05Z"
},
"distance": 18653,
"load": [
3
],
"activities": [
{
"jobId": "job42",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4917198,
"lng": 13.5251532
},
"time": {
"arrival": "1970-01-01T00:54:12Z",
"departure": "1970-01-01T00:57:12Z"
},
"distance": 19925,
"load": [
2
],
"activities": [
{
"jobId": "job33",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5058684,
"lng": 13.475099
},
"time": {
"arrival": "1970-01-01T01:03:26Z",
"departure": "1970-01-01T01:06:26Z"
},
"distance": 23665,
"load": [
1
],
"activities": [
{
"jobId": "job17",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4855438,
"lng": 13.3832067
},
"time": {
"arrival": "1970-01-01T01:17:29Z",
"departure": "1970-01-01T01:20:29Z"
},
"distance": 30291,
"load": [
0
],
"activities": [
{
"jobId": "job48",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4664257,
"lng": 13.2812488
},
"time": {
"arrival": "1970-01-01T01:32:32Z",
"departure": "1970-01-01T01:32:32Z"
},
"distance": 37524,
"load": [
0
],
"activities": [
{
"jobId": "arrival",
"type": "arrival"
}
]
}
],
"statistic": {
"cost": 55.264799999999994,
"distance": 37524,
"duration": 5552,
"times": {
"driving": 3752,
"serving": 1800,
"waiting": 0,
"break": 0
}
}
},
{
"vehicleId": "vehicle_3",
"typeId": "vehicle",
"shiftIndex": 0,
"stops": [
{
"location": {
"lat": 52.4664257,
"lng": 13.2812488
},
"time": {
"arrival": "1970-01-01T00:00:00Z",
"departure": "1970-01-01T00:00:00Z"
},
"distance": 0,
"load": [
10
],
"activities": [
{
"jobId": "departure",
"type": "departure"
}
]
},
{
"location": {
"lat": 52.4827319,
"lng": 13.3157235
},
"time": {
"arrival": "1970-01-01T00:04:56Z",
"departure": "1970-01-01T00:07:56Z"
},
"distance": 2960,
"load": [
9
],
"activities": [
{
"jobId": "job40",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4868236,
"lng": 13.3353656
},
"time": {
"arrival": "1970-01-01T00:10:17Z",
"departure": "1970-01-01T00:13:17Z"
},
"distance": 4367,
"load": [
8
],
"activities": [
{
"jobId": "job31",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4959052,
"lng": 13.3539713
},
"time": {
"arrival": "1970-01-01T00:15:59Z",
"departure": "1970-01-01T00:18:59Z"
},
"distance": 5983,
"load": [
7
],
"activities": [
{
"jobId": "job50",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5228904,
"lng": 13.4418623
},
"time": {
"arrival": "1970-01-01T00:30:06Z",
"departure": "1970-01-01T00:33:06Z"
},
"distance": 12653,
"load": [
6
],
"activities": [
{
"jobId": "job21",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5243421,
"lng": 13.4619776
},
"time": {
"arrival": "1970-01-01T00:35:23Z",
"departure": "1970-01-01T00:38:23Z"
},
"distance": 14025,
"load": [
5
],
"activities": [
{
"jobId": "job4",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5426716,
"lng": 13.5161692
},
"time": {
"arrival": "1970-01-01T00:45:23Z",
"departure": "1970-01-01T00:48:23Z"
},
"distance": 18224,
"load": [
4
],
"activities": [
{
"jobId": "job35",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5421315,
"lng": 13.5189513
},
"time": {
"arrival": "1970-01-01T00:48:43Z",
"departure": "1970-01-01T00:51:43Z"
},
"distance": 18422,
"load": [
3
],
"activities": [
{
"jobId": "job3",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5414557,
"lng": 13.527639
},
"time": {
"arrival": "1970-01-01T00:52:42Z",
"departure": "1970-01-01T00:55:42Z"
},
"distance": 19015,
"load": [
2
],
"activities": [
{
"jobId": "job44",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.5279215,
"lng": 13.4995315
},
"time": {
"arrival": "1970-01-01T00:59:45Z",
"departure": "1970-01-01T01:02:45Z"
},
"distance": 21442,
"load": [
1
],
"activities": [
{
"jobId": "job49",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4940454,
"lng": 13.3788834
},
"time": {
"arrival": "1970-01-01T01:17:45Z",
"departure": "1970-01-01T01:20:45Z"
},
"distance": 30444,
"load": [
0
],
"activities": [
{
"jobId": "job27",
"type": "delivery"
}
]
},
{
"location": {
"lat": 52.4664257,
"lng": 13.2812488
},
"time": {
"arrival": "1970-01-01T01:32:55Z",
"departure": "1970-01-01T01:32:55Z"
},
"distance": 37743,
"load": [
0
],
"activities": [
{
"jobId": "arrival",
"type": "arrival"
}
]
}
],
"statistic": {
"cost": 55.42359999999999,
"distance": 37743,
"duration": 5575,
"times": {
"driving": 3775,
"serving": 1800,
"waiting": 0,
"break": 0
}
}
}
],
"unassigned": []
}
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"jobs_ids": "departure",
"stop_idx": "0",
"marker-size": "medium",
"tour_idx": "0",
"marker-color": "#e6194b",
"marker-symbol": "warehouse"
},
"geometry": {
"type": "Point",
"coordinates": [
13.2812488,
52.4664257
]
}
},
{
"type": "Feature",
"properties": {
"marker-symbol": "marker",
"stop_idx": "1",
"marker-size": "medium",
"tour_idx": "0",
"jobs_ids": "job6",
"marker-color": "#e6194b"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3915876,
52.4960479
]
}
},
{
"type": "Feature",
"properties": {
"stop_idx": "2",
"marker-symbol": "marker",
"marker-color": "#e6194b",
"jobs_ids": "job26",
"tour_idx": "0",
"marker-size": "medium"
},
"geometry": {
"type": "Point",
"coordinates": [
13.4368189,
52.5090143
]
}
},
{
"type": "Feature",
"properties": {
"tour_idx": "0",
"jobs_ids": "job24",
"marker-size": "medium",
"marker-symbol": "marker",
"marker-color": "#e6194b",
"stop_idx": "3"
},
"geometry": {
"type": "Point",
"coordinates": [
13.5062954,
52.5261554
]
}
},
{
"type": "Feature",
"properties": {
"jobs_ids": "job19",
"marker-symbol": "marker",
"marker-size": "medium",
"marker-color": "#e6194b",
"tour_idx": "0",
"stop_idx": "4"
},
"geometry": {
"type": "Point",
"coordinates": [
13.546564,
52.5276784
]
}
},
{
"type": "Feature",
"properties": {
"jobs_ids": "job2",
"tour_idx": "0",
"marker-size": "medium",
"marker-color": "#e6194b",
"stop_idx": "5",
"marker-symbol": "marker"
},
"geometry": {
"type": "Point",
"coordinates": [
13.5152641,
52.5060419
]
}
},
{
"type": "Feature",
"properties": {
"tour_idx": "0",
"jobs_ids": "job11",
"marker-color": "#e6194b",
"marker-size": "medium",
"marker-symbol": "marker",
"stop_idx": "6"
},
"geometry": {
"type": "Point",
"coordinates": [
13.4740528,
52.4989511
]
}
},
{
"type": "Feature",
"properties": {
"jobs_ids": "job10",
"marker-symbol": "marker",
"tour_idx": "0",
"marker-color": "#e6194b",
"stop_idx": "7",
"marker-size": "medium"
},
"geometry": {
"type": "Point",
"coordinates": [
13.4698049,
52.4945572
]
}
},
{
"type": "Feature",
"properties": {
"marker-color": "#e6194b",
"marker-size": "medium",
"jobs_ids": "job22",
"marker-symbol": "marker",
"stop_idx": "8",
"tour_idx": "0"
},
"geometry": {
"type": "Point",
"coordinates": [
13.4363713,
52.4828453
]
}
},
{
"type": "Feature",
"properties": {
"marker-color": "#e6194b",
"tour_idx": "0",
"stop_idx": "9",
"marker-size": "medium",
"jobs_ids": "job14",
"marker-symbol": "marker"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3628588,
52.4742821
]
}
},
{
"type": "Feature",
"properties": {
"stop_idx": "10",
"marker-color": "#e6194b",
"jobs_ids": "job41",
"marker-size": "medium",
"marker-symbol": "marker",
"tour_idx": "0"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3321906,
52.4711004
]
}
},
{
"type": "Feature",
"properties": {
"jobs_ids": "arrival",
"stop_idx": "11",
"marker-size": "medium",
"tour_idx": "0",
"marker-symbol": "warehouse",
"marker-color": "#e6194b"
},
"geometry": {
"type": "Point",
"coordinates": [
13.2812488,
52.4664257
]
}
},
{
"type": "Feature",
"properties": {
"marker-symbol": "warehouse",
"tour_idx": "1",
"jobs_ids": "departure",
"marker-size": "medium",
"marker-color": "#808080",
"stop_idx": "0"
},
"geometry": {
"type": "Point",
"coordinates": [
13.2812488,
52.4664257
]
}
},
{
"type": "Feature",
"properties": {
"marker-symbol": "marker",
"tour_idx": "1",
"marker-color": "#808080",
"marker-size": "medium",
"stop_idx": "1",
"jobs_ids": "job47"
},
"geometry": {
"type": "Point",
"coordinates": [
13.2852959,
52.5146285
]
}
},
{
"type": "Feature",
"properties": {
"stop_idx": "2",
"jobs_ids": "job20",
"marker-size": "medium",
"marker-color": "#808080",
"marker-symbol": "marker",
"tour_idx": "1"
},
"geometry": {
"type": "Point",
"coordinates": [
13.304444,
52.5192039
]
}
},
{
"type": "Feature",
"properties": {
"tour_idx": "1",
"stop_idx": "3",
"jobs_ids": "job46",
"marker-color": "#808080",
"marker-size": "medium",
"marker-symbol": "marker"
},
"geometry": {
"type": "Point",
"coordinates": [
13.2940051,
52.5632095
]
}
},
{
"type": "Feature",
"properties": {
"jobs_ids": "job15",
"marker-color": "#808080",
"marker-size": "medium",
"tour_idx": "1",
"stop_idx": "4",
"marker-symbol": "marker"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3027992,
52.5650163
]
}
},
{
"type": "Feature",
"properties": {
"marker-size": "medium",
"marker-color": "#808080",
"tour_idx": "1",
"stop_idx": "5",
"marker-symbol": "marker",
"jobs_ids": "job18"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3327894,
52.5473416
]
}
},
{
"type": "Feature",
"properties": {
"marker-size": "medium",
"stop_idx": "6",
"marker-color": "#808080",
"tour_idx": "1",
"jobs_ids": "job13",
"marker-symbol": "marker"
},
"geometry": {
"type": "Point",
"coordinates": [
13.369072,
52.5685168
]
}
},
{
"type": "Feature",
"properties": {
"stop_idx": "7",
"tour_idx": "1",
"jobs_ids": "job1",
"marker-symbol": "marker",
"marker-size": "medium",
"marker-color": "#808080"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3848221,
52.5697304
]
}
},
{
"type": "Feature",
"properties": {
"jobs_ids": "job39",
"marker-color": "#808080",
"stop_idx": "8",
"tour_idx": "1",
"marker-symbol": "marker",
"marker-size": "medium"
},
"geometry": {
"type": "Point",
"coordinates": [
13.369356,
52.5492619
]
}
},
{
"type": "Feature",
"properties": {
"tour_idx": "1",
"jobs_ids": "job23",
"marker-size": "medium",
"marker-color": "#808080",
"stop_idx": "9",
"marker-symbol": "marker"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3668934,
52.5291335
]
}
},
{
"type": "Feature",
"properties": {
"jobs_ids": "job28",
"marker-symbol": "marker",
"marker-size": "medium",
"marker-color": "#808080",
"stop_idx": "10",
"tour_idx": "1"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3689955,
52.5065998
]
}
},
{
"type": "Feature",
"properties": {
"marker-symbol": "warehouse",
"jobs_ids": "arrival",
"marker-color": "#808080",
"marker-size": "medium",
"tour_idx": "1",
"stop_idx": "11"
},
"geometry": {
"type": "Point",
"coordinates": [
13.2812488,
52.4664257
]
}
},
{
"type": "Feature",
"properties": {
"marker-symbol": "warehouse",
"marker-size": "medium",
"jobs_ids": "departure",
"stop_idx": "0",
"marker-color": "#000075",
"tour_idx": "2"
},
"geometry": {
"type": "Point",
"coordinates": [
13.2812488,
52.4664257
]
}
},
{
"type": "Feature",
"properties": {
"marker-symbol": "marker",
"tour_idx": "2",
"marker-color": "#000075",
"stop_idx": "1",
"jobs_ids": "job29",
"marker-size": "medium"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3733163,
52.547349
]
}
},
{
"type": "Feature",
"properties": {
"marker-symbol": "marker",
"marker-size": "medium",
"marker-color": "#000075",
"stop_idx": "2",
"tour_idx": "2",
"jobs_ids": "job38"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3914127,
52.5404107
]
}
},
{
"type": "Feature",
"properties": {
"stop_idx": "3",
"marker-symbol": "marker",
"marker-color": "#000075",
"jobs_ids": "job8",
"tour_idx": "2",
"marker-size": "medium"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3989552,
52.5429597
]
}
},
{
"type": "Feature",
"properties": {
"tour_idx": "2",
"marker-symbol": "marker",
"marker-color": "#000075",
"marker-size": "medium",
"stop_idx": "4",
"jobs_ids": "job43"
},
"geometry": {
"type": "Point",
"coordinates": [
13.4194712,
52.5614441
]
}
},
{
"type": "Feature",
"properties": {
"tour_idx": "2",
"marker-symbol": "marker",
"marker-color": "#000075",
"marker-size": "medium",
"stop_idx": "5",
"jobs_ids": "job9"
},
"geometry": {
"type": "Point",
"coordinates": [
13.4231417,
52.5678751
]
}
},
{
"type": "Feature",
"properties": {
"stop_idx": "6",
"jobs_ids": "job16",
"marker-color": "#000075",
"marker-size": "medium",
"marker-symbol": "marker",
"tour_idx": "2"
},
"geometry": {
"type": "Point",
"coordinates": [
13.4286263,
52.5496702
]
}
},
{
"type": "Feature",
"properties": {
"marker-size": "medium",
"jobs_ids": "job34",
"tour_idx": "2",
"stop_idx": "7",
"marker-symbol": "marker",
"marker-color": "#000075"
},
"geometry": {
"type": "Point",
"coordinates": [
13.4416407,
52.5431264
]
}
},
{
"type": "Feature",
"properties": {
"marker-size": "medium",
"tour_idx": "2",
"stop_idx": "8",
"marker-color": "#000075",
"jobs_ids": "job45",
"marker-symbol": "marker"
},
"geometry": {
"type": "Point",
"coordinates": [
13.4139155,
52.5425207
]
}
},
{
"type": "Feature",
"properties": {
"stop_idx": "9",
"jobs_ids": "job7",
"marker-size": "medium",
"marker-symbol": "marker",
"tour_idx": "2",
"marker-color": "#000075"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3996298,
52.5372914
]
}
},
{
"type": "Feature",
"properties": {
"marker-size": "medium",
"tour_idx": "2",
"marker-color": "#000075",
"jobs_ids": "job25",
"marker-symbol": "marker",
"stop_idx": "10"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3890068,
52.5189653
]
}
},
{
"type": "Feature",
"properties": {
"marker-size": "medium",
"marker-symbol": "warehouse",
"stop_idx": "11",
"jobs_ids": "arrival",
"tour_idx": "2",
"marker-color": "#000075"
},
"geometry": {
"type": "Point",
"coordinates": [
13.2812488,
52.4664257
]
}
},
{
"type": "Feature",
"properties": {
"stop_idx": "0",
"jobs_ids": "departure",
"marker-color": "#808000",
"marker-size": "medium",
"tour_idx": "3",
"marker-symbol": "warehouse"
},
"geometry": {
"type": "Point",
"coordinates": [
13.2812488,
52.4664257
]
}
},
{
"type": "Feature",
"properties": {
"jobs_ids": "job32",
"tour_idx": "3",
"marker-symbol": "marker",
"marker-size": "medium",
"marker-color": "#808000",
"stop_idx": "1"
},
"geometry": {
"type": "Point",
"coordinates": [
13.322692,
52.4661617
]
}
},
{
"type": "Feature",
"properties": {
"marker-symbol": "marker",
"marker-size": "medium",
"stop_idx": "2",
"jobs_ids": "job36",
"marker-color": "#808000",
"tour_idx": "3"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3598752,
52.4708241
]
}
},
{
"type": "Feature",
"properties": {
"marker-color": "#808000",
"marker-size": "medium",
"tour_idx": "3",
"jobs_ids": "job37",
"marker-symbol": "marker",
"stop_idx": "3"
},
"geometry": {
"type": "Point",
"coordinates": [
13.38667,
52.4737341
]
}
},
{
"type": "Feature",
"properties": {
"marker-symbol": "marker",
"marker-size": "medium",
"tour_idx": "3",
"jobs_ids": "job12",
"stop_idx": "4",
"marker-color": "#808000"
},
"geometry": {
"type": "Point",
"coordinates": [
13.4461224,
52.4658835
]
}
},
{
"type": "Feature",
"properties": {
"jobs_ids": "job5",
"stop_idx": "5",
"marker-size": "medium",
"marker-color": "#808000",
"marker-symbol": "marker",
"tour_idx": "3"
},
"geometry": {
"type": "Point",
"coordinates": [
13.4757055,
52.4629002
]
}
},
{
"type": "Feature",
"properties": {
"jobs_ids": "job30",
"stop_idx": "6",
"marker-size": "medium",
"marker-symbol": "marker",
"marker-color": "#808000",
"tour_idx": "3"
},
"geometry": {
"type": "Point",
"coordinates": [
13.4914662,
52.4695374
]
}
},
{
"type": "Feature",
"properties": {
"tour_idx": "3",
"stop_idx": "7",
"jobs_ids": "job42",
"marker-size": "medium",
"marker-symbol": "marker",
"marker-color": "#808000"
},
"geometry": {
"type": "Point",
"coordinates": [
13.5423247,
52.4871049
]
}
},
{
"type": "Feature",
"properties": {
"tour_idx": "3",
"stop_idx": "8",
"marker-color": "#808000",
"marker-size": "medium",
"marker-symbol": "marker",
"jobs_ids": "job33"
},
"geometry": {
"type": "Point",
"coordinates": [
13.5251532,
52.4917198
]
}
},
{
"type": "Feature",
"properties": {
"marker-symbol": "marker",
"tour_idx": "3",
"marker-color": "#808000",
"jobs_ids": "job17",
"stop_idx": "9",
"marker-size": "medium"
},
"geometry": {
"type": "Point",
"coordinates": [
13.475099,
52.5058684
]
}
},
{
"type": "Feature",
"properties": {
"jobs_ids": "job48",
"tour_idx": "3",
"marker-symbol": "marker",
"stop_idx": "10",
"marker-color": "#808000",
"marker-size": "medium"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3832067,
52.4855438
]
}
},
{
"type": "Feature",
"properties": {
"marker-color": "#808000",
"marker-size": "medium",
"stop_idx": "11",
"tour_idx": "3",
"jobs_ids": "arrival",
"marker-symbol": "warehouse"
},
"geometry": {
"type": "Point",
"coordinates": [
13.2812488,
52.4664257
]
}
},
{
"type": "Feature",
"properties": {
"marker-color": "#800000",
"marker-size": "medium",
"marker-symbol": "warehouse",
"tour_idx": "4",
"stop_idx": "0",
"jobs_ids": "departure"
},
"geometry": {
"type": "Point",
"coordinates": [
13.2812488,
52.4664257
]
}
},
{
"type": "Feature",
"properties": {
"jobs_ids": "job40",
"marker-symbol": "marker",
"marker-color": "#800000",
"marker-size": "medium",
"tour_idx": "4",
"stop_idx": "1"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3157235,
52.4827319
]
}
},
{
"type": "Feature",
"properties": {
"marker-symbol": "marker",
"jobs_ids": "job31",
"tour_idx": "4",
"marker-size": "medium",
"marker-color": "#800000",
"stop_idx": "2"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3353656,
52.4868236
]
}
},
{
"type": "Feature",
"properties": {
"stop_idx": "3",
"jobs_ids": "job50",
"marker-color": "#800000",
"tour_idx": "4",
"marker-size": "medium",
"marker-symbol": "marker"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3539713,
52.4959052
]
}
},
{
"type": "Feature",
"properties": {
"stop_idx": "4",
"jobs_ids": "job21",
"marker-color": "#800000",
"marker-symbol": "marker",
"marker-size": "medium",
"tour_idx": "4"
},
"geometry": {
"type": "Point",
"coordinates": [
13.4418623,
52.5228904
]
}
},
{
"type": "Feature",
"properties": {
"stop_idx": "5",
"marker-size": "medium",
"marker-color": "#800000",
"marker-symbol": "marker",
"jobs_ids": "job4",
"tour_idx": "4"
},
"geometry": {
"type": "Point",
"coordinates": [
13.4619776,
52.5243421
]
}
},
{
"type": "Feature",
"properties": {
"marker-color": "#800000",
"marker-size": "medium",
"marker-symbol": "marker",
"tour_idx": "4",
"stop_idx": "6",
"jobs_ids": "job35"
},
"geometry": {
"type": "Point",
"coordinates": [
13.5161692,
52.5426716
]
}
},
{
"type": "Feature",
"properties": {
"marker-color": "#800000",
"marker-symbol": "marker",
"stop_idx": "7",
"jobs_ids": "job3",
"marker-size": "medium",
"tour_idx": "4"
},
"geometry": {
"type": "Point",
"coordinates": [
13.5189513,
52.5421315
]
}
},
{
"type": "Feature",
"properties": {
"marker-size": "medium",
"marker-symbol": "marker",
"stop_idx": "8",
"tour_idx": "4",
"jobs_ids": "job44",
"marker-color": "#800000"
},
"geometry": {
"type": "Point",
"coordinates": [
13.527639,
52.5414557
]
}
},
{
"type": "Feature",
"properties": {
"marker-color": "#800000",
"tour_idx": "4",
"marker-size": "medium",
"stop_idx": "9",
"jobs_ids": "job49",
"marker-symbol": "marker"
},
"geometry": {
"type": "Point",
"coordinates": [
13.4995315,
52.5279215
]
}
},
{
"type": "Feature",
"properties": {
"marker-size": "medium",
"marker-color": "#800000",
"marker-symbol": "marker",
"tour_idx": "4",
"jobs_ids": "job27",
"stop_idx": "10"
},
"geometry": {
"type": "Point",
"coordinates": [
13.3788834,
52.4940454
]
}
},
{
"type": "Feature",
"properties": {
"jobs_ids": "arrival",
"marker-color": "#800000",
"marker-size": "medium",
"marker-symbol": "warehouse",
"tour_idx": "4",
"stop_idx": "11"
},
"geometry": {
"type": "Point",
"coordinates": [
13.2812488,
52.4664257
]
}
},
{
"type": "Feature",
"properties": {
"shift_idx": "0",
"tour_idx": "0",
"activities": "12",
"distance": "39345",
"vehicle_id": "vehicle_1",
"stroke": "#e6194b",
"stroke-width": "4"
},
"geometry": {
"type": "LineString",
"coordinates": [
[
13.2812488,
52.4664257
],
[
13.3915876,
52.4960479
],
[
13.4368189,
52.5090143
],
[
13.5062954,
52.5261554
],
[
13.546564,
52.5276784
],
[
13.5152641,
52.5060419
],
[
13.4740528,
52.4989511
],
[
13.4698049,
52.4945572
],
[
13.4363713,
52.4828453
],
[
13.3628588,
52.4742821
],
[
13.3321906,
52.4711004
],
[
13.2812488,
52.4664257
]
]
}
},
{
"type": "Feature",
"properties": {
"shift_idx": "0",
"distance": "34357",
"tour_idx": "1",
"activities": "12",
"vehicle_id": "vehicle_5",
"stroke": "#3cb44b",
"stroke-width": "4"
},
"geometry": {
"type": "LineString",
"coordinates": [
[
13.2812488,
52.4664257
],
[
13.2852959,
52.5146285
],
[
13.304444,
52.5192039
],
[
13.2940051,
52.5632095
],
[
13.3027992,
52.5650163
],
[
13.3327894,
52.5473416
],
[
13.369072,
52.5685168
],
[
13.3848221,
52.5697304
],
[
13.369356,
52.5492619
],
[
13.3668934,
52.5291335
],
[
13.3689955,
52.5065998
],
[
13.2812488,
52.4664257
]
]
}
},
{
"type": "Feature",
"properties": {
"distance": "33959",
"activities": "12",
"stroke": "#4363d8",
"shift_idx": "0",
"vehicle_id": "vehicle_4",
"tour_idx": "2",
"stroke-width": "4"
},
"geometry": {
"type": "LineString",
"coordinates": [
[
13.2812488,
52.4664257
],
[
13.3733163,
52.547349
],
[
13.3914127,
52.5404107
],
[
13.3989552,
52.5429597
],
[
13.4194712,
52.5614441
],
[
13.4231417,
52.5678751
],
[
13.4286263,
52.5496702
],
[
13.4416407,
52.5431264
],
[
13.4139155,
52.5425207
],
[
13.3996298,
52.5372914
],
[
13.3890068,
52.5189653
],
[
13.2812488,
52.4664257
]
]
}
},
{
"type": "Feature",
"properties": {
"distance": "37524",
"tour_idx": "3",
"vehicle_id": "vehicle_2",
"shift_idx": "0",
"activities": "12",
"stroke-width": "4",
"stroke": "#f58231"
},
"geometry": {
"type": "LineString",
"coordinates": [
[
13.2812488,
52.4664257
],
[
13.322692,
52.4661617
],
[
13.3598752,
52.4708241
],
[
13.38667,
52.4737341
],
[
13.4461224,
52.4658835
],
[
13.4757055,
52.4629002
],
[
13.4914662,
52.4695374
],
[
13.5423247,
52.4871049
],
[
13.5251532,
52.4917198
],
[
13.475099,
52.5058684
],
[
13.3832067,
52.4855438
],
[
13.2812488,
52.4664257
]
]
}
},
{
"type": "Feature",
"properties": {
"stroke": "#911eb4",
"tour_idx": "4",
"distance": "37743",
"shift_idx": "0",
"activities": "12",
"stroke-width": "4",
"vehicle_id": "vehicle_3"
},
"geometry": {
"type": "LineString",
"coordinates": [
[
13.2812488,
52.4664257
],
[
13.3157235,
52.4827319
],
[
13.3353656,
52.4868236
],
[
13.3539713,
52.4959052
],
[
13.4418623,
52.5228904
],
[
13.4619776,
52.5243421
],
[
13.5161692,
52.5426716
],
[
13.5189513,
52.5421315
],
[
13.527639,
52.5414557
],
[
13.4995315,
52.5279215
],
[
13.3788834,
52.4940454
],
[
13.2812488,
52.4664257
]
]
}
}
]
}
This objective balances tour distances for all tours:
"objectives": [
{
"type": "minimize-unassigned"
},
{
"type": "minimize-tours"
},
{
"type": "multi-objective",
"strategy": {
"name": "sum"
},
"objectives": [
{
"type": "minimize-cost"
},
{
"type": "balance-distance"
}
]
}
]
All used vehicles should have total tour distance close to each other.
The same way you can balance by travel duration using balance-duration
objective.