choco.palm.benders.search
Class MasterOptimizer

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.MasterGlobalSearchSolver
                          extended by choco.palm.benders.search.MasterOptimizer
All Implemented Interfaces:
Entity
Direct Known Subclasses:
MasterSlaveOptimizer

public class MasterOptimizer
extends MasterGlobalSearchSolver

Benders search in case of problem of the form P_{y} ( an optimization function on the variable of the master)


Field Summary
protected  boolean maximize
          maximize or minimize the objective function
protected  int objective
          best value found
protected  int targetLowerBound
          a tentative lower bound
protected  int targetUpperBound
          a tentative upper bound
protected  IntDomainVar zobjective
          Objective variable of the master
 
Fields inherited from class choco.palm.benders.search.MasterGlobalSearchSolver
bendersCut, cuts, decomposition, fail, feasible, logger, master, masterWorld, nbCutLearned, nbFeasibleProblems, partialSol, stop, subgoals, subproblems
 
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
maxNbSolutionStored, solutions
 
Fields inherited from class choco.AbstractEntity
hook, problem
 
Constructor Summary
MasterOptimizer(IntDomainVar obj, int nbSub, boolean maximize)
           
MasterOptimizer(IntDomainVar obj, int nbSub, MasterSlavesRelation relation)
           
 
Method Summary
 int getOptimumValue()
          return -1 as it is a satisfaction problem
 void logMasterSolution()
           
 void nextMasterMove()
          Describes the way the master search solver has to be set to look for the next solution.
 void printBestSol()
           
 void solutionFound()
           
 void storePartialSolution(int subpb)
           
 
Methods inherited from class choco.palm.benders.search.MasterGlobalSearchSolver
addCuts, cleanPartialSolutions, getMaster, getNbCuts, getSubproblems, incrementalRun, logCuts, logSolution, manageCuts, nextSolution, restorePartialSolutions, setCutsConstraint, setMainGoal, setSubGoal, solveSubProblems, storeCuts, updateLimit
 
Methods inherited from class choco.search.AbstractGlobalSearchSolver
endTreeNode, endTreeSearch, getEncounteredLimit, 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

targetUpperBound

protected int targetUpperBound
a tentative upper bound


targetLowerBound

protected int targetLowerBound
a tentative lower bound


maximize

protected boolean maximize
maximize or minimize the objective function


objective

protected int objective
best value found


zobjective

protected IntDomainVar zobjective
Objective variable of the master

Constructor Detail

MasterOptimizer

public MasterOptimizer(IntDomainVar obj,
                       int nbSub,
                       MasterSlavesRelation relation)

MasterOptimizer

public MasterOptimizer(IntDomainVar obj,
                       int nbSub,
                       boolean maximize)
Method Detail

getOptimumValue

public int getOptimumValue()
Description copied from class: MasterGlobalSearchSolver
return -1 as it is a satisfaction problem

Overrides:
getOptimumValue in class MasterGlobalSearchSolver

storePartialSolution

public void storePartialSolution(int subpb)
Overrides:
storePartialSolution in class MasterGlobalSearchSolver

nextMasterMove

public void nextMasterMove()
Description copied from class: MasterGlobalSearchSolver
Describes the way the master search solver has to be set to look for the next solution.

Overrides:
nextMasterMove in class MasterGlobalSearchSolver

solutionFound

public void solutionFound()
Overrides:
solutionFound in class MasterGlobalSearchSolver

logMasterSolution

public void logMasterSolution()

printBestSol

public void printBestSol()