John Nolan wrote:
There is a contradiction between what the help page says and what constrOptim
actually
does with the constraints. The issue is what happens on the boundary.
I don't know if this was a recent change, but the current help says:
"The starting value must be in the interior of the feasible region, but
the minimum may be on the boundary."
The boundary is not in the interior.
Duncan Murdoch
The help page says
The feasible region is defined by ‘ui %*% theta - ci >= 0’,
but the R code for constrOptim reads
if (any(ui %*% theta - ci <= 0))
stop("initial value not feasible")
The following example shows that when the initial point is on the boundary of
the
feasibility region, you get the above error message and execution stops.
fn <- function(x) { return(sum(x)) }
ui <- diag(rep(1,2))
ci <- matrix(0,nrow=2,ncol=1)
constrOptim( c(0,0), fn, NULL, ui, ci )
Error in optim(theta.old, fun, gradient, control = control, method = method, :
function cannot be evaluated at initial parameters
version
platform i386-pc-mingw32
arch i386
os mingw32
system i386, mingw32
status
major 2
minor 10.0
year 2009
month 10
day 26
svn rev 50208
language R
version.string R version 2.10.0 (2009-10-26)
In contrast, at a different place in constrOptim - the internal function R -
the boundary of the feasibility region is allowed: if (any(gi < 0))
return(NaN),
and it seems to explicitly allow boundaries at another place:
allowing gi==0 and interpreting log(gi) as -Inf.
John
...........................................................................
John P. Nolan
Math/Stat Department
227 Gray Hall
American University
4400 Massachusetts Avenue, NW
Washington, DC 20016-8050
jpno...@american.edu
202.885.3140 voice
202.885.3155 fax
http://academic2.american.edu/~jpnolan
...........................................................................
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel