执行不平等约束的方法GydF4y2Ba

作者图像GydF4y2Ba

经过GydF4y2BaTemesgen KindoGydF4y2Ba

2018年9月17日GydF4y2Ba

您如何找到湖间两点之间最短的陆上距离?这种解决方案的障碍和界限通常被称为不平等约束。接触力学中的物体之间的差距,化学中的物种浓度以及生态学中的种群之间的差距的不可负性的要求是不平等约束的一些例子。以前在本系列中,我们讨论了有关变异问题的平等约束。今天,我们将向您展示如何在ComsolMultiphysics®中使用基于方程式的建模时实现不平等约束。GydF4y2Ba

路径规划的惩罚方法GydF4y2Ba

假设您想从一个点(0,0.2)到(1,1),但是有一个圆形障碍物为(0.5,0.5)和半径0.2。曲线GydF4y2Ba(x,u(x))GydF4y2Ba这使两个端点之间的距离最小GydF4y2Ba(a,u(a))GydF4y2Ba和GydF4y2Ba(b,u(b))GydF4y2Ba,应最小化功能GydF4y2Ba

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

在欧几里得空间中,两个点之间的最短距离是一条直线。因此,使用我们到目前为止所讨论的内容为此方程式解决该方程式应该有一条直线。但是,在我们的情况下,直线遇到了障碍。这是不可行的。我们必须尊重我们的道路不能陷入障碍的约束。也就是说,从路径到圆形障碍物中心的点的距离应大于或等于圆的半径。GydF4y2Ba

r- \ sqrt {(x-x_o)^2+(u(x)-y_o)^2} \ le 0。GydF4y2Ba

简单地说明了不平等的限制问题。GydF4y2Ba
不平等问题的基本示意图。GydF4y2Ba

我们想为我们的功能添加一个术语,以惩罚约束违规。对于平等约束GydF4y2BaG = 0GydF4y2Ba,我们对负面价值和正值GydF4y2BaGGydF4y2Ba。对于不平等约束GydF4y2Bag \ leq 0GydF4y2Ba,我们必须仅惩罚GydF4y2BaGGydF4y2Ba,而负值是可以接受的。GydF4y2Ba

在障碍问题中,这意味着我们只有在路径试图渗透障碍物时才能进行惩罚。远离我们圆形湖岸的远处是可行的,尽管可能不是最佳的GydF4y2Ba

E_{\mu}[x,u,u’] = \int_a^b \sqrt{1+u^{\prime}^2}dx + \frac{\mu}{2}\int_a^b\bigg\langle R-\sqrt{(x-x_o)^2+(u(x)-y_o)^2}\bigg\rangle^2dx,

在哪里GydF4y2Ba\亩GydF4y2Ba是惩罚参数,我们使用了GydF4y2Ba坡道功能GydF4y2Ba

\ bigg \ langle x \ bigg \ rangle:= \ begin {case}GydF4y2Ba
x&x \ ge 0 \\GydF4y2Ba
0&x \ le 0。GydF4y2Ba
\ end {cases}GydF4y2Ba

对于一般功能GydF4y2Ba

e [x,u,u’] = \ int_a^b f(x,u,u^{\ prime})dxGydF4y2Ba

受到不平等约束的最小化GydF4y2Ba

g(x,u,u^{\ prime})\ leq 0,\ qquad \ forall x,GydF4y2Ba

惩罚功能变为GydF4y2Ba

E_{\mu}[x,u,u’] = \int_a^b F(x,u,u^{\prime}) dx + \frac{\mu}{2}\int_a^b\bigg\langle g(x,u,u^{\prime})\bigg\rangle^2 dx.

最后一步是采用上述函数的第一个变异导数并将其设置为零。在这里,我们需要记住,坡道功能的导数是GydF4y2BaHeaviside步骤功能GydF4y2BaHGydF4y2Ba。GydF4y2Ba

\int_a^b \left[\frac{\partial F}{\partial u}\hat{u} + \frac{\partial F}{\partial u’}\hat{u’}\right] dx + \mu\int_a^b gH(g)\left[\frac{\partial g}{\partial u}\hat{u} + \frac{\partial g}{\partial u’}\hat{u’}\right] dx = 0, \qquad \forall \hat{u}.

在上述推导中,我们使用了一个事实GydF4y2Ba\ big \ langle x \ big \ rangle h(x)= xh(x)。GydF4y2Ba请注意,我们在这里讨论非阳性限制。可以通过将约束方程的负数和求解等效的非阳性约束来解决非负约束。GydF4y2Ba

