时间:2023-04-01 10:06:31
导语:在遗传算法论文的撰写旅程中,学习并吸收他人佳作的精髓是一条宝贵的路径,好期刊汇集了九篇优秀范文,愿这些内容能够启发您的创作灵感,引领您探索更多的创作可能。
关键词:遗传算法,混沌,优化方法
0引言
遗传算法是一种较新的全局优化搜索算法,它使用了群体搜索技术,用种群代表一组问题解,通过对当前种群施加选择、交叉和变异等一系列遗传操作,从而产生新的一代种群,并逐渐使种群进化到包含最优解或近似最优解的状态。但由于算法复杂度的限制, 遗传算法虽然能以概率收敛到全局最优解,其局部搜索速度和精度并不能得到很好的保证。近几年来遗传算法作为优良的全局寻优方法日趋成熟,尤其是和其他寻优方法的结合,进一步提高了遗传算法的性能,其中借助于混沌改进遗传算法的性能,是近年来遗传算法领域研究的热点之一,遗传算法和混沌优化的组合,可以使遗传算法的全局寻优能力,搜索精度,搜索速度等几方面得到较明显的改进。
1混沌的特征和虫口方程
混沌是存在于非线形系统中的一种较为普遍的现象。混沌并不是一片混乱,而是有着精致内在结构的一类现象。混沌运动具有遍历性、随机性等特点,混沌运动能在一定的范围内按照其自身的规律不重复地遍历所有状态。因此,如果利用混沌变量进行优化搜索,无疑会比随机搜索更具有优越性。
描述生态学上的虫口模型Logistic映射自May于1976年开始研究以来,受到了非线形科学家的高度关注,Logistic映射是混沌理论发展史上不可多得的典范性的混沌模型,如下式所示:
2混沌遗传算法
GA较传统数学优化方法更易找到全局最优解,但对于一些问题也存在过早收敛、收敛速度较慢、难以找到较精确解的情况。因此,本文通过Logistic映射及相关混沌理论提出了一种运算性能较好的混沌遗传函数优化算法。混沌遗传算法(CGA)的主要步骤如下:
1.初始化:预先确定运行参数,包括:种群规模M,交叉概率pc,变异概率pm,最大迭代次数n。随机产生一个分布均匀的初始群体(包含n个初始解),计算各个个体的适应度值;
2.采用比例选择算子对当前种群进行选择操作,实现强留劣汰;
3.对当前种群进行交叉运算。将种群内个体两两随机组合,对每个配对的组合,首先由系统随机生成一个(0,1)之间的数,由交叉概率决定是否交叉。论文参考。论文参考。若交叉,则采用映射生成的序列经简单映射后利用高斯函数来决定交叉位置,否则,看下一对组合。所有的交叉位置由一个混沌序列即可决定;
5.若终止条件满足,则算法中止,否则转向步骤(2)。
本文尝试在将改进后的遗传算法与混沌优化算法相结合,提出一种基于混沌理论的混合遗传算法,算法的流程如下页流程图所示:
图1 改进后的混沌遗传算法(ICGA)流程图
3仿真分析
本文选用一维和多维多峰值函数为例,见表1,用遗传算法(GA)、混沌遗传算法(CGA)和本文算法(ICGA)进行比较研究。
表1 测试函数
实验结果比较如下(以下图纵坐标表示最大适应值,横坐标表示演化代数)
图2 f2实验结果比较示意图图3 f3实验结果比较示意图
从图2、图3的比较结果看,本文中算法初始种群较好,进化开始就能找到高的最大值,加快搜索的速度,整个算法的寻优结果比遗传算法好。论文参考。考虑到算法中使用了随机操作,仅仅由一次实验得到的结果是不能够充分说明问题的,因此,再进行统计比较。本文中进行了20次统计实验。比较结果如表2
表2 比较结果
【关键词】免疫遗传算法 粗糙集 属性约简
1 前言
对于一个粗糙集决策属性表,人们总是期望能找出所有约简或最小约简,然而一个信息表的属性约简并不是唯一的,得到信息表的包含最少条件属性的约简已被证明是NP 完全问题。由于免疫遗传算法在NP问题领域取得了比较好的效果,论文提出了一种基于免疫遗传算法的粗糙集属性约简算法,实验结果证明该算法是有效的,可快速收敛到全局最优解。
2 属性约简的免疫遗传算法设计
2.1 染色体编码
采用传统的二进制编码,即若决策表中有N个待约简的条件属性,算法产生一个长度为N的0-1二进制串,每一位代表一种对条件属性的取舍,1表示采用该位上的条件属性,0则表示不采用。
2.2 初始种群的产生
初始种群设置的好坏直接影响到最后的求解效果。任何一个信息表或决策表的相对核都包含在所有相对约简当中,即具有唯一性。因此考虑在产生初始种群的时候使每个染色体都含有相对属性核。
2.3 适应度函数的构造
适应度函数用来评价染色体的优劣,在对每一个染色体进行适应度评价前,先要对每个染色体进行一定的调整。调整是基于属性重要度相关的某种启发式信息,给出染色体的调整步骤:
(1)计算决策表S中条件属性集C关于决策属性集D的重要度γc(D);
(2)设C'为当前染色体采用的条件属性集,计算条件属性集C'关于决策属性集D的重要度γc'(D);
(3)比较γc(D)和γc'(D)的大小,若γc'(D)
(4)对任意属性ai(∈C-C')(1=1,2,…,|C-C'|),计算每一个μD(ai),令j={j|μD(aj)=max(μD (ai))},然后将染色体上第j位上的0置为1,并且C'=C'∪{aj},转到步骤②;
(5)调整过程结束。当染色体经过如上调整以后,就可以应用适应度函数对该染色体进行评价,适应度函数的计算公式为:
F=|C|-|C'| (5.16)
则染色体中采用的条件属性个数越少,该染色体的适应度函数值就越高,个体就越优良。
2.4 抗体产生的促进和抑制
要使适应度高的抗体进行促进,浓度高的抗体进行抑制。
抗体相似性通过抗体编码的Manhattan距离来度量。抗体X={a1,a2,…an}与抗体Y={b1,b2,…bn}之间的相似度为:
d值越大,表示两者的相似程度越低,如果d=0,则表示两个抗体完全相同。故抗体X的浓度定义为:
其中,函数D(X)表示抗体X相似度小于λ的抗体数目,λ为一给定的阈值
2.5 基于收缩精度的逐级进化策略
可以用收缩精度作为算法的停止准则,即当收缩精度小于某个比较小的正数K时算法停止进化。假设优化目标为求目标函数F的最大值,在不同的进化时期适应度函数J采用不同的形式如下:
式中α、β、k1 和k1为正数,根据优化目标的需要取不同的值。其中α 和β是为了在算法的中后期拉大群体内个体之间的差距,α
3 实例分析
在某次战斗任务中,我方使用各种常规武器对敌方6处战场目标实施打击。参与毁伤效果评估计算的我方武器“投入”和“产出”数据离散化得出一个毁伤评估决策信息表。应用改进的遗传算法进行属性约简。图1所示为免疫遗传算法求解最优约简属性向量的迭代过程。改进后的基于收缩精度的遗传算法在进化15代以后即停止搜索,得出了近似最优解。
由图1可以看出在算法的进化过程中,迭代曲线每隔几代都会变化一次。并且在算法的中后期,曲线依然出现明显变化。一方面说明算法自始自终都实现了对解空间的有效搜索,另一方面与传统算法相比,没有出现过早收敛的现象。说明改进后免疫遗传算法的科学性和有效性。
参考文献
[1]曾子林,张宏军,张睿,邢英.变精度粗糙集的逻辑解释及其约简[J].计算机应用研究,2013(05).
[2]肖大伟,王国胤,胡峰.一种基于粗糙集理论的快速并行属性约简算法[J].计算机科学,2009(03).
作者单位
关键词:静态调度;公共交通系统;免疫遗传算法
中图分类号:G650 文献标识码:A 文章编号:1003-2851(2012)-09-0180-01
遗传算法[(genetic algorithm,GA)是一种自适应大规模并行搜索优化算法,较以往传统的搜索算法具有使用方便、鲁棒性强、便于并行处理等特点,因而广泛应用于解决搜索和优化的问题。但由于遗传算法不能很好地维持解种群中个体的多样性,易趋于“早熟”收敛而陷入局部最优解。因此,遗传算法不能保证一定能找到问题的全局最优解,目前公交公司各车队的排班主要依靠工作人员的经验手工进行,虽然它具有一定的实用性,但它存在着明显的不足,很难保证排班的结果在运营效率等方面是最优或者接近最优的。为满足实际应用需求,采用智能化算法来求解车辆调度优化问题,在有限的算法步骤内,找出所有满足约束条件的排班方案中的最优方案或接近最优的方案。
一、遗传算法
1.遗传算法简介
遗传算法(Genetic Algorithms,GA)是一种基于自然选择和基因遗传学原理的自适应全局优化概率搜索方法。它的创立有两个研究目的:一是抽象和严谨地解释自然界的适应过程;二是为了将自然生物系统的重要机理运用到工程系统中。GA从许多点开始并行操作,在解空间进行高效启发式搜索,因而可以有效地防止搜索过程收敛于局部最优解;遗传算法在计算机上模拟生物的进化过程和基因的操作,通过目标函数来计算适配值,并不需要对象的特定知识,它具有全局寻优的能力,能解决高度复杂的问题,被广泛应用于自动控制、图形处理、电力调度等方面。
2.建立调度的数学模型
调度系统所采用的数学模型对运行环境做了简化:车的速度恒定,保持匀速行驶,无特殊事件发生;以分钟作为最小的时间单位,这对安排时刻表是合理的;假设客流模型能反映该段线路上的日常客流量(我们假设到站乘客服从均匀分布,在不同时段有不同的分布密度)。
首班车发车时刻为早上6点整,末班车发车时刻为22点整,所有运营车都在整分钟时刻发车,一天之内的总班次为m,总时间为16小时,即960分钟。用xm表示第m辆运营车发车时刻距首发时刻的时间,以分钟为单位。决策变量为X=[x1,x2,…xn];染色体X是一个完整的发车时刻表,其中的每个基因为一个车辆的发车时刻。
免疫算法效仿生物免疫系统,把外来侵犯的抗原和免疫产生的抗体分别与实际求解问题的目标函数以及问题的解相对应,生成的抗体能有效地排除抗原,也就相当于求得了问题的最优解;对与抗原亲和力高的抗体进行记忆能促进快速求解。
二、IGA应用于公交动态调度
现仍采用上面建立的数学模型,初始规模N仍为200且不随进化代数而发生变化,便于IGA和GA比较。现利用IGA来进行优化的步骤为:
1.在解空间内随机生成初始群体,并计算其适应度,确定最优个体x0best,并给出的取值?滓0,A取为1,?滓0i取为3,?滓?孜取为0。
2.根据式(4.7)进行进化操作,在解空间内生成子代群体,规模为N。
3.计算子代群体的适应度,确定最优个体xt+1best,若f(xt+1best)>f(xtbest),则选定最优个体为xt+1best,否则最优个体为xtbest。
4.重复执行步骤2和3,直至达到终止条件,这里T取为100,选择最后一代的最优个体作为寻优的结果。
本文在遗传算法的基础上采用了一种较新的混合遗传算法——免疫遗传算法对公交静态调度进行了研究,并对二者的应用结果进行了仿真和比较,结果表明IGA有效的克服了简单GA的不足之处,并提高了寻优过程当中目标函数的收敛速度,并得到了合理的发车时刻表,可以提高公交企业的服务水平,对改善城市交通问题和节约市民出行时间有相当的实际意义。
参考文献
[1]倪长健.免疫进化算法研究及其在水问题中的应用[D].四川大学博士论文,2003:50-51.
【关键词】DNA遗传算法;型遗传算子
DNA计算中的DNA是重要的遗传物质携带着生物体的所有遗传信息,而遗传算法也是采用生物的遗传信息进行操作的算法,其不同是DNA计算是实验室中进行的而遗传算法是在计算机上编程进行的,将二者混合使用可以使遗传算法在生物的遗传调控机理中更深层次的进行模拟,从而使遗传算法的计算性能得到进一步的提升。由于遗传算法的优越性和良好的性能,将其混合到DNA计算中可以突破其计算的局限性[1]【2】。因此学者开始对该混合的DNA遗传算法进行深入的研究,并取得了一定的成果。本文是在前人研究的基础之上,对遗传算法和DNA计算的混合使用中的算子进行了深入的研究。
1.算法中改进的新型算子的提出
1.1 改进算子中的采用技术
受到DNA分子结构的启发,本文将用DNA的四种碱基对问题的潜在解进行编码,由于DNA的编码方式不能直接被计算机处理,本文将使用二进制表示的数0123对碱基进行编码。在这种编码方式中,令0与鸟嘌呤相对应,1与腺嘌呤对应,2与胸腺嘧啶对应,3与胞嘧啶对应,并且0、1、2、3四个整数将采用二进制的形式进行表示。为了在在编码中实现简易的数学和逻辑操作,将二进制数中的第一位作为区分嘌呤和嘧啶的编码位即0代表嘌呤而1代表嘧啶。同时与互补碱基对对应的代码也呈现互补关系,如碱基对C和G互补组合由0(00)与3(11)构成,而1(01)与2(10)构成的A和T碱基对。这样的互补配对关系,有助于新操作算子的设计。
下面是以上面的编码方式为依据的一个n维的最小化问题:
示长度为的四进制数字串,单个个体的编码长度为,每个变量编码精度由求得。
DNA-GA与遗传算法用二进制进行计算编码时的解码方式相似。其均是以n维十进制向量的形式对个体进行解码,其中:
上公式中的为整数串中的第维第列的数字。因为变量取值范围的不同,所以按比例将变量进行转换,这样就可以得到对应问题的解。
按照这种模式进行编码,就可以引入更多的基因操作到遗传算法中,这样就可以设计算法效率更高更有效的算子。
本文所采用的适应度函数和选择算子是原遗传算法中所采用的,这里就不再赘述。
1.2 改进的新型算子
1.2.1 交叉算子
交叉操作是遗传操作中的重要的生物信息遗传操作,故本文对现有的交叉算子进行了改进,在其中加入了DNA计算中的生物操作技术,形成了新的算子。
(1)移位交叉算子
移位交叉的父体为一个,操作过程如图1所示。移位操作是移换个体中的碱基子序列。设父代的基因为ATCGGTACAT,在父代中随机选取一段子序列,这段子序列所包含的碱基数目和所选碱基的位置也是随机选定的。然后将该段子序列移动到一个新的位置,形成一个新的个体。移位交叉算子的执行概率为。如所选子序列是CGGT将其移动到C的后面形成新的个体。
(2)对换交叉算子
对换交叉操作在两个随机配对的个体之间进行,操作过程如图2所示。首先在优质的群体中随机挑选两个个体作为对换交叉操作的父体。然后在两个父体中分别随机选取一段碱基序列,且命名这个碱基序列为转座子。如图2,在两个父体中随机选择两段个数相同的碱基序列,交换这两个父体所选中的碱基序列,形成新的个体。对换交叉操作的执行概率为。
(3)抽换交叉算子
抽换交叉操作是需要从种群中选取两个个体作为父代。而抽换交叉的目的就是改变个体之间的相似性,因此该操作中所选的父代不是随机的,而是选择两个相似的个体。首先在适应度较好的优秀种群中随机选取一个个体作为父代之一,在随机选取两个个体作为候选父代。然后通过对比候选父体与已知父体的相似度,选择与已知父体更相似的个体作为抽换交叉操作的另一个父体。操作过程如图3所示。抽换交叉算子的执行概率为。
以上三种算子,都可以对单个的DNA序列进行操作,而且各有特点。但是同时执行三种算子将大大增加计算复杂度。本文将对换算子作为基本的交叉算子,移位算子和抽换算子则依据概率执行。
1.2.2 新型变异算子
与以往的同变异算子不同,本文所提出的变异算子是以生物体内的DNA转录成RNA并且通过其配对的反密码子决定蛋白质肽链的合成过程,并且计算在反密码子中各个碱基所出现的概率,然后用低概率替换高概率或者高概率替换低概率的最大最小变异算子,最后形成新的DNA分子。生成一个新的个体。其变异概率为。其过程如图4所示。
2.新提算子的运算步骤
步骤1:在运行算法之前,先对算法中所涉及到的参数进行设置,如种群大的大小、终止阙值、最大进化代数和所改进新型算子的运行概率,普通变异概率等。
步骤2:随机产生size个个体,组成初始种群,并将当前的进化代数设置为1.
步骤3:对个体进行编码串解码,求出各个个体的适应度值。
步骤4:按照适应度值的大小将种群中的个体分为高适应度个体和低适应度个体,令交叉后产生的新个体数为Ncnew,并且从第一代交叉算起,不交叉时Ncnew为0。
步骤5:对种群中进行交叉操作,选择个体为父代个体,按其随机产生的概率数与交叉。
概率、,进行比较,所产生的随机数小于哪个交叉算子的概率就执行哪个交叉算子,最后产生新的个体,并且此时产生的新个体数为+1。
步骤6:对经过交叉操作产生的个体以概率进行变异操作。产生新个体。
步骤7:对经过交叉和变异操作产生的个体用精英保留选择机制进行选择保留,选出适应度大的个体,此时进化代数加1.
步骤8:判断是否终止运行,其判断条件是最大进化代数或者是最大进化代数的阙值。满足就结束,输出结果;否则返回步骤3继续进行。
3.实验测试
为了测试出本文所提出的DNA遗传算法的有效性和搜索性能,从以往的文献中选取了两个具有代表性的无约束的函数作为测试函数。本文使用改进的DNA遗传算法求解从文献中选取的测试函数,它们的局部最优点较多,欺骗性很强,一般的算法不易求解到这两个函数的全局最优点。其中,的最优解为3600,在点(0,0)处取得,而的最优解在点(0,0)处取得。
将这两个函数分别用未经过改进的遗传算法、基于进化策略的遗传算法(EGA)[3]和本文所提出的新的混合DNA遗传算法(DNA-GA)进行求解,并将所得到的结果进行比较,三种算法的种群大小均为60,当最大的进化代数时终止运算。
为了对三种算法都进行比较,在三种不同的算法下每个函数都运行了50次,三种算法的对比结果如表1、表2所示。
综上所述,可以发现,本文所设计的遗传算子对提高DNA遗传算法的搜索性能有了很大的作用。对于和两个函数而言,新型的变异算子在算法求解问题的收敛速度等方面提高比新型的交叉算子作用更大,因此将两种新型的算子配合一起来使用,可以进一步提高DNA遗传算法性能。
4.结束语
本文在前人研究的基础前提之上,对已有的算法进行了改进与创新,通过实验函数的验证本文所设计的遗传算子对提高DNA遗传算法的搜索性能有了很大的作用。
但是本文所改进提出的新型算子还是只用于实验研究,需要进一步的使用实践来证明与改进。
参考文献
[1]余文,李人厚.一种有效地双向进化算法[J].小型微型计算机系统,2003,24(3):527-530.
[2]陈霄.DNA遗传算法及其应用研究[D].浙江科技大学博士论文,2010.
[3]王四春.GP算法中适应度函数的光滑拟合与调整参数方法研究[J].自动化学报,2006(3):23-30.
[4]陶吉利.基于DNA计算的遗传算法及应用研究[D].杭州:浙江大学博士论文,2007.
关键词 全局最优;混合算法;遗传算法;powell方法
1 引言
不可微非线性函数优化问题具有广泛的工程和应用背景,如结构设计中使得结构内最大应力最小而归结为极大极小优化(minmax)问题、数据鲁棒性拟合中采取最小绝对值准则建立失拟函数等。其求解方法的研究越来越受到人们的重视,常用的算法有模式搜索法、单纯形法、powell方法等,但是这些方法都是局部优化方法,优化结果与初值有关。
近年来,由holland研究自然现象与人工系统的自适应行为时,借鉴“优胜劣汰”的生物进化与遗传思想而首先提出的遗传算法,是一种较为有效的求不可微非线性函数全局最优解的方法。以遗传算法为代表的进化算法发展很快,在各种问题的求解与应用中展现了其特点和魅力,但是其理论基础还不完善,在理论和应用上暴露出诸多不足和缺陷,如存在收敛速度慢且存在早熟收敛问题[1,2]。为克服这一问题,早在1989年goldberg就提出混合方法的框架[2],把ga与传统的、基于知识的启发式搜索技术相结合,来改善基本遗传算法的局部搜索能力,使遗传算法离开早熟收敛状态而继续接近全局最优解。近来,文献[3]和[4]在总结分析已有发展成果的基础上,均指出充分利用遗传算法的大范围搜索性能,与快速收敛的局部优化方法结合构成新的全局优化方法,是目前有待集中研究的问题之一,这种混合策略可以从根本上提高遗传算法计算性能。文献[5]采用牛顿-莱佛森法和遗传算法进行杂交求解旅行商问题,文献[6]把最速下降法与遗传算法相结合来求解连续可微函数优化问题,均取得良好的计算效果,但是不适于不可微函数优化问题。
本文提出把powell方法融入浮点编码遗传算法,把powell方法作为与选择、交叉、变异平行的一个算子,构成适于求解不可微函数优化问题的混合遗传算法,该方法可以较好解决遗传算法的早熟收敛问题。数值算例对混合方法的有效性进行了验证。
2 混合遗传算法
编码是遗传算法应用中的首要问题,与二进制编码比较,由于浮点编码遗传算法有精度高,便于大空间搜索的优点,浮点编码越来越受到重视[7]。考虑非线性不可微函数优化问题(1),式中 为变量个数, 、 分别是第 个变量 的下界和上界。把powell方法嵌入到浮点编码遗传算法中,得到求解问题(1)如下混合遗传算法:
min (1)
step1 给遗传算法参数赋值。这些参数包括种群规模m,变量个数n,交叉概率pc、变异概率pm,进行powell搜索的概率ppowell和遗传计算所允许的最大代数t。
step2 随机产生初始群体,并计算其适应值。首先第i个个体适应值取为fi’=fmax - fi,fi是第i个个体对应的目标函数值,fmax为当前种群成员的最大目标函数值,i=1,2,…,m。然后按goldberg线性比例变换模型[2] 式(2)进行拉伸。
fi’= a×fi’+b ( fi ³ 0 ) (2)
step3 执行比例选择算子进行选择操作。
step4 按概率 执行算术交叉算子进行交叉操作。即对于选择的两个母体 和 ,算术交叉产生的两个子代为 和 , 是[0,1]上的随机数,1 , 。
step5 按照概率 执行非均匀变异算子[8]。若个体 的元素 被选择变异, ,则变异结果为 ,其中 ,
(3)
(4)
返回区间[ , ]里的一个值,使 靠近0的概率随代数 的增加而增加。这一性质使算子在初始阶段均匀地搜索空间,而在后面阶段非常局部化。 是[ , ]之间的随机数, 为最大代数, 为决定非均匀度的系统参数。
step6 对每个个体按照概率ppowell进行powell搜索。若个体 被选择进行powell搜索操作,则以 作为初始点执行powell方法得 ,若 则把所得计算结果 作为子代 ,否则,若 取 = ;若 取 = ,1 。
step7 计算个体适应值,并执行最优个体保存策略。
step8 判断是否终止计算条件,不满足则转向step3,满足则输出计算结果。
作为求解无约束最优化问题的一种直接方法,powell法的整个计算过程由若干轮迭代组成,在每一轮迭代中,先依次沿着已知的n个方向搜索,得一个最好点,然后沿本轮迭代的初始点与该最好点连线方向进行搜索,求得这一阶段的最好点。再用最后的搜索方向取代前n个方向之一,开始下一阶段的迭代。为了保持算法中n个搜索方向是线性无关的,保证算法的收敛性,对替换方向的规则进行改进,在混合法的计算步骤step6中采用文[9]中的改进powell方法,其求解过程如下:
(1) 变量赋初值 ,n个线性无关的n个方向 , ,…, ,和允许误差ε>0,令k=1。
(2) 令 ,从 出发,依次沿方向 , ,…, 作一维搜索,得到点 , ,…, 求指标m,使得 - =max { - },令 。若 ε,则powell方法计算结束,否则,执行(3)。
(3) 求 使得 =min ,令 = = ,若 ,则powell方法计算结束,得点 ;否则,执行(4)。
(4) 若 ,令 ,否则令 ( ),然后置 ,转(2)。
3 算例
t [-500,500]
图1 函数f(x)特性示意图
函数f(x)有相当多的极小点,全局极小点是 =-420.97, =1,2,…, ,最优值为-837.97;次最优点为 ={( , ,…, ): =-420.97, , =302.52}, =1,2,…, ,次优值-719.53。变量个数n=2时函数f(x) 特性如图1示。程序编制和运行环境采用fortran power station 4.0,随机数由内部随机函数产生,在奔腾133微机上运行。
采用改进的powell方法计算100次,初值在区间[-500,500]内随机产生,只有6次(即以概率0.06)搜索到全局最优,计算成功的概率极低。
holland建立的标准(或简单)遗传算法,其特点是二进制编码、赌轮选择方法、随机配对、一点交叉、群体内允许有相同的个体存在。取种群规模m=30,交叉概率pc=0.95、变异概率pm=0.05,最大进化代数t=1000,每个变量用串长为l=16的二进制子串表示。二进制编码比浮点编码遗传算法计算精度低,对于标准遗传算法以目标函数小于-800为搜索成功,标准遗传算法运行100次。当取最大进化代数为t=200时,40次(以概率0.40)搜索到全局最优,平均计算时间为0.51秒;当取t=500时,51次(以概率0.51)搜索到全局最优,平均计算时间为1.13秒。
采用本文混合法计算,取m=30, pc=0.85、pm=0.2,t=100,进行powell搜索的概率ppowell取不同值,混合法运行100次,计算结果见如表1。对于这个具有多极值的算例,多次计算表明ppowell=0.3时,混合法能以完全概率搜索到全局最优的准确值,但是此时混合法计算时间约为标准遗传算法取t=500时计算时间的4/5。对应的浮点编码遗传算法,取m=30,pc=0.85、pm=0.2,t=100,运行100次,82次(以概率0.82)搜索到全局最优(如表1中ppowell =0所示),计算时间约为标准遗传算法取t=500时计算时间的1/8,但是搜索到全局最优的概率却远远高于标准遗传算法。
表1 ppowell取不同值时混合法的计算结果
ppowell
0.0
0.02
0.05
0.1
0.2
0.3
求得最优解的次数
82
85
89
94
98
100
求得最优解的概率
0.82
0.85
0.89
0.94
0.98
1.00
平均计算时间/ 秒
0.14
0.20
0.31
0.47
0.68
0.87
4 结束语
针对不可微函数的全局优化问题,本文提出一种把powell方法与浮点编码遗传算法相结合的混合遗传算法,该算法兼顾了遗传算法全局优化方面的优势和powell方法局部搜索能力较强的特点,提高求得全局解的概率。计算结果表明混合法优于遗传算法和powell法,可以可靠地搜索到具有多个局部极值的函数优化问题的全局解。由于计算中只用到函数值信息,本文混合法不仅适用于不可微函数优化问题,也适合可微函数全局优化问题。
参考文献
[1] 周明,孙树林.遗传算法原理及应用[m].北京:国防工业出版社,1999.
[2] goldberg d e. genetic algorithms in search, optimization and machine learning[m]. reading, ma: addison wesley,1989.
[3] 孟庆春,贾培发.关于genetic算法的研究及应用现状[j].清华大学出版社,1995,35(5):44-48.
[4] 戴晓晖,李敏强,寇纪松.遗传算法理论研究综述[j].控制与决策,2000,15(3):263-268.
[5] lin w,delgado-frias j g.hybrid newton-raphson genetic algorithm for traveling salesman problem[j]. cybernetics and systems, 1995,26(5):387-412.
[6] 赵明旺.连续可微函数全局优化的混合遗传算法[j] .控制与决策,1997,12(5):589-592.
[7] goldberg d e.real-code genetic algorithm,virtual alphabets and blocking[j]. complex systems,1991,5:139-167.
[8] michalewicz z.a modified genetic algorithm for optimal control problems[j].computers math. application,1992,23(12):83-94.
[9] 陈宝林.最优化理论与算法[m].北京:清华大学出版社,1989.
[10] 俞红梅.全过程系统能量综合方法的研究[d].大连理工大学博士学位论文,1998.
hybrid approach for global optima of indifferentiable nonlinear function abstract a hybrid computational intellective algorithm for locating the global optima of indifferentiable nonlinear function was put forward by setting the powell algorithm in real-code genetic algorithm. the hybrid approach improved the local searching ability of the genetic algorithm and promoted the probability for the global optima greatly. because only the objective values are used, the hybrid approach is a generalized genetic algorithm for global optima of differentiable and indifferentiable nonlinear functions.
关键字:遗传算法;地理信息系统;公交线路网
中图分类号:TP183 文献标识码:A文章编号:1007-9599 (2010) 15-0000-02
GIS Bus Line Network Optimization Model Based on Genetic Algorithm
Yuan Hua1,Yu Xinshui2,Tang Weidong3
(1.Southwest Forestry University,Kunming650224,China;2.Forest Resources Management Station of Baoshan,Baoshan678000,China;
3.Forestry Administration Office of Nujiang,Nujiang673100,China)
Abstract: This paper studies the optimization strategy for the city bus lines.Traffic problems in urban public transport the city has been plagued,a difficult problem to solve the problem of urban public transport operation and improve the efficiency of urban transport,vehicle scheduling to improve the efficiency of public transport,this paper presents a genetic algorithm based optimization strategy for GIS bus lines. The strategy for geographic information system (GIS) as a platform,the genetic algorithm optimization model for the spatial layout of the bus transport network optimized layout algorithm.
Keywords:Genetic algorithms;Geographic information system;Bus lines network
随着社会的快速发展,公共交通工具已逐渐成为人们日常出行的主要交通工具,我国各城市的公交系统也迅速发展,公众出行较为通畅、便利。但与此同时,搭乘公交时,乘客也面临着多条线路的选择问题。在这种情况下,研制开发出一个解决公交线路选择问题的自主查询计算机系统,已成为一个非常值得研究与探讨的问题。公交线路选择问题的研究,涉及乘客心理、路段流量、公交容量、换乘耗时、及站点分配等诸多因素。这些因素彼此约束,内在联系较为细微,各种因素难以精确分析并予以量化,处理起来较为复杂。而由于大中型城市的公交线路数、站点数都已达到百、千数量级,数据处理的繁琐性进一步增大了问题本身的难度。
地理信息系统(GIS)是以计算机技术为基础的信息管理技术,它主要是完成空间数据的采集、维护、存储、分析、输出和等功能。GIS和空间分析一方面通过记录地物的坐标值定量化了空间位置,另一方面又通过存储这些地物的属性表格描述了地物特性。它能够全面的分析这些地物的空间关系和相互影响,并能够直观和灵活的显示空间数据和空间分析结果。因此,GIS已经成为解决涉及空间相关问题的唯一方案。目前GIS已经被广泛的应用到各个领域。本文针对城市公交交通问题一直困扰城市一大难题,是为了解决城市公共交通运行问题,改善城市交通运行效率,提高公共交通车辆调度效率,本文提出了基于遗传算法GIS公交线路网优化策略。该策略以地理信息系统(GIS)为平台,遗传算法为空间布局优化模型的公交车交通网优化布局算法。
一、遗传算法
遗传算法(GA)提供了一种受生物进化启发的学习方法。它不再是从一般到特殊或从简单到复杂地搜索假设,而是通过变异和重组当前已知的最好假设来生成后续的假设。在每一步,被称为当前群体(population)的一组假设被更新,方法是通过使用目前适应度最高的假设的后代替代群体的某个部分。这个过程形成了对假设的生成并测试(generate-and-test)柱状搜索(beam-search),其中若干个最佳当前假设的变体最有可能。采用遗传算法主要有以下几个优点:
(一)将搜索过程作用在编码后的字符串上,不直接作用在优化问题的具体变量上,在搜索中用到的是随机的变换规则,而不是确定的规则。它在搜索时采用启发式的搜索,而不是盲目的穷举,因而具有更高所搜索效率。
(二)现行的大多数优化算法都是基于线性、凸性、可微性等要求,而遗传算法只需要适合度信息,不需要导数等其他辅助信息,对问题的依赖性较小,因而具有高度的非线性,适用范围更广。此外还可以写出一个通用算法,以求解许多不同的优化问题。
(三)遗传算法从一组初始点开始搜索,而不是从某一个单一的初始点开始搜索。而且给出的是一组优化解 ,而不是一个优化解,这样可以给设计者更大的选择余地。它能在解空间内充分搜索,具有全局优化能力。
(四)遗传算法具有很强的易修改性。即使对原问题进行很小的改动 ( 比如目标函数的改进 ),现行的大多数算法就有可能完全不能使用 ,而遗传算法则只需作很小的修改就完全可以适应新的问题。
(五)遗传算法具有很强的可并行性,可通过并行计算来提高计算速度, 因而更适用于大规模复杂问题的优化。
二、遗传算法GIS公交线路网优化模型
(一)模型的建立
设城市公交系统共有 个站点,(本问题中 ), 条公交线路,设站点和线路通过一个3维的0-1矩阵来表达。设
这样该城市的公交网络通过该0-1矩阵能完全表达。
设决策变量为 ,意义为:
则当站点i和j之间无第k条线路时,i和j之间则不能通过第k条线路到达,因此有:
(1)
设起始点为a,目标点为b,我们目的是在在a和b之间插入r个站点 ,使得a, ,b构成一个可到达的线路。即:
(2)
目标函数我们考虑费用最小,时间最小和换乘次数最小三个目标。
设 ,表示线路 是否需要通过 换乘。当 则线路 不换乘;当 则线路 换乘。
则换乘次数最少的目标为
要求时间最小,则有:
其中 为经过站点数, 为坐车时间; 表示换乘时间.二者之和为总时间。设线路a, ,b计算得到费用为Cost,计算方法根据一元制和分段计价制度的规则进行计算总费用最小的目标函数为:
最后得到的总模型为:换乘次数最少
时间最少
费用最小
(3)
对该模型的求解,我们可以根据换乘次数最少得到最优结果,也可以根据时间最少得到最优结果,还也可以根据费用最少得到最优结果。把三种情况下的最好结果都可以提供给顾客考虑,由顾客根据自己的需要选择。当然有的结果会是两种或三种目标最小情况下的解,这样就更好。
(二)模型求解
基于本文前面所提到的遗传算法GIS公交线路网优化模型,设计出公交线路网的求解的流程图如图1所示,同时以地理信息系统(GIS)平台,选取了苏州市公交网络作为实验数据。
三、结束语
为了解决城市公共交通运行拥挤问题,改善城市交通运行效率,提高公共交通车辆调度效率,本文提出了基于遗传算法GIS公交线路网优化策略。构建了公交系统的数学模型,并提出了采用遗传算法求解该模型,该策略以地理信息系统(GIS)为平台,遗传算法为空间布局优化模型的公交车交通网优化布局算法。
参考文献:
[1]徐士伟.等.GIS技术在公共交通规划中的应用[D].同济大学道路与交通工程系硕士学位论文,2000
[2]刘光明,蔡先华.一种城市公交查询的算法及其应用[J].交通运输工程与信息学报,2005,3(2):87-91
[3]曹桂发,傅俏梅.城市交通信息系统的设计研制[J].系统工程理论与实践,1997,(1):105-109
[4]时敬梁,田世峰.遗传算法在公交车辆智能排班系统中的应用研究.人工智能与识别技术,2007(5):1679-1681
资助项目:西南林业大学森林经理学国家林业局重点学科资助(XKZ200901),云南省省级重点建设专业西南林业大学林学专业资助。
关键词:入侵检测器;量子遗传算法;协同进化
中图分类号:TP274文献标识码:A文章编号:1009-3044(2012)13-3199-03
Research on Generating Method of Detector in IDS
LI Lu-lu
(College of Computer Science and Engineering Institute, Yulin Normal College, Yulin 537000, China)
Abstract: The generation of intrusion detection device is the core o f the intrusion detection system, In place of com plex problem of optimizaion, quantum genetic algorithm has strong searching capabilities and the most optimal performance. In this paper a quantum genetic algorithm coevolution detector generation method is proposed. The population needing to evolve is divided to some child population by simulating nature cooperative coevolution mechanism, and each population using quantum genetic algorithm to optimize, making whole intrusion detection system has good adaptability and diversity.
Key words: intrusion detection device; quantum genetic algorithm; cooperative coevolution
1概述
随着网络和计算机技术的不断发展,网络安全性问题日益突出起来,入侵检测系统是一种重要的安全防范技术,已成为网络安全的重要保障之一[1-2]。目前各种不同的攻击方式不断出现,因此入侵检测中的有关智能性研究逐渐成为入侵检测系统研究领域中的一个重要方向。而入侵检测系统的主要部件是检测器,检测器生成算法是生成有效检测器的关键,是检测异常变化的核心所在[3-4]。检测器的设计对入侵检测系统的性能有着重要的影响,其从产生到成熟再到被丢弃,有自身固有的过程和生命周期,可以利用遗传算法来生成一个成熟检测器集,采用交叉、变异等遗传操作对其进行进化,使成熟检测器群体向“非我”进化。但随着问题规模的不断扩大和搜索空间的更加复杂,遗传算法在实际应用中有一定的局限性,不能表现出算法的优越性,出现迭代次数多、收敛速度慢、易陷入局部最优值和过早收敛等问题。
量子遗传算法结合了量子计算和遗传算法的优点,它将量子所具有的独特计算能力和遗传算法的全局寻优能力结合起来,提升了算法的优化性能,比传统遗传算法具有更高的搜索效率[5]。该文在现在有研究的基础上提出一种检测器生成方法,该算法通过对自然界中的协同进化机制进行模拟,首先将要进化的种群划分为多个子种群,然后各个种群再分别利用量子遗传算法进行优化,使整个入侵检测系统具有良好的自适应性和多样性。
2相关知识
量子遗传算法本质上是种概率优化方法,其基本思想是基于量子计算原理,用量子比特编码来表示染色体,充分利用量子态的叠加性和相干性,以当前最优个体的信息为指导,通过量子门来完成种群的更新操作,以此来促进算法的收敛,从而来实现目标的最后优化求解。
2.1量子比特
通常在计算机中用二进制0和1来表示信息单元,而在量子计算机中是用一个双态量子系统即量子比特来表示信息单元。量子比特作为信息单位,形式上表示为两种基态|0>和|1>,一般用|0>表示0,用|1>表示1。与经典比特不同,量子比特不仅可以处于两种基态|0>和|1>,而且还可以处在中间态,也就是|0>和|1>的不同叠加态。因此,量子比特的状态可用下式表示:
2.2量子染色体[6]
量子遗传算法是采用量子比特的编码方式,用一个复数对(α,β)表示一个量子比特。若一个量子染色体包含m个量子比特,则由m个复数对组成。这个染色体编码形式如下:
2.3量子旋转门
在量子遗传算法中量子染色体一般是纠缠或叠加的,所以可以用量子门来表示染色体的各个纠缠态或叠加态;父代群体不能决定子代个体的产生,个体的产生是通过父代的最优个体以及它们状态的概率幅决定的。用构造的量子门表示量子叠加态或纠缠态的基态,它们彼此干涉使相位发生改变,以此达到改变各个基态的概率幅的目的。因此,如何构造合适的量子门是量子遗传操作和量子遗传算法亟待解决的关键问题,量子门构造的是否合适会影响到遗传算法的性能。目前在量子遗传算法中通常采用量子旋转门U,U可表示为
,θ为旋转角。
2.4量子变异[7]
通常情况下在遗传算法中,算法的局部搜索能力以及阻止未成熟染色体收敛这些操作都是通过变异作用实现的,量子变异必须达到量子遗传算法对变异操作的要求,这里我们这样定义量子比特的变异操作:
(1)从种群中以给定的概率pi随机地选择若干个体;
(2)确定变异位,以确定的概率对从(1)中选择的个体随机地确定变异位;(3)对换操作,对换选中位量子比特的概率幅。
2.5协同进化算法[8]
进化算法的本质是优化,是为了使物种在激烈的竞争中能够具备生存的本领以致在竞争中能够生存下来。在一般的遗传算法中要么只涉及到个别群或个体的进化,要么只是涉及种群之间的竞争,几乎没有顾及到个体与个体,种群与种群之间互惠寄生的协同关系。基于以上原因,提出了协同进化算法。协同进化是生态系统中众多进化方式中的一种,进化中种群要生存下来不仅要受自身因素的影响,同时也受周围同类或异类的相互影响,在这些因素的影响下能够生存下来。在进化的过程中种群的个体之间及其与其它种群之间都要进行相互作用相互影响。
3基于量子遗传算法的协同进化检测器生成算法设计思路
算法的基本思想:首先对随机生成的种群进行种群分割,将种群分成若干个子种群。利用空间形态学的原理,根据种群中各个自体间的距离来判断它们是否属于一个分割,各个子群之间互相协作,以确保整个系统的适应度不断提高;用量子遗传算法对单个子群进行进化。量子遗传算法优化检测器的入侵检测模型如图1所示。图1量子遗传算法优化检测器的入侵检测模型
(1)种群的初始化策略
在量子遗传算法中种群初使化操作通常是这样进行的,各个体的量子位概率幅() 2,也就是说各个体的全部状态出现的概率相同。协同进化需要多个种群,因此必须增加种群的多样性,所以在初始化时我们将量子位概率空间平均分为N个,即体表N个子群,0、1极限概率为δ,用公式(1)来初始化第k个子种群,也就是将同子种群内的每个个体初始化为量子染色体,每个量子染色体的概率相同,不同子种群个体的状态以不同概率出现,以此来达到增加初始化个体多样性的目的。(2)量子门更新策略
采用进化方程的方式来调整量子门的旋转角大小和方向。这样做有两个好处:一是减少了参数的个数,同时算法的结构也得到了简化;另一个是利用进化方程的记忆的,可以利用个体自身的局部最优信息,邻域种群的最优信息,以及整个种群最优状态的信息,从而使旋转角θ能够得到更加合理的调整,还能够更好地跳出局部极值。进化方程可定义为:U=?
p -xi,其中k1,k2,k3,k4为影响因子,pi,pj是左右邻域种群极值,pm为个体所在种群极值,p为全局极值。
(3)具体实现步骤
Step1:将量子位概率空间平均分为N个,即体表N个子群,0、1极限概率为δ,用公式子种群,也就是将同子种群内的每个个体初始化为量子染色体,每个量子染色体的概率相同,不同子种群个体的状态以不同概率出现,以此增加初始化个体的多样性。
Step2:初始化步骤1中的每一个子群Qi( )
Step4:依次对Pi( ) t进行适应度评估;
Step6:保留步骤5中得到的N个最佳个体,如果此时得到了满意解,则算法终止,否则转入Step7;
Step7:采用(2)中定义的量子门U( )
Step8:以确定的概率进行量子变异;
Step9:对于每个新的子代Qi() t+1,算法转至Step4继续进行。
4结论
检测器集的好坏决定了入侵检测系统的性能,因而检测器集的生成算法是入侵检测系统开发中最核心的部分。该文引入量子遗传算法来实现检测器的优化过程,设计了基于遗传算法的检测器生成算法。该算法通过模拟自然界协同进化机制,把需要进化的种群划分为多个子种群,各个种群采用量子遗传算法进行优化,使整个入侵检测系统具有良好的自适应性和多样性。在接下来的研究中,将重点研究侵检测器中各参数的影响程度的问题,以提高入侵检测系统的自适应性和有效性,进一步提高入侵检测的准确率。
参考文献
[1]卿斯汉,蒋建春,马恒太,等.入侵检测技术研究综述[J].通信学报,2004(7):19-29.
[2]林果园,黄皓,张永平.入侵检测系统研究进展[J].计算机科学,2008,35(2):69-74.
[3]葛丽娜,钟诚.基于人工免疫入侵检测检测器生成算法[J].计算机工程与应用,2005(23):150-152.
[4]杨东勇,陈晋因.基于多种群遗传算法的检测器生成算法研究[J].自动化学报,2009,35(4):425-432.
[5]罗文坚,曹先彬,王煦法.检测器自适应生成算法研究[J].自动化学报,2005,35(6):907-916.
[6]赵丽,李智勇.求解入侵检测问题的量子免疫算法[J].计算机工程与应用,2011,47(11).
众所周知,配电网系统规模较大、信息聚集点众多、结构组成复杂,因此与其相配的继电保护装置也随之分布在配电网系统中不同的位置,其应用范围上至变电站下到变电站内部与配电系统直接相关联的设备,以及在电网中开闭所、中压配电馈线、低压配电网以及配变站等。继电保护装置长久以来就是配电网中的重要组成部分,其发展经历与电力系统中的继保装置是完全相同的,由最初的电磁型继电保护装置,发展至晶体管型继电保护装置,在电力电子器件广泛应用后又出现了集成电路型继电保护装置。时至今日,伴随计算机技术的日新月异,所使用的继电保护装置多数属于微机型继电保护装置,但仍有各种类型的继电保护装置应用于不同的配电网系统中以适用不同层次电网的要求。伴随着微机系统继电保护装置性能更加优良、操作更加方便、维护更加简单,其在高压特高压电网中的推广逐渐成功,其应用日益广泛,更加深得人心。越来越多地适用于中低压配电网的继电保护装置也被不断开发应用。
2配电网保护存在的问题
电力系统继电保护的主要工作任务是切除系统中的故障设备以保障系统的正常运行。由于技术等各方面的原因,由常规继电保护装置构成的继电保护系统是一种非自适应继电保护系统,其动作特性不能随着电力系统的运行方式的变化而自行改变。常规继电保护的整定值是按照离线最严重的情况进行的,而且在运行中基本保持不变。因此,在常规继电保护整定计算过程中不得不按照每套保护对应的电力系统最大运行方式来计算保护的动作值,按照每套保护对应的电力系统最小运行方式来校验保护的灵敏度。这种按最严重的运行条件确认保护整定值的方法,虽可保证在电力系统各种运行方式下发生故障时,继电保护能正确动作,但同时存在着两个缺点:一是按照该方法确定的继电保护整定值,对电力系统其它运行方式来讲不是最佳的整定值;二是在电力系统最小运行方式下最不利的故障时,继电保护系统的性能会严重变坏甚至导致拒动现象。这两个缺点不但限制了电网运行的灵活性,而且也降低了电网运行的稳定性。正是在这样的背景下提出了自适应保护的概念。自适应保护是指根据电力系统运行方式和故障状态的变化能实时改变保护性能、特性或定值的保护。随着具有高速运算和逻辑判断能力、强大的记忆能力以及其固有的可编程性的微机保护在电力系统中的广泛应用和通信手段与通信技术的不断发展与进步,实现自适应继电保护已成为可能。
3遗传算法的配电网自适应保护
自适应继电保护是在上世纪80年代提出的一个较新的研究课题。它的最主要任务就是解决目前继电保护装置中所无法解决的问题,使得继电保护装置更趋于完善,现在所研制的适用于输电线路和配电系统元件的各类型微机继电保护装置,已经具备完全取代传统装置的能力,能够迅速将电力系统中发生故障的电气元件进行切除,使其免于遭受损坏,并使得其它无故障线路迅速恢复正常运行。遗传算法,是建立于达尔文的生物论以及孟德尔遗传学说基础之上的一种借鉴生物界自然选择和自然遗传机制的高度并行、随机、自适应搜索算法,具有坚实的生物学基础。遗传算法强调从生物群体观点出发,看待种群优化问题。依据遗传算法的思想,我们把所求问题中的每一个点都看做是一个个体,这些个体组成了群体,正因为如此,种群中的每一个个体都可以代表一个优化问题的可行解。本论文提出的基于遗传算法的配电网自适应继电保护,该保护是利用电网全局信息、保护定值在线整定的新型保护。
4基于Matlab算法的仿真和分析
在实际应用过程中,第一阶段的预测模型在处理高维度、非线性数据时,无法获得优质结果;而神经网络模型在学习样本数量有限时,学习过程误差易收敛于局部极小点,预测精度难以保证;学习样本变量很多时,又容易陷入维数灾难。由于影响机制复杂,考虑到支持向量机是建立在结构化风险最小化原则之上,可以有效地减少经验风险带来的影响,不仅对小样本数据表现出良好的拟合精度,还对独立的测试集表现出较小的误差,在一定程度上对学习机的泛化能力有所提升,而且支持向量机算法是一个凸优化问题,在物流需求预测方面具有较明显的优势,本文采用基于支持向量机学习理论的物流园区需求预测方法对成都市货运量进行预测。
支持向量机参数的选取直接影响模型的预测精度,传统的网格搜索参数组合已经无法满足对区域物流需求预测的精度要求,本文采用遗传算法对支持向量机进行参数寻优,构建GA-SVM区域物流需求预测模型,并对成都市物流需求进行预测,结果证明GA-SVM预测模型的预测精度要优于传统的SVM预测模型。
2 GA-SVM预测模型的算法设计
2.1 支持向量机
支持向量机(Support Vector Machine,SVM),是Vapnik在20世纪90年代中期以统计学为基础提出的一种新型机器学习方法,作为统计学理论中比较年轻和实用的理论,已经在实际应用中得到很大的发展,尤其是在小样本、非线性及高维分类和回归问题中表现出了比较出色的效果。
相较于多项式核函数和Sigmoid核函数,径向基核函数在先验知识不足的情况下,拥有更好的预测精度。因此,本文GA-SVM预测模型采用径向基核函数作为预测模型的核函数。则SVM模型的待优化参数有:核函数参数、不敏感函数参数和惩罚参数C。核函数参数是映射函数的参数,通过改变函数关系来影响映射的特征空间,表示映射规律的复杂程度;不敏感函数参数表示所能容忍的最高误差,影响支持向量的个数;惩罚参数C是在确定的特征空间中调节学习机器的置信范围和经验风险的比例,对模型的泛化能力有很大影响。为了控制GA-SVM模型的误差容忍范围,在后续试验中,本文将不敏感函数参数确定为0.001。
2.2 遗传算法
遗传算法(Genetic Algorithm)是由Holland教授模拟达尔文生物进化理论的自然选择和遗传学机制的生物进化过程而创造出的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。遗传算法以它的实用、高效和鲁棒性强等特点深受国内外学者的青睐。
与其他传统方法不同的是,遗传算法并不依赖梯度信息和其他任何外部信息,而是通过模拟自然进化过程来搜索最优解,以适应度函数作为搜索方向的引导,用选择算子选择亲代和子代,用交叉和变异算子保证种群的多样性。遗传算法作为启发式算法的一种,具有对可行解表示的广泛性和不易陷入局部最优解的特点,同时采用自然进化的原理来表示复杂的现象,能够快速可靠地解决非常困难的问题。隐含的并行性也使算法在计算上的时间大大缩短。本文正是借助遗传算法的这些特点,通过全局优化能力来对支持向量机的参数进行优化。
2.3 GA-SVM预测模型算法实现
将遗传算法与支持向量机算法相结合,提出一种基于GA-SVM的预测模型。支持向量机算法的核函数采用径向基核函数(RBF),利用二进制编码对支持向量机模型的参数进行编码,通过遗传算法的迭代寻优得出最优解,从而确定最优的惩罚函数C、核函数参数,最后通过支持向量机模型得到最后的预测结果。
具体的模型实现步骤如下:
(1)确定支持向量机参数的取值范围。
(2)确定遗传算法运行参数的大小。
(3)以二进制编码方式建立NL矩阵作为种群,并随机生成初始种群。
(4)将初始种群中的每个个体,利用支持向量回归机程序进行计算,将输出结果与原数据进行对比,计算出训练样本的预测精度,从而得出每个个体的适应度大小。
(5)如此循环N次,直到每个个體都计算出相应的适应度。
(6)对整个种群进行遗传操作(选择、交叉、变异),获得新种群。
(7)当满足终止条件时(达到最大进化次数或适应度连续系带没有变化),停止计算;否则转到步骤(4),直到结果满足终止条件。
(8)满足终止条件获得的输出就是最优解的惩罚函数C、核函数参数。将最优参数输入支持向量回归机,对数据样本进行预测。
具体算法流程如图1所示。
3 实例分析
为了验证GA-SVM算法的预测精度,本文使用MatlabR2013a作为编程工具对GA-SVM算法进行了实现。同时选择台湾大学林智仁教授(Chih-Jen Lin)等开发的支持向量机软件Libsvm-2.88来做实验结果的比对。
本文采用成都市货运量作为被解释变量,根据主成分分析法,选择出相应的指标体系:第一产业产值、第二产业产值、第三产业产值、社会消费品零售总额、进出口贸易总额、城镇居民可支配收入、农村居民可支配收入、成都市货运量。以19962010年的数据样本作为训练数据,以20112014年的数据样本作为测试数据进行实验。为了提高测试结果的可信程度,本文分别用两种方法对数据样本进行多次实验和比对。
为了避免经验风险带来的预测误差,本文通过调节惩罚函数C、核函数参数两参数的范围多次测试获取预测精度较高的参数范围:CE[0.1,100],6E[0.01,1000]。最终预测结果如表2所示。
根据表2可知,GA-SVM模型在2013年货运量的预测中达到最低的相对误差-0.231%,在2012年、2013年、2014年的相对误差都在10%以内达到了较高的预测精度。反观SVM模型,除了2014年的相对误差在10%以内,其余各年份都超过了这个标准,在2011年的预测中达到了最高的-61.807%,很明显GA-SVM的预测精度要优于SVM的预测精度,如图2所示。