Skip to content

v1.6.0

Compare
Choose a tag to compare
@fab-girard fab-girard released this 10 Feb 08:31

Added

  • Allow support for semicolumn and tabulation in CSV files
  • Initial routes are now correctly grouped when using partitions (Especially for Scheduling Problems). However, this feature is still under development within split based algorithms (split_solve and dichotomous)
  • position field for activities
  • Unfeasible missions are removed from routes #31
  • Detailed route costs both for routes and solutions #46
  • [WIP] Allow multidepot within clustering. For now, this only influences clusters initialization #56
  • Introduce direct shipments: pickup and delivery must be consecutive #51
  • Return original ids for missions and vehicles #73
  • Return total_waiting_time #83
  • Introduce minimize_days_worked parameter for scheduling heuristic. The default behavior of scheduling heuristic is now to balance work load over the period, the introduced parameter allows to return to the previous behavior #89
  • Detect inconsistent same_point_day definition #76

Changed

  • Cache is now part of wrappers hash
  • Collect current distance from OR-Tools
  • Refactoring of the chaining of the various solving procedures (Rework define_process)
  • Now use OR-Tools asserts instead or recompiling the entire project
  • Reject too small lapses
  • Bump OR-Tools to v7.8
  • Various edits, improvements and refactoring within scheduling heuristic
  • Scheduling heuristic now empties under-filled routes to reassign them #28
  • Improve unfeasible service detection performance #28 #65
  • Avoid heuristic selection when unnecessary #31
  • Shipments are now tolerated within split_clustering if the pickup or the delivery is located at a depot #46
  • Reduce clustering default restarts from 50 to 10 #49
  • Replace balanced_kmeans by balanced_vrp_clustering gem #49
  • Factorize get operation status codes #52
  • VROOM is no more refused due to initial routes #59
  • Improved kill of jobs within scheduling heuristic #57
  • CSV is now only returned for completed jobs #60
  • Update fronts accordingly to CSV edits #61
  • Ensure matrix, matrix_id and matrix_index consistency #62
  • Dump filtered problems #62
  • Default multi_trips value is now 1 #47
  • Bump VROOM to v1.5.0 #66
  • Reduce memory usage for scheduling problems #71
  • Reduce OR-Tools computation time within scheduling heuristic #78
  • Rework route referents definition within scheduling heuristic, in order to improve routes initialization #89
  • Bump Ruby to 2.5.5 #97
  • Delegate quantity rounding to optimizer-ortools #98
  • Improve Force start & breaks through optimizer-ortools #98

Removed

  • solver_parameter from the internal model, it is replaced by solver and first_solution_strategy parameters
  • Relation id was mandatory, but was never used or returned #31
  • Vehicle sort by day index #31
  • overall_duration parameter from API as it is not functional #46

Fixed

  • Resolution time when using split_independent or max_split procedures
  • Alternative activities with empties and fills
  • Shift computation for sheduling problems
  • Sheduling heuristic now rejects shipments and rests #28
  • Reject empty problems #35
  • Negative time limits #35
  • Expand multi_trips only once #36
  • Remove data from already started jobs #38
  • Clean interrupted working jobs at startup #38
  • Error when delete operation is invoked immedialty after get #38
  • Coerce first_solution_strategy into array #38
  • Avoid unnecessary route generation #46
  • Correctly handle consecutive delete operations #52
  • Returned http error codes #62
  • Split by skills generating unexpected sub-problems #47
  • Remove duplicated empty routes for the same vehicle #50
  • Return total_time and total_travel_distance from scheduling heuristic #63
  • Infinite loop due to impossible split within dichotomous #67
  • Avoid depot duplication #72
  • Wrong number of visits #86
  • Parsing of intermediate protobuf file returned by optimizer-ortools #87
  • Uniformize wrappers output accordingly to API documentation #83

Deprecated

  • Positions are no longer relations and must be defined at activity level
  • Route indice is now index #31