Click or drag to resize

FindMinimumOfFunctionConstrained Method

Find vector x that minimizes the function f(x), constrained within bounds, using the Broyden–Fletcher–Goldfarb–Shanno Bounded (BFGS-B) algorithm. The missing gradient is evaluated numerically (forward difference). For more options and diagnostics consider to use BfgsBMinimizer directly.

Namespace: Altaxo.Calc
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public static Vector<double> OfFunctionConstrained(
	Func<Vector<double>, double> function,
	Vector<double> lowerBound,
	Vector<double> upperBound,
	Vector<double> initialGuess,
	double gradientTolerance = 1E-05,
	double parameterTolerance = 1E-05,
	double functionProgressTolerance = 1E-05,
	int maxIterations = 1000
)

Parameters

function  FuncVectorDouble, Double

[Missing <param name="function"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

lowerBound  VectorDouble

[Missing <param name="lowerBound"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

upperBound  VectorDouble

[Missing <param name="upperBound"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

initialGuess  VectorDouble

[Missing <param name="initialGuess"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

gradientTolerance  Double  (Optional)

[Missing <param name="gradientTolerance"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

parameterTolerance  Double  (Optional)

[Missing <param name="parameterTolerance"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

functionProgressTolerance  Double  (Optional)

[Missing <param name="functionProgressTolerance"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

maxIterations  Int32  (Optional)

[Missing <param name="maxIterations"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

Return Value

VectorDouble

[Missing <returns> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

See Also