我正在尝试使用excel解算器在某些约束下最小化非线性函数。
作为一个起点,我正在使用GRG方法和一些手动选择的值。此方法的一个特征是输出取决于起始值。因此,我使用不同的起始值来获得目标函数的最低值,这样可以正常工作(至少在大多数情况下)。
现在我想使用excel提供的进化算法(EA)来测试这些结果。为了执行EA,必须为值设置上限和下限,因为第一个总体是从值范围中随机抽取的。这也意味着单元格中的值(解算器试图校准以便最小化我的非线性函数)并不重要。
但是运行EA我觉得单元格值并不重要,原因有三: 第一:当我的原始值接近已经用GRG方法校准的值时,在大多数情况下,我只得到这些值的一个小修改。 第二:当我开始没有任何值(这应该无关紧要)时,我得到一条错误消息,解算器找不到更好的结果(此过程的时间与第一种情况大致相同)。 第三:当使用不为我的非线性函数提供最低值的起始值时(我知道这是因为我使用了具有不同输入值的GRG方法),EA不会收敛到更好的解决方案。在大多数情况下,它根本没有回应。
简而言之,我有两个问题:有谁真的知道Excel中的EA是如何工作的? (基本算法来自FrontlineSolvers公司,但他们没有任何关于确切机制的信息。)
我对这种机制如何运作的评估是否有问题?
谢谢。