微进化算法

2024-09-27

微进化算法(精选8篇)

微进化算法 篇1

0 引言

自20世纪80年代以来, 国际市场上涌现出来一大批中小企业的跨国公司, 学者们对此种现象作出了大量探索, 例如技术地方化理论[1]、小规模技术理论[2]、动态比较优势理论[3]等。至2011年以后, 为促进经济协调发展, 伴随着各种小微企业的政策出台, 对小微企业的研究也逐渐成为热点, 但在小微企业成长路径中跨国经营研究极少, 缺乏针对小微企业在全球化浪潮中发展特点的研究。本文从进化论的视角, 评价小微企业在国际化的浪潮中的适应度, 探索适合小微企业的的跨国模式及其定量评价方法, 从而辅助小微企业在成长过程中做出决策, 拥有更大的市场与机会。

1 小微企业的内涵及其跨国经营的意义

对于小微企业的界定, 无论从规模、产业, 还是经营范围等各个方面而言, 均是一个较为复杂的课题。一般而言, 小微企业是一个较为宽泛的概念, 可以是小型企业、微型企业、家庭作坊式企业以及个体工商户等的统称, 而这四者的范畴又各有不同。通过现有情况分析, 可以总结现代小微企业的处境为四少[4]:少量人数、少量资金、少量销售、少量设备, 可能针对个别企业, 还存在更多的“少”。这些“少”共同构成了小微企业的“小”与“微”, 但在我国政策鼓励与改革的大环境下, 小微企业的集合又是一个非常庞大的集合。目前, 小微企业跨国经营没有规范、特定的模式, 当前还处于探索阶段。国务院发展研究中心企业研究所课题组总结了中国企业的国际化的24种国际化经营模式[5]。由于受不同的经济、社会和制度条件影响, 我国东部沿海地区率先涌现出“珠三角模式”、“苏南模式”、“温州模式”等多种类型的区域跨国发展模式, 但对这些模式的考量多为静态、定性的分析。也有不少学者结合小微企业的成长特性, 探讨了小微企业演化路径的指标体系和评价方法[6,7], 但缺乏动态评价方法, 使得小微企业的成长难以反映企业对环境适应性的评价, 本文提出的小微企业跨国经营小生境遗传算法是对小微企业跨国经营路径定量分析的一次新探索。

2 小微企业跨国经营小生境遗传算法

在实际应用中, 许多决策目标或战略目标并不能量化, 小微企业跨国经营的最终目的是增强企业综合竞争力, 综合竞争力的提升涉及到多个方面, 例如市场占有率、技术先进性、渠道控制程度、盈利率、员工福利、资本积累等, 这些因素复杂且多样, 难以准确判定, 并且难以得到综合竞争力的评价值, 且综合竞争力的考量必须对环境变化有所调整, 形成一个动态的调整过程, 也就是要求小微企业具有适应性。小生境算法是进化计算的一个分支, 进化计算是多学科融合与渗透的产物, 是一类模拟生物进化过程与机制来求解问题的自适应人工智能技术, 在计算机科学、工程项目、社会科学等领域已经得到广泛应用。

在小微企业发展中, 竞争力提升是隐性目标, 难以动态量化分析, 本文融合小生境技术和遗传算法, 提出小微企业跨国经营的适应度算法。个体的适应度值反应了个体各方面的信息和能力, 具有较好适应度的个体代表着该个体具有更强的生存能力, 而差的个体则会被淘汰, 从而使得适应度高的个体大量繁殖, 充满整个群体。考虑到小微企业跨国经营与小生境思想的共性, 微企业的跨国经营主要以集群与联盟的形式开展, 在组合形成的组织中共同分享、学习与竞争, 保留适应能力较优的企业, 排除适应能力较弱的企业, 如小生境内的个体在不断地适应环境并且谋求种群的壮大, 故可以采用小生境技术, 动态演化小微企业跨国经营路径。实践证明, 最有可能成长的企业是适应环境的企业。

将集群发展或者联盟团体作为一个种群, 小微企业便是这个种群的个体。小微企业跨国经营往往是以偶尔的产品、技术、服务的出口作为开始, 或者以某一具体的成功企业为目标谋划自身的跨国经营战略。小生境中有一个核心个体, 以该个体为中心, 如同跨国经营中的核心企业, 以σ为半径的小生境范围内, 该个体的适应度最大。关于小生境半径的设定没用通用的方法, 可以采用汉明距离[8], 如公式 (1) 所示。

Xi和Xj表示种群中的个体, dij表示两者之间的距离。M为考量个体的维数。小生境半径σ会影响算法的性能, 小生境半径较大, 有利于保持种群多样性, 但种群进化缓慢, 算法收敛速度慢。小生境半径较小, 有利于提高算法的收敛速度, 但种群多样性缺失较快, 算法容易早熟而陷入局部最优。本文设置具有适应性的小生境半径, 在种群遗传之前进行划分范围, 动态形成各自独立的搜索空间, 在收敛速度和全局最优值搜索上动态变化, 如公式 (2) 所示。

其中da为种群个体间的平均汉明距离, 如公式 (3) 所示, Dm为种群的最大汉明距离, σ0为初始半径设置值。

其中Xo为核心个体, N表示小生境中的所有个体数量。小微企业跨国经营的底线是保证企业的生存, 即该个体继续存在于种群中, 种群中的发展目标是成为核心个体, 具有更高的竞争力。适应度函数为如公式 (4) 所示。

其中fitness (Xi) 表示个体Xi的适应度。di为Xi与核心个体的汉明距离。Fit为迭代的上一轮中最优适应度。di/Dm表示该个体距种群内最优个体距离与种群内最大距离的比例。小生境技术中有排挤机制, 用以处罚或淘汰适应度较低的个体。本文将低适应度的个体保留, 通过交叉、变异对个体进行改进。企业的适应能力最主要的体现是学习交流, 包括物质和精神层面的交换, 学习交流是企业在市场中生存的必备技能, 在小生境技术中体现于种群的交叉和变异。而关于小微企业跨国经营的路径选择模式, 则反映与学习交流的策略中。交叉的意义在于小微企业将自身的资源与其他企业进行交换, 且交换存在一定概率, 交换对象的选择也与种群整体情况相关, 例如当某一资源分布较密集或集中时, 交换的对象则非常明确, 反之, 当某一资源分布零散, 则需要多次试探, 才能找到合适的交换的对象。变异的意义在于小微企业根据生存环境的变化, 对企业自身进行内部改革, 创新经营模式。种群信息熵如公式 (5) 所示。

其中num (xo, k) 为以xo, k为核心个体, 半径为σ中的个体数量, θ为核心个体数量。由熵理论可知, 当种群核心个体较多且种群个体均匀分布时, 种群多样性较好, 此时的小生境熵值较大。当种群核心个体较少且种群个体分布集中于少数核心个体范围时, 种群多样性较差, 此时的小生境熵值较小[9]。

3 小微企业小生境进化成本函数

小生境技术实际上是进化过程中一种搜索优值的算法, 为考虑进化或者搜索过程中的成本因素。在实际应用中, 由于政策变化以及市场环境的转变, 往往学习交流都需要付出代价或消耗成本。当小生境熵值较小时, 由于搜索方向更加明确, 学习交流的搜索成本较小, 当小生境熵值较大时, 搜索的方向模糊, 学习交流的搜索成本较大。小微企业发展受到资金限制较多, 资金融通的方式较少, 所以学习交流的成本是成长过程中重要的决策因素。个体学习交流的成本函数如公式 (6) 所示。

个体Xi学习交流的成本由种群内的分布和种群间的分布共同影响。当个体在种群内距离最优个体较远, 种群分布较为均匀时, 学习交流的成本较大, 整个种群中缺乏主导企业的引领作用。而当个体在种群中距离最优个体较近时, 甚至成为最优个体, 种群分布较为集中时, 学习交流成本较小, 整个种群中具有实力较强的核心企业, 发挥着领头作用。

学习交流成本与种群多样性之间存在博弈关系, 如果小生境熵较小时, 虽然种群中的个体学习交流的成本较低, 但资源过于集中于少部分企业, 容易导致种群多样性降低, 乃至于使得种群中的边缘企业难以生存。如果小生境熵较大时, 种群中的个体学习交流的成本较高, 种群中的小微企业需要发挥更多的主观能动性, 自主探索发展路径, 承担着较大的风险。本文以学习交流成本作为小微企业成长的主要决策元素, 当成本较大时, 小微企业的成长受到阻碍较大, 而成本较低时, 小微企业可以获得较好的学习交流效果。

图1展示了小微企业在跨国经营中的发展过程。小微企业跨国经营是为谋求快速发展的路径, 学习交流是成长的重要方式, 而小微企业对于成本又较为敏感, 当学习交流的成本超过企业所设定的预期水平时, 小微企业大多选择等待, 往往处于一种被动状态。当企业能支付学习交流成本时, 并且没有达到系统进化的次数时, 企业会产生新的适应度, 并且新适应度会比以往较好, 但也会存在小概率使得企业适应度降低。

4 结论

本文提出小微企业跨国经营的小生境进化算法, 将小生境的算法与小微企业跨国经营的影响机制关联, 并且从学习交流的成本角度衡量小微企业跨国经营的可行性, 从而改良企业竞争力的静态评价方法, 形成基于全局的动态评价方法, 辅助政府和行业在企业成长路径中改良政策和策略。

摘要:在分析小微企业内涵及其跨国经营意义的基础上, 运用小生境遗传算法探索小微企业跨国经营成长路径, 并建立自适应性进化过程中的学习交流成本函数, 作为小微企业跨国经营可行性的重要指标, 辅助决策者根据总体环境作出更为科学的判断。

关键词:小微企业,跨国经营,小生境,成本

参考文献

[1]Lall S, Chen E.The new multinationals:The spread of third world enterprises[M].Chichester:Wiley, 1983.

[2]Wells L T.The internationalization of firms from the developing countries[M].Division of Research, Graduate School of Business Administration, Harvard University, 1976.

[3]Ozawa T.International investment and industrial structure:New theoretical implications from the Japanese experience[J].Oxford Economic Papers, 1979, 31 (1) :72-92.

[4]林洲钰, 林汉川, 陈衍泰.我国小微企业解困的机制创新与实现路径[J].管理现代化, 2013 (2) :65-67.

[5]国务院发展研究中心企业研究所课题组.中国企业国际化战略[M].北京:人民出版社, 2006.

[6]宋砚清, 孙卫东.中小企业国际市场进入模式选择分析[J].科技管理研究, 2013, 33 (6) :105-110.

[7]赵驰, 周勤.基于自组织视角的科技型中小企业成长研究[J].软科学, 2011, 25 (10) :94-100.

[8]华洁, 崔杜武.基于个体优化的自适应小生境遗传算法[J].计算机工程, 2010, 36 (1) :194-196.

[9]梁昌勇, 蔡美菊, 陆青.面向隐性目标优化的改进小生境遗传算法及其在汽车造型设计中的应用[J].中国管理科学, 2011, 19 (1) :126-134.

微进化算法 篇2

关键词:约束多目标进化算法;种群聚类;聚集密度;分布性

中图分类号:TP3016文献标志码:A文章编号:1672-1098(2016)01-0050-06

