问题:考虑M台机器上n个作业的调度问题,其中每个作业我有一个处理时间p i 并给出利润g i (t)如果在时间t完成。所有作业在时间0释放。所有g i (t)都是非递增函数。为简单起见,我们可以假设机器不是先发制人的。
对于M = 1并且线性减少利润函数。使用贪婪算法可以在O(n)中解决这个问题。但对于一般功能,它是NP完全的。
我对一般情况感兴趣。请给我任何关于问题的论文或资源材料的链接。我在互联网上搜索但没有找到任何有趣的M> 1,虽然之前有关于近似M = 1的界限的工作。
请注意,我不希望您解决此问题,但只需要解决类似问题的先前工作(如果有的话)。如果您有任何可以帮助的想法,请随时分享。
我想知道m机器和n个具有相同发布日期和一般非增加利润函数的作业对此问题的界限。我找到了一份指向这个方向的文件
http://arxiv.org/pdf/1008.4889v1.pdf
当所有作业具有相同的释放时间时,它们给出O(1)近似值。我想找到类似的问题文献以及他们用来解决问题的想法。
答案 0 :(得分:2)
您可以使用例如发送规则来启动“贪婪的解决方案”。最小化
克<子> I 子>(T <子> 0 子> + P <子> I 子>)/ P <子> I 子>
第一个空机器上的(我在所有尚未安排的作业上运行,t 0 是第一台机器为空的时间。)
然后可以使用像Simulated Annealing这样的元启发式方法来改进此解决方案。解决方案可以表示为作业序列的元组(每个机器的一个作业序列)。关键的一点是,允许哪些“移动”来改变解决方案。也许对于这个问题,人们可以通过两个基本动作找到已经很好的解决方案: