在构建具体的QP模型后调用ipopt求解器时,Pyomo在调用求解器之前运行内部代码。阅读关于这个主题的其他问题我理解Pyomo正在将模型转换为ipopt可以理解的格式。但不幸的是,Pyomo在ipopt开始解决模型之前需要很长时间。有没有办法减少实际求解器调用的时间?
答案 0 :(得分:1)
我相信Pyomo默认行为是编写*.nl
文件,然后调用IPOPT来处理该文件并生成*.sol
文件。 Pyomo然后在*.sol
文件中解析。用于创建*.nl
文件的文件IO可能是较大型号的限制因素。解决方案是使用内存接口而不是编写*.nl
文件,我认为这是一项正在进行的工作。
您也有可能在模型构建方面提高效率。您可以查看到达solve()
语句与执行solve()
本身所需的时间。