Abstract:The constrained multi-objective evolutionary algorithm based on group clustering was improved, and crowding-density was introduced to measure the relationship among individuals and maintain the diversity of population. The basic idea is that the initial population is divided into four groups with different fitness by multi-criterion clustering method, and the crowding-density of each group is calculated. A poset is defined according to the objective function value and crowding-density, and the individuals are selected from poset by the principle of proportion selection, then the elite set is updated. The convergence and distribution of improved algorithm were studied by means of numerical experiments, and the results showed that the convergence of improved algorithm is roughly equal to the conventional multi-objective evolutionary algorithm, but the distribution of improved algorithm is significantly improved.

Key words:constrained multi-objective evolutionary algorithm; group clustering; crowding density; distribution

约束多目标优化问题的关键是对约束条件的处理,目前已有一些典型的带约束多目标进化算法和约束处理机制:文献[1]提出的COMOGA算法,将向量评估遗传算法和Pareto排序分级的方法结合起来处理约束问题。文献[2]提出的约束VEGA,将群体划分成几个子群体来处理。文献[3]提出的约束MOGA,将基于Pareto优胜的选择方案用来处理遗传算法中的约束方程。文献[4]提出了一种基于群体分类的复杂约束多目标进化算法,根据聚类方法来处理复杂约束,算法的基本思想是:按照类内距离平方和最小,类间距离平方和最大等多种判据将种群聚类处理,再按类赋以适当的适应度值。这种算法对于处理Pareto边界比较光滑的三目标的优化问题效果较好,收敛速度较快,基本上二百代即已达到较好的优化效果,但在维持种群的多样性和分布性方面欠佳,现将此算法做了改进,在进化过程中引入聚集密度以调控种群,可以达到维持种群多样性的目的,并根据量化评价指标和数值实验结果对改进算法的性能特别是分布性进行了评测。

1多目标优化问题的相关概念

11多目标优化问题及其最优解

多目标优化问题可表述为[5]

min y=f(x)=(f1(x),f2(x),…,fk(x))

s.t e(x)=(e1(x),e2(x),…,em(x))≤0

x=(x1,x2,…,xn)T∈X

y=(y1,y2,…,yn)∈Y

(1)

式中:x为决策向量,f(x)为目标向量,X表示决策向量x形成的决策空间,Y表示目标向量y形成的目标空间,约束条件e(x)≤0确定决策向量的可行取值范围。

定义1[6]满足式(1)中的约束条件e(x)的决策向量x的集合,即

Xf={x∈X|e(x)≤0} (2)

称为可行解集。

定义2[7]设xA,xB是两个可行解,若f(xA)≤f(xB), 则称xA比xB优越; 若f(xA)

定义3若可行解x*满足:比x*更优越的可行解不存在,则称x*为弱Pareto最优解;

比x*优越的可行解不存在,则称x*为强Pareto最优解。

定义4Pareto最优解的集合称为Pareto最优解集或非支配解集,记为P*。

定义5Pareto最优解集P*中的所有Pareto最优解集对应的目标向量组成的曲面称为Pareto最优前沿或Pareto最优前端,记为

两目标优化问题的Pareto最优前沿是一条平面曲线,三目标优化问题的Pareto最优前沿则为一张空间曲面。多目标优化问题的结果习惯上多采用Pareto最优前沿表示。

12最优解集的评价标准

多目标优化算法性能的评价包括算法的效率和最优解集的质量。算法的效率主要指算法的复杂性即算法占用的CPU时间,而最优解集的质量包括算法的收敛性和最优解集的分布性。

评价多目标优化算法性能主要依靠量化评价标准和有代表性的测试问题。

常用的量化评价指标有:

1) 世代距离[8](GD)

GD=∑ni=1d2i n (4)

式中:n为算法所得最优前端PFknown中向量个数,di为PFknown中每一维向量到最优前端PFtrue中最近向量的距离。

GD主要反映了PFknown对PFtrue的逼近程度。

2) 错误率[9](ER)

ER=∑ni=1ein (5)

式中:n为PFknown中的向量个数,且PFknown={X1,X2,…,Xn,ei定义如下

ei=0, Xi∈PFtrue

1, 其它(6)

ER描述了PFknown对PFtrue的覆盖程度,即最优解集的分布性。

3) 分散性(SP) [10]

SP=1n-1∑ni=1(di-)2 (7)

式中:n和di同GD。

显然,SP即为di的均方差。根据方差的含义,SP反映的是最优解集的均匀性。

2基于聚集密度的约束多目标算法

上述群体分类的复杂约束多目标进化算法具有较好的收敛性,但在分布性方面存在着的一定的缺陷,原因是算法仅考虑了群体中个体的R适应度,并没有考虑群体中个体间的距离,即群体的拥挤程度,这极有可能降低种群的多样性,影响解的分布性。

在进化算法中,保持解的分布性的常用方法有:小生境技术,信息熵,聚集密度,聚类分析等[11]。

本文将聚集密度引入选择过程,改善解的多样性和分布性。

21聚集密度

聚集密度的概念是Deb在[12]中提出来的。聚集密度可以从个体的相似度,影响因子或者聚集距离几个方面来度量,本文选择从聚集距离角度度量。聚集密度与聚集距离成反比关系,聚集距离大的聚集密度小。一个个体的聚集距离可以通过计算其与相邻的两个个体在每个子目标上的距离差之和来求取。

如图1所示,设有两个子目标f1(x)和f2(x),Pm[i]为个体i在子目标m上的函数值,则个体i的聚集距离P[i]d是图中四边形的长与宽之和,即

计算出聚集距离后,再按照个体间的聚集距离越大,则个体的聚集密度就越小的原则,即可定义个体的聚集密度。这里,为了简单起见,定义聚集密度为聚集距离的倒数。

22基于聚集密度的约束多目标进化算法

基于聚集密度的约束多目标进化算法的步骤如下

1) 用多判据聚类方法将整个群体分成四类,不可行群体、可行非Pareto群体、聚类Pareto群体以及聚类Pareto最优群体。分别赋以适应度:R(不可行群体)≤R(可行非Pareto群体) ≤R(聚类Pareto群体)≤R(聚类Pareto最优群体)。

2) 当迭代次数小于最大迭代次数时,构造如下偏序集:① 计算种群中个体的目标函数值;② 计算每个个体的聚集密度;③ 根据目标函数值和聚集密度定义一个偏序集,该偏序集中的元素有两个属性:个体的目标函数值和聚集距离。

3) 根据比例选择原则,依次从偏序集中选择个体。

4) 对群体进行交叉运算。

5) 对群体进行均匀变异运算。

6) 条件终止判断。不满足终止条件,则进行新一轮运算,若满足终止条件,则输出计算结果,算法结束。

算法流程图如下

下面用基于聚集密度的约束多目标进化算法对两个标准约束多目标测试函数Binh4和Viennet 4进行了优化,并将计算结果与文献[12]中的原算法的计算结果进行了比较,从而检验改进算法的性能。

1) Binh4测试函数

F=(f1(x,y),f2(x,y),f3(x,y))

f1(x,y)=15-x(1-y)

f2(x,y)=225-x(1-y2)

f3(x,y)=2625-x(1-y2) (10)

约束条件为

-10≤x,y≤10

x2+(y-05)2≥9

(x-1)2+(y-05)2≤625 (11)

Binh4测试函数的PFlocal如图3所示。

2) Viennet4测试函数

Viennet4测试函数的PFlocal如图4所示。图4Viennet4 PFtrue 图图5Binh4 PFknown 图(改进算法)图6Binh4 PFknown 图(原算法)图7Viennet4 PFknown 图(改进算法)图8Viennet4 PFknown 图(原算法)

图5~图8分别是用改进算法和原算法求出的Binh4和Viennet4的Pareto最优边界。可以很直观地看出,改进算法在解的分布性和均匀性方面均明显优于原算法。

为了更进一步定量地评价改进算法的性能,下面给出改进算法和原算法的世代距离、错误率和分散性指标的对比数据。

考虑到计算结果的随机性,表中给出的是20次实验结果的平均值。

从表1和表2中可以很清楚地看出,原算法和改进算法的GD指标相差不大,但改进算法的ER和SP指标与原算法相比明显占优。

综合图5~图8和表1~表2,可以得出明确的结论:基于聚集密度的改进约束多目标进化算法的收敛性与原算法相当,但分布性和均匀性有了明显的提高。

4结束语

本文根据聚集密度的特点,将聚集密度引入群体聚类约束多目标进化算法,数值实验结果和量化指标表明:与原算法相比,改进算法解的分布性有了明显的提高。

由于多目标进化算法的理论基础目前还很薄弱,收敛性和分布性等关键理论问题无法从理论层次进行证明,所以算法的改进验证只能基于对比实验。

提高多目标优化算法解的分布性和均匀性的方法有多种,如小生境技术,信息熵,聚集密度,聚类分析等。本文采用的聚集密度方法与其它方法相比,优点是既能从宏观上刻画群体的多样性与分布性,也能从微观上描述个体间的内在关系,缺点是计算复杂度偏高。这完全符合优化中的“没有免费的午餐定理(No Free Lunch, NFL)”。

参考文献:

[1]SURRY P D, RADCLIFFE N J. The COMOGA Method: Constrained Optimisation by Multi-objective Genetic Algorithms[J].Control and Cybernetics,1997,26:391-412.

[2]COELLO CAC. Treating Constraints as Objectives for Single-Objective Evolutionary Optimization[J].Engineering Optimization,2000,32:275-308.

[3]COELLO C A C.Constraint-handling using an evolutionary multi-objective optimization technique[J].Civil Engineering and Environmental System,2000,17:319-346.

[4]张丽丽, 许峰. 基于群体分类的复杂约束多目标优化遗传算法[J]. 教育技术导刊, 2009(12):38-41.

[5]催逊学. 多目标进化算法及其应用[M].北京:国防工业出版社,2008:6.

[6]催逊学. 多目标进化算法及其应用[M].北京:国防工业出版社,2008:7.

[7]郑金华. 多目标进化算法及其应用[M].北京:科学出版社,2010:3-4.

[8]VELDHUIZEN D A, LAMONT G B. Evolutionary computation and convergence to a Pareto front[C]// In John R Koza. Late breaking papers at the genetic programming 1998 conference, Stanford University, California. Stanford Bookstore:221-228.

[9]COELLO COELLO C A. Evolutionary algorithms for solving muli-objective problems [M]. Kluwer Acedemic, 2002:14-18.

[10]E ZITZLER,K DEB,L THIELE.Comparison of multiobective eveolutionary algorithms:Empirical results[J]. Evolutionary Computation,2002,8(2):173-195.

[11]郑金华. 多目标进化算法及其应用[M]. 北京: 科学出版社, 2007:118-124.

微进化算法 篇3

关键词:微电网,优化,α约束支配,进化算法,多属性决策,模型

0引言

随着节能减排的需求逐渐增强,分布式发电DG (Distributed Generation)的利用率也逐渐增加 ,由小容量分布式电源形成的微电网研究也逐渐深入[1,2]微电网将微型燃气轮机、燃料电池、光伏电源和风力发电机等分布式电源通过电力电子接口等方式联合在一起,为负荷端提供电能和热能。 根据微电网与常规配电网的连接与否,将其划分为并网、孤岛2种运行模式[3,4]。

