# [R] Fine tunning rgenoud

Paul Smith phhs80 at gmail.com
Tue Jul 3 22:10:19 CEST 2007

```Dear All,

I am trying to solve the following maximization problem, but I cannot
have rgenoud giving me a reliable solution.

Any ideas?

Paul

----------------------------
library(rgenoud)

v <- 0.90
O1 <- 10
O2 <- 20
O0 <- v*O1+(1-v)*O2

myfunc <- function(x) {
U0 <- x[1]
U1 <- x[2]
U2 <- x[3]
q0 <- x[4]
q1 <- x[5]
q2 <- x[6]
p <- x[7]

if (U0 < 0)
return(-1e+200)
else if (U1 < 0)
return(-1e+200)
else if (U2 < 0)
return(-1e+200)
else if ((U0-(U1+(O1-O0)*q1)) < 0)
return(-1e+200)
else if ((U0-(U2+(O2-O0)*q2)) < 0)
return(-1e+200)
else if ((U1-(U0+(O0-O1)*q0)) < 0)
return(-1e+200)
else if ((U1-(U2+(O2-O1)*q2)) < 0)
return(-1e+200)
else if((U2-(U0+(O0-O2)*q0)) < 0)
return(-1e+200)
else if((U2-(U1+(O1-O2)*q1)) < 0)
return(-1e+200)
else if(p < 0)
return(-1e+200)
else if(p > 1)
return(-1e+200)
else if(q0 < 0)
return(-1e+200)
else if(q1 < 0)
return(-1e+200)
else if(q2 < 0)
return(-1e+200)
else return(p*(sqrt(q0)-(O0*q0+U0))+(1-p)*(v*(sqrt(q1)-(O1*q1+U1))+(1-v)*(sqrt(q2)-(O2*q2+U2))))

}
genoud(myfunc,nvars=7,max=T,pop.size=6000,starting.values=runif(7),wait.generations=150,max.generations=300,boundary.enforcement=2)

```