Optimization 使用解算器EXCEL时保存目标函数值

Optimization 使用解算器EXCEL时保存目标函数值,optimization,vba,excel,solver,Optimization,Vba,Excel,Solver,我在Excel中设置了一个优化问题。当我优化(使用gui)时,我得到目标函数的最终(最佳)值。我可以看到excel计算了许多点的目标函数值,并确定了最佳值。是否有办法将所有目标函数值保存到excel工作表中的某个范围内。如果我能使用解算器GUI来完成,那就太好了。如果不是,基于VBA的解决方案也可以 谢谢。这是可以做到的,但手动操作很繁琐。在Excel/Solver中时,在“解算器参数”对话框中选择选项。(Excel中的数据->解算器->选项)选中显示迭代结果复选框。执行此操作时,Excel的解

我在Excel中设置了一个优化问题。当我优化(使用gui)时,我得到目标函数的最终(最佳)值。我可以看到excel计算了许多点的目标函数值,并确定了最佳值。是否有办法将所有目标函数值保存到excel工作表中的某个范围内。如果我能使用解算器GUI来完成,那就太好了。如果不是,基于VBA的解决方案也可以


谢谢。

这是可以做到的,但手动操作很繁琐。在Excel/Solver中时,在“解算器参数”对话框中选择选项。(Excel中的数据->解算器->选项)选中显示迭代结果复选框。执行此操作时,Excel的解算器将在每次迭代后暂停,并使用当前变量值更新单元格

现在,当您通过单击“求解”来运行模型时,Excel将在每次中间迭代时暂停。解算器将每个中间步骤视为“方案””您可以通过在每次迭代后弹出的“方案”对话框中为每个步骤命名来保存它。(在文本框中,输入逻辑内容,如i1、i2、i3…)

求解完成后,您可以访问“方案管理器”Excel->Options->Scenarios。 您将看到此处列出的所有保存的方案。要将它们全部放入所需的命名范围,请按“摘要”按钮,然后在对话框中选择“方案透视表报告”,这将在一个漂亮的透视表中显示所有中间目标函数值,供您分析

需要记住的几个限制: 1.启用“显示迭代结果”选项会严重降低解决方案的速度 2.如果您的LP甚至是中等规模,您将有大量迭代。手动记录场景在现实中并不可行。但是,您可以通过按下ESC按钮“采样”一些迭代,存储场景并继续