遗传算法options.pdf

上传人:小** 文档编号:89081765 上传时间:2019-05-17 格式:PDF 页数:7 大小:490.49KB
返回 下载 相关 举报
遗传算法options.pdf_第1页
第1页 / 共7页
遗传算法options.pdf_第2页
第2页 / 共7页
遗传算法options.pdf_第3页
第3页 / 共7页
遗传算法options.pdf_第4页
第4页 / 共7页
遗传算法options.pdf_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《遗传算法options.pdf》由会员分享,可在线阅读,更多相关《遗传算法options.pdf(7页珍藏版)》请在金锄头文库上搜索。

1、一 问题设置和结果 1 问题 Fitness function 适应值函数是最小化目标函数。可以使用形式为 objfun 函数句柄指定这个函数,其中 objfun.m 是返回一个量的函数文件。 Number of variables 变量个数是适应值函数中独立变量的个数. 2 约束 Linear inequalities 线性不等式是有矩阵 A 和向量 b 定义的 Axb。 Linear equalities 线性等式是有矩阵 Aeq 和向量 beq 定义的 Aeq*x=beq。 Bounds 边界是变量的上界(Upper)和下界(Lower) 。 Nonlinear constraint f

2、unction 非线性约束函数定义了非线性约束,可把 这个函数定义为一个无名函数或者形式为nonlcon 的函数句柄, 其中 nonlcon.m 是返回向量 c 和 ceq 的函数文件。非线性等式的形式是 ceq=0,非线性不等式的 形式是 c0。 3 运行求解器并查看结果 要运行求解器,单击 start 按钮。当算法终止时,状态和结果格中显示该算 法终止的原因。 二 选项 1. Population 种群 Population options 种群选项设置遗传算法的种群的选项。 Population type 种群类型设置适应值函数的输入类型和约束: (1)Double vector 条目为

3、 Double 型的向量 (2) Bit string 字节串 即由 0 和 1 组成的二进制串。对于创建函数和 变异函数,选择“均匀”或“自定义” ;对于交叉函数,选择“分散”、 “单点” 、 “双点”或“自定义” ;不可以使用混合函数或非线性约束函数。 (3)custom 自定义 对于交叉函数和变异函数,选择“自定义” ;对于创 建函数,选择自定义或提供一个初始种群;不可以使用混合函数或非线性约束函 数。 Population size 种群规模指定了每一代有多少个体。如果你把种群规 模设置为一个比 1 大的向量,算法会创建多个子种群。向量的每个条目指定一个 子种群的规模。 Creatio

4、n function 创建函数指定了创建初始种群的函数: Use constraint dependent default 使用约束依赖。如果没有约束,选择 “均匀” ;否则,选择“可行种群” 。 (1)Uniform 均匀 根据均匀分布创建随机初始种群; (2)Feasible population 可行种群 创建满足边界和线性约束的随机初 始种群。 Custom 自定义 可以提供自己的创建函数,必须产生在种群类型中定义的 类型的数据。输入函数句柄CreationFcn 可以定义。 Initial population 初始种群 需要为遗传算法指定一个初始种群。如 果你不设置初始种群,算法用

5、创建函数创建一个函数。可以设置比种群规模更少 的个体;如果这样做,创建函数创建的是最好的。 Initial score 初始值 设置初始种群的适应度,如果你不设置初始适应 度,算法使用适应度函数计算适应度。 Initial range 初始范围 指定了初始种群的向量条目的上下界。可以 用一个 2 行和初始长度做列的矩阵指定初始范围, 第一行是初始种群的向量条目 的下界,第二行是上界。如果指定初始种群为 2 行 1 列的矩阵,两个标量扩大为 长度为初始长度的常数向量。 2. Fitness scaling 适应值缩放 缩放函数把适应值函数返回的初始适应值转换为适应选择函数的范围的值。 Rank

6、排序 根据每一个个体的排名扩大或缩小原始的适应度。排序之后, 个体的排名便是它的位置。最优个体的排名是 1,次优个体的排名为 2,以此类 推。排序适应度缩放法消除了原始适应度的扩展效应。 Proportional 按比例 使每个个体的期望(比例)与其原始适应度值成 比例。当原始适应度值不在一个“好的范围”中,该策略会有缺陷。 Top 用最大适应度等同的扩大或缩小个体。如果选用了该策略,可以指 定 Quantity, 即产生后代的最优个体的数目。 Quatity 必须是 1 到种群规模之间的 整数, 或介于 0 到 1 之间的表明占种群规模比例的分数。每一个个体都有相同的 复制概率。其余的个体复

7、制概率为 0。 Shift linear 扩大或缩小初始适应度,使最优个体的期望值等于一个常 数,定义此常数为“最大存活率” 。 Custom 自定义 自己可以定义缩放函数。输入一个形式为ScaleFcn 的 句柄就可以定义。 3. Selection 选择 选择函数是基于适应值缩放函数缩放之后的值为下一代选择父代。 可以选择如下的选择函数: Stochastic uniform 随机均匀 产生一条线,每一个父代个体对应于线 上的一段,线段的长度所占的比例相应于父代个体的期望值所占的比例。该算法 以相同的步长沿线移动,每一步确定一个父代,算法确定其“着陆”的部分为一 个父代。该算法的第一步是确

8、定一个比步长小的均匀随机数。 Remainder 每一个个体的缩放之后的适应度的整数部分赋于父代,然后 使用轮盘赌选择方法选择剩余的分数部分。 Uniform 均匀 依据均匀分布函数, 根据父代的期望和数目随机的选择父 代。该方法是无定向搜索。均匀选择不是一个特别有效的搜索策略,但是可以用 来测试遗传算法。 Shift linear 扩大或缩小初始适应度,使最优个体的期望值等于一个常 数,定义此常数为“最大存活率” 。 Roulette 轮盘赌 模拟一个轮盘,使每一个个体所占的面积与其期望成 正比。 然后产生一个随机数,随机数落在个体的积累面积之内就选择这个个体作 为父代。 Tournamen

