| donlp2 {fPortfolio} | R Documentation |
Solve constrained nonlinear minimization problem.
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)
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 must be the evaluated 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 vector object whose first element
is the evaluated value.
|
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 optimization should be iterrupted. Set its
return value to FALSE to interrupt rdonlp2().
|
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 contain detailed information during
the optimization. The amount of information depends
te0,te1,te2,te3 specified in rdonlp2Control.
|
For n=length(par) parameters, lin linear constraints,
and nlin nonlinear constraints, a list with following elements:
par |
parameters returned by DONLP2. |
gradf |
gradient evaluated at par.
|
u |
2*(n+lin+nlin) vector of lagrange multipliers for
constraints.
|
w |
2*(n+lin+nlin) vector of penalty term.
|
step.nr |
total number of iterations. |
fx |
the value of objective function fn.
|
sci |
scaling of fn.
|
psi |
psi the weighted penalty term. |
upsi |
the unweighted penalty term(L1 norm of constraint vector). |
del.k.1 |
bound for the last active constraints. |
b2n0 |
weighted L2 norm of projected gradients. |
b2n |
L2norm of gradients based on del.k.1.
|
nr |
number of binding constraints. |
sing |
value other than texttt{-1} indicates working set is singular. |
umin |
infinity norm of negative part of inequalities multipliers. |
not.used |
always 0(currently not used).
|
cond.r |
condition number of diagonal part of qr decomposition of normalized gradients of binding constraints. |
cond.h |
condition number of diagonal of cholesky factor of updated full Hessian. |
scf0 |
the relative damping of tangential component if
upsi > tau0/2.
|
xnorm |
L2 norm of par.
|
dnorm |
unsclaed 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.k |
number of decreases of penalty weights. |
wmax |
infinity norm of weights. |
sig.k |
stepsize from uidimensional minimization(backgracking). |
cfincr |
number of objective function evaluations for stepsize algorithm |
dirder |
scaled derectional derivative of penalty function along
d.
|
dscal |
scaling factor for d.
|
cosphi |
cosine of arc between d and previous d.
|
violis |
number of constraints not binding at current values of
par but hit during line search.
|
hesstype |
one 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.
|
modbifgs |
modification factor for damping the projector into the BFGS or pantoja-mayne update. |
modnr |
modification factor for daming the quasi-newton-relation in BFGS. |
qpterm |
0:if sing==-1, termination indicator of the QP solver,
1:successful, -1:\tau becomes larger than
tauqp without slack variables becoming sufficiently
small.
|
tauqp |
weight of slack variables in QP solver. |
infeas |
L1 norm of slack variables in QP solver. |
nr.update |
the approximated newton-raphson update in upper trianglar form. |
hessian |
numeric Hessian matrix if hessian=TRUE in
rdonlp2Control.
|
runtime |
the elapsed time for the optimization. |
message |
the termination message. |
IMPORTANT: Due to license reasons the R package Rdonlp2 is
not part of the Rmetrics distribution. You can download and install
the package from
https://svn.r-project.org/Rmetrics/trunk/Rdonlp2/
Rdonlp2(R port) is copyrighted by Ryuichi Tamura. Original DONLP2 is copyrighted software written by Peter Sperucci.
http://plato.la.asu.edu/donlp2.html(original DONLP2), http://arumat.net/Rdonlp2/(Rdonlp2)