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语言编写),后续内容可以在我上传的资源里下载,仅大家供学习参考。

c语言开发深圳,2020年深圳杯C题相关推荐

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

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

  2. 第十届蓝桥杯c语言试题,第十届蓝桥杯真题编程题1-7解析(高级组).pdf

    scratch 少儿编程第十届蓝桥杯真题 7 大家好 ~今天我们来讲解 scratch 蓝桥杯第十届编程大题的第七道题. 同样,这道题也是非常有难度的一道题.一起来看一下吧 解析: 女孩的程序 1.在 ...

  3. 蓝桥杯2020答案c语言b组,2020十月份蓝桥杯B组省赛题解大全(害!附题面文件和部分代码~)...

    A:门牌制作 签到题,答案是624 624624 B:既约分数 这个没什么好说的,两重循环枚举分子分母 计算g c d gcdgcd即可 答案:2481215 C:蛇形填数 代码就是硬模拟,一次往左下 ...

  4. 2020华数杯C题脱贫帮扶绩效评价你怕了吗?

    问题一:一般人的理解是,五年前的评分与 2020年对应的各项评分有着直接的关联,如五年前的居民收入不错,现在的居民收入也会是不错的.你认为本问题有这个规律吗?请分析各个评价指标的对应关系. 判断201 ...

  5. 2020泰迪杯C题解题流程

    注:本文为赛前所写,仅队内提供大致思路,和实际的解题流程有一定出入,仅供参考,有一些错误,笔者并没有更正(主要是没空),如想深入交流请私信. 1.对留言进行分类 1.1对数据进行分析. 观察数据集规模 ...

  6. 2020年深圳杯C题

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

  7. 2020深圳杯B题论文

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

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

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

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

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

最新文章

  1. 我用YOLOX露了一手,记录一下模型部署、优化及训练的实现全过程
  2. FasterRCNN代码解读
  3. 官宣了!Apache ECharts 毕业成为 Apache 软件基金会顶级项目!
  4. spring boot----简单入门
  5. 10 MM配置-主数据-定义物料类型
  6. 职场中几个最忌讳的行为模式。
  7. Confluence 6 安全相关问题提交链接
  8. mysql外键设置sql语句_数据库sql语句如何设置外键
  9. 基于STM32F429的DCMI实现OV7725-NF无缓存摄像头的图像采集HAL库
  10. 概率机器人书 电子版
  11. RuntimeWarning: divide by zero encountered in log错误解决
  12. 第三方推广——《互联网运营的知识体系与整体逻辑》笔记(十二)
  13. 未睹棺椁先哭君——谷歌墓志铭
  14. VLOOKUP函数使用方法大全总结
  15. vim复制、粘贴以及配置总结
  16. 【虚拟机】配置外网访问NAS黑群晖6.17
  17. 快速掌握数据分析思路
  18. Activiti6--入门学习--结束事件
  19. 计算机网络实验-验证性实验
  20. 基于国产FPGA的图像叠加处理卡

热门文章

  1. python单元测试uuitest模块
  2. 山东自然人电子税务局(扣缴端)_自然人电子税务局扣缴客户端升级要点, 不要错过!...
  3. oracle 创建 dplink,Oracle创建dblink
  4. Case study: IIoT effectiveness on the plant floor
  5. 根据NCBI中的蛋白名在uniprot中查找对应蛋白登录号及基因名
  6. OTA--卡刷全包、差分升级包制作、分析(代码摘自Google)---2
  7. 左手曾国藩,右手胡雪岩读书笔记
  8. 2021-08-16Zynq linux系统下的AXI DMA驱动与应用程序简单Demo实现
  9. python中浅紫色和浅绿色怎么表示
  10. renderdoc相关