我想实现Drools Planner分配时间表。目前,我对Java和JavaBean设计模式的熟练程度很低,我需要简单的练习。一个很好的“你好世界”程序流氓计划
是否有AI优化问题是
- 已知与“X”算法来解决得很好
- 数据模型适合于在JavaBean的设计模式以简单的方式 表达
- 使用最少的附加功能(如计划实体难度)
这样的问题将是很好的切割我的T在Drools Planner上阅读。
我现在正在尝试N皇后问题,这似乎是最简单的这些。所以我正在寻找这个联盟的一些东西。
我想实现Drools Planner分配时间表。目前,我对Java和JavaBean设计模式的熟练程度很低,我需要简单的练习。一个很好的“你好世界”程序流氓计划
是否有AI优化问题是
这样的问题将是很好的切割我的T在Drools Planner上阅读。
我现在正在尝试N皇后问题,这似乎是最简单的这些。所以我正在寻找这个联盟的一些东西。
我正在尝试2X2 Sudoku(生成和解决)为简单的事情。你可以用Nqueens代码对它进行建模。虽然2x2 sudokus很容易解决,但3x3 sudokus可能会卡住。所以你可以实现交换移动。
另一个有趣的问题是桶数。给定10个桶,每个桶可以包含5个数字和50个数字;做一个程序来分配数字,以便每个桶中的数字总和或多或少。
Bucket Bucket0 3 6 19 16 11 =55
Bucket Bucket1 8 2 5 25 15 =55
...
Bucket Bucket7 3 25 4 16 8 =56
Bucket Bucket8 12 20 12 9 2 =55
Bucket Bucket9 4 9 11 12 20 =56
这有实际意义,如均匀地分布在整个一周变化的韧性的任务。
更新:请参阅CloudBalancingHelloWorld.java
in optaplanner-examples(Drools Planner更名为OptaPlanner)。
您也可以尝试自己实施ITC2007 curriculum course scheduling,然后将其与the source code of the example in Drools Planner进行比较。 如果你想保持简单,但也可以得到不错的结果,请按照this recipe进行第一次适应,然后是禁忌搜索。
另一个好主意是加入the ITC2011 scheduling competition:它仍然开放至2012年5月1日,与课程安排示例非常相似。
见'CloudBalancingHelloWorld.java'在optaplanner-例子。 – 2016-06-16 14:00:28