本网站服务器四川省住房与建设厅网站首页
- 作者: 五速梦信息网
- 时间: 2026年03月21日 10:07
当前位置: 首页 > news >正文
本网站服务器,四川省住房与建设厅网站首页,西青天津网站建设,学校网站首页2020年国赛高教杯数学建模 E题 校园供水系统智能管理 原题再现 校园供水系统是校园公用设施的重要组成部分#xff0c;学校为了保障校园供水系统的正常运行需要投入大量的人力、物力和财力。随着科学技术的发展#xff0c;校园内已经普遍使用了智能水表#xff0c;从而可以…2020年国赛高教杯数学建模 E题 校园供水系统智能管理 原题再现 校园供水系统是校园公用设施的重要组成部分学校为了保障校园供水系统的正常运行需要投入大量的人力、物力和财力。随着科学技术的发展校园内已经普遍使用了智能水表从而可以获得大量的实时供水系统运行数据。后勤部门希望基于这些数据通过数学建模和数据挖掘及时发现和解决供水系统中存在的问题提高校园服务和管理水平。 附件是某校区水表层级关系以及所有水表四个季度的读数(以一定时间为间隔如15分钟)与相应的用水数据。请利用这些信息和数据建立数学模型讨论以下问题 1. 统计、分析各个水表数据的变化规律并给出校园内不同功能区宿舍、教学楼、办公楼、食堂等的用水特征。 2. 结合校区水表层级关系建立水表数据之间的关系模型并利用已有数据分析模型误差。 3. 输水管网的漏损是一个严重问题。资料显示在维护良好的公共供水网络中平均失水在5%左右而在比较老旧的管网中失水则会更多。请利用附件提供的数据建立数学模型分析该校园供水管网的漏损情况。 4. 地下水管暗漏不容易被发现需要花费大量人力对供水管道的漏损进行检测及定位如果能够从水表的实时数据及时发现并确定发生漏损的位置将极为有益。请帮助学校解决这个问题。 5. 管网维修需要一定的人工费和材料费但同时可以降低管网漏损程度。请根据以上结果和你了解的水价及维修成本确定管网漏损的最优维修决策方案。 整体求解过程概述(摘要) 智能水表的使用伴随着人工智能与科技的发展变得越来越广泛它的使用极大的方便了管理人员对用水情况的管理它产生的数据也可以帮助其进行合理的数据估计从而合理规划维修本文基于某校园智能水表产生的数据进行了挖掘和分析具体如下 对问题一首先借助Python中的pandas库对大规模、多种数据类型共存数据处理的优势进行数据的操作和处理描述分析了宿舍、教学楼、办公楼、食堂的用水特征: 对问题二在问题一的基础上首先利用水表层级关系附件建立各级表的数据关系拓扑图结合实际情况分析得出一级水表中 401X、403X、405X 处的数据与二级水表相比误差率分别为 11%、11%、4%: 其他一级水表按照优质水表0.5%-3%:二级以上水表按照普通水表-5%-3%来标记误差; 对于问题三首先利用时间点左右各5个点对其本身进行样条插值平滑预测利用预测值与原始值的差值估计漏损量总漏损量为 32215总漏损率为9.8%该校园漏损率低于全国的平均漏损率此外还分析评估了各水表漏损情况; 对于问题四根据上一问的估计结果以 9.8%为闽值漏损率超出闽值则标记一次漏损事故结合各水表处的漏水量情况按照漏损次数对水表进行漏损等级评定得到40118T/40121T/40331T 等水表点的漏水可能性较高: 对于问题五通过查看相关文献资料获得平均水价范围5.5元/吨-6.5元/吨单次维修费用500元/次-1500元/次建立了每天是否维修的0-1规划模型并取平均水价6元/吨以及单次维修成本均价1000元/次分析维修次数、损失金额与水价和维修成本的关系最终的漏水维修33 次总损失金额为 174630 元。 本文由数据驱动建立模型挖掘校园用水的特性对于供热网、高速路网等问题都具有良好的推广应用价值。 模型假设 1.假设一级水表采用测量精度较高的电磁水表: 2.假设二级至四级采用均已广泛使用机械速度式水表并有 2%-5%的相对误差 3.无人蓄意破坏供水管道: 4.各水表工作在理想状态下不受强磁等外界因素干扰; 5.水质良好无明显杂质不对机械速度式水表产生过大影响: 问题分析 问题一分析 问题需要根据已有季度用水表(附件)、水表层次(附件)的数据分析宿舍、教学楼、办公楼、食堂的用水情况特性。为此需要有以下几个分析步骤。 1. 对数据进行描述性统计获得缺失值、异常值以及校园用水的总体特征。 2. 需要对数据进行缺失值、异常值的处理并对水表进行功能区划分建立用水情况的水表层级关系表。 3. 对宿舍功能区、教学楼功能区、办公楼功能区、食堂功能区进行用水分析。 问题二分析 问题需要根据附件中提供的水表层级关系建立不同层级间水表的关系模型利用已知数据分析模型误差。 水表的合理使用: 由资料可知电磁水表的误差率较小而机械速度式水表可检测的最小水流量与管道直径成正比,在直径较大的骨干管道中,采用机械速度式水表难以检测弱水流误差较大因此: 1一级水表采用精度更高的电磁水表; 2二级至四级均采用已广泛使用的机械速度式水表 我们采用拓扑图将水表间的层级关系可视化; 计算上级水表表显读数和下属水表表显读数之和的差值将误差分为三类;一级水表误差按电磁水表统计 二级至四级水表按照机械速度式水表统计二级水表按照实际误差来计算利用其表显数据与一级表数据做差得出误差; 问题三分析 问题需要根据各级水表的显示数据分析出校园水网的具体漏损情况文献2采用时间序列神经网络 (NAR神经网络) 的预测方法基于当前各水表读数时间序列对每个读数进行预测表显读数与预测值波动超过一定闯值的则视为该时刻发生漏水为解决本问题提供了思路但是根据附件的数据各水表的年用水情况各不相同如若进行时间序列分析需分水表、分时间段进行稳定性、白噪声以及参数预置的讨论所有情况过于繁琐复杂本问题并不合适。 有鉴于此我们参考其预测方法对时间序列 t 时刻的值进行样条插值平滑预测,从而进行漏损估计具体的步骤如下: 1.首先对数据进行预处理工作。对一级水表按照超过一定误差的阙值的异常数据进行置均值的平滑处理: 2.其次对一级水表的时间序列数据进行样条插值平滑预测: 3.利用表显数据与预测值之差进行漏损量的估计. 问题四分析 问题需要从水表的实时数据中发现供水管网的漏损位置: 我们基于问题三的样条插值平滑预测模型: 1.对二级水表及下属水表进行漏损偏差统计: 2.计算漏损率 漏损率(原始值-预测值)/预测值 3.对漏损率超过总体漏损率的时间点和地点判定其发生漏损现象根据偏差统计划分风险等级给出供水管网中可能出现漏损的位置及概率。 问题五分析 问题五需要根据查询资料结合前面所得到的漏水数据做出最佳维修策略为此应首先查阅国家相关水务数据 3,劳务数据以及材料费用数据 4从而确定水价范围和单次维修价格的范围。以总损失金额最小作为规则目标函数以每天是否维修作为决策变量建立 0-1 规划模型从而得到维修决策。 模型的建立与求解整体论文缩略图 全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可 程序代码 import pandas as pd shuju1pd.read_excel(一季度.xlsx) shuju2pd.read_excel(二季度.xlsx) shuju3pd.read_excel(三季度.xlsx) shuju4pd.read_excel(四季度.xlsx) print(shuju1)#查看一季度的统计描述 #可以得到一季度的最大值、最小值、平均值等信息 print(shuju1.describe())#为了快速浏览数据集我们使用dataframe.info()功能 print(shuju1.info())#查看缺失值 print(shuju1.isnull().sum())2 读取水表层 shui_biao pd.read_excel(水表层级.xlsx) print(shui_biao)#查看水表有哪些不同类型 print(shui_biao[水表名].unique())#查看四个季度水表名数量 print(len(shuju1[水表名].unique())) print(len(shuju2[水表名].unique())) print(len(shuju3[水表名].unique())) print(len(shuju4[水表名].unique()))#给数据表添加上具体季度更方便观察 import numpy as np
合并数据
shuju1[季度] pd.Series([一季度 for i in range(len(shuju1.index))]) shuju2[季度] pd.Series([二季度 for i in range(len(shuju2.index))]) shuju3[季度] pd.Series([三季度 for i in range(len(shuju3.index))]) shuju4[季度] pd.Series([四季度 for i in range(len(shuju4.index))]) print(shuju1)#添加合并 shuju shuju1.append([shuju2,shuju3,shuju4],ignore_indexTrue) # 添加合并 print(shuju)#再查看表数量 print(len(shuju[水表名].unique())) print(len(shui_biao[水表名].unique()))3 按照水表名分类统计总用量 use_water shuju.groupby(by水表名)[用量].sum() # 按照水表名分类统计总用量 print(use_water)#从高到低排序下 use_water.sort_values(ascendingFalse)import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl mpl.rcParams[font.sans-serif] [SimHei] # 指定默认字体 #mpl.rcParams[font.sans-serif] [Times New Roman] #Times New Roman字体 mpl.rcParams[axes.unicode_minus] False # 解决保存图像是负号-显示为方块的问题 import matplotlib; matplotlib.use(TkAgg) #根据使用绘制直方图 use_water.plot.hist(histtypebar, rwidth0.5) plt.savefig(可视化/0.1.png, dpi300, bbox_inchestight) plt.show()4 对这些功能区的类型进行分析# 全部水表list_table_name list(shuju[水表名].unique()) #合并后的数据4.1 功能区分类#4.1.1 找到所有宿舍的水表 list_home [] #宿舍 list_teaching_build [] #教学楼 list_teacher_build [] #活动地方 for name in list_table_name.copy():if name.find(学生宿舍) ! -1 or name.find(留学生楼) ! -1:list_home.append(name)list_table_name.remove(name) print(list_home)#4.1.2 同理找到教学楼 for name in list_table_name.copy():if name.find(XX) ! -1 and name.find(楼) ! -1:print(name)list_teaching_build.append(name)list_table_name.remove(name) print(list_teaching_build)#4.1.3 农业区 list_agritural [] for name in list_table_name.copy():if name.find(养殖) ! -1 or name.find(养鱼) ! -1 or name.find(大棚)!-1 or name.find(花)!-1:list_agritural.append(name)list_table_name.remove(name) print(list_agritural)#4.1.4 后勤 for name in list_table_name.copy():if name.find(楼)! -1:list_teaching_build.append(name)list_table_name.remove(name) print(list_table_name)#类型添加上去·list_backup list_table_name name_list shuju[水表名].tolist() #.tolist将数组转化为列表 type_list [] for name in name_list:if name in list_backup:type_list.append(后勤)elif name in list_agritural:type_list.append(农业)elif name in list_home:type_list.append(宿舍)elif name in list_teaching_build:type_list.append(活动地方)else:type_list.append(教学楼)shuju[类型] pd.Series(type_list) print(shuju)4.2 不同类型的用量 type_sum shuju.groupby(by类型)[用量].sum() print(type_sum)#对不同类型可视化type_sum.plot.barh(alpha0.7) df_group_two shuju.groupby(by[类型]) i 0 colors[r,g,b,m,c] plt.figure(figsize(35, 35), dpi100) for types ,group in df_group_two:i 1plt.subplot(3,2,i)group.groupby(by水表名).sum()[用量].plot.barh(titletypes,colorcolors[i-1],alpha.5) plt.savefig(可视化/1不同类型可视化.png, dpi300, bbox_inchestight) plt.show()#分析完把合并后的数据保存起来 shuju.to_csv(data1.txt,indexFalse) #data1.csv容易数据缺失所以考虑txt #shuju.to_xlsx(total.xlsx,indexFalse)#按照时间聚合 shuju[timeStamp] pd.to_datetime(shuju[采集时间]) shuju.set_index(timeStamp, inplaceTrue) data_quarter shuju.resample(Q) # 时间聚合采样。.resample重新采样是对原样本重新处理的一个方法是一个对常规时间序列数据重新采样和频率转换的便捷的方法。4.3 接下来分析每个季度、月份、天数、24小时变化#4.3.1 季度变化规律 data_quarter.sum()[用量].plot.line(stylem-.,alpha0.5,title用水量随着季度变化趋势) #Q季度 plt.savefig(可视化/0.2用水量随着季度变化趋势.png, dpi300, bbox_inchestight) plt.show()#4.3.2 月份变化规律 data_month shuju.resample(M).sum()[用量].plot.line(stylec*-.,alpha0.5,title用水量随着月份变化趋势) #M月份 plt.savefig(可视化/0.3用水量随着月份变化趋势.png, dpi300, bbox_inchestight) plt.show()添加具体时间 shuju[hour] pd.to_datetime(shuju[采集时间]).dt.hour shuju[day] pd.to_datetime(shuju[采集时间]).dt.day print(shuju)#4.3.3 用水量一天随着小时变化规律 shuju.groupby(byhour).sum()[用量].plot.line(stylegh-.,alpha0.5,title用水量随着时间变化趋势) plt.grid() plt.savefig(可视化/0.4用水量一天随着小时变化规律.png, dpi300, bbox_inchestight) plt.show()#4.3.4 一个月内用水量随着天数变化 shuju.groupby(byday).sum()[用量].plot.line(stylerd-.,alpha0.5,title用水量随着天变化趋势) plt.grid() plt.savefig(可视化/0.5一个月内用水量随着天数变化.png, dpi300, bbox_inchestight) plt.show()4.4 不同区域的特征
不同区域用水特征#4.4.1 不同区域随着季度用水变化
i 0 styles[-.,-.,1-.,2-.,3-.] plt.figure(figsize(20, 20), dpi100) for index,group in shuju.groupby(by类型):i 1plt.subplot(3,2,i)group.resample(Q).sum()[用量].plot.line(stylestyles[i-1],colorcolors[i-1],alpha0.5,title{}用水量随着季度变化趋势.format(index)) #四个季度 plt.savefig(可视化/2 不同区域随着季度用水变化.png, dpi300, bbox_inchestight) plt.show()#4.4.2 不同区域随着月份用水变化 i 0 plt.figure(figsize(20, 20), dpi100) for index,group in shuju.groupby(by类型):i 1plt.subplot(3,2,i)group.resample(M).sum()[用量].plot.line(stylestyles[i-1],colorcolors[i-1],alpha0.5,title{}用水量随着月份变化趋势.format(index)) plt.savefig(可视化/3不同区域随月份变化.png, dpi300, bbox_inchestight) plt.show()#4.4.3 不同区域随着每月的天数用水变化 i 0 plt.figure(figsize(20, 20), dpi100) for index,group in shuju.groupby(by类型):i 1plt.subplot(3,2,i)group.groupby(byday).sum()[用量].plot.line(stylestyles[i-1],colorcolors[i-1],alpha0.5,title{}用水量随着天数变化趋势.format(index))plt.grid() plt.savefig(可视化/4不同区域随着每月的天数用水变化.png, dpi300, bbox_inchestight) plt.show()#4.4.4 不同区域随着每天的时辰用水变化 i 0plt.figure(figsize(20, 20), dpi100) for index,group in shuju.groupby(by类型):i 1plt.subplot(3,2,i)group.groupby(byhour).sum()[用量].plot.line(styler-.,alpha0.5,title{}用水量随着时辰变化趋势.format(index))plt.grid() plt.savefig(5.png, dpi300, bbox_inchestight) plt.show() #分析完毕~把数据保存起来 shuju.to_csv(data2.txt,indexFalse) #data2.csv容易装不下数据照成数据缺失 #shuju.to_xlsx(all.xlsx,indexFalse)全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
- 上一篇: 本土建站工作室闻喜网站建设
- 下一篇: 本溪化工建设质量监督站网站wordpress怎么添加栏目
相关文章
-
本土建站工作室闻喜网站建设
本土建站工作室闻喜网站建设
- 技术栈
- 2026年03月21日
-
本科 网站建设的基础教程郑州网站维护
本科 网站建设的基础教程郑州网站维护
- 技术栈
- 2026年03月21日
-
本机网站环境搭建吾道ppt模板免费下载
本机网站环境搭建吾道ppt模板免费下载
- 技术栈
- 2026年03月21日
-
本溪化工建设质量监督站网站wordpress怎么添加栏目
本溪化工建设质量监督站网站wordpress怎么添加栏目
- 技术栈
- 2026年03月21日
-
本溪网站建设网站自适应布局
本溪网站建设网站自适应布局
- 技术栈
- 2026年03月21日
-
本溪网站制作北京外贸推广
本溪网站制作北京外贸推广
- 技术栈
- 2026年03月21日






