BoundedLeastSquares Class |
Namespace: Imsl.Math
The BoundedLeastSquares type exposes the following members.
Name | Description | |
---|---|---|
BoundedLeastSquares |
Constructor for BoundedLeastSquares.
|
Name | Description | |
---|---|---|
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetJacobianSolution |
Returns the Jacobian at the approximate solution.
| |
GetResiduals |
Returns the residuals at the approximate solution.
| |
GetSolution |
Returns the solution.
| |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
SetFscale |
Sets the diagonal scaling matrix for the functions.
| |
SetGuess |
Sets the initial guess of the solution.
| |
SetInternalScale |
The internal variable scaling option.
| |
SetXscale |
The scaling vector for the variables.
| |
Solve |
Solves a nonlinear least-squares problem subject to bounds on the
variables using a modified Levenberg-Marquardt algorithm.
| |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
AbsoluteTolerance |
The absolute function tolerance.
| |
Digits |
The number of good digits in the function.
| |
GradientTolerance |
The scaled gradient tolerance.
| |
MaximumFunctionEvals |
The maximum number of function evaluations.
| |
MaximumIterations |
The maximum number of iterations.
| |
MaximumJacobianEvals |
The maximum number of Jacobian evaluations.
| |
MaximumStepsize |
The maximum allowable step size.
| |
NumberOfProcessors |
Perform the parallel calculations with the maximum possible number of
processors set to NumberOfProcessors.
| |
Parallel |
Enable or disable performing MinUnconMultiVar.IFunction.F in parallel.
| |
RelativeTolerance |
The relative function tolerance.
| |
ScaledStepTolerance |
The scaled step tolerance.
| |
TrustRegion |
The size of initial trust region radius.
|
Class BoundedLeastSquares uses a modified Levenberg-Marquardt method and an active set strategy to solve nonlinear least-squares problems subject to simple bounds on the variables. The problem is stated as follows:
subject to here , , and is the i-th component function of F(x). From a given starting point, an active set IA, which contains the indices of the variables at their bounds, is built. A variable is called a "free variable" if it is not in the active set. The routine then computes the search direction for the free variables according to the formula where is the Levenberg-Marquardt parameter, F = F(x), and J is the Jacobian with respect to the free variables. The search direction for the variables in IA is set to zero. The trust region approach discussed by Dennis and Schnabel (1983) is used to find the new point. Finally, the optimality conditions are checked. The conditions are: where is a gradient tolerance. This process is repeated until the optimality criterion is achieved.The active set is changed only when a free variable hits its bounds during an iteration or the optimality condition is met for the free variables but not for all variables in IA, the active set. In the latter case, a variable that violates the optimality condition will be dropped out of IA. For more details on the Levenberg-Marquardt method, see Levenberg (1944) or Marquardt (1963). For more detail on the active set strategy, see Gill and Murray (1976).