python预测控制_【模型工具】耦合python和 SWMM的城市排水系统模型预测算法
原标题:【模型工具】耦合python和 SWMM的城市排水系统模型预测算法
原文信息
题目:Leveraging open source software and parallel computing for model predictive control of urban drainage systems using EPA-SWMM5
作者:Jeffrey M. Sadlera, Jonathan L. Goodalla,*, Madhur Behla,b, Mohamed M. Morsya,c, Teresa B. Culvera, Benjamin D. Bowesa
作者单位:Dept. of Engineering Systems and Environment, Univ. of Virginia
期刊:Environmental Modelling & Software
时间:2019.7
导读
本文以python,swmm为基础工具,利用遗传算法,实现了城市排水系统模型预测算法。
美国环境署EPA开发的SWMM模型具有开源性,这使其成为最为广泛使用的城市排水系统模型。但是SWMM是基于C语言开发的,二次开发困难较大。因此本文作者利用开源的PYSWMM程序包,利用python实现SWMM的二次开发,实现了SWMM的循环调用和逐时间步长结果快速读取。以上工具为构建城市排水系统模型预测算法奠定了坚实的基础。
在此基础之上,本研究构建了如图1所示的模型预测算法框架,主要包括三部分:①pyswmm模块,利用python实现模型初始状态的快速计算。②SWMM模块,将模型初始状态通过热启动文件导入SWMM模型。③遗传算法模块,根据模型计算结果和成本函数,计算最优控制策略。
本研究构建了如图2所示的虚拟案例区域排水系统,其控制设施包括2个调蓄池和2个闸门。优化目标为调蓄池利用率和内涝量。本研究比较了无控制、静态规则控制、模型预测控制等三类控制算法的控制效果,模拟结果如图3所示,可见模型预测控制的内涝控制效果最佳。
图1基于pyswmm的城市排水系统模型预测算法框架
图2虚拟案例区域示意图
图3不同控制算法的模拟结果
本文提供了一种在SWMM模型上实现模型预测控制的新思路,通过python二次开发工具包,结合遗传优化算法,实现了城市排水系统模型预测控制。但该优化方法由于需要实时演算大量情景,在系统较为复杂时就需要大规模的计算资源支持。因此,一类更适合城市排水系统实时控制的算法仍有待进一步开发。
UrbanWaterGroup返回搜狐,查看更多
责任编辑:
python预测控制_【模型工具】耦合python和 SWMM的城市排水系统模型预测算法相关推荐
- python模型预测控制_【模型工具】耦合python和 SWMM的城市排水系统模型预测算法...
美国环境署EPA开发的SWMM模型具有开源性,这使其成为最为广泛使用的城市排水系统模型.但是SWMM是基于C语言开发的,二次开发困难较大.因此本文作者利用开源的PYSWMM程序包,利用python实现 ...
- 【机器学习】隐马尔可夫模型及其三个基本问题(四)状态序列预测算法及python实现
[机器学习]隐马尔可夫模型及其三个基本问题(四)状态序列预测算法及python实现 一.维特比算法 二.python实现 参考资料 隐马尔可夫模型状态序列预测问题是指给定模型 λ=[A,B,∏]\la ...
- python预测控制_无人驾驶——4.控制之MPC模型预测控制
源自:<无人驾驶无人驾驶车辆模型预测控制>--龚建伟 参考:https://wenku.baidu.com/view/8e4633d519e8b8f67c1cb9fa.html 0.车辆模 ...
- 零基础学python 视频_全网最全Python视频教程真正零基础学习Python视频教程 490集...
Python Web开发-进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程 [课程简介] 这是一门Python Web开发进阶课程,手把手教你用Python开发完整的商业 ...
- python图像分类_用于实现用python和django编写的图像分类的Keras UI
KerasUI是一种可视化工具,可以在图像分类中轻松训练模型,并允许将模型作为服务使用,只需调用API. https://github.com/zeppaman/KerasUI 主要特点: 用oaut ...
- 简单20行python代码_用 20 行 python 代码实现人脸识别!Python实现就是这么简单!...
今天给大家介绍一个世界上最简洁的人脸识别库 face_recognition,你可以使用 Python 和命令行工具进行提取.识别.操作人脸. 基于业内领先的 C++ 开源库 dlib 中的深度学习模 ...
- 3 x 10的python表达式_这道数学题用PYTHON编程语言怎么写? 编程语言python是用
我觉着,这个应该这样解决比较符合计算机解题思路. 下面的回答的,思考的东西太多. # -*- coding: utf-8 -*- __author__ = 'lpe234' __date__ = '2 ...
- 跳一跳python刷分_微信跳一跳python怎么刷分 python脚本刷分技巧
随着微信跳一跳流行,很多小伙伴都想要得到高分,今天小编为大家带来的是通过python脚本来实现刷分,比较适合一些更专业人员来进行刷分.6JE亚风软件站_提供免费绿色软件下载_手机电脑软件下载 微信跳一 ...
- python处理excel的工具-基于Python的Excel处理工具
##1 项目描述## 为了减轻妹子工作中处理Excel的辛苦,用python写了几个处理xlsx的代码,分别完成一些独立的任务,如根据考勤记录判断每天未来.迟到.早退的名单,实现两个复杂xlsx文件的 ...
- 找工作java还是python有用_你觉得学 Python 还是 Java 更好找工作?
不管现在大家如何追捧和吹嘘Python,培训机构怎么勾搭,广告怎么打,你打开招聘网站,在相同的搜索条件下搜下"Python"和"Java"两个关键词,认真的查看 ...
最新文章
- Navicat 数据库连接工具连接oracle数据库提示cannot create oci handles问题解决方法
- leetcode77. 组合(回溯)
- Android ViewRoot、DecorViewWindow浅析
- InputStream 、 InputStreamReader和BufferedReader
- 一个XP使用者眼中的Windows 7
- Ubuntu su: authentication failure切换用户失败
- yiibooster+bsie
- Python 编写规范
- Spring MVC接受参数的注解
- 大势至服务器共享文件监控软件8.6,大势至服务器共享文件夹监控软件、局域网共享管理软件、局域网共享设置软件...
- 卡巴斯基 7.0 免费激活码使用方法!
- ICP算法进行点云配准
- matlab图片测量尺寸_matlab尺寸测量
- [基于kk搭建k8s和kubesphere] 6 kk安装和部署
- The Dominant Color (20)
- Jsoncpp 使用说明
- ov7725图像帧率计算公式总结
- 基于单片机的RFID刷卡门禁电路设计(#0206)
- 基于深度学习的知识图谱综述
- Go语言基础之网络编程
热门文章
- metasploit命令及模块
- mysql增加约束sql语句_sql语句添加约束
- 印章管控私有化部署,助力政企办公开启新纪元
- 显示器刷新率测试软件144,【显示器】为什么“吃鸡”要选144Hz显示器?详解高刷新率显示器对FPS游戏的重要影响...
- 算法分析与设计实验报告——实现哈夫曼编码
- Linux ALSA声卡驱动之二:声卡的创建
- Alibaba内网内部资料真香 -Spring手册太全了,
- windos10专业版激活(可用)
- c# AD域 权限管理
- oracle 省份三个字的,中国所有省份的简称是什么?