acceleration of augmented Lagrangian

合集下载

SAMCEF_Mecano_0608

SAMCEF_Mecano_0608

Ribs and Drum
Parts
S amcef/B A CO N for Mecano
slider
actuator
Control devices
SAMCEF JUL 24 2002 16:52:47
Pantograph
This document is the property of SAMTECH S.A.
Static stresses evaluation Vibration modes computation Non-Linear Structure Analysis with contact/friction Fatigue Analysis
This document is the property of SAMTECH S.A.
Page 5
Our Solution: SAMCEF Mecano
Original methodology
Software features
SAMCEF Field: Unified Graphical Modeling Environment Hierarchical Model (Parts) Building the ultimate model Communication between SAMCEF Mecano/Thermal and SAMCEF Linear
NOT A LOOP BETWEEN Contact/Friction
Vibrations
ONE SINGLE MECHANICAL NLcomponents SOLVER Associated deformations/stresses in structural

2011-GROUP SPARSE OPTIMIZATION BY ALTERNATING DIRECTION METHOD

2011-GROUP SPARSE OPTIMIZATION BY ALTERNATING DIRECTION METHOD
2,1 -regularized
problem. Our approach
is based on a variable splitting strategy and the classic alternating direction method (ADM). Two algorithms are presented, problem. The convergence of the proposed algorithms is guaranteed by the existing ADM theory. General group configurations such as overlapping groups and incomplete covers can be easily handled by our approach. Computational results show that on random problems the proposed ADM algorithms exhibit good efficiency, and strong stability and robustness.
2,1 -regularization
promotes group sparsity, but the resulting problem, due to the mixed-norm structure and
1 -regularized
possible grouping irregularity, is considered more difficult to solve than the conventional one derived from the primal and the other from the dual of the

非凸两分块问题乘子交替方向法的收敛性分析

非凸两分块问题乘子交替方向法的收敛性分析

