为drools计划者提供了一个很好的“hello world”计划

时间:2012-01-16 10:12:33

标签: artificial-intelligence drools optaplanner

我正在尝试使用Drools Planner来分配时间表。目前,我对Java和JavaBean设计模式的熟练程度很低,我需要简单的练习

是否存在 AI优化问题

  1. 已知用'X'算法很好地解决了
  2. 数据模型有助于以简单的方式用JavaBean设计模式表达
  3. 使用最少数量的额外功能(如规划实体难度)
  4. 这样的问题对Drools Planner来说很好。


    我正在尝试N-Queens问题,这似乎是最简单的问题。所以我正在寻找这个联盟的东西。

2 个答案:

答案 0 :(得分:1)

更新:请参阅optaplanner-examples中的CloudBalancingHelloWorld.java(Drools Planner重命名为OptaPlanner)。

您也可以尝试自己实施ITC2007 curriculum course scheduling,然后将其与the source code of the example in Drools Planner进行比较。 如果你想保持简单但也得到不错的结果,请按照this recipe进行First Fit,然后选择禁忌搜索。

另一个好主意是加入the ITC2011 scheduling competition:它仍然开放至2012年5月1日,与课程安排示例非常相似。

答案 1 :(得分:0)

我正在尝试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

这具有实际意义,例如在一周内均匀分配不同韧性的任务。


一些问题的集合:http://eclipseclp.org/examples/index.html