上面的变异方程式中的第一个术语是从不受约束的问题中造成的现在熟悉的贡献。让我们看看如何使用GydF4y2Ba贡献弱GydF4y2Ba节点。我们将使用更简单的GydF4y2BaDirichlet边界条件GydF4y2Ba固定末端的节点。GydF4y2Ba

用于在COMSOL多物理学中实现不等式约束的变量设置的屏幕截图。GydF4y2Ba
在comsol多物理学中实现不平等约束的弱贡献设置的屏幕截图。GydF4y2Ba

使用惩罚方法实施不平等约束。GydF4y2Ba

请注意,在上述弱势贡献中,我们没有包括GydF4y2Ba\ frac {\ partial g} {\ partial u^{\ prime}}}GydF4y2Ba,由于此问题的约束仅取决于解决方案而不取决于其空间衍生物。GydF4y2Ba

解决此问题的一系列增加的惩罚参数,同时将先前的解决方案作为初始估计值,我们得到下面显示的结果。GydF4y2Ba

限制路径计划的图。GydF4y2Ba
使用惩罚方法在障碍物周围找到最短的路径。零罚款将返回不受约束的解决方案。GydF4y2Ba

在我们讨论的物理解释中GydF4y2Ba平等约束的惩罚方法GydF4y2Ba,我们已经说过,罚款术语引入了与违反约束的反应。这种解释适用,但对于不平等约束,反应是单方面的。GydF4y2Ba

想象一下,用压缩弹簧强迫珠子留在原位。弹簧没有钩在珠子上。他们只是触摸。保持珠子GydF4y2Bax = 0GydF4y2Ba,我们必须使用两个弹簧,一个弹簧在原点的每一侧。如果珠子可以接受到原点的左侧,我们的约束是GydF4y2Bax \ leq 0GydF4y2Ba我们必须仅将压缩弹簧放在右侧。这就是为什么我们处罚GydF4y2Ba\ big \ langle g \ big \ rangleGydF4y2Ba代替GydF4y2Ba| G |GydF4y2Ba。GydF4y2Ba

春天的草图表明平等。GydF4y2Ba
春季的草图表明不等式GydF4y2Ba

春季对平等强制执行(多边)和不平等(单方面)约束的类比。GydF4y2Ba

拉格朗日乘数法GydF4y2Ba

当我们讨论不同约束执行策略的数值属性时,我们说,尽管Lagrange乘数方法准确地执行了约束,但它在数值解决方案中具有某些不良属性。也就是说,它对溶液的初始估计值敏感,并且可能需要直接线性求解器。这些缺点仍然存在,但是在不平等限制下,还有一个额外的挑战。具体而言,约束可能并不总是活跃。GydF4y2Ba

考虑我们的路径计划问题。在路径的部分不触摸障碍物中,约束不活动。但是,我们不知道约束在哪里活跃而不是活动。有几种处理此问题的策略,但我们想指出两种常用的方法。GydF4y2Ba

主动设置策略GydF4y2Ba

假设某些限制是活动的,有些则没有。在分布式约束中,这意味着我们期望的选择点GydF4y2BaG = 0GydF4y2Ba并假设其他要点在可行区域内GydF4y2Bag <0。GydF4y2Ba在非活动点,Lagrange乘数应为零。在活动集合中,Lagrange乘数不应为负。这些是所谓的GydF4y2BaKarush-Kuhn-Tucker(KKT)条件GydF4y2Ba。如果经过计算后,活动集更改或违反KKT条件,我们必须适当更新活动集并重新计算。以下流程图总结了此过程:GydF4y2Ba

用于采用主动设定策略来处理约束的流程图。GydF4y2Ba
Lagrange乘数执行不平等约束的主动集策略。GydF4y2Ba

通过这个迭代过程,每个迭代都解决了一个平等约束的问题。Lagrange乘数相等约束的实现已在GydF4y2Ba本系列的上一篇博客文章GydF4y2Ba。GydF4y2Ba

松弛变量GydF4y2Ba

另一个策略是引入所谓的GydF4y2Ba松弛变量GydF4y2Ba将不平等变为平等。约束GydF4y2Bag \ leq 0GydF4y2Ba等同于GydF4y2BaG + S^2 = 0GydF4y2Ba。现在,我们有一个涉及新的松弛变量的平等约束。如果不等式是分布式(点式)约束,则Slack变量以及Lagrange乘数将是函数。GydF4y2Ba

