2023年美国大学生数学建模竞赛E题光污染解题全过程文档及程序

news2024/11/24 14:59:50

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

E题 光污染

原题再现:

  背景
  光污染被用来描述任何过度或不良地使用人造光。我们所说的一些光污染现象包括光侵入、过度照明和光杂波。在大城市,这些现象最容易被观测到的是太阳落山后天空中的一道辉光; 然而,它们也可能出现在更偏远的地区。
  光污染会改变我们对夜空的看法,对环境产生影响,并影响我们的健康和安全。例如,植物的成熟可能会延迟或加速,野生动物的迁徙模式也会受到影响。过多的人造光可能会混淆我们的昼夜节律,导致睡眠质量差,可能还会导致身心健康问题。人造光引起的眩光可能会导致一些机动车事故。
  社区官员或当地团体可能会实施干预策略,以减轻光污染的负面影响。然而,人造光既有正面影响,也有负面影响,会以不同的方式影响不同的地点。例如,为了避免上面列出的光污染的负面影响,一些社区选择低光社区,这反过来可能会导致犯罪率上升。光污染的影响可能取决于该地区的发展水平、人口、生物多样性、地理和气候等因素。因此,评估任何干预策略的影响程度和潜在影响都必须针对特定的地点进行调整。
  要求
  COMAP的照明控制任务(ICM)正在努力提高人们对光污染影响的认识,并制定干预策略以减轻这些影响。为了支持这一ICM工作,您的任务是解决测量和减轻光污染的影响各个地点,包括人类和非人类的问题。具体来说,你应该:
  制定一个广泛适用的度量标准,以确定一个地点的光污染风险水平。
  应用您的度量标准,并在以下四个不同类型的地点上解释其结果:
  受保护的土地位置,
  一个农村社区,
  一个郊区社区,
  一个城市社区。
  描述解决光污染的三种可能的干预策略。讨论实施每一项策略的具体行动,以及这些行动对光污染总体影响的潜在影响。
  选择你的两个地点,并使用你的指标来确定你的干预策略对每个地方最有效。讨论所选的干预策略如何影响该地点的风险水平。
  最后,对于你确定的一个地点及其最有效的干预策略,制作一页纸的传单来推广该地点的策略。

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

  光污染是人类活动造成的一种环境污染,对野生动物、植物和人类健康产生负面影响。随着城市化和工业化的不断发展,光污染问题日益严重。因此,评估和改善光污染的风险水平尤为重要。

  首先,我们收集了来自55个地区的十个指标的数据,并将这十个指标分为三个领域:光、社会和自然。然后结合层次分析法、熵权法和变异系数法计算这些指标的组合权重,构建光污染指数(LPI)公式,进而构建LSN评价模型。 最后,我们使用模糊聚类分析将所有位置分为四类,从而将光污染水平分为四类。

  其次,我们选择纽约市,贝尔维尤,塞多纳和黄石国家公园作为每种位置类型的代表。使用LSN评估模型,他们的LPI被计算为35.55,41.33,76.94,84.18。因此,它们的光污染水平分别获得I级,II级,III级,IV级。

  第三,提出了3种干预策略及其具体行动,构建了PIA-NN模型,研究了具体行动对光污染效应的潜在影响。这三种干预策略是:降低人造光强度,加强宣传教育,扩大植被面积。我们结合斯皮尔曼相关系数和BP神经网络模型,定量反映了三种干预策略对光污染效应的“潜在影响”。

  接下来,我们选择了两个具有代表性的地区,塞多纳和纽约市,使用PIA-NN模型和LSN评估模型探索三种干预策略对两个地区光污染水平的影响。结果表明,对于这两个区域,降低人造光强度是降低光污染风险水平的最有效干预策略。

  最后,我们将选择纽约市作为活动的地点,并围绕其相应的最有效的干预策略设计精美的传单。

模型假设:

  假设1:在本文中,LPI(光污染指数)被定义为一个地区光环境的得分。LPI值越高,该地区的光污染水平越低。
  理由:一个地区的光污染水平越低,该地方的光环境越好。根据人们的使用习惯,更好的调味品通常对应于更高的分数。

  假设2:在相关性分析中,仅保留相关性强的因子,删除相关性较小的因子。
  理由:影响光污染的因素很复杂。如果将相关性较小的因素也考虑在内,将使研究结果不那么重要,甚至可能产生误导性的结论。

  假设3:假设从互联网收集的数据是真实可靠的。
  理由:在研究光污染的过程中,我们选择了世界上最典型的区域,因此保证了数据的广泛性;所有数据均来自官网,因此数据的可靠性得到了保证。

