【问题标题】:What is the non-linear solver used in Dymola initialization process?Dymola 初始化过程中使用的非线性求解器是什么?
【发布时间】:2021-02-12 18:39:46
【问题描述】:

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

【问题讨论】:

    标签: modelica dymola


    【解决方案1】:

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

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

    • 需要良好的初始猜测才能收敛到正确的最优值,残差成本函数在数值上接近于零

    • 为底层优化成本函数计算的 Jacobian(或 Hessian)通常是奇异的。这里比较使用伪反演(普通求解器不一定提供)

    • 由于潜在问题的潜在大规模性质,不同变量和初始条件的值将位于较大的数值范围内。这将导致已知标准求解器的数值不稳定。在这里,遵循缩放技术(通过对数缩放技术将考虑中的所有优化变量转换为值 1 或更小的值范围)。此类技术通常不是普通求解器提供的,需要在外部应用到成本函数的制定中。

    • 建模者提供的初始条件可能不完整且不一致,仿真环境需要实施严格的启发式算法来猜测求解器的良好起始值。

    参考资料:

    F. Casella and B. Bachmann, On the choice of initial guesses for the Newton-Raphson algorithm, App. Math. & Comp. 2021

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多