Я искал решение проблемы, которая оказалась более необычной, чем я думал изначально. Optaplanner выглядит многообещающе, но, будучи относительно неопытным с Java, я хотел выяснить, возможно ли это полностью, прежде чем погрузиться в него.
Я пытаюсь запланировать задачи для n сотрудников. Ключевое отличие здесь в том, что цель состоит в том, чтобы все сотрудники были заняты в любой момент времени. Время, необходимое для выполнения задач, очень второстепенно. Это формирует проблему упаковки контейнеров / работы в цеху со следующими вариациями:
- 1-мерный
- «Взаимосвязь» между задачами. например одна задача может зависеть от завершения другой перед ее началом, и эта задача может быть приписана другому сотруднику
- Каждую задачу можно приписать только определенным людям
- Минимальное значение по ячейкам в любой момент времени должно быть максимальным.
Исходя из этого, я думаю, что входными данными, которые вам понадобятся для задачи, будут «самое раннее время начала», «самое позднее время завершения», «продолжительность», «ссылки на другие задачи», «подходящие сотрудники». Затем задачи должны упасть в каждую из ящиков персонала - как Тетрис!
Это явно поворот в примерах расписания, которые я читал. Как вы думаете, это достижимо? Есть ли какие-либо ранее существовавшие примеры, с которых вы бы порекомендовали начать (ни один из примеров в руководстве не соответствует полностью)?
Будем очень признательны за любые толчки в правильном направлении - извинения за слегка новичок в вопросе.