问题重述:

  光污染最早由天文学家在1950年代提出[1],随着城市化和经济发展的加速,对夜间照明的需求逐渐增加。同时,人类在夜间过度使用或使用人造光源,从而消除了自然的黑暗。根据国际黑暗天空协会的数据,全球超过80%的人口生活在受光污染影响的地区,[2]欧洲和美国约99%的城市居民无法在夜间观测银河系。[3]在全球许多大城市,夜间的亮度甚至可以达到白天的水平。

  光污染问题正日益影响人们的日常生活,包括工作和休闲活动。它不仅破坏了我们夜空的美丽景色,而且对人类健康、安全和生态环境产生了负面影响。根据天文学研究,没有光污染的晴朗天空可以显示大约7颗星星,而在大城市中只能看到000-20颗星星。夜间过多的人造光会扰乱生物体的昼夜节律,导致睡眠质量差和失眠率升高。此外,人眼过度暴露在光线下会损害视网膜和虹膜,导致视力急剧下降。光线充足的城市街道上的远光灯也会对街道对面的行人或司机造成短暂的“视觉损失”,从而导致交通事故的发生率更高。此外,光污染还会改变植物的生长周期并影响野生动物的迁徙模式。
  因此,光污染问题需要全球紧急关注和监管
  我们的工作
  首先,我们提出了光-社会-自然(LSN)评估模型,用于评估一个地点的光污染风险水平。具体而言,该模型考虑了许多反映光污染的指标。根据这些指标,我们建立了二级评估系统。考虑到不同的方法有其局限性,指标的权重由层次分析法(AHP)、熵权重法(EWM)和变异系数法(CVM)的组合确定。我们选择了全球55个代表性地点,并根据相关数据计算其光污染指数,并通过模糊聚类确定不同程度的光污染。
  其次,我们选择了美国四种不同类型的地点,并使用LSN评估模型计算了每个地点的光污染指数,并结合当地实际情况分析了结果的合理性。
  然后,在我们之前构建的指标中,我们提出了三种干预策略,同时考虑到其可行性。对于每种干预策略,都提供了具体的行动。我们还建立了一个PIA-NN模型来分析这些行为对光污染影响的潜在影响。结果将被可视化并分析其合理性。
  此后,我们从任务2中选择两个地点作为研究对象,并使用PIA-NN模型和LSN评估模型分析三种干预策略对其光污染风险水平的影响,并进行相应的分析。
  最后,我们将选择纽约市作为活动的地点,并围绕其相应的最有效的干预策略设计精美的传单。

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

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

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

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

import urllib2
import numpy
from sklearn import datasets, linear_model
from math import sqrt
import matplotlib.pyplot as plt

#read data into iterable
target_url = "red.csv"
data = urllib2.urlopen(target_url)

xList = []
labels = []
names = []
firstLine = True
for line in data:
    if firstLine:
        names = line.strip().split(";")
        firstLine = False
    else:
        #split on semi-colon
        row = line.strip().split(";")
        #put labels in separate array
        labels.append(float(row[-1]))
        #remove label from row
        row.pop()
        #convert row to floats
        floatRow = [float(num) for num in row]
        xList.append(floatRow)

#divide attributes and labels into training and test sets
indices = range(len(xList))
xListTest = [xList[i] for i in indices if i%3 == 0 ]
xListTrain = [xList[i] for i in indices if i%3 != 0 ]
labelsTest = [labels[i] for i in indices if i%3 == 0]
labelsTrain = [labels[i] for i in indices if i%3 != 0]

xTrain = numpy.array(xListTrain); yTrain = numpy.array(labelsTrain); xTest = numpy.array(xListTest); yTest = numpy.array(labelsTest)

alphaList = [0.1**i for i in [0,1, 2, 3, 4, 5, 6]]

