[发明专利]基于计算机机群的并行人工蜂群算法求解复杂函数最值的方法无效

专利信息
申请号: 201210431996.2 申请日: 2012-11-01
公开(公告)号: CN102982008A 公开(公告)日: 2013-03-20
发明(设计)人: 江铭炎;徐昆;袁东风;贲晛烨 申请(专利权)人: 山东大学
主分类号: G06F17/15 分类号: G06F17/15;G06F9/38
代理公司: 济南金迪知识产权代理有限公司 37219 代理人: 许德山
地址: 250100 山*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要: 基于计算机机群的并行人工蜂群算法求解复杂函数最值的方法,属于计算机并行计算技术领域。该方法在Linux操作系统下,结合MPI软件包,实现了在多台计算机上通过并行人工蜂群算法求解复杂函数最值的问题,实验结果表明,在求解复杂函数的最值时,并行人工蜂群算法可以比普通的串行算法具有更高的准确性和更快的速度,极大地提高了计算函数最值的效率。
搜索关键词: 基于 计算机 机群 并行 人工 蜂群 算法 求解 复杂 函数 方法
【主权项】:
1.一种基于并行人工蜂群算法求解复杂函数最值的方法,包括多台参与计算的计算机,每台计算机上安装Linux操作系统和相关的MPICH软件,将每根网线的一端插入计算机的网口,另一端接入同一个局域网的路由器上中,并配置Linux的SSH使各个计算机相互之间能够不需要密码的访问,并选择其中一台计算机为主控计算机,负责数据和任务的收集与分发、计算结果的显示这些辅助工作,同时它也作为一个计算节点参与计算,其余的计算机均只负责计算功能;通过上述完成了并行计算的硬件连接和软件的配置;在设计人工蜂群算法时,将计算的参数均匀的分配到每个参与计算的计算机上,并根据MPI软件包提供的通信接口函数在程序运行的适当时间进行必要参数的通信与交流,该方法步骤如下:1)人工蜂群初始化:在主控计算机上中,对所需要的参数,包括算法中的种群数量、迭代次数、算法中的采蜜蜂机制在同一位置的最大搜索次数、不同计算机之间在运算过程中需要通信的次数进行设置,对要求解的函数问题进行数学公式的描述;2)MPI并行计算环境的初始化;调用MPI配置并行环境的函数,包括MPI_Init,MPI_Comm_size,MPI_Comm_rank,MPI_Get_processor_name,MPI_Finalize进行并行环境的设置和计算机名,计算机编号,计算机总数这些必要参数的读取;3)主控计算机根据上述配置的情况,计算每个作为计算节点的计算机的参数,包括每个节点计算机上的种群数量,迭代次数,何时进行通信,并将这些参数通过MPI的广播函数MPI_Bcast广播到每个节点计算机,必要的计算方法和公式表示如下:sub_SN=SNnum]]>【1】sub_iteration=total_iterationcomuni_num]]>【2】其中公式【1】中sub_SN表示每个计算机分配到的种群数量,SN表示在主控计算机上设置的种群总数,num是参与计算的计算机的总数;由此可以看出,对每个计算机种群的分配是采用的平均分配的原则;公式【2】表示每台计算机上完成每次通信前算法要进行的迭代次数,在完成了这个指定次数的迭代后,各个计算机之间进行通信,交流信息,其中sub-iteration表示每个计算机的迭代次数,total_iteration表示在主控计算机上设置的迭代次数,comuni_num主控计算机设置的不同计算机之间在运算过程中需要通信的次数;由此可以看出,每个计算机是在每次完成了固定迭代次数后进行通信;4)每个计算机接收主控计算机分配的数据并保存;5)每个计算机在各自的机器上,根据所要生成的可行性解的范围初始化自己的随机解,计算其适应度函数,找出适应度函数的最大值、最小值及其在人工蜂群算法记录可行性解的这个矩阵变量中对应的位置,同时将适应度函数最大的可行性解更新到每个计算机自己的种群用来记录全局最优解的变量中,其中最优解是指使某个待求解的数学问题达到最优值即最大值或最小值时的任一可行解,全局最优解记录的是从这个计算机程序运行开始,到目前为止得到的适应度函数最大的可行解;以计算函数最小值为例,给出计算适应度函数的表达式描述如下:fitness=|value|,value<01value+1,value>=0]]>【3】其中value表示的是函数值,fitness表示的是适应度函数值,由此可以保证函数值越小,适应度函数越大;6)每个计算机独自进行人工蜂群算法的采蜜蜂模式,采蜜蜂模式是指一个采蜜蜂,根据其现在的可行解在限定的邻域内进行搜索并产生新的可行解,测试新产生的可行解的适应度函数值,它的数学表达由下式给出,Vij=Xij+λ(Xij-Xkj)]]>【4】上式中表示的是新的可行解,表示的是现有的可行解,i第i个可行解,j表示第i个可行解的第j个参数,λ是一个随机数,并有λ∈[-1,1],k表示第k个可行解,并且有k≠i,由此看出,采蜜蜂所采用的在限定的邻域内进行搜索,是对这个可行解中随机选出的一个参数,根据与别的可行解中的数据进行运算得到的;如果新的可行解的适应度函数比其现有的适应度函数高,则由贪婪准则,用新的可行解值覆盖现有的可行解,并将步骤1)中提到的记录算法中的采蜜蜂机制在同一位置的最大搜索次数这个变量设置为0,如果新的可行解的适应度函数的值小于等于现有的适应度函数的值,那么步骤1)中提到的记录算法中的采蜜蜂机制在同一位置的最大搜索次数这个变量加1,现有的可行解不变;7)每个计算机进行人工蜂群算法的概率计算模式,选用的概率选择数学模型由下式给出,pi=fitiΣn=1SNfitn]]>【5】其中pi表示第i个可行解所得到的进行观察蜂模式使用到的概率,fiti表示第i个可行解的适应度函数值,fitn表示采蜜蜂机制中第n个可行解的适应度函数值,SN表示分配到每个计算机上的种群数量;8)每个计算机进行人工蜂群算法的观察蜂模式,等待的观察蜂按照轮盘赌的方式选择自己要跟随的采蜜蜂,即每只观察蜂随机生成一个0到1之间的随机数,与每只采蜜蜂的选择概率进行比较;如观察蜂的随机生成数大于采蜜蜂的选择概率就跟随,小于或等于时就不跟随,此跟随方式就是观察蜂跟随的所采蜜蜂记录的可行性解,运用步骤6)中描述的模式进行计算;9)各计算机找到适应度函数的最大值和最小值,如果适应度函数的最大值比现有的全局最优解都大,就更新其全局最优解;10)每个计算机进行人工蜂群算法的侦察蜂模式,针对每台计算机上的每一个采蜜蜂,分别判断其在步骤6)中用来记录同一位置最大搜索次数的这个变量是否超过了步骤1)中已经预先设定的值,如果未超过,那么跳过此步骤,如果超过了,就放弃这个采蜜蜂现有的可行性解,并重新随机初始化一个新的可行解;11)计算机根据记录的关于迭代次数的变量进行判断,如果未达到每个节点的指定迭代次数,记录迭代次数的变量加一,并转到步骤6);否则,记录迭代次数的变量归零,进行下一步;12)按照单向环形拓扑结构,每个计算节点发送自己的适应度函数值最大的可行解到相邻的下一个编号的计算机上,并接受与其相邻的上一个编号的计算机的适应度函数最大值对应的可行解,用其替换自己种群中适应度函数值最小的可行解;13)计算机读取记录交流次数的变量,判断其是否达到设定的总的交流次数,如果没有达到预设定的次数,记录交流次数的变量加一,转到步骤6);否则转到下一步;14)结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东大学,未经山东大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201210431996.2/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top