Package org.optaplanner.core.api.score
Interface ScoreManager<Solution_,Score_ extends Score<Score_>>
- Type Parameters:
Solution_
- the solution type, the class with thePlanningSolution
annotationScore_
- the actual score type
- All Known Implementing Classes:
DefaultScoreManager
Deprecated, for removal: This API element is subject to removal in a future version.
A stateless service to help calculate
Score
, ConstraintMatchTotal
, Indictment
, etc.
To create a ScoreManager, use create(SolverFactory)
.
These methods are thread-safe unless explicitly stated otherwise.
-
Method Summary
Modifier and TypeMethodDescriptionstatic <Solution_,
Score_ extends Score<Score_>>
ScoreManager<Solution_,Score_> create
(SolverFactory<Solution_> solverFactory) Deprecated, for removal: This API element is subject to removal in a future version.Uses aSolverFactory
to build aScoreManager
.static <Solution_,
Score_ extends Score<Score_>, ProblemId_>
ScoreManager<Solution_,Score_> create
(SolverManager<Solution_, ProblemId_> solverManager) Deprecated, for removal: This API element is subject to removal in a future version.Uses aSolverManager
to build aScoreManager
.default ScoreExplanation<Solution_,
Score_> Deprecated, for removal: This API element is subject to removal in a future version.As defined byexplain(Object)
, usingSolutionUpdatePolicy.UPDATE_ALL
.explain
(Solution_ solution, SolutionUpdatePolicy solutionUpdatePolicy) Deprecated, for removal: This API element is subject to removal in a future version.Calculates and retrievesConstraintMatchTotal
s andIndictment
s necessary for describing the quality of a particular solution.explainScore
(Solution_ solution) Deprecated, for removal: This API element is subject to removal in a future version.Calculates and retrievesConstraintMatchTotal
s andIndictment
s necessary for describing the quality of a particular solution.getSummary
(Solution_ solution) Deprecated, for removal: This API element is subject to removal in a future version.Returns a diagnostic text that explains the solution through theConstraintMatch
API to identify which constraints or planning entities cause that score quality.default Score_
Deprecated, for removal: This API element is subject to removal in a future version.As defined byupdate(Object, SolutionUpdatePolicy)
, usingSolutionUpdatePolicy.UPDATE_ALL
.update
(Solution_ solution, SolutionUpdatePolicy solutionUpdatePolicy) Deprecated, for removal: This API element is subject to removal in a future version.Updates the given solution according to theSolutionUpdatePolicy
.updateScore
(Solution_ solution) Deprecated, for removal: This API element is subject to removal in a future version.
-
Method Details
-
create
static <Solution_,Score_ extends Score<Score_>> ScoreManager<Solution_,Score_> create(SolverFactory<Solution_> solverFactory) Deprecated, for removal: This API element is subject to removal in a future version.Uses aSolverFactory
to build aScoreManager
.- Type Parameters:
Solution_
- the solution type, the class with thePlanningSolution
annotationScore_
- the actual score type- Parameters:
solverFactory
- never null- Returns:
- never null
-
create
static <Solution_,Score_ extends Score<Score_>, ScoreManager<Solution_,ProblemId_> Score_> create(SolverManager<Solution_, ProblemId_> solverManager) Deprecated, for removal: This API element is subject to removal in a future version.Uses aSolverManager
to build aScoreManager
.- Type Parameters:
Solution_
- the solution type, the class with thePlanningSolution
annotationScore_
- the actual score typeProblemId_
- the ID type of a submitted problem, such asLong
orUUID
- Parameters:
solverManager
- never null- Returns:
- never null
-
updateScore
Deprecated, for removal: This API element is subject to removal in a future version.- Parameters:
solution
- never null
-
getSummary
Deprecated, for removal: This API element is subject to removal in a future version.Returns a diagnostic text that explains the solution through theConstraintMatch
API to identify which constraints or planning entities cause that score quality. In case of aninfeasible
solution, 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
explainScore(Object)
to retrieveScoreExplanation.getConstraintMatchTotalMap()
andScoreExplanation.getIndictmentMap()
and convert those into a domain specific API.- Parameters:
solution
- never null- Returns:
- null if
updateScore(Object)
returns null with the same solution - Throws:
IllegalStateException
- when constraint matching is disabled or not supported by the underlying score calculator, such asEasyScoreCalculator
.
-
explainScore
Deprecated, for removal: This API element is subject to removal in a future version.Calculates and retrievesConstraintMatchTotal
s andIndictment
s necessary for describing the quality of a particular solution.- Parameters:
solution
- never null- Returns:
- never null
- Throws:
IllegalStateException
- when constraint matching is disabled or not supported by the underlying score calculator, such asEasyScoreCalculator
.
-
update
Deprecated, for removal: This API element is subject to removal in a future version.As defined byupdate(Object, SolutionUpdatePolicy)
, usingSolutionUpdatePolicy.UPDATE_ALL
. -
update
Deprecated, for removal: This API element is subject to removal in a future version.Updates the given solution according to theSolutionUpdatePolicy
.- Parameters:
solution
- never nullsolutionUpdatePolicy
- never null; if unsure, pickSolutionUpdatePolicy.UPDATE_ALL
- Returns:
- possibly null if already null and
SolutionUpdatePolicy
didn't cause its update - See Also:
-
explain
Deprecated, for removal: This API element is subject to removal in a future version.As defined byexplain(Object)
, usingSolutionUpdatePolicy.UPDATE_ALL
. -
explain
ScoreExplanation<Solution_,Score_> explain(Solution_ solution, SolutionUpdatePolicy solutionUpdatePolicy) Deprecated, for removal: This API element is subject to removal in a future version.Calculates and retrievesConstraintMatchTotal
s andIndictment
s necessary for describing the quality of a particular solution.- Parameters:
solution
- never nullsolutionUpdatePolicy
- never null; if unsure, pickSolutionUpdatePolicy.UPDATE_ALL
- Returns:
- never null
- Throws:
IllegalStateException
- when constraint matching is disabled or not supported by the underlying score calculator, such asEasyScoreCalculator
.- See Also:
-
SolutionManager
instead.