[Rd] constrOptim( ): conflict between help page and code

From: John Nolan <jpnolan_at_american.edu>
Date: Wed, 16 Jun 2010 22:47:59 -0400

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. 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

 jpnolan_at_american.edu
 202.885.3140 voice
 202.885.3155 fax
 http://academic2.american.edu/~jpnolan

 ...........................................................................
______________________________________________
R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Thu 17 Jun 2010 - 02:50:10 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 23 Jun 2010 - 03:51:11 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive