强制强制中数值的处理处理GydF4y2Ba

作者图像GydF4y2Ba

作者GydF4y2BaTemesgen KindoGydF4y2Ba

2018年9月11日GydF4y2Ba

在的,我们的部分第一第一讨论如何简单边界条件变分变分问题问题问题。,我们问题。。变分变分变分变分变分变分变分问题变分解决变分变分变分变分变分变分变分变分我们讨论执行数值问题拉格朗日理论上是是,但是是精确是是是是数值解数值解GydF4y2Ba为了应对这个,我们我们提出种:罚:罚方法和增广。。GydF4y2Ba

对对约束使用拉格朗日GydF4y2Ba

假设假设指定的均匀悬链线悬链线的GydF4y2Bau(x)GydF4y2Ba,悬挂悬挂自身下单位长度密度的使函使函数值最GydF4y2Ba

e [u(x)] = \ int_a^b u(x)\ sqrt {1+u^{\ prime}(x)^2} dx。GydF4y2Ba


如果约束边界,则则调整,以悬链线,以调整悬链线长度悬链线悬链线悬链线满足满足最终最终条件条件的的低低低势能势能GydF4y2BalGydF4y2Ba,于是于是增加全局全局GydF4y2Ba

\ int_a^b \ sqrt {1+u^{\ prime}(x)^2} dx = l。GydF4y2Ba


如GydF4y2Ba本系列博客的第二部分GydF4y2Ba所,对于,该,该该最问题可以具有新新的无。小化问题问题小化GydF4y2Ba

\ Mathcal {l} [u(x),\ lambda] = \ int_a^b u(x)\ sqrt {1 + u^{\ prime}(x)2} dx + \ lambda \ weft [\ int_a^b \sqrt {1+u^{\ prime}(x)^2} dx - l \ right]。GydF4y2Ba


请请,全局中每约束个拉格朗日拉格朗日拉格朗日拉格朗日拉格朗日拉格朗日拉格朗日拉格朗日拉格朗日个拉格朗日个拉格朗日是分布式)约束约束约束约束的GydF4y2Ba

f = u(x)\ sqrt {1+u^{\ prime}(x)2},\ qquad g = \ sqrt {1+u^{\ prime}(x)^2}GydF4y2Ba


通过通过一阶变分GydF4y2Bau(x)GydF4y2Ba和GydF4y2Ba\ lambdaGydF4y2Ba都设置为GydF4y2Ba\ Mathcal {L}GydF4y2Ba
[u(x),\ lambda]GydF4y2Ba
到0,来来最优。有关分的多多多多,请请多多GydF4y2Ba本本博客的第一GydF4y2Ba。GydF4y2Ba

\int_a^b \left[\frac{\partial F}{\partial u}\hat{u} + \frac{\partial F} {\partial u’}\hat{u’}\right]dx + \lambda\int_a^b \left[\frac{\partial g}{\partial u}\hat{u} + \frac{\partial g}{\partial u’}\hat{u’}\right]dx=0, \quad \forall \hat{u},
\ hat {\ lambda} \ left [\ int_a^b g(x,x,u,u’)dx - l \ right] = 0,\ quad \ forall \ hat \ hat {\ lambda}。GydF4y2Ba


现在,我们我们悬链线的,该悬链线,该悬链线悬挂悬挂两两两个个个高个个个个个个高个个个个个高个个个高个两个个个个个个个个的的的的的的的的的的的的的10 m和9m,相距10m的的GydF4y2Ba

两两GydF4y2Ba(dirichlet)GydF4y2Ba边界条件自己的拉格朗日作为作为添加。在本的第二的第二中部分中,我们第二第二的的的第二的的的的的第二第二中的的第二中中我们我们我们我们我们我们我们我们我们我们我们我们演示演示演示了演示演示了了如何如何如何如何GydF4y2Ba狄利克雷边界GydF4y2Ba节点来来端点GydF4y2Ba

