最优化理论与算法

最优化算法的研究进展

1.引言

算法是解决计算问题的重要工具。所有的计算都涉及到算法,算法的效率在很大程度上决定了它的有效性。最优化是一门应用十分广泛的学科,它研究在有限种或无限种可行方案中挑选最优方案,构造寻求最优解的计算方法。它在科学、工程、国防、交通、管理、经济、金融、计算机等领域得到广泛应用。学习最优化方法,从而进一步从事最优化方法的理论、算法、软件与应用打下一个较好的基础。
在现实生活中,科学和工程中的许多问题都可以表示为受复杂非线性约束的最优化问题,如最小化成本,能源消耗,最大限度地提高性能、效率等问题。高度非线性问题的解决方案通常需要复杂的优化算法,而传统的算法可能很难处理这些问题。即使现代计算机的能力不断增强,使用简单的蛮力方法仍然是不切实际和不可取的。因此,只要有可能,高效的算法对于这样的应用至关重要。然而,对于应用程序中的大多数优化问题,有效的算法可能并不存在。尽管优化算法种类繁多,如基于梯度的算法、内点法和信赖域法,但这些算法大多是基于梯度和局部搜索的算法,这意味着最终的解可能依赖于初始起点。此外,导数的计算十分复杂,一些问题,如目标的不连续性可能没有导数在某些区域。由于灵活性和有效性,目前的趋势是使用自然启发的算法。
最近的趋势是使用进化算法,如遗传算法和群体智能为基础的算法,包括蚁群优化、蝙蝠算法、萤火虫算法、布谷鸟搜索等。这些类似的算法通常是简单、灵活、高效,并且有许多算法已经在许多现实场景中得到了运用。
尽管有广泛的研究和发展,仍然有一些关于群体智能和自然启发的算法的重要问题。首先,仍然缺乏一个统一的数学框架来分析这些算法。因此,缺乏对这些算法如何收敛以及收敛速度的深入理解。其次,有许多不同的算法,它们的比较研究主要是基于数值实验,很难证明这种比较是否总是公平的。第三,文献中的大多数应用都涉及小规模问题,而且不清楚这些方法是否可以直接应用于大规模问题。最后,尽管“群体智能”一词被广泛使用,但是群体和智能行为出现的条件是什么还不清楚。

2.最优化算法分类

最优化问题分为函数优化问题和组合优化问题两大类,其中函数优化的对象是一定区间的连续变量,而组合优化的对象则是解空间中的离散状态。运用算法解决实际问题时大致分为2步:
1.建立数学模型,其中包括变量(Decision Variable)、约束条件(constraints)、目标函数(Objective function)的构造等一系列操作。
2.最优化搜索策略的选择,在问题所给的约束条件下搜索最优解方法,如穷举、贪心算法等。
根据不同问题的特点,所选择的最优化算法大致分为两类:精确算法以及启发式算法。

2.1精确算法

精确算法包括线性规划、动态规划、整数规划、分支定界法(Branch and Bound)和背景分割法(Context Partition)等算法,属于是运筹学中的传统算法,其算法计算复杂性一般很大,运用电脑计算十分消耗算力,只适合于求解小规模问题,在实际问题中往往不予使用。

2.2启发式算法

启发式算法顾名思义,是指人们解决问题时所采取的一种根据经验规则处理问题的方法。其特点是在解决问题时,利用过去的经验,选择现存且有效的方法,而不是系统地、以确定的步骤去寻求答案。
启发式算法的步骤大致如下:

  1. 静态划分。
  2. 预模拟,并统计规律。
  3. 对每一个划分的板块分配处理器。
  4. 判断处理器是否能容纳,不行就重新分配,反之进行下一步。
  5. 判断是否分配了所有的划分块,分配未完成跳转到地3步,重复该过程,反之则分配完成,结束。
    启发式算法又可以分为两大类,即基于个体的启发算法和基于群体的启发算法,前者在于寻找相对最优解,每次输出的是相同的,从一个解开始,寻找最优。后者在于寻找全局最优解,即期望通过局部的最优选择获得整体的最优选择。
2.2.1 基于个体的启发算法

基于个体的启发算法有许多种,常见的有爬山算法以及禁忌搜索算法。爬山算法思想:从当前的节点开始,和周围的邻居节点的值进行比较。如果当前节点是最大的,那么返回当前节点,作为山峰最高点;反之就用最高的邻居节点替换当前节点,从而实现向山峰的高处攀爬的目的。简单来说就是在初始值附近,找最大值。优势在于容易理解,容易实现,具有较强的通用性;局部开发能力强,收敛速度很快。缺点也很明显,全局开发能力弱,只能搜索到局部最优解;搜索结果完全依赖于初始解和邻域的映射关系。
禁忌搜索算法本质来说是爬山算法的改进,标记已经解得的局部最优解或求解过程,并在进一步的迭代中避开这些局部最优解或求解过程,为了找到全局最优解,禁忌搜索就是对于找到的一部分局部最优解,有意识地避开它,从而或得更多的搜索区域,以此来避免爬山算法一叶障目的弊端。优势在于避免在搜索过程中的循环;只进不退的原则,通过禁忌表实现;不以局部最优作为停止准则。

2.2.1 基于群体的启发算法

