我有一个任务Z,只能在 任务X或之后完成 任务Y完成。另外:
%任务Z的长度取决于X或Y中的哪一个完成:
%如果任务X完成,任务Z需要4个小时
%如果任务Y完成,任务Z需要7个小时
%任务X需要5个小时才能完成
%任务Y需要3个小时才能完成
%任务X和任务Y是独占的:你不能两者兼顾(但那是 可能无关紧要,因为那永远不会是最优的)
问题:我能完成Z任务最快的是什么?
在这种情况下,答案显然是9小时(X然后是Z),但是我的真实 问题有很多像这样的情况。
taskjuggler可以帮帮我吗?还有其他工具吗?附加说明:
%这是“旅行商问题”的延伸,因此 NP难问题。我很满意一个很好但非最佳的解决方案。
%在实际问题中,有些任务是“里程碑”,有一个 非负值。我的目标是最大化这些的总和 值。但是,我很乐意解决最短时间 问题首先。另外,所有值都可以相等 里程碑,简化问题。
注意:由于Mathematica具有快速(但非最佳)解决TravelingSalesman问题的功能,因此将其添加为标记。
答案 0 :(得分:0)
你应该研究动态编程。基本上,您将重用子问题的解决方案来为您的整个问题构建解决方案。您可以在Mathematica或大多数编程语言中执行此操作。