C题:无线可充电传感器网络充电路线规划

摘要

物联网的快速发展带动了无线传感器网络WSN在生活中的广泛运用。无线传感器网络中包括若干传感器以及一个数据中心,这些传感器的电池均需要移动充电器提供能量来维持正常的工作。移动充电器的能量一方面用于传感器的充电,另一方面用于充电路上的消耗。为减少移动充电器路上消耗,提高能量利用率,需要合理规划移动充电器充电路线。

针对问题一,要使得能耗最小化,就要保证移动充电器行走的路程最小,所以路线图可看成网络图,利用地球半径和各传感器的经纬度计算可以得出各个点之间的距离,问题转化为在给定的加权网络图中寻找从数据中心开始将网络图中所有顶点仅遍历一遍再回到数据中心使得路程最短的问题,即TSP问题,运用python的OR-TOOLS的RoutingModel,结合启发式算法,可得到最优路线方案。

针对问题二,系统正常运行需要保证移动充电器跑完一圈的过程后各传感器一直不低于最低电池容量,可以将此作为约束条件,若要求得每一个满足题设条件传感器的电池容量最小值,可以等价为求传感器总电池容量的最小值,这样就将多目标问题转化为了单目标问题,经简化计算进一步转化为线性规划问题,合理设置充电速率r,移动速度v,电池容量最低值f,通过求解我们得到各传感器的最小电池容量;在此基础上我们考虑到巡视间隔为1天,保证相邻两次巡视之间传感器的电池电量仍然满足要求,得到电池容量。

针对问题三,规划同时派出4个移动充电器进行充电的路线可以联系多售货员的旅行商问题,即VRP问题,当VRP问题有到达时间的约束条件时,问题变为VRPTW问题(VRP with Time Windows),基于第一问的我们得到最优的路线方案,结合第二问进一步得到各电池最低容量。

关键词: OR-TOOLS  TSP问题 启发式算法 VRPTW问题

1.问题重述

随着物联网的快速发展,无线传感器网络WSN在生活中的应用也越来越广泛。无线传感器网络中包括若干传感器以及一个数据中心。传感器从环境中收集信息后每隔一段时间将收集到的信息发送到数据中心。数据中心对数据进行分析并回传控制信息。影响生命周期最重要的一个因素是能量。提供能量的方式之一是电池供电,利用移动充电器定期为传感器的电池补充能量,这种方式供电的网络也被称为无线可充电传感器网络。

在系统中,传感器从环境中收集信息并将收集到的信息传递给数据中心。当一个传感器的电量低于一个阈值时便无法进行正常的信息采集工作,为了让WRSN正常运转,移动充电器需要定期为传感器进行充电以避免其电量低于阈值。为了减小移动充电器在路上的能量消耗,需要合理地规划移动充电器的充电路线。请考虑以下问题:

问题一:根据每个节点的经纬度,考虑当只派出一个移动充电器时,如何规划移动充电路线才能最小化移动充电器在路上的能量消耗。

问题二:知道每个节点的经纬度、能量消耗速率,假设传感器的电量只有在高于时才能正常工作,移动充电器的移动速度为v(m/s)、移动充电器的充电速率为,在只派出一个移动充电器的情况下,若采用问题一规划出来的充电路线,每个传感器的电池的容量应至少是多大才能保证整个系统一直正常运行?

问题三:知道每个节点的经纬度、能量消耗速率,假设传感器的电量只有在高于时才能正常工作,移动充电器的移动速度为v(m/s)、移动充电器的充电速率为,但为了提高充电效率,同时派出4个移动充电器进行充电,在这种情况下应该如何规划移动充电器的充电路线以最小化所有移动充电器在路上的总的能量消耗?每个传感器的电池的容量应至少是多大才能保证整个系统一直正常运行?

2.问题分析与思考

2.1问题一分析 :

