原标题:【模型工具】耦合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的城市排水系统模型预测算法相关推荐

  1. python模型预测控制_【模型工具】耦合python和 SWMM的城市排水系统模型预测算法...

    美国环境署EPA开发的SWMM模型具有开源性,这使其成为最为广泛使用的城市排水系统模型.但是SWMM是基于C语言开发的,二次开发困难较大.因此本文作者利用开源的PYSWMM程序包,利用python实现 ...

  2. 【机器学习】隐马尔可夫模型及其三个基本问题(四)状态序列预测算法及python实现

    [机器学习]隐马尔可夫模型及其三个基本问题(四)状态序列预测算法及python实现 一.维特比算法 二.python实现 参考资料 隐马尔可夫模型状态序列预测问题是指给定模型 λ=[A,B,∏]\la ...

  3. python预测控制_无人驾驶——4.控制之MPC模型预测控制

    源自:<无人驾驶无人驾驶车辆模型预测控制>--龚建伟 参考:https://wenku.baidu.com/view/8e4633d519e8b8f67c1cb9fa.html 0.车辆模 ...

  4. 零基础学python 视频_全网最全Python视频教程真正零基础学习Python视频教程 490集...

    Python Web开发-进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程 [课程简介] 这是一门Python Web开发进阶课程,手把手教你用Python开发完整的商业 ...

  5. python图像分类_用于实现用python和django编写的图像分类的Keras UI

    KerasUI是一种可视化工具,可以在图像分类中轻松训练模型,并允许将模型作为服务使用,只需调用API. https://github.com/zeppaman/KerasUI 主要特点: 用oaut ...

  6. 简单20行python代码_用 20 行 python 代码实现人脸识别!Python实现就是这么简单!...

    今天给大家介绍一个世界上最简洁的人脸识别库 face_recognition,你可以使用 Python 和命令行工具进行提取.识别.操作人脸. 基于业内领先的 C++ 开源库 dlib 中的深度学习模 ...

  7. 3 x 10的python表达式_这道数学题用PYTHON编程语言怎么写? 编程语言python是用

    我觉着,这个应该这样解决比较符合计算机解题思路. 下面的回答的,思考的东西太多. # -*- coding: utf-8 -*- __author__ = 'lpe234' __date__ = '2 ...

  8. 跳一跳python刷分_微信跳一跳python怎么刷分 python脚本刷分技巧

    随着微信跳一跳流行,很多小伙伴都想要得到高分,今天小编为大家带来的是通过python脚本来实现刷分,比较适合一些更专业人员来进行刷分.6JE亚风软件站_提供免费绿色软件下载_手机电脑软件下载 微信跳一 ...

  9. python处理excel的工具-基于Python的Excel处理工具

    ##1 项目描述## 为了减轻妹子工作中处理Excel的辛苦,用python写了几个处理xlsx的代码,分别完成一些独立的任务,如根据考勤记录判断每天未来.迟到.早退的名单,实现两个复杂xlsx文件的 ...

  10. 找工作java还是python有用_你觉得学 Python 还是 Java 更好找工作?

    不管现在大家如何追捧和吹嘘Python,培训机构怎么勾搭,广告怎么打,你打开招聘网站,在相同的搜索条件下搜下"Python"和"Java"两个关键词,认真的查看 ...

最新文章

  1. Navicat 数据库连接工具连接oracle数据库提示cannot create oci handles问题解决方法
  2. leetcode77. 组合(回溯)
  3. Android ViewRoot、DecorViewWindow浅析
  4. InputStream 、 InputStreamReader和BufferedReader
  5. 一个XP使用者眼中的Windows 7
  6. Ubuntu su: authentication failure切换用户失败
  7. yiibooster+bsie
  8. Python 编写规范
  9. Spring MVC接受参数的注解
  10. 大势至服务器共享文件监控软件8.6,大势至服务器共享文件夹监控软件、局域网共享管理软件、局域网共享设置软件...
  11. 卡巴斯基 7.0 免费激活码使用方法!
  12. ICP算法进行点云配准
  13. matlab图片测量尺寸_matlab尺寸测量
  14. [基于kk搭建k8s和kubesphere] 6 kk安装和部署
  15. The Dominant Color (20)
  16. Jsoncpp 使用说明
  17. ov7725图像帧率计算公式总结
  18. 基于单片机的RFID刷卡门禁电路设计(#0206)
  19. 基于深度学习的知识图谱综述
  20. Go语言基础之网络编程

热门文章

  1. metasploit命令及模块
  2. mysql增加约束sql语句_sql语句添加约束
  3. 印章管控私有化部署,助力政企办公开启新纪元
  4. 显示器刷新率测试软件144,【显示器】为什么“吃鸡”要选144Hz显示器?详解高刷新率显示器对FPS游戏的重要影响...
  5. 算法分析与设计实验报告——实现哈夫曼编码
  6. Linux ALSA声卡驱动之二:声卡的创建
  7. Alibaba内网内部资料真香 -Spring手册太全了,
  8. windos10专业版激活(可用)
  9. c# AD域 权限管理
  10. oracle 省份三个字的,中国所有省份的简称是什么?