GAOT工具箱设置交叉概率和变异概率

推荐阅读《基于Matlab 遗传算法工具箱的优化计算实现-陈秋莲》这篇论文

关于GAOT工具箱具体信息可自行百度,这里主要看一下GAOT工具箱怎么设置交叉概率和变异概率。

首先看一下GAOT工具箱中ga.m的解释

ga run a genetic algorithm
  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])

那我直接摘取论文中以下解释:
在这里插入图片描述

所以从这里看出,大多数情况下GA算法的选择方法是轮盘赌方法,在GAOT工具箱可以使用其他选择方法,而且可以设置选择概率。在交叉操作中,如果你使用GAOT中的arithXover方法,那么交叉概率是随机的:
在这里插入图片描述
但是我们可以自己设置啊,比如上图我设置交叉概率为0.4即可。

发布了13 篇原创文章 · 获赞 32 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43637490/article/details/104600678