У меня есть задача Z, которую можно выполнить только после того, как либо задача X, либо задача Y завершена.Также:
% Продолжительность задачи Z зависит от того, какой из X или Y выполнен:
%. Если задача X выполнена, задача Z занимает 4 часа
%. Еслизадача Y завершена, задача Z занимает 7 часов
% Задача X занимает 5 часов для завершения
% Задача Y занимает 3 часа для завершения
% Задача X и задача Yисключительны: вы не можете сделать и то, и другое (но это, вероятно, не имеет значения, поскольку это никогда не будет оптимальным)
Вопрос: как быстро я могу выполнить задачу Z?
В этом случае ответ, очевидно, составляет 9 часов (X, а затем Z), но моя настоящая проблема имеет много подобных случаев.
Может ли Taskjuggler помочь мне?Может другой инструмент?Дополнительные примечания:
% Это расширение «проблемы коммивояжера», и, следовательно, NP-hard.Я был бы счастлив с хорошим, но не оптимальным решением.
% В реальной задаче некоторые задачи являются «вехами», которые имеют неотрицательное значение.Моя цель - максимизировать сумму этих значений.Тем не менее, я более чем рад решить проблему минимального времени в первую очередь.Кроме того, значения могут быть одинаковыми для всех этапов, что упрощает задачу.
Примечание: поскольку в Mathematica есть функция, позволяющая быстро (но не оптимально) решить проблему TravelingSalesman, добавив ее в качестве тега.