遗传算法与蚁群算法简介

合集下载

遗传算法与蚁群算法简介47页PPT

遗传算法与蚁群算法简介47页PPT
遗传算法与蚁群算法简介
51、没有哪个社会可以制订一部永远 适用的 宪法, 甚至一 条永远 适用的 法律。 ——杰 斐逊 52、法律源于人的自卫本能。——英 格索尔
53、人们通常会发现,法律就是这样 一种的 网,触 犯法律 的人, 小的可 以穿网 而过, 大的可 以破网 而出, 只有中 等的才 会坠入 网中。 ——申 斯通 54、法律就是法律它是一座雄伟的大 夏,庇 护着我 们大家 ;它的 每一块 砖石都 垒在另 一块砖 石上。 ——高 尔斯华 绥 55、今天的法律未必明天仍是法律。 ——罗·伯顿
25、学习是劳动,是充满思想的劳动。——乌申斯基
谢谢!
ห้องสมุดไป่ตู้
21、要知道对好事的称颂过于夸大,也会招来人们的反感轻蔑和嫉妒。——培根 22、业精于勤,荒于嬉;行成于思,毁于随。——韩愈
23、一切节省,归根到底都归结为时间的节省。——马克思 24、意志命运往往背道而驰,决心到最后会全部推倒。——莎士比亚

人工智能第三章遗传算法、蚁群算法、粒子群算法

人工智能第三章遗传算法、蚁群算法、粒子群算法
(2)启发式算法。
寻求一种能产生可行解的启发式规则,以找到一个最优解或近似 最优解。该方法的求解效率虽然比较高,但对每—个需要求解的 问题都必须找出其特有的启发式规则,这个启发式规则无通用性, 不适合于其他问题。
2021/4/17
9
(3)搜索算法。寻求一种搜索算法,该算法在可行解集合的一个 子集内进行搜索操作,以找到问题的最优解或近似最优解。该方 法虽然保证不了一定能够得到问题的最优解,但若适当地利用一 些启发知识,就可在近似解的质量和求解效率上达到—种较好的 平衡。
染色休X也称为个体X。
对于每一个个体X,要按照一定的规则确定出其适应度;个体 的适应度与其对应的个体表现型X的目标函数值相关联,X越 接近于目标函数的最优点,其适应度越大;反之,其适应度越 小。
遗传算法中,决策变量X组成了问题的解空间。对问题最优解 的搜索是通过对染色体X的搜索过程来进行的,从而由所有的 染色体X就组成了问题的搜索空间。
遗传算法属于一种自适应概率搜索技术,其选择、交叉、变异 等运算都是以一种概率的方式来进行的,从而增加了其搜索过 程的灵活性。
虽然这种概率特性也会使群体中产生—些适应度不高的个体,但 随着进化过程的进行,新的群体中总会更多地产生出许多优良的 个体,实践和理论都已证明了在—定条件下遗传算法总是以概率 1收敛于问题的最优解。
2021/4/17
8
求最优解或近似最优解的方法
(1)枚举法。
枚举出可行解集合内的所有可行解,以求出精确最优解。对于连 续函数,该方法要求先对其进行离散化处理,这样就有可能产生 离散误差而永远达不到最优解。另外,当枚举空间比较大时,该 方法的求解效率比较低,有时甚至在目前最先进的计算工具上都 无法求解。
当然,交叉概率和变异概率等参数也会影响算法的搜索效果和 搜索效率,所以如何选择遗传算法的参数在其应用中是一个比 较重要的问题。而另一方面,与其他一些算法相比遗传算法的 鲁20棒21/性4/17又会使得参数对其搜索效果的影响会尽可能地低。 20

简单蚁群算法的实现-遗传算法-瞎整技术

简单蚁群算法的实现-遗传算法-瞎整技术

