Проблема. У меня есть n заданий, которые нужно запланировать за P секунд на неограниченном количестве машин с зависимостями между заданиями, т.е. для каждого задания есть набор заданий, которые должны быть запланированы только после его завершения. Прибыль от планирования i th задания за j th секунду на любой машине равна f (i, j), что положительно.
И моя цель - максимизировать общую прибыль, планируя каждое задание ровно один раз не более чем за P секунд.
Мы можем предположить, что все задания всегда можно запланировать за P секунд.
Все заранее известно т.е. проблема оффлайн.
Также 0 ‹= f (i, j)‹ = B. для всех i, j.
а количество зависимостей равно O (n).
Эта проблема проста? [может быть из-за конечных ограничений]
Мой подход
Для простоты предположим, что для работы ее прибыль не зависит от времени.
То есть f (i, j) не зависит от j для всех i и зависит только от i.
Тогда любой топологический порядок, который умещается в P секунд, будет работать.
Если нет зависимости, то мы также выбираем время получения максимальной прибыли для каждой работы, и это тоже легко.
Но проблема в том, что прибыль от работы меняется со временем в зависимости от зависимостей, в этом случае я не могу придумать какой-либо общий алгоритм.
У меня проблемы с зависимостями между заданиями. Есть ли в сети какие-либо ресурсы для алгоритмов планирования зависимых единичных задач?
Пожалуйста, поделитесь любой идеей, которая может помочь ...
Обновление: я добавил границы для различных параметров, поскольку они могут потребоваться для анализа проблемы.