基于群体的启发算法大致分为两种,一种为进化算法,如群智能(SI)算法,遗传算法以及人工神经网络等。另一种为模仿自然行为的一系列算法,如粒子群算法(PSO) 、萤火虫算法(FA)、蚁群算法(ACO)以及人工蜂群算法(ABC) 等。特点:全局寻优,每次的解都不同,但花费的时间较长。
目前此类算法为研究由来甚远,其背景大致如下:Miranda等人于2002年提出了一种新的优化模型 EPSO,进化粒子群优化,它的灵感来自于进化算法和粒子群优化算法。在2007年,Karaboga等人给出了人工蜂群算法在约束优化问题中的性能比较结果。针对 Logistic 映射和 Kent 映射混沌序列的统计特性,提出了改进的混沌-BFGS 混合优化算法和基于 Kent 映射的混沌-BFGS 混合优化算法。同年,Tavazoei等人提出并比较了约束非线性优化问题中不同的一维映射作为混沌搜索模式。采用混合大爆炸-大收缩(HBB-BC)优化算法对桁架结构进行优化设计。Kaveh于2009年提出了一种新的基于自然启发的启发式优化算法,称为 bat 算法(BA) ,用于求解工程优化任务。Yang于2012年 提出了一种新的优化算法,称为布谷鸟搜索算法(CS)算法,用于解决制造业优化问题。Mirjalili 等人在2016年提出了一种新的自然启发的元启发式优化算法,称为鲸鱼优化算法(WOA) ,它模拟了座头鲸的社会行为。同年,Yazdani等人介绍了一种新的基于种群的算法——狮子优化算法(LOA)。
基于自然行为的算法还在进一步发展,Yu Xue等人在2018年提出了一种基于全局最优候选算法(SABC-GB)的全局优化自适应 ABC 算法。同年Beigi将模式搜索作为一种局部优化方法与萤火虫算法相结合来改进这种算法。Pierezan 在2018年介绍了郊狼优化算法(COA) ,它是受郊狼物种启发的一种基于群体的元启发式优化算法。同年,Bansal介绍了基本的粒子群优化算法。随后,Hashim 等人提出了一种新的元启发式算法,命名为亨利气体溶解度优化(HGSO) ,它模仿亨利定律支配的行为来解决具有挑战性的优化问题。Shadravan于2019年提出了一种新的自然启发的后启发式优化算法,称为 SailFish 优化器(SFO) ,它的灵感来自于一组狩猎的旗鱼。Khalilpurrazari 等提出了一种基于水循环和飞蛾-火焰优化算法的混合算法,用于求解数值和约束工程优化问题。Hayyolalam 等人提出了一种新的适用于连续非线性优化问题的启发式算法。Houssein针对实际优化问题,提出了一种基于 Levy 飞行的新型启发式算法 Levy 飞行分布(LFD)。最近,Hashim 等人于2021年提出了一种新的亚启发式算法——阿基米德优化算法(AOA)来求解最优化问题。
参考文献
[1] 李爱国,覃征,鲍复民,贺升平.粒子群优化算法[J].计算机工程与应用,2002(21):1-3+17.
[2] 张小莲,李群,殷明慧,叶星,邹云.一种引入停止机制的改进爬山算法[J].中国电机工程学报,2012,32(14):128-134.2012
[3] 杨方燕,郭钢.基于ABC分类的安全库存优化算法研究[J].中国制造业信息化,2004(01):83-86.
[4] 李大卫,王莉,王梦光.遗传算法与禁忌搜索算法的混合策略[J].系统工程学报,1998(03):30-36.
[5] 吴虎胜,张凤鸣,吴庐山.一种新的群体智能算法——狼群算法[J].系统工程与电子技术,2013,35(11):2430-2438.
[6] 王玫,朱云龙,何小贤.群体智能研究综述[J].计算机工程,2005(22):204-206.
[7] Vladimiro Miranda;N.Fonseca;“EPSO-evolutionary Particle Swarm Optimization, A New Algorithm with Applications in Power Systems”,IEEE/PES TRANSMISSION AND DISTRIBUTION CONFERENCE AND EXHIBITION,2002.
[8] Dervis Karaboga;Bahriye Basturk;“Artificial Bee Colony (ABC) Optimization Algorithm for Solving Constrained Optimization Problems”,2007.
[9] Dixiong Yang;Gang Li;Gengdong Cheng;“On The Efficiency of Chaos Optimization Algorithms for Global Optimization”, CHAOS SOLITONS & FRACTALS,2007.
[10] Mohammad Saleh Tavazoei;Mohammad Haeri;“Comparison of Different One-dimensional Maps As Chaotic Search Pattern in Chaos Optimization Algorithms”,APPL.MATH.COMPUT.,2007.
[11] Ali Kaveh;Siamak Talatahari;“Size Optimization of Space Trusses Using Big Bang-Big Crunch Algorithm”,COMPUTERS & STRUCTURES,2009.
[12] Xin-She Yang;Amir H. Gandomi;“Bat Algorithm: A Novel Approach For Global Engineering Optimization”,ARXIV,2012.
[13] Ali R. Yildiz;“Cuckoo Search Algorithm for The Selection of Optimal Machining Parameters in Milling Operations”,THE INTERNATIONAL JOURNAL OF ADVANCED MANUFACTURING TECHNOLOGY,2013.
[14] Seyed Mohammad Mirjalili;Andrew Lewis;“The Whale Optimization Algorithm”,ADV.ENG.SOFTW.,2016.
[15] Maziar Yazdani;Fariborz Jolai;“Lion Optimization Algorithm (LOA):A Nature-inspired Metaheuristic Algorithm”,J.COMPUT.DES.ENG.,2016.
[16] Yu Xue;Jiongming Jiang;Binping Zhao;Tinghuai Ma;“A Self-adaptive Artificial Bee Colony Algorithm Based on Global Best for Global Optimization”, SOFT COMPUTING,2018.
[17] Amir Mohammad Beigi;Ali Maroosi;“Parameter Identification for Solar Cells and Module Using A Hybrid Firefly and Pattern Search Algorithms”,SOLAR ENERGY,2018.

  • 37
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值