Interface ScoreBounder<Score_ extends Score<Score_>>
- All Known Implementing Classes:
TrendBasedScoreBounder
public interface ScoreBounder<Score_ extends Score<Score_>>
-
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.
-
Method Details
-
calculateOptimisticBound
InnerScore<Score_> calculateOptimisticBound(ScoreDirector<?> scoreDirector, InnerScore<Score_> score) In 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.- 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
InnerScore<Score_> calculatePessimisticBound(ScoreDirector<?> scoreDirector, InnerScore<Score_> score) In 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.- 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:
-