With kind regards,
Geoffrey De Smet
Andrew Waterman schreef:
Thanks for the suggestions Geoffrey! We have a specialized brute force
solver that my colleague wrote in Pascal for our problem, but it ignores
topographical constraints which is why I got involved. We are thinking
now of feeding solutions from that set into your solver as starting
solutions, and seeing which ones are/remain viable, and which ones do
not.
That's probably a really good idea:
My experiments show that it's best to start with very fast deterministic
algorithm, to get a head start, and then to use tabu search for the
extra miles.
Both the ITC2007 examination and curriculum course examples use that
technique, with a StartingSolutionInitializer.
That StartingSolutionInitializer even reuses the score calculation part.
However, this may prove unwieldy, and I may be able to find some
time to implement a search algorithm as you suggest -- I'll let you know
if we start going down that path, it sounds
Any information on the XML schema for the configuration files? I'd love
to see some more detailed documentation on the how to configure problems
for the solver [I sent a different email on this topic to the list last
week.]
On the XML schema there isn't much documentation yet, except for the
documentation in the manual. I have some other priorities in
drools-solver before I 'll get around to that part.
best wishes,
Andrew
---------------------------------
Andrew Waterman
San Cristóbal de las Casas, Chiapas, Mexico
+52 1 967 107 5902
+1 510 342 5693
On Feb 7, 2009, at 7:44 AM, Geoffrey De Smet wrote:
Tabu search (and other local search algorithms such as simulated
annealing) are very good at a) find an optimal solution.
Unfortunately, it can't handle b) get the total number of solutions.
I 'd recommend a brute force or better yet a branch-and-bound (with
alfa and beta pruning) algorithm for b).
In both cases you can reuse some of the internals of drools-solver:
- your constraint rules in the drl files won't change.
- you can reuse the score mechanism which uses the drools rule engine
Due to the forward-chaining nature of the drools rule engine those
algorithms too can take advantage of the scalibity and performance boost.
Hey, if you do it right, you can write a BruteForceSolver and/or
BranchAndBoundSolver which would be very welcome as a patch to
drools-solver if you're willing to contribute it :)
With kind regards,
Geoffrey De Smet
Andrew Waterman schreef:
Hello,
I'm starting to work with the drools-solver to help on a gaming
project. Basically, we have a game that works in two modes: 1) a
competitive game where humans (or agents) compete with one another on
a well defined game board to achieve 24 points by using three (or
four) agricultural development tokens. 2. A puzzle, where all 4
players work cooperatively to create an equitable solution, where all
4 players win with at least 24 points by means of our agricultural
development tokens.
I am starting to work with drools-solver to address the puzzle part
of our game. Basically, we are interested in having the solver do
two things for us: a) find the optimal solution for our
game/puzzle, based upon our requirements [this part seems quite
straightforward] and b) getting the total number of solutions that
satisfy our constraints. We would like, as well, to be able to
inspect these other, sub-optimal, solutions, in order to explore our
game and puzzle further. From my reading of the "Solver" API , it
looks like we will only be able to get the optimal solution. Does
anyone have any suggestions for a workaround in this case? Or is
there some functionality in the solver that I am missing?
I look forward to your feedback.
best wishes,
Andrew
---------------------------------
Andrew Waterman
San Cristóbal de las Casas, Chiapas, Mexico
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users