基于BIM+AI的建筑能源优化模型【神经网络】

推荐:用 NSDT设计器 快速搭建可编程3D场景。
AEC(建筑、工程、施工)行业的BIM 技术,允许在实际施工开始之前虚拟地建造建筑物; 这带来了许多有形和无形的好处:减少成本超支、更有效的协调、增强决策权等等。 对于一些公司来说,采用 BIM 是需要克服的一大障碍,许多公司仍在苦苦挣扎。 但现在我们看到行业出现了另一个新趋势:人工智能。 我们不要害怕,仔细看看它。 它比你想象的要简单!
在本文中,我将展示我的硕士论文,题为“使用深度神经网络优化 BIM 模型能源性能”。
1、问题的提出
许多不同的估计表明,大约 70-80% 的设施成本用于运营。

当然,这些也是由于维护造成的; 但请记住,建筑业有时被称为“40% 的行业”,因为它占用了世界自然资源和二氧化碳排放量的 40%。 我们应该更好地爱护大自然!
我将尝试提出一个框架来优化建筑物的能源消耗,这被称为 EUI,或能源使用强度,以兆焦(或千瓦时)/平方米/年为单位测量。 Green Building Studio 将使用 DOE-2 引擎和从 Revit 导出的 gbXML 文件执行能源分析。
2、获取BIM数据
首先,我们需要做出一些假设。 让我将要测试的每个模型的 HVAC 系统保持相同(即,Revit 提供的单户住宅标准 HVAC 模型将用于每个 Revit 模型)。 事实上,在实际设施中,随着时间的推移,它可以被更高效的固定装置和系统取代,否则我们可能根本不知道暖通空调类型那么早。
相反,让我们关注建筑物更永久的特征,例如地板、墙壁和屋顶的导热率(R,m²K/W); 窗墙比; 计划中的旋转。 这些是我将要尝试的特征。
另一个假设是我们的 Revit 模型将是一个普通的盒子,里面只有一个房间,没有隔断和窗户(窗墙比将在稍后分配)。 这是为了简化分析。

因此,让我们尝试以下参数范围的所有组合:

10368 种组合太多了,但 Revit API 会有所帮助。 Green Building Studio 使用 Revit 可以导出的 gbXML 文件。 此脚本将热阻值和平面旋转的组合应用于模型,并将每个组合模型导出为 gbXML 格式。 通过改变热资产的导热系数来实现不同的热阻值。 改变厚度会在分析中引入另一个因素:分析表面始终位于单元的中间,因此总面积随壁厚而变化。
解析 gbXML 目录以获取所有文件的路径后,我们准备将 3456 (121212*2) gbXML 文件上传到 Green Building Studio。 使用 Dynamo 包 Energy Analysis for Dynamo。

分析完成后,我们可以开始在 Green Building Studio 中分配窗墙比。 不幸的是,Dynamo 包没有此功能,并且 GBS API 仅供开发人员使用,因此我不得不借助浏览器自动化来分配 WWR。 然而,这只需要执行一次,我们稍后会看到原因。 能量分析完成后,我们可以解析 GBS 中的数据并对其进行彻底检查。

现在,让我们用另一个简单但不同的 Revit 模型重复上述所有步骤。

我们将需要这些数据以供以后使用。
3、训练神经网络
对于每个机器学习项目来说,数据检查和准备是必须的。 但在这种情况下,我们没有丢失数据或异常值:我们的数据是人为创建的。 因此我们可以安全地跳过许多检查步骤。 我将写另一篇文章更详细地描述神经网络。 如果你有兴趣,这里是脚本。 但长话短说,神经网络在给定大量数据的情况下,能够导出管理数据的规则。 与传统编程相比,我们给出规则和数据来获得答案。

当规则难以编码时,神经网络会派上用场:面部或语音识别、自然语言处理、翻译、情感分析等。
我们为本文中BIM数据设计的网络具有以下架构:

输入层(绿色)有 5 个单元。 这些是我们的参数:WWR、平面旋转和三个热阻值。 输出层(黄色)是 EUI 值。 将此网络(蓝色层)视为一个巨大的矩阵,其中第一步仅包含随机数。 为了训练网络,我们的输入层(向量)乘以一系列矩阵以获得 EUI 值的预测。 然后将预测与实际 EUI 值进行比较,并更新网络中的数字以更好地预测输出。 重复这个循环,直到我们对性能感到满意为止。
现在是时候根据第一个盒模型的数据点来训练我们的网络了。 其中 94% 将用于训练我们的网络,6% 将用于验证网络并调整影响网络的一些参数以获得更好的性能。
训练后,我们使用网络预测 10368 个 EUI 值:

