Я ищу библиотеку, которая поможет мне решить логическую проблему, основанную на ограничениях, где мне нужно запланировать несколько различных событий различной продолжительности. События имеют разные атрибуты, связанные с ними, и моя основная проблема заключается в том, что мне нужно кодировать «предпочтения» на основе этих атрибутов. Эти предпочтения не являются жесткими ограничениями, но я хотел бы максимизировать, насколько хорошо они удовлетворяются в решении. Существуют также различные предпочтения конкурирующих приоритетов.
Я рассмотрел несколько решателей ограничений (Sat4j, clasp, Glucose, GlueMiniSat и т. д.), но из того, что я видел, кажется, что все они имеют дело только с фиксированными ограничениями, и настройка предпочтений будет нетривиальной.
Меня не слишком волнует, на какой технологии/языке он написан — я с удовольствием напишу вокруг него обертку.