我正在尝试清理当前正在使用优先级FIFO调度算法的企业BI系统(因此周二优先级4报告将在周四优先级4报告和周一优先级3报告之前执行。)其他详细信息:
我认为我可以为这种情况启动并运行optaPlanner,其中包含优先级的硬规则以及队列中平均时间周围的一些软规则。我是调度优化的新手,所以我想我的问题是在这种情况下我应该寻找什么来决定optaPlanner是否会帮助我?
答案 0 :(得分:2)
问题看起来像 bin packing (可能作业车间调度), NP-complete ,因此OptaPlanner将做得比FIFO算法好。
但它真的 NP-complete ?如果满足所有条件,则可能不是:
如果满足所有这些条件,OptaPlanner将无法比正确编写的贪婪算法(它安排最小/最大优先级最高优先级作业)做得更好。如果不满足任何这些条件(例如,您购买10台更快的新服务器),那么OptaPlanner可以做得更好。你只需要评估它是否值得用1个线程来解决这个问题。
如果您使用OptaPlanner,请务必查看实时调度和守护进程模式,以便在新报告进入系统时进行重新计划。