微电网的经济运行与优化调度一直是国内外研究的热点,微电网运行优化问题的研究中,优化目标多种多样,如电能质量等技术目标、运行成本等经济目标、排污成本等环境目标,其中经济目标和环境目标是目前微电网运行所考虑的主要优化指标[5,6,7],鉴于微电网内基于化石燃料的分布式电源运行时会产生一定的碳排放,且排放量与其出力密切相关,同时基于国家“十二五”规划对低碳经济更为重视,本文将以运行成本和CO2排放量最小化为目标构建微电网多目标优化运行模型。

微电网的多目标优化运行是一个复杂的带多种等式约束和不等式约束条件的多目标优化问题,采用多目标优化算法求解其帕累托(Pareto)最优解集是一种常用手段[8]。 然而如何在优化算法中方便快捷地处理这些约束条件一直是各学者所致力研究的难题,常用的约束处理方法有罚函数法及多目标法等[9,10],这些方法都存在不足之处。 罚函数法为个体加入惩罚项,将约束问题简化成无约束问题,但惩罚项的设计多种多样,很难找到一个确切方案;多目标法将个体违反约束条件的程度作为优化指标,增加了优化问题目标函数的个数,计算更加复杂。 随着约束条件数量的增加,传统的约束处理方法复杂度也大幅增加。 因此,本文提出一种新型的 α 约束支配排 序混合进 化算法 α-CDSHEA (α-Constrain Dominant Sorting Hybrid Evolution Algorithm),可显著提高约束处理效率,降低算法的复杂度。 同时,为有效利用种群的宏观分布信息和个体信息,保持种群多样性,提高算法的收敛性和寻优速度,提出一种微分进化算法DEA(Differential Evolution Algorithm以及分布估计算法EDA(Estimation of Distribution Algorithm)相融合的混合进化算法 。 最后,通过分类逼近理 想解的排 序TOPSIS (Technique for Orde Preference by Similarity to an Ideal Solution)方法对算法得到的Pareto最优解集进行多目标决策,以获得最优折中解。

本文将以一个含光伏PV(Photo Voltaic)、风机WT (Wind Turbine)、微型燃气轮机MT(Micro Turbine) 燃料电池FC(Fuel Cell)以及负荷的微电网为算例分别用 α-CDSHEA、采用常规罚函数约束处理方法的非劣 排序微分 进化算法NSDEA (Non-dominate Sorting Differential Evolution Algorithm)和动态加权遗传算法(GA)进行求解,对比各自得到的Pareto最优前沿和运行时间,测试本文提出算法的有效性。

1微电网运行数学模型

1.1分布式电源模型

1.1.1微型燃气轮机模型

微型燃气轮机运行时的耗量特性[11]可描述为:

其中,PMT(t)为微型燃气轮机t时刻的功率 (k W);Δt为微型燃气轮机运行时间(h);ηMT(t)为微型燃气轮机t时刻发电效率;RLHVf为天然气低位热值(k W·h/m3); VMT(t)为 Δt运行时间内微型燃气轮机消耗的天然气量(m3)。

1.1.2燃料电池模型

燃料电池的耗能特性与微型燃气轮机类似[11], 可描述为:

式中各参数的意义参照式(1)。

光伏和风机的功率外特性模型分别参照文献 [12]和文献[13]。

1.2优化运行目标函数

1.2.1运行成本目标函数

运行成本目标函数F1包括投资折旧成本、运行维护成本、燃料成本以及微电网与外网的交互成本[14,15]:

其中,CDP(t)、COM(t)、Cfuel(t)、Cgrid(t) 分别为t时刻各DG的投资折旧成本 、运行维护成本 、燃料成本以及微电网向外网的购电成本;NG为系统DG总数;Caz,i为第i个DG的单位容量安装成本;Pi N为第i个DG的装机容量;r为年利率;ni为第i个DG的使用寿命;KOM,i为第i个DG的单位电量运行维护成本系数;Pi(t)为第i个DG在t时刻的有功输出 ;fi为第i个DG的燃料成本函数;CF为天然气的价格;CE(t)为t时刻微电网向外网购电的实时电价 ;Pgrid(t)为t时刻微电网向外网的购电量。

1.2.2CO2排放量目标函数

CO2排放量目标函数F2为[16]:

其中,ki为第i个DG的CO2排放系数;kgrid为配电网的CO2排放系数。

1.3约束条件

a. 潮流方程约束:

其中,Pfs、Qfs分别为节点f的有功和无功注入量;UfUg分别为节点f和g的电压;Gfg、Bfg、θfg分别为节点f和g之间的电导、电纳和相角差;g  f为与节点f相连的节点。

b. 功率平衡约束:

其中,Pd(t)为实时有功负荷;Ploss(t)为实时有功损耗。

c. 节点电压约束:

其中,Ui,min、Ui,max分别为节点i的最小、最大电压允许值;N为系统节点数。

d. 微电源的有功出力约束:

其中,Pi,min、Pi,max分别为第i个DG有功功率的最小、最大值。

e. 微电网与外网允许交互的传输功率约束 :

其中,Pgrid,max、Qgrid,max分别为微电网与外网允许交互的最大有功和无功功率。

f. CO2排放约束:

其中,Lmax为该地区CO2允许排放的最大限值。

2α-CDSHEA

2.1α约束支配排序

Takahama提出了 α 约束处理方法[17],α 约束方法将种群个体符合约束条件的程度数值化,提出了约束水平度的概念。 用 μ(x)表示个体x的约束水平度,且 μ(x) [0,1]。 μ(x)越大表示个体x属于可行解的概率越大,若 μ(x)=1,则表示个体x属于可行解。 约束水平度 μ(x)的值可由下式计算得出:

其中,hi(x)、gj(x) 分别表示个体的等式约束和不等式约束值;bi、bj分别为种群中不可行解对应的等式约束和不等式约束的平均值。

在得到个体x对应各约束条件的约束水平度之后,定义个体x的总约束水平度为:

从而定义 α 约束水平截集为:

对于个体x,如果xAα,则称之为满足 α 约束的个体。

由此可定义如下的 α 约束支配关系(用fα表示):

式(17)中,若个体x、y均满足 α 约束,即x,y∈Aα, 或者个体x、y的 α 约束水平度相等,即 μ(x)=μ(y),那么目标函数值f(x)、f(y)决定它们之间的支配关系; 否则,α 约束水平度 μ(x)、μ(y)决定它们之间的支配关系。

式(16)中的约束判定量 α 是一个时变量,可表示为 α(T),它随着进化代数T在0~1之间逐渐增加。 其初值 α(0)的大小由优化问题的可行域占全部搜索空间的比例决定,比例越大,α(0)可取的值越大。 α(T)可由下式计算得出:

其中,β 为 α 的控制参数,β [0,1],根据文献[17], 本文取 β=0.03。 由式(18)可以看出,在 β 的控制下, α 的值随着进化代数T增大逐渐增大到1,即 α 约束条件越来越严格,代表解集逐渐向可行域收敛。

将 α 约束支配关系作为主选择排序机制并以传统的非劣排序方法[18]为辅助排序机制引入多目标优化算法。 在算法种群进化过程中,父代和子代种群按以下原则进行选择和种群更新操作。

a. 父代群体P (T) 和子代种群P (T +1) 构成集合Q(T),将Q(T)分成满足 α 约束的子集Qf和不满足 α 约束的子集Qinf。

b. 将Qf中的个体进行 α 约束支配排序分级,同一级别的个体按非劣排序方法进行排序;将Qinf中的个体按 α 约束水平度大小进行排序。

c. 将Qinf中的个体按顺序排在Qf中的个体之后更新集合Q(T),按照种群规模M在Q(T)中选择前M位的个体更新子代种群P(T+1)。

设最优前沿的个体集合为Bbest(Bbest最终输出即为Pareto最优解集),初始Bbest为空集,在产生初始种群并进行种群排序后,将满足 α 约束的个体储存其中。 种群进化过程中,考察Qf中满足 α 约束的全部个体xi与Bbest中的全部个体yj之间的 α 约束支配关系,Bbest的更新操作按以下原则进行:如果xi被yj支配,Bbest集合不变;如果xi支配yj,则从Bbest中删去yj并加入xi,即Bbest= (Bbest- yj)∪xi。

Bbest的规模如果超过预定值,则按非劣排序方法对其中个体进行排序,删去排序靠后的个体以保持其规模恒定。

2.2混合进化算法

文献[18]提出NSDEA,它是一种基于DEA的多目标优化算法。 DEA是一种非常优秀的进化优化算法,具有结构简单、鲁棒性强、收敛性好、易于与其他进化算法混合等特点[19]。 至今为止,DEA已发展出多种进化策略[20]。 本文采用的DE / best / 2 / bi策略简述如下。

a. 变异。

在种群进化到第T代时,通过下式变异产生新个体:

其中,vi,T为变异得到的新个体;xbest,T为全局最优个体;F为缩放因子,F  (0,1);xr1,T、xr2,T、xr3,T、xr4,T为随机抽取的4个个体。

b. 交叉。

进化群体Xi,T+1和变异之后的群体Vi,T+1通过下式进行交叉产生新个体:

其中,uj,i,T+1为交叉位;k为随机整数;rand(0,1)为随机产生的0~1之间的数;δCR为交叉概率。

然而,上述DEA在进化过程中,种群会较快失去个体多样性而导致变异差分项趋于0,使得寻优停滞或陷入局部搜索。 EDA是一种基于统计学原理的新型进化算法[21],不同于传统进化算法采用交叉、变异等进化手段,EDA通过建立概率模型描述解集在搜索空间的分布信息,然后采用随机采样从群体宏观角度进化产生子代,能充分利用群体的智能信 息,具有较强的全局搜索能力。 为此本文拟将EDA基于整个种群统计信息的宏观层面控制种群进化的模式与DEA基于个体变异、交叉的传统进化模式相融合,提出一种混合进化算法,可有效加强算法的种群多样性,提高其收敛速度并防止早熟收敛。 本文采用基于高斯分布建模的连续域EDA,其建模原理简述如下。

用一个概率向量pT(x)来表示第T代种群的概率分布,pT(x)=(pT(x1),pT(x2),…,pT(xM))。 从其中选择m个优势个体,本文取m = M / 2,假设其满足以下高斯分布:

其中,N(xi; μiT; σiT)为关于xi、 μiT、σiT的高斯分布。 各代的均值 μi和方差 σi2估计如下:

其中,xiT,1、xiT,2、…、xiT,m为第T代种群的m个优势个体。

3算法求解步骤

3.1Pareto最优解集

本文提出的 α-CDSHEA流程如图1所示。

综上所述,α-CDSHEA的Pareto最优解求解步骤如下。

a. 种群初始化 。 进化代数T = 0, 最优前沿以一天24 h各时段的微型燃气轮机 、 燃料电池有功出力和微电网向电网的实时购电量为个体变量,随机产生初始种群P(T),计算种群的适应度f和针对各约束条件的约束值[gj(x) hi(x)],然后计算个体的 α 约束水平度进而得到个体的总 α 约束水平度。

b. 排序并选择优势个体。 对种群进行 α 约束支配排序和非劣支配排序,选择前一半个体形成优势种群,并更新最优前沿集合Bbest。

c. 种群进化产生子代 。 根据优势种群建立概率分布模型,分别用DEA和EDA进化产生子代种群P1(T + 1)和P2(T + 1),计算子代种群的适应度f和约束值[gj(x) hi(x)],并计算个体的 α 约束水平度和总 α 约束水平度。

d. 选择和种群更新 。 依据2.1节中的操作原则更新种群P(T+1)和最优前沿集合Bbest。

e. 判断 。 若达到进化代数要求且最优前沿集合Bbest达到预定规模,进入下一步;否则T =T +1,转步骤b。

f. 输出最优前沿集合Bbest中的个体为最终的Pareto最优解。

3.2最优折中解

为挑选最优折中解,决策者需根据偏好对Paret最优解集 进行筛选 排序 。 Hwang和Yoon提出的TOPSIS方法[22]通过计算Pareto最优解集和理想解的距离,使其与理想解距离最近,并且与负理想解距离最远,判断解集的优劣并排序。 以r个目标、l个解为例,其排序流程如下:

a. 对原始决策矩阵X =[xij]l ×r进行向量规范化, 得到规范化决策矩阵Y=[yij]l×r;

b. 构成加权规范化决策矩阵Z = [zij]l×r,其中zij= τjyij,τ=[τ1,τ2,…,τr]T为决策者给定的加权向量;

c. 确定正理想解Z+和负理想解Z-;

d. 计算各个解到正理想点的距离di+和到负理想点的距离di-;

e. 计算各个解的综合评价指数, 进而排序 。

其中的加权向量τ 可采用客观赋权的变异系数法[23]确定 , 其流程如下 : 计算各目标的均值和方差计算各目标的变异系数将变异系数归一化 , 可得各目标的加权系数

4算例分析

4.1微电网结构与参数

本文以一个含光伏发电、风力发电、微型燃气轮机、燃料电池4种微源的微电网系统为例[24],如图2所示,馈线L1为民用负荷(功率因数为0.85),馈线L2、 L3分别为工业负荷和商业负荷(功率因数为0.90)。

本文作如下假设:在单位时间间隔内,各微源的有功和无功出力恒定、负荷需求恒定、微电网与主网间的交互功率恒定且交互电价维持恒定。 本文取单位时间间隔为1 h。

微电网中各线路参数以及各节点最大负荷如表1所示,表中R、X和Smax分别为线路电阻、电抗和末节点最大负荷。 实时的民用负荷、工业负荷、商业负荷占节点最大负荷的百分比如图3所示。 微电网与外网允 许传输的 最大有功 和无功功 率分别设 为75 k W和46.48 kvar(传输线功率因数0.85),实时电价见文献[25],天然气价格为3元 / m3,各DG的运行成本系数、CO2的排放系数以及某地区CO2的排放限值见文献[26],微电网中各DG的参数见表2。

光伏和风机均为不可控的分布式电源,采用最大功率跟踪输出模型,且由于光伏、风机发电成本低和污染物排放率低,本文假设其为零运行成本、零排放。 根据某日的光照和风力强度,假定光伏和风机的预测日小时出力如图4所示。

4.2优化结果

为了证明本文算法在处理复杂约束多目标优化问题上的优越性,分别用 α-CDSHEA、采用常规罚函数约束处理方法的NSDEA以及动态加权遗传算法对本文算例进行求解,得到该日微电网运行成本和CO2排放量的Pareto最优解集。 3种算法的种群规模均设为100,α-CDSHEA和NSDEA的微分进化缩放因子均为0.85,交叉概率为0.5,α-CDSHEA的 α 初值设为0.5。 本文中遗 传算法直 接调用现 成的MATLAB遗传算法工具箱(GAOT)[27],由于该软件包不能直接求解多目标优化的Pareto前沿,为此需对双目标函数进行加权使之转化成单目标函数,鉴于加权值难以确定,可通过在0~1之间均匀取100个动态权值构造动态加权遗传算法,以间接获得Pareto前沿。 本文运行算法硬件环境的CPU为Intel Core i53317 @ 1.70 GHz 1.70 GHz , 仿真环境为MATLAB R2013a。 以上3种算法各自运行100代得到的优化曲线如图5所示,运行时间如表3所示。

图5中曲线对比可以看出,α-CDSHEA比采用常规罚 函数约束 处理方法 的NSDEA最终得到 的Pareto前沿分布更加均匀 、解集更加全面 。 而采用GAOT通过动态加权函数优化得到的解集明显劣于 α-CDSHEA,与真正的Pareto最优解集相差甚远。 另外,由于采用GAOT求解多目标优化问题需要不断动态改变权值进行单目标优化,因此表3中GAOT运行时间远大于 α-CDSHEA和NSDEA。 而 α-CDSHEA所需要的运行求解时间略小于NSDEA,实际上由于 α-CDSHEA是融合了DEA与EDA这2种不同算法机制的混合算法,其理论运行时间应远大于NSDEA,但本文提出的约束处理方法有效降低了算法的复杂度,导致最终运行时间略小。

为进一步 比较 α-CDSHEA和NSDEA在得到Pareto解集时在收敛速度上的优劣 ,取各自运行25代时的优化曲线对比,如图6所示。

由图6可知,运行至25代时,α-CDSHEA已基本收敛,而NSDEA还远未达到收敛,可见 α-CDSHEA的收敛速度要高于NSDEA,说明引进 α 约束处理方式和混合进化算法是有效、可行的。

经过对 α-CDSHEA优化得到的Pareto前沿进行最终多目标决策优选,可得到该日最终运行成本和CO2排放量分别为4 101.2元和68.236 8 kg,对应的该日微型燃气轮机、燃料电池的有功出力及微电网系统与电网的交互购电优化结果如图7所示。

为保证微电网的独立性,当网内DG输出足够满足负荷需求时,不向外网购电,此时相当于孤岛运行;当网内DG输出无法满足负荷需求时,在允许传输限值范围内向外网购电,此时相当于并网运行。 从图7中可以看出,01:00 — 08:00时微型燃气轮机和燃料电池的出力足够满足网内负荷安全有效运行不需要向外网购电;09 : 00 — 14 : 00、16 : 00 — 19 : 00 22 : 00 — 24 : 00,微型燃气轮机和燃料电池的出力满足不了网内负荷需求,故需要向外网购电 ;15:00 19:00 — 21:00, 微型燃气轮机 、 燃料电池的出力配合向外网购电仍然不能满足网内负荷需求,存在有功缺额,此时微型燃气轮机和燃料电池为最大功率输出,向外网所购电量也达到传输上限,此时为保证微电网安全有效运行,应适当切除民用负荷。 微电网的无功负荷也由微型燃气轮机和燃料电池共同负担,并配合少量外网提供的无功出力。

5结论

改进差分进化算法研究及应用 篇4

近年来,差分进化算法(DifferentialEvolution Algorithm,DE)逐渐被各国学者广泛关注,作为进化算法的一个分支,最早由Rainer Storn和Kenneth Price于1995年提出,2000年后开始被大多数学者研究,目前已取得不少研究成果。与其他进化算法相比,DE[1]算法简单,控制参数少,收敛速度快,所需背景领域知识少。

1 标准差分进化算法

1.1 算法描述

DE算法的基本思想[2]是:首先在问题的可行解空间随机初始化种群,使当前种群父代个体间的差分矢量构成变异算子,接着按照一定的概率,父代个体与变异个体进行交叉,生成试验个体,然后在父代个体与试验个体之间根据适应度的大小进行选择,选择适应度更优的个体作为子代。

1.2 标准DE算法

1.2.1 初始化

NP个D维的实数参数向量,每个个体表示为:xi,G(i=1,2,…,NP)(i为个体在种群中的序列,G为进化代数)设参数界限为,一般假定对所有随机初始化种群均符合均匀概率分布:

(NP为种群规模,D为目标函数决策变量的个数,rand为在[0,1]之间产生的均匀随机数)

1.2.2 变异操作

对于每个目标向量,其变异矢量如下产生:

其中,随机选择的序号r1、r2、r3互不相同,变异算子F为常数,按文献[2]其取值范围为[0,2]。

1.2.3 交叉操作

为增加参数向量的多样性,引入交叉操作,试验向量如下:

其中,CR为交叉算子,按文献[2]所述,。

1.2.4 选择操作

DE采用贪婪搜索策略,经过变异与交叉操作后产生的试验个体()与()进行竞争,带入适应度函数进行计算,取适应度更优的进入下一代。

其中f为适应度函数,这里为最小值优化问题。

1.3 DE算法参数设置

种群规模NP一般取5D和10D之间,D为目标函数决策变量的个数,不能少于4,否则无法进行变异操作,NP越大,种群多样性越强,获得最优解概率越大,但是计算时间更长。

DE算法中重要的两个参数变异算子F和交叉算子CR。F用来控制种群的多样性和收敛性,CR的值用来控制个体各个维数对交叉的参与度。

由于DE采用贪婪的搜索策略[3],可以加快收敛的速度,随着进化的进行,其他个体会迅速向当前最优点靠拢,若该点为局部的最优点,随着种群的不断进化,个体间的差异越来越小,所有的个体都会趋向这个局部最优点,种群就无法重新搜索。因此,DE容易出现早熟收敛现象,陷入局部最优,没有找到全局最优点。

1.4 测试函数实验研究

为验证DE算法的可行性与有效性,用以下三个典型的测试函数[4]进行试验。其中f1为Griewank函数,多峰,存在一定数量局部极小点;f2为Sphere单峰二次函数;为Rastrigin函数,多峰,有大量局部极小点。

实验参数设置如下:种群规模NP都为100,最大进化代数为1000,标准DE的变异算子F=0.8,交叉概率CR=0.8。GA遗传算法的交叉概率为0.8,变异概率为0.05。

表1给出了利用以上两种算法运行10次后的统计结果。对于多维多峰的函数,GA算法基本都不能收敛到最优解。DE算法对f1和f2都有很好的优化精度,而对于f3,由于过早的收敛于局部最优解,从而寻优失败。可以看出,标准DE算法在处理一般问题时,收敛速度明显较快,但是如1.3节所述标准DE算法存在的缺点,需要运用改进的DE算法来处理有大量局部极小点的问题。

2 改进差分进化算法

2.1 DE算法的改进

经过十几年的研究,DE算法得到了较大发展,出现了很多改进的DE算法。总的来说,可以采用改进DE中的控制参数,多种群处理,加入新操作[5]等方法。

2.2 改进差分进化算法在函数优化中的应用

2.2.1 有约束条件的处理

实际应用中多为有约束的问题,经过一系列的转化,可描述为:

此约束问题可以通过罚函数法转化为无约束问题,DE算法求解约束问题的关键是对约束条件的处理。由于等式约束是能包含到适应度函数中的,所以重点考虑不等式约束,采用式(6)的形式将罚函数包含到适应度函数中。

f(x)为适应度函数,>0为罚函数尺度系数,罚函数P(x)为满足式(7)条件的函数,x为问题的可行解域:

如何设计罚函数来有效地惩罚非可行解,对问题的解决至关重要,对式(5)的约束问题,设计一种简单有效的罚函数,经其转化后的无约束问题为式(8),其中和为大于零的罚函数尺度系数。

2.2.2 具有自适应参数的改进差分进化算法

标准DE的参数在进化过程中是保持不变的,对于不同的优化问题要确定合适的参数是比较困难的[6],为使参数选择独立于优化问题本身,试采用自适应参数策略。

由式(3)可知,CR越大,越有利于局部搜索,但对目标矢量的破坏也越大;CR越小,有利于保持种群的多样性但不易产生新的个体。采用随着适应度值变化的自适应参数,对适应度差的个体,取较大的CR,让变异个体对试验个体贡献大,使该个体加快被淘汰,而适应度好的个体,取较小的CR,使该个体进入新种群的机会增大。自适应参数如式(9):

CRi为当前第i个个体的CR值,fi为第i个个体的适应度值,fminfmax分别为当前种群中适应度最好和最差的个体适应度值。

改进后的DE算法可以在进化初始阶段有较强的全局搜索能力,尽可能多地发现可能的全局最优点,而在后期有较强的局部搜索能力,提高了DE算法的收敛速度和求解精度。

为验证参数自适应改进差分进化算法的有效性,用以下函数测试算法的性能。函数f1和f2的种群规模都取10D,最大迭代次数为100。对于标准的DE,F=0.8,CR=0.8;对改进的DE取F=0.8,CRmin=0.2,CRmax=0.9。

函数f1,用标准DE算法优化,在100代内并未收敛。而改进的DE在进化到67代时收敛于0.09。优化f2,标准DE算法在47代的时候收敛于1.20,而经过改进的DE算法在迭代到第12代的时候就收敛于1.18。

2.3 改进差分进化算法在整数规划问题中的应用

2.3.1 问题描述

差分进化算法采用实数编码[7],在连续空间进行优化计算,若将DE用于求解整数规划问题时,必须进行改进。这是因为初始种群在经过差分变异操作后,可能产生非整数解的情况。

可以对变异后的矢量进行向上或向下取整运算,使得变异操作先在实数域中进行,既扩大了寻优的空间,又保证变异后为整数解。通过对变异矢量进行改进后,DE算法就可以应用于整数规划和混合整数的优化问题了。式(10)为对变异后的矢量进行取整改进。

2.3.2 函数优化应用

函数f3参数设置为NP=6 0,G=1 0 0,F=0.8,CRmin=0.2,CRmax=0.9。经过改进DE算法计算可以在第7代得到最优解f3(1,0,1,0,0)=-4。由图3可知,改进DE在解决整数规划问题时有很好的寻优能力,收敛速度快,算法稳定。

3 结论与展望

差分进化算法是继遗传算法后又一种全局优化算法,以其简单的算法理论,快速的收敛速度和较好的全局搜索能力得到国内外学者的广泛关注。但与其他成熟的智能算法相比,还存在待改进的地方,特别是其应用的领域还很小。这是因为DE采用实数编码,主要应用在连续空间的优化问题,而现实中多为离散、非线性的问题,如旅行商问题、0-1背包问题、车辆调度问题等,限制了DE算法的应用。因此有必要继续研究DE算法,从而扩大DE算法的应用领域,解决更多的实际问题。

参考文献

[1]Price K V.An introduction to differential evolution[M].New Ideas in Optimization,UK:McGraw Hill,1999:79-108.

[2]Storn R,Price K V.Differential evolution:a simple and efficient heuristic for global optimization over continuous space[J].Journal of Global Optimization,1997(11):341-359.

[3]王培崇,钱旭.差分进化计算研究综述[J].计算机工程与应用.2009,45(28):13-16.

[4]吴亮红.差分进化算法及其应用研究[D].长沙:湖南大学硕士学位论文.2007.

[5]郭振宇,程博.一种并行混沌差分演化算法[J].西安交通大学学报,2007,41(3):299-302.

[6]Brest J,Greiner S.Self-adapting control parameters in differential evolution:A comparative study on numerical benchmark problems[J].IEEE Transactions on Evolutionary Computation,2006,10(6):646-657.

基于特征进化的混合遗传算法 篇5

遗传算法GA (Genetic Algorithms) 是近年来发展起来的一种具有普适性的进化算法, 对多种工程应用问题显示出较强的求解能力, 被成功地应用于诸多领域[1], 但GA仍存在收敛速度慢和早熟性收敛两方面问题。许多研究结果表明, 将GA与启发式算法结合能有效提高求解旅行商问题 (TSP) 的质量[2,3,4]。文献[5]认为, 早熟性收敛主要是由有效等位基因的缺失造成的, 而有效等位基因与种群多样性密切相关。种群多样性越好则有效等位基因越丰富, 可保证遗传算子产生更多的新个体, 这些新个体是维持丰富有效等位基因的有效手段之一。

由此, 提出了基于特征进化的混合遗传算法, 该算法一方面结合高效的启发式算法, 加快算法的收敛速度;另一方面采用新的基于特征进化算子对有效等位基因进行保护, 保持算法在进化过程中产生更多高适应度的新个体补充到种群中, 更好地抑制算法早熟性收敛, 并能收敛于规模小于2 000的TSP全局最优解。

1改进的遗传算法

1.1启发式算法的选择与优化

在TSP研究领域, 常用的启发式算法主要包括2-Opt、3-Opt和Lin-Kernighan (LK) 算法。大量的实验和研究成果表明, 虽然LK算法具有较2-Opt和3-Opt更高的复杂度, 但表现了更好的优化质量, 以Concorde[6]提供的链式LK (CLK) 算法为蓝本进行研究。CLK算法的主要参数包括:重复次数、参照优化边集、Kicks类型等。如何选择上述参数, 是提高CLK算法运行效率和求解质量的关键。其中, 重复次数和Kicks类型可通过重复随机实验建立, 而参照优化边集建立的方法较多, 难以对某种具体的建立方法进行评价。文献[10]指出, 建立更合理的参照优化边集 (ROE) , 在提高对任意给定一条路径的优化质量的同时, 与其它ROE初始化方法相比, 在其它参数相同的情况下前者运行时间得到明显缩短, 为此采用前期研究结果建立ROE[12]:随机初始化50条环路, 利用CLK算法进行优化得到优化后的50条环路, 取这些环路所有边的并集, 该并集高概率包含全局最优解的所有边。

1.2特征进化遗传算子的设计

根据GA的最小诱导模式机理, 最小诱导模式普遍存在于个体之中, 对这些诱导模式的保护, 有助于加速算法的收敛速度。同时, 对于个体中已包含的属于算法收敛优化解或全局最优解中的基因块——有效基因块, 由于遗传算子随机性过强, 不能充分利用个体中的有效信息进行重组, 对有效基因块不具有判断能力。如果交叉点或变异点选择在这些有效基因块中的某个基因座时, 有效基因块将遭到破坏, 这势必影响算法的收敛速度和效果, 这种情况在GA收敛后期尤为明显。因此, 保护最小诱导模式和有效基因块, 对加速GA的收敛起到很大作用。

设任意两条路径p1和p2, 两者之间的相似距离为:

d (p1, p2) =|E (p1) ∩E (p2) |/N

p*为全局最优解, 由于:[E (p1) ∩E (p2) ]∩E (p*) =[E (p1) ∩E (p*) ]∩[E (p2) ∩E (p*) ], 则有:[E (p1) ∩E (p2) ]∩E (p*) ≤min (E (p1) ∩E (p*) , E (p2) ∩E (p*) ) 成立。根据鸽巢原理, 若d (p1, p*) >0.5且d (p2, p*) >0.5同时成立, 则有:

|[E (p1) E (p2) ]E (p*) |Νmin[d (p1, p*) , d (p2, p*) ]-0.5

成立。由此有下式成立:

{|[E (p1) E (p2) ]E (p*) |Νmin[d (p1, p*) , d (p2, p*) ]-0.5|[E (p1) E (p2) ]E (p*) |Νmin[d (p1, p*) , d (p2, p*) ]

根据文献[3]结论:CLK算法解质量平均达到0.8, 即d¯=0.8, 表明[E (p1) E (p2) ]E (p*) ϕ, 又由于:

{[E (p1) E (p2) ]E (p*) }E (p*)

恒成立, 可得以下结论:

结论1 对于两条与全局最优解相似距离超过0.5的路径, 二者边的交集中包含全局最优解部分边。两条路径与全局最优解之间的相似距离越大, 交集中包含的属于全局最优解的边数量越多。

当两个个体执行交叉或变异时, 两个个体的边交集中包含有效基因块的概率将随着GA进化过程的推进逐渐升高, 这是由于个体逐步接近收敛优化解或全局最优解, 与优化解或全局最优解之间的海明距离逐渐缩小, 其距离越小两个个体中相同的有效基因块数量越多, 则得到保护的概率越大。同样, 对最小诱导模式具有相同的效果。文献[10]也得到如下结论:经过CLK算法优化的环路与全局最优解的相似度平均达到80%。由此建立以下基于特征的两点交叉算子 (CTCO) 和单点变异算法 (CSMO) 。

算法1CTCO

输入:父代个体X1和X2

输出:交叉操作后的新个体X1′和X2′

Begin

1) 初始化 (建立一个空的边集合, 记为A) ;

2) 取AX1与X2的边集的差集;

