遗传算法函数ga用法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
matlab 遗传算法工具箱函数ga
matlab 遗传算法工具箱函数及实例讲解
核心函数:
(1)function [pop]=initializega(num,bounds,eevalFN,eevalOps,options)--
初始种群的生成函数
【输出参数】
pop--生成的初始种群
【输入参数】
num--种群中的个体数目
bounds--代表变量的上下界的矩阵
eevalFN--适应度函数
eevalOps--传递给适应度函数的参数
options-- 选择编码形式( 浮点编码或是二进制编码)[precisionF_or_B],如
precision--变量进行二进制编码时指定的精度
F_or_B--为1 时选择浮点编码,否则为二进制编码,由precision指定精度)
(2)function[x,endPop,bPop,traceInfo]=ga(bounds,evalFN,evalOps,startPop,opts,... termFN,termOps,selectFN,selectOps,xOverFNs,xOverOps,mutFNs,mutOps)--遗传算法函数【输出参数】
x--求得的最优解
endPop--最终得到的种群
bPop--最优种群的一个搜索轨迹
【输入参数】
bounds--代表变量上下界的矩阵
evalFN--适应度函数
evalOps--传递给适应度函数的参数
startPop-初始种群
opts[epsilon prob_ops display]--opts(1:2)等同于initializega 的
options 参数,第三个参数控制是否输出,一般为0。如[1e-6 1 0]
termFN--终止函数的名称,如['maxGenTerm']
termOps--传递个终止函数的参数,如[100]
selectFN--选择函数的名称,如['normGeomSelect']
selectOps--传递个选择函数的参数,如[0.08]
xOverFNs-- 交叉函数名称表,以空格分开,如['arithXover heuristicXoversimpleXover'] xOverOps--传递给交叉函数的参数表,如[2 0;2 3;2 0]
mutFNs-- 变异函数表,如['boundaryMutation multiNonUnifMutation nonUnifMutation unifMutation']
mutOps--传递给交叉函数的参数表,如[4 0 0;6 100 3;4 100 3;4 0 0]
注意】matlab 工具箱函数必须放在工作目录下运算借过为:x =同的初始群体)一定可以得到近似最优解。
第一个M文件为:
clear, clc
close all
prepare=[17 17 17 17 17 17 17 15 15 15 17 17 17 17 17 17 17 17 17 17 17 12 14 16 17 18 21 17 17 17 17 17 17 15 15 15 15 17 17 17;
-1 -1 -1 -1 -1 -1 -1 -0.6 -0.6 -0.6 -0.6 -0.2 -0.2 -0.2 -0.2 -0.2 0.2 0.2 0.2 0.2 0.2 0.6 0.6 0.6 0.6 0.6 0.6 1 1 1 1 1 1 1 1 1 1 1 1 1;
2 4 4 4 4 6 8 7 7 7 7 2 5 7 8 11
3 6 9 12 15 0 0 0 0 0 0
4 7 7 7 7 9 10 10 10 10 13 17 21;
24 24 14 34 44 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 14 24 34 44 24 24 24;
5 5 5 5 5 5 5 10 30 60 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 30 60 5 5 5 5 5 5 5 5];
flux=[890 686 649 721 789 648 400 721 621 10 290 524 721 834 842 1021 411 380 288 192 134 1450 950 750 523 375 130 767 623 577 659 15 690 705 943 986 1021 660 500 473];
%数据预处理