如何使用OptaPlanner解决多对多的关系?(How to solve many to many

2019-10-19 08:02发布

我们如何解决很多使用OptaPlanner 6多问题? 例如,在云平衡例子,我们需要做什么,如果我们希望把每个进程在多台计算机/线程? 更像的处理的并行执行。

Answer 1:

为您解决它,如果你想存储在关系数据库中的many2many关系以同样的方式:创建一个额外的类。

例如:在云平衡,创建一个类Assignment具有many2one关系, Process和一个many2one关系Computer 。 在课程当然调度,这已经是如此:有之间的关系many2many CoursePeriod / Room ,它是由类实现Lecture

现在,它变得有趣的是,如果是many2many类实例的数量在规划过程中的变量,因为这意味着你的计划实体的数量是可变的 。 在课程当然调度,这不是这种情况:每个场具有讲座固定量(以及每个演讲具有indexInCourse)和那些讲座之前解决初始化()被调用。

如果计划实体的数量是可变的:OptaPlanner 6.0是专为(有水暖ScoreDirectorSelector ...),但尚未进行测试。 在未来的版本中,我们将增加这样一个例子,集成测试和压力测试...



文章来源: How to solve many to many relationship using OptaPlanner?