3) 若A中边的数量少于两个 , 则:

(1) 从所有的基因座中随机选择两个交叉点;

否则

(1) 随机从A中选取两条边;

(2) 根据所选取的边确定两个交叉点;

(3) 执行交叉, 形成两个新个体X1′和X2′

End

算法2CSMO

输入:父代的一个个体X1和参照变异个体X2

输出:变异操作后的一个新个体X1′

Begin

1) 初始化 (建立一个空的等位基因集合, 记为A) ;

2) 取AX1的边集与和X2边集的差集;

3) 若A中的边数为0, 则:

(1) 从所有的基因座中随机选择一个变异点;

否则

(1) 随机从A中选取一条边;

(2) 根据所选取的边确定变异点;

(3) 执行变异, 形成新个体X1′

End

算法二中参照变异个体X2的选择可根据具体情况进行选择, 如果希望种群更快向最小诱导模式进化, 则可以选择种群中适应度最高个体;如果希望扩大种群的多样性, 可随机选择一个个体或选择种群中适应度最低的个体。

2基于特征进化的混合遗传算法

由于采用文献[12]方法建立的问题初始边集, 需要产生50条随机路径, 而GA中的种群初始化亦采取相同过程, 本文设计的GA的种群规模设置为50, 可用一个功能模块完成CLK参照优化边集的建立和GA种群初始化。

