龙空技术网

预测、迭代与优化:用AI探寻组合优化问题最优解

ML OR 智能决策 63

前言:

此刻你们对“组合优化问题”可能比较着重,兄弟们都需要知道一些“组合优化问题”的相关资讯。那么小编在网络上搜集了一些对于“组合优化问题””的相关知识,希望大家能喜欢,朋友们快快来学习一下吧!

在《基于深度强化学习的组合优化方法在工业应用中的实践》一文中我们介绍过(点此回顾),组合优化问题广泛存在于交通运输、生产制造、信息通讯、工业工程、金融投资等诸多领域,这些现实世界中的组合优化问题有一个共同挑战,就是如何在不断扩增的问题规模、复杂度以及现实场景下实现对求解速度的客观要求。

以常见的交通运输领域的路径规划问题为例,这类问题对最优路径的求解效率有着很高的要求,但由于受到不断扩增的用户规模、动态变化的外部环境(如天气)等因素的影响,由此产生的更为复杂的场景约束(例如:客户的预计交付时间需求)使得问题规模不断扩大,求解难度与复杂度随之指数级增加,给这类组合优化问题的高效求解带来了极大的挑战。

近年来,随着深度学习、强化学习等人工智能技术的快速发展,现实世界中诸多大规模组合优化问题的求解思路不断得到拓展。本文我们将以人工智能技术如何用于解决最优解预测、可行解迭代搜索为研究方向,探索AI求解组合优化问题的更多可能性。

01 什么是组合优化问题?

组合优化问题就是在一定的约束条件下,需要在庞杂的可行解空间中筛选出最优解的一类问题。下式即为一个简单组合优化问题的数学表达形式,主要包含三大要素:决策变量、约束条件和目标函数。

1)决策变量即组合优化问题中需要决策的变量集合,如,其一般为离散取值,问题的求解即寻找变量最优取值组合的过程,这也是组合优化得名的原因;

2)约束条件即在组合优化问题求解过程中需要满足的约束,例如:即为上述优化问题的约束条件;

3)目标函数即优化问题的最终优化目标,如上式中希望最小化的,即为该问题的目标函数。在实际场景中,目标函数可能并不唯一。

02 现实组合优化问题面临求解挑战

相比于式(1.1)中给出的2变量、2约束的简单问题,现实世界中组合优化场景往往非常复杂:决策变量、约束条件可能达到百万级以上,由此带来的可行解集规模会呈指数级增长。

针对这类规模的复杂优化问题,即便对于最先进的商用求解器(如Gurobi),其求解效率也会急剧下降。因此,在实际应用中往往只能退而求其次,借助简单的启发式算法来得到相对高质量的可行解,然而这类启发式的方法很难保证优化效果,产生的可行解可能远远偏离最优解,可能造成有限资源的浪费。以常见的交通运输领域的路径规划问题为例,质量较低的路径规划结果可能导致大量的冗余路线,拉低配送效率,影响对客户的交付。

总的来说,针对大规模现实场景下的组合优化问题的高效求解,传统的精确解法(如求解器)以及近似解法(如启发式规则)都面临巨大的挑战。也就是说:目前急需一种新的组合优化问题的高效求解方案。

我们从问题本身入手,这类问题尽管复杂,但往往呈现出相似的结构,尤其是针对相对固定的应用场景,不同问题往往只是在部分参数上存在差异。以生产制造领域的库存分配问题为例,在不同的时间、针对不同的分配对象(如原材料、成品等),其在变量定义、约束种类、乃至优化目标上都存在诸多相似之处,仅仅在库存数目等参数上存在细小差异。这种结构上的相似性也就为利用人工智能方法探索问题结构以及最优解分布之间的相关性提供了可能。因此,利用人工智能技术求解大规模组合优化问题也就成为了当今的热门研究方向,且目前已经有了很多颇具成效的探索。

03 AI助力探寻组合优化问题最优解

那么,针对现实场景下复杂的问题结构、庞大的问题规模,如何利用人工智能技术来对组合优化问题进行建模与求解呢?本文将主要介绍两种目前相对热门的探索方向,分别是最优解预测以及可行解迭代搜索。

