OptaPlanner distribution 6.1.0.Beta3

org.optaplanner.core.impl.score.buildin.hardsoftbigdecimal
Class HardSoftBigDecimalScoreDefinition

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

public class HardSoftBigDecimalScoreDefinition
extends AbstractFeasibilityScoreDefinition<HardSoftBigDecimalScore>

See Also:
Serialized Form

Constructor Summary
HardSoftBigDecimalScoreDefinition()
           
 
Method Summary
 HardSoftBigDecimalScore buildOptimisticBound(InitializingScoreTrend initializingScoreTrend, HardSoftBigDecimalScore score)
          Builds a Score which is equal or better than any other Score with more variables initialized (while the already variables don't change).
 HardSoftBigDecimalScore buildPessimisticBound(InitializingScoreTrend initializingScoreTrend, HardSoftBigDecimalScore score)
          Builds a Score which is equal or worse than any other Score with more variables initialized (while the already variables don't change).
 HardSoftBigDecimalScoreHolder buildScoreHolder(boolean constraintMatchEnabled)
          Used by DroolsScoreDirector.
 double calculateFeasibilityTimeGradient(HardSoftBigDecimalScore startScore, HardSoftBigDecimalScore score)
          Calculates time gradient for feasible score.
 double calculateTimeGradient(HardSoftBigDecimalScore startScore, HardSoftBigDecimalScore endScore, HardSoftBigDecimalScore score)
          See explanation in Termination.calculateSolverTimeGradient(DefaultSolverScope).
 double getHardScoreTimeGradientWeight()
           
 int getLevelCount()
           
 Class<HardSoftBigDecimalScore> getScoreClass()
          Returns the Class of the actual Score implementation
 HardSoftBigDecimalScore 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

HardSoftBigDecimalScoreDefinition

public HardSoftBigDecimalScoreDefinition()
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<HardSoftBigDecimalScore> getScoreClass()
Description copied from interface: ScoreDefinition
Returns the Class of the actual Score implementation

Returns:
never null

parseScore

public HardSoftBigDecimalScore 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(HardSoftBigDecimalScore startScore,
                                    HardSoftBigDecimalScore endScore,
                                    HardSoftBigDecimalScore 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 HardSoftBigDecimalScoreHolder 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 HardSoftBigDecimalScore buildOptimisticBound(InitializingScoreTrend initializingScoreTrend,
                                                    HardSoftBigDecimalScore 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 HardSoftBigDecimalScore buildPessimisticBound(InitializingScoreTrend initializingScoreTrend,
                                                     HardSoftBigDecimalScore 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(HardSoftBigDecimalScore startScore,
                                               HardSoftBigDecimalScore 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.