public class RPGN4Explanation extends ReversePropagationGuidedNeighborhood implements IMonitorUpBranch
Constructor and Description |
---|
RPGN4Explanation(Solver solver,
IntVar[] vars,
long seed,
int fgmtSize,
int listSize) |
Modifier and Type | Method and Description |
---|---|
void |
afterUpBranch() |
void |
beforeUpBranch() |
void |
fixSomeVariables(ICause cause)
Freezes some variables in order to have a fast computation
|
protected void |
impose(int id,
ICause cause) |
void |
recordSolution()
Record values of decision variables to freeze some ones during the next LNS run
|
void |
restrictLess()
Use less restriction at the beginning of a LNS run
in order to get better solutions
Called when no solution was found during a LNS run (trapped into a local optimum)
|
update
afterInitialPropagation, beforeInitialPropagation, isSearchComplete, selectVariable
activeFastRestart, fastRestart
public void recordSolution()
INeighbor
recordSolution
in interface INeighbor
recordSolution
in class PropagationGuidedNeighborhood
public void restrictLess()
INeighbor
restrictLess
in interface INeighbor
restrictLess
in class PropagationGuidedNeighborhood
public void fixSomeVariables(ICause cause) throws ContradictionException
INeighbor
fixSomeVariables
in interface INeighbor
fixSomeVariables
in class PropagationGuidedNeighborhood
cause
- the LNSContradictionException
- if variables have been fixed to inconsistent values
this can happen if fixed variables cannot yield to a better solution than the last one
a contradiction is raised because a cut has been posted on the objective function
Notice that it could be used to generate a no-goodprotected void impose(int id, ICause cause) throws ContradictionException
impose
in class PropagationGuidedNeighborhood
ContradictionException
public void beforeUpBranch()
beforeUpBranch
in interface IMonitorUpBranch
public void afterUpBranch()
afterUpBranch
in interface IMonitorUpBranch
Copyright © 2015. All rights reserved.