算法3 基于特征进化的混合遗传算法

输入:TSP数据集

输出:TSP的优化解

Begin

1) 初始化

(1) 建立一个空的边集合, 记为A; //CLK参照优化边集

(2) 申请种群空间Population;

2) 种群初始化

(1) repeater←1; //CLK参照优化边集使用的重复次数

(2) KickType←随机类型; //Kicks类型

(3) 建立问题的最近3近邻边集Ne;

(4) 循环K=50次, 做:

① 随机初始化一条环路p;

p′←CLK (repeater, KickType, Ne, p) ;

③ 将p′中所有的边合并到A;

④ 将p′加入到Population;

3) 计算Population中每个个体的适应度;

4) repeater←N/2; //GA优化使用的重复次数

5) 循环直到达到终止条件, 执行:

(1) 执行选择算子选择两个体X1和X2;

(2) X1′, X2′←两点CTCO (X1, X2) ;

(3) X1′←单点CSMO (X1′, X2′) , ←单点CSMO (X2′, X11′) ;

(4) X1′←CLK (repeater, KickType, A, X1′)

(5) X2′←CLK (repeater, KickType, A, X2′) ;

(6) 计算X1′和X2′适应度;

(7) 替换种群中较X1′和X2′适应度更低的个体;

6) 返回种群中适应度最高的个体X*;

