Package org.optaplanner.core.impl.solver
Interface ProblemFactChange<Solution_>
-
- Type Parameters:
Solution_
- the solution type, the class with thePlanningSolution
annotation
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface ProblemFactChange<Solution_>
A ProblemFactChange represents a change in 1 or more problem facts of aPlanningSolution
. Problem facts used by aSolver
must not be changed while it is solving, but by scheduling this command to theSolver
, you can change them when the time is right.Note that the
Solver
clones aPlanningSolution
at will. So any change must be done on the problem facts and planning entities referenced by thePlanningSolution
of theScoreDirector
. On each change it should also notify theScoreDirector
accordingly.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
doChange(ScoreDirector<Solution_> scoreDirector)
Does the change on thePlanningSolution
of theScoreDirector
and notifies theScoreDirector
accordingly.
-
-
-
Method Detail
-
doChange
void doChange(ScoreDirector<Solution_> scoreDirector)
Does the change on thePlanningSolution
of theScoreDirector
and notifies theScoreDirector
accordingly. Every modification to thePlanningSolution
, must be correctly notified to theScoreDirector
, otherwise theScore
calculation will be corrupted.- Parameters:
scoreDirector
- never null Contains theworking solution
which contains the problem facts (andplanning entities
) to change. Also needs to get notified of those changes.
-
-