物流中心选址重心法c程序设计_第1页
物流中心选址重心法c程序设计_第2页
物流中心选址重心法c程序设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/单一物流中心选址重心法c++程序设计(选址)某企业有五个供应商,他们的位置分别是(4+i,4+i),(12+i,4+i),(2+i,7+i),(11+i,11+i),(7+i,14+i),该企业从这五个供应商处的选购 量每年为4+i、3+i、2+i、4+i、1+i,假设运输费率相同,i为序号的末位数。请用计算机编写一个通用程序,完成下面的题目。(1)用城市距离为该企业举荐一个地址,使该企业的费用最省。(2)将第1问中的结果作为一个初始解,用欧氏距离进行重新优化,举荐一个最优的位置。要求:(1)前后两次结果之差小于0.001;(2)程序的通用性高,可以满足任何多个供应商;(3)程序的可读性强;(4)操作界面友好;(5)在手册中要记录全部的程序、运行结果及相关界面图形。解:图供应地和需求地分布状况重心法是一种模拟方法。这种方法将物流系统中的需求点和资源点看成是分布在某一平面范围内的物流系统,各点的需求量和资源量分别看成是物体的重量,物体系统的重心作为物流网点的最佳设置点,利用求物体系统重心的方法来确定物流网点的位置。(1)式中:Vi—i点运输量;Ri—待定物流中心到i点的运输费率;di—待定物流中心到i点的距离。求解算法—数值分析法(重心法)设供应点和需求点所在地的坐标为(Xi,Yi),待定物流中心的位置坐标为(X0,Y0)则(2)将(2)式代入(1)式,然后求运输总费用TC对X0和Y0的偏导数,并令其等于零。(3)(4)上述两式中仍含有未知数di,因此一次不能求得X0和Y0(解析解),须要通过迭代收敛法得到数值解。迭代收敛法具体步骤:先用重心公式估算初始选址点(大致位置):(5)(6)2、将X0和Y0代入公式2,计算di(i=1,2,…,m+n);3、将di代入公式3和4,解出修正值X0和Y0;4、依据修正值X0和Y0,再重新计算di;5、重复步骤3和4,直至X0和Y0的值在连续迭代过程中不再变更,即△X0≈0,△Y0≈0,即得到精确仓库选址位置,接着计算无意义。程序设计具体步骤:Step1:利用几何重心公式(5)和(6)估算初始点X0,Y0Step2:将X0,Y0代入距离公式(2),计算di(i=1,2,…,5)Step3:将di(i=1,2,…,5)代入公式3和公式4,修正值X0和Y0Step4:重复步骤2和3,直至修正值X0和Y0的值在连续迭代过程中不再变更。(用C++程序进行编译),程序如下所示:#include<iostream.h>#include<math.h>#include<stdlib.h>voidmain(){intn;float*X,*Y,*V,*R;cout<<"请输入需求点和供应点总个数:";cin>>n;X=newfloat[n];Y=newfloat[n];V=newfloat[n];R=newfloat[n];cout<<"请输入各结点的横坐标:";for(inti=0;i<n;i++)cin>>X[i];cout<<"请输入各结点的纵坐标:";for(i=0;i<n;i++)cin>>Y[i];cout<<"请输入各结点的供货量或需求量:";for(i=0;i<n;i++)cin>>V[i];cout<<"请输入各结点的内/外向运输费率:";for(i=0;i<n;i++)cin>>R[i];floatsumx=0.0,sumy=0.0,sumqr=0.0;floatavex,avey;for(i=0;i<n;i++){sumx+=V[i]*R[i]*X[i];sumy+=V[i]*R[i]*Y[i];sumqr+=V[i]*R[i];}avex=sumx/sumqr;avey=sumy/sumqr;cout<<"初始物流中心地址为:"<<"X="<<avex<<''<<"Y="<<avey<<endl;float*d;d=newfloat[i];floatxzsumx=0.0,xzsumy=0.0,xzsumqr=0.0;floatxzavex,xzavey;intj=0;while(1){for(i=0;i<n;i++)d[i]=sqrt((avex-X[i])*(avex-X[i])+(avey-Y[i])*(avey-Y[i]));for(i=0;i<n;i++){xzsumx+=V[i]*R[i]*X[i]/d[i];xzsumy+=V[i]*R[i]*Y[i]/d[i];xzsumqr+=V[i]*R[i]/d[i];}xzavex=xzsumx/xzsumqr;xzavey=xzsumy/xzsumqr;if(j==50)break;else{cout<<"第"<<j+1<<"次迭代:"<<"tempX="<<xzavex<<''<<"tempY="<<xzavey<<endl;avex=xzavex;avex=xzavey;xzsumx=0.0;x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论