有没有人曾经处理过Java的作业调度问题?
我必须处理资源受限的项目调度问题,并想要求一些实用技巧.有没有好的库可用于实现算法?我应该使用哪些有效的数据结构?
编辑:
好像我没有解释得对.我想解决资源受限的项目调度问题(RCPSP),它已知具有不同启发式的NP-complete.问题定义如下:
项目由一组A = {1,…,n}的活动组成,这些活动必须在一组R = {1,m}的资源上执行.在其非可抢占处理时间pj≥0期间,活动j∈A要求rjk≥0个单位的资源k∈R.每个资源k∈R具有有限的容量Rk> 0. 0.活动之间存在优先关系,这样一个活动j∈A就不能在其所有直系前辈完成之前开始.目标是找到优先级和资源容量可行的时间表,以最小化整体完工时间.
最佳答案
OpenSymphony Quartz Scheduller是完成任务的正确工具.
来自Quartz的网页:
“什么是Quartz?
Quartz是一个功能齐全的开源作业调度服务,可以与几乎任何Java EE或Java SE应用程序集成或一起使用 – 从最小的独立应用程序到最大的电子商务系统. Quartz可用于创建简单或复杂的计划,以执行数十,数百甚至数万个作业;任务被定义为标准Java组件的作业,几乎可以执行任何您可以编程的任务. Quartz Scheduler包含许多企业级功能,例如JTA事务和集群.
Quartz可以免费使用,根据Apache 2.0许可证授权.