一方面,松弛变量策略介绍了另一个未知的未知数,但一方面解决了该问题。另一方面,主动集策略不需要此变量,而必须解决多个问题,直到活动设置停止更改为止。GydF4y2Ba

增强的拉格朗日方法GydF4y2Ba

就像我们对平等约束所做的那样,让我们​​使用微积分问题讨论这种方法的基本思想。通过使用估计的乘数和罚款术语来增强无约束的目标函数,我们有GydF4y2Ba

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

此约束的一阶最佳条件是GydF4y2Ba

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

这暗示了乘数更新GydF4y2Ba

\ lambda^* = \ lambda^* +\ mu \ big \ langle g \ big \ rangle。GydF4y2Ba

如果我们从Lagrange乘法器的零初始估计开始,则以上方程仅在Lagrange乘法器时才在GydF4y2BaGGydF4y2Ba是积极的。因此,Lagrange乘数从来都不是负面的,并且仅在倾向于违反约束的点上是积极的。GydF4y2Ba

增强的拉格朗日方法是一种大致的约束执法策略,将允许对约束的小小的侵犯。实际上,如果不违反约束,Lagrange乘数将保持零。因此,该策略满足双重可行性部分(GydF4y2Ba\ lambda \ ge 0GydF4y2BaKKT条件的完全满足互补的懈怠部分(GydF4y2Ba\ lambda g = 0GydF4y2Ba)大约。两种条件都对Lagrange乘数方法完全满意。GydF4y2Ba

形状不规则的障碍物GydF4y2Ba

在今天的示例中,我们使用了一个非常理想化的湖泊,其边界可以通过简单的功能来描述。也许是一个游泳池。有时,不平等约束具有如此简单的分析形式。化学反应或种群动态的非负限制就是此的例子。但是,其他约束没有这样的简单形式。GydF4y2Ba

例如,在接触力学中,我们希望保持接触对象之间的差距,但是对象的边界很少如此简单,以至于我们可以通过平滑的分析函数来定义它们。最重要的是,对于大型变形问题,我们要在变形域上执行触点约束,但是我们绝对没有对变形域的分析描述。因此,必须对从网格获得的对象的离散版本满足约束。当对象移动和变形时,必须使用复杂的搜索操作来找出与其他点接触的要点。ComsolMultiphysics®软件中的此和其他触点模拟程序内置功能。GydF4y2Ba

对于一些简单的几何形状和变形,我们可以想象可以使用一般挤出操作员GydF4y2Ba计算变形对象之间的距离GydF4y2Ba不使用接触力学功能。更复杂的几何形状将需要后者。GydF4y2Ba

接下来…GydF4y2Ba

到目前为止,我们已经展示了如何使用COMSOL多物理学解决受约束和不受限制的变分问题,并讨论了不同数值策略的利弊,以实施约束执行。也就是说,我们将自己限于一维单物理问题和功能中的一阶导数。GydF4y2Ba

有了这个主题的基础知识,我们希望我们准备好应对更高的维度,高阶衍生品和多个领域。这将出现在本系列的下一篇也是最后一篇博客文章中。敬请关注!GydF4y2Ba

查看各种问题和约束系列中的更多博客文章GydF4y2Ba


评论(2)GydF4y2Ba

发表评论GydF4y2Ba
登录|登记GydF4y2Ba
加载...GydF4y2Ba
ZhangGydF4y2Ba
ZhangGydF4y2Ba
2019年4月30日GydF4y2Ba

嗨,Temesgen Kindo:GydF4y2Ba

感谢您提供这种应用不平等约束的绝妙方法。现在,我想开发涉及KKT条件的损坏模型,并需要计算Lagrangian乘数。您在此博客中提到了KKT条件。我想知道是否可以在没有编程的情况下使用您的方法来实现这一目标?GydF4y2Ba

谢谢您的帮助。GydF4y2Ba

问候,GydF4y2Ba

YUGydF4y2Ba

威廉·胡伯(William Huber)GydF4y2Ba
威廉·胡伯(William Huber)GydF4y2Ba
2019年12月7日GydF4y2Ba

你好,GydF4y2Ba

MU在这里的示例中如何定义?GydF4y2Ba

谢谢GydF4y2Ba

探索comsol乐动体育赛事播报博客GydF4y2Ba