我这里有一个关于VRP问题的基础遗传算法的代码,可是我想要单亲遗传算法,在这基础上要怎么去修该啊。求助大家,很急,不用很复杂,只要基础一点的单亲遗传算法。谢谢大家了,拜托

function main()

clear all;

clc;

%计算实例数据

coor=[30 37 49 52 20 40 21 17 31 52 51 42 31 5 12 36 52 27 17 13 57 62 42 16 8 7 27 30 43 58 58

40 52 49 64 26 30 47 63 62 33 21 41 32 25 42 16 41 23 33 13 58 42 57 57 52 38 68 48 67 48 27]';%配送中心与零售商坐标

dealer_total=30;%零售商数量

quantity=[0 1 4 2 1 2 3 4 1 1 2 3 2 1 2 3 4 3 4 2 3 1 4 3 2 4 2 1 4 3 2];%零售商需求量

priority=[0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 2];%零售商配送优先级

vehicle_num=5;%可用配送车辆数量

vehicle_capacity=20;%配送车辆容量

qidong=30;%启动成本

pop_size=50;%种群大小

iteration_max=300;%迭代次数上限

%计算两点间距离

dist=pdist(coor,'euclidean');

dist=squareform(dist);

%初始化种群

tmp=ones(1,dealer_total);

tmp=cumsum(tmp)+1;

pop=zeros(pop_size,dealer_total);

%随机生成初始种群

tmp=ones(1,dealer_total);

tmp=cumsum(tmp)+1;

for i=1:pop_size

ind=randperm(dealer_total);

pop(i,:)=tmp(ind);

end

%基本遗传算法迭代循环

for step=1:iteration_max

%计算适应度

for i=1:pop_size

[Fit(i)]=fitness(pop(i,:),vehicle_num,vehicle_capacity,dist,quantity,priority,qidong);

end

%保留最优解

[c,ind]=max(Fit);

plot_data2(step)=1/c;

sofar_best=pop(ind,:);

%轮盘赌选择

csf=cumsum(Fit);

ind=zeros(1,pop_size);

rd=rand(1,pop_size)*csf(end);

for i=1:pop_size

ind(i)=find(csf>rd(i),1,'first');

end

pop=pop(ind,:);

pop(1,:)=sofar_best;

pop_=zeros(size(pop));

%交叉操作

for i=1:2:pop_size

if rand>0.8

pop_([i,i+1],:)=pop([i,i+1],:);

else

p1=pop(ceil(rand*pop_size),:);

p2=pop(ceil(rand*pop_size),:);

swpt=ceil(dealer_total*rand);

order=p1(1:swpt);

[p,ind]=sort(p2);

p2(ind(order-1))=[];

pnew =[p1(1:swpt) p2];

pop_(i,:)=pnew;

pop_(i+1,:)=p1;

end

end

pop=pop_;

%变异操作

for i=1:pop_size

if rand>0.07

continue;

end

swpt1=ceil(dealer_total*rand);

swpt2=ceil(dealer_total*rand);

swptlo=min(swpt1,swpt2);

swpthi=max(swpt1,swpt2);

order=1:dealer_total;

order(swptlo:swpthi)=order(swpthi:-1:swptlo);

pnew = pop(i,order);

pop(i,:)=pnew;

end

pop(1,:)=sofar_best;

end