comsol多物理学中中弱贡献设置。GydF4y2Ba
comsol多物理学中中全局约束设置。GydF4y2Ba

全局约束设置GydF4y2Ba

请注意,在上述中,不,不GydF4y2Ba\ frac {\ partial g} {\ partial u}GydF4y2Ba项,因为GydF4y2BaGGydF4y2Ba只只GydF4y2Bau^{\ prime}GydF4y2Ba的函数并不GydF4y2Ba你GydF4y2Ba的函数。GydF4y2Ba

,尝试此时求解生成。。是当使用拉格朗日拉格朗日解含解含全局全局约束约束或约束或约束约束的的问题问题时时时时一一一一一个数值常见数值数值HESSIAN(HESSIAN)(HESSIAN)可以矩阵可以可以的。。GydF4y2Ba

应对该一常用方法是将将将问题问题问题的初始初始估计估计估计估计估计。。。在在在在。在在在。。在在。。在在初始初始初始初始初始初始初始初始初始初始初始初始来实现。的解将自动第二的的迭代迭代GydF4y2Ba

comsol多物理学中中瞬态研究设置。GydF4y2Ba
使用使用约束解约束问题的初始估计GydF4y2Ba

限定长度以及无约束的GydF4y2Ba
限定限定以及无的悬链线悬链线GydF4y2Ba

