(1)快递末端共配网络体系层级构成:快递二级分拨中心和末端共同配送网点。服务某区域的快递二级分拨中心位置唯一且已知,顾客点位置已知;
(2)末端共配网点选址成本由固定成本、运输成本及运营成本构成;
下标:
i ——表示第i个末端共配网点,i = {1,2,3,…,M};
j ——表示第j个末端共配网点,j = {1,2,3,…,N};
v ——表示末端共配网点的规模,v = {1,2,3,…,L};
变量:
xiv ——表示选择i为末端共配网点,规模为v;
yij ——表示末端共配网点i为第j个客户配送;
ai ——表示分拨中心到末端共配网点i的快递量(kg/年);
vij ——末端共配网点i到顾客点j的快递量(kg/年);
参数:
bv ——规模为v的末端网点的固定成本(元/年);(假定有大中小三种规模,v=1,2,3)
hvi min ——建设规模为v的末端共配网点i的快递最小处理量(kg/年);
hvi max ——建设规模为v的末端共配网点i的快递最大处理量(kg/年);
c1 ——从二级分拨中心到末端共配网点单位质量、单位距离的运输费用(元/(kg·km));
c2 ——从末端共配网点到顾客点单位质量、单位距离的运输费用(元/(kg·km));
μ1 ——从分拨中心到末端共配网点的运输车辆及人员的成本(元/(kg·km));
μ2 ——从末端共配网点到顾客点配送车辆及人员的成本(元/kg);
μ3 ——末端共配网点内的人工成本系数;
di ——分拨中心到末端网点i的距离(km);
dij ——末端网点i到顾客点j的距离(km);
η ——从二级分拨中心到末端共配网点运输车辆的最大车载量(kg/辆);
β ——配送区域客户点选择送货上门的平均比例;
qj ——为顾客点j的快递需求量(kg/年)。

b1=200000 b2=100000 b3=50000

规模 成本b(万元) 处理量hmin-hmax(kg/年)
大1 34 2131600-3175500
中2 28 1058500-2131600
小3 20 0-1058500

