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 void
addHardConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, int hardLevel, BigDecimal weight)
void
addMultiConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal[] hardWeights, BigDecimal[] softWeights)
void
addSoftConstraintMatch(org.kie.api.runtime.rule.RuleContext kcontext, int softLevel, BigDecimal weight)
int
getHardLevelsSize()
int
getSoftLevelsSize()
void
impactScore(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal weightMultiplier)
void
penalize(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal 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, BigDecimal[] hardWeightsMultiplier, BigDecimal[] 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, BigDecimal weightMultiplier)
Reward a match by theConstraintWeight
multiplied with the weightMultiplier for all score levels.void
reward(org.kie.api.runtime.rule.RuleContext kcontext, BigDecimal[] hardWeightsMultiplier, BigDecimal[] 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, BigDecimal 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, BigDecimal[] hardWeightsMultiplier, BigDecimal[] softWeightsMultiplier)
Penalize a match by theConstraintWeight
negated 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 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, BigDecimal[] hardWeightsMultiplier, BigDecimal[] softWeightsMultiplier)
Reward a match by theConstraintWeight
multiplied 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()
. ThescoreLevel
ishardLevel
for hard levels andsoftLevel + hardLevelSize
for 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()
. ThescoreLevel
ishardLevel
for hard levels andsoftLevel + hardLevelSize
for 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
-
-