diff --git a/CHANGELOG.md b/CHANGELOG.md index c8bbdca42..19a1d9f16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ ### Changed - Geojson object colors are now related to vehicle partition if defined [#338](https://github.com/Mapotempo/optimizer-api/pull/338) +- The time horizon has been changed in optimizer-ortools which increases the performances in case of timewindows without end [#341](https://github.com/Mapotempo/optimizer-api/pull/341) ### Removed diff --git a/README.md b/README.md index dd833b78f..44b26c406 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ bundle install This project requires some solver and interface projects in order to be fully functional! * [Vroom v1.8.0](https://github.com/VROOM-Project/vroom/releases/tag/v1.8.0) -* [Optimizer-ortools v1.10.0](https://github.com/Mapotempo/optimizer-ortools) & [OR-Tools v7.8](https://github.com/google/or-tools/releases/tag/v7.8) (use the version corresponding to your system operator, not source code). +* [Optimizer-ortools v1.11.0](https://github.com/Mapotempo/optimizer-ortools) & [OR-Tools v7.8](https://github.com/google/or-tools/releases/tag/v7.8) (use the version corresponding to your system operator, not source code). Note : when updating OR-Tools you should to recompile optimizer-ortools. diff --git a/docker/Dockerfile b/docker/Dockerfile index 55d87bca8..7ebc7d5f9 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -8,7 +8,7 @@ ARG VROOM_VERSION FROM vroomvrp/vroom-docker:${VROOM_VERSION:-v1.8.0} as vroom # Rake -FROM ${REGISTRY:-registry.mapotempo.com/}mapotempo-${BRANCH:-ce}/optimizer-ortools:${OPTIMIZER_ORTOOLS_VERSION:-v1.10.0} +FROM ${REGISTRY:-registry.mapotempo.com/}mapotempo-${BRANCH:-ce}/optimizer-ortools:${OPTIMIZER_ORTOOLS_VERSION:-v1.11.0} ARG BUNDLE_WITHOUT ENV LANG C.UTF-8 diff --git a/test/real_cases_test.rb b/test/real_cases_test.rb index d1314fecd..1ec216684 100644 --- a/test/real_cases_test.rb +++ b/test/real_cases_test.rb @@ -290,7 +290,6 @@ def test_ortools_one_route_with_single_mtws # Haute-Savoie - A single route with a visit with 2 open timewindows (0 ; x] [y ; ∞) def test_ortools_open_timewindows - # TODO: the timing of this test can be decreased (by 10x) when optimizer-api/-/issues/841 is fixed vrp = TestHelper.load_vrp(self) check_vrp_services_size = vrp.services.size result = OptimizerWrapper.wrapper_vrp('ortools', { services: { vrp: [:ortools] }}, vrp, nil) @@ -311,7 +310,8 @@ def test_ortools_open_timewindows assert result[:routes].sum{ |r| r[:total_travel_time] } <= 13225, "Too long travel time: #{result[:routes].sum{ |r| r[:total_travel_time] }}" # Check elapsed time - assert result[:elapsed] < 15000, "Too long elapsed time: #{result[:elapsed]}" + # The rework of time horizon in optimizer-ortools has decreased the computation time drastically + assert result[:elapsed] < 1000, "Too long elapsed time: #{result[:elapsed]}" end # Nantes - A single route with an order defining the most part of the route