|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface PerturbationsCounter<V extends Variable<V,T>,T extends Value<V,T>>
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
PerturbationCounter
Solver
,
Solution
,
Variable
Method Summary | |
---|---|
void |
getInfo(Map<String,String> info,
Model<V,T> model)
Some (perturbation) information about the solution might be returned here. |
void |
getInfo(Map<String,String> info,
Model<V,T> model,
Collection<V> variables)
Some (perturbation) information about the solution might be returned here (only include variables from the given set). |
double |
getPerturbationPenalty(Model<V,T> model)
Returns perturbation penalty, i.e., the distance between current solution and the solution of the initial problem (see Variable.getInitialAssignment() ). |
double |
getPerturbationPenalty(Model<V,T> model,
Collection<V> variables)
Returns perturbation penalty, i.e., the distance between current solution and the solution of the initial (only include variables from the given set) problem (see Variable.getInitialAssignment() ). |
double |
getPerturbationPenalty(Model<V,T> model,
T selectedValue,
Collection<T> conflicts)
Returns perturbation penalty of the solution which become from the current solution when given conflicting values are unassigned and the selected value is assigned. |
void |
init(Solver<V,T> solver)
Initialization |
Method Detail |
---|
void init(Solver<V,T> solver)
double getPerturbationPenalty(Model<V,T> model)
Variable.getInitialAssignment()
).
model
- current modeldouble getPerturbationPenalty(Model<V,T> model, Collection<V> variables)
Variable.getInitialAssignment()
).
model
- current modeldouble getPerturbationPenalty(Model<V,T> model, T selectedValue, Collection<T> conflicts)
model
- current modelselectedValue
- value to be selected in the next iterationconflicts
- conflicting values to be unassigned in the next iterationvoid getInfo(Map<String,String> info, Model<V,T> model)
info
- resultant info tablemodel
- current modelvoid getInfo(Map<String,String> info, Model<V,T> model, Collection<V> variables)
info
- resultant info tablemodel
- current model
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |