APP下载

基于粒子群算法的仿真任务共同体服务选择算法优化研究

2016-08-10刘高峰

兵器装备工程学报 2016年7期

汪 霆,刘高峰

(海军工程大学 电子工程学院,武汉 430033)



基于粒子群算法的仿真任务共同体服务选择算法优化研究

汪霆,刘高峰

(海军工程大学 电子工程学院,武汉430033)

摘要:在研究粒子群算法(PSO)及其改进的DGOSS算法、STCSSA算法基础上,从仿真任务共同体的定义、服务选择界定及服务品质(QoS)描述出发,改进设计了PSO的惯性权重动态调整策略,建立了一种优化的仿真任务共同体服务选择算法(ITCSSA);通过仿真对比验证表明:ITCSSA算法较DGOSS算法、STCSSA算法有更好的收敛速度、精度和适用性,对于多用途仿真系统的资源分配优化具有一定的参考价值。

关键词:面向服务;仿真系统;仿真任务共同体;服务选择;优化粒子群算法

本文引用格式:汪霆,刘高峰.基于粒子群算法的仿真任务共同体服务选择算法优化研究[J].兵器装备工程学报,2016(7):51-56.

Citation format:WANG Ting,LIU Gao-feng.Study of Improved Simulation Task Community Service Selection Algorithm Based on Particle Swarm Optimization[J].Journal of Ordnance Equipment Engineering,2016(7):51-56.

通常,仿真系统中的“资源”可以分为:以数据、模型和算法等为特征的基础类资源;以仿真建模工具、运行支撑软件、管理类设施等为特征的仿真支撑类资源;以功能应用、模拟器材等为特征的仿真应用类资源[1]。在分布式仿真环境下,为应对作战训练、方案推演、装备论证和装备试验等多种类型的联合仿真应用,克服地域和平台限制,实现仿真资源的动态配置与优化组合,满足异地/异构仿真单元的功能集成和信息交互,是仿真系统重组重构研究的一个难点[2]。以往采用分布式仿真技术[3]构建的仿真系统一般都是刚性的,往往需要在确定的环境下,按照预定的目标以及确定的仿真流程运行,仿真资源的使用模式相对固化,已不能全面满足日趋复杂的多用途仿真系统柔性重组的应用需要。随着国内外关于体系结构技术的持续研究表明[4-8],面向服务(SOA)体系结构以其具有的服务重用性、服务互操作性及服务之间的松耦合性等优势,已成为多用途仿真系统中的关键技术之一。在仿真任务需求牵引下,构建仿真任务共同体,是面向服务的仿真系统实现仿真资源按需组合与高效利用,最终满足仿真系统多用途化目标的有效手段,其目的在于利用仿真任务共同体搭建某一仿真任务阶段的临时性的逻辑功能仿真系统,如既可是作战模拟训练系统,也可是作战方案推演系统或武器装备论证仿真系统等,并能够灵活的组合和解聚。但是,在构建仿真任务共同体过程中,随着系统规模的扩大,节点及服务的大量增加,各类服务的总体数量将急剧增大。由于服务本身具有不同的服务品质(QoS),且服务质量是多维度的,要从数量庞大且不同质量的服务群中快速选择出所需服务是首要解决的关键。粒子群算法作为一种智能寻优算法[9],不需要了解服务的具体功能和其他背景信息,具有并行运算、群体搜索的特点,是解决仿真任务共同体服务问题的一种有效方法。

本文在研究粒子群算法(PSO)及其改进算法基础上,尝试建立一种优化的仿真任务共同体服务选择算法(ITCSSA),以解决多用途仿真系统中的资源分配优化问题。

1仿真任务共同体及其服务描述

在仿真任务共同体服务选择算法中,仿真任务共同体是主体,服务选择是手段,服务品质是标准,三者共同构成了算法的应用环境。

1.1仿真任务共同体定义

目前,任务共同体尚无一致的理解和定义。文献[10]对网络中心化仿真的研究,给出的仿真任务共同体的概念指:“为了完成某一共同的仿真任务,由分布在网络上面的相关仿真资源和设施组成的虚拟组织,类似于高层体系结构的联邦或传统仿真系统的概念,但它是虚拟系统,当任务执行完成后解散。仿真任务共同体由若干成员构成,成员主要是仿真应用类资源,也包括仿真支撑类中的数据采集、仿真控制等仿真管理设施资源。”这一定义是基于未来网络栅格条件下的网络中心化仿真概念,强调了组成任务共同体节点的类别是应用类资源及仿真管理设施,没有明确仿真实装节点以及数据模型等的作用,同时,这一定义也不是面向服务的,具有一定的局限性。

仿真任务共同体实际上可理解为是一种目的性较强的临时性的仿真系统。本文在文献[11]基础上,将多用途仿真系统中的仿真任务共同体定义为:在共同的仿真任务牵引下,将分布式的仿真节点、对应服务群、管理类设施、数据模型等仿真软硬件资源,构成一个具有特定功能和用途的仿真逻辑系统,并能够根据不同的仿真应用需要灵活的聚合和解聚,最终实现仿真系统资源优化分配和仿真任务管理的目标,如图1所示。

图1 任务共同体定义描述

1.2服务选择的界定

在仿真任务共同体中,仿真节点所对应的仿真服务群不是孤立存在的,而是有着一定的交叉、包含等关系,且在同一服务群中能实现特定功能和用途的服务存在一个或多个,这些服务具有不同的服务品质(QoS)以及特定的约束条件,如图2所示。

图2 任务共同体服务群关系描述

如何在复杂的仿真环境和不断变化的仿真条件下,从庞大服务群中快速选择出所需要求的服务,实现仿真节点各取所需,同时任务共同体效益最大化(包括个体最优和整体最优)是需要解决的关键性问题,即任务共同体服务选择。

1.3服务品质描述

当进行仿真任务共同体服务选择时,必须首先明确服务选择的标准和依据,这一标准和依据就是服务品质(QoS)[12-13]。为更好的对服务品质进行描述,选择6种具有代表性、共通性的非功能属性作为QoS指标,即服务代价P(price)、服务执行时间E(execution time)、服务可靠性R(reliability)、服务延迟D(Delay)、服务容量C(capacity)和服务信誉Rep(reputation)。其中,服务代价指服务运行需要占用的各类资源,如计算资源、网络资源等等;服务执行时间指服务作为一种程序,获取输出结果所需时间;服务可靠性代表该服务在仿真系统中的正常运行的可靠程度衡量;服务延迟指服务在服务请求方发出申请直至服务响应的时间延迟;服务容量是调用及被调用的能力指标,服务信誉指衡量服务能够被正常调用的度量。

2基于粒子群算法优化的ITCSSA算法

2.1粒子群算法(PSO)

粒子群算法(PSO)作为一种智能寻优算法,具有并行运算、群体搜索的特点。该算法不需要背景知识及相关的启发式信息,只需要确定优化目标函数和对应约束条件,从随机解出发,在迭代过程中寻找最优解,粒子通过跟踪“个体极值”和“群体极值”更新自身位置信息,并以此寻找全局最优。这种算法具有实现方便、收敛速度快和收敛精度高等优点,现已广泛应用于各类寻优问题的求解[14]。

在PSO算法中,粒子具有位置和速度两个重要参数,在N维搜索空间中,位置X和速度V也是N维向量,分别对应空间中的一个解向量和解的位置变化情况,每个粒子的位置Xi用Xi=[Xi1,Xi2,…,XiN]T表示,速度Vi用Vi=[Vi1,Vi2,…,ViN]T表示,每个粒子访问过的最优位置称为个体最优位置,用Xp表示,整个种群的最优位置称为全局最优位置,用Xg表示。在每一次迭代中,粒子通过以下两个公式更新自身位置:

(1)

(2)

其中,i表示第i个粒子,t表示t时刻或者第t次迭代,对应的,Xi(t)表示第i个粒子t时刻的位置,Vi(t)表示第i个粒子t时刻的速度。w是惯性权重,代表粒子受到当前速度影响程度的度量,c1、c2称为加速度常数,分别代表粒子向自身最优位置和全局最优位置运动的趋势,r1、r2是(0,1)之间均匀分布的随机数。

PSO算法本身在有约束条件的数值优化和极值求解等应用中具有快速收敛的优点,但是该算法运用在高维复杂多峰函数寻优时,容易陷入局部极值,导致早熟收敛。产生问题的原因有两方面:一是惯性权重w采用固定值时对搜索能力的影响,当w取值较大时能够增强全局搜索能力,但搜索精度较低,w取值较小时则容易陷入局部最优解。二是在处理多峰值函数寻优问题时,易受到局部极值的影响,粒子群快速收敛到局部极值。