单亲遗传算法matlab,关于单亲遗传算法的matlab代码相关推荐

  1. matlab中alw,MATLAB环境下遗传算法优化工具箱的应用_刘万林

    M A T LAB 环境下遗传算法优化工具箱的应用 刘万林,张新燕,晁勤 (新疆大学电气工程学院,新疆乌鲁木齐830008)摘 要:用M A T L AB 语言及M A T L AB 语言编制的优化工 ...

  2. 实值遗传算法求解函数极值问题(基于MATLAB)

    实值遗传算法求解函数极值问题(基于MATLAB) 声明: 1.本文源代码来自书目<智能优化算法及其MATLAB实例(第3版)>,目的在于为MATLAB初学者提供更简明的代码解析,方便读者了 ...

  3. m基于遗传算法的城市生活垃圾回收网络优化matlab仿真

    目录 1.算法描述 2.matlab算法仿真效果 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 目前,城市生活垃圾成为困扰我国大多数城市健康发展的痼疾.与国外相关国家相比,我国垃圾回收 ...

  4. 基于遗传算法的微电网经济运行优化matlab程序

    基于遗传算法的微电网经济运行优化matlab程序 摘 要: 微电网作为智能电网的一部分,是分布式电源接入电网的一种有效手段,微电网经济运行是其中一个重要研究方面.考察微电网经济性,通常是从最小运行成本 ...

  5. 分布式电源优化配置与选址定容MATLAB程序基于遗传算法

    分布式电源优化配置与选址定容MATLAB程序基于遗传算法 (1)该程序为基于遗传算法的分布式电源优化配置与选址定容程序,硕士学位论文源程序,配有该论文. (2)本程序可有效配置分布式电源容量与安装位置 ...

  6. MATLAB实现基于遗传算法/引力搜索算法优化新安江水文模型

    MATLAB实现基于遗传算法/引力搜索算法优化新安江水文模型 1 新安江模型 1.1 新安江模型结构 1.2 模型参数种类及意义 2 新安江模型优化参数 2.1 蒸散发参数: KC.WUM.WLM.C ...

  7. 遗传算法混流装配线平衡毕业论文【matlab/Flexsim仿真】

    一.论文简介 配线,研究方向也开始从单一目标的优化逐渐转向了对多目标的优化[23].装配线平衡问题的在研究企业实际生产过程中同样发挥着重要的作用,装配线平 衡问题直接关系到生产效率,混流装配线作为制造 ...

  8. matlab如何用遗传算法,使用MATLAB遗传算法工具实例(详细).doc

    最新发布的MATLAB 7.0 Release 14已经包含了一个专门设计的遗传算法与直接搜索工具箱(Genetic Algorithm and Direct Search Toolbox,GADS) ...

  9. 遗传算法【matlab实现】(内含matlab基础式注释)

    最近在准备数学建模,凭借微弱的matlab基础学习遗传算法等一系列最优化算法实在是有点吃力.想着帮助自己消化吸收+帮助其他小白同学快速看懂代码,所以写了一篇blog,给出了遗传算法的大致实现思路.但重 ...

  10. 【ELM回归预测】基于matlab遗传算法优化ELM回归预测【含Matlab源码 1673期】

    一.ELM神经网络简介 1 引言 极限学习机不是一个新的东西,只是在算法(方法)上有新的内容.在神经网络结构上,就是一个前向传播的神经网络,和之前几篇博文讲的意义. 2 ELM最大的创新点 1)输入层 ...

最新文章

  1. 深度解析神经网络中每个神经元的使命 | MIT朱俊彦港中文周博磊力作
  2. 挑战独立开发项目能力___ITlanbao
  3. 取得前九条之后的数据
  4. 刘若英《爱情限量版》摘录
  5. centos7根据端口查进程_记录一次CentOs7下Nginx+WSGI部署Django项目(超详细)
  6. 怎么通过media foundation将图像数据写入虚拟摄像头_千倍成本压缩!特斯拉开发虚拟激光雷达,替代最贵自动驾驶传感器...
  7. C++ 多态与虚函数面试题
  8. Confluence 6 数据库表-杂项(Miscellaneous)
  9. 三星4k3d电视测试软件,三大硬性指标 揭开伪4K电视真实面目
  10. PS快速美白磨皮方法
  11. 2021-08-20红外额温枪方案核心芯片ZHW3548
  12. 广度优先算法之狄克斯特拉算法
  13. java single threaded_[Java多线程设计模式]读书笔记 - 第一章 Single Threaded Execution
  14. 电脑硬件升级——笔记本更换更大容量的固态硬盘,并进行系统迁移
  15. 基于Springboot的漫画网站设计与实现的源码+文档
  16. 建建自学VoIP之VAD(Voice Activity Detector)和CNG(Comfort Noice Generator)
  17. js中的contains
  18. 线扫描matlab,MATLAB在水下激光线扫描图像处理中的应用
  19. JAVA record
  20. SQL集合函数中利用case when then技巧

热门文章

  1. 华三交换机如何进入配置_如何初始化配置H3C交换机
  2. 手把手教你做视频播放器(二)-获取视频信息
  3. 连锁门店如何管理海量固定资产?
  4. 【随机过程】第一章 随机过程概念与基本类型课后习题及答案
  5. python控制51单片机的红绿灯_51单片机控制交通灯_51单片机红绿灯编程
  6. Android 电子书及阅读器Demo
  7. 图片计算景深matlab程序,在线景深计算器
  8. 为 昂达 v891 安装上了 remix OS 了
  9. 软件比较 - Sniffer、Omnipeek、科来网络分析系统过滤器比较之位过滤 在捕获数据包时,有时候需要对一个字节中的某一个位进行精确匹配,这时,我们就需要用到位过滤。位过滤相对于地址、端口、协
  10. input的oninput、onchange与onpropertychange事件