Extreme Optimization™: Complexity made simple.

Numerical Components
for .NET

  • Home
  • •
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • •
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • •
  • Support
    • Frequently Asked Questions
    • QuickStart Samples
    • Sample Applications
    • Downloads
  • •
  • Blog
  • •
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Contact us
Introduction
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand ReferenceReference
  • Home
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Reference
    • Extreme.Mathematics Namespace
    • Extreme.Mathematics.Algorithms Namespace
    • Extreme.Mathematics.Calculus Namespace
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations Namespace
    • Extreme.Mathematics.Curves Namespace
    • Extreme.Mathematics.Curves.Nonlinear Namespace
    • Extreme.Mathematics.EquationSolvers Namespace
    • Extreme.Mathematics.Generic Namespace
    • Extreme.Mathematics.Generic.LinearAlgebra Namespace
    • Extreme.Mathematics.Generic.LinearAlgebra.Providers Namespace
    • Extreme.Mathematics.LinearAlgebra Namespace
    • Extreme.Mathematics.LinearAlgebra.Complex Namespace
    • Extreme.Mathematics.LinearAlgebra.IO Namespace
    • Extreme.Mathematics.LinearAlgebra.Providers Namespace
    • Extreme.Mathematics.LinearAlgebra.Sparse Namespace
    • Extreme.Mathematics.Optimization Namespace
    • Extreme.Mathematics.Optimization.LinearProgramming Namespace
    • Extreme.Mathematics.SignalProcessing Namespace
    • Extreme.Mathematics.SpecialFunctions Namespace
    • Extreme.Statistics Namespace
    • Extreme.Statistics.Distributions Namespace
    • Extreme.Statistics.Multivariate Namespace
    • Extreme.Statistics.Random Namespace
    • Extreme.Statistics.Tests Namespace
    • Extreme.Statistics.TimeSeriesAnalysis Namespace
  • Extreme.Mathematics.Optimization Namespace
    • BacktrackingLineSearch Class
    • BrentDerivativeOptimizer Class
    • BrentOptimizer Class
    • ConjugateGradientMethod Enumeration
    • ConjugateGradientOptimizer Class
    • DirectionalOptimizer Class
    • ExtremumType Enumeration
    • GoldenSectionOptimizer Class
    • LevenbergMarquardtOptimizer Class
    • MoreThuenteLineSearch Class
    • MultidimensionalOptimizer Class
    • NelderMeadOptimizer Class
    • OneDimensionalOptimizer Class
    • ParabolicLineSearch Class
    • PowellOptimizer Class
    • QuasiNewtonMethod Enumeration
    • QuasiNewtonOptimizer Class
    • UnitLineSearch Class
  • MoreThuenteLineSearch Class
    • Members
    • Constructors
    • Methods
    • Properties
Collapse imageExpand ImageCopy imageCopyHover image
       




MoreThuenteLineSearch Class

Members  See Also 
Represents a line search using the algorithm of Moré and Thuente.

Namespace:  Extreme.Mathematics.Optimization
Assembly:  Extreme.Numerics.Net20 (in Extreme.Numerics.Net20.dll) Version: 3.6.10055.0 (3.6.10077.0)

Syntax

C#
public sealed class MoreThuenteLineSearch : OneDimensionalOptimizer
Visual Basic (Declaration)
Public NotInheritable Class MoreThuenteLineSearch _
	Inherits OneDimensionalOptimizer
Visual C++
public ref class MoreThuenteLineSearch sealed : public OneDimensionalOptimizer
F#
[<SealedAttribute>]
type MoreThuenteLineSearch =  
    class
        inherit OneDimensionalOptimizer
    end

Remarks

Use the MoreThuenteLineSearch class as a line search method in a multidimensional optimization algorithm. This class is not suitable for general optimization in one dimension.

The Moré-Thuente algorithm is the line search method of choice for most applications, particularly when the gradient of the objective function is relatively cheap. The algorithm uses a custom termination criterion based on the Wolfe conditions. These conditions guarantee convergence of quasi-Newton algorithms in most situations.

The algorithm uses the Wolfe conditions as termination criteria. The parameters of the Wolfe conditions can be set or retrieved through the DescentFactor and CurvatureFactor, respectively.

Conjugate gradient methods, including Powell's method, require fairly precise line searches. This means many function evaluations may be needed, which can get expensive when evaluating the gradient is expensive.

Inheritance Hierarchy

System..::.Object
  Extreme.Mathematics.Algorithms..::.IterativeAlgorithm<(Of <(<'Double>)>)>
    Extreme.Mathematics.Algorithms..::.ManagedIterativeAlgorithm<(Of <(<'Double>)>)>
      Extreme.Mathematics.Optimization..::.OneDimensionalOptimizer
        Extreme.Mathematics.Optimization..::.MoreThuenteLineSearch

See Also

MoreThuenteLineSearch Members
Extreme.Mathematics.Optimization Namespace

Send comments on this topic to support@extremeoptimization.com

Copyright © 2003-2010, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.