public class HardSoftScoreDefinition extends AbstractScoreDefinition<HardSoftScore>
Constructor and Description |
---|
HardSoftScoreDefinition() |
divide, divide, divide, divide, formatScore, getInitLabel, getLevelLabels, getLevelsSize, isCompatibleArithmeticArgument, sanitize, sanitize, sanitize, sanitize, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
isNegativeOrZero, isPositiveOrZero
public int getFeasibleLevelsSize()
ScoreDefinition
Score.toLevelNumbers()
.
that are used to determine Score.isFeasible()
.ScoreDefinition.getLevelsSize()
public Class<HardSoftScore> getScoreClass()
ScoreDefinition
Class
of the actual Score
implementation.
For example: returns HardSoftScore.class
on HardSoftScoreDefinition
.public HardSoftScore getZeroScore()
ScoreDefinition
public HardSoftScore getOneSoftestScore()
ScoreDefinition
public HardSoftScore parseScore(String scoreString)
ScoreDefinition
scoreString
- never nullScoreDefinition.formatScore(Score)
,
ScoreUtils.parseScore(Class, String)
public HardSoftScore fromLevelNumbers(int initScore, Number[] levelNumbers)
ScoreDefinition
Score.toLevelNumbers()
.initScore
- <= 0
, managed by OptaPlanner, needed as a parameter in the Score
's creation
method, see Score.getInitScore()
levelNumbers
- never nullpublic HardSoftScoreInliner buildScoreInliner(boolean constraintMatchEnabled)
ScoreDefinition
BavetConstraintFactory
constraintMatchEnabled
- true if ScoreDirector.isConstraintMatchEnabled()
should be truepublic ScoreHolder buildScoreHolder(boolean constraintMatchEnabled)
ScoreDefinition
DroolsScoreDirector
.constraintMatchEnabled
- true if ScoreDirector.isConstraintMatchEnabled()
should be truepublic HardSoftScore buildOptimisticBound(InitializingScoreTrend initializingScoreTrend, HardSoftScore score)
ScoreDefinition
Score
which is equal or better than any other Score
with more variables initialized
(while the already variables don't change).initializingScoreTrend
- never null, with InitializingScoreTrend.getLevelsSize()
equal to ScoreDefinition.getLevelsSize()
.score
- never null, with Score.getInitScore()
0
.public HardSoftScore buildPessimisticBound(InitializingScoreTrend initializingScoreTrend, HardSoftScore score)
ScoreDefinition
Score
which is equal or worse than any other Score
with more variables initialized
(while the already variables don't change).initializingScoreTrend
- never null, with InitializingScoreTrend.getLevelsSize()
equal to ScoreDefinition.getLevelsSize()
.score
- never null, with Score.getInitScore()
0
public HardSoftScore divideBySanitizedDivisor(HardSoftScore dividend, HardSoftScore divisor)
ScoreDefinition
Score
whose every level is the result of dividing the matching levels in this and the divisor.
When rounding is needed, it is floored (as defined by Math.floor(double)
).
If any of the levels in the divisor are equal to zero, the method behaves as if they were equal to one instead.
divisor
- value by which this Score is to be dividedCopyright © 2006–2021 JBoss by Red Hat. All rights reserved.