Interface BendableBigDecimalScoreHolder
-
- All Superinterfaces:
ScoreHolder<BendableBigDecimalScore>
- All Known Implementing Classes:
BendableBigDecimalScoreHolderImpl
public interface BendableBigDecimalScoreHolder extends ScoreHolder<BendableBigDecimalScore>
- See Also:
BendableBigDecimalScore
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddHardConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, int hardLevel, BigDecimal weight)voidaddMultiConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal[] hardWeights, BigDecimal[] softWeights)voidaddSoftConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, int softLevel, BigDecimal weight)intgetHardLevelsSize()intgetSoftLevelsSize()voidimpactScore(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier)voidpenalize(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier)Penalize a match by theConstraintWeightnegated and multiplied with the weightMultiplier for all score levels.voidpenalize(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal[] hardWeightsMultiplier, BigDecimal[] softWeightsMultiplier)Penalize a match by theConstraintWeightnegated and multiplied with the specific weightMultiplier per score level.voidreward(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier)Reward a match by theConstraintWeightmultiplied with the weightMultiplier for all score levels.voidreward(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal[] hardWeightsMultiplier, BigDecimal[] softWeightsMultiplier)Reward a match by theConstraintWeightmultiplied 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, BigDecimal weightMultiplier)Penalize a match by theConstraintWeightnegated 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, BigDecimal[] hardWeightsMultiplier, BigDecimal[] softWeightsMultiplier)Penalize a match by theConstraintWeightnegated and multiplied with the specific weightMultiplier per score level. Slower thanpenalize(RuleContext, BigDecimal).- 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, BigDecimal weightMultiplier)Reward a match by theConstraintWeightmultiplied 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, BigDecimal[] hardWeightsMultiplier, BigDecimal[] softWeightsMultiplier)Reward a match by theConstraintWeightmultiplied with the specific weightMultiplier per score level. Slower thanreward(RuleContext, BigDecimal).- 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, BigDecimal weightMultiplier)
-
addHardConstraintMatch
void addHardConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, int hardLevel, BigDecimal weight)- Parameters:
kcontext- never null, the magic variable in DRLhardLevel-0 <= hardLevel <getHardLevelsSize(). ThescoreLevelishardLevelfor hard levels andsoftLevel + hardLevelSizefor soft levels.weight- never null, higher is better, negative for a penalty, positive for a reward
-
addSoftConstraintMatch
void addSoftConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, int softLevel, BigDecimal weight)- Parameters:
kcontext- never null, the magic variable in DRLsoftLevel-0 <= softLevel <getSoftLevelsSize(). ThescoreLevelishardLevelfor hard levels andsoftLevel + hardLevelSizefor soft levels.weight- never null, higher is better, negative for a penalty, positive for a reward
-
addMultiConstraintMatch
void addMultiConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal[] hardWeights, BigDecimal[] softWeights)- Parameters:
kcontext- never null, the magic variable in DRLhardWeights- never null, array of lengthgetHardLevelsSize(), does not contain any nullssoftWeights- never null, array of lengthgetSoftLevelsSize(), does not contain any nulls
-
-