我在 Excel 中设置了一个优化问题。当我优化(使用 GUI)时,我得到目标函数的最终(最佳)值。我可以看到 Excel 计算了很多点的目标函数值并确定了最佳点。有没有办法将所有目标函数值保存到 Excel 工作表中的某个范围。如果我可以使用求解器 GUI 来完成它,那就太好了。如果没有,基于 VBA 的解决方案也可以。
Thanks.
这是可以做到的,但手动操作很乏味。在 Excel/Solver 中时,选择Options in the 求解器参数对话框。 (数据->求解器->选项在 Excel 中)选择显示迭代结果复选框。当您执行此操作时,Excel 的求解器将在每次迭代后暂停,并使用当前变量值更新单元格。
现在,当您通过单击“运行模型时Solve,“Excel 将在每次中间迭代时暂停。求解器将每个中间步骤视为一个”Scenario。”您可以通过在目录中为其命名来保存每一个场景对话框每次迭代后都会弹出。 (在文本框中输入逻辑内容,例如 i1,i2, i3...)
解算器完成后,您可以访问“场景管理器”Excel->选项->方案。
您将看到您保存的所有场景都列在那里。要将它们全部放入您想要的命名范围中,请按“Summary“ 按钮,然后在对话框中选择“场景数据透视表报告。”这将以漂亮的方式显示所有中间目标函数值数据透视表供您分析。
需要记住的几个限制:
1. 启用“显示迭代结果“选项严重减慢了解决方案的速度
2. 如果你的 LP 即使是中等规模,你也会有大量的迭代。手动记录场景实际上是不可行的。但是,您可以通过按ESC按钮,存储场景并继续。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)