On 1/26/06, Robert Jaemmrich <[EMAIL PROTECTED]> wrote:
>
> is it possible (or wise ;-) to use drools in a scheduling application?
>
> I want to place Tasks into Timeslots. Placement is dependant on certain
> constraints (hard or maybe soft) and ressources. Each slot can contain
> one task.
>
> E.g. I have some tasks {t1,t2,t3} to place on slots {s1,s2,s3,s4}.
>
> Constraints are defining which slots a task may be placed into
> (c1{t1;s1..s4}, c2{t2;s1,s4}) or define a task sequence
> (task1.slotNumber < task2.slotNumber).


There are apparently systems for solving this kind of problem, constraint
programming <http://kti.ms.mff.cuni.cz/%7Ebartak/constraints/>.  I don't
know much about them, but I could imagine that there are elements to this
style of programming that can be solved by specialized tools.  With these
kinds of problems, I think the combinatorics can really get you down, and
avoiding that can be difficult.

That said, if you want to try and solve this kind of problem with Drools,
it's certainly not impossible, particularly if you can find the right
salience for the rules.

My naive "newbie approach" is to define two rules like this:


Well, one of the ways you could dodge this particular bullet is if you keep
track of failed matches somewhere in working memory.  Although I'm not
entirely sure how you're gong to do task sequences with this rule structure
-- since it seems like you're going to have multiple combinations of slots
and tasks.

  - Geoffrey
--
Geoffrey Wiseman

Reply via email to