2012年第一届数学建模国际赛小美赛B题大规模灭绝尚未到来解题全过程文档及程序
2012年第一届数学建模国际赛小美赛
B题 大规模灭绝尚未到来
原题再现:
亚马逊是地球上现存最大的雨林,比地球上任何地方都有更多的野生动物。它位于南美洲大陆的北侧,共有9个国家:巴西、玻利维亚、厄瓜多尔、秘鲁、哥伦比亚、委内瑞拉、苏里南、法属圭亚那和圭亚那。这类信息需要更加普及,因为砍伐森林正成为森林生存的危险。虽然伐木和森林清理在短期内可能有利可图,但从长远来看,这对亚马逊来说是一种危险。
近年来,森林砍伐率下降到创纪录的低点,巴西50%以上的雨林现在处于某种形式的保护状态。但栖息地丧失的影响需要时间来显现。伦敦帝国理工学院的生态学家罗伯特·埃沃斯说:“砍伐树木并不会直接杀死一只鸟。这些鸟实际上需要很多时间才能死亡。它们都挤进了剩下的栖息地。然后,死亡率会逐渐增加。
要求:
模拟森林砍伐的影响以及在不久的将来是否会发生大规模灭绝。
使用您的模型来估计未来20年内有多少物种将灭绝,请考虑以下四种情况:“一切照旧”,或很少监管治理”,或某种规定根据巴西政府的目标,到2020年将森林砍伐减少80%;到2020年“结束森林砍伐”。
写一份20页的报告(不包括汇总表),介绍你的模型和你对毁林滞后影响的分析。一定要包括政府在确保生态安全方面应该扮演的角色。
整体求解过程概述(摘要)
近年来,在丰富的热带雨林中,特别是在亚马逊河流域,森林砍伐率达到了前所未有的水平,导致生态环境发生变化,许多物种因丧失生活习惯而灭绝。由于亚马逊在巴西的面积最大,本文以巴西的数据为基础进行讨论。到目前为止,已经有许多关于森林砍伐的影响和大灭绝估计的研究。然而,现有的研究大多基于一个方面,为了更深入地探讨这些问题,我们考虑了典型相关分析方法来讨论毁林对经济和生态的影响,并利用偏最小二乘回归方法(PLS)建立了回归函数。
通过求解模型,得到一组典型变量(见方程(1.1)和(1.2)),说明森林砍伐对经济的影响最大,其次是畜牧业。结果表明,当地经济发展的需要,特别是农业经济发展的需要,是热带雨林砍伐的外部驱动因素。基于PLS得到的方程表明,森林砍伐使CO2排放量和濒危物种数量增加,人均可再生淡水资源减少,对生态环境造成严重破坏,对许多野生动物构成巨大威胁。
随后,对于近期是否会发生大灭绝的问题,首先采用非线性函数对毁林曲线进行拟合,拟合函数可以在方程(3.4)中观察到,利用该函数可以预测巴西未来的毁林情况。结合该结果和方程(3.3),预测2014年濒危物种数量为508种,仅比2009年增加1种。考虑到这一点,我们得出结论,在未来可能不会有大规模灭绝。
最后,为了估计未来20年有多少物种将灭绝,我们建立了一个DECS模型来估计未来的灭绝。首先,利用建立的PLS方法计算巴西亚马逊河流域的剩余森林面积。其次,利用微分方程模型计算了时间(t)可能发生的绝灭和“绝灭债”。最后,我们选择计算机模拟的模型来计算在不同的四种情况下灭绝的物种数量。结果表明,BAU、GOV、SR、EOD的灭绝物种分别为13、11、9、7(见表11)。
模型假设:
(1) 亚马逊未来不会发生大火灾。
(2) 未来亚马逊不会发生物种入侵。
(3) 所有数据都是合理的。
(4) 巴西的环境不会受到其他因素的污染。
(5) 这个词只有一个意思。
(6) 巴西的经济不会受到其他国家的严重影响。
问题分析:
由于60~70%的森林被用于养牛,20~30%的森林被用于农业,1~10%的森林被用于伐木[5]。因此,森林砍伐的影响可以通过草原、农业用地和伐木用地的每一种影响来表示。为了衡量森林砍伐对经济的影响,选择了三个指标——GDP、出口和耕地面积。然后得到两组变量。其次,可以考虑典型相关分析来分析毁林对经济的影响,而对于生态影响,则采用PLS方法进行分析。
通过观察森林砍伐随时间的变化,可以直观地看出,近十年来,巴西的生态环境日益恶化。考虑到这一点,我们选择建立一个基于偏最小二乘回归(PLS)的模型来分析毁林与生态环境的相关性。
为了估计未来20年有多少物种将灭绝,我们提出了一种估计未来灭绝的技术。首先,我们考虑使用PSL来计算巴西亚马逊地区的剩余森林面积。其次,利用微分方程和计算机模拟两种方法计算物种灭绝和物种灭绝。
模型的建立与求解整体论文缩略图


