选址(重心法、微分法)

设某区域有交通发生点2个,分别为P1、P2,吸引点3个, 分别为M1、M2、M3。各点的货物流量和运输费率以及坐标见下表,现需要在该区域设置一个枢纽

发生地 货物流量t 运费 区域坐标 吸引地 货物流量t 运费 区域坐标
P1 8000 1 (6,7) M1 5000 1 (1,6)
P2 7000 1 (4,2) M2 4000 1 (9,3)
M3 6000 1 (3,10)

1 引入所需要的库

import numpy as np
import pandas as pd
import math as m
import matplotlib.pyplot as plt

2 调入数据

data = pd.read_excel(r"G:\Data.xlsx")
data


3 源码

WC = np.array(data['W']) * np.array(data['C'])
WCX = (np.array(data['X_c']) * WC).sum()
WCY = (np.array(data['Y_c']) * WC).sum()
x0 = WCX / WC.sum()
y0 = WCY / WC.sum()
d_j = ((np.array(data['X_c']) - x0)**2 + (np.array(data['Y_c'])-y0)**2)**0.5
T = (WC * d_j).sum()
print('重心法初始选点大致位置:({},{})'.format(x0,y0))
print('总费用T0:{}'.format(T))
# print(d_j)
plt.rcParams['font.sans-serif'] = [u'SimHei']
for i in range(10):WC_j = WC/d_jWCX_j = ((np.array(data['X_c']) * WC)/d_j).sum()WCY_j = ((np.array(data['Y_c']) * WC)/d_j).sum()x = WCX_j / WC_j.sum()y = WCY_j / WC_j.sum()d_j = ((np.array(data['X_c']) - x)**2 + (np.array(data['Y_c'])-y)**2)**0.5T = (WC * d_j).sum()print('经{}次迭代后选址点位置:({},{})'.format(i+1,x,y))print('总费用T{}:{}'.format(i+1,T))plt.figure(figsize=(7,7))plt.scatter(np.array(data['X_c']),np.array(data['Y_c']),[300,300,300,300,300,300],c = 'green',marker = '*',alpha = 0.7,label='配送点')plt.scatter(x,y,[300,300,300,300,300,300],c = 'red',marker = 'p',alpha = 0.7,label='选址点')plt.xlabel('纬度',fontsize=11)plt.ylabel('经度',fontsize=11)plt.grid(True)
#     plt.text(1,3,'总费用{}'.format(T),fontsize=16)plt.title('重心法选址,第{}次结果示意图'.format(i+1),fontsize=14)plt.legend(loc='lower left')

4 结果









选址(重心法、微分法迭代)相关推荐

  1. 重心法选址 matlab程序,Excel重心法选址计算题的详细步骤

    重心法选址是个非常复杂的过程,而我们可以利用Excel进行计算简化过程.而本篇经验结合作者自制Excel计算模型使用,更为简单. 1.打开重心法操作模型文档 2.根据题目或者实际情况,在节点出编辑相关 ...

  2. 粒子群算法应用于重心法选址问题-基于MATLAB实现

    本文是个人学习过程中记录一下笔记,借鉴了各位大佬的内容,仅供学习使用,如果侵一定删! 目录 1.根据求平面中物体重心的方法求配送中心坐标点(模拟重心法) 2.精确重心法(基于MATLAB实现迭代过程) ...

  3. 单仓库设施选址决策方法(重心法,C语言代码)

    下面是大二的时候仓储老师布置的一个作业,是关于单仓库选址的问题,要我们用C语言写代码,编一个程序! 这只是一个作业!!! 单仓库设施选址决策方法        单设施选址模型有不同的名称,如:精确重心 ...

  4. 2019年全美数学建模竞赛(B题,重心法选址+类蚁群算法路径规划)

    整体论文研究了半天没法上传,就把中间的几部分的代码上传了. 1.无人机属性预处理 #include<bits/stdc++.h> using namespace std; #define ...

  5. 006.自营电商 配送网络规划 - 02 配送网点选址 中篇 重心法选址

    前情回顾 在上一篇幅 https://blog.csdn.net/weixin_44581541/article/details/86567997?from=singlemessage 我们介绍了 物 ...

  6. 数据分析盒马生鲜迭代选址策略!

    作者:极海 来源:极海 "国民后厨"盒马鲜生你真的逛明白了吗? 作为阿里新零售物种,盒马鲜生自三年前成立便注定光鲜无比,从某种意义上它改变了很大部分人对超市购物的认知--高效配送, ...

  7. 派件系统c语言实验报告,物流规划与优化选址实验报告.doc

    物流规划与优化选址实验报告 <物流规划与优化> 课程实验报告 一.实验任务与要求 重心法是根据待选物流配送中心的数量,将各起迄点预先分配给各个物流配送中心,从而形成个数等于物流配送中心数量 ...

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

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

  9. 选址问题java_学习使用分治算法来解决邮局选址问题(Java实现)

    邮局选址问题(分治算法) 前言 提示:在算法的学习过程中我们会遇到各种各样的算法思想,其中最常见的就有分治算法思想,而本文的问题邮局选址问题就是基于分治思想而去实现的一个日常问题 提示:以下是本文内容 ...

  10. Python小白的数学建模课-07.选址问题

    选址问题是要选择设施位置使目标达到最优,是数模竞赛中的常见题型. 小白不一定要掌握所有的选址问题,但要能判断是哪一类问题,用哪个模型. 进一步学习 PuLP工具包中处理复杂问题的字典格式快捷建模方法. ...

最新文章

  1. 实战 Deep Insert (SAP OData Service 实战系列)
  2. c语言:一个C文件可否调用另一个c文件中的函数
  3. 经典C语言程序100例之四零
  4. VMware Workstation中Linux虚拟机安装VMware-Tools
  5. big sur删除snapshot_法国Labarthe-Sur-Lèze公立中学 | LCR Architectes
  6. 【WPF】获取电磁笔的压感
  7. if和case用法比较
  8. java ee 值范围_【转载】JAVAEE之内置对象和属性范围
  9. 30岁程序员吐槽:一分钟只能赚3.3元,混得太差!算出月薪后我服了
  10. wordpress模板-RIPro-V2子主题V1.4-VAN主题
  11. html5导出错误,JavaScript:toDataUrl()抛出“安全错误:可能无法导出受污染的画布”. - 程序园...
  12. vue-i18n使用ES6语法以及空格换行问题
  13. cocos2d-x自制工具07:打印cocos2d-x的节点树
  14. 浅谈浏览器端JavaScript跨域解决方法
  15. Sobel边缘检测 - 梯度算子介绍
  16. 文件和数据格式化之数据的组织维度
  17. python tests in xxx问题
  18. 【定量分析、量化金融与统计学】统计推断基础 番外(3)---假设检验例题讲解
  19. matlab读取img格式文件
  20. 股票交易接口dll代码分享

热门文章

  1. 新手坐高铁怎么找车厢_新手坐高铁怎么找车厢
  2. 微信小程序富文本编辑器
  3. 《鸟哥 Linux 私房菜》560 页新书首发!完整中文版 PDF 下载
  4. fgo服务器中断020202,终章炸服事件 - Mooncell - 玩家自由构筑的FGO中文Wiki
  5. fgo最新服务器,FGO服务器故障追加说明 凌晨3点已开服
  6. 计算机原理---七层网络协议详解
  7. 《韩立刚计算机网络》第二章
  8. qqxml卡片 php代码,qqxml卡
  9. H5调用相机进行拍照及切换摄像头及踩坑记录
  10. 微商模式的出路在哪里?