多目标固定大小子集优化

时间:2018-07-24 10:48:54

标签: python r mathematical-optimization

这是我的问题:我想从n个中选择k个个体,以使所选个体之间的距离最大化,并且其给定变量的平均值也最大化。
理想情况下,我想获得一套与“ pareto front”相对应的解决方案。
计算加权指数可能是一种选择,但是我不确定如何正确缩放两个客观值。 下面是使用R的数据示例。

## create a n*m matrix, with samples as rows, variables as columns
## possible values are 0 and 1
n  = 100
m  = 300

set.seed(1L)
rows = lapply(1:n, function(x){
  p = runif(1)
  sample(0:1, m, replace = TRUE, prob = c(p, 1 - p))
})

## matrix samples*variables
mat = do.call(rbind, rows)

## Compute a distance matrix
D = as.matrix(dist(mat))

## Create random values 'S'
S = rnorm(n)

## idx = sample of individuals
idx = sample(1:n, 20)

## objective:
# select nsel among n maximizing S and maximizing D
# i.e. find the optimal subset idx that maximizes mean(S[idx]) and mean(D[idx, idx])

我研究了mcokofnGA之类的不同R包。它看起来不合适,但我可能错过了一些东西。也欢迎使用Python解决方案。
谢谢。

0 个答案:

没有答案
相关问题