optaplanner-core/src/main/java/org/optaplanner/core/api/score/buildin/hardmediumsoftbigdecimal/HardMediumSoftBigDecimalScoreHolder.java
public void penalize(RuleContext kcontext, BigDecimal hardWeightMultiplier, BigDecimal mediumWeightMultiplier, BigDecimal softWeightMultiplier) {
        reward(kcontext, hardWeightMultiplier.negate(), mediumWeightMultiplier.negate(), softWeightMultiplier.negate());
    }
public void penalize(RuleContext kcontext, BigDecimal hardWeightMultiplier, BigDecimal mediumWeightMultiplier, BigDecimal softWeightMultiplier) {
        reward(kcontext, hardWeightMultiplier.negate(), mediumWeightMultiplier.negate(), softWeightMultiplier.negate());
    }
Penalize a match by the {@link ConstraintWeight} negated and multiplied with the specific weightMultiplier per score level.
Slower than {@link #penalize(RuleContext, BigDecimal)}.
@param kcontext never null, the magic variable in DRL
@param hardWeightMultiplier at least 0
@param mediumWeightMultiplier at least 0
@param softWeightMultiplier at least 0