Steven S. Skiena在他的《算法设计手册》一书中提出了以下问题:
现在考虑以下调度问题。想象一下,您是一个需求量很大的演员,他收到了在正在开发的n 个不同电影项目中出演的提议。每个优惠都在拍摄的第一天和最后一天指定。要接受这份工作,您必须承诺在整个期间都有空。因此,您不能同时接受间隔重叠的两个工作。
对于像你这样的艺术家来说,接受工作的标准很明确:你想尽可能多地赚钱。因为这些电影中的每部电影都为每部电影支付相同的费用,这意味着您寻求尽可能多的工作(间隔),这样它们中的任何一个都不会相互冲突。
例如,考虑图 1.5 [上图] 中的可用项目。我们最多可以出演四部电影,即“离散”数学、编程挑战、计算赌注,以及停止状态或施泰纳树中的一部。
您(或您的代理)必须解决以下算法调度问题:
问题:电影调度问题
输入:线上的一组n 个区间。
输出:可以从I中选择的相互不重叠区间的最大子集是多少?
我想知道,这是 TSP 的一个实例(也许是一个简化的实例)?