非凸两分块问题乘子交替方向法的收敛性分析邓钊;晁绵涛;简金宝【摘要】The Alternating Direction Method of Multipliers(ADMM)is an effective method for large scale optimization problems.While the convergence of ADMM has been clearly recognized in the case of convex,the convergence result of ADMM in the case of nonconvex is still an open problem.In this paper,under the assumption that the augmented Lagrangian function satisfies the Kurdyka-Loj asiewicz inequality and the penalty parameter is greater than a constant,we an-alyze the convergence of ADMM for a class of nonconvex optimization problems whose obj ec-tive function is the sum of two block nonconvex functions.%乘子交替方向法(ADMM)求解大规模问题十分有效.ADMM在凸情形下的收敛性已被清晰认识,但非凸问题 ADMM的收敛性结果还很少.本文针对非凸两分块优化问题,在增广拉格朗日函数满足 Kurdyka-Loj as-iewicz不等式性质且罚参数大于某个常数的条件下,证明了 ADMM的收敛性.【期刊名称】《广西科学》【年(卷),期】2016(023)005【总页数】6页(P422-427)【关键词】乘子交替方向法;Kurdyka-Lojasiewicz不等式;非凸优化;收敛性【作者】邓钊;晁绵涛;简金宝【作者单位】广西大学数学与信息科学学院,广西南宁 530004;广西大学数学与信息科学学院,广西南宁 530004;玉林师范学院数学与统计学院,广西玉林537000【正文语种】中文【中图分类】O221.2【研究意义】乘子交替方向法(ADMM)求解大规模分布式计算问题十分有效.ADMM既能分散地收集和存储这些数据集,又能在并行和分布式的环境下求解这些问题.ADMM适合求解分布式凸优化问题,尤其适用于出现在统计学、机器学习和相关领域中的大规模问题,其重要性日益凸显.【前人研究进展】ADMM的思想最早起源于20世纪50年代,算法在20世纪70年代中期由Glowinski和Marrocco[1],以及Gabay和Mercier[2]首次提出.20世纪80年代,乘子交替方向法的研究和应用非常广泛,直到20世纪90年代中期,乘子交替方向法求解凸优化问题的很多理论结果,已经得到很好的证明.传统ADMM是求解凸两分块问题十分有效的方法[1-2],其直接应用到问题(0.5)的迭代框架如下在凸情形下,ADMM的收敛性已被充分认识[3].非凸问题ADMM的收敛性分析仅有初步的结果,其研究是当前的热点问题[4-6].文献[7]考虑如下非凸问题min f(x)+g(y)s.t. Ax=y,文献[8]分析如下Bregman ADMM算法的收敛性【本研究切入点】最近,文献[9]在矩阵A列满秩,增广拉格朗日函数满足KL性质(参见定义1.1)且罚参数大于某个常数的条件下,分析了传统ADMM算法(0.1)求解非凸问题(0.3)的全局收敛性.我们考虑如下两分块极小化问题min f(x) + g(y)s.t. Ax+By=0,【拟解决的关键问题】本文在不要求矩阵A列满秩,B不一定是单位阵,在Lβ(w)满足KL性质且罚参数β大于某个常数的条件下分析了ADMM算法(0.1)求解问题(0.5)的收敛性.下面,给出本文理论分析所需的一些概念与性质.λ++(BTB)表示矩阵BTB最小正特征值.∂f(x)表示函数f在点x处的极限次微分[5],对于任意x∈Rn是函数f的极小值点的必要条件是:0∈∂f(x),满足这个条件的点称为关键点或稳定点,函数f关键点集记为crit f.定义1.1[10](Kurdyka-Lojasiewicz性质)设函数f:Rn→Rn∪{+∞}是正常下半连续函数,对于任意实数η1,η2(η1<η2),令[η1<f<η2]=x∈{Rn∶η1<f(x)<η2,设x*∈dom∂f,若存在η∈(0,+∞],x*的邻域U,以及一个连续的凹函数φ:[0,η)→R+,满足如下条件(i)φ(0)=0;(ii)φ在0处连续,在区间(0,η)上一阶连续可微;(iii)φ′(s)>0,∀s∈(0,η);(iv)对于任意的x∈U∩[f(x*)<f<φ ′(f(x)-f(x*))d(0,∂ f(x))≥1.满足上述性质(i)、(ii)、(iii)的函数全体记为Φη.引理1.1[11](uniformized KL property)设Ω是一个紧集,函数f:Rn→Rn∪{+∞}是正常下半连续函数.设函数f在集合Ω上取常数,并在Ω中任一点处满足KL性质,则存在>0,η>0,φ ∈Φη,对于任意的和x∈{x∈Rn:d(x,ω)<},有引理1.2[12]若h:Rn→R为L-Lipschitz可微函|h(y)-h(x)-<‖y-x‖2.假设{wk=(xk,yk,λk)}是算法(0.1)产生的有界序列,算法(0.1)的收敛性分析框架如下:第一步,证明{Lβ(wk)}单调递减;第二步,证明‖wk+1-wk‖2<+∞;第三步,利用Lβ(·)的KL性质,得出序列{wk}的任一聚点都是问题(0.5)的一个稳定点.由算法(0.1)中每个子问题的最优性条件,有进一步,可得假设2.1 假设以下条件成立(i)Im(A)⊆Im(B);(ii)存在利普希茨系数分别为M>0,P>0的利普希茨连续函数H:Im(B)→Rn,F:Im(A)→Rn,使得首先,证明{Lβ(wk)}k∈N是递减序列.引理2.1 Lβ(wk+1)≤Lβ(wk)-δ‖yk+1-yk‖2,其中.证明由增广拉格朗日函数的定义,可得利用yk+1的最优性可得由引理1.2和式(2.2)中第二式可得把上式代入式(2.4)可得由λk+1=λk-β(Axk+1+Byk+1)可得把上式代入式(2.5)右端可得由λk+1=λk-β(Axk+1+Byk+1)可得λk+1-λk=-β(Axk+1+Byk+1)∈Im(B).‖λk+1-λk‖≤μ‖B(λk+1-λk)‖=μ‖g(yk+1)-g(yk)‖≤μL‖yk+1-yk‖.由H的性质可得yk=H(Byk),从而‖yk+1-yk‖=‖H(Byk+1)-H(Byk)‖≤M‖B(yk+1-yk)‖.Lβ(xk+1,yk+1,λk+1)≤Lβ(xk+1,yk,λk)+结合式(2.7)、式(2.8)有利用xk+1的最优性可得引理‖wk+1-wk‖2<+∞.证明由于序列{wk=(xk,yk,λk)}有界,则存在收敛子列{wkj},设.由f下半连续及g 连续,可知Lβ(w)下半连续.从而接下来只需证明‖xk+1-xk‖2<+∞.由ADMM算法(0.1)第三式有两式相减,可得λk+1-λk=(λk-λk-1)+β(Axk-Axk+1)+β(Byk-Byk+1).利用不等式(a+b+c)2≤3(a2+b2+c2)可得‖β(Axk-Axk+1)‖2≤3(‖λk+1-λk‖2+‖λk-λk-1‖2+β2‖B(yk+1-yk)‖2).由F的性质可得xk=F(Axk),进而‖‖xk-xk+1‖2.故‖wk+1-wk‖2<+∞.引理2.3 存在ζ>0,对于任意k有d(0,∂Lβ(wk+1))≤ζ‖yk+1-yk‖.证明由增广拉格朗日函数定义,可得进一步结合式(2.2)可得令,‖‖≤ζ1‖yk+1-yk‖+ζ2‖λk+1-λk‖.d(0,∂Lβ(wk+1))≤ζ‖yk+1-yk‖.引理2.4 设序列{wk}的全体极限点记为S(w0),则(i)S(w0)是一个非空紧集,并且d(wk,S(w0))→0,k→+∞;(ii)S(w0)⊂critLβ;(iii)Lβ(·)在S(w0)上取有限值且为常数,且证明(i)式由S(w0)的定义直接可得.(ii)设(x*,y*,λ*)∈S(w0),则存在子列{(xkj,ykj,λkj)}使得(xkj,ykj,λkj)→(x*,y*,λ*),(kj→+∞).由xk+1的最优性有Lβ(xk+1,yk,λk)≤Lβ(x*,yk,λk).由函数Lβ(·)的下半连续性,有(iii)对于任意点(x*,y*,λ*)∈S(w0),存在子列(xkj,ykj,λkj)→(x*,y*,λ*).结合Lβ(xkj+1)收敛,以及{Lβ(wk)}k∈N单调递减,可得最后,给出非凸问题(0.5)的ADMM算法(0.1)的收敛性分析.定理2.1 若Lβ(w)满足KL性质,则(ii)序列{wk}收敛到函数Lβ(·)的一个关键点.证明由引理2.4知(i)存在整数k0使得Lβ(wk0)=Lβ(w*)成立,由引理2.1可知,对于任意的k>k0,有‖yk+1-yk‖2≤Lβ(wk)-Lβ(wk+1)≤(ii)对任意的k均有Lβ(wk)>Lβ(w*)成立.由d(wk,S(w0))→0可知,对于任意给定的ε>0,存在k1>0,当k>k1时,有d(wk,S(w0))<ε.又根据Lβ(wk)→Lβ(w*)可知,对于任意给定的η>0,存在k2>0,当k>k2时,有Lβ(wk)<Lβ(w*)+η.从而当时,有d(wk,S(w0))<ε,Lβ(w*)<Lβ(wk)<Lβ(w*)+η.由于S(w0)是非空紧集,函数Lβ(·)在集合φ′(Lβ(wk)-Lβ(w*))d(0,∂Lβ(wk))≥φ(Lβ(wk)-Lβ(w*))-φ(Lβ(wk+1)-由引理2.3及φ′(Lβ(wk)-Lβ(w*))>0,可得Lβ(wk)-Lβ(wk+1)≤令Δp,q=φ(Lβ(wp)-Lβ(w*))-φ(Lβ(wq)-Lβ(w*)).由引理2.1可得,对于任意的有δ‖yk+1-yk‖2≤ζ‖yk-yk-1‖Δk,k+1,‖yk+1-yk‖‖.2‖yk+1-yk‖≤‖yk-yk-1‖,注意到φ(Lβ(wm+1)-Lβ(w*))>0,移项并且令m→+∞,可得‖xk+1-xk‖(‖λk+1-λk‖2+‖λk-λk-1‖2+β2‖(‖λk+1-λk‖+‖λk-λk-1‖+β‖B(yk+1-yk)‖),‖wk+1-wk‖=(‖xk+1-xk‖2+‖yk+1-yk‖2+‖‖xk+1-xk‖+进一步可知序列wk是Cauchy序列(参见文献[11]),所以序列{wk}收敛,定理得证. 本文针对非凸两分块优化问题,在不要求矩阵A列满秩,B不一定是单位阵,在Lβ(w)满足Kurdyka-Lojasiewicz性质且罚参数大于某个常数的条件下,证明了非凸问题ADMM的收敛性.【相关文献】[1] GLOWINSKI R,MARROCO A.Sur l’approximation,par elements finis d’ordre un,et la resolution,par penalisation-dualité,d’une classe de problèms de Dirichletnonlineares[J].Revue Francaise d’Automatique,Informatique et RechercheOpérationelle,Series R,1975,31(5/6):41-76.[2] GABAY D,MERCIER B.A dual algorithm for the solution of nonlinear variational problems via finite element approximation[J].Computers &Mathematics with Applications,1976,2(1):17-40.[3] BOYD S,PARIKH N,CHU E,et al.Distributed optimization and statistical learning via the alternating direction method of multipliers[J].Foundations and Trends in Machine Learning,2011,3(1):1-122.[4] YANG L,PONG T K,CHEN X J.Alternating direction method of multipliers for a class of nonconvex and nonsmooth problems with applications to background/foreground extraction[J].Mathematics,2016.[5] HONG M Y,LUO Z Q,RAZAVIYAYN M.Convergen- ce analysis of alternating direction method of multipliers for a family of nonconvex problems[J].SIAM Journal on Optimization,2014,26(1):337-364.[6] WANG Y,YIN W T,ZENG J S.Global Convergence of ADMM in Nonconvex Nonsmooth Optimization[R].UCLA CAM Report 15-62,2015.[7] LI G Y,PONG T K.Douglas-Rachford splitting for nonconvex optimization with application to nonconvex feasibility problems[J].MathematicalProgramming,2016,159(1/2):374-401.[8] WANG F H,XU Z B,XU H K.Convergence of multi-block Bregman ADMM for nonconvex composite problems[J].Mathematics,2015,arXiv:1505.03063vl:1-25.[9] GUO K,HAND R,WUT T.Convergence of alternating direction method for minimizing sum of two nonconvex functions with linear constraints[J].International Journal of Computer Mathematics,2016:1-17.[10] BOLTE J,DANIILIDIS A,LEY O,et al.Characterizations of Lojasiewicz inequalities and applications[J].arXiv:0802.0826vl,2008:1-48.[11] ATTOUCH H,BOLTE J,REDONT P,et al.A Proximal alternating minimization and projection methods for nonconvex problems:An approach based on the Kurdyka-Lojasiewicz inequality[J].Mathematics of Operations Research,2010,35(2):438-457. [12] BOLTE J,SABACH S,TEBOULLE M.Proximal alternating linearized minimization for nonconvex and nonsmooth problem[J].Mathematical Programming,2013,146(1/2):459-494.。

二阶锥互补问题求解方法研究

二阶锥互补问题求解方法研究

二阶锥互补问题求解方法研究The second-order cone complementarity problem (SOCCP) is a class of nonlinear optimization problems that arise in various fields such as operations research, economics, and engineering. It involves finding a point in a specific cone that satisfies a set of complementarity conditions. 二阶锥互补问题是一类在运筹学、经济学和工程学等领域中出现的非线性优化问题。

它涉及找到在特定锥体中满足一组互补条件的点。

One method for solving SOCCP is the interior-point method, which relies on the concept of central path. This method involves solving a sequence of primal-dual equations that approach the central path, eventually reaching the solution to the SOCCP. 一种解决二阶锥互补问题的方法是内点法,该方法依赖于中心路径的概念。

这种方法涉及解决一系列逼近中心路径的原始-对偶方程,最终达到二阶锥互补问题的解。

Another approach is the splitting method, which involves breaking down the problem into smaller subproblems and solving them iteratively. This method can be effective for large-scale problems by reducing the computational complexity. 拆分方法是另一种方法,它涉及将问题分解成较小的子问题,并通过迭代解决它们。

结构化低秩矩阵分解方法介绍

结构化低秩矩阵分解方法介绍

Find a polynomial close to p(x) with multiple roots.
• The Sylvester matrix of p(x) and p (x) will be a (2n − 1) × (2n − 1) matrix formed from the coefficients of p(x) and p (x). • For example, if n = 4 and p(x) = a4x4 + a3x3 + a2x2 + a1x + a0, then a4 a3 a2 a1 a0 0 0 0 a a a a a 0 4 3 2 1 0 0 0 a a a a a 4 3 2 1 0 Sp,p = 4a4 3a3 2a2 1a1 0 0 0 0 4a4 3a3 2a2 1a1 0 0 0 0 4a4 3a3 2a2 1a1 0 0 0 0 4a4 3a3 2a2 1a1 • p(x) has a multiple root ⇐⇒ det(Sp,p ) = 0. (resultant) • Find a low rank approximation to Sp,p with the above structure.
• The Sylvester matrix of p(x) and q (x) is an (m + n) × (m + n) matrix formed from the coefficients of p(x) and q (x). • For example, if m = 3, n = 2, p3 0 = q2 0 0 p2 p3 q1 q2 0 p1 p2 q0 q1 q2 p0 p1 0 q0 q1 0 p0 0 0 q0

adams中的接触力算法

adams中的接触力算法

Contacts•Overview•Contact Force Algorithms•Supported Geometry in Contacts•Creating/Modifying Contact Forces•Simulation Results of Contact Forces•Learning More about the Contact Detection Algorithm•Contact Friction Force Calculation•Material Contact Properties TableOverviewUsing contacts, you can go beyond just modeling how parts meet at points and model how solid bodies react when they come in contact with one another when the model is in motion.For more on the theory behind contact forces, see the CONTACT statement in the Adams/Solver online help.See Solver Settings - Contacts dialog box help.About Contact ForcesContacts allow you to model how free-moving bodies interact with one another when they collide during a simulation.Contacts are grouped into two categories:•Two-dimensional contacts, which include the interaction between planar geometric elements (for example, circle, curve, and point)•Three-dimensional contacts, which include the interaction between solid geometry (for example, spheres, cylinders, enclosed shells, extrusions, and revolutions).You currently cannot model contact between a two-dimensional and a three-dimensional geometry, except for sphere-to-plane contact.For more on the theory behind contact forces, see the CONTACT statement in the Adams/Solver online help.Click here to see an Example of Using Contact Forces.Contact Force AlgorithmsContact forces use two distinct normal force algorithms:•Restitution-based contactAdams/View Contacts 288•IMPACT-Function-Based ContactYou can also create your own contact force model by entering parameters to a User-written subroutine .Supported Geometry in ContactsTwo-Dimensional ContactsAdams/View supports two-dimensional contact between the following geometry:•Arc•Circle•Polylines•Splines•Point•PlaneFor flexible bodies, only point-to-plane and point-to-curve contacts are supported, where the point is on the flexible body. Adams/Solver (C++) can treat multiple points per CONTACT statement. Adams/Solver (FORTRAN) can only treat one point per CONTACT statement.Three-Dimensional ContactsAdams/View supports three-dimensional contact between the following solid geometry:•Sphere•Cylinder•Frustum•Box•Link•TorusNote:Contact defined between planar geometry (for example, circle to curve) must beconstrained to lie in the same plane. You usually accomplish this using planar joints or anequivalent set of Constraint s that enforce the planarity.Failure to enforce planarity will result in a run-time error when the bodies go out of planeduring a Simulation .Note:You cannot have contacts between a point and another point and a plane and another plane.289Contacts•Extrusion•Revolution•Constructive, solid geometry (geometry combined from several geometries)•Generic three-dimensional Parasolid geometry, including extrusion and revolution•Shell (enclosed-volume only)You can also create a contact between a three-dimensional elliposoid and a plane (sphere only).In case of Adams/Solver C++, you can create three-dimensional contacts between flexible bodies as wellas between a flexible body and a Solid geometry. When a three-dimensional contact is created betweena flexible body and a solid geometry, it is mandatory that the rigid body is always the J geometry.Adams/View also supports nonsolid, three-dimensional geometries, such as shells. Adams/View allows you to select the free edges of shell elements. You can create contacts between flexible body edges aswell as between flexible body edge and a plane or a curve.Creating/Modifying Contact ForcesTo create or modify a contact force:1.From the Force tool stack or palette, select the Contact Force tool .The Create/Modify Contact dialog box appears.2.Enter values in the dialog box as explained in the table below, and then select OK.Tip:You can change the direction of the force on some geometry (for example, circle, curve,plane, and sphere) by selecting the Change Direction tool .Adams/ViewContacts290Define type and geometry To define the geometry/flexible body that comes into contact:1.Set Type to the type of geometry to come into contact. In case offlexible bodies, you must either select the Flex Body To Flex Bodyor Flex Body to Solid options. Flexible bodies can participate inthe contact only for Adams/Solver C++. In case of flex edgecontacts, select Flex Edge To Flex Edge or Flex Edge To Curve orFlex Edge To Plane.The text boxes change depending on the type of contact force youselected.2.In the text boxes, enter the name of the geometry or flexible bodyobjects. For solids and curves, you can enter more than onegeometry, but the geometry must belong to the same part. You canselect the objects from the screen or Database Navigator or type itdirectly in the text box. If you type the geometry object namedirectly in the text box, you must press Enter to register the value.In case of "Flex Body to Solid" type of contacts, the rigid bodyshould always be the J geometry. Similarly in case of Flex Edge toCurve or Plane type of contacts, Curve or Plane should always beJ geometries.Tips on Entering Object Names in Text Boxes.If you want to change the direction of the force, in the Directionpull-down menu, select the geometry on which you want to changethe force, and then select the Change Direction tool . Thisis disabled in case of "Flex Body to Flex Body" and "Flex Body toSolid" contacts but is available in all the Flex Edge contacts.Turn on the force display for both normal and friction forces and set its color Select Force Display, and then from the option menu, select a color for the force display.Note:If you are using an External Adams/Solver, you must set the output files to XML to view the force display. See SolverSettings - Output dialog box helpRefine the normal force between two sets of rigid geometries that are in contact Select Augmented Lagrangian.When you select Augmented Lagrangian, Adams/View uses iterative refinement to ensure that penetration between the geometries is minimal. It also ensures that the normal force magnitude is relatively insensitive to the penalty or stiffness used to model the local material compliance effects.Note:Augmented Lagrangian is only available when defining a Restitution-based contact.291 ContactsDefine a restitution-based contact To define the normal force as restitution-based:1.Set Normal Force to Restitution.2.Enter a penalty value to define the local stiffness propertiesbetween the contacting material.A large penalty value ensures that the penetration of one geometryinto another will be small. Large values, however, will causenumerical integration difficulties. A value of 1E6 is appropriatefor systems modeled in Kg-mm-sec. For more information on how to specify this value, see the Extended Definition for theCONTACT statement in the Adams/Solver online help.3.Enter the coefficient of restitution, which models the energy lossduring contact.4.A value of zero specifies a perfectly plastic contact between thetwo colliding bodies.5.A value of one specifies a perfectly elastic contact. There is noenergy loss.The coefficient of restitution is a function of the two materials that are coming into contact. For information on material types versus commonly used values of the coefficient of restitution, see the table for the CONTACT statement in the Adams/Solver online help. Restitution based contacts is not available when flexible bodies are participating in the contact.Adams/ViewContacts292Define an impact contact To define the normal force as based on an impact using the IMPACTfunction:1.Set Normal Force to Impact.2.Enter values for the following:•Stiffness - Specifies a material stiffness that is to be used tocalculate the normal force for the impact model.In general, the higher the stiffness, the more rigid or hard thebodies in contact are.Note:When changing the length units in Adams/View, stiffnesses incontacts are scaled by (length conversion factor**exponent).When changing the force unit, stiffness is only scaled by theforce conversion factor.•Force Exponent - Adams/Solver models normal force as anonlinear springdamper. If the damping penetration, above, isthe instantaneous penetration between the contactinggeometry, Adams/Solver calculates the contribution of thematerial stiffness to the instantaneous normal forces as:STIFFNESS * (PENALTY)**EXPONENTFor more information, see the IMPACT function in theAdams/Solver online help.•Damping - Enter a value to define the damping properties ofthe contacting material. A good rule of thumb is that thedamping coefficient is about one percent of the stiffnesscoefficient.•Penetration Depth - Enter a value to define the penetration atwhich Adams/Solver turns on full damping. Adams/Solveruses a cubic STEP function to increase the damping coefficientfrom zero, at zero penetration, to full damping when thepenetration reaches the damping penetration. A reasonablevalue for this parameter is 0.01 mm. For more information,refer to the IMPACT function in the Adams/Solver online help.Define your own contact model 1.Set Normal Force to User Defined.2.Enter parameters to the user-defined subroutine. You can alsospecify an alternative library and name for the user subroutine in the Routine text box. Learn about ROUTINE Argument.293ContactsModel the friction effectsat the contact locations using the Coulombfriction modelNote:The friction model models dynamic friction but not stiction.For more on friction in contacts, see Contact Friction Force Calculation . In addition, read the information for the CONTACT statement in the Adams/Solver online help.1.Set Friction Force to Coulomb .2.Set Coulomb Friction to On , Off , or Dynamics Only to define whether friction effects are to be included.3.In the Static Coefficient text box, specify the coefficient of friction at a contact point when the slip velocity is smaller than the value for Static Transition Vel . For information on material types versus commonly used values of the coefficient of static friction,see Material Contact Properties Table .Excessively large values of Static Coefficient can causeintegration difficulties.Range: Static Coefficient 04.In the Dynamic Coefficient text box, specify the coefficient offriction at a contact point when the slip velocity is larger than thevalue for Friction Transition Vel. For information on materialtypes versus commonly used values of the coefficient of thedynamic coefficient of friction, see Material Contact PropertiesTable .Excessively large values of Dynamic Coefficient can causeintegration difficulties.Range: 0 Dynamic Coefficient Static Coefficient5.In the Static Transition Vel . text box, enter the static transitionvelocity. Learn more about this value .6.In the Friction Transition Vel . text box, enter the frictiontransition velocity.Adams/Solver gradually transitions the coefficient of friction fromthe value for Static Coefficent to the value for DynamicCoefficient as the slip velocity at the contact point increases.When the slip velocity is equal to the value specified for FrictionTransition Vel., the effective coefficient of friction is set toDynamic Coefficient.Note:Small values for this option cause the integrator difficulties. You should specify this value as:Friction Transition Vel. 5* ERRORwhere ERROR is the integration error used for the solution. Itsdefault value is 1E-3.Range: Friction Transition Vel. Static Transition Vel. > 0Adams/View Contacts 294Simulation Results of Contact ForcesWhen you run a simulation, Adams/View automatically calculates specific attributes of contact forces. The results appear in Adams/PostProcessor in plotting mode for objects.For contact force:•element_force•element_torqueFor tracks:•Double-click a track to view:•I_Point•I_Normal_Force•I_Friction_Force•I_Normal_Unit_Vector•I_Friction_Unit_Vector•J_Point•J_Normal_Force•J_Friction_ForceModel the friction effects at the contact locationsusing your own model 1.Set Friction Force to User Defined .2.Enter parameters to a user-defined subroutine, CNFSUB , and enterthe name of the routine.3.In the Static Transition Vel . text box, enter the static transitionvelocity.Adams/Solver gradually transitions the coefficient of friction fromthe value in Dynamic Coefficient to the value in Static Coefficentas the slip velocity at the contact point decreases. When the slipvelocity is equal to the value you specify for Static Transition Vel.,the effective coefficient of friction is set to the value in StaticCoefficient.Range: 0 < Static Transition Vel. Friction Transition VelNote: A small value for Static Transition Vel. causes numerical integrator difficulties. A general rule for specifying this value is:Static Transition Vel. ERRORwhere ERROR is the accuracy requested of the integrator. Itsdefault value is 1E-3. See Solver Settings - Dynamic .295Contacts•J_Normal_Unit_Vector•J_Friction_Unit_Vector•Slip_Deformation•Slip_Velocity•PenetrationLearning More about the Contact Detection AlgorithmTo greatly simplify the contact detection algorithm, Adams/Solver assumes that the volume of intersection between two solids will be much, much less than the volume of either solid. This means that,for example for a sphere in a V-groove, the Adams/Solver algorithm breaks down when the two contact volumes merge into one. This assumption is not as drastic as it may first appear. The reason is that most users are interested in contact between rigid bodies (that is, bodies that do not undergo a large deformation). Also, rigid bodies generally do not penetrate very far into one another. Note that we do not recommend that you use the contact detection algorithm in the modeling of very soft bodies.After contact occurs between two solids, Adams/Solver computes the volumes of intersection. There maybe only one volume of intersection, or there may be multiple volumes of intersection (this would correspond to multiple locations of contact). In this discussion, we assume that there is only a single volume of intersection. The algorithm is the same for every intersection volume.Once there is contact, Adams/Solver finds the centroid of the intersection volume. This is the same as the center of mass of the intersection volume (assuming the intersection volume has uniform density).Next, Adams/Solver finds the closest point on each solid to the centroid. The distance between these two points is the penetration depth.Adams/Solver then puts this distance into the formula:F = K*(distance)nwhere:•K - material stiffness•n - exponent• F - forceto determine the contact force due to the material stiffness (there can also be damping and friction forcesin the contact).For example, if you apply this algorithm to a sphere on a plate, the intersection volume is some type of spherical shape with a flat side. The centroid of this volume can be computed (this is where most of the time is spent in the algorithm). It will be below the plate and inside the sphere. The nearest point on the plate (to the centroid) and the nearest point on the sphere (to the centroid) can also be computed. In this case, the line between them will pass through the center of the sphere (this will also be the direction in which the contact force acts).Adams/View296ContactsAgain, the algorithm can handle the case of a sphere in a V-groove. There will be two volumes ofintersection and two separate forces will be applied to sphere and to the V-groove (equal and oppositeforces).Contact Friction Force CalculationAdams/Solver uses a relatively simple velocity-based friction model for contacts. Specifying thefrictional behavior is optional. The figure below shows how the coefficient of friction varies with slipvelocity.Coefficient of Friction Varying with Slip VelocityContacts In this simple model:Material Contact Properties TableThe table below shows material types and their commonly used values for the dynamic coefficient of friction and restitution.Material 1:Material 2:Mu static:Mu dynamic:Restitution Coefficient: Dry steel Dry steel0.700.570.80Greasy steel Dry steel0.230.160.90Greasy steel Greasy steel0.230.160.90Dry aluminium Dry steel0.700.500.85Dry aluminium Greasy steel0.230.160.85 Dry aluminium Dry aluminium0.700.500.85 Greasy aluminium Dry steel0.300.200.85 Greasy aluminium Greasy steel0.230.160.85 Greasy aluminium Dry aluminium0.300.200.85 Greasy aluminium Greasy aluminium0.300.200.85 Acrylic Dry steel0.200.150.70 Acrylic Greasy steel0.200.150.70 Acrylic Dry aluminium0.200.150.70 Acrylic Greasy aluminium0.200.150.70 Acrylic Acrylic0.200.150.70 Nylon Dry steel0.100.060.70 Nylon Greasy steel0.100.060.70 Nylon Dry aluminium0.100.060.70 Nylon Greasy aluminium0.100.060.70 Nylon Acrylic0.100.060.65 Nylon Nylon0.100.060.70 Dry rubber Dry Steel0.800.760.95 Dry rubber Greasy steel0.800.760.95 Dry rubber Dry aluminium0.800.760.95 Dry rubber Greasy aluminium0.800.760.95 Dry rubber Acrylic0.800.760.95 Dry rubber Nylon0.800.760.95 Dry rubber Dry rubber0.800.760.95 Greasy rubber Dry steel0.630.560.95 Greasy rubber Greasy steel0.630.560.95 Greasy rubber Dry aluminium0.630.560.95 Greasy rubber Greasy aluminium0.630.560.95 Greasy rubber Acrylic0.630.560.95 Greasy rubber Nylon0.630.560.95 Greasy rubber Dry rubber0.630.560.95 Greasy rubber Greasy rubber0.630.560.95ContactsReferencesThe friction values used in the material interaction table are generalized values based on the following references:•Bowden & Tabor, "The Friction and Lubrication of Solids," Oxford.•Fuller, "Theory and Practice of Lubrication for Engineers," Wiley.•Ham & Crane, "Mechanics of Machinery," McGraw-Hill.•Bevan, "Theory of Machines," Longmans.•Shigley, "Mechanical Design," McGraw-Hill.•Rabinowicz, "Friction and Wear of Materials," Wiley.。

ADAMS钢丝绳建模几种方法探讨

钢丝绳建模几种方法探讨建模, 钢丝绳, 探讨建模, 钢丝绳, 探讨1、用直杆代替,如图中钢丝绳,如需要,也可将其柔性化。

2 、用多段圆柱代替,中间用旋转副或衬套连接。

为了美观,可将圆柱两端作成半球形。

如果要实现绕滑轮无移动缠绕,需要用接触碰撞来实现。

其中实现的关键是接触碰撞的参数选择和你的机器配置。

参数选择不对,圆柱要么被弹飞要么切入滑轮。

一段钢丝绳可以用几十段圆柱来实现,比较现实的方法是用循环命令。

以下是我曾经用过的循环命令。

(比较菜)1)复制第1个圆柱并循环偏移(注意偏移方向的控制)ariable set variable_name=$_self.num integer=1for variable_name=aaa start=1 end=30interface command_builder!interface dialog execute dialog=.gui.par_cop undisplay=yespart copy &part_name = .model_1.(eval("T_"//$_self.num)) &new_part_name = (eval("T_"//$_self.num+1))group modify group=SELECT_LIST obj=.model_1.(eval("T_"//$_self.num+1)) expand_groups=nointerface command_builder!interface dialog execute dialog=.gui.mov_tra undisplay=yesmove translation &part_name = (eval("T_"//$_self.num+1)) &c1 = 395.9797975 &c2 = 395.9797975 &c3 = 0variable set variable_name=$_self.num integer=(eval($_self.num+1))endvariable delete variable_name=$_self.num2)复制第一个圆柱绕滑轮旋转variable set variable_name=$_self.num integer=2for variable_name=aaa start=1 end=4interface command_builder!interface dialog execute dialog=.gui.par_cop undisplay=yespart copy &part_name = .model_1.(eval("PART_"//$_self.num)) &new_part_name = (eval("PART_"//$_self.num+1))group modify group=SELECT_LIST obj=.model_1.(eval("PART_"//$_self.num+1)) expand_groups=nointerface mode repeat=single mode=view_center!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! MODIFY View Centerundo beginview center view=.gui.main.front object = 0.0, 0.0, 0.0 adjust_view=yesundo end!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!var set var=.mdi.TmpDefOri int=10def unit orientation_type=body123move rotation group=select_list csview=main.front &a1=0.0 a2=0.0 a3=-18 about=yes.system_defaults.orientation_type = 10variable set variable_name=$_self.num integer=(eval($_self.num+1))endvariable delete variable_name=$_self.num3)在各段圆柱间施加旋转副variable set variable_name=$_self.num integer=1for variable_name=aaa start=1 end=4interface command_builderint cont und con=.gui.constraint_cre_joi_rev.c_position_by_using_markers interface dialog execute dialog=.gui.constraint_cre_joi_rev undisplay=yes constraint create joint Revolute &joint_name=.model_1.(eval("joint_"//$_self.num)) &adams_id=(eval($_self.num)) &i_part_name=.model_1.(eval("T_"//$_self.num)) &j_part_name=.model_1.(eval("T_"//$_self.num+1)) &location = .model_1.(eval("T_"//$_self.num+1)).MARKER_5 &orientation = 0.0, 0.0, 0.0if con=("" != "")int fie set fie= str=".model_1.JOINT_1"endvariable set variable_name=$_self.num integer=(eval($_self.num+1))endvariable delete variable_name=$_self.num3)在各段圆柱与滑轮间施加接触碰撞力variable set variable_name=$_self.num integer=1for variable_name=aaa start=1 end=4interface command_builderinterface dialog execute dialog=.gui.contact_cre undisplay=yescontact create &contact_name = .model_1.(eval("contact_"//$_self.num)) &adams_id = (eval($_self.num)) &i_geometry_name = .model_1.(eval("T_"//$_self.num)).ELLIPSOID_2 &j_geometry_name = .model_1.pan1.ELLIPSOID_113 &stiffness = 1000 &damping = 10 &dmax = 1.1 &exponent = 11 &augmented_lagrangian_formulation = no &coulomb_friction = onvariable set variable_name=$_self.num integer=(eval($_self.num+1))endvariable delete variable_name=$_self.nu4)删除力或圆柱或约束副(说明:“T_”是要删除的对象,根据不同的对象,做适当更改)variable set variable_name=$_self.num integer=1for variable_name=aaa start=1 end=4group modify group=SELECT_LIST obj=.model_1.(eval("T_"//$_self.num+1)) expand_groups=nomdi delete_macrointerface cmd_window display=togglevariable set variable_name=$_self.num integer=(eval($_self.num+1))endvariable delete variable_name=$_self.num3、用齿轮副或rack_pin或关联副代替。

penalty函数

penalty函数Penalty函数是一种数学变换函数,广泛应用于数学、物理和工程等领域中,作为优化算法的基础之一;它是一种特殊的非光滑函数,常常被用来惩罚表现不好的决策方案,从而使其在优化过程中趋近于最优解。

本文将介绍Penalty函数的定义、性质、应用和发展等方面的研究进展,以期为相关领域的研究提供参考和借鉴。

1. Penalty函数的定义和性质Penalty函数是一种由罚函数与约束函数组成的函数,其可表示为:P(x,ρ) = f(x) + ρ·h(x)其中,x是决策向量,f(x)是优化目标函数,h(x)是用来描述决策向量是否满足约束限制的函数,ρ是一个正常数,也叫作惩罚系数。

当决策向量满足所有的约束条件时,Penalty函数的值等于优化目标函数的值;否则,惩罚项将对优化目标函数进行惩罚,从而使得决策向量的取值趋近于约束条件的限制。

Penalty函数的惩罚项通常是由约束条件的违反程度和惩罚系数共同组成的,它可以采取线性、平方和指数等形式,以体现违反约束条件的严重程度。

例如,一个约束条件为h(x)≤0,假设决策向量x不满足该条件,当ρ>0时,Penalty函数的值可以表示为:其中,[h(x)]+表示h(x)的正部分,即当h(x)>0时,[h(x)]+=h(x),否则,[h(x)]+=0。

惩罚系数ρ的大小决定了相应的惩罚力度,ρ越大,则惩罚力度越大,决策向量越趋近于满足约束条件的限制。

Penalty函数的主要优点是简单易实现,适用于各种优化算法中,如牛顿法、共轭梯度法、遗传算法等。

同时,Penalty函数也具有一些较好的性质,如:(1)可导性:如果约束函数h(x)是可导的,则Penalty函数也是可导的;(3)非负性:Penalty函数的值通常都是非负的,但在非线性的罚函数中,可能会存在局部最小值的情况,需要格外注意。

由于Penalty函数具有一些良好的性质,因此被广泛用于一些任务中,如:(1)约束优化问题:Penalty函数通常用来处理带有约束条件的优化问题,如不等式约束优化问题、等式约束优化问题等;(2)非线性规划问题:Penalty函数常常被用来求解非线性规划问题,如非线性规划问题、混合整数规划问题等;(3)优化算法:Penalty函数作为优化算法的基础,经常被用来设计各种求解最优化问题的算法,如牛顿法、遗传算法、蚁群算法等。

Defeng Sun(50页)

H
+ w, z
X
∀ (u, w) and (v, z ) ∈ H × X .
Let A∗ : Y → IRp be the adjoint of A. Let c be a given vector in IRp and b an element in Y . The matrix cone programming (MCP) we consider in this paper takes the following form min cT x s.t. Ax ∈ b + Q × K . (1)
m n
(i) f (·) = · (ii) f (·) = · j ≤ n}; (iii) f (·) = ·
m×n , X F , the Frobenius norm, i.e., for each X ∈ IR
F
=(
i=1 j =1
|xij |2 )1/2 ;
∞,
the l∞ norm, i.e., for each X ∈ IRm×n , X
Xi
:= tτ + X, Y
∀ (t, X ) and (τ, Y ) ∈ IR × IRmi ×ni .
Denote the natural inner product of X by ·, · X . Note that for each i ≥ 1, except for the case when fi (·) = · F , the cone epi fi is not self-dual unless min{mi , ni } = 1. So, in general the above defined closed convex cone K is not self-dual, i.e., K = K∗ := {W ∈ X | W, Z X ≥ 0 ∀ Z ∈ K}, the dual cone of K. When f (·) = · F , epi f actually turns to be the second order cone (SOC) if we treat a matrix X ∈ IRm×n as a vector in IRmn by stacking up the columns of X , from the first to the n-th column, on top of each other. The SOC is a well understood convex cone in the literature and thus is not the focus of this paper. We include it here for the sake of convenience in subsequent discussions. Let H be a finite-dimensional real Euclidean space endowed with an inner product ·, · H and its induced norm · H . Let Q ∈ H be the cross product of the origin {0} and a symmetric cone in 2

一种解 Dantzig-Selector 模型的快速分解算法

一种解 Dantzig-Selector 模型的快速分解算法张乾;何岸;何洪津【摘要】基于增广拉格朗日法提出了一种快速分解算法求解Dantzig‐Selector 模型。

与经典的乘子交替方向法相比,新算法的每个子问题都具有更简单易行的迭代格式。

通过测试两种不同类型的随机数据,相应的数值计算结果表明,算法在CPU 运行时间方面有较明显的优势。

%Based on the augmented Lagrangian method ,this paper introduces a fast decomposition algorithm for solving the Dantzig selector model .Comparing with the classical alternating direction method of multipliers ,all subproblems of the proposed algorithm have closed‐form solutions so that the new algorithm is easily implementable in practice . Finally some preliminary numerical results show that our new algorithm has superiority in terms of taking less CPU time by testing two types of synthetic data sets .【期刊名称】《杭州电子科技大学学报》【年(卷),期】2016(000)001【总页数】6页(P97-102)【关键词】Dantzig-Selector 模型;增广拉格朗日方法;乘子交替方向法;分解算法【作者】张乾;何岸;何洪津【作者单位】杭州电子科技大学理学院,浙江杭州 310018;杭州电子科技大学理学院,浙江杭州 310018;杭州电子科技大学理学院,浙江杭州 310018【正文语种】中文【中图分类】O221.2线性回归是一类非常经典的数学模型,它在信号处理、机器学习以及统计学习中有着极其广泛的应用.由于压缩感知理论[1]的提出,寻找欠定线性回归模型的稀疏解成为近年来最热门的研究课题之一.然而,直接寻找满足线性方程组的稀疏解是一个NP-难问题.为此,研究者提出了一系列凸松弛优化模型,例如基追踪模型[2]和LASSO模型[3].2007年,Candes和Tao针对超欠定线性方程组问题进一步提出了更稳健的Dantzig-Selector模型[4].与LASSO模型相比,Dantzig-Selector模型结构更为复杂,从而给模型的求解增加了很大的困难.如何设计简单高效的算法求解该模型是极具挑战性的研究课题之一.本文首先通过引入两个新的辅助变量,将Dantzig-Selector模型等价转化为弱分离的优化问题.然后,基于增广拉格朗日方法,充分利用新模型的结构特点设计出一种快速、可行的分解算法,使得算法的子问题都具有显式表达式.相比已有的分裂算法,本文算法在CPU运行时间上有较明显的优势.经典的线性回归问题可刻画为:式中,β∈Rp是未知的回归系数,X∈Rn×p是一个有界的线性算子(或设计矩阵),y∈Rn是带噪音的观测向量,ε是服从正态分布N(0,σ2I)的可加噪音.为了克服式(1)的病态性给模型求解过程带来的不稳定性,通常在最小二乘模型上引入Tikhonov 正则化技术.但是,当β具有稀疏结构时,且当式(1)是一个超欠定线性系统,即n≪p时,传统的最小二乘模型及Tikhonov正则化得到的解无法满足需求.2007年,Candes和Tao在LASSO模型的基础上提出了Dantzig-Selector模型[4]:上述模型是标准的带线性约束的凸优化模型,而增广拉格朗日函数是求解此类问题的经典方法之一.但是,直接使用增广拉格朗日方法会使得子问题变量耦合在一起,不利于算法的实现.因此,根据目标函数的可分离性,文献[6]利用乘子交替方向法进行求解,且取得了良好的数值效果.美中不足之处是,直接利用乘子交替方向法求解,其关于β部分的子问题没有显式表达式,这给算法的实现增加了一定难度.随后,文献[7]巧妙地将与β有关的子问题进行线性化,提高了乘子交替方向法的可操作性,也在一定程度上减少了算法的计算时间.但他们的方法要求估计一个矩阵的谱半径,这也并非一件易事.基于上述原因,本文寻求一种新的简单易行的算法.针对模型(3),引入增广拉格朗日函数:式中,γ>0是罚参数,λ表示拉格朗日乘子.给定(βk,λk),文献[5]中的乘子交替方向法的迭代格式可描述为:显然,乘子交替方向法主要的任务就是求解子问题(5)和问题(6).由于子问题(5)可以显式求解,子问题(6)的求解直接决定了算法的有效性.但由于XTX在通常情况下并不是一个单位矩阵,因此,式(6)并没有显式解,此时必须借助一些迭代算法进行近似求解,这为算法的实现增加了较大的难度.基于乘子交替方向法的思想,下面提出一种新的分解算法,使得新算法所有子问题具有显式迭代式.为了简化数学符号,记A∶=XTX和b∶=XTy.通过引入辅助变量x和z,模型(2)可转化为弱分离优化问题:式中,ρ>0是一个惩罚因子.针对模型(8),相应的增广拉格朗日函数为:式中,λ和γ分别代表拉格朗日乘子和罚参数.根据乘子交替方向法的Gauss-Seidel迭代思想,给定(xk,βk,λk),分别对式(9)中的变量进行交替求解,即得如下迭代格式:类似迭代格式(5)~(7),上述方法的主要工作量集中在子问题(10)~(12).下文中,本文主要讨论式(10)~(12)的具体表达式.首先,关于变量z的子问题(10)归结为:式中,,且PΩ[a]表示给定a∈Rp到集合Ω上的投影,则式(14)等价于:式中,diag(D)表示由D矩阵对角元素构成的列向量.其次,将zk+1代入(11)式,将x的子问题简化为,用收缩算子定义显式表示为:最后,将(zk+1,xk+1)代入(12)式,简化关于β的子问题为:根据式(17)的一阶最优性条件立得.显然,矩阵(γATA+ρI)是正定的,因此可逆.进而,上面的线性方程组可用如下显式求解:由上述分析可见,本文新提出的算法其每个子问题都能显式求解,这相比文献[5]中的乘子交替方向法更容易实现.当矩阵A具有某些特殊结构时,可以借助一些快速矩阵求逆方法对式(18)进行求解(例如:快速傅立叶变换).当矩阵A规模较大且无特殊结构时,(γATA+ρI)的逆矩阵求解则会比较耗时.此时,建议采用快速、成熟的共轭梯度法[8]进行近似求解,即:式中,,且.当处理(18)的病态情形时,在共轭梯度法中引入预处理迭代技术增加算法的稳定性和可靠性,这也是新算法的一个潜在优势.综上分析,本文的分解算法过程可描述如下:新的快速分解算法解Dantzig-Selector模型的算法步骤如下:1) 输入初始迭代点(x0,β0,λ0),选择参数δ,ρ,γ>0;2) 通过式(15)更新zk+1;3) 通过式(16)更新xk+1;4) 通过式(18)或(19)更新βk+1;5) 通过式(13)更新λk+1.本节对新提出的算法进行数值模拟来检验算法的优劣.考虑到β子问题的计算方式,新算法分为式(18)的精确计算(简记为“New-accurate”)和式(19)的一步迭代近似计算(简记为“New-one”).同时,将新算法与文献[5]中的乘子交替方向法(简记为“ADMM”)进行比较.所有算法都用MATLAB进行编程实现,其中文献[5]的ADMM算法程序由该文作者提供.类似文献[4]的测试情况,本节仍考虑两种类型的系数矩阵X:单位列向量系数矩阵和行正交系数矩阵.实验中设定初始值迭代点为(x0,β0,λ0)=(0,0,0).新算法(New-one和New-accurate)迭代的停止条件设定为:另外,根据文献[4]的测试方法,对两种不同类型的系数矩阵情况分别测试5组规模不同的随机数据,相关维数设定为(n,p,s)=(72i,256i,8i),i=1,2,3,4,5;其中s表示向量β中的非零元个数,即稀疏度.由于数据是随机生成的,本节实验对每一种维数情形生成5组数据,然后为检验方法的稳定性,每组数据的测试结果取平均值.在实验中,设定参数σ,其中σ=0.01;在测试单位列向量的系数矩阵时,选取参数ρ=200和γ=2.当系数矩阵为行正交矩阵时,选取参数ρ=100和γ=20.ADMM算法的参数采用文献[5]的默认设置.3种算法的数值结果如表1和表2所示,其中包括计算迭代次数(Iter.)、以秒为单位的CPU运行时间(Time)和近似解的误差和ρ2).由于ADMM算法关于β的子问题没有显式迭代格式,表中还统计了它的内迭代次数(inner).本文仍采用文献[7]中的近似解误差公式(4.2)计算和ρ2.显然,和ρ2的值越小,表明得到的数值解质量越好.表1和表2的数值结果表明New-one算法和ADMM在得到质量相当的近似解时,New-one所需的CPU运行时间比后者要少,这进一步从数值上验证了本文新方法在求解子问题方面的优势.若直接使用式(18)更新βk+1,则需要计算矩阵的逆.一般情况下,计算矩阵的逆代价比较高,从New-accurate算法的数值结果也表明其CPU运行时间较长.同时,本文处理的问题非常病态,故矩阵直接求逆的迭代方式导致计算结果不如另外两种方式,因而进一步说明式(19)的重要性.但是,在矩阵维数比较低时,New-accurate的近似解效果还是令人满意,从某种程度上说,当矩阵X具有某种特殊结构时,或许可采用快速傅立叶变换实现高精度的快速求解.因表1、表2中的数据只是显示了计算结果的平均值,为了更加清晰展现每组随机数据的计算结果,当X分别为行正交矩阵和单位列向量矩阵时, 3种算法求解第i 个问题时最大、最小和平均的(内)迭代次数,如图1和图2所示;与之相对应的,误差量的最大值,最小值和平均值如图3和图4所示.图1~4中所有结果清晰地表明New-one和New-accurate算法对于随机的数据比ADMM表现更稳定.图5和图6分别画出了当(n,p,s)=(72,256,8)时两种不同类型系数矩阵对应的数值解情况.两幅图可看出New-one恢复出来的数值解令人满意.鉴于直接使用乘子交替方向法求解Dantzig-Selector模型时子问题不具有显式迭代格式的缺陷,本文引入一种新的模型刻画技巧,提出了一种子问题简单易行的分解算法.通过测试两种不同类型的随机数据,初步的数值结果表明新算法在CPU运行时间方面有较明显的优势.【相关文献】[1]DONOHO D pressed sensing[J]. Information Theory, IEEE Transactionson,2006,52(4):1289-1306.[2]CHEN S S, DONOHO D L, SAUNDERS M A. Automatic decomposition by basis pursuit[J]. SIAM Journal on Scientific Computing,1998,20(1):33-61.[3]TIBSHIRANI R. Regression shrinkage and selection via the lasso[J]. Journal of the Royal Statistical Society B,1996,58(1):267-288.[4]CANDES E, TAO T. The Dantzig selector: statistical estimation when p is much larger than n[J]. Annals of Statistics,2007,35(6):2313-2351.[5]LU Z S, PONG T K, ZHANG Y. An alternating direction method for finding Dantzig selectors[J]. Computational Statistics & Data Analysis,2012,56(12):4037-4046.[6]GABAY D, MERCIER B. A dual algorithm for the solution of nonlinear variational problems via finite element approximations[J]. Computers & Mathematics with Applications,1976,2(1):16-40.[7]WANG X, YUAN X. The linearized alternating direction method of multipliers for Dantzig selector[J]. SIAM Journal on Scientific Computing,2012,34(5):A2792-A2811.[8]袁亚湘,孙文瑜.最优化理论与方法[M].北京:科学出版社,1996:186-194.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