9、t 竞争 随机的选择个体,这些被选择的个体的数目成为竞争 规模,然后选择最优的个体使之成为父代。 Custom 自定义 自己可以定义选择函数。输入一个形式为SelectFcn 的 句柄就可以定义。 4. Reproduction 复制 复制决定遗传算法在新的一代产生多少后代。 Elite count 精英数 下一代最少存活的个体数目。精英数应为小于或等 于种群规模的正整数。 Cross fraction 交叉率 参与交叉运算的个体所占比例。交叉率为 0 到 1 之间的一个分数。 5. mutation 变异 变异函数使个体产生微小变化,扩大遗传算法搜索范围。在 Mutation functio

10、n 中指定变异方程,可从下选择策略: Use constraint dependent default 策略:Gaussian 指无约束;否则选 adaptive feasible ,即自适应可行。 Gaussian 策略:为每个个体向量提供一个随机数,这个随机数从以零为 中心的高斯分布中选出,这个分布的标准差由参数 Scale(决定第一代的标准差) 和 Shrink(随着每代的变化控制标准差的收缩)决定。如果 shrink 是 0 则标准差 是连续的;如果是 1 则标准差线性递减到 0。 Uniform 均匀策略:这是一个两步的过程。首先,算法选择个体向量的 一段进行变异,每个个体变异的概率

11、相等。然后,算法交换选中的部分。 Adaptive feasible 自适应可行策略:随机产生适应上一代变异方向。 变异长度根据变异方向选择,这样就会满足非线性约束。 Custom 自定义:可以允许你写下自己的变异函数。格式为MutateFcn, MutateFcn.m 文件的语法详见帮助。 6. Crossover 交叉 结合两个个体(父代)来形成一个新个体,用 Crossover function 来设置交 叉函数,可以选择的策略: Scattered 分散策略:创造随机二进制向量。从第一个父代中选择向量 中为“1”的位置,从第二个父代中选择向量中为“0”的位置,结合组成子代。 例如: p

12、1 = a b c d e f g h p2 = 1 2 3 4 5 6 7 8 random crossover vector = 1 1 0 0 1 0 0 0 child = a b 3 4 e 6 7 8 Single point 单点交叉策略:选择一个 1 到变量数的随机整数 n,从第 一个父代中选择一个向量, 基因位置小于等于 n 片段, 从第二个父代选择一个基 因位置大于 n 的片段,连接这两个片段形成子代。例如: p1 = a b c d e f g h p2 = 1 2 3 4 5 6 7 8 random crossover point = 3 child = a b c

13、4 5 6 7 Two point 多点交叉策略:选择 1 到变量数间的两个整数 m 和 n。算法 从第一个父代中选择基因位置小于等于 m 的片段,从第二个父代中选择基因位 置为 m+1 到 n 的片段,从第一个父代中选择基因位置大于 n 的片段,算法连接 这些基因片段形成新基因。例如: p1 = a b c d e f g h p2 = 1 2 3 4 5 6 7 8 random crossover points = 3,6 child = a b c 4 5 6 g h Intermediate 策略:以随机权重由父代产生子代。由参数 Ratio 控制: child1= parent1+

14、rand*Ratio*(parent2 - parent1), Ratio 可以是标量或是变量个数 长度的向量,如果 Ratio 是0,1间的数,子代位于由父代位置定义的空间相反的 顶点。 Heuristic 启发式策略:子代位于父代两点连成的直线,距离父代距离 近适应值较好,距离父代远适应值较差。 Arithmetic 算数策略:子代是父代的差,在父代所在的直线上。 Custom 自定义策略:允许自定义交叉函数,以CrossoverFcn 调用,具 体语法见帮助。 7. Migration 迁移 是不同子代间个体的移动,如果种群规模(Population size)设定为长度大于 1 的向量

15、则有算法产生。偶尔,子代中最优个体代替另一子代中的最差个体。可 由以下三个参数控制迁移产生的频率: Direction 指定迁移发生的方向,如果设为 Forward,迁移在最后一代发 生,就是第 n 个子代迁移到第 n+1 个子代;如果设为 Both,则第 n 个子代既迁 移到第 n-1 个子代也迁移到第 n+1 个子代。迁移可能陷入局部解,也就是最后一 个子代迁移到第一个子代,第一个迁移到最后一个,为了防止这种情况要指定一 个子代的规模为 0。 Fraction 控制子代间移动的个体数。移动个体数要小于较小规模子代的 个体数。如果从一个个体数为 50 的子代移动到个体数位 100 的子代,F

16、raction 为 0.1,则要移动 0.150=5 个个体。从一个子代移动到另一个的个体是要复制 过去,移动源的子代不变。 Interval 控制移动间隔的代数。如果设置为 20,则每 20 代移动一次。 8. Algorithm settings 算法设置(针对非线性约束) 初始惩罚(Initial penal ty)算法的初始值,必须大于等于 1。 惩罚因子(Penalty factor)当问题不满足要求的精度或者不满足约束 时,就用惩罚因子加大惩罚参数。惩罚因子要大于 1。 9. Hybrid function 杂交函数 允许在遗传算法终止后,再指定一个最小化函数。可选择项为: 无 fminsearch(无约束) patternsearch(有约束或无约束) fminunc(无约束) fmincon(有约束) 设置此选项的命

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号