choco.palm.cbj.search
Class JumpRestartOptimizer

java.lang.Object
  extended by choco.AbstractEntity
      extended by choco.AbstractSolver
          extended by choco.search.AbstractGlobalSearchSolver
              extended by choco.search.Solve
                  extended by choco.palm.cbj.search.JumpGlobalSearchSolver
                      extended by choco.palm.cbj.search.JumpAbstractOptimizer
                          extended by choco.palm.cbj.search.JumpRestartOptimizer
All Implemented Interfaces:
Entity

public class JumpRestartOptimizer
extends JumpAbstractOptimizer


Field Summary
protected  int baseNbSol
          counting the overall number of solutions
protected  int nbBkTot
          total nb of backtracks (all trees in the optimization process)
protected  int nbIter
          counting the number of iterations
protected  int nbNdTot
          total nb of nodes expanded in all trees
 
Fields inherited from class choco.palm.cbj.search.JumpAbstractOptimizer
doMaximize, lowerBound, objective, targetLowerBound, targetUpperBound, upperBound
 
Fields inherited from class choco.palm.cbj.search.JumpGlobalSearchSolver
currentFail
 
Fields inherited from class choco.search.AbstractGlobalSearchSolver
baseWorld, currentTraceIndex, DOWN_BRANCH, encounteredLimit, INIT_SEARCH, limits, loggingMaxDepth, mainGoal, nbSolutions, nextMove, OPEN_NODE, stopAtFirstSol, traceStack, UP_BRANCH
 
Fields inherited from class choco.AbstractSolver
logger, maxNbSolutionStored, solutions
 
Fields inherited from class choco.AbstractEntity
hook, problem
 
Constructor Summary
JumpRestartOptimizer(IntDomainVarImpl obj, boolean maximize)
           
 
Method Summary
 void endTreeSearch()
          called before a new search tree is explored
 void incrementalRun()
          main entry point: searching for one solution Note: the initial propagation must be done before pushing any world level.
 void newTreeSearch()
          called before a new search tree is explored
 java.lang.Boolean nextSolution()
          Browses the search tree until the next solution or until all the tree has been checked.
 void postNewBounds()
           
 
Methods inherited from class choco.palm.cbj.search.JumpAbstractOptimizer
getBestObjectiveValue, getObjectiveTarget, getObjectiveValue, initBounds, postDynamicCut, postTargetBound, postTargetLowerBound, postTargetUpperBound, recordSolution, setBound, setTargetBound, setTargetLowerBound, setTargetUpperBound
 
Methods inherited from class choco.search.AbstractGlobalSearchSolver
endTreeNode, getEncounteredLimit, isEncounteredLimit, newTreeNode, popTrace, popTraceUntil, printRuntimeStatistics, pushTrace, run, setLoggingMaxDepth, topTrace
 
Methods inherited from class choco.AbstractSolver
existsSolution, makeSolutionFromCurrentState, restoreBestSolution, showSolution, storeSolution
 
Methods inherited from class choco.AbstractEntity
getProblem, pretty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nbIter

protected int nbIter
counting the number of iterations


baseNbSol

protected int baseNbSol
counting the overall number of solutions


nbBkTot

protected int nbBkTot
total nb of backtracks (all trees in the optimization process)


nbNdTot

protected int nbNdTot
total nb of nodes expanded in all trees

Constructor Detail

JumpRestartOptimizer

public JumpRestartOptimizer(IntDomainVarImpl obj,
                            boolean maximize)
Method Detail

incrementalRun

public void incrementalRun()
Description copied from class: AbstractGlobalSearchSolver
main entry point: searching for one solution Note: the initial propagation must be done before pushing any world level. It is therefore kept before restoring a solution

Overrides:
incrementalRun in class AbstractGlobalSearchSolver

nextSolution

public java.lang.Boolean nextSolution()
Description copied from class: JumpGlobalSearchSolver
Browses the search tree until the next solution or until all the tree has been checked.

Overrides:
nextSolution in class JumpGlobalSearchSolver
Returns:
Boolean.TRUE if a solution has been found, Boolean.FALSE if no solution has been found and null if the search has been interrupted by a limit

newTreeSearch

public void newTreeSearch()
                   throws ContradictionException
Description copied from class: AbstractGlobalSearchSolver
called before a new search tree is explored

Overrides:
newTreeSearch in class AbstractGlobalSearchSolver
Throws:
ContradictionException

postNewBounds

public void postNewBounds()
                   throws ContradictionException
Throws:
ContradictionException

endTreeSearch

public void endTreeSearch()
called before a new search tree is explored

Overrides:
endTreeSearch in class AbstractGlobalSearchSolver