简单蚁群算法的实现-遗传算法-瞎整技术简单蚁群算法的实现 很久没有写博客了,⼀直都在忙着⽹站和论⽂的事,最近看了⼏篇蚁群算法的论⽂挺有意思的,总结了⼀下写成⼀篇论⽂附上重要部分的代码,顺便也完成了遗传算法的课程报告,有兴趣的朋友可以看看。

⼀引⾔蚁群算法(ant colony optimization,ACO),⼜称蚂蚁算法,是⼀种⽤来在图中寻找优化路径的机率型技术。

它由Marco Dorigo于1992年在他的博⼠论⽂中引⼊,其灵感来源于蚂蚁在寻找⾷物过程中发现路径的⾏为。

蚁群算法是⼀种模拟进化算法。

初步的研究表明该算法具有许多优良的性质。

针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进⾏了⽐较,数值仿真结果表明,蚁群算法具有⼀种新的模拟进化优化⽅法的有效性和应⽤价值。

蚁群算法是⼀种求解组合最优化问题的新型通⽤启发式⽅法,该⽅法具有正反馈、分布式计算和富于建设性的贪婪启发式搜索的特点。

正因为蚁群算法有这些优点,很多研究者都在致⼒研究和改过它,本⽂的⽬的正是为了介绍蚁群算法,学习如何编写蚁群算法。

⼆蚁群算法的介绍昆⾍世界中,蚂蚁的组成是⼀种群居的世袭⼤家庭,我们称之为蚁群。

蚂蚁分为世袭制的蚁王(后)和⼯蚁两种,它们具有⾼度组织的社会性,彼此沟通不仅可以借助触觉和视觉的联系,在⼤规模的协调⾏动中还可以借助外激素(有些书称信息素)之类的信息介质。

⾸先我们要理解蚂蚁是如何觅⾷的,蚂蚁平时在巢⽳附近作⽆规则⾏⾛,⼀量发现⾷物并不⽴即进⾷⽽是将之搬回蚁⽳与其它蚂蚁分享,在⾷物⼩时则独⾃搬回蚁⽳,否则就回蚁⽳搬兵,⼀路上会留下外激素,⾷物越⼤外激素的浓度就越⼤,越能吸引其它的蚂蚁过去⼀起搬去⾷物,这样最终就能将⾷物全部搬回蚁⽳。

这个过程⽤程序实现看似⾮常复杂,要编写⼀个“智能”的蚂蚁也看似不太可能,事实上每个蚂蚁只做了⾮常简单的⼯作:检查某个范围内有⽆⾷物,并逐渐向外激素浓的⽅向运动。

人工智能第三章遗传算法、蚁群算法、粒子群算法

人工智能第三章遗传算法、蚁群算法、粒子群算法

件的解所组成的一个集合,叫做可行解集合。它们之间的关系
如图所示。 2020/10/6
6
可行解
X R
Hale Waihona Puke 基本空间 U2020/10/6
可行解集合
7
对于上述最优化问题,目标函数和约束条件种类繁多,有的是线 性的,有的是非线性的;有的是连续的,有的是离散的;有的是 单峰值的,有的是多峰值的。
随着研究的深入,人们逐渐认识到在很多复杂情况下要想完全 精确地求出其最优解既不可能,也不现实,因而求出其近似最 优解或满意解是人们的主要着眼点之—。
生物的进化是以集团为主体的。与此相对应,遗传算法的运算对 象是由M个个体所组成的集合,称为群体。
与生物一代一代的自然进化过程相类似,遗传算法的运算过程也 是一个反复迭代的过程,第t代群体记做P(t),经过一代遗传和进 化后,得到第t+l代群体,它们也是由多个个体组成的集合,记做 P(t+1)。
这个群体不断地经过遗传和进化操作,并且每次都按照优胜劣 汰的规则将适应度较高的个体更多地遗传到下一代,这样最终 在群体中将会得到一个优良的个体X,它所对应的表现型X将达 到或接近于问题的最优解X*。
遗传算法是模拟生物在自然环境力的遗传和进化过程而形成的 一种自适应全局优化概率搜索算法。
它最早由美国密执安大学的Holland教授提出,起源于60年代 对自然和人工自适应系统的研究。
70年代De Jong基于遗传算法的思想在计算机上进行了大量的 纯数值函数优化计算实验。
在—系列研究工作的基础上,80年代由Goldberg进行归纳总结, 形成了遗传算法的基本框架。
2020/10/6
8
求最优解或近似最优解的方法
(1)枚举法。