如果我们GydF4y2Ba结果>派派GydF4y2Ba>GydF4y2Ba全局全局GydF4y2Ba中中GydF4y2Baintop1GydF4y2Ba(GydF4y2BaGGydF4y2Ba()GydF4y2Ba,则则长度恰好10.5 m。。乘子也可以可以GydF4y2Ba全局全局GydF4y2Ba中使用上,此此乘子我们的的张力,以的,以以张力其GydF4y2Ba

拉格朗日的一常见数值问题是矩阵矩阵的正定正定损失许多许多不受受约束约束约束约束的的变分变分变分问题问题问题都正定正定正定正定矩阵矩阵矩阵矩阵朗日乘子法导致鞍点,并且并且相应相应系统是不的的。这个这个这个并问题问题并并不不是是是不解决不解决不,我们GydF4y2Ba

我们已经多方法来避免在在分布式约束中拉格朗日乘子的数值数值缺点缺点。。。。在。。缺点缺点缺点这里数值数值,我们我们我们缺点数值缺点子法。GydF4y2Ba

罚罚GydF4y2Ba

约束最问题惩罚性将拉格朗日乘子换为惩罚约束违反的的的项。在在全局全局全局约束约束的的的情况的情况的的GydF4y2Ba

e _ {\ mu} [u(x)] = \ int_a^b f(x,u,u,u^{\ prime})dx + \ frac {\ mu} {2} {2} \ left [\ int_a^b g(x,x,x,x,x,x,x,你,u’)dx – l \right]^2.


如果罚因子太大,则上式中的第二项会使罚项太大,以至于对最小化总函数而言,满足约束条件非常必要。采用约束违反的平方,以便对长度的下冲和上冲都进行惩罚。因此,这是一个双向约束。相反,不平等约束是单向的。GydF4y2Ba

在,罚因子,罚因子我们,GydF4y2Bau(x)GydF4y2Ba是唯一的。,一阶一阶最条件变变变GydF4y2Ba

\ int_a^b \ left [\ frac {\ partial f} {\ partial u} \ hat {u}+\ frac {\ partial f} {\ partial u’} \ hatGydF4y2Ba
\right]dx + \mu \left[\int_a^b g(x,u,u’)dx – l \right]\int_a^b \left[\frac{\partial g}{\partial u}\hat{u}+\frac{\partial g} {\partial u’}\hat{u’}\right]dx, \qquad \forall \hat{u}.


与拉格朗日,我们我们看到这方法用比例乘乘以约束违反来来近似拉格朗日GydF4y2Ba

\ lambda \ oft \ mu \左[\ int_a^b g(x,u,u’)dx - l \ right]。GydF4y2Ba


则将视为所所需的需,则则了提供了了一一种种种种种种跳跃种种种线性一,当种种一一一一一一一了了了了了了了了,则则将与温度和温度比例比例的的,然后比例的的的热通量系数GydF4y2Ba

屏幕截图显示了全球约束执行的示例。GydF4y2Ba
全局约束的罚执行示例GydF4y2Ba

罚易于,并且并且吸引人的特性不不受约束刚度刚度刚度矩阵是是是是是是是是刚度刚度刚度刚度刚度刚度刚度矩阵那么那么那么那么那么那么那么那么它它不不会会会增加增加增加新增加新新的自由度自由度自由度自由度自由度自由度并并并并不能条件。,我们。为为为为为大无穷大,但是设为为无穷,但是但是为,但是但是但是但是但是这这这这无法无法无法无法在在在在在上上上实现实际上实际上实际上实际上实际上实际上实际上而关注,而过于关注关注关注代价代价代价,诀窍。。代价代价。。代价代价代价代价代价。代价找到找到一一个个个足够大大大的的的GydF4y2Ba

下面,我们我们罚各各值长度约束满足满足程度GydF4y2Ba

绘图,对于,对于的罚参值,指定指定均很很的。。GydF4y2Ba
如果罚较,则则出的和长度之将将趋近于GydF4y2Ba

从上图看出,罚因子越,强制,强制越。,如果好,如果如果。将将罚罚因子因子因子20,则设置设置设置设置则会会由于因子太因子GydF4y2Ba

罚参数参数辅助GydF4y2Ba

我们已经一些算来逐渐改善问题一种的的是是逐渐逐渐逐渐逐渐逐渐增加增加逐渐增加罚因子GydF4y2Ba

当乘子约束和的乘积乘积乘积,当当较小时小时较小时较较较,我们违反较,我们我们较较较较较违反较较较较较较较较较较较违反较较较较较较较较较较较小时承受承受承受承受承受近似满足的试验解,则则高高的(与与大量约束约束约束条件条件条件的的试验解。。。GydF4y2Ba辅助辅助GydF4y2Ba,comsol多物理学中中中该策略策略GydF4y2Ba

指定指定计算长度罚因子的差异比较比较GydF4y2Ba
当使用因子,计算计算长度指定长度与之之比比GydF4y2Ba

如所,对罚进行进行扫描我们能够使用高的的罚因子罚因子而而不不不会产生产生产生不良日乘子解的精确度GydF4y2Ba

comsol多物理图比较了惩罚和拉格朗日乘数解决方案。GydF4y2Ba
罚和拉格朗日乘子解的比较GydF4y2Ba

增广增广GydF4y2Ba

为了结合方法拉格朗日优点,同时它们,我们的,我们,我们设计了了了了增广增广增广增广拉格朗日法。。。为了为了为了为了为了GydF4y2Ba

对于对于GydF4y2Ba

\ textrm {最小化} f(x),\ quad \ textrm {约为} g(x)= 0。GydF4y2Ba


拉格朗日乘子法可求解无约束GydF4y2Ba

\ Mathcal {l}(x,\ lambda)= f(x) + \ lambda g(x),GydF4y2Ba


而罚方法GydF4y2Ba

e _ {\ mu}(x)= f(x) + \ frac {\ mu} {2} g^2(x)。GydF4y2Ba


增广增广具有拉格朗日乘子和。GydF4y2Ba

e _ {\ mu,\ lambda}(x)= f(x) + \ lambda^* g(x) + \ frac {\ mu} {2} g^2(x)。GydF4y2Ba


在拉格朗日乘子法,拉格朗日乘子为增广增广拉格朗日法,从,从乘子乘子GydF4y2Ba

拉格朗日函数的一阶最优条件GydF4y2Ba

\ frac {D} {dx}= \ frac {df} {dx} +(\ lambda^* + \ mu g)\ frac {dg} {dx} = 0。GydF4y2Ba


将其拉格朗日的佳条件进行,可以进行进行进行乘子改进改进估计GydF4y2Ba

\ lambda = \ lambda^* +\ mu g。GydF4y2Ba


回到我们今天的和和,增广全局和和约束为迭代GydF4y2Ba

\ int_a^b \ left [\ frac {\ partial f} {\ partial u} \ hat {u}+\ frac {\ partial f} {\ partial f} {\ partial u’}GydF4y2Ba
\帽子GydF4y2Ba

{u’} \ right] dx +GydF4y2Ba
\ left(\ lambda_k + \ mu \ left [\ int_a^b g(x,u,u,u’)dx - l \ right] \ right)GydF4y2Ba
\ int_a^b \ left [\ frac {\ partial g} {\ partial u} \ hat {u}+\ frac {\ partial g} {\ partial u’} \ hat {u'}GydF4y2Ba
\ right] dx,\ qquad \ forall \ hatGydF4y2Ba

{u}GydF4y2Ba
。GydF4y2Ba

\ lambda_GydF4y2Ba
{K+1}GydF4y2Ba
= \ lambda_k + \ \ mu \ left [\ int_a^b g(x,u,u,u’)dx - l \ right]GydF4y2Ba


该迭代将,直到违反或或或等等等等等等等等等等等等等等等等等明显停止停止明显)为止值,以以集中在乘子更新更新上GydF4y2Ba

(((),增广乘子的力)法对于特别吸引力,因为因为个点可以局部条件进行不同更新更新更新GydF4y2Ba

(((())和不按按和和和增广增广增广增广增广增广增广增广增广中中中中接触约束约束的内置的的,但是内置内置的内置但是但是但是接触接触力学涉及涉及如何在物理场没有内置的情况添加用户的的约束约束GydF4y2Ba

故意违反GydF4y2Ba

有时我们故意约束。假设在上面的示例示例中我们我们将约束约束设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置设置GydF4y2Ba

拉格朗日精确执行约束约束约束地执行执行地,这这。问题但是。。。。不一致约束约束,拉格朗日拉格朗日法收敛收敛收敛。。。。。。收敛收敛收敛。收敛。。。使用使用近似近似约束((((体动力学为提供一内置方法罚,以的罚罚使模型模型对过度不GydF4y2Ba

后续后续GydF4y2Ba

,我们,我们证明拉格朗日可以工作工作,它。。。,它的初始初始估计估计更估计更,并且并且,并且并且并且可能可能使不不的确定的的罚方法增广乘子法这些这些,以这些困难一些对约束的违反GydF4y2Ba

我们希望可以精确地执行约束,但是在约束不一致或过多的问题中,我们可能希望不精确地强制执行约束以获得一些近似解。在下一篇博客文章中,我们将讨论不平等约束。拉格朗日乘子法还会产生不平等约束的缺点。GydF4y2Ba

本系列,我们多介绍方法,并并了了了一维和单个单个未未未问题问题。在在即将发布的的另一一GydF4y2Ba

comsol,comsol多物理学中中中中方程的功能的多GydF4y2Ba

查看更多多变分问题和和和问题问题系列博客文章GydF4y2Ba

博客博客GydF4y2Ba


评论(2)GydF4y2Ba

留言GydF4y2Ba
登录|注册GydF4y2Ba
正在... ...GydF4y2Ba
詹姆斯ZGydF4y2Ba
詹姆斯ZGydF4y2Ba
2023-01-30GydF4y2Ba

什么是弱贡献的输入框中的DGDUX?GydF4y2Ba

hao huangGydF4y2Ba
hao huangGydF4y2Ba
2023-02-06GydF4y2Ba comsol员工GydF4y2Ba

您好,博客中的 dgdux 表示 g 对 u’ 的偏导,也就是求一阶变分之后的需要添加到弱形式中的项。因为此博客案例中,g=g(u’) 和 u 无关,所以只有 dgdux 这一项。

浏览comsol博客GydF4y2Ba
标记GydF4y2Ba