com.mrami.libre.annealing
Interface Annealable


public interface Annealable

This class represents an annealable entity. The process for the Annealable is thus:

Version:
$Id: Annealable.java,v 1.2 2005/02/17 17:15:28 mrami Exp $
Author:
mrami
See Also:
Annealer

Method Summary
 void commitChange(Change change)
          Accept a change memento
 double getCost()
          Get the cost (energy) of the current configuration.
 Change makeChange()
          Create a memento that represents a permutation of the Annealable.
 

Method Detail

makeChange

public Change makeChange()
Create a memento that represents a permutation of the Annealable. The change should be random within the degrees of freedom of the problem.

NOTE: Annealer assumes any changes to the Annealable will invalidate all existing mementos.

Returns:
a change memento

commitChange

public void commitChange(Change change)
Accept a change memento

Parameters:
change - the change memento

getCost

public double getCost()
Get the cost (energy) of the current configuration.

Returns:
the energy