遗传算法与蚁群算法简介

遗传算法与蚁群算法简介
*
实数编码的GA通常采用算术交叉: 双个体算术交叉:x1、x2为父代个体,α ∈(0, 1)为随机数 x1' = αx1 + (1 - α)x2 x2' = αx2 + (1 - α)x1 多个体算术交叉: x1, …, x2为父代个体; αi ∈(0, 1)且∑αi = 1 x' = α1x1 + α2x2 + … + αnxn 组合优化中的置换编码GA通常采用 部分映射交叉(partially mapping crossover, PMX):随机选择两个交叉点,交换交叉点之间的片段;对于其他基因,若它不与换过来的片段冲突则保留,若冲突则通过部分映射来确定最后的基因 p1 = [2 6 4 | 7 3 5 8 | 9 1] p1' = [2 3 4 | 1 8 7 6 | 9 5] p2 = [4 5 2 | 1 8 7 6 | 9 3] p2' = [4 1 2 | 7 3 5 8 | 9 6]
北京交通大学计算机与信息技术学院
*
智能优化算法简介
*பைடு நூலகம்
20世纪80年代以来,一些优化算法得到发展 GA、EP、ACO、PSO、SA、TS、ANN及混合的优化策略等 基本思想:模拟或揭示某些自然现象或过程 为用传统的优化方法难以解决的NP-完全问题提供了有效的解决途径 由于算法构造的直观性与自然机理,因而通常被称作智能优化算法(intelligent optimization algorithms),或现代启发式算法(meta-heuristic algorithms) [智能优化算法及其应用,王凌,清华大学出版社,2001]
线性次序交叉(LOX)
单位置次序交叉(C1)
类似于OX。选择一个交叉位置,保留父代个体p1交叉位置前的基因,并在另一父代个体p2中删除p1中保留的基因,将剩余基因填入p1的交叉位置后来产生后代个体p1'。如父代个体同前,交叉位置为4,则后代个体为p1' =[2 6 4 7 | 5 1 8 9 3],p2' =[4 5 2 1 | 6 7 3 8 9]

遗传算法与蚁群算法结合

遗传算法与蚁群算法结合

遗传算法与蚁群算法结合遗传算法1、基本思想2、算法原理3、代码实现4、结果截图5、总结1·基本思想吸取两个算法的优点,优缺互补,克服两个算法的缺点,利⽤了遗传算法的快速时间效率,优于蚂蚁算法的时间效率。

并且求解精度效率优于遗传算法。

这样就提⾼了两个算法结合的算法时间效率和求解精度。

2、算法原理这个算法的原理是先利⽤遗传算法的快速性、全局收敛性和随机性求出结果,结果产⽣有关问题的初始信息素分布,遗传算法执⾏完在运⽤蚁群算法,在⼀定初始信息素分布的情况下,充分利⽤蚁群算法并⾏性、正反馈性、求解精度效率⾼的特点。

