【发布时间】:2015-10-15 14:23:56
【问题描述】:
我有一个事件列表,每个事件都有一个持续时间。 我正在寻找一种算法来安排这些事件一天。从上午 9 点到中午 12 点,然后从下午 1 点到不早于下午 4 点且不迟于下午 5 点。
我不确定解决这个问题的好方法是什么。 由于可能有几种可能的解决方案,我的第一个想法是测试随机组合的正确性。
我想知道是否有更确定性的方法来解决这个问题。 谢谢;)
编辑
@svs 事件的时间以分钟为单位,任何事件都不应重叠。 除了中午 12 点到下午 1 点的午休时间外,活动之间也不需要暂停。
【问题讨论】:
-
你的规则是什么?如果您没有,只需按顺序填写时间表,只要它适合..
-
这基本上是2个背包的背包问题。虽然我们知道整数权重的伪多项式解,但没有已知的多项式解。
-
I've got a list of events each having a duration.持续时间的分辨率是多少 - 秒、分钟、小时?事件不应该重叠吗?事件之间应该有暂停吗?有什么限制吗?是否正在尝试最小化这两个时间窗口的剩余时间? -
如果您发布一些您想要实现的目标的示例会有所帮助。
-
@ergonaut 那行不通。如果不合适,我是否必须回溯并尝试不同的排序?
标签: java algorithm scheduling