文章目录

  • 翻译翻译什么是拓扑优化算法
    • 基于梯度的优化算法
    • 无梯度算法
      • 渐近优化算法ESO
      • 自适应成长法
      • 人工智能与机器学习
    • 参考文献

翻译翻译什么是拓扑优化算法

广义地讲,优化问题就是在某种条件下寻找最优解。在问题与条件已经其关系明了的条件下,我们需要寻找某种能够在有限步内由已知条件收敛到未知变量的方法,这种方法被称为优化算法。对于优化算法来说最重要的要素有两个,一个是方向另一个是步长,怎样才能找到最优点多在的方向,用怎样的速度(步长)向最优点趋近是优化理论的主要研究对象。根据方向的选择方法优化算法可以被分成两类,第一种是基于梯度的优化算法,比如在某个连续的函数上求梯度,则最优点会在梯度或者梯度的负方向上。另一种就是无梯度算法,本质上说都是随机选方向,只不过是服从哪种概率分布的问题。在梯度算法中我们选取拓扑优化中常用的OC和MMA算法进行剖析与解释,SNOPT算法的内容有待补充。我们从优化问题的一般形式出发,从简单到一般,从凸到非凸通过寻找山谷洼地的例子帮助理解算法的核心思想。在无梯度算法中我们选取ESO算法和自适应生长法这两种已经应用在拓扑优化领域中的算法为例子,探究他们和传统智能优化算法如蚁群算法、退火算法之间的联系。这些启发式算法并不是通过数学推导得到的,所以我们无需大量的公式推导,只需形象的比喻即可领悟其核心思想。本文最后将给出拓扑优化领域可能的突破方向作出展望。水平集(Level Set)方法的相关内容有待补充。

基于梯度的优化算法

基于梯度的优化算法由数学公式推导而来,对于一个严格凸的函数,在凸集上的最值要么在极值点取得,要么在边界上取得。简单问题各种通过对目标函数求导,有约束问题则对拉格朗日函数求导可以获得解析解。

那么对于基于梯度的优化算法,我们假设目标函数是连续的函数,当函数的单调性发生变化时其一阶导数应该为零。就像寻找山谷的最低点,我们希望越快越好,那么从山顶出发挑那些又险又陡的路径就会最快,反映到算法当中就是最速下降法,每次都选择梯度最大的方向作为迭代方向。但是当目标函数不是严格凸有多个极值点那么我们按照最速下降法就很有可能落入局部最小化,我们到达的凹点,以为这就是最低点,其实隔壁可能还有一个凹坑海拔比我们更低,有或者我们到达了一个山腰的平地,向任何方向的导数都是零那么我们就被困在了这个平地上。目前局部最小化的问题并不能完全避免。对于一般的线性优化问题解法有梯度法、牛顿法、二分法等,这些优化算法一般会要求上述n元函数为凸函数,并且可行解集为凸集,否则上述优化算法会收敛到局部最优解。

某些山的山坡上都是巨石,其梯度变化十分剧烈,或者存在悬崖,稍有不慎便死无葬身之地,这时候我们的传统策略就不太管用了。前人对于怎么求解凸问题的导数做了大量的研究工作,我们有对偶方法、惩罚方法等等。但是拓扑优化涉及的实际问题一般都是非凸的,我们需要通过一些近似将非凸问题转化为凸问题如MMA算法、SNOPT算法等。

无梯度算法

为了获得全局最优解,出现了进化类算法,比如比较常见的模拟退火法,基于精英策略的非支配排序遗传算法和粒子群算法等。这类算法不依赖于原优化问题的梯度,可以较好的获得多目标优化问题的全局最优解。其缺点是需要大量计算优化问题中各函数的值,对于约束函数较多问题,计算量非常高。拓扑优化问题一般是非凸的且约束量较大的问题,最优解的分布范围可能很平坦,当所选用的模型或约束形式的非线性较强时,梯度法等优化方法通常不能够获得最优解。可以采用启发式迭代格式对密度变量进行更新,或者对非凸约束进行凸近似。

