I want to monitor the progress of the algorithm in order to understand how long the algorithm will work I would like to see something like
for(i in 1:100) print( paste("iter number",i))
[1] "iter number 1"
[1] "iter number 2"
[1] "iter number 3"
[1] "iter number 4"
[1] "iter number 5"
[1] "iter number 6"
[1] "iter number 7"
I tried to do something like this, but my counter is not updating.
i <- 0
fit <- function(x) {
##/// my count
i <- i+1
print( paste("iter number",i))
##////
y <- numeric(2)
y[1] <- crossprod(x, x)
y[2] <- crossprod(x - 5, x - 5)
return (y)
}
when I run the optimization algorithm I get the following result
library(mco)
ns <- nsga2(fit, 2, 2,
generations=150, popsize=100,
lower.bounds=rep(-5, 2),
upper.bounds=rep(10, 2))
[1] "iter number 1"
[1] "iter number 1"
[1] "iter number 1"
[1] "iter number 1"
[1] "iter number 1"
[1] "iter number 1"
[1] "iter number 1"
[1] "iter number 1"
[1] "iter number 1"
[1] "iter number 1"
[1] "iter number 1"
[1] "iter number 1"
How can this be done correctly?