遗传算法简介
2015-11-02 16:06
141 查看
遗传算法简介
优化问题
有三种类型的优化问题第一种问题仅用一个优化函数和一个全局最优解来解决问题
第二种又叫做多目标优化问题,它用几个优化函数来优化问题。
第三种又叫做多模态问题,这种问题主要处理那种具有一个优化函数但是有几个全局或局部最优解的问题。
遗传算法
遗传算法是用在计算搜索和优化问题的可行解的全局搜索方法,遗传算法出现在20世纪60年代,它借鉴了自然界中如遗传、自然选择、交叉、变异的机制。遗传算法的主要部分包括以下几个方面:
编码(Coding the solutions)
计算适应度(Evalution)
选择和重组(Selection & Recombination)
替代(Replacement)
简单的伪代码
对问题进行编码
生成初始种群的初始个体
计算种群中每个个体的适应度
迭代直到不再满足迭代条件:(时间限制、找到较优解等)
选择用来繁殖下一代最优的个体
通过交叉和变异算子来繁殖下一代
计算新个体的适应度
用新个体来替换次优的个体
对解进行解码
遗传算法基本概念
下面以旅行商问题(TSP)为例解释下遗传算法的基本概念。给定一个m个大小的城市列表和它们各自之间的距离,旅行商问题的任务是找到一个尽可能短的路径使得可以访问所有的城市一次且最后回到出发的地方,旅行商问题被一个城市间的距离矩阵所定义。相关文章推荐
- VS2010、C#、Emgu CV配置 ; 在C#下使用OpenCV ; C#中使用OpenCV(Emgu CV)
- 利用storyboard 自定义cell
- Oracle数据库ORA-01940: 无法删除当前已连接的用户
- TibetanFont | ཡིག་གཟུགས། | 藏文字体
- 第4周实践项目1-- 建立单链表
- 数据结构实践——稀疏矩阵的三元组表示
- CentOS更改yum源与更新系统
- MyBatis(二)--对MySQL数据表进行CRUD操作
- DirectionalViewPager支持横向和纵向的ViewPager
- Eclipse移植项目时JDK版本不匹配Project facet Java version 1.7 is not supported
- 【SQL Server数据迁移】把csv文件中的数据导入SQL Server的方法
- Android LayoutAnimation使用及扩展
- 在同一个jsp页面包括嵌套页面出现2个相同的id会怎么样
- Oracle与DB2数据存储模式的区别详解
- 在android项目中使用FontAwesome字体
- WebApi传参总动员(五)
- url操作等
- 第九周项目3——稀疏矩阵的三元组表示的实现及应用(2)
- Android数据业务发起流程(原)
- Android 插件平台技术 <一> 基本介绍和dynamic-load-apk介绍