Skip to content
Prev 208148 / 398502 Next

Solving an optimization problem: selecting an "optimal" subset

Here some kind of a brute force attack:

#brute force solution, only working with relative small subsets:
n <- 200
elem <- 3
target <- 200

x <- rnorm(n,100,10)
x.combinations <- combn(x,elem)
sums <- apply(x.combinations,2,function(x) (sum(x)-target)^2)
ans <- (x.combinations[,which.min(sums)])

#seems to work for larger subsets:
require(gtools)
x.combinations <- combinations(n, elem)
sums <- apply(x.combinations,1,function(sel) (sum(x[sel])-target)^2)
print(x[x.combinations[which.min(sums),]])


Although it takes a lot of computation time, you are sure you will find the
minimum.

Bart

Thread (17 messages)

Dimitri Shvorob Solving an optimization problem: selecting an "optimal" subset Jan 29 Bart Joosen Solving an optimization problem: selecting an "optimal" subset Jan 30 Dimitri Shvorob Solving an optimization problem: selecting an "optimal" subset Jan 30 Hans W Borchers Solving an optimization problem: selecting an &quot;optimal&quot; subset Jan 30 Dimitri Shvorob Solving an optimization problem: selecting an "optimal" subset Jan 30 Dimitri Shvorob Solving an optimization problem: selecting an "optimal" subset Jan 30 Bart Joosen Solving an optimization problem: selecting an "optimal" subset Jan 30 Dimitri Shvorob Solving an optimization problem: selecting an "optimal" subset Jan 30 Erwin Kalvelagen Solving an optimization problem: selecting an &quot;optimal&quot; subset Jan 30 Hans W Borchers Solving an optimization problem: selecting an &quot;optimal&quot; subset Jan 30 Dimitri Shvorob Solving an optimization problem: selecting an "optimal" subset Jan 30 Dimitri Shvorob Solving an optimization problem: selecting an "optimal" subset Jan 30 Erwin Kalvelagen Solving an optimization problem: selecting an &quot;optimal&quot; subset Jan 30 Hans W Borchers Solving an optimization problem: selecting an "optimal" subset Jan 31 Dimitri Shvorob Solving an optimization problem: selecting an "optimal" subset Jan 31 Dimitri Shvorob Solving an optimization problem: selecting an "optimal" subset Jan 31 Erwin Kalvelagen Solving an optimization problem: selecting an &quot;optimal&quot; subset Jan 31