org.drools.planner.core.localsearch.decider.acceptor.simulatedannealing
Class SimulatedAnnealingAcceptor

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.simulatedannealing.SimulatedAnnealingAcceptor
All Implemented Interfaces:
EventListener, Acceptor, LocalSearchSolverPhaseLifecycleListener

public class SimulatedAnnealingAcceptor
extends AbstractAcceptor

The time gradient implementation of simulated annealing.


Field Summary
protected  int partsLength
           
protected  Score startingTemperature
           
protected  double[] startingTemperatureParts
           
protected  double temperatureMinimum
           
protected  double[] temperatureParts
           
 
Fields inherited from class org.drools.planner.core.localsearch.decider.acceptor.AbstractAcceptor
logger
 
Constructor Summary
SimulatedAnnealingAcceptor()
           
 
Method Summary
 double calculateAcceptChance(MoveScope moveScope)
          TODO the use for an acceptChance between 0.0 and 1.0 is unproven.
 void phaseStarted(LocalSearchSolverPhaseScope localSearchSolverPhaseScope)
           
 void setStartingTemperature(Score startingTemperature)
           
 void stepTaken(LocalSearchStepScope localSearchStepScope)
           
 
Methods inherited from class org.drools.planner.core.localsearch.event.LocalSearchSolverPhaseLifecycleListenerAdapter
beforeDeciding, phaseEnded, stepDecided
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.drools.planner.core.localsearch.event.LocalSearchSolverPhaseLifecycleListener
beforeDeciding, phaseEnded, stepDecided
 

Field Detail

startingTemperature

protected Score startingTemperature

partsLength

protected int partsLength

startingTemperatureParts

protected double[] startingTemperatureParts

temperatureParts

protected double[] temperatureParts

temperatureMinimum

protected double temperatureMinimum
Constructor Detail

SimulatedAnnealingAcceptor

public SimulatedAnnealingAcceptor()
Method Detail

setStartingTemperature

public void setStartingTemperature(Score startingTemperature)

phaseStarted

public void phaseStarted(LocalSearchSolverPhaseScope localSearchSolverPhaseScope)
Specified by:
phaseStarted in interface LocalSearchSolverPhaseLifecycleListener
Overrides:
phaseStarted 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)

stepTaken

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


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