3、代码实现%mainclear;clc;%%%%%%%%%%%%%%%输⼊参数%%%%%%%%N=50; %%城市的个数M=100; %%种群的个数ITER=500; %%迭代次数%C_old=C;m=2; %%适应值归⼀化淘汰加速指数Pc=0.8; %%交叉概率Pmutation=0.05; %%变异概率%%⽣成城市的坐标pos=randn(N,2);%%⽣成城市之间距离矩阵D=zeros(N,N);for i=1:Nfor j=i+1:Ndis=(pos(i,1)-pos(j,1)).^2+(pos(i,2)-pos(j,2)).^2;D(i,j)=dis^(0.5);D(j,i)=D(i,j);endend%%⽣成初始群体popm=zeros(M,N);for i=1:Mpopm(i,:)=randperm(N);%随机排列,⽐如[2 4 5 6 1 3]end%%随机选择⼀个种群R=popm(1,:);figure(1);scatter(pos(:,1),pos(:,2),'rx');%画出所有城市坐标axis([-3 3 -3 3]);figure(2);plot_route(pos,R); %%画出初始种群对应各城市之间的连线axis([-3 3 -3 3]);%%初始化种群及其适应函数fitness=zeros(M,1);len=zeros(M,1);for i=1:M%计算每个染⾊体对应的总长度len(i,1)=myLength(D,popm(i,:));endmaxlen=max(len);%最⼤回路minlen=min(len);%最⼩回路fitness=fit(len,m,maxlen,minlen);rr=find(len==minlen);%找到最⼩值的下标,赋值为rrR=popm(rr(1,1),:);%提取该染⾊体,赋值为Rfor i=1:Nfprintf('%d ',R(i));%把R顺序打印出来endfprintf('\n');fitness=fitness/sum(fitness);distance_min=zeros(ITER+1,1); %%各次迭代的最⼩的种群的路径总长nn=M;iter=0;while iter<=ITERfprintf('迭代第%d次\n',iter);%%选择操作p=fitness./sum(fitness);q=cumsum(p);%累加for i=1:(M-1)len_1(i,1)=myLength(D,popm(i,:));r=rand;tmp=find(r<=q);popm_sel(i,:)=popm(tmp(1),:);end[fmax,indmax]=max(fitness);%求当代最佳个体popm_sel(M,:)=popm(indmax,:);%%交叉操作nnper=randperm(M);% A=popm_sel(nnper(1),:);% B=popm_sel(nnper(2),:);%%for i=1:M*Pc*0.5A=popm_sel(nnper(i),:);B=popm_sel(nnper(i+1),:);[A,B]=cross(A,B);% popm_sel(nnper(1),:)=A;% popm_sel(nnper(2),:)=B;popm_sel(nnper(i),:)=A;popm_sel(nnper(i+1),:)=B;end%%变异操作for i=1:Mpick=rand;while pick==0pick=rand;endif pick<=Pmutationpopm_sel(i,:)=Mutation(popm_sel(i,:));endend%%求适应度函数NN=size(popm_sel,1);len=zeros(NN,1);for i=1:NNlen(i,1)=myLength(D,popm_sel(i,:));endmaxlen=max(len);minlen=min(len);distance_min(iter+1,1)=minlen;fitness=fit(len,m,maxlen,minlen);rr=find(len==minlen);fprintf('minlen=%d\n',minlen);R=popm_sel(rr(1,1),:);for i=1:Nfprintf('%d ',R(i));endfprintf('\n');popm=[];popm=popm_sel;iter=iter+1;%pause(1);end%end of whilefigure(3)plot_route(pos,R);axis([-3 3 -3 3]);figure(4)plot(distance_min);%交叉操作函数 cross.mfunction [A,B]=cross(A,B)L=length(A);if L<10W=L;elseif ((L/10)-floor(L/10))>=rand&&L>10W=ceil(L/10)+8;elseW=floor(L/10)+8;end%%W为需要交叉的位数p=unidrnd(L-W+1);%随机产⽣⼀个交叉位置%fprintf('p=%d ',p);%交叉位置for i=1:Wx=find(A==B(1,p+i-1));y=find(B==A(1,p+i-1));[A(1,p+i-1),B(1,p+i-1)]=exchange(A(1,p+i-1),B(1,p+i-1));[A(1,x),B(1,y)]=exchange(A(1,x),B(1,y));endend%连点画图函数 plot_route.mfunction plot_route(a,R)scatter(a(:,1),a(:,2),'rx');hold on;plot([a(R(1),1),a(R(length(R)),1)],[a(R(1),2),a(R(length(R)),2)]);hold on;for i=2:length(R)x0=a(R(i-1),1);y0=a(R(i-1),2);x1=a(R(i),1);y1=a(R(i),2);xx=[x0,x1];yy=[y0,y1];plot(xx,yy);hold on;endend%染⾊体的路程代价函数 mylength.mfunction len=myLength(D,p)%p是⼀个排列[N,NN]=size(D);len=D(p(1,N),p(1,1));for i=1:(N-1)len=len+D(p(1,i),p(1,i+1));endend%变异函数 Mutation.mfunction a=Mutation(A)index1=0;index2=0;nnper=randperm(size(A,2));index1=nnper(1);index2=nnper(2);%fprintf('index1=%d ',index1);%fprintf('index2=%d ',index2);temp=0;temp=A(index1);A(index1)=A(index2);A(index2)=temp;a=A;end%适应度函数fit.m,每次迭代都要计算每个染⾊体在本种群内部的优先级别,类似归⼀化参数。

简单对比遗传算法与蚁群算法求解旅行商问题

简单对比遗传算法与蚁群算法求解旅行商问题

简单对⽐遗传算法与蚁群算法求解旅⾏商问题简单对⽐遗传算法与蚁群算法求解旅⾏商问题简单对⽐遗传算法与蚁群算法求解旅⾏商问题1、旅⾏商1.1 旅⾏商问题简介旅⾏商问题(Traveling Saleman Problem)⼜称作旅⾏推销员问题、货郎担问题等,简称为TSP问题,是最基本的路线问题,该问题是在寻求单⼀旅⾏者由起点出发,通过所有给定的需求点之后,最后再回到原点的最⼩路径成本。

最早的旅⾏商问题的数学规划是由Dantzig(1959)等⼈提出,规则虽然简单,但在地点数⽬增多后求解却极为复杂。

TSP问题最简单的求解⽅法是枚举法。

它的解是多维的、多局部极值的、趋于⽆穷⼤的复杂解的空间,搜索空间是n个点的所有排列的集合,⼤⼩为(n-1)!。

有研究者形象地把解空间⽐喻为⼀个⽆穷⼤的丘陵地带,各⼭峰或⼭⾕的⾼度即是问题的极值。

求解TSP,则是在此不能穷尽的丘陵地带中攀登以达到⼭顶或⾕底的过程。

1.2 求解TSP⽅法简介旅⾏推销员的问题属于NP-Complete的问题,所以旅⾏商问题⼤多集中在启发式解法。

Bodin(1983)等⼈将旅⾏推销员问题的启发式解法分成三种:1.2.1 途程建构法(Tour Construction Procedures)从距离矩阵中产⽣⼀个近似最佳解的途径,有以下⼏种解法:(1)最近邻点法(Nearest Neighbor Procedure):⼀开始以寻找离场站最近的需求点为起始路线的第⼀个顾客,此后寻找离最后加⼊路线的顾客最近的需求点,直到最后。

(2)节省法(Clark and Wright Saving):以服务每⼀个节点为起始解,根据三⾓不等式两边之和⼤于第三边之性质,其起始状况为每服务⼀个顾客后便回场站,⽽后计算路线间合并节省量,将节省量以降序排序⽽依次合并路线,直到最后。

(3)插⼊法(Insertion procedures):如最近插⼊法、最省插⼊法、随意插⼊法、最远插⼊法、最⼤⾓度插⼊法等。

遗传算法与蚁群算法在PID优化中的应用比较

遗传算法与蚁群算法在PID优化中的应用比较

