[rules-users] Planner - Initialized solution & local search

Geoffrey De Smet ge0ffrey.spam at gmail.com
Wed Jul 11 12:01:49 EDT 2012



Op 11-07-12 17:52, Geoffrey De Smet schreef:
>
>
> Op 11-07-12 17:19, Garf schreef:
>> I'm using v5.4. I've built a prototype which uses the constructionHeuristic,
>> and localSearch, as the example does, and am able to run the solver (though
>> it still doesn't do a good job of solving at this point).
>>
>> I've now added customSolverPhase, and set it to use an initializer class
>> which implements CustomSolverPhaseCommand.
>>
>> In my changeWorkingSolution, I call scoreDirector.beforeEntityAdded(), and
>> then set the planning entity's planning variable, and then call
>> afterEntityAdded().
>>
>> If I leave any entities unadded -- and let the constructionHeuristic
>> (BEST_FIT, etc) do the fitting (which I can verify from the logs)-- I then
>> get this exception:
>>
>> /java.lang.IllegalStateException: Phase localSearch started with an
>> uninitialized Solution. First initialize the Solution. For example, run a
>> phase constructionHeuristic first./
> This sounds like a bug.
> Unless, you called afterEntityAdded() on the non initialized entities too?
>
> If that's not the case, could you file a jira?
>     https://issues.jboss.org/browse/JBRULES
It's strange though: partially initialized solutions work fine in 
real-time planning use cases in cloud balance example etc.
Double check if you aren't calling afterEntityAdded() on the 
non-initialized entities too.
Also check that the construction heurstics run before the localSearch 
solver does (the order in which they are declared in the config xml 
matters).



More information about the rules-users mailing list