最优解预测

最优解是组合优化问题求解的最终目标,然而随着问题规模的扩增,快速高效的获得大规模组合优化问题的最优解变得愈发困难。因此近些年,部分研究人员尝试直接利用问题的结构性信息对最优解进行预测,具体可以归结为以下两个环节:

1)统一的问题表示:利用人工智能方法建模并求解组合优化问题的前提是能够将不同规模、不同分布的问题表示为相对统一的形式,比如二部图,图1给出了式(1.1)所述优化问题的二部图形式:约束与决策变量分别构成二部图的两个部分,而边则描述了决策变量与约束之间的关系,并借用变量系数表征其权重信息。这种图形化的问题表示方式,使得任意类型的问题都能够以相对固定且统一的形式进行表示,也就为利用人工智能方案寻找问题间的相似结构提供了可能。

图1 二部图示意

2)最优解预测:对于相对复杂的组合优化问题,我们往往很难获取其最优解,因此目前研究普遍选择以大量可行解取值来探索最优解中变量取值分布,即以一定数目的可行解作为标签(label)来指导预测。具体来说,如图2,将变量、约束节点分别用相关特征表示为左侧二部图的形式。注意:若希望进一步捕捉二部图结构信息,可以额外叠加图网络进行特征传递与更新。之后将决策变量特征作为输入,并借助简单的深度学习网络(如多层感知机, MLP),就可以完成对最优解中各决策变量取值分布的学习与预测。最后可以利用随机采样等方式,对全部或是部分变量的最优取值进行预估。

图2 最优解预测示意

整体来看,该框架具备一定的迁移能力,从而有可能实现对大规模组合优化问题的直接求解。然而,当问题分布、变量范围等发生变化时,其产生的预测解可能无法同时满足全部约束,即可能在某些情况下无法产生可行解;与此同时,繁杂的前期数据采集工作(即针对不同问题的可行解收集)也给该方案的实现与应用带来了巨大的挑战。

可行解迭代优化

为了能够使得求解过程有更强的扩展性,同时解决基于监督学习框架需求大量训练数据的问题,利用强化学习对可行解进行小范围的搜索与迭代也是求解大规模组合优化问题的一种思路。具体来说,组合优化问题求解的难点在于可行解的范围庞大,搜索复杂度过高;那么可以借鉴强化学习的思想,利用迭代的方式,每次对当前解进行小范围的优化与更新,降低每步搜索域的范围,力争在求解时间与求解质量上取得平衡。

其整体思路可以概括为图3的形式。具体来说,同样可以用二部图表征不同的组合优化问题,图结构的优势在于可以很好的保留变量、约束之间的复杂关联关系,能够从相对全局的视角对组合优化问题进行建模。接下来,可以将图结构送入局部优化网络,对当前解进行探索,借由深度学习网络选择出那些急需优化的变量子集,大幅降低单步搜索可行域的范围,并利用求解器对子问题进行优化,得到新的可行解。下面主要从大邻域搜索以及局部分支两个方向介绍强化学习在指导局部优化过程中所起的作用。

图3 可行解迭代(局部)优化流程示意

1)大邻域搜索

在该框架下,强化学习网络被用来进行变量选择:即在大规模变量集合中选择变量子集进行局部优化,其马尔科夫决策过程(MDP)定义如下:

状态:状态空间定义为二部图形式,其中包括了静态问题特征以及动态求解特征。其中静态问题特征即组合优化问题的一般结构信息,如变量类型、变量上下界等;而动态求解特征则定义为迭代求解过程中每步的求解状态,如当前最优解;

动作:动作即为在每次迭代中,选择一组变量子集进行优化;

转移:状态间的转移利用求解器实现,即将选定的变量子集进行局部优化,其余变量固定为当前取值,利用求解器对该子问题进行优化求解,得到以及

奖励:每步优化的奖励定义为目标函数的优化幅度;

通过这种将变量“分治”的方式,大大降低了每步求解的复杂度,同时强化学习也可以为每步的变量选择提供策略支持,以便在每次迭代中尽可能对目标函数进行优化。

