OptaPlanner distribution 6.1.0.Beta3

org.optaplanner.core.impl.score.buildin.hardmediumsoftlong
Class HardMediumSoftLongScoreDefinition

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

public class HardMediumSoftLongScoreDefinition
extends AbstractFeasibilityScoreDefinition<HardMediumSoftLongScore>

See Also:
Serialized Form

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

Constructor Detail

HardMediumSoftLongScoreDefinition

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

Returns:
never null

parseScore

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