Learn R Programming

fPortfolio (version 260.72)

donlp2: Solve constrained nonlinear minimization problem

Description

Solve constrained nonlinear minimization problem.

Usage

rdonlp2(par, fn,
    par.upper=rep(+Inf, length(par)), par.lower=rep(-Inf, length(par)),
    A = NULL, 
    lin.upper = rep(+Inf, length(par)), lin.lower = rep(-Inf, length(par)),
    nlin = list(), 
    nlin.upper = rep(+Inf, length(nlin)), nlin.lower = rep(-Inf, length(nlin)),
    control = rdonlp2Control(), control.fun = function(lst){return(TRUE)},
    env = .GlobalEnv, name = NULL)

Arguments

fn
the objective function to be minimized. Currently, fn must take only one argument, and the parameter vector(par) will be passed to fn during the optimization. The first element of return value
par
parameter vector(vector object).
par.upper, par.lower
upper and lower bounds for parameter vector, respectively. Their length must equal to length(par). If some elements are unbounded, specify +Inf or -Inf explicitly.
A
the matrix object that represents linear constraints. Its columns must be equal to length(par), and its rows must be equal to the number of linear constraints.
lin.upper, lin.lower
upper and lower bounds for linear constraints, respectively. Their length must equal to the number of linear constraints. If some elements are unbounded, specify +Inf or -Inf explicitly.
nlin
list object whose elements are functions that represents nonlinear constraints. Rule for argument and return value is the same as fn, i.e., these functions take only one arugument(par), and return a vecto
nlin.upper, nlin.lower
upper and lower bounds for nonlinear constraints, respectively. Their length must equal to length(nlin). If some elements are unbounded, specify +Inf or -Inf explicitly.
control
"control parameters" that defines the behavior of Rdonlp2. See rdonlp2Control for details.
control.fun
rdonlp2() reports a group of optimization parameters in every iteration(see below for details). This (read-only) information can be available within control.fun(), in which user can decide whether the opti
env
the environment in which objective, constraint, control functions are evaluated.
name
an character object that specify file name(without extension, max 40 characters) of output file. If not NULL, DONLP2 creates 2 files(name.pro and name.mes) in current working directory which c

Value

  • For n=length(par) parameters, lin linear constraints, and nlin nonlinear constraints, a list with following elements:
  • parparameters returned by DONLP2.
  • gradfgradient evaluated at par.
  • u2*(n+lin+nlin) vector of lagrange multipliers for constraints.
  • w2*(n+lin+nlin) vector of penalty term.
  • step.nrtotal number of iterations.
  • fxthe value of objective function fn.
  • sciscaling of fn.
  • psipsi the weighted penalty term.
  • upsithe unweighted penalty term(L1 norm of constraint vector).
  • del.k.1bound for the last active constraints.
  • b2n0weighted L2 norm of projected gradients.
  • b2nL2norm of gradients based on del.k.1.
  • nrnumber of binding constraints.
  • singvalue other than -1 indicates working set is singular.
  • umininfinity norm of negative part of inequalities multipliers.
  • not.usedalways 0(currently not used).
  • cond.rcondition number of diagonal part of qr decomposition of normalized gradients of binding constraints.
  • cond.hcondition number of diagonal of cholesky factor of updated full Hessian.
  • scf0the relative damping of tangential component if upsi > tau0/2.
  • xnormL2 norm of par.
  • dnormunsclaed norm of d, correction from eqp/qp subproblem.
  • phase-1:infeasibility improvement phase, 0: initial optimization, 1:binding constraints unchanged, 2:d small, maratos correction is in use.
  • c.knumber of decreases of penalty weights.
  • wmaxinfinity norm of weights.
  • sig.kstepsize from uidimensional minimization(backgracking).
  • cfincrnumber of objective function evaluations for stepsize algorithm
  • dirderscaled derectional derivative of penalty function along d.
  • dscalscaling factor for d.
  • cosphicosine of arc between d and previous d.
  • violisnumber of constraints not binding at current values of par but hit during line search.
  • hesstypeone of 4 values indicating type of update for Hessian. 1: normal P&M-BFGS update, 0: update suppressed, -1: restart with scaled unit matrix, 2: standard BFGS, 3: BFGS modified by Powell's Device.
  • modbifgsmodification factor for damping the projector into the BFGS or pantoja-mayne update.
  • modnrmodification factor for daming the quasi-newton-relation in BFGS.
  • qpterm0:if sing==-1, termination indicator of the QP solver, 1:successful, -1:\tau becomes larger than tauqp without slack variables becoming sufficiently small.
  • tauqpweight of slack variables in QP solver.
  • infeasL1 norm of slack variables in QP solver.
  • nr.updatethe approximated newton-raphson update in upper trianglar form.
  • hessiannumeric Hessian matrix if hessian=TRUE in rdonlp2Control.
  • runtimethe elapsed time for the optimization.
  • messagethe termination message.

References

http://plato.la.asu.edu/donlp2.html(original DONLP2), http://arumat.net/Rdonlp2/(Rdonlp2)

See Also

rdonlp2Control