public class MoveBinaryHBFS extends MoveBinaryDFS
[1]:D. Allouche, S. de Givry, G. Katsirelos, T. Schiex, M. Zytnicki, Anytime Hybrid Best-First Search with Tree Decomposition for Weighted CSP, CP-2015.
It restarts anytime a backtrack limit is reached and a new open right branch needs to be selected.
Created by cprudhom on 02/11/2015. Project: choco.
strategy, topDecisionPosition
Constructor and Description |
---|
MoveBinaryHBFS(Model model,
AbstractStrategy strategy,
double a,
double b,
long N)
Create a move dedicated to run an Hybrid Best-First Search[1] (HBFS) with binary decisions.
|
Modifier and Type | Method and Description |
---|---|
boolean |
extend(Solver solver)
Performs a move when the CSP associated to the current node of the search space is not proven to be not consistent.
|
protected void |
extractOpenRightBranches(Solver solver)
This methods extracts and stores all open right branches for future exploration
|
boolean |
init()
Called before the search starts.
|
boolean |
repair(Solver solver)
Performs a move when the CSP associated to the current node of the search space is proven to be not consistent.
|
getChildMoves, getStrategy, prevDecision, rewind, setChildMoves, setStrategy, setTopDecisionPosition
public MoveBinaryHBFS(Model model, AbstractStrategy strategy, double a, double b, long N)
model
- a modelstrategy
- the search strategy to usea
- lower bound to limit the rate of redundantly propagated decisions.b
- upper bound to limit the rate of redundantly propagated decisions.N
- maximum number of backtracks to not exceed when updating node recomputation parameters.public boolean init()
Move
init
in interface Move
init
in class MoveBinaryDFS
public boolean extend(Solver solver)
Move
extend
in interface Move
extend
in class MoveBinaryDFS
solver
- reference the solvertrue
if an extension can be done, false
when no more extension is possible.public boolean repair(Solver solver)
Move
repair
in interface Move
repair
in class MoveBinaryDFS
solver
- reference the solvertrue
if a reparation can be done, false
when no more reparation is possible.protected void extractOpenRightBranches(Solver solver)
solver
- reference to the solverCopyright © 2018. All rights reserved.