在 pyomo 中为 MINLP 问题设置 Scip 求解器的求解器选项

问题描述 投票:0回答:1

如果这个问题之前已经被处理过,我很抱歉,但我在为 Scip 求解器实现求解器选项时遇到问题。 我正在对 MI 部分使用 Scip 求解器并针对 NLP 部分使用 ipopt 来建模 MINLP 问题。我的问题是,求解模型时内核会在一定数量的迭代后冻结。我怀疑求解器是问题所在,因为当我使用 tee=True 查看输出时,它有时会卡住,求解器超出了我之前设置的限制。

请告诉我,如果我的表述有误,我是一个完全的初学者。 我通过 anaconda 使用 pyomo,在不同的环境中遇到问题,例如Colab 和 jupyter 笔记本

谢谢, 迈克尔

我尝试使用以下代码来限制迭代量和求解器花费的时间,但它似乎不起作用:

solver = SolverFactory('scip', nlp_solver='ipopt')
solver = SolverFactory('scip')
solver.options['max_time'] = 30
solver.options['max_iter'] = 100
python pyomo mixed-integer-programming scip ipopt
1个回答
0
投票

我有同样的问题......不幸的是仍然开放。

可能的解决方法是将所有参数写入 scip.set 文件中,并将其放入 python 运行代码的文件夹中。默认情况下 SCIP 读取 scip.set(如果当前文件夹中存在)...

再次建议:使用 with 运算符:

with pyo.SolverFactory(path2scip + "scip") as opt:
   results = opt.solve(myPyomoModel, load_solutions=True, tee=True)
© www.soinside.com 2019 - 2024. All rights reserved.