基于重心法的中转站选址问题作者:陈传营-2-某企业有2个生产厂(P1,P2)服务于三个目标市场(M1,M2,M3),地理坐标如图所示。各节点的运输总量及运输费率如表所示。(1)如果要修建一个中转仓库,请用重心法为该仓库选址。(2)如果需要使用2个中转仓库,试确定最优的仓库选址。节点坐标运输总量(件)运输费率(元/件/公里)P1(3,8)50000.04P2(8,2)70000.04M1(2,5)35000.095M2(6,4)30000.095M3(8,8)55000.095M2M1M3P1P2问题描述问题一:单中转站选址解题方法:重心法解题思路:第一步,利用总费用最小的思想,通过极值求解,解出中转站坐标的表达式:*00//njjjjjdnjjjjxdxd*00//njjjjjdnjjjjydyd第二步:给定中转站坐标初始值,进行迭代求解(迭代过程见P112,P113)问题一:单中转站选址functionT=TotalCostx0=0;y0=0;x1=0;y1=0;a=[0.04,0.04,0.095,0.095,0.095];w=[5000,7000,3500,3000,5500];x=[3,8,2,6,8];y=[8,2,5,4,8];d=[0,0,0,0,0];T0=200;T1=100;利用MATLAB编程求解:while(T1-T0=0)T0=0;T1=0;a1=0;a2=0;b1=0;b2=0;x0=x1;y0=y1;fori=1:5d(i)=sqrt((x0-x(i))^2+(y0-y(i))^2);T0=T0+a(i)*w(i)*d(i);end问题一:单中转站选址fori=1:5a1=a1+a(i)*w(i)*x(i)/d(i);a2=a2+a(i)*w(i)/d(i);b1=b1+a(i)*w(i)*y(i)/d(i);b2=b2+a(i)*w(i)/d(i);endx1=a1/a2;y1=b1/b2;fori=1:5d(i)=sqrt((x(i)-x1)^2+(y(i)-y1)^2);T1=T1+a(i)*w(i)*d(i);endT0T1endx1y1答案:x1=5.9393;y1=5.3170问题一:单中转站选址问题二:两中转站选址解题方法:聚类分析+重心法解题思路:第一步,利用聚类分析对目标点进行分类(本题根据题意分为两类)第二步:对每一单独群体,用重心法求解解题软件:MATLAB,SPSS问题二:两中转站选址答案:(1)聚类分析答案:问题二:两中转站选址第一组第二组P2P1M2M1M3重心法答案:问题二:两中转站选址x1=7.4582;y1=5.9418x2=2;y2=5.0000本方法在聚类分析的基础上,针对聚类的出的结果进行重心法求中转站坐标,具有以下缺陷:(1)聚类分析本身存在误差(2)对于运量的分配没有过多重视方法缺陷谢谢!