蓝山帝景
您可以通过设置debug=0何时调用来访问解决方案solve:m.solve(debug=0)默认是debug=1在出现错误(例如达到最大迭代次数)时抛出异常。这是一个通常在 5 次迭代中求解的示例。,它在m.options.max_iter=4达到成功解决方案之前达到最大迭代次数。from gekko import GEKKOm = GEKKO(remote=False) # create GEKKO modelx = m.Var(value=0) # define new variable, initial value=0y = m.Var(value=1) # define new variable, initial value=1m.Equations([x + 2*y==0, x**2+y**2==1]) # equationsm.options.MAX_ITER=4m.solve(debug=0) # solveprint([x.value[0],y.value[0]]) # print solution使用debug=0时,在求解器几乎完成求解的情况下,返回第 4 次迭代时的错误答案。[-0.89473125735, 0.44736562868]如果您需要有关初始化问题的建议以帮助您找到成功的解决方案,我推荐这篇文章:Safdarnejad, SM, Hedengren, JD, Lewis, NR, Haseltine, E.,动态系统优化的初始化策略,计算机和化学工程,2015 年,卷。78,第 39-50 页,DOI:10.1016/j.compchemeng.2015.04.016。