Interface BendableScoreHolder
-
- All Superinterfaces:
ScoreHolder<BendableScore>
- All Known Implementing Classes:
BendableScoreHolderImpl
public interface BendableScoreHolder extends ScoreHolder<BendableScore>
- See Also:
BendableScore
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addHardConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, int hardLevel, int weight)
void
addMultiConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, int[] hardWeights, int[] softWeights)
void
addSoftConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, int softLevel, int weight)
int
getHardLevelsSize()
int
getSoftLevelsSize()
void
impactScore(org.kie.api.runtime.rule.RuleContext kcontext, int weightMultiplier)
void
penalize(org.kie.api.runtime.rule.RuleContext kcontext, int weightMultiplier)
Penalize a match by theConstraintWeight
negated and multiplied with the weightMultiplier for all score levels.void
penalize(org.kie.api.runtime.rule.RuleContext kcontext, int[] hardWeightsMultiplier, int[] softWeightsMultiplier)
Penalize a match by theConstraintWeight
negated and multiplied with the specific weightMultiplier per score level.void
reward(org.kie.api.runtime.rule.RuleContext kcontext, int weightMultiplier)
Reward a match by theConstraintWeight
multiplied with the weightMultiplier for all score levels.void
reward(org.kie.api.runtime.rule.RuleContext kcontext, int[] hardWeightsMultiplier, int[] softWeightsMultiplier)
Reward a match by theConstraintWeight
multiplied with the specific weightMultiplier per score level.-
Methods inherited from interface org.optaplanner.core.api.score.holder.ScoreHolder
penalize, reward
-
-
-
-
Method Detail
-
getHardLevelsSize
int getHardLevelsSize()
-
getSoftLevelsSize
int getSoftLevelsSize()
-
penalize
void penalize(org.kie.api.runtime.rule.RuleContext kcontext, int weightMultiplier)
Penalize a match by theConstraintWeight
negated and multiplied with the weightMultiplier for all score levels.- Parameters:
kcontext
- never null, the magic variable in DRLweightMultiplier
- at least 0
-
penalize
void penalize(org.kie.api.runtime.rule.RuleContext kcontext, int[] hardWeightsMultiplier, int[] softWeightsMultiplier)
Penalize a match by theConstraintWeight
negated and multiplied with the specific weightMultiplier per score level. Slower thanpenalize(RuleContext, int)
.- Parameters:
kcontext
- never null, the magic variable in DRLhardWeightsMultiplier
- elements at least 0softWeightsMultiplier
- elements at least 0
-
reward
void reward(org.kie.api.runtime.rule.RuleContext kcontext, int weightMultiplier)
Reward a match by theConstraintWeight
multiplied with the weightMultiplier for all score levels.- Parameters:
kcontext
- never null, the magic variable in DRLweightMultiplier
- at least 0
-
reward
void reward(org.kie.api.runtime.rule.RuleContext kcontext, int[] hardWeightsMultiplier, int[] softWeightsMultiplier)
Reward a match by theConstraintWeight
multiplied with the specific weightMultiplier per score level. Slower thanreward(RuleContext, int)
.- Parameters:
kcontext
- never null, the magic variable in DRLhardWeightsMultiplier
- elements at least 0softWeightsMultiplier
- elements at least 0
-
impactScore
void impactScore(org.kie.api.runtime.rule.RuleContext kcontext, int weightMultiplier)
-
addHardConstraintMatch
void addHardConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, int hardLevel, int weight)
- Parameters:
kcontext
- never null, the magic variable in DRLhardLevel
-0 <= hardLevel <
getHardLevelsSize()
. ThescoreLevel
ishardLevel
for hard levels andsoftLevel + hardLevelSize
for soft levels.weight
- higher is better, negative for a penalty, positive for a reward
-
addSoftConstraintMatch
void addSoftConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, int softLevel, int weight)
- Parameters:
kcontext
- never null, the magic variable in DRLsoftLevel
-0 <= softLevel <
getSoftLevelsSize()
. ThescoreLevel
ishardLevel
for hard levels andsoftLevel + hardLevelSize
for soft levels.weight
- higher is better, negative for a penalty, positive for a reward
-
addMultiConstraintMatch
void addMultiConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, int[] hardWeights, int[] softWeights)
- Parameters:
kcontext
- never null, the magic variable in DRLhardWeights
- never null, array of lengthgetHardLevelsSize()
softWeights
- never null, array of lengthgetSoftLevelsSize()
-
-