我知道那里有些NP-hard/NP-complete的调度问题......但是,他们中没有一个用这种方式表示这种情况也是NP。是否所有调度问题NP-Hard?
如果你有一组约束为startAfter,startBy任务,并时间都试图用一个单个资源 ...你可以解决的时间表或者确定它不能得到解决没有详尽的搜索?
如果答案是“sorry pal,但这是NP-complete”什么是最好的启发式(s?)使用,并且有办法减少花费的时间a)解决计划和b)确定一个无法解决的时间表。
我已经通过实现“最小窗口优先”启发式的递归实现(在序言中)基本的冲突解决目标。这实际上很快找到解决方案,但发现无效的时间表非常缓慢。有没有办法解决这个问题?
Yay for compound questions!
你认为你会为这个问题添加更多约束吗?如果是这样,它看起来像一个时间表问题,这是'通常'通过约束编程解决 http://en.wikipedia.org/wiki/Constraint_programming 甚至线性编程 http://en.wikipedia.org/ wiki/Linear_programming 看一看名为unitime.org(约束编程)和ilog的约束求解器(非常昂贵,但非常快)的开源项目。 – Karussell 2010-01-29 22:13:32