误差保持在0.2%以内,还不错。 除此之外,网络将我们的数据从离散变为连续。 换句话说,我们现在可以获得以前无法获得的参数的 EUI 值; 例如 21% WWR 或 R=2.45。
好的,这让我们进入下一步。
4、迁移学习
还记得我们第一步做的第二个 Revit 模型吗? 我们现在将通过称为“迁移学习”的技术来使用它。 让我们采用上一步中经过训练的网络,并将前四层设置为不可训练:

或者,换句话说,让我们只关注最后两层。
此时,网络“知道”主要模式和趋势以及每个参数如何影响 EUI。 但仅适用于第一个 Revit 模型。
现在让我们通过使用新数据重新训练最后两层,将新的 Revit 模型“引入”到我们的网络中。 但有一个重要的区别:这次只有 6% 的数据用于训练,94% 用于验证。 不执行超参数调整。 训练后我们得到这样的结果:

注意:训练时间约为 1 或 2 分钟,而第一个盒子 Revit 模型则需要 2-3 小时,并且预测几乎同样准确。
5、训练集/验证集比例的实验
为什么要坚持 6% 的训练与验证比例? 让我们再尝试一下,看看效果如何。

4% 训练数据

1% 训练数据

0.25% 训练数据
事实证明,训练-验证比例大约为 1-2% 时,性能开始显着下降。
请注意,损失函数达到平台后停止训练
6、结果与比较
恭喜! 现在,我们有了一个训练好的神经网络,可以使用少量数据来预测 Revit 模型在大范围参数下的能耗。 该模型甚至可能没有任何窗户。 我们所做的最后一步展示了它:通过引入我们想要分析的模型中的一些数据点,我们得到了相当准确的估计,几乎没有误差。
为了强调迁移学习的效果,让我们用刚刚训练的网络来预测两个模型的 EUI。

