【发布时间】:2019-12-16 20:18:01
【问题描述】:
我正在使用 pyomo 版本解决 MINLP 问题。 5.5.6。我目前使用的求解器是 couenne 0.5.6。它是 macOS 下载的可执行文件。
我读到可以更改一些选项(例如约束可行性容差等)。但是,我不知道如何访问 Couenne 的这些选项。
我已经尝试以
的形式访问python脚本中的选项solver=SolverFactory('couenne')
solver.options['feas_tolerance'] = value
results=solver.solve(instance)
但这不起作用,因为关键字“feas_tolerance”是未知的。但是,无论我在哪里看,它都被定义为那个。
但是,如果我指定 couenne 使用的 Ipopt 求解器的关键字,它就可以工作。所以像下面这样是没有问题的:
solver=SolverFactory('couenne')
solver.options['tol'] = value
results=solver.solve(instance)
我还读到,可以将couenne.opt 文件保存在某处。关于这种方法,我阅读了关于保存文件的不同答案。我试图将它保存在 couenne 的可执行文件所在的路径中,以及我试图运行的脚本的路径中。
在这种情况下没有任何效果。
我现在的问题是:
是否可以直接从 python 脚本访问 couenne 的选项?如果没有,我必须在哪里保存 couenne.opt 文件?如果出现此问题,我也会徘徊,因为我正在使用下载的可执行文件,我正在这样做是因为我在安装二进制文件时遇到了一些重大问题。
【问题讨论】:
-
您无法将 couenne.opt 放置在正确的位置,因为 Pyomo 在调用 couenne 时会创建一个临时文件夹作为工作目录。我不记得检索此目录的正确命令。
-
感谢您的评论。所以基本上我必须找出这个目录的创建位置以及如何直接访问它/在这个位置放置一些东西。还是我理解错了?