选 取 一 定 的 子 区 问 长 度 l e n g t h , 设是 — l 蒜 l , 将 该 立
方体第 i 维分量分成 志 个子区间, 其中的第 个子 区间为 +
mi n F( 1 , z 2 , … , z )
使a 1 3 2 1 +Ⅱ X 2 + … +a z ≥6 ( 一1 , 2 , …, r ) 。这 里 F 为
任一非线形函数 , 约束条件构成 上 的一个凸包 , 我们可 以使
用 不 等 式 变 换 的方 法 求 得 包含 这个 凸包 的 最 小 n维 立 方 体 , 设 该立方体为 :
鍪 三 堇 量 堡 ! G 。 n g y i u 一 s n u
遗 传 算 法 与蚁 群 光 崔鹏 飞
( 1 . 南京 因泰莱 电器股 份有 限公 司 , 江苏 南 京 2 1 1 1 1 2 ; 2 . 南京 工业 大学智 能建筑 研究所 , 江 苏 南京 2 1 0 0 0 9 ) 摘 要: 针对 控制 中 P I D优 化 问题 , 分别 用遗传 算法 和蚁群 算法进 行 了寻优 , 并 进行参 数调 试 比较 , 得出 2 种算 法都 可 以进行 寻 优 , 但
对 后 面蚂 蚁 的 行 为 起 到 指 引 作 用 , 刚开 始 蚂 蚁 胡 乱 行 走 , 蚂 蚁
算值比较小, 所以这里取适应度函数 厂 一_ _ 一 。( l 4 )对种群
J J 1
P( ) 进 行 复制 、 交叉、 变 异操 作 , 生 成 下一代 种 群 P( t +1 ) 。
基本蚁群算法是用来解决 离散 空间问题 的 , 针对 连续空 间
2 . 1 连 续 空 间 离散 化
走, 即算法上的收敛 。该算法本身具有以下优 点 : ( 1 )应用的广 泛性 : 该算 法基本 可 以解决遗 传算法应 用方面 的所有 问题 , 特 都是独立进行的 , 可最终的解不会受单个蚂 蚁的影响 。( 3 )易 这种算法的寻优要通过 以下步骤实现 。 别擅 长离散寻优 。( 2 )分布式计算特 征 : 每 只人工蚂蚁的搜索 求解 ,
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
遗传算法与群智能优 化算法简介
主要内容
智能优化算法简介
问题的NP-完全特性 常用的智能优化算法
遗传算法-Genetic Algorithm 群智能优化算法
蚁群优化算法-Ant Colony Optimization 粒子群优化算法-Particle Swarm Optimization ...
2020/5/14
北京交通大学计算机与信息技术学院
9
遗传算法(Genetic Algorithm)
1975年,Holland出版了著名的《Adaptation in Natural and Artificial Systems》,标志着遗传算法的诞生。
在一定程度上解决了传统的基于符号处理机制的人工智能 方法在知识表示、信息处理和解决组合爆炸等方面所遇到 的困难
2020/5/14
北京交通大学计算机与信息技术学院
2
智能优化算法简介
20世纪80年代以来,一些优化算法得到发展
GA、EP、ACO、PSO、SA、TS、ANN及混合的优化策略等
基本思想:模拟或揭示某些自然现象或过程 为用传统的优化方法难以解决的NP-完全问题提供了有效
的解决途径 由于算法构造的直观性与自然机理,因而通常被称作智能
时 间 1s 24s 10m 4.3h 4.9d 136.5d 10.8y 325y
2020/5/14
北京交通大学计算机与信息技术学院

