Check your Solution.getProblemFacts() method.
Make sure you used addAll() instead of add() in there.

On 01-11-13 16:46, Xi Gong wrote:
Hi Folks,

I am new to OptaPlanner, so please forgive me if this is a stupid question. 

I developed a project to solve a worker assignment problem based on OptaPlanner. I have a java class "Demand" which has the information of capacity needed for each shift. 
I added it to the solution class as a problem fact, since it should never be changed. Then I wrote rules saying that when the supply on that shift can not satisfy the demand there will be a point loss.

The problem I met is that when stepping into local search phase, the solver can not access to this class.

For instance, I have the following rule: 
rule " test rule"
when
$s : Shift($i : index) 
$d : Demand(shift.getIndex() == $i)
then
System.out.println("Test rule fired.");
end

From console log I observed that at local search phase this rule was never fired. 
Does anyone have any thoughts on why this happened and how I should solve this problem? I will appreciate your help.

Thanks,


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