Population Based Optimizer<TSolution, TPopulation, TCandidate> Class
Represents an optimizer that uses a population-based algorithm.
Definition
Namespace: Numerics.NET.Optimization
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.1.0
C#
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.1.0
public abstract class PopulationBasedOptimizer<TSolution, TPopulation, TCandidate> : MultidimensionalOptimizer<TSolution, OptimizationSolutionReport<TSolution>>
where TPopulation : Population<TSolution, TCandidate>
where TCandidate : Object, ICandidate<TSolution>
- Inheritance
- Object → ManagedIterativeAlgorithm<TSolution, Double, OptimizationSolutionReport<TSolution>> → MultidimensionalOptimizer<TSolution, OptimizationSolutionReport<TSolution>> → PopulationBasedOptimizer<TSolution, TPopulation, TCandidate>
- Derived
Type Parameters
- TSolution
- The type of the solutions.
- TPopulation
- The type of the population. Must inherit from Population<TSolution, TCandidate>
- TCandidate
- The type of the candidate solutions that make up the population. Must implement ICandidate<TSolution>.
Constructors
Population | Constructs a new [!:PopulationBasedOptimizer] class. |
Properties
Convergence |
Gets the collection of convergence tests for the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Diversity | Gets the convergence test that measures population diversity. |
Estimated |
Gets a value indicating the size of the absolute
error of the result.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Evaluations |
Gets the number of evaluations needed to execute the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Evaluations |
Gets the number of evaluations still available.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Extremum |
Gets or sets the current best approximation to the extremum.
(Inherited from MultidimensionalOptimizer<T, TReport>) |
Extremum |
Gets or sets the type of extremum.
(Inherited from MultidimensionalOptimizer<T, TReport>) |
Has | Gets a value indicating whether the optimizer has constraints. |
Has |
Indicates whether the degree of parallelism is a property that is shared
across instances.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Initial |
Gets or sets the initial value for the iteration.
(Inherited from MultidimensionalOptimizer<T, TReport>) |
Iterations |
Gets the number of iterations needed by the
algorithm to reach the desired accuracy.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Iterations |
Gets the number of iterations remaining.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Max |
Gets or sets the maximum degree of parallelism enabled by this instance.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Max |
Gets or sets the maximum number of evaluations during the calculation.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Max | Gets or sets the maximum number of iterations
to use when approximating the roots of the target
function.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Min |
Gets or sets the minimum iterations that have to be performed.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Objective |
Gets or sets the objective function.
(Inherited from MultidimensionalOptimizer<T, TReport>) |
Parallel |
Gets or sets the configuration for the parallel behavior of the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Population | Gets the current population of solutions. |
Population | Gets the convergence test that uses the population's coefficient of variation. |
Population | Gets or sets the population size used in the algorithm. |
Random | Gets or sets the random number generator used by the optimizer. |
Result |
Gets the result of an algorithm after it has executed.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Solution |
Gets the result of an algorithm after it has executed.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Status |
Gets the AlgorithmStatus following
an execution of the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Throw |
Gets or sets whether to throw an
exception when the algorithm fails to converge.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Value |
Gets or sets the current value of the objective function.
(Inherited from MultidimensionalOptimizer<T, TReport>) |
Values | Gets the function values of the current population. |
Value |
Gets the SimpleConvergenceTest<T> that uses the value of the target functions.
(Inherited from MultidimensionalOptimizer<T, TReport>) |
Methods
Add | Adds a constraint function g(x) that must satisfy g(x) ≤ 0. |
Clear | Clears all constraint functions. |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
Evaluate |
Evaluates the objective function.
(Inherited from MultidimensionalOptimizer<T, TReport>) |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object) |
Find |
Searches for an extremum.
(Inherited from MultidimensionalOptimizer<T, TReport>) |
Find |
Searches for a maximum.
(Inherited from MultidimensionalOptimizer<T, TReport>) |
Find |
Searches for a minimum.
(Inherited from MultidimensionalOptimizer<T, TReport>) |
Get | Gets the total constraint violation for a given solution vector. |
Get | Serves as the default hash function. (Inherited from Object) |
Get | Gets the Type of the current instance. (Inherited from Object) |
Increment |
Increments the number of evaluations by one.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Increment |
Increments the number of evaluations by the specified amount.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Iterate |
Performs one iteration of the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Iterated |
Performs tasks after the iteration is completed, but before
the status of the algorithm is finalized.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Memberwise | Creates a shallow copy of the current Object. (Inherited from Object) |
OnConvergence |
Performs any tasks after the main algorithm has converged.
(Inherited from MultidimensionalOptimizer<T, TReport>) |
OnFailure |
Performs any tasks after the main algorithm has failed to converge.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
OnInit |
Performs initialization before the first iteration.
(Inherited from MultidimensionalOptimizer<T, TReport>) |
Report |
Records the results of an algorithm in case it fails.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Report |
Records the results of an algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Report |
Records the results of a algorithm that converged successfully.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Reset |
Resets the number of evaluations to zero.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Restart |
Prepares the algorithm to be run again with possibly different inputs.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Run() |
Runs the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Run( |
Runs the algorithm using the specified parallelization options.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Set |
Sets the results of an algorithm's execution.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Set |
Sets the value of the objective function at the extremum to the supplied value.
(Inherited from MultidimensionalOptimizer<T, TReport>) |
Test |
Checks whether the algorithm has converged.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Thread |
Increments the number of evaluations by one.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Thread |
Increments the number of evaluations by the specified amount.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Throw |
Interprets the AlgorithmStatus and
throws the appropriate exception.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
ToString | Returns a string that represents the current object. (Inherited from Object) |