【问题标题】:Efficient scheduling jobs with declining profits on multiple machines高效调度作业,多台机器利润下降
【发布时间】:2015-12-27 03:28:18
【问题描述】:

问题:考虑 M 台机器上的 n 个作业的调度问题,其中每个作业 i 的处理时间为 pi,并给出利润 gi sub>(t) 如果在时间 t 之前完成。所有工作都在时间 0 释放。所有 gi(t) 都是非增函数。为简单起见,我们可以假设机器不是抢占式的。

对于 M=1 和线性递减的利润函数。这个问题可以使用贪心算法在 O(n) 内解决。但对于一般函数,它是 NP 完全的。

我对一般情况感兴趣。请给我任何有关该问题的论文或资源材料的链接。我在互联网上进行了搜索,但没有找到任何关于 M>1 的有趣信息,尽管之前有关于逼近 M=1 的界限的工作。

请注意,我不希望您解决这个问题,但只需要以前对类似问题的工作(如果有的话)。如果您有任何可以帮助的想法,请随时分享。

我想知道对于 m 台机器和 n 个具有相同发布日期和一般不增加利润函数的工作的问题的界限是什么。我在那个方向找到了一篇论文

http://arxiv.org/pdf/1008.4889v1.pdf

当所有作业具有相同的发布时间时,他们给出了 O(1) 近似值。我想为这个问题找到类似的文献以及他们用来解决问题的想法。

【问题讨论】:

    标签: algorithm job-scheduling maximize np-complete approximate


    【解决方案1】:

    您可以从“贪婪解决方案”开始,使用调度规则,例如最小化

    gi(t0+pi)/pi

    在第一台空机器上(我运行所有尚未计划的作业,t0 是第一台机器空的时间)。

    然后可以使用像Simulated Annealing 这样的元启发式改进这个解决方案。解决方案可以表示为作业序列的元组(每台机器一个作业序列)。一个关键点是,允许什么“移动”来改变解决方案。也许对于这个问题,我们可以通过两个基本动作找到已经很好的解决方案:

    • 从一台机器上拿一份工作,然后找一个新的地方插入它。
    • 在机器的作业序列中交换两个作业。

    【讨论】:

    • 你能证明上述解决方案的任何界限吗?我的意思是,是的,您的方法看起来很有希望(并且我猜它会非常有效)但是不会有时间复杂度的保证,以及最终输出与最佳解决方案相比有多好。我正在寻找更多关于这个问题的可证明界限。
    • @cc2 可能对于给定的起始解决方案(独立于 Meta Heuristics 的改进)可以给出一个界限,但我不知道。对于 Meta Heuristics,当然可以控制运行时间,但不能给出限制。这更像是一件实用的事情:精心设计的元启发式方法在实践中会非常成功。
    • 这是一种很好的工程方法,但它正在寻找已知问题的一般情况的最佳可证明边界。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-13
    • 1970-01-01
    相关资源
    最近更新 更多