|
OptaPlanner core 6.2.0.Beta2 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface Score<S extends Score>
A Score is result of the score function (AKA fitness function) on a single possible solution.
Implementations must be immutable. Implementations are allowed to optionally implement Pareto comparison and therefore slightly violate the transitive requirement ofComparable.compareTo(Object).
An implementation must extend AbstractScore to ensure backwards compatibility in future versions.
AbstractScore,
HardSoftScore| Method Summary | |
|---|---|
S |
add(S augment)
Returns a Score whose value is (this + augment). |
S |
divide(double divisor)
Returns a Score whose value is (this / divisor). |
boolean |
isCompatibleArithmeticArgument(Score otherScore)
|
S |
multiply(double multiplicand)
Returns a Score whose value is (this * multiplicand). |
S |
negate()
Returns a Score whose value is (- this). |
S |
power(double exponent)
Returns a Score whose value is (this ^ exponent). |
S |
subtract(S subtrahend)
Returns a Score whose value is (this - subtrahend). |
Number[] |
toLevelNumbers()
Returns an array of numbers representing the Score. |
| Methods inherited from interface java.lang.Comparable |
|---|
compareTo |
| Method Detail |
|---|
S add(S augment)
augment - value to be added to this Score
S subtract(S subtrahend)
subtrahend - value to be subtracted from this Score
S multiply(double multiplicand)
Math.floor(double).
/> If the implementation has a scale/precision, then the unspecified scale/precision of the double multiplicand should have no impact on the returned scale/precision.
multiplicand - value to be multiplied by this Score.
S divide(double divisor)
Math.floor(double).
/> If the implementation has a scale/precision, then the unspecified scale/precision of the double divisor should have no impact on the returned scale/precision.
divisor - value by which this Score is to be divided
S power(double exponent)
Math.floor(double).
/> If the implementation has a scale/precision, then the unspecified scale/precision of the double exponent should have no impact on the returned scale/precision.
exponent - value by which this Score is to be powered
S negate()
Number[] toLevelNumbers()
Math.floor(double).
The length of the returned array must be stable for a specific Score implementation.
For example: -0hard/-7soft returns new int{-0, -7}
boolean isCompatibleArithmeticArgument(Score otherScore)
otherScore - never null
add(Score), subtract(Score)
and Comparable.compareTo(Object).
|
OptaPlanner core 6.2.0.Beta2 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||