End

3实验情况及分析

下述实验环境均为Intel Core2 E6300 1.86GHz CPU, 1GB内存, 操作系统为Windows XP。数据集均采自TSPLIB95[11]。GA中交叉概率为0.615, 变异概率为0.15, 进化50代, 当算法搜索到全局最优解即行停止, 距离按取整方式计算。每个数据集重复求解30次, 并给出了平均解距离全局最优解的偏差值, 其中:

偏差= (平均环路长度-全局最优解环路长度) /全局最优解环路长度×100%

实验对比算法如下:

算法1 GA使用3-Opt局部优化算法;

算法2 GA使用重复N/2次且采用Quadrand 3近邻域参照优化边集初始化的CLK算法;

算法3 GA使用重复N/2次且采用先期研究成果文献[12]中方法进行边集初始化的CLK算法;

算法4 本文算法三——基于特征进化的混合遗传算法。

对比情况如表1, 表中标记下划线数据为该数据集上仅重复一次, 原因是算法单次不能收敛于全局最优解或收敛时间过长。

由于3-Opt算法较CLK算法的优化质量相差很大, 本文仅给出算法2、3、4的收敛对比曲线, 数据集为pr1002, 如图1所示。

从上述实验结果可见, 算法2、3、4均能收敛到问题的全局最优解。从图1的收敛曲线上看, 三种算法的收敛趋势差异很小, 但从表1的收敛时间上看, 算法2收敛时间约为算法3的2倍左右, 表明文献[12]提出算法的有效性。算法4在算法3基础上引入了特征进化算子, 在大规模数据求解上表现了良好的收敛时间, 在规模为1 889个城市问题的求解中, 仅花费了相当于算法2的1/9时间、算法3的1/3时间收敛到全局最优解, 验证了提出的算子的有效性。

4结束语

通过分析及论证, 本文建立了用于求解中小规模TSP的GA, 通过在GA中引入CLK作为启发式算法, 加快了GA的收敛速度, 同时提出了CTCO和CSMO两个特征遗传算子, 在高概率性保护种群中最小诱导模式和问题优化解的前提下, 为父代个体中非有效基因块基因座上的基因提供了更多进化机会, 较好地抑制了GA的早熟现象, 有效地提高了算法收敛速度和全局寻优能力。通过大量覆盖实验表明, 本文提出的GA算法, 将GA的全局寻优能力和CLK的局部寻优能力进行了较好的结合, 在本文规定遗传代数内能收敛到规模在2 000以内问题的全局最优解。

参考文献

[1] Xi Y G, Cai T Y, Yun W M.Survey on genetic algorithms [J].Control Theory, Application, 1996, 13 (61) :696-704.

[2]Baraglia R, Hidalgo J I, Perego R.A hybrid heuristic for the travelingsalesman problem[J].IEEE Transactions on Evolutionary Computa-tion, 2001, 5 (6) :613-622.

[3] Merz P, Freisleben B.Genetic local search for the TSP:New results [C].In:Proceedings of the 1997 IEEE International Conference on Evolutionary Computation, 1997:159-164.

[4] Merz P, Freisleben B.Memetic algorithms for the traveling salesman problem [J].Complex System, 2001, 13 (4) :297-345.

[5] Potts J C, Terri D G, Surya B Y.The development and evolution of an improved genetic algorithm based on migration an artificial selection [J].IEEE Transactions on Systems, Man and Cybernetics, 1994, 24 (1) :73-86.

[6] David A, Robert B, VASEK C.Concorde network optimization package [CP/OL].http://www.tsp.gatech.edu/concorde/downloads/ codes/src/co031219.tgz.1997-08-08/2006-11-07.

[7]Jones T, Forrest S.Fitness Distance Correlation as a Measure of Prob-lem Difficulty for Genetic Algorithms[C].//ESHFILMANL.Proceed-ing of the 6th International Conference on Genetic Algorithms.San Ma-teo, CA:Morgan Kauffrnan, 1995:184-192.

[8] Lin S, Kernighan B W.An effective heuristic algorithm for the traveling-salesman problem [J].Operations Research, 1973, 31:498-516.

[9] Boese K.Cost versus distance in the traveling salesman problem[R].Technical Report, TR-950018, CS Department, UCLA, 1995.

[10] Lin S, Kernighan B W.An effective heuristic algorithm for the traveling-salesman problem [J].Operations Research, 1973, 31:498-516.

[11] University of Heidelberg.Traveling Salesman Problems Library [CP/OL].http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/.1997-08-08/2006-11-07.

求解JSP的改进差分进化算法 篇6

随着市场竞争的日趋激烈,每个企业都在寻求先进制造系统,以提高企业的生产管理效率,从而提高企业的核心竞争优势。而有效的调度方法和优化技术是实现先进制造的基础和关键。为了更好地应用于生产实践,生产调度问题的研究已由经典作业车间调度问题JSP(Job-Shop Scheduling Problem)逐渐向多目标、实用化、动态化等方向发展。动态柔性作业车间调度DFJSP(Dynamic Flexible Job-Shop Scheduling Problem)是JSP的重要扩展,它体现了实际生产环境中存在并行机和多功能机的特征。

目前常用的求解JSP问题方法主要是智能算法或者多个智能算法的混合算法[1,2,3,4,5,6]。然而这些成果的共同的缺陷是,编码都存在一定的局限性,缺少通用性。比如,文献[5]中采用扩展工序的编码方式,每个染色体用N×max{nj}个代表工件号的自然数组成,各工件号均出现max{nj}次。对于工序数小于max{nj}的工件,多出的部分表示“虚工序”,解码时将其加工时间均设为0,虽然“虚工序”不影响问题本身,但显然“虚工序”增加了编码的无谓的长度。

针对上述问题,本文提出了一种改进的差分进化算法。该算法为了适应差分进化算法的实数编码特点,改进了文献[1]中提出的双层编码机制,新的编码具有很强的通用性,适用于完全柔性、部分柔性、静态、动态、单目标和多目标等不同情况下的作业车间调度问题;在次序号编码基础上,对应改进了变异算子,使得在进化过程中,不会产生无效解,进而提高算法的运行速度;还改进了缩放因子,提高种群的多样性;最后通过多个典型实例计算验证了算法的可行性和有效性。

1 作业车间调度问题描述

Job Shop问题可以描述为:设有N个工件在M台机器上加工,由于工件的加工工艺的要求,每个工件使用机器的顺序及其每道工序所花时间已给定,调度问题就是如何安排在每台机器上工件的加工顺序,使得某种指标最优。具体满足下面条件:(1)每一工件在机器上的加工顺序一定;(2)每一台机器每次只能加工一个工件;(3)每一工件在机器上的加工被称为一道工序,工序加工时间是固定的;(4)工件在机器上被加工时不允许被打断;(5)机器与工件可能开始时间都为0[7]。

Makespan为调度的最小生产周期,即所有工件的最大完成时间的最小值,调度问题要求确定机器上工件加工顺序,使Makespan时间达到最小。上述问题的数学描述如下:

其中,cik和pik分别为i工件在机器k上的完成时间和加工时间;M是一个足够大的正数;若机器h先于机器k加工工件i,则aihk=1,否则aihk=0;若工件i先于工件j在机器k上加工,则xijk=1,否则xijk=0。

2 求解JSP的改进差分进化算法

2.1 实数次序号编码

实际情况,一方面,JSP大多是动态的、柔性的和多目标的,因此编码要综合考虑这些情况;另一方面,因为DEA算法是一种基于实数编码的演化算法[8],而作业车间调度中的机器编号、工序编号以及工序加工次序都是整数,所以作业车间调度常用的编码方法不能直接应用到差分进化算法中。

为了同时解决上述两方面问题,本文改进了文献[1]中的编码方法。一方面,将第二层中的编码表示为每个工序加工机器的动态实数次序号,而不是加工机器,这样就可以将编码直接应用在DEA算法中,而且改进后的编码可以直接进行DEA交叉变异进化操作;另一方面将编码的长度设置为动态可变的,这样可以适应JSP的动态多变的特性。具体方案如下。

编码的长度为所有加工工件的所有工序数。对于一个有n个工件、m台机器的动态FJSP,每个工件的未加工工序数量分别为s1,s2,…,sn,则编码的长度为s1+s2+…+sn。以3工件3机器的P-FJSP为例,每个工件的未加工工序数量分别为2,1,3,则编码的长度为2+1+3=6。加工约束条件和加工时间如表1所示。其中Jik(1≤i≤3,1≤k≤3)表示工件i的第k个工序。

由表1汇总出每个工序可用的加工机器数量如表2所示。

本文提出的编码列数为工序数量之和,层数为2层。第一层表示每个工序的加工优先级,取值为实数。第二层表示每个工序加工机器的次序号。加工次序号不同于加工机器编号。每个工序的次序号的取值范围为介于[0,Sij)(Sij表示第i个工件的第j道工序可使用的加工机器数量)之间的小数。如表2的工序数量之和为6,因此编码为6列,表3给出了表1问题的一个个体的编码。

如果加工次序号取整后为0,则在表1中,从左往右,选择工序的第1个加工机器,如果加工次序号取整后为1,则在表1中,从左往右,选择工序的第2个加工机器,依次类推。

解码的主要工作是排定工序加工顺序,并选定加工机器。解码时,首先将第二层编码取整。然后对编码中的第一层实数从小到大排序,从而得到一个各工件加工的优先级序列。然后根据优先级序列和作业车间调度问题的约束条件,分别将工序分配到对应的机器上。得到一个调度解。

对表3第二层编码取整后结果如表4所示。

然后将表1中所有工序集中在一起看作AOV网络图,结合各工序的优先权随机数对AOV图进行拓扑排序,进行解码。其过程与文献[9]类似。在此不赘述。

2.2 与常用编码方法比较

本文提出的实数次序号编码主要有以下优点:

(1)编码能适应于完全柔性、部分柔性、静态和动态,通用性好,无论哪种情况发生,只要根据实时情况,根据工件的未加工工序数量更改个体编码的列数即可。

比如,当某个工件的一个工序完成后,又新增加了一个工件。此时,编码时,将已完成工序的工件工序数量减1,然后增加新的工件工序数,重新执行调度算法就能得到新的调度方案。操作简单。

再比如,当某台机器发生故障时,只需要将使用该机器的工序的加工机器中去掉该机器,然后执行调度算法就能得到新的调度方案,操作也很简单。

(2)编码的每一位都是有效的,没有冗余,因此,编码、解码的时间复杂度也低,算法运行快。

