[ILNumerics Optimization Toolbox]
ILNumerics.ToolboxesFminCallbackInfoT
Namespace: ILNumerics.Toolboxes
Assembly: ILNumerics.Toolboxes.Optimization (in ILNumerics.Toolboxes.Optimization.dll) Version: 5.5.0.0 (5.5.7503.3146)
Type Parameters
- T
- element type, currently always: System.double
The FminCallbackInfoT type exposes the following members.
Name | Description | |
---|---|---|
FminCallbackInfoT | Initializes a new instance of the FminCallbackInfoT class |
Name | Description | |
---|---|---|
Cancel |
Gets a flag indicating whether the iterations should be immediately canceled or sets its value.
[ILNumerics Optimization Toolbox] | |
DistX |
The difference between the current value of XSub and the value from the last iteration [readonly].
[ILNumerics Optimization Toolbox] | |
EqConst |
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] | |
FCost |
The cost function value gives a measure of the penalty introduced by the constraints [readonly].
[ILNumerics Optimization Toolbox] | |
GradL |
The gradient of the Lagrangian at position XSub [readonly].
[ILNumerics Optimization Toolbox] | |
IneqConst |
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] | |
IterCount |
Upwards counting number of this iteration.
[ILNumerics Optimization Toolbox] | |
XSub |
The current intermediate solution (minimizer) of the subproblem solved in this iteration step [readonly].
[ILNumerics Optimization Toolbox] |
Name | Description | |
---|---|---|
Dispose |
Dispose this instance and all the data contained within. This is managed by ILNumerics automatically. Users must not call Dispose() explicitly.
[ILNumerics Optimization Toolbox] |
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]