数学建模遗传算法Matlab

概要

在这里插入图片描述
这几个算法都是在找一个输入和一个输出之间的,线性非线性关系。
下面的优化问题。
最优化理论的三大非经典算法
模拟退火法、神经网络、遗传算法
(这些问题是用来解决一些较困难的最优化问题的算法, 对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用)

一、遗传算法概述

遗传算法(Genetic Algorithm,GA)是进化计算的一部分,是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。该算法简单、通用,鲁棒性强,适于并行处理。

基本思想,是从可能潜的解集开始的。
在这里插入图片描述
●遗传算法的基本步骤:
1)编码: GA在进行搜索之前先将解空间的解数据表示成遗传空间的基因型串结构数据,这些串结构数据的不同组合便构成了不同的点。
2)初始群体的生成:随机产生N个初始串结构数据,每个串结构数据称为一个个体,N个个体构成了一个群体。GA以这N个串结构数据作为初始点开始进化。
3)适应度评估:适应度表明个体或解的优劣性。不同的问题,适应性函数的定义方式也不同。

个数太小就会导致计算效率下降
要确定这个参数N,要确定这个参数人,本来这就是一个找最优的问题,这个模型里面却又出现了要找最优的参数,这样程序的耦合行就很高。所以我们,会根据我们的经验值去调整和设定。

遗传算法工具箱

工具箱只能处理单目标,所以要把多目标量化为单目标,进行运算

第一步调出工具箱

命令行键入:optimtool‘
然后出现这个界面:
在这里插入图片描述
在上方选择ga工具箱

然后填写这些地方:
funtnes function:@ga_demo3fit (注意:适应度函数必须在当前目下)
Number of variables:2 (适应度函数变量)
Population Size:10 (种群大小)
Elite Count:10 (精英数目)
CrossoverFraction:0.75 (交叉后代比例)
Generations:500 (进化代数)
Stall generations:500 (停止代数)
Function tolerance:1e-100 (适应度函数偏差值)
在plot functions中,选中最优个体的适应度函数值(Best fitness)和最优个体(Best individua)。
其余选默认项。

猜你喜欢

转载自blog.csdn.net/qq_52626583/article/details/126435630