OntheaccelerationofaugmentedLagrangianmethodforlinearlyconstrainedoptimization

BingshengHe∗andXiaomingYuan†October11,2010

Abstract.TheclassicalaugmentedLagrangianmethod(ALM)playsafundamentalroleinalgorithmicdevelopmentofconstrainedoptimization.Inthispaper,wemainlyshowthatNesterov’sinfluentialaccelerationtechniquescanbeappliedtoaccelerateALM,thusyieldinganacceleratedALMwhoseiteration-complexityisO(1/k2)forlinearlyconstrainedconvexprogramming.Asaby-product,wealsoshoweasilythattheconvergencerateoftheoriginalALMisO(1/k).

Keywords.Convexprogramming,augmentedLagrangianmethod,acceleration.

1IntroductionTheclassicalaugmentedLagrangianmethod(ALM),orwell-knownasthemethodofmultipliers,hasbeenplayingafundamentalroleinthealgorithmicdevelopmentofconstrainedoptimizationeversinceitspresencein[2]and[9].TheexistingliteratureaboutALMistoomanytobelisted,andweonlyreferto[1,8]foritscomprehensivestudy.Inthispaper,werestrictourdiscussionintotheconvexminimizationwithlinearequationconstrains:(P)min{f(x)|Ax=b,x∈X},(1.1)

