遗传算法-2-1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例如,对于十进数值 , 若用10位长的二进制码来表示该数的话,则该 串为
此时的编码精度为 。
二进制编码的优点:
(1)编码、解码操作简单易行; (2)交叉、变异操作便于实现; (3)符合最小字符集编码原则; (4)便于用模式定理对算法进行理论 分析。
(二)格雷码编码方法
二进制编码缺点:不便于反映所求问题的数值结构 特征,对于一些连续函数的优化问题,由于遗传算 法的随机特性而使其局部搜索能力变差。
例如,设 它们差是1,若使用二进制编码,它们分 别为
而使用同样长度的格雷码,它们分别为
显见,使用格雷码时,两个码串只有一位 码值不同,而使用二进制编码时,两个码 串差别有5位。
格雷码的编码精度与相同长度的二 进制编码的精度相同。
格雷码方法的主要优点是: (1)提高算法的局部搜索能力; (2)交叉、变异操作便于实现; (3)符合最小字符集编码原则; (4)便于用模式定理对算法进行理论 分析。
(三)浮点数编码法 二进制编码存在连续函数离散化时映射误差, 个体码串长度较短时,可能达不到精度要求;而个 体码串较长时,虽然能提高编码精度,但却使遗传 算法的搜索空间急剧扩大。
浮点数编码:
个体的每个基因值用某一范围内的一个浮 点数来表示,个体的编码长度等于决策变量的 个数。
该编码方法使用的是决策变量的真实值, 所以浮点数编码方法也称真值编码方法。
目前,还没有一个严密完整的指导理论和评价 标准帮助设计编码方案,但De.Jong提出了两个操 作性较强的实用编码指导原则:
1.积木块编码原则:应使用易于产生与所 求问题相关的低阶、短长度的编码方案。
2.最小字符集编码原则:应使用使问题得 到自然表示的、具有最小编码字符集的编码方案。
编码方法可以分为三大类:二进制编 码方法、浮点数编码方法、符号编码方法。
(一)二进制编码方法
二进制编码方法是最常用的一种编码方法。它的编 码符号集是{0,1},相应的个体基因型是一个二进制码 串,二进制码串的长度与求解精度有关。假设某一实数 值的范围是 我们用长度为 的二进制码串表示该数,它总共能产生 种不同的编码。
若
则二进制编码的编码精度为
假设某一个体的编码是
则相应的解码公式为
假设有一个二进制编码为 其对应的格雷码为 由二进制码到格雷码的转换公式为:
由格雷码到二进制码的转换公式为:
上面两公式中,
表示模二加运算(异或)。
格雷码的一个特点是:任两个整数的差是 这两个整数所对应的格雷码之间的海明距离。 这个特点是遗传算法中使用格雷码进行编码的 主要原因。(在信息编码中,两个合法代码对 应位上编码不同的位数称为海明距离。)
2.2.1
目标函数与适应度函数
在寻优应用中,遗传算法将目标函数作为个体的 适应度,对目标函数的使用体现为评价个体适应度。 评价个体适应度的一般过程是:
(1)对个体的基因码串解码可得个体表现型; (2)由个体表现型可算出对应的个体目标函数值;
(3)根据最优化类型,由目标函数值转化为个体适 应度。 个体的适应度必须为正数或零,不能是负数。
基因码
解码
表现型 目标函数值
转化
个体适应度
方法一:对于求目标函数最大值的优化问题:
Hale Waihona Puke Baidu
式中, 为一适当的相对比较小的数, 它可用下面几种方法之一选取:
• •
预先指定一个较小的数 取当前代的最小目标函数值
•
•
最近几代群体中的最小目标函数值
进化到当前代为止最小目标函数值
方法二:对于求目标函数最小值的优化问题:
例: 若一个优化问题含5个变量 每个变量都有其对应的上下限
则
表示一个个体的基因型
其对应的表现型是 浮点数编码必须保证基因值以及交叉、变 异运算的运算结果在给定的区间限制范围内。
浮点数法的优点: (1)适于表示范围较大的数; (2)适于精度要求高的场合; (3)适于较大空间搜索; (4)改善计算复杂性,提高运算效率; (5)便于遗传算法与经典优化方法混合使用; (6)便于设计针对专门知识的知识型算子; (7)便于处理复杂的决策变量约束条件。
第 二 章 遗传算法实现技术
2.1 编码方法
在遗传算法运行中,不是对问题的实际决策变 量直接进行操作,而是对表示可行解的个体编码 进行选择、交叉、变异等运算,从而达到寻优目 的。
把问题的可行解从其物理解空间转换到遗传 算法所能处理的搜索空间(编码空间)的转换方法 称为编码。 编码方法也决定了个体从搜索空间的基因型 变换到物理空间的表现型的解码方法,也关系到 交叉、变异等运算方法。好的编码方法,应使交 叉、变异运算简单可行、高效。
符号编码的主要优点是: (1)符合积木块编码原则; (2)便于利用问题专门知识; (3)便于遗传算法与相近的算法之 间的混合使用。
2.2
适应度函数
适应度:度量某个个体对于其生存环境的适应程度。
遗传算法用适应度来度量群体中各个体在优化 计算中接近、达到到最优解的优良程度。 适应度较高的个体遗传到下一代的概率就较大。 度量个体适应度的函数称为适应度函数。
(四)符号编码方法
个体染色体码串中的基因值取自一个无数值含 义而只有代码含义的符号集。这个符号集可以是字 母表,也可以是数字序号表,还可以是一个代码表。
例如,在旅行商问题中,假设有n个城市分别记 为 ,将各城市的代号按其被访问 的顺序连接一起,就可构成一个表示旅行路线的个体,如
表示顺序访问的城市是
C max f ( X ), 若 C max f ( X ) 0 F(X ) 0 , 若 C max f ( X ) 0
C max为一适当的相对比较大的数, 式中, 它可用下面几种方法之一选取: • 预先指定一个较大的数 • 取当前代的最大目标函数值 • 最近几代群体中的最大目标函数值 • 进化到当前代为止最大目标函数值