ILNumerics Ultimate VS

FminCallbackInfoT Class

ILNumerics Ultimate VS Documentation
ILNumerics - Technical Application Development
This class provides users of fmin(OptimizationObjectiveFunctionDouble, InArrayDouble, InArrayDouble, InArrayDouble, OptimizationObjectiveFunctionDouble, OptimizationObjectiveFunctionDouble, HessianUpdateMethod, Int32, NullableDouble, NullableDouble, OutArrayDouble, OutArrayDouble, OptimizationFminIterationCallbackDouble) with information at each iteration step.

[ILNumerics Optimization Toolbox]

Inheritance Hierarchy

SystemObject
  ILNumerics.ToolboxesFminCallbackInfoT

Namespace:  ILNumerics.Toolboxes
Assembly:  ILNumerics.Toolboxes.Optimization (in ILNumerics.Toolboxes.Optimization.dll) Version: 5.5.0.0 (5.5.7503.3146)
Syntax

public class FminCallbackInfo<T> : IDisposable

Type Parameters

T
element type, currently always: System.double

The FminCallbackInfoT type exposes the following members.

Constructors

  NameDescription
Public methodFminCallbackInfoT
Initializes a new instance of the FminCallbackInfoT class
Top
Properties

  NameDescription
Public propertyCancel
Gets a flag indicating whether the iterations should be immediately canceled or sets its value.

[ILNumerics Optimization Toolbox]

Public propertyDistX
The difference between the current value of XSub and the value from the last iteration [readonly].

[ILNumerics Optimization Toolbox]

Public propertyEqConst
Evaluation of the equalty constraints (if provided to fmin(OptimizationObjectiveFunctionDouble, InArrayDouble, InArrayDouble, InArrayDouble, OptimizationObjectiveFunctionDouble, OptimizationObjectiveFunctionDouble, HessianUpdateMethod, Int32, NullableDouble, NullableDouble, OutArrayDouble, OutArrayDouble, OptimizationFminIterationCallbackDouble) at XSub [readonly].

[ILNumerics Optimization Toolbox]

Public propertyFCost
The cost function value gives a measure of the penalty introduced by the constraints [readonly].

[ILNumerics Optimization Toolbox]

Public propertyGradL
The gradient of the Lagrangian at position XSub [readonly].

[ILNumerics Optimization Toolbox]

Public propertyIneqConst
Evaluation of the inequalty constraints (if provided to fmin(OptimizationObjectiveFunctionDouble, InArrayDouble, InArrayDouble, InArrayDouble, OptimizationObjectiveFunctionDouble, OptimizationObjectiveFunctionDouble, HessianUpdateMethod, Int32, NullableDouble, NullableDouble, OutArrayDouble, OutArrayDouble, OptimizationFminIterationCallbackDouble) at XSub [readonly].

[ILNumerics Optimization Toolbox]

Public propertyIterCount
Upwards counting number of this iteration.

[ILNumerics Optimization Toolbox]

Public propertyXSub
The current intermediate solution (minimizer) of the subproblem solved in this iteration step [readonly].

[ILNumerics Optimization Toolbox]

Top
Methods

  NameDescription
Public methodDispose
Dispose this instance and all the data contained within. This is managed by ILNumerics automatically. Users must not call Dispose() explicitly.

[ILNumerics Optimization Toolbox]

Top
Remarks

If user provides a function to fmin(OptimizationObjectiveFunctionDouble, InArrayDouble, InArrayDouble, InArrayDouble, OptimizationObjectiveFunctionDouble, OptimizationObjectiveFunctionDouble, HessianUpdateMethod, Int32, NullableDouble, NullableDouble, OutArrayDouble, OutArrayDouble, OptimizationFminIterationCallbackDouble) as callback, the function gets called at each major iteration. An instance of this class is handled over to the function as parameter. It provides extensive information about the state of the optimization process, including details of the subproblem solved in that iteration.

This class gives access to the following information:

IterCount - upwards counting number of the major iteration. Each time the callback gets called, IterCount is incremented.XSub - the current intermediate solution of the subproblem solved. This is not a solution of the constrained optimization problem defined. Instead XSub describes a solution of the unconstrained subproblem stated by the Lagrangian in each iteration step.GradL - the gradient of the Lagrangian at position XSub. Each major iteration in a constrained optimization problem involves the minimization of an unconstrained subproblem (Lagrangian). The minimum of that subproblem is expected to have a gradient of 0. The actual value returned in GradL serves as a hint for the quality of the solution of the current subproblem.DistX - the difference between the current value of XSub and the value from the last iteration. Decreasing values for DistX in most problems indicate progress towards an optimal solution. DistX gives the 2-norm of the difference.EqConst - if equalty constraints are provided for fmin(OptimizationObjectiveFunctionDouble, InArrayDouble, InArrayDouble, InArrayDouble, OptimizationObjectiveFunctionDouble, OptimizationObjectiveFunctionDouble, HessianUpdateMethod, Int32, NullableDouble, NullableDouble, OutArrayDouble, OutArrayDouble, OptimizationFminIterationCallbackDouble) this parameter gives the evaluation of these constraints at XSub. The absolute value of EqConst serves as a measure for the violation of the equalty constraint at the current intermediate solution XSub.IneqConst - if inequalty constraints have been provided for fmin(OptimizationObjectiveFunctionDouble, InArrayDouble, InArrayDouble, InArrayDouble, OptimizationObjectiveFunctionDouble, OptimizationObjectiveFunctionDouble, HessianUpdateMethod, Int32, NullableDouble, NullableDouble, OutArrayDouble, OutArrayDouble, OptimizationFminIterationCallbackDouble) this parameter gives the evaluation of these constraints at XSub. If the value of IneqConst is larger than 0 this serves as a measure for the violation of the constraints at the current intermediate solution XSub.FCost - the cost function gives a measure of the penalty introduced by the constraints (bound-, equalty-, and inequalty constraints) to the current solution value. Since fmin(OptimizationObjectiveFunctionDouble, InArrayDouble, InArrayDouble, InArrayDouble, OptimizationObjectiveFunctionDouble, OptimizationObjectiveFunctionDouble, HessianUpdateMethod, Int32, NullableDouble, NullableDouble, OutArrayDouble, OutArrayDouble, OptimizationFminIterationCallbackDouble) tries to minimize these violations decreasing values of FCost may indicate a progress towards an optimal solution. However, it is normal for an algorithm run to create non constantly decreasing values.Cancel - flag used to signal the immediate cancellation of the algorithm.

This class implements the IDisposable interface. The lifetime of the class is controlled by fmin(OptimizationObjectiveFunctionDouble, InArrayDouble, InArrayDouble, InArrayDouble, OptimizationObjectiveFunctionDouble, OptimizationObjectiveFunctionDouble, HessianUpdateMethod, Int32, NullableDouble, NullableDouble, OutArrayDouble, OutArrayDouble, OptimizationFminIterationCallbackDouble) and spans the duration of the optimization run only. After the execution returned from fmin(OptimizationObjectiveFunctionDouble, InArrayDouble, InArrayDouble, InArrayDouble, OptimizationObjectiveFunctionDouble, OptimizationObjectiveFunctionDouble, HessianUpdateMethod, Int32, NullableDouble, NullableDouble, OutArrayDouble, OutArrayDouble, OptimizationFminIterationCallbackDouble) instances of the info class used in any iteration will be disposed and should not get referenced anymore.

[ILNumerics Optimization Toolbox]

See Also

Reference