首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Dymola初始化过程中使用的非线性求解器是什么?

在Dymola初始化过程中使用的非线性求解器是什么?
EN

Stack Overflow用户
提问于 2021-02-12 18:39:46
回答 1查看 194关注 0票数 3

我经常遇到下面显示的初始化问题,上面写着some kind of non-linear solver will attempt to handle this problem。据我所知,Dymola在得到原始DAE系统的BLT形式后,用牛顿法求解方程,那么这个非线性求解器到底是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-14 14:25:52

一般来说,Modelica仿真环境需要做的不仅仅是依赖基于导数的优化算法的已知的求解器。它可以基于已知的具有自适应能力的求解器,在求解器(线搜索或信任区域方法)和尝试不同的求解器参数之间切换。此外,在初始化问题的高级实例中,需要全局优化策略来避免质量差或发散的局部最优。

推理:存在严重的障碍,可能会妨碍识别一个半最优的,而不一定是初始化问题的最优解:

  • 为了在数值上接近零的残差函数收敛到一个正确的最优,需要良好的初始猜测。
  • 为基础优化代价函数计算的Jacobian (或Hessian)通常是奇异的。这里使用的是伪反演(不一定由普通的求解者提供)。
  • 由于潜在的大规模性质的根本问题,不同的变量和初始条件的值将在一个大的数值范围内。这将导致已知标准解的数值不稳定。这里遵循缩放技术(通过对数缩放技术将考虑的所有优化变量转换为1或更小的值范围)。这类技术通常不是由一般的求解者提供的,需要在外部应用于成本函数的制定。
  • 建模者提供的初始条件可能是不完整和不一致的,并且仿真环境需要实现严格的启发式来猜测求解器的一个好的起始值。

参考资料:

F. Casella和B. Bachmann,关于牛顿-拉夫森算法初始猜测的选择,应用程序。数学。& Comp.2021年

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66177323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档