StopCriteria Type

Record fields

Record Field Description

CancellationToken

Full Usage: CancellationToken

Field type: CancellationToken
Field type: CancellationToken

MaxFunctionEvaluation

Full Usage: MaxFunctionEvaluation

Field type: int
Field type: int

MaxGradientEvaluation

Full Usage: MaxGradientEvaluation

Field type: int
Field type: int

MaxHessianEvaluation

Full Usage: MaxHessianEvaluation

Field type: int
Field type: int

MaxIteration

Full Usage: MaxIteration

Field type: int
Field type: int

MaxStationaryGradientIterations

Full Usage: MaxStationaryGradientIterations

Field type: int
Field type: int

MaxStationaryHessianIterations

Full Usage: MaxStationaryHessianIterations

Field type: int
Field type: int

MaxStationaryPointIterations

Full Usage: MaxStationaryPointIterations

Field type: int
Field type: int

MinFunctionEpsilon

Full Usage: MinFunctionEpsilon

Field type: float
Field type: float

MinGradientEpsilon

Full Usage: MinGradientEpsilon

Field type: float
Field type: float

MinHessianEpsilon

Full Usage: MinHessianEpsilon

Field type: float
Field type: float

Instance members

Instance member Description

this.CheckFunctionEpsilon

Full Usage: this.CheckFunctionEpsilon

Parameters:
    v : float

Returns: StopCriteriaType

Check if objective function value is less than the function epsilon

If the objective function value is less than the function epsilon and only positive optimization is allowed then the ending criteria is set to CriteriaType.FunctionEpsilon and the function returns true;

v : float
Returns: StopCriteriaType

this.CheckFunctionEvaluations

Full Usage: this.CheckFunctionEvaluations

Parameters:
Returns: StopCriteriaType

Check if the number of function evaluations is less than the maximum

If the number of function evaluations is equal to or greater than the maximum number of function evaluations then the ending criteria is set to CriteriaType.MaximumFunctionEvaluation and the function returns true.

counter : StopCounter
Returns: StopCriteriaType

this.CheckGradientEpsilon

Full Usage: this.CheckGradientEpsilon

Parameters:
    normDiff : float

Returns: StopCriteriaType

Check if the norm of the gradient is less than the gradient epsilon

If the norm of the gradient is less than the gradient epsilon then the ending criteria is set to CriteriaType.GradientEpsilon and the function returns true;

normDiff : float
Returns: StopCriteriaType

this.CheckGradientEvaluations

Full Usage: this.CheckGradientEvaluations

Parameters:
Returns: StopCriteriaType

Check if the number of gradient evaluations is less than the maximum

If the number of gradient evaluations is equal to or greater than the maximum number of gradient evaluations then the ending criteria is set to CriteriaType.MaximumGradientEvaluation and the function returns true.

counter : StopCounter
Returns: StopCriteriaType

this.CheckHessianEpsilon

Full Usage: this.CheckHessianEpsilon

Parameters:
    normDiff : float

Returns: StopCriteriaType

Check if the norm of the hessian is less than the hessian epsilon

If the norm of the hessian is less than the gradient epsilon then the ending criteria is set to CriteriaType.HessianEpsilon and the function returns true;

normDiff : float
Returns: StopCriteriaType

this.CheckHessianEvaluations

Full Usage: this.CheckHessianEvaluations

Parameters:
Returns: StopCriteriaType

Check if the number of hessian evaluations is less than the maximum

If the number of hessian evaluations is equal to or greater than the maximum number of hessian evaluations then the ending criteria is set to CriteriaType.MaximumHessianEvaluation and the function returns true.

counter : StopCounter
Returns: StopCriteriaType

this.CheckIteration

Full Usage: this.CheckIteration

Parameters:
Returns: StopCriteriaType

Check if the iteration number is less than the maximum iteration

If iteration count is equal to or greater than the maximum number of iterations then the ending criteria is set to CriteriaType.MaximumIteration and the function returns true.

counter : StopCounter
Returns: StopCriteriaType

this.CheckStationaryGradient

Full Usage: this.CheckStationaryGradient

Parameters:
Returns: StopCriteriaType

Check if gradient function changed by less than the gradient epsilon

If the change in gradient function is less than the gradient epsilon then a possible stationary point has been found. If the number of repeated iterations at this possible stationary point is greater than the maximum iterations at a station point then the ending criteria is set to CriteriaType.StationaryPoint and the function returns true;

stopCounter : StopCounter
gold : float
gnew : float
Returns: StopCriteriaType

this.CheckStationaryHessian

Full Usage: this.CheckStationaryHessian

Parameters:
Returns: StopCriteriaType

Check if hessian function changed by less than the hessian epsilon

If the change in hessian function is less than the hessian epsilon then a possible stationary point has been found. If the number of repeated iterations at this possible stationary point is greater than the maximum iterations at a station point then the ending criteria is set to CriteriaType.StationaryPoint and the function returns true;

stopCounter : StopCounter
gold : float
gnew : float
Returns: StopCriteriaType

this.CheckStationaryPoint

Full Usage: this.CheckStationaryPoint

Parameters:
Returns: StopCriteriaType

Check if objective function changed by less than the function epsilon

If the change in objective function is less than the function epsilon then a possible stationary point has been found. If the number of repeated iterations at this possible stationary point is greater than the maximum iterations at a station point then the ending criteria is set to CriteriaType.StationaryPoint and the function returns true;

stopCounter : StopCounter
fold : float
fnew : float
Returns: StopCriteriaType

this.IsCriteria

Full Usage: this.IsCriteria

Parameters:
Returns: bool

Check if ending criteria are met

Returns true if one of the ending criteria is met, otherwise it returns false

stopCounter : StopCounter
fold : float
fnew : float
Returns: bool

this.IsGradientCriteria

Full Usage: this.IsGradientCriteria

Parameters:
    stopCounter : StopCounter
    normgold : float
    normgnew : float

Returns: bool

Check if gradient criteria are met

Returns true if one of the gradient criteria is not met, otherwise it returns false

stopCounter : StopCounter
normgold : float
normgnew : float
Returns: bool

Static members

Static member Description

StopCriteria.InitWith(maxiteration, epsilon, maxfunctionevaluation, maxstationarypointiterations, cancellationToken)

Full Usage: StopCriteria.InitWith(maxiteration, epsilon, maxfunctionevaluation, maxstationarypointiterations, cancellationToken)

Parameters:
    maxiteration : int
    epsilon : float
    maxfunctionevaluation : int
    maxstationarypointiterations : int
    cancellationToken : CancellationToken

Returns: StopCriteria
maxiteration : int
epsilon : float
maxfunctionevaluation : int
maxstationarypointiterations : int
cancellationToken : CancellationToken
Returns: StopCriteria