How do we solve many to many problems using OptaPlanner 6? For example, in cloud balancing example, what do we need to do if we want to put each process on multiple computers/threads? More like parallel execution of the process.
相关问题
- Problems with the solver configuration for two pla
- Convert Calendar date to LocalDate
- can we use multiple @PlanningSolution classes and
- Optaplanner multithreading attempt yielded “missin
- Nearby selection with subChainChangeMoveSelector o
相关文章
- OptaPlanner : ValueSelector can not use ValueRange
- Matching a list (of tags) with another and detecti
- Confused about naming of JavaBean properties, with
- Bicycle messenger / TSPPD with OptaPlanner
- Using real distances between points in optaplanner
- Implementing methods having raw types in Scala
- 可以optaplanner解决使用Drools的规则部分预分配计划实体?(Can optaplann
- 如何添加在项目作业调度解决方案不动产功能?(How to add Immovable feature
The same way as you solve it if you want to store a many2many relationship in a relational database: create an extra Class.
For example: In cloud balancing, create a class
Assignment
that has a many2one relationship toProcess
and a many2one relationship toComputer
. In curriculum course scheduling, this is already the case: there is a many2many relationship betweenCourse
andPeriod
/Room
, which is implemented by the classLecture
.Now, where it becomes interesting is if the number of that many2many-class instances is variable during planning, because that means that your number of planning entities is variable. In curriculum course scheduling, this is not the case: each Course has a fixed amount of lectures (and each Lecture has an indexInCourse) and those lectures are initialized before solve() is called.
If the number of planning entities is variable: OptaPlanner 6.0 is designed for that (there is plumbing in
ScoreDirector
,Selector
, ...), but not tested yet. In a future version we'll add such an example and integration tests and stress tests...