Unit Line Search Class
Implements a line search algorithm that always takes a unit step.
Definition
Namespace: Numerics.NET.Optimization.LineSearches
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.1.5
C#
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.1.5
public class UnitLineSearch : OneDimensionalOptimizer- Inheritance
- Object → ManagedIterativeAlgorithm<Double, Double, SolutionReport<Double, Double>> → ManagedIterativeAlgorithm<Double> → OneDimensionalOptimizer → UnitLineSearch
Remarks
Use the UnitLineSearch class to force an optimization algorithm to take a full step in every iteration. Quasi-Newton methods perform a line search in order to find a point that will guarantee convergence. When close to the solution, taking unit steps will lead to quadratic convergence.
This class is not suitable for general optimization in one dimension.
Constructors
| Unit | Constructs a new UnitLineSearch object. |
Properties
| Convergence |
Gets the collection of convergence tests for the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Derivative |
Gets or sets the derivative of the objective function.
(Inherited from OneDimensionalOptimizer) |
| 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 the approximation to the extremum after the algorithm has run.
(Inherited from OneDimensionalOptimizer) |
| Extremum |
Gets or sets the type of extremum.
(Inherited from OneDimensionalOptimizer) |
| Has |
Indicates whether the degree of parallelism is a property that is shared
across instances.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| IsBracket |
Gets whether the algorithm's current bracket is valid.
(Inherited from OneDimensionalOptimizer) |
| 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 OneDimensionalOptimizer) |
| Objective |
Gets or sets a function that computes the value of the objective function
and its derivative.
(Inherited from OneDimensionalOptimizer) |
| Parallel |
Gets or sets the configuration for the parallel behavior of the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| 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>) |
| Solution |
Gets the convergence test that uses the solution of the optimization.
(Inherited from OneDimensionalOptimizer) |
| Status |
Gets the AlgorithmStatus following
an execution of the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Symbolic |
Gets or sets the objective function.
(Inherited from OneDimensionalOptimizer) |
| Throw |
Gets or sets whether to throw an
exception when the algorithm fails to converge.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
| Value |
Gets the value of the objective function at the approximation to the extremum after the algorithm has run.
(Inherited from OneDimensionalOptimizer) |
Methods
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
| Evaluate |
Evaluates the objective function.
(Inherited from OneDimensionalOptimizer) |
| Evaluate |
Evaluates the derivative of the objective function.
(Inherited from OneDimensionalOptimizer) |
| Evaluate |
Evaluates the objective function and its derivative.
(Inherited from OneDimensionalOptimizer) |
| 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 |
Finds an interval that brackets the extremum, starting from the interval [0,1].
(Inherited from OneDimensionalOptimizer) |
| Find |
Finds an interval that brackets the extremum, starting from an interval of unit width centered around the specified point.
(Inherited from OneDimensionalOptimizer) |
| Find |
Finds an interval that brackets the extremum, starting from an interval with the specified bounds.
(Inherited from OneDimensionalOptimizer) |
| Find |
Finds an interval that brackets the extremum, starting from an interval with the specified bounds and
interior point.
(Inherited from OneDimensionalOptimizer) |
| Find |
Searches for an extremum.
(Inherited from OneDimensionalOptimizer) |
| Find |
Computes a maximum of the specified function.
(Inherited from OneDimensionalOptimizer) |
| Find |
Computes a maximum of the specified function.
(Inherited from OneDimensionalOptimizer) |
| Find |
Computes a minimum of the specified function.
(Inherited from OneDimensionalOptimizer) |
| Find |
Computes a minimum of the specified function.
(Inherited from OneDimensionalOptimizer) |
| 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.
(Overrides ManagedIterativeAlgorithm<T, TError, TReport>.Iterate()) |
| 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 OneDimensionalOptimizer) |
| 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.
(Overrides OneDimensionalOptimizer.OnInit()) |
| 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>) |
| Test |
Checks whether the algorithm has converged.
(Overrides ManagedIterativeAlgorithm<T, TError, TReport>.TestConvergence()) |
| 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) |