问题一属于典型的旅行商问题,该问题是在寻求一个充电器由起点出发,通过所有给定的传感器位置点之后,最后再回到原点的最小路径。问题的求解有多种方式,我们在这里采用python的OR-TOOLS的RoutingModel来求解此问题。附件一给出了29个传感器以及数据中心的经纬度,先将经纬度转换为弧度,再利用地球半径计算可以得出各个点之间的距离,从而可以求得这些点的距离矩阵,运用启发式算法,根据以上两种不同的求解方式会得出不同的最短路径(即最优路径),再对结果进行分析比较,得到最佳路线规划方案。

2.2 问题二分析:

若将每一个传感器的电池容量都视作一个目标,则此问题属于多目标优化问题,在此题中,若要求得每一个满足题设条件传感器的电池容量最小值,可以等价为求传感器总电池容量的最小值,这样就将多目标问题转化为了单目标问题,根据题意,我们可以合理假设移动充电器的巡逻速率和频率,从而得到约束条件:在移动充电器巡逻一个周期(即绕所有点走一圈)内,每个传感器的电池容量最低不能低于,利用这一条件,我们可以建立不等式约束,从而进一步将问题转化为线性规划问题,利用线性规划的求解方式解得每一传感器满足题设条件的电池容量最小值。

2.3 问题三分析:

由于有多辆车进行运送,要是以最小化路径为目标函数,可能会造成某辆车的运送时间过长而导致总时间并不是最短的。所以目标函数应为:若设车队的运送时间为$T = {t_1,t_2,t_3,t_4}$,车队的运输路径长度$L = {l_1, l_2, l_3, l_4}$。则最小化$T$中最大的值,也可以解释为最小化$T$中的最大值。综上所述,该问为有时间窗车辆路径问题(vehicle routing problems with time windows),题目要求同时派出4个移动充电器进行充电,在这种情况下规划移动充电器的充电路线,使得移动充电器在路上总的能量消耗最小。因此首先考虑运用python的OR-TOOLS,然后进一步分组利用启发式算法求得最短巡视路径,在第二问的解法基础上计算传感器满足题设条件的电池容量最小值。

3. 模型假设

3.1假设移动充电器匀速行进;

3.2假设题目所给数据真实可靠;

3.4假设地球是一个标准的球体,半径是6371km;

3.5假设移动充电器在传感器处的时间消耗仅用于充电;

3.6假设移动充电器的电池电量足够大,且不需要在数据中心进行充电。

4.符号说明

xi

电池容量 mA

ttot

到达该节点时,剩余电池容量刚好为最低要求时间 t

ri

移动充电器充电速率 mA/s

f

电容器最低工作值 mA

v

充电器移动速率 m/s

St

移动充电器到传感器的距离 m

5.模型建立

6.模型评价

附录

2020年深圳杯C题,参考了许多网络上的解法以及github上的代码,自己做的练习题,完整的论文,附有代码(用python语言编写),后续内容可以在我上传的资源里下载(主要是想赚点积分,嘻嘻),仅供大家学习参考。

