2023美国大学生数学建模竞赛A题详细公式和代码分享

news2024/9/22 19:45:33

目录

2023美赛A题翻译

1.1 建立一个数学模型,预测一个植物群落在各种不规则的天气周期中如何随时间变化。包括本该降水充足的干旱时期。该模型应考虑到干旱周期中不同物种之间的相互作用。

1.2就植物群落与大环境的长期相互作用,探讨你能从你的模型中得出什么结论。请考虑以下问题。 • 社区需要多少种不同的植物物种才能受益,随着物种数量的增加会发生什么?

1.3社区中的物种类型如何影响你的结果?

1.4 在未来的天气周期中,干旱发生的频率更高、变化更大会产生什么影响?如果干旱不那么频繁,那么物种数量对整体种群的影响是否相同?

1.5 污染和栖息地减少等其他因素如何影响你的结论?

1.6 你的模型表明,为确保一个植物群落的长期生存能力,应该做些什么,对大环境有什么影响?

更新地址


2023.1.18更新:已更新微分方程求解代码和结果

已更新2023美赛A题1-6问具体思路,建立最优物种竞争微分方程模型,思路和模型方程公式详细内容见文末。

2023美赛A题翻译

不同种类的植物对压力的反应方式不同。例如,草原对干旱非常敏感。干旱以不同的频率和不同的严重程度发生。大量的观察表明,不同物种的数量对植物群落在经历了连续几代的干旱循环时如何适应起到了作用。在一些只有一种植物的群落中,下一代对干旱条件的适应能力不如拥有四种或更多物种的群落中的个体植物。这些观察结果提出了许多问题。例如,植物群落从这种本地化的生物多样性中受益所需的最低物种数量是多少?随着物种数量的增加,这种现象是如何扩大的?这对植物群落的长期生存能力意味着什么?

考虑到干旱适应性与植物群落中物种数量的关系,你的任务是探索和更好地理解这一现象。具体地说,你应该:

[1] 开发一个数学模型来预测植物群落在暴露于各种不规律的天气周期时如何随着时间的推移而变化。包括应该有充足降水的干旱时期。该模型应该考虑到干旱周期中不同物种之间的相互作用。

探索关于植物群落和更大环境的长期相互作用,您可以从您的模型中得出什么结论。考虑以下问题

[2] 需要多少不同的植物物种才能使群落受益,随着物种数量的增加会发生什么?

[3] 群落中的物种类型对你的结果有什么影响?

[4] 在未来的天气周期中,干旱发生的更频繁和更广泛的变化会产生什么影响?如果干旱不那么频繁,物种的数量对总体群落是否有同样的影响?

[5] 污染和栖息地减少等其他因素对你的结论有什么影响?

[6] 你的模型表明应该做什么来确保植物群落的长期生存能力,对更大的环境有什么影响?

您的PDF解决方案的总页数不应超过25页,应包括:

单页摘要表。

目录。

为您提供完整的解决方案。

参考列表。

注:MCM大赛以25页为限。您提交的所有方面都计入25页的限制(摘要表、目录、报告、参考列表和任何附录)。你必须引用你的想法、图片和报告中使用的任何其他材料的来源。

生物多样性:世界上或特定栖息地或生态系统中的生物多样性。

下面是思路和具体的模型展示:

1.1 建立一个数学模型,预测一个植物群落在各种不规则的天气周期中如何随时间变化。包括本该降水充足的干旱时期。该模型应考虑到干旱周期中不同物种之间的相互作用。

看到群落一词,我们建立物种竞争模型,并加入环境因素(降水量)

首先简单起见,先建立2生物,无环境因素的竞争模型:

研究在同一个自然环境中生存的两个种群之间的竞争关系。假设两个种群独自在这个自然环境中生存时数量演变都服从Logistic规律,又假设当它们相互竞争时都会减慢对方数量的增长,增长速度的减小都与它们数量的乘积成正比。按照这样的假设建立的常微分方程模型为

方程的另一种形式为:

其中r为增长率,N为物种最大容量,

