多目标优化问题MOOP (5) - 遗传算法
遗传算法
先验方法需要事先设定一些信息, 比如各个目标函数的权重, 或将目标函数转换为值约束. 这些先验知识对于结果的准确性非常关键. 但是如果没有这些信息, 那么就需要一些后验的方法了. 遗传算法 遗传算法的核心思想是适者生存, 优胜劣汰, 是一类借鉴生物界通过基因遗传而达到自然选择效果的启发式随机化搜索算法. 遗传算法的实现主要包含: 根据编码规则生成种群, 按适应度排序, 选择, 交叉, 变异 步骤. 编码规则(染色体)适应度函数其中, 种群分级和拥挤度这两个概念再展开介绍一下: 种群分级: (快速非支配型排序) 通俗理解: 拥挤度 遍历个体, 将个体的多个拥挤度进行累加, 得到个体的累加拥挤度即为个体拥挤度 通俗理解: 遗传算法过程 遗传算法适应度排序 选择 若个体的选择概率大,则有机会被多次选中基于遗传算法的随机优化搜索,那么它的基因会在种群中扩大 交叉 变异 精英合并 重新开始进行适应度排序(第二步), 直到达到指定迭代次数为止常见遗传算法 遗传算法按照是否有精英策略可以分成两代, 同一代内的算法思路大体是相同的, 主要区别在编码/适应度/选择/交叉/变异的细节实现上, 目前比较主流的算法是 NSGA II. 常见遗传算法参考资料 (编辑:成都站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |