A题:电采暖负荷参与电力系统功率调节的技术经济分析
B题:人工智能对大学生学习影响的评价
A题:电采暖负荷参与电力系统功率调节的技术经济分析 建设以新能源为主体的新型电力系统是应对全球气候变化挑战的重要举措。高比例新能源接...
阅读全文
完整版获取如下:
2023电工杯数学建模竞赛A题完整版思路+代码+数据+后续参考论文
我是数学建模KK 学姐,电工杯即将开始啦~学姐会为大家提供全套的电工杯赛题思路和资料哈~需要的话可以关注学姐下面这个帖子,会持续更新的~
A题:电采暖负荷参与电力系统功率调节的技术经济分析
B题:人工智能对大学生学习影响的评价
遗传算法vs粒子群算法,到底哪个好?
遗传算法(Genetic Algorithm,GA)
起源于对生物系统所进行的计算机模拟研究。它是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,借鉴了达尔文的进化论和孟德尔的遗传学说。其本质是一种高效、并行、全局搜索的方法,能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最佳解。
遗传算法从代表问题的可能潜在解集的一个种群出发,一个种群由一定数目的个体(individual)组成,每个个体实际上是染色体带有特征的实体。初始群体产生后,按照适者生存和优胜劣汰的原理,逐代演化产生越来越好的个体。在每一代,根据个体的适应度大小挑选个体,并借助于自然遗传学的遗传算子进行组合交叉和变异,产生出新的种群。整个过程类似于自然的进化,最后末代种群中的最优个体经过解码,可以作为问题的近似最优解。
(Particle Swarm Optimization,PSO)
被提出的灵感来源于鸟群觅食。鸟群觅食过程中,每只鸟沿着各个方向飞行去寻找食物,每只鸟儿都能记住到目前为止自己在飞行过程中最接近食物的位置,同时每只鸟儿之间也有信息共享,它们会比较到目前为止各自与食物之间的最近距离,[从各自的最近距离中,选择并记忆整体的一个最近距离位置。由于每只鸟儿都是随机往各个方向飞行的,各自的最近距离位置与整体最近距离位置不断被更新,也即它们记忆中的最近位置越来越接近食物,当它们飞行到达的位置足够多之后,它们记忆的整体最近位置也就达到了食物的位置。]
抽象成数学模型,每只鸟儿就是一个粒子,食物的位置也就是问题的最优解,鸟儿与食物的距离也即当前粒子的目标函数值。在智能优化算法的比较过程中,经常会用到一些测试函数,进行算法的性能比较。测试函数可用于评估优化算法在收敛速度、精度、性能和鲁棒性方面的特性,本文通过对不同的测试函数的比较来观察两种算法各自具有的特点。
2
算法原理
遗传算法
人们对GA进行了大量的研究,提出了各种改进算法用于提高算法的收敛速度和精确性。遗传算法采用选择,交叉,变异操作,在问题空间搜索最优解。
经典遗传算法首先对参数进行编码,生成一定数目的个体,形成初始种群其中每个个体可以是一维或多维矢量,以二进制数串表示,称为染色体。染色体的每一位二进制数称为基因。根据自然界生物优胜劣汰的选择思想,算法中设计适应度函数作为评判每个个体性能优劣的标准,性能好的个体以一定概率被选择出来作为父代个体参加以后的遗传操作以生成新一代种群。算法中基本的遗传算子为染色体选择,染色体上基因杂交和基因变异。生成新一代种群后算法循环进行适应度评价、遗传操作等步骤,逐代优化,直至满足结束条件。
遗传算法的基本步骤:
1)初始化群体
2)计算群体上每个个体的适应度值
3)选择操作,遵循个体适应度值所决定的某个规则
4)交叉操作
5)突变操作
6)判断是否满足停止条件,不满足进入(2),否则进入(7)
7)输出种群中适应度值最优的染色体作为问题的最优解
程序的停止条件一般有两种:达到预先设定的最大代数;种群中最优个体在连续若干代没有改进或平均适应度在连续若干代基本没有改进时停止。
粒子群算法
PSO算法和其他进化算法类似,也采用“群体”和“进化”的概念,通过个体间的协作与竞争,实现复杂空间中最优解的搜索。PSO先生成初始种群,即在可行解空间中随机初始化一群粒子,每个粒子都为优化问题的一个可行解,并由目标函数为之确定一个适应值(fitness value)。
PSO不像其他进化算法那样对于个体使用进化算子,而是将每个个体看作是在n维搜索空间中的一个没有体积和重量的粒子,每个粒子将在解空间中运动,并由一个速度决定其方向和距离。通常粒子将追随当前的最优粒子而运动,并经逐代搜索最后得到最优解。在每一代中,粒子将跟踪两个极值,一为粒子本身迄今找到的最优解pbest,另一为全种群迄今找到的最优解gbest。由于认识到PSO在函数优化等领域所蕴含的广阔的应用前景,在Kenned和Eberhart之后很多学者都进行了这方面的研究。目前已提出了多种PSO改进算法,并广泛应用到许多领域。
粒子群算法的基本步骤为:
1)初始化
初始化粒子群(粒子群共有n个粒子):给每个粒子赋予随机的初始位置和速度
2)计算适应值
根据适应度函数,计算每个粒子的适应值
3)求个体最佳适应值
对每一个粒子,将其当前位置的适应值与其历史最佳位置(pbest)对应的适应值比较,如果当前位置的适应值更高,则用当前位置更新历史最佳位置
4)求群体最佳适应值
对每一个粒子,将其当前位置的适应值与其全局最佳位置(gbest)对应的适应值比较,如果当前位置的适应值更高,则用当前位置更新全局最佳位置
5)更新粒子位置和速度
根据公式更新每个粒子的速度与位置
6)判断算法是否结束
若未满足结束条件,则返回步骤2),若满足结束条件则算法结束,全局最佳位置(gbest)即全局最优解。
3
两种算法异同
PSO和GA的相同点:
①都属于仿生算法。PSO主要模拟鸟类觅食、人类认知等社会行为而提出;GA主要借用生物进化中“适者生存”的规律。
②都属于全局优化方法。两种算法都是在解空间随机产生初始种群,因而算法在全局的解空间进行搜索,且将搜索重点集中在性能高的部分。
③都属于随机搜索算法。都是通过随机优化方法更新种群和搜索最优点。PSO中认知项和社会项前都加有随机数;而GA的遗传操作均属随机操作。
④都隐含并行性。搜索过程是从问题解的一个集合开始的,而不是从单个个体开始,具有隐含并行搜索特性,从而减小了陷入局部极小的可能性。并且由于这种并行性,易在并行计算机上实现,以提高算法性能和效率。
⑤根据个体的适配信息进行搜索,因此不受函数约束条件的限制,如连续性、可导性等。
⑥对高维复杂问题,往往会遇到早熟收敛和收敛性能差的缺点,都无法保证收敛到最优点。
PSO和GA不同点 :
①PSO有记忆,好的解的知识所有粒子都保存,而GA没有记忆,以前的知识随着种群的改变被破坏。
②在GA算法中,染色体之间相互共享信息,所以整个种群的移动是比较均匀地向最优区域移动。PSO中的粒子仅仅通过当前搜索到最优点进行共享信息,所以很大程度上这是一种单项信息共享机制,整个搜索更新过程是跟随当前最优解的过程。在大多数情况下,所有粒子可能比遗传算法中的进化个体以更快速度收敛于最优解。
③GA的编码技术和遗传操作比较简单,而PSO相对于GA,不需要编码,没有交叉和变异操作,粒子只是通过内部速度进行更新,因此原理更简单、参数更少、实现更容易。
④在收敛性方面,GA己经有了较成熟的收敛性分析方法,并且可对收敛速度进行估计;而PSO这方面的研究还比较薄弱。尽管已经有简化确定性版本的收敛性分析,但将确定性向随机性的转化尚需进一步研究。
⑤在应用方面,PSO算法主要应用于连续问题,包括神经网络训练和函数优化等,而GA除了连续问题之外,还可应用于离散问题,比如TSP问题、货郎担问题、工作车间调度等。
4
对比两种算法
对比两种算法(GA & PSO)求下列函数最大值
粒子群算法
遗传算法
粒子群算法(PSO)中每只鸟的搜寻具有方向性,而遗传算法(GA)中的变异则具有随机性。在某种程度上,粒子群算法(PSO)比遗传算法(GA)效率更高。
下面用数据来对比两种算法:
采用8种标准问题,首先对比遗传算法(GA)和粒子群算法(PSO)的计算量:
GA比PSO需要更多的计算量
基本上所有这8个问题,GA所需要的计算量都大于PSO的计算量,并且在其中2个问题上,GA所需的计算量基本上是PSO计算量的6倍以上。
接下来,对两种算法的计算结果进行对比,纵坐标的结果质量(solution qualitu)为计算结果与标准答案的比值。
遗传算法和粒子群算法结果比较可以发现,第一个问题上,PSO计算质量远超GA,但是在最后一个卫星问题上,GA的计算结果好过PSO,这是因为PSO在处理变量是离散的而非连续的时,效果一般。