Excel Solver 和 VBA:约束中的浮点/小数被错误地转换为整数?
我在 Excel 2007 和 2010 下运行 VBA 脚本,其中涉及使用 Excel 内置求解器进行大量优化。
指定小数约束(例如 X>=0.0001,其中 X 是问题的决策变量)的正确方法是什么。
SolverAdd CellRef:=cells(5,5), Relation:=3, FormulaText:="0.0001"
或者我必须删除引号“”? Solver 的 VBA 接口是否允许小数(非整数)约束?
我这么问是因为有时我有一种(未经证实的)感觉,即 >=0.0001 的约束被错误地解释为 >=1,这当然会产生错误的结果。
如果有人能为我澄清这些问题,那就太好了。
史蒂夫
I'm running VBA scripts under both Excel 2007 and 2010 which involve a lot of optimization using the built-in Solver of Excel.
What is the correct way to specify decimal constraints like X>=0.0001 where X would be the decision variable of the problem.
SolverAdd CellRef:=cells(5,5), Relation:=3, FormulaText:="0.0001"
Or do I have to remove the quotes " " ?
And does the VBA interface of Solver allow for decimal (non-integer) constraints anyway?
I'm asking, because sometimes I get the (unconfirmed) feeling that a constraint of >=0.0001 is incorrectly interpreted as >=1, which of course renders wrong results.
It would be great if somebody could clarify these issues for me.
Steve
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我们发现
FormulaText
确实可以影响最终的解决方案。我们总是只使用直接数字,不带引号:We've found that
FormulaText
can really effect the final solution. We've always just used straight numbers there, no quotes: