数学建模-动态规划(美赛运用)

动态规划模型的要素是对问题解决的抽象,其可分为:

阶段。指对问题进行解决的自然划分。例如:在最短线路问题中,每进行走一步的决策就是一个阶段。
状态。指一个阶段开始时的自然状况。例如:在最短线路问题中,每进行走一步后,对所走的点进行标注。
决策。当一个阶段的状态确定后,作出选择从而演变到下一阶段的某个状态的选择手段称为决策,在优控制问题中也称为控制。
策略。由决策组成的序列称为策略。由第k到第j阶段的策略可记作

下面以我在建模美赛中的题目实列来阐述:

背景
美国和加拿大的五大湖是世界上最大的淡水湖群。这五个湖泊和相连的水道构成了一个巨大的
流域,其中包含了这两个国家的许多大城市,气候和当地的天气条件各不相同。
湖区的水有多种用途 ( 捕鱼、娱乐、发电、饮用、航运、动物和鱼类栖息地、建筑、灌溉等 ) 。因
此,各种各样的利益相关者都对流入和流出湖泊的水的管理感兴趣。特别是,如果从湖泊排出
或蒸发的水太少,那么可能会发生洪水,沿岸的家庭和企业受到影响 ; 如果排水过多,那么大型
船只就无法通过水路运送补给,支持当地经济。主要问题是调节水位,使所有利益相关者都能
受益。
每个湖泊的水位是由进出湖泊的水量决定的。这些水位是温度、风、潮汐、降水、蒸发、测深
( 湖底形状 ) 、河流流量和径流、水库政策、季节周期和长期气候变化等复杂相互作用的结果。在
五大湖系统的水流中有两种主要的控制机制 : 苏河水闸补偿工程。玛丽 ( 三个水力发电厂,五个航
行船闸和一个在激流顶端的闸门大坝 ) 和康沃尔的摩西 - 桑德斯大坝,如附录所示。
虽然这两座控制水坝、许多渠道和运河以及流域水库可能是由人类控制的,但降雨、蒸发、侵
蚀、冰塞和其他水流现象的速率是人类无法控制的。地方政府的政策可能会产生与预期不同的
影响,流域的季节和环境变化也可能会产生不同的影响。这些变化反过来又会影响该地区的生
态系统,从而影响湖泊内外动植物的健康以及生活在水盆中的居民。尽管五大湖似乎有一个规
律的年度模式,但水位从正常水平的 2 3 英尺的变化会极大地影响一些利益相关者。
这种动态的网络流量问题是“邪恶的”——由于相互依赖、复杂的要求和固有的不确定性,解
决起来异常具有挑战性。对于湖泊的问题,我们有不断变化的动态和利益相关者的利益冲突。
有关附加信息,请参阅问题 D 附录
国际联合委员会(IJC)请求贵公司国际网络控制建模(icm)提供支持,协助管理建模直接影响
五大湖水网水位的控制机制(附录中所示的两座水坝-补偿工程和摩西-桑德斯大坝)。你的 ICM
主管已经让你的团队领导开发模型和实施模型的管理计划。你的导师指出,有几个考虑因素可
能有助于实现这一目标,首先是为五大湖建立一个网络模型,并将从苏必利尔湖到大西洋的河
流连接起来。你的导师提到的其他一些可选的考虑因素或问题是:
•考虑到各个利益相关者的愿望(每个利益相关者的成本和收益可能不同),确定五大湖区在一
年中任何时候的最佳水位。
•根据五大湖的流入和流出数据,建立算法以维持五大湖的最佳水位。
•了解您的控制算法对两个控制坝的流出的敏感性。考虑到 2017 年的数据,对于各利益相
关者来说,你的新控制方法是否会使当年的实际记录水位令人满意或更好?
•你们的算法对环境条件(例如,降水、冬季积雪、冰塞)的变化有多敏感?
•将您的广泛分析集中在影响安大略湖的利益相关者和因素上,因为最近对该湖的水位管
理有更多的关注。
在第二问中需要找到算法来维持最佳水位,这本身就是动态规划问题。

前面第一问得到了五大湖的最佳水位,第二问的核心是波动情况下,近可能地使得五大湖的最佳水位波动尽可能小。

采用之前构建的网络流模型来模拟五大湖及其连接河流的水位和流量:节点定义:将每个湖泊和与其直接相连的河流定义为网络中的一个节点。边定义:根据水流方向,定义从一个节点到另一个节点的边。

流量和水位数据准备:使用提供的平均水位和流量数据来设定节点属性和边的容量运用网络流算法来模拟水流动态,并应用目标优化方法寻找维持最佳水位的策略。不过我们只考虑河流影响因素,其它外部因素不考虑在内。

一、算法实现:

制定算法:遗传算法(GA):使用遗传算法等启发式算法求解优化问题,找到维持最优水位的控制策略。通过湖泊的流入和流出数据来维持五大湖的最佳水位。

解释:

