赞
踩
遗传算法编码问题
对于遗传算法而言,如何将问题的解转换为“染色体”是一个关键问题。通常而言实数编码解决的是约束优化问题,整数编码求的是组合优化问题。选择合适的编码是解决遗传算法问题的基础工作。
对于非字符串编码方法来说,在编码和解码之间存在三个核心的问题:
–编码示例(TSP问题)–
TSP问题描述:假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。(为了更直观的示例,我们将n设为6,六个城市的编码分别为1,2,3,4,5,6)
1.将解直接编码为二进制,如果有6个城市,则编码为30个二进制。 但这种编码不能直接判断约束条件,会产生很多不可行解。
2.循环路径编码,将所有城市的编码的序号作为一个解。(132465) 但是会产生n对1的mapping, (132465 ;324651;1564231 对应的都是同一个解),做交叉、变异很可能产生不合法解,因此在做交叉、变异的时候要规避产生不合法的解。
3.第三种编码,将编码位置作为城市序号,如城市1到城市3,则编码第一位为3,城市2到城市4,则编码第二位为4,以此类推,可以将循环路径编码中的132465;324651等,编码为342615,这种编码方式可以减少冗余,进行有效的同一循环路径的判断,但若直接进行交叉变异容易产生具有子回路的不可行解,如243615这种编码中的城市3到城市3,这属于不可行解,这种具有子回路的不可行解不好判断。
论文tips:改mutation 和crossover的
选择
crowding strategy: 将与子代最像的父代替换掉,加强了种群的多样性
Stochastic Sampling
(1) Roulette wheel selection :实数优化和组合优化
(2) Stochastic universal sampling
Deterministic Sampling
(1) (u+
(2) (u,
(3) Truncation selection
(4) Block selection
(5) Elitist selection
(6) The generational replacement
(7) Steady-state reproduction
Mixed Sampling
(1) Tournament selection: 随机抽取10个,将这10个里面选一个最好的解放进下一代
(2) Binary tournament selection
(3) Stochastic tournament selection
(4) Remainder stochastic sampling
tips:常用的方法为Roulette wheel selection 和(u+
实数编码示例
在上一篇博客的示例中我们采用了二进制编码了解决了一个无约束问题,在这里我们将采用实数编码来解决同样的问题。
问题描述
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。