[rules-users] Re: Drools-solver -- solution questions
Geoffrey De Smet
ge0ffrey.spam at gmail.com
Mon Feb 9 15:28:14 EST 2009
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
>>> rules-users at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
More information about the rules-users
mailing list