2019年第八届数学建模国际赛小美赛B题数据中心冷出风口的设计解题全过程文档及程序
2019年第八届数学建模国际赛小美赛
B题 数据中心冷出风口的设计
原题再现:
这是数据中心空调设计面临的一个问题。在一些数据中心,计算机机柜是开放的,在一个房间里排列成三到四排。冷却后的空气通过主管进入房间,并分为三到四个支管。支管的出口只能放在天花板上,向下吹,热空气从房间一侧的热空气安全壳中排出。每个支管的出口不应超过三个1。由于冷空气和热空气的混合,冷空气的利用效率降低。因此,我们需要考虑空气流量,以减少走廊和缝隙中浪费的制冷量。
我们需要考虑天花板的高度、橱柜的高度以及不同橱柜的典型热输出。我们假设空调的总制冷量能够满足机房的运行要求。当我们确定机柜的布局时,如何设置空调出风口的位置是最好的解决方案?
整体求解过程概述(摘要)
数据通信机房是一个巨大的耗能系统。近年来,随着网络通信技术的飞速发展,在机房的建设和改造过程中,面临着许多能源和安全问题。为了保证数据通信机房的高效冷却和安全运行的重要保证,运营商希望在正常工作的前提下改善机房内的气流组织,并在消除可能的安全隐患的前提下,将散热、功耗降至最低。针对此类工程应用问题,本文对机房空调配置及运行状况进行了综合评价。基于ANSYS的icepak模块,成功构建了机房内部温度场和气流方向,建立了机房数学模型,模拟了机房温度场。对数据通信机房的分布状况、冷负荷核算、实验设计和优化进行了研究。最后,建立筛选软件,提供不同的冷却方案。
首先分析了机房的俯视图、侧视图和主视图,并在每个视图中设置了敏感区域和路径的特殊点。由于机房内的温度随时间呈线性变化,但随位置变化具有明显的区域性特征,为了能够简单地获得温度情况,可以对机房内的温度变化进行有限元模拟,在仿真结果中可以方便地得到特殊点的温度。在设定的路径上进行曲线拟合,得到温度随位置变化的函数。由于计算机室内的空间是特定的,通过在所有空间中依次设置路径,可以很容易地检测到空间中的任何位置的温度变化。然后对温度进行时间积分,得到热的变化。
模型假设:
1、各种材料的导热系数是恒定的,不随时间变化。
2、各出风口风量始终相同。
3、各风口风速为固定值。
4、假设不存在能源浪费(冷水机组效率为100%),达到机房设定温度所需的冷量为合理的参考冷负荷。
5、假设日常空调运行前机房内外温度相同。
6、假设机房电气设备冷负荷全年不变。
7、假设房间位置的温度是恒定的。
8、忽略空调内部水管阻力和自身能耗。
9、假设出风口位置、底盘高度、室内吊顶高度、底盘类型为自变量。
10、假设底盘随高度增加,热量均匀增加。
问题分析:
由于支管的位置只能放在顶棚上,风冷气体只能从顶棚吹出,在顶棚处可以改变冷却气体的出口位置,以达到最佳的冷却效果。对于不同类型的出风口位置,可设置不同类型的机柜放电。由于从天花板吹来的冷却气体密度较高,部分气体与走廊和缝隙中的热风混合,消耗不必要的冷却,不会显著降低机柜的热量。这部分气体理论上需要实现。增加冷却效率的最小值。
由于机柜的高度将直接影响机柜中服务器的数量,从而影响总产热量,因此机柜的高度对提高冷却效率起着重要作用。由于重力的下降,从天花板上的冷却气体出口吹出的冷却气体在不同高度会产生不同的影响。在最高空气温度下,冷却气体的密度高于冷却气体的密度,且冷却气体的下降速度较快。在逐渐下降的过程中,由于机柜释放的热量的影响,一些较热的气体和冷却气体混合,使冷却气体的温度逐渐上升和下降。冷却气体吸收并混合底盘在干燥垂直方向释放的所有热量,由于冷却气体的温升和温降速率,这部分气体的温度达到最大值。升温气体继续上升,为保证带走底盘热量的冷却气体能及时排出室外,冷却气体出口应尽量远离出口风口,以便及时带走底盘热量,但此时,离冷却口最远的机柜会因为少量冷却而达到非常高的温度。另外,由于不同的散热方式和不同机柜的散热方式不同,周围空气的热传导也不同,因此不同类型的机柜对散热也有重要影响。
为了说明这一问题,本文设置了两组实验。第一组实验在风口在吊顶上位置固定的情况下,确定影响室内总冷量的主要因素,并采用显著性检验确定影响室内总冷量的主要因素。通过检验,计算显著性系数,粗略确定影响因素权重,建立底盘高度、室内吊顶高度与底盘类型之间的函数关系。第二组测试在确定箱体高度、室内天花板高度和底盘类型之间作为变量的函数关系的基础上,重置天花板上出风口的位置。
模型的建立与求解整体论文缩略图
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
部分程序代码:(代码和文档not free)
function main()
clc % clear screen
clear all; % clear memory armor to speed up computing
close all; % current figure images
warning off; % mask does not have the necessary warning
SamNum=20; % input sample number is 20
TestSamNum=20; % test sample size is 20
ForcastSamNum=2;% predicted sample size is 2
HiddenUnitNum=8;% in the middle layer the number of hidden layers is 8
InDim=3; % network input dimension is 3
OutDim=2; % network output size is 2 % Raw data
%
sqrs=[0.46 0.46 0.46 0.44 0.44 0.44
0.35 0.50 0.50 0.48 0.48 0.47
0.30 0.55 0.52 0.45 0.50 0.45
0.23 0.59 0.55 0.46 0.53 0.40];
%
sqjdcs=[0.520.52 0.48 0.48 0.48
0.56 0.55 0.49 0.55 0.54
0.59 0.59 0.58 0.58 0.55
0.61 0.65 0.61 0.59 0.59
0.63 0.68 0.62 0.62 0.62];
sqglmj=[0.52 0.52 0.48 0.48 0.48
0.56 0.55 0.49 0.55 0.54
0.59 0.59 0.58 0.58 0.55
0.61 0.65 0.61 0.59 0.59
0.63 0.68 0.62 0.62 0.62];
%
glkyl=[0.52 0.52 0.48 0.48 0.48
0.56 0.55 0.49 0.55 0.54
0.59 0.59 0.58 0.58 0.55
0.61 0.65 0.61 0.59 0.59
0.63 0.68 0.62 0.62 0.62];
%
glhyl=[0.45 0.45 0.45 0.55 0.55 0.55
0.42 0.50 0.55 0.56 0.59 0.58
0.40 0.52 0.58 0.61 0.62 0.62
0.38 0.54 0.61 0.60 0.64 0.61
0.35 0.59 0.64 0.61 0.65 0.63]; p=[sqrs;sqjdcs;sqglmj]; % input data matrixt
t=[glkyl;glhyl]; % target data matrix
[SamIn,minp,maxp,tn,mint,maxt]=premnmx(p,t); % Initial sample pair (input and output) initialization rand('state',sum(100*clock)); % Generate random numbers based on system clock seeds
NoiseVar=0.01; % noise intensity is 0.01 (the purpose of adding noise is to prevent network overfitting)
Noise=NoiseVar*randn(2,SamNum); % Generate noise
SamOut=tn+Noise; % Add noise to the output sample TestSamIn=SamIn; % The input sample is the same as the test sample because the sample size is too small
TestSanOut=SamOut; % The output sample is the same as the test sample MaxEpochs=50000; % Maximum training times is 50000
lr=0.035; % Learning rate is 0.035
E0=0.65*10^(-3); % Target error is 0.65*10^(-3)
W1=0.5*rand(HiddenUnitNum,InDim)-0.1;% Initializes the weight between the input layer and the hidden layer
B1=0.5*rand(HiddenUnitNum,1)-0.1;% Initializes the weight between the input layer and the hidden layer
W2=0.5*rand(OutDim,HiddenUnitNum)-0.1;% Initializes the weight between the output layer and the hidden layer
B2=0.5*rand(OutDim,1)-0.1;% Initialize the weight between the output layer and the hidden layer
ErrHistory=[]; % Pre-occupies memory for intermediate variables
for i=1:MaxEpochs HiddenOut=logsig(W1*SamIn+repmat(B1,1,SamNum)); % Hidden layer network output NetworkOut=W2*HiddenOut+repmat(B2,1,SamNum); % Output layer network output Error=SamOut-NetworkOut; % The difference between the actual output and the network output SSE=sumsqr(Error); % Energy function (square of error) ErrHistory=[ErrHistory SSE]; if SSE<E0,break,end % Jump out of the learning loop if the error is met % The following 6 lines are the core programs of the BP network % They are weights (values) dynamically adjusted for each step according to the energy function negative gradient descent
principle Delta2=Error; Delta1=W2'*Delta2.*HiddenOut.*(1-HiddenOut); % Correct the weights and thresholds between the output layer and the hidden layer dW2=Delta2*HiddenOut'; dB2=Delta2*ones(SamNum,1);
% Correct the weights and thresholds between the input layer and the hidden layerdW1=Delta1*SamIn'; dB1=Delta1*ones(SamNum,1); W2=W2+lr*dW2; B2=B2+lr*dB2; W1=W1+lr*dW1; B1=B1+lr*dB1; end HiddenOut=logsig(W1*SamIn+repmat(B1,1,TestSamNum)); % Implicit layer output prediction
NetworkOut=W2*HiddenOut+repmat(B2,1,TestSamNum); % Output layer output prediction result
a=postmnmx(NetworkOut,mint,maxt); % Restore the results of the network output layer
x=1990:2009; % Timeline scale
newk=a(1,:); % Network output passenger traffic
newh=a(2,:); % Network output freight volume
figure;
subplot(2,1,1);plot(x,newk,'r-o',x,glkyl,'b--+');
legend('network output', 'actual amount');
xlabel('Year'); ylabel('Passenger traffic / 10,000 people');
title('Source program neural network passenger traffic learning and test comparison chart'); subplot(2,1,2);plot(x,newh,'r-o',x,glhyl,'b--+'); % Drawing a comparison chart
legend('network output', 'actual amount');
xlabel('Year'); ylabel('Passenger traffic / 10,000 people');
title(' source program neural network freight volume learning and test comparison chart '); % Use trained data for forecasting
% When using the trained network to predict the new data pnew, it should also be processed
pnew=[73.39 75.55 3.9635 4.0975 0.9880 1.0268]; % 2018 related data
pnewn=tramnmx(pnew,minp,maxp); %normalizes the new data using the normalized parameters of the original input data
HiddenOut=logsig(W1*pnewn+repmat(B1,1,ForcastSamNum)); %
anewn=W2*HiddenOut+repmat(B2,1,ForcastSamNum); %
% Restore the network predicted data to the original order of magnitude
format short
anew=postmnmx(anewn,mint,maxt)
Differential Evolution Algorithm MATLAB Source Code
N = 20; %set population
F = 0.5; %sets the differential scaling factor
P_cr = 0.5; %sets the crossover probability
T = 300; %sets the maximum number of iterations
f = @(x,y) -20.*exp(-0.2.*sqrt((x.^2+y.^2)./2))-exp((cos(2.*pi.*x)+cos(2.*pi.*y))./2)+20+exp(1); % defines the objective function
%population initialization
population = -4 + rand(N,2).*8;
t = 0; % algebra initialization
%starts iteration
while t < T% variationH_pop = [];for i = 1:Nindex = round(rand(1,3).*19)+1;add_up = population(index(1),:) + F.*(population(index(2),:)-population(index(3),:));H_pop = [H_pop; add_up];end
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
相关文章:
2019年第八届数学建模国际赛小美赛B题数据中心冷出风口的设计解题全过程文档及程序
2019年第八届数学建模国际赛小美赛 B题 数据中心冷出风口的设计 原题再现: 这是数据中心空调设计面临的一个问题。在一些数据中心,计算机机柜是开放的,在一个房间里排列成三到四排。冷却后的空气通过主管进入房间,并分为三到四个…...
mmpose 使用笔记
目录 自己整理的可以跑通的代码: 图片demo: 检测加关键点 自己整理的可以跑通的代码: 最强姿态模型 mmpose 使用实例-CSDN博客 图片demo: python demo/image_demo.py \tests/data/coco/000000000785.jpg \configs/body_2d_k…...
<url-pattern>/</url-pattern>与<url-pattern>/*</url-pattern>的区别
<url-pattern>/</url-pattern> servlet的url-pattern设置为/时, 它仅替换servlet容器的默认内置servlet,用于处理所有与其他注册的servlet不匹配的请求。直白点说就是,所有静态资源(js,css,ima…...
Spring IoCDI
文章目录 一、Spring、Spring boot、Spring MVC之间的区别1. Spring 是什么2. 区别概述 一、Spring、Spring boot、Spring MVC之间的区别 1. Spring 是什么 Spring 是包含了众多工具方法的 IoC 容器 (1)容器 容器是用来容纳某种物品的基本装置…...
vue使用el-tag完成添加标签操作
需求:做一个添加标签的功能,点击添加后输入内容后回车可以添加,并且标签可以删除 1.效果 2.主要代码讲解 鼠标按下后触发handleLabel函数,根据回车的keycode判断用户是不是按下的回车键,回车键键值为13,用…...
ACM-MM2023 DITN详解:一个部署友好的超分Transformer
目录 1. Introduction2. Method2.1. Overview2.2. UFONE2.3 真实场景下的部署优化 3. 结果 Paper: Unfolding Once is Enough: A Deployment-Friendly Transformer Unit for Super-Resolution Code: https://github.com/yongliuy/DITN 1. Introduction CNN做超分的缺点 由于卷…...
STM32超声波——HC_SR04
文章目录 一.超声波图片二.时序图三.超声波流程四.单位换算五.取余计算六.换算距离七.超声波代码 一.超声波图片 测量距离:2cm——400cm 二.时序图 (1).以下时序图要先提供一个至少10us的脉冲触发信号,告诉单片机我准备好了,然后该超声波…...
[Excel] vlookup函数
VLOOKUP用法 VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])其中: lookup_value是你要查找的值table_array是你要在其中进行查找的表格区域col_index_num是你要返回的在table_array中列索引号range_lookup是一个可选参数,用于指定…...
Python入门第5篇(爬虫相关)
目录 爬虫初步说明 html相关基础 urllib之读取网页内容 http相关基础 requests之webapi调用 爬虫初步说明 爬虫,一句话来说,即模拟浏览器爬取一些内容,如自动下载音乐、电影、图片这种的 具体可能是直接访问网页进行解析,也…...
单元测试二(实验)-云计算2023.12-云南农业大学
1、实践系列课《深入浅出Docker应用》 https://developeraliyun.com/adc/scenarioSeries/713c370e605e4f1fa7be903b80a53556?spma2c6h.27088027.devcloud-scenarioSeriesList.13.5bb75b8aZHOM2w 容器镜像的制作实验要求 创建Dockerfile文件: FROM ubuntu:latest WORKDIR data…...
Axure动态面板的使用以及示例分享
目录 一. 什么是动态面板 二. 动态面板教程——以轮播图为例 2.1 创建动态面板 2.2 动态面板自适应大小 2.3 重复状态,将图片导入 2.4 添加交互事件——图片切换 2.5 效果展示 三. 多方式登录示例展示 四. 后台主界面左侧菜单栏示例展示 一. 什么是动态面板…...
容斥原理的并
文章目录 简介AcWing 890. 能被整除的数思路解析CODE 简介 推荐题解:https://www.acwing.com/solution/content/126553/ 画了图,清晰易懂,懒得打字了。 总之就是以下公式: S S 1 S 2 S 3 − S 1 ∩ S 2 − S 1 ∩ S 3 − S 2 …...
JavaSE第7篇:封装
文章目录 一、封装1、好处:2、使用 二、四种权限修饰符三、构造器1、作用2、说明3、属性赋值的过程 一、封装 封装就是将类的属性私有化,提供公有的方法访问私有属性 不对外暴露打的私有的方法 单例模式 1、好处: 1.只能通过规定的方法来访问数据 2.隐藏类的实例细节,方便…...
mysql数据库相关知识【MYSQL】
mysql数据库相关知识【MYSQL】 一. 库1.1 登录数据库管理系统1.2 什么是数据库1.2.1 mysqld与mysql 1.3 编码集和校验集1.3.1 什么是编码集和校验集1.3.2 查看库对应的编码集和校验集1.3.3 用指定的编码集和校验集 1.4 库的操作 一. 库 1.1 登录数据库管理系统 这个算是第一个…...
android studio 创建按钮项目
1)、新建一个empty activity项目,切换到project视图: 2)、修改app\src\main\res\layout\activity_main.xml文件,修改后如下: <?xml version"1.0" encoding"utf-8"?> <andr…...
gitee提交代码步骤介绍(含git环境搭建)
1、gitee官网地址 https://gitee.com; 2、Windows中安装git环境 参考博客:《Windows中安装Git软件和TortoiseGit软件》; 3、设置用户名和密码 这里的用户名和密码就是登录gitee网站的用户名和密码如果设置错误,可以在Windows系统的“凭据管理…...
【MyBatis-Plus】常用的插件介绍(乐观锁、逻辑删除、分页)
🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于MyBatis-Plus的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.为什么要使用MyBatis-Plus中的插…...
DApp测试网络Ganache本地部署并实现远程连接
文章目录 前言1. 安装Ganache2. 安装cpolar3. 创建公网地址4. 公网访问连接5. 固定公网地址 前言 Ganache 是DApp的测试网络,提供图形化界面,log日志等;智能合约部署时需要连接测试网络。 Ganache 是一个运行在本地测试的网络,通过结合cpol…...
好用的硬盘分区工具,傲梅分区助手 V10.2
傲梅分区助手软件可以帮助用户在硬盘上创建、调整、合并、删除分区,以及管理磁盘空间等操作。它可以帮助你进行硬盘无损分区操作。 支持系统 目前这款软件支持 Windows 7、Windows 8、Windows 10、Windows 11 等个人系统,还支持 Windows 2012/2016/2019…...
【华为鸿蒙系统学习】- HarmonyOS4.0开发|自学篇
🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:"没有罗马,那就自己创造罗马~" 目录 HarmonyOS 4.0 技术介绍: HarmonyOS三大特征: 1.实现硬件互助&#…...
Qt图像处理-Qt中配置OpenCV打开本地图片
本文讲解Qt中配置OpenCV过程并用实例展示如何使用OpenCV打开图片(windows环境下) 一、下载OpenCv 本文使用版本OpenCV-MinGW-Build-OpenCV-3.4.5 下载地址: https://codeload.github.com/huihut/OpenCV-MinGW-Build/zip/refs/heads/OpenCV-3.4.5 点击Code-local-Downlo…...
HTML中RGB颜色表示法和RGBA颜色表示法
Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍HTML中RGB颜色表示法和RGBA颜色表示法以及部分理论知识 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主收将持续更新学习记录获,友友们有任何问题可以…...
Openwrt源码下载出现“The remote end hung up unexpected”
最近项目原因需要下载openwrt21.02版本源码,花费了很多时间,找到正确方法后,发现可以节省很多时间,记录下过程,方便自己,可能方便他人。 一.问题阐述 openwrt21.02下载链接如下: git clone -…...
Spring定时任务动态更改(增、删、改)Cron表达式方案实例详解
Spring定时任务动态更改(增、删、改)Cron表达式方案实例详解 最近在做一个需求,用户可以在平台上配置任务计划数据(就是任务的执行和描述的相关信息,包括任务参数、cron表达式),配置后…...
常用登录加密之Shiro与Spring Security的使用对比
Shiro与Spring Security都是主流的身份认证和权限控制安全框架,Shiro偏向于前后端不分离平台,而Spring Security更偏向于前后端分离平台。接下来简单列一下两种登录验证的执行流程和示例,了解实际运用中的登录执行流程,然后重点剖…...
获取文件路径里的文件名(不包含扩展名)
“./abc/abc/llf.jpg” 写一个代码,让我获得“llf”这段字符串 import osfile_path "./abc/abc/llf.jpg" file_name os.path.splitext(os.path.basename(file_path))[0] print(file_name)在这个代码中,我们使用了os.path模块来处理文件路径…...
HiveSql语法优化二 :join算法
Hive拥有多种join算法,包括Common Join,Map Join,Bucket Map Join,Sort Merge Buckt Map Join等,下面对每种join算法做简要说明: Common Join Common Join是Hive中最稳定的join算法,其通过一个M…...
Leetcode—459.重复的子字符串【简单】
2023每日刷题(五十九) Leetcode—459.重复的子字符串 算法思想 巧解的算法思想 实现代码 从第一个位置开始到s.size()之前,看s字符串是否是ss的子串 class Solution { public:bool repeatedSubstringPattern(string s) {return (s s).fin…...
Mac安装Typora实现markdown自由
一、什么是markdown Markdown 是一种轻量级标记语言,创始人为约翰格鲁伯(John Gruber)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML)文档。这种语言吸收了很多在电子邮…...
前后端传参格式
前端发送 Serialize()方法 是指将一个抽象的JavaScript对象(数据结构)转换成字符串。这个字符串可以利用标准格式发送到服务器,被视为URL查询字符串或者POST数据,或者由于复杂的AJAX请求。这个方法使用的数据结构可以是JavaScri…...
网站建设服务器百度云/竞价推广培训课程
2019独角兽企业重金招聘Python工程师标准>>> 公司有同事用foxmail无法正常收取james的邮件。而且在收取时,其他服务部的同事表示后台连接不上。判断是数据库连接问题或james连接并发的问题。 当你在具有很多TCP/IP连接的Windows上运行MySQL服务器&#x…...
网站推广软件推广/做app软件大概多少钱
最近想在公司机器上使用耳机,接到前端插口上,无反应,无声音。接到后端,有反应,有声音。估计是机箱和主板的音频线没有接好。遂开机箱查看,得类似图如下:我的主板是8i945P-G,此图红圈…...
网页制作 公司网站/搜索app下载安装
1、序列的方法 python中序列包含列表list、元组tuple、字符串str。 可以用于序列(表、元组、字符串)的内建函数: len(s) 返回: 序列中包含元素的个数min(s) 返回: 序列中最小的元素max(s) 返回: 序列中…...
网站选项卡如何做自适应/杭州seo顾问
https://access.redhat.com/documentation/en-us/reference_architectures/current/ 搜索oracle即可。...
网站开发filter/深圳营销型网站定制
Jdevloper资料,绝对经典!!!链接:http://www.itpub.net/854062,1.html来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/39335/viewspace-350967/,如需转载,请注明出处,…...
个人网站建设与维护/推广一般收多少钱
简介 为了方便开发人员可视化配置gpio,MTK提供了DCT工具,全称是Driver Customization Tool,该工具导入dws文件来产生驱动代码,它是个exe可执行程序,目前只支持在windows下运行,在ubuntu下运行可借助于wine…...