Vba 达到最大解算器变量数?
我正在使用excel解算器解决优化问题(使用进化/遗传算法实现最大化)。然而,在为3-4个输入变量和大约1000个样本设置底部和顶部边界后,我没有遇到任何问题。适应度函数非常简单,只是调用的所有输出的总和。我曾经有一个(1000 x 4)输入矩阵和一个相应的(1000 x 1)输出列向量 现在,我有42个输入变量()。不幸的是,遗传算法没有找到最优的解决方案(它过滤掉了所有的输出;因此我只从我的列向量中调用了#NA)。我从“尝试”中了解到,只改变一个变量可以提高模型的适用性。因此,Solver/GA似乎在运行“爬山”时遇到问题 根据经验,我发现14个变量(设置为底部阈值)或5+5个变量(设置为底部+顶部阈值)是求解器可以处理的最大值。 设置非常标准,我检查了不同的修改 约束精度:0.001-0.000001 缩放:开/关 收敛(GA):0.001-0.000001 人口规模:01100200 突变率:0.01,0.075,0.2,0.5,0.9 在大约40次迭代之后,它停止并且没有调用任何输出(100%过滤掉)Vba 达到最大解算器变量数?,vba,excel,solver,Vba,Excel,Solver,我正在使用excel解算器解决优化问题(使用进化/遗传算法实现最大化)。然而,在为3-4个输入变量和大约1000个样本设置底部和顶部边界后,我没有遇到任何问题。适应度函数非常简单,只是调用的所有输出的总和。我曾经有一个(1000 x 4)输入矩阵和一个相应的(1000 x 1)输出列向量 现在,我有42个输入变量()。不幸的是,遗传算法没有找到最优的解决方案(它过滤掉了所有的输出;因此我只从我的列向量中调用了#NA)。我从“尝试”中了解到,只改变一个变量可以提高模型的适用性。因此,Solver/
是否有其他人遇到过此问题?我是否达到了Excel solver或GA的极限?如果是,是否有一个解决方案可以解决我在Excel中的问题,或者我必须使用Matlab/Python库,它可以处理这么多变量?Excel解算器限制200个变量单元格。如果您点击任意超过200个可调单元格,您将看到此消息 您有两种选择:
- 通过处理问题,减少可调整单元格的数量
- 请尝试excel以外的其他可用解算器,这些解算器具有更高的可调单元格限制