Package org.optaplanner.core.impl.score
Class DefaultScoreManager<Solution_>
- java.lang.Object
-
- org.optaplanner.core.impl.score.DefaultScoreManager<Solution_>
-
- Type Parameters:
Solution_- the solution type, the class with thePlanningSolutionannotation
- All Implemented Interfaces:
ScoreManager<Solution_>
public class DefaultScoreManager<Solution_> extends Object implements ScoreManager<Solution_>
-
-
Constructor Summary
Constructors Constructor Description DefaultScoreManager(ScoreDirectorFactory<Solution_> scoreDirectorFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringexplainScore(Solution_ solution)Returns a diagnostic text that explains the solution through theConstraintMatchAPI to identify which constraints or planning entities cause that score quality.ScoreDirectorFactory<Solution_>getScoreDirectorFactory()ScoreupdateScore(Solution_ solution)
-
-
-
Constructor Detail
-
DefaultScoreManager
public DefaultScoreManager(ScoreDirectorFactory<Solution_> scoreDirectorFactory)
-
-
Method Detail
-
getScoreDirectorFactory
public ScoreDirectorFactory<Solution_> getScoreDirectorFactory()
-
updateScore
public Score updateScore(Solution_ solution)
Description copied from interface:ScoreManager- Specified by:
updateScorein interfaceScoreManager<Solution_>- Parameters:
solution- never null
-
explainScore
public String explainScore(Solution_ solution)
Description copied from interface:ScoreManagerReturns a diagnostic text that explains the solution through theConstraintMatchAPI to identify which constraints or planning entities cause that score quality. In case of aninfeasiblesolution, this can help diagnose the cause of that.Do not parse this string. Instead, to provide this information in a UI or a service, use
SolverFactory.getScoreDirectorFactory()to retrieveScoreDirector.getConstraintMatchTotalMap()andScoreDirector.getIndictmentMap()and convert those into a domain specific API.This method is thread-safe.
- Specified by:
explainScorein interfaceScoreManager<Solution_>- Returns:
- null if
ScoreManager.updateScore(Object)returns null with the same solution - See Also:
ScoreDirector.explainScore()
-
-