① MATLAB用遗传算法ga求最大值中的最小值
MATLAB用遗传算法ga求含有最大值的最小值问题,可以这样处理:由于最大值问题的反问题就是最小值问题,所以 max=-min。因此,你的问题就可以改写为
min ( min -(3*x1+4*x2+...))
② 遗传算法:matlab中ga函数参数options该怎么设置
options可以不写有默认设置。
options是一个结构体要用函数gaoptimset()设置。
options=gaoptimset()然后把options填到ga()里面。
gaoptimset('属性名1',数值1,'属性名2',数值2......)。
常用设置:
③ 遗传算法的优缺点
1、早熟。这是最大的缺点,即算法对新空间的探索能力是有限的,也容易收敛到局部最优解。
2、大量计算。涉及到大量个体的计算,当问题复杂时,计算时间是个问题。
3、处理规模小。目前对于维数较高的问题,还是很难处理和优化的。
4、难于处理非线性约束。对非线性约束的处理,大部分算法都是添加惩罚因子,这是一笔不小的开支。
5、稳定性差。因为算法属于随机类算法,需要多次运算,结果的可靠性差,不能稳定的得到解。
大致这些,lz可查阅相关专业书籍!
④ 遗传算法 matlab自带ga函数
c=[246];%c为目标函数系数
fun_1=@(x)dot(c,x');%y为适应度函数值,求两向量的数量积
A=[10-1;-1-20;-100];%A为AX<=b的系数矩阵
b=[10;-1;0];%b为AX<=b的常数项
Aeq=[011];%AeqX=beq的系数矩阵
beq=12;%AeqX=beq的常数项
[x,y]=ga(fun_1,3,A,b,Aeq,beq)