基于遗传算法的TSP问题优化求解
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 概 述
遗传算法 ( Genetic A lgorithm 简写 GA )是一类借 鉴生物界的进化规律 (适者生存 , 优胜劣汰遗传机 制 )演化而来的随机化搜索方法 。它是由美国的 J. Holland教授 1975年首先提出的 。
在遗传算法中 ,染色体对应的是数据或数组 ,通 常是由一维的串结构数据来表示 ,串上各个位置对应 基因的取值 。基因组成的串就是染色体 ,或者叫基因 型个体 ( Individuals) 。一定数量的个体组成了群体 ( Population) 。群 体 中 个 体 的 数 目 称 为 群 体 大 小 ( Population Size) ,也叫群体规模 。而各个个体对环 境的适应程度叫做适应度 ( Fitness) 。
(2)适应度函数 。
直接用以上数据模型作为适应度函数 , eval( i) = m in∑d ( t ( i) , t( i + 1) ) 。
(3)种群初始化 。
本文以 9个城市为例 ,城市用编号 1, 2, 3, 4, 5, 6, 7, 8, 9 表示之 。选用 10个样本个体作为种群 ,即随机选取 { 1, 2, 3, 4, 5, 6, 7, 8, 9}的 10 个排列 。另随机产生城市间的距离矩阵 d,计算出十个样本的适应值 。初始化种群算法可表示如下 :
(2)遗传算法 ( GA )的计算过程为 :
选择编码方式 产生初始群体 计算初始群体的适应性值 如果不满足条件 { 选择 交换 变异 计算新一代群体的适应性值
}
2 遗传算法和旅行商问题
最短路径 :所谓最短路径问题 ,就是在给定的起 点 S到终点 T的通路集合中 ,寻求长度最小的通路 , 这样的通路称为 S点到 T点的最短路径 。
参考文献 :
[ 1 ] 陈京民. 数据仓库原理 、设计与应用 [M ]. 北京 :中国水 利水电出版社 , 2004.
[ 2 ] [美 ]M ark Sweiger, M ark R M adsen,等. 点击流数据仓库 [M ]. 陆昌辉 ,张光剑 ,陈佐 ,张丽 ,等译. 北京 : 电子工 业出版社 , 2004.
收稿日期 : 2007201229 作者简介 :刘青凤 (19702) ,女 ,河南安阳人 ,安阳工学院讲师 ,研究方向 :计算机软件与理论 ;李敏 ( 19762) ,女 ,河南安阳人 , 讲师 ,研究方向 :计算机应用 。
44
计 算 机 与 现 代 化
2008年第 2期
~0. 01之间 。变异为新个体的产生提供了机会 。
旅行商问题是一个典型的组合优化问题 ,并且是 一个 NP难问题 ,其可能的路径数目与城市数目 n是 成指数型增长的 ,所以一般很难精确地求出其最优 解 ,本文采用遗传算法求其近似解 。
3 TSP问题的遗传算法过程简介
(1)编码 。
采用整数排列编码方法 。 若对于城市 V = { v1, v2, v3, …, vn}的一个访问顺序为 t = ( t1, t2, t3, …, ti, …, tn) ,其中 t为 { 1, 2, 3, …, n}的一个排 列 ,且记 tn + 1 = t1, d ( t ( i) , t ( i + 1) )为城市 ti与 ti + 1 之间 的距离 ,则旅行商问题的数学模型为 : m in∑d ( t( i) , t( i + 1) ) ( i = 1, …, n)
计算每个个体的适应值 eval( i) = min∑d ( t( i) , t( i +1) ) i =1, 2, 3, 4, 5, 6, 7, 8, 9, 10 计算 10个个体适应值之和 F = ∑eval( i) i = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 计算每个个体的选择概率 p ( i) = 12 eval( i) / F i = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 计算每个个体的累计概率 q ( i) = ∑p ( i) i = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
旅行商问题 ( TSP)是计算机科学中的一个典型 问题 :旅行商必须在其活动区域内对每个城市访问一 次且仅一次 ,并且最终返回到起始点 。求解的任务 是 ,如何使走过的路程最短 。
问题可归结到图论上 ,假设有一个图 G = (V , E) ,其中 V 是顶点集 , E是边集 ,设 d = d ( ij)是由顶 点 i和顶点 j之间的距离所组成的距离矩阵 ,旅行商 问题就是求出一条通过所有顶点且每个顶点只通过 一次的具有最短距离的回路 。
(1)遗传算法的基本步骤 :
我们习 惯 上 把 Holland1975 年 提 出 的 GA 称 为 传 统 的 GA。它的主要步骤如下 :
编码 : GA在进行搜索之前先将解空间的解数据表示成遗 传空间的基因型串结构数据 ,这些串结构数据的不同组合便 构成了不同的点 。
初始群体的生成 :随机产生 N个初始串结构数据 ,每个串 结构数据称为一个个体 , N 个个体构成了一个群体 。 GA 以 这 N个串结构数据作为初始点开始迭代 。
[ 3 ] Mobasher B , Cooley R , Srivastava J. Automatic personali2
zation based on W eb usage m ining[ J ]. Communications of the ACM , 2000, 43 (8) : 1422151. [ 4 ] M asseglia F, Tanasa D , Trouses B. W eb usage m ining:
O ptim iz ing Solution for Solv ing TSP Problem Ba sed on Genetic A lgor ithm
L IU Q ing2feng, L IM in
(Anyang Institute of Technology, Anyang 455000, China)
适应性值评估检测 :适应性函数表明个体或解的优劣性 。 不同的问题 ,适应性函数的定义方式也不同 。
选择 :选择的目的是为了从当前群体中选出优良的个体 , 使它们有机会作为父代为下一代繁殖子孙 。遗传算法通过选 择过程体现这一思想 ,进行选择的原则是适应性强的个体为 下一代贡献一个或多个后代的概率大 。选择实现了达尔文的 适者生存原则 。
Sequential pattern extraction w ith a very low support[ C ] / / Proceedings of the 6 th A sia2Pacific W eb Conference, 2004: 5132522. [ 5 ] Huang J Z, Yang Q , Ng M , et al. A data cube model for p rediction2 based W eb p refetching [ J ]. Journal of Intelli2 gence Information System s, 2003, 20 (1) : 11230. [ 6 ] 吴小波 ,徐维祥. 多支持度关联规则在网络使用挖掘中 的应用 [ J ]. 计 算 机 工 程 与 应 用 , 2005, 41 ( 31 ) : 1642
遗传算法是一种群体型操作 ,该操作以群体中的 所有个 体 为 对 象 。选 择 ( Selecation ) 、交 叉 ( C ross2 over)和变异 (M utation)是遗传算法的 3 个主要操作 算子 ,它们构成了遗传操作 ( Genetic Operation) ,使遗 传算法具有了其他传统方法所没有的特性 。
2008年第 2期 文章编号 : 100622475 (2008) 0220043202
计算机与现代化 J ISUANJ I YU X IANDA IHUA
基于遗传算法的 TSP问题优化求解
刘青凤 ,李 敏
(安阳工学院 , 河南 安阳 455000)
总第 150期
摘要 :旅行商问题 ( TSP)是典型的 NP 完全问题 ,本文运用遗传算法求解 TSP问题 ,提出了该算法在解决这一问题中的一 些处理方法 ,使用该算法能够较快地求出一批最短路径 ,可根据需要设置叠代代数 ,求得理想最优解 。 关键词 : TSP; 遗传算法 ; 最短路径 中图分类号 : TP311 文献标识码 : A
step交叉后同一样本中有重复的城市不重复的数字保留有冲突的数字带位置采用部分映56页565结束语本文主要对点击流数据仓库的应用系统的相关设计问题做了论述讨论了在设计过程中需要考虑的一些问题如数据源及用户身份的鉴别和跟踪问题点击流数据仓库的元模式的设计问题数据抽取转换和加载工具olap的相关问题用户的web应用模式的挖掘问引入点击流数据仓库可以有效地提升用户的商务智能应用水平
交叉后为 :
step 2:交叉后 ,同一样本中有重复的城市 ,不重复的数字 保留 ,有冲突的数字 (带 3 位置 )采用部分映 (下转第 56页 )
56
计 算 机 与 现 代 化
2008年第 2期
5 结束语
本文主要对点击流数据仓库的应用系统的相关 设计问题做了论述 ,讨论了在设计过程中需要考虑的 一些问题 ,如数据源及用户身份的鉴别和跟踪问题 、 点击流数据仓库的元模式的设计问题 、数据抽取转换 和加 载 工 具 ( ETL ) 的 相 关 问 题 、数 据 分 析 工 具 (OLAP)的相关问题 、用户的 W eb应用模式的挖掘问 题等 ,引入点击流数据仓库可以有效地提升用户的商 务智能应用水平 。
交换 :交换操作是遗传算法中最主要的遗传操作 。通过 交换操作可以得到新一代个体 ,新个体组合了其父辈个体的 特性 。交换体现了信息交换的思想 。
变异 :变异首先在群体中随机选择一个个体 ,对于选中的 个体以一定的概率随机地改变串结构数据中某个串的值 。同 生物界一样 , GA 中变异发生的概率很低 ,通常取值在 0. 001
可以得到 10个复制的个体 。
(5)遗传算子设计 。
①杂交算子 : 本文采用部分映射杂交 ,确定交叉操作的父代 ,将 10 个 样本两两分组 ,分为 5组 。从 1到 5重复以下过程 : step 1:从 [ 0, 1 ]中产生两个随机数 a1和 a2,令 r1 = a1 3 10和 r2 = a23 10,确定两个位置 ,对两位置的中间数据进行交 叉 ,如 : r1 = 4, r2 = 9
在数据挖掘部分 ,本文引入一种改进的关联规则 算法 ,与点击流数据仓库结合起来可以有效改进挖掘 的效率 。但在多层次分析方面仍需改进 ,而且算法效 率本身还有进一步提高的空间 。
ETL设计部分是数据仓库设计中最为复杂的部分 , 可以考虑设计通用的 W eb应用领域的构件库来提高系 统实施的效率 ,这个方面还需做进一步的研究。
Abstract: Traveling Salesman Problem ( TSP) is a typ ical NP2Comp lete p roblem. This paper solves TSP p roblem using the Genetic A lgorithm. It brings forward some methods for it to get some shortest paths. It can set the reapeating generation according to the requirement to get the best solution. Key words: Travelling Salesman Problem ( TSP) ; Genetic A lgorithm ( GA ) ; shortest path
(4)存活选择策略 。
采用轮盘赌的方式 ,选取适应值小的个体作为父体 。 选择过程 :选择过程是以旋转赌轮 10 次为基础 ,每次旋 转都为新的种群选择一个个体 。赌轮是按每个个体的适应度 进行选择的 。算法如下 :
step1对每个个体 v ( i) ,计算累பைடு நூலகம்概率 q ( i) step2 从区间 [ 0, 1〗中产生一个随机数 r; step3 若 q ( i) > r,则选取 q ( i)对应的个体 v ( i) ; step4 重复 step2和 step3共 10次 ,这样
B egin For i = 1 to 10 do For j = 1 to 9 do t( i) = int( random ( ) 3 10)
( &&随机产生 1~9之间的一个整数 。) end
初始化距离矩阵的算法 : begin for i = 1 to 9 do for j = i + 1 to 9 do d ( i, j) = int( rand ( ) 3 100) p rint d ( i, j) ; end 注意 : i = j时 , d ( i, j) = 0