MATLAB遗传算法VRP

  • c8_273508
    了解作者
  • 6.3KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-04 02:49
    上传日期
MATLAB遗传算法单车场单车型有容量约束的多车VRP问题,解压后直接运行。
单车场-单车型-有容量约束-多车-MATLAB遗传算法VRP.zip
  • VRP
  • exchange.m
    52B
  • VRP.asv
    957B
  • mutate.m
    113B
  • VRP.m
    957B
  • fitness_c.m
    538B
  • geneticVRP.asv
    3.2KB
  • immuni.m
    165B
  • intercross.m
    1.9KB
  • geneticVRP.m
    3.4KB
  • fitness.m
    1.3KB
  • output_fitness.m
    1.3KB
内容介绍
function [R,minlen]=geneticVRP(D,dis,demand,volume,n,C,m,Pc,Pm) [N,NN]=size(D); farm=zeros(n,N);%用于存储种群 for i=1:n farm(i,:)=randperm(N); end R=farm(1,:);%一个随机解(个体) len=zeros(n,1);%存储路径长度 counter=1; while counter<=C counter %==================================================================== %=====================交叉操作======================== FARM=farm; FARM2=FARM; [aa,bb]=size(FARM); for i=1:2:aa if Pc>rand&&i<aa %交叉概率Pc A=FARM(i,:); B=FARM(i+1,:); [A,B]=intercross(A,B); FARM(i,:)=A; FARM(i+1,:)=B; end end % 交叉检验 (可省去) fitness_value_c=zeros(1,1);%子代适应值 for i=1:aa if fitness(demand,FARM(i,:),volume,dis,fitness_value_c,D) rel='nofollow' onclick='return false;'>fitness(demand,FARM2(i,:),volume,dis,fitness_value_c,D) FARM(i,:)=FARM2(i,:); end end clear aa; clear bb; clear A; clear B; clear fitness_value_c; %=================================================================== %========================变异========================= % FARM2=FARM; [aa,bb]=size(FARM); %aa=nn2 for i=1:aa if Pm>=rand FARM(i,:)=mutate(FARM(i,:)); end end % 变异检验(可省略) % fitness_value_c=zeros(1,1);%子代适应值 % for i=1:aa % if fitness(demand,FARM(i,:),volume,dis,fitness_value_c,D)>fitness(demand,FARM2(i,:),volume,dis,fitness_value_c,D) % FARM(i,:)=FARM2(i,:); % end % end clear aa; clear bb; %=================================================================== %=====================群体的选择和更新====================== farm=FARM; [c,d]=size(farm); fitness_value_c=zeros(c,1);%子代适应值 [fitness_value_c]=fitness(demand,farm,volume,dis,fitness_value_c,D); %求个体的适应度 %淘汰子代 [a,b]=sort(fitness_value_c); [u,i]=size(fitness_value_c); for i=1:u farm(i,:)=FARM(b(i),:); end minlen=a(1); R=farm(1,:) ; %更新最短路径 farm(c-19:c,:)=farm(1:20,:); % %画图 hold on plot(counter,minlen,'-b*'); hold off; counter=counter+1; % Rlength=myLength(D,R,volume); % %不会画图!!! % % subplot(2,1,1) % % plot(counter,Rlength,'-ro') % % hold on % % plot(counter,myLength(D,R),':b*') % % hold off; % hold on % plot(counter,minlen,'-b*'); % hold off; end %结果输出 minlen R output_fitness(demand,R,volume,dis,fitness_value_c,D); % subplot(2,1,1) % plot(R,'-ro')
评论
    相关推荐
    • 遗传算法Matlab程序
      应用数字群算法设计数字滤波器的matlab程序,遗传算法是最近几年流行的优化算法
    • A*算法Matlab 代码
      A*算法Matlab 代码,输入为自定义地图或图片,图片中默认绿色为起始地址,红色为终点,二值化化后进行路径规划。本文件中共有7张测试图,从20*20-640*480像素。
    • Q算法MATLAB仿真
      移动机器人路径规划MATLAB仿真,使用Q-Learning算法
    • 遗传算法MATLAB应用
      老师上课的参考书 主要是关于遗传算法的一些MATLAB应用,十分有意思 希望大家能喜欢
    • retinex算法MATLAB代码
      retinex算法是目前比较流行且重要的图像增强算法,主要是通过将影响图像质量的照度分量去除,得到图像本来面目的原理!利用了人类视觉系统的特性!
    • 遗传算法matlab
      matlab程序下的遗传算法
    • PSO算法matlab程序
      PSO算法的标准程序,程序使用matlab语言
    • 遗传算法matlab
      遗传算法是自然选择和群体学基础上的非数值优化方法。提供了些matlab实例计算
    • 遗传算法matlab
      matlab是科学计算常用的工具,遗传算法也是一种目前比较流行的一种算法,利用matlab写的遗传算法代码,供大家参考。
    • 遗传算法matlab代码
      遗传算法matlab代码,能够正常运行,对于刚开始接触遗传算法的人员有很好的帮助