rmsError = []
for alph in alphaList:
    wineRidgeModel = linear_model.Ridge(alpha=alph)
    wineRidgeModel.fit(xTrain, yTrain)
    rmsError.append(numpy.linalg.norm((yTest-wineRidgeModel.predict(xTest)), 2)/sqrt(len(yTest)))

print("RMS Error             alpha")
for i in range(len(rmsError)):
    print(rmsError[i], alphaList[i])

#plot curve of out-of-sample error versus alpha
x = range(len(rmsError))
plt.plot(x, rmsError, 'k')
plt.xlabel('-log(alpha)')
plt.ylabel('Error (RMS)')
plt.show()

#Plot histogram of out of sample errors for best alpha value and scatter plot of actual versus predicted
#Identify index corresponding to min value, retrain with the corresponding value of alpha
#Use resulting model to predict against out of sample data.  Plot errors (aka residuals)
indexBest = rmsError.index(min(rmsError))
alph = alphaList[indexBest]
wineRidgeModel = linear_model.Ridge(alpha=alph)
wineRidgeModel.fit(xTrain, yTrain)
errorVector = yTest-wineRidgeModel.predict(xTest)
plt.hist(errorVector)
plt.xlabel("Bin Boundaries")
plt.ylabel("Counts")
plt.show()

plt.scatter(wineRidgeModel.predict(xTest), yTest, s=100, alpha=0.10)
plt.xlabel('Predicted Taste Score')
plt.ylabel('Actual Taste Score')
plt.show()

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

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

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

相关文章

网课录屏怎么录?分享3个录制网课方法!

案例:怎样才能录制清晰流畅的网课视频? 【我最近在网上购买了一个配音的课程,每天晚上8点老师会进行讲课,但是课程没有回放。我想通过录屏的方式将课程内容录制下来,那怎样才能录制清晰流畅的网课视频呢?】…

初识Mybatis -- Mybatis入门保姆级教程(一)

文章目录 前言一、认识mybatis1.mybatis是什么2.jdbc缺点3.mybatis优点4.MyBatis框架解决JDBC劣势 二、mybatis入门案例1.需求分析与操作步骤2.创建表tb_user、实体类和Mapper接口3.创建maven模块re_mb_demon4.在pom.xml配置文件中导入相关依赖5. 配置相关文件6.创建并编写模拟…

百汇BCR:十个外汇交易常见问题解析

外汇交易是一种受到市场欢迎的投资方式,参与交易很容易,但想要盈利却很难。特别是一些细节问题容易被忽略,百汇BCR小编整理了十个外汇交易常见问题供有需要的投资者借鉴学习。 问题一、外汇开户需要哪些资料? 个人相关信息资料、…

重新理解RocketMQ Commit Log存储协议

最近突然感觉:很多软件、硬件在设计上是有root reason的,不是by desgin如此,而是解决了那时、那个场景的那个需求。一旦了解后,就会感觉在和设计者对话,了解他们的思路,学习他们的方法,思维同屏…

JSON格式化工具

格式化JSON有多种方式,选两种。 1.在线JSON格式化 我喜欢用这个网站:在线JSON工具 2.Notepad插件 需要插件 - JSON Viewer。 安装方式: 2.1 点击工具栏“插件”-选择“插件管理…”,弹出插件管理窗口,在“可用”tab页&#xf…

一般人不会告诉你的FP独立站低成本运营内幕

不少朋友听说FP独立站盈利比较高之后就兴致勃勃地跟着别人建站、装修、选品……但在此之前有没有仔细想过,一个成功的F牌独立站到底要怎么运营?而且是,怎么低成本运营?现在我就跟大家分享一下,希望有想法入局F牌独立站…

CorelDRAW2023最新v24.4.0.623中文稳定版

图形设计软件CorelDRAW2023最新版下载矢量图形制作工具,CorelDRAW(简称CDR)是一款专业的图形设计软件。该软件是Corel公司开发的一款功能强大的专业平面设计软件、矢量设计软件、矢量绘图软件。这款矢量图形制作工具软件广泛应用于商标设计、标志制作、封…

史上最全类和对象 ,只要你认真看完C++类和对象,分分钟钟都吊打面试官【 C++】

文章目录 基础篇面向过程和面向对象类的引入类的定义类的访问限定符类的封装类的作用域类的实例化类对象模型如何计算类对象的大小类对象的存储方式猜测对象中包含类的各个成员代码只保存一份,在对象中保存存放代码的地址只保存成员变量,成员函数存放在公…

