我使用excel求解一个优化问题(使用进化/遗传算法进行最大化)。然而,在为大约3-4个输入变量和大约1000个样本设置底部和顶部边界之后,我并没有遇到任何问题。适应度函数非常简单,只是调用所有输出的之和。我曾经有一个(1000x4)输入矩阵和一个对应的(1000x1)输出列向量。
现在,我有42个输入变量(,它小于变量求解器应处理的最大大小。)。不幸的是,GA没有找到最优解(它过滤掉所有的输出;所以我只从列向量中得到#NA )。我从“尝试”中知道,只改变一个变量就能提高模型的适应性。因此,Solver/GA似乎在“爬山”中遇到了问题。
根据经验,我发现14个变量设置为底部阈值)或5+5变量设置为底部+顶阈值是最大的解决方案。设置是相当标准的,我检查了不同的修改。
约束精度: 0.001 - 0.000001缩放:打开/关闭
收敛性(GA):0.001 - 0.000001种群大小: 0,100,200突变率: 0.01,0.075,0.2,0.5,0.9
经过40次迭代之后,它停止了,没有调用任何输出(100%过滤掉)。
其他人有没有经历过这个问题?我达到Excel解题器或GA的极限了吗?如果是,是否有解决方案解决我的问题在Excel或我必须Matlab/Python库,它可以处理这么多的变量?
发布于 2019-05-13 08:46:27
Excel解决程序有200个可变单元格的限制。如果你击中超过200个可调单元格,你会看到这条消息。
你有两个选择:
https://stackoverflow.com/questions/46342253
复制相似问题