【智慧水务】对城市排水系统自动最优化调度问题的几点思考

发布时间:2023-11-30 来源:新闻中心

  不少城市内河水系发达,纵横交错,可能还建设了很多的闸站、泵站等水利设施,使得河网即是很重要的防洪排涝资源及生活景观资源,同时同样是需要认真严肃管理的一项工作。

  水利设施需要被合理的调度,城市也会有相应的调度规则,不过一般都比较粗略,只是一种指导性的意见,比如说每天开闸半小时这类的,大多时候的调度还是拍脑袋;

  现在云计算、大数据这么火热,最近大规模AI模型如GPT-4又横空出现,GPT-5都快要出来据说已经把人类互联网基本上所有资源都爬完了,这么牛,自然会想到能不能让调度自动化、智能化,并且更加的科学合理化、最优化?

  “偷懒是人类进步的阶梯”——by我自己。我觉得很有道理,能让程序干的事干嘛要费劲搬砖。那对于城市水系怎么来实现自动最优化调度?

  先不说自动化,“最优化”三个字其实也可以拆成两部分,一个是“优化”,一个是“最”;不少项目喊着要最优化,但可能做了大半连基本目标还没捋清楚,也就是说首先得搞清楚什么叫“优化”,也就是什么样的叫好,什么样的叫不好。

  说下我个人对水库优化调度的理解。如果面临的是一场特大暴雨,应对防洪目标,以安全为一切目标,那么最优的调度策略应该是提前把水库排空,能多空有多空,然后降雨过程中利用一切可利用的能力在下游可能承受的范围内尽可能的放水,能放多快放多快。这种情况下最安全,没问题吧?

  那为什么还要调度?因为水库放空了可不是什么好事,还得考虑民生如灌溉,发电等问题;要是不顾一切放空了,结果后面一直不下雨要旱灾了。也就是水库里最好保留合适的水量,对吧。那我边下雨边放水,同时照顾下游排水能力,一直让水位保持在某个范围不就好了?

  乍一看挺合理哈,实时动态调控;那,万一前面动态的挺好,突然来了个超大超强的雨峰,是不是该后悔没早点把水库全放空甚至把河道都提前抽干了?也就是说局部的最优化时间尺度拉长一些,可能是很差的。

  时间尺度不可能无限拉长,至少以一场降雨为单位做讨论,那就能大概得出对于单水库在一场降雨中的最优化调度,应该是降雨结束过程中不出现风险并且降雨汇水结束时,水位在一个合理的范围内;也就是防洪安全、民生灌溉、经济发电等多目标相互妥协达成一致这么个结果;所谓多目标-自动-最优化。如果扩展到多个水库,那就是大家一起妥协,多库连调了。

  对于城市河网,我认为这些河网连在一起也就是一个线条型的、中间被很多结构分割了的“大”水库;其实城市我也觉得就是缩小了的、复杂化了的流域。比如内河类比大江大河,调蓄池类比水库,管网类比支流河道等等;

  那么对于城市河网的最优化调度也是一个妥协的结果,限制因素包括防洪排涝、城市景观、保持水质的水循环流程或者流速等。那么也就得到了优化的方向或者说目标,在平时没啥洪涝风险的无雨、小雨时,优先保证景观、水质,有风险时优先保证安全,大雨来临前腾出合适调度“库容”,但最好在最后降雨小了的时候又开始存水,让水位保持合适的位置。但其实这两种场景是统一的,平时也是评估降雨影响,让降雨结束后保持水位,只不过降雨为0。

  那好的,最优化的方向或者目标确定了,问题虽还远远没解决,但至少有个明确的任务可以做了。项目管理中有句话“范围是一切”,确定目标才好干活。

  那么完成目标需要搞定哪些事呢?先得有个能评估降雨来了水位、流量变化的工具吧,不然两眼一抹黑啥也不知道,调个啥。这个工具,不管什么形式的,真的拿石头、土按某个比例把城市河道糊一遍,或者用大数据,或者根据水文水动力原理编写的程序,都叫模型。

  世界上一切能反应一定规律的东西都是模型。看看距离评估自己走过去要多久,是模型;看看余额,能撑几天不挨饿,是模型;GTA中摩托车倒着可以飞,也是游戏中的规律,也是模型;

  相信地球上基本还是遵循能量守恒、水往低处流这个规律的吧。描述这个规律的有个方程叫圣维南方程,通过求解这个方程计算水的变化过程的叫水动力模型,有一维的二维的,当然里面有对空间、时间的离散化,不用在意这一些细节;另外有描述雨落下来会怎么被树叶拦截、怎么被水坑积蓄、怎么下渗、汇聚过程、规律的叫水文模型。这类机理模型应该还是目前已知的、最靠谱的能用于解决这篇内容描述的问题的模型。

  可以在数字的世界内孪生出我们想分析的这块区域中的水的规律,我们大家可以告诉他各种闸门、泵,当怎么怎么样的时候就怎么怎么样(必须是明确的,比如当水位达到2.4,1号闸门全开),可以给它一场24小时的降雨看它有什么反应,它可以一帧一帧的告诉我们这个虚拟的世界的各类信息,比如某个时刻的水位、流速,闸门开度、泵站流量等。

  大数据模型应该也是一个方向,只不过目前积累的靠谱的数据太少了,大不起来;另外个人觉得,大数据模型发展到最后,其实也会和机理模型趋同;比如N层神经网络,最后最精准的层数以及每层代表的含义可能就是与现实世界一一对应的;这些不瞎扯了,总之工具有了,叫模型;

  模型准不准这个事,能分解为以下7个方面:1、模型的原理是否准确2、基于原理写的模型程序是否没问题3、用来构建模型的基础数据是不是准确4、模型构建的过程对数据的概化是不是合理准确5、构建好的模型率定验证是不是满足准确的要求6、用率定验证好的模型,进行场景模拟时的输入是否准确7、模拟的结果进行准确性评估的标准是什么

  1全世界通用,一般没啥问题;2这个就相信程序没BUG吧,当然会有数学求解发散或者工程应用精度和计算效率的妥协、特殊情况处理等等,但就认为没问题吧,就算有问题一般人也搞不定;

  3就很重要了,因为模型是用来描述现实世界的,如果用的数据都不能反应现实世界,那描述个锤子。“garbage in,garbage out”,“模型的输出永远都不可能优于模型的输入”;

  然后4看建模人员的水平,绝世好剑在我手里肯定只能当烧火棍;5也很重要,就像做了杆秤,虽然原理、做功都没问题,但没准确的刻度,需要个标准质量物体标定一下。

  那么假设,模型已经搭好了,率定验证好了,这个模型确实可以反映物理世界的真实情况了,然后就能开始做一些分析了;比如输入明天可能的一场暴雨,让它算起来。

  恩,明天的暴雨,未来的。昨天的暴雨来不及调了啊。今天正在下的暴雨呢?额~~~有点用,比如可以把模型调整到当前时刻与现实一致的状态,河道干的就干的,满的就满的,在这个基础上(也就是数据同化、初始化对模型的计算也很重要)继续算今天还没下完的那些雨;今天的未来,还是未来;

  未来的降雨属于模型计算的重要输入,因此降雨预报的准确不准确很重要;另外同样重要的还有一些边界条件,比如潮位预报的准确性也很重要。那么就假设降雨预报的很准确,并能时间、空间离散的很准确,也就是至少能够给大家提供每个点位未来每个小时的降雨数值。

  然后让模型启动计算就可以了,你让它怎么算它就怎么算;让他开闸就开闸,让它关泵就关泵。拿来做规划,计算一场200年一遇的降雨看看能不能受得了,考虑有什么优化措施也可以;然后可以自动启动,比如自动接入降雨预报、结合物联网自动接入闸泵当前状态、河网水系的当前水位流速状态等,自动启动预报计算;这一切就需要更上层的一个业务系统来实现了;并行计算若干套方案也都可以。

  有个最字,也就是说调度方案可能有很多套,我们想要其中最好的那套。那什么叫一套调度方案?

  一个闸或者泵,写了一套运行规则,IF……THEN,可以加AND或者OR,这不叫一套调度方案,这只是单个对象的单套调度规则。如果我们分析的区域有100个闸,把这100个闸的各自1套调度规则组合在一起,这样是“一”套调度方案。对这套方案中的任何一点改动,都能形成一套新的调度方案,有点类似平行宇宙哈。

  模型只能给确定的输入然后正向计算,就像往一个楼盘沙盘模型上洒水并测量数据一样。所以要得到最优化结果也只能正向计算N次,根据评价体系找到得分最高的那套。

  那么对于一场确定的未来的降雨,以及确定的当前的初始状态,有多少种方案可以去应对,以便从中选出最好的那套来呢?

  啊,有点多;假设只有80个闸门,每个闸门只有开关两种状态,不考虑开关的维持的时间,可能性也就2的80次方种,可观测宇宙中的原子数量大概在这个量级。

  这儿跑个很有意思的题;有个确定的数字,是一个图论问题的答案,这一个数字特别大,大到惊天地泣鬼神;就算只是想把这一个数字写下来,将宇宙中每个原子甚至夸克都变成目前最强计算机能力的万亿倍的计算或者输出速度,并且从宇宙大爆炸写到宇宙终结,并循环宇宙原子数量次,都远远写不完。这一个数字叫葛立恒数,很有意思,可以去看看:如何直观的感受葛立恒数? - 大老李的回答 - 知乎79013/answer/2748976475

  回到最优化这里,这么多种可能性,完全正向计算是不可能吧,至少目前来说不可能。水文模型的计算还快一些,几毫秒可能就计算一次,5水库连调的反算(即正向计算N次寻优)一次大概要十几二十分钟时间。水动力模型计算一次可能就得几分钟,反算个几百次一天都过去了,更不要提全计算完了。、

  这里再跑个题,有个好消息,其实世界未解难题哥德巴赫猜想的证明程序已经写出来了!只要这个程序计算完就能证明成立不成立了!但也有个坏消息,这个程序计算到宇宙终结也绝对结束不了!(会做数学证明的“忙碌海狸”5975481)

  那有没有很好的方法减少计算数量呢?那当然有啊,寻优算法呗,遗传算法、粒子群算法等等,但就算用了这些算法,计算效率也还是不够看啊;

  那能不能具体点,比如一开始计算明天的降雨,发现有超警戒现象,然后就采取预降水位措施,再计算预报降雨,可能就不超警了,如果还不行再增加闸门排水,这样不就行了?这。。。这不就是在寻优么?预降多少,一半还是全部?增加排水,闸门全部全开?开一半?。。。。。

  那能不能提前分析下,比如可以得知明天的总降雨量,然后根据径流系数可以计算出总的入河水量,再判断当前的河道空余容积(以降雨结束刚好保持一个较为贴切的水位为目标),就可以计算出这场降雨大致需要外排多少水。再根据闸门的排放能力,是否能评估出需要的时间?根据降雨的雨峰规律,是不是就知道该怎么调度了?如果降雨极大,一定会超警,也可以把降雨进行切割,前面大部分只能全力往外排,最后剩的小雨部分可优先考虑攒点水;这样怎么样?

  上面这段话也是我目前能想到的可以更合适的提供寻优算法初始状态的一种建议,让收敛速度加快些,具体计算量依然挺不可知的;好歹应该能尝试下。

  那还有机器学习,每天河网都在调度,让机器学习下每天的真实调度规则怎么样?

  这也是个思路,让机器学习真实案例。那么真实案例就是最优的么?最后学来学去学了个当前水平?

  所以最终可能还要力大砖飞,寻优算法结合项目实际大量优化后,暴力算很久得到若干场景下的最优化调度策略,然后机器学习学一下,后面就能形成最优化推荐算法。这个有点蛋鸡问题,让机器学习干活,得先告诉它答案,想告诉他答案得人力先干活……(在市政管网监测的异常数据分析领域实际上也是这样,程序不了解什么叫正常;若干年前我预测可能会出现个职业叫人工智能打标工程师,现在好像真的有了)

  经过魔鬼训练的推算算法能干活了,但这依然可能不是最优的,甚至算法出错可能推荐了个很差的方案;所以还要引入人工干涉,进行修正。可能专家经验才是目前最最最强的寻优算法。

  最终的优雅的解法,可能是量子计算机的普及。它可能可以让闸门即开也关,各种可能在一次计算里同时完成。好像快实现了。(双缝干涉实验是否与观察有关? - 盐选科普的回答 - 知乎zhihu.com/question/355575877/answer/2599223911)

上一篇:关于成立智慧水利设施公司方案_范文模板docx

下一篇:智慧水务管理系统解决方案

欧宝平台登录注册app正版下载   备案号: 晋ICP备20004420号-1      网站地图