public void penalize(RuleContext kcontext, long[] hardWeightsMultiplier, long[] softWeightsMultiplier) {
        long[] negatedHardWeightsMultiplier = new long[hardScores.length];
        long[] negatedSoftWeightsMultiplier = new long[softScores.length];
        for (int i = 0; i < negatedHardWeightsMultiplier.length; i++) {
            negatedHardWeightsMultiplier[i] = -hardWeightsMultiplier[i];
        }
        for (int i = 0; i < negatedSoftWeightsMultiplier.length; i++) {
            negatedSoftWeightsMultiplier[i] = -softWeightsMultiplier[i];
        }
        reward(kcontext, negatedHardWeightsMultiplier, negatedSoftWeightsMultiplier);
    }
public void penalize(RuleContext kcontext, long[] hardWeightsMultiplier, long[] softWeightsMultiplier) {
        long[] negatedHardWeightsMultiplier = new long[hardScores.length];
        long[] negatedSoftWeightsMultiplier = new long[softScores.length];
        for (int i = 0; i < negatedHardWeightsMultiplier.length; i++) {
            negatedHardWeightsMultiplier[i] = -hardWeightsMultiplier[i];
        }
        for (int i = 0; i < negatedSoftWeightsMultiplier.length; i++) {
            negatedSoftWeightsMultiplier[i] = -softWeightsMultiplier[i];
        }
        reward(kcontext, negatedHardWeightsMultiplier, negatedSoftWeightsMultiplier);
    }
public void penalize ( RuleContext kcontext , long [ ] hardWeightsMultiplier , long [ ] softWeightsMultiplier ) { long [ ] negatedHardWeightsMultiplier = new long [ hardScores . length ] ; long [ ] negatedSoftWeightsMultiplier = new long [ softScores . length ] ; for ( int i = 0 ; i < negatedHardWeightsMultiplier . length ; i ++ ) { negatedHardWeightsMultiplier [ i ] = - hardWeightsMultiplier [ i ] ; } for ( int i = 0 ; i < negatedSoftWeightsMultiplier . length ; i ++ ) { negatedSoftWeightsMultiplier [ i ] = - softWeightsMultiplier [ i ] ; } reward ( kcontext , negatedHardWeightsMultiplier , negatedSoftWeightsMultiplier ) ; }
Penalize a match by the {@link ConstraintWeight} negated and multiplied with the specific weightMultiplier per score level.
Slower than {@link #penalize(RuleContext, long)}.
@param kcontext never null, the magic variable in DRL
@param hardWeightsMultiplier elements at least 0
@param softWeightsMultiplier elements at least 0
Penalize a match by the {