|
广义地讲,优化问题就是在某种条件下寻找最优解。在问题与条件已经其关系明了的条件下,我们需要寻找某种能够在有限步内由已知条件收敛到未知变量的方法,这种方法被称为优化算法。对于优化算法来说最重要的要素有两个,一个是方向另一个是步长,怎样才能找到最优点多在的方向,用怎样的速度(步长)向最优点趋近是优化理论的主要研究对象。根据方向的选择方法优化算法可以被分成两类,第一种是基于梯度的优化算法,比如在某个连续的函数上求梯度,则最优点会在梯度或者梯度的负方向上。另一种就是无梯度算法,本质上说都是随机选方向,只不过是服从哪种概率分布的问题。在梯度算法中我们选取拓扑优化中常用的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. |
|