2.2ITCSSA算法的优化策略与算法流程

2.2.1算法分析

在文献[12-13]中,对基本PSO算法进行了改进,得到了DGOSS算法和STCSSA算法,改进重点是对惯性权重w进行动态调整,算法前期权重大,突出全局搜索能力,算法后期惯性权重降低,提高局部搜索精度。其中,两个算法的惯性权重调整函数如下:

DGOSS算法:

(3)

STCSSA算法:

(4)

粒子多样性:

(5)

上述公式中,tmax和tmin分别为算法预先设定的最大迭代次数和最小迭代次数,t为当前迭代次数,wi为初始权值,wf为最终权值,均为常数,且初始权值wi>wf,公式(5)为粒子多样性公式[15],d(t)是t时刻粒子群的多样性值,m为粒子数,|L|为搜索区域的最大宽度,D是问题维数,xid为t时刻第i个粒子的d维分量;xd为t时刻全部粒子在第d维分量上的平均值。

DGOSS算法除粒子多样性外的惯性权重时变部分调整策略如图3所示,从曲线变化可以看出,采用这一策略的DGOSS算法的惯性权重变化比较接近一次线性均匀变化,它的缺点是没有区分算法阶段,惯性权重在算法中匀速减小,不能满足前期高权重对提升搜索速度的要求。

图3 DGOSS算法惯性权重时变部分调整策略

STCSSA算法除粒子多样性外的惯性权重时变部分调整策略如图4所示,从曲线变化可以看出,在算法的前大半段均以接近最大惯性权重进行寻优搜索,仅在算法末端迅速减小,采用这一策略的STCSSA算法在进行简单函数寻优时因其惯性权重大,具有一定的速度优势,但是在复杂函数寻优时精度较差,易陷入局部极值点。

图4 STCSSA算法惯性权重时变部分调整策略

2.2.2优化的算法建立

事实上,算法并非在寻优搜索的末端才进入收敛,因此作者从实际收敛情况出发,设计了一种更符合实际的动态惯性权重调整策略,提出一种优化的任务共同体服务选择算法(ITCSSA),式(6)为ITCSSA算法惯性权重调整公式,图5是式(6)中除粒子多样性外的时变部分惯性权重变化曲线,相比式(3)、式(4)来说,既能够满足算法前期搜索速度,又能满足整体收敛精度。

ITCSSA算法:

(6)

在惯性权重动态调整策略基础上,得到优化后的ITCSSA流程如图6所示。

图5 STCSSA算法惯性权重时变部分调整策略

图6 ITCSSA算法流程

2.3粒子群算法的应用要求

粒子群算法在任务共同体服务选择中要得到良好应用必须具备几个先决条件:一是服务要进行量化评定,即对服务维度进行划分,并根据服务实际情况进行量化处理,在第一节已有说明;二是服务选择的判断标准必须清晰、具体、统一,要根据不同的仿真系统或者节点的实际情况,有所侧重;三是将任务共同体服务选择问题转变为函数求解问题。

例如,文献[10]将任务共同体的服务组合分为四种基本结构:顺序结构、分支结构、循环结构、并行结构,在此基础上,文献[12]以雷达防空任务共同体为例,设计了一种以服务代价P、服务执行时间E、服务延迟D为计算参数,服务可靠性R、服务容量C和服务信誉Rep作为约束条件的适应度函数:

(7)

这一函数作为适应度测试函数之一,在随后仿真验证中,将增加其维数和复杂度。

在确定任务共同体服务选择适应度函数后,运用PSO算法求解得到的结果是满足这一函数的最优值,它的意义在于给出了任务共同体服务最优组合。但是,这一最优组合并不一定是任务共同体服务集合中的最优实例。事实上,它们只是Pareto 最优解(即综合考虑所有的可行解,不存在其他更为优越的解)的集合。决策者需要根据某种决策原则在这些 Pareto 最优解之间进行权衡比较,根据某种“距离”原则,选取最接近的一个解作为满意解。本文采用基于 Euclidian 距离的方法获取实际最优解[16]。

由于需要人工价值评定,并从可行解中计算并选取最优解,因此这一特性决定了采用PSO算法进行任务共同体服务选择,是一种半人工的方式。

3算法仿真分析

3.1仿真实验条件设计