一个网络 — 两个 Revit 模型预测
这就是说,我们不能采用随机神经网络并期望它与我们的模型一起工作:应该进行一些能量分析。 然而,它可以像第一部分一样自动化。
7、未来的工作
现在我们有了一个可以准确预测能耗的神经网络,除了使用复杂的 Revit 模型对其进行测试之外,还必须向实际优化迈出一步。 为了找到最优的参数组合,需要建立成本模型。 成本模型应包括材料、劳动力、可能的维护、能源成本,并应考虑建筑物的生命周期、建筑和物理限制。
这将产生现实的框架,只需很少的努力,就可以在项目的概念阶段选择最佳的参数组合。
原文链接:神经网络BIM能源优化 — BimAnt
相关文章:
基于BIM+AI的建筑能源优化模型【神经网络】
推荐:用 NSDT设计器 快速搭建可编程3D场景。 AEC(建筑、工程、施工)行业的BIM 技术,允许在实际施工开始之前虚拟地建造建筑物; 这带来了许多有形和无形的好处:减少成本超支、更有效的协调、增强决策权等等。…...
#P0998. [NOIP2007普及组] 守望者的逃离
题目背景 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变。 题目描述 守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。 为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛…...
vue3+ts+elementui-plus二次封装弹框
一、弹框组件BaseDialog <template><div classmain><el-dialog v-model"visible" :title"title" :width"dialogWidth" :before-close"handleClose"><!-- 内容插槽 --><slot></slot><template…...
ffmpeg批量分割视频解决视频前几秒黑屏的问题解决
echo 请输入视频地址: set /p fp echo 请输入开始时间: set /p st echo 请输入结束时间: set /p et echo 请输入分片时间: set /p sgt echo 注意:循环范围参数要空格。 for /l %%i in (%st%, %sgt%, %et%) do call :aa…...
nodejs + express 调用本地 python程序
假设已经安装好 nodejs ; cd /js/node_js ; 安装在当前目录的 node_modules/ npm install express --save 或者 cnpm install express --save web 服务器程序 server.js const http require(http); const express require(express); const path require(path); const …...
微信小程序代码优化3个小技巧
抽取重复样式 样式复用 我们会发现很多时候在开发的过程中会存在多个页面中都用到了同样的样式,那么其实之前有提到过,公用样式可以放在app.wxss里面这样就可以直接复用。 如:flex布局的纵向排列,定义在app.wxss里面 .flex-co…...
某行动态cookie反爬虫分析
某行动态cookie反爬虫分析 1. 预览 反爬网址(base64): aHR0cDovL3d3dy5wYmMuZ292LmNu 反爬截图: 需要先加载运行js代码,可能是对环境进行检测,反调试之类的 无限debugger 处理办法 网上大部分人说的都是添加cookie来解决。 那个noscript…...
恒运资本:A股、港股全线爆发,沪指突破3300点,恒指重返2万点上方
7月31日,两市股指高开高走,沪指在金融、地产、酿酒等权重板块的带动下一举突破3300点。截至发稿,沪指、深成指、创业板指涨幅均超1%,上证50指数涨近2%。Wind数据显现,北向资金净买入超25亿元。 职业方面,券…...
Rust vs Go:常用语法对比(十二)
题图来自 Rust vs Go in 2023[1] 221. Remove all non-digits characters Create string t from string s, keeping only digit characters 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. 删除所有非数字字符 package mainimport ( "fmt" "regexp")func main() { s : hei…...
jmeter接口测试、压力测试简单实现
jmeter测试的组件执行顺序: 测试计划—>线程组—>配置元件—>前置处理器—>定时器—>逻辑控制器—>取样器—>后置处理器—>断言—>监听器 组件的作用范围: 同级组件同级组件下的子组件父组件 目前市面上的三类接口 1、基…...
PysparkNote006---pycharm加载spark环境
pycharm配置pyspark环境,本地执行pyspark代码 spark安装、添加环境变量不提了 File-Settings-Project-Project Structure-add content root添加如下两个路径 D:\code\spark\python\lib\py4j-0.10.7-src.zipD:\code\spark\python\lib\pyspark.zip 2023-07-26 阴 于…...
19套项目实战系列--Spring Cloud Spring Boot(整套源码)
整套大型项目源码,需要的回复私信:19 ┃ ┣━01.19套项目实战系列 ┃ ┃ ┣━第04套【项目实战】Spring Cloud分布式微服务实战,打造大型自媒体3大业务平台 分布式前后端分离项目分层聚合 养成应对复杂业务的综合技术能力 ┃ ┃ ┃ ┣━1-…...
TCP/IP协议详解(二)
目录内容 TCP协议的可靠性 TCP的三次握手 TCP的四次挥手 C#中,TCP/IP建立 三次握手和四次挥手常见面试题 在上一篇文章中讲解了TCP/IP的由来以及报文格式,详情请见上一篇文章,现在接着来讲讲TCP/IP的可靠性以及通过代码的实现。 在TCP首部的…...
Linux6.2 ansible 自动化运维工具(机器管理工具)
文章目录 计算机系统5G云计算第一章 LINUX ansible 自动化运维工具(机器管理工具)一、概述二、ansible 环境安装部署三、ansible 命令行模块1.command 模块2.shell 模块3.cron 模块4.user 模块5.group 模块6.copy 模块7.file 模块8.hostname 模块9.ping …...
前端面试题 —— React (二)
目录 一、React 组件中怎么做事件代理?它的原理是什么? 二、React.Component 和 React.PureComponent 的区别 三、Component, Element, Instance 之间有什么区别和联系? 四、React声明组件有哪几种方法,有什么不同?…...
【分享帖】LCD的MCU接口和SPI接口详解
LCD(Liquid Crystal Display)液晶屏,作为电子产品的重要组成部分,是终端用户与电子产品交互的重要载体。现在市场上的LCD,按照尺寸、功能、接口、用途等分为很多种,本文主要介绍如下两种LCD物理接口&#x…...
【Java】使用@Expose注解和excludeFieldsWithoutExposeAnnotatGson()方法将toJson()过程的部分字段忽略
要在使用 Gson 的 toJson() 方法时忽略 List 中的某些字段,你可以使用 Gson 的 Expose 注解和 excludeFieldsWithoutExposeAnnotation() 方法。 首先,在 List 中的 Bean 类中,使用 Expose 注解标记你想要序列化的字段: public c…...
移动硬盘不显示怎么办?正确解决方式看这里!
移动硬盘为存储带来了很大的方便,在对数据存储时,可做到即插即用,且其体积小、容量大,且比较安全可靠。但在实际的使用中,也会出现各种问题。请看下面2个常见案例。 案例1:“各位朋友,我新买了一…...
MySQL 5.7.39 关于时间精度
前情提要 当EndTime的数据类型为datetime when the end_time’s dataType is datetime; entity.EndTime DateTime.MaxValue; context.Set<T>().Add(entity);当保存 ‘9999-12-31 23:59:59’ 这个值时,发生报错。 A crash has happended in the program when saving ‘…...
宝塔设置云服务器mysql端口转发,实现本地电脑访问云mysql
环境:centos系统使用宝塔面板 实现功能:宝塔设置云服务器mysql端口转发,实现本地电脑访问mysql 1.安装mysql、PHP-7.4.33、phpMyAdmin 5.0 软件商店》搜索 mysql安装即可 软件商店》搜索 PHP安装7.4.33即可(只需要勾选快速安装&…...
ICLR 2026 | 告别Top-K检索!RF-Mem在嵌入空间逐步重构证据链,实现长记忆渐进式唤醒
今天分享一篇来自大连理工大学、香港城市大学、华为和中国科学技术大学的最新工作 RF-Mem,发表于ICLR 2026。这篇工作关注个性化大模型中的一个关键问题:当用户历史越来越长时,模型到底该怎样从海量记忆里,准确找回“此时此刻最相…...
【科研必备】Elsevier Tracker:5分钟搞定学术投稿监控的终极解决方案
【科研必备】Elsevier Tracker:5分钟搞定学术投稿监控的终极解决方案 【免费下载链接】Elsevier-Tracker 项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-Tracker 你是否也曾为了追踪Elsevier期刊的审稿状态而反复刷新页面?每天登录系统…...
Windows环境下coturn服务器部署与配置实战
1. Windows下coturn服务器部署全攻略 最近在做一个WebRTC项目时,发现很多开发者卡在了TURN服务器搭建这个环节。特别是需要在Windows环境下部署coturn的场景,网上的资料要么太零散,要么直接照搬Linux的教程。今天我就把自己在Windows 10上通过…...
Qwen3.5-4B-Claude模型Java微服务集成指南:SpringBoot实战案例
Qwen3.5-4B-Claude模型Java微服务集成指南:SpringBoot实战案例 1. 引言:当大模型遇上微服务 最近在开发企业知识管理系统时,我们遇到了一个典型需求:如何让传统Java微服务架构与前沿的大语言模型无缝集成。经过多次尝试…...
通义千问3-VL-Reranker-8B保姆级部署教程:5分钟搞定Nginx反向代理与HTTPS配置
通义千问3-VL-Reranker-8B保姆级部署教程:5分钟搞定Nginx反向代理与HTTPS配置 1. 为什么需要反向代理与HTTPS 当你成功在本地运行通义千问3-VL-Reranker-8B服务后,默认只能通过 http://localhost:7860 访问。这种配置存在三个明显问题: 安…...
重组胶原蛋白 | 可溶性蛋白 | 蛋白纯化 | 原核与真核系统
在生命科学研究中,重组胶原蛋白(Recombinant Collagen)作为一种关键的生物大分子,因其独特的结构特点和在细胞外基质研究中的重要性而被广泛关注。一、胶原蛋白分子构成与分类胶原蛋白(Collagen)是动物体内…...
Suno API:生成 AI 音乐的完整指南
简介 Suno API 是 Ace Data Cloud 提供的一项强大服务,旨在将 AI 音乐生成能力集成到您的应用程序中。借助这一稳定且全面的 RESTful API,您可以创建自定义歌曲、纯音乐、混音、翻唱等。本文将详细介绍如何使用 Suno API,并提供快速上手的指…...
Voyager复杂导航模式实现:底部导航、标签页和嵌套导航实战
Voyager复杂导航模式实现:底部导航、标签页和嵌套导航实战 【免费下载链接】voyager 🛸 A pragmatic navigation library for Jetpack Compose 项目地址: https://gitcode.com/gh_mirrors/voyag/voyager Voyager是一个专为Jetpack Compose设计的实…...
nlp_structbert_sentence-similarity_chinese-large保姆级教学:模型路径自定义、多模型切换、Web界面汉化配置
nlp_structbert_sentence-similarity_chinese-large保姆级教学:模型路径自定义、多模型切换、Web界面汉化配置 1. 引言:为什么需要这个工具? 你是不是经常遇到这样的情况:需要判断两段中文文字是不是表达同一个意思,…...
从服务暴露到语义裁剪:全面理解 SAP ABAP CDS projection view 的设计价值与实战用法
在很多 ABAP 开发者的直觉里,CDS view entity 已经足够强大:既能定义数据模型,也能承载丰富的语义注解,还能为 RAP、OData、分析场景提供统一的数据基础。可一旦进入真正的业务服务设计阶段,你很快就会发现,底层模型的完整能力,并不等于某个具体服务应该暴露给外部的能力…...
