org.drools.planner.core.localsearch.decider.acceptor
Class CompositeAcceptor

java.lang.Object
  extended by org.drools.planner.core.localsearch.decider.acceptor.AbstractAcceptor
      extended by org.drools.planner.core.localsearch.decider.acceptor.CompositeAcceptor
All Implemented Interfaces:
Acceptor, LocalSearchSolverLifecycleListener

public class CompositeAcceptor
extends AbstractAcceptor

Combines several acceptors into one. Multiplies the accept chance of its acceptors. For example: combine solution and property tabu to do tabu on both.


Field Summary
protected  List<Acceptor> acceptorList
           
 
Fields inherited from class org.drools.planner.core.localsearch.decider.acceptor.AbstractAcceptor
logger
 
Constructor Summary
CompositeAcceptor()
           
 
Method Summary
 void beforeDeciding(LocalSearchStepScope localSearchStepScope)
           
 double calculateAcceptChance(MoveScope moveScope)
          TODO the use for an acceptChance between 0.0 and 1.0 is unproven.
 void setAcceptorList(List<Acceptor> acceptorList)
           
 void solvingEnded(LocalSearchSolverScope localSearchSolverScope)
           
 void solvingStarted(LocalSearchSolverScope localSearchSolverScope)
           
 void stepDecided(LocalSearchStepScope localSearchStepScope)
           
 void stepTaken(LocalSearchStepScope localSearchStepScope)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

acceptorList

protected List<Acceptor> acceptorList
Constructor Detail

CompositeAcceptor

public CompositeAcceptor()
Method Detail

setAcceptorList

public void setAcceptorList(List<Acceptor> acceptorList)

solvingStarted

public void solvingStarted(LocalSearchSolverScope localSearchSolverScope)
Specified by:
solvingStarted in interface LocalSearchSolverLifecycleListener
Overrides:
solvingStarted in class AbstractAcceptor

beforeDeciding

public void beforeDeciding(LocalSearchStepScope localSearchStepScope)
Specified by:
beforeDeciding in interface LocalSearchSolverLifecycleListener
Overrides:
beforeDeciding in class AbstractAcceptor

calculateAcceptChance

public double calculateAcceptChance(MoveScope moveScope)
Description copied from interface: Acceptor
TODO the use for an acceptChance between 0.0 and 1.0 is unproven. A boolean instead of a double is sufficient?

Parameters:
moveScope - not null
Returns:
never negative; if rejected 0.0; if accepted higher than 0.0 (usually 1.0)

stepDecided

public void stepDecided(LocalSearchStepScope localSearchStepScope)
Specified by:
stepDecided in interface LocalSearchSolverLifecycleListener
Overrides:
stepDecided in class AbstractAcceptor

stepTaken

public void stepTaken(LocalSearchStepScope localSearchStepScope)
Specified by:
stepTaken in interface LocalSearchSolverLifecycleListener
Overrides:
stepTaken in class AbstractAcceptor

solvingEnded

public void solvingEnded(LocalSearchSolverScope localSearchSolverScope)
Specified by:
solvingEnded in interface LocalSearchSolverLifecycleListener
Overrides:
solvingEnded in class AbstractAcceptor


Copyright © 2001-2011 JBoss Inc.. All Rights Reserved.