在Windows Xp SP3操作系统环境下,运用Matlab 7.8.0工具,开展ITCSSA算法与STCSSA算法及DGOSS算法的对比性仿真分析。选取带有约束条件的具有代表性的三个适应度测试函数f1,f2,f3作为仿真实验条件,如表1所示,通过求解函数最小值,并与DGOSS算法和STCSSA算法进行对比分析,以检验所设计的ITCSSA算法性能。

表1 测试适应度函数

在仿真程序设计过程中,注意到PSO算法位置、速度公式递推过程中,t+1时刻粒子速度仅与t时刻粒子位置、速度有关,t+1时刻粒子位置仅与t时刻粒子位置和t+1时刻粒子速度有关,可将粒子群位置和速度扩展为m行、D列的矩阵(m为粒子数,D为粒子维度),利用Matlab矩阵运算优势进行循环迭代,直至找到最优值,记录并输出结果。

实验参数设定为:初始惯性权值Wi=0.6,最终惯性权值Wf=0.3;粒子数m=100,迭代次数k=50,加速度常数c1=c2=2,粒子维度为6,对应服务品质的6个指标。

3.2仿真实验分析

经编程仿真,得到3个算法分别在适应度测试函数f1、f2、f3上的收敛效果对比全局图和细节图,如图7-图12所示。

图7 f1收敛效果对比全局图

图8 f1收敛效果对比细节图

图9 f2收敛效果对比全局图

图10 f2收敛效果对比细节图

图11 f3收敛效果对比全局图

图12 f3收敛效果对比细节图

通过分析以上仿真结果可以看出,ITCSSA算法有更好的收敛速度、精度和适用性,特别是在复杂函数寻优上优势较为明显,具体分析如下:

1) 当适应度测试函数为简单函数时(f1),如图7、图8所示,3个算法基本都在第6次迭代时逐步收敛,其中STCSSA算法在第3~5次迭代时更接近理论最小值点(-1),但进入第8次迭代后,ITCSSA算法明显更接近最小值点,DGOSS算法其次,STCSSA算法最后。这与前期在惯性权重动态调整策略中的分析是一致的,STCSSA在简单函数中的收敛速度较快,但是收敛精度较差,且收敛速度优势并不明显。

2) 当适应度测试函数复杂度提升时(f2),如图9、图10所示,ITCSSA算法优势逐步体现,在第2次迭代即体现较快的收敛速度,领先其他两个算法,DGOSS算法其次,STCSSA算法最后,在第7次迭代时,已经基本接近收敛,此时,DGOSS算法和STCSSA算法还未进入收敛状态。在第10次迭代时,ITCSSA算法已经完全收敛,且达到理论最小值点(0),DGOSS算法和STCSSA算法此时已收敛,但离最小值点有明显距离,收敛精度不如ITCSSA算法。

3) 适应度测试函数复杂度进一步增加(f3),此时维度达到了6维,且包含指数函数,从图11,图12可以看出,在第3次迭代之前,STCSSA具有明显优势,收敛速度最快,但是随即进入局部收敛,最终在第6次迭代时完成收敛,此时,与最小值点存在较大误差;在第5~8次迭代时,ITCSSA算法与DGOSS算法收敛速度相当,但是第9次迭代过后,DGOSS算法也已经完成收敛,此时与最小值点仍存在较大误差,而ITCSSA算法仍处于寻优阶段,最终在第12次迭代进入收敛,此时,在3个算法中,ITCSSA算法具有更好的收敛性,有着更高的收敛速度和精度。

综上,在仿真实验中,ITCSSA算法表现出了更好的收敛性,算法收敛精度和速度明显优于DGOSS算法和STCSSA 算法,这也与惯性权重动态调整策略中的分析相印证。实际上,STCSSA算法前期收敛速度更快,但是从整体收敛性,特别是收敛精度上来看,存在一定的缺点,主要原因在于该算法的前大半段均以接近最大惯性权重进行寻优搜索,仅在算法末端迅速减小,在实际仿真实验中,特别是经以上测试函数检验可以发现,算法寻优往往在中前期即可进入收敛,不一定达到预先设定的迭代次数k。实际上,在3个适应度测试函数中,当粒子数为100时,迭代5~15次即可进入收敛,如果粒子数更大,这一数字还能进一步缩小。而DOSSA算法采用的线性调整策略较为中庸,收敛速度和精度并没有明显优势。

