@Target(value=TYPE) @Retention(value=RUNTIME) public @interface PlanningSolution
A solution is mutable. For scalability reasons (to facilitate incremental score calculation), the same solution instance (called the working solution per move thread) is continuously modified. It's cloned to recall the best solution.
Each planning solution must have exactly 1 PlanningScore
property.
Each planning solution must have at least 1 PlanningEntityCollectionProperty
or PlanningEntityProperty
property.
Each planning solution used with Drools score calculation must have at least 1 ProblemFactCollectionProperty
or ProblemFactProperty
property.
The class should have a public no-arg constructor, so it can be cloned
(unless the solutionCloner()
is specified).
Modifier and Type | Optional Element and Description |
---|---|
LocationStrategyType |
locationStrategyType |
Class<? extends SolutionCloner> |
solutionCloner
Overrides the default
SolutionCloner to implement a custom PlanningSolution cloning implementation. |
public abstract Class<? extends SolutionCloner> solutionCloner
SolutionCloner
to implement a custom PlanningSolution
cloning implementation.
If this is not specified, then the default reflection-based SolutionCloner
is used,
so you don't have to worry about it.
PlanningSolution.NullSolutionCloner
when it is null (workaround for annotation limitation)public abstract LocationStrategyType locationStrategyType
Copyright © 2006–2016 JBoss by Red Hat. All rights reserved.