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

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

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 setStartingTemperature(Score startingTemperature)
           
 void solvingStarted(LocalSearchSolverScope localSearchSolverScope)
           
 void stepTaken(LocalSearchStepScope localSearchStepScope)
           
 
Methods inherited from class org.drools.planner.core.localsearch.decider.acceptor.AbstractAcceptor
beforeDeciding, solvingEnded, stepDecided
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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)

solvingStarted

public void solvingStarted(LocalSearchSolverScope localSearchSolverScope)
Specified by:
solvingStarted in interface LocalSearchSolverLifecycleListener
Overrides:
solvingStarted 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)

stepTaken

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


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