传统优化算法VS智能优化算法
传统优化算法一般是针对结构化的问题,有较为明确的问题和条件描述,如线性规划,二次规划,整数规划,混合规划,带约束和不带约束条件等,即有清晰的结构信息;而智能优化算法一般针对的是较为普适的问题描述,普遍比较缺乏结构信息。传统优化算法不少都属于凸优化范畴,有唯一明确的全局最优点;而智能优化算法针对的绝大多数是多极值问题,如何防止陷入局部最优而尽可能找到全局最优是采纳智能优化算法的根本原因:对于单极值问
传统优化算法优点
1:利用了解空间的特性,如可微等。
2:理论较为完善,计算量小。
3:收敛速度快。
4:具有确定的终止准则。
传统优化算法缺点
1:仅能求出优化问题的局部最优解。
2:求解的结果强烈依赖于初始值。
遗传算法的优点:
1:能够求出优化问题的全局最优解。
2:优化结果与初始条件无关。
3:算法独立于求解域。
4:具有较强的鲁棒性(抗干扰)。
5:适合于求解复杂的优化问题。
6:应用较为广泛。
遗传算法的缺点
1:收敛速度慢。
2:局部搜索能力差。
3:控制变量较多。
4:无确定的终止准则。
特点的比较
-
传统优化算法一般是针对结构化的问题,有较为明确的问题和条件描述,如线性规划,二次规划,整数规划,混合规划,带约束和不带约束条件等,即有清晰的结构信息;而智能优化算法一般针对的是较为普适的问题描述,普遍比较缺乏结构信息。
-
传统优化算法不少都属于凸优化范畴,有唯一明确的全局最优点;而智能优化算法针对的绝大多数是多极值问题,如何防止陷入局部最优而尽可能找到全局最优是采纳智能优化算法的根本原因:
-
对于单极值问题,传统算法大部分时候已足够好,而智能算法没有任何优势;对多极值问题,智能优化算法通过其有效设计可以在跳出局部最优和收敛到一个点之间有个较好的平衡,从而实现找到全局最优点,但有的时候局部最优也是可接受的,所以传统算法也有很大应用空间和针对特殊结构的改进可能。
-
传统优化算法一般是确定性算法,有固定的结构和参数,计算复杂度和收敛性可做理论分析;智能优化算法大多属于启发性算法,能定性分析却难定量证明,且大多数算法基于随机特性,其收敛性一般是概率意义上的,实际性能不可控,往往收敛速度也比较慢,计算复杂度较高。
btw,你老师的原话“没有办法的办法”基本上是对的,如果有确定的问题结构描述和对应的传统算法(有理论证明可保证其可靠性),谁会去选计算又复杂结果又不可控的智能算法呢?只有在传统算法很难得到一个可接受的最优解(实际问题中许多时候并不要求全局最优,智能算法也并不保证100%找到全局最优)的时候,智能算法作为一个可选项确实是没有办法的办法。为什么智能算法的研究更热门呢,因为前者剩下的都是硬骨头了又需要强大的数学功底才能小小的进步一点,而智能算法本科生拍脑袋就能写篇文章——虽然高质量的文章依然是很难的。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)