This class implements a simulated annealing training algorithm for neural networks. It is based on the generic SimulatedAnnealing class. It is used in the same manner as any other training class that implements the Train interface. There are essentially two ways you can make use of this class. Either way, you will need a score object. The score object tells the simulated annealing algorithm how well suited a neural network is. If you would like to use simulated annealing with a training set you should make use TrainingSetScore class. This score object uses a training set to score your neural network. If you would like to be more abstract, and not use a training set, you can create your own implementation of the CalculateScore method. This class can then score the networks any way that you like.