(3)编码不会产生无效解。无论初始种群还是,交叉变异的中间个体,都不会产生无效解。2.4节介绍了如何避免变异时产生无效解。

表5将文献[1]编码、本文的编码、常用的基于操作的编码和基于工件的编码进行了比较。

其中,operation-based representation表示基于操作的编码;jobbased representation表示基于工件的编码。order number表示本文提出的实数次序号编码。n表示工件个数;m表示每个工件号出现m次。

基于操作的编码方式将每个染色体用n×m个代表操作的基因组成,各工件号均出现m次,这种编码不灵活,不能适应动态变化的作业调度。

基于工件的编码方式将每个染色体用n个代表工件的基因组成,编码长度虽然比较短,但也是固定长度的编码,不灵活,不能适用动态多变的作业车间调度。

从表5可以看出,本文提出的次序号编码方法是一种可行、简单、灵活的编码方法。

2.3 变异算子的改进

差分进化的变异算子结果为实数,而且实数范围是不确定的,而本文编码第二层的每一位实数的范围为[0,Sij),超出这个范围的编码将是不合法的编码,如果不合法的冗余编码出现,将会降低算法执行速度,因此,就要把变异运算的结果,调整为[0,Sij)范围内,这样就能避免冗余的不合法编码出现,提高算法的效率。

本文采取将变异结果取绝对值后多次开方运算进行调整,多次开方一直到变异结果的值调整为[0,Sij)范围内为止。第3节的实验结果证明,这种方法是可行有效的。

2.4 F的改进

DEA是目前演化计算研究领域中的一个著名算法。算法中的缩放因子F决定着经过变异操作,产生的差分矢量的缩放比例,是影响算法性能优劣的重要因素之一[13]。缩放因子对算法的影响,主要是收敛速度和种群多样性。本文提出了一种自适应的缩放因子F,使缩放因子能够随着迭代次数的改变而改变,适应当前种群的变化情况,使得最优解可以保存。自适应的缩放因子F为:

其中,NP为种群规模,f(Xi)为个体Xi的适应度函数值,f(Xbest)为最优个体Xbest的适应度函数值。

显然,式(2)使得F的取值为动态的。迭代次数越小,种群个体差异越大,种群个体的平均适应度函数值越小,F值越大,种群多样性越多,提高了前期迭代时算法的全局收敛速度。随着迭代次数的增加,种群个体的差异性降低,种群个体的平均适应度函数值越接近Xbest的适应度函数值,F的值越小,提高了算法后期的局部搜索能力。

2.5 求解JSP的改进差分进化算法

设种群规模NP,最大迭代次数Gmax,种群当前的迭代次数为generation,每代的最好个体为BestIndividual。

改进的差分进化算法IDEA伪码如下:

算法IDEA算法

1)初始化种群,确定generation=0

2)计算初始种群个体的适应度值,初始化BestIndividual

3) while generation<Gmax do

4)采用DE/best/1/bin模式进行变异运算,F由式(2)得。

5)变异运算结果使用2.3节方法进行调整;

6)进行交叉操作,Pc根据具体实例设定,详见表6所示。

7)对种群进行选择操作;更新BestIndividual的值。

8) generation=generation+1

9) end while

10) print (BestIndividual)

3 实验

3.1 算法比较

对12个国际通用的标准实例进行了测试,参数设置如表6所示,与已知最优解的比较结果如图1所示

从表6可以看出,针对不同的问题需设置不同的种群规模值、种群最大迭代次数和交叉概率。如果问题的机器数m比较少时,种群规模一般设置为40~65之间,迭代次数设置的相对小些,杂交概率设置范围为0.05~0.1之间,但当m值比较大时,种群规模要设置的大一些。迭代次数也要设置的大一些,杂交概率设置的要小一些,范围为0.04~0.05之间。

横坐标数字1—10表示算法执行次序。纵坐标=(每次计算的最优值-C**)/C**×100;C**为问题的基准最优解。

从图1可以看出,与已知最优解相比,IDEA算法在求解典型实例时,对FT06、LA01、LA02、LA04、LA05、LA06、LA07、LA11这些实例,IDEA算法所求解的结果与基准最优解相同,对FT10、FT20、LA03、LA16这些实例的求解,虽然没有得到和基准最优解一样的解,但偏差比较小,说明IDEA算法是高效的算法,而且标准差也比较小,说明IDEA算法是很稳定的。

3.2 IDEA与其它权威文献中的算法比较

将混合算法随机运行20次的最优结果与JSP研究领域的权威文献[10,11,12]比较,如表7所示。其中,P表示基准测试问题;n和m分别表示工件和机器数目;C*为问题的基准最优解。表中的其它数据为各算法得到的最小完工时间。

从表7可以看出,IDEA算法、GA算法、SA算法和TS算法在求解FT06、LA01、LA06、LA11、LA26和LA31问题时,求解结果相同,并且和已知最优解也是相同的;在求解FT10、FT20、LA16、LA21和LA36问题时,虽然IDEA算法所求的最优解略差于GA算法、SA算法和TS算法,但差距很小。综上说明本文算法是可行有效的。

4 结语

针对作业车间调度问题,本文基于差分进化算法,提出了一种新的编码方式,该方式具有强的通用性,既适用于静态调度,也适用于动态调度,既适用于柔性调度,也适用于非柔性调度;还改进了差分进化算法的变异算子和缩放因子,分别提高了算法的运行效率和种群多样性。多个典型实例计算表明,本文提出的算法是可行有效的。下一步工作,一方面是将本文算法应用到其它NP难问题上,以验证其效果和增加算法应用的广泛性,另一方面是进一步改进算法,提高其效率。

参考文献

[1]夏蔚军,吴智铭.基于混合微粒群优化的多目标柔性Job-Shop调度[J].控制与决策,2005,20:137-141.

[2]Balas E,Vazacopoulos A.Guided local search with shifting bottleneck for job shop scheduling[J].Management Science,1998,44(2):262 -275.

[3]Sabuncuoglu Ihsan,Kizilisik Omer Batuhan.Reactive Scheduling in a Dynamic and Stochastic FMS Environment[J].International Journal of Production Research,2003,41(17):4211 -4231.

[4]夏柱昌,刘芳,公茂果,等.基于记忆库拉马克进化算法的作业车间调度[J].软件学报,2010,21(12):3083-3093.

[5]吴秀丽.柔性作业车间动态调度问题研究[J].系统仿真学报, 2008,20(14):3828-3832.

[6]Ho N B,Tay J C,Lai E M K.An effective architecture for learning and evolving flexible Job Shop schedules[J].European Journal of Operational Research,2007,179(2):316-333.

[7]王凌.车间调度及其遗传算法[M].北京:清华大学出版社,2003.

[8]Storn R,Price K.Differential evolution—A simple and efficient adaptive scheme for global optimization over continuous spaces[R].Berkeley: University of California,2002.

[9]张青.基于遗传算法的数控车间作业调度系统研究与应用[D].武汉:武汉理工大学,2006.

[10]Corce F D,Tadei R,Volta G.A genetic algorithm for the Job Shop problem[J].Computers and Operations Research,1995,22(1):15 -24.

[11]Laarhoveh P V,AartsE,Lenstra J K.Job Shop scheduling by simulated annealing[J].OperationsResearch,1992,40(1):113-125.

一种免疫进化算法及仿真研究 篇7

遗传算法 (GA) 作为一种并行随机搜索方法, 它模拟遗传和进化机制, 在解空间进行高效启发式搜索, 具有很好的全局搜索能力。目前, 广泛应用于函数优化、组合优化、TSP问题等领域。但GA本身还存在许多不足的地方, 比如:在解群分布不均时容易出现未成熟收敛, 陷入局部极优;个体多样性不足;以及在中后期已退化为随机搜索, 搜索过程具有随机性和盲目性, 因而搜索效率不高等。

免疫系统是生物体的一种高效、神奇、复杂功能系统, 具有内容可访记忆、能遗忘很少使用的信息的进化学习机理以及自适应调节机理以保持抗体的多样性和维护机体内环境的稳定。本文正是将上述生物免疫系统的诸多机理引入遗传算法, 构成一种新的免疫遗传算法 (NIGA) 。同时, 构造了一种新的求解抗体相似度和选择概念的方法。在解决实际问题时, 将目标函数和约束条件作为抗原, 待求问题的优化解作为抗体。

1 生物免疫原理

生物免疫系统具有免疫功能, 而执行免疫功能的是免疫系统内的B细胞, 免疫系统通过分布在全身的B细胞识别和清除侵入机体内的抗原性异物。

当抗原首次入侵时, 免疫系统中识别抗原能力强的B细胞迅速被激活、增殖、分化, 产生大量抗体。其中一部分抗体与抗原特异性结合并清除抗原, 这一过程称为免疫应答。免疫应答分为初次免疫应答和再次免疫应答。另一部分抗体由于适应能力强被作为记忆细胞保留, 当同一抗原或相似抗原再次入侵时, 相应的记忆细胞被激活而产生大量的抗体, 很快地识别和清除抗原, 从而发生再次免疫应答, 这就是免疫系统的免疫记忆机制。发生再次应答时, 抗原直接刺激记忆细胞, 无需重新学习, 因此应答的速度很快, 缩短了免疫反应时间。另外还有极少数抗体由于适应环境能力差而发生自然死亡想象。

在免疫反应过程中, 抗体的大量产生, 降低了抗原对免疫细胞的刺激, 一定程度上抑制了抗体的分化、增殖, 同时抗体之间也存在着相互刺激和抑制的关系, 这种抗体与抗原、抗体与抗体之间的相互制约关系使免疫反应维持着一定的强度, 从而保证了机体的免疫平衡, 实现了免疫系统的自我调节功能。抗体间的相互刺激和抑制关系是根据抗体的浓度进行的;抗体浓度越高, 越受到抑制;抗体浓度越低, 越受到促进。

2 免疫遗传算法 (NIGA)

免疫遗传算法是将生物免疫系统相关机理运用到遗传算法的一种改进的智能优化方法。它把待求解的实际问题和约束条件对应为抗原, 问题的解对应为抗体。该算法与遗传算法相比, 增加了学习记忆、免疫调节和多样性等机制, 保留了遗传算法全局优化、随机并行搜索的特点, 提高了遗传算法的局部搜索能力, 很大程度上避免了未成熟收敛, 确保算法快速收敛于全局最优解。

2.1 基于常数因子的抗体相似度

抗体相似度即抗体间亲合度, 它表征两个抗体个体之间的相似程度。抗体-抗体亲合度的计算方法主要有基于抗体-抗原亲合度的抗体-抗体亲合度[1]、基于欧氏距离的抗体-抗体亲合度[2]、基于海明距离的抗体-抗体亲合度[3]、基于信息熵的抗体-抗体亲合度[4]。然而, 利用抗体-抗原亲合度 (简称抗体亲合度) 概念时, 相近抗体亲合度的两个抗体可能属于搜索空间两个不同的区域, 抑制这样的抗体将导致不能很好地寻得最优解, 对算法寻优过程有害无益;基于欧式距离的计算方法适用于十进制数编码方式, 且有两个常数因子, 调节的难度较大;基于海明距离的计算方法只适用于基于离散编码方式;基于信息熵的计算方法在计算抗体相似度时存在一定的问题[5]。本文提出一种基于常数因子的抗体-抗体亲合度 (抗体相似度) 计算方法, 把常数因子又叫做抗体相似度阈值。

