public class HardSoftScoreDefinition extends AbstractScoreDefinition<HardSoftScore>
Constructor and Description |
---|
HardSoftScoreDefinition() |
Modifier and Type | Method and Description |
---|---|
ScoreHolder |
buildScoreHolder(boolean constraintMatchEnabled) |
double |
calculateTimeGradient(HardSoftScore startScore,
HardSoftScore endScore,
HardSoftScore score)
See explanation in
Termination.calculateSolverTimeGradient(DefaultSolverScope) . |
double |
getHardScoreTimeGradientWeight() |
HardSoftScore |
getPerfectMaximumScore()
|
HardSoftScore |
getPerfectMinimumScore()
|
Class<HardSoftScore> |
getScoreClass()
|
Score |
parseScore(String scoreString)
|
void |
setHardScoreTimeGradientWeight(double hardScoreTimeGradientWeight)
It's recommended to use a number which can be exactly represented as a double,
such as 0.5, 0.25, 0.75, 0.125, ... but not 0.1, 0.2, ...
|
void |
setPerfectMaximumScore(HardSoftScore perfectMaximumScore) |
void |
setPerfectMinimumScore(HardSoftScore perfectMinimumScore) |
formatScore
public double getHardScoreTimeGradientWeight()
public void setHardScoreTimeGradientWeight(double hardScoreTimeGradientWeight)
hardScoreTimeGradientWeight
- 0.0 <= hardScoreTimeGradientWeight <= 1.0public HardSoftScore getPerfectMaximumScore()
ScoreDefinition
Score
is the Score
of which there is no better in any problem instance.
This doesn't mean that the current problem instance, or any problem instance for that matter,
could ever attain that Score
.
For example, most cases have a perfect maximum Score
of zero, as most use cases only have negative
constraints.getPerfectMaximumScore
in interface ScoreDefinition<HardSoftScore>
getPerfectMaximumScore
in class AbstractScoreDefinition<HardSoftScore>
public void setPerfectMaximumScore(HardSoftScore perfectMaximumScore)
public HardSoftScore getPerfectMinimumScore()
ScoreDefinition
Score
is the Score
of which there is no worse in any problem instance.
This doesn't mean that the current problem instance, or any problem instance for that matter,
could ever attain such a bad Score
.
For example, most cases have a perfect minimum Score
of negative infinity.getPerfectMinimumScore
in interface ScoreDefinition<HardSoftScore>
getPerfectMinimumScore
in class AbstractScoreDefinition<HardSoftScore>
public void setPerfectMinimumScore(HardSoftScore perfectMinimumScore)
public Class<HardSoftScore> getScoreClass()
ScoreDefinition
public Score parseScore(String scoreString)
ScoreDefinition
scoreString
- never nullScoreDefinition.formatScore(Score)
public double calculateTimeGradient(HardSoftScore startScore, HardSoftScore endScore, HardSoftScore score)
ScoreDefinition
Termination.calculateSolverTimeGradient(DefaultSolverScope)
.startScore
- never nullendScore
- never nullscore
- never nullpublic ScoreHolder buildScoreHolder(boolean constraintMatchEnabled)
constraintMatchEnabled
- true if ScoreHolder.isConstraintMatchEnabled()
should be trueCopyright © 2006-2014 JBoss by Red Hat. All Rights Reserved.