成本分析:
(1)固定成本
固定成本是指建设新的末端共配网点产生的费用。固定成本主要包括场地的年租赁成本、设施设备的购买以及安置费用,该费用主要和末端共配网点的规模、位置以及设备配备水平相关。
f_1=∑_(i=1)M▒∑_(v=1)L▒〖b^v x_i^v 〗
bv={█(b1 h_(i min)1≤∑_(j=1)N▒v_ij ≤h_(i max)1@b2 h_(i min)2≤∑_(j=1)N▒v_ij ≤h_(i max)2@⋯@bv h_(i min)v≤∑_(j=1)N▒v_ij ≤h_(i max)^v )┤
(2)运输成本
运输成本包括两部分,是指快递从二级分拨中心到末端共配网点的年运输成本,以及从末端共配网点到顾客点的年运输成本(不包括客户自提成本)。
f_2=∑_(i=1)M▒∑_(v=1)L▒〖c_1 d_i a_i x_i^v 〗+β∑_(j=1)N▒∑_(i=1)M▒〖c_2 d_ij v_ij y_ij 〗
(3)运营成本
运营成本主要由从分拨中心到末端网点运输的人工成本、配送人员派件成本、末端网点内管理成本这三项构成,而它们都与和末端共配网点的快递处理业务量息息相关。
分拨中心到末端网点年人工成本与单个网点需要的运输人数成正比;
派件人员的年配送成本和网点快递业务量线性正相关;
网点内部的年快递处理成本和快递处理业务量并不是线性关系,其成本是快递处理量的凹函数(ai)θ ,θ∈(0,1),随着快递业务量增大,网点内部运营边际成本会不断缩减。
f_3=∑_(i=1)M▒∑_(v=1)L▒〖μ_1 a_i/η x_i^v 〗+β∑_(i=1)M▒∑_(v=1)L▒〖μ_2 a_i x_i^v 〗+∑_(i=1)M▒∑_(v=1)L▒〖μ_3 (a_i )^θ x_i^v 〗

目标函数:
min⁡F=∑_(i=1)M▒∑_(v=1)L▒〖b^v x_i^v 〗+[∑_(i=1)M▒∑_(v=1)L▒〖c_1 d_i a_i x_i^v 〗+β∑_(j=1)N▒∑_(i=1)M▒〖c_2 d_ij v_ij y_ij 〗]+[∑_(i=1)M▒∑_(v=1)L▒〖μ_1 a_i/η x_i^v 〗+β∑_(i=1)M▒∑_(v=1)L▒〖μ_2 a_i x_i^v 〗+∑_(i=1)M▒∑_(v=1)L▒〖μ_3 (a_i )^θ x_i^v 〗]

总成本=固定成本+运输成本+运营成本
约束条件:
(1)平衡约束1
表示从每个末端共配网点到所有其服务的顾客点的快递量等于从二级分拨中心到该末端共配网点的快递量;
h_(i min)v≤∑_(j=1)N▒v_ij =a_i≤h_(i max)^v i=1,2,3,⋯,M; v=1,2,3,⋯,L
(2)平衡约束2
表示从末端共配网点派送到顾客j的快递量等于顾客j的快递需求量;
∑_(i=1)^M▒v_ij =q_j j=1,2,3,⋯,N
(3)服务模式约束
表示顾客点j只能由固定的末端网点i服务;
∑_(i=1)^M▒y_ij =1
(5)网点覆盖范围约束
表示N个顾客点都要被服务到,即不存在没有被服务到的顾客点;
∑_(i=1)M▒∑_(j=1)N▒y_ij =N
(6)0-1约束
x_i^v={█(&1,“选择第” i"个点建设规模为" v"的末端网点" @&0,“不选择第” i"个点建设规模为" v"的末端网点" )┤
y_ij={█(&1,“第” j"个顾客点由第" i"个末端网点服务" @&0,“第” j"个顾客点不由第" i"个末端网点服务" )┤
(7)非负约束
表示变量取值要大于等于零;
i=1,2,3,⋯,M
j=1,2,3,⋯,N
v=1,2,3,⋯,L

主程序


tic
clear
clc
%% 用importdata这个函数来读取文件
load('data1')
load('di')
% cap=100;
%% 提取数据信息
vertexs=data(:,2:3);                %所有点的坐标x和y
customer=vertexs(1:end,:);          %所有点
fbzx=vertexs(1:16,1:2); %备选分拨中心
cusnum=size(fbzx,1);            %个数
v_num=1;                           %分割点
bxd=vertexs(17:end,:);%配送网点坐标
cus=size(bxd,1);
demands=data(17:end,4);              %需求量
h=pdist(vertexs);
dist=squareform(h)./1000;                 %距离矩阵
Qc = [3175500 340000;2131600 280000;1058500 200000] ;% 容量/成本,
Q=Qc(:,1);
cb=Qc(:,2);
%% 遗传算法参数设置
% alpha=10;                                                       %违反的容量约束的惩罚函数系数
NIND=200;                                                        %种群大小
MAXGEN=200;                                                     %迭代次数
Pc=0.9;                                                         %交叉概率
Pm=0.05;                                                        %变异概率
GGAP=0.9;                                                       %代沟(Generation gap)
N=cusnum+v_num;                                               %染色体长度=顾客数目+1
%% 种群初始化
Chrom=InitPop(NIND,N);
%% 输出随机解的路线和总距离
disp('初始种群中的一个随机值:')
[fp,bxzd,a,b,bxddj,sumdemands]=decode(Chrom(1,:),cusnum,dist,cus,demands,Q);       %对初始解解码
%%disp('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
%% 优化
BestCost=zeros(MAXGEN,1);       %记录每一代全局最优解的总成本
gen=1;
while gen<=MAXGEN%% 计算适应度ObjV=calObj(Chrom,cusnum,dist,cb,cus,demands,di,Q);                           %计算种群目标函数值FitnV=Fitness(ObjV);%% 选择SelCh=Select(Chrom,FitnV,GGAP);%% OX交叉操作SelCh=Recombin(SelCh,Pc);%% 变异SelCh=Mutate(SelCh,Pm);%% 重插入子代的新种群Chrom=Reins(Chrom,SelCh,ObjV);%% 打印当前最优解ObjV=calObj(Chrom,cusnum,dist,cb,cus,demands,di,Q);                           %计算种群目标函数值[minObjV,minInd]=min(ObjV);BestCost(gen)=minObjV;disp(['第',num2str(gen),'代最优解:'])[fp,bxzd,a,b,bxddj,sumdemands]=decode(Chrom(minInd,:),cusnum,dist,cus,demands,Q);
cost=costFuction(fp,bxzd,a,b,bxddj,sumdemands,cb,cus,demands,di);
disp(['成本:',num2str(cost)]);fprintf('\n')%% 更新迭代次数gen=gen+1 ;
end
%%
[bestfp,bestbxzd,besta,bestb,bestbxddj,bestsumdemands]=decode(Chrom(minInd,:),cusnum,dist,cus,demands,Q);
%% 打印外层循环每次迭代的全局最优解的总成本变化趋势图
figure;
plot(BestCost,'LineWidth',1);
title('全局最优解的总成本变化趋势图')
xlabel('迭代次数');
ylabel('总成本');
%% 打印全局最优解路线图NV=size(bestbxzd,2);
figure
hold on;box on
title('选址方案')
hold on;
C=hsv(NV);
for i=1:size(fbzx,1)text(fbzx(i,1)+50,fbzx(i,2),num2str(i),'FontSize',15,'color',[1,0,0]);
end
plot(customer(:,1),customer(:,2),'k.','linewidth',1);hold on;
plot(fbzx(:,1),fbzx(:,2),'ko','linewidth',1);hold on;for i=1:size(bxd,1)text(bxd(i,1)+10,bxd(i,2),num2str(i),'FontSize',7,'color',[0,0,0]);
end
for i=1:cusc_pre=bxd(i,:);c_lastone=fbzx(bestfp(i),:);plot([c_pre(1),c_lastone(1)],[c_pre(2),c_lastone(2)],'-','color',C(3,:),'linewidth',1);end
%     end
% endfor i=1:NV
plot(fbzx(bestbxzd(i),1),fbzx(bestbxzd(i),2),'s','linewidth',2,'MarkerEdgeColor','b','MarkerFaceColor','b','MarkerSize',10);
end
% end
%%
for i=1:NVdisp(['备选点:',num2str(bestbxzd(i))]);ccc=find(fp==bestbxzd(i));cd=ccc+16;disp(['覆盖:',num2str(cd)]);
%          fprintf('\n');disp(['等级:',num2str(bestbxddj(i))]);disp(['容量:',num2str(sumdemands(i))]);fprintf('\n');
end
toc

结果显示




matlab选址问题——分级选址定容相关推荐

  1. MATLAB代码:基于粒子群算法的电动汽车充电站最优选址和定容

    MATLAB代码:基于粒子群算法的电动汽车充电站最优选址和定容 关键词:选址定容 电动汽车 充电站位置 仿真平台:MATLAB 主要内容:代码主要做的是一个电动汽车充电站的选址定容问题,提出了能够计及 ...

  2. 电动汽车充电站的最优选址定容MATLAB程序

    电动汽车充电站的最优选址定容MATLAB程序 以规划期内充电站的总成本 (包括投资.运行和维护成本)和网损费用之和最小为目标,考虑了相关的约束条件,构造了电动汽车充电站最优规划的数学模型. 从34个位 ...

  3. MATLAB代码:基于多目标遗传算法的分布式电源选址定容研究

    关键词:选址定容 分布式电源 多目标 遗传算法 参考文档:<Optimal Siting and Sizing of Distributed Generation in Radial Distr ...

  4. 【优化选址】基于遗传算法求解分布式电源的选址定容问题附matlab代码

    1 内容介绍 随着我国经济持续高速发展,能源.特别是电能的消耗量越来越大:为满足电能需求,今后一个时期,我国电力行业仍需大规模建设.在化石能源逐渐枯竭.环境压力逐年增大的背景下,在现有配电网上引入分布 ...

  5. 基于多目标遗传算法的IEEE14节点系统分布式电源选址定容matlab程序

    基于多目标遗传算法的IEEE14节点系统分布式电源选址定容matlab程序 摘 要: 为更好地解决分布式电源选址定容问题,提出一种改进的多目标遗传算法.之后,考虑投资成本.网损以及电压稳定性三因素建立 ...

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

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

  7. DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型

    DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠 YID:87140641990659957爱熬夜的程序猿

  8. DG储能选址定容模型matlab,程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型

    DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠 YID:69140641990659957

  9. DG储能选址定容模型matlab 程序采用改进粒子群算法

    DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠编号:75140641990659957爱熬夜的程序猿

  10. 改进多目标粒子群储能选址定容matlab 采用matlab编程得到33节点系统改进多目标储能选址定容方案

    改进多目标粒子群储能选址定容matlab 采用matlab编程得到33节点系统改进多目标储能选址定容方案,采用基于信息熵的序数偏好法(TOPSIS)求解储能的最优接入方案,程序运行稳定,注释清楚. Y ...

最新文章

  1. java要频繁调用容器时_JAVA基础面试题
  2. Spring Boot中的测试
  3. Hadoop集群安装部署_分布式集群安装_02
  4. android简单项目及代码_Android 开源项目 (AOSP) 代码搜索工具正式发布
  5. Qt Mysql驱动编译过程以及驱动下载
  6. AddThis AddFeed WordPress插件发布 [转]
  7. 【应用案例】CANape支持基于模型的ECU开发
  8. Verilog常用语法总结
  9. 转载:保护 Web 服务器的安全
  10. 自制变压器,要注意几个内容
  11. 美学原理-杨宁课堂笔记
  12. RFID图书馆藏书防盗安全门门禁系统的应用分析
  13. LINUX驱动、系统底层
  14. 拓嘉启远:拼多多流量一下子涨很快的原因
  15. 一分钟了解英语表达,作为上一段话的总结:综上所述
  16. [001]code blocks - error: expected identifier or ‘(‘ before ‘int‘|
  17. 手写板签字php,手写板,签字版
  18. Linux Joystick driver v2.0.0
  19. 计算机信息安全必须学,计算机信息安全技术和防护措施介绍
  20. 领航机器人广告段子_医院机器人物流宣传语

热门文章

  1. python sha1加密字符串
  2. 从“老公”的称呼来历,看男人地位的变迁!
  3. 基于Node.js+Electron+CPP(DLL)的Windows桌面应用程序(自助终端)开发简介
  4. 计算机系统重装微pe步骤
  5. java闰年_java 判断闰年
  6. multisim变压器反馈式_基于Multisim 负反馈放大电路的仿真实验分析
  7. ios 使用SourceTree,KDiff3进行代码的冲突解决步骤
  8. 申请软件著作权可以加急吗?软著申请时间怎么计算的?
  9. 计算机通信子网的作用,通信子网
  10. JAVA中LIST 和 MAP的区别