|  | AnnealingMinimizer Class | 
            Class AnnealingMinimizer minimizes a multivariable function using
            the simulated annealing method.
            
 Inheritance Hierarchy
Inheritance Hierarchy NMath (in NMath.dll) Version: 7.4
 Syntax
Syntaxpublic class AnnealingMinimizer : IMultiVariableMinimizer, 
	ICloneable
Public Class AnnealingMinimizer
	Implements IMultiVariableMinimizer, ICloneable
public ref class AnnealingMinimizer : IMultiVariableMinimizer, 
	ICloneable
type AnnealingMinimizer = 
    class
        interface IMultiVariableMinimizer
        interface ICloneable
    endThe AnnealingMinimizer type exposes the following members.
 Constructors
Constructors Properties
Properties|  | Name | Description | 
|---|
|   | DefaultRandomNumberGenerator | Gets and sets the default random number generator for use by
            AnnealingMinimizer instances. | 
|  | Error | Gets the final error associated with the mimimum just computed. | 
|  | History | Gets a history of the annealing schedule just performed. | 
|  | KeepHistory | Gets and sets whether to keep a history of the annealing process. | 
|  | RandomNumberGenerator | Gets and sets the random number generator associated with this minimizer. | 
|  | Schedule | Gets and sets the annealing schedule. | 
|  | ToleranceMet | Returns true if the minimum just computed stopped because the
            error tolerance was reached; otherwise, false. | 
Top Methods
Methods|  | Name | Description | 
|---|
|  | Clone | Creates a deep copy of this AnnealingMinimizer. | 
|  | Minimize(DoubleFunctional, DoubleVector) | Minimizes the given function using the annealing schedule currently
            associated with this minimizer. | 
|  | Minimize(MultiVariableFunction, DoubleVector) | Obsolete. Minimizes the given function using the annealing schedule currently
            associated with this minimizer.
 | 
|  | OnDeserialized | Restores historySerialized, points history to historySerialized,
            and clears historySerialized | 
|  | OnSerialized | Clear temp serialization var | 
|  | OnSerializing | Conditionally store history.  If keep history, then set historySerialized (which is serialized)
            equal to history_ (which is not serialized) | 
Top Fields
Fields Remarks
Remarks
            Simulated annealing is based on an analogy from materials science, where
            to produce a solid in a low energy state (such as a perfect crystal), you
            first heat the system to a high temperature, then cool it gradually. In
            the computational analogy of this method, a function is iteratively minimized
            with an added random 
temperature term. The temperature is gradually
            decreased according to an 
annealing schedule as more optimizations
            are applied, increasing the likelihood of avoiding entrapment in local
            minima, and of finding the global minimum of the function. The annealing
            schedule governs the choice of initial temperature, how many iterations
            are performed at each temperature, and how much the temperature is
            decremented at each step as cooling proceeds.
            
AnnealingScheduleBase is the abstract base class for annealing
            schedules. Two concrete implementations are provided: 
LinearAnnealingSchedule
            and 
CustomAnnealingSchedule.
            
 
            For help optimizing the annealing schedule for a particular function, 
            set the 
KeepHistory property to 
true. 
            There is a cost in memory and execution to keeping the history, but the
            history contains lots of useful information that can be used to alter
            the annealing schedule. The history is accessed by the 
AnnealingHistory
            property.
            
 See Also
See Also