A. 智能优化算法:人工蜂群算法
@[toc]
摘要:人工蜂群算法(artificial bee colony,ABC)是由土耳其学者Karaboga 于 2005 年提出,它是模拟蜜蜂的采蜜行为来解决生活中一些多维和多模的优化问题,它最初应用于数值优化问题,自提出以来受到了众多学者极大的关注,并广泛应用到神经网络、数据挖掘、工程应用、图像识别等多个领域。
在 ABC 算法里,用蜜源的位置来表示解,用蜜源的花粉数量表示解的适应值。所有的蜜蜂划分为雇佣蜂、跟随蜂、探索蜂三组。雇佣蜂和跟随蜂各占蜂群总数的一半。雇佣蜂负责最初的寻找蜜源并采蜜分享信息,跟随蜂负责呆在蜂巢里根据雇佣蜂提供的信息去采蜜,探索蜂在原有蜜源被抛弃后负责随机寻找新的蜜源来替换原有的蜜源。与其他群智能算法一样,ABC 算法是迭代的。对蜂群和蜜源的初始化后,反复执行三个过程,即雇佣蜂、跟随蜂、探索蜂阶段,来寻找问题的最优解。每个阶段描述如下:
对 ABC 算法的参数进行初始化,这些参数有蜜源数 、蜜源确定被抛弃的次数 、迭代终止次数。在标准 ABC 算法里,蜜源的数目 与雇佣蜂数相等,也与跟随蜂数相等。产生某个蜜源的公式为:
其中: 代表第 个蜜源 的第 维度值, 取值于 , 取值于 ; 和 分别代表第 维的最小值和最大值。初始化蜜源就是对每个蜜源的所有维度通过以上公式赋一个在取值范围内的随机值,从而随机生成 个最初蜜源。
在雇佣蜂阶段,雇佣蜂用以下公式来寻找新蜜源:
其中: 代表邻域蜜源, 取值于 ,且 不等于 ; 是取值在[-1,1]的随机数,通过式(2)得到新蜜源后,利用贪婪算法,比较新旧蜜源适应值,选择优者。
雇佣蜂阶段结束,跟随蜂阶段开始。在该阶段,雇佣蜂在舞蹈区分享蜜源信息。跟随蜂分析这些信息,采用轮盘赌策略来选择蜜源跟踪开采,以保证适应值更高的蜜源开采的概率更大。跟随蜂开采过程与雇佣蜂一样,利用式(2)找寻新蜜源,并留下更优适应者。
蜜源拥有参数 ,当蜜源更新被保留时, 为 0;反之, 加 1。从而 能统计出一个蜜源没有被更新的次数。
如果一个蜜源经过多次开采没被更新,也就是 值过高,超过了预定阈值 ,那么需抛弃这个蜜源,启动探索蜂阶段。这体现了 ABC 里自组织的负反馈和波动属性 。在该阶段里,探索蜂利用式(3)随机寻找新的蜜源来代替被抛弃蜜源。
人工蜂群算法流程
step1.初始化算法参数,生成蜜蜂初始位置
step2.雇佣蜂计算适应度值,比较并保存最优值
step3.跟随蜂选择雇佣蜂更新蜜源位置,计算适应度值,保存最佳值
step4.若有侦察蜂出现,则重新生成初始位置并执行更新选优,否则继续执行step5
step5.若迭代次数小于预设的迭代次数,则转到step2;否则输出最优解
[1]何尧,刘建华,杨荣华.人工蜂群算法研究综述[J].计算机应用研究,2018,35(05):1281-1286.
https://mianbaoo.com/o/bread/aJWVkps=
https://mianbaoo.com/o/bread/YZWalJxr
B. 关于神经网络,蚁群算法和遗传算法
神经网络并行性和自适应性很强,应用领域很广,在任何非线性问题中都可以应用,如控制、信息、预测等各领域都能应用。
蚁群算法最开始应用于TSP问题,获得了成功,后来又广泛应用于各类组合优化问题。但是该算法理论基础较薄弱,算法收敛性都没有得到证明,很多参数的设定也仅靠经验,实际效果也一般,使用中也常常早熟。
遗传算法是比较成熟的算法,它的全局寻优能力很强,能够很快地趋近较优解。主要应用于解决组合优化的NP问题。
这三种算法可以相互融合,例如GA可以优化神经网络初始权值,防止神经网络训练陷入局部极小且加快收敛速度。蚁群算法也可用于训练神经网络,但一定要使用优化后的蚁群算法,如最大-最小蚁群算法和带精英策略。
C. 多目标优化算法有哪些
主要内容包括:多目标进化算法、多目标粒子群算法、其他多目标智能优化算法、人工神经网络优化、交通与物流系统优化、多目标生产调度和电力系统优化及其他。
D. 什么是智能优化算法
群体智能优化算法是一类基于概率的随机搜索进化算法,各个算法之间存在结构、研究内容、计算方法等具有较大的相似性。因此,群体智能优化算法可以建立一个基本的理论框架模式:
Step1:设置参数,初始化种群;
Step2:生成一组解,计算其适应值;
Step3:由个体最有适应着,通过比较得到群体最优适应值;
Step4:判断终止条件示否满足?如果满足,结束迭代;否则,转向Step2;
各个群体智能算法之间最大不同在于算法更新规则上,有基于模拟群居生物运动步长更新的(如PSO,AFSA与SFLA),也有根据某种算法机理设置更新规则(如ACO)。
(4)群智能优化算法和人工神经网络扩展阅读
优化算法有很多,经典算法包括:有线性规划,动态规划等;改进型局部搜索算法包括爬山法,最速下降法等,模拟退火、遗传算法以及禁忌搜索称作指导性搜索法。而神经网络,混沌搜索则属于系统动态演化方法。
优化思想里面经常提到邻域函数,它的作用是指出如何由当前解得到一个(组)新解。其具体实现方式要根据具体问题分析来定。
E. 智能计算/计算智能、仿生算法、启发式算法的区别与关系
我一个个讲好了,
1)启发式算法:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度不一定事先可以预计。意思就是说,启发式算法是根据经验或者某些规则来解决问题,它求得的问题的解不一定是最优解,很有可能是近似解。这个解与最优解近似到什么程度,不能确定。相对于启发式算法,最优化算法或者精确算法(比如说分支定界法、动态规划法等则能求得最优解)。元启发式算法是启发式算法中比较通用的一种高级一点的算法,主要有遗传算法、禁忌搜索算法、模拟退火算法、蚁群算法、粒子群算法、变邻域搜索算法、人工神经网络、人工免疫算法、差分进化算法等。这些算法可以在合理的计算资源条件下给出较高质量的解。
2)仿生算法:是一类模拟自然生物进化或者群体社会行为的随机搜索方法的统称。由于这些算法求解时不依赖于梯度信息,故其应用范围较广,特别适用于传统方法难以解决的大规模复杂优化问题。主要有:遗传算法、人工神经网络、蚁群算法、蛙跳算法、粒子群优化算法等。这些算法均是模仿生物进化、神经网络系统、蚂蚁寻路、鸟群觅食等生物行为。故叫仿生算法。
3)智能计算:也成为计算智能,包括遗传算法、模拟退火算法、禁忌搜索算法、进化算法、蚁群算法、人工鱼群算法,粒子群算法、混合智能算法、免疫算法、神经网络、机器学习、生物计算、DNA计算、量子计算、模糊逻辑、模式识别、知识发现、数据挖掘等。智能计算是以数据为基础,通过训练建立联系,然后进行问题求解。
所以说,你接触的很多算法,既是仿生算法,又是启发式算法,又是智能算法,这都对。分类方法不同而已。
这次楼主不要再老花了哈!
F. 请问智能优化算法以及神经网络能不能用数学理论进行证明
智能优化算法多达十几种,你说的是哪一种?而且你光说算法证明,这个算法本来就不存在证明,所谓的证明就是对算法收敛性的证明。就拿最普遍的遗传算法来说吧,这个的证明通常是用马氏链来描述,Holland本人则是通过模式方式来证明,但是证明过程被大家所 不认同。因为这种启发式随机搜索算法只能用概率来描述他的行为,那么一个依概率存在的东西,找到最优也是依概率的,所以所有的智能算法至今没有任何一个人说他的算法收敛性证明是严谨的,是经得起推敲的。所以算法的证明通常书上不说,要么就是简要说一下,因为本身意义不大,实际应用中,算法的参数都是要反复调整的。至于神经网络,你要证明神经网络的什么?BP的学习也不需要证明啊