choco.search
Class OptimizeWithRestarts

java.lang.Object
  extended by choco.AbstractEntity
      extended by choco.AbstractSolver
          extended by choco.search.AbstractGlobalSearchSolver
              extended by choco.search.AbstractOptimize
                  extended by choco.search.OptimizeWithRestarts
All Implemented Interfaces:
Entity

public class OptimizeWithRestarts
extends AbstractOptimize


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.search.AbstractOptimize
doMaximize, lowerBound, objective, targetLowerBound, targetUpperBound, upperBound
 
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
OptimizeWithRestarts(IntDomainVarImpl obj, boolean maximize)
           
 
Method Summary
protected  void endLoop()
           
 void incrementalRun()
          main entry point: searching for one solution Note: the initial propagation must be done before pushing any world level.
protected  void newLoop()
          called before a new search tree is explored
 java.lang.Boolean nextSolution()
           
protected  boolean oneMoreLoop()
          loop until the lower bound equals the upper bound
 void run()
          Deprecated. replaced by incrementalRun
 
Methods inherited from class choco.search.AbstractOptimize
getBestObjectiveValue, getObjectiveTarget, getObjectiveValue, initBounds, postDynamicCut, postTargetBound, postTargetLowerBound, postTargetUpperBound, recordSolution, setBound, setTargetBound, setTargetLowerBound, setTargetUpperBound
 
Methods inherited from class choco.search.AbstractGlobalSearchSolver
endTreeNode, endTreeSearch, getEncounteredLimit, isEncounteredLimit, newTreeNode, newTreeSearch, popTrace, popTraceUntil, printRuntimeStatistics, pushTrace, 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

OptimizeWithRestarts

public OptimizeWithRestarts(IntDomainVarImpl obj,
                            boolean maximize)
Method Detail

newLoop

protected void newLoop()
                throws ContradictionException
called before a new search tree is explored

Throws:
ContradictionException

endLoop

protected void endLoop()

oneMoreLoop

protected boolean oneMoreLoop()
loop until the lower bound equals the upper bound

Returns:

run

public void run()
Deprecated. replaced by 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:
run in class AbstractGlobalSearchSolver

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()
Overrides:
nextSolution in class AbstractGlobalSearchSolver