Interface HardMediumSoftBigDecimalScoreHolder

    • Method Detail

      • penalize

        void penalize​(org.kie.api.runtime.rule.RuleContext kcontext,
                      BigDecimal weightMultiplier)
        Penalize a match by the ConstraintWeight negated and multiplied with the weightMultiplier for all score levels.
        Parameters:
        kcontext - never null, the magic variable in DRL
        weightMultiplier - at least 0
      • penalize

        void penalize​(org.kie.api.runtime.rule.RuleContext kcontext,
                      BigDecimal hardWeightMultiplier,
                      BigDecimal mediumWeightMultiplier,
                      BigDecimal softWeightMultiplier)
        Penalize a match by the ConstraintWeight negated and multiplied with the specific weightMultiplier per score level. Slower than penalize(RuleContext, BigDecimal).
        Parameters:
        kcontext - never null, the magic variable in DRL
        hardWeightMultiplier - at least 0
        mediumWeightMultiplier - at least 0
        softWeightMultiplier - at least 0
      • reward

        void reward​(org.kie.api.runtime.rule.RuleContext kcontext,
                    BigDecimal weightMultiplier)
        Reward a match by the ConstraintWeight multiplied with the weightMultiplier for all score levels.
        Parameters:
        kcontext - never null, the magic variable in DRL
        weightMultiplier - at least 0
      • reward

        void reward​(org.kie.api.runtime.rule.RuleContext kcontext,
                    BigDecimal hardWeightMultiplier,
                    BigDecimal mediumWeightMultiplier,
                    BigDecimal softWeightMultiplier)
        Reward a match by the ConstraintWeight multiplied with the specific weightMultiplier per score level. Slower than reward(RuleContext, BigDecimal).
        Parameters:
        kcontext - never null, the magic variable in DRL
        hardWeightMultiplier - at least 0
        mediumWeightMultiplier - at least 0
        softWeightMultiplier - 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,
                                    BigDecimal hardWeight)
        Add a hard constraint of specified weighting. This is typically used in Drools scoring to add a hard constraint match (negative value to indicate an infeasible solution).
        Parameters:
        kcontext - never null, the magic variable in DRL
        hardWeight - never null, higher is better, negative for a penalty, positive for a reward
      • addMediumConstraintMatch

        void addMediumConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext,
                                      BigDecimal mediumWeight)
        Add a medium level constraint of specified weighting. This is typically used in Drools scoring to add a medium priority constraint match.
        Parameters:
        kcontext - never null, the magic variable in DRL
        mediumWeight - never null, higher is better, negative for a penalty, positive for a reward
      • addSoftConstraintMatch

        void addSoftConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext,
                                    BigDecimal softWeight)
        Add a soft constraint match of specified weighting. This is typically used in Drools scoring to add a low priority constraint match.
        Parameters:
        kcontext - never null, the magic variable in DRL
        softWeight - never null, higher is better, negative for a penalty, positive for a reward
      • addMultiConstraintMatch

        void addMultiConstraintMatch​(org.kie.api.runtime.rule.RuleContext kcontext,
                                     BigDecimal hardWeight,
                                     BigDecimal mediumWeight,
                                     BigDecimal softWeight)
        Parameters:
        kcontext - never null, the magic variable in DRL
        hardWeight - never null, higher is better, negative for a penalty, positive for a reward
        mediumWeight - never null, higher is better, negative for a penalty, positive for a reward
        softWeight - never null, higher is better, negative for a penalty, positive for a reward