* Copyright 2010 JBoss Inc
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
A Solution is mutable. Drools Planner will continuously modify the same solution for scalability reasons and clone it to recall the best solution.
when the Score of this Solution has been calculated.
scorenull if the Solution has changed and the new Score has not yet been recalculated
needs to be inserted into an empty WorkingMemory. These facts can be used by the score rules. They don't change during planning.
Do not include the planning entities as problem facts: they are automatically inserted into the WorkingMemory if and only if they are initialized. When they are initialized later, they are also automatically inserted.
when the solution needs to be cloned, for example to store a clone of the current solution as the best solution.
A clone must also shallow copy the score.