10.计算机基础-操作系统面试题—计算机系统概述、进程管理

本文目录如下: 计算机基础-操作系统 面试题一、计算机系统概述CPU 内核态 和 用户态 的区别?从 用户态 切换到 内核态 的常见方法: 二、进程管理线程 和 进程 的区别?协程 (goroutine) 和 线程的区别?进程有哪些状态?…

如果一定要在C++和JAVA中选择,是C++还是java?

前言 C和Java都是广泛应用于软件开发领域的高级编程语言。它们都有着各自的优势和适用场景,因此在进行选择时需要考虑到具体的需求和使用情况。 首先,C是一种面向对象的编程语言,它允许程序员直接控制计算机硬件,而且拥有较低的…

【分享】免费并集多个人工智能于一体的在线使用网站

哈喽,大家好,我是木易巷~ 今天来给大家分享一个集ChatGPT、GPT4、Claude等人工智能于一体的在线使用网站——Poe。 地址:https://poe.com 以下是一个汇集了目前热门人工智能工具的网站,只需使用一个神奇的工具,通过邮…

Todoist 的 10 种最佳替代品(功能、优点、缺点、定价)

寻找最好的 Todoist 替代品? Todoist对项目管理者来说并不陌生,它自 2007 年以来就一直很出名! ……但是作为老牌的组织类应用程序之一,现在再用它是否会觉得有点不顺手? 虽然它为了更好适应当今的工作节奏&#xf…

java 餐饮培训平台系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 java 餐饮培训平台系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…

Redis学习---05

一、Redis集群搭建,Redis主从复制,读写分离 默认情况下每台redis服务器都是主节点。 (1) 主从复制:是指将一台redis服务器的数据,复制道其他redis服务。前者成为主节点,后者成为从节点。默认情况下每一台redis服务器…

matlab编程基础

1数据结构 1.1常量与变量 变量命名第一个字符必须为字母,变量可以由数字、字母、下划线组成,区分大小写。 常量: 1.2 数值型数据 双精度:64位 智能存储15位左右十进制数 double() 单精度 :32位,single…

C++ 类和对象下 [补充]

文章目录 友元内部类内部类是外部类的天生友元 匿名对象匿名对象的特性 友元 友元函数 重载operator<< 输出自定义类型 比如日期类的这个重载&#xff0c;就是解决类外访问私有变量的例子&#xff0c;设计成了友元函数。 说明&#xff1a; 友元函数可访问类的私有和保护成…

MS31703直流栅极驱动可pin对pin兼容DRV8703

DRV870x-Q1 器件是一款小型单通道 H 桥栅极驱动器&#xff0c;它使用四个外部 N 通道 MOSFET&#xff0c;旨在驱动一个双向刷式直流电机。 PH/EN、独立 H 桥或 PWM 接口允许轻松连接到控制器电路。内部传感放大器提供可调的电流控制。集成的电荷泵可提供 100% 占空比支持&#…

自动化测试 —— Airtest

最近在做APP自动化过程中&#xff0c;有调研Airtest框架的使用&#xff0c;便初步介绍一下Airtest框架的使用&#xff0c;有兴趣的小伙伴&#xff0c;可以一起探讨学习~ (一&#xff09;背景 Airtest是什么&#xff1f; Airtest是一款基于Python的、跨平台的UI自动化测试框架&…

数据结构与算法(三)

一、队列 队列&#xff08;queue&#xff09;:它是一种一种运算受限的线性表&#xff0c;FIFO&#xff08;先进先出&#xff09; 栈&#xff1a;后进先出 受限之处&#xff1a;它只允许表的前端&#xff08;front&#xff09;进行删除操作&#xff0c;在表的后端(rear)进行插…

如何高效搭建影视及游戏工业化管线?

影视和游戏工业化是指制作流程上呈现出标准化、自动化、平台化、数智化的特征。工业化趋势会让制作影视和游戏门槛变高&#xff0c;让其进入精品对决时代。 不进行迭代&#xff0c;就面临被淘汰的危险。 随着受众对于影视和游戏质量的要求越发“苛刻”&#xff0c;精品化是整…