赞
踩
配送中心选址
某省共有92个城市,城市位置、标号,公路交通网数据见附件1。
某企业在该省标号前20位的城市建立了直销中心,各直销中心负责所在城市的销售,销售量见附件1。该企业欲在该省设立一个配送中心负责给直销中心配送产品,配送中心建设成本为30万元。每吨公里运费2元,每吨产品的销售利润为300元。
试建立数学模型分析研究下面的问题:
(1)为了降低运输成本,配送中心应选在哪个城市?
第一步画图
- clc,clear all
- %%导入数据
- [nums]=xlsread("D:\桌面\配送中心选址问题\附件1.xls","城市及销售中心数据");
- [nums2]=xlsread("D:\桌面\配送中心选址问题\附件1.xls","全省公路路线");
- %%生成坐标矩阵A和生成01对应坐标矩阵B
- x=nums(1:92,2);
- y=nums(1:92,3);
- A(1:92,1:2)=nums(1:92,2:3);
-
- B=zeros(92,92);
- i=1;
- while i<=140
- X=nums2(i,1);
- Y=nums2(i,2);
- B(X,Y)=1;
- B(Y,X)=1;
- i=i+1;
- end
-
- %画图%A为xy坐标矩阵,B为城市之间01矩阵
- gplot(B,A,"-*")
1:先pdist求出图像中各个点距离矩阵z
2:利用上面01矩阵B求出真实得邻接矩阵
3:求取第一问得结果 (35城市最好)
- %求真实带权邻接矩阵W
- W=zeros(92,92);
- distmat = pdist(A);%求所有点间直线距离
- z=squareform(distmat);
- for i=1:92
- for j=i:92
- if B(i,j)==1
- W(i,j)=z(i,j);
- W(j,i)=z(j,i);
- else
- W(i,j)=inf;
- W(j,i)=inf;
- end
-
- end
- end
- [dist,mypath]=floyd2(W);%%dist全连接邻接矩阵表 mapath路径表
- %%第一问解题
- W_20=dist(1:20,1:92);
- for i=1:20
- W_20(i,i)=0;
- end
- Totallen_20=sum(W_20);
- min(Totallen_20);%35城市节点最好
1:matlab
求出92个城市5年来运费总和,可以直观看出那个城市运费最小(但貌似并没有什么用)
2:关键利用lingo线性规划目标函数费用最小
-
-
- %第二问解题
- w_20=W_20;
- for i=1:92
- w_20(1:20,i)=w_20(1:20,i).*nums(1:20,4).*120;
- end
- Totalcost_20=sum(w_20);%92城市5年运费总和,接下来lingo求解
-
-
目标:min z=建设配送中心费用+运输费用
{
∑(j=1:92)每个配送中心配送量=直销中心销售量(i=1:20)
92城市选的配送中心(0或者1)
每个配送中心配送量>=0
}
后续在等队友补充,本人浅做一下下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。