全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
部分程序代码:(代码和文档not free)
data ex;
Input x1-x3 y1-y3@@;
cards;
12393.68 4374.24 1458.08 6017 551 5764
24018.06 9825.57 2547.37 5084 582 5796.7
37727.3 16832.18 3482.52 4608 604 5828
52565.94 25865.78 5006.28 5525 731 5900
76734.9 25578.3 8896.8 6638 965 5901.2
88552.32 31253.76 10417.92 8822 1185 5900
91040.67 37572.34 15895.99 10891 1378 5970.8
107750.4 39040 9369.6 13660 1606 5950
104824.02 50721.3 13525.68 16526 1979 6100
112995.2 54732.05 8827.75 15945 1530 6075.3
;
proc cancorr data=ex all;var y1-y3;WITH x1-x3;
run;
clc,clear
format long
pz=[18.226 307.5 42.944 490
36.391 312.5 41.376 494
58.042 319 38.419 494
83.438 321.5 30.68 497
111.21 331.5 29.845 502
130.224 325.5 29.066 502
144.509 338 28.904 504
156.16 368 28.546 505
169.071 357.5 28.159 504
176.555 376 27.932 507];
disp('Mean and standard deviation:');
mu=mean(pz)
sig=std(pz) %Mean and standard deviation
disp('correlation coefficient matrix:');
rr=corrcoef(pz) %correlation coefficient matrix
data=zscore(pz); %data normalization
n=1;m=3; %N is the number of independent variables, m is the number of the
dependent variable
x0=pz(:,1:n);
y0=pz(:,n+1:end); %The original dependent and independent variables and data
e0=data(:,1:n);f0=data(:,n+1:end); %After standardization of dependent and
independent variables and data
num=size(e0,1);%The number of sample points
chg=eye(n); %transformation matrix initialization
for i=1:n
%the score of w,w* and t matrix=e0'*f0*f0'*e0; [vec,val]=eig(matrix); %Eigenvalues and eigenvectorsval=diag(val); %Puts forward characteristic value
[val,ind]=sort(val,'descend'); w(:,i)=vec(:,ind(1)); % put forward the corresponding feature vector of
the maximum eigenvaluew_star(:,i)=chg*w(:,i); %Calculation the value of w * t(:,i)=e0*w(:,i); %calculate the score of ti alpha=e0'*t(:,i)/(t(:,i)'*t(:,i)); %calculate the value of alpha_i chg=chg*(eye(n)-w(:,i)*alpha'); %calculate transformation matrixe=e0-t(:,i)*alpha'; %Calculating the value of residual matrix
e0=e;
beta=t\f0; %The coefficient of regression equationcancha=f0-t*beta; %Residual matrixss(i)=sum(sum(cancha.^2)); %error sum of squares
%calculate the value of press(i) for j=1:num t1=t(:,1:i);f1=f0; she_t=t1(j,:);she_f=f1(j,:); t1(j,:)=[];f1(j,:)=[]; beta1=[t1,ones(num-1,1)]\f1; cancha=she_f-she_t*beta1(1:end-1,:)-beta1(end,:); press_i(j)=sum(cancha.^2); end press(i)=sum(press_i); Q_h2(1)=1; if i>1, Q_h2(i)=1-press(i)/ss(i-1); end if Q_h2(i)<0.0975 fprintf('The number of components is put forward r=%d',i); break end
end
%--------------------------------------------------------------------------
disp('Y * about t of the regression coefficient:');
beta_z=t\f0
disp('Y * about x of the regression coefficient:');
xishu=w_star*beta_z
mu_x=mu(1:n);mu_y=mu(n+1:end);
sig_x=sig(1:n);sig_y=sig(n+1:end);
ch0=mu_y-(mu_x./sig_x*xishu).*sig_y;
for i=1:m xish(:,i)=xishu(:,i)./sig_x'*sig_y(i);
end
disp('Display the original data regression equation coefficient:');
sol=[ch0;xish]
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
相关文章:
2012年第一届数学建模国际赛小美赛B题大规模灭绝尚未到来解题全过程文档及程序
2012年第一届数学建模国际赛小美赛 B题 大规模灭绝尚未到来 原题再现: 亚马逊是地球上现存最大的雨林,比地球上任何地方都有更多的野生动物。它位于南美洲大陆的北侧,共有9个国家:巴西、玻利维亚、厄瓜多尔、秘鲁、哥伦比亚、委…...
macos管理本地golang的多版本sdk
背景 无论你是哪个编程语言的开发者,例如 Java、Go 等,通常在本地开发过程中,你经常需要安装相应的 SDK。由于各种原因,往往需要在不同的项目中来回切换多个版本的 SDK。 安装步骤 1.安装homebrew /bin/bash -c "$(curl -…...
count distinct在spark中的运行机制
文章目录 预备 数据和执行语句Expand第一次HashAggregateShuffle and Second HashAggregate最后结果性能原文 预备 数据和执行语句 SELECT COUNT(*), SUM(items), COUNT(DISTINCT product), COUNT(DISTINCT category) FROM orders;假设源数据分布在两个1核的结点上࿰…...
创建加密分区或者文件
文章目录 [GParted 中已清除的分区与未格式化的分区](https://superuser.com/questions/706624/cleared-vs-unformatted-partition-in-gparted)创建加密分区解密创建的加密分区以便挂载格式化设备未具体的格式(这里为ext4格式)创建挂载点目录挂载加密的文…...
STL——遍历算法
1.for_each 函数原型: for_each(iterator beg, iterator end, _func);——// 遍历算法 遍历容器元素; beg 开始迭代器;end 结束迭代器; _func 函数或者函数对象 #include<iostream> using namespace std; #include<ve…...
C语言经典算法【每日一练】20
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 1、先排序 2、插入 #include <stdio.h>// 主函数 void main() {int i,j,p,q,s,n,a[11]{127,3,6,28,54,68,87,105,162,18};//排序(选择排序)…...
Linux磁盘阵列
一.RAID磁盘阵列介绍 RAID(Redundatnt Array of lndependent Disks),全称为:独立冗余磁盘阵列 解释: RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻…...
本地网络禁用了在哪里开启?
在当今数字化时代,网络已经成为人们生活中不可或缺的一部分。然而,有时我们可能需要禁用本地网络,无论是出于安全考虑、提高专注力还是其他原因。本文将探讨禁用本地网络的方法以及如何在需要时重新开启网络连接。 第一部分:禁用…...
[mysql 基于C++实现数据库连接池 连接池的使用] 持续更新中
目背景 常见的MySQL、Oracle、SQLServer等数据库都是基于C/S架构设计的,即(客户端/服务器)架构,也就是说我们对数据库的操作相当于一个客户端,这个客户端使用既定的API把SQL语句通过网络发送给服务器端,MyS…...
【Flink SQL API体验数据湖格式之paimon】
前言 随着大数据技术的普及,数据仓库的部署方式也在发生着改变,之前在部署数据仓库项目时,首先想到的是选择国外哪家公司的产品,比如:数据存储会从Oracle、SqlServer中或者Mysql中选择,ETL工具会从Informa…...
idea导入spring-framework异常:error: cannot find symbol
从github上clone代码spring-framework到本地后导入idea,点击gradle构建后控制台提示异常: 具体异常信息: /Users/ZengJun/Desktop/spring-framework/buildSrc/src/main/java/org/springframework/build/KotlinConventions.java:44: error:…...
Unity坦克大战开发全流程——开始场景——开始界面
开始场景——开始界面 step1:设置UI 反正按照这张图拼就行了 step2:写脚本 前面的拼UI都是些比较机械化的工作,直到这里写代码的时候才真正开始有点意思了,从这里开始,我们就要利用面向对象的思路来进行分析࿱…...
【SpringCloud】从实际业务问题出发去分析Eureka-Server端源码
文章目录 前言1.EnableEurekaServer2.初始化缓存3.jersey应用程序构建3.1注册jeseryFilter3.2构建JerseyApplication 4.处理注册请求5.registry() 前言 前段时间遇到了一个业务问题就是k8s滚动发布Eureka微服务的过程中接口会有很多告警,当时…...
Java 代理模式
一、代理模式概述 代理模式是一种比较好理解的设计模式。简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。 代理模式的主要作用是扩展目标…...
【Java干货教程】JSON,JSONObject,JSONArray类详解
一、定义 JSON:就是一种轻量级的数据交换格式,被广泛应用于WEB应用程序开发。JSON的简洁和清晰的层次结构,易于阅读和编写;同时也易于机器解析和生成,有效的提升网络传输效率;支持多种语言,很多…...
2023年高级软考系统架构师考题参考
对于一些有实践经验的同学来说,感觉不难,但是落笔到纸面上,就差强人意了,平时这方面要多练习,所想所思要落到纸面上,或者表达清晰让别人听懂,不仅是工作中的一个基本素质,也是个非常…...
【c语言】飞机大战(1)
提前准备好游戏要的素材,可以到爱给网去找,飞机大战我们需要的是一个我方战机图片,一个背景图,三个敌方战机的图,我方战机的图片,敌方战机的图片,并且将图片和.cpp放在同一文件夹下. 这里创建.…...
关于 K8s 的一些基础概念整理
〇、前言 Kubernetes,将中间八个字母用数字 8 替换掉简称 k8s,是一个开源的容器集群管理系统,由谷歌开发并维护。它为跨主机的容器化应用提供资源调度、服务发现、高可用管理和弹性伸缩等功能。 下面简单列一下 k8s 的几个特性: 自…...
Node.js-fs、path、http模块
1.初识Node.js 1.1 什么是Node.js 1.2 Node.js中的JavaScript运行环境 1.3 Node.js可以做什么 Node.js 作为一个JavaScript 的运行环境,仅仅提供了基础的功能和 AP1。然而,基于 ode.s 提供的这些基础能,很多强大的工具和框架如雨后春笋&…...
CentOS 安装WebLogic
1.JDK 安装 cd /home/ mkdir java cd java/ tar -zxvf jdk-8u321-linux-x64.tar.gzvim /etc/profile添加以下内容到 /etc/profile JAVA_HOME/home/java/jdk1.8.0_321 CLASSPATH.:$JAVA_HOME/lib.tools.jar PATH$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH刷新配置…...
D3KeyHelper实战指南:从入门到精通的认知跃迁
D3KeyHelper实战指南:从入门到精通的认知跃迁 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper D3KeyHelper是一款专为《暗黑破坏神3》设计…...
PCIe配置寄存器详解:从枚举到设备驱动的完整流程(附常见问题排查)
PCIe配置寄存器深度解析:从硬件初始化到驱动加载的全链路实践指南 1. PCIe设备枚举的核心机制 PCIe设备的枚举过程是系统启动时最关键的硬件发现阶段。当主板通电后,CPU首先通过根联合体(Root Complex)发起总线扫描,这…...
4大维度优化Windows 11:给专业用户的系统减负指南
4大维度优化Windows 11:给专业用户的系统减负指南 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化和改善你…...
解决IDEA/DataGrip连接SQL Server时的TLS协议兼容性问题
1. 为什么IDEA/DataGrip连不上SQL Server? 最近帮同事排查一个数据库连接问题,发现不少人在用IDEA或DataGrip连接SQL Server时都会遇到这个报错:"The server selected protocol version TLS10 is not accepted by client"。这个错误…...
Qwen3-4B-Instruct-2507快速上手:手把手教你用Chainlit搭建可视化聊天界面
Qwen3-4B-Instruct-2507快速上手:手把手教你用Chainlit搭建可视化聊天界面 1. 准备工作与环境检查 1.1 了解Qwen3-4B-Instruct-2507模型 Qwen3-4B-Instruct-2507是阿里通义千问团队推出的轻量级语言模型,具有以下特点: 参数规模ÿ…...
Hearthstone-Script:炉石传说自动化脚本的革新实践
Hearthstone-Script:炉石传说自动化脚本的革新实践 【免费下载链接】Hearthstone-Script Hearthstone script(炉石传说脚本)(2024.01.25停更至国服回归) 项目地址: https://gitcode.com/gh_mirrors/he/Hearthstone-S…...
AI转PSD终极指南:快速实现矢量图到Photoshop分层文件的完美转换
AI转PSD终极指南:快速实现矢量图到Photoshop分层文件的完美转换 【免费下载链接】ai-to-psd A script for prepare export of vector objects from Adobe Illustrator to Photoshop 项目地址: https://gitcode.com/gh_mirrors/ai/ai-to-psd 还在为Illustrato…...
天硕(TOPSSD)深度解析:存储介质分类视角下,SSD固态硬盘如何一步步演进?
在信息技术持续迭代的背景下,存储介质的选择已不再局限于容量与成本,而逐渐成为决定系统性能上限、响应延迟与长期稳定性的关键因素。从光学存储到机械硬盘(HDD),再到以半导体技术为核心的SSD固态硬盘,每一…...
Display Driver Uninstaller:显卡驱动残留问题的技术深度解析与系统级清理方案
Display Driver Uninstaller:显卡驱动残留问题的技术深度解析与系统级清理方案 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/displ…...
开箱即用版Sambert语音合成:多情感AI配音部署与使用
开箱即用版Sambert语音合成:多情感AI配音部署与使用 1. 引言:多情感语音合成的价值与挑战 在智能客服、有声读物、虚拟主播等应用场景中,富有情感表现力的语音合成技术正变得越来越重要。传统语音合成系统往往只能生成单调机械的语音&#…...
