代码之家  ›  专栏  ›  技术社区  ›  Aviad Ben Dov

任务调度框架-不是线程调度!

  •  5
  • Aviad Ben Dov  · 技术社区  · 14 年前

    我正在开发一个Java应用程序,它应该允许用户优化他们的日常日程安排。为此,我需要一个框架来帮助计算“任务”的最佳时间,注意:

    1. 所需资源和资源使用限制
    2. 任务之间的依赖关系(但只能使用F->S关系)
    3. 最早和最晚开始-完成时间、空闲时间
    4. 基线与实际时间-允许报告实际开始和完成时间,并相应地更新其余任务

    一些澄清:我既不想找一个框架来绘制这些甘特图,也不想找一个框架来处理一个特定的问题域(比如教室),当然也不想找一个框架来处理线程调度。

    谢谢!

    3 回复  |  直到 14 年前
        1
  •  5
  •   Justin Garrick    14 年前

    我认为没有一个现成的框架能满足你的需要。我知道你说过你不想找一个作业/线程调度程序,但我认为你最好的选择可能是围绕一个“愚蠢的”作业/线程调度框架来运行你自己的优化/优先级代码,比如 Quartz (或任何你准备好的东西)。如果您使用Quartz,API可能会为您的优化标准的第3项和第4项提供一些有用的信息。此外,Quartz还有一个作业“优先级”概念,因此一旦计算了优化的优先级,就应该可以轻松地安排执行。

    如果你真的找到了一个能满足你要求的框架,请在这里发帖——我相信还有其他人可以使用类似的东西。

        2
  •  0
  •   Damien    14 年前
        3
  •  0
  •   ThiamTeck    14 年前

    也许你需要的是进化/遗传算法来生成一个优化的时间表?

    如果是的话,你可以看看这个制表框架: http://watchmaker.uncommons.org/

    采用进化/遗传算法,随机生成一个调度池。你的主要关注点将是定义评分标准,以评估生成的每个时间表。然后让它(生成的时间表)一代一代地发展,直到它足够适合你。

    推荐文章