第四章PSO算法求解最短路径问题.docVIP

  • 127
  • 0
  • 约3.45千字
  • 约 8页
  • 2017-08-13 发布于河南
  • 举报
第四章PSO算法求解最短路径问题.doc

第四章PSO算法求解最短路径问题 4.1 PSO算法的中数据的表达方式 (1)所有边的权值数据存储为如下的矩阵: 其中, n为顶点的数目。 (2)源点---汇点的最短路径存储: … … 其中,中存放了源点或汇点在数组中的位置,是顶点的编号,n为项点的数目。 例4.1:顶点数为5,项点编号依次为0,1,2,3,4,一条路径为0(3(2(1(4,源点的0,汇点为1,则存储为如下所示: 2 5 0 3 2 1 4 4.2初始化粒子 本文在粒子初始化时,首先根据图的信息生成一张表示顶点连接信息的N×M表,然后由表的信息计算出一张N×M的粒子随机生成的概率表,最后由概率表来随机生成粒子. 4.2.1生成顶点信息表 顶点信息表的样式如表4-1. 表4-1顶点信息表 0 Num_0 A0,1 A0,2 … A0,Num_0 1 Num_1 A1,1 A1,2 … A1,Num_1 2 Num_2 … … .. … .. … … … … … N-2 Num_N-2 AN-2,1 … … AN-2,Num_N-2 N-1 Num_N-1 AN-1,1 … … AN-1,Num_N-1 其中的第一列分别给出了此列信息是编号为i的顶点的连接信息.Num_i,表示编号为i的顶点共有Num_i个邻接顶点.Ai,j表示编号的i的顶点的第j 个相邻的顶点的编号. 4.2.2生成概率表 概率表的样式如表4-2所示. 表4-2概率表 0 Num_0 P0,1 P0,2 … P0,Num_0 1 Num_1 P1,1 P1,2 … P1,Num_1 2 Num_2 … … .. … .. … … … … … N-2 Num_N-2 PN-2,1 … … PN-2,Num_N-2 N-1 Num_N-1 PN-1,1 … … PN-1,Num_N-1 前两列的含义与表4-3相同,这里这不在介绍,Pi,j表示编号的i的顶点的第j个相邻的顶点对应的概率和的值. 假设Wi,j表示编号为i的顶点与它的第j 个相邻顶点所形成的边的权值,侧Wi,j表示它的倒数,在计算Pi,j时要先计算编号为i的顶点所有邻边的权值的倒数之和,记为sum_i, 然后计算Wi,j/sum_i. Pi,j= 4.2.3生成初始化的粒子 在生成初始化的粒子是,选取源点作为起点,随机生成一个0~1之间的数x,从上面得到的顶点的概率表的起点所在的行中的第三列开始比较x与Pi,j的值,直到x小于Pi,j时取得第j 个相邻顶点的编号放入最短路径存储的数组中,然后把得到的新顶点作为起点重复上述过程,直到遍历完所有的顶点. 4.3 PSO算法求解最短路径问题的模型 定义4.1 :设n个节点的最短路径问题的解序列为S=(),i=1,…,n。定义交换子[15]SO()为交换解S中的点,则=S+SO()为解S经算子SO()后的新解,这里的符号“+”赋予了新的含义。 例4.1:有一个5个节点的最短路径问题,其解为S=(1 3 5 2 4),交换算子为SO(1,2),则 =S+SO(1,2)=(1 3 5 2 4)+SO(1,2)=(3 1 5 2 4)。 交换算子在存储形式如下: … … 其中 ,其中n为顶点数目。 例:交换子为SS=(s1(5,2),s2(3,4)),则交换算子的存储形式为: 0 0 4 0 2 定义4.2:一个或多个交换子的有序队列就是交换序,记作SS。 SS=S, (4-1) 其中是交换子,它们之间的顺序是有意义的。 交换序作用于一个最短路径解上意味着这个交换序中的所有交换子依次作用于该解上,即 =S+SS=S+()=[(S+S (4-2) 定义4.3:不同的交换序作用于同一解上可能产生相同的新解,所有有相同效果的交换序列集合称为交换序的等价集[17]。 定义4.4:若干个交换序可以合并成一个新的交换序,定义为两个交换序的合并算子。 例行4.2:设两个交换序,按先后顺序作用于解S上,得到新解。假设另外有一个交换序作用于同一解S上,能够得到相同的解,可定义 =, (4-3)和属于同一个等价集,一般来说,不唯一。 定义4.5:在交换序等价集中,拥有最少交换子的交换序称为该等价集的基本交换序[17]。 可按如下的方法构造一个基本交换序,设给定两个解路径A和B,需要构造一个基本交换序SS,使得B+SS=A。 A:(1 2 3 4 5);B(2 3 1 5 4) 可以看出,A(1)=B(3)=1,所以第一个交换子是SO(1,3),=B+SO(1,3),得到:(

文档评论(0)

1亿VIP精品文档

相关文档