Counter of perturbation penalty (minimal perturbation problem).
Many real-life problems are dynamic, with changes in the problem definition
occurring after a solution to the initial formulation has been reached. A
minimal perturbation problem incorporates these changes, along with the
initial solution, as a new problem whose solution must be as close as
possible to the initial solution. The iterative forward search algorithm is
also made to solve minimal perturbation problems.
To define the minimal perturbation problem, we will consider an initial
(original) problem, its solution, a new problem, and some distance function
which allows us to compare solutions of the initial and the new problem.
Subsequently we look for a solution of the new problem with minimal distance
from the initial solution. This distance is expressed by this
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 3 of the
License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
Returns perturbation penalty of the solution which become from the
current solution when given conflicting values are unassigned and the
selected value is assigned. Since this penalty is used for comparison of
different candidate values in the value selection criterion, it is fully
acceptable to just return a difference between current and the altered
solution (which might be easied for computation that the whole
assignment - current assignment
model - current model
selectedValue - value to be selected in the next iteration
conflicts - conflicting values to be unassigned in the next iteration