遗传算法主函数说明

function [x, endPop, bPop, traceInfo] = ga(bounds, evalFN, evalOps, startPop, opts, ...
termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, mutOps)
                              
% Output Arguments:
%   x            - the best solution found during the course of the run
%   endPop       - the final population 
%   bPop         - a trace of the best population
%   traceInfo    - a matrix of best and means of the ga for each generation
%
% Input Arguments:
%   bounds       - a matrix of upper and lower bounds on the variables
%   evalFN       - the name of the evaluation .m function
%   evalOps      - options to pass to the evaluation function ([NULL])
%   startPop     - a matrix of solutions that can be initialized
%                  from initialize.m
%   opts         - [epsilon prob_ops display] change required to consider two 
%                  solutions different, prob_ops 0 if you want to apply the
%                  genetic operators probabilisticly to each solution, 1 if
%                  you are supplying a deterministic number of operator
%                  applications and display is 1 to output progress 0 for
%                  quiet. ([1e-6 1 0])
%   termFN       - name of the .m termination function (['maxGenTerm'])
%   termOps      - options string to be passed to the termination function
%                  ([100]).
%   selectFN     - name of the .m selection function (['normGeomSelect'])
%   selectOpts   - options string to be passed to select after
%                  select(pop,#,opts) ([0.08])
%   xOverFNS     - a string containing blank seperated names of Xover.m
%                  files (['arithXover heuristicXover simpleXover']) 
%   xOverOps     - A matrix of options to pass to Xover.m files with the
%                  first column being the number of that xOver to perform
%                  similiarly for mutation ([2 0;2 3;2 0])
%   mutFNs       - a string containing blank seperated names of mutation.m 
%                  files (['boundaryMutation multiNonUnifMutation ...
%                           nonUnifMutation unifMutation'])
%   mutOps       - A matrix of options to pass to Xover.m files with the
%                  first column being the number of that xOver to perform
%                  similiarly for mutation ([4 0 0;6 100 3;4 100 3;4 0 0])
end

输出参数:

  1. x - 在算法运行过程中找到的最佳解决方案。
  2. endPop - 最终种群,即算法执行结束时的种群。
  3. bPop - 最佳种群的跟踪,记录算法每一代中的最佳种群。
  4. traceInfo - 一个矩阵,包含每一代的最佳解和平均解的信息。

输入参数:

  1. bounds - 一组变量的上下限范围,用于定义问题的搜索空间。
  2. evalFN - 评估函数的名称,通常是一个MATLAB文件,用于计算个体的适应度。
  3. evalOps - 传递给评估函数的选项(默认为空)。
  4. startPop - 可以用于初始化种群的解决方案矩阵,通常是从一个名为initialize.m的函数获得的。
  5. opts - 一个包含三个元素的向量,分别表示精度(epsilon)、概率运算(prob_ops),以及显示输出(display)。这些参数用于控制算法的行为。
  6. termFN - 终止函数的名称,通常是一个MATLAB文件,用于确定何时终止算法(默认为'maxGenTerm',即达到最大代数时终止)。
  7. termOps - 传递给终止函数的选项字符串,用于配置终止条件(默认为100,表示最大代数)。
  8. selectFN - 选择函数的名称,通常是一个MATLAB文件,用于选择下一代种群中的个体(默认为'normGeomSelect',即使用一种选择策略)。
  9. selectOpts - 传递给选择函数的选项字符串,用于配置选择策略(默认为0.08)。
  10. xOverFNS - 包含用于交叉操作的文件名称的字符串,文件名之间用空格分隔(默认为一组交叉操作文件的名称)。
  11. xOverOps - 一个矩阵,包含传递给交叉操作文件的选项,第一列表示执行每种交叉操作的次数,用于配置交叉操作(默认为每种交叉操作执行2次)。
  12. mutFNs - 包含用于突变操作的文件名称的字符串,文件名之间用空格分隔(默认为一组突变操作文件的名称)。
  13. mutOps - 一个矩阵,包含传递给突变操作文件的选项,第一列表示执行每种突变操作的次数,用于配置突变操作(默认为每种突变操作执行4次,其中一种执行6次)。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值