遗传算法实验七.ppt

上传人:小飞机 文档编号:5322570 上传时间:2023-06-25 格式:PPT 页数:100 大小:3.50MB
返回 下载 相关 举报
遗传算法实验七.ppt_第1页
第1页 / 共100页
遗传算法实验七.ppt_第2页
第2页 / 共100页
遗传算法实验七.ppt_第3页
第3页 / 共100页
遗传算法实验七.ppt_第4页
第4页 / 共100页
遗传算法实验七.ppt_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《遗传算法实验七.ppt》由会员分享,可在线阅读,更多相关《遗传算法实验七.ppt(100页珍藏版)》请在三一办公上搜索。

1、5.5 图形界面的Matlab遗传算法工具箱,在命令窗口的提示符后输入gatool并回车即可进行 matlab7.0 提供的基于图形界面的遗传工具箱。,输入适应值函数,输入变量个数,输入约束条件,选择图形输出,运行、暂停和中止求解器,显示当前代数,状态及结果显示窗口,显示最优解,参数设置区,参数说明,gatool图形界面窗口中各选项说明,一、适应度函数参数,Fitness function定义适应度函数 极小化问题的适应度函数句柄,一般格式为objfun,其中objfun.m 是极小化问题适应度函数的M文件,在使用 gatool 之前,先用MATLAB的M文件编辑器进行编辑。Number of

2、 variables适应度函数中独立的变量个数。,Constraints约束条件Linear inequalities输入线性不等式约束条件A*x=b,其中A为一矩阵,而b为一向量;Linear equalities输入线性等式约束条件Aeq*x=beq,其中Aeq为一矩阵,而beq为一向量;,一、适应度函数参数,Bounds变量边界Lower变量下界向量Upper变量上界向量Nonlinear constraint function定义非线性约束函数,一般格式为 nonlcon,其中nonlcon.m是非线性约束函数的M文件,在使用gatool之前,先用MATLAB的M文件编辑器编辑好.,一

3、、适应度函数参数,Plot interval指定相邻两次调用图形函数时的遗传代数;Best fitness plots画出每一代最佳适应值和平均适应值;Best individual plots画出当前最佳适应度个体;Distance plots画出每一代个体之间的平均距离;,二、绘图参数(Plot Functions),Expectation plots画出与每一代原始得分对应的期望子代数;Genealogy plots画出从一代到下一代的个体谱系。其中红线表示变异子辈;兰线表示交叉子辈;黑线表示原始个体。Range plots画出每一代中最大、最小和平均适应度函数值。Score diver

4、sity plots画出每一代的得分直方图。,二、绘图参数(Plot Functions),Scores plots画出每一代个体的得分。Selection plots画出双亲直方图Stopping plots画出停止条件水平Custom用户自定义绘图函数,一般格式为 myplotfcn,其中myplotfcn.m是用户自定义绘图函数的M文件,在使用gatool之前,先用MATLAB的M文件编辑器编辑好.,二、绘图参数(Plot Functions),三、种群参数(Population Options),Population type指定适应度函数的输入数据类型。其中Double vector

5、表示输入数据双精度向量;Bit string表示输入数据位串;Custom表示输入数据为自定义类型,此时用户必须自己编写创建变异和交叉函数来接受这种类型种群的输入。Population size指定种群规模,三、种群参数(Population Options),Creation function指定创建初始种群的函数。其中Uniform创建具有均匀分布的随机初始种群;Custom由用户自定义创建函数。Initial population指定初始种群Initial scores指定种群的初始适应值Initial range指定被创建函数生成的初始种群向量范围。,单击“populatiom”选项前

6、的“+”号,单击“”按钮弹出下拉菜单,选择输入数据类型,输入种群规模,指定创建初始种群的函数,四、适应度比例参数(Fitness Scaling Options),Scaling function适应度缩放比例函数。Rank scales缺省的适应度比例函数。Rank 函数根据个体的适应度值排列顺序而不是根据个体适应度值的大小来衡量个体的优劣。个体的排列是按个体的适应度值排序的。最适应个体排序为1,次最适应个体2,依此类推。Rank函数按适应度比例进行排队序,从而消除了原始适应度值的影响。,四、适应度比例参数(Fitness Scaling Options),Proportional通过计算个

7、体的适应值在群体总适应值中所占的比例的大小分配适应度;Top找出适应度值排在前n位的个体,给这些个体按1/n等比例分配适应度,其余个体的比例值指派为0。其中“quantity”规定了指派正比例值的个体数目。它可以是1到种群大小之间的整数,也可以是0到1之间的小数,这个小数是种群大小的百分比,其缺省值为0.4。,单击“Fitness Scaling”选项前的“+”号,选择适应度变换函数,选择“top”函数时输入参数“quantity”,四、适应度比例参数(Fitness Scaling Options),Shift linear 利用线性转换来衡量适应度值,将使最适应个体的期望值等于个体的平均值

8、乘以一个常数。在“Max survival rate”(最大生存率)字段中,可以设置这个常数,其默认值为2。Custom用户自定义,选择“Shift linear”函数时输入参数“Max Survival Rate”,五、选择参数(Selection Options),Stochastic uniform随机均匀选择函数,为缺省的选择函数;Remainder剩余选择函数;Uniform均匀选择函数;Roulette轮盘赌选择函数;Tournament锦标赛选择函数;Custom自定义选择函数。,单击“Selection”选项前的“+”号,六、再生参数(Reproduction Options)

