全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2081 3
2015-02-12
摘自百度百科:粒子群算法,也称粒子群优化算法(Particle Swarm Optimization),缩写为 PSO, 是近年来发展起来的一种新的进化算法(Evolutionary Algorithm - EA)。PSO 算法属于进化算法的一种,和模拟退火算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质,但它比遗传算法规则更为简单,它没有遗传算法的“交叉”(Crossover) 和“变异”(Mutation) 操作,它通过追随当前搜索到的最优值来寻找全局最优。这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。粒子群算法是一种并行算法。
自话粒子群算法(超简单实例):http://blog.csdn.net/breezedust/article/details/12378519
粒子群算法解决函数优化问题:http://wenku.baidu.com/link?url=oa2yudalkxoYZzygfMdaUOWgxHA-w9hwa9-I-R2vbv_2EwZmfhNxC-D7Esc7c1K0CQRy_mh-li6_BZocDoZ26MixkqYk-L-rakSq1W7uFQu

粒子群算法在寻优方面思路简洁、效率极好,可惜在坛里很少有人提及。看了上述两篇文章,很想在sas里试试,无奈能力有限。
有哪位高手愿意写代码让大家学习一下吗?就用第一篇文章里的例子:求解y=-x*(x-1) [-2,2]上最大值


如果能参考第二篇文章写成宏的形式,那自然是极好的了

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-2-13 23:14:12
按上文要求写了段代码,经过300余次迭代能找到y=-x*(x-1)在【-2,2】上的最优解:0.25作为新手,代码写的不堪入目,只图能起到抛砖引玉的作用。
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-2-14 09:47:46
强人 啊 ,学习了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-2-14 09:58:05
乱写的,有错。期待高手关注
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群