您好,欢迎访问这里是您的网站名称官网!
全国咨询热线+86 0000 88888
FH-FH至尊建筑节能遮阳研发中心

新闻动态

NEWS CENTER
算法中的最优化算法方法与实现(第10课 全局优化)
发布时间:2024-04-29 05:30浏览次数:

一、学习目标

1.了解全局优化(global optimization)的内容

2.学习几种经典的全局优化算法:网格法、随机搜索法、多起点局部优化法

3.掌握模拟退火法和遗传算法。

二、全局优化

在全局优化中,优化问题就不会再有约束函数,只是求解目标函数的最小值。而之所以无法使用之前的梯度下降法之类的方法,主要愿意在于:这个目标函数具有多个局部最优解,最好的办法是遍历所有点,才能找到问题最优。

主要要解决的问题:避免算法迭代到局部最优就停止了。

希望算法能够跳出局部最优解。

三、经典算法

1.网格法(Grid search)

对变量x每个维度做一个网格化操作(网格间距小于0.1),计算在各个网格节点的目标函数值,找到最小的点作为问题最优解。相当于是穷举法。

问题:算法计算量非常大,例如在上面的example中,n是x的维度,我们计算总量是10的200次方,计算时间是当前宇宙存在时间的10倍。

2.随机搜索(Random search)

思想:在变量空间中,随机取点(要求均匀分布且覆盖可行域),计算这些点的目标函数值并选择最小的作为最优解。

3.多起点局部最优法(Multi-start local minimization)

思想:在变量空间中,随机取点(要求均匀分布且覆盖可行域),使用梯度下降之类的方法求解出这些能达到的局部最优解。选择最小的局部最优解为问题的最优解。

显然,最后这种方法具有更好的效能,只要保证取点合理,找到全局最优解是几乎可以的。

四、模拟退火法

之所以叫模拟退火法,是因为它确实就是模拟退火的过程。哈。在铸铁时,我们先加热铁使其成为铁水,浇筑到模具中缓慢降温,使其成型。模拟退火法的关键就是“加温”和“降温”。

整体思想:第一步先随机设置一系列点,然后让这些点随机移动一次,计算移动后函数值是否下降了,如果下降了,就替换原来的点(一步步迭代下去就会达到局部最优);如果上升了,也有概率进行替换(为了跳出局部最优),一开始温度高,这个概率设置比较大,后面缓慢降温(cooling),使这个概率减小。从而最后每个点都达到局部最优解。选择最小的作为原问题的最优解。基本算法过程如下:

而关于是否保留点往外跳的概率,还有一点小设置:如果你跳的幅度δ太大,我就不保留,小幅度向外跳的,我就保留。整体总结如下:

五、遗传算法(Genetic algorithm)

对遗传算法的评价:

遗传算法的构成:

首先先说个遗传算法的一个缺点:遗传算法只能作用于整数的离散约束的问题中(就是x取值只能是1、2、3这种,而无法取到小数点,不能连续)原因来自于其有一个编码操作。整体的算法流程如下:

由于其遗传和变异都是基于二进制串的,这是符合基因遗传的生物原理的,这也是其优秀所在。在对种族(即点的集合)的优胜劣汰中,其决定标准就是f(x)函数值,函数值越大,越有概率繁殖下一代,否则就被淘汰掉。例如:

在下一轮的父辈选择中,b2和b6被选择了两次,b3和b4就被淘汰了。

至此,一个优化问题被我们转变成了种族进化的问题,将数据变换成二进制串和适应性度量f是二者之间的唯一联系。通过种族进化本身的规则和优点来迭代计算出原问题的最优解,是一个十分天才的想法。

当然,遗传算法的限制性决定了它的使用场景很少,使用的地方有:

六、本章小结

在线客服
联系电话
全国免费咨询热线 +86 0000 88888
  • · 专业的设计咨询
  • · 精准的解决方案
  • · 灵活的价格调整
  • · 1对1贴心服务
代理加盟
回到顶部

平台注册入口