我每年都在做一个循环,每年我都会解决一个优化问题。在循环内部,我这样做:
#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'
然后,我再次运行它并且可以运行,但是几年后它再次(随机)损坏。我认为这与优化的下一个迭代有问题有关,因为过去的优化尚未完全解决。
有帮助吗?
非常感谢!
答案 0 :(得分:2)
我认为我已经解决了我的问题:
所以我将目录移到了C盘,现在没有任何问题。
希望这会有所帮助!