繁体   English   中英

使用Solver,EXCEL保存目标函数值

[英]Saving the objective function values while using Solver, EXCEL

我在Excel中设置了优化问题。 当我优化(使用gui)时,我得到目标函数的最终(最佳)值。 我可以看到excel计算了许多点的目标函数值,并确定了最佳点。 有没有办法将所有目标函数值保存到excel表中的某个范围。 如果我能使用求解器GUI完成它会很棒。 如果没有,基于VBA的解决方案也会这样做。

谢谢。

这是可能的,但手动繁琐。 在Excel / Solver中,在“ 求解器参数”对话框中选择“ 选项 Data-> Solver-> Excel中的选项 )选中Show Iterations Results复选框。 执行此操作时,Excel的求解器将在每次迭代后暂停,并使用当前变量值更新单元格。

现在,当您通过单击“ Solve ”运行模型时,Excel将在每次中间迭代时暂停。 Solver认为每个中间步骤都是“ 场景” 您可以通过在每次迭代后弹出的“ 方案”对话框中为其指定名称来保存每个名称。 (在文本框中输入符合逻辑的内容,如i1,i2,i3 ...)

解算器完成后,您可以访问“场景管理器” Excel->选项 - >场景 。您将看到列出的所有场景。要将它们全部放入您想要的命名区域,请按“ 摘要” “按钮,并在对话框中选择” 方案数据透视表报告 。“这将在一个漂亮的数据透视表中显示所有中间目标函数值供您分析。

要记住以下几个限制:1。启用“ 显示迭代结果 ”选项会严重降低解决方案的速度2.如果您的LP甚至是中等大小,则会有大量的迭代次数。 手动记录场景将不切实际可行。 但是,您可以通过按ESC按钮“存档”场景并继续“示例”几次迭代。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM