网刊加载中。。。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读

萤火虫算法求解多体系统动力学微分-代数方程

  • 张笑笑 1
  • 丁洁玉 1,2
1. 青岛大学 数学与统计学院,青岛 266071; 2. 青岛大学 计算力学与工程仿真研究中心,青岛 266071

最近更新:2021-04-27

DOI:10.6052/1672-6553-2020-113

  • 全文
  • 图表
  • 参考文献
  • 作者
  • 出版信息
目录contents

摘要

针对多体系统动力学微分-代数方程求解问题,研究基于萤火虫算法的求解方法. 首先将广义坐标和广义速度进行Lagrange插值,结合Gauss数值积分方法,将微分-代数方程求解问题转化成求解最优化问题.然后用萤火虫算法对问题进行优化求解.最后,通过对平面双连杆机械臂的多体系统仿真实验,验证了萤火虫算法在求解动力学方程中既保持了约束又较好地保证了能量精度.结果表明智能优化算法在求解多体动力学问题上具有较好的应用前景.

引言

微分-代数方程是描述多体系统动力学的数学模型,它由微分方程和代数约束方程组成,其数值求解方法的研究是多体系统动力学研究的重要内容.保持约束稳定从而保证微分-代数方程求解的稳定是数值方法研究的重

1.近年来逐渐发展起来的一些方法,如:坐标缩并方2、广义-α方3、辛算4、能量方56、辛保持的变分数值积分方7、Lie 群方8等,均取得了较好的求解结果.

萤火虫算法(firefly algorithm,FA)是XS.Yang在2008年提出的一种新颖的智能优化算

9.该方法的思想是模拟萤火虫闪烁行为,通过萤火虫间的相互吸引来实现种群的迭代进化.近年来,研究人员对标准FA算法进行诸多改进,较好地解决算法收敛速度慢、求解精度低、易陷入局部最优等缺陷.例如:将变量从混沌空间变换到解空间然后再进行搜索的混沌萤火虫算1011;通过将FA与其他算法结合提出混合萤火虫算12-14;基于离散空间的离散萤火虫算15等.目前该类算法已经在诸多优化问题中得到了较好的效果,并且在机器学习、生产调度、机器人智能控制和图像处理等领域得到了广泛的应用.

本文主要通过Lagrange插值,结合Gauss数值积分方法将微分-代数方程求解问题转换成优化问题,然后对该优化问题进行萤火虫算法设计.最后对平面双连杆系统进行仿真实验.

1 多体系统动力学微分-代数方程

多体系统动力学方程通常为指标3的微分-代数方程组(DAEs):

M(q,t)q¨+ΦqTλ=F(q˙,q,t)Φ(q,t)=0 (1)

其中,qϵRn是广义坐标,q˙ϵRn 是广义速度,λϵRd是Lagrange乘子,Φ为广义坐标q的约束方程, Φq为约束方程的Jacobi矩阵.

将约束方程Φ(q,t)=0求两阶导,方程(1)可以由指标3降为指标1,方程形式如下:

MΦqTΦq0q¨λ=F-(Φqq˙)qq˙-2Φqt-q˙-Φtt (2)

将仿真时间0,T平均划分为若干小区间[ti,  ti+1] i=0,1,,N.在时间[ti,  ti+1]中对广义坐标q(t)进行Lagrange插值:

qt=j=0mljtqj (3)
ljt=k=0,kjm(t-tk)(tj-tk) (4)

q˙t=j=0mlj.tqj (5)
q¨t=j=0mlj..tqj (6)

为保证位移约束、速度约束和加速度约束,插值函数qtq˙tq¨t需要满足如下3d个约束方程:

Φ(q,t)=0         Φ˙(q,q˙,t)=0     Φ¨(q,q˙,q¨,t)=0  (7)

通过方程组(7)将方程(2)中的变量进行缩并,3d个变量(q1,... qd;q1.,... qd.;q1..,... qd..)可以由3(n-d)个变量(qd+1,... qn;q˙d+1,... q˙n;q¨d+1,... q¨n)来表示.然后将qtq˙tq¨t代入微分-代数方程(2)得到:

ft=q¨tλ-MΦqTΦq0-1Fq˙t,qt,t-(Φqq˙)qq˙-2Φqtq˙-Φtt (8)
t[ti, ti+1]

若对于t[ti, ti+1]都有ft=0,则插值函数qt式(1)[ti, ti+1]上的精确解.显然非线性函数(8)一般不存在精确解,只能求解相对于插值函数qt尽可能满足(8)式接近于0的相对最优解.则可以转换成如下优化问题:

minqi titi+1fTfdx (9)

对上式进行Gauss数值积分,可以化成如下形式:

minqi s=1SAsfTtsftsdx (10)

其中,As为Gauss积分系数,ts为Gauss积分节点.显然,式(10)是一个非凸优化问

16,已有的研究表明,传统的数学优化方法难以对此类问题进行有效求解,智能优化算法是求解此类问题的有效算法.萤火虫算法是模仿种群运动的一种智能算法,提供了求解DAE方程的新方法.

2 萤火虫算法设计

萤火虫算法包含一个有M个个体的萤火虫种群系统X=X1,X2,X3,,XMXiRD.第i个个体在时间t处的位置:Xit=(xi1t,xi2t,,xiDt).萤火虫对彼此吸引的原因取决于两个因素,即自身亮度Li和吸引度β.其中,萤火虫的亮度取决于自身所在位置的目标值Li=φ(Xi).吸引度与亮度相关,愈亮的萤火虫吸引亮度比其弱的萤火虫往这个方向移动.吸引度与距离Ri,j成反比,距离越远的萤火虫吸引度越低.系统X的整体最优位置为Xg.迭代过程中,萤火虫的位置更新公式如

17

Xit+1=Xit+β(Xg-Xit)+αηit (11)
β=β0e-γRi,jυ

其中,γ是光吸引系数;β0是最大吸引度;α0,1是步长因子; αηit为扰动项;υ为动态视觉权重,越大寻优视野越大,越容易获得远距离信息;Ri,j为萤火虫ij之间的距离.

迭代初期,希望对萤火虫种群个体进行较大扰动,以增强全局探索能力有利于跳出局部极值点;而在搜索后期,要求对个体减小扰动,以提高算法的搜索精度.因此,设计扰动项如下:

ηit+1=αηit+β(Xg-Xit)ηi1=0                                     (12)

运用萤火虫算法求解区间[ti,  ti+1]的插值函数qt,已知初始点q0=q(ti)Rn,插值节点qj, j=1,2m是待优化的节点,并且qj满足约束Φ(q,t)=0。.一般有e个约束方程,则维度d=(n-e)m.定义目标函数如下:

φ(qj)=AsfT(ts)f(ts) (13)

如果φ(qj)=0,则qj, j=1,2m即为所求的最优值.由于目标函数φ为非线性函数,一般不存在解析解,所以φ(qj)只能尽可能地接近精确解,设置收敛精度φmin和最大迭代步数gmax,若达到收敛精度或达到最大迭代步数,则输出寻优结果.

萤火虫算法的求解步骤如下:

1)设置萤火虫算法的初始参数:种群规模M,萤火虫位置维度d,萤火虫位置的变化范围,最大迭代次数gmax,收敛精度φmin,光吸引系数γ;最大吸引度β0;步长因子α,初始扰动项ηi1=0,并随机生成初始种群,定义目标函数φ

2)根据设定的目标函数,分别计算每个个体的适应度值,比较种群的适应度,确定种群的亮度最强个体Xg

3)计算萤火虫Xi到亮度最强个体Xg的距离Ri,g,确定Xg对所有个体的吸引度β,根据公式(10)对所有萤火虫进行移动操作,更新扰动项ηit+1

4)比较移动前后的萤火虫适应度值,若优于之前位置则完成位置更新,否则保持原位置不移动;

5)如果φ(Xg)<φmin或达到最大迭代步数gmax,则输出最优解gbest,否则重复步骤2)-步骤5),直到满足预设的终止条件.

3 数值算例

下面以平面双连杆机械臂系统为例,对上述方法进行验证和分析.如图1所示,设杆1质量m1=1kg,杆长L1=1m,质心坐标为(x1,y1).杆2的质量m2=2kg,杆长L2=3m,质心坐标为(x2,y2).两个刚性连杆可以绕端点自由转动,取X轴为零势能面,假设系统只受重力作用,重力加速度g=9.81.系统状态变量q=(x1,y1,θ1,x2,y2,θ2),则系统动力学微分-代数方程为:

图1 平面双连杆机械臂

Fig. 1 Two-link planar manipulator

MΦqTΦq0q¨λ=F-(Φqq˙)qq˙  (14)

其中,广义力矢量 F=(0,-m1g,0,0,-m2g,0), 广义质量矩阵M=diag(m1,m1,J1,m2,m2,J2),连杆转动惯量 J1=112m1L12 J2=112m2L22.采用三点Lagrange插值逼近qt,由初值q(t0)=q0,  q˙(t0)=q˙0得:

q1=hq˙0+3q0+q24,h=ti+1-ti (15)

为满足约束方程Φ=0Φ˙=0Φ¨=0,插值函数qt中变量可以缩并表示为:

q=L12cos θ1L12sin θ1θ1L1cos θ1+L22cos θ2L1sin θ1+L22sin θ2θ2  (16)
q˙=-L12sin θ1θ1.L12cos θ1θ1.θ1.-L1sins θ1θ1.-L22sin θ2θ2.L1cos θ1θ1.+L22cos θ2θ2.θ2.  (17)
q¨=-L12cos θ1θ1.θ1.-L12sin θ1θ1..-L12cos θ1θ1.θ1.+L12cos θ1θ1..θ1..-L1cos θ1θ1.θ1.-L1sins θ1θ1..-L22cos θ2θ2.θ2.-L22sin θ2θ2..-L1sin θ1θ1.θ1.+L1cos θ1θ1..-L22sin θ2θ2.θ2.+L22cos θ2θ2..θ2.. (18)

两点Gauss数值积分方法求解目标函数.

minq2 s=12AsfT(ts)f(ts)dx (19)
A1=A2=h2t1=-33·h2+ti+1+ti2t2=33·h2+ti+1+ti2 (20)

取时间步长h=0.002s,仿真时间20s.连杆初始状态:θ1=π3,θ2=-π6,广义速度q˙=0.萤火虫算法参数设置:种群规模M=60,光吸引系数γ=1,最大吸引度β0=0.7,步长因子 α=0.7,收敛精度φmin=10-15,最大迭代步数gmax=1000.仿真结果如图所示:

图 2 连杆末端运动轨迹

Fig. 2 The trajectory of the end of rod

图 3 系统总能量

Fig. 3 Total System Energy

图 4 系统动能、势能

Fig. 4 System Kinetic Energy and Potential Energy

图2-图5为时间步长0.005时系统仿真结果.从连杆末端运动轨迹和系统能量变化可以看出,连杆运动过程稳定,没有出现明显偏移.位移约束、速度级约束和加速度级约束没有出现违约.

图 5 双连杆机械臂约束

Fig. 5 Constraints of the two-link manipulator

采用不同时间步长对平面双连杆系统进行仿真实验,结果比较见表1.其中H=T+U为系统总能量,εH=max0<i<n H(ti)-H(t0)H(t0)为系统总能量的最大相对误差,MRΕH=1ni=1nH(ti)-H(t0)H(t0)为系统总能量的平均相对误差,ε(Φ)ε(Φ˙)ε(Φ¨)分别为系统位移约束、速度约束和加速度约束的最大误差,仿真时间为20s.

表1 不同时间步长的误差结果比较
Table 1 Comparison of errors for different time steps
Stepε(H)MRΕ(H)ε(Φ)ε(Φ˙)ε(Φ¨)Runtime T/s
h=0.002 2.8782×10-4 3.2808×10-5 1.1102×10-16 8.8817×10-16 2.8421×10-14 2.9×104
h=0.005 1.8150×10-3 3.7283×10-4 1.1102×10-16 8.8817×10-16 2.8421×10-14 1.2×104
h=0.01 7.4496×10-3 1.3995×10-3 1.1102×10-16 8.8817×10-16 2.8421×10-14 8.8×103

采用相同时间步长h=0.01对平面双连杆系统进行仿真实验,结果比较见表2,其中FA-DAE表示本文的求解算法,RK4表示四阶Runge-Kutta方法,仿真时间为20s.

表2 相同时间步长时各方法结果比较(h=0.01,t=20s)
Table 2 Comparison of different methods with the same time step (h = 0.01,t=20s)
Stepε(H)MRΕ(H)ε(Φ)ε(Φ˙)ε(Φ¨)Runtime T/s
FA-DAE 7.4496×10-3 1.3995×10-3 1.1102×10-16 8.8817×10-16 2.8421×10-14 8.8×103
RK4 9.0827×10-2 2.8464×10-2 4.0164×10-2 4.2045×10-3 7.8160×10-14 0.5167