α:物种2对物种1的竞争系数,即每个N2个体所占用的空间相当于α个N1个体所占用空间。

β:物种1对物种2的竞争系数,即每个N1个体所占用的空间相当于β个N2个体所占用空间。

设置求解参数,参数与代码见文末

这些参数表明, x1 是一个增长相对缓慢的物种,但是种内竞争较小,而且不容易受到x2物种的影响,因此,长远来看, x1 物种将在该自然环境中占优;相比之下, x2 物种的增长速度较快,但是种内竞争较大,而且容易受到 x1 物种的影响,部分代码如下:

from scipy.integrate import odeint
import numpy as np
from scipy.optimize import leastsq
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #这两句用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False

t = np.arange(0,100,0.1)

def deriv(w,t,a,b,c,d,e,f): 
    x,y = w
    return np.array([ a*(1-b*x)*x-c*y*x, d*(1-e*y)*y-f*x*y])

现在将模型扩展一下,建立多物种竞争模型,也就是群落的竞争模型,

将公式2扩展一下,公式见文末文档

其中ri为增长率,Ni为物种最大容量, aik:物种k对物种i的竞争系数,即每个Nk个体所占用的空间相当于个Ni个体所占用空间。

然后我们再加入加入环境因素(降水量)的影响

我们知道,降水量(符号h表示降水量)应该主要影响的是生长率,所以主要任务是建立以降水量h为自变量,生长率为因变量的函数。

以降水量h为自变量,生长率为因变量的函数可能是以下形式:

[1] 生长率与降水量h成正比

[2] 生长率与降水量h成logistic关系,这一关系的原因简单解释一下:降水量多的时候植物可能会淹死,因此生长率不可能无限增大,这一点需要写作时在假设一节详细解释原因

逻辑斯谛函数(英语:logistic function)是一种常见的S型函数,其函数图像称为逻辑斯谛曲线(英语:logistic curve)。简单的逻辑斯谛函数可用下式表示:

 

​降水量为0时,假设生长率也为0,构造一个逻辑斯谛函数并减去降水量为0时的数值,就得到了降水量为0时生长率也为0的改进逻辑斯谛函数:(公式见文末)

其中Li为物种i的最大生长率,k 为逻辑斯谛增长率或曲线的陡度,h(t)为降水量。将上式代入式4,并把xi都写成t的函数

然后我们就可以自行构造天气条件(降水量),假设物种数量(比如3种 or 4种),设置相关参数,求解微分方程模型,画出各物种的数量变化曲线。然后就能进行各种分析

1.2就植物群落与大环境的长期相互作用,探讨你能从你的模型中得出什么结论。请考虑以下问题。 • 社区需要多少种不同的植物物种才能受益,随着物种数量的增加会发生什么?

社区需要多少种不同的植物物种才能受益,这明显是个最优化问题,建立最优物种竞争微分方程模型,

思考优化变量是什么:明显是植物物种的数量

思考目标函数是什么:长时间稳定状态下植物生物量的总和最大

什么是生物量,简单来说就是有机物的含量,有机物越多,说明这个群落就越壮大,具体模型见文末

1.3社区中的物种类型如何影响你的结果?

这题可以和问题2一起建模和回答(建模时没有必要把这几个问题区分的这么明显,这点美赛和国赛不同,你要是把每个问题都详细建模和解释,那根本没有时间和精力),也就是在问题2中就直接引入物种类型这个因素。

物种类型:暂定为草本、灌木、树木这三种,草本、灌木、树木的生物量明显是逐渐增加的,而种群数量(问题1中的xi)是逐渐减小的,我们可以收集数据,确定一棵草本、灌木、树木的生物量,比如一棵草的生物量是1,灌木为10,树木为100,对应物种类型的生物量乘以第一问的种群数量(问题1中的xi)就得到了总的生物量

优化变量:草本、灌木、树木分别有多少种

目标函数:长时间稳定状态下植物生物量的总和最大

优化模型方程形式:见文末文档,后续持续更新代码

