choco.palm.dbt.search
Class PalmAbstractBranchAndBound

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.dbt.search.PalmGlobalSearchSolver
                      extended by choco.palm.dbt.search.PalmAbstractBranchAndBound
All Implemented Interfaces:
Entity
Direct Known Subclasses:
PalmBranchAndBound, PalmRealBranchAndBound

public abstract class PalmAbstractBranchAndBound
extends PalmGlobalSearchSolver

J-CHOCO Copyright (C) F. Laburthe, 1999-2003

An open-source Constraint Programming Kernel for Research and Education

Created by: Guillaume on 20 juil. 2004


Field Summary
protected  java.util.LinkedList dynamicCuts
          Dynamic cut constraints.
protected  boolean maximizing
          States if the solver is maximizing (or minimizing).
protected  Var objective
          The variable that should be maximized (or minimized).
 
Fields inherited from class choco.palm.dbt.search.PalmGlobalSearchSolver
extending, feasible, finished, learning, LIMIT_NODES, LIMIT_TIME, repairing, state
 
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
PalmAbstractBranchAndBound(AbstractProblem pb, Var obj, boolean max)
           
 
Method Summary
abstract  Constraint getDynamicCut()
           
abstract  java.lang.Number getOptimumValue()
           
 void postDynamicCut()
          called before going down into each branch of the choice point
 void run()
          Starts solving.
 void runonce()
          solving the feasibility problem same code as in run(PalmGlobalSearchSolver) in order to be able to store consecutive solutions ...
 
Methods inherited from class choco.palm.dbt.search.PalmGlobalSearchSolver
attachPalmBranchings, attachPalmExtend, attachPalmLearn, attachPalmRepair, attachPalmState, endTreeSearch, extend, getExtending, getLearning, getLimit, getNbLimit, getNodeLimit, getState, getTimeLimit, isFinished, newTreeSearch, recordSolution, repair, reset, setFinished, setNodeLimit, setTimeLimit
 
Methods inherited from class choco.search.AbstractGlobalSearchSolver
endTreeNode, getEncounteredLimit, incrementalRun, isEncounteredLimit, newTreeNode, nextSolution, 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

maximizing

protected boolean maximizing
States if the solver is maximizing (or minimizing).


objective

protected Var objective
The variable that should be maximized (or minimized).


dynamicCuts

protected java.util.LinkedList dynamicCuts
Dynamic cut constraints.

Constructor Detail

PalmAbstractBranchAndBound

public PalmAbstractBranchAndBound(AbstractProblem pb,
                                  Var obj,
                                  boolean max)
Method Detail

run

public void run()
Description copied from class: PalmGlobalSearchSolver
Starts solving.

Overrides:
run in class PalmGlobalSearchSolver

runonce

public void runonce()
solving the feasibility problem same code as in run(PalmGlobalSearchSolver) in order to be able to store consecutive solutions ...


postDynamicCut

public void postDynamicCut()
Description copied from class: AbstractGlobalSearchSolver
called before going down into each branch of the choice point

Overrides:
postDynamicCut in class AbstractGlobalSearchSolver

getDynamicCut

public abstract Constraint getDynamicCut()

getOptimumValue

public abstract java.lang.Number getOptimumValue()