本文选取具有代表性的粒子数100作为仿真参数。这一参数可以自由设定,在ITCSSA算法初始阶段可以根据仿真服务群内服务总数和适应度函数复杂程度自适应设定粒子数,以实现仿真速度与精度的匹配。

4结论

本文结合仿真任务共同体服务选择实际,设计了一种改进粒子群算法(ITCSSA),在仿真验证基础上与两种代表性的基于PSO算法优化的服务选择算法进行了分析对比,实验结果表明ITCSSA算法收敛速度快,收敛精度高,更加贴合任务共同体服务选择实际。

参考文献:

[1]张睿,王之腾,张宏军,等.浅析建模与仿真领域的现状与发展趋势[J].系统仿真学报,2013,25(8):52-55.

[2]范林军,董红林,凌云翔,等.分布式仿真系统中的全局一致性问题研究[J].计算机工程与科学,2016,38(1):131-135.

[3]周平,苏银科,沈超.基于DDS 的分布式数字仿真系统设计与实现[J].系统仿真学报,2014,26(8):1678-1683.

[4]ZHANG R,WANG Z T,MAO S J,et al.CoST:A Service-Oriented Simulation Architecture [J].Journal of Theoretical and Applied Information Technology,2013,48(3):1584-1589.

[5]陈钊,赵斯强,宋彬,等.面向服务的集成式海军作战指挥训练系统构建[J].指挥控制与仿真,2015,37(5):82-87.

[6]史扬,董汉权,陆铭华.面向服务的可组合可重用仿真技术研究[J].系统仿真学报,2014,26(7):1522-1526.

[7]龚立,刘高峰.SOA下军用仿真系统集成研究[J].武汉理工大学学报(交通科学与工程版),2010,34(6):1121-1128.

[8]LI X T,STUART E.Understanding the Dynamics of Service-Oriented Architecture Implementation[J].Journal of Management Information Systems,2015,32(2):104-133.

[9]单志伟,钱潜,刘福胜.基于粒子群优化的灰色系统对一体化保障设备使用工作量的预测[J].四川兵工学报,2015,36(10):55-58.

[10]毛少杰,李玉萍.网络中心化仿真概念与方法研究[J].系统仿真学报,2010,22(7):1660-1663.

[11]汪霆,刘高峰.一种TCSM模式的服务化模拟训练系统研究[J].计算机与数字工程,2015,43(12):2199-2203.

[12]孙黎阳,林剑柠.基于改进粒子群优化算法的网络化仿真任务共同体服务选择[J].兵工学报,2012,33(11):1393-1403.

[13]孙黎阳,李阳.网络中心化仿真任务共同体服务选择算法研究[J].计算机研究与发 展,2014,51(3):650-660.

[14]戴文智,杨新乐.基于惯性权重对数递减的粒子群优化算法[J].计算机工程与应用,2015,51(17):14-19.

[15]WANGYL,XUHM.Multiobjectiveparticleswarmoptimizationwithoutthepersonalbest[J].JournalofShanghaiJiaotongUniversity(Science),2014,19(2):155-159.

[16]RAMONCD.CollectiveEuclidiandistancesandquantumsimilarity[J].JournalofMathematicalChemistry,2013,51(1):338-353.

(责任编辑周江川)

收稿日期:2016-01-23;修回日期:2016-02-26

作者简介:汪霆(1986—),男,硕士研究生,主要从事作战指挥系统研究。

doi:10.11809/scbgxb2016.07.012

中图分类号:E917

文献标识码:A

文章编号:2096-2304(2016)07-0051-07

Study of Improved Simulation Task Community Service Selection Algorithm Based on Particle Swarm Optimization

WANG Ting,LIU Gao-feng

(College of Electronic Engineering, Naval University of Engineering, Wuhan 430033, China)

Abstract:The paper analyzed the particle swarm optimization (PSO) and two typical optimized algorithms: DGOSS, ITCSSA, and explicitly defined and described the concepts of simulation task community, service selection and quality of service(QoS), and proposed an improved task community service selection algorithm(ITCSSA) based on optimiz-ed dynamic inertia weight strategy. Finally, the simulation has proved its advantages in convergence rate and precision. The paper has reference value for the research of service se-lection during multipurpose simulation system.

Key words:SOA; simulation system; simulation task community; service selection; improved particle swarm optimization

【装备理论与装备技术】