组合优化问题基础介绍

671 阅读3分钟

一、定义

组合优化问题 (Combinatorial optimization problem,COP) 是一类在离散状态下求极值的最优化问题,其数学模型如下所示: image.png

二、应用领域

  • 国防
  • 交通
  • 产品制造
  • 管理决策
  • 电力
  • 通信
  • ...

三、常见的组合优化问题

  • 旅行商问题(Traveling salesman problem, TSP)
  • 背包问题(Knapsack)
  • 车辆路径问题(Vehicle routing problem, VRP)
  • 车间作业调度问题(Job-shop scheduling)
  • 最小顶点覆盖问题(Minimum vertex cover, MVC)
  • 最小支配集问题(Minimum dominating problem, MDP)
  • ...

四、组合优化问题的特点

其决策空间为有限点集,直观上可以通过穷举法得到问题的最优解,但是由于可行解数量随问题规模呈指数型增长,无法在多项式时间内穷举得到问题的最优解。

五、求解组合优化问题的传统方法

  • 精确方法(Exact approaches)
  • 近似方法(Approximate approaches)

近年来深度强化学习方法逐渐应用在组合优化问题上。

1. 精确方法

精确方法是可以求解得到问题全局最优解的一类算法,主要包括:

  • 分支定界法(Branch and bound)
  • 动态规划法(Dynamic programming)

这两种方法均采用分而治之的思想通过将原问题分解为子问题的方式进行求解,通过不断迭代求解得到问题的全局最优解。

精确方法可以求解得到组合优化问题的全局最优解,但是当问题规模扩大时,该类算法将消耗巨大的计算量,很难拓展到大规模问题。

2. 近似方法

近似方法是可以求解得到问题局部最优解的方法,主要包括:

  • 近似算法(Approximate algorithms)
  • 启发式算法(Heuristic algorithms)

近似算法是可以得到有质量保证的解的方法,包括贪心算法局部搜索算法线性规划松弛算法序列算法等;

启发式算法是利用设定的启发式规则对解空间进行搜索的一类方法,能够在可行时间内找到一个较好的解,但是对解的质量没有保证,其主要包括模拟退火算法禁忌搜索进化算法(如遗传算法、差分进化算法等)蚁群优化算法粒子群算法迭代局部搜索变邻域搜索等。

相对于精确方法,近似方法可以在可接受的计算时间内搜索得到一个较好的解。基于群体智能的进化方法以及局 部搜索等方法都是近年来的研究热点,但是该类方法都是迭代型优化算法,当问题规模很大时,大量的迭代搜索仍然会导致较大的计算耗时,近似方法仍然很难拓展到在线、实时优化问题。此外,一旦问题发生变化,上述方法一般需要重新进行搜索求解,或者通过不断试错对启发式规则进行调整以获得更好的效果,计算成本高。

参考文献

[1]李凯文,张涛,王锐,覃伟健,贺惠晖,黄鸿.基于深度强化学习的组合优化研究进展[J].自动化学报,2021,47(11):2521-2537.DOI:10.16383/j.aas.c200551.