复杂形态钢结构设计培训班

首页 非解构-公众号 建筑师你还在做强排师傅吗?快试试方案求解器,用算法算出候选方案

建筑师你还在做强排师傅吗?快试试方案求解器,用算法算出候选方案

作为一名建筑师,是否经常化身强排师傅?是否被各种日照、规范、条例、条件搞到过焦头烂额?调整方案的时候是不是经常按下葫芦起了瓢

这些事很快就要成为历史了,因为方案求解器(NSBlobs)即将面世。这是基于grasshopper的一个插件电池,大概有两个特点:一个特点是自动调方案,省事!另一个特点是!50毫秒一轮,大概就是1秒可以调整20轮方案!对,就是快出天际的快!

方案求解器(NSBlobs)

自动求解满足各种条件的方案

关于省事

方案求解器(NSBlobs)实现了对于建筑设计方案的自动搜索,自动优化调整。它是一个基于多智能体的“实时反馈系统”,可以理解成一个建筑设计版的Kangaroo+Galapagos。先输入建筑师意向的方案排布,再施加各种建筑设计的限制条件,程序会实时反馈这些条件对于设计现状的影响,并且自动搜索满足所有限制条件的方案排布。

方案求解器(NSBlobs)的基本运行状态

自动联动求解满足各种条件的方案

那么为什么能省事呢?

因为在方案设计中很多事情是联动的,比如有一栋楼的日照不满足,为了让日照满足的调整可能会引起新问题,比如又影响了防火间距或者消防车道。工作中经常有这种按下葫芦起了瓢的无奈,往往需要许多次的往复微调迭代才能得到满意的效果。

NS Field

非解构·场

而方案求解器(NSBlobs)的算法核心采用了场(Field)的概念,比如引力场、斥力场、日照场、噪声场、风格场等等。就像重力场让水往低处流,引力场让天体稳定运行一样;建筑的功能,流线,风格,日照,这些关系都可以抽象成场,而一些规范规定的比如距离、高度则可以联立成函数的取值范围。

基于人工智能Cycle-GAN生成的风格场(Style Field)

通过将这些场联立解析成方案优化函数的场,就可以让方案的排布总是向着更高概率更合理的方向进化,就像雨水会向着比较低的位置汇聚一样。

semio-field, 用空间的公共与私密构成的特征场

因为影响设计的因素很多,很多时候设计被称为黑箱,可能目前算法不能全程得心应手。那么我们的做法就是截取了一一小部分的设计黑箱做算法切入,将算法作为插件式的方案顾问。让建筑师先确定大致的排布意向,再用算法做渐进的优化以及是否满足所有条件的判断,让建筑师有更强的可控性,告别传统算法排出来那种傻傻的感觉。

方案求解器(NSBlobs)自动保存满足各种规范的结果

关于快!

就是实现了50ms一代的运算速度,1秒可以调整20轮方案,实时反馈,所见即所得。要知道平时单算一遍日照就要好几分钟,再加上人工调整的时间。不开玩笑严肃的讲,方案求解器(NSBlobs)比传统工作方式至少要快10000倍以上

为什么快很重要呢?

因为方案求解器(NSBlobs)作为一个方案求解的基础引擎,越快,就能有越高概率的找到方案的最优解,就有更多的搭载其他算法优化的空间,就能创造更多的价值。

为了快,我大概是做了三件事:多线程优化算法优化底层优化

多线程就是简单的大力出奇迹,摆脱过去一核有难七核围观的状态。

一核有难,七核围观

许多人也许注意到了自己的grasshopper满载的时候cpu的占用率是13%,那是因为1/8=12.5%四舍五入得到13%。用多线程优化榨干计算机的性能,可以比原来快五六倍。

算法优化中,首先我用了从粗到细的搜索算法,对于不重要的地方用低精度计算,目的是构造场(Field)或者是了解场的趋势,对于重要的地方用高精度计算,目的是判定方案是否符合规范要求。比如在日照分析中,实际上重要的地方比如窗户在整个小区的用地中所占的面积可能1%都不到,剩下99%的面积都用同样的精度是一件非常浪费的事情。

人脸识别背后基于Level of Detail的网格划分技术,

在重要的区域使用更密集的采样点

其次针对一些计算量大的问题,比如日照问题,我们事先构造了快速拟合不同精度日照结果的算法库,这样可以每次直接调用,快速生成不同精度的日照结果。

最后由于日照是一个连续函数,相邻的采样点之间是有概率相关性的,所以并不是所有的采样点都需要单独计算,可以采用算一部分猜一部分的方式,进一步提高速度。

高斯过程

底层优化中,其实能做的就更多了,因为grasshopper中运算模式以及内存机制,在某些情况下会存在时间开销的瓶颈。就比如日照图像的输出,grasshopper的原生运算器输出日照场需要接近16s,而直接调用底层的渲染输出指令只需要10ms左右,单这一项就能比grasshopper原生运算器快一千多倍。

grasshopper原生运算器在时间开销上的瓶颈非常明显

再比如在程序的运行里经常会遇到大量的范围的判断,比如:

if (x >= minx && x <= maxx && y >= miny && y <= maxy) …,

本来cpu需要做四次判断,而如果写成:

if (( (x – minx) | (maxx – x) | (y – miny) | (maxy – y) ) >= 0) …

因为<0的整数二进制的最高位是1,只有四个高位都是0整个判断才为真,这样就可以把四次判断归并成一次,可以成倍加快运算速度。

总之,1秒20轮方案的调整速度给了方案求解器(NSBlobs)未来无限的可能

最基础的就是只用计算日照的功能也能提高很多效率。中级的应用可以用这个引擎搭载各种算法去优化建筑设计的各种目标,比如货值、功能流线或者面积。高级的应用可能是用引擎搭载各种各样的场,快速生成许多排布方案,再用这些数据训练AI,让计算机可以更聪明的辅助设计。

内测ing

方案求解器(NSBlobs)作为NS算法工具箱的一部分,正在内测阶段。欢迎感兴趣的朋友加入NSBlobs交流群,我们将在群内优先发放公测账号。

请添加我们“转自:非解构-公众号”微信,

加入NSBlobs技术讨论群。

其他应用
用算法做结构设计(实例)
非解构参数化设计工具箱(NSOrigin)
AR-让虚拟的建筑模型真实呈现
VR——架起建筑师和结构师之间的桥梁
本文来自网络,不代表钢构人的立场,转载请注明出处。搜索工程类文章,就用钢构人网站。 https://www.ganggouren.com/2020/06/2752087b8c/

钢结构地图

上一篇
下一篇

作者: ganggouren

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

联系我们

17717621528

在线咨询: QQ交谈

邮箱: 1356745727@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部