Использовать оценку жестких / мягких ограничений одновременно в слюне / optaplanner

Можно ли использовать жесткие и мягкие оценки ограничений в части последствий правила, но одно из них имеет ненулевое значение. например

scoreHolder.addHardConstraintMatch(kcontext, $weight * isHard);
scoreHolder.addSoftConstraintMatch(kcontext, $weight * isSoft);

где isHard / isSoft один из них равен 1, а другой равен нулю.

Вышеупомянутое всегда принимало значение последнего выполненного оператора (который является мягким ограничением)


person Shadi Moadad    schedule 28.07.2015    source источник


Ответы (1)


Это известная проблема в OptaPlanner 6.2.0 и ниже. Проблема заключается в AbstractScoreHolder, потому что он принимает только идентификатор правила в качестве ключа, а не уровень оценки.

person Geoffrey De Smet    schedule 28.07.2015
comment
Начиная с версии 6.3.0.CR2 (optaplanner.org/download/releaseNotes/, скоро будет), OptaPlanner будет поддерживать множественные совпадения ограничений в части последствий правила Drools. См. issues.jboss.org/browse/PLANNER-284 для получения дополнительной информации. - person Ondrej Skopek; 21.08.2015