 | AnnealingMinimizer Class |
Class AnnealingMinimizer minimizes a multivariable function using
the simulated annealing method.
Inheritance Hierarchy Namespace: CenterSpace.NMath.CoreAssembly: NMath (in NMath.dll) Version: 7.4
Syntaxpublic class AnnealingMinimizer : IMultiVariableMinimizer,
ICloneable
Public Class AnnealingMinimizer
Implements IMultiVariableMinimizer, ICloneable
public ref class AnnealingMinimizer : IMultiVariableMinimizer,
ICloneable
type AnnealingMinimizer =
class
interface IMultiVariableMinimizer
interface ICloneable
end
The AnnealingMinimizer type exposes the following members.
Constructors
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 | 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
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