public class ExplainingObjective extends ExplainingCut
This neightborhood is specific in the sense that it needs to compute explanation on a solution.
Furthermore, the fixSomeVariables method creates and applies decision, so that the explanation recorder can infer.
forceCft, mDecisionPath, mExplanationEngine, mModel, nbCall, nbFixedVariables, notFrozen, random, related, unrelated
Constructor and Description |
---|
ExplainingObjective(Model aModel,
int level,
long seed)
Create a neighborhood which analyses the explanation of the objective current value to focus on decisions
more prone to improve its value
|
Modifier and Type | Method and Description |
---|---|
protected void |
_fixVar()
Regarding the explanation, pick decisions to create a fragment
|
protected void |
explain()
Force the failure, apply decisions to the last solution + cut => failure!
|
void |
init()
Initialize this neighbor
|
void |
recordSolution()
Record values of decision variables to freeze some ones during the next LNS run
|
clonePath, fixSomeVariables, increaseLimit, isSearchComplete, loadFromSolution, restrictLess
public ExplainingObjective(Model aModel, int level, long seed)
aModel
- a modellevel
- relaxong factorseed
- for randomnesspublic void recordSolution()
INeighbor
recordSolution
in interface INeighbor
recordSolution
in class ExplainingCut
protected void _fixVar()
ExplainingCut
_fixVar
in class ExplainingCut
public void init()
INeighbor
init
in interface INeighbor
init
in class ExplainingCut
protected void explain()
ExplainingCut
explain
in class ExplainingCut
Copyright © 2018. All rights reserved.