-
Feature Request
-
Resolution: Done
-
Blocker
-
None
-
None
In VRP, when there are 150 000 customers, there's little point in swapping customer A and Z if they are on oppose ends of the region. So when A is selected as primary entity, we want to have a high chance of selecting a secondary entity close to A (although the chance to select something far should be almost zero but not zero).
Configuration might look something like this:
<swapMoveSelector> <primary entitySelector id="leader"/> <secondary nearByEntitySelector> <mimicEntitySelector ref="leader"/> <nearByFinderClass>...NearByFinder</> <randomDistribution>NORMAL || GAUSS</> </> </>
The same system might be reused in exam scheduling for course grained moves where one of the entities is a leader:
<cartesianMoveSelector> <changeMoveSelector> <entitySelector id="leader"/> </> <changeMoveSelector> <nearByEntitySelector> <mimicEntitySelector ref="leader"/> <nearByFinderClass>...MyNearByFinder</> <randomDistribution>NORMAL || GAUSS</> </> </> </>
MyNearByFinder could have an interface something like this
Object nearByEntity(Object mainEntity, ScoreDirector scoreDirector);
but what I really want is to have planner configuration deal with the NORMAL || GAUSS randomDistribution directly, so I want this too:
// 0 < nearByIndex < entityCount // nearByIndex has a a high chance of being 1, 2, ... and a low chance of being ..., entityCount - 2, entityCount - 1. Object nearByEntity(Object mainEntity, int nearByIndex);
- is related to
-
PLANNER-289 Nearby selection for declarative value ranges (required for financial optimization)
- Open
- relates to
-
PLANNER-187 Support 3opt+ move selectors out-of-the-box for VRP
- Resolved
-
PLANNER-211 Beta distribution (Guassian/gauss distribution) in random selection on a ValueRange
- Resolved
-
PLANNER-228 Chained variables should support value range from entity too
- Open