同样是下山,有些人不理解梯度的概念,于是他们的方法想到了一种更笨的方法,在山谷中随机地做一些标记,测量这些标记的海拔,把这些标记的最低点当作整座山谷的最低点。如果我们完全随机地在可行域中取点然后把最小值点当作最低点被称为蒙特卡罗方法。如果我们的随机点符合某种概率分布如高斯分布则可能获得更好的结果。比如我们设置一个初始值,然后围绕它按照某种概率分布取一些点,该点就是期望,该型分布的方差决定了第二批点的离散程度,我们把第二批点中海拔高于上一批点的全部删去,再基于第二批点进行随机取样,如此迭代。另一类无梯度方法是智能优化算法如进化算法、模拟退火算法、蚁群算法等,这一类算法不依赖于数学原理而是从自然界获得启发,但事实上其数学本质仍然是随机过程。种群中的个体随机地交配,产生的后代随即地变异,然后使用某种规则对种群中的个体进行筛选。树木根部生长也是随即进行的,只不过某方向营养、水分不充足便会放弃这个方向的根系。这类无梯度算法可以在某种程度上避免局部最小化,而且对于某些无导数离散问题如邮差问题有十分明显的优势。但毕竟是随机方法,如蒙特卡罗方法如果不把所有的点取遍很难保证找到的最小值就是全局最小值。

渐近优化算法ESO

智能优化算法在拓扑优化领域应用的代表是ESO渐近优化算法,该算法由香港中文大学的谢亿民教授在1992年提出.算法灵感来自于人体骨骼的修复过程,用进废退,经过大量锻炼的骨骼会更强壮,承受压力更小的骨骼如植入了金属支架的骨骼由于骨骼本身几乎不用再承受压力于是钙质会流失,骨骼形态会发生变化。于是我们定义出两个算子,抑制比(RR)和进化率(ER),当某一部分所承受的应力值小于最大应力的抑制比倍那么这个单元就会被抑制,这个抑制比会按照进化率增长,如此迭代直到结果收敛。从优化方法的角度来看,寻优最重要的两个要素是方向和步长,抑制比就是方向而进化率就是步长,有个这两个要素之后我们的优化问题就可以求解了。与其他算法相比渐近优化算法最大的优势在于该算法不会产生灰度单元,因为在抑制的过程中整个单元都会被抑制掉。

自适应成长法

上海理工大学的丁晓红[1-2]等人用植物根系的成长中获得灵感,通道、支板加强筋从种子位置开始成长,当达到一定的宽度就可以分支,有效分支会被保留,无效分支会被抛弃,实际上是一种双向渐近优化(BESO)。

人工智能与机器学习

最近讨论火热的人工智能与机器学习中其重点在于学习,经过大量的训练、学习过海量的数据之后产生的模型可能会对优化问题提出一些指导新的意见,如果算法有问题或者是训练用数据集不能呢个很好地表征大多数的优化问题,那么训练出来的模型会出现过拟合、欠拟合的问题,对应到一般优化算法就是局部最小化的问题,现有模型已经能够很好地预测给定数据集中的各种数据,但对不曾学习过的新问题却束手无策[3-5]。

从原理上讲,深度学习的神经元算法是模仿人脑运行机理的算法,这种算法的优势在于识别判断,这是人脑的优势,但是通过深度学习的训练出来的模型也会继承人脑的劣势比如,大规模计算。有经验的桥梁设计工程师即使没有拓扑优化的工具也可以给出指导性的意见,大桥的最优解是一种类似于桁架的离散结构但是他并不能给出精确解。

参考文献

[1]魏啸, 丁晓红. 不同目标函数的传热结构拓扑优化研究[J]. 电子科技, 2017, 30(02): 156–160.

[2]杨东升, 丁晓红, 季学荣, 等. 基于自适应成长法的散热通道构建技术[J]. 中国机械工程, 2012, 23(12): 1404-1407+1432.

[3]周志华. 机器学习[M]. 清华大学出版社

[4]RADE J. Deep learning frameworks for structural topology optimization[D]. 2021.

[5]KALLIORAS N Ath, KAZAKIS G, LAGAROS N D. Accelerated topology optimization by means of deep learning[J]. Structural and Multidisciplinary Optimization, 2020, 62(3): 1185–1212.

