OptaPlanner distribution 6.1.0.Beta3

org.optaplanner.core.impl.score.buildin.hardsoftdouble
Class HardSoftDoubleScoreDefinition

java.lang.Object
  extended by org.optaplanner.core.impl.score.definition.AbstractScoreDefinition<S>
      extended by org.optaplanner.core.impl.score.definition.AbstractFeasibilityScoreDefinition<HardSoftDoubleScore>
          extended by org.optaplanner.core.impl.score.buildin.hardsoftdouble.HardSoftDoubleScoreDefinition
All Implemented Interfaces:
Serializable, FeasibilityScoreDefinition<HardSoftDoubleScore>, ScoreDefinition<HardSoftDoubleScore>

public class HardSoftDoubleScoreDefinition
extends AbstractFeasibilityScoreDefinition<HardSoftDoubleScore>

See Also:
Serialized Form

Constructor Summary
HardSoftDoubleScoreDefinition()
           
 
Method Summary
 HardSoftDoubleScore buildOptimisticBound(InitializingScoreTrend initializingScoreTrend, HardSoftDoubleScore score)
          Builds a Score which is equal or better than any other Score with more variables initialized (while the already variables don't change).
 HardSoftDoubleScore buildPessimisticBound(InitializingScoreTrend initializingScoreTrend, HardSoftDoubleScore score)
          Builds a Score which is equal or worse than any other Score with more variables initialized (while the already variables don't change).
 HardSoftDoubleScoreHolder buildScoreHolder(boolean constraintMatchEnabled)
          Used by DroolsScoreDirector.
 double calculateFeasibilityTimeGradient(HardSoftDoubleScore startScore, HardSoftDoubleScore score)
          Calculates time gradient for feasible score.
 double calculateTimeGradient(HardSoftDoubleScore startScore, HardSoftDoubleScore endScore, HardSoftDoubleScore score)
          See explanation in Termination.calculateSolverTimeGradient(DefaultSolverScope).
 double getHardScoreTimeGradientWeight()
           
 int getLevelCount()
           
 Class<HardSoftDoubleScore> getScoreClass()
          Returns the Class of the actual Score implementation
 HardSoftDoubleScore parseScore(String scoreString)
          Parses the String and returns a Score.
 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, ...
 
Methods inherited from class org.optaplanner.core.impl.score.definition.AbstractScoreDefinition
formatScore
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.optaplanner.core.impl.score.definition.ScoreDefinition
formatScore
 

Constructor Detail

HardSoftDoubleScoreDefinition

public HardSoftDoubleScoreDefinition()
Method Detail

getHardScoreTimeGradientWeight

public double getHardScoreTimeGradientWeight()

setHardScoreTimeGradientWeight

public 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, ...

Parameters:
hardScoreTimeGradientWeight - 0.0 <= hardScoreTimeGradientWeight <= 1.0

getLevelCount

public int getLevelCount()
Returns:
at least 1

getScoreClass

public Class<HardSoftDoubleScore> getScoreClass()
Description copied from interface: ScoreDefinition
Returns the Class of the actual Score implementation

Returns:
never null

parseScore

public HardSoftDoubleScore parseScore(String scoreString)
Description copied from interface: ScoreDefinition
Parses the String and returns a Score.

Parameters:
scoreString - never null
Returns:
never null
See Also:
ScoreDefinition.formatScore(Score)

calculateTimeGradient

public double calculateTimeGradient(HardSoftDoubleScore startScore,
                                    HardSoftDoubleScore endScore,
                                    HardSoftDoubleScore score)
Description copied from interface: ScoreDefinition
See explanation in Termination.calculateSolverTimeGradient(DefaultSolverScope).

Parameters:
startScore - never null
endScore - never null
score - never null
Returns:
between 0.0 and 1.0

buildScoreHolder

public HardSoftDoubleScoreHolder buildScoreHolder(boolean constraintMatchEnabled)
Description copied from interface: ScoreDefinition
Used by DroolsScoreDirector.

Parameters:
constraintMatchEnabled - true if ScoreHolder.isConstraintMatchEnabled() should be true
Returns:
never null

buildOptimisticBound

public HardSoftDoubleScore buildOptimisticBound(InitializingScoreTrend initializingScoreTrend,
                                                HardSoftDoubleScore score)
Description copied from interface: ScoreDefinition
Builds a Score which is equal or better than any other Score with more variables initialized (while the already variables don't change).

Parameters:
initializingScoreTrend - never null, with InitializingScoreTrend.getLevelCount() equal to ScoreDefinition.getLevelCount().
score - never null
Returns:
never null

buildPessimisticBound

public HardSoftDoubleScore buildPessimisticBound(InitializingScoreTrend initializingScoreTrend,
                                                 HardSoftDoubleScore score)
Description copied from interface: ScoreDefinition
Builds a Score which is equal or worse than any other Score with more variables initialized (while the already variables don't change).

Parameters:
initializingScoreTrend - never null, with InitializingScoreTrend.getLevelCount() equal to ScoreDefinition.getLevelCount().
score - never null
Returns:
never null

calculateFeasibilityTimeGradient

public double calculateFeasibilityTimeGradient(HardSoftDoubleScore startScore,
                                               HardSoftDoubleScore score)
Description copied from interface: FeasibilityScoreDefinition
Calculates time gradient for feasible score. For further details, see explanation in Termination#calculateSolverTimeGradient(DefaultSolverScope).

Parameters:
startScore - never null
Returns:
time gradient between 0.0 and 1.0

OptaPlanner distribution 6.1.0.Beta3

Copyright © 2006-2014 JBoss by Red Hat. All Rights Reserved.