考虑一个问题,如果有多个任务,每个任务有自己存在时间段(任务之间的时间段可能有重复),求如果选择任务可以使收益最大化,计算收益时,每个任务段之间不能有重合。我们举个实际的例子,存在8个任务,如下图所示,图中标明了每个任务的时间段和收益。
这个问题我们这样考虑,从头到尾,当看到一个任务时,此时不考虑排在后面的任务,考虑在选择和不选择这个任务时各自的收益,然后选其中的最大值。
第1个任务:选择时收益为5,不选时则不做任何任务收益为0,。所以面对第一个任务时的最大收益为5;
第2个任务:选择时收益为1(自身收益+之前最近的一次任务的收益,选择1时,之前的任务时间重合,收益为0),不选择时,则是上一个任务的最大收益;
。。。。
我们可以写一个优化过程的公式,其中OPT代表optimizer(最佳方案),分成选择和不选择当前任务两种情况,如果选择的话,当前任务的收益和之前可以最近一次时间不冲突的任务的收益;不选择的话,上一次任务情况下的收益。