choco.palm.benders.search
Class SubSearchSolver

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.benders.search.SubSearchSolver
All Implemented Interfaces:
Entity
Direct Known Subclasses:
SubOptimizer

public class SubSearchSolver
extends JumpGlobalSearchSolver

Created by IntelliJ IDEA. User: Hadrien Date: 26 déc. 2004 Time: 11:13:01 To change this template use File | Settings | File Templates.


Field Summary
protected  IntBranchingTrace currentCtx
           
protected  boolean slave
           
 
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
SubSearchSolver(AbstractProblem pb)
           
SubSearchSolver(AbstractProblem pb, boolean slave)
           
 
Method Summary
protected  void changeGoal(AbstractIntBranching branching)
          change the goal of the search solver (called when one want to solve the next sub-problem)
 void fusionGoal(AbstractIntBranching branching)
          add the new branching to the current goal to perform the search over the both goals
 java.lang.Boolean nextOptimalSolution(int masterWorld)
          get the next solution of the master problem
 java.lang.Boolean nextSolution()
          Browses the search tree until the next solution or until all the tree has been checked.
 void setCurrentFail(Explanation e)
           
 void solutionFound(IntBranchingTrace ctx)
           
 
Methods inherited from class choco.search.AbstractGlobalSearchSolver
endTreeNode, endTreeSearch, getEncounteredLimit, incrementalRun, isEncounteredLimit, newTreeNode, newTreeSearch, popTrace, popTraceUntil, postDynamicCut, printRuntimeStatistics, pushTrace, recordSolution, 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

slave

protected boolean slave

currentCtx

protected IntBranchingTrace currentCtx
Constructor Detail

SubSearchSolver

public SubSearchSolver(AbstractProblem pb)

SubSearchSolver

public SubSearchSolver(AbstractProblem pb,
                       boolean slave)
Parameters:
pb -
slave - is true if the global search solver is dedicated to subproblems
Method Detail

changeGoal

protected void changeGoal(AbstractIntBranching branching)
change the goal of the search solver (called when one want to solve the next sub-problem)

Parameters:
branching -

fusionGoal

public void fusionGoal(AbstractIntBranching branching)
add the new branching to the current goal to perform the search over the both goals

Parameters:
branching - to be added to the main branching of the search solver

nextOptimalSolution

public java.lang.Boolean nextOptimalSolution(int masterWorld)
get the next solution of the master problem

Returns:

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

solutionFound

public void solutionFound(IntBranchingTrace ctx)

setCurrentFail

public void setCurrentFail(Explanation e)