1.实验目的

掌握免疫算法解决物流中心选址问题的方法,了解免疫算法与遗传算法的应用差别。

2.实验环境

Matlab

3.实验内容

使用免疫算法实现物流中心选址。

采集了31个城市的坐标,每个用户的位置以及物资需求量由下表给出。这里的物资需求量是经过规范化处理后的数值,并不代表实际值。从中选择6个配送中心。

根据配送中心选址模型,按照免疫算法流程对该例求解。

参数设置:

种群规模:50;

记忆库容量:10;

迭代次数:100;

交叉率:0.5;

变异概率:0.4;

多样性评价参数:0.95;

4.实验过程 %% 免疫优化算法在物流配送中心选址中的应用
%% 清空环境
clc
clear
%% 算法基本参数
sizepop=50;           % 种群规模
overbest=10;          % 记忆库容量
MAXGEN=100;            % 迭代次数
pcross=0.5;           % 交叉概率
pmutation=0.4;        % 变异概率
ps=0.95;              % 多样性评价参数
length=6;             % 配送中心数
M=sizepop+overbest;%% step1 识别抗原,将种群信息定义为一个结构体
individuals = struct('fitness',zeros(1,M), 'concentration',zeros(1,M),'excellence',zeros(1,M),'chrom',[]);
%% step2 产生初始抗体群
individuals.chrom = popinit(M,length);
trace=[]; %记录每代最个体优适应度和平均适应度
%% 迭代寻优
for iii=1:MAXGEN%% step3 抗体群多样性评价for i=1:Mindividuals.fitness(i) = fitness(individuals.chrom(i,:));      % 抗体与抗原亲和度(适应度值)计算individuals.concentration(i) = concentration(i,M,individuals); % 抗体浓度计算end% 综合亲和度和浓度评价抗体优秀程度,得出繁殖概率individuals.excellence = excellence(individuals,M,ps);% 记录当代最佳个体和种群平均适应度[best,index] = min(individuals.fitness);   % 找出最优适应度 bestchrom = individuals.chrom(index,:);    % 找出最优个体average = mean(individuals.fitness);       % 计算平均适应度trace = [trace;best,average];              % 记录%% step4 根据excellence,形成父代群,更新记忆库(加入精英保留策略,可由s控制)bestindividuals = bestselect(individuals,M,overbest);   % 更新记忆库individuals = bestselect(individuals,M,sizepop);        % 形成父代群%% step5 选择,交叉,变异操作,再加入记忆库中抗体,产生新种群individuals = Select(individuals,sizepop);                                                             % 选择individuals.chrom = Cross(pcross,individuals.chrom,sizepop,length);                                    % 交叉individuals.chrom = Mutation(pmutation,individuals.chrom,sizepop,length);   % 变异individuals = incorporate(individuals,sizepop,bestindividuals,overbest);                               % 加入记忆库中抗体      end%% 画出免疫算法收敛曲线
figure(1)
plot(trace(:,1));
hold on
plot(trace(:,2),'--');
legend('最优适应度值','平均适应度值')
title('免疫算法收敛曲线','fontsize',12)
xlabel('迭代次数','fontsize',12)
ylabel('适应度值','fontsize',12)%% 画出配送中心选址图
%城市坐标
city_coordinate=[1304,2312;3639,1315;4177,2244;3712,1399;3488,1535;3326,1556;3238,1229;4196,1044;4312,790;4386,570;3007,1970;2562,1756;2788,1491;2381,1676;1332,695;3715,1678;3918,2179;4061,2370;3780,2212;3676,2578;4029,2838;4263,2931;3429,1908;3507,2376;3394,2643;3439,3201;2935,3240;3140,3550;2545,2357;2778,2826;2370,2975];
carge=[20,90,90,60,70,70,40,90,90,70,60,40,40,40,20,80,90,70,100,50,50,50,80,70,80,40,40,60,70,50,30];
%找出最近配送点
for i=1:31distance(i,:)=dist(city_coordinate(i,:),city_coordinate(bestchrom,:)');
end
[a,b]=min(distance');index=cell(1,length);for i=1:length
%计算各个派送点的地址
index{i}=find(b==i);
end
figure(2)
title('最优规划派送路线')
cargox=city_coordinate(bestchrom,1);
cargoy=city_coordinate(bestchrom,2);
plot(cargox,cargoy,'rs','LineWidth',2,...'MarkerEdgeColor','r',...'MarkerFaceColor','b',...'MarkerSize',20)
hold onplot(city_coordinate(:,1),city_coordinate(:,2),'o','LineWidth',2,...'MarkerEdgeColor','k',...'MarkerFaceColor','g',...'MarkerSize',10)for i=1:31x=[city_coordinate(i,1),city_coordinate(bestchrom(b(i)),1)];y=[city_coordinate(i,2),city_coordinate(bestchrom(b(i)),2)];plot(x,y,'c');hold on
end

免疫算法在物流配送中心选址中的应用相关推荐

  1. 《MATLAB智能算法30个案例》:第12章 免疫优化算法在物流配送中心选址中的应用

    <MATLAB智能算法30个案例>:第12章 免疫优化算法在物流配送中心选址中的应用 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB智能算法30个案 ...

  2. 免疫优化算法在物流配送中心选址中的应用(Matlab代码实现)

    目录 1 概述 2 免疫算法简介 3 原理分析 4 运行结果 5 结果分析  6 Matlab代码实现  7 参考文献 8 写在最后 1 概述 随着经济的迅速发展,电子商务平台蓬勃兴起,越来越多的消费 ...

  3. 【免疫算法】物流配送中心选址问题(Matlab代码实现)

  4. ​【优化布局】基于免疫优化算法求解物流配送中心选址matlab源码

    1 简介 影响物流配送中心选址的因素有很多,精确选址优化问题亟待解决.通过充分考虑货物的配送时间,将免疫算法加入其中,介绍了物流配送选址模型的构建以及免疫算法实现的相关步骤,最后利用matlab软件进 ...

  5. 基于免疫优化算法的物流配送中心选址规划研究(Matlab实现)

  6. 遗传算法 求解物流配送中心选址问题 免疫算法物流配送中心选址

    遗传算法 求解物流配送中心选址问题 免疫算法物流配送中心选址 VRP程序 源码+详细注释(matlab编写) 模型应用场景: 1.配送中心能够配送的总量≥各揽收站需求之和 2.一个配送中心可为多个揽收 ...

  7. 【物流选址】基于matlab免疫算法求解物流选址问题【含Matlab源码 020期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[物流选址]基于matlab免疫算法求解物流选址问题[含Matlab源码 020期] 获取代码方式2: 付费专栏Matlab路径规划(初级版 ...

  8. MATLAB灰狼优化算法求解超市物流配送中心选址问题代码实例

    MATLAB灰狼算法求解超市物流配送选址问题实例 作者:麦哥 MATLAB灰狼优化算法求解超市物流配送中心选址问题代码实例 灰狼算法编程问题实例: 在范围为(0,0)到(100,100)的矩形区域内, ...

  9. MATLAB麻雀搜索算法求解物流配送中心选址问题实例代码

    实例视频: MATLAB麻雀搜索算法求解物流配送中心选址问题优化实例 1.问题描述 根据目前已知所需客户点位置.备选中心位置和客户需求货物的前提下,指定选址位置,合理设计配送路线,使运输成本趋于最小化 ...

  10. 【优化选址】遗传算法求解物流配送中心选址【含Matlab源码 1917期】

    ⛄一.物流选址简介 1 引言 配送中心是物流系统网络中的关键节点和重要的基础设施,在整个物流系统网络规划中起着枢纽性的作用[1].快递物流配送中心选址是指在具有若干个发件网点或者若干个收件网点的物流配 ...

最新文章

  1. 记录理解程度、一篇至少读3遍,吴恩达建议这样读论文
  2. 我在阿里做中后台开发
  3. P13 最优控制系统-《Matlab/Simulink与控制系统仿真》程序指令总结
  4. 阿里巴巴对Java编程【命名风格】的规约
  5. Java 8 Stream中间操作(方法)示例
  6. 挤拥城市游戏android,拥挤城市crowdcity
  7. jsp获取SessionID值
  8. java ajax返回数组_js对ajax返回数组的处理介绍
  9. Python将txt文件转为json文件
  10. 两张图片合成一张_利用溶图技巧把多张图片合成一张奇幻风格图片教程
  11. MySQL数据库学习【第二篇】基本操作和存储引擎
  12. Linux:进入文件夹提示Permission denied错误
  13. 总结列表显示ListView知识点
  14. 《大话设计模式》笔记2
  15. [HAOI2009]毛毛虫(树的直径)
  16. 科学计算机中log,科学计算器的科学用法.docx
  17. vue限制只能输数字
  18. 最近看了一些东西,随便写写JFinal的一些东西吧
  19. 【LeetCode】127. Word Ladder 解题报告(Python)
  20. 一次神坑:Qt的QFile新建文件

热门文章

  1. HTML5能取代Android和iOS应用程序吗?
  2. 电脑经验小总结(原创)
  3. 没有密码怎样删除officescan
  4. 【华为 OJ 】进制转换
  5. Eclipse汉化教程
  6. c语言中反余切三角函数,三角函数(反双曲)正弦,余弦,正切,余切,正割,余割在线计算器_三贝计算网_23bei.com...
  7. Uiautomator入门(初学者用)
  8. 二级java考什么_​Java计算机二级考试考什么
  9. 光纤基础知识(2)-光纤接头(尾纤)ST,SC,LC,FC
  10. ActivityMQ入门案例