1.4 在未来的天气周期中,干旱发生的频率更高、变化更大会产生什么影响?如果干旱不那么频繁,那么物种数量对整体种群的影响是否相同?

干旱发生的频率更高、变化更大会产生什么影响,翻译成人话:

频率更高:一段时间内设置降水量较少的时间段的数量

变化更大:降水量较少的时间段的持续时间,降水量减少的程度

1.5 污染和栖息地减少等其他因素如何影响你的结论?

1.6 你的模型表明,为确保一个植物群落的长期生存能力,应该做些什么,对大环境有什么影响?

代码更新地址

根据前面几个问题的结论进行适当的语文建模,后续更新见:2023美赛A题更新地址

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python从入门到进阶】8、Python的输入输出

接上篇《7、运算符》 上一篇我们学习了Python的运算符部分,包括算数运算符、赋值运算符、比较运算符、逻辑运算符等。本篇我们来学习Python的输入和输出相关内容。 一、输出 其实输出的含义就是在控制台里打印一些东西,我们在之前已经做过很多的“prin…

社招前端必会手写面试题集锦

查找字符串中出现最多的字符和个数 例: abbcccddddd -> 字符最多的是d,出现了5次 let str "abcabcabcbbccccc"; let num 0; let char ;// 使其按照一定的次序排列 str str.split().sort().join(); // "aaabbbbbcccccccc"// 定义正则表达…

IDEA插件安装慢、超时、不成功问题如何解决?

目录 一、打开国内插件的节点IP地址 二、修改本地hosts文件 三、刷新DNS缓存 一、打开国内插件的节点IP地址 国内插件的节点IP地址查询: http://tool.chinaz.com/speedtest/plugins.jetbrains.com 在下方的检测结果中,找到一个解析时间最短的IP地址,解…

流程引擎之Activiti简介

背景Activiti 是一个开源架构的工作流引擎,基于 bpmn2.0 标准进行流程定义,其前身是 jBPM,Activiti 相对于 jBPM 更轻量,更易上手,且天然集成了 Spring。2010年 jBPM 创始人 Tom Baeyens 离开 JBoss,随之加…

大数据之-Nifi-监控nifi处理数据的状态信息_处理数据的状态栏_组件统计_公告BUG信息---大数据之Nifi工作笔记0010

首先可以看到状态栏,可以提供活动现场的数量,排队统计信息,等等 可以看到在面板的最上面有一行状态栏,就是 就是具体的状态信息 然后组件统计就是具体的处理器的统计信息 可以看到这里pickup这个getfile处理器,可以看到in这里,说了文件的输入个数,以及大小 out是输出个数以及大…

Linux进程学习【二】

✨个人主页: Yohifo 🎉所属专栏: Linux学习之旅 🎊每篇一句: 图片来源 🎃操作环境: CentOS 7.6 阿里云远程服务器 Perseverance is not a long race; it is many short races one after another…

java黑马头条 day5自媒体文章审核 敏感词过滤算法DFA 集成RabbitMQ实现自动审核

自动审核流程介绍 做为内容类产品,内容安全非常重要,所以需要进行对自媒体用户发布的文章进行审核以后才能到app端展示给用户。2 WmNews 中status 代表自媒体文章的状态 status字段:0 草稿 1 待审核 2 审核失败 3 人工审核 4 人工审核通过 …

Mac上动态切换JDK

起因: 因为甲骨文的JDK8并没有适配Mac M1芯片,新版的17倒是有适配的,11这些不清楚。往常开发可以使用Zulu这些厂商提供的JDK8。 但是在本地起一些服务,例如Nacos时候,还是会出现不兼容导致起不来!虽然Nac…

【网络原理6】数据链路层协议——以太网

数据链路层负责的是相邻两个网络节点之间的数据以帧为单位进行传输。 具体关于数据链路层的介绍,已经在这一篇文章当中提到了。 初识网络:IP、端口、网络协议、TCP-IP五层模型_革凡成圣211的博客-CSDN博客TCP/IP五层协议详解https://blog.csdn.net/weix…

