I think a rules engine could do what you are asking, but you have to ask the right questions of it. What any rules engine can do is allow you to declare "rules" and then you reason using those rules. Once you setup your rules, I would guess you would want to "guess" if a plant can go in a bed, near, X other plants and see if you broke the rules. If you are looking for the "best" solution you make want to read this blog on drools solver (http://blog.athico.com/search/label/solver). If you just want to see if your plant can go in a certain place you simple brute force the check. Assuming you don't have huge amounts of data, and plants you can try all possible solutions and you wouldnt have to use anything as fancy as solver.

 

So the question you need to answer is do you want a constraint engine (aka drools), "can i put x plant here", or a solver type engine that you ask, "where do i put all my plants". Hopefully that helps you a bit.

 

-Michael


----- Original Message -----
From: "Ari Fainchtein" <ari@lechido.com>
To: "Rules Users List" <rules-users@lists.jboss.org>
Sent: Sunday, November 16, 2008 12:31:13 PM GMT -06:00 US/Canada Central
Subject: [rules-users] Introduction to my project

Hello,
I would appreciate the opportunity to get your feedback.  The question  
I have is "Is a Rule Engine the best solution to my problem or do i  
have to write a custom algorithm?"

What follows is a one paragraph background and then the actual problem.

I live in a farm 90km north of Melbourne.  My farm is my PhD project,  
which i call the Suburban Micro Farm.  The idea is to grow food in the  
farm and have a commercial kitchen (in the farm) to prepare take away  
meals which will  be sold in downtown Melbourne.  I am writing a J2EE  
compliant web based application to control the operation of the farm/
delivery service.  THe farm will  be certified organic and is not  
connected to the grid.  All of my intellectual property is opens  
source under the idea of Open Source Franchising.

The problem at hand is as follow.

In my vegetable garden, I have planting beds of different sizes.  i  
will plant seedlings in those beds.  i have all the data for how long  
should the seeds be in the seedling trays before transplanting to  
beds.  I have the data for how far apart should be placed and how long  
should they be in the ground.  I also have data as which ones should  
be placed next to which others and which should not be planted  
together.  How should the seedlings be placed in the beds assuming  
that we also need to take into account a rotation of beds across  
seasons? The rotation will be created using rules as "if bed 1 had  
tomatoes then next season plant beans".

This is a typical problem I need to solve.  Like the problem described  
above, I have many more in different parts of the supply chain.  
Should I use a rules engine or should i write custom algorithms?


Thanks
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users