




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VRP.M%遗传算法求解vrp问题(为选择操作从新设计后程序)%D是距离矩阵,n为种群个数%C为停止代数,遗传到第 C代时程序停止,C的具体取值视问题的规模和耗费的时间而定%m为适配值淘汰加速指数,最好取为1,2,3,4,不宜太大%交叉概率Pc,变异概率Pm %R为最短路径,Rlength为路径长度function VRP%初始化demand=0 1 2 1 2 1 4 2 2;D= 0 4 6 7.5 9 20 10 16 8; 4 0 6.5 4 10 5 7.5 11 10; 6 6.5 0 7.5 10 10 7.5 7.5 7.5; 7.5 4 7.5 0 10 5 9 9 15;
2、9 10 10 10 0 10 7.5 7.5 10; 20 5 10 5 10 0 7 7 7.5; 10 7.5 7.5 9 7.5 7 0 0 10; 16 11 7.5 9 7.5 9 7 10 10; 8 10 7.5 15 10 7.5 10 10 0; n=100;C=200;m=2;Pc=0.9;Pm=0.2;R,Rlength=geneticVRP(D,demand,n,C,m,Pc,Pm);%运算返回最优路径R和其总距离RlengthgeneticVRP.m%D是距离矩阵,n为种群个数%C为停止代数,遗传到第 C代时程序停止,C的具体取值视问题的规模和耗费的时间而定%m为适
3、值淘汰加速指数,最好取为1,2,3,4,不宜太大%交叉概率Pc,变异概率Pm%R为最短路径,Rlength为路径长度 function R,Rlength=geneticVRP(D,demand,n,C,m,Pc,Pm) N,NN=size(D);%(31*31) farm=zeros(n,N);%用于存储种群 for i=1:n % flag=0; %while flag=0 %tem=randperm(N); %随机生成初始种群 %if validate(tem,demand,N)=1 % flag=1; %end %end farm(i,:)=randperm(N); end R=far
4、m(1,:);%一个随机解(个体) %farm(1,:)=R; len=zeros(n,1);%存储路径长度 fitness=zeros(n,1);%存储适配值 counter=0; while counter<C for i=1:n len(i,1)=myLength(D,farm(i,:);%计算路径长度 end %maxlen=max(len); minlen=min(len); %fitness=fit(len,m,maxlen,minlen);%计算适应度 rr=find(len=minlen);%返回的是在len中路径最短的路径坐标(i,1) R=farm(rr(1,1),:
5、);%更新最短路径%disp('') FARM=farm;%优胜劣汰,nn记录了复制的个数%选择, K=30; aa,bb=size(FARM); FARM2=FARM; len2=len; len=sort(len); for i=1:aa tt= find(len2=len(i,1); FARM(i,:)=FARM2(tt(1,1),:); end for i=1:K j=aa+1-i; FARM(j,:)=FARM(i,:); end% 交叉操作 aa,bb=size(FARM); FARM2=FARM; for i=1:2:aa if Pc>rand&&a
6、mp;i<aa %交叉概率Pc A=FARM(i,:); B=FARM(i+1,:); A,B=intercross(A,B); FARM(i,:)=A; FARM(i+1,:)=B; end end %交叉检验 (可省去) for i=1:aa if myLength(D,FARM(i,:)>myLength(D,FARM2(i,:) FARM(i,:)=FARM2(i,:); end end clear FARM2 aa,bb=size(FARM); %aa=nn2 % 变异 FARM2=FARM; for i=1:aa if Pm>=rand FARM(i,:)=mut
7、ate(FARM(i,:); end end %变异检验(可省略) for i=1:aa if myLength(D,FARM(i,:)>myLength(D,FARM2(i,:) FARM(i,:)=FARM2(i,:); end end clear FARM2%群体的更新 %FARM2=zeros(n-aa+1,N); %if n-aa>=1 % for i=1:n-aa % FARM2(i,:)=randperm(N);%随机生成n-aa种群 % end % end FARM=R;FARM;%将随机产生的n-aa个体加入从后面种群,将上次迭代的最优解从前面加入种群 aa,bb
8、=size(FARM); %disp('4验证zong') %保持种群规模为n if aa>n FARM=FARM(1:n,:); end %disp('5验证zong') %更新farm farm=FARM; clear FARM %更新迭代次数 counter=counter+1 ; end %结果输出 Rlength=myLength(D,R) R Rlength=myLength(D,R)%结果输出immuni.m% 免疫遗传function a=immuni(a,b)m=length(a);c=zeros(m);for i=1:m c(i)=a(
9、i); c(i+1)=a(b(i,2); delete a(b(i,2); c(i+2)=a(i+3);end a=c;intercross.m%交叉算法采用部分匹配交叉%交叉算法采用部分匹配交叉function a,b=intercross(a,b)L=length(a);if L<=10 %确定交叉宽度 W=9;elseif (L/10)-floor(L/10)>=rand&&L>10 W=ceil(L/10)+8;else W=floor(L/10)+8;endp=unidrnd(L-W+1);%随机选择交叉范围,从p到p+Wfor i=1:W %交叉
10、x=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); endmutate.mfunction a=mutate(a)L=length(a);rray=randperm(L);a(rray(1),a(rray(2)=exchange(a(rray(1),a(rray(2);myLength.m%总路径lenfunction len=myLength(D,p)N,NN=size(D);%
11、len=D(p(1,N),p(1,1); len=0;for i=1:(N-1) len=len+D(p(1,i),p(1,i+1);end total=0 0; volume=8; demand=0 1 2 1 2 1 4 2 2; x=find(p=1); if x<9 %len=len+D(p(1,x),p(1,x+1)+D(p(1,N),1)+D(1,p(1,1)+D(p(1,x),1); %len=len+D(p(x),p(x+1)+D(p(N),1)+D(1,p(1)+D(p(x),1); len=len+D(p(x),p(x+1)+D(p(N),p(x)+D(1,p(1)+
12、D(p(x),1); else len=len+D(p(1,N),p(1,1)+D(1,p(1,1); end %len=len+D(p(x),p(x+1)+D(p(N),1)+D(1,p(1)+D(p(x),1); %len=D(1,p(1,1)+D(p(1,x),1); for i=1:x %len=len+D(p(1,i),p(1,i+1); total(1)=demand(p(1,i)+total(1); end %len=len+D(p(1,x),p(1,x+1)+D(p(1,N),1); for i=(x+1):N total(2)=demand(p(1,i)+total(2); %len=len+D(p(1,i),p(1,i+1)+D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃林业职业技术学院《证券投资模拟》2023-2024学年第二学期期末试卷
- 西藏大学《文档数据库》2023-2024学年第二学期期末试卷
- 河北工程大学科信学院《变频器原理及应用》2023-2024学年第二学期期末试卷
- 温州职业技术学院《电竞赛事运营》2023-2024学年第二学期期末试卷
- 安康学院《小学生品德发展与道德教育》2023-2024学年第二学期期末试卷
- 湖南大众传媒职业技术学院《嵌入式系统原理及应用》2023-2024学年第二学期期末试卷
- 天津滨海职业学院《手球》2023-2024学年第二学期期末试卷
- 镇江市高等专科学校《机制设计理论及应用》2023-2024学年第二学期期末试卷
- 广西蓝天航空职业学院《传播与策划》2023-2024学年第二学期期末试卷
- 济宁医学院《大气科学概论》2023-2024学年第二学期期末试卷
- T-CSDA 0005-2024 三维桥架保温隔声复合模块建筑地面工程应用技术标准
- 【历史】辽宋夏金元时期的科技与文化教案-2024-2025学年统编版七年级历史下册
- 2024年盾构操作工职业技能竞赛理论考试题库(含答案)
- 术前月经来潮的应急预案
- CDN加速服务合同(2024年版)
- 韩愈课件身世经历
- 《中国的民主政治》课件
- 部队安全保密教育课件
- 2024年10月自考00152组织行为学试题及答案
- 心血管内科降低患者桡动脉止血器压迫不适发生率品管圈PDCA成果汇报书
- 《研学旅行课程设计》研学旅行课程案例展示 题库
评论
0/150
提交评论