Я только недавно начал учиться пользоваться OptaPlanner. Прошу прощения, если ниже приведено технически неточное описание.
В принципе, у меня проблема с назначением нескольких задач на несколько машин. Задачи имеют некоторые ограничения приоритета, так что некоторая задача не может быть запущена до завершения другой задачи. Кроме того, каждая задача может быть запущена только на определенных машинах. Цель состоит в том, чтобы минимизировать время выполнения всех этих задач.
Я смоделировал эту проблему с помощью шаблона «Сквозная временная цепочка», в котором каждая машина является якорем. Но проблема в том, что задачи на определенной машине могут не выполняться последовательно из-за ограничения приоритета. Например, задача B может быть запущена только после завершения задачи A, в то время как задачи A и B выполняются на машинах I и II соответственно. Это означает, что во время выполнения задачи A на машине I, если нет другой задачи, которая может быть запущена на машине II, машина II может оставаться в режиме ожидания только до тех пор, пока задача A не завершится, после чего на ней может быть запущена задача B. Этот вид разрыва не является детерминированным, так как он зависит от продолжительности Задачи A по отношению к этому примеру. Согласно руководству OptaPlanner, кажется, что для такого рода проблем следует ввести дополнительные пробелы в переменных планирования. Но сейчас мне трудно моделировать эту переменную разрыва. В общем, как интегрировать переменную разрыва в модель, используя временную цепочку? Было бы очень полезно какое-нибудь подробное объяснение или даже простой пример.
Более того, я на самом деле не уверен, подходит ли временной шаблон для моделирования такого рода задач назначения задач, или я просто использовал совершенно неподходящий метод. Может кто-нибудь пролить свет на это? Заранее спасибо.