On 03-06-13 17:04, jonathan.labin wrote: > I am using Optaplanner 6.0.0.beta2. > > Like most domains, I am working where it is possible that a given planning > value is invalid to assign to some planning entities. However, it is > impractical to perform a thorough validity check against every combination > in order to a Value Range list containing only valid assignments. > > I could simply create a Hard Constraint rule to test for these invalid > assignments but I fear the validity check may even too computationally > expensive for this (i.e. run for each potential step during step selection). > Also, this does not prevent the Optaplanner from considering this assignment > in the future in a slightly different context. Some things that should work in 6.0.0.Beta3 (and Beta2 too probably): - @ValueRange(FROM_ENTITY) if you can predict that certain values are never valid for a certain entity's variable. - Probability Selection of value's. Some values are selected more often than others. > > Instead, what I'd prefer is to only check the validity of an assignment > after it is used as part of a solution which improved the score. That way > it is never called for any of the huge space of possible assignments that > won't ever be part of a final solution anyway. 2-step or multi-step score evaluation isn't implemented (yet). > > > If the assignment turns out to be invalid in this check, I'd like to remove > it from the Value Range so it is never considered again. That's weird: - either you can predict it's never going to be valid for a certain entity, no matter the variable state of the other entities => use @ValueRange(FROM_ENTITY) - or you can't (not without taking a look at the variable state of the other entities => invalid for a single solution does not mean you can just remove it to be never considered again > > Is there a way to have the Optaplanner behave this way? > Which components should I investigate implementing (a forager)? Take a look at DefaultDecider > How does the Optaplanner respond to run-time changes? Once, discovered, can > I simply remove the invalid planning value from the value range for the > planning entity? Not yet supported. Depends on the Selector caching, etc. > > Thanks, > > Jon > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/Lazy-Planning-Value-Validation-tp4024095.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users >
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users