Pyomo迭代求解时中断

时间:2019-03-04 21:30:14

标签: python-3.x iteration pyomo

我每年都在做一个循环,每年我都会解决一个优化问题。在循环内部,我这样做:

        #Optimization
        opt = SolverFactory("ipopt")
        results = opt.solve(model3 , keepfiles=False, load_solutions=False)
        model3.solutions.load_from(results)

程序运行良好,但我(随机)遇到了这个问题:

文件“”,第47行,在     结果= opt.solve(model3,keepfiles = False,load_solutions = False)

文件“ C:\ Users \ escriva \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ pyomo \ opt \ base \ solvers.py”,第631行,已解决     结果= self._postsolve()

文件“ C:\ Users \ escriva \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ pyomo \ opt \ solver \ shellcmd.py”,行282,在_postsolve中     os.remove(self._soln_file)

PermissionError:[WinError 32]该进程无法访问文件,因为该文件正被另一个进程使用:'C:\ Users \ escriva \ tmpc2aly83o.pyomo.sol'

然后,我再次运行它并且可以运行,但是几年后它再次(随机)损坏。我认为这与优化的下一个迭代有问题有关,因为过去的优化尚未完全解决。

有帮助吗?

非常感谢!

1 个答案:

答案 0 :(得分:2)

我认为我已经解决了我的问题:

  • 我在Dropbox目录中工作,有人告诉我,这可能是删除求解器文件时响应缓慢的原因。

所以我将目录移到了C盘,现在没有任何问题。

希望这会有所帮助!