摘要: 本章通过讲解一道例题,带大家介绍遗传算法如何用代码实现 目录一、问题提出二、参数设置二、开始迭代,种群初始化三、进行轮盘赌法,选中适应度大的个体四、基因交叉五、变异操作六、输出结果 一、问题提出 二、参数设置 NP为种群个体数,我们会在这么多数量的种群中进行基因的交换与变异。 惩罚系数是在计算适应度 阅读全文
posted @ 2024-08-26 16:12 卢宇博 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 遗传算法是受自然进化理论启发的一系列搜索算法。通过模仿自然选择和繁殖的过程,遗传算法可以为涉及搜索,优化和学习的各种问题提供高质量的解决方案。本章会介绍遗传算法的理论基础 目录一、遗传算法相比其他启发式算法的优劣1.使用问题2.模型对比二、0-1背包问题1.问题提出2.贪心算法求解(1)方案一:优先 阅读全文
posted @ 2024-08-24 20:14 卢宇博 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 本章会介绍在matlab上运行模拟退火算法求解TSP问题 目录一、问题提出二、导入数据与生成距离矩阵1.导入数据与变量初始化2.生成距离矩阵三、进行模拟退火1.参数设置2.进入循环(1)最外层循环(2)生成随机数,替换解序列(3)计算目标函数值的增量(4)进入判断语句--是否接受结果 一、问题提出 阅读全文
posted @ 2024-08-23 00:04 卢宇博 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 模拟退火算法是一种基于概率的,可以有效避免陷入局部极小并最终趋于全局最优的串行结构的优化算法。通常用于解决:可行解过多、传统算法运算时间过长、筹款组合方案过多和NP-hard等问题 目录一、模拟退火的思想与提出1.基本思想2.贪心算法失效--陷入局部最优3.模拟退火如何解决解决陷入局部最优?二、模拟 阅读全文
posted @ 2024-08-22 17:56 卢宇博 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 在一元线性回归中,我们使用最小二乘法估计出k与b,这其实就是一个求拟合函数的过程。当一元扩展到多元,我们也可以用最小二乘的思想估计出参数 目录一、最小二乘法二、将最小二乘法视为最值问题1.利用有约束的fmincon函数(1)定义目标函数(2)进行求解2.利用无约束最小值函数(1)利用fminsear 阅读全文
posted @ 2024-08-21 17:47 卢宇博 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 我们之前介绍了三种求解方程组的函数分别为solve,vpaslove,fsolve;这三种函数对初值的要求非常高,当遇到非常复杂的方程组,我们又没能给定一个好的初值时,这三种函数的求解算法可能找不到解。这时我们可以考虑用粒子群算法求解方程组 目录一、方程组的一般形式二、定义目标函数三、一个具体的实例 阅读全文
posted @ 2024-08-21 16:26 卢宇博 阅读(14) 评论(0) 推荐(0) 编辑
摘要: particleswarm函数是matlab自带的粒子群优化算法,其使用自适应的邻域模式搜索最优解,比我们之前自己写的代码要好得多,本章我们来讨论一下其思想与参数设置 目录一、自适应的邻域模式1.全局模式与邻域模式2.全局模式的优劣3.邻域模式的优劣4.何为“自适应”二、预设参数的选取1.粒子个数S 阅读全文
posted @ 2024-08-20 18:06 卢宇博 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 当你提出了一种新的优化算法后,你需要和别人之前提出的算法来进行PK看你的算法有没有提高,那么如何证明你的算法比较优秀呢? 可以给把算法套在测试函数上,看谁的运行时间更短,求得测试函数的适应度更好 目录一、四种常见的测试函数二、利用粒子群算法进行测试1.修改变量个数2.修改上下界3.计算适应度4.绘制 阅读全文
posted @ 2024-08-20 16:12 卢宇博 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 个体学习因子c1和社会(群体)学习因子c2决定了粒子本身经验信息和其他粒子的经验信息对粒子运行轨迹的影响,其反映了粒子群之间的信息交流。设置c1较大的值,会使粒子过多地在自身的局部范围内搜索,而较大的c2的值,则又会促使粒子过早收敛到局部最优值。那么如何改进这两个因子的取值才能更好地找到我们的最优解 阅读全文
posted @ 2024-08-19 18:17 卢宇博 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 惯性权重w体现的是粒子继承先前的速度的能力,Shi,Y最先将惯性权重w引入到粒子群算法中,并分析指出一个较大的惯性权值有利于全局搜索,而一个较小的权值则更利于局部搜索。因此,在迭代适应度的同时对惯性权重进行迭代有利于帮助我们寻找最优解 目录一、线性递减惯性权重1.迭代思想2.迭代公式3.代码实现二、 阅读全文
posted @ 2024-08-19 17:19 卢宇博 阅读(49) 评论(0) 推荐(0) 编辑