wheref(x):󰀊n→󰀊isadifferentiableconvexfunction,A∈󰀊m×nandb∈󰀊mandXisaconvexclosedsetin󰀊n.Throughoutweassumethatthesolutionsetof(1.1)denotedbyX∗isnotempty.NotethattheLagrangefunctionoftheproblem(1.1)is

L(x,λ)=f(x)−λT(Ax−b),(1.2)whereλ∈󰀊mistheLagrangemultiplier.Then,thedualproblemof(1.1)is

(D)maxx∈X,λ∈󰀇mL(x,λ)s.t(x󰀄−x)T∇xL(x,λ)≥0,∀x󰀄∈X.(1.3)Wedenotethesolutionsetof(1.3)byX∗×Λ∗.Asanalyzedin[1],theALMmergesthepenaltyideawiththeprimal-dualandLagrangianphilosophy,andeachofitsiterationconsistsofthetaskofminimizingtheaugmentedLagrangianfunctionof(1.1)andthetaskofupdatingtheLagrangemultiplier.Morespecifically,startingwithλ0∈󰀊m,thek-thiterationofALMfor(1.1)is󰀇xk+1=Argmin{f(x)−(λk)T(Ax−b)+β2󰀑Ax−b󰀑2󰀄󰀄x∈X},

λk+1=λk−β(Axk+1−b),(1.4)

