Я пытаюсь смоделировать проблему с помощью OptaPlanner, но не могу найти моделирование. (Я начинаю с OptaPlanner).
Моя проблема заключается в следующем:
- У меня есть x номеров объектов с именем
Process
в качестве ввода - Я хочу сгруппировать
Process
в неопределенные числа (назовем его y) из Group
. - У меня есть z критериев для группировки в качестве ввода
Я хочу иметь минимальное число Group
с максимальным числом Process
в каждом Group
и все Process
одного и того же Group
совместимы (по критериям).
Ниже приведено несколько примеров критериев:
Process
имеет поле name
, ограничение может быть Process must have name starting with 'a'
Process
имеет поле code
, ограничение может быть Process must have same code
Process
имеет поля dateMin
и dateMax
, ограничение может быть dateMin and dateMax overlap between Process
Пример: у меня есть 5 Process
- P1 (name = «ab», код = 1)
- P2 (имя = «a c», код = 2)
- P3 (имя = «ad», код = 1)
- P4 (имя = "ba", код = 1)
- P5 (имя = "ca", код = 3)
Я хочу т o рассчитать оценку для следующей комбинации, используя приведенные выше примеры критериев (P1, P2, P3), (P1, P3, P4), (P5). Все остальные комбинации должны быть исключены как несовместимые
. Есть ли способ сделать это с помощью OptaPlanner. Какой подход я должен изучить, чтобы попытаться решить мою проблему.