2)局部分支

其思想类似于大邻域搜索,即“小步快走”,在降低每步优化难度的前提下,通过迭代的方式实现组合优化问题的快速求解。区别在于每步迭代的方式,不同于大邻域搜索在每步的“分治”想法,局部分支的思路在于小规模优化,其马尔科夫决策过程定义如下:

状态:与大邻域搜索中的状态空间定义一致;

动作:其每步的动作是选定值,以便完成如下优化:

其中表示可行解中第个变量的取值,其思路在于限制之间的最大距离;

转移:状态的转移同样借由求解器实现,即将式(1.2)添加为新的约束,利用求解器在限定搜索范围的问题上进行局部优化与更新,得到下一步的状态;

奖励:其每步的奖励定义为:

其中表示目标函数的优化幅度,分别表示单步求解时间上限与实际求解时间。其目的是希望尽可能平衡执行效率与优化效果。本质上来看,局部分支的思想同样是降低单步的搜索范围,避免在全部可行域上进行搜索。而强化学习在其中的作用在于提供每步迭代中搜索范围(即K值)的选择策略。

总的来说,因能够以相对低的复杂度实现对不同组合优化问题的快速迭代求解,基于强化学习的邻域搜索已经越来越受到研究人员的关注。然而其仍存在很多亟待解决的问题,等待未来进一步的探索与实现。比如:

a) 如何将求解问题从0/1规划扩展向一般整数变量优化,一般整数变量优化范围更大,优化难度更高,在当前研究中较少涉及;

b) 如何使策略能够具备问题间的扩展性,避免在不同问题、不同场景下的重复学习;

c) 当前框架在大规模的现实世界组合优化问题上的有效性同样亟待检验。

d) ………

04 结语

在现阶段面向大规模组合优化问题的求解方案中,传统的启发式方案很难保证求解质量,而SCIP、Gurobi等这类国际公认的主流求解器,也在问题规模无限扩大的情况下无法满足求解时效性要求。面对现实世界中这类问题带来的求解挑战,研究人员借助近年来不断发展的人工智能技术,开始广泛探索诸如模仿学习、强化学习、图网络等不同解决方案的可行性与有效性。

本文我们分享了人工智能技术在最优解预测、可行解迭代搜索等方向上的解决方案,然而我们也能够看到这些方案还存在诸多有待解决的问题,比如在实现与应用方面还存在可扩展性不足、有效性亟待检验等问题。当然,科学之路从来就不是一片坦途,相信在研究人员不断地探索与研究下,人工智能技术在今后能够更有成效地求解大规模组合优化问题,进而对我们的生产生活产生更大的助益。

参考文献

[1]. Gasse M, Chételat D, Ferroni N, et al. Exact combinatorial optimization with graph convolutional neural networks[J]. Advances in Neural Information Processing Systems, 2019, 32.

[2]. Ding J Y, Zhang C, Shen L, et al. Accelerating primal solution findings for mixed integer programs based on solution prediction[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2020, 34(02): 1452-1459.

[3]. Nair V, Bartunov S, Gimeno F, et al. Solving mixed integer programs using neural networks[J]. arXiv preprint arXiv:2012.13349, 2020.

[4]. Song J, Yue Y, Dilkina B. A general large neighborhood search framework for solving integer linear programs[J]. Advances in Neural Information Processing Systems, 2020, 33: 20012-20023.

[5]. Wu Y, Song W, Cao Z, et al. Learning large neighborhood search policy for integer programming[J]. Advances in Neural Information Processing Systems, 2021, 34: 30075-30087.

[6]. Liu D, Fischetti M, Lodi A. Learning to search in local branching[J]. arXiv preprint arXiv:2112.02195, 2021.

[7]. Nair V, Alizadeh M. Neural Large Neighborhood Search[C]//Learning Meets Combinatorial Algorithms at NeurIPS2020. 2020.

标签: #组合优化问题 #组合优化算法建模实验报告 #组合优化模型的优缺点是什么呢