0

我有 49 分,我想n从 49 分中找到最佳组合以最大化我的目标函数。我的目标函数是线性的Zc =max(f1 - ωf2)。例如,我想找到目标函数用这 10 个点最大化的最佳 10 个点。f1是纳什-萨特克利夫模型效率,它是通过使用 的插值点all_points和选定点计算得出的 candidate_1ω是获得值的加权系数,0.3 并且f2是所选点与总点的比率(10/49)。所以我的目标函数的范围为 [-∞,1] 并且目标函数越接近1答案越优化。所以我假设K是内插值candidate_1j内插值all_pointL是 的平均值j。我使用这个框架来计算f1和目标函数。

all_points = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48]
candidate_1 = [3,6,11,12,14,17,19,23,28,43]
#calculate f1 and f2

f1 方程

f2 = 10/49
#calculated objecive function
Zc = f1 - 0.3*f2
#print objective function value
Zc = 0.59

#next step is to create another candidate that improve Objective function

所以你可以看到candidate_1我的目标函数是0.59如你所知,有很多选项可以从 49 个中选择 10 个。我必须创建另一个候选者,并且我必须继续这样做,直到目标函数达到其最大值并且不改变在那之后很久。我需要一个代码结构来让聪明的候选人改进我的目标函数

4

0 回答 0