[R] Upper bound vector in Nloptr
    Narendra Modi 
    bjpmodi2016 at gmail.com
       
    Wed Jul 20 21:56:21 CEST 2016
    
    
  
Hello Folks,
I am using "nloptr" optimizer in my program as below.
my.data.var <- c(10,0.25,0.25,0.25,0.25,0.25,
                 10,0.25,0.25,0.25,0.25,0.25,
                 10,0.25,0.25,0.25,0.25,0.25,
                 10,0.25,0.25,0.25,0.25,0.25)
#Option for non-linear optimization algorithm NLOPTR
opts = list("algorithm"="NLOPT_LN_COBYLA",
            "xtol_rel"=1.0e-6, "maxeval"= 10000)
lb = vector("numeric",length= length(my.data.var))
#NLOPT_LN_COBYLA
result <- nloptr(my.data.var,eval_f = Error.func,lb=lb,
                 ub =
c(Inf,1,1,1,1,1,Inf,1,1,1,1,1,Inf,1,1,1,1,1,Inf,1,1,1,1,1),eval_g_ineq=constraint.func,
                 opts = opts)
As you can see, I have to explicitly define the "upper bound: ub" as a
long vector in this scenario.
In another case, the number of variables "my.data.var" (24 in the
above example) can go up to 100 and hence. the "upper bound" needs to
be modified. I would like to avoid writing that explicilty in the
"ub".
How can I dynamically do it ?  I am out of ideas here.
Thanks for the help.
    
    
More information about the R-help
mailing list