定义1在规模为N的抗体群A中, 任取两个抗体ai和aj (i≠j) , 设ai和aj的亲合度分别为fai和faj, ε是一个比较小的正常数因子, 如果有

成立, 则称抗体ai和aj相似。其中, ε为抗体相似度阈值。

2.2 基于抗体浓度的群体更新和多样性保持策略

在人工免疫系统中, 抗体浓度表征抗体种群多样性的好坏。抗体浓度过高, 意味着种群中非常类似的个体大量存在, 则寻优搜索会集中于可行解区间的一个区域, 不利于全局优化;抗体浓度过低, 寻优工作比较困难。

定义2在定义1的基础上, 与抗体ai相似抗体的个数, 称为抗体ai的浓度dai。

这时, 抗体ai的期望繁殖率 (选择率) Pai可由式 (3) 算出。

式 (3) 中, fai为抗体的亲合度。由式 (3) 可知, 抗体的期望繁殖率与亲合度成正比, 与浓度成反比。抗体的亲合度越大则选择概率越大, 抗体的浓度越大则选择的概率越小。这样既保留了高亲合度个体, 又可减少相似抗体的选择, 确保了抗体的多样性, 改善了未成熟收敛现象, 提高了算法搜索能力。

3.3 算法实现

3.3.1 抗原输入及参数设定

输入目标函数及约束条件作为抗原的输入, 设抗体群N、交叉概率Pc、变异概率Pmm和Pmr。

3.3.2 初始抗体群的产生

识别抗原, 并随机产生规模为N的初始抗体群。

3.3.3 计算亲合度

计算各抗体和抗原的亲合度, 它通常是算法的目标函数。同时将亲合度高的抗体存入记忆细胞库。

3.3.4 算法终止条件判断

判断是否满足终止条件, 是则算法停止, 并输出优化结果;否则继续。

3.3.5 浓度和选择概率的计算

计算各抗体的浓度和选择率。高亲合度概率和低浓度概率的个体的选择概率相对较高。

3.3.6 抗体的促进与抑制

根据浓度进行, 抗体的浓度高, 就受到抑制;抗体的浓度低, 就受到促进。

3.3.7 交叉、变异操作

根据设置的交叉概率Pc进行单点交叉操作在变异操作中, 采用分组变异的方法, 不同的抗体组其变异概率也不相同。具体做法是:将抗体群分成3组, 一组是由亲和力较大的抗体组成, 占总抗体的10%, 存入记忆细胞库, 变异概率Pmm较小, 另一组是由普通抗体组成, 变异概率Pmr较大, 还有一组是由亲和力很低的抗体组成, 占总抗体的5%, 直接用随机产生的新抗体代替, 用于模拟抗体的自然死亡, 以保持抗体的多样性。

3.3.8 群体更新

根据以上操作后群体更新并转到步骤3.3.3。

新的免疫遗传算法流程图如图1所示。

4 仿真实验

4.1 优化复杂函数仿真实验

选择Rosenbrock函数作为优化对象, 进行仿真研究。Rosenbrock函数[5]为

已知它在点 (x1, x2) = (-2.048, -2.048) 处取得最大值3 905.926 227。采用二进制编码方式, 个体长度chromlength=20, 其中前10位代表x1, 后10位代表x2;群体规模PopSize=80;其余参数为:进化代数Gen=500, 交叉概率=0.9, 变异概率Pmm=0.01、Pmr=0.05, ε=0.1, 运行次数为40。为了便于比较和分析, 选择与文献【5】的GA、AIA两种算法的运行结果进行比较。仿真实验结果如表1所示。

从表1可以看出, 本文所提的免疫进化算法NI-GA次次都获得全局最优解, 比GA多18次;虽然NIGA和AIA获得全局最优解、局部解的次数相同, 但NIGA的运行时间远远少于AIA。分析表明, NI-GA能快速收敛于全局最优解。

4.2 优化PID控制器参数仿真实验[6]

对PID控制器参数进行整定, 就是对PID的比例、积分和微分系数进行优化。在数字PID控制系统中, PID控制器输出的控制量u可表示为:

式中, u (k) 为kT时刻的控制量, e (k) 为kT时刻的偏差, kp、ki、kd分别为比例、积分、微分系数[7]。

设被控对象为G (S) =1.1/ (S2+1.6S+1) , 采样时间T=1ms, 输入为单位阶跃信号。为获取满意的系统动态响应特性, 选用误差泛函J (ITAE) 作为参数选取的最优指标, 误差泛函J (ITAE) 为:

现将本文的NIGA和SGA两种算法进行比较设定Kp的取值范围为[0, 20], 而Ki和Kd的取值范围都为[0, 5]。采用实数编码方式, 两种算法初始种群规模为40, 单点交叉概率为0.6, 迭代次数为50次, SGA变异概率为0.01, NIGA变异概率分别为Pmm=0.01、Pmr=0.015, ε=0.1, 将J作为目标函数, 则经过50代进化后, 可以得到如表2、表3所示数据。

通过对表3上数据比较可知, 虽然本文所提的NIGA和SGA两种算法在超调量Mp以及稳态误差ess相同, 但是NIGA在上升时间tr、调节时间ts上要低于SGA, 进一步说明NIGA在整定PID控制器所用时间短, 并且使PID控制器很快到达稳定状态, 其控制效果要优于SGA。

5 结束语

针对基于信息熵以及基于欧氏距离的方法计算抗体浓度和相似度存在的不足, 提出了一种新的免疫进化算法 (NIGA) , 该算法借鉴了生物免疫系统多样性保持策略和抗体抑制与促进等机理, 采用了分组变异以及模拟了免疫细胞进化过程中的自然死亡。仿真结果表明, 本文所提NIGA在运行速度和收敛于全局最优解方面明显优于SGA, 显示了NIGA较强的解决问题的能力。

参考文献

[1]周辉, 李白令, 胡佳庆.旅行商问题的免疫算法.长沙电力学院学报 (自然科学版) , 2003;18 (2) :16—20

[2]云庆夏.进化算法.北京:冶金工业出版社, 1992

[3]凌军, 曹阳, 尹建华等.基于小生境技术的多样性抗体生成算法.电子学报, 2003;31 (8) :1130—1133

[4]郑日荣, 毛宗源, 罗欣贤.改进人工免疫算法的分析研究.计算机工程与应用, 2003;34:35—37

[5]郑日荣, 毛宗源.一种改进的人工免疫算法.计算机工程与应用, 2003;33:55—57

[6]侯志祥, 申群太, 李河清.基于改进遗传算法的PID参数整定及其在加热炉中的应用.计算机工程, 2004;30 (6) :165—167

竞争和合作型协同进化算法 篇8

1 算法设计

1.1 算子设定

为实现上文所提到的目的, 首先给出以

定义2.1:

式中ci代表每个子种群的个体在全局非支配集中所占的个数, 为Pareto最优解集, k代表总的种群个数, 这样li可以称为该子种群的优势度。若存在ci=max{cm}, 则称子种群i为优势种群, 其他种群为弱势种群。

同样, 优势种群在面对可以战胜外部强敌 (即全局约束条件) 的情况下, 尽可能的保存弱势种群的存在性以满足种群的多样性。那么根据式 (2-1) 给出责任度的定义。

首先假设在当前进化过程存在某一子种群为Pt, 而Qt为该子种群在Pareto最优解集中的集。基于多目标优化理论可以知道在子种群Pt在其最优解附近或许可能存在着更优秀的解。基于此理论给出合作算子对Pareto最优解进行局部爬坡操作。

1.2 合作算子

设现有两个父代子种群

其中i=1, 2, 3, …, n通过合作算子的作用, 让两个独立在不同决策空间搜索的子种群Pa和Pb相互引进对方的优秀基因, 以扩大算法的搜索区域。

1.3 竞争——保护算子

设现存在总种群的总个体数为N, 经过第n代进化的种群中每个子种群的优势度分别为, 则其下一代每个子种群的规模大小为, 如果经过计算下一代中的某个子种群的优势度低于预设值, 则清除该子种群。若该子种群由于外部条件必须得到保护, 则根据其他子种群的责任度对该子种群给予保护。

1.4分裂算子

当某个子种群Pt={x1, x2, …, xn}中的个体数目过大时, 该子种群多数个体不易引入其他种群的优势基因, 仅依靠自身种群内部进行的独立进化, 这样种群的多样性会较快的消失, 使得算法发生早熟。设计分裂算子如下:

其中t代表该种群进化的代数, G (0, 1/t) 为满足高斯分布的随机数。

1.3.1 测试函数一

该测试函数为一带约束条件两目标函数, 其主要用于测试多目标优化算法在pareto前沿的收敛的能力。

从表3.1可以看出CCEA算法在Spreed这个指标上具有很大的优势, 从图3-1也可以看出CCEA算法比NSGAII算法在这个测试函数的计算上具有更大的优势。

1.3.2 测试函数二

该函数为带约束的两目标测试函数, 在其约束条件内含有两个可调变量a、b, 本文选取a=0.1, b=16来对CCEA算法和NSGAII算法进行测试。该函数的PFtrue曲线为三段相互之间不连续的曲线, 在对多目标优化算法测试时, 通常对中间一段进行关注, 其主要特点在于这个区段的部分点不易被搜索到, 性能较差的算法在这部分通常表现为断开。该函数因此可以检测算法在pareto前沿的搜索能力。

由表3.2可以看出CCEA算法除了在GD这个指标上占优势以外, 在其他两个指标上并不占优势, 甚至在Spreed这个指标上略有不如。但从图3-2看出来在中间一段曲线上CCEA算法搜索出来的为一条连续曲线, 而NSGAII算法在这部分是断开的, 这可证明CCEA算法对pareto前沿解的搜索性能要强于NSGAII算法。

2 结论

本文基于本文利用大自然中种群竞争和合作的特性, 基于大自然中种群首领在种群遇到外部危险时会对整个种群进行保护的特点, 引入优势度和责任度的概念。提出一种个体之间相互竞争和协助的协同进化算法CCEA来控制各子种群繁殖的数量, 在总的种群个体数量一定的前提下, 使得优势种群拥有更多的繁殖机会, 达到扩大搜索空间的目的, 并迫使弱势种群更多的引入其他种群的优秀基因, 达到增强自身优势度的目的。通过测试报表明该算法可以显著的提高其搜索性能, 对于复杂的多目标优化问题具有较大的实用价值。

摘要:本文基于大自然进化过程中种群之间、种群与环境之间的在进化过程中的协同作用, 提出一种个体之间相互竞争和协助的协同进化算法CCEA (Coexistence co-evolutionary Algorithm) 。基本思想为通过优势度和责任度概念, 来控制各子种群繁殖的数量, 在总的种群个体数量一定的前提下, 使得优势种群拥有更多的繁殖机会, 达到扩大搜索空间的目的, 并迫使弱势种群更多的引入其他种群的优秀基因, 达到增强自身优势度的目的。通过计算表明能有效的增强算法的搜索性能。

上一篇:高考生物解题策下一篇:有感幼儿的素质教育