全局优化的目标是找到(可能非线性)模型的全局最佳解,在(可能或已知)存在多个局部最优解的情况下。形式上,全局优化寻求约束优化模型的全局解。非线性模型在许多应用中无处不在,例如,在高级工程设计、生物技术、数据分析、环境管理、金融规划、过程控制、风险管理、科学建模等领域。它们的求解通常需要全局搜索方法。
一些应用示例包括声学设备设计、癌症治疗计划、化学过程建模、数据分析、分类和可视化、经济和金融预测、环境风险评估和管理、工业产品设计、激光设备设计、模型拟合到数据(校准)、数值数学中的优化、“封闭”(保密)工程或其他系统的优化运行、包装和其他物体排列问题、投资组合管理、计算物理和化学中的势能模型、过程控制、机器人设计和操作、非线性方程和不等式系统以及废水处理系统管理。
为了 формулировать 全局优化问题,假设目标函数 和约束 是连续函数,分量式边界 和 与决策变量向量 相关是有限的,且可行集 非空。这些假设保证了全局优化模型是适定的,因为根据极值定理,全局优化模型的解集是非空的。
例如,考虑与求解方程对相关的 -范数误差函数
(1)
| |||
(2)
|
由于我们希望找到全局最小误差,而不仅仅是“局部最小”误差,我们需要在二维盒区域中进行全局搜索(参见图片的底面积)。存在许多具有类似多模态结构的非线性优化问题。
如果我们使用传统的局部范围搜索方法来解决这个问题,那么根据搜索的起点,我们通常会找到质量不同的局部最优解(参见图中可能容易捕获局部搜索方法的“谷”)。为了找到全局最优解,需要进行全局范围的搜索努力。
以下列出了一些最重要的全局优化策略,以及简短的补充说明和参考文献。大多数全局优化软件实现都基于这些方法之一,可能结合了来自多种策略的思想。
精确方法包括
1. 朴素方法:这些包括最著名的被动(同步)或直接(非完全自适应)序列全局优化策略,例如均匀网格、空间覆盖和纯随机搜索。请注意,这些方法在温和的假设下是收敛的,但通常在更高维度的问题中是不实用的(Horst 和 Pardalos 1995, Pintér 1996a, Zhigljavsky 1991)。
2. 完全(枚举)搜索策略:这些策略基于对所有可能解的详尽(且通常经过精简的)枚举。这些策略适用于组合问题,以及某些“结构良好”的连续全局优化问题,例如凹规划(Horst 和 Tuy 1996)。
3. 同伦(参数延拓)、轨迹方法和相关方法:这些方法具有“雄心勃勃”的目标,即访问目标函数的所有驻点:这反过来又导致所有(全局以及局部)最优点的列表。这种通用方法包括基于微分方程模型的路径跟踪搜索策略,以及不动点方法和枢轴算法(Diener 1995, Forster 1995)。
4. 逐次逼近(松弛)方法:在这种方法中,初始优化问题被一系列更易于求解的松弛子问题所取代。通过割平面和更一般的割线、各种下界函数构造、嵌套优化和分解策略等,逐步改进子问题以逼近原始问题。这些方法适用于各种结构化的全局优化问题,例如凹最小化和微分凸问题(Horst 和 Tuy 1996)。
5. 分支定界算法:已经提出了各种自适应分区策略来解决全局优化模型。这些策略基于分区、抽样和随后的下界和上界过程:这些操作迭代地应用于可行集 内的活动(“候选”)子集的集合。它们的详尽搜索特征以类似于类似的整数线性规划方法论的精神得到保证。分支定界包含了许多具体方法,并允许各种实现。分支定界方法通常依赖于关于问题的一些先验结构知识。此信息可能与例如每个函数可以变化的速度有关(例如,每个函数 和 的合适的“整体”利普希茨常数的知识);或所有函数的解析公式和有保证的光滑度的可用性(例如,在基于区间算术的方法中)。通用分支定界方法适用于广泛的全局优化问题,例如,组合优化、凹最小化、反向凸规划、DC 规划和利普希茨优化(Neumaier 1990, Hansen 1992, Ratschek 和 Rokne 1995, Kearfott 1996, Horst 和 Tuy 1996, Pintér 1996a)。
6. 贝叶斯搜索(分区)算法:这些方法基于假设的统计信息,以实现建模函数类别的先验随机描述。在优化过程中,自适应地估计和更新问题实例的特征。请注意,通常只有相应的一维模型开发是精确的;此外,在大多数实际情况下,“短视”的近似决策支配着搜索过程。这种通用方法也适用于(仅仅)连续全局优化问题。理论上,只有通过生成无处不在的密集搜索点集才能保证收敛到最优解集。使用统计方法的明显挑战之一是为它们应用的问题类别选择和验证“适当的”统计模型。此外,对于更高维度的优化问题,似乎难以实现这些算法的严格、计算效率高的版本。但是请注意,如果“跳过”底层的贝叶斯范式,那么这些方法也可以务实地视为自适应分区算法,因此,它们可以直接扩展到更高的维度(Pintér 1996a)。有关贝叶斯方法的详细阐述,请参见 Mockus (1989)、Törn 和 Zilinskas (1989) 以及 Mockus et al. (1996)。
7. 自适应随机搜索算法:这是另一类广泛的方法,基于可行集中“详尽”的随机抽样。在其基本形式中,它包括各种随机搜索策略,这些策略以概率 1 收敛。搜索策略调整、聚类和确定性解精化选项、统计停止规则等也可以作为增强功能添加。该方法适用于非常温和条件下的离散和连续全局优化问题(Boender 和 Romeijn 1995, Pintér 1996a, Zhigljavsky 1991)。
启发式策略包括
1. 局部搜索方法的“全局化”扩展:这些是部分启发式算法,但在实践中通常是成功的。基本思想是应用初步的网格搜索或基于随机搜索的全局阶段,然后应用局部(凸规划)方法。例如,随机多起点从从搜索域 中随机选择的几个点执行局部搜索。请注意,即使当 具有复杂形状时,例如由(利普希茨)连续非线性函数定义时,这种抽样也不是微不足道的。通常,会向此基本策略添加复杂的算法增强功能。例如,样本点的聚类尝试仅从 f 的每个采样的“盆地”中选择一个点,然后从该点启动局部搜索方法。(Törn 和 Zilinskas 1989)。
2. 进化策略:这些方法启发式地“模仿”生物进化:即自然选择的过程和“适者生存”原则。使用基于候选解点“种群”的自适应搜索过程。迭代涉及竞争性选择,从而删除较差的解。然后,通过与其他解交换组件,将剩余的具有较高“适应度值”的候选解池“重组”;也可以通过对候选解进行一些较小规模的更改来“变异”它们。重组和变异移动是顺序应用的;其目的是生成新的解,这些解偏向于 的子集,其中已经找到了好的但不一定是全局优化的解。可以构建基于不同进化“游戏规则”的这种通用策略的许多变体。不同类型的进化搜索方法包括旨在解决连续全局优化问题的方法,以及旨在解决组合问题的方法。后一组通常称为遗传算法(Goldberg 1989, Michalewicz 1996, Osman 和 Kelly 1996, Voss et al. 1999)。
3. 模拟退火:这些技术基于冷却晶体结构的物理类比,这些结构自发地尝试达到某种稳定(全局或局部最小势能)平衡。这种通用原理适用于轻微结构要求下的离散和连续全局优化问题(van Laarhoven 和 Aarts 1987, Osman 和 Kelly 1996, Aarts 和 Lenstra 1997)。
4. 禁忌搜索:在这种元启发式的通用类别中,基本思想是“禁止”搜索移动到在(通常是离散的)搜索空间中已访问过的点,至少在接下来的几个步骤中。也就是说,可以暂时接受新的劣质解,以避免已经调查过的路径。这种方法可以引导探索 D 的新区域,目标是通过“全局化”搜索找到解。禁忌搜索传统上已应用于组合优化问题(例如,调度、路由、旅行商)问题。原则上,通过问题的离散近似(编码),该技术可以直接应用于连续全局优化问题,但其他扩展也是可能的(Glover 和 Laguna 1996, Osman 和 Kelly 1996, Voss et al. 1999)。
5. 近似凸全局低估:这种启发式上具有吸引力的策略尝试基于 中的定向抽样来估计目标函数 的(假设的)大规模“整体”凸性特征。适用于平滑问题(Dill et al. 1997)。
6. 延拓方法:这些方法首先将势函数转换为更平滑(“更简单”)的函数,该函数具有更少的局部最小值,然后使用局部最小化过程将最小值追溯到原始函数。同样,这种方法适用于平滑问题。有关理论背景,请参见 Forster (1995)。
7. 局部最优的顺序改进:这些方法通常在自适应构建的辅助函数上运行,以协助搜索逐渐更好的最优解。通用启发式原则包括隧道法、紧缩法和填充函数法(Levy 和 Gomez 1985)。
Pintér (1996b) 给出了关于连续全局优化软件的调查。目前,有超过一百件全局优化软件。全局优化在 Wolfram 语言 中实现为NMinimize和NMaximize,并且还通过 MathOptimizer Professional 附加应用程序包实现。
有关更多专题信息,请参阅 Bliek et al. (2001)、Pintér (2002)、Fourer (2003)、Mittelmann 和 Spelucci (2004) 以及 Neumaier (2004)。