Project management 具有多个依赖项的taskjuggler,其中任务长度取决于以前的任务

Project management 具有多个依赖项的taskjuggler,其中任务长度取决于以前的任务,project-management,wolfram-mathematica,traveling-salesman,Project Management,Wolfram Mathematica,Traveling Salesman,我有一个任务Z,只能完成一次任务X或 任务Y已完成。此外: %任务Z的长度取决于完成X或Y中的哪一个: %如果任务X已完成,则任务Z需要4小时 %如果任务Y已完成,则任务Z需要7小时 %任务X需要5小时才能完成 %任务Y需要3小时才能完成 %任务X和任务Y是互斥的:你不能同时做这两件事(但那是唯一的) 可能与此无关,因为这永远不会是最优的) 问题:我能以最快的速度完成任务Z是什么 在这种情况下,答案显然是9小时(X然后Z),但我的真实时间是9小时 问题有很多这样的例子 魔术师能帮我吗?你能换一个

我有一个任务Z,只能完成一次任务X或 任务Y已完成。此外:

%任务Z的长度取决于完成X或Y中的哪一个:

%如果任务X已完成,则任务Z需要4小时

%如果任务Y已完成,则任务Z需要7小时

%任务X需要5小时才能完成

%任务Y需要3小时才能完成

%任务X和任务Y是互斥的:你不能同时做这两件事(但那是唯一的) 可能与此无关,因为这永远不会是最优的)

问题:我能以最快的速度完成任务Z是什么

在这种情况下,答案显然是9小时(X然后Z),但我的真实时间是9小时 问题有很多这样的例子

魔术师能帮我吗?你能换一个工具吗?补充说明:

%这是“旅行推销员问题”的延伸,因此 NP难。我很乐意找到一个好的但非最优的解决方案

%在实际问题中,有些任务是具有 非负值。我的目标是最大限度地利用这些因素的总和 价值观然而,我非常乐意解决最短时间的问题 问题第一。此外,这些值可能对所有对象都是相等的 里程碑,简化了问题


注:由于Mathematica有一个功能可以快速(但非最佳)解决TravelingSalesman问题,因此将其添加为标记。

您应该研究动态规划。基本上,您将重用子问题的解决方案来为整个问题构建解决方案。您可以用Mathematica或大多数编程语言来实现这一点

您应该研究动态规划。基本上,您将重用子问题的解决方案来为整个问题构建解决方案。您可以用Mathematica或大多数编程语言来实现这一点