遗传算法变体:基于排列的GA与多目标优化
1. 基于排列的遗传算法(Permutation-based GA)
在许多优化问题中,元素的邻近性或邻接关系对找到最优解起着关键作用,旅行商问题(TSP)就是这类问题的典型代表。在TSP中,目标是访问一组城市并最小化总旅行距离,需要考虑旅行中相邻城市之间的距离。
这类问题通常被表述为排列问题。在排列表示中,如果有 n 个变量,解就是一个包含 n 个不同整数的列表,每个整数恰好出现一次。这种表示方式确保了解中元素的顺序或邻接关系被明确编码,这对于找到这些问题中的最优事件序列至关重要。
在基于排列的遗传算法中,会使用专门的交叉和变异算子来保留排列问题的约束条件,例如在TSP中确保每个城市仅出现一次。
1.1 交叉方法
常见的交叉方法包括部分映射交叉(PMX)、边交叉(EC)、顺序1交叉(OX1)和循环交叉(CX)。
- 部分映射交叉(PMX)
部分映射交叉(PMX)方法通过组合两个父染色体的遗传信息来创建子代,同时保留所得子代的可行性。其步骤如下:
1. 初始化:选择两个随机交叉点,将这两个点之间的片段从父代P1复制到子代C1,从父代P2复制到子代C2。
2. 对于C1中复制片段的每个元素:- 找到
P2
- 找到
超级会员免费看
订阅专栏 解锁全文
23万+

被折叠的 条评论
为什么被折叠?



