diff --git a/CHANGELOG.md b/CHANGELOG.md index ae85fffe0..ae8285d8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ ### Removed +- Field `trips` in vehicle model. Use `vehicle_trips` relation instead [#123](https://github.com/Mapotempo/optimizer-api/pull/123) + ### Fixed ## [v1.7.1] - 2021-05-20 diff --git a/api/v01/entities/vrp_input.rb b/api/v01/entities/vrp_input.rb index e9ae55a75..c7ed74c67 100644 --- a/api/v01/entities/vrp_input.rb +++ b/api/v01/entities/vrp_input.rb @@ -490,7 +490,6 @@ module VrpVehicles optional(:force_start, type: Boolean, documentation: { hidden: true }, desc: '[ DEPRECATED ]') optional(:shift_preference, type: String, values: ['force_start', 'force_end', 'minimize_span'], desc: 'Force the vehicle to start as soon as the vehicle timewindow is open, as late as possible or let vehicle start at any time. Not available with periodic heuristic, it will always leave as soon as possible.') - optional(:trips, type: Integer, default: 1, desc: 'The number of times a vehicle is allowed to return to the depot within its route. Not available with periodic heuristic.') optional :matrix_id, type: String, desc: 'Related matrix, if already defined' optional :value_matrix_id, type: String, desc: 'If any value matrix defined, related matrix index' diff --git a/lib/interpreters/multi_trips.rb b/lib/interpreters/multi_trips.rb deleted file mode 100644 index 11bef50a6..000000000 --- a/lib/interpreters/multi_trips.rb +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright © Mapotempo, 2018 -# -# This file is part of Mapotempo. -# -# Mapotempo is free software. You can redistribute it and/or -# modify since you respect the terms of the GNU Affero General -# Public License as published by the Free Software Foundation, -# either version 3 of the License, or (at your option) any later version. -# -# Mapotempo is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -# or FITNESS FOR A PARTICULAR PURPOSE. See the Licenses for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with Mapotempo. If not, see: -# -# - -require './models/relation' - -module Interpreters - class MultiTrips - def expand(vrp) - vrp.vehicles = vrp.vehicles.collect{ |vehicle| - if vehicle.trips > 1 - new_ids = Array.new(vehicle.trips) { |index| vehicle.id + '_trip_' + index.to_s } - new_vehicles = new_ids.collect{ |id| - new_vehicle = Marshal.load(Marshal.dump(vehicle)) - new_vehicle.original_id = new_vehicle.id - new_vehicle.id = id - new_vehicle.trips = 1 - new_vehicle - } - - vrp.relations.select{ |relation| relation.linked_vehicle_ids.include?(vehicle.id) }.each{ |relation| - relation.linked_vehicle_ids -= [vehicle.id] - relation.linked_vehicle_ids += new_ids - } - - vrp.relations += [Models::Relation.new(type: :vehicle_trips, linked_vehicle_ids: new_ids)] - # vrp.relations += [Models::Relation.new(type: :vehicle_group_duration, linked_vehicle_ids: new_ids, lapse: vehicle.duration)] if vehicle.duration # TODO: Requires a complete rework of overall_duration - # vrp.relations += [Models::Relation.new(type: :vehicle_group_duration, linked_vehicle_ids: new_ids, lapse: vehicle.overall_duration)] if vehicle.overall_duration # TODO: Requires a complete rework of overall_duration - - vrp.services.select{ |service| service.sticky_vehicles.any?{ |sticky_vehicle| sticky_vehicle.id == vehicle.id } }.each{ |service| - service.sticky_vehicles -= [vehicle.id] - service.sticky_vehicles += new_ids - } - - new_vehicles - else - vehicle - end - }.flatten - vrp - end - end -end diff --git a/models/vehicle.rb b/models/vehicle.rb index ed03c1db5..b178d2b8e 100644 --- a/models/vehicle.rb +++ b/models/vehicle.rb @@ -57,7 +57,6 @@ class Vehicle < Base field :force_start, default: false field :shift_preference, default: :minimize_span - field :trips, default: 1 field :duration, default: nil field :overall_duration, default: nil field :distance, default: nil @@ -92,7 +91,6 @@ class Vehicle < Base # validates_numericality_of :global_day_index, allow_nil: true # validates_inclusion_of :router_dimension, in: %w( time distance ) # validates_inclusion_of :shift_preference, in: %w( force_start force_end minimize_span ) - # validates_numericality_of :trips, greater_than_or_equal_to: 0 # validates_numericality_of :speed_multiplier # validates_numericality_of :duration, greater_than_or_equal_to: 0 # validates_numericality_of :overall_duration, greater_than_or_equal_to: 0 diff --git a/optimizer_wrapper.rb b/optimizer_wrapper.rb index 8825c2595..df16d93c6 100644 --- a/optimizer_wrapper.rb +++ b/optimizer_wrapper.rb @@ -24,7 +24,6 @@ require './lib/routers/router_wrapper.rb' require './lib/interpreters/multi_modal.rb' -require './lib/interpreters/multi_trips.rb' require './lib/interpreters/periodic_visits.rb' require './lib/interpreters/split_clustering.rb' require './lib/interpreters/compute_several_solutions.rb' @@ -200,8 +199,6 @@ def self.solve(service_vrp, job = nil, block = nil) tic = Time.now - Interpreters::MultiTrips.new.expand(vrp) - optim_result = nil unfeasible_services = [] diff --git a/test/fixtures/balanced_split_under_nonuniform_sq_timewindows.dump b/test/fixtures/balanced_split_under_nonuniform_sq_timewindows.dump index e2ffadf90..4aa85a806 100644 Binary files a/test/fixtures/balanced_split_under_nonuniform_sq_timewindows.dump and b/test/fixtures/balanced_split_under_nonuniform_sq_timewindows.dump differ diff --git a/test/fixtures/callage_freq.dump b/test/fixtures/callage_freq.dump index 11ac66b9d..1683e5058 100644 Binary files a/test/fixtures/callage_freq.dump and b/test/fixtures/callage_freq.dump differ diff --git a/test/fixtures/cluster_dichotomious.dump b/test/fixtures/cluster_dichotomious.dump index e6ff12d6d..f9199a6ab 100644 Binary files a/test/fixtures/cluster_dichotomious.dump and b/test/fixtures/cluster_dichotomious.dump differ diff --git a/test/fixtures/cluster_one_phase.dump b/test/fixtures/cluster_one_phase.dump index 8ae44cc64..9b5796e91 100644 Binary files a/test/fixtures/cluster_one_phase.dump and b/test/fixtures/cluster_one_phase.dump differ diff --git a/test/fixtures/cluster_two_phases.dump b/test/fixtures/cluster_two_phases.dump index 131feefb9..7e98ecd11 100644 Binary files a/test/fixtures/cluster_two_phases.dump and b/test/fixtures/cluster_two_phases.dump differ diff --git a/test/fixtures/dichotomious_approach.dump b/test/fixtures/dichotomious_approach.dump index 5435d7ba5..19f5c83e1 100644 Binary files a/test/fixtures/dichotomious_approach.dump and b/test/fixtures/dichotomious_approach.dump differ diff --git a/test/fixtures/dichotomious_check_number_of_services.dump b/test/fixtures/dichotomious_check_number_of_services.dump index 2670f9d75..f86fcb511 100644 Binary files a/test/fixtures/dichotomious_check_number_of_services.dump and b/test/fixtures/dichotomious_check_number_of_services.dump differ diff --git a/test/fixtures/geometry_polyline.dump b/test/fixtures/geometry_polyline.dump index ef7d25226..530a868e4 100644 Binary files a/test/fixtures/geometry_polyline.dump and b/test/fixtures/geometry_polyline.dump differ diff --git a/test/fixtures/geometry_polyline_encoded.dump b/test/fixtures/geometry_polyline_encoded.dump index be81d940b..68e22fa47 100644 Binary files a/test/fixtures/geometry_polyline_encoded.dump and b/test/fixtures/geometry_polyline_encoded.dump differ diff --git a/test/fixtures/geometry_route_single_activity.dump b/test/fixtures/geometry_route_single_activity.dump index 2f1143479..c7c23e700 100644 Binary files a/test/fixtures/geometry_route_single_activity.dump and b/test/fixtures/geometry_route_single_activity.dump differ diff --git a/test/fixtures/geometry_with_rests.dump b/test/fixtures/geometry_with_rests.dump index 0e85f7e58..4b6e4fc25 100644 Binary files a/test/fixtures/geometry_with_rests.dump and b/test/fixtures/geometry_with_rests.dump differ diff --git a/test/fixtures/instance_andalucia1_two_vehicles.dump b/test/fixtures/instance_andalucia1_two_vehicles.dump index 583174b9b..f7c7a6abb 100644 Binary files a/test/fixtures/instance_andalucia1_two_vehicles.dump and b/test/fixtures/instance_andalucia1_two_vehicles.dump differ diff --git a/test/fixtures/instance_andalucia2.dump b/test/fixtures/instance_andalucia2.dump index 4190e9e22..bdbf7f32d 100644 Binary files a/test/fixtures/instance_andalucia2.dump and b/test/fixtures/instance_andalucia2.dump differ diff --git a/test/fixtures/instance_baleares2.dump b/test/fixtures/instance_baleares2.dump index 8c0721d7d..545aeb0ea 100644 Binary files a/test/fixtures/instance_baleares2.dump and b/test/fixtures/instance_baleares2.dump differ diff --git a/test/fixtures/instance_clustered.dump b/test/fixtures/instance_clustered.dump index 71710acad..c80e5ec04 100644 Binary files a/test/fixtures/instance_clustered.dump and b/test/fixtures/instance_clustered.dump differ diff --git a/test/fixtures/instance_order.dump b/test/fixtures/instance_order.dump index 5c47cad41..76e427893 100644 Binary files a/test/fixtures/instance_order.dump and b/test/fixtures/instance_order.dump differ diff --git a/test/fixtures/instance_same_point_day.dump b/test/fixtures/instance_same_point_day.dump index 6716598ca..fd12a8172 100644 Binary files a/test/fixtures/instance_same_point_day.dump and b/test/fixtures/instance_same_point_day.dump differ diff --git a/test/fixtures/length_centroid.dump b/test/fixtures/length_centroid.dump index 0139412f4..9aebe73f9 100644 Binary files a/test/fixtures/length_centroid.dump and b/test/fixtures/length_centroid.dump differ diff --git a/test/fixtures/max_split_functionality.dump b/test/fixtures/max_split_functionality.dump index c164fc220..a6f329710 100644 Binary files a/test/fixtures/max_split_functionality.dump and b/test/fixtures/max_split_functionality.dump differ diff --git a/test/fixtures/minimum_duration_lapse_shipments.dump b/test/fixtures/minimum_duration_lapse_shipments.dump index 73c60617d..0a2242a86 100644 Binary files a/test/fixtures/minimum_duration_lapse_shipments.dump and b/test/fixtures/minimum_duration_lapse_shipments.dump differ diff --git a/test/fixtures/no_doubles_3000.dump b/test/fixtures/no_doubles_3000.dump index 1b89481b1..9a9acfcc7 100644 Binary files a/test/fixtures/no_doubles_3000.dump and b/test/fixtures/no_doubles_3000.dump differ diff --git a/test/fixtures/ortools_global_six_routes_without_rest.dump b/test/fixtures/ortools_global_six_routes_without_rest.dump index 07160e306..ee0d01501 100644 Binary files a/test/fixtures/ortools_global_six_routes_without_rest.dump and b/test/fixtures/ortools_global_six_routes_without_rest.dump differ diff --git a/test/fixtures/ortools_global_ten_routes_without_rest.dump b/test/fixtures/ortools_global_ten_routes_without_rest.dump index 83f5da7a6..cf1ce54db 100644 Binary files a/test/fixtures/ortools_global_ten_routes_without_rest.dump and b/test/fixtures/ortools_global_ten_routes_without_rest.dump differ diff --git a/test/fixtures/ortools_global_with_identical_route_duration_and_vehicle_window.dump b/test/fixtures/ortools_global_with_identical_route_duration_and_vehicle_window.dump index 783214961..11750e2b5 100644 Binary files a/test/fixtures/ortools_global_with_identical_route_duration_and_vehicle_window.dump and b/test/fixtures/ortools_global_with_identical_route_duration_and_vehicle_window.dump differ diff --git a/test/fixtures/ortools_global_with_identical_route_duration_and_vehicle_window.json b/test/fixtures/ortools_global_with_identical_route_duration_and_vehicle_window.json index 8bdc50232..569a70559 100644 --- a/test/fixtures/ortools_global_with_identical_route_duration_and_vehicle_window.json +++ b/test/fixtures/ortools_global_with_identical_route_duration_and_vehicle_window.json @@ -1 +1 @@ -{"vrp":{"units":[{"id":"unit1"},{"id":"unit2"}],"configuration":{"resolution":{"duration":6000,"iterations_without_improvment":100},"restitution":{"intermediate_solutions":false}},"points":[{"id":"rdv1","location":{"lat":47.5289,"lon":-0.610066}},{"id":"rdv2","location":{"lat":47.4557,"lon":-0.272599}},{"id":"rdv3","location":{"lat":47.4463,"lon":-0.455594}},{"id":"rdv4","location":{"lat":47.4784,"lon":-0.563166}},{"id":"rdv5","location":{"lat":47.471,"lon":-0.553897}},{"id":"rdv6","location":{"lat":47.453,"lon":-0.544951}},{"id":"rdv7","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv8","location":{"lat":47.4195,"lon":-0.435102}},{"id":"rdv9","location":{"lat":47.5221,"lon":-0.884321}},{"id":"rdv10","location":{"lat":47.4601,"lon":-0.533809}},{"id":"rdv11","location":{"lat":47.4463,"lon":-0.455594}},{"id":"rdv12","location":{"lat":47.4463,"lon":-0.455594}},{"id":"rdv13","location":{"lat":47.525,"lon":-0.525667}},{"id":"rdv14","location":{"lat":47.4662,"lon":-0.552585}},{"id":"rdv15","location":{"lat":47.4603,"lon":-0.616861}},{"id":"rdv16","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv17","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv18","location":{"lat":47.4873,"lon":-0.574497}},{"id":"rdv19","location":{"lat":47.465,"lon":-0.562032}},{"id":"rdv20","location":{"lat":47.4919,"lon":-0.547877}},{"id":"rdv21","location":{"lat":47.4752,"lon":-0.539809}},{"id":"rdv22","location":{"lat":47.4721,"lon":-0.552937}},{"id":"rdv23","location":{"lat":47.475,"lon":-0.569292}},{"id":"rdv24","location":{"lat":47.4762,"lon":-0.551561}},{"id":"rdv25","location":{"lat":47.4707,"lon":-0.55342}},{"id":"rdv26","location":{"lat":47.4734,"lon":-0.553227}},{"id":"rdv27","location":{"lat":47.4772,"lon":-0.560892}},{"id":"rdv28","location":{"lat":47.4731,"lon":-0.549123}},{"id":"rdv29","location":{"lat":47.4444,"lon":-0.540579}},{"id":"rdv30","location":{"lat":47.4487,"lon":-0.551382}},{"id":"rdv31","location":{"lat":47.4733,"lon":-0.546593}},{"id":"rdv32","location":{"lat":47.477,"lon":-0.532281}},{"id":"rdv33","location":{"lat":47.4693,"lon":-0.561345}},{"id":"rdv34","location":{"lat":47.4647,"lon":-0.556389}},{"id":"rdv35","location":{"lat":48.8693,"lon":2.3502}},{"id":"rdv36","location":{"lat":47.541,"lon":-0.101231}},{"id":"rdv37","location":{"lat":47.4402,"lon":-0.195214}},{"id":"rdv38","location":{"lat":47.4402,"lon":-0.195214}},{"id":"rdv39","location":{"lat":47.4402,"lon":-0.195214}},{"id":"rdv40","location":{"lat":47.4784,"lon":-0.630341}},{"id":"rdv41","location":{"lat":47.3827,"lon":-0.109054}},{"id":"rdv42","location":{"lat":47.4742,"lon":-0.635502}},{"id":"rdv43","location":{"lat":47.4691,"lon":-0.616239}},{"id":"rdv44","location":{"lat":47.3786,"lon":-0.110535}},{"id":"rdv45","location":{"lat":47.4846,"lon":-0.627114}},{"id":"rdv46","location":{"lat":47.4333,"lon":-0.529787}},{"id":"rdv47","location":{"lat":47.4484,"lon":-0.507974}},{"id":"rdv48","location":{"lat":47.5202,"lon":-0.581762}},{"id":"rdv49","location":{"lat":47.4929,"lon":-0.223567}},{"id":"rdv50","location":{"lat":47.4784,"lon":-0.563166}},{"id":"rdv51","location":{"lat":47.4601,"lon":-0.533809}},{"id":"rdv52","location":{"lat":47.4601,"lon":-0.533809}},{"id":"rdv53","location":{"lat":47.4734,"lon":-0.546325}},{"id":"rdv54","location":{"lat":47.452,"lon":-0.545653}},{"id":"rdv55","location":{"lat":47.4712,"lon":-0.550689}},{"id":"rdv56","location":{"lat":47.4687,"lon":-0.549608}},{"id":"rdv57","location":{"lat":47.4736,"lon":-0.542109}},{"id":"rdv58","location":{"lat":47.4642,"lon":-0.522229}},{"id":"rdv59","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv60","location":{"lat":47.4779,"lon":-0.560474}},{"id":"rdv61","location":{"lat":47.4657,"lon":-0.553693}},{"id":"rdv62","location":{"lat":47.4712,"lon":-0.553952}},{"id":"rdv63","location":{"lat":47.4652,"lon":-0.545167}},{"id":"rdv64","location":{"lat":47.4652,"lon":-0.545167}},{"id":"rdv65","location":{"lat":47.4712,"lon":-0.554067}},{"id":"rdv66","location":{"lat":47.4698,"lon":-0.555258}},{"id":"rdv67","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv68","location":{"lat":47.4651,"lon":-0.558679}},{"id":"rdv69","location":{"lat":47.47,"lon":-0.548683}},{"id":"rdv70","location":{"lat":47.47,"lon":-0.548683}},{"id":"rdv71","location":{"lat":47.4531,"lon":-0.535406}},{"id":"rdv72","location":{"lat":47.4588,"lon":-0.559277}},{"id":"rdv73","location":{"lat":47.4737,"lon":-0.553051}},{"id":"rdv74","location":{"lat":47.4537,"lon":-0.526583}},{"id":"rdv75","location":{"lat":47.4725,"lon":-0.560698}},{"id":"rdv76","location":{"lat":47.4721,"lon":-0.590716}},{"id":"rdv77","location":{"lat":47.467,"lon":-0.558908}},{"id":"rdv78","location":{"lat":47.4724,"lon":-0.554352}},{"id":"rdv79","location":{"lat":47.471,"lon":-0.566757}},{"id":"rdv80","location":{"lat":47.4592,"lon":-0.604392}},{"id":"rdv81","location":{"lat":47.4583,"lon":-0.530444}},{"id":"rdv82","location":{"lat":47.4653,"lon":-0.545309}},{"id":"rdv83","location":{"lat":48.8693,"lon":2.3502}},{"id":"rdv84","location":{"lat":48.8693,"lon":2.3502}},{"id":"rdv85","location":{"lat":47.5014,"lon":-0.599646}},{"id":"rdv86","location":{"lat":47.5014,"lon":-0.599646}},{"id":"rdv87","location":{"lat":47.4407,"lon":-0.222658}},{"id":"rdv88","location":{"lat":47.4846,"lon":-0.627114}},{"id":"rdv89","location":{"lat":47.3786,"lon":-0.110535}},{"id":"rdv90","location":{"lat":47.4846,"lon":-0.627114}},{"id":"rdv91","location":{"lat":47.3827,"lon":-0.109054}},{"id":"rdv92","location":{"lat":47.4784,"lon":-0.630341}},{"id":"rdv93","location":{"lat":47.4784,"lon":-0.630341}},{"id":"rdv94","location":{"lat":47.3827,"lon":-0.109054}},{"id":"rdv95","location":{"lat":47.4784,"lon":-0.630341}},{"id":"rdv96","location":{"lat":47.3827,"lon":-0.109054}},{"id":"rdv97","location":{"lat":47.5978,"lon":-0.700641}},{"id":"rdv98","location":{"lat":47.3332,"lon":-0.436299}},{"id":"rdv99","location":{"lat":47.288,"lon":-0.43298}},{"id":"rdv100","location":{"lat":47.3795,"lon":-0.643668}},{"id":"rdv101","location":{"lat":47.4601,"lon":-0.533809}},{"id":"rdv102","location":{"lat":47.4722,"lon":-0.551967}},{"id":"rdv103","location":{"lat":47.4706,"lon":-0.552721}},{"id":"rdv104","location":{"lat":47.485,"lon":-0.526242}},{"id":"rdv105","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv106","location":{"lat":47.4514,"lon":-0.54895}},{"id":"rdv107","location":{"lat":47.4919,"lon":-0.547877}},{"id":"rdv108","location":{"lat":47.4776,"lon":-0.544867}},{"id":"rdv109","location":{"lat":47.4458,"lon":-0.560046}},{"id":"rdv110","location":{"lat":47.4764,"lon":-0.542889}},{"id":"rdv111","location":{"lat":47.4628,"lon":-0.536248}},{"id":"rdv112","location":{"lat":47.4704,"lon":-0.552052}},{"id":"rdv113","location":{"lat":47.4664,"lon":-0.549984}},{"id":"rdv114","location":{"lat":47.4603,"lon":-0.616861}},{"id":"rdv115","location":{"lat":47.4919,"lon":-0.547877}},{"id":"rdv116","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv117","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv118","location":{"lat":47.4797,"lon":-0.527312}},{"id":"rdv119","location":{"lat":47.4736,"lon":-0.559217}},{"id":"rdv120","location":{"lat":47.4733,"lon":-0.546593}},{"id":"rdv121","location":{"lat":47.4487,"lon":-0.56085}},{"id":"rdv122","location":{"lat":47.4506,"lon":-0.54634}},{"id":"rdv123","location":{"lat":47.4884,"lon":-0.56086}},{"id":"rdv124","location":{"lat":47.471,"lon":-0.553518}},{"id":"rdv125","location":{"lat":47.4729,"lon":-0.561497}},{"id":"rdv126","location":{"lat":47.4897,"lon":-0.507567}},{"id":"rdv127","location":{"lat":47.4549,"lon":-0.560897}},{"id":"p00001198","location":{"lat":47.4968,"lon":-0.619151}},{"id":"p00000294_2","location":{"lat":47.4407,"lon":-0.222658}},{"id":"p00000731_1","location":{"lat":47.4338,"lon":-0.223433}},{"id":"p00001113","location":{"lat":47.5039,"lon":-0.791659}},{"id":"p00010612","location":{"lat":47.5019,"lon":-0.422171}},{"id":"p00000111","location":{"lat":47.6629,"lon":-0.244618}},{"id":"p00000489","location":{"lat":47.3827,"lon":-0.109054}},{"id":"p00005445_1","location":{"lat":47.5289,"lon":-0.610066}},{"id":"p00014175_1","location":{"lat":47.3573,"lon":-0.553444}},{"id":"p00000511_1","location":{"lat":47.3574,"lon":-0.551212}},{"id":"p00000511_1","location":{"lat":47.3574,"lon":-0.551212}},{"id":"p00000511_2","location":{"lat":47.3586,"lon":-0.551899}},{"id":"p00013519_1","location":{"lat":47.3993,"lon":-0.527441}},{"id":"p00000257_1","location":{"lat":47.3996,"lon":-0.539386}},{"id":"p00000257_1","location":{"lat":47.3996,"lon":-0.539386}},{"id":"p00016999","location":{"lat":47.4006,"lon":-0.535082}},{"id":"p00012043","location":{"lat":47.3984,"lon":-0.544026}},{"id":"p00012956","location":{"lat":47.3988,"lon":-0.529466}},{"id":"p00012955","location":{"lat":47.3989,"lon":-0.528207}},{"id":"p00005447","location":{"lat":47.4091,"lon":-0.32026}},{"id":"p00016677","location":{"lat":47.2305,"lon":-0.071593}},{"id":"p00001507_1","location":{"lat":47.5901,"lon":-0.359223}},{"id":"p00014285","location":{"lat":47.478,"lon":-0.497588}},{"id":"p00014285","location":{"lat":47.478,"lon":-0.497588}},{"id":"p00001830_1","location":{"lat":47.4654,"lon":-0.499294}},{"id":"p00002094","location":{"lat":47.4269,"lon":-0.551697}},{"id":"p00015580","location":{"lat":47.4088,"lon":-0.760619}},{"id":"p00016073","location":{"lat":47.4088,"lon":-0.760619}},{"id":"p00000706","location":{"lat":47.4568,"lon":-0.661627}},{"id":"p00000053_1","location":{"lat":47.3707,"lon":-0.496747}},{"id":"p00000301","location":{"lat":47.3991,"lon":-0.513324}},{"id":"p00015699_1","location":{"lat":47.5003,"lon":-0.489976}},{"id":"p00015699_1","location":{"lat":47.5003,"lon":-0.489976}},{"id":"p00004444_1","location":{"lat":47.5128,"lon":-0.471117}},{"id":"p00000259_1","location":{"lat":47.4274,"lon":-0.547}},{"id":"p00000259_1","location":{"lat":47.4274,"lon":-0.547}},{"id":"p00000259_1","location":{"lat":47.4274,"lon":-0.547}},{"id":"p00000259_2","location":{"lat":47.4252,"lon":-0.561946}},{"id":"p00012057_1","location":{"lat":47.4251,"lon":-0.56448}},{"id":"p00000809","location":{"lat":47.267,"lon":-0.50325}},{"id":"p00001821_1","location":{"lat":47.6116,"lon":-0.471595}},{"id":"p00013867","location":{"lat":47.4529,"lon":-0.468028}},{"id":"p00000849","location":{"lat":47.4489,"lon":-0.474029}},{"id":"p00015255","location":{"lat":47.4478,"lon":-0.465395}},{"id":"p00000335","location":{"lat":47.4466,"lon":-0.495939}},{"id":"p00015378","location":{"lat":47.4424,"lon":-0.48255}},{"id":"p00015301","location":{"lat":47.4527,"lon":-0.467693}},{"id":"pSociete","location":{"lat":47.4823,"lon":-0.503304}}],"vehicles":[{"id":"201707079","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":407200,"end":436000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017070729","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":407200,"end":436000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017070730","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":407200,"end":436000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017070731","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":407200,"end":436000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"201707109","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":666400,"end":695200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071029","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":666400,"end":695200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071030","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":666400,"end":695200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071031","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":666400,"end":695200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"201707119","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":752800,"end":781600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071129","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":752800,"end":781600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071130","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":752800,"end":781600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071131","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":752800,"end":781600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"201707129","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":839200,"end":868000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071229","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":839200,"end":868000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071230","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":839200,"end":868000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071231","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":839200,"end":868000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"201707139","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":925600,"end":954400},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071329","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":925600,"end":954400},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071330","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":925600,"end":954400},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071331","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":925600,"end":954400},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071729","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1271200,"end":1300000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071730","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1271200,"end":1300000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071731","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1271200,"end":1300000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071829","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1357600,"end":1386400},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071830","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1357600,"end":1386400},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071831","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1357600,"end":1386400},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071930","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1444000,"end":1472800},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071931","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1444000,"end":1472800},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017072030","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1530400,"end":1559200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017072131","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1616800,"end":1645600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017072430","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1876000,"end":1904800},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017072431","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1876000,"end":1904800},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017072529","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1962400,"end":1991200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017072530","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1962400,"end":1991200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017072531","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1962400,"end":1991200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017072630","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":2048800,"end":2077600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017072729","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":2135200,"end":2164000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017072730","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":2135200,"end":2164000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017073129","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":2480800,"end":2509600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017073130","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":2480800,"end":2509600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]}],"services":[{"id":"service1","type":"service","priority":0,"sticky_vehicle_ids":["201707079"],"activity":{"point_id":"rdv1","timewindows":[{"start":407200,"end":410800}]}},{"id":"service2","type":"service","priority":0,"sticky_vehicle_ids":["201707079"],"activity":{"point_id":"rdv2","timewindows":[{"start":410800,"end":414400}]}},{"id":"service3","type":"service","priority":0,"sticky_vehicle_ids":["201707119"],"activity":{"point_id":"rdv3","timewindows":[{"start":763600,"end":767200}]}},{"id":"service4","type":"service","priority":0,"sticky_vehicle_ids":["201707119"],"activity":{"point_id":"rdv4","timewindows":[{"start":770800,"end":774400}]}},{"id":"service5","type":"service","priority":0,"sticky_vehicle_ids":["201707129"],"activity":{"point_id":"rdv5","timewindows":[{"start":839200,"end":842800}]}},{"id":"service6","type":"service","priority":0,"sticky_vehicle_ids":["201707129"],"activity":{"point_id":"rdv6","timewindows":[{"start":842800,"end":850000}]}},{"id":"service7","type":"service","priority":0,"sticky_vehicle_ids":["201707129"],"activity":{"point_id":"rdv7","timewindows":[{"start":850000,"end":853600}]}},{"id":"service8","type":"service","priority":0,"sticky_vehicle_ids":["201707129"],"activity":{"point_id":"rdv8","timewindows":[{"start":853600,"end":857200}]}},{"id":"service9","type":"service","priority":0,"sticky_vehicle_ids":["201707129"],"activity":{"point_id":"rdv9","timewindows":[{"start":857200,"end":858100}]}},{"id":"service10","type":"service","priority":0,"sticky_vehicle_ids":["201707139"],"activity":{"point_id":"rdv10","timewindows":[{"start":925600,"end":947200}]}},{"id":"service11","type":"service","priority":0,"sticky_vehicle_ids":["2017071129"],"activity":{"point_id":"rdv11","timewindows":[{"start":752800,"end":756400}]}},{"id":"service12","type":"service","priority":0,"sticky_vehicle_ids":["2017071129"],"activity":{"point_id":"rdv12","timewindows":[{"start":756400,"end":770800}]}},{"id":"service13","type":"service","priority":0,"sticky_vehicle_ids":["2017071229"],"activity":{"point_id":"rdv13","timewindows":[{"start":839200,"end":842800}]}},{"id":"service14","type":"service","priority":0,"sticky_vehicle_ids":["2017071229"],"activity":{"point_id":"rdv14","timewindows":[{"start":842800,"end":846400}]}},{"id":"service15","type":"service","priority":0,"sticky_vehicle_ids":["2017071729"],"activity":{"point_id":"rdv15","timewindows":[{"start":1271200,"end":1274800}]}},{"id":"service16","type":"service","priority":0,"sticky_vehicle_ids":["2017071729"],"activity":{"point_id":"rdv16","timewindows":[{"start":1274800,"end":1280200}]}},{"id":"service17","type":"service","priority":0,"sticky_vehicle_ids":["2017071729"],"activity":{"point_id":"rdv17","timewindows":[{"start":1280200,"end":1283800}]}},{"id":"service18","type":"service","priority":0,"sticky_vehicle_ids":["2017071729"],"activity":{"point_id":"rdv18","timewindows":[{"start":1283800,"end":1287400}]}},{"id":"service19","type":"service","priority":0,"sticky_vehicle_ids":["2017071729"],"activity":{"point_id":"rdv19","timewindows":[{"start":1287400,"end":1294600}]}},{"id":"service20","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv20","timewindows":[{"start":1357600,"end":1361200}]}},{"id":"service21","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv21","timewindows":[{"start":1361200,"end":1364800}]}},{"id":"service22","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv22","timewindows":[{"start":1364800,"end":1366600}]}},{"id":"service23","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv23","timewindows":[{"start":1366600,"end":1370200}]}},{"id":"service24","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv24","timewindows":[{"start":1370200,"end":1372000}]}},{"id":"service25","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv25","timewindows":[{"start":1372000,"end":1375600}]}},{"id":"service26","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv26","timewindows":[{"start":1375600,"end":1377400}]}},{"id":"service27","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv27","timewindows":[{"start":1377400,"end":1379200}]}},{"id":"service28","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv28","timewindows":[{"start":1379200,"end":1381000}]}},{"id":"service29","type":"service","priority":0,"sticky_vehicle_ids":["2017072529"],"activity":{"point_id":"rdv29","timewindows":[{"start":1962400,"end":1966000}]}},{"id":"service30","type":"service","priority":0,"sticky_vehicle_ids":["2017072529"],"activity":{"point_id":"rdv30","timewindows":[{"start":1966000,"end":1971400}]}},{"id":"service31","type":"service","priority":0,"sticky_vehicle_ids":["2017072529"],"activity":{"point_id":"rdv31","timewindows":[{"start":1971400,"end":1975000}]}},{"id":"service32","type":"service","priority":0,"sticky_vehicle_ids":["2017072529"],"activity":{"point_id":"rdv32","timewindows":[{"start":1975000,"end":1978600}]}},{"id":"service33","type":"service","priority":0,"sticky_vehicle_ids":["2017072529"],"activity":{"point_id":"rdv33","timewindows":[{"start":1978600,"end":1982200}]}},{"id":"service34","type":"service","priority":0,"sticky_vehicle_ids":["2017072529"],"activity":{"point_id":"rdv34","timewindows":[{"start":1982200,"end":1985800}]}},{"id":"service35","type":"service","priority":0,"sticky_vehicle_ids":["2017072729"],"activity":{"point_id":"rdv35","timewindows":[{"start":2135200,"end":2139700}]}},{"id":"service36","type":"service","priority":0,"sticky_vehicle_ids":["2017072729"],"activity":{"point_id":"rdv36","timewindows":[{"start":2140600,"end":2158600}]}},{"id":"service37","type":"service","priority":0,"sticky_vehicle_ids":["2017072729"],"activity":{"point_id":"rdv37","timewindows":[{"start":2140600,"end":2144200}]}},{"id":"service38","type":"service","priority":0,"sticky_vehicle_ids":["2017072729"],"activity":{"point_id":"rdv38","timewindows":[{"start":2144200,"end":2151400}]}},{"id":"service39","type":"service","priority":0,"sticky_vehicle_ids":["2017072729"],"activity":{"point_id":"rdv39","timewindows":[{"start":2151400,"end":2158600}]}},{"id":"service40","type":"service","priority":0,"sticky_vehicle_ids":["2017073129"],"activity":{"point_id":"rdv40","timewindows":[{"start":2480800,"end":2488000}]}},{"id":"service41","type":"service","priority":0,"sticky_vehicle_ids":["2017073129"],"activity":{"point_id":"rdv41","timewindows":[{"start":2480800,"end":2495200}]}},{"id":"service42","type":"service","priority":0,"sticky_vehicle_ids":["2017073129"],"activity":{"point_id":"rdv42","timewindows":[{"start":2488000,"end":2493400}]}},{"id":"service43","type":"service","priority":0,"sticky_vehicle_ids":["2017073129"],"activity":{"point_id":"rdv43","timewindows":[{"start":2493400,"end":2497000}]}},{"id":"service44","type":"service","priority":0,"sticky_vehicle_ids":["2017073129"],"activity":{"point_id":"rdv44","timewindows":[{"start":2495200,"end":2500600}]}},{"id":"service45","type":"service","priority":0,"sticky_vehicle_ids":["2017073129"],"activity":{"point_id":"rdv45","timewindows":[{"start":2497000,"end":2502400}]}},{"id":"service46","type":"service","priority":0,"sticky_vehicle_ids":["2017073129"],"activity":{"point_id":"rdv46","timewindows":[{"start":2500600,"end":2504200}]}},{"id":"service47","type":"service","priority":0,"sticky_vehicle_ids":["2017071130"],"activity":{"point_id":"rdv47","timewindows":[{"start":752800,"end":763600}]}},{"id":"service48","type":"service","priority":0,"sticky_vehicle_ids":["2017071130"],"activity":{"point_id":"rdv48","timewindows":[{"start":763600,"end":767200}]}},{"id":"service49","type":"service","priority":0,"sticky_vehicle_ids":["2017071130"],"activity":{"point_id":"rdv49","timewindows":[{"start":767200,"end":770800}]}},{"id":"service50","type":"service","priority":0,"sticky_vehicle_ids":["2017071130"],"activity":{"point_id":"rdv50","timewindows":[{"start":770800,"end":774400}]}},{"id":"service51","type":"service","priority":0,"sticky_vehicle_ids":["2017071230"],"activity":{"point_id":"rdv51","timewindows":[{"start":839200,"end":846400}]}},{"id":"service52","type":"service","priority":0,"sticky_vehicle_ids":["2017071330"],"activity":{"point_id":"rdv52","timewindows":[{"start":925600,"end":932800}]}},{"id":"service53","type":"service","priority":0,"sticky_vehicle_ids":["2017071730"],"activity":{"point_id":"rdv53","timewindows":[{"start":1271200,"end":1278400}]}},{"id":"service54","type":"service","priority":0,"sticky_vehicle_ids":["2017071730"],"activity":{"point_id":"rdv54","timewindows":[{"start":1278400,"end":1282000}]}},{"id":"service55","type":"service","priority":0,"sticky_vehicle_ids":["2017071730"],"activity":{"point_id":"rdv55","timewindows":[{"start":1282000,"end":1287400}]}},{"id":"service56","type":"service","priority":0,"sticky_vehicle_ids":["2017071730"],"activity":{"point_id":"rdv56","timewindows":[{"start":1287400,"end":1291000}]}},{"id":"service57","type":"service","priority":0,"sticky_vehicle_ids":["2017071730"],"activity":{"point_id":"rdv57","timewindows":[{"start":1291000,"end":1294600}]}},{"id":"service58","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv58","timewindows":[{"start":1357600,"end":1361200}]}},{"id":"service59","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv59","timewindows":[{"start":1361200,"end":1364800}]}},{"id":"service60","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv60","timewindows":[{"start":1364800,"end":1368400}]}},{"id":"service61","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv61","timewindows":[{"start":1368400,"end":1372000}]}},{"id":"service62","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv62","timewindows":[{"start":1372000,"end":1373800}]}},{"id":"service63","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv63","timewindows":[{"start":1373800,"end":1377400}]}},{"id":"service64","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv64","timewindows":[{"start":1377400,"end":1379200}]}},{"id":"service65","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv65","timewindows":[{"start":1379200,"end":1381000}]}},{"id":"service66","type":"service","priority":0,"sticky_vehicle_ids":["2017071930"],"activity":{"point_id":"rdv66","timewindows":[{"start":1444000,"end":1447600}]}},{"id":"service67","type":"service","priority":0,"sticky_vehicle_ids":["2017071930"],"activity":{"point_id":"rdv67","timewindows":[{"start":1447600,"end":1451200}]}},{"id":"service68","type":"service","priority":0,"sticky_vehicle_ids":["2017071930"],"activity":{"point_id":"rdv68","timewindows":[{"start":1451200,"end":1454800}]}},{"id":"service69","type":"service","priority":0,"sticky_vehicle_ids":["2017071930"],"activity":{"point_id":"rdv69","timewindows":[{"start":1454800,"end":1462000}]}},{"id":"service70","type":"service","priority":0,"sticky_vehicle_ids":["2017071930"],"activity":{"point_id":"rdv70","timewindows":[{"start":1462000,"end":1465600}]}},{"id":"service71","type":"service","priority":0,"sticky_vehicle_ids":["2017072030"],"activity":{"point_id":"rdv71","timewindows":[{"start":1530400,"end":1535800}]}},{"id":"service72","type":"service","priority":0,"sticky_vehicle_ids":["2017072030"],"activity":{"point_id":"rdv72","timewindows":[{"start":1535800,"end":1539400}]}},{"id":"service73","type":"service","priority":0,"sticky_vehicle_ids":["2017072030"],"activity":{"point_id":"rdv73","timewindows":[{"start":1539400,"end":1543000}]}},{"id":"service74","type":"service","priority":0,"sticky_vehicle_ids":["2017072030"],"activity":{"point_id":"rdv74","timewindows":[{"start":1543000,"end":1546600}]}},{"id":"service75","type":"service","priority":0,"sticky_vehicle_ids":["2017072030"],"activity":{"point_id":"rdv75","timewindows":[{"start":1546600,"end":1550200}]}},{"id":"service76","type":"service","priority":0,"sticky_vehicle_ids":["2017072030"],"activity":{"point_id":"rdv76","timewindows":[{"start":1550200,"end":1553800}]}},{"id":"service77","type":"service","priority":0,"sticky_vehicle_ids":["2017072430"],"activity":{"point_id":"rdv77","timewindows":[{"start":1876000,"end":1879600}]}},{"id":"service78","type":"service","priority":0,"sticky_vehicle_ids":["2017072430"],"activity":{"point_id":"rdv78","timewindows":[{"start":1879600,"end":1883200}]}},{"id":"service79","type":"service","priority":0,"sticky_vehicle_ids":["2017072430"],"activity":{"point_id":"rdv79","timewindows":[{"start":1883200,"end":1886800}]}},{"id":"service80","type":"service","priority":0,"sticky_vehicle_ids":["2017072430"],"activity":{"point_id":"rdv80","timewindows":[{"start":1886800,"end":1890400}]}},{"id":"service81","type":"service","priority":0,"sticky_vehicle_ids":["2017072430"],"activity":{"point_id":"rdv81","timewindows":[{"start":1890400,"end":1894000}]}},{"id":"service82","type":"service","priority":0,"sticky_vehicle_ids":["2017072430"],"activity":{"point_id":"rdv82","timewindows":[{"start":1894000,"end":1897600}]}},{"id":"service83","type":"service","priority":0,"sticky_vehicle_ids":["2017072530"],"activity":{"point_id":"rdv83","timewindows":[{"start":1962400,"end":1966900}]}},{"id":"service84","type":"service","priority":0,"sticky_vehicle_ids":["2017072630"],"activity":{"point_id":"rdv84","timewindows":[{"start":2048800,"end":2052400}]}},{"id":"service85","type":"service","priority":0,"sticky_vehicle_ids":["2017072730"],"activity":{"point_id":"rdv85","timewindows":[{"start":2135200,"end":2146000}]}},{"id":"service86","type":"service","priority":0,"sticky_vehicle_ids":["2017072730"],"activity":{"point_id":"rdv86","timewindows":[{"start":2146000,"end":2149600}]}},{"id":"service87","type":"service","priority":0,"sticky_vehicle_ids":["2017072730"],"activity":{"point_id":"rdv87","timewindows":[{"start":2149600,"end":2156800}]}},{"id":"service88","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv88","timewindows":[{"start":2480800,"end":2484400}]}},{"id":"service89","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv89","timewindows":[{"start":2480800,"end":2484400}]}},{"id":"service90","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv90","timewindows":[{"start":2484400,"end":2488000}]}},{"id":"service91","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv91","timewindows":[{"start":2484400,"end":2491600}]}},{"id":"service92","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv92","timewindows":[{"start":2488000,"end":2489800}]}},{"id":"service93","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv93","timewindows":[{"start":2489800,"end":2493400}]}},{"id":"service94","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv94","timewindows":[{"start":2491600,"end":2497000}]}},{"id":"service95","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv95","timewindows":[{"start":2493400,"end":2498800}]}},{"id":"service96","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv96","timewindows":[{"start":2497000,"end":2504200}]}},{"id":"service97","type":"service","priority":0,"sticky_vehicle_ids":["2017071131"],"activity":{"point_id":"rdv97","timewindows":[{"start":752800,"end":756400}]}},{"id":"service98","type":"service","priority":0,"sticky_vehicle_ids":["2017071131"],"activity":{"point_id":"rdv98","timewindows":[{"start":756400,"end":760000}]}},{"id":"service99","type":"service","priority":0,"sticky_vehicle_ids":["2017071131"],"activity":{"point_id":"rdv99","timewindows":[{"start":760000,"end":763600}]}},{"id":"service100","type":"service","priority":0,"sticky_vehicle_ids":["2017071131"],"activity":{"point_id":"rdv100","timewindows":[{"start":763600,"end":767200}]}},{"id":"service101","type":"service","priority":0,"sticky_vehicle_ids":["2017071331"],"activity":{"point_id":"rdv101","timewindows":[{"start":925600,"end":947200}]}},{"id":"service102","type":"service","priority":0,"sticky_vehicle_ids":["2017071731"],"activity":{"point_id":"rdv102","timewindows":[{"start":1271200,"end":1274800}]}},{"id":"service103","type":"service","priority":0,"sticky_vehicle_ids":["2017071731"],"activity":{"point_id":"rdv103","timewindows":[{"start":1274800,"end":1278400}]}},{"id":"service104","type":"service","priority":0,"sticky_vehicle_ids":["2017071731"],"activity":{"point_id":"rdv104","timewindows":[{"start":1278400,"end":1282000}]}},{"id":"service105","type":"service","priority":0,"sticky_vehicle_ids":["2017071731"],"activity":{"point_id":"rdv105","timewindows":[{"start":1282000,"end":1291000}]}},{"id":"service106","type":"service","priority":0,"sticky_vehicle_ids":["2017071731"],"activity":{"point_id":"rdv106","timewindows":[{"start":1291000,"end":1294600}]}},{"id":"service107","type":"service","priority":0,"sticky_vehicle_ids":["2017071831"],"activity":{"point_id":"rdv107","timewindows":[{"start":1357600,"end":1361200}]}},{"id":"service108","type":"service","priority":0,"sticky_vehicle_ids":["2017071831"],"activity":{"point_id":"rdv108","timewindows":[{"start":1361200,"end":1368400}]}},{"id":"service109","type":"service","priority":0,"sticky_vehicle_ids":["2017071831"],"activity":{"point_id":"rdv109","timewindows":[{"start":1368400,"end":1373800}]}},{"id":"service110","type":"service","priority":0,"sticky_vehicle_ids":["2017071831"],"activity":{"point_id":"rdv110","timewindows":[{"start":1373800,"end":1377400}]}},{"id":"service111","type":"service","priority":0,"sticky_vehicle_ids":["2017071831"],"activity":{"point_id":"rdv111","timewindows":[{"start":1377400,"end":1381000}]}},{"id":"service112","type":"service","priority":0,"sticky_vehicle_ids":["2017071931"],"activity":{"point_id":"rdv112","timewindows":[{"start":1444000,"end":1447600}]}},{"id":"service113","type":"service","priority":0,"sticky_vehicle_ids":["2017071931"],"activity":{"point_id":"rdv113","timewindows":[{"start":1447600,"end":1451200}]}},{"id":"service114","type":"service","priority":0,"sticky_vehicle_ids":["2017071931"],"activity":{"point_id":"rdv114","timewindows":[{"start":1451200,"end":1454800}]}},{"id":"service115","type":"service","priority":0,"sticky_vehicle_ids":["2017071931"],"activity":{"point_id":"rdv115","timewindows":[{"start":1454800,"end":1458400}]}},{"id":"service116","type":"service","priority":0,"sticky_vehicle_ids":["2017071931"],"activity":{"point_id":"rdv116","timewindows":[{"start":1458400,"end":1467400}]}},{"id":"service117","type":"service","priority":0,"sticky_vehicle_ids":["2017072131"],"activity":{"point_id":"rdv117","timewindows":[{"start":1616800,"end":1629400}]}},{"id":"service118","type":"service","priority":0,"sticky_vehicle_ids":["2017072131"],"activity":{"point_id":"rdv118","timewindows":[{"start":1629400,"end":1633000}]}},{"id":"service119","type":"service","priority":0,"sticky_vehicle_ids":["2017072131"],"activity":{"point_id":"rdv119","timewindows":[{"start":1633000,"end":1636600}]}},{"id":"service120","type":"service","priority":0,"sticky_vehicle_ids":["2017072131"],"activity":{"point_id":"rdv120","timewindows":[{"start":1636600,"end":1640200}]}},{"id":"service121","type":"service","priority":0,"sticky_vehicle_ids":["2017072431"],"activity":{"point_id":"rdv121","timewindows":[{"start":1876000,"end":1881400}]}},{"id":"service122","type":"service","priority":0,"sticky_vehicle_ids":["2017072431"],"activity":{"point_id":"rdv122","timewindows":[{"start":1881400,"end":1886800}]}},{"id":"service123","type":"service","priority":0,"sticky_vehicle_ids":["2017072431"],"activity":{"point_id":"rdv123","timewindows":[{"start":1886800,"end":1890400}]}},{"id":"service124","type":"service","priority":0,"sticky_vehicle_ids":["2017072431"],"activity":{"point_id":"rdv124","timewindows":[{"start":1890400,"end":1894000}]}},{"id":"service125","type":"service","priority":0,"sticky_vehicle_ids":["2017072431"],"activity":{"point_id":"rdv125","timewindows":[{"start":1894000,"end":1897600}]}},{"id":"service126","type":"service","priority":0,"sticky_vehicle_ids":["2017072531"],"activity":{"point_id":"rdv126","timewindows":[{"start":1962400,"end":1973200}]}},{"id":"service127","type":"service","priority":0,"sticky_vehicle_ids":["2017072531"],"activity":{"point_id":"rdv127","timewindows":[{"start":1973200,"end":1977700}]}},{"id":"R1169","type":"service","activity":{"point_id":"p00001198","duration":28800,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1079","type":"service","activity":{"point_id":"p00000294_2","duration":18000,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R579","type":"service","activity":{"point_id":"p00000731_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R284","type":"service","activity":{"point_id":"p00001113","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R953","type":"service","activity":{"point_id":"p00010612","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1187","type":"service","activity":{"point_id":"p00000111","duration":5400,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1183","type":"service","activity":{"point_id":"p00000489","duration":28800,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R437","type":"service","activity":{"point_id":"p00005445_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R833","type":"service","activity":{"point_id":"p00014175_1","duration":1800,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1168","type":"service","activity":{"point_id":"p00000511_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1167","type":"service","activity":{"point_id":"p00000511_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R858","type":"service","activity":{"point_id":"p00000511_2","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R802","type":"service","activity":{"point_id":"p00013519_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1268","type":"service","activity":{"point_id":"p00000257_1","duration":1800,"timewindows":[{"start":378400,"end":2538340}]},"skills":["1"]},{"id":"R1269","type":"service","activity":{"point_id":"p00000257_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]},"skills":["1"]},{"id":"R1290","type":"service","activity":{"point_id":"p00016999","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R693","type":"service","activity":{"point_id":"p00012043","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1227","type":"service","activity":{"point_id":"p00012956","duration":18000,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R767","type":"service","activity":{"point_id":"p00012955","duration":1800,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R642","type":"service","activity":{"point_id":"p00005447","duration":5400,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1086","type":"service","activity":{"point_id":"p00016677","duration":7200,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R820","type":"service","activity":{"point_id":"p00001507_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R850","type":"service","activity":{"point_id":"p00014285","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R851","type":"service","activity":{"point_id":"p00014285","duration":9000,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R220","type":"service","activity":{"point_id":"p00001830_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R52","type":"service","activity":{"point_id":"p00002094","duration":9900,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1154","type":"service","activity":{"point_id":"p00015580","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1131","type":"service","activity":{"point_id":"p00016073","duration":7200,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R559","type":"service","activity":{"point_id":"p00000706","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R461","type":"service","activity":{"point_id":"p00000053_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R356","type":"service","activity":{"point_id":"p00000301","duration":5400,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R962","type":"service","activity":{"point_id":"p00015699_1","duration":5400,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1093","type":"service","activity":{"point_id":"p00015699_1","duration":5112,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R825","type":"service","activity":{"point_id":"p00004444_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1035","type":"service","activity":{"point_id":"p00000259_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R481","type":"service","activity":{"point_id":"p00000259_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R482","type":"service","activity":{"point_id":"p00000259_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R652","type":"service","activity":{"point_id":"p00000259_2","duration":5400,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R867","type":"service","activity":{"point_id":"p00012057_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R744","type":"service","activity":{"point_id":"p00000809","duration":14400,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R115","type":"service","activity":{"point_id":"p00001821_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R943","type":"service","activity":{"point_id":"p00013867","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R809","type":"service","activity":{"point_id":"p00000849","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R928","type":"service","activity":{"point_id":"p00015255","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R577","type":"service","activity":{"point_id":"p00000335","duration":7200,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R952","type":"service","activity":{"point_id":"p00015378","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R950","type":"service","activity":{"point_id":"p00015301","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}}]}} \ No newline at end of file +{"vrp":{"units":[{"id":"unit1"},{"id":"unit2"}],"configuration":{"resolution":{"duration":6000,"iterations_without_improvment":100},"restitution":{"intermediate_solutions":false}},"points":[{"id":"rdv1","location":{"lat":47.5289,"lon":-0.610066}},{"id":"rdv2","location":{"lat":47.4557,"lon":-0.272599}},{"id":"rdv3","location":{"lat":47.4463,"lon":-0.455594}},{"id":"rdv4","location":{"lat":47.4784,"lon":-0.563166}},{"id":"rdv5","location":{"lat":47.471,"lon":-0.553897}},{"id":"rdv6","location":{"lat":47.453,"lon":-0.544951}},{"id":"rdv7","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv8","location":{"lat":47.4195,"lon":-0.435102}},{"id":"rdv9","location":{"lat":47.5221,"lon":-0.884321}},{"id":"rdv10","location":{"lat":47.4601,"lon":-0.533809}},{"id":"rdv11","location":{"lat":47.4463,"lon":-0.455594}},{"id":"rdv12","location":{"lat":47.4463,"lon":-0.455594}},{"id":"rdv13","location":{"lat":47.525,"lon":-0.525667}},{"id":"rdv14","location":{"lat":47.4662,"lon":-0.552585}},{"id":"rdv15","location":{"lat":47.4603,"lon":-0.616861}},{"id":"rdv16","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv17","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv18","location":{"lat":47.4873,"lon":-0.574497}},{"id":"rdv19","location":{"lat":47.465,"lon":-0.562032}},{"id":"rdv20","location":{"lat":47.4919,"lon":-0.547877}},{"id":"rdv21","location":{"lat":47.4752,"lon":-0.539809}},{"id":"rdv22","location":{"lat":47.4721,"lon":-0.552937}},{"id":"rdv23","location":{"lat":47.475,"lon":-0.569292}},{"id":"rdv24","location":{"lat":47.4762,"lon":-0.551561}},{"id":"rdv25","location":{"lat":47.4707,"lon":-0.55342}},{"id":"rdv26","location":{"lat":47.4734,"lon":-0.553227}},{"id":"rdv27","location":{"lat":47.4772,"lon":-0.560892}},{"id":"rdv28","location":{"lat":47.4731,"lon":-0.549123}},{"id":"rdv29","location":{"lat":47.4444,"lon":-0.540579}},{"id":"rdv30","location":{"lat":47.4487,"lon":-0.551382}},{"id":"rdv31","location":{"lat":47.4733,"lon":-0.546593}},{"id":"rdv32","location":{"lat":47.477,"lon":-0.532281}},{"id":"rdv33","location":{"lat":47.4693,"lon":-0.561345}},{"id":"rdv34","location":{"lat":47.4647,"lon":-0.556389}},{"id":"rdv35","location":{"lat":48.8693,"lon":2.3502}},{"id":"rdv36","location":{"lat":47.541,"lon":-0.101231}},{"id":"rdv37","location":{"lat":47.4402,"lon":-0.195214}},{"id":"rdv38","location":{"lat":47.4402,"lon":-0.195214}},{"id":"rdv39","location":{"lat":47.4402,"lon":-0.195214}},{"id":"rdv40","location":{"lat":47.4784,"lon":-0.630341}},{"id":"rdv41","location":{"lat":47.3827,"lon":-0.109054}},{"id":"rdv42","location":{"lat":47.4742,"lon":-0.635502}},{"id":"rdv43","location":{"lat":47.4691,"lon":-0.616239}},{"id":"rdv44","location":{"lat":47.3786,"lon":-0.110535}},{"id":"rdv45","location":{"lat":47.4846,"lon":-0.627114}},{"id":"rdv46","location":{"lat":47.4333,"lon":-0.529787}},{"id":"rdv47","location":{"lat":47.4484,"lon":-0.507974}},{"id":"rdv48","location":{"lat":47.5202,"lon":-0.581762}},{"id":"rdv49","location":{"lat":47.4929,"lon":-0.223567}},{"id":"rdv50","location":{"lat":47.4784,"lon":-0.563166}},{"id":"rdv51","location":{"lat":47.4601,"lon":-0.533809}},{"id":"rdv52","location":{"lat":47.4601,"lon":-0.533809}},{"id":"rdv53","location":{"lat":47.4734,"lon":-0.546325}},{"id":"rdv54","location":{"lat":47.452,"lon":-0.545653}},{"id":"rdv55","location":{"lat":47.4712,"lon":-0.550689}},{"id":"rdv56","location":{"lat":47.4687,"lon":-0.549608}},{"id":"rdv57","location":{"lat":47.4736,"lon":-0.542109}},{"id":"rdv58","location":{"lat":47.4642,"lon":-0.522229}},{"id":"rdv59","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv60","location":{"lat":47.4779,"lon":-0.560474}},{"id":"rdv61","location":{"lat":47.4657,"lon":-0.553693}},{"id":"rdv62","location":{"lat":47.4712,"lon":-0.553952}},{"id":"rdv63","location":{"lat":47.4652,"lon":-0.545167}},{"id":"rdv64","location":{"lat":47.4652,"lon":-0.545167}},{"id":"rdv65","location":{"lat":47.4712,"lon":-0.554067}},{"id":"rdv66","location":{"lat":47.4698,"lon":-0.555258}},{"id":"rdv67","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv68","location":{"lat":47.4651,"lon":-0.558679}},{"id":"rdv69","location":{"lat":47.47,"lon":-0.548683}},{"id":"rdv70","location":{"lat":47.47,"lon":-0.548683}},{"id":"rdv71","location":{"lat":47.4531,"lon":-0.535406}},{"id":"rdv72","location":{"lat":47.4588,"lon":-0.559277}},{"id":"rdv73","location":{"lat":47.4737,"lon":-0.553051}},{"id":"rdv74","location":{"lat":47.4537,"lon":-0.526583}},{"id":"rdv75","location":{"lat":47.4725,"lon":-0.560698}},{"id":"rdv76","location":{"lat":47.4721,"lon":-0.590716}},{"id":"rdv77","location":{"lat":47.467,"lon":-0.558908}},{"id":"rdv78","location":{"lat":47.4724,"lon":-0.554352}},{"id":"rdv79","location":{"lat":47.471,"lon":-0.566757}},{"id":"rdv80","location":{"lat":47.4592,"lon":-0.604392}},{"id":"rdv81","location":{"lat":47.4583,"lon":-0.530444}},{"id":"rdv82","location":{"lat":47.4653,"lon":-0.545309}},{"id":"rdv83","location":{"lat":48.8693,"lon":2.3502}},{"id":"rdv84","location":{"lat":48.8693,"lon":2.3502}},{"id":"rdv85","location":{"lat":47.5014,"lon":-0.599646}},{"id":"rdv86","location":{"lat":47.5014,"lon":-0.599646}},{"id":"rdv87","location":{"lat":47.4407,"lon":-0.222658}},{"id":"rdv88","location":{"lat":47.4846,"lon":-0.627114}},{"id":"rdv89","location":{"lat":47.3786,"lon":-0.110535}},{"id":"rdv90","location":{"lat":47.4846,"lon":-0.627114}},{"id":"rdv91","location":{"lat":47.3827,"lon":-0.109054}},{"id":"rdv92","location":{"lat":47.4784,"lon":-0.630341}},{"id":"rdv93","location":{"lat":47.4784,"lon":-0.630341}},{"id":"rdv94","location":{"lat":47.3827,"lon":-0.109054}},{"id":"rdv95","location":{"lat":47.4784,"lon":-0.630341}},{"id":"rdv96","location":{"lat":47.3827,"lon":-0.109054}},{"id":"rdv97","location":{"lat":47.5978,"lon":-0.700641}},{"id":"rdv98","location":{"lat":47.3332,"lon":-0.436299}},{"id":"rdv99","location":{"lat":47.288,"lon":-0.43298}},{"id":"rdv100","location":{"lat":47.3795,"lon":-0.643668}},{"id":"rdv101","location":{"lat":47.4601,"lon":-0.533809}},{"id":"rdv102","location":{"lat":47.4722,"lon":-0.551967}},{"id":"rdv103","location":{"lat":47.4706,"lon":-0.552721}},{"id":"rdv104","location":{"lat":47.485,"lon":-0.526242}},{"id":"rdv105","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv106","location":{"lat":47.4514,"lon":-0.54895}},{"id":"rdv107","location":{"lat":47.4919,"lon":-0.547877}},{"id":"rdv108","location":{"lat":47.4776,"lon":-0.544867}},{"id":"rdv109","location":{"lat":47.4458,"lon":-0.560046}},{"id":"rdv110","location":{"lat":47.4764,"lon":-0.542889}},{"id":"rdv111","location":{"lat":47.4628,"lon":-0.536248}},{"id":"rdv112","location":{"lat":47.4704,"lon":-0.552052}},{"id":"rdv113","location":{"lat":47.4664,"lon":-0.549984}},{"id":"rdv114","location":{"lat":47.4603,"lon":-0.616861}},{"id":"rdv115","location":{"lat":47.4919,"lon":-0.547877}},{"id":"rdv116","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv117","location":{"lat":47.5018,"lon":-0.517146}},{"id":"rdv118","location":{"lat":47.4797,"lon":-0.527312}},{"id":"rdv119","location":{"lat":47.4736,"lon":-0.559217}},{"id":"rdv120","location":{"lat":47.4733,"lon":-0.546593}},{"id":"rdv121","location":{"lat":47.4487,"lon":-0.56085}},{"id":"rdv122","location":{"lat":47.4506,"lon":-0.54634}},{"id":"rdv123","location":{"lat":47.4884,"lon":-0.56086}},{"id":"rdv124","location":{"lat":47.471,"lon":-0.553518}},{"id":"rdv125","location":{"lat":47.4729,"lon":-0.561497}},{"id":"rdv126","location":{"lat":47.4897,"lon":-0.507567}},{"id":"rdv127","location":{"lat":47.4549,"lon":-0.560897}},{"id":"p00001198","location":{"lat":47.4968,"lon":-0.619151}},{"id":"p00000294_2","location":{"lat":47.4407,"lon":-0.222658}},{"id":"p00000731_1","location":{"lat":47.4338,"lon":-0.223433}},{"id":"p00001113","location":{"lat":47.5039,"lon":-0.791659}},{"id":"p00010612","location":{"lat":47.5019,"lon":-0.422171}},{"id":"p00000111","location":{"lat":47.6629,"lon":-0.244618}},{"id":"p00000489","location":{"lat":47.3827,"lon":-0.109054}},{"id":"p00005445_1","location":{"lat":47.5289,"lon":-0.610066}},{"id":"p00014175_1","location":{"lat":47.3573,"lon":-0.553444}},{"id":"p00000511_1","location":{"lat":47.3574,"lon":-0.551212}},{"id":"p00000511_2","location":{"lat":47.3586,"lon":-0.551899}},{"id":"p00013519_1","location":{"lat":47.3993,"lon":-0.527441}},{"id":"p00000257_1","location":{"lat":47.3996,"lon":-0.539386}},{"id":"p00016999","location":{"lat":47.4006,"lon":-0.535082}},{"id":"p00012043","location":{"lat":47.3984,"lon":-0.544026}},{"id":"p00012956","location":{"lat":47.3988,"lon":-0.529466}},{"id":"p00012955","location":{"lat":47.3989,"lon":-0.528207}},{"id":"p00005447","location":{"lat":47.4091,"lon":-0.32026}},{"id":"p00016677","location":{"lat":47.2305,"lon":-0.071593}},{"id":"p00001507_1","location":{"lat":47.5901,"lon":-0.359223}},{"id":"p00014285","location":{"lat":47.478,"lon":-0.497588}},{"id":"p00001830_1","location":{"lat":47.4654,"lon":-0.499294}},{"id":"p00002094","location":{"lat":47.4269,"lon":-0.551697}},{"id":"p00015580","location":{"lat":47.4088,"lon":-0.760619}},{"id":"p00016073","location":{"lat":47.4088,"lon":-0.760619}},{"id":"p00000706","location":{"lat":47.4568,"lon":-0.661627}},{"id":"p00000053_1","location":{"lat":47.3707,"lon":-0.496747}},{"id":"p00000301","location":{"lat":47.3991,"lon":-0.513324}},{"id":"p00015699_1","location":{"lat":47.5003,"lon":-0.489976}},{"id":"p00004444_1","location":{"lat":47.5128,"lon":-0.471117}},{"id":"p00000259_1","location":{"lat":47.4274,"lon":-0.547}},{"id":"p00000259_2","location":{"lat":47.4252,"lon":-0.561946}},{"id":"p00012057_1","location":{"lat":47.4251,"lon":-0.56448}},{"id":"p00000809","location":{"lat":47.267,"lon":-0.50325}},{"id":"p00001821_1","location":{"lat":47.6116,"lon":-0.471595}},{"id":"p00013867","location":{"lat":47.4529,"lon":-0.468028}},{"id":"p00000849","location":{"lat":47.4489,"lon":-0.474029}},{"id":"p00015255","location":{"lat":47.4478,"lon":-0.465395}},{"id":"p00000335","location":{"lat":47.4466,"lon":-0.495939}},{"id":"p00015378","location":{"lat":47.4424,"lon":-0.48255}},{"id":"p00015301","location":{"lat":47.4527,"lon":-0.467693}},{"id":"pSociete","location":{"lat":47.4823,"lon":-0.503304}}],"vehicles":[{"id":"201707079","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":407200,"end":436000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017070729","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":407200,"end":436000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017070730","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":407200,"end":436000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017070731","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":407200,"end":436000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"201707109","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":666400,"end":695200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071029","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":666400,"end":695200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071030","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":666400,"end":695200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071031","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":666400,"end":695200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"201707119","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":752800,"end":781600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071129","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":752800,"end":781600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071130","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":752800,"end":781600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071131","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":752800,"end":781600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"201707129","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":839200,"end":868000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071229","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":839200,"end":868000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071230","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":839200,"end":868000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071231","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":839200,"end":868000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"201707139","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":925600,"end":954400},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071329","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":925600,"end":954400},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071330","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":925600,"end":954400},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071331","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":925600,"end":954400},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071729","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1271200,"end":1300000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071730","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1271200,"end":1300000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071731","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1271200,"end":1300000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071829","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1357600,"end":1386400},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071830","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1357600,"end":1386400},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071831","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1357600,"end":1386400},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017071930","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1444000,"end":1472800},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017071931","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1444000,"end":1472800},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017072030","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1530400,"end":1559200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017072131","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1616800,"end":1645600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017072430","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1876000,"end":1904800},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017072431","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1876000,"end":1904800},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017072529","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1962400,"end":1991200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017072530","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1962400,"end":1991200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017072531","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":1962400,"end":1991200},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017072630","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":2048800,"end":2077600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017072729","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":2135200,"end":2164000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017072730","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":2135200,"end":2164000},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]},{"id":"2017073129","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":2480800,"end":2509600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["2"]]},{"id":"2017073130","router_mode":"car","router_dimension":"time","duration":28800,"timewindow":{"start":2480800,"end":2509600},"start_point_id":"pSociete","end_point_id":"pSociete","cost_fixed":0,"cost_time_multiplier":1,"skills":[["1"]]}],"services":[{"id":"service1","type":"service","priority":0,"sticky_vehicle_ids":["201707079"],"activity":{"point_id":"rdv1","timewindows":[{"start":407200,"end":410800}]}},{"id":"service2","type":"service","priority":0,"sticky_vehicle_ids":["201707079"],"activity":{"point_id":"rdv2","timewindows":[{"start":410800,"end":414400}]}},{"id":"service3","type":"service","priority":0,"sticky_vehicle_ids":["201707119"],"activity":{"point_id":"rdv3","timewindows":[{"start":763600,"end":767200}]}},{"id":"service4","type":"service","priority":0,"sticky_vehicle_ids":["201707119"],"activity":{"point_id":"rdv4","timewindows":[{"start":770800,"end":774400}]}},{"id":"service5","type":"service","priority":0,"sticky_vehicle_ids":["201707129"],"activity":{"point_id":"rdv5","timewindows":[{"start":839200,"end":842800}]}},{"id":"service6","type":"service","priority":0,"sticky_vehicle_ids":["201707129"],"activity":{"point_id":"rdv6","timewindows":[{"start":842800,"end":850000}]}},{"id":"service7","type":"service","priority":0,"sticky_vehicle_ids":["201707129"],"activity":{"point_id":"rdv7","timewindows":[{"start":850000,"end":853600}]}},{"id":"service8","type":"service","priority":0,"sticky_vehicle_ids":["201707129"],"activity":{"point_id":"rdv8","timewindows":[{"start":853600,"end":857200}]}},{"id":"service9","type":"service","priority":0,"sticky_vehicle_ids":["201707129"],"activity":{"point_id":"rdv9","timewindows":[{"start":857200,"end":858100}]}},{"id":"service10","type":"service","priority":0,"sticky_vehicle_ids":["201707139"],"activity":{"point_id":"rdv10","timewindows":[{"start":925600,"end":947200}]}},{"id":"service11","type":"service","priority":0,"sticky_vehicle_ids":["2017071129"],"activity":{"point_id":"rdv11","timewindows":[{"start":752800,"end":756400}]}},{"id":"service12","type":"service","priority":0,"sticky_vehicle_ids":["2017071129"],"activity":{"point_id":"rdv12","timewindows":[{"start":756400,"end":770800}]}},{"id":"service13","type":"service","priority":0,"sticky_vehicle_ids":["2017071229"],"activity":{"point_id":"rdv13","timewindows":[{"start":839200,"end":842800}]}},{"id":"service14","type":"service","priority":0,"sticky_vehicle_ids":["2017071229"],"activity":{"point_id":"rdv14","timewindows":[{"start":842800,"end":846400}]}},{"id":"service15","type":"service","priority":0,"sticky_vehicle_ids":["2017071729"],"activity":{"point_id":"rdv15","timewindows":[{"start":1271200,"end":1274800}]}},{"id":"service16","type":"service","priority":0,"sticky_vehicle_ids":["2017071729"],"activity":{"point_id":"rdv16","timewindows":[{"start":1274800,"end":1280200}]}},{"id":"service17","type":"service","priority":0,"sticky_vehicle_ids":["2017071729"],"activity":{"point_id":"rdv17","timewindows":[{"start":1280200,"end":1283800}]}},{"id":"service18","type":"service","priority":0,"sticky_vehicle_ids":["2017071729"],"activity":{"point_id":"rdv18","timewindows":[{"start":1283800,"end":1287400}]}},{"id":"service19","type":"service","priority":0,"sticky_vehicle_ids":["2017071729"],"activity":{"point_id":"rdv19","timewindows":[{"start":1287400,"end":1294600}]}},{"id":"service20","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv20","timewindows":[{"start":1357600,"end":1361200}]}},{"id":"service21","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv21","timewindows":[{"start":1361200,"end":1364800}]}},{"id":"service22","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv22","timewindows":[{"start":1364800,"end":1366600}]}},{"id":"service23","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv23","timewindows":[{"start":1366600,"end":1370200}]}},{"id":"service24","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv24","timewindows":[{"start":1370200,"end":1372000}]}},{"id":"service25","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv25","timewindows":[{"start":1372000,"end":1375600}]}},{"id":"service26","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv26","timewindows":[{"start":1375600,"end":1377400}]}},{"id":"service27","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv27","timewindows":[{"start":1377400,"end":1379200}]}},{"id":"service28","type":"service","priority":0,"sticky_vehicle_ids":["2017071829"],"activity":{"point_id":"rdv28","timewindows":[{"start":1379200,"end":1381000}]}},{"id":"service29","type":"service","priority":0,"sticky_vehicle_ids":["2017072529"],"activity":{"point_id":"rdv29","timewindows":[{"start":1962400,"end":1966000}]}},{"id":"service30","type":"service","priority":0,"sticky_vehicle_ids":["2017072529"],"activity":{"point_id":"rdv30","timewindows":[{"start":1966000,"end":1971400}]}},{"id":"service31","type":"service","priority":0,"sticky_vehicle_ids":["2017072529"],"activity":{"point_id":"rdv31","timewindows":[{"start":1971400,"end":1975000}]}},{"id":"service32","type":"service","priority":0,"sticky_vehicle_ids":["2017072529"],"activity":{"point_id":"rdv32","timewindows":[{"start":1975000,"end":1978600}]}},{"id":"service33","type":"service","priority":0,"sticky_vehicle_ids":["2017072529"],"activity":{"point_id":"rdv33","timewindows":[{"start":1978600,"end":1982200}]}},{"id":"service34","type":"service","priority":0,"sticky_vehicle_ids":["2017072529"],"activity":{"point_id":"rdv34","timewindows":[{"start":1982200,"end":1985800}]}},{"id":"service35","type":"service","priority":0,"sticky_vehicle_ids":["2017072729"],"activity":{"point_id":"rdv35","timewindows":[{"start":2135200,"end":2139700}]}},{"id":"service36","type":"service","priority":0,"sticky_vehicle_ids":["2017072729"],"activity":{"point_id":"rdv36","timewindows":[{"start":2140600,"end":2158600}]}},{"id":"service37","type":"service","priority":0,"sticky_vehicle_ids":["2017072729"],"activity":{"point_id":"rdv37","timewindows":[{"start":2140600,"end":2144200}]}},{"id":"service38","type":"service","priority":0,"sticky_vehicle_ids":["2017072729"],"activity":{"point_id":"rdv38","timewindows":[{"start":2144200,"end":2151400}]}},{"id":"service39","type":"service","priority":0,"sticky_vehicle_ids":["2017072729"],"activity":{"point_id":"rdv39","timewindows":[{"start":2151400,"end":2158600}]}},{"id":"service40","type":"service","priority":0,"sticky_vehicle_ids":["2017073129"],"activity":{"point_id":"rdv40","timewindows":[{"start":2480800,"end":2488000}]}},{"id":"service41","type":"service","priority":0,"sticky_vehicle_ids":["2017073129"],"activity":{"point_id":"rdv41","timewindows":[{"start":2480800,"end":2495200}]}},{"id":"service42","type":"service","priority":0,"sticky_vehicle_ids":["2017073129"],"activity":{"point_id":"rdv42","timewindows":[{"start":2488000,"end":2493400}]}},{"id":"service43","type":"service","priority":0,"sticky_vehicle_ids":["2017073129"],"activity":{"point_id":"rdv43","timewindows":[{"start":2493400,"end":2497000}]}},{"id":"service44","type":"service","priority":0,"sticky_vehicle_ids":["2017073129"],"activity":{"point_id":"rdv44","timewindows":[{"start":2495200,"end":2500600}]}},{"id":"service45","type":"service","priority":0,"sticky_vehicle_ids":["2017073129"],"activity":{"point_id":"rdv45","timewindows":[{"start":2497000,"end":2502400}]}},{"id":"service46","type":"service","priority":0,"sticky_vehicle_ids":["2017073129"],"activity":{"point_id":"rdv46","timewindows":[{"start":2500600,"end":2504200}]}},{"id":"service47","type":"service","priority":0,"sticky_vehicle_ids":["2017071130"],"activity":{"point_id":"rdv47","timewindows":[{"start":752800,"end":763600}]}},{"id":"service48","type":"service","priority":0,"sticky_vehicle_ids":["2017071130"],"activity":{"point_id":"rdv48","timewindows":[{"start":763600,"end":767200}]}},{"id":"service49","type":"service","priority":0,"sticky_vehicle_ids":["2017071130"],"activity":{"point_id":"rdv49","timewindows":[{"start":767200,"end":770800}]}},{"id":"service50","type":"service","priority":0,"sticky_vehicle_ids":["2017071130"],"activity":{"point_id":"rdv50","timewindows":[{"start":770800,"end":774400}]}},{"id":"service51","type":"service","priority":0,"sticky_vehicle_ids":["2017071230"],"activity":{"point_id":"rdv51","timewindows":[{"start":839200,"end":846400}]}},{"id":"service52","type":"service","priority":0,"sticky_vehicle_ids":["2017071330"],"activity":{"point_id":"rdv52","timewindows":[{"start":925600,"end":932800}]}},{"id":"service53","type":"service","priority":0,"sticky_vehicle_ids":["2017071730"],"activity":{"point_id":"rdv53","timewindows":[{"start":1271200,"end":1278400}]}},{"id":"service54","type":"service","priority":0,"sticky_vehicle_ids":["2017071730"],"activity":{"point_id":"rdv54","timewindows":[{"start":1278400,"end":1282000}]}},{"id":"service55","type":"service","priority":0,"sticky_vehicle_ids":["2017071730"],"activity":{"point_id":"rdv55","timewindows":[{"start":1282000,"end":1287400}]}},{"id":"service56","type":"service","priority":0,"sticky_vehicle_ids":["2017071730"],"activity":{"point_id":"rdv56","timewindows":[{"start":1287400,"end":1291000}]}},{"id":"service57","type":"service","priority":0,"sticky_vehicle_ids":["2017071730"],"activity":{"point_id":"rdv57","timewindows":[{"start":1291000,"end":1294600}]}},{"id":"service58","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv58","timewindows":[{"start":1357600,"end":1361200}]}},{"id":"service59","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv59","timewindows":[{"start":1361200,"end":1364800}]}},{"id":"service60","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv60","timewindows":[{"start":1364800,"end":1368400}]}},{"id":"service61","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv61","timewindows":[{"start":1368400,"end":1372000}]}},{"id":"service62","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv62","timewindows":[{"start":1372000,"end":1373800}]}},{"id":"service63","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv63","timewindows":[{"start":1373800,"end":1377400}]}},{"id":"service64","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv64","timewindows":[{"start":1377400,"end":1379200}]}},{"id":"service65","type":"service","priority":0,"sticky_vehicle_ids":["2017071830"],"activity":{"point_id":"rdv65","timewindows":[{"start":1379200,"end":1381000}]}},{"id":"service66","type":"service","priority":0,"sticky_vehicle_ids":["2017071930"],"activity":{"point_id":"rdv66","timewindows":[{"start":1444000,"end":1447600}]}},{"id":"service67","type":"service","priority":0,"sticky_vehicle_ids":["2017071930"],"activity":{"point_id":"rdv67","timewindows":[{"start":1447600,"end":1451200}]}},{"id":"service68","type":"service","priority":0,"sticky_vehicle_ids":["2017071930"],"activity":{"point_id":"rdv68","timewindows":[{"start":1451200,"end":1454800}]}},{"id":"service69","type":"service","priority":0,"sticky_vehicle_ids":["2017071930"],"activity":{"point_id":"rdv69","timewindows":[{"start":1454800,"end":1462000}]}},{"id":"service70","type":"service","priority":0,"sticky_vehicle_ids":["2017071930"],"activity":{"point_id":"rdv70","timewindows":[{"start":1462000,"end":1465600}]}},{"id":"service71","type":"service","priority":0,"sticky_vehicle_ids":["2017072030"],"activity":{"point_id":"rdv71","timewindows":[{"start":1530400,"end":1535800}]}},{"id":"service72","type":"service","priority":0,"sticky_vehicle_ids":["2017072030"],"activity":{"point_id":"rdv72","timewindows":[{"start":1535800,"end":1539400}]}},{"id":"service73","type":"service","priority":0,"sticky_vehicle_ids":["2017072030"],"activity":{"point_id":"rdv73","timewindows":[{"start":1539400,"end":1543000}]}},{"id":"service74","type":"service","priority":0,"sticky_vehicle_ids":["2017072030"],"activity":{"point_id":"rdv74","timewindows":[{"start":1543000,"end":1546600}]}},{"id":"service75","type":"service","priority":0,"sticky_vehicle_ids":["2017072030"],"activity":{"point_id":"rdv75","timewindows":[{"start":1546600,"end":1550200}]}},{"id":"service76","type":"service","priority":0,"sticky_vehicle_ids":["2017072030"],"activity":{"point_id":"rdv76","timewindows":[{"start":1550200,"end":1553800}]}},{"id":"service77","type":"service","priority":0,"sticky_vehicle_ids":["2017072430"],"activity":{"point_id":"rdv77","timewindows":[{"start":1876000,"end":1879600}]}},{"id":"service78","type":"service","priority":0,"sticky_vehicle_ids":["2017072430"],"activity":{"point_id":"rdv78","timewindows":[{"start":1879600,"end":1883200}]}},{"id":"service79","type":"service","priority":0,"sticky_vehicle_ids":["2017072430"],"activity":{"point_id":"rdv79","timewindows":[{"start":1883200,"end":1886800}]}},{"id":"service80","type":"service","priority":0,"sticky_vehicle_ids":["2017072430"],"activity":{"point_id":"rdv80","timewindows":[{"start":1886800,"end":1890400}]}},{"id":"service81","type":"service","priority":0,"sticky_vehicle_ids":["2017072430"],"activity":{"point_id":"rdv81","timewindows":[{"start":1890400,"end":1894000}]}},{"id":"service82","type":"service","priority":0,"sticky_vehicle_ids":["2017072430"],"activity":{"point_id":"rdv82","timewindows":[{"start":1894000,"end":1897600}]}},{"id":"service83","type":"service","priority":0,"sticky_vehicle_ids":["2017072530"],"activity":{"point_id":"rdv83","timewindows":[{"start":1962400,"end":1966900}]}},{"id":"service84","type":"service","priority":0,"sticky_vehicle_ids":["2017072630"],"activity":{"point_id":"rdv84","timewindows":[{"start":2048800,"end":2052400}]}},{"id":"service85","type":"service","priority":0,"sticky_vehicle_ids":["2017072730"],"activity":{"point_id":"rdv85","timewindows":[{"start":2135200,"end":2146000}]}},{"id":"service86","type":"service","priority":0,"sticky_vehicle_ids":["2017072730"],"activity":{"point_id":"rdv86","timewindows":[{"start":2146000,"end":2149600}]}},{"id":"service87","type":"service","priority":0,"sticky_vehicle_ids":["2017072730"],"activity":{"point_id":"rdv87","timewindows":[{"start":2149600,"end":2156800}]}},{"id":"service88","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv88","timewindows":[{"start":2480800,"end":2484400}]}},{"id":"service89","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv89","timewindows":[{"start":2480800,"end":2484400}]}},{"id":"service90","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv90","timewindows":[{"start":2484400,"end":2488000}]}},{"id":"service91","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv91","timewindows":[{"start":2484400,"end":2491600}]}},{"id":"service92","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv92","timewindows":[{"start":2488000,"end":2489800}]}},{"id":"service93","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv93","timewindows":[{"start":2489800,"end":2493400}]}},{"id":"service94","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv94","timewindows":[{"start":2491600,"end":2497000}]}},{"id":"service95","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv95","timewindows":[{"start":2493400,"end":2498800}]}},{"id":"service96","type":"service","priority":0,"sticky_vehicle_ids":["2017073130"],"activity":{"point_id":"rdv96","timewindows":[{"start":2497000,"end":2504200}]}},{"id":"service97","type":"service","priority":0,"sticky_vehicle_ids":["2017071131"],"activity":{"point_id":"rdv97","timewindows":[{"start":752800,"end":756400}]}},{"id":"service98","type":"service","priority":0,"sticky_vehicle_ids":["2017071131"],"activity":{"point_id":"rdv98","timewindows":[{"start":756400,"end":760000}]}},{"id":"service99","type":"service","priority":0,"sticky_vehicle_ids":["2017071131"],"activity":{"point_id":"rdv99","timewindows":[{"start":760000,"end":763600}]}},{"id":"service100","type":"service","priority":0,"sticky_vehicle_ids":["2017071131"],"activity":{"point_id":"rdv100","timewindows":[{"start":763600,"end":767200}]}},{"id":"service101","type":"service","priority":0,"sticky_vehicle_ids":["2017071331"],"activity":{"point_id":"rdv101","timewindows":[{"start":925600,"end":947200}]}},{"id":"service102","type":"service","priority":0,"sticky_vehicle_ids":["2017071731"],"activity":{"point_id":"rdv102","timewindows":[{"start":1271200,"end":1274800}]}},{"id":"service103","type":"service","priority":0,"sticky_vehicle_ids":["2017071731"],"activity":{"point_id":"rdv103","timewindows":[{"start":1274800,"end":1278400}]}},{"id":"service104","type":"service","priority":0,"sticky_vehicle_ids":["2017071731"],"activity":{"point_id":"rdv104","timewindows":[{"start":1278400,"end":1282000}]}},{"id":"service105","type":"service","priority":0,"sticky_vehicle_ids":["2017071731"],"activity":{"point_id":"rdv105","timewindows":[{"start":1282000,"end":1291000}]}},{"id":"service106","type":"service","priority":0,"sticky_vehicle_ids":["2017071731"],"activity":{"point_id":"rdv106","timewindows":[{"start":1291000,"end":1294600}]}},{"id":"service107","type":"service","priority":0,"sticky_vehicle_ids":["2017071831"],"activity":{"point_id":"rdv107","timewindows":[{"start":1357600,"end":1361200}]}},{"id":"service108","type":"service","priority":0,"sticky_vehicle_ids":["2017071831"],"activity":{"point_id":"rdv108","timewindows":[{"start":1361200,"end":1368400}]}},{"id":"service109","type":"service","priority":0,"sticky_vehicle_ids":["2017071831"],"activity":{"point_id":"rdv109","timewindows":[{"start":1368400,"end":1373800}]}},{"id":"service110","type":"service","priority":0,"sticky_vehicle_ids":["2017071831"],"activity":{"point_id":"rdv110","timewindows":[{"start":1373800,"end":1377400}]}},{"id":"service111","type":"service","priority":0,"sticky_vehicle_ids":["2017071831"],"activity":{"point_id":"rdv111","timewindows":[{"start":1377400,"end":1381000}]}},{"id":"service112","type":"service","priority":0,"sticky_vehicle_ids":["2017071931"],"activity":{"point_id":"rdv112","timewindows":[{"start":1444000,"end":1447600}]}},{"id":"service113","type":"service","priority":0,"sticky_vehicle_ids":["2017071931"],"activity":{"point_id":"rdv113","timewindows":[{"start":1447600,"end":1451200}]}},{"id":"service114","type":"service","priority":0,"sticky_vehicle_ids":["2017071931"],"activity":{"point_id":"rdv114","timewindows":[{"start":1451200,"end":1454800}]}},{"id":"service115","type":"service","priority":0,"sticky_vehicle_ids":["2017071931"],"activity":{"point_id":"rdv115","timewindows":[{"start":1454800,"end":1458400}]}},{"id":"service116","type":"service","priority":0,"sticky_vehicle_ids":["2017071931"],"activity":{"point_id":"rdv116","timewindows":[{"start":1458400,"end":1467400}]}},{"id":"service117","type":"service","priority":0,"sticky_vehicle_ids":["2017072131"],"activity":{"point_id":"rdv117","timewindows":[{"start":1616800,"end":1629400}]}},{"id":"service118","type":"service","priority":0,"sticky_vehicle_ids":["2017072131"],"activity":{"point_id":"rdv118","timewindows":[{"start":1629400,"end":1633000}]}},{"id":"service119","type":"service","priority":0,"sticky_vehicle_ids":["2017072131"],"activity":{"point_id":"rdv119","timewindows":[{"start":1633000,"end":1636600}]}},{"id":"service120","type":"service","priority":0,"sticky_vehicle_ids":["2017072131"],"activity":{"point_id":"rdv120","timewindows":[{"start":1636600,"end":1640200}]}},{"id":"service121","type":"service","priority":0,"sticky_vehicle_ids":["2017072431"],"activity":{"point_id":"rdv121","timewindows":[{"start":1876000,"end":1881400}]}},{"id":"service122","type":"service","priority":0,"sticky_vehicle_ids":["2017072431"],"activity":{"point_id":"rdv122","timewindows":[{"start":1881400,"end":1886800}]}},{"id":"service123","type":"service","priority":0,"sticky_vehicle_ids":["2017072431"],"activity":{"point_id":"rdv123","timewindows":[{"start":1886800,"end":1890400}]}},{"id":"service124","type":"service","priority":0,"sticky_vehicle_ids":["2017072431"],"activity":{"point_id":"rdv124","timewindows":[{"start":1890400,"end":1894000}]}},{"id":"service125","type":"service","priority":0,"sticky_vehicle_ids":["2017072431"],"activity":{"point_id":"rdv125","timewindows":[{"start":1894000,"end":1897600}]}},{"id":"service126","type":"service","priority":0,"sticky_vehicle_ids":["2017072531"],"activity":{"point_id":"rdv126","timewindows":[{"start":1962400,"end":1973200}]}},{"id":"service127","type":"service","priority":0,"sticky_vehicle_ids":["2017072531"],"activity":{"point_id":"rdv127","timewindows":[{"start":1973200,"end":1977700}]}},{"id":"R1169","type":"service","activity":{"point_id":"p00001198","duration":28800,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1079","type":"service","activity":{"point_id":"p00000294_2","duration":18000,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R579","type":"service","activity":{"point_id":"p00000731_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R284","type":"service","activity":{"point_id":"p00001113","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R953","type":"service","activity":{"point_id":"p00010612","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1187","type":"service","activity":{"point_id":"p00000111","duration":5400,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1183","type":"service","activity":{"point_id":"p00000489","duration":28800,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R437","type":"service","activity":{"point_id":"p00005445_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R833","type":"service","activity":{"point_id":"p00014175_1","duration":1800,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1168","type":"service","activity":{"point_id":"p00000511_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1167","type":"service","activity":{"point_id":"p00000511_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R858","type":"service","activity":{"point_id":"p00000511_2","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R802","type":"service","activity":{"point_id":"p00013519_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1268","type":"service","activity":{"point_id":"p00000257_1","duration":1800,"timewindows":[{"start":378400,"end":2538340}]},"skills":["1"]},{"id":"R1269","type":"service","activity":{"point_id":"p00000257_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]},"skills":["1"]},{"id":"R1290","type":"service","activity":{"point_id":"p00016999","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R693","type":"service","activity":{"point_id":"p00012043","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1227","type":"service","activity":{"point_id":"p00012956","duration":18000,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R767","type":"service","activity":{"point_id":"p00012955","duration":1800,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R642","type":"service","activity":{"point_id":"p00005447","duration":5400,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1086","type":"service","activity":{"point_id":"p00016677","duration":7200,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R820","type":"service","activity":{"point_id":"p00001507_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R850","type":"service","activity":{"point_id":"p00014285","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R851","type":"service","activity":{"point_id":"p00014285","duration":9000,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R220","type":"service","activity":{"point_id":"p00001830_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R52","type":"service","activity":{"point_id":"p00002094","duration":9900,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1154","type":"service","activity":{"point_id":"p00015580","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1131","type":"service","activity":{"point_id":"p00016073","duration":7200,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R559","type":"service","activity":{"point_id":"p00000706","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R461","type":"service","activity":{"point_id":"p00000053_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R356","type":"service","activity":{"point_id":"p00000301","duration":5400,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R962","type":"service","activity":{"point_id":"p00015699_1","duration":5400,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1093","type":"service","activity":{"point_id":"p00015699_1","duration":5112,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R825","type":"service","activity":{"point_id":"p00004444_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R1035","type":"service","activity":{"point_id":"p00000259_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R481","type":"service","activity":{"point_id":"p00000259_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R482","type":"service","activity":{"point_id":"p00000259_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R652","type":"service","activity":{"point_id":"p00000259_2","duration":5400,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R867","type":"service","activity":{"point_id":"p00012057_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R744","type":"service","activity":{"point_id":"p00000809","duration":14400,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R115","type":"service","activity":{"point_id":"p00001821_1","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R943","type":"service","activity":{"point_id":"p00013867","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R809","type":"service","activity":{"point_id":"p00000849","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R928","type":"service","activity":{"point_id":"p00015255","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R577","type":"service","activity":{"point_id":"p00000335","duration":7200,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R952","type":"service","activity":{"point_id":"p00015378","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}},{"id":"R950","type":"service","activity":{"point_id":"p00015301","duration":3600,"timewindows":[{"start":378400,"end":2538340}]}}]}} diff --git a/test/fixtures/ortools_multimodal_route.dump b/test/fixtures/ortools_multimodal_route.dump index b3489e033..6cab03991 100644 Binary files a/test/fixtures/ortools_multimodal_route.dump and b/test/fixtures/ortools_multimodal_route.dump differ diff --git a/test/fixtures/ortools_multimodal_route2.dump b/test/fixtures/ortools_multimodal_route2.dump index 836168b66..d25d4f049 100644 Binary files a/test/fixtures/ortools_multimodal_route2.dump and b/test/fixtures/ortools_multimodal_route2.dump differ diff --git a/test/fixtures/ortools_one_route_many_stops.dump b/test/fixtures/ortools_one_route_many_stops.dump index b22db224c..02d2836f1 100644 Binary files a/test/fixtures/ortools_one_route_many_stops.dump and b/test/fixtures/ortools_one_route_many_stops.dump differ diff --git a/test/fixtures/ortools_one_route_with_rest.dump b/test/fixtures/ortools_one_route_with_rest.dump index b219825dd..439ee6f1d 100644 Binary files a/test/fixtures/ortools_one_route_with_rest.dump and b/test/fixtures/ortools_one_route_with_rest.dump differ diff --git a/test/fixtures/ortools_one_route_with_rest_and_waiting_time.dump b/test/fixtures/ortools_one_route_with_rest_and_waiting_time.dump index b96cd5c60..2965ac28a 100644 Binary files a/test/fixtures/ortools_one_route_with_rest_and_waiting_time.dump and b/test/fixtures/ortools_one_route_with_rest_and_waiting_time.dump differ diff --git a/test/fixtures/ortools_one_route_with_single_mtws.dump b/test/fixtures/ortools_one_route_with_single_mtws.dump index 152e778e2..01bfaadb3 100644 Binary files a/test/fixtures/ortools_one_route_with_single_mtws.dump and b/test/fixtures/ortools_one_route_with_single_mtws.dump differ diff --git a/test/fixtures/ortools_one_route_without_rest.dump b/test/fixtures/ortools_one_route_without_rest.dump index 0a06fff84..71d78eef1 100644 Binary files a/test/fixtures/ortools_one_route_without_rest.dump and b/test/fixtures/ortools_one_route_without_rest.dump differ diff --git a/test/fixtures/ortools_one_route_without_rest_2.dump b/test/fixtures/ortools_one_route_without_rest_2.dump index df09b2101..49020fdd6 100644 Binary files a/test/fixtures/ortools_one_route_without_rest_2.dump and b/test/fixtures/ortools_one_route_without_rest_2.dump differ diff --git a/test/fixtures/ortools_open_timewindows.dump b/test/fixtures/ortools_open_timewindows.dump index 2ead4502e..33351068c 100644 Binary files a/test/fixtures/ortools_open_timewindows.dump and b/test/fixtures/ortools_open_timewindows.dump differ diff --git a/test/fixtures/ortools_optimize_each.dump b/test/fixtures/ortools_optimize_each.dump index 13cefe460..919af52c0 100644 Binary files a/test/fixtures/ortools_optimize_each.dump and b/test/fixtures/ortools_optimize_each.dump differ diff --git a/test/fixtures/ortools_performance_when_duration_limit.dump b/test/fixtures/ortools_performance_when_duration_limit.dump index 846a32c35..08ab4df0b 100644 Binary files a/test/fixtures/ortools_performance_when_duration_limit.dump and b/test/fixtures/ortools_performance_when_duration_limit.dump differ diff --git a/test/fixtures/ortools_single_route_with_route_order.dump b/test/fixtures/ortools_single_route_with_route_order.dump index b0248277b..4ef73fd62 100644 Binary files a/test/fixtures/ortools_single_route_with_route_order.dump and b/test/fixtures/ortools_single_route_with_route_order.dump differ diff --git a/test/fixtures/ortools_single_route_with_route_order_2.dump b/test/fixtures/ortools_single_route_with_route_order_2.dump index 04c8174cd..376645329 100644 Binary files a/test/fixtures/ortools_single_route_with_route_order_2.dump and b/test/fixtures/ortools_single_route_with_route_order_2.dump differ diff --git a/test/fixtures/performance_12vl.dump b/test/fixtures/performance_12vl.dump index 8406605c9..fd9a9dd6d 100644 Binary files a/test/fixtures/performance_12vl.dump and b/test/fixtures/performance_12vl.dump differ diff --git a/test/fixtures/performance_13vl.dump b/test/fixtures/performance_13vl.dump index e4717fe5c..aec8607ff 100644 Binary files a/test/fixtures/performance_13vl.dump and b/test/fixtures/performance_13vl.dump differ diff --git a/test/fixtures/performance_britanny.dump b/test/fixtures/performance_britanny.dump index da4420f2d..db6144791 100644 Binary files a/test/fixtures/performance_britanny.dump and b/test/fixtures/performance_britanny.dump differ diff --git a/test/fixtures/problem_w_pause_that_can_be_simplified.dump b/test/fixtures/problem_w_pause_that_can_be_simplified.dump index 44e07e9e9..104c8dd1a 100644 Binary files a/test/fixtures/problem_w_pause_that_can_be_simplified.dump and b/test/fixtures/problem_w_pause_that_can_be_simplified.dump differ diff --git a/test/fixtures/problem_w_pause_that_can_be_simplified.json b/test/fixtures/problem_w_pause_that_can_be_simplified.json index f0bb92932..759298623 100644 --- a/test/fixtures/problem_w_pause_that_can_be_simplified.json +++ b/test/fixtures/problem_w_pause_that_can_be_simplified.json @@ -1 +1 @@ -{"vrp":{"name":null,"points":[{"id":"p0","location":{"lat":44.21906,"lon":0.654}},{"id":"p1","location":{"lat":44.21906,"lon":0.654}},{"id":"p2","location":{"lat":44.21906,"lon":0.654}},{"id":"p3","location":{"lat":44.21906,"lon":0.654}},{"id":"p4","location":{"lat":44.21906,"lon":0.654}},{"id":"p5","location":{"lat":44.21906,"lon":0.654}},{"id":"p6","location":{"lat":44.21906,"lon":0.654}},{"id":"p7","location":{"lat":44.21906,"lon":0.654}},{"id":"p8","location":{"lat":44.21906,"lon":0.654}},{"id":"p9","location":{"lat":44.21906,"lon":0.654}},{"id":"p10","location":{"lat":44.21906,"lon":0.654}},{"id":"p11","location":{"lat":44.21906,"lon":0.654}},{"id":"p12","location":{"lat":44.21906,"lon":0.654}},{"id":"p13","location":{"lat":44.21906,"lon":0.654}},{"id":"p14","location":{"lat":44.21906,"lon":0.654}},{"id":"p15","location":{"lat":44.21906,"lon":0.654}},{"id":"p16","location":{"lat":44.21906,"lon":0.654}},{"id":"p17","location":{"lat":44.60805,"lon":0.3565}},{"id":"p18","location":{"lat":44.21906,"lon":0.654}},{"id":"p19","location":{"lat":44.21906,"lon":0.654}},{"id":"p20","location":{"lat":44.21906,"lon":0.654}},{"id":"p21","location":{"lat":44.21906,"lon":0.654}},{"id":"p22","location":{"lat":44.21906,"lon":0.654}},{"id":"p23","location":{"lat":44.21906,"lon":0.654}},{"id":"p24","location":{"lat":44.21906,"lon":0.654}},{"id":"p25","location":{"lat":44.21906,"lon":0.654}},{"id":"p26","location":{"lat":44.21906,"lon":0.654}},{"id":"p27","location":{"lat":44.21906,"lon":0.654}},{"id":"p28","location":{"lat":44.21906,"lon":0.654}},{"id":"p29","location":{"lat":44.21906,"lon":0.654}},{"id":"p30","location":{"lat":44.21906,"lon":0.654}},{"id":"p31","location":{"lat":44.21906,"lon":0.654}},{"id":"p32","location":{"lat":44.21906,"lon":0.654}},{"id":"p33","location":{"lat":44.21906,"lon":0.654}},{"id":"p34","location":{"lat":44.21906,"lon":0.654}},{"id":"p35","location":{"lat":44.21906,"lon":0.654}},{"id":"p36","location":{"lat":44.21906,"lon":0.654}},{"id":"p37","location":{"lat":44.21906,"lon":0.654}},{"id":"p38","location":{"lat":44.21906,"lon":0.654}},{"id":"p39","location":{"lat":44.21906,"lon":0.654}},{"id":"p40","location":{"lat":44.21906,"lon":0.654}},{"id":"p41","location":{"lat":44.21906,"lon":0.654}},{"id":"p42","location":{"lat":44.21906,"lon":0.654}},{"id":"p43","location":{"lat":44.21906,"lon":0.654}},{"id":"p44","location":{"lat":44.21906,"lon":0.654}},{"id":"p45","location":{"lat":44.21906,"lon":0.654}},{"id":"p46","location":{"lat":44.21906,"lon":0.654}},{"id":"p47","location":{"lat":44.21906,"lon":0.654}},{"id":"p48","location":{"lat":44.21906,"lon":0.654}},{"id":"p49","location":{"lat":44.21906,"lon":0.654}},{"id":"p50","location":{"lat":44.21906,"lon":0.654}},{"id":"p51","location":{"lat":44.21906,"lon":0.654}},{"id":"p52","location":{"lat":44.39417,"lon":0.72569}},{"id":"p53","location":{"lat":44.40223,"lon":0.30526}},{"id":"p54","location":{"lat":44.40223,"lon":0.30526}},{"id":"p55","location":{"lat":44.40223,"lon":0.30526}},{"id":"p56","location":{"lat":44.40223,"lon":0.30526}},{"id":"p57","location":{"lat":44.40223,"lon":0.30526}},{"id":"p58","location":{"lat":44.40223,"lon":0.30526}},{"id":"p59","location":{"lat":44.40223,"lon":0.30526}},{"id":"p60","location":{"lat":44.40223,"lon":0.30526}},{"id":"p61","location":{"lat":44.40223,"lon":0.30526}},{"id":"p62","location":{"lat":44.15737,"lon":0.31128}},{"id":"p63","location":{"lat":44.46477,"lon":0.14101}},{"id":"p64","location":{"lat":44.64342,"lon":0.593101}},{"id":"p65","location":{"lat":44.64342,"lon":0.593101}},{"id":"p66","location":{"lat":44.63318,"lon":0.59863}},{"id":"p67","location":{"lat":44.46477,"lon":0.14101}},{"id":"p68","location":{"lat":43.993571,"lon":0.062931}},{"id":"p69","location":{"lat":44.851036,"lon":0.659587}},{"id":"p70","location":{"lat":44.53302,"lon":0.62796}},{"id":"p71","location":{"lat":44.53302,"lon":0.62796}},{"id":"p72","location":{"lat":44.36779,"lon":0.4128}},{"id":"p73","location":{"lat":44.19629,"lon":0.84159}},{"id":"p74","location":{"lat":44.76182,"lon":0.50585}},{"id":"p75","location":{"lat":44.388943,"lon":0.308004}},{"id":"p76","location":{"lat":44.59535,"lon":0.4247}},{"id":"p77","location":{"lat":44.59535,"lon":0.4247}},{"id":"p78","location":{"lat":44.15461,"lon":0.30639}},{"id":"p79","location":{"lat":44.15461,"lon":0.30639}},{"id":"p80","location":{"lat":44.60346,"lon":0.80331}},{"id":"p81","location":{"lat":44.36282,"lon":0.45243}},{"id":"p82","location":{"lat":44.49159,"lon":0.35159}},{"id":"p83","location":{"lat":44.48472,"lon":0.32949}},{"id":"p84","location":{"lat":44.56084,"lon":-0.0936}},{"id":"p85","location":{"lat":44.47341,"lon":0.3497}},{"id":"p86","location":{"lat":45.29276,"lon":-0.68149}},{"id":"p87","location":{"lat":44.409874,"lon":0.124725}},{"id":"p88","location":{"lat":44.32789,"lon":0.24314}},{"id":"p89","location":{"lat":44.32789,"lon":0.24314}},{"id":"p90","location":{"lat":44.32789,"lon":0.24314}},{"id":"p91","location":{"lat":43.93183,"lon":-0.24117}},{"id":"p92","location":{"lat":44.47167,"lon":0.37303}},{"id":"p93","location":{"lat":44.43972,"lon":0.24901}},{"id":"p94","location":{"lat":44.222211,"lon":0.5615}},{"id":"p95","location":{"lat":44.24762,"lon":0.37765}},{"id":"p96","location":{"lat":44.16601,"lon":0.32168}},{"id":"p97","location":{"lat":44.27721,"lon":0.45746}},{"id":"p98","location":{"lat":44.27721,"lon":0.45746}},{"id":"p99","location":{"lat":44.27721,"lon":0.45746}},{"id":"p100","location":{"lat":44.40265,"lon":0.5072}},{"id":"p101","location":{"lat":44.39725,"lon":0.58899}},{"id":"p102","location":{"lat":44.39725,"lon":0.58899}},{"id":"p103","location":{"lat":44.71546,"lon":0.72703}},{"id":"p104","location":{"lat":44.21209,"lon":0.8233}},{"id":"p105","location":{"lat":44.36213,"lon":0.58923}},{"id":"p106","location":{"lat":44.45299,"lon":0.1957}},{"id":"p107","location":{"lat":44.28425,"lon":0.54229}},{"id":"p108","location":{"lat":44.29394,"lon":0.24038}},{"id":"p109","location":{"lat":44.36711,"lon":1.026876}},{"id":"p110","location":{"lat":44.083767,"lon":0.411273}},{"id":"p111","location":{"lat":44.2578,"lon":0.31453}},{"id":"p112","location":{"lat":44.39491,"lon":0.724754}},{"id":"p113","location":{"lat":44.75349,"lon":0.19699}},{"id":"p114","location":{"lat":44.30251,"lon":0.21585}},{"id":"p115","location":{"lat":44.30251,"lon":0.21585}},{"id":"p116","location":{"lat":44.90352,"lon":0.20808}},{"id":"p117","location":{"lat":44.53492,"lon":0.62467}},{"id":"p118","location":{"lat":44.15996,"lon":0.49612}},{"id":"p119","location":{"lat":44.09118,"lon":0.65137}},{"id":"p120","location":{"lat":44.09559,"lon":0.67799}},{"id":"p121","location":{"lat":44.71567,"lon":0.65367}},{"id":"p122","location":{"lat":44.38128,"lon":0.56207}},{"id":"p123","location":{"lat":44.44627,"lon":0.5253}},{"id":"p124","location":{"lat":44.44627,"lon":0.5253}},{"id":"p125","location":{"lat":44.66057,"lon":0.63709}},{"id":"p126","location":{"lat":44.450685,"lon":0.041874}},{"id":"p127","location":{"lat":45.233518,"lon":-0.791727}},{"id":"p128","location":{"lat":44.56435,"lon":0.07574}},{"id":"p129","location":{"lat":44.49829,"lon":0.09014}},{"id":"p130","location":{"lat":44.47349,"lon":0.08877}},{"id":"p131","location":{"lat":44.468172,"lon":0.14566}},{"id":"p132","location":{"lat":44.66673,"lon":0.39823}},{"id":"p133","location":{"lat":44.66673,"lon":0.39823}},{"id":"p134","location":{"lat":44.406272,"lon":0.669805}},{"id":"p135","location":{"lat":44.464522,"lon":-0.010059}},{"id":"p136","location":{"lat":44.51091,"lon":0.137769}},{"id":"p137","location":{"lat":44.401533,"lon":0.304896}},{"id":"p138","location":{"lat":44.609661,"lon":0.356956}},{"id":"p139","location":{"lat":44.609661,"lon":0.356956}},{"id":"p140","location":{"lat":44.401533,"lon":0.304896}},{"id":"p141","location":{"lat":44.401533,"lon":0.304896}},{"id":"p142","location":{"lat":44.401533,"lon":0.304896}},{"id":"p143","location":{"lat":44.401533,"lon":0.304896}},{"id":"p144","location":{"lat":44.609661,"lon":0.356956}},{"id":"p145","location":{"lat":44.609661,"lon":0.356956}},{"id":"p146","location":{"lat":44.609661,"lon":0.356956}},{"id":"p147","location":{"lat":44.609661,"lon":0.356956}},{"id":"p148","location":{"lat":44.395063,"lon":0.725613}},{"id":"p149","location":{"lat":44.395063,"lon":0.725613}},{"id":"p150","location":{"lat":44.395063,"lon":0.725613}},{"id":"p151","location":{"lat":44.395063,"lon":0.725613}},{"id":"p152","location":{"lat":44.185012,"lon":0.652338}},{"id":"p153","location":{"lat":44.185012,"lon":0.652338}},{"id":"p154","location":{"lat":44.401533,"lon":0.304896}},{"id":"p155","location":{"lat":44.401533,"lon":0.304896}},{"id":"p156","location":{"lat":44.185012,"lon":0.652338}},{"id":"p157","location":{"lat":44.185012,"lon":0.652338}},{"id":"p158","location":{"lat":44.219727,"lon":0.65422}},{"id":"p159","location":{"lat":44.185012,"lon":0.652338}},{"id":"p160","location":{"lat":44.219727,"lon":0.65422}},{"id":"p161","location":{"lat":44.185012,"lon":0.652338}}],"units":[{"id":"u22669"},{"id":"u22670"},{"id":"u22671"}],"rests":[{"id":"r137972678","duration":2700,"timewindows":[{"start":42600,"end":48600}]},{"id":"r137972679","duration":2700,"timewindows":[{"start":43200,"end":45900}]},{"id":"r137972680","duration":2700,"timewindows":[{"start":42600,"end":45000}]},{"id":"r137972681","duration":2700,"timewindows":[{"start":42600,"end":45000}]},{"id":"r137972682","duration":3600,"timewindows":[{"start":43200,"end":52200}]},{"id":"r137972683","duration":2700,"timewindows":[{"start":42600,"end":45000}]},{"id":"r137972684","duration":3600,"timewindows":[{"start":45000,"end":48600}]},{"id":"r137972685","duration":2700,"timewindows":[{"start":42600,"end":45000}]},{"id":"r137972686","duration":2700,"timewindows":[{"start":42600,"end":45000}]},{"id":"r137972687","duration":2700,"timewindows":[{"start":42600,"end":45000}]},{"id":"r137972688","duration":2700,"timewindows":[{"start":45000,"end":49500}]},{"id":"r137972689","duration":3600,"timewindows":[{"start":44100,"end":47700}]}],"vehicles":[{"id":"v806098","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"trips":1,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p138","end_point_id":"p139","capacities":[{"unit_id":"u22669","limit":1150.0,"overload_multiplier":0}],"timewindow":{"start":30000,"end":64800},"rest_ids":["r137972678"]},{"id":"v806099","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"trips":1,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p140","end_point_id":"p141","capacities":[{"unit_id":"u22669","limit":1100.0,"overload_multiplier":0}],"timewindow":{"start":30000,"end":64800},"rest_ids":["r137972679"]},{"id":"v806100","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"trips":1,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p142","end_point_id":"p143","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":30000,"end":64800},"rest_ids":["r137972680"]},{"id":"v806101","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"trips":1,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p144","end_point_id":"p145","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":30900,"end":64800},"rest_ids":["r137972681"]},{"id":"v806102","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"trips":1,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p146","end_point_id":"p147","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":30000,"end":64800},"rest_ids":["r137972682"]},{"id":"v806103","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"trips":1,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p148","end_point_id":"p149","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":30900,"end":64800},"rest_ids":["r137972683"]},{"id":"v806104","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"trips":1,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p150","end_point_id":"p151","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":30000,"end":64800},"rest_ids":["r137972684"]},{"id":"v806105","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"trips":1,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p152","end_point_id":"p153","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":31800,"end":64800},"rest_ids":["r137972685"]},{"id":"v806106","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"trips":1,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p154","end_point_id":"p155","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":30000,"end":64800},"rest_ids":["r137972686"]},{"id":"v806107","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"trips":1,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p156","end_point_id":"p157","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":30000,"end":64800},"rest_ids":["r137972687"]},{"id":"v806108","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"trips":1,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p158","end_point_id":"p159","capacities":[],"timewindow":{"start":44400,"end":64800},"rest_ids":["r137972688"]},{"id":"v806115","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"trips":1,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p160","end_point_id":"p161","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":42600,"end":64800},"rest_ids":["r137972689"]}],"services":[{"id":"s137972540","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p0","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-122.2}]},{"id":"s137972541","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p1","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-23.8}]},{"id":"s137972542","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p2","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-146.4}]},{"id":"s137972543","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p3","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-72.3}]},{"id":"s137972544","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p4","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-87.9}]},{"id":"s137972545","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p5","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-33.8}]},{"id":"s137972546","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p6","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-65.9}]},{"id":"s137972547","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p7","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-5.0}]},{"id":"s137972548","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p8","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-5.5}]},{"id":"s137972549","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p9","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-5.5}]},{"id":"s137972550","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p10","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-210.0}]},{"id":"s137972551","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p11","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-7.9}]},{"id":"s137972552","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p12","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-8.2}]},{"id":"s137972553","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p13","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-350.9}]},{"id":"s137972554","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p14","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-409.9}]},{"id":"s137972555","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p15","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-80.7}]},{"id":"s137972556","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p16","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-25.6}]},{"id":"s137972557","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p17","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-143.9}]},{"id":"s137972558","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p18","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-362.5}]},{"id":"s137972559","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p19","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-15.6}]},{"id":"s137972560","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p20","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-27.0}]},{"id":"s137972561","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p21","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-39.0}]},{"id":"s137972562","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p22","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-91.8}]},{"id":"s137972563","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p23","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-12.1}]},{"id":"s137972564","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p24","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-60.5}]},{"id":"s137972565","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p25","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-132.2}]},{"id":"s137972566","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p26","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-8.0}]},{"id":"s137972567","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p27","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-7.2}]},{"id":"s137972568","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p28","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-60.0}]},{"id":"s137972569","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p29","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-244.0}]},{"id":"s137972570","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p30","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-296.0}]},{"id":"s137972571","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p31","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-60.0}]},{"id":"s137972572","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p32","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-5.7}]},{"id":"s137972573","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p33","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-88.9}]},{"id":"s137972574","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p34","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-135.0}]},{"id":"s137972575","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p35","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-5.1}]},{"id":"s137972576","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p36","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-29.2}]},{"id":"s137972577","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p37","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-29.2}]},{"id":"s137972578","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p38","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-6.1}]},{"id":"s137972579","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p39","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-52.7}]},{"id":"s137972580","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p40","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-106.6}]},{"id":"s137972581","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p41","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-4.4}]},{"id":"s137972582","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p42","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-238.6}]},{"id":"s137972583","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p43","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-34.0}]},{"id":"s137972584","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p44","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-9.0}]},{"id":"s137972585","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p45","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-90.0}]},{"id":"s137972586","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p46","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-26.6}]},{"id":"s137972587","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p47","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-287.2}]},{"id":"s137972588","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p48","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-88.0}]},{"id":"s137972589","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p49","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-80.7}]},{"id":"s137972590","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p50","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-120.0}]},{"id":"s137972591","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p51","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-225.0}]},{"id":"s137972592","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p52","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-70.3}]},{"id":"s137972593","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p53","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-101.0}]},{"id":"s137972594","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p54","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-130.0}]},{"id":"s137972595","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p55","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-3.1}]},{"id":"s137972596","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p56","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-200.0}]},{"id":"s137972597","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p57","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-1.4}]},{"id":"s137972598","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p58","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-0.8}]},{"id":"s137972599","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p59","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-86.4}]},{"id":"s137972600","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p60","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-111.7}]},{"id":"s137972601","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p61","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-50.5}]},{"id":"s137972602","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p62","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-16.2}]},{"id":"s137972603","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p63","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-23.0}]},{"id":"s137972604","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p64","timewindows":[]},"quantities":[{"unit_id":"u22669","value":100.0},{"unit_id":"u22670","value":100.0}]},{"id":"s137972605","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p65","timewindows":[]},"quantities":[{"unit_id":"u22669","value":624.0},{"unit_id":"u22670","value":624.0}]},{"id":"s137972606","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p66","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-624.0}]},{"id":"s137972607","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p67","timewindows":[]},"quantities":[]},{"id":"s137972608","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p68","timewindows":[]},"quantities":[{"unit_id":"u22669","value":33.8},{"unit_id":"u22670","value":33.8}]},{"id":"s137972609","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p69","timewindows":[]},"quantities":[{"unit_id":"u22669","value":238.69},{"unit_id":"u22670","value":238.69}]},{"id":"s137972610","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p70","timewindows":[]},"quantities":[{"unit_id":"u22669","value":60.5},{"unit_id":"u22670","value":60.5}]},{"id":"s137972611","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p71","timewindows":[]},"quantities":[{"unit_id":"u22669","value":132.24},{"unit_id":"u22670","value":132.24}]},{"id":"s137972612","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p72","timewindows":[]},"quantities":[{"unit_id":"u22669","value":25.6},{"unit_id":"u22670","value":25.6}]},{"id":"s137972613","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p73","timewindows":[]},"quantities":[{"unit_id":"u22669","value":88.83},{"unit_id":"u22670","value":88.83}]},{"id":"s137972614","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p74","timewindows":[]},"quantities":[{"unit_id":"u22669","value":225.0},{"unit_id":"u22670","value":225.0}]},{"id":"s137972615","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p75","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-100.0}]},{"id":"s137972616","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p76","timewindows":[]},"quantities":[{"unit_id":"u22669","value":122.24},{"unit_id":"u22670","value":122.24}]},{"id":"s137972617","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p77","timewindows":[]},"quantities":[{"unit_id":"u22669","value":23.8},{"unit_id":"u22670","value":23.8}]},{"id":"s137972618","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p78","timewindows":[]},"quantities":[{"unit_id":"u22669","value":146.4},{"unit_id":"u22670","value":146.4}]},{"id":"s137972619","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p79","timewindows":[]},"quantities":[{"unit_id":"u22669","value":72.39},{"unit_id":"u22670","value":72.39}]},{"id":"s137972620","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p80","timewindows":[]},"quantities":[{"unit_id":"u22669","value":143.9},{"unit_id":"u22670","value":143.9}]},{"id":"s137972621","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p81","timewindows":[]},"quantities":[{"unit_id":"u22669","value":86.4},{"unit_id":"u22670","value":86.4}]},{"id":"s137972622","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p82","timewindows":[]},"quantities":[{"unit_id":"u22669","value":65.9},{"unit_id":"u22670","value":65.9}]},{"id":"s137972623","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p83","timewindows":[]},"quantities":[{"unit_id":"u22669","value":5.0},{"unit_id":"u22670","value":5.0}]},{"id":"s137972624","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p84","timewindows":[]},"quantities":[{"unit_id":"u22669","value":5.5},{"unit_id":"u22670","value":5.5}]},{"id":"s137972625","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p85","timewindows":[]},"quantities":[{"unit_id":"u22669","value":5.5},{"unit_id":"u22670","value":5.5}]},{"id":"s137972626","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p86","timewindows":[]},"quantities":[{"unit_id":"u22669","value":210.0},{"unit_id":"u22670","value":210.0}]},{"id":"s137972627","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p87","timewindows":[]},"quantities":[{"unit_id":"u22669","value":119.62},{"unit_id":"u22670","value":119.62}]},{"id":"s137972628","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p88","timewindows":[]},"quantities":[{"unit_id":"u22669","value":8.26},{"unit_id":"u22670","value":8.26}]},{"id":"s137972629","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p89","timewindows":[]},"quantities":[{"unit_id":"u22669","value":350.98},{"unit_id":"u22670","value":350.98}]},{"id":"s137972630","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p90","timewindows":[]},"quantities":[{"unit_id":"u22669","value":409.92},{"unit_id":"u22670","value":409.92}]},{"id":"s137972631","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p91","timewindows":[]},"quantities":[]},{"id":"s137972632","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p92","timewindows":[]},"quantities":[{"unit_id":"u22669","value":80.75},{"unit_id":"u22670","value":80.75}]},{"id":"s137972633","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p93","timewindows":[]},"quantities":[{"unit_id":"u22669","value":50.5},{"unit_id":"u22670","value":50.5}]},{"id":"s137972634","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p94","timewindows":[]},"quantities":[{"unit_id":"u22669","value":23.0},{"unit_id":"u22670","value":23.0}]},{"id":"s137972635","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p95","timewindows":[]},"quantities":[{"unit_id":"u22669","value":362.5},{"unit_id":"u22670","value":362.5}]},{"id":"s137972636","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p96","timewindows":[]},"quantities":[{"unit_id":"u22669","value":31.8},{"unit_id":"u22670","value":31.8}]},{"id":"s137972637","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p97","timewindows":[]},"quantities":[{"unit_id":"u22669","value":101.0},{"unit_id":"u22670","value":101.0}]},{"id":"s137972638","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p98","timewindows":[]},"quantities":[{"unit_id":"u22669","value":27.0},{"unit_id":"u22670","value":27.0}]},{"id":"s137972639","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p99","timewindows":[]},"quantities":[{"unit_id":"u22669","value":39.0},{"unit_id":"u22670","value":39.0}]},{"id":"s137972640","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p100","timewindows":[]},"quantities":[{"unit_id":"u22669","value":130.0},{"unit_id":"u22670","value":130.0}]},{"id":"s137972641","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p101","timewindows":[]},"quantities":[{"unit_id":"u22669","value":95.01},{"unit_id":"u22670","value":95.01}]},{"id":"s137972642","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p102","timewindows":[]},"quantities":[{"unit_id":"u22669","value":12.12},{"unit_id":"u22670","value":12.12}]},{"id":"s137972643","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p103","timewindows":[]},"quantities":[{"unit_id":"u22669","value":8.0},{"unit_id":"u22670","value":8.0}]},{"id":"s137972644","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p104","timewindows":[]},"quantities":[{"unit_id":"u22669","value":7.2},{"unit_id":"u22670","value":7.2}]},{"id":"s137972645","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p105","timewindows":[]},"quantities":[{"unit_id":"u22669","value":60.0},{"unit_id":"u22670","value":60.0}]},{"id":"s137972646","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p106","timewindows":[]},"quantities":[{"unit_id":"u22669","value":70.3},{"unit_id":"u22670","value":70.3}]},{"id":"s137972647","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p107","timewindows":[]},"quantities":[{"unit_id":"u22669","value":244.0},{"unit_id":"u22670","value":244.0}]},{"id":"s137972648","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p108","timewindows":[]},"quantities":[{"unit_id":"u22669","value":296.0},{"unit_id":"u22670","value":296.0}]},{"id":"s137972649","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p109","timewindows":[]},"quantities":[{"unit_id":"u22669","value":60.0},{"unit_id":"u22670","value":60.0}]},{"id":"s137972650","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p110","timewindows":[]},"quantities":[{"unit_id":"u22669","value":5.76},{"unit_id":"u22670","value":5.76}]},{"id":"s137972651","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p111","timewindows":[]},"quantities":[{"unit_id":"u22669","value":88.98},{"unit_id":"u22670","value":88.98}]},{"id":"s137972652","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p112","timewindows":[]},"quantities":[{"unit_id":"u22669","value":135.0},{"unit_id":"u22670","value":135.0}]},{"id":"s137972653","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p113","timewindows":[]},"quantities":[{"unit_id":"u22669","value":5.12},{"unit_id":"u22670","value":5.12}]},{"id":"s137972654","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p114","timewindows":[]},"quantities":[{"unit_id":"u22669","value":29.28},{"unit_id":"u22670","value":29.28}]},{"id":"s137972655","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p115","timewindows":[]},"quantities":[{"unit_id":"u22669","value":29.28},{"unit_id":"u22670","value":29.28}]},{"id":"s137972656","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p116","timewindows":[]},"quantities":[{"unit_id":"u22669","value":6.1},{"unit_id":"u22670","value":6.1}]},{"id":"s137972657","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p117","timewindows":[]},"quantities":[{"unit_id":"u22669","value":200.0},{"unit_id":"u22670","value":200.0}]},{"id":"s137972658","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p118","timewindows":[]},"quantities":[{"unit_id":"u22669","value":52.77},{"unit_id":"u22670","value":52.77}]},{"id":"s137972659","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p119","timewindows":[]},"quantities":[{"unit_id":"u22669","value":106.64},{"unit_id":"u22670","value":106.64}]},{"id":"s137972660","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p120","timewindows":[]},"quantities":[{"unit_id":"u22669","value":4.44},{"unit_id":"u22670","value":4.44}]},{"id":"s137972661","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p121","timewindows":[]},"quantities":[{"unit_id":"u22669","value":34.0},{"unit_id":"u22670","value":34.0}]},{"id":"s137972662","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p122","timewindows":[]},"quantities":[{"unit_id":"u22669","value":9.09},{"unit_id":"u22670","value":9.09}]},{"id":"s137972663","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p123","timewindows":[]},"quantities":[{"unit_id":"u22669","value":90.0},{"unit_id":"u22670","value":90.0}]},{"id":"s137972664","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p124","timewindows":[]},"quantities":[{"unit_id":"u22669","value":26.66},{"unit_id":"u22670","value":26.66}]},{"id":"s137972665","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p125","timewindows":[]},"quantities":[{"unit_id":"u22669","value":1.44},{"unit_id":"u22670","value":1.44}]},{"id":"s137972666","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p126","timewindows":[]},"quantities":[{"unit_id":"u22669","value":287.25},{"unit_id":"u22670","value":287.25}]},{"id":"s137972667","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p127","timewindows":[]},"quantities":[{"unit_id":"u22669","value":88.0},{"unit_id":"u22670","value":88.0}]},{"id":"s137972668","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p128","timewindows":[]},"quantities":[{"unit_id":"u22669","value":281.4}]},{"id":"s137972669","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p129","timewindows":[]},"quantities":[{"unit_id":"u22669","value":281.4}]},{"id":"s137972670","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p130","timewindows":[]},"quantities":[{"unit_id":"u22669","value":281.4}]},{"id":"s137972671","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p131","timewindows":[]},"quantities":[{"unit_id":"u22669","value":318.92}]},{"id":"s137972672","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p132","timewindows":[]},"quantities":[{"unit_id":"u22669","value":80.75},{"unit_id":"u22670","value":80.75}]},{"id":"s137972673","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p133","timewindows":[]},"quantities":[{"unit_id":"u22669","value":120.0},{"unit_id":"u22670","value":120.0}]},{"id":"s137972674","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p134","timewindows":[]},"quantities":[{"unit_id":"u22669","value":90.0}]},{"id":"s137972675","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p135","timewindows":[]},"quantities":[{"unit_id":"u22669","value":150.0}]},{"id":"s137972676","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p136","timewindows":[]},"quantities":[]},{"id":"s137972677","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p137","timewindows":[]},"quantities":[]}],"relations":[{"type":"shipment","linked_ids":["s137972540","s137972616"]},{"type":"shipment","linked_ids":["s137972541","s137972617"]},{"type":"shipment","linked_ids":["s137972542","s137972618"]},{"type":"shipment","linked_ids":["s137972543","s137972619"]},{"type":"shipment","linked_ids":["s137972544","s137972613"]},{"type":"shipment","linked_ids":["s137972545","s137972608"]},{"type":"shipment","linked_ids":["s137972546","s137972622"]},{"type":"shipment","linked_ids":["s137972547","s137972623"]},{"type":"shipment","linked_ids":["s137972548","s137972624"]},{"type":"shipment","linked_ids":["s137972549","s137972625"]},{"type":"shipment","linked_ids":["s137972550","s137972626"]},{"type":"shipment","linked_ids":["s137972552","s137972628"]},{"type":"shipment","linked_ids":["s137972553","s137972629"]},{"type":"shipment","linked_ids":["s137972554","s137972630"]},{"type":"shipment","linked_ids":["s137972555","s137972632"]},{"type":"shipment","linked_ids":["s137972556","s137972612"]},{"type":"shipment","linked_ids":["s137972557","s137972620"]},{"type":"shipment","linked_ids":["s137972558","s137972635"]},{"type":"shipment","linked_ids":["s137972559","s137972636"]},{"type":"shipment","linked_ids":["s137972560","s137972638"]},{"type":"shipment","linked_ids":["s137972561","s137972639"]},{"type":"shipment","linked_ids":["s137972562","s137972641"]},{"type":"shipment","linked_ids":["s137972563","s137972642"]},{"type":"shipment","linked_ids":["s137972564","s137972610"]},{"type":"shipment","linked_ids":["s137972565","s137972611"]},{"type":"shipment","linked_ids":["s137972566","s137972643"]},{"type":"shipment","linked_ids":["s137972567","s137972644"]},{"type":"shipment","linked_ids":["s137972568","s137972645"]},{"type":"shipment","linked_ids":["s137972569","s137972647"]},{"type":"shipment","linked_ids":["s137972570","s137972648"]},{"type":"shipment","linked_ids":["s137972571","s137972649"]},{"type":"shipment","linked_ids":["s137972572","s137972650"]},{"type":"shipment","linked_ids":["s137972573","s137972651"]},{"type":"shipment","linked_ids":["s137972574","s137972652"]},{"type":"shipment","linked_ids":["s137972575","s137972653"]},{"type":"shipment","linked_ids":["s137972576","s137972654"]},{"type":"shipment","linked_ids":["s137972577","s137972655"]},{"type":"shipment","linked_ids":["s137972578","s137972656"]},{"type":"shipment","linked_ids":["s137972579","s137972658"]},{"type":"shipment","linked_ids":["s137972580","s137972659"]},{"type":"shipment","linked_ids":["s137972581","s137972660"]},{"type":"shipment","linked_ids":["s137972582","s137972609"]},{"type":"shipment","linked_ids":["s137972583","s137972661"]},{"type":"shipment","linked_ids":["s137972584","s137972662"]},{"type":"shipment","linked_ids":["s137972585","s137972663"]},{"type":"shipment","linked_ids":["s137972586","s137972664"]},{"type":"shipment","linked_ids":["s137972587","s137972666"]},{"type":"shipment","linked_ids":["s137972588","s137972667"]},{"type":"shipment","linked_ids":["s137972589","s137972672"]},{"type":"shipment","linked_ids":["s137972590","s137972673"]},{"type":"shipment","linked_ids":["s137972591","s137972614"]},{"type":"shipment","linked_ids":["s137972592","s137972646"]},{"type":"shipment","linked_ids":["s137972593","s137972637"]},{"type":"shipment","linked_ids":["s137972594","s137972640"]},{"type":"shipment","linked_ids":["s137972596","s137972657"]},{"type":"shipment","linked_ids":["s137972597","s137972665"]},{"type":"shipment","linked_ids":["s137972599","s137972621"]},{"type":"shipment","linked_ids":["s137972600","s137972627"]},{"type":"shipment","linked_ids":["s137972601","s137972633"]},{"type":"shipment","linked_ids":["s137972603","s137972634"]},{"type":"shipment","linked_ids":["s137972615","s137972604"]},{"type":"shipment","linked_ids":["s137972606","s137972605"]},{"type":"shipment","linked_ids":["s137972607","s137972631"]}],"routes":[],"configuration":{"preprocessing":{"max_split_size":500,"cluster_threshold":0.0,"prefer_short_segment":true,"first_solution_strategy":["local_cheapest_insertion"]},"resolution":{"duration":750,"initial_time_out":750,"time_out_multiplier":2,"solver":true,"minimize_days_worked":false,"allow_partial_assignment":true,"several_solutions":1,"batch_heuristic":false},"restitution":{"intermediate_solutions":false}}}} +{"vrp":{"name":null,"points":[{"id":"p0","location":{"lat":44.21906,"lon":0.654}},{"id":"p1","location":{"lat":44.21906,"lon":0.654}},{"id":"p2","location":{"lat":44.21906,"lon":0.654}},{"id":"p3","location":{"lat":44.21906,"lon":0.654}},{"id":"p4","location":{"lat":44.21906,"lon":0.654}},{"id":"p5","location":{"lat":44.21906,"lon":0.654}},{"id":"p6","location":{"lat":44.21906,"lon":0.654}},{"id":"p7","location":{"lat":44.21906,"lon":0.654}},{"id":"p8","location":{"lat":44.21906,"lon":0.654}},{"id":"p9","location":{"lat":44.21906,"lon":0.654}},{"id":"p10","location":{"lat":44.21906,"lon":0.654}},{"id":"p11","location":{"lat":44.21906,"lon":0.654}},{"id":"p12","location":{"lat":44.21906,"lon":0.654}},{"id":"p13","location":{"lat":44.21906,"lon":0.654}},{"id":"p14","location":{"lat":44.21906,"lon":0.654}},{"id":"p15","location":{"lat":44.21906,"lon":0.654}},{"id":"p16","location":{"lat":44.21906,"lon":0.654}},{"id":"p17","location":{"lat":44.60805,"lon":0.3565}},{"id":"p18","location":{"lat":44.21906,"lon":0.654}},{"id":"p19","location":{"lat":44.21906,"lon":0.654}},{"id":"p20","location":{"lat":44.21906,"lon":0.654}},{"id":"p21","location":{"lat":44.21906,"lon":0.654}},{"id":"p22","location":{"lat":44.21906,"lon":0.654}},{"id":"p23","location":{"lat":44.21906,"lon":0.654}},{"id":"p24","location":{"lat":44.21906,"lon":0.654}},{"id":"p25","location":{"lat":44.21906,"lon":0.654}},{"id":"p26","location":{"lat":44.21906,"lon":0.654}},{"id":"p27","location":{"lat":44.21906,"lon":0.654}},{"id":"p28","location":{"lat":44.21906,"lon":0.654}},{"id":"p29","location":{"lat":44.21906,"lon":0.654}},{"id":"p30","location":{"lat":44.21906,"lon":0.654}},{"id":"p31","location":{"lat":44.21906,"lon":0.654}},{"id":"p32","location":{"lat":44.21906,"lon":0.654}},{"id":"p33","location":{"lat":44.21906,"lon":0.654}},{"id":"p34","location":{"lat":44.21906,"lon":0.654}},{"id":"p35","location":{"lat":44.21906,"lon":0.654}},{"id":"p36","location":{"lat":44.21906,"lon":0.654}},{"id":"p37","location":{"lat":44.21906,"lon":0.654}},{"id":"p38","location":{"lat":44.21906,"lon":0.654}},{"id":"p39","location":{"lat":44.21906,"lon":0.654}},{"id":"p40","location":{"lat":44.21906,"lon":0.654}},{"id":"p41","location":{"lat":44.21906,"lon":0.654}},{"id":"p42","location":{"lat":44.21906,"lon":0.654}},{"id":"p43","location":{"lat":44.21906,"lon":0.654}},{"id":"p44","location":{"lat":44.21906,"lon":0.654}},{"id":"p45","location":{"lat":44.21906,"lon":0.654}},{"id":"p46","location":{"lat":44.21906,"lon":0.654}},{"id":"p47","location":{"lat":44.21906,"lon":0.654}},{"id":"p48","location":{"lat":44.21906,"lon":0.654}},{"id":"p49","location":{"lat":44.21906,"lon":0.654}},{"id":"p50","location":{"lat":44.21906,"lon":0.654}},{"id":"p51","location":{"lat":44.21906,"lon":0.654}},{"id":"p52","location":{"lat":44.39417,"lon":0.72569}},{"id":"p53","location":{"lat":44.40223,"lon":0.30526}},{"id":"p54","location":{"lat":44.40223,"lon":0.30526}},{"id":"p55","location":{"lat":44.40223,"lon":0.30526}},{"id":"p56","location":{"lat":44.40223,"lon":0.30526}},{"id":"p57","location":{"lat":44.40223,"lon":0.30526}},{"id":"p58","location":{"lat":44.40223,"lon":0.30526}},{"id":"p59","location":{"lat":44.40223,"lon":0.30526}},{"id":"p60","location":{"lat":44.40223,"lon":0.30526}},{"id":"p61","location":{"lat":44.40223,"lon":0.30526}},{"id":"p62","location":{"lat":44.15737,"lon":0.31128}},{"id":"p63","location":{"lat":44.46477,"lon":0.14101}},{"id":"p64","location":{"lat":44.64342,"lon":0.593101}},{"id":"p65","location":{"lat":44.64342,"lon":0.593101}},{"id":"p66","location":{"lat":44.63318,"lon":0.59863}},{"id":"p67","location":{"lat":44.46477,"lon":0.14101}},{"id":"p68","location":{"lat":43.993571,"lon":0.062931}},{"id":"p69","location":{"lat":44.851036,"lon":0.659587}},{"id":"p70","location":{"lat":44.53302,"lon":0.62796}},{"id":"p71","location":{"lat":44.53302,"lon":0.62796}},{"id":"p72","location":{"lat":44.36779,"lon":0.4128}},{"id":"p73","location":{"lat":44.19629,"lon":0.84159}},{"id":"p74","location":{"lat":44.76182,"lon":0.50585}},{"id":"p75","location":{"lat":44.388943,"lon":0.308004}},{"id":"p76","location":{"lat":44.59535,"lon":0.4247}},{"id":"p77","location":{"lat":44.59535,"lon":0.4247}},{"id":"p78","location":{"lat":44.15461,"lon":0.30639}},{"id":"p79","location":{"lat":44.15461,"lon":0.30639}},{"id":"p80","location":{"lat":44.60346,"lon":0.80331}},{"id":"p81","location":{"lat":44.36282,"lon":0.45243}},{"id":"p82","location":{"lat":44.49159,"lon":0.35159}},{"id":"p83","location":{"lat":44.48472,"lon":0.32949}},{"id":"p84","location":{"lat":44.56084,"lon":-0.0936}},{"id":"p85","location":{"lat":44.47341,"lon":0.3497}},{"id":"p86","location":{"lat":45.29276,"lon":-0.68149}},{"id":"p87","location":{"lat":44.409874,"lon":0.124725}},{"id":"p88","location":{"lat":44.32789,"lon":0.24314}},{"id":"p89","location":{"lat":44.32789,"lon":0.24314}},{"id":"p90","location":{"lat":44.32789,"lon":0.24314}},{"id":"p91","location":{"lat":43.93183,"lon":-0.24117}},{"id":"p92","location":{"lat":44.47167,"lon":0.37303}},{"id":"p93","location":{"lat":44.43972,"lon":0.24901}},{"id":"p94","location":{"lat":44.222211,"lon":0.5615}},{"id":"p95","location":{"lat":44.24762,"lon":0.37765}},{"id":"p96","location":{"lat":44.16601,"lon":0.32168}},{"id":"p97","location":{"lat":44.27721,"lon":0.45746}},{"id":"p98","location":{"lat":44.27721,"lon":0.45746}},{"id":"p99","location":{"lat":44.27721,"lon":0.45746}},{"id":"p100","location":{"lat":44.40265,"lon":0.5072}},{"id":"p101","location":{"lat":44.39725,"lon":0.58899}},{"id":"p102","location":{"lat":44.39725,"lon":0.58899}},{"id":"p103","location":{"lat":44.71546,"lon":0.72703}},{"id":"p104","location":{"lat":44.21209,"lon":0.8233}},{"id":"p105","location":{"lat":44.36213,"lon":0.58923}},{"id":"p106","location":{"lat":44.45299,"lon":0.1957}},{"id":"p107","location":{"lat":44.28425,"lon":0.54229}},{"id":"p108","location":{"lat":44.29394,"lon":0.24038}},{"id":"p109","location":{"lat":44.36711,"lon":1.026876}},{"id":"p110","location":{"lat":44.083767,"lon":0.411273}},{"id":"p111","location":{"lat":44.2578,"lon":0.31453}},{"id":"p112","location":{"lat":44.39491,"lon":0.724754}},{"id":"p113","location":{"lat":44.75349,"lon":0.19699}},{"id":"p114","location":{"lat":44.30251,"lon":0.21585}},{"id":"p115","location":{"lat":44.30251,"lon":0.21585}},{"id":"p116","location":{"lat":44.90352,"lon":0.20808}},{"id":"p117","location":{"lat":44.53492,"lon":0.62467}},{"id":"p118","location":{"lat":44.15996,"lon":0.49612}},{"id":"p119","location":{"lat":44.09118,"lon":0.65137}},{"id":"p120","location":{"lat":44.09559,"lon":0.67799}},{"id":"p121","location":{"lat":44.71567,"lon":0.65367}},{"id":"p122","location":{"lat":44.38128,"lon":0.56207}},{"id":"p123","location":{"lat":44.44627,"lon":0.5253}},{"id":"p124","location":{"lat":44.44627,"lon":0.5253}},{"id":"p125","location":{"lat":44.66057,"lon":0.63709}},{"id":"p126","location":{"lat":44.450685,"lon":0.041874}},{"id":"p127","location":{"lat":45.233518,"lon":-0.791727}},{"id":"p128","location":{"lat":44.56435,"lon":0.07574}},{"id":"p129","location":{"lat":44.49829,"lon":0.09014}},{"id":"p130","location":{"lat":44.47349,"lon":0.08877}},{"id":"p131","location":{"lat":44.468172,"lon":0.14566}},{"id":"p132","location":{"lat":44.66673,"lon":0.39823}},{"id":"p133","location":{"lat":44.66673,"lon":0.39823}},{"id":"p134","location":{"lat":44.406272,"lon":0.669805}},{"id":"p135","location":{"lat":44.464522,"lon":-0.010059}},{"id":"p136","location":{"lat":44.51091,"lon":0.137769}},{"id":"p137","location":{"lat":44.401533,"lon":0.304896}},{"id":"p138","location":{"lat":44.609661,"lon":0.356956}},{"id":"p139","location":{"lat":44.609661,"lon":0.356956}},{"id":"p140","location":{"lat":44.401533,"lon":0.304896}},{"id":"p141","location":{"lat":44.401533,"lon":0.304896}},{"id":"p142","location":{"lat":44.401533,"lon":0.304896}},{"id":"p143","location":{"lat":44.401533,"lon":0.304896}},{"id":"p144","location":{"lat":44.609661,"lon":0.356956}},{"id":"p145","location":{"lat":44.609661,"lon":0.356956}},{"id":"p146","location":{"lat":44.609661,"lon":0.356956}},{"id":"p147","location":{"lat":44.609661,"lon":0.356956}},{"id":"p148","location":{"lat":44.395063,"lon":0.725613}},{"id":"p149","location":{"lat":44.395063,"lon":0.725613}},{"id":"p150","location":{"lat":44.395063,"lon":0.725613}},{"id":"p151","location":{"lat":44.395063,"lon":0.725613}},{"id":"p152","location":{"lat":44.185012,"lon":0.652338}},{"id":"p153","location":{"lat":44.185012,"lon":0.652338}},{"id":"p154","location":{"lat":44.401533,"lon":0.304896}},{"id":"p155","location":{"lat":44.401533,"lon":0.304896}},{"id":"p156","location":{"lat":44.185012,"lon":0.652338}},{"id":"p157","location":{"lat":44.185012,"lon":0.652338}},{"id":"p158","location":{"lat":44.219727,"lon":0.65422}},{"id":"p159","location":{"lat":44.185012,"lon":0.652338}},{"id":"p160","location":{"lat":44.219727,"lon":0.65422}},{"id":"p161","location":{"lat":44.185012,"lon":0.652338}}],"units":[{"id":"u22669"},{"id":"u22670"},{"id":"u22671"}],"rests":[{"id":"r137972678","duration":2700,"timewindows":[{"start":42600,"end":48600}]},{"id":"r137972679","duration":2700,"timewindows":[{"start":43200,"end":45900}]},{"id":"r137972680","duration":2700,"timewindows":[{"start":42600,"end":45000}]},{"id":"r137972681","duration":2700,"timewindows":[{"start":42600,"end":45000}]},{"id":"r137972682","duration":3600,"timewindows":[{"start":43200,"end":52200}]},{"id":"r137972683","duration":2700,"timewindows":[{"start":42600,"end":45000}]},{"id":"r137972684","duration":3600,"timewindows":[{"start":45000,"end":48600}]},{"id":"r137972685","duration":2700,"timewindows":[{"start":42600,"end":45000}]},{"id":"r137972686","duration":2700,"timewindows":[{"start":42600,"end":45000}]},{"id":"r137972687","duration":2700,"timewindows":[{"start":42600,"end":45000}]},{"id":"r137972688","duration":2700,"timewindows":[{"start":45000,"end":49500}]},{"id":"r137972689","duration":3600,"timewindows":[{"start":44100,"end":47700}]}],"vehicles":[{"id":"v806098","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p138","end_point_id":"p139","capacities":[{"unit_id":"u22669","limit":1150.0,"overload_multiplier":0}],"timewindow":{"start":30000,"end":64800},"rest_ids":["r137972678"]},{"id":"v806099","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p140","end_point_id":"p141","capacities":[{"unit_id":"u22669","limit":1100.0,"overload_multiplier":0}],"timewindow":{"start":30000,"end":64800},"rest_ids":["r137972679"]},{"id":"v806100","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p142","end_point_id":"p143","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":30000,"end":64800},"rest_ids":["r137972680"]},{"id":"v806101","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p144","end_point_id":"p145","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":30900,"end":64800},"rest_ids":["r137972681"]},{"id":"v806102","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p146","end_point_id":"p147","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":30000,"end":64800},"rest_ids":["r137972682"]},{"id":"v806103","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p148","end_point_id":"p149","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":30900,"end":64800},"rest_ids":["r137972683"]},{"id":"v806104","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p150","end_point_id":"p151","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":30000,"end":64800},"rest_ids":["r137972684"]},{"id":"v806105","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p152","end_point_id":"p153","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":31800,"end":64800},"rest_ids":["r137972685"]},{"id":"v806106","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p154","end_point_id":"p155","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":30000,"end":64800},"rest_ids":["r137972686"]},{"id":"v806107","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p156","end_point_id":"p157","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":30000,"end":64800},"rest_ids":["r137972687"]},{"id":"v806108","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p158","end_point_id":"p159","capacities":[],"timewindow":{"start":44400,"end":64800},"rest_ids":["r137972688"]},{"id":"v806115","cost_fixed":100.0,"cost_distance_multiplier":0.0002,"cost_time_multiplier":0.002,"cost_waiting_time_multiplier":0.002,"cost_late_multiplier":null,"force_start":true,"router_mode":"car","router_dimension":"time","speed_multiplier":1.0,"area":[],"speed_multiplier_area":[],"track":true,"motorway":true,"toll":true,"max_walk_distance":750,"approach":"unrestricted","duration":null,"distance":null,"skills":[],"free_approach":false,"free_return":false,"start_point_id":"p160","end_point_id":"p161","capacities":[{"unit_id":"u22669","limit":1200.0,"overload_multiplier":0}],"timewindow":{"start":42600,"end":64800},"rest_ids":["r137972689"]}],"services":[{"id":"s137972540","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p0","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-122.2}]},{"id":"s137972541","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p1","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-23.8}]},{"id":"s137972542","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p2","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-146.4}]},{"id":"s137972543","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p3","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-72.3}]},{"id":"s137972544","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p4","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-87.9}]},{"id":"s137972545","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p5","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-33.8}]},{"id":"s137972546","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p6","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-65.9}]},{"id":"s137972547","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p7","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-5.0}]},{"id":"s137972548","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p8","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-5.5}]},{"id":"s137972549","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p9","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-5.5}]},{"id":"s137972550","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p10","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-210.0}]},{"id":"s137972551","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p11","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-7.9}]},{"id":"s137972552","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p12","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-8.2}]},{"id":"s137972553","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p13","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-350.9}]},{"id":"s137972554","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p14","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-409.9}]},{"id":"s137972555","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p15","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-80.7}]},{"id":"s137972556","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p16","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-25.6}]},{"id":"s137972557","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p17","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-143.9}]},{"id":"s137972558","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p18","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-362.5}]},{"id":"s137972559","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p19","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-15.6}]},{"id":"s137972560","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p20","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-27.0}]},{"id":"s137972561","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p21","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-39.0}]},{"id":"s137972562","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p22","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-91.8}]},{"id":"s137972563","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p23","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-12.1}]},{"id":"s137972564","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p24","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-60.5}]},{"id":"s137972565","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p25","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-132.2}]},{"id":"s137972566","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p26","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-8.0}]},{"id":"s137972567","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p27","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-7.2}]},{"id":"s137972568","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p28","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-60.0}]},{"id":"s137972569","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p29","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-244.0}]},{"id":"s137972570","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p30","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-296.0}]},{"id":"s137972571","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p31","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-60.0}]},{"id":"s137972572","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p32","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-5.7}]},{"id":"s137972573","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p33","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-88.9}]},{"id":"s137972574","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p34","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-135.0}]},{"id":"s137972575","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p35","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-5.1}]},{"id":"s137972576","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p36","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-29.2}]},{"id":"s137972577","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p37","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-29.2}]},{"id":"s137972578","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p38","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-6.1}]},{"id":"s137972579","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p39","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-52.7}]},{"id":"s137972580","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p40","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-106.6}]},{"id":"s137972581","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p41","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-4.4}]},{"id":"s137972582","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p42","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-238.6}]},{"id":"s137972583","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p43","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-34.0}]},{"id":"s137972584","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p44","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-9.0}]},{"id":"s137972585","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p45","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-90.0}]},{"id":"s137972586","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p46","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-26.6}]},{"id":"s137972587","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p47","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-287.2}]},{"id":"s137972588","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p48","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-88.0}]},{"id":"s137972589","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p49","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-80.7}]},{"id":"s137972590","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p50","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-120.0}]},{"id":"s137972591","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p51","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-225.0}]},{"id":"s137972592","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p52","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-70.3}]},{"id":"s137972593","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p53","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-101.0}]},{"id":"s137972594","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p54","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-130.0}]},{"id":"s137972595","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p55","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-3.1}]},{"id":"s137972596","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p56","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-200.0}]},{"id":"s137972597","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p57","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-1.4}]},{"id":"s137972598","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p58","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-0.8}]},{"id":"s137972599","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p59","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-86.4}]},{"id":"s137972600","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p60","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-111.7}]},{"id":"s137972601","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p61","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-50.5}]},{"id":"s137972602","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p62","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-16.2}]},{"id":"s137972603","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p63","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-23.0}]},{"id":"s137972604","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p64","timewindows":[]},"quantities":[{"unit_id":"u22669","value":100.0},{"unit_id":"u22670","value":100.0}]},{"id":"s137972605","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p65","timewindows":[]},"quantities":[{"unit_id":"u22669","value":624.0},{"unit_id":"u22670","value":624.0}]},{"id":"s137972606","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p66","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-624.0}]},{"id":"s137972607","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p67","timewindows":[]},"quantities":[]},{"id":"s137972608","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p68","timewindows":[]},"quantities":[{"unit_id":"u22669","value":33.8},{"unit_id":"u22670","value":33.8}]},{"id":"s137972609","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p69","timewindows":[]},"quantities":[{"unit_id":"u22669","value":238.69},{"unit_id":"u22670","value":238.69}]},{"id":"s137972610","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p70","timewindows":[]},"quantities":[{"unit_id":"u22669","value":60.5},{"unit_id":"u22670","value":60.5}]},{"id":"s137972611","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p71","timewindows":[]},"quantities":[{"unit_id":"u22669","value":132.24},{"unit_id":"u22670","value":132.24}]},{"id":"s137972612","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p72","timewindows":[]},"quantities":[{"unit_id":"u22669","value":25.6},{"unit_id":"u22670","value":25.6}]},{"id":"s137972613","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p73","timewindows":[]},"quantities":[{"unit_id":"u22669","value":88.83},{"unit_id":"u22670","value":88.83}]},{"id":"s137972614","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p74","timewindows":[]},"quantities":[{"unit_id":"u22669","value":225.0},{"unit_id":"u22670","value":225.0}]},{"id":"s137972615","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p75","timewindows":[]},"quantities":[{"unit_id":"u22669","value":-100.0}]},{"id":"s137972616","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p76","timewindows":[]},"quantities":[{"unit_id":"u22669","value":122.24},{"unit_id":"u22670","value":122.24}]},{"id":"s137972617","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p77","timewindows":[]},"quantities":[{"unit_id":"u22669","value":23.8},{"unit_id":"u22670","value":23.8}]},{"id":"s137972618","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p78","timewindows":[]},"quantities":[{"unit_id":"u22669","value":146.4},{"unit_id":"u22670","value":146.4}]},{"id":"s137972619","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p79","timewindows":[]},"quantities":[{"unit_id":"u22669","value":72.39},{"unit_id":"u22670","value":72.39}]},{"id":"s137972620","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p80","timewindows":[]},"quantities":[{"unit_id":"u22669","value":143.9},{"unit_id":"u22670","value":143.9}]},{"id":"s137972621","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p81","timewindows":[]},"quantities":[{"unit_id":"u22669","value":86.4},{"unit_id":"u22670","value":86.4}]},{"id":"s137972622","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p82","timewindows":[]},"quantities":[{"unit_id":"u22669","value":65.9},{"unit_id":"u22670","value":65.9}]},{"id":"s137972623","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p83","timewindows":[]},"quantities":[{"unit_id":"u22669","value":5.0},{"unit_id":"u22670","value":5.0}]},{"id":"s137972624","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p84","timewindows":[]},"quantities":[{"unit_id":"u22669","value":5.5},{"unit_id":"u22670","value":5.5}]},{"id":"s137972625","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p85","timewindows":[]},"quantities":[{"unit_id":"u22669","value":5.5},{"unit_id":"u22670","value":5.5}]},{"id":"s137972626","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p86","timewindows":[]},"quantities":[{"unit_id":"u22669","value":210.0},{"unit_id":"u22670","value":210.0}]},{"id":"s137972627","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p87","timewindows":[]},"quantities":[{"unit_id":"u22669","value":119.62},{"unit_id":"u22670","value":119.62}]},{"id":"s137972628","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p88","timewindows":[]},"quantities":[{"unit_id":"u22669","value":8.26},{"unit_id":"u22670","value":8.26}]},{"id":"s137972629","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p89","timewindows":[]},"quantities":[{"unit_id":"u22669","value":350.98},{"unit_id":"u22670","value":350.98}]},{"id":"s137972630","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p90","timewindows":[]},"quantities":[{"unit_id":"u22669","value":409.92},{"unit_id":"u22670","value":409.92}]},{"id":"s137972631","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p91","timewindows":[]},"quantities":[]},{"id":"s137972632","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p92","timewindows":[]},"quantities":[{"unit_id":"u22669","value":80.75},{"unit_id":"u22670","value":80.75}]},{"id":"s137972633","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p93","timewindows":[]},"quantities":[{"unit_id":"u22669","value":50.5},{"unit_id":"u22670","value":50.5}]},{"id":"s137972634","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p94","timewindows":[]},"quantities":[{"unit_id":"u22669","value":23.0},{"unit_id":"u22670","value":23.0}]},{"id":"s137972635","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p95","timewindows":[]},"quantities":[{"unit_id":"u22669","value":362.5},{"unit_id":"u22670","value":362.5}]},{"id":"s137972636","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p96","timewindows":[]},"quantities":[{"unit_id":"u22669","value":31.8},{"unit_id":"u22670","value":31.8}]},{"id":"s137972637","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p97","timewindows":[]},"quantities":[{"unit_id":"u22669","value":101.0},{"unit_id":"u22670","value":101.0}]},{"id":"s137972638","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p98","timewindows":[]},"quantities":[{"unit_id":"u22669","value":27.0},{"unit_id":"u22670","value":27.0}]},{"id":"s137972639","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p99","timewindows":[]},"quantities":[{"unit_id":"u22669","value":39.0},{"unit_id":"u22670","value":39.0}]},{"id":"s137972640","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p100","timewindows":[]},"quantities":[{"unit_id":"u22669","value":130.0},{"unit_id":"u22670","value":130.0}]},{"id":"s137972641","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p101","timewindows":[]},"quantities":[{"unit_id":"u22669","value":95.01},{"unit_id":"u22670","value":95.01}]},{"id":"s137972642","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p102","timewindows":[]},"quantities":[{"unit_id":"u22669","value":12.12},{"unit_id":"u22670","value":12.12}]},{"id":"s137972643","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p103","timewindows":[]},"quantities":[{"unit_id":"u22669","value":8.0},{"unit_id":"u22670","value":8.0}]},{"id":"s137972644","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p104","timewindows":[]},"quantities":[{"unit_id":"u22669","value":7.2},{"unit_id":"u22670","value":7.2}]},{"id":"s137972645","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p105","timewindows":[]},"quantities":[{"unit_id":"u22669","value":60.0},{"unit_id":"u22670","value":60.0}]},{"id":"s137972646","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p106","timewindows":[]},"quantities":[{"unit_id":"u22669","value":70.3},{"unit_id":"u22670","value":70.3}]},{"id":"s137972647","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p107","timewindows":[]},"quantities":[{"unit_id":"u22669","value":244.0},{"unit_id":"u22670","value":244.0}]},{"id":"s137972648","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p108","timewindows":[]},"quantities":[{"unit_id":"u22669","value":296.0},{"unit_id":"u22670","value":296.0}]},{"id":"s137972649","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p109","timewindows":[]},"quantities":[{"unit_id":"u22669","value":60.0},{"unit_id":"u22670","value":60.0}]},{"id":"s137972650","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p110","timewindows":[]},"quantities":[{"unit_id":"u22669","value":5.76},{"unit_id":"u22670","value":5.76}]},{"id":"s137972651","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p111","timewindows":[]},"quantities":[{"unit_id":"u22669","value":88.98},{"unit_id":"u22670","value":88.98}]},{"id":"s137972652","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p112","timewindows":[]},"quantities":[{"unit_id":"u22669","value":135.0},{"unit_id":"u22670","value":135.0}]},{"id":"s137972653","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p113","timewindows":[]},"quantities":[{"unit_id":"u22669","value":5.12},{"unit_id":"u22670","value":5.12}]},{"id":"s137972654","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p114","timewindows":[]},"quantities":[{"unit_id":"u22669","value":29.28},{"unit_id":"u22670","value":29.28}]},{"id":"s137972655","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p115","timewindows":[]},"quantities":[{"unit_id":"u22669","value":29.28},{"unit_id":"u22670","value":29.28}]},{"id":"s137972656","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p116","timewindows":[]},"quantities":[{"unit_id":"u22669","value":6.1},{"unit_id":"u22670","value":6.1}]},{"id":"s137972657","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p117","timewindows":[]},"quantities":[{"unit_id":"u22669","value":200.0},{"unit_id":"u22670","value":200.0}]},{"id":"s137972658","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p118","timewindows":[]},"quantities":[{"unit_id":"u22669","value":52.77},{"unit_id":"u22670","value":52.77}]},{"id":"s137972659","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p119","timewindows":[]},"quantities":[{"unit_id":"u22669","value":106.64},{"unit_id":"u22670","value":106.64}]},{"id":"s137972660","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p120","timewindows":[]},"quantities":[{"unit_id":"u22669","value":4.44},{"unit_id":"u22670","value":4.44}]},{"id":"s137972661","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p121","timewindows":[]},"quantities":[{"unit_id":"u22669","value":34.0},{"unit_id":"u22670","value":34.0}]},{"id":"s137972662","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p122","timewindows":[]},"quantities":[{"unit_id":"u22669","value":9.09},{"unit_id":"u22670","value":9.09}]},{"id":"s137972663","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p123","timewindows":[]},"quantities":[{"unit_id":"u22669","value":90.0},{"unit_id":"u22670","value":90.0}]},{"id":"s137972664","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p124","timewindows":[]},"quantities":[{"unit_id":"u22669","value":26.66},{"unit_id":"u22670","value":26.66}]},{"id":"s137972665","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p125","timewindows":[]},"quantities":[{"unit_id":"u22669","value":1.44},{"unit_id":"u22670","value":1.44}]},{"id":"s137972666","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p126","timewindows":[]},"quantities":[{"unit_id":"u22669","value":287.25},{"unit_id":"u22670","value":287.25}]},{"id":"s137972667","priority":2,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p127","timewindows":[]},"quantities":[{"unit_id":"u22669","value":88.0},{"unit_id":"u22670","value":88.0}]},{"id":"s137972668","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p128","timewindows":[]},"quantities":[{"unit_id":"u22669","value":281.4}]},{"id":"s137972669","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p129","timewindows":[]},"quantities":[{"unit_id":"u22669","value":281.4}]},{"id":"s137972670","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p130","timewindows":[]},"quantities":[{"unit_id":"u22669","value":281.4}]},{"id":"s137972671","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p131","timewindows":[]},"quantities":[{"unit_id":"u22669","value":318.92}]},{"id":"s137972672","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p132","timewindows":[]},"quantities":[{"unit_id":"u22669","value":80.75},{"unit_id":"u22670","value":80.75}]},{"id":"s137972673","priority":0,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p133","timewindows":[]},"quantities":[{"unit_id":"u22669","value":120.0},{"unit_id":"u22670","value":120.0}]},{"id":"s137972674","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p134","timewindows":[]},"quantities":[{"unit_id":"u22669","value":90.0}]},{"id":"s137972675","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p135","timewindows":[]},"quantities":[{"unit_id":"u22669","value":150.0}]},{"id":"s137972676","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p136","timewindows":[]},"quantities":[]},{"id":"s137972677","priority":4,"visits_number":1,"type":"service","activity":{"position":"neutral","duration":0,"setup_duration":780,"late_multiplier":null,"point_id":"p137","timewindows":[]},"quantities":[]}],"relations":[{"type":"shipment","linked_ids":["s137972540","s137972616"]},{"type":"shipment","linked_ids":["s137972541","s137972617"]},{"type":"shipment","linked_ids":["s137972542","s137972618"]},{"type":"shipment","linked_ids":["s137972543","s137972619"]},{"type":"shipment","linked_ids":["s137972544","s137972613"]},{"type":"shipment","linked_ids":["s137972545","s137972608"]},{"type":"shipment","linked_ids":["s137972546","s137972622"]},{"type":"shipment","linked_ids":["s137972547","s137972623"]},{"type":"shipment","linked_ids":["s137972548","s137972624"]},{"type":"shipment","linked_ids":["s137972549","s137972625"]},{"type":"shipment","linked_ids":["s137972550","s137972626"]},{"type":"shipment","linked_ids":["s137972552","s137972628"]},{"type":"shipment","linked_ids":["s137972553","s137972629"]},{"type":"shipment","linked_ids":["s137972554","s137972630"]},{"type":"shipment","linked_ids":["s137972555","s137972632"]},{"type":"shipment","linked_ids":["s137972556","s137972612"]},{"type":"shipment","linked_ids":["s137972557","s137972620"]},{"type":"shipment","linked_ids":["s137972558","s137972635"]},{"type":"shipment","linked_ids":["s137972559","s137972636"]},{"type":"shipment","linked_ids":["s137972560","s137972638"]},{"type":"shipment","linked_ids":["s137972561","s137972639"]},{"type":"shipment","linked_ids":["s137972562","s137972641"]},{"type":"shipment","linked_ids":["s137972563","s137972642"]},{"type":"shipment","linked_ids":["s137972564","s137972610"]},{"type":"shipment","linked_ids":["s137972565","s137972611"]},{"type":"shipment","linked_ids":["s137972566","s137972643"]},{"type":"shipment","linked_ids":["s137972567","s137972644"]},{"type":"shipment","linked_ids":["s137972568","s137972645"]},{"type":"shipment","linked_ids":["s137972569","s137972647"]},{"type":"shipment","linked_ids":["s137972570","s137972648"]},{"type":"shipment","linked_ids":["s137972571","s137972649"]},{"type":"shipment","linked_ids":["s137972572","s137972650"]},{"type":"shipment","linked_ids":["s137972573","s137972651"]},{"type":"shipment","linked_ids":["s137972574","s137972652"]},{"type":"shipment","linked_ids":["s137972575","s137972653"]},{"type":"shipment","linked_ids":["s137972576","s137972654"]},{"type":"shipment","linked_ids":["s137972577","s137972655"]},{"type":"shipment","linked_ids":["s137972578","s137972656"]},{"type":"shipment","linked_ids":["s137972579","s137972658"]},{"type":"shipment","linked_ids":["s137972580","s137972659"]},{"type":"shipment","linked_ids":["s137972581","s137972660"]},{"type":"shipment","linked_ids":["s137972582","s137972609"]},{"type":"shipment","linked_ids":["s137972583","s137972661"]},{"type":"shipment","linked_ids":["s137972584","s137972662"]},{"type":"shipment","linked_ids":["s137972585","s137972663"]},{"type":"shipment","linked_ids":["s137972586","s137972664"]},{"type":"shipment","linked_ids":["s137972587","s137972666"]},{"type":"shipment","linked_ids":["s137972588","s137972667"]},{"type":"shipment","linked_ids":["s137972589","s137972672"]},{"type":"shipment","linked_ids":["s137972590","s137972673"]},{"type":"shipment","linked_ids":["s137972591","s137972614"]},{"type":"shipment","linked_ids":["s137972592","s137972646"]},{"type":"shipment","linked_ids":["s137972593","s137972637"]},{"type":"shipment","linked_ids":["s137972594","s137972640"]},{"type":"shipment","linked_ids":["s137972596","s137972657"]},{"type":"shipment","linked_ids":["s137972597","s137972665"]},{"type":"shipment","linked_ids":["s137972599","s137972621"]},{"type":"shipment","linked_ids":["s137972600","s137972627"]},{"type":"shipment","linked_ids":["s137972601","s137972633"]},{"type":"shipment","linked_ids":["s137972603","s137972634"]},{"type":"shipment","linked_ids":["s137972615","s137972604"]},{"type":"shipment","linked_ids":["s137972606","s137972605"]},{"type":"shipment","linked_ids":["s137972607","s137972631"]}],"routes":[],"configuration":{"preprocessing":{"max_split_size":500,"cluster_threshold":0.0,"prefer_short_segment":true,"first_solution_strategy":["local_cheapest_insertion"]},"resolution":{"duration":750,"initial_time_out":750,"time_out_multiplier":2,"solver":true,"minimize_days_worked":false,"allow_partial_assignment":true,"several_solutions":1,"batch_heuristic":false},"restitution":{"intermediate_solutions":false}}}} diff --git a/test/fixtures/pud_initial_routes.dump b/test/fixtures/pud_initial_routes.dump index effe98baf..6b19822a2 100644 Binary files a/test/fixtures/pud_initial_routes.dump and b/test/fixtures/pud_initial_routes.dump differ diff --git a/test/fixtures/quality_with_minimum_stops_in_route.dump b/test/fixtures/quality_with_minimum_stops_in_route.dump index b8570de30..36747930d 100644 Binary files a/test/fixtures/quality_with_minimum_stops_in_route.dump and b/test/fixtures/quality_with_minimum_stops_in_route.dump differ diff --git a/test/fixtures/results_regularity.dump b/test/fixtures/results_regularity.dump index 11bbf76b8..27446f787 100644 Binary files a/test/fixtures/results_regularity.dump and b/test/fixtures/results_regularity.dump differ diff --git a/test/fixtures/results_regularity_2.dump b/test/fixtures/results_regularity_2.dump index 840c62730..bf8251283 100644 Binary files a/test/fixtures/results_regularity_2.dump and b/test/fixtures/results_regularity_2.dump differ diff --git a/test/fixtures/route_initialisation.dump b/test/fixtures/route_initialisation.dump index 2c0d2895c..22082e8a3 100644 Binary files a/test/fixtures/route_initialisation.dump and b/test/fixtures/route_initialisation.dump differ diff --git a/test/fixtures/same_point_day_relaxation.dump b/test/fixtures/same_point_day_relaxation.dump index 7c19185f1..02524ec8e 100644 Binary files a/test/fixtures/same_point_day_relaxation.dump and b/test/fixtures/same_point_day_relaxation.dump differ diff --git a/test/fixtures/scheduling_and_ortools.dump b/test/fixtures/scheduling_and_ortools.dump index bf20653e1..23a227e1e 100644 Binary files a/test/fixtures/scheduling_and_ortools.dump and b/test/fixtures/scheduling_and_ortools.dump differ diff --git a/test/fixtures/scheduling_with_post_process.dump b/test/fixtures/scheduling_with_post_process.dump index c94db39ec..1295c3693 100644 Binary files a/test/fixtures/scheduling_with_post_process.dump and b/test/fixtures/scheduling_with_post_process.dump differ diff --git a/test/fixtures/treatment_site.dump b/test/fixtures/treatment_site.dump index 57a8fdd26..66fc89555 100644 Binary files a/test/fixtures/treatment_site.dump and b/test/fixtures/treatment_site.dump differ diff --git a/test/fixtures/two_phases_clustering_sched_with_freq_and_same_point_day_5veh.dump b/test/fixtures/two_phases_clustering_sched_with_freq_and_same_point_day_5veh.dump index 3dd766e45..e25fc4ad9 100644 Binary files a/test/fixtures/two_phases_clustering_sched_with_freq_and_same_point_day_5veh.dump and b/test/fixtures/two_phases_clustering_sched_with_freq_and_same_point_day_5veh.dump differ diff --git a/test/fixtures/vroom_optimize_each.dump b/test/fixtures/vroom_optimize_each.dump index f0b2022ee..b3d2f0ebe 100644 Binary files a/test/fixtures/vroom_optimize_each.dump and b/test/fixtures/vroom_optimize_each.dump differ diff --git a/test/fixtures/vrp_allow_partial_assigment_false.dump b/test/fixtures/vrp_allow_partial_assigment_false.dump index 230f25a6d..7514555d5 100644 Binary files a/test/fixtures/vrp_allow_partial_assigment_false.dump and b/test/fixtures/vrp_allow_partial_assigment_false.dump differ diff --git a/test/fixtures/vrp_ten_routes_with_rest.dump b/test/fixtures/vrp_ten_routes_with_rest.dump index 30df1e351..7f8d4f195 100644 Binary files a/test/fixtures/vrp_ten_routes_with_rest.dump and b/test/fixtures/vrp_ten_routes_with_rest.dump differ diff --git a/test/fixtures/without_same_point_day.dump b/test/fixtures/without_same_point_day.dump index f9c95f884..22136499a 100644 Binary files a/test/fixtures/without_same_point_day.dump and b/test/fixtures/without_same_point_day.dump differ diff --git a/test/lib/interpreters/split_clustering_test.rb b/test/lib/interpreters/split_clustering_test.rb index f458a4a5b..7ec67ece1 100644 --- a/test/lib/interpreters/split_clustering_test.rb +++ b/test/lib/interpreters/split_clustering_test.rb @@ -394,15 +394,15 @@ def test_good_vehicle_assignment_skills metric: 'duration', entity: :work_day }] - vrp[:services].first[:skills] = ['skill'] - vrp[:vehicles][0][:skills] = [['skill']] + vrp[:services].first[:skills] = [:skill] + vrp[:vehicles][0][:skills] = [[:skill]] service_vrp = { vrp: TestHelper.create(vrp), service: :demo } service_vrp[:vrp][:preprocessing_kmeans_centroids] = [1, 2] generated_services_vrps = Interpreters::SplitClustering.generate_split_vrps(service_vrp) generated_services_vrps.flatten! generated_services_vrps.compact! - cluster_with_skill = generated_services_vrps.find{ |sub_vrp| sub_vrp[:vrp][:services].any?{ |s| s[:id] == vrp[:services][0][:id] } } - assert(cluster_with_skill[:vrp].vehicles.any?{ |v| v.skills.any?{ |skill_set| skill_set.include?('skill') } }) + cluster_with_skill = generated_services_vrps.find{ |sub_vrp| sub_vrp[:vrp][:services].any?{ |s| s.id == vrp[:services][0][:id] } } + assert(cluster_with_skill[:vrp].vehicles.any?{ |v| v.skills.any?{ |skill_set| skill_set.include?(:skill) } }) end def test_no_doubles_3000 diff --git a/test/models/vrp_consistency_test.rb b/test/models/vrp_consistency_test.rb index ed9ff4fc2..3b85a3921 100644 --- a/test/models/vrp_consistency_test.rb +++ b/test/models/vrp_consistency_test.rb @@ -461,14 +461,14 @@ def test_compatible_days_availabilities_with_vehicle_trips vrp[:vehicles][1][:timewindow] = { start: 0, end: 10, day_index: 1 } # days are uncompatible - assert_raises OptimizerWrapper::DiscordantProblemError do + assert_raises OptimizerWrapper::UnsupportedProblemError do check_consistency(vrp) end vrp[:vehicles][1][:timewindow] = nil vrp[:vehicles][1][:sequence_timewindows] = [{ start: 0, end: 10, day_index: 0 }, { start: 0, end: 10, day_index: 1 }] # vehicles have common day index 0 but they are still not available at exact same days - assert_raises OptimizerWrapper::DiscordantProblemError do + assert_raises OptimizerWrapper::UnsupportedProblemError do check_consistency(vrp) end end @@ -483,7 +483,7 @@ def test_unavailable_days_with_vehicle_trips vrp[:vehicles][0][:unavailable_work_day_indices] = [0, 1] vrp[:vehicles][1][:unavailable_work_day_indices] = [2, 3] # no common day_index anymore - assert_raises OptimizerWrapper::DiscordantProblemError do + assert_raises OptimizerWrapper::UnsupportedProblemError do check_consistency(vrp) end end @@ -502,7 +502,7 @@ def test_vehicle_trips_uncompatible_with_clustering vrp = VRP.lat_lon_two_vehicles vrp[:relations] = [TestHelper.vehicle_trips_relation(vrp)] vrp[:configuration][:preprocessing] = { partitions: TestHelper.vehicle_and_days_partitions } - assert_raises OptimizerWrapper::DiscordantProblemError do + assert_raises OptimizerWrapper::UnsupportedProblemError do check_consistency(vrp) end diff --git a/test/real_cases_scheduling_test.rb b/test/real_cases_scheduling_test.rb index 663e83317..57d3f1a70 100644 --- a/test/real_cases_scheduling_test.rb +++ b/test/real_cases_scheduling_test.rb @@ -134,7 +134,7 @@ def test_minimum_stop_in_route assert result[:routes].all?{ |r| (r[:activities].size - 2).zero? || r[:activities].size - 2 >= 5 }, 'Expecting no route with less than 5 stops unless it is an empty route' assert_operator should_remain_assigned, :<=, (result[:routes].sum{ |r| r[:activities].size - 2 }) - assert_equal 19, result[:unassigned].size + assert_equal 21, result[:unassigned].size all_ids = (result[:routes].flat_map{ |route| route[:activities].collect{ |stop| stop[:service_id] } }.compact + result[:unassigned].collect{ |un| un[:service_id] }).uniq @@ -157,7 +157,7 @@ def test_performance_13vl # voluntarily equal to watch evolution of scheduling algorithm performance assert_equal expected, seen, 'Do not have the expected number of total visits' - assert_equal 294, unassigned_visits.sum, 'Do not have the expected number of unassigned visits' + assert_equal 291, unassigned_visits.sum, 'Do not have the expected number of unassigned visits' end def test_fill_days_and_post_processing diff --git a/test/test_helper.rb b/test/test_helper.rb index 1b0302e01..1b10a347b 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -68,16 +68,21 @@ def self.coerce(vrp) [vrp[:services], vrp[:shipments]].each{ |group| group&.each{ |s| - next if s.nil? - next if vrp.is_a?(Hash) && !s.key?(:visits_number) - - raise StandardError, "Service/Shipment #{s[:id]} visits_number (#{s[:visits_number]}) is invalid." unless s[:visits_number].is_a?(Integer) && s[:visits_number].positive? + s[:skills]&.map!(&:to_sym) [s[:activity] || s[:activities] || s[:pickup] || s[:delivery]].flatten.each{ |activity| next unless activity[:position] activity[:position] = activity[:position].to_sym } + + next if vrp.is_a?(Hash) && !s.key?(:visits_number) + + unless s[:visits_number].is_a?(Integer) && s[:visits_number].positive? + raise StandardError.new( + "Service/Shipment #{s[:id]} visits_number (#{s[:visits_number]}) is invalid." + ) + end } } @@ -106,9 +111,17 @@ def self.coerce(vrp) vrp[:configuration][:preprocessing][:partitions]&.each{ |partition| partition[:entity] = partition[:entity].to_sym } if vrp[:configuration] && vrp[:configuration][:preprocessing] vrp.preprocessing_partitions&.each{ |partition| partition[:entity] = partition[:entity].to_sym } if vrp.is_a?(Models::Vrp) - vrp.provide_original_info unless vrp.is_a?(Hash) # TODO: re-dump with this modification + vrp[:relations]&.each{ |r| r[:type] = r[:type]&.to_sym } - vrp[:relations]&.each{ |r| r[:type] = r[:type]&.to_sym } # TODO: re-dump with this modification + vrp[:vehicles]&.each{ |v| + next if v[:skills].to_a.empty? + + if v[:skills].first&.is_a?(Array) + v[:skills].each{ |set| set.map!(&:to_sym) } + else + v[:skills].map!(&:to_sym) + end + } vrp end diff --git a/test/lib/interpreters/multi_trips_test.rb b/test/wrappers/ortools_multi_trips_test.rb similarity index 83% rename from test/lib/interpreters/multi_trips_test.rb rename to test/wrappers/ortools_multi_trips_test.rb index 2330d4c77..ef85dda81 100644 --- a/test/lib/interpreters/multi_trips_test.rb +++ b/test/wrappers/ortools_multi_trips_test.rb @@ -19,25 +19,6 @@ require 'date' class MultiTripsTest < Minitest::Test - def test_expand_vehicles_trips - vrp = VRP.lat_lon - vrp[:vehicles].first[:trips] = 2 - - vrp = Interpreters::MultiTrips.new.expand(TestHelper.create(vrp)) - - assert_equal 2, vrp.vehicles.size - assert_equal 1, vrp.relations.size - vrp.relations.each{ |relation| - assert_equal :vehicle_trips, relation.type - assert_includes relation.linked_vehicle_ids, 'vehicle_0_trip_0' - assert_includes relation.linked_vehicle_ids, 'vehicle_0_trip_1' - } - - Interpreters::MultiTrips.new.expand(vrp) # consecutive MultiTrips.expand should not produce any error neither inconsistency - assert_equal 2, vrp.vehicles.size - assert_equal 1, vrp.relations.size - end - def test_solve_vehicles_trips_capacity vrp = VRP.lat_lon_capacitated result = OptimizerWrapper.wrapper_vrp('demo', { services: { vrp: [:ortools] }}, TestHelper.create(vrp), nil) @@ -46,7 +27,12 @@ def test_solve_vehicles_trips_capacity # increasing number of trips increases overall available capacity and reduces unassigned : - vrp[:vehicles].first[:trips] = 2 + vrp[:vehicles] << vrp[:vehicles].first.dup + vrp[:vehicles].last[:id] += '_second_trip' + vrp[:relations] = [{ + type: 'vehicle_trips', + linked_vehicle_ids: [vrp[:vehicles].first[:id], vrp[:vehicles].last[:id]] + }] result = OptimizerWrapper.wrapper_vrp('demo', { services: { vrp: [:ortools] }}, TestHelper.create(vrp), nil) assert_equal 2, result[:routes].size assert_equal 2, result[:unassigned].size @@ -54,7 +40,9 @@ def test_solve_vehicles_trips_capacity routes_end = result[:routes].collect{ |route| route[:activities].last[:begin_time] } assert_operator routes_end[0], :<=, routes_start[1] - vrp[:vehicles].first[:trips] = 3 + vrp[:vehicles] << vrp[:vehicles].first.dup + vrp[:vehicles].last[:id] += '_third_trip' + vrp[:relations].first[:linked_vehicle_ids] << vrp[:vehicles].last[:id] result = OptimizerWrapper.wrapper_vrp('demo', { services: { vrp: [:ortools] }}, TestHelper.create(vrp), nil) assert_equal 3, result[:routes].size assert_empty result[:unassigned] @@ -68,14 +56,20 @@ def test_solve_vehicles_trips_capacity def test_solve_vehicles_trips_duration vrp = VRP.basic vrp[:matrices].first[:time] = vrp[:matrices].first[:time].collect{ |l| l.collect{ |v| v.positive? ? 4 : 0 } } - vrp[:vehicles].first[:duration] = 4 + vrp[:vehicles].first[:end_point_id] = vrp[:vehicles].first[:start_point_id] + vrp[:vehicles].first[:duration] = 10 result = OptimizerWrapper.wrapper_vrp('demo', { services: { vrp: [:ortools] }}, TestHelper.create(vrp), nil) assert_equal 1, result[:routes].size assert_equal 2, result[:unassigned].size # increasing number of trips increases overall available duration and reduces unassigned : - vrp[:vehicles].first[:trips] = 2 + vrp[:vehicles] << vrp[:vehicles].first.dup + vrp[:vehicles].last[:id] += '_second_trip' + vrp[:relations] = [{ + type: 'vehicle_trips', + linked_vehicle_ids: [vrp[:vehicles].first[:id], vrp[:vehicles].last[:id]] + }] result = OptimizerWrapper.wrapper_vrp('demo', { services: { vrp: [:ortools] }}, TestHelper.create(vrp), nil) assert_equal 2, result[:routes].size assert_equal 1, result[:unassigned].size @@ -83,7 +77,9 @@ def test_solve_vehicles_trips_duration routes_end = result[:routes].collect{ |route| route[:activities].last[:begin_time] } assert_operator routes_end[0], :<=, routes_start[1] - vrp[:vehicles].first[:trips] = 3 + vrp[:vehicles] << vrp[:vehicles].first.dup + vrp[:vehicles].last[:id] += '_third_trip' + vrp[:relations].first[:linked_vehicle_ids] << vrp[:vehicles].last[:id] result = OptimizerWrapper.wrapper_vrp('demo', { services: { vrp: [:ortools] }}, TestHelper.create(vrp), nil) assert_equal 3, result[:routes].size assert_empty result[:unassigned]