遗传算法(Genetic Algorithm,简称GA)起源于对生物系统所进行的计算机模拟研究,是一种随机全局搜索优化方法,它模拟了自然选择和遗传中发生的复制交叉(crossover)和变异(mutation)等现象,从任一初始种群(Population)出发,通过随机选择、交叉和变异操作,产生一群更适合环境的个体,使群体进化到搜索空间中越来越好的区域,这样一代一代不断繁衍进化,最后收敛到一群最适应环境的个体(Individual),从而求得问题的优质解。

步骤如下:

在动态流模型中如果当前水位低于目标水位,减少流出量;反之增加流出量。不同的是遗传算法在本基础上加上往年同月或同季节中的河流量变化值作为参考,在该动态网络流模型中的再次进行相应的河流流量调整从而得到最后相对更加准确的结果。

采用简单遗传算法:

SGA=(C,E,P_0, M,D, H,S,T)

C 表示个体的编码方案

E 表示个体适应度评价函数

P_0 表示初始种群

M 表示种群

D表示选择算子

H表示交叉算子

S表示变异算子

T 表示遗传算法终止条件

遗传算法使用以下遗传算子:

从旧群体中以一定概率选择优良个体组成新的种群,以繁殖得到下一代个体。个体被选中的概率跟适应度值有关,个体适应度值越高,被选中的概率越大,根据该思想,建立河流流量概率相关值:

fi为本遗传值,叠加之后为累次遗传。

在此之后,再进行指数尺度变换:

得到每个湖的在不同遗传系中的适配分部数据的热力图:

再通过动态网络流模型得到湖泊之间连接的河流流量的调整值:

圣玛丽河:2178.23

圣克莱尔河:5739.34

底特律河:5991.12

尼亚加拉河:6023.77

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/525110.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++字符串操作【超详细】

零.前言 本文将重点围绕C的字符串来展开描述。 其中,对于C/C中字符串的一些区别也做出了回答,并对于C的(string库)进行了讲解,最后我们给出字符串的不同表达形式。 开发环境: VS2022 一.字符串常量跟字…

Qt Creator常见问题解决方法

Qt Creator源文件重命名的正确方法 光改文件名是不够的,还要在.pro文件中的SOURCES中把名字改成之后的。 中文乱码(字符集设置) 菜单栏-工具-选项-设置为utf-8

使用R语言进行聚类分析

一、样本数据描述 城镇居民人均消费支出水平包括食品、衣着、居住、生活用品及服务、通信、文教娱乐、医疗保健和其他用品及服务支出这八项指标来描述。表中列出了2016年我国分地区的城镇居民的人均消费支出的原始数据,数据来源于2017年的《中国统计年鉴》&#xf…

试题 算法训练 强力党逗志芃

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 逗志芃励志要成为强力党,所以他将身上所以的技能点都洗掉了重新学技能。现在我们可以了解到,每个技能…

【C++专栏】C++入门 | 函数重载、引用、内联函数

博客主页:Duck Bro 博客主页系列专栏:C专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ C入门 | 函数重载、引用、内联函数 文章编号:C入门 / 02 文…

appium2的一些配置

appium-desktop不再维护之后,需要使用appium2。 1、安装appium2 命令行输入npm i -g appium。安装之后输入appium或者appium-server即可启动appium 2、安装安卓/ios的驱动 安卓:appium driver install uiautomator2 iOS:appium driver i…

背包问题算法

背包问题算法 0-1背包问题二维数组一维数组 完全背包问题二维数组一维数组 多重背包问题一维数组 0-1背包问题 问题:背包的容量为9,有重量分别为[2, 4, 6, 9]的四个物品,价值分别为[3, 4, 5, 6],求背包能装的物品的最大价值是多少…

【软件测试】接口测试工具APIpost

说实话,了解APIpost是因为,我的所有接口相关的文章下,都有该APIpost水军的评论,无非就是APIpost是中文版的postman,有多么多么好用,虽然咱也还不是什么啥网红,但是不知会一声就乱在评论区打广告…

二叉树遍历(前中后序的递归/非递归遍历、层序遍历)

二叉树的遍历 1. 二叉树的前序、中序、后序遍历 前、中、后序遍历又叫深度优先遍历 注:严格来说,深度优先遍历是先访问当前节点再继续递归访问,因此,只有前序遍历是严格意义上的深度优先遍历 首先需要知道下面几点: …

springMVC自定义类型转换

目录 🍋🍊自定义的转换类 🍋🍊xml文件中添加配置 🍋🍊测试 SpringMVC 底层已经封装了很多的类型转换器,也就是为什么我们页面上传的字符串可以使用 Integer接收或者可以直接转换为数组的原因…

手写简易操作系统(二)--启动计算机

前情提要 在上一部分的内容中,我们已经做好了模拟仿真的整个准备工作,这一节我们就先把计算机启动起来。 一、Bochs配置 1.1、配置启动盘 创建硬盘的工具是bximage,这个工具在我们的Bochs目录下,使用命令行创建硬盘 第一个选择…

华为新发布磁电存储“王炸”,到底是什么?

最近,在巴塞罗那举行的2024年世界移动通信大会(MWC24)上,华为数据存储产品线总裁周彼得博士介绍了这款即将面世的产品。他向听众表示,与磁带存储相比,该设备可以降低20%的总连接成本,而与硬盘相…