∗DepartmentofMathematicsandNationalKeyLaboratoryforNovelSoftwareTechnology,NanjingUniversity,

Nanjing,210093,China.ThisauthorwassupportedbytheNSFCGrant10971095andtheNSFofJiangsuProvinceGrantBK2008255.Email:hebma@nju.edu.cn†DepartmentofMathematics,HongKongBaptistUniversity,HongKong,China.Thisauthorwassupported

inpartbyHKRGC203009.Email:xmyuan@hkbu.edu.hk

1whereβ>0isthepenaltyparameterfortheviolationofthelinearconstraints.Wereferto[10]fortherelevanceofALMwiththeclassicalproximalpointalgorithm,whichwasoriginallyproposedin[4]andconcretelydevelopedin[11].NotethatamongsignificantdifferencesofALMfrompenaltymethodsisthatthepenaltyparameterβcanbefixedanditisnotnecessarytobeforcedtoinfinity,seee.g.[8].Inthispaper,weuseasymmetricpositivedefinitematrixHk

todenotethepenaltyparameter,indicatingtheeligibilityofadjustingvaluesofthisparameter

dynamicallyeventhoughthespecificstrategyofthisadjustmentwillnotbeaddressed.Morespecifically,let{Hk}beagivenseriesofm×msymmetricpositivedefinitematricesanditsatisfy