表1可以看出,系统运动过程中精确保持位移约束、速度级约束和加速度级约束,系统总能量最大相对误差较小.随着时间步长减小,系统总能量最大相对误差和平均相对误差在减小,仿真结果也更加的准确.从表2可以看出,本文算法运行时间长,但在约束和能量方面保持较好.

4 小结

本文运用萤火虫优化算法求解多体系统动力学微分-代数方程,并对平面双连杆系统进行仿真实验.实验结果表明,在满足指标1、指标2和指标3约束的情况下,系统总能量的误差较小.萤火虫算法的优化精度高、算法设计简单且不需要目标函数的导数信息,对于求解多体系统微分-代数方程取得了较好效果,说明智能优化算法应用到多体动力学仿真中的可行性.然而,该方法存在计算量大和算法运行时间长的缺点.今后在有效地降低运行时间和提高算法精度方面是一个主要研究方向.

参考文献

1

Fon-Llagunes J M. Multibody dynamics computational methods and applications. SwitzerlandSpringer2016 [百度学术

2

Shabana A AHussein B A. A two-loop sparse matrix numerical integration procedure for the solution of differential/algebraic equations: Application to multibody systems. Journal of Sound and Vibration20093273-5):557563 [百度学术

3

Bruls OCardona AArnold M. Lie group generalized-alpha time integration of constrained flexible multibody systems. Mechanism & Machine Theory2012481):121137 [百度学术

4

Jay L. Symplectic partitioned Runge-Kutta methods for constrained Hamiltonian systems. SIAM Journal on Numerical Analysis1996331):368387 [百度学术

5

Lens ECardonaAlberto. An energy preserving/decaying scheme for nonlinearly constrained multibody systems. Multibody System Dynamics2007183):435470 [百度学术

6

Betsch PUhlar S. Energy-momentum conserving integration of multibody dynamics. Multibody System Dynamics2007174):243289 [百度学术

7

West J EMarsden M. Discrete mechanics and variational integrators. Acta Numerica. 200110357514 [百度学术

8

Iserles AMunthekaas H ZNørsett S Pet al. Lie-group methods. Acta Numerica. 200092):215365 [百度学术

9

Fister IJr I FYang X Set al. A comprehensive review of firefly algorithms. Swarm and Evolutionary Computation2013131):3446 [百度学术

10

Coelho L D SMariani V C. Firefly algorithm approach based on chaotic Tinkerbell map applied to multivariable PID controller tuning. Computers & Mathematics with Applications. 2012648):23712382 [百度学术

11

冯艳红刘建芹贺毅朝. 基于混沌理论的动态种群萤火虫算法. 计算机应用2013333):796799 [百度学术

Feng Y HLiu J QHe Y C. Algorithm of dynamic population firefly based on chaos theory. Journal of Computer Application2013333):796799(in Chinese) [百度学术

12

Giannakouris GVassiliadis VDounias G. Experimental study on a hybrid nature-inspired algorithm for financial portfolio optimization. VerlagSpringer2010 [百度学术

13

田梦楚薄煜明陈志敏. 萤火虫算法智能优化粒子滤波. 自动化学报2016421):9199 [百度学术

Tian M CBo Y MChen Z Met al. Intelligent optimization of particle filter based on firefly algorithm. Acta Automatica Sinica2016421):9199(in Chinese) [百度学术

14

张军丽周永权. 人工萤火虫与差分进化混合优化算法. 信息与控制2011405):608613 [百度学术

Zhang J LZhou Y Q. Hybrid optimization algorithm of artificial firefly and differential evolution. Information and Control2011405):608613 (in Chinese) [百度学术

15

Osaba ECarballedo RYang X Set al. An evolutionary discrete firefly algorithm with novel operators for solving the vehicle routing problem with time windows. Nature-Inspired Computation in EngineeringSwitzerland: Springer International Publishing2016 [百度学术

16

Vasant PGanesan TElamvazuthi I. An improved PSO approach for solving non-convex optimization problems. Ninth International Conference on Ict & Knowledge Engineering. IEEE2012 [百度学术

17

毕晓君胡菘益. 基于混合引导策略的高精度萤火虫优化粒子滤波算法. 上海交通大学学报2019532):110116 [百度学术

Bi X JHu S Y. High precision particle filter algorithm for firefly optimization based on hybrid guidance strategy. Journal of Shanghai Jiaotong University2019532):110116 (in Chinese) [百度学术

微信公众号二维码

手机版网站二维码