Class SimpleScoreDefinition
java.lang.Object
org.optaplanner.core.impl.score.definition.AbstractScoreDefinition<SimpleScore>
org.optaplanner.core.impl.score.buildin.SimpleScoreDefinition
- All Implemented Interfaces:
ScoreDefinition<SimpleScore>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuildOptimisticBound(InitializingScoreTrend initializingScoreTrend, SimpleScore score) buildPessimisticBound(InitializingScoreTrend initializingScoreTrend, SimpleScore score) divideBySanitizedDivisor(SimpleScore dividend, SimpleScore divisor) ReturnScorewhose every level is the result of dividing the matching levels in this and the divisor.fromLevelNumbers(int initScore, Number[] levelNumbers) The opposite ofScore.toLevelNumbers().intReturns the number of levels ofScore.toLevelNumbers().intReturns the length ofScore.toLevelNumbers()for everyScoreof this definition.Class<?>Return the type of number that the score implementation operates on.The score that represents the softest possible one.The score that represents zero.parseScore(String scoreString) Methods inherited from class org.optaplanner.core.impl.score.definition.AbstractScoreDefinition
divide, divide, divide, divide, formatScore, getInitLabel, getLevelLabels, isCompatibleArithmeticArgument, sanitize, sanitize, sanitize, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.optaplanner.core.impl.score.definition.ScoreDefinition
isNegativeOrZero, isPositiveOrZero
-
Constructor Details
-
SimpleScoreDefinition
public SimpleScoreDefinition()
-
-
Method Details
-
getLevelsSize
public int getLevelsSize()Description copied from interface:ScoreDefinitionReturns the length ofScore.toLevelNumbers()for everyScoreof this definition. For example: returns 2 onHardSoftScoreDefinition.- Specified by:
getLevelsSizein interfaceScoreDefinition<SimpleScore>- Overrides:
getLevelsSizein classAbstractScoreDefinition<SimpleScore>- Returns:
- at least 1
-
getFeasibleLevelsSize
public int getFeasibleLevelsSize()Description copied from interface:ScoreDefinitionReturns the number of levels ofScore.toLevelNumbers(). that are used to determineScore.isFeasible().- Returns:
- at least 0, at most
ScoreDefinition.getLevelsSize()
-
getScoreClass
Description copied from interface:ScoreDefinitionReturns theClassof the actualScoreimplementation. For example: returnsHardSoftScore.classonHardSoftScoreDefinition.- Returns:
- never null
-
getZeroScore
Description copied from interface:ScoreDefinitionThe score that represents zero.- Returns:
- never null
-
getOneSoftestScore
Description copied from interface:ScoreDefinitionThe score that represents the softest possible one.- Returns:
- never null
-
parseScore
Description copied from interface:ScoreDefinition- Parameters:
scoreString- never null- Returns:
- never null
- See Also:
-
fromLevelNumbers
Description copied from interface:ScoreDefinitionThe opposite ofScore.toLevelNumbers().- Parameters:
initScore-<= 0, managed by OptaPlanner, needed as a parameter in theScore's creation method, seeScore.initScore()levelNumbers- never null- Returns:
- never null
-
buildOptimisticBound
public SimpleScore buildOptimisticBound(InitializingScoreTrend initializingScoreTrend, SimpleScore score) Description copied from interface:ScoreDefinitionBuilds aScorewhich is equal or better than any otherScorewith more variables initialized (while the already variables don't change).- Parameters:
initializingScoreTrend- never null, withInitializingScoreTrend.getLevelsSize()equal toScoreDefinition.getLevelsSize().score- never null, withScore.initScore()0.- Returns:
- never null
-
buildPessimisticBound
public SimpleScore buildPessimisticBound(InitializingScoreTrend initializingScoreTrend, SimpleScore score) Description copied from interface:ScoreDefinitionBuilds aScorewhich is equal or worse than any otherScorewith more variables initialized (while the already variables don't change).- Parameters:
initializingScoreTrend- never null, withInitializingScoreTrend.getLevelsSize()equal toScoreDefinition.getLevelsSize().score- never null, withScore.initScore()0- Returns:
- never null
-
divideBySanitizedDivisor
Description copied from interface:ScoreDefinitionReturnScorewhose every level is the result of dividing the matching levels in this and the divisor. When rounding is needed, it is floored (as defined byMath.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 divided- Returns:
- this / divisor
-
getNumericType
Description copied from interface:ScoreDefinitionReturn the type of number that the score implementation operates on. Examples:- int.class for
SimpleScore - BigDecimal.class for
SimpleBigDecimalScore
- Returns:
- never null
- int.class for
-