当前位置:   article > 正文

2020年美国大学生数学建模竞赛E题淹没在塑料里解题全过程文档及程序_2020美赛e题用的模型

2020美赛e题用的模型

2020年美国大学生数学建模竞赛

E题 淹没在塑料里

原题再现:

  自20世纪50年代以来,由于塑料用途的多样化,如食品包装、消费品、医疗器械和建筑,使得塑料的生产呈指数级增长。这虽然有明显的好处,但塑料产量增加带来的负面影响同样令人担忧。塑料制品不易分解,很难处理,只有大约9%的塑料被回收[1]。每年大约有400万到1200万吨的塑料垃圾进入海洋[1,2]。塑料垃圾已经对环境造成了严重的后果,根据预测,如果按照我们目前的趋势继续发展下去,到2050年海洋里的塑料将比鱼还多[2]。人们已经研究过塑料对海洋生物的影响[3] ,但对人类健康的影响还没有完全弄清楚[4]。一次性塑料产品的兴起导致整个行业都在制造塑料垃圾。并且塑料产品的使用时间远远短于缓解塑料垃圾产生的时间。因此,为了解决塑料垃圾问题,我们需要放慢塑料生产的速度,并且改进我们对塑料垃圾的管理水平。
  您的团队已被国际塑料垃圾管理委员会(ICM)聘请来解决这一不断升级的环境危机。你们必须制定一个计划来有效减少甚至消除,一次性塑料产品的浪费。
  建立一个模型来评估一次性塑料产品垃圾的最高水平使得这些垃圾可以安全地减少并且不会进一步破坏环境。在众多因素中,您可能需要考虑这些塑料垃圾的来源、当前垃圾问题的严重程度以及处理这些垃圾的资源可回收性。
  讨论在何种程度上可以减少塑料垃圾以达到环境安全水平。这可能涉及到考虑影响塑料垃圾水平的因素,包括但不限于,一次性塑料的来源和用途,替代塑料的有效性,对居民生活的影响程度,或城市,地区,国家和大洲的政策对减少一次性塑料的有效性。这些可能因地区而异,因此考虑特定区域的约束可能使某些政策比其他更有效。
  利用你的模型和讨论,为一次性塑料产品的全球垃圾可达到的最低水平设定一个目标值,并讨论达到这一水平的影响。你可以考虑该水平对人类生活方式的改变,对环境的影响,或者对数万亿美元的塑料工业的影响。
  虽然这是一个全球性的问题,但其原因和后果并不是在各个国家或地区相同的。讨论你的解决方案对全球危机中出现的公平问题的考虑。你建议ICM如何解决这些问题?
  给ICM写一份两页的备忘录,描述一个现实可行的全球目标,即一次性塑料产品垃圾的最低可实现水平,达到这个水平的时间表,以及任何可能加速或阻碍你的目标和时间计划的现实情况。

