Skip to content

Commit

Permalink
feat: make the nearbyDistanceMeterClass a visitable class for GIZMO
Browse files Browse the repository at this point in the history
  • Loading branch information
zepfred authored and triceo committed Jun 19, 2024
1 parent 50e19a2 commit 30980b7
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -704,6 +704,9 @@ public void visitReferencedClasses(Consumer<Class<?>> classVisitor) {
if (scoreDirectorFactoryConfig != null) {
scoreDirectorFactoryConfig.visitReferencedClasses(classVisitor);
}
if (nearbyDistanceMeterClass != null) {
classVisitor.accept(nearbyDistanceMeterClass);
}
if (terminationConfig != null) {
terminationConfig.visitReferencedClasses(classVisitor);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import ai.timefold.solver.core.config.localsearch.LocalSearchPhaseConfig;
import ai.timefold.solver.core.impl.heuristic.move.DummyMove;
import ai.timefold.solver.core.impl.heuristic.selector.common.decorator.SelectionFilter;
import ai.timefold.solver.core.impl.heuristic.selector.common.nearby.NearbyDistanceMeter;
import ai.timefold.solver.core.impl.heuristic.selector.move.factory.MoveIteratorFactory;
import ai.timefold.solver.core.impl.heuristic.selector.move.factory.MoveListFactory;
import ai.timefold.solver.core.impl.heuristic.selector.move.generic.ChangeMove;
Expand Down Expand Up @@ -182,6 +183,7 @@ void visitReferencedClasses() {
verify(classVisitor, atLeastOnce()).accept(DummyEasyScoreCalculator.class);
verify(classVisitor, atLeastOnce()).accept(DummyConstraintProvider.class);
verify(classVisitor, atLeastOnce()).accept(DummyIncrementalScoreCalculator.class);
verify(classVisitor, atLeastOnce()).accept(DummyNearbyDistanceClass.class);
verify(classVisitor, atLeastOnce()).accept(DummyEntityFilter.class);
verify(classVisitor, atLeastOnce()).accept(DummyValueFilter.class);
verify(classVisitor, atLeastOnce()).accept(DummyChangeMoveFilter.class);
Expand Down Expand Up @@ -374,4 +376,12 @@ public abstract static class DummyMoveIteratorFactory implements MoveIteratorFac
public abstract static class DummyMoveListFactory implements MoveListFactory<TestdataSolution> {
}

public class DummyNearbyDistanceClass implements NearbyDistanceMeter<String, String> {

@Override
public double getNearbyDistance(String origin, String destination) {
return 0;
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
<incrementalScoreCalculatorClass>ai.timefold.solver.core.config.solver.SolverConfigTest$DummyIncrementalScoreCalculator</incrementalScoreCalculatorClass>
<initializingScoreTrend>ONLY_DOWN</initializingScoreTrend>
</scoreDirectorFactory>
<nearbyDistanceMeterClass>ai.timefold.solver.core.config.solver.SolverConfigTest$DummyNearbyDistanceClass</nearbyDistanceMeterClass>
<constructionHeuristic>
<constructionHeuristicType>FIRST_FIT_DECREASING</constructionHeuristicType>
<queuedEntityPlacer>
Expand Down

0 comments on commit 30980b7

Please sign in to comment.