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-tp402409...
Sent from the Drools: User forum mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users