具有多个所需运行时间的依赖作业/作业的加权间隔调度

独轮车男

间隔调度算法几乎基于按结束时间对作业进行排序,但是如果调度作业 A 意味着您必须调度作业 C,该怎么办?

例如,假设您正在尝试安排广播节目,节目 A 在周一上午 10 点至上午 11 点和下午 2 点至下午 3 点播放,但节目 B 在周一 1:30-2:30 播放?你不能只运行程序 A 的 10-11 部分。要么全有,要么全无。或者,假设该程序在周一、周三、周五运行,但每天的时间不同。

我玩过的想法:

最短路径算法,您可以同时遍历一周中的每一天的 7 个图形,每个图形进行排序以仅连接后面的程序。如果您在星期一选择程序 A,则您在所有日子都选择它,以此类推。如果程序需要在一天内运行两次,则此解决方案无法解决问题。

为 n 个程序生成 n × n 矩阵并检查每个程序与其他程序的兼容性。遍历一个图,其中每个程序仅与非冲突程序连接。有点坚持这个想法并完全寻找下一步或新想法。

艾伦

我刚刚在CS Stack Exchange上重新问了这个问题,因为这个问题很旧,并且接受的答案中的等效性有点脆弱。在这里重新发布我的答案以获得更高的知名度:

这相当于最大加权独立集问题——给定一个带有加权顶点的图,找到一个顶点子集,使得该子集中没有两个顶点在图中相邻,并且它们的权重之和被最大化。

解决问题的图是一种区间图,其中每个顶点代表一组相关区间,其权重是区间权重的总和。如果两个顶点的一个或多个间隔重叠,则在两个顶点之间绘制一条边。

我还没有确定这个公式是否易于处理。虽然这个问题是 NP-hard 问题,但我们知道对于某些类型的图可以有效地解决它,包括区间图,其中每个顶点代表一个区间。有关已知算法,请参阅独立集维基百科页面

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

发送到ExecutorService的作业的运行时间

来自分类Dev

在cron作业中运行时,Python脚本引发错误,但在其他时间没有其他错误

来自分类Dev

每次cron作业运行时都有新的日志文件

来自分类Dev

Spring-batch是否在整个作业运行时间内从数据源获取连接?

来自分类Dev

我在脚本中有错误,但仅当它作为cron作业运行时

来自分类Dev

在多个执行程序中运行时,火花作业被卡住

来自分类Dev

fastlane:从launchtl作业运行时找不到命令

来自分类Dev

HazelcastSerializationException:当Jet作业在多个群集上运行时

来自分类Dev

在运行时是否有更优雅的方式来访问作业编号?

来自分类Dev

Gitlab仅在先前的作业运行时才运行管道作业

来自分类Dev

如果您知道某项Cron作业的具体运行时间,该如何找到它?

来自分类Dev

发送到ExecutorService的作业的运行时间

来自分类Dev

每当cron作业无法运行时

来自分类Dev

SCHTASKS-如何创建具有最大运行时间的计划任务(无间隔)

来自分类Dev

在多个执行程序中运行时,火花作业被卡住

来自分类Dev

杀死运行时间超过20分钟的儿童作业

来自分类Dev

具有多个PageTransformer的ViewPager(运行时为PageTransformers)

来自分类Dev

作为cron作业运行时,lynx -dump的输出不同

来自分类Dev

作业运行时,Jenkins是否会进行“ SCM投票”?

来自分类Dev

创建具有更好运行时间的算法

来自分类Dev

带有sbt-assembly的Spark 2.0.0流作业缺少Scala运行时方法

来自分类Dev

运行调度程序以在上一个作业完成后的间隔执行作业

来自分类Dev

SQL,从日志表中获取平均作业运行时间

来自分类Dev

在运行时更改调度程序的时间间隔

来自分类Dev

Quartz 2.2.1,JMX 作业运行时总是-1?

来自分类Dev

在 .Net MVC 中在运行时创建和调度作业

来自分类Dev

作业运行时这些数据是否可用?

来自分类Dev

作业之间的 Firebase 作业调度程序间隔随时间增加

来自分类Dev

使用递归的加权作业调度

Related 相关文章

  1. 1

    发送到ExecutorService的作业的运行时间

  2. 2

    在cron作业中运行时,Python脚本引发错误,但在其他时间没有其他错误

  3. 3

    每次cron作业运行时都有新的日志文件

  4. 4

    Spring-batch是否在整个作业运行时间内从数据源获取连接?

  5. 5

    我在脚本中有错误,但仅当它作为cron作业运行时

  6. 6

    在多个执行程序中运行时,火花作业被卡住

  7. 7

    fastlane:从launchtl作业运行时找不到命令

  8. 8

    HazelcastSerializationException:当Jet作业在多个群集上运行时

  9. 9

    在运行时是否有更优雅的方式来访问作业编号?

  10. 10

    Gitlab仅在先前的作业运行时才运行管道作业

  11. 11

    如果您知道某项Cron作业的具体运行时间,该如何找到它?

  12. 12

    发送到ExecutorService的作业的运行时间

  13. 13

    每当cron作业无法运行时

  14. 14

    SCHTASKS-如何创建具有最大运行时间的计划任务(无间隔)

  15. 15

    在多个执行程序中运行时,火花作业被卡住

  16. 16

    杀死运行时间超过20分钟的儿童作业

  17. 17

    具有多个PageTransformer的ViewPager(运行时为PageTransformers)

  18. 18

    作为cron作业运行时,lynx -dump的输出不同

  19. 19

    作业运行时,Jenkins是否会进行“ SCM投票”?

  20. 20

    创建具有更好运行时间的算法

  21. 21

    带有sbt-assembly的Spark 2.0.0流作业缺少Scala运行时方法

  22. 22

    运行调度程序以在上一个作业完成后的间隔执行作业

  23. 23

    SQL,从日志表中获取平均作业运行时间

  24. 24

    在运行时更改调度程序的时间间隔

  25. 25

    Quartz 2.2.1,JMX 作业运行时总是-1?

  26. 26

    在 .Net MVC 中在运行时创建和调度作业

  27. 27

    作业运行时这些数据是否可用?

  28. 28

    作业之间的 Firebase 作业调度程序间隔随时间增加

  29. 29

    使用递归的加权作业调度

热门标签

归档