我正在开发一个 Java 应用程序,它应该允许用户优化他们的日程安排。为此,我需要一个框架来帮助计算“任务”的最佳时间,并注意:
- 所需资源和资源使用限制
- 任务之间的依赖关系(虽然只能处理 F->S 关系)
- 最早和最晚的开始完成时间、松弛时间
- 基线与实际时间 - 允许报告实际开始和完成时间,相应地更新其余任务
一些澄清:我既不是在寻找一个框架来绘制这些甘特图,也不是一个处理一个特定问题域(例如教室)的框架,也绝对不是一个处理线程调度的框架。
谢谢!
我正在开发一个 Java 应用程序,它应该允许用户优化他们的日程安排。为此,我需要一个框架来帮助计算“任务”的最佳时间,并注意:
一些澄清:我既不是在寻找一个框架来绘制这些甘特图,也不是一个处理一个特定问题域(例如教室)的框架,也绝对不是一个处理线程调度的框架。
谢谢!
我认为没有开箱即用的框架可以满足您的需求。我知道你说你不是在寻找作业/线程调度程序,但我认为你最好的选择可能是围绕像Quartz(或任何你有地方)。如果您使用 Quartz,API 可能会为您提供一些对优化标准的第 3 项和第 4 项有用的信息。此外,Quartz 有一个作业“优先级”的概念,所以一旦你计算出优化的优先级,它应该使调度执行变得容易。
如果您确实找到了符合您要求的框架,请在此处发帖——我相信还有其他人可以使用类似的东西。
您可以检查项目管理软件。看来您需要用 java 编写并能够修改代码。它确实缩小了列表范围,但我快速浏览了一下,发现其中至少有 2 个可以提供帮助(Endeavour 和 Project.net)。
也许您需要的是诸如进化/遗传算法之类的东西来生成优化的时间表?
如果是,你可以看看这个 Watchmaker Framework: http ://watchmaker.uncommons.org/
使用进化/遗传算法,它随机生成一个调度池。您的主要重点将是定义评分标准以评估生成的每个时间表。然后让它(生成的时间表)代代相传,直到它对您来说足够最佳。