OptaPlanner distribution 6.1.0.Beta1

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

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

public class HardMediumSoftLongScoreDefinition
extends AbstractScoreDefinition<HardMediumSoftLongScore>

See Also:
Serialized Form

Constructor Summary
HardMediumSoftLongScoreDefinition()
           
 
Method Summary
 ScoreHolder buildScoreHolder(boolean constraintMatchEnabled)
           
 double calculateTimeGradient(HardMediumSoftLongScore startScore, HardMediumSoftLongScore endScore, HardMediumSoftLongScore score)
          See explanation in Termination.calculateSolverTimeGradient(DefaultSolverScope).
 double getHardScoreTimeGradientWeight()
           
 double getMediumScoreTimeGradientWeight()
           
 HardMediumSoftLongScore getPerfectMaximumScore()
          The perfect maximum Score is the Score of which there is no better in any problem instance.
 HardMediumSoftLongScore getPerfectMinimumScore()
          The perfect minimum Score is the Score of which there is no worse in any problem instance.
 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, ...
 void setPerfectMaximumScore(HardMediumSoftLongScore perfectMaximumScore)
           
 void setPerfectMinimumScore(HardMediumSoftLongScore perfectMinimumScore)
           
 
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

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

getPerfectMaximumScore

public HardMediumSoftLongScore getPerfectMaximumScore()
Description copied from interface: ScoreDefinition
The perfect maximum 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.

Specified by:
getPerfectMaximumScore in interface ScoreDefinition<HardMediumSoftLongScore>
Overrides:
getPerfectMaximumScore in class AbstractScoreDefinition<HardMediumSoftLongScore>
Returns:
null if not supported

setPerfectMaximumScore

public void setPerfectMaximumScore(HardMediumSoftLongScore perfectMaximumScore)

getPerfectMinimumScore

public HardMediumSoftLongScore getPerfectMinimumScore()
Description copied from interface: ScoreDefinition
The perfect minimum 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.

Specified by:
getPerfectMinimumScore in interface ScoreDefinition<HardMediumSoftLongScore>
Overrides:
getPerfectMinimumScore in class AbstractScoreDefinition<HardMediumSoftLongScore>
Returns:
null if not supported

setPerfectMinimumScore

public void setPerfectMinimumScore(HardMediumSoftLongScore perfectMinimumScore)

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 ScoreHolder buildScoreHolder(boolean constraintMatchEnabled)
Parameters:
constraintMatchEnabled - true if ScoreHolder.isConstraintMatchEnabled() should be true
Returns:
never null

OptaPlanner distribution 6.1.0.Beta1

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