Python每日一练(20230219)

目录 1. 循环随机取数组直到得出指定数字? 2. 旋转链表 3. 区间和的个数 1. 循环随机取数组直到得出指定数字? 举个例子: 随机数字范围:0~100 每组数字量:6(s1,s2,s3,s4,s5,s6) 第二轮开始随…

高级前端一面面试题集锦

详细说明 Event loop 众所周知 JS 是门非阻塞单线程语言,因为在最初 JS 就是为了和浏览器交互而诞生的。如果 JS 是门多线程的语言话,我们在多个线程中处理 DOM 就可能会发生问题(一个线程中新加节点,另一个线程中删除节点&#…

[LeetCode周赛复盘] 第 98 场双周赛20230219

[LeetCode周赛复盘] 第 98 场双周赛20230219 一、本周周赛总结二、 [Easy] 6359. 替换一个数字后的最大差值1. 题目描述2. 思路分析3. 代码实现三、[Medium] 6361. 修改两个元素的最小分数1. 题目描述2. 思路分析3. 代码实现四、[Medium] 6360. 最小无法得到的或值1. 题目描述2…

将镭神C32激光雷达的PointXYZ数据转化为PointXYZIR格式 - 附代码

之前遇到过“镭神32线激光雷达ROS下运行fromRosMsg()报错 Failed to find match for field “intensity“ 问题”, 当时确定了是镭神C32雷达缺少相应字段,并记录博客【学习记录】镭神32线激光雷达ROS下运行fromRosMsg()报错 Failed to find match for fi…

如何正确使用chatgpt,让chatgpt回答优质内容?

我们以chatgpt写一篇文章为例。大家都知道,如果直接让chatgpt写某篇文章,他的回答总是简洁明了的,因为它定位就是聊天,而不是会像“舔狗”一样写一篇小作文。 并且他的回答,总是固定格式的,只要稍微了解ch…

Kubernetes02:知识图谱

Kubernetes01:知识图谱 MESOS APACHE 分布式资源管理框架 2019-5 Twitter 》 Kubernetes Docker Swarm 2019-07 阿里云宣布 Docker Swarm 剔除 Kubernetes Google 10年容器化基础架构 borg Go语言 Borg 特点 轻量级:消耗资源小 开源 弹性伸缩 负载均…

根据mysql的sql文件逆向生成powerdesigner的pdm文件

背景 我们在软件项目中最基本的组成部分就是数据库,那么在有数据库文件的情况下如何将库表逆向生成powerdesigner的设计文件呢? 文字步骤 打开powerdesigner软件,然后选择 File ->ReverseEngineer ->Database (1&#x…

OnlyOffice本地部署实现Excel预览(docker安装)

下载onlyoffice镜像 docker pull onlyoffice/documentserver 如果下载不了 可以尝试添加镜像 /etc/docker daemon.json文件内 添加一行 {“registry-mirrors”: [“http://f1361db2.m.daocloud.io”]} 启动镜像 (第一个17315表示onlyoffice服务对外的端口号&…

[AUTOSAR][Fls模块] Flash Driver Module

Flash Driver Module--jianqiang.xue一、 简介二、 措施方式一:将FLASH操作程序作为Bootloader组件的一部分固化在存储器中方式二:通过通讯口将该部分代码从上位机下载到指定的RAM方式三:将Flash功能函数作为数据运行(推荐!&#…

23种设计模式介绍(Python示例讲解)

文章目录一、概述二、设计模式七种原则三、设计模式示例讲解1)创建型模式1、工厂模式(Factory Method)【1】简单工厂模式(不属于GOF设计模式之一)【2】工厂方法模式2、抽象工厂模式(AbstractFactory&#x…

Python抽奖系统

#免费源码见文末公众号# 抽奖系统① def choujiang1():def write():with open(d:\\抽奖系统\\抽奖1.1.pickle,rb) as file:lst1pickle.load(file)namevar1.get()if name not in lst1 and name!录入成功! and name!录入失败! and name!:lst1.append(name)…