hu.birot.OTKit.performance
Class CoolingSchedule

java.lang.Object
  extended by hu.birot.OTKit.performance.CoolingSchedule

public abstract class CoolingSchedule
extends java.lang.Object

This interface gives you the general framework for defining a cooling schedule for simulated annealing. In general, you need three components: the initial temperature, the function decreasing the temperature and the stoping condition.


Constructor Summary
CoolingSchedule()
           
 
Method Summary
abstract  Temperature initial()
          This method returns the initial temperature, that is, the value of the temperature at the beginning of the simulated annealing.
abstract  Temperature next(Temperature t)
          The function decreasing the temperature.
abstract  boolean stop(Temperature t)
          Stopping condition: simulated annealing runs as long as it is false.
 java.lang.String test()
          Tests a cooling schedule.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CoolingSchedule

public CoolingSchedule()
Method Detail

initial

public abstract Temperature initial()
This method returns the initial temperature, that is, the value of the temperature at the beginning of the simulated annealing.


next

public abstract Temperature next(Temperature t)
The function decreasing the temperature.

Parameters:
t - : The value of the temperature until now. Note that additional information can also be stored in the different counters of a temperature (such as the number of iterations having performed with the same temperature), which allows one to define trickier cooling schedules.
Returns:
The new value of the temperature.

stop

public abstract boolean stop(Temperature t)
Stopping condition: simulated annealing runs as long as it is false.

Parameters:
t - : The acutal value of the temperature. Note that additional information can be stored in the different counters of the temperature (such as the number of iterations the random walker has not moved), which can also be used to define the stopping condition.
Returns:
True if the algorithm must stop, otherwise false.

test

public java.lang.String test()
Tests a cooling schedule. This method returns a string that contains the value of the temperature, as the later is decreased from its initial value until the stopping condition does not become true.

Returns:
A string containing the Temperature as decreased according to this testing schedule.