9、,Elite count是一个小于群体中个体数目的正整数,指定将生存到下一代的个体数,缺省值为2;Crossover fraction是一个0到期1之间的小数,指定交叉概率。缺省值为0.8。,单击“Reproduction”选项前的“+”号,七、变异参数(Mutation Options),Gaussian高斯变异函数,缺省的变异函数,它通过将一个高斯分布、具有均值0的随机数加到期父向量的每一项。其中,参数Scale确定第一代方差,缺省值为0.5;参数Shrink控制方差怎样随着迭代次数增大而收缩,缺省值为0.7。Uniform均匀变异函数。Adaptive feasible可行的自适应变异函

10、数。Custom自定义变异函数。,单击“Mutation”选项前的“+”号,八、交叉参数(Crossover Options),Scattered分散交叉函数,缺省的交叉函数。它先创建一个与染色体等长的二进制向量,如果该向量的某一位是1,则子辈在该位上的基因来自于第一个父辈;如果是0,则子辈在该位上的基因来自于第二个父辈。例如:p1=a b c d e f g h p2=1 2 3 4 5 6 7 8 crossover vector=1 1 0 0 1 0 0 0 child=a b 3 4 e 6 7 8,八、交叉参数(Crossover Options),Single point单点交叉

11、。随时产生一个交叉点,将两个父辈染色体在交叉点处分成两段,取第一个父辈的前半段和第二个父辈的后半段组成新的个体。例如:p1=a b c d e f g h p2=1 2 3 4 5 6 7 8 crossover point=3 child=a b c 4 5 6 7 8,八、交叉参数(Crossover Options),Two point单点交叉。随时产生两个交叉点,将两个父辈染色体在交叉点处分成三段,取第一个父辈的前段和后段,第二个父辈的中段组成新的个体。例如:p1=a b c d e f g h p2=1 2 3 4 5 6 7 8 crossover points=3,6 child

12、=a b c 4 5 6 g h,八、交叉参数(Crossover Options),Intermediate中间重组。新个体通过以下方式产生:child1=parent1+rand*Ratio*(parent2-parent1)其中Ratio为权值,衡量两个父辈对子辈的贡献,rand为0与1之间的随机数。,八、交叉参数(Crossover Options),Heuristic线性重组。新个体通过以下方式产生:child1=parent2+Ratio*(parent1 parent2)产生的子辈与两个父辈在同一直线上,其中Ratio衡量子辈离两个父辈的距离,越远离父辈,则产生的子辈的适应度越低

13、。Arithmetic算术重组。Custom自定义,单击“Crossover”选项前的“+”号,九、迁移参数(Migration Options),Direction 迁移方向,可选项为Forward或Both。如果为Forward,则迁移发生在下一个子种群,即由第n个子种群向第n+1个子种群迁移;如果为Both,则迁移发生在两个邻近子种群,即由第n个子种群向第n-1个和第n+1个子种群迁移。Fraction迁移个体数目在子种群个体总数中所占的比例。Interval指定两次迁移间要经过多少代。,单击“Migration”选项前的“+”号,十、算法设置(Algorithm Settings),I

14、nitial Penalty初始惩罚参数,必须大于或等于1的常数;Penalty Factor惩罚因素,必须大于1。,单击“Algorithm settings”选项前的“+”号,十一、混合函数参数(Hybrid Function Options),混合函数是运行在遗传算法中止后的另一最小化函数。混合函数有以下选项:None没有混合函数fminsearch(仅适用于无约束条件情形)使用MATLAB函数fminsearch patternsearch使用模式搜索fminunc(仅适用于无约束条件情形)使用优化工具箱函数fminuncfmincon(仅适用于有约束条件情形)使用优化工具箱函数fmi

15、ncon,单击“Hybird function”选项前的“+”号,十二、停止准则参数(Stopping Criteria Options),Generations指定最大进化代数;Time limit指定运算最长时间;Fitness limit指定适应度限;Stall generations指定停滞代数;Stall time limit指定停滞时间。,单击“Stopping criteria”选项前的“+”号,十三、输出函数参数(Output Function Options),History to new window间隔输出算法迭代的历史到窗口,其中间隔的代数由Interval指定;Cus

16、tom自定义输出函数。,单击“Output function”选项前的“+”号,十四、显示到命令窗口参数(Display to Command Window Options),Off只有最终结果显示;Iterative显示每一次迭代的信息;Diagnose显示每一次迭代的信息,除此之外还列出函数缺省值已被改变的有亲信息;Final显示遗传算法的结果(成功与不成功)、停止原因、最终点。,十四、显示到命令窗口参数(Display to Command Window Options),其中Iterative与Diagnose两者显示如下信息:Generation代数;f-count适应度评估的累计数

17、;Best f(x)最佳适应度值;Mean平均适应度值;Stall generation停滞代数,即最后一次改进适应度以来的代数。,单击“Display to command window”选项前的“+”号,十五、向量化参数(Vectorize Option),指明适应度函数的计算是否被向量化。Off每次迭代循环中分别对每一个体调用适应度函数计算适应度值;On将群体作为一输入向量,每次迭代循环只调用适应度函数一次。只有适应度函数能接受矩阵输入时可选用这一选项。,单击“Vectorlize”选项前的“+”号,图形界面的遗传算法工具箱的应用,一、编辑计算适应值函数的M文件,用于计算适应值函数的文件必须接受一个行向量,并且返回一个标量。行向量的长度就是目标函数中独立变量的个数。,单击FileNewM-File,进入M文件编辑窗口,输入适应值函数M文件,将文件存放到指定目录,二、启动gatool,设置参数,输入适应值函数和变量个数,选择绘图函数,单击“start”按钮运行求解器,运行的状态及结果,运行结果的图形显示,重新设置各项运行参数,重新设置各项运行参数,重新设置各项运行参数,重新设置各项运行参数,重新设置各项运行参数,重新运行的结果,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号