二、粒子群算法的具体表述上面罗嗦了半天,那些都是科研工作者写论文的语气,不过,PSO的历史就像上面说的那样。
下面通俗的解释PSO算法。
PSO算法就是模拟一群鸟寻找食物的过程,每个鸟就是PSO中的粒子,也就是我们需要求解问题的可能解,这些鸟在寻找食物的过程中,不停改变自己在空中飞行的位置与速度。
大家也可以观察一下,鸟群在寻找食物的过程中,开始鸟群比较分散,逐渐这些鸟就会聚成一群,这个群忽高忽低、忽左忽右,直到最后找到食物。
这个过程我们转化为一个数学问题。
寻找函数y=1-cos(3*x)*exp(-x)的在[0,4]最大值。
-----------------------------------------------------------------标准粒子群算法的实现思想基本按照粒子群算法(2)----标准的粒子群算法的讲述实现。
主要分为3个函数。
第一个函数为粒子群初始化函数InitSwarm(SwarmSize......AdaptFunc)其主要作用是初始化粒子群的粒子,并设定粒子的速度、位置在一定的范围内。
本函数所采用的数据结构如下所示:表ParSwarm记录的是粒子的位置、速度与当前的适应度值,我们用W来表示位置,用V来代表速度,用F来代表当前的适应度值。
在这里我们假设粒子个数为N,每个粒子的维数为D。
---------------------------------------------------------------------
2023/2/17 13:39:22 493KB 粒子群 局部版本 多目标 matlab
1
软件提供三种搜索方式:1.输入网址进行搜索此搜索方法可以搜索某一特定公司的所有邮件地址。
填写好此公司的网址。
选种“仅搜索此服务器上的页面”,然后点“开始”按扭,即可。
*搜索论坛邮件地址:6.0版本开始《搜寻家》开始支持论坛搜索:  ⑴ 打开 InternetExplorer浏览器,然后打开要搜索的论坛,并输入用户名、密码登录进去。
(不要关闭浏览器)  ⑵ 打开《搜寻家》输入论坛的主页网址,也可以输入论坛任何一个页面的网址,然后按“开始”即可。
2.根据搜索引擎搜索输入相应的关键字,并选择好引擎,然后点“开始”按扭即可。
为了搜索完整的搜索结果,可以按照第3种方式,以参数搜索方式搜索,请看下边说明和举例。
3.带参数网页搜索带参数网页指网页地址后边带变量的页面,或者页面地址中有有规律变化的数字。
使用方法:输入地址的时候,把可变部分用“{INT}”替换(不包含引号)。
在最大最小值中输入相应的数值,如果数字不连续变化,则输入相应的步长值,否则请输入1。
比如:http://www.test.com/test298.htm,这就是一个带参数的页面,可变部分为test与.htm中间那个数字。
则输入如下:  *假设变化范围为1-1000搜索引擎的参数搜索举例(以百度为例):地址的确定:用浏览器在百度输入关键词“TEST”,然后搜索。
转到搜索结果的第2页,得到浏览器地址栏的地址为“http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=TEST&pn=10&cl=3”经过分析可以知道pn=10代表的是第2页,类推可以知道pn=20就是第3页,(经过查看后边页面可以知道我们的推测是正确的。
这样我们用{INT}替换掉地址中pn=10的“10”,即得到搜索中要填写的地址“http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=TEST&pn={INT}&cl=3”。
最小值的确定:经过查看每个页面,可以看出这个pn=的值是以10为单位变化的,可以确定第1页此值为0步长值的确定:经过查看每个页面,可以看出这个pn=的值是以10为单位递增的。
所以步长值为10最大值的确定:经过用浏览器查看,总共搜索结果有76页,第76页这个参数的值为750,也就是我们要找的最大值。
那么我们在软件的搜索参数设置中就应该按如下填写地址:http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=TEST&pn={INT}&cl=3最小值:0最大值:750步长值:10*此搜索方式,特别适合分页显示的页面、以及按参数显示的页面比如产品分类,公司目录等等,只需其中参数是数值,并且变化后页面是变化的就可以使用。
2023/2/16 19:46:29 1.61MB 超级邮址搜寻家
1
采用c#编写的三元函数求最值问题,例子是有三个未知数,且三个未知数有取值范围,根据遗传算法求得三元函数的最大值
2015/2/20 23:57:17 50KB 代码 c# 遗传算法 多元
1
我的思路是这样的:最速下降法能找出全局最优点,但在接近最优点的区域内就会陷入“齿型”迭代中,使其每进行一步迭代都要花掉非常久的时间,这样长久的等待是无法忍耐的,不信你就在我那个程序的第一步迭代中把精度取得很小如:0.000000001等,其实我等过一个钟都没有什么结果出来。
再者我们考究一下牛顿迭代法求最优问题,牛顿法相对最速下降法的速度就快得多了,而且还有一个好处就是能高度逼近最优值,而不会出现死等待的现象。
如后面的精度,你可以取如:0.0000000000001等。
但是牛顿法也有缺点,就是要求的初始值非常严格,如果取不好,逼近的最优解将不收敛,甚至不是最优解。
就算收敛也不能保证那个结就是全局最优解,所以我们的出发点应该是:为牛顿法找到一个好的初始点,而且这个初始点应该是在全局最优点附近,这个初始点就能保证牛顿法高精度收敛到最优点,而且速度还很快。
思路概括如下:1。
用最速下降法在大范围找到一个好的初始点给牛顿法:(最速下降法在精度不是很高的情况下逼近速度也是蛮快的)2。
在最优点附近改用牛顿法,用最速下降法找到的点为牛顿法的初始点,提高逼近速度与精度。
3。
这样两种方法相结合,既能提高逼近的精度,还能提高逼近的速度,而且还能保证是全局最优点。
这就充分吸收各自的优点,扬长避短。
得到理想的结果了。
2021/8/24 8:13:46 3KB matlab 最速下降法 牛顿法
1
该代码提出了遗传算法(GA)来优化3连杆(冗余)机器人的点对点轨迹规划手臂。
所提出的遗传算法的目标函数是在不超过最大值的情况下最小化旅行时间和空间预先定义的扭矩,不与机器人工作空间中的任何障碍物发生碰撞。
四次多项式和五次多项式用于描述连接起始点、中间点和最起点的连接段。
使用了直接运动学为了避免机器人手臂的奇异配置。
2019/5/4 19:49:14 1.31MB 遗传算法 机械人手臂 运动规划 matlab
1
本文介绍了buck变换器功能研究型实验的要点和结论。
Buck变换器的输入直流电压由三相调压器输出的单相交流电经HKDT07挂箱上的单相桥式整流及电容滤波后得到。
接通交流电源,观测波形,记录其平均值。
(注:本装置限定直流输出最大值为50V,输入交流电压的大小由调压器调节输出)
2020/10/1 20:26:36 116B buck变化器
1
程序基于“Fastandreliablestructure-orientedvideonoiseestimation”并做了改进,分为针对CFA图像、灰度图像、RGB三个版本,各子通道方差综合方法可以修正,程序留出了第三个可选参数用于扩展。
程序实现上可进一步优化以提高处理速度(比如记录K个最小值中的最大值位置等),感兴味的朋友可以自己动手改动。
1
用matlab编写的法式,用GA算法求最大值,可以用
2015/5/26 11:39:32 1.85MB GA
1
基于广义互相关函数的时延估计算法引入了一个加权函数,对互功率谱密度进行调整,从而优化时延估计的功能。
根据加权函数的不同,广义互相关函数有多种不同的变形,其中广义互相关-相位变换方法(GeneralizedCrossCorrelationPHAseTransformation,GCC-PHAT)方法应用最为广泛。
GCC-PHAT方法本身具有一定的抗噪声和抗混响能力,但是在信噪比降低和混响增强时,该算法功能急剧下降。
研究表明麦克风对的GCC-PHAT函数的最大值越大则该对麦克风的接收信号越可靠,也就是接收信号质量越高。
更多说明参见本人博客:https://blog.csdn.net/qq_31556747/article/details/90242097
1
test-fun为界说的求解函数,test-funfun主函数调用MATLAB官方粒子群算法工具箱求解最大值
2019/9/13 11:12:55 1.45MB 粒子群算法工具箱 演示实例
1
共 103 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