sumt {maxLik}R Documentation

Equality-constrained optimization

Description

Sequentially Unconstrained Maximization Technique (SUMT) based optimization for linear equality constraints.

This implementation is mostly intended to be called from other maximization routines, such as maxNR.

Usage

sumt(fn, grad=NULL, hess=NULL,
start,
maxRoutine, constraints, SUMTTol = sqrt(.Machine$double.eps),
SUMTQ = 10,
SUMTRho0 = NULL,
print.level = 0, SUMTMaxIter = 100, ...)

Arguments

fn function of a (single) vector parameter. The function may have more arguments, but those are not treated as parameter
grad gradient function of fn. NULL if missing
hess hessian matrix of the fn. NULL if missing
start initial value of the parameter.
maxRoutine maximization algorithm
constraints list, information for constrained maximization. Currently two components are supported: eqA and eqB for linear equality constraints: A %*% beta + B = 0. The user must ensure that the matrices A and B are conformable.
SUMTTol stopping condition. If the components of the parameter between successive iterations differ less than SUMTTol, the algorithm stops
SUMTQ a double greater than one controlling the growth of the rho as described in Details. Defaults to 10.
SUMTRho0 Initial value for rho. If not specified, a (possibly) suitable value is selected. See Details.
print.level Integer, debugging information. Larger number print more details.
SUMTMaxIter Maximum SUMT iterations
... Other arguments to maxRoutine and fn.

Details

The Sequential Unconstrained Minimization Technique is a heuristic for constrained optimization. To minimize a function f subject to constraints, one employs a non-negative function P penalizing violations of the constraints, such that P(x) is zero iff x satisfies the constraints. One iteratively minimizes L(x) + rho_k P(x), where the rho values are increased according to the rule rho_{k+1} = q rho_k for some constant q > 1, until convergence is obtained in the sense that the Euclidean distance between successive solutions x_k and x_{k+1} is small enough. Note that the "solution" x obtained does not necessarily satisfy the constraints, i.e., has zero P(x). Note also that there is no guarantee that global (approximately) constrained optima are found. Standard practice would recommend to use the best solution found in "sufficiently many" replications of the algorithm.

The unconstrained minimizations are carried out by either any of the maximization algorithms in the maxLik, such as maxNR. Analytic gradient and hessian are used if provided, numeric ones otherwise.

Value

Object of class 'maxim'. In addition, a component

constraints A list, describing the constrained optimization. Includes the following components:
    type
    type of constrained optimization
    outer.iterations
    number of iterations in the SUMT step
    barrier.value
    value of the penalty function at maximum

Note

It may be a lot more efficient to embrace the actual function to be optimized to an outer function, which calculates the actual parameters based on a smaller set of parameters and the constraints.

Author(s)

Ott Toomet otoomet@ut.ee

See Also

sumt


[Package maxLik version 0.6-0 Index]