Minimizes a general objective function subject to linear equality/inequality constraints.
For a list of all members of this type, see MinConGenLin Members.
System.Object
Imsl.Math.MinConGenLin
Public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.
The class MinConGenLin
is based on M.J.D. Powell's TOLMIN, which solves linearly constrained optimization problems, i.e., problems of the form
subject to
given the vectors , , , and and the matrices and .
The algorithm starts by checking the equality constraints for inconsistency and redundancy. If the equality constraints are consistent, the method will revise , the initial guess, to satisfy
Next, is adjusted to satisfy the simple bounds and inequality constraints. This is done by solving a sequence of quadratic programming subproblems to minimize the sum of the constraint or bound violations.
Now, for each iteration with a feasible , let be the set of indices of inequality constraints that have small residuals. Here, the simple bounds are treated as inequality constraints. Let be the set of indices of active constraints. The following quadratic programming problem
subject to
is solved to get where is a row vector representing either a constraint in or or a bound constraint on x. In the latter case, the for the bound constraint and for the constraint . Here, is a vector with 1 as the i-th component, and zeros elsewhere. Variables are the Lagrange multipliers, and is a positive definite approximation to the second derivative .
After the search direction is obtained, a line search is performed to locate a better point. The new point has to satisfy the conditions
and
The main idea in forming the set is that, if any of the equality constraints restricts the step-length , then its index is not in . Therefore, small steps are likely to be avoided.
Finally, the second derivative approximation , is updated by the BFGS formula, if the condition
holds. Let , and start another iteration.
The iteration repeats until the stopping criterion
is satisfied. Here is the supplied tolerance. For more details, see Powell (1988, 1989).
Namespace: Imsl.Math
Assembly: ImslCS (in ImslCS.dll)
MinConGenLin Members | Imsl.Math Namespace | Example 1 | Example 2