当前位置: X-MOL 学术Comput. Chem. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Parallel cyclic reduction decomposition for dynamic optimization problems
Computers & Chemical Engineering ( IF 3.9 ) Pub Date : 2017-10-05 , DOI: 10.1016/j.compchemeng.2017.09.023
Wei Wan , John P. Eason , Bethany Nicholson , Lorenz T. Biegler

Direct transcription of dynamic optimization problems, with differential-algebraic equations discretized and written as algebraic constraints, can create very large nonlinear optimization problems. When this discretized optimization problem is solved with an NLP solver, such as IPOPT, the dominant computational cost often lies in solving the linear system that generates Newton steps for the KKT system. Computational cost and memory constraints for this linear system solution raise many challenges as the system size increases. On the other hand, the linear KKT system for our dynamic optimization problem is sparse and structured, and can be permuted to form a block tridiagonal matrix. This study explores a parallel decomposition strategy for block tridiagonal systems that is based on cyclic reduction (CR) factorization of the KKT matrix. The classical CR method has good observed performance, but its numerical stability properties need further study for our KKT system. Finally, we discuss modifications to the CR decomposition that improve performance, and we apply the approach to four industrially relevant case studies. On the largest problem, a parallel speedup of a factor of four is observed when using eight processors.



中文翻译:

动态优化问题的并行循环归约分解

动态优化问题的直接转录,具有离散的微分-代数方程式,并写为代数约束,会产生非常大的非线性优化问题。当使用NLP解算器(例如IPOPT)解决离散化的优化问题时,主要的计算成本通常在于解算为KKT系统生成牛顿阶跃的线性系统。随着系统尺寸的增加,此线性系统解决方案的计算成本和内存限制带来了许多挑战。另一方面,针对我们的动态优化问题的线性KKT系统稀疏且结构化,可以置换成块三对角矩阵。这项研究探索了基于KKT矩阵的循环还原(CR)分解的块三对角系统的并行分解策略。经典的CR方法具有良好的观测性能,但是其数值稳定性性质需要对我们的KKT系统进行进一步研究。最后,我们讨论了对CR分解的修改以提高性能,并将该方法应用于四个与工业相关的案例研究。在最大的问题上,当使用八个处理器时,并行速度提高了四倍。

更新日期:2017-10-05
down
wechat
bug