[R] having problems with constrOptim

Ingmar Visser i.visser at uva.nl
Sat Apr 9 23:42:47 CEST 2005


 ui %*% theta - ci has to be larger than zero, and it is not:

> ui=rbind(diag(5),-diag(5))
> ui
      [,1] [,2] [,3] [,4] [,5]
 [1,]    1    0    0    0    0
 [2,]    0    1    0    0    0
 [3,]    0    0    1    0    0
 [4,]    0    0    0    1    0
 [5,]    0    0    0    0    1
 [6,]   -1    0    0    0    0
 [7,]    0   -1    0    0    0
 [8,]    0    0   -1    0    0
 [9,]    0    0    0   -1    0
[10,]    0    0    0    0   -1
> ci=c(0,0,0,-1,0,1,1,1,1,1)
> ci
 [1]  0  0  0 -1  0  1  1  1  1  1
> x=c(0.400 ,0.200, 0.200,-0.050 ,0.002)
> theta=x
> ui %*% theta - ci
        [,1]
 [1,]  0.400
 [2,]  0.200
 [3,]  0.200
 [4,]  0.950
 [5,]  0.002
 [6,] -1.400
 [7,] -1.200
 [8,] -1.200
 [9,] -0.950
[10,] -1.002

try 
> ci
 [1]  0  0  0 -1  0 -1 -1 -1 -1 -1

hth, ingmar

On 4/9/05 12:29 PM, "Tolga Uzuner" <tolga at coubros.com> wrote:

> Hi,
> 
> Am having problems specifying lower and upper constraints in constrOptim...
> 
> I have a function(x)->f which takes a 5 vector array
> the constraints on the elements of x are:
> x[1],x[2],x[3],x[5]>0
> x[4]>-1
> x[1],x[2],x[3],x[4],x[5]<1
> 
> this works:
> ############
>> x
> [1]  0.400  0.200  0.200 -0.050  0.002
>> optim(x,f)
> $par
> [1] 0.28630079 0.13583616 0.18752379 0.02231329 0.08640233
> 
> $value
> [1] 0.0004999157
> 
> $counts
> function gradient
>      230       NA
> 
> $convergence
> [1] 0
> 
> $message
> NULL
> ###########
> but when I try to specify the constraints, I get this:
> ###########
>> 
> constrOptim(x,f,grad=NULL,ui=rbind(diag(5),-diag(5)),ci=c(0,0,0,-1,0,1,1,1,1,1
> ))
> Error in constrOptim(x, f, grad = NULL, ui = rbind(diag(5), -diag(5)),  :
>         initial value not feasible
>> 
> ###########
> What am I doing wrong ? As above, x=c(0.400 ,0.200, 0.200,-0.050 ,0.002)
> 
> Many thanks,
> Tolga
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

-- 
Ingmar Visser
Department of Psychology, University of Amsterdam
Roetersstraat 15, 1018 WB Amsterdam
The Netherlands
http://users.fmg.uva.nl/ivisser/
tel: +31-20-5256735




More information about the R-help mailing list