OptaPlanner core 6.1.0.Beta2

org.optaplanner.core.impl.score.buildin.hardmediumsoft
Class HardMediumSoftScoreDefinition

java.lang.Object
  extended by org.optaplanner.core.impl.score.definition.AbstractScoreDefinition<HardMediumSoftScore>
      extended by org.optaplanner.core.impl.score.buildin.hardmediumsoft.HardMediumSoftScoreDefinition
All Implemented Interfaces:
Serializable, ScoreDefinition<HardMediumSoftScore>

public class HardMediumSoftScoreDefinition
extends AbstractScoreDefinition<HardMediumSoftScore>

See Also:
Serialized Form

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

Constructor Detail

HardMediumSoftScoreDefinition

public HardMediumSoftScoreDefinition()
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

getMediumScoreTimeGradientWeight

public double getMediumScoreTimeGradientWeight()

setMediumScoreTimeGradientWeight

public void setMediumScoreTimeGradientWeight(double mediumScoreTimeGradientWeight)
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:
mediumScoreTimeGradientWeight - 0.0 <= hardScoreTimeGradientWeight <= 1.0

getLevelCount

public int getLevelCount()
Returns:
at least 1

getScoreClass

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

Returns:
never null

parseScore

public HardMediumSoftScore 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(HardMediumSoftScore startScore,
                                    HardMediumSoftScore endScore,
                                    HardMediumSoftScore 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 HardMediumSoftScoreHolder 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 HardMediumSoftScore buildOptimisticBound(InitializingScoreTrend initializingScoreTrend,
                                                HardMediumSoftScore 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 HardMediumSoftScore buildPessimisticBound(InitializingScoreTrend initializingScoreTrend,
                                                 HardMediumSoftScore 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

OptaPlanner core 6.1.0.Beta2

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