⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要10分钟
🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号:不懂开发的程序猿❗❗❗知识付费,🈲止白嫖,有需要请后台私信或【文末】个人微信公众号联系我
基于启发式算法的函数优化分析与MATLAB实现
1. 启发式搜索算法概述
启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无谓的搜索路径,提高了效率。
在启发式搜索中,对位置的估价是十分重要的。采用了不同的估价可以有不同的效果。
启发中的估价是用估价函数表示的,如:f(n)=g(n)+h(n);
最佳优先搜索的最广为人知的形式称为A*搜索。它把到达节点的耗散g(n)和从该节点到目标节点的消耗h(n)结合起来对节点进行评价:f(n)=g(n)+h(n)。
2. 启发式算法
2.1 粒子群算法PSO
粒子群算法(PSO)是一种基于群体的随机优化技术。粒子群算法(PS0)首先初始化一组随机值作为粒子群,粒子以一定的速度更新当前最优粒子和最优种群(Shi和Eberhart,1999)。每次迭代,更新“个体最优”值 、“种群最优”值 和粒子速度值 ,最终得到一组较为合理的结果。粒子群算法简单易实现,然而易出现早熟等现象,以致不能全局寻优。因此其改进算法层出不穷。