第九章 最优化问题和遗传算法
第三节 遗传优化算法函数
1.搜索函数
遗传优化算法工具箱中搜索函数ga的调用格式是:
[xf,endPop,bPop,trace]=ga(bounds,evalFN,evalOps,startPop, opts,
termFN,termOps,selectFN,selectOps,xOverFNs, xOverops,mutFNs,mutOps)
其中,输出参数:
xf是优化解;
endPop是最终种群;
bPop是最终种群的一个轨迹;
trace是每一代种群中的最好个体和平均结果矩阵。
输入参数:
bounds是变量上下限矩阵;
evalFN是适应度函数;
evalOps是适应度函数的输入选项,默认为[];
startPop是初始种群;
opts是向量[epsilon prob_ops display],其中epsilon表示两代之间的差距;prob_ops取0时为二进制编码,取1时为浮点编码(计算精度较高);display表示运行时是否显示当前个体和最好结果。默认值[1e?6 1 0];
termFN是终止函数,默认值[‘maxGenterm’];
termOps是向终止函数输入的参数,默认值[100];
selectFN是选择函数;
selectOps是选择参数;
xOverFNs是一个包含空格字符串的xOver.m文件;
xOverops是xOver.m文件的输入参数矩阵;
mutFNs是一个包含空格字符串的mutation.m文件;
mutOps是mutation.m文件的输入参数矩阵。
应当指出,遗传算法搜索函数ga求的是函数的极大值,因此在求函数的极小值问题时需要将极大值问题转换为极小值问题。
2.编码和种群生成函数
遗传优化算法工具箱中编码和种群生成函数initializega的调用格式是
Function [Pop]= initializega(num,bounds,eevalFN,eevalOps,options)
其中,输出参数:
Pop是生成的初始种群;
输入参数:
num是种群中的个体数目;
bounds是变量上下限矩阵;
eevalFN是适应度函数;
eevalOps是传递给适应度函数的参数,默认值[ ];
options是选择编码形式的参数:浮点编码(默认值[ ])或是二进制编码。
遗传优化算法工具箱中搜索函数ga的调用格式是:
[xf,endPop,bPop,trace]=ga(bounds,evalFN,evalOps,startPop, opts,
termFN,termOps,selectFN,selectOps,xOverFNs, xOverops,mutFNs,mutOps)
其中,输出参数:
xf是优化解;
endPop是最终种群;
bPop是最终种群的一个轨迹;
trace是每一代种群中的最好个体和平均结果矩阵。
输入参数:
bounds是变量上下限矩阵;
evalFN是适应度函数;
evalOps是适应度函数的输入选项,默认为[];
startPop是初始种群;
opts是向量[epsilon prob_ops display],其中epsilon表示两代之间的差距;prob_ops取0时为二进制编码,取1时为浮点编码(计算精度较高);display表示运行时是否显示当前个体和最好结果。默认值[1e?6 1 0];
termFN是终止函数,默认值[‘maxGenterm’];
termOps是向终止函数输入的参数,默认值[100];
selectFN是选择函数;
selectOps是选择参数;
xOverFNs是一个包含空格字符串的xOver.m文件;
xOverops是xOver.m文件的输入参数矩阵;
mutFNs是一个包含空格字符串的mutation.m文件;
mutOps是mutation.m文件的输入参数矩阵。
应当指出,遗传算法搜索函数ga求的是函数的极大值,因此在求函数的极小值问题时需要将极大值问题转换为极小值问题。
2.编码和种群生成函数
遗传优化算法工具箱中编码和种群生成函数initializega的调用格式是
Function [Pop]= initializega(num,bounds,eevalFN,eevalOps,options)
其中,输出参数:
Pop是生成的初始种群;
输入参数:
num是种群中的个体数目;
bounds是变量上下限矩阵;
eevalFN是适应度函数;
eevalOps是传递给适应度函数的参数,默认值[ ];
options是选择编码形式的参数:浮点编码(默认值[ ])或是二进制编码。