精确重心法
常用于单一设施布置的面选址中,常常考虑现有设施之间的距离和物流量。其中,距离一般使用欧几里得距离表示,物流量使用权值表示。
现有设施位置为(x,y),权值为w,其目标函数为:

计算过程为:



以报刊亭选址为例:
一个报刊连锁公司想在一个地区开设一个新的报刊零售点,主要的服务对象是附近的5个住宿小区的居民,这些需求点的位置如图所示。各个需求点对应的权重(需求量)。


计算过程代码化为:

void initial(){float sum_X=0,sum_Y=0;for(int i=0;i<m;i++){sum_X+=X_coordinate[i];sum_Y+=Y_coordinate[i];}Xs[0]=sum_X/m;Ys[0]=sum_Y/m;
}void number_iteration(){   //次数迭代int N=0;while(N<=20){for(int i=0;i<m;i++){ds[i]=sqrt(pow(X_coordinate[i]-Xs[N],2)+pow(Y_coordinate[i]-Ys[N],2));W[i]=w[i]/ds[i];XS[i]=W[i]*X_coordinate[i];YS[i]=W[i]*Y_coordinate[i];}float sum_XS=0,sum_YS=0,sum_ds=0;for(int j=0;j<m;j++){sum_XS+=XS[j];sum_YS+=YS[j];sum_ds+=ds[j];}Xs[N+1]=sum_XS/sum_ds;Ys[N+1]=sum_YS/sum_ds;N++;cout<<"Xs"<<N<<"="<<Xs[N]<<"\t"<<"Ys"<<N<<"="<<Ys[N]<<endl;}
}
//阈值迭代
void threshold_iteration(){int N=0;double x_delta=Xs[0],y_delta=Ys[0];while(x_delta>0.005||y_delta>0.005){for(int i=0;i<m;i++){ds[i]=sqrt(pow(X_coordinate[i]-Xs[N],2)+pow(Y_coordinate[i]-Ys[N],2));W[i]=w[i]/ds[i];XS[i]=W[i]*X_coordinate[i];YS[i]=W[i]*Y_coordinate[i];}float sum_XS=0,sum_YS=0,sum_ds=0;for(int j=0;j<m;j++){sum_XS+=XS[j];sum_YS+=YS[j];sum_ds+=ds[j];}Xs[N+1]=sum_XS/sum_ds;Ys[N+1]=sum_YS/sum_ds;x_delta=abs(Xs[N+1]-Xs[N]);y_delta=abs(Ys[N+1]-Ys[N]);N++;cout<<"Xs"<<N<<"="<<Xs[N]<<"\t"<<"Ys"<<N<<"="<<Ys[N]<<endl;}
}

计算结果:
次数(20次)迭代结果:
Xs20=3.42736 Ys20=3.13847
得到报刊亭的建设位置。

单设施布置方法-精确重心法相关推荐

  1. 用计算机求解重心法,excel求解精确重心法

    精确重心法 问题描述 假设有一系列点代表生产地和需求地,各自有一定量货物需要以一定的运输费率运向待定的仓库,或从仓库运出,现在要确定仓库应该位于何处才能使总运输成本最小?这是一类单设施选址问题,精确重 ...

  2. 计算机房间墙壁的布置,11种简单且有特色的墙面布置方法

    你有试着自己装点过自己房间的墙面吗?最简单也最快速的装饰方法就是用相片以及海报,但是时间久了就会发现似乎也歇缺乏新意,以下介绍了11种简单且有特色的墙面布置方法,运用的素材从杂志内页到相框.甚至地图都 ...

  3. php 表单处理,用PHP提交from表单的处理方法

    用PHP提交from表单的处理方法 PHP独特的语法混合了C.Java.Perl以及PHP自创的语法.它可以比CGI或者Perl更快速地执行动态网页.下面是小编为大家搜索整理的PHP提交from表单的 ...

  4. jquery submit()不能提交表单的解决方法

    jquery submit()不能提交表单的解决方法 参考文章: (1)jquery submit()不能提交表单的解决方法 (2)https://www.cnblogs.com/war-hzl/p/ ...

  5. 项目开发中常用JS表单取值方法

    项目开发中常用JS表单取值方法 一.常用表单基本取值方法(form1为表单名称,TextBox1为控件ID,以文本框为例,html控件与web服务器控件是一样的)         1.form1.Te ...

  6. Learning to rank的讲解,单文档方法(Pointwise),文档对方法(Pairwise),文档列表方法(Listwise)

    学习排序(Learning to Rank) LTR(Learning torank)学习排序是一种监督学习(SupervisedLearning)的排序方法.LTR已经被广泛应用到文本挖掘的很多领域 ...

  7. JavaScript表单序列化的方法详解

    本文介绍下,在javascript中实现表单序列化的方法,通过实例加深理解,有需要的朋友参考下吧. 在JavaScript中,可以利用表单字段的type属性,连同name和value属性一起实现对表单 ...

  8. 表单提交Post方法、Get方法

    表单用来接受用户的输入,并将用户的输入以"name=value值对"集合的形式提交到服务器进行处理.那么表单是怎样将数据提交到服务器的?服务器是怎样对表单数据进行处理的?下面我将为 ...

  9. php提交表单并发送邮件,php提交表单发送邮件的方法

    php提交表单发送邮件的方法 发布于 2015-03-22 09:54:24 | 132 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Prep ...

  10. java 单例加锁方法的讨论

    //2014.8.26  review 一个经典 DCL 问题 public class Singleton { private static Singleton instance=null; pub ...

最新文章

  1. 使用哈工大LTP进行文本命名实体识别并保存到txt
  2. 郭振宇计算机领域,数学实验教学中心简介
  3. eclipse默认的花括号对齐方式的修改
  4. Linux+Apache2.4+PHP5.6+MySQL5.6源码安装步骤
  5. 数组:完成等差等比数列,及其他数列
  6. Python基础—08-函数使用(02)
  7. 【JS 逆向百例】网洛者反爬练习平台第六题:JS 加密,环境模拟检测
  8. android 相机权限_暴力破姐权限,吹爆这款软件...
  9. DS1302 原理及操作方法
  10. windows 使用自带的cmd终端进行文件MD5校验
  11. 韩信点兵python算法_韩信点兵算法流程图
  12. light动名词_动名词与高考考点解析
  13. oracle入门操作3(关于查询 )
  14. SAP发票校验中支付条件中的基准日期缺省值的配置及控制逻辑测试
  15. 力扣:17. 电话号码的字母组合
  16. C# VS2010 无法切换输入法。
  17. CSS3字体样式及高级特效
  18. MP4视频文件过大如何压缩?压缩视频的方法是什么?
  19. faststone capture使用长截图(滚动截图)功能教程
  20. 《如何阅读一本书》做一名“棒球赛中的捕手”

热门文章

  1. EPLAN电气设计入门学习笔记
  2. itchat 运行记录
  3. 建筑工程PPP项目财务风险控制探析
  4. vm虚拟化服务器杀毒,VMware服务器虚拟化平台应急方案
  5. 微信小程序授权登录源码
  6. CAS算法中的ABA问题的解决
  7. python爬虫使用seleium+超级鹰+Image模块自动登录12306(附源码和登录视频)
  8. 为什么低通滤波器的作用相当于积分器
  9. 两个EXCEL对比是完全否相同
  10. mysql常用增删改查sql语句