Opened 8 years ago
Last modified 5 years ago
#2707 assigned enhancement
New VRP Operators
Reported by: | jzenisek | Owned by: | jzenisek |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.17 |
Component: | Problems.VehicleRouting | Version: | branch |
Keywords: | Cc: |
Description
Adding new VRP operators stemming from the master's thesis of jan zenisek and ideas of philipp fleck
Change History (16)
comment:1 Changed 8 years ago by jzenisek
- Status changed from new to accepted
comment:2 Changed 8 years ago by jzenisek
comment:3 Changed 8 years ago by pfleck
r14559 Simplified k-means clustering for ClusterCreators.
comment:4 Changed 8 years ago by pfleck
r14643 Branches VRP Views.
comment:5 Changed 8 years ago by pfleck
r14644 Adapted paths and references for branches view plugin.
comment:6 Changed 8 years ago by pfleck
- Fixed a bug in cluster creators.
- Added the vehicle nr to the each tour in the solution view.
comment:7 Changed 7 years ago by mkommend
- Milestone changed from HeuristicLab 3.3.15 to HeuristicLab 3.3.16
comment:8 Changed 7 years ago by gkronber
Please release with 3.3.16
comment:9 Changed 7 years ago by jzenisek
r15762: renamed branch according to guidelines
comment:10 Changed 6 years ago by abeham
If this ticket is going to be released it should go into review phase soon. It's still waiting for completion, so please finish the implementation or move it to the next milestone.
comment:11 Changed 6 years ago by pfleck
- Owner changed from jzenisek to pfleck
- Status changed from accepted to reviewing
comment:12 Changed 6 years ago by pfleck
comment:13 Changed 6 years ago by pfleck
r17012 adapted paths
comment:14 Changed 6 years ago by pfleck
Functionality
- Tested the new crossovers and creators - worked fine and yielded nice results.
- I think we could merge both ClusterCreators into a single one where a parameter specifies on which attribute the clustering is based. This would also simplify the code since both cluster implementations are very similar.
- I also suggest renaming the clusters into something like "Coordinate-based" and "Time-based".
- The TourCreationProbabilities (greedy vs shuffled) are a bit unintuitive to use. Maybe we can come up with something else how to specify this.
Code
- I suggest to make the KMeansAlgorithm into a static class only offering a single Run method.
- Concept of shuffle vs greedy should be generalized so that additional options could be easily implemented.
- Abstract classes (ClusterCreator) should have protected constructors
- Remove unused methods and usings.
- Check required parameters and throw exceptions at the beginning of a method to avoid unnecessary calculations.
- Avoid causing NullReferenceExceptions after casting. Use (TargetType) instead of as TargetType.
comment:15 Changed 6 years ago by pfleck
- Owner changed from pfleck to jzenisek
- Status changed from reviewing to assigned
comment:16 Changed 5 years ago by abeham
- Milestone changed from HeuristicLab 3.3.16 to HeuristicLab 3.3.17
Note: See
TracTickets for help on using
tickets.
r14415 Added folder for new VRP branch
r14416 branch for several vrp enhancements
r14417 added some new vrp operators (1 creator, 1 crossover, 1 manipulator)