Hk−Hk+1󰀅0,∀k>0.Then,thek-thiterationofALMwithmatrixpenaltyparameterfor(1.1)canbewrittenas󰀈xk+1=Argmin{f(x)−(λk)T(Ax−b)+12󰀑Ax−b󰀑2Hk󰀄󰀄x∈X},

λk+1=λk−Hk(Axk+1−b).(1.5)

Inspiritedbytheattractiveanalysisofiteration-complexityforsomegradientmethodsini-tiatedmainlybyNesterov(seee.g.[5,6,7]),inthispaper,weareinterestedinanalyzingtheiteration-complexityoftheALManddiscussingthepossibilityofacceleratingALMwithNesterov’saccelerationschemes.Morespecifically,inSection2weshallfirstshowthattheiteration-complexityoftheALMisO(1/k)intermsoftheobjectiveresidualoftheassociatedLagrangefunctionof(1.1).Then,inSection3,withtheaccelerationschemein[6],weproposeanacceleratedALMwhoseiteration-complexityisO(1/k2).Finally,someconclusionsaregiveninSection4.

2ThecomplexityofALMInthissection,wemainlyshowthattheiteration-complexityoftheclassicalALMisO(1/k)intermsoftheobjectiveresidualoftheassociatedLagrangefunctionL(x,λ)definedin(1.2).Beforethat,weneedtojustifytherationaleofestimatingtheconvergencerateofALMintermsoftheobjectiveresidualofL(x,λ)andprovesomepropertiesofthesequencegeneratedbyALMwhicharecriticalforcomplexityanalysistobeaddressedlater.Accordingto(1.3),apair(x,λ)∈X×󰀊misdualfeasibleifandonlyif