整体求解过程概述(摘要)

  塑料垃圾污染,正在对全球生态系统和人类构成巨大威胁健康在引起全球公平问题的同时,一次性塑料的兴起甚至使情况恶化。为了更好地理解和解决这些问题,本文重点测量一次性塑料废物的影响,预测其趋势并给出一些合理的建议。
  为了估计在不进一步破坏环境的情况下可以安全缓解的一次性塑料废物的最大水平,我们创建了一个环境承载率模型(EBRM)。 首先,通过分析塑料垃圾的来源和处置情况,给出了一次性塑料废弃物与环境承载量(EBQ)的关系;其次,推导EBQ与环境承载力(EBC)的交互关系,得到环境自我恢复的阈值条件,即EBQ等于EBC; 最后,推导出一次性塑料废物的最大水平。
  为了讨论一次性塑料废物水平可以降低到什么程度,我们建立了一个DPWPM(一次性塑料废物预测模型)。 首先,选择影响一次性塑料垃圾产生和管理的11个可量化指标。然后我们根据发展程度、污染程度和是否沿海对区域进行分类。接下来,我们使用这些指标进行主成分分析以降低维度。最后,我们使用多变量时间序列模型来获取一次性塑料垃圾比例与这些指标之间的关系,并预测其将减少到什么程度。为了验证该模型,我们将其应用于爱尔兰,结果是一次性塑料废物占总废物的比例将降至0.3%,接近官方统计数据。此外,我们分析了不同地区的政策有效性,并使用EBRM和人类友好指标来衡量减排将如何影响生态系统和人类健康。
  为了提供全球一次性塑料浪费的最小可实现水平,我们首先使用二次指数平滑模型来预测全球塑料总产量。然后,DPWPM用于预测其在不同国家组中的塑料废物中的比例。结合EWM(熵权重法),我们得到了其在塑料中所占比例的全局曲线。最后,我们得出的结果是,到15年,全球一次性塑料废物的最低可达到水平为88万吨。此外,我们还得出了该目标将如何影响人类生活、环境和塑料行业的结论。
  全球塑料垃圾危机的不公平问题主要体现在塑料垃圾产生和污染分布不均,以及不同国家对塑料垃圾处置的经济投入不同。我们提出了四种预期的解决方案,包括为塑料废物分配许可证和澄清州际产权。最后,我们使用旋转估计和高斯噪声来测试模型的鲁棒性,并向ICM写了一份关于全球塑料废物最低可达到水平的备忘录。

模型假设:

  为了简化成本效益分析模型,本文做出了以下基本假设,每个假设都得到了适当的证明。
  我们假设环境承载力的增加可以忽略不计,因为生态系统的演化是一个漫长的过程。
  环境的突然变化可以忽略不计,因为它很少见。
  我们假设所有地区都将对日益恶化的一次性塑料废物问题做出积极反应,并采取适当措施加以改善。根据大多数国家的反应,这一假设是合理的。

问题重述:

  为了解决塑料垃圾问题,我们需要制定一个计划,通过减缓塑料生产和提高废物利用率来减少甚至消除一次性塑料制品。考虑到塑料大多是一次性的,我们特别关注一次性塑料制品。
  我们需要做的如下:
  在可以安全减轻废物而不进一步污染环境的前提下,建立一个模型来估算一次性塑料制品废物的最大水平。
  研究可以减少多少塑料废物以达到环境安全水平。
  基于上述研究,设定全球一次性塑料废物最低可达到水平的目标,并探索实现这一目标对许多方面的影响。
  考虑到一次性塑料问题的原因和后果因地而异,讨论相关的公平问题并提出解决方案。

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

alpha=0.3;
beta=0.3;
gamma=0.5;
fc=12;
k=12;
%%
X=load('passengers.txt');
S=reshape(X,[144,1]);
plot(S,'r');
n=length(S);
a(1)=sum(S(1:k))/k;
b(1)=(sum(S(k+1:2*k))-sum(S(1:k)))/k^2;
s=S-a(1);
y=a(1)+b(1)+s(1);
f=zeros(144,1);
for i=1:n+fc
 if i==length(S)
 S(i+1)=a(end)+b(end)+s(end-k+1);
 end
