У меня есть Система планирования собраний . Я минимизирую количество комнат, используемых в нем, следующим образом:
rule "minimize #rooms used"
when
$room : Room()
exists MeetingAssignment(room==$room, meeting!=null)
then scoreHolder.addSoftConstraintMatch(kcontext, -10);
end
, поэтому в итоге OptaPlanner скорее выберет go для комнаты, в которой уже назначено собрание, чем для свободного sh один.
Есть ли другой / лучший способ сделать это? Я объединяю много правил в бэкэнде - у меня нет правил "побочных эффектов" (обновлений и т. д. c) друг на друга, так что это выполнимо. и я хочу меньшее количество правил для быстродействия. я не вижу способа объединить это правило с другими.
есть идеи?
TIA.