I am using R package Rsolnp to solve some constrained optimization problems. After solving the optimization problem, it shows the notification and optimization results automatically. Does anyone know how to silence it? I have to write a loop to run solnp in every iteration. Keep showing results is very annoying.
Thanks in advance!
You don't give much to go on, but you can set the trace
control parameter via the control
argument to solnp
. For example, using the exmaple from ?solnp
:
fn1 <- function(x) {
exp(x[1]*x[2]*x[3]*x[4]*x[5])
}
eqn1 <- function(x) {
z1 <- x[1]*x[1]+x[2]*x[2]+x[3]*x[3]+x[4]*x[4]+x[5]*x[5]
z2 <- x[2]*x[3]-5*x[4]*x[5]
z3 <- x[1]*x[1]*x[1]+x[2]*x[2]*x[2]
return(c(z1,z2,z3))
}
x0 <- c(-2, 2, 2, -1, -1)
Then we have
> powell <- solnp(x0, fun = fn1, eqfun = eqn1, eqB = c(10, 0, -1),
+ control = list(trace = 1)) # default
Iter: 1 fn: 0.03526 Pars: -1.59385 1.51051 2.07795 -0.81769 -0.81769
Iter: 2 fn: 0.04847 Pars: -1.74461 1.62029 1.80509 -0.77020 -0.77020
Iter: 3 fn: 0.05384 Pars: -1.71648 1.59482 1.82900 -0.76390 -0.76390
Iter: 4 fn: 0.05395 Pars: -1.71713 1.59570 1.82727 -0.76364 -0.76364
Iter: 5 fn: 0.05395 Pars: -1.71714 1.59571 1.82725 -0.76364 -0.76364
Iter: 6 fn: 0.05395 Pars: -1.71714 1.59571 1.82725 -0.76364 -0.76364
solnp--> Completed in 6 iterations
so set trace = 0
to suppress this:
> powell <- solnp(x0, fun = fn1, eqfun = eqn1, eqB = c(10, 0, -1),
+ control = list(trace = 0))>
> # look, no output
There's a similar argument in other functions in the package.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.