Class TrendBasedScoreBounder<Score_ extends Score<Score_>>
java.lang.Object
ai.timefold.solver.core.impl.exhaustivesearch.node.bounder.TrendBasedScoreBounder<Score_>
- All Implemented Interfaces:
ScoreBounder<Score_>
public final class TrendBasedScoreBounder<Score_ extends Score<Score_>>
extends Object
implements ScoreBounder<Score_>
-
Constructor Summary
ConstructorsConstructorDescriptionTrendBasedScoreBounder(ScoreDefinition<Score_> scoreDefinition, InitializingScoreTrend initializingScoreTrend) -
Method Summary
Modifier and TypeMethodDescriptioncalculateOptimisticBound(ScoreDirector<?> scoreDirector, InnerScore<Score_> score) In OR terms, this is called the lower bound if they minimize, and upper bound if they maximize.calculatePessimisticBound(ScoreDirector<?> scoreDirector, InnerScore<Score_> score) In OR terms, this is called the upper bound if they minimize, and lower bound if they maximize.
-
Constructor Details
-
TrendBasedScoreBounder
public TrendBasedScoreBounder(ScoreDefinition<Score_> scoreDefinition, InitializingScoreTrend initializingScoreTrend)
-
-
Method Details
-
calculateOptimisticBound
public InnerScore<Score_> calculateOptimisticBound(ScoreDirector<?> scoreDirector, InnerScore<Score_> score) Description copied from interface:ScoreBounderIn OR terms, this is called the lower bound if they minimize, and upper bound if they maximize. Because we always maximize theScore, calling it lower bound would be a contradiction.- Specified by:
calculateOptimisticBoundin interfaceScoreBounder<Score_ extends Score<Score_>>- Parameters:
scoreDirector- never null, useScoreDirector.getWorkingSolution()to get the workingPlanningSolutionscore- never null, theScoreof the workingPlanningSolution- Returns:
- never null, never worse than the best possible
Scorewe can get by initializing the uninitialized variables of the workingPlanningSolution. - See Also:
-
calculatePessimisticBound
public InnerScore<Score_> calculatePessimisticBound(ScoreDirector<?> scoreDirector, InnerScore<Score_> score) Description copied from interface:ScoreBounderIn OR terms, this is called the upper bound if they minimize, and lower bound if they maximize. Because we always maximize theScore, calling it upper bound would be a contradiction.- Specified by:
calculatePessimisticBoundin interfaceScoreBounder<Score_ extends Score<Score_>>- Parameters:
scoreDirector- never null, useScoreDirector.getWorkingSolution()to get the workingPlanningSolutionscore- never null, theScoreof the workingPlanningSolution- Returns:
- never null, never better than the worst possible
Scorewe can get by initializing the uninitialized variables of the workingPlanningSolution. - See Also:
-