Question

I am trying to implement Drools Planner for allocating timetables. At the moment, my proficiency in Java and JavaBean design pattern is low and I need something simple to practice on.

Is there an AI optimization problem that

  1. known to be solved very well with 'X' algorithm
  2. the data model lends itself to be expressed in JavaBean design pattern in a simple manner
  3. uses fewest number of extra features (like planning entity difficulty)

Such a problem would be good to cut my teeth on Drools Planner.


I am trying N-Queens problem right now which seems the simplest of these. So I am looking for something of this league.

Was it helpful?

Solution 2

I am trying 2X2 Sudoku (generating and solving) as something simple. You can model it on Nqueens code. While 2x2 sudokus are solved easily, 3x3 sudokus may get stuck. So you can implement swap moves.

Another interesting problem would be bucket sums. Given 10 buckets, each able to contain 5 numbers each, and 50 numbers; make a program to allocate the numbers so that the sum of numbers in each bucket are more or less even.

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

This has practical implications, such as evenly distributing tasks of varying toughness throughout the week.


A collection of some problems: http://eclipseclp.org/examples/index.html

OTHER TIPS

Update: See CloudBalancingHelloWorld.java in optaplanner-examples (Drools Planner is renamed to OptaPlanner).

You could also try implementing the ITC2007 curriculum course scheduling yourself and then compare it with the source code of the example in Drools Planner. If you want to keep it simple but get decent results too, follow this recipe and go for First Fit followed by Tabu Search.

Another good idea, is to join the ITC2011 scheduling competition: it's still open till 1-MAY-2012 and very similar to the curriculum course scheduling example.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top