2020年深圳杯C题相关推荐

  1. c语言开发深圳,2020年深圳杯C题

    C题:无线可充电传感器网络充电路线规划 摘要 物联网的快速发展带动了无线传感器网络WSN在生活中的广泛运用.无线传感器网络中包括若干传感器以及一个数据中心,这些传感器的电池均需要移动充电器提供能量来维 ...

  2. 2020年深圳杯b题、c题 论文及代码

    参考了许多网络上的解法,自己做的练习题,完整的论文,附录有完整的python代码,仅大家供学习参考. 文章目录 B C C2 结语 B 摘要 随着信息化时代的到来,无线通信成为当今通信领域最为活跃和发 ...

  3. 2020深圳杯B题论文

    2020深圳杯B题论文 问题1: 在给定的信噪比(SNR)信道中,为了达到更高的频谱效率,很多新型的星座图技术,例如几何成型(GeometricShaping,GS)和概率成型(Probalisiti ...

  4. 2020年“深圳杯”数学建模挑战赛D题-公交车在高峰和平峰转换期间的调度 题解

    部分结果展示 2020年"深圳杯"数学建模挑战赛D题-公交车在高峰和平峰转换期间的调度 题解思路 原题地址 一.背景 公交车是为市民出行提供服务的"准公共"产品 ...

  5. # 深圳杯D题爬取电视收视率排行榜

    目录 深圳杯D题爬取电视收视率排行榜 站点分析 代码实现 深圳杯D题爬取电视收视率排行榜 站点分析 http://www.tvtv.hk/archives/category/tv 每天的排行版通过静态 ...

  6. 2021年深圳杯A题火星探测器着陆控制方案

    2021年深圳杯A题火星探测器着陆控制方案 本题聚焦于探测器从火星同步轨道出发到探测器在火星地表上方悬停的过程(以下简称着陆过程),要求参赛队收集有关天问一号探测器的音像和文字等公开资料,建立数学模型 ...

  7. 2022年深圳杯A题破除“尖叫效应”与“回声室效应”走出“信息茧房”

    2022年深圳杯A题破除"尖叫效应"与"回声室效应"走出"信息茧房"   为了防止更多的人走弯路,对于此题,数据随便找,数据自己造然后文档写 ...

  8. 脱贫帮扶绩效评价-2020年华数杯C题(含python代码)

    支持博主有三宝,点赞.留言.关注公众号 关注公众号免费获全部代码,后台回复:2020华数杯C 个人公众号 题目来源:2020年_华数杯_C题 1. 问题1的求解 1.1 模型建立 判断2015年与 2 ...

  9. 2022深圳杯C题自动驾驶电动物料车换电站选址及调度方案

    2022深圳杯C自动驾驶电动物料车换电站选址及调度方案   为了实现我国在 2030 年前"碳达峰".在 2060 年前"碳中和"的目标,在物料运输中使用环保的 ...

最新文章

  1. python pyqt5安装_Python3 安装PyQt5及exe打包图文教程
  2. 特斯拉:在行驶20万英里后 其电动汽车电池仍有90%容量
  3. oracle输出对齐方式,sql*plus 中输出格式控制技巧
  4. 敏捷开发系列学习总结(11)——Scrum敏捷开发流程的三个角色、四个会议和三个物件
  5. Python 综合应用 —— 名片管理系统
  6. java web jsp/servlet 考勤管理系统
  7. 使用Java编写一个简单的Web的监控系统cpu利用率,cpu温度,总内存大小
  8. ECharts x坐标轴(xAxis)使用详解
  9. C语言学习(一)_ 21-10-4
  10. Git 远程篇之查看远程仓库信息
  11. 怎么理解产品经理职位?
  12. 如何使用java解析json文件并将其写入数据库
  13. 线性系统大作业——2.二阶倒立摆建模与控制系统设计(上)
  14. ##模拟图灵机 XN*2的运算
  15. Catalina 10.15.7屏蔽更新提示
  16. ensp华为交换机基础命令
  17. 使用R语言进行Metroplis-in-Gibbs采样和MCMC运行分析
  18. 网络安全学习查询黑客
  19. MSN几个面试问题总结
  20. 实测江民KV2009主动防御及自我保护

热门文章

  1. RNN编码器-解码器
  2. 什么叫 Rss 订阅
  3. n个数输出最大值和最小值
  4. Kelvin connection of PCB traces for current sensing--Cypress
  5. 计算机在现代工作中的应用,浅论计算机在现代管理中应用
  6. MT6737 平台TP driver分析(二)
  7. 记录一次Git解决CONFLICT冲突
  8. 搭建Vue3脚手架和使用
  9. MT6737 Android N 平台 Audio系统学习----录音到播放录音流程分析
  10. Sphinx武林秘籍(下)