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

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

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 phaseEnded(LocalSearchSolverPhaseScope localSearchSolverPhaseScope)
           
 void phaseStarted(LocalSearchSolverPhaseScope localSearchSolverPhaseScope)
           
 void setAcceptorList(List<Acceptor> acceptorList)
           
 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)

phaseStarted

public void phaseStarted(LocalSearchSolverPhaseScope localSearchSolverPhaseScope)
Specified by:
phaseStarted in interface LocalSearchSolverPhaseLifecycleListener
Overrides:
phaseStarted in class LocalSearchSolverPhaseLifecycleListenerAdapter

beforeDeciding

public void beforeDeciding(LocalSearchStepScope localSearchStepScope)
Specified by:
beforeDeciding in interface LocalSearchSolverPhaseLifecycleListener
Overrides:
beforeDeciding in class LocalSearchSolverPhaseLifecycleListenerAdapter

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 LocalSearchSolverPhaseLifecycleListener
Overrides:
stepDecided in class LocalSearchSolverPhaseLifecycleListenerAdapter

stepTaken

public void stepTaken(LocalSearchStepScope localSearchStepScope)
Specified by:
stepTaken in interface LocalSearchSolverPhaseLifecycleListener
Overrides:
stepTaken in class LocalSearchSolverPhaseLifecycleListenerAdapter

phaseEnded

public void phaseEnded(LocalSearchSolverPhaseScope localSearchSolverPhaseScope)
Specified by:
phaseEnded in interface LocalSearchSolverPhaseLifecycleListener
Overrides:
phaseEnded in class LocalSearchSolverPhaseLifecycleListenerAdapter


Copyright © 2001-2011 JBoss by Red Hat. All Rights Reserved.