免疫优化算法(共8篇)
免疫优化算法 篇1
电子商务是近年来最成功的商务形式,它的快速发展在给人们带来便捷的同时,也降低了商家的销售成本并扩大了利润。但是网络销售有其特有的形式,如何维持高的客户满意度和扩大客源是最核心的问题。由于不同于传统的店面模式,在网络条件下用户的流失率非常高,因此为客户提供更加个性化的服务成为电子商务营销面临的最重要问题。
本文首先简要介绍了电子商务个性化推荐技术。然后通过对自然免疫学和人工免疫学理论的研究,在Steve算法问题的基础上,着重讨论了该算法的可并行性问题,提出了算法的并行化版本———并行免疫推荐算法(PINR)。
1电子商务个性化推荐
所谓个性化服务就是指,根据用户的不同情况提供有针对性的服务,使得每个用户都有是该网站唯一用户的感觉。个性化服务需要获取有关用户的知识,建立用户的信息需求模型。利用有关用户的知识,有针对性地获取或帮助用户筛选信息资源,并能够逐渐学习用户需求的变化[1]。
高质量的个性化推荐服务包括如下内涵,推荐的准确性;推荐响应的及时性;以用户为中心。
2人工免疫理论
人工免疫算法是生物免疫理论与计算机科学相结合的产物,生物的自然免疫系统是人工免疫系统的结构和工作原理的重要思想来源[2]。
2.1自然免疫机理
免疫系统最重要的生理功能就是对“自己”(体细胞)和“非己”(抗原分子)的识别和应答。这种识别作用是由免疫细胞完成的。免疫细胞对抗原分子的识别、活化、分化和产生抗体的过程,称为免疫应答。
自然免疫系统是生物进化形成的具有高智能性的防御系统,它具有分布性、并行性和自适应性等许多特性,这些特性能广泛的应用于多个领域。
2.2人工免疫理论的形态空间模型
为了定量地描述免疫系统并将其应用于其他领域,如计算机算法,Perelson和Oster于1979年提出了形态空间理论,指出所有的免疫事件都在形态空间(Shape space)S中发生。这是一个多维空间,每个轴表示一个物理化学的测量方法,用该方法可以描述一个分子形态。分子结构表示成一个点,因而在L维空间(形态空间)中,可将一个点定为抗体-抗原相互作用的特征集。数学上,这种形态被描述成L维字符串或向量。
形态空间是指抗体(Antibody)和与之结合的分子之间的结合程度,以及描述抗原(Antigen)可能性区域的高维空间。形态空间本质上是免疫系统所确认的属性的抽象,通过它能建立和评价免疫系统的简单模型。在形态空间的每一个抗原都有一个特定位置,而且抗原的细微变异都会改变它在形态空间中的位置,所以免疫细胞要发挥作用,就必须在形态空间覆盖足够大的区域,使大多数的变异无法规避。免疫细胞在形态空间覆盖的区域有时被称为刺激球体,因为它能识别形态空间一定区域内的抗原。
2.3推荐问题的形态空间解释
借鉴人工免疫理论中的形态空间模型,可将个性化推荐问题用形态空间的方法加以解释,进而采用人工免疫理论研究的现有成果来对经典的协同过滤算法进行改进。
个性化推荐问题可以借用形态空间模型描述为:目标用户c的所有候选邻居用户U作为抗体决定簇,而兴趣作为抗原决定基。每一个用户u(u∈U)在形态空间中的位置都准确地代表了他的兴趣,抗体识别区域Vε表示用户u(u∈U)可以代表在此区域内的兴趣(该区域不一定是球形)。因为每个用户评价过的项目数量不同,所以其所能代表的兴趣也不一样多,因而识别区域的大小不同;并且由于存在用户评价项目的数量和评分值相似的情况,所以模型中也会存在较多的重叠的情况,即两个用户u1,u2在形态空间中的位置基本一致,代表的区域基本重合。由于目标用户c(可视为抗原)曾经的评价行为存在于推荐系统中,所以c也会在形态空间中有一个位置,但是这个位置不能准确地表征他的兴趣,而仅仅是作为他以前行为的一个兴趣代表点,是一个“临时”的位置。因此要实现向用户c进行推荐的目的,就必须找准他在形态空间中的位置点。采用的方法就是计算空间中每个抗体(用户u)和抗原(用户c)的亲和力,并且认为抗体与抗原“临时”位置点之间的距离越近其亲和力越高,从这些数据中排列出用户c的邻居用户集合,再根据这些邻居来预测出c在空间中的位置,据此进行推荐。
3并行免疫推荐算法
3.1独特性人工免疫网络模型
独特性人工免疫网络,由Jerne于1974年首先提出,该理论在人工免疫基础上将免疫系统视为相互影响和制约的网络[3]。抗原能够被抗体所识别并施加影响,同时抗体之间的作用也影响到各自在免疫网络中的浓度。由于考虑了抗体之间的影响,所以该网络模型能够最大限度的保证免疫系统的多样性,提高系统对抗原的识别率。同时,即使没有抗原的存在,抗体之间的作用网依然存在,从而保证了网络的稳定性。
3.2免疫推荐算法
Steve等人在仔细研究了独特性免疫网络的Farmer的模型基础上,对Farmer的微分方程进行了改进,提出的修正方程并使之可以应用于电子商务个性化推荐算法中[4]。
k1是刺激率,k2是抑制率,k3是死亡率,mi是该抗体和抗原的相似度,xi是该抗体的浓度,mij是抗体之间的相似度,n是网络中抗体数量。
但是由于该算法对于每个目标用户都要进行抗体网络的迭代学习运算,所以算法的响应速度是它最主要的缺陷,因此如何快速找到目标用户的最近邻用户组,进而改善算法的实时响应速度就成为一个重要的改进方向。
3.3算法的可并行性分析
并行算法是一些可同时执行的进程的集合,这些进程互相作用和协调动作从而达到给定问题的求解。在实际应用中,要使其中的若干个程序段能够并行执行,必须使得每段程序与其他各段程序不相关———相关性主要是指数据相关性、控制相关性和资源相关性。
1966年,Bernstein教授提出了一种条件集合的概念,来判断两个进程是否可并行执行[5]。
对于两个进程S1和S2,设R(Si)为Si(i=1,2)的读子集,其值是Si中被引用的变量的集合;W(Si)为Si的写子集,其值是Si中被改变的变量的集合。对于这两个进程S1和S2而言,如果此两个进程互不相关,并且不会产生混沌的输出,那么可以将这些条件形式化表示成如下等式(称为Bernstein条件)
对于多个进程,如果Bernstein条件能够两两成立,那么这组进程就能够并行执行。
3.4并行免疫推荐算法的基本思想
因为Steve的算法中的计算量主要集中在抗原与抗体以及抗体之间的亲和力和抗体浓度的迭代计算上,而计算的本质就是对用户-项目矩阵进行向量间的计算,其间进程之间不需要通信,只是在计算结束后将各个进程的计算结果进行汇总,另外每个进程计算的最终结果存在各自独立的空间中,它们之间也没有并发访问冲突的问题。所以根据Bernstein条件,该问题非常适合于并行化操作,同时还不会对结果的准确性造成任何影响。
鉴于以上分析,本文将Steve算法进行并行化的改进,提出并行免疫推荐算法(Parallel Immune Network Recommendation,PINR)。在算法的设计方面,由于该问题可以十分方便地划分成若干子问题,所以本文采用划分方法中的均匀划分技术设计该问题的并行算法。
具体做法是为抗体网络中的每一个抗体建立子进程,该子进程负责计算该抗体和其他抗体的匹配值(亲和度),以及和抗原的匹配值,在抗体浓度迭代计算时仍然按照该方法进行处理。
3.5算法描述
输入:目标用户描述,所有候选邻居用户的描述。
输出:目标用户的最近邻居集合。
算法将所有候选邻居用户(除去组成初始抗体网络的m个用户)分成K个组,每组为Tlen个用户,每次将一个组的用户加入到抗体网络中进行迭代计算。S1~E1和S2~E2两个阶段是并行计算阶段,其并行度均为All。S1~E1阶段是两步计算,首先是计算抗原(目标用户)与抗体网络中所有抗体(候选邻居用户)的亲和度,其次是计算抗体之间的亲和度,该阶段时间复杂度为O(1+All)=O(All)。S2~E2阶段是进行抗体网络内各个抗体浓度的迭代计算,根据计算公式要求这一步对每个并发的子进程来说都是一个O(All)级的操作。
3.6算法复杂度分析
假设N代表候选邻居用户数量,m是免疫网络的规模,迭代次数为n,K是指定的分组数目,Tlen是每一分组的用户数量,All为在计算中的任意时刻抗体网络中存在的抗体数量。
那么Steve算法的时间复杂度为Ο(Nnm2)。PINR算法时间复杂度为:K(1+All+nAll)(S1~E1和S2~E2程序段是并发执行,其时间复杂度均为O(All)),其中All=Tlen+m,因此上式可简化为K(1+All+n×All)≈K(Tlen+m)n;又因为KTlen=N-m(系统中所有的用户除去抗体网络的初始用户,即为分散在K个分组中的用户),并且当K的值不大时,每个分组的用户数量就会比较多,因而Tlen+m与Tlen相当,所以本算法是Ο(Nn)级的算法。该算法时间复杂度与抗体网络的规模无关,这将对Steve的算法有很大的改进,因此PINR是一种具有很好实时响应度和扩展性的算法。
4实验设计与结果分析
4.1实验环境和数据
机器硬件配置:CPU Intel 2.8 GHz,2 GB内存,320 Gb硬盘;软件环境:操作系统为Linux,用Java编程实现。
采用来自Minnesota大学提供的MovieLens数据集作为检验本文改进算法的实验数据集,数据集包含943个用户对1 682部影片的100 000个评分数据。
4.2实验结果
实验是Steve算法和本文改进的PINR算法的响应时间比较,以Steve算法响应时间作为基准(值为1)。实验中的一些参数和前一个实验设置相同。PINR算法分别使用Java的多线程模拟并行化,和真实集群环境(2台机器)进行的实验。
如图所示,可以看到PINR的响应时间低于Steve算法,特别是使用真实集群环境的结果几乎比原算法快了一倍的速度。
5 结论
本文提出的并行化免疫推荐算法,在不降低推荐质量的基础上极大地缩短了算法的运行时间,并且根据文中的算法可并行化分析方法可以得出,在一定的范围内(与集群中通信量和串行代码长度有关)进一步加大集群的机器数量会进一步降低算法运行时间[6]。
下一步工作的研究重点是完善用户建模技术,降低数据稀疏性,加大用户模型的“维”,从而使得亲和力的计算公式能得到更加准确的结果,进一步提高推荐质量。
参考文献
[1] Adomavicius G.Recommendation technologies:survey of currentmethods and possible extensions.Information Systems Working Pa-pers Series,2004;3(1):1—40
[2]李涛.计算机免疫学.北京:电子工业出版社,2004:30—58
[3] Jerne N K.Towards a network theory of the immune system.AnnualImmunology,1974;1(125):373—389
[4] Cayzer S,Aickelin U.A recommender system based on the immunenetwork.Proceedings Congress on Evolutionary Computation(CEC2002),2002;5(1):807—813
[5] Bernstein A.Analysis of programs for parallel processing.IEEE Trans-actions on Electronic Computers EC-15,1966;10(1):757—763
[6]陈国良.并行算法的设计与分析.北京:高等教育出版社,2009:44—47
简论免疫学检验实验教学的优化 篇2
[关键词]免疫学检验实验教学
教学改革
实验教学在免疫学检验教学中占有十分重要的地位,其在贯穿理论联系实践、培养学生动手能力、创新能力和科研能力等方面具有理论教学所不能取代的独特作用。笔者以提高学生学习兴趣、培养创新思维、提高综合能力为基本思路,对免疫学检验实验教学作了一些改革尝试,以求提高教学质量。
一、调整实验教学顺序
(一)调整实验顺序打破现有模式。医学检验专业现有的教学模式一般都是理论教学与实验教学穿插进行,这种安排破坏了实验教学的整体性、连续性和灵活性。如果将实验教学安排在理论教学结束后,集中独立开设,进行完整的实验教学,这样既能保证实验课与理论课的衔接,又不受理论课教学进度的限制,可合理地安排实验教学内容,使学生有充足的时间完成从实验准备到实验操作的全过程,真正起到理论与实践相互促进的作用。
(二)合理安排实验项目可有效利用时间。免疫学实验项目有严格的时间要求。经常与教学时间不相符,在一定的教学时间内必须合理地安排实验项目,才能有效的利用时间完成教学任务。例如,肥达氏试验需18~24小时后观察结果,按教学计划安排时间进行结果观察,则基本技能操作时间就要相对缩短,实验效果不理想,如在项目安排时,将实验时间富裕的抗0或血型鉴定等项目排在其后,在进行抗0或血型鉴定等项目实验时,先观察肥达氏试验的结果,然后再进行实验,这样既能满足实验要求,又能加强基本技能训练。
二、优化实验教学提高教学质量
(一)更新实验教学内容。要保证实验教学质量,提高学生综合分析能力。实验内容是一个重要方面。在实验教学中以实验教学大纲的要求为基础,根据临床的实际删除一些验证性实验或操作繁杂影响因素又多的实验项目,例如双相琼脂扩散试验、50%溶血法测总补体活性、溶血抑制法测ASO等。增加些临床实用的实验项目,如免疫比浊法、间接免疫荧光法等。通过优化教学内容,保证实验教学的先进性和科学性,以调动学生的学习积极性。
(二)改革实验教学方法。传统教学模式中,教师在上课时先将实验内容、方法、步骤全写在黑板上,然后再给学生详细地讲解一次,等教师讲解和演示完后,学生再模仿教师的操作完成实验内容。这种做法学生根本不需要预习,也很少主动进行思考、分析和总结。结果几次实验后,学生仍不能独立操作和分析试验结果,客观上限制了学生主动获取知识的积极性,学生的学习兴趣没有得到激发,不利于学生能力的培养。针对存在的问题,在实验教学中可取消课前小讲,采取启发式教学,促使学生在每次实验课前要进行预习,了解实验内容。实验课时,教师以提问的方式讲述实验原理和目的,然后在演示实验的同时将重点及注意事项告诉学生,指导学生完成实验,最后学生以讨论的方式分析、总结自己的实验结果。例如,酶联免疫吸附试验测乙肝两对半的实验教学,除了要求学生课前自行查阅课件、预习实验内容外,还要求学生自己准备标本,实验时可以自查或互查。上课时教师把实验的重点及注意事项告诉学生后,指导学生按照试剂说明书的要求来完成实验。这样,学生每次实验都会非常认真地思考操作,在兴趣和快乐中实验。
(三)通过多媒体技术完善实验教学。多媒体教学是通过计算机、网络、多媒体等技术,把文字、图像、声音、动画等多种信息有机组合进行视听教学的方法。多媒体教学应用于医学教育领域,给医学教育注入了新的活力,也已成为教学改革的重要手段之一。在实验教学过程中,充分运用多媒体教学的特点,对于一些验证性实验或操作繁杂影响因素较多的实验项目,例如,E玫瑰花环试验、T细胞亚群的检测等,可以通过视频录象,将实验过程展示给学生。以加深学生的理解和掌握,从而完善实验教学。
三、加强基本技能训练提高学生动手能力
实验课的一项重要内容是进行基本技能训练,如吸管、滴管、微量移液器的正确使用及无菌操作的方法等。在实验过程中教师应严格要求、细心观察,及时纠正不良习惯,针对学生不同特点因材施教,对谨小慎微者,鼓励其大胆操作,增强独立工作能力;对粗心大意者则须加强管理,并以实例讲述粗心导致的严重后果。要求学生牢固树立无菌观念、合理摆放实验材料、正确处理实验用具和废弃物品,注重培养学生良好的工作习惯和工作作风。在实验带教中,带教教师不但需要有一定的理论知识,还需要有过硬的实践技能,不论是实验的操作方法,还是实验结果的观察,都应给学生正确演示,并结合基础理论、操作规程、注意事项等给学生进行讲解,同时将自身的体会及经验毫无保留的传授给学生,使学生学到在书本上学不到的实践技能,从而提高动手能力。
四、完善实验教学效果的评价体系
(一)规范书写实验报告
实验报告是对教师教学效果的考查,从报告中可了解到学生的学习状况、综合分析的能力及存在的问题,为教学方法的改革提供依据。将实验过程纳入考核体系,可以促使学生高度重视每次的实验教学,积极主动地投入到实验中,认真规范地书写实验报告,对搞好实验教学起到一定的促进作用。
(二)改革实验考核办法
以往单一的实验报告成绩很难反映学生真实的实验水平,为了能够达到培养学生基本操作技能和分析解决问题的能力,可将实验报告成绩以50%比例记入实验总成绩,实验过程中的平时成绩占总成绩的25%,学期末的实验技能成绩占总成绩的25%。多年的教学实践证明,加大实验考核对提高实验教学质量是行之有效的。
总之,优化实验教学对于促进实验室建设、提高实验室管理水平及教学质量、加强学生基本技能训练,提高学生动手能力等都具有十分重要意义。
免疫优化算法 篇3
飞机着陆调度ALS(Aircraft Landing Scheduling) 问题作为空中交通流量管理的一个重要组成部分,其高效解决可以提高终端区吞吐量,减少燃油耗费,避免航班延误,因此一直受到学者们的广泛关注[1]。
当飞机进入终端区的雷达扫描范围后,地面的空中交通控制塔将为其分配具体的降落时间,同时需要满足各种操作上的限制,例如,每架飞机需要在其对应的最早最晚降落时间之间降落、每两架飞机之间需要遵循最小间隔时间等[2]。ALS是一个典型的多约束NP难组合优化问题[1]。首先,问题的搜索空间随着飞机数呈指数级增长。假设飞机数为N,每架飞机降落的平均时间窗大小为T,那么搜索空间大小的数量级为Ο(TN)。其次,最终的调度方案需要满足相关约束条件,包括降落时间窗约束和每两架飞机之间的最小间隔时间约束,约束条件的数量级达O(N2)。在繁忙的枢纽机场,进入终端区等待降落的飞机较多,极大地增加了调度的复杂度,同时对算法有效性也提出了更高的要求。
为了更好地解决飞机着陆调度问题,许多研究工作相继展开。在实际情况中,先来先服务FCFS(First Come First Serve)是最简单常用的调度策略,但往往得到的结果较差甚至得不到可行解。Dear认为[3],受到机场调度系统的制约,飞机序列的最终优化方案不应该与FCFS的序列有较大差异,据此他提出了带约束位置偏移CPS(Constrained Shifting Position)的飞机着陆调度算法。Balakrishnan等人在此基础上进一步提出了动态规划的方法[4,5]。由于限制了飞机移动的位置,因此该方法不一定能够得到全局最优解。为了缩小搜索空间,基于分支界限的方法被提出用以解决ALS问题,如混合整数线性规划[2]和混合单纯形算法[6];当飞机数目稍多时,这类方法的计算量过大,搜索时间太长,很难应用于实际情况中。
智能优化算法是解决大规模组合优化问题的有效途径。Ciesielski等人[7,8]采用带有滑动时间窗机制的遗传算法GA(Genetic Algorithm)来优化飞机降落时间;Hu等人[9,10]引入滚动时域控制RHC(Receding Horizon Control)的概念,并结合GA,以最小化整个飞机序列的降落时间延迟为目标,在架数较少时有很好的效果;Zhan等人[11]用蚁群算法替换GA,得出了比Hu更好的结果;Pinol等人[12]实现的Scatter Search和Bionomic Algorithm是两种基于参考集合的线性组合产生新个体的启发式进化算法,作者分别采用了线性和非线性目标函数来测试算法的效果,测试集的飞机架数多达500架;Yu等人[13]引入元胞自动机模型并结合GA,在该测试集上有了新的改进。这类方法在计算后期种群多样性不足,易陷入局部最优,并且问题特点挖掘不够深入,算子没有针对性。因此,收敛速度慢,得到解的质量不高。
本文提出了一种混合免疫克隆算法HICA(Hybrid Immune Clonal Algorithm),来解决飞机着陆调度优化问题。该算法设计了一种实数双链编码,以幅度角的自适应旋转进行解空间的搜索,双链随着幅度角的变化同步更新,保持了种群多样性;启发式的克隆变异通过避免飞机序列局部拥堵,减小局部消耗值来快速找到较优解序列;设计了一种基于禁止子序列的优化算法,能够在给定飞机序列后得到最优的降落时间安排。
1 问题描述
飞机进入空中交通控制塔的雷达检测区域后,每一架飞机将被分配一个着陆时间。考虑到实际操作因素,在分配时需要考虑以下约束:
首先,每架飞机i的降落时间需要限制在一个时间窗[Ei,Li]中,其中Ei是该飞机的最早降落时间,受限制于飞机的最大飞行速度,行驶距离等;Li是该飞机的最晚降落时间,受限制于燃油量等。同时,当飞机以最经济的航行速度飞行时,飞机会在目标降落时间Ti降落。如果最终的降落时间Xi与Ti有偏差,则会产生额外的消耗值Zi。
其次,考虑到飞机降落时产生的尾部气流对后面飞机的影响,任意两架飞机的实际降落时间需要至少保证一个特定的时间间隔,被称为最小间隔时间S。如果最小间隔时间不能满足,则会产生严重的安全隐患。
本文以最小化总额外消耗值Z为目标,确定给定的飞机集合的实际降落时间。每架飞机的消耗值与
变量的定义如下:
N—飞机的数量。
Ei—第i架飞机的最早着陆时间,其中i=1,…,N。
Li—第i架飞机的最晚着陆时间,其中i=1,…,N。
Ti—第i架飞机的目标着陆时间,其中i=1,…,N。
Sij—第i架飞机和第j架飞机的最小间隔时间,其中第i架飞机在第j架飞机前着陆,且i=1,…,N;j=1,…,N;i≠j。
gi—第i架飞机实际着陆时间在目标着陆时间前着陆时,单位时间的消耗值,其中i=1,…,N。
hi—第i架飞机实际着陆时间在目标着陆时间后着陆时,单位时间的消耗值,其中i=1,…,N。
Xi—第i架飞机的实际着陆时间,其中i=1,…,N。
飞机着陆调度最优化问题可以表示为:
Minimize
Subject to Ei≤Xi≤Li (i=1,…,N) (2)
Xj-Xi≥Sij (i=1,…,N;j=1,…,N) if Xi≤Xj (3)
其中Z是全部飞机序列的消耗值,Zi是每架飞机产生的额外消耗值,计算方法如下:
当实际降落时间Xi在目标降落时间Ti之前降落,则其产生的消耗值为gi(Ti-Xi);当实际降落时间Xi在目标降落时间Ti之后降落,则其产生的消耗值为hi(Xi-Ti)。
2 混合免疫克隆算法
基于克隆选择原理的免疫算法模拟了生物的免疫过程,具有良好的全局搜索能力。通过对抗体的克隆和高频变异,算法在未知空间的探索和对已知空间的挖掘上得到了很好的平衡。本文针对ALS问题设计了一种混合免疫克隆算法,使用全新的编码方式,加入了启发式变异得到较优的飞机序列,同时设计了高效的优化算法确定最优的降落时间。
2.1 抗体编码
为了增强种群的抗体多样性,减少频繁的解码过程,以及考虑到每架飞机有时间窗的约束,受到文献[14]启发,本文设计了一种实数双链编码来表示抗体。每个抗体qi表示如下:
每个抗体含有一条正弦链和一条余弦链,对应着问题的两个解。每个基因位的取值范围为[0,1],表示该飞机的实际降落时间占时间窗[Ei,Li]的比例,其值通过计算幅度角θ的正余弦值得到。同一个抗体的正弦链和余弦链的第j个基因位拥有相同的幅度角θj,它决定了对第j维空间的搜索幅度。在迭代过程中,两条链的解随着幅度角的变化同步更新。一方面可以通过控制幅度角增量的大小来调节搜索的粒度,另一方面也保持了抗体的多样性。
2.2 克隆算子
第t代的种群Q(t)中的抗体按照与亲和度F成正比克隆抗体,假设原种群Q(t)={q
Θ(Q(t))={Θ(q
={q1′(t),q2′(t),…,qn′(t)} (5)
每个抗体q
其中NC为总的克隆规模,Ci为集合qi′(t)的大小,F(q
其中minCost和maxCost分别为种群中抗体对应的最好解和最差解的消耗值,Costi为第i个抗体的较好链对应的消耗值。克隆之后的群体为:
2.3 抗体更新策略
本文采用幅度角旋转和克隆变异两种方式来更新抗体。幅度角度的改变可能导致飞机序列的改变,改变幅度角可以完成对解空间的搜索。本文设计了一种自适应性的幅度角旋转策略,使得算法在搜索过程中粗细有度,同时较好地保持抗体多样性。然而,幅度角旋转搜索范围有限,因此引入启发式的克隆变异有助于探索新的未知空间,减少搜索时间。
2.3.1 幅度角旋转
当满足幅度角旋转概率PR时,从抗体中选择亲和度高的链,与历史最优解gbest进行比较,旋转方向即为gbest对应的幅度角方向,表示为:
其中θij为第i个抗体中第j架飞机对应的幅度角,Δθi为第i个抗体每一位的幅度角改变值,θ
为了使得搜索过程有效且快速,旋转角度的大小按照各个抗体的克隆规模来确定。二者的函数关系表示为:
其中Δθ0是一个可调的旋转角度控制参数,Ci是第i个抗体的克隆规模。当抗体质量较高时,克隆规模增大,旋转角度减小,种群在较优解附近进行细粒度搜索,避免幅度过大越过最优解;当抗体质量较低时,克隆规模减小,旋转角度增大,种群在较差解附近进行粗粒度搜索,有助于快速跳出较差解,加快算法收敛。
2.3.2 克隆变异
克隆变异可以避免抗体陷入早熟,帮助算法探索更多未知空间,增强种群多样性。传统的随机变异过于盲目,没有充分利用问题本身具有的特点,得到的效果不够明显。本文针对飞机着陆调度问题设计了启发式的变异算子。
当飞机与前面或者后面飞机之间的实际降落时间恰好满足最小间隔时间时,则称这些飞机在同一个紧致子序列CSS(Compact Subsequence)中。一般而言,CSS越大,表示在该时间段内的飞机越拥挤,每架飞机在目标降落时间降落的可能性越低,造成的局部消耗值也越大。因此,飞机数量越多的CSS,被优化的可能性也就越大。按照紧致子序列大小来选择一个子序列:
其中pcsi是选择第i个CSS的概率,li是该CSS的长度,Ncs是所有长度大于1的紧致子序列的个数。当CSS越大时,被选中的概率越大。
在同一个CSS中,为了降低单位平均消耗值,可以将单位提前消耗值g小的飞机安排在前面,或者将单位延迟消耗值h小的飞机安排在后面。这样会使得后面的飞机由于提前降落产生的消耗值减小,或者前面的飞机由于推迟降落产生的消耗值减小。因此,可以按照式和计算选择飞机的概率。
其中pfi和pbi分别是该CSS中第i架飞机被选中前移和后移的概率。
g(h)较小的飞机,往前(后)移动可以缓解CSS中其他飞机的拥堵情况,会使得整个局部消耗值减小的概率增大。所以,选中的飞机向前(后)插入位置的概率应与原位置的距离成正比。假设选中的飞机的紧致子序列在整个飞机序列中所占的下标范围为[a,b],该飞机的序列号为z,同时考虑到时间窗的限制,其可行序列范围为[c,d]。每个位置被选中的概率为:
式(14)表示的前移时选中位置的概率,式(15)表示后移时选中位置的概率。
当满足变异概率PM时,选择抗体中较好的链进行变异。如果经过变异的序列更优则更新抗体,否则不更新。
2.4 基于紧致子序列的优化算法
通过对抗体进行克隆和更新操作,可以得到一些较优的飞机序列。序列中的紧致子序列CSS中的飞机具有密切的联系。这些飞机根据降落时间构成了一种前驱后继关系,如果第i架飞机与第j架飞机的降落时间之差恰好满足最小时间间隔,且i<j,则称i是j的直接前驱,j是i的直接后继, 分别记为i→j,i←j。一架飞机可能有多个直接前驱或者直接后继,互为直接前驱和后继的两架飞机之间也有可能存在飞机。
假设一个大小为9的CSS,其前驱和后继关系如图 1所示。
首先从1开始对整个CSS进行广度优先遍历,并记录下其所有的无后继结点5,8,9,放入集合noBack。每个结点有一个能够前移的最大距离maxFm,其受到与前面飞机的最小间隔时间的约束。如果飞机此时的实际降落时间比Ti大,向前移动一个单位会使得消耗值减小hi;反之增加gi。因此,最大前移距离maxFm还受到Ei和Ti的影响,可表示为:
maxFmi=min{αi,min{Xi-Xj+moveablej-
其中moveablei是第i架飞机能够前移的距离。moveablei受到maxFmi和所有前驱的moveable值影响,因为所有飞机的前后次序关系不能发生改变,因此moveablei不能大于前面飞机的moveable。从1号飞机开始,遍历其所有后继即可得到每架飞机的moveable值,可表示为:
moveablej=min{maxFmj,min{moveablek|∀k→j}} (18)
在一个CSS中,初始化Fuc
然后,通过从无后继结点开始往前遍历,得到每个结点的实际移动距离。如果结点i的累积Fuci小于零,则表示从该结点开始向前的前驱结点一起移动相同的距离后会减少整个消耗值,所以实际移动距离moveDisi=moveablei;如果结点i的累积Fuci大于零,则表示从这个结点开始向前的前驱结点一起移动相同的距离会增加整个消耗值,所以其实际移动距离应该是所有直接后继的实际移动距离的最大值,如果该结点是无后继结点,则moveDisi=0。
当两个互为前驱后继的结点的moveDis不同时,则会发生断链,即二者之间的时间差已经大于最小间隔时间。此时,作为后继的结点如果在删除该链之后变为一个无前驱结点,则需要重新考察以该无前驱结点开始的CSS,看是否有前移的可能。从5,8,9开始往前遍历,计算出各个结点的实际移动距离moveDis,在2→3,7→9处会发生断链,此时需要重新考察以3和9开头的CSS,直至所有结点的moveDis都为0为止。
后移调整算法与上述前移算法类似。当对飞机序列进行前移调整和后移调整均没有更新时,即可得到最优的降落时间。
2.5 克隆选择
抗体被更新和优化后,优秀的抗体被保留,较差的抗体被清除。为了避免早熟,增强种群多样性,本文选择每一组克隆集合中的最优抗体作为保留。即第t+1代的第i个抗体q
2.6 算法步骤描述
根据前面的描述,本文提出的混合免疫克隆选择算法详细步骤如下:
Step1 令t=0,初始化种群Q(t),每个抗体的余弦链中的飞机按照目标到达时间排序,实际降落时间为满足最小间隔时间约束且最接近Ti的时间,再根据余弦链中的幅度角计算正弦链。
Step2 计算抗体亲和度,而后根据2.2节中描述的克隆算子克隆种群Q(t),得到克隆后的抗体群Q′(t)。
Step3 根据幅度角旋转概率PR确定Q′(t)中每个抗体是否进行幅度角旋转更新,如果是,选择较好的链按照2.3.1节中描述的方法更新抗体,而后使用2.4节中的方法得到最优降落时间。
Step4 根据克隆变异概率PM确定Q′(t)中每个抗体是否进行克隆变异,如果是,则采用2.3.2节中描述的方法进行变异,使用2.4节中的方法得到最优降落时间。
Step5 根据2.5节中的克隆选择规则,从Q′(t)中选择新一代的抗体Q(t+1),并更新历史最优解gbest。
Step6 如果满足结束条件,则算法结束,输出gbest;否则,令t=t+1,转Step2。
3 实 验
为了测试混合免疫克隆算法的有效性,本文分别在静态和动态两种应用场景进行测试。静态飞机序列采用一个基准库来进行实验。该数据集由Beasley[15,16]提出,并被相关工作广泛采用[2,6,12,17]。其一共包含了13组飞机序列,飞机数量从10架到500架不等;动态飞机序列分别来自文献[9](30架)和文献[10](20架)。算法使用Microsoft Visual Studio 2008,C++编程实现,运行在Intel Xeon 2.3GHz的PC上。
参与比较的算法有:Scatter Search(SS)和Bionomic Algorithm(BA) [12],启发式进化算法,给出了对标准集测试的所有运算结果;Cellular Automata Optimization(CAO)[13],基于元胞自动机的优化算法,能够快速得到较优的飞机序列;Receding Horizon Control(RHC)- Ant Colony System (ACS)[11],在动态飞机测试序列上给出了最优的结果,并指出其比文献[10,18]设计的算法性能更优。
在静态航班着陆调度问题中,程序独立运行100次,种群大小为5,克隆规模为20,每一次迭代代数200,幅度角旋转最大值0.05π。
为了探索幅度角旋转概率PR和克隆变异概率PM对算法效果的影响,本文测试了不同的PR,PM在第9组和第11组飞机序列上的运行结果,如图2所示。PR对程序的运行时间影响较小,过大或者过小的PR得到的解都较差;随着PM的增大,解的质量得到明显提升,然而计算时间也基本呈线性关系增加。为了在寻优的质量和性能上取得平衡,后面的实验中取PR为0.6,PM为1。
静态飞机测试集的前8组规模较小,最多具有50架飞机,文献[12]给出了对应的最优解,对比实验结果如表1所示,其中HICA对应的时间是运行100次后取得的平均值。从表中可以看出,混合免疫克隆算法不仅在所有序列上均可以得到最优值,而且效率极高,远远高于SS和BA算法,在前4组测试序列上运行时间略高于CAO算法,但是后4组计算所用时间更少,且第8组得到的结果要好于CAO算法,这主要是因为确定性的优化实际降落时间算法更高效。HICA最长的平均运行时间不到0.5s,最短的小于0.004s,在广度寻优和深度搜索上取得了较好的平衡。
注:N表示飞机架数,Zopt表示最优解对应的消耗值,Z表示各算法对应的最好解的消耗值,T为运算时间,HICA表示混合免疫克隆算法
Beasley给出的后5组序列规模较大,目前还没有得到最优解。文献[12]给出了目前已知的最好解。对比实验结果如表 2所示,HICA和CAO算法在收敛速度上都远远高于SS和BA算法。虽然第10组和第12组的HICA结果略差于CAO,分别为3.6%和2.2%,但是计算效率却高出48.2%和37.8%。而且,当飞机数高达500架时,HICA解质量和运行时间上的优势更加明显,说明该算法的复杂度受到飞机规模影响较小。
注:N表示飞机架数,Zbest表示最优解对应的消耗值,Z表示各算法对应的最好解的消耗值,T为运算时间,HICA表示混合免疫克隆算法
为了验证启发式变异(HICA-H)的有效性,使用随机变异(HICA-R)在第11组至第13组标准集上进行测试对比,算法的其他步骤相同。随机变异的运算代数为500代,结果如表 3所示。HICA-H的运算时间明显少于HICA-R,而且其第11组和第13组的最好解,平均解都要好于HICA-R。使用针对ALS设计的启发式变异算子,HICA平均运行时间更短,得到的解的平均质量更高。
注:N表示飞机架数,T为平均运算时间,Z表示最好解的消耗值,
滚动时域控制RHC(Receding Horizon Control)是处理动态飞机着陆调度问题的有效策略,它将时间分段,每次只计算最近的若干个时间段的飞机,从而达到降低计算量,提高算法收敛速度的目的。文献[11]提出的ACS-RHC比文献[10,18]的效果更好,因此我们将RHC-ACS与RHC-HICA加以对比。这里的两个飞机序列Case1和Case2参数与上面提到的静态飞机序列参数略有不同,只需将Ei设置为Ti,Li为较大的整数,gi和hi均设为1即可。RHC-HICA算法中时间片为150,每次滚动时域包含4个时间片。程序独立运行100次,最终的结果如表4所示。两种算法所能够得到的最好结果Zbest均相同,但是从平均结果
注:N表示飞机架数,Zworst为最差结果,Zbest为最好结果,
4 结 语
本文提出一种混合免疫克隆算法用以解决飞机着陆调度问题。采用实数双链编码来表示抗体,通过幅度角自适应的改变和启发式的变异更新抗体。设计了一种高效的确定性算法在飞机序列不变的情况下优化最终的降落时间。实验结果表明,该算法在静态和动态不同问题背景下收敛速度快,得到解的质量更好。
摘要:飞机着陆调度是一个多约束NP难的组合优化问题。设计一种混合免疫克隆算法,采用双实数链编码,通过幅度角旋转同步更新,保持种群多样性;利用启发式变异算子进行广度寻优,得到较优秀的飞机序列;为加速深度探索,提出一种高效的确定性算法帮助优化飞机的实际降落时间。实验表明,在静态以及动态不同的问题背景下,该算法都可以在极短的时间内得到最优解,具有较好的全局寻优能力和较快的收敛速度。
免疫优化算法 篇4
随着信息技术和互联网的迅速发展, 影视资源正逐渐从匮乏的年代走进了过载的时代。目前, 无论是观影用户还是电影系统都遇到了前所未有的挑战。用户为了寻找自己喜欢的电影资源, 常常需要频繁地从海量电影中进行筛选, 不仅浪费时间, 还找不到感兴趣的电影资源, 大大降低了用户的观看兴趣;而对于电影系统, 让电影资源能够高效地满足不同品位的用户, 提高电影资源的利用率, 也较为困难[1]。因此, 一个高效的电影个性化推荐系统就显得十分重要。
1 电影个性化推荐系统
通常情况下, 传统的电影推荐系统主要是向用户推荐某一类电影, 使得推荐准确性提升。但是, 容易使得推荐的电影十分相似, 出现“千篇一律”的感觉, 缺乏新颖性, 已经不能满足用户的需求。因此, 必须得考虑新颖性指标, 才能满足用户的需求。
电影个性化推荐系统是通过采集并了解用户的观看行为兴趣偏好以及评分记录, 最终为每一位观影用户提供有针对性的“量身定做”式的电影推荐列表。
在电影个性化的推荐系统中, 把准确性和新颖性作为两个目标函数进行优化, 此多目标优化问题是一个NP问题, 更适合用智能化的方法来求解。本文采用免疫优化算法对电影个性化推荐问题进行求解, 向观影用户提供一组既准确又新颖、令人满意的电影推荐列表。
2 算法实现
2.1 免疫优化算法
免疫优化算法是一种智能化的算法, 它是通过模拟人类免疫系统清除异己, 保持健康状态的原理而产生的。在求解过程中, 把问题看作为异己的抗原, 把要求的解看作为抗体, 通过发生免疫反应, 得到最佳的解决方案。免疫优化算法具有无组织自发性、特异性高以及鲁棒性强的优点。在全局搜索和局部搜索方面表现十分突出。在寻优问题、安全监测、资源分配等众多领域有着十分卓越表现和相当大的潜力。
2.2 两个目标函数
在电影个性推荐系统中, 把准确性和新颖性建模成两个目标函数最大化的问题。准确性作为一个目标函数, 能够衡量出用户的兴趣偏爱以及个人品位, 电影的推荐准确性越高, 说明推荐越接近用户的喜好, 越能满足用户的观影需求。
新颖性在很大程度上为用户提供一种全新的感受, 观影的用户大多数没有太明确的目标, 新颖性越高表示推荐的种类越丰富, 越能为用户发现新的喜好。
2.3 关键技术
在电影个性化推荐系统中, 个体编码方式是一个比较关键的技术。根据观影用户和电影存在多对多的关系, 免疫优化算法的一个抗体对应的是电影个性化推荐系统中一条推荐列表, 一条推荐列表包含n个推荐电影项目;多条推荐列表组成一个集合, 表示为不同的用户提供不同的推荐, 就相当于多个抗体组成一个抗体种群。
在算法中有两个重要的算子:交叉算子和变异算子。这两个算子都是为了让算法的性能更加优秀。在交叉和变异中应该遵循的原则是:完全相同项目的电影项目不能在一个电影推荐列表中列表中多次出现。
交叉发生在两两个体之间, 两个个体都相同的项目保持不动;不同的项目执行交叉操作, 按照交叉概率确定新的位置。变异算子发生在单个个体中, 目的是增加种群的新颖性, 使得种群不致于陷入局部最优。
2.4 算法过程
电影个性化推荐中, 为多个用户提供不同的电影推荐列表, 是通过抗体种群发生多次迭代, 进而产生得到折中最优解。免疫优化算法的具体步骤如下:
步骤1:随机地产生初始抗体种群A。设置实验的终止条件。
步骤2:亲和度函数计算, 对抗体种群A中的抗体进行亲和度计算。
步骤3:对抗体种群A实施交叉、变异操作, 得到新的抗体种群B。
步骤4:对抗体种群B实施免疫选择, 从中选中top-N个优秀的抗体, 得到新的抗体种群, 作为下一代候选种群A。
步骤5:判断终止条件。当满足终止条件时, 输出最佳方案;否则进入步骤2。
3 仿真实验
为了验证基于免疫优化算法的电影个性化推荐系统的效果。本文采用Group Lens Research项目收集的Movielens数据集, 在实验中对参数进行了设置, 其中最大迭代数gmax为500, 推荐列表长度为10, 种群大小N为50, 交叉概率为0.8, 变异概率为0.1。然后通过运行实验, 取不同的方案的准确性与新颖性的值如表1所示。
从表1中可以清楚地看出, 不同的解决方案的准确性和新颖性是不同的, 准确性较高的推荐新颖性相对较低, 反之同理。因此, 在之间可以找到折中的解, 可以为用户提供准确性和新颖性都较高的电影推荐列表。
4 结束语
本文利用免疫优化算法对电影个性化推荐系统中的准确性和新颖性进行了优化。通过仿真实验, 结果表明了算法能够很好的电影的推荐最佳方案。随着用户和电影资源的不断增加, 个性化推荐系统也将面临一些新的挑战, 这是下一步继续研究的内容。
摘要:本文针对传统电影推荐系统中缺乏新颖性的问题, 提出一种基于免疫优化算法的求解方法。该算法将准确性和新颖性作为两个目标函数, 通过免疫优化算法的原理, 设计了个体编码、交叉算子以及变异算子。仿真实验结果表明, 免疫优化算法能够有效地求得最佳解决方案, 为用户提供准确性和新颖性都较高的电影推荐列表。
关键词:免疫算法,个性化推荐,电影
参考文献
[1]项亮.推荐系统实践[M].北京:人民邮电出版社, 2012.
[2]F Ricci, L Rokach, B Shapira, PB Kantor Recommend-er systems handbook[M].Springer, 2011.
免疫优化算法 篇5
以保障供应、成本优化为目标,对基建类、运维类和办公用品三大类物资实行差异化供应保障策略。其中,对于供应量大、时限性强的基建类物资,以需求计划为依据,采用供应商直送到现场的交货方式;对于收发频率较高的办公用品类物资,采用“超市化采购”模式,组织供应商直接将物资配送至办公桌;而对于领用频繁、需求随机的运维类物资,则需维持一定数量的仓库,建立需求响应的配送调度机制[1,2,3,4]。
电网公司运维物资仓库属于仓储网络的物流节点部分,仓库布局的合理与否,将会直接影响到仓储系统的服务水平、电力物资管理中存在仓库归属分散的问题,缺乏统一管理、协调调度,因而造成物资流通不畅、重复采购[5]。针对现有电力仓储系统布局问题和配送管理要求,建立双层选址模型并通过启发式中心聚类算法进行求解[6],该模型也被用于“一级仓+急救包”的省级物流网络分级管理模式[7]。以降低电力物资仓储和配送成本为目标,通过构建CFLP模型选择合适的仓库作为配送中心[8],随后又针对电力物资集约化管理和物资配送的时效性要求,利用集合覆盖模型进行电力物资周转库布局优化[9]。利用Flexsim软件构建电力物资仓储配送体系的仿真模型[10],通过线性规划方法建模,并利用Lingo软件对仓储配送网络进行优化及求解[11]。
物流节点的布局选址问题多属于非凸、非光滑且带有复杂约束的NP-Hard问题,因而相较于传统的运筹学方法,智能算法更有利于模型求解,本文通过免疫优化算法来解决省级电网物资仓库网络布局优化问题。
1 电网物资仓库节点规划
1.1 仓库节点规划目标
1)保障供应:以服务水平可用最大配送距离加以约束,决定了仓库的最少数量以及库与库间的最大距离。
2)降低成本:在保证供应前提下,尽量与集约化管理模式相一致,采用“大仓储、大配送”的运作策略,降低成本、增加效益。集中大规模仓储与分散小规模仓储相比,可以提高作业效率、减少仓库费用(包括建设费用、管理费用、库存积压等)。通常电网物资的存储成本远高于配送成本,且集中存储有利于统一协调和调度。因此,在一定的服务水平下,应尽量减少仓库数量,降低仓储系统总成本,包括存储成本和配送成本。
1.2 电网物资仓库布局规划原则
1)适应性原则。仓库与需求分布相适应,与电网企业发展方向相适应。
2)协调性原则。以仓储网络为系统协调各仓库节点,使整体目标最优。
3)经济型原则。在保证供应前提下,以总成本最小为目标进行布局规划。
2 电网仓库布点优化方向
按电网企业物资集约化管理的思路,以省公司为单位,整合并优化仓库网络布局,以期逐步形成“中心库信息集成、区域库集中储备、周转库分级配送”的三级仓储配送体系,减少仓库数量和闲置物资储备量,提高库容利用率。电网企业运维物资的仓库网络结构如图1所示。
总公司中心库将各省公司物资库存信息存储于虚拟仓库,省公司中心库负责省内物资库存信息的存储,虚拟仓库的作用在于实现库存信息共享、统一管理及合理调度;省级、地市区域库负责物资的集中储备,并向各周转库进行物资配送;地市、县级周转库负责运维物资至需求点的二次配送。中心库为虚拟仓库,存储信息而非实物;区域库为实物储备型仓库;周转库为实物流通型仓库。
3 电网物资仓库网络布局优化模型
本文对电网物资仓库网络布局优化模型做如下设定:
1)区域库和周转库均在原有仓库网络中选定,不新建仓库;根据实际需求,对最终确定的仓库可进行扩、改建,其费用暂不考虑。
2)每个需求点有且仅有一个上级仓库对其配送物资,暂不考虑同级仓库间的物资调拨情况。
3)区域库选址时,不考虑供应商对其发生的送货费用;周转库选址时,不考虑区域库对其发生的配送成本。
基于以上假设,在保障供应水平即采用最大配送距离约束L的条件下,从n个需求点中找出尽可能少的仓库节点以降低仓储费用,并以最低配送成本实现需求点的全覆盖,建立电网运维物资仓库的布局优化模型如下所示:
目标函数为:
约束条件为:
其中,目标函数(1)表示各备选库到其覆盖需求点的总配送费用最小;
n既表示需求点的数目,也表示备选仓库的数目,即所有需求点均为备选库;(注:在区域库选址中,需求点表示所有原仓储网点;在周转库选址中,需求点表示其所在的区域覆盖范围内的所有原仓储网点,即需求点是相对的)
γ表示计算调整系数,代表统一运费率;
ωi表示第i个需求点的物资需求量;
dij表示需求点i与备选库j的之间的距离;
yij表示第i个需求点是否由第j个备选库进行配送,1为是,0为否;
xj表示第j个备选库是否被选中,1为是,0为否;
L表示最大配送距离约束,根据配送响应性要求设定;
式(2)表示最终确定的仓库数目为m,m取满足L约束下的最小数;
式(3)表示每个需求点i都有且只有一个备选库j对其进行物资配送;
式(4)表示要求需求点i到备选库j的距离不大于最大配送距离约束L;
式(5)表示xj和yij是0-1变量。
4 基于免疫优化算法的模型求解
4.1 免疫算法的基本思想
生物免疫系统是一个高度进化的生物系统,旨在区分外部有害抗原和自身组织,从而保持机体的稳定,具有产生抗体、自我调节和免疫记忆等特征。人工免疫算法是受生物免疫系统启发而兴起的一种智能算法,通过学习外界物质的自然防御机理,提供噪声忍耐、无教师学习、自组织、记忆等进化机理,利用免疫系统的产生和维持机制来保持群体的多样性,克服了一般寻优过程特别是多峰函数寻优过程中难以处理的“早熟”问题,最终求得全局最优解。
免疫算法对自然免疫系统中的生物学术语赋予了新的含义。在基于免疫算法的电网运维物资仓库布局优化模型中,抗原表示模型的目标函数及约束,是免疫算法的始动因子和重要度量标准;抗体表示模型中的备选库,即备选区域库和备选周转库;抗体---抗原亲和力表示选址策略对应的目标函数值;抗体---抗体亲和度表示模型中各备选库之间的欧式距离;记忆单元是由特定抗体组成的抗体群,用于保持种群多样性及最优解;克隆是结合选择、扩展、交叉、变异的综合算子。
4.2 免疫算法的流程
免疫算法流程如图2所示,具体求解步骤如下:
1)识别抗原。分析问题并建立模型,选择合适的目标函数、约束条件。
2)产生初始抗体群。随机产生N个个体,并从记忆库中提取m个个体,构成初始抗体群。
3)计算抗体适应度。以个体期望繁殖率P为标准,对各抗体进行评价。
4)产生记忆细胞。以P为标准对抗体群降序排列,取前N个个体构成父代群体,取前m个个体存入记忆库。
5)判断是否满足终止条件。是则结束,输出结果;反之继续下一步操作。
6)产生新抗体群。对抗体群进行选择、交叉、变异操作,再从记忆库中取出记忆的个体,构成新一代抗体群。
7)转去执行步骤3。
5 实例分析
某省级电网公司的仓储网络系统分散,其5个地级市营业区域共包括45个县(区、市)级仓库网点,各自为政、信息不畅,不利于物资的统一调配和集约化管理。现以电网公司“中心库信息集成,区域库集中储备,周转库分级配送”的三级仓储配送体系为依托,对该省电力物资仓库布局情况进行优化。原仓库布局网点如图3所示,各仓库经过规范化处理后的需求量数值见表1。
在MATLAB中利用免疫优化算法进行求解。首先,以最大配送距离L=300km为约束,得到3个区域库的分布情况如图4所示,免疫算法收敛曲线见图5。
考虑到各地级市物资仓库的统一管理,以实现区域库覆盖某地级市全部需求点为最优准则,对图4中的区域库覆盖范围进行略微调整,如图6所示。
图6表明,对地级市1(区域1)和地级市5(区域2)分别设立1个区域库,地级市2、3、4(区域3)的原仓库网点布局比较紧凑,因而只设立1个区域库。3个区域库负责其覆盖范围内需求物资的集中储备,并向区域内周转库进行配送。
考虑到电网物资的配送响应性要求,分别对3个区域再次进行周转库布局选址优化。取最大配送距离L=100 km,利用免疫优化算法进行二次求解。由于地级市5(区域2)以现有的区域库对各需求点进行配送已经能够满足100 km的距离约束,因而不再设置周转库。区域1和区域3的周转库分布情况及配送路径规划分别如图7、图8所示。
将模型求解结果中的区域库、周转库分布情况进行汇总,得到该省级电网公司的仓库布局优化方案如图9所示,相应的配送路径如图10所示。其中,区域1、区域3中的粗线代表区域库至周转库的一级配送,细线代表周转库至需求点的二级配送,区域2中的区域库即为周转库,无二级物资配送模式。
此外,在实际操作过程中,还应考虑一些现实因素,包括地理位置、交通状况、市政规划、库容库量、应急条件等,结合实际需求对理论结果进行适当调整,最终确定优选方案。
6 结束语
本文依据电网物资集约化管理的要求,针对省级电网公司仓储网点分散的现状,对运维物资仓库布局优化策略进行研究。文章以总成本最小为目标函数,引入最大配送距离约束,构建省级电网运维物资的仓库布局优化模型,利用免疫优化算法进行求解,得到区域库、周转库的最优选址结果及相应的配送路径,对实际运作中的仓库选址问题、配送优化问题,具有一定的理论指导意义。
本文主要研究一级、二级仓库选址问题,配送路径是选址确定后的附带产物,对实际配送的一些影响因素并未在模型中加以考虑。然而,随着物资集约化管理的不断完善,仓库数量将会继续减少,快速响应的配送服务将成为仓储网络高效运作的支撑。因而,有待于对电网物资集约化管理下的配送路径优化问题进一步深入研究。
参考文献
[1]郑宝森.国家电网公司物资集约化管理[M].北京:中国电力出版社,2012.
[2]王慎言.电力企业物资供应管理[J].云南电力技术,2007,01:53.
[3]朱聪.电力物资供应项目管理初探[J].云南电力技术,2005,01:55-56.
[4]陈武.电力企业数字化物资管理[J].云南电力技术,2009,06:67-68.
[5]李正忠,刘佳宾,李涛.电力物资仓储管理现状与优化策略[J].中国储运,2011,12:101-102.
[6]李婷,胡庆东,张国英,等.电力物资仓库布局选址问题研究[J].物流科技,2011,07:62-65.
[7]欧安杰,谢晓文.省级电网企业物流网络布局优化方法及建设探讨[J].中国电业(技术版),2013,04:57-60.
[8]刘春辉,刘鹏,王改丽,等.基于CFLP模型的电网企业物资仓储网络布局优化[J].经济研究导刊,2014,31:20-21.
[9]刘春辉,刘鹏,赵艳丽,等.基于集合覆盖的电力物资周转库布局优化研究[J].现代商贸工业,2015,03:59-61.
[10]段雪松.张家口供电公司仓储配送网络规划优化研究[D].华北电力大学,2014.
免疫优化算法 篇6
模糊控制策略是解决非线性和复杂控制问题的一种有效的智能控制方法[1]。模糊控制器的设计通常需要专家经验并要对众多的参数进行整定以达到满意的控制效果。这样一个依赖于专家经验的人工寻优过程会给工程应用带来不便。目前, 很多学者致力于用进化算法来优化模糊控制器的参数[2,3,4], 但是很少有文献提出对控制决策表进行优化。控制决策表是模糊控制器的重要组成部分, 在实时控制中是影响控制效果的关键因素。另外, 用于参数优化的进化算法往往需要调整很多参数, 给优化的实现带来了难度。
基于传统粒子群算法 (Particle Swarm Optimization, PSO) 提出的量子粒子群算法 (Quantum-behaved PSO, QPSO) 具有计算机实现简单、鲁棒性强、可调参数少的优点。本文给出一种免疫量子粒子群算法 (QPSO-immune Algorithm, QPSO-IM) , 它根据系统所要达到的性能指标来优化模糊控制器中的控制决策表, 使模糊控制规则更加完善。该算法将免疫算子引入QPSO算法中, 在保留原算法优点的基础上提高了算法的全局搜索能力。模糊控制器和控制决策表的优化设计在SCON-2000模糊控制平台进行了工程化实现, 在对水箱液位模糊控制中取得了令人满意的控制效果。
2 模糊控制系统简介
常规模糊控制系统如图1所示, 其控制可分为模糊化、模糊推理和解模糊三步。
模糊化就是将基本论域上的精确量:误差e和误差变化率ec, 变换为量化论域上的模糊集的过程。模糊推理过程就是对模糊输入量根据制定的模糊规则和模糊推理方法进行模糊推理, 求出模糊输出量, 继而通过解模糊求得确定的控制量。为提高系统的实时性, 通常是根据上述过程离线计算出控制决策表用于控制。水箱液位模糊控制的控制决策表如表1所示。控制过程中, 根据输入信号e和ec查询控制决策表, 所得增量按比例转换后再施加于被控对象。
在系统投运时, 仅基于专家经验构成的控制决策表往往是不完善的, 还要对控制决策表进行参数整定以取得满意的控制效果。由表1可以看出, 控制决策表是一个13×15的实数矩阵, 其参数的人工整定不仅需要丰富的专家经验, 还要耗费大量时间。因此, 控制决策表的自动调整优化是一项具有实际意义的工作。
3 基于QPSO-IM算法的控制决策表优化
3.1 QPSO算法简介
传统粒子群算法将算法中的可行解看作没有重量和体积的粒子, 粒子在n维搜索空间中追随本身目前所找到的最优位置和整个粒子群所找到的最优位置进行迭代飞行[5]。
Sun等人从量子力学的角度提出了一种新的PSO算法模型——量子粒子群优化算法 (QPSO) 。研究结果证明, 在保证种群规模的情况下, QPSO算法的搜索能力优于PSO算法, 而且QPSO算法的参数少, 更容易实现控制[6]。设粒子i的当前位置为xi= (xi1, xi2, …, xin) ;粒子i所经历的最好位置为pi= (pi1, pi2, …, pin) ;整个粒子群所经历的最好位置为pg= (pg1, pg2, …, pgn) , 即搜索到的最优解。粒子根据式 (1) ~ (3) 进行迭代飞行, 达到迭代次数后飞行结束。
xij (t+1) =p′ij±β|mbestj-xij (t) |ln (1/u) (1)
其中,
mbest是各粒子本身所经历的最优位置的平均位置;φ和u是在[0, 1]上产生的相互独立的随机数;β为伸缩因子, 是QPSO算法中唯一的可调参数。式 (1) 中的正负号以相同概率随机产生。
3.2 人工免疫算子的引入
把QPSO算法中的粒子看作人工免疫系统中的抗体, 将免疫的思想引入QPSO算法可以提高算法的性能[7]。基于人工免疫原理, 浓度选择机制保证了粒子 (抗体) 的多样性从而提高了算法的全局搜索能力。设有N+M个粒子, 每个粒子的适应度值为f (·) , 则第i个粒子的浓度为:
从N+M个粒子中选择N个粒子以避免粒子过度集中, 第i个粒子的选择概率为:
另外, 接种机制用在QPSO中, 以保留最优粒子的形式提高算法的收敛速率[8]。
改进后的QPSO算法称为免疫量子粒子群算法 (QPSO-IM) 。
3.3 基于QPSO-IM算法的控制决策表优化
QPSO-IM算法流程如图2所示, 其实现步骤如下。
(1) 编码。
本文要优化的控制决策表是一个13×15的实数矩阵, 如表1所示。采用实数编码方式, 将该矩阵元素以行序组成一维向量, 作为一个粒子。若矩阵的第i行元素表示为aij, 则粒子编码为:
a1j, a2j, …, a13j (j=1, 2, …, 15)
可见, 每个矩阵的编码是一个195维的行向量, 所以控制决策表的优化是一个高维优化问题。
(2) 初始种群的生成。
本文对已经存在但控制效果欠佳的控制决策表1进行优化调整, 以达到满意的控制效果。因此, 没有必要在实数域内随机产生初始种群。而且, 随机产生的控制决策表几乎都无法达到控制目的, 进化中对它们的评价也就没有意义。因此, 初始种群可在表1的基础上产生。本文的方法是按表1编码的各位加上[-c, c]之间的随机实数, 由此产生初始种群, 在可行解空间范围内搜索最优解。正实数c的选取将影响算法的寻优能力。较大的c有助于提高算法的全局搜索能力;较小的c则有助于提高算法的局部搜索能力。在工程应用中, c的选取受制于控制量的约束范围。在执行机构允许范围内, c的选取可参考表1中的最大元素 (aij) max, 即:
c< (aij) max (i=1, 2, …, 13;j=1, 2, …, 15)
(3) 记忆库。
用于保存进化过程中的最优粒子, 记忆库在迭代过程中不断更新。
(4) 适应度值的确定。
本文采用时间与误差绝对值的乘积的积分 (ITAE) 来评价个体性能, 它综合反映了系统的超调量、上升时间以及过渡过程等性能指标[9], 如式 (6) 所示。
ITAE=∫
其中, 积分上限T的设定关系到能否对个体优劣进行有效区分。过小的T无法有效区分个体优劣程度;过大的T不仅过度放大了较差个体的劣势, 而且会增加计算机的计算量, 从而给算法实现带来困难。通常T可取调整ts的2~4倍。据式 (6) 可知, ITAE值较小的粒子具有较好的控制效果。为了使控制效果更好的粒子具有更大的适应度值, 我们将计算出的ITAE值进行转换, 然后用于浓度的计算。这里采用一种线性转换的方式来计算粒子的适应度, 如图3所示。
在进化过程中, 每一代粒子的适应度值由该粒子的ITAE值以及这一代粒子的最大ITAE值和最小ITAE值确定, 则ITAE值为x的个体的适应度值为:
这种变换令某一代的最差个体和最优个体的适应度值分别为0和1, 能够有效区分个体之间差异。需要指出的是, 该变换得出的适应度值仅在该代中有效, 不同代个体不能利用这种变换得出的值进行比较计算。不同代个体只需直接用ITAE值进行比较即可。
(5) 粒子更新的两种方式。
a.迭代更新。由式 (1) ~ (3) 产生N个新粒子;
b.重新生成M个新粒子。生成方式和初始种群的生成方式相同。
(6) 基于浓度的粒子选择。
用式 (4) 计算N+M个新粒子的浓度, 然后依概率公式 (5) 选择N个粒子组成新的群体。
(7) 接种疫苗。
用记忆库中的免疫记忆粒子替换粒子群中适应度较差的粒子。
(8) 结束条件。
达到预先设定的最大进化代数时寻优结束。
4 应用实例与结果分析
LTT三容液位控制实验装置是高等院校的教学实验设备, 主体由三个圆柱形容器罐、若干手动排水阀和一个蓄水池组成。用液位传感器检测容器水位, 用变频器调节泵的转速, 继而改变泵的供水量。本文在自行研制的SCON-2000先进控制系统的模糊控制平台上进行单容水箱液位模糊控制, 考察跟踪参考输入响应和负荷变化时的响应, 并将优化前后控制决策表的控制效果进行了对比。
初始种群规模N=50, 产生的方式是按表1的编码的各位加上[-2, 2]之间的随机数;每次迭代, 产生新粒子数M=10;伸缩因子β在迭代过程中从1.0到0.5线性下降;粒子的每位限定在[-7.5, 7.5]之间;取式 (6) 的积分时间T=4ts;每次迭代时, 选择种群中3个最差粒子替换为免疫记忆粒子;最大进化代数为200。本文同时利用SCON-2000先进控制系统的建模平台对水箱进行建模, 得到的水箱模型为:
优化后的控制决策表如表2所示。
在SCON-2000先进控制平台上对水箱液位进行实时控制, 设定液位为200 mm, 误差量化因子Ke=2.53, 误差变化率量化因子Kec=125, 控制量比例因子Ku=1, 模糊控制器采用增量形式。优化前后的响应曲线以及控制量曲线如图4、图5所示, 可见优化后的控制决策表性能比优化前有了很大的改善。
(1) 优化前, 系统响应的超调量为30%, 调节时间为3.5min;优化后, 系统响应的超调量为5%, 调节时间为2 min。
(2) 优化前, 系统响应的稳态波动在±25mm内;优化后, 系统响应的稳态波动在±10 mm以内。这表明优化后的控制决策表的精度更高。
(3) 在系统稳态时加入负荷扰动, 优化前的系统需要5.5min恢复稳态, 并有超调;优化后的系统仅用2 min就重新到达稳态, 且没有超调。这表明优化后系统响应具有更好的快速性和平稳性。
5 结束语
本文提出用QPSO-IM算法来优化模糊控制器中的控制决策表。算法实现简单, 可调参数少, 使模糊控制决策表的参数整定易于工程应用。实验结果表明:用QPSO-IM算法优化过的控制决策表明显改进了模糊控制器的性能, 从而达到了优化模糊控制器的目的。
参考文献
[1]孙绪刚, 王丽荣.模糊控制在聚合装置的应用[J].化工自动化及仪表, 2001, 28 (4) :29-32.
[2]LINKENS D A, NYONGESA HO.Genetic Algorithm for FuzzyControl, Part 1:Offline System Development and Application[C]//IEE Proceedings-Control Theory and Applications.U-nited Kingdom:IET, 2004:161-176.
[3]ESMIN A A A, AOKI A R, LAMBERT-TORRES G.ParticleSwarm Optimization for Fuzzy Membership Functions Optimiza-tion[C]//IEEE International Conference on Systems, Man andCybernetics.Tunisia:IEEE, 2002, 3:5.
[4]HOMAIFAR A, MCCORMICK E.Simultaneous Design of Mem-bership Functions and Rule Sets for Fuzzy Controllers Using Ge-netic Algorithms[J].IEEE Transactions on Fuzzy System, 1995, 3 (2) :129-139.
[5]KENNEDY J, EBERHART R.Particle Swarm Optimization[C]//Proceedings of the IEEE International Conference onNeural Networks.Australia:IEEE, 1995:1942-1948.
[6]SUN J, FENG B, XU W B.Particle Swarm Optimization withParticles Having Quantum Behavior[C]//Proceeding of 2004Congress on Evolution Computation.Portland:CEC, 2004:325-331.
[7]LIUJ, SUNJ, XUW B, et al.Quantum-behaved Particle SwarmOptimization Based on Immune Memory and Vaccination[C]//Proceedings of the IEEE International Conference onGranular Computing.USA:IEEE, 2006:453-456.
[8]DASGUPTA D.Artificial Immune Systems and Their Applica-tions[M].New York:Springer-Verlag, 1999.
免疫优化算法 篇7
迁移工作流系统中, 每台工作机所获得的负载是迁移实例运行所引起的, 将负载重的工作机上的迁移实例进行迁移, 从而达到工作位置的负载平衡, 提高整个网络的效率。
针对上述问题, 文献[2]基于遗传算法和Pareto优化给出了一个解决方案。遗传算法能自适应地控制搜索过程, 具有良好的全局搜索能力, 但对于局部空间的搜索不是很有效, 个体的多样性减少的很快, 容易出现未成熟收敛和收敛速度较慢的问题。
本文将免疫算法与遗传算法相结合, 利用生物免疫行为可以保持种群多样性的特点, 通过免疫接种, 有选择、有目的地利用待求问题中一些特征或知识来抑制其优化过程中出现的退化现象, 保证种群的多样性, 防止算法陷入局部最优, 提高遗传算法整体的优化性能。
1 问题及数学模型
停靠站服务器需要为工作机网络合理调整迁移实例具体工作位置, 以维持工作机网络的负载均衡, 提高系统资源的利用率。为此, 需要满足以下目标:
1) 工作机网络每台工作机的资源占有率最小;
2) 工作机网络总资源的平均占有率最小, 使已有的资源能够为更多的迁移实例服务。
根据以上描述, 我们得到一个多目标优化问题。
设工作机网络中有台工作机, 有个mi正在运行, 可得多目标函数:
Gi为第i台工作机的资源占有率;F为迁移域中总的资源占有率;
Sij为第j个迁移实例在工作Si机上的运行状态, Sij=0, 1;
Cmj为第j个迁移实例所占系统资源, n为迁移实例个数, i=1, 2, …n;
Ai为第i台工作机的总资源。
由于同一时刻一个迁移实例只能在一台工作机上运行, 所以约束条件要求所有工作机上同一个mi的状态和为1。
2 编码
算法通过变换一些迁移实例的运行位置以均衡整个工作机网络的负载, 因此染色体编码必须指明每个迁移实例的运行位置。对于每台工作机, 设在此运行的迁移实例的状态为1, 不在此运行的迁移实例的状态为0, 则工作机网络中迁移实例的运行状态可用长度为m×n的0、1串表示。已知Si为工作机节点, Sij表示第j个迁移实例在工作机Si上的运行状态。如果其在第i台工作机上运行, 则Sij=1, 否则Sij=0。染色体的编码方案如图1所示:
3 免疫遗传算法过程
定义1亲和力:本文采用Pareto基于排序的适应值分配方法, 对于适应度值高的抗体, 其与抗原的亲和力也高。
定义2欧氏距离:在给定抗体群中, 给出抗体v, 它与抗体群中任一抗体w之间的欧氏距离记为d (v, w) ;抗体v和w的适应度分别记为和, 对应于所求解问题, 给适当的常数r>0, m>0, 若有
成立, 则称抗体w与抗体v相似;与抗体v相似的抗体 (包括v) 的个数称为抗体v的浓度, 记为cv。
1) 识别抗原:判断抗原是不是曾经入侵的抗原。工作机网络性能优化问题中, 抗原就是目标函数和约束条件, 抗体就是迁移实例在工作机网络的一个运行分布。
2) 初始化抗体总群:采用随机产生抗体的方法构造初始种群。通过使用随机函数rnd (1, m×n) 产生一批随机数依次填入动态数组形成抗体。重复执行N次产生初始种群。
3) 适应度函数:在此使用Fons e ca和Fle m ing提出Pare to基于排序的适应值分配方法。先将多目标函数值组成一个向量表示一个个体, 如果个体xi在t这一代有pit个体优于它, 那么它的秩就是:rank (xi, t) =1+pit, 所有的非劣解的秩都为1。
4) 选择操作:选择方式采用Bake r提出的随机通用采样。此方法结合了标准轮盘赌的轮盘和均匀分布且个数等于所需规模的旋转指针。
5) 交叉操作:交叉算子将被选中的两个个体的基因链按概率pc进行交叉, 生成两个新的个体, 交叉位数和交叉位置都是随机产生的。
6) 变异操作:采用换位变异, 即在编码中随机取两点Sij、Skl, 交换两点状态。
7) 提取疫苗:免疫算法一般在待求问题先验知识或基本特征基础上提取疫苗。但是由于特征信息提取比较困难, 所以我们采用进化群体中最好的个体作为疫苗, 即从Pareto解集中随机选取两个抗体作为疫苗。
8) 疫苗接种:依据从Pare to解集中选取的疫苗, 求出两个疫苗中Sij不等于0相同同基因位, 对抗体群相应基因位进行更改, 并按照约束条件, 对其他有关基因位更改为0。
9) 免疫选择:利用欧氏距离求出抗体浓度。根据抗体间与抗体和抗原的亲和力大小, 以及抗体的浓度, 选择高亲和力, 低浓度的抗体进入新的种群。高亲和力保证较优解能繁殖再生, 保留解的优良模式;而低浓度能维持种群的多样性, 保证解的分布性, 避免算法早熟。
10) Pare to解集和精英保留策略:
Pare to解集是一组非劣解的集合, 它的保持机制和精英保留策略确保了在进化过程中产生的非劣解进入下一代, 避免了非劣解在进化过程中消失。每一代中, Pareto解集通过删除所有被支配解和加入新产生的Pareto解进行更新。
11) 抗体群体更新:要使Pare to解进入下一代, 则在生成子代时先在Pareto解集中随机选取Nelite个个体, 然后根据选择、交叉、疫苗接种等操作选出N-Nelite个个体, 将选出的两个集合合并构成N个个体的种群。从而保证了每代产生的非劣解能够进入下一代并且避免了早熟现象。
12) 排除非法解和选择决策方案:针对排除非法解和选择决策方案两个算子, 文献[3]中已经给出了详细的算法过程。依据算法得到最优解的染色体编码, 将所有的迁移实例按照编码所示迁移到相应的工作机即可。
4 结语
免疫遗传算法的核心是设定能够增强群体多样性的免疫算子, 将免疫算子与简单相结合, 充分利用两者的优点, 依据求解问题的特征, 在优秀抗体的指导下进行全局并行的搜索, 避免了简单遗传算法搜索的盲目性和随机性, 有效地克服了算法的早熟现象, 提高了收敛速度, 进而优化了整个工作机网络的性能。
摘要:在迁移工作流中, 工作位置是迁移实例的运行场所, 工作机网络性能的优化能够提高迁移工作流整体的资源利用率。本文将免疫算法与遗传算法结合, 利用免疫算法保证种群多样性的特点, 给出了算法的具体过程, 避免算法陷入局部最优, 使多种资源得到负载平衡, 从而提高工作机网络的整体性能。
关键词:免疫算法,遗传算法,网络优化
参考文献
[1]曾广周, 党研.基于移动计算范型的迁移工作流研究[J].计算机学报, 2003.
免疫优化算法 篇8
电力系统无功优化是指从优化运行的角度调整系统中各种无功控制设备的参数, 在满足节点正常功率平衡及各种安全指标的约束下, 实现目标函数最小化的过程[1]。它既是保证电力系统安全、经济运行的有效手段之一, 又是降低网络损耗、提高电压质量的重要措施[2]。
无功优化是一个多目标、多约束、变量类型混合的非线性规划问题。关于无功优化的求解方法可分为传统数学算法和现代启发式算法。传统数学方法有非线性规划法[3]、简化梯度法[4]、内点法[5]等, 这类方法有一定的优越性, 但计算较为复杂, 易陷入局部最优解, 且不便于处理离散变量。随着人工智能的发展和计算机运行速度的提高, 越来越多的现代启发式算法应用于无功优化中, 如遗传算法[6]、蚁群算法[7]、免疫算法[8]、粒子群算法[9,10]、搜索禁忌算法[11]、模拟退火算法[12]等, 且都取得了一定的研究成果。量子计算因其强大的运算能力, 已经成为世界各国紧密跟踪的前沿研究领域之一。借鉴生物免疫系统原理而发展起来的免疫算法也已成为现代启发式算法的一个研究热点。结合量子计算机理和免疫克隆算子, 本文提出了一种解决多目标无功优化问题的量子免疫克隆算法QICA (Quantum Immune Colonial Algorithm) 。该算法具有良好的并行性, 搜索速度快, 寻优能力强, 将全局搜索和局部寻优有机结合, 确保所得解集快速有效地从不可行域边缘和可行域内部向最优Pareto前端逼近, 而且可以有效防止退化现象的产生, 是求解多目标无功优化问题的有效方法。
1 多目标无功优化数学模型
1.1 目标函数
本文选取有功网损PL最小、静态电压稳定裕度VSM (Voltage Stability Margin) USM最大以及节点电压平均偏移量ΔU最小作为目标函数。
a.有功网损。
其中, NL为系统支路总数;δi、δj、Ui、Uj分别为节点i、j电压的相角和幅值;Gk (i, j) 为支路k的电导。
b.静态电压稳定裕度。
选用收敛潮流雅可比矩阵的最小奇异值作为度量系统静态电压稳定裕度的指标[13], 即:
其中, JJacobi为收敛潮流雅可比矩阵, eig (JJacobi) 为雅可比矩阵的特征值, min︱eig (JJacobi) ︱为该矩阵最小特征值的模。
c.电压平均偏移量。
其中, n为网络节点总数;Ubideal为节点b期望电压值;Ub为节点b实际电压值。
1.2 约束条件
其中, T为可调变压器的变比;Qc为无功补偿电容器容量;Ug为发电机端电压;U为各节点的运行电压;Qg为发电机注入无功;Timin (Timax) 、Qcjmin (Qcjmax) 、Ugkmin (Ugkmax) 、Uimin (Uimax) 、Qgkmin (Qgkmax) 分别为以上变量所对应的最小 (最大) 值。式 (4) — (6) 分别为系统潮流约束、控制变量约束、状态变量约束。
1.3 多目标函数解评价
多目标函数之间存在相互矛盾性, 所以很难找到一个解, 同时使各目标函数达到最优。传统加权叠加比较的评价方法, 对权重选取的依赖性很大, 而且不能很好地反映各目标函数的优劣性, 本文采用目标函数值与理想化目标的接近程度来评价解的优劣性, 其操作如下。
若多目标函数min (F) =min (f1, f2, f3, …, fc) 存在一组可行解x1、x2、…、xl。
a.构建目标函数矩阵。
b.目标函数矩阵归一化处理。
c.求取理想化目标。所谓理想化目标即归一化矩阵中各函数对应的最小值。
d.评价各解的优劣性。本文采用各目标函数值与理想化目标欧氏距离的大小来评价解的优劣性, 该距离越接近表明解越优。
2 量子免疫克隆算法
2.1 克隆算子
在多目标优化问题中, Pareto前端上的所有点是同等优秀的, 为了保证在种群扩张时, 所得解在Pareto前端均匀分布, 本文采用了自适应克隆操作。抗体的克隆规模依据拥挤距离[14]来自适应地调整, 即拥挤距离越大者, 克隆规模就越大, 被搜索的机会越多, 其具体操作如下。
将抗体群A (it) ={W1, W2, W3, …, Wk}中抗体Wi以比例qi进行克隆, 其中qi为:
其中, it为当前的进化代数;round[·]表示取整为最近的整数;Nc为与克隆规模有关的设定值, 本文取Nc=200;di为拥挤距离 (具体形式参见文献[14]) 。
则克隆后的抗体群为:
2.2 量子重组算子
混沌变量在寻优过程中具有随机性、遍历性以及规律性等特点。本文通过量子重组算子将Logistic映射[15]下的混沌序列用于量子抗体的寻优过程中, 使量子位在演化过程中呈现出混沌现象, 进而极大增加了算法的搜索能力, 其操作如下:
其中, i=1, 2, …, k;j=1, 2, …, qi;Logistic (j) 为Logistic映射的第j个序列值 (具体形式参见文献[15]) ;b为抗体影响因子, 取值范围为[0.1, 0.4];v为混沌收缩因子, 取值范围为[0.1, 0.3];rand表示生成0~1之间的随机数。
2.3 量子非门算子
为进一步增进种群的多样性, 抗体经上述量子重组操作后, 以变异概率pm随机选择一位或若干位进行量子非门操作, 本文取pm=0.5。该操作实现了对量子位概率幅的互换, 使得原来取状态0的概率变为取状态1的概率, 或者相反。其具体操作如下:
其中, Q为量子位概率幅。
2.4 选择更新算子
传统免疫算法绝大多数依据亲和度函数作为选择方式, 抗体亲和度越大, 越容易被选择保留。在本算法中, 一个抗体能否通过选择进入下一代, 取决于该抗体是否为当前代中的非支配抗体。当进化到达一定代数时, 非支配抗体数目可能会有很多, 而依据本算法的选择策略, 它们都将被选入下一代, 这样会导致运算速度变慢。为了避免该情况发生, 本算法采用了抗体群更新操作。如果非支配抗体超过一定数目Nn, 则可依据拥挤距离将Pareto前端上分布较为密集抗体删除, 既保证了运算速度, 也保证了所得解分布的均匀性[16]。
2.5 免疫疫苗
传统免疫算法由于缺乏适当措施, 在寻优过程中会出现大量劣解、甚至非可行解。为了有效地克服此类退化现象, 本文引入了疫苗[17]的概念。选择当前代精英个体作为免疫疫苗保留, 并于下一代量子非门操作完成后植入种群, 从而在寻优的过程中有效地克服了退化现象, 保证种群向优良模式进化。
3 基于量子免疫克隆算法的无功优化
3.1 抗体的编码
本算法中的抗体采用量子位表示, 一个量子位不仅可表示0、1这2个状态, 而且可以表示在0、1这2个状态间的任意状态。若用n个量子位表示可调变压器的变比T、m个量子位表示发电机端电压Ug、l个量子位表示无功补偿电容器容量Qc, 则编码后的每一个抗体可以描述为:
其中, αi、βi (i=1, 2, …, n+m+l) 为复常数, ︱αi︱2+︱βi︱2=1, ︱αi︱2表示第i个基因位取值0的概率, ︱βi︱2表示第i个基因位取值1的概率。
3.2 不等式约束处理
不等式约束将搜索空间划分为可行域和不可行域2个部分, 因此如何有效地利用不可行解显得非常重要。传统免疫算法未考虑到不可行解集, 仅对可行解集进行相应的进化计算。本算法有效利用部分接近可行域边缘的不可行解, 使寻优过程分别从不可行域边缘和可行域内部向约束最优Pareto前端逼近, 从而保证了所得约束最优解的较高质量。
不等式约束g (x) = (g1 (x) , g2 (x) , …, gh (x) ) ≤0可转化为一个目标函数, 令:
则:
对任意一个变量x, 若fk+1 (x) =0, 则x满足约束条件, 为可行解;若fk+1 (x) >0, 则x不满足约束条件, 为不可行解, 并且fk+1 (x) 的数值越大, 则x违反约束的程度越严重。因此, 可采用如下处理方法:
a.将抗体群A划分为不可行解集和可行解集Xf;
b.以Pareto占优的概念为依据, 将可行解集Xf划分为非Pareto占优集和Pareto占优集Ps;
c.根据违反约束程度的大小将不可行解集划分为非有益解集和有益解集Qb;
d.分别对有益解集Qb和可行解集Xf进行相应的免疫克隆选择操作, 求得高质量的Pareto最优解。
3.3 算法流程
量子免疫克隆算法应用于多目标无功优化的流程如图1所示。
4 算例分析
为验证本算法的可行性, 本文对IEEE 14节点测试系统进行多目标无功优化计算。用MATLAB语言编制了系统潮流计算程序和量子免疫克隆算法。算法中相关参数的设置如下:抗体群规模为100, 有益解集规模为30, 最大迭代次数为50。算例中数据均为标幺值。
4.1 IEEE 14节点系统算例
该系统包含3台可调变压器、5台发电机 (其中1号发电机为平衡节点) 、1个无功补偿点。各可调变压器上下档位数为±16, 步进量为0.625%, 其变比范围为0.9~1.1;各发电机端调压范围为0.95~1.05;无功补偿点 (节点9) 的无功补偿上限为0.5, 分段步长为0.1。
4.2 分析与比较
运用本文算法对该系统进行优化评价, 将该算法独立运行50次后选出有代表性的一组计算结果如表1所示。
图2显示了该次计算最终求得Pareto解的分布, 其中方块符表示决策最优解。
由表1和图2可见, 最优解所对应的点坐标与理想化目标所对应的点坐标之间存在一定距离, 这说明了多目标无功优化中各个目标函数同时达到最优化的可能性很小, 也验证了求解相互矛盾的多目标函数只能根据实际情况从一个整体最优化的角度求出可行解, 而应用本文所提出的欧氏距离来评价可行解的优劣则可以较好地履行这一职责。
将本文算法独立运行50次后, 求出所得最优解的平均值, 同时将该值与其他算法应用于IEEE 14节点系统的结果进行了比较, 如表2所示。
可见, 本文提出的算法在多目标无功优化问题中应用效果明显, 较免疫算法和改进遗传内点算法[1]可更好地找出全局最优解, 进而有效降低了网络损耗, 提高了电压质量。
5 结论