翻译翻译什么是拓扑优化算法相关推荐

  1. matlab拓扑优化流程图,Sigmund的99行Matlab拓扑优化程序简析

    引言 Sigmund在2001年在Structural and Multidisciplinary Optimization 上发表一篇名为 "A 99 line topology opti ...

  2. 拓扑优化科研(持续更新帖)

    Topology code web DTU丹麦技术大学开发的算法和APP. 有效的3D拓扑代码和软件. Recommended books <有限元分析及应用>曾攀 <MATLAB有 ...

  3. beso matlab,双向渐进结构拓扑优化方法的改进及应用

    双向渐进结构拓扑优化方法的改进及应用 随着拓扑优化在结构设计在初始阶段中体现出来的创新性受到越来越多的认可,结构拓扑优化成为了结构优化设计领域的热点研究对象.与尺寸优化和形状优化等优化方法相比,结构拓 ...

  4. 文献翻译__人工智能时代医学图像重建中的凸优化算法(第4、5、6章)

    文章下载–我的Gitee Convex optimization algorithms in medical image reconstruction-in the age of AI 人工智能时代医 ...

  5. 神经翻译笔记2扩展b. 优化方法

    文章目录 NMT Tutorial 2扩展b. 优化方法 基本优化方法:梯度下降 基于动量的梯度下降及其扩展 动量法 Nesterov动量法 自适应学习率算法 AdaGrad AdaDelta RMS ...

  6. 梯度下降优化算法概述

    本文原文是 An overview of gradient descent optimization algorithms,同时作者也在 arXiv 上发了一篇同样内容的 论文. 本文结合了两者来翻译 ...

  7. 重磅 | 2017年深度学习优化算法研究亮点最新综述火热出炉

    翻译 | AI科技大本营(微信ID:rgznai100) 梯度下降算法是机器学习中使用非常广泛的优化算法,也是众多机器学习算法中最常用的优化方法.几乎当前每一个先进的(state-of-the-art ...

  8. 深度学习中的优化算法与实现

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 GiantPandaCV导语:这篇文章的内容主要是参考 沐神的mxnet/gluon视频中,Aston ...

  9. 一文看懂循环神经网络-RNN(独特价值+优化算法+实际应用)

    https://www.toutiao.com/a6709772730272580107/ 卷积神经网络 – CNN 已经很强大的,为什么还需要RNN? 本文会用通俗易懂的方式来解释 RNN 的独特价 ...

最新文章

  1. 基于Selenium2和TestNG的自动化测试
  2. linux下的rman自动备份脚本,LINUX上RMAN自动备份脚本
  3. 二叉查找树python实现
  4. python setdefault函数_python 字典 setdefault()和get()方法比较详解
  5. stm32按键矩阵代码_STM32 学习笔记---1
  6. Intellij idea添加单元测试工具
  7. python的追加_Python追加添加相同的数据
  8. Spring Boot 配置文件bootstrap和application的加载顺序
  9. Java实现个人博客系统(附下载源码)
  10. 《Shell脚本学习指南》
  11. c语言作业班级管理系统,班级信息管理系统(C语言)
  12. 使用MS Project创建项目计划
  13. Java实现读Chuck数据
  14. 七夕表白攻略:教你用自己的专业说情话,成功率100%,我只能帮你们到这里了啊~(程序员系列)
  15. Bugku:web 秋名山老司机
  16. Oracle错误08s01,Java7 sqljdbc4 – getConnection()上的SQL错误08S01
  17. 【报错】zipimport.ZipImportError: can‘t decompress data; zlib not available
  18. Crd(自定义资源类型)2021.12.05
  19. OLAP、OLTP的介绍和比较
  20. Python基础班开班典礼

热门文章

  1. 我让小屋更漂亮计算机教案,漂亮的房间教案
  2. Centos 安装nfs
  3. 教程▍一步步上手TensorFlow——基础知识
  4. 如何将uniapp项目代码上传至gitee仓库**
  5. 逻辑回归中的损失函数的解释
  6. 关于戴尔笔记本电脑无法联网的问题
  7. 【数学建模笔记】2.整数规划
  8. 拼多多砍价互助小程序源码
  9. 经典电影台词(中英文对照版)
  10. 星星之火-43:无线通信中复用技术的物理原理---空间复用、时分多址TDM、频分复用FDM、正交频分复用OFDM、空分复用MIMO、码分复用CDM