2020/5/14
北京交通大学计算机与信息技术学院
5
2020/5/14
北京交通大学计算机与信息技术学院
6
2020/5/14
北京交通大学计算机与信息技术学院
7
智能优化算法简介 -常用的智能优化算法
2020/5/14
北京交通大学计算机与信息技术学院
8
主要内容
智能优化算法简介
问题的NP-完全特性 常用的智能优化算法
遗传算法-Genetic Algorithm 群智能优化算法
蚁群优化算法-Ant Colony Optimization 粒子群优化算法-Particle Swarm Optimization …
2020/5/14
北京交通大学计算机与信息技术学院
10
遗传算法-简单遗传算法
简单遗传算法(Simple Genetic Algorithms,SGA),又称 基本遗传算法、标准遗传算法
基于二进制编码,是最基本的遗传算法,其遗传进化操作 过程简单、容易理解,是其他遗传算法的雏形和基础
三种基本操作
选择:通常用比例选择,即选择概率正比于个体的适配值,使适 配值高的个体在下一代中被选中的概率大,提高种群平均适配值
交叉:交换两父代个体的部分信息构成后代个体,使得后代继承 父代的有效模式,有助于产生优良个体
变异:随机改变个体中的某些基因,有助于增加种群多样性,避 免早熟收敛
2020/5/14
北京交通大学计算机与信息技术学院
优化算法(intelligent optimization algorithms),或现代启 发式算法(meta-heuristic algorithms) [智能优化算法及其应用,王凌,清华大学出版社,2001]
2020/5/14
北京交通大学计算机与信息技术学院
3
智能优化算法简介 - 问题的NP-完全特性
基于“适者生存”原则,是并行优化算法,其自组织、自 适应、自学习及群体进化的能力适合大规模复杂优化问题
将问题求解表示为“染色体”,通过选择(selection)、 交叉(crossover)和变异(mutation)操作的迭代,实现 种群的演化,最后终收敛到“最适应环境”的个体,从而 求得问题的最优解(满意解)
求解n个城市的TSP问题。
典型的组合优化问题,是NP-完全的 要准确求解该问题只能用枚举类的办法 要枚举的解的个数为(n - 1)! 例:n = 24,则要枚举的解的个数为:
23!=25,852,016,738,884,976,640,000
n 24 25 26 27 28 29
30 31
11
随机产生N个个体构成初始种群P(0), 令k=0
对种群P(k)中各个体进行评价
终止? y n
令m=0
输出优化结果
n
y
m<N?
从种群中选择两个体
rand()>pc
y
n
将所选个体作为临时个体
对选中个体执行 交叉操作生成两 个临时个体
对临时个体以概率pm执行变异操作,产生 两个新个体并放入P(k+1)中,令m=m+2
2020/5/14
北京交通大学计算机与信息技术学院
12
遗传算法-选择
适者生存:适应值高的个体的生存概率大,即被选中用来
繁殖下一代的概率大。
适应值: f (xi )
第i个个体的选择概率:
常用的选择方法有: 比例选择(轮盘选择)
pi
f (xi ) f (xj)
基于排名的选择:由好到坏排序,然后以j 一定方式给
二进制编码的GA通常采用单点交叉和多点交叉。
单点交叉:随机选定一个交叉位置,然后对换交叉点后的子串。
1011 001
0010 110
多点交叉:随机选择多个位置,然后对换相应子串。两点交叉:
10 110 01 00 101 10
2020/5/14
北京交通大学计算机与信息技术学院
每一个体分配选择概率(线性、产非生线随性机等数方:式,[要0,求1]
好的个体被选择的概率大,所有选个择体满所足分下配式的的概第率i个之
和锦为标1赛)选择:在父代个体随机个选体k个:,ij11然p后j 选最好ji 1的p。j
2020/5/14
北京交通大学计算机与信息技术学院
13
遗传算法-交叉
用于组合出新的个体,在解空间中进行有效搜索,同时降 低对有效模式的破坏概率
遗传算法(Genetic Algorithm,GA) 演化规划(Evolutionary Programming,EP) 蚁群优化算法(Ant Colony Optimization,ACO) 粒子群优化算法(Particle Swarm Optimization,PSO) 模拟退火算法(Simulated Annealing,SA) 禁忌搜索算法(Tabu Search,TS) 人工神经网络(Artificial Neural Network,ANN) …
相关文档
最新文档