当前位置: 首页 > 科技 > 人工智能 > 浅谈计算机仿真_腾讯新闻

浅谈计算机仿真_腾讯新闻

天乐
2020-08-27 13:52:17 第一视角

提到计算机仿真,可能大家脑海中浮现的就是一堆物理公式,和3D数据。但是对于究竟是怎么计算,怎么仿真的,可能还是比较模糊。今天就来科普一下。我们先从最基础也是最重要的模型谈起,然后再谈谈计算机仿真是如何为整车开发提供优化方案的。

/什么是模型/

有一个玩具鲨鱼,按下几颗牙齿之后,它的大嘴就会突然合上。想知道玩具的运作机制是什么,但是又不能拆开它(毕竟拆开后一定组装不起来)。于是我只能以身试险,用各种排列组合的方式按下牙齿。在被“咬”了无数口之后,终于摸索出了鲨鱼的“咬人”的规律。

这个英勇就义的故事,其实是一个建模的过程。模型就是我们面对一个无法打开的黑箱(玩具鲨鱼)时,通过观察其输入(按下哪些牙齿),和输出(是否咬人),总结的一套规律。通过这套规律,我们可以通过控制输入来达到控制黑箱的输出的目的。

当然,这是比较简单的一个模型。现实中还有很多黑箱的规律是相当复杂的,其输入还是不可观察不可控制的变量。对于这种黑箱,就需要依靠计算机技术,建立规模更庞大的模型,模拟现实场景的输入进行快速计算,然后与现实中的输出做比较,再修正模型,通过这样的反复迭代不断提高模型精度。

获得校准好的模型后,就可以通过计算模型在特定输入下的输出,来进行预测。比如我们的汽车仿真中,输入就是各种法规标准中的试验条件抽象成的工况,输出就是预测的试验结果。

随着市场竞争愈发激烈,项目时间不断压缩,现在计算机仿真已经不再局限于在把设计方案转化为模型后进行试验结果的预测这种“事后”预测的模式,而是开始提供“事前”建议。在早期就大量试算各种设计方案的模型,找到较优的结果,从而确定总体方向避免走弯路。这个过程中就用到了大量算法来提供试错的效率,比如退火算法、遗传算法、禁忌搜索算法、蚁群算法等。下面就以蚁群算法为例,看看我们是如何快速找到优化设计方案的。

/蚁群算法在整车性能优化中的应用/

先介绍一下什么是蚁群算法。蚁群是没有领袖进行中央控制和任务分配的,也无法通过语言来交流。那数量庞大的蚁群,在外部情况未知的情况下,每个工蚁怎么知道自己应该去哪里执行任务什么呢?这就要提到信息素这种化学物质了。以觅食为例,某个蚂蚁随机朝一个方向去觅食,如果发现食物,就带回蚁穴,并沿释信息素。此时会发生正反馈和负反馈两种机制。正反馈:如果其他蚂蚁发现了信息素,就会有一定概率沿着轨迹去觅食,信息素的浓度越高,这个概率就越大。同时,这个蚂蚁也会在把食物带回蚁穴的途中留下信息素,使得该路径上的信息素浓度不断增加,蚂蚁也就不断增加。负反馈:如果这条路径上的食物已经被搜集完,那蚂蚁就不会沿路返回并释放信息素,久而久之,信息素的浓度随着挥发渐渐降低,蚂蚁也就越来越少。蚁群就是通过这种微观上简单随机的机制,实现了宏观上非常精妙的妙的资源动态分配策略:一旦在某个方向上发现了食物,就分派更多蚂蚁去搜寻,同时留有一定随机性,保证收获不佳的方向也会安排少量蚂蚁继续探测。

我们在做优化方案的时候,面对的问题和蚁群是十分类似的。以最常见的一个场景来说明:改变一个零件某个区域的长度L和厚度T来提升其刚度性能。这里食物变成了刚度值。地面变成了L和T构成的曲面。蚂蚁在某个时刻的位置坐标,变成了LOT曲面上的坐标,蚂蚁的路径就变成了在LOT曲面上的曲线。信息素的浓度变成了路径曲线方向的偏导。于是,我们把蚂蚁的工作从搜寻食物转化为成了在LOT曲面上勇攀高峰。

完成了要素转换,接下来就是以蚁群动态分配资源的方法来探索刚度的最优解。首先生成蚁群,并将它们随机分散放置在LOT曲面上。接着,在每一轮,让每个蚂蚁根据当前LOT曲面上信息素的分布和一定的随机概率爬到下一个位置。然后根据蚂蚁这次的移动情况,和信息素的挥发,更新信息素分布。这样循环几轮后,爬得最高的蚂蚁所在位置,就是最优解。总体流程如下图所示。

最后需要补充的是,虽然我们的目标是最优解,但是否能够达到还是有赖于一些限制条件的。首先LOT曲面本身需要是连续可导的。如果最优解是在一个孤立的尖峰上,而周围一圈都是较差或一般的解,那极有可能任何蚂蚁都无法发现这座高峰。其次循环的次数需要较大,保证蚂蚁可以探索到曲面上大部分位置。

以上就是蚁群算法在结构优化中的简单应用。通过结合其他领域的优秀思路,我们可以快速提供优化设计方案。相信随着不断和其他学科交叉融入,计算机仿真可以为工程开发提供更多创新性的解决方案。

- end -

提示:支持键盘“← →”键翻页
为你推荐
加载更多
意见反馈
返回顶部