(x󰀄−x)T(∇f(x)−ATλ)≥0,∀x󰀄∈X.(2.1)Notethattheminimizationtaskregardingxk+1intheALMscheme(1.5)ischaracterizedbythefollowingvariationalinequality:

(x−xk+1)T󰀂∇f(xk+1)−ATλk+ATHk(Axk+1−b)󰀃≥0,∀x∈X.Therefore,substitutingtheλk+1-relatedequationin(1.5)intotheabovevariationalinequality,wehave(x−xk+1)T󰀂∇f(xk+1)−ATλk+1󰀃≥0,∀x∈X.(2.2)

Inotherwords,thepair(xk+1,λk+1)generatedbythek-thiterationofALMisfeasibletothedualproblem(1.3).Ontheotherhand,asolution(x∗,λ∗)∈X∗×Λ∗of(1.3)isalsofeasible.Wethushavethatthesequence{L(x∗,λ∗)−L(xk+1,λk+1)}isnon-negative.ThisexplainstherationaleofestimatingtheconvergencerateofALMintermsoftheobjectiveresidualofL(x,λ).Now,wepresentsomepropertiesofthesequencegeneratedbytheALMinthefollowinglemmas.Despitethattheirproofsareelementary,theselemmasarecriticalforderivingthemainresultsofiteration-complexitylater.

相关文档
最新文档