a(i+1)=alpha*(S(i)-s(i))+(1-alpha)*(a(i)+b(i));
b(i+1)=beta*(a(i+1)-a(i))+(1-beta)*b(i);%
s(i+1)=gamma*(S(i)-a(i)-b(i))+(1-gamma)*s(i);%
y(i+1)=a(i+1)+b(i+1)+s(i+1);
end
hold on
plot(y,'b');
hold off
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
import numpy as np
import pandas as pd
import csv
from scipy.stats import lognorm
import math
import matplotlib.pyplot as plt
D = [0.1, 3, 7, 2, 1, 3, 1.5, 1.5] # plastic lifetime standard deviation
E = [0.5, 13, 35, 8, 3, 20, 5, 5] # plastic lifetime expectation
b = 0.359
def use_age(kind, year):
d = D[kind] ** 2
s = math.log((1 + d / (E[kind] ** 2))) ** 0.5
mu = math.log(E[kind]) - 0.5 * math.log((1 + D[kind] / (E[kind] ** 2)))
res = lognorm.cdf(year, s, scale=math.exp(mu)) - lognorm.cdf(year-1,
s, scale=math.exp(mu))
return res
class Plastic(object):
def __init__(self, total, year, discard=100, inc=0, rec=0):
self.Total = total
self.Year = year
self.Trans = total * 0.066
self.Pack = total * b
self.Bui_Cons = total * 0.160
self.Elect = total * 0.044
self.Cons_Indus = total * 0.103
self.IndMach = total * 0.007
self.Other = total * 0.145
self.Tef = total * 0.115
self.DisRatio = discard / 100
self.Inc = inc / 100
self.Rec = rec / 100
def Recycle(self, rec):
self.Total += rec
self.Trans += rec * 0.067
self.Pack += rec * 0.448
self.Bui_Cons += rec * 0.188
self.Elect += rec * 0.038
self.Cons_Indus += rec * 0.008
self.Other += rec * 0.132
# Read the annual plastic productions
Global_plastics_production_file =global-plastics-production.csv’
df_AP = pd.read_csv(Global_plastics_production_file, usecols=[2, 3])
df_AP_list = np.array(df_AP)
Ap_list = df_AP_list.tolist()
AP = list(Plastic(item[1], item[0]) for item in Ap_list)
# Read the ratios
G_P_F =global-plastic-fate.csv’
df_R = pd.read_csv(G_P_F, usecols=[0, 2, 3])
df_R_list = np.array(df_R)
R_list = df_R_list.tolist()
for item in R_list:
if item[0] == ’Discarded’:
AP[item[1] - 1950].DisRatio = item[2] / 100
elif item[0] == ’Incinerated’:
AP[item[1] - 1950].Inc = item[2] / 100
elif item[0] == ’Recycled’:
AP[item[1] - 1950].Rec = item[2] / 100
AW_s = np.zeros(66)
AW_o = np.zeros(66)
AW = np.zeros(66)
Plt = np.zeros(66)
for t in range(1, 66):
AW_s[t] += AP[t-1].Pack * use_age(0, 1)
AW_s[t] += AP[t-2].Pack * use_age(0, 2) # calculate the annual waste
#of single-use plastic
for j in range(1, t+1):
AW_o[t] += AP[t - j].Trans * use_age(1, j)
AW_o[t] += AP[t - j].Bui_Cons * use_age(2, j)
AW_o[t] += AP[t - j].Elect * use_age(3, j)
AW_o[t] += AP[t - j].Cons_Indus * use_age(4, j)
AW_o[t] += AP[t - j].IndMach * use_age(5, j)
AW_o[t] += AP[t - j].Other * use_age(6, j)
AW_o[t] += AP[t - j].Tef * use_age(7, j)
AW[t] = AW_s[t] + AW_o[t]
AP[(t+1) % 66].Recycle(AW_o[t] * AP[t].Rec)
Plt[t] = AW_s[t] * (1 - AP[t].Inc) + AW_o[t] * (1 - AP[t].Inc - AP[t].Rec)
with open(’data_1951-2015.csv’, ’w’, newline="") as csvfile:
writer = csv.writer(csvfile)
writer.writerow(["Year", "AW_s", "AW_o", "AW", "Pollution"])
for i in range(1, 66):
writer.writerow([i+1950, AW_s[i], AW_o[i], AW[i], Plt[i]])
x = np.arange(1951, 2016, 1)
plt.subplot(121)
plt.plot(x, AW_o[1:], label=’AW_o’, color=’r’)
plt.plot(x, AW_s[1:], label=’AW_s’, color=’b’)
plt.plot(x, AW[1:], label=’Total’, color=’g’)
plt.legend()
plt.subplot(122)
plt.plot(x, Plt[1:], label=’Pollution’, color=’y’)
plt.legend()
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/79802
推荐阅读
相关标签
  

闽ICP备14008679号