Seeking Multiple Solutions of Combinatorial optimization Problems: A Proof of Principle Study 学习笔记


摘要

多最优解决方案问题广泛存在于真实世界。在一些应用里,需要定位多个最优。然而,多数研究针对的是连续的多解决方案优化,而很少有工作致力于离散多解决方案优化。为了在离散领域推广多解决方案搜索,我们为多解决方案旅行商问题设计了一个基准测试套件和两个评价指标。此外,为了解决问题,在离散空间内遗传算法和小生境算法被合并。并与现有算法进行了比较。实验结果表明,该算法在得到的解的质量和多样性方面优于对照算法。


零、一些基础

1.梯度近似

一、介绍

组合优化问题(COPs)是一个离散优化的课题,需要在一个限定的解决方案区域内根据一些选择标准找到一个最优解决方案。很多COPs已经被熟知为NP-hard,例如旅行商问题(TSP)。很难由确定性的算法来计算它们,特别是当解决方案空间十分大时。在过去的几十年内,很多进化算法(EAs)已经很成功被发展来解决COPs,归功于它们的非确定性搜索特性和强有力的全局优化能力。然而,多数研究聚焦于定位一个单独的最优解决方案。但是很多实际应用需要定义多于一个最优解决方案,比如导航系统和机器人路径规划。有了一个多样化的解决方案集合,决策者可以根据自身喜好选择最合适的方案,或者他们可以在一些非期待的情况下有替代选择。

为单一问题找到多个最优解的领域通常被称为多模态优化(MMO)或多解优化,在过去一些年已经有了很多研究。然而多数研究都是关于连续MMO的,而且很少有研究致力于离散MMO。为了拓展MMO到离散优化领域,有三个问题要被考虑:(1)适合处理离散MMO问题的基线(baseline)算法;(2)在离散问题空间中用来保持多个潜力解决方案的技术;(3)一个合适的基准(benchmark)测试套件。前两个主要被优化器开发人员考虑,而第三个是一个用于评价算法表现的关键因素。在本文中,我们对这三个问题进行了原则性的论证研究,简要介绍如下。

第一个问题是选择一个适当的基线算法来编码和在离散问题空间中进化解决方案。一些EAs,比如差分进化、粒子群优化等,本质上使用浮点编码,因此它们不能直接解决离散问题。其他EAs,比如遗传算法(GA)和蚁群算法,使用整数编码方案,然后在离散或组合空间中工作。因此,在本工作里,我们选择GA作为我们的基线算法。然而,GA不能直接解决离散MMO问题,这是因为它将会最终集中朝向一个最优解。汇聚导致了多样性损失。

因此,第二个食物聚焦于坚持种群多样性,这是MMO的关键。在连续MMO中,最基础保持种群多样性的方法是小生境技术,比如拥挤、物种形成和邻近策略。小生境技术在本地空间内限制了解决方案进化,避免了全局汇聚。根据这种观点考虑,我们可以合并小生境技术到一个合适的基线算法来同时获得不同的候选方案。特别的,我们发展了离散空间的邻域小生境策略,接着合并该策略到遗传算法中,以此来解决MMO问题。

第三个问题关心离散MMO问题的基准套件选择。尽管COPs的多样化解决方案优化是很多实际应用的关键,但是当前该领域只获得了很少的关注,同时缺少一个标准的测试套件来评估相关算法。缺乏适当的基准测试套件可能会阻碍离散MMO领域的研究和开发。为了推广到该领域,本文中,我们为组合MMO开发了一个基准套件。因为TSP是最火热的、最具代表性的COP,我们以它为例设计了一个多解决方案的TSP实例(MSTSPs)。据我们所知,有几种早起的MSTSP实例已经被报告。然而,这些实例要么包含太多的最佳路径(例如,16个城市,938个最佳),要么拥有少量的城市(少于10个城市),这是不适当的,也不足以用作基准测试套件。在本文中,我们提出了一个包含25个MSTSP实例的基准测试套件,它们可分为三类,即简单的MSTSPs、几何的MSTSPs和复合的MSTSPs。城市的数量从9到66,最优解数量的数量从2到196。

本文的其余部分组织如下。第二节制定了TSP。第三节描述了提议的25个MSTSP。该算法在第四节中提出。第五节定义了实验设置,并报告了实验结果。最后,在第六节中得出了结论。

二、旅行商问题

给定一定数量的城市和两两之间的距离信息,一个商人只访问每个城市一次,以构建一个Hamilton路径(由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次)。TSP的目标是寻找一个最短的Hamilton路径。以数学形式来说,考虑一个图 G = ( V , E ) G=(V,E) G=(V,E),其中 V = { 1 , 2 , 3 , . . . , N } V=\{1,2,3,...,N\} V={1,2,3,...,N}是城市的集合(以索引表示),同时 E = { ( i , j ) ∣ i , j ∈ N , i ≠ j } E=\{ (i,j)|i,j \in N,i \neq j \} E={(i,j)i,jN,i=j}是边的集合,表示城市 i i i j j j之间的连接。每个连接 ( i , j ) (i,j) (i,j)有一个权重值 d i j d_{ij} dij来衡量两个城市之间的距离。根据文献中定义的边权类型EUC_2D,我们将距离舍入到最近的整数。

Hamilton路径可以表示为城市集的排列 π \pi π。此后,TSP是在所有的排列中找到一个最短的路径。更准确地说,我们认为,
min ⁡ f ( π ) = ∑ k = 1 N − 1 d π ( k ) π ( k + 1 ) + d π ( N ) π ( 1 ) \min f(\pi)=\sum_{k=1}^{N-1} d_{\pi(k) \pi(k+1)}+d_{\pi(N) \pi(1)} minf(π)=k=1N1dπ(k)π(k+1)+dπ(N)π(1)
其中, N N N是城市数量, π ( k ) \pi(k) π(k)是排列 π \pi π的第 k k k个元素。

三、测试套件总结

我们的基准测试集包括25个MSTSP。根据其设计方法,将其分为三类,一般描述如下。

第一类(MSTSP1 - MSTSP6)由6个简单的MSTSPs组成,它们的城市是随机生成的。对于这些情况,我们通过蛮力搜索(brute-force search)得到了地面真实的最佳解。然而,由于解决方案空间随着城市数量的增加而呈指数增长,对于相对大规模的实例,考虑到时间限制,不可能遍历所有可能的排列。因此,在这一类别中,城市的数量从9个到12个不等。此外,最优值的数量范围为2到13个。例如,MSTSP1如图1所示,黑色圆圈代表城市,红线构成最佳游览。特别是,MSTSP1有三个最优行程,每个都在图1的子图中描述。每个最优值的长度显示在子图的上方。可以观察到,三个最优方案具有完全相同的长度680,但行程不同。

在这里插入图片描述
第二类(MSTSP7 - MSTSP12)包括6个几何MSTSPs。不像第一类实例是随机生成的,现在我们利用对称几何来构造MSTSPs。通过设计不同的几何拓扑,这些实例可以有不同数量的最优值。因此,在MSTSP7 - MSTSP12中,最优城市的数量在4到196个之间,而城市的数量在10到15个之间。具体地说,使用了不同的对称几何图形,包括矩形、规则五边形和规则六边形。城市位于每个几何图形的顶点上。在不同的几何形状下,最优值对每个实例都有显著不同的行程。我们以MSTSP9为例,如图2所示。一个规则的六边形嵌套在一个大矩形中,从而产生四个最优行程。从图2中可以看出,这四种旅游项目具有完全不同的拓扑结构。
在这里插入图片描述
第三类(MSTSP13 - MSTSP25)由13个复合MSTSPs组成,它们是相对大规模的实例。复合MSTSPs是由一些基本的小规模MSTSPs构建的。每个小规模的MSTSP被认为是一个城市集群,城市集群分布在复合MSTSP中不同的不同几何位置。一方面,一些城市集群具有相同长度的不同子路径,从而为复合MSTSP提供了多种最优路径。另一方面,城市集群的几何分布为复合实例有多个不同的解决方案提供了额外的可能性。因此,综上所述,最优旅游的多样性同时来自于城市之间的集群内关系和城市集群之间的集群间关系。对于MSTSP13 - MSTSP25,最大城市规模提高到66,而最优的数量从4到72。更具体地说,城市集群可以被设计为几何位置(如从MSTSP13到MSTSP 16的案例)或随机生成的位置(如从MSTSP17到MSTSP25的案例)。此外,在集群间关系方面,MSTSP13和MSTSP14对城市集群具有单一的最优路径,而其他复合MSTSPs在城市集群间具有多个最优游。例如,MSTSP21有两个最优的簇间拓扑,如图3(a).的两个子图所示此外,该实例有四个城市集群,分别用A、B、C和D标记,使用一个下标和最优拓扑的索引。如果我们放大其中一个城市群(例如,B1)以查看更多细节,如图3(b)所示,该集群具有两种不同的最佳集群内拓扑。类似地,如图3 ©所示的集群B2具有两个不同的集群内拓扑,且子行程长度相同。
在这里插入图片描述

上述三个类别共包含25个MSTSPs,汇总如表一所示,包括类别信息、索引、名称、城市数量、最优数量和最优长度。有关更多细节,请参阅基准测试套件的补充文件和源代码。它们可以在互联网上下载(Github)
在这里插入图片描述

四、基于邻域的遗传算法

1.整体框架

首先,NGA初始化NP染色体并计算它们的行程长度。接下来,算法进入进化循环。采用邻近策略,将整个种群划分为几个群体,最终形成一个交配池。然后,交配池中成对的亲本执行部分映射交叉(PMX)。在这之后,我们通过在两个随机选择的位置之间逆转基因组来突变染色体,称为反向序列突变(RSM)。到目前为止,我们获得了后代以及它们的行程长度。然后,我们从后代中选择染色体来确定下一代的父母。重复上述过程,直到满足终止条件。当算法终止时,采用后处理方法识别最终总体的代表性解,并输出解集。整个过程在算法1中给出。
在这里插入图片描述

2.邻域分组策略

邻域分组策略根据个体的距离对整个种群进行划分。如算法2所示,首先创建 t m p P a r e n t tmpParent tmpParent,既 P a r e n t Parent Parent的副本。然后,将行程最短的染色体被确定为邻域领袖 L e a d e r Leader Leader。随后,与 L e a d e r Leader Leader更近的成员更倾向于形成一个小组。为此,需要在MSTSPs的解之间进行相似性度量。

注意,MSTSP的解决方案被编码为一个排列,因此直接比较相关位置的城市索引是无意义的。相反,城市之间的邻接信息更为重要。因此,我们根据两个行程之间的共同边来定义相似性度量。假定 π i \pi_i πi π j \pi_j πj为两个排列,而 Φ ( π i ) \Phi(\pi_i) Φ(πi) Φ ( π j ) \Phi(\pi_j) Φ(πj)贡献了他们的边集合。然后, π i \pi_i πi π j \pi_j πj之间的相似度被计算为,
S ( π i , π j ) = ∣ Φ ( π i ) ∩ Φ ( π j ) ∣ N S\left(\pi_i, \pi_j\right)=\frac{\left|\Phi\left(\pi_i\right) \cap \Phi\left(\pi_j\right)\right|}{N} S(πi,πj)=NΦ(πi)Φ(πj)
其中, ∣ ⋅ ∣ | \cdot | 表示交点集中的边数。然后,计算 L e a d a e r Leadaer Leadaer和所有成员之间的相似度值。计算值用于按升序对 t m p P a r e n t tmpParent tmpParent进行排序,获得 s o r t P a r e n t sortParent sortParent。前 m m m s o r t P a r e n t sortParent sortParent染色体一起形成 N e i g h b o r G r o u p NeighborGroup NeighborGroup。此外,我们还考虑了局部最优的陷阱造成的多样性损失。在 N e i g h b o r G r o u p NeighborGroup NeighborGroup上采用了一种多样性增强的方法,以避免搜索进入局部最优。具体来说,如果 N e i g h b o r G r o u p NeighborGroup NeighborGroup的所有成员都是相同的,我们重新初始化 m − 1 m-1 m1成员,让一个成员保持不变。然后,社区组织被打乱了。当 N e i g h b o r G r o u p NeighborGroup NeighborGroup的成员定居下来后,他们就会被添加到 M a t i n g P o o l MatingPool MatingPool。同时,新添加的成员将从 t m p P a r e n t tmpParent tmpParent中删除。重复上述过程,直到集合 t m p P a r e n t tmpParent tmpParent为空。
在这里插入图片描述

3.进化运算

遗传算法的基本进化操作包括交叉、突变和选择,如算法1的第5 - 8行所示。这三个操作都应用于同一邻域组内,以避免全局收敛。具体来说,对同一邻域群的父对采用交叉和突变操作。也就是说,后代的大部分基因片段都是来自同一邻居群体的成员,因此后代和父母往往彼此接近。选择操作保持了优越性和多样化的解决方案,而抛弃了其他的解决方案。对于每个子代,将识别出相应邻域组中最相似的父代。将比较子代和此父代之间的长度值。如果子代较短,它将取代所选择的父母。
在这里插入图片描述

4.后处理操作

当算法终止时,得到NP染色体,对应NP解。然而,由于冗余性或劣性,有些是不必要提供的。考虑到这一点,采用后处理方法来识别具有代表性的产品,并将其提供到最终的输出集中。该过程在算法3中描述。首先,找到长度最短的解,并将长度记录为 S h o r t e s t L e n g t h ShortestLength ShortestLength。接着,一个选择阈值 t h r L e n g t h thrLength thrLength被定义为 S h o r t e s t L e n g t h ShortestLength ShortestLength的一个 ε \varepsilon ε-宽松。然后我们依次处理NP解决方案:我们首先检查他们是否已经存在于最终输出集合 S \mathbb{S} S。如果存在,则冗余的解决方案将会被丢弃。否则,我们允许解决方法加入集合 S \mathbb{S} S,但是要符合两个条件:(1)它的长度与迄今为止的最优算法的长度完全相同(如算法3的第10 - 11行所示),并且(2)它的长度短于 t h r L e n g t h thrLength thrLength,以及可以于集合 S \mathbb{S} S的其他成员相区分,这由 t h r S i m thrSim thrSim(描述于算法3的12-22行)控制。这里, ε \varepsilon ε取0.01,以及 t h r S i m thrSim thrSim 2 ∗ ln ⁡ ( N ) / N 2* \ln (N)/N 2ln(N)/N

五、实验和分析

1.实验设置

为了评估离散MMO算法的性能,我们采用了所提出的25个MSTSPs的基准测试套件,如第三节所述。现有的离散MMO算法包括小生境蚁群系统(NACS)和基于多染色体抽筋的遗传算法(MCC-GA)。NACS将多样性保护机制纳入蚁群系统,以解决MSTSPs。通过多样性保护机制,保留了多个信息素矩阵,引导蚂蚁向不同方向的搜索,从而使算法能够并行获得不同的解。MCC-GA将 l l l个解编码到一个染色体中。总体搜索致力于寻找精确的 l l l解。 l l l的值应该提前给出。但是,在没有任何关于测试实例的先验知识的情况下,很难进行适当的设置。因此,作为原理研究的证明,我们研究了NGA和NACS在所提出的测试套件上的性能。

NGA的参数由经验设置:交叉率 P c = 0.9 P_c=0.9 Pc=0.9, 突变率 P m = 0.1 P_m=0.1 Pm=0.1,并且邻居尺寸 m = 6 m=6 m=6。NACS的参数根据相应的出版物进行设置。人口的规模被设置为150人。当给定的最大适应度评估(MaxFEs)耗尽时,所有的算法都会终止。25个MSTSPs的MaxFEs有两个设置,如表二所示。该算法应独立运行50次,以获得统计结果。
在这里插入图片描述

2.表现衡量

(1)最优路径的确定

上面的每个实例都有一组ground-truth最优解,记为 P \mathbb{P} P。优化算法的目的是找到所有的最优。为了进行评估,我们首先需要将算法return的解集 S \mathbb{S} S与ground-truth进行比较,利用式(2)确定算法找到的最优行程。只要一个解与地面真相解的相似度等于1,就认为该解是最优的。

(2) F β F_{\beta} Fβ度量

典型地,当遇到结束条件,最优算法将会提供一个最终解决方案集合 S S S。然而,解决方案集可能包含许多劣质和冗余的解决方案。为了量化解决方案集的质量,我们引入 F β F_{\beta} Fβ,它作为一种措施,被广泛应用于模式识别和信息检索中。 F β F_{\beta} Fβ是获取所得解的精度值 P P P和查全率值 R R R的综合指标。 P P P是所得到的最优解的分数:
P = T P T P + F P P=\frac{T P}{T P+F P} P=TP+FPTP
其中 T P TP TP S \mathbb{S} S中的最优解决方案数, F P FP FP S \mathbb{S} S中的非最优解决方案数。 R R R是成功定位的地面真实解决方案的部分:
R = T P T P + F N R=\frac{T P}{T P+F N} R=TP+FNTP
其中 F N FN FN是漏掉的最优解的数量。事实上 T P TP TP F N FN FN是基准里全部期待的解决方案总数。

基于精确度和召回率, F β F_{\beta} Fβ可以倍计算为,
F β = ( 1 + β 2 ) ⋅ P ⋅ R β 2 ⋅ P + R F_\beta=\frac{\left(1+\beta^2\right) \cdot P \cdot R}{\beta^2 \cdot P+R} Fβ=β2P+R(1+β2)PR
β \beta β为1是,它赋予 P P P R R R相同的重要性。然而,对于具有许多最优值的测试实例,定位最具代表性的一个比定位它们所有更重要。因此我们设置 β 2 \beta^2 β2为0.3为了评估解时放大“精度”的效果。此外, P P P R R R F β F_\beta Fβ是0和1之间的真实值。理想情况下,当算法提供的所有解都是最优时, P P P等于1;当所有的地面解都由算法定位时, R R R满足1;随后, F β F_{\beta} Fβ P P P R R R都等于1时实现1。

为了进一步解释,我们以4个最优的MSTSP9为例,与两种不同的算法A和B进行比较。算法A提供100个解决方案,而算法B只提供4个具有代表性的解决方案。我们假设这两种算法成功地定位了所有的ground-truth解。很明显,B得到的解质量优于A得到的解,因为B只提供必要的解,而A有冗余和较差的解。在下面,我们给出了一个定量的描述。

对于算法A,它有 T P = 4 TP = 4 TP=4 F P = 96 FP = 96 FP=96 F N = 0 FN = 0 FN=0。因此,我们可以根据方程式得到 P = 0.04 P=0.04 P=0.04 R = 1 R=1 R=1。对于B,根据等式,它有 T P = 4 TP = 4 TP=4 F P = 0 FP = 0 FP=0 F N = 0 FN = 0 FN=0。因此,我们可以有 P = 1 P = 1 P=1 R = 1 R = 1 R=1。总而言之,根据 F β F_{\beta} Fβ的方程式,A是0.051,而B是1。从这个角度来看,这个结论与之前的直觉是一致的。

(3)多样性指标DI

多样性指标(DI)是评价算法性能的另一个重要指标。当算法无法找到任何期望的解时,它们的 F β F_{\beta} Fβ值都为零。在这些情况下,DI有助于进一步区分不同算法的性能。受进化多目标优化区域的启发,该算法也提供了一个需要评估的解集,DI根据解在ground-truth 集合 P \mathbb{P} P中对不同最优解的收敛性来衡量 S \mathbb{S} S的多样性。DI是根据得到的解与ground-truth解的平均最大相似度来定义的,计算公式为
DI ⁡ ( P , S ) = ∑ i = 1 ∣ P ∣ max ⁡ j = 1 , … , ∣ S ∣ S ( p i , s j ) ∣ P ∣ \operatorname{DI}(\mathbb{P}, \mathbb{S})=\frac{\sum_{i=1}^{|\mathbb{P}|} \max _{j=1, \ldots,|\mathbb{S}|} S\left(p_i, s_j\right)}{|\mathbb{P}|} DI(P,S)=Pi=1Pmaxj=1,,SS(pi,sj)
其中 p i p_i pi P \mathbb{P} P的第 i i i个排列, s j s_j sj S \mathbb{S} S j j j个排列,以及 S ( p i , s j ) 是 S(p_i,s_j)是 S(pi,sj)是这些排列 p i p_i pi s j s_j sj之间的相似性,详见目标函数(既第一个公式)。

3.模拟结果

F β F_\beta Fβ和DI经由NACS和NGA获取,比较结果展示在表三和四中。较好的结果用粗体标出。在表三中,我们可以发现NGA在18到25个实例情况下,在 F b e t a F_beta Fbeta指标上比NACS更胜一筹。然而,对于最后七个测试实例(MSTSP19 - MSTSP25),他们的 F b e t a F_beta Fbeta值几乎为0,这表明他们在相关大规模数量的城市中没成功找到任何令人满意的解决方案。观察结果表明,相对大规模城市的MSTSP实例对离散MMO算法提出了挑战。
在这里插入图片描述
DI见表四。DI越高,说明所得到的解越多样化。在表四中,NGA在25个关于DI测试实例中有17个表现更好。对于简单的MSTSPs和几何的MSTSPs,即从MSTSP1到MSTSP12,除了MSTSP5外,NGA总是赢家。对于复合MSTSPs(MSTSP13 - MSTSP25),NGA在大约一半的测试实例上比NACS表现得更好,在13个测试实例中有6个。NGA的DI值随着城市数量的增加而降低。观察结果表明,基于邻域的NGA搜索有利于种群多样性,但不足以满足相对大规模的mstsp的研究。
在这里插入图片描述
进一步调查 F β F_\beta Fβ和DI的深远影响,我们利用Wilcoxon 秩和检验,显著性 α = 0.05 \alpha=0.05 α=0.05。结果展示在表五里。在表中,我们可以得出结论:在25个例子里的16个,NGA的 F β F_\beta Fβ要比NACS更显著,而他们在8个测试实例上是平局。至于另一个指标,DI、NGA在25个实例中有17个显著优于NACS,而NGA在另外8个测试实例中失败。总体显著性检验结果表明,NGA在解决方案质量和解决方案多样性方面都优于前者。
在这里插入图片描述

六、结论

本文对将MMO扩展到组合区域进行了初步的研究。为了处理组合MMO问题,我们在遗传算法中加入了一个基于邻域的策略,以获得不同的解。遗传算法有利于全局搜索以获得最优解,而基于邻域的策略有助于保持种群多样性,以并行定位潜在的候选对象。此外,为了评估组合MMO算法的性能,我们提出了一套由三种不同方法设计的25个MSTSPs组成的基准测试套件。此外,利用所提出的NGA和比较的NACS求解了25个MSTSPs。我们采用了两个指标来比较它们的表现。 F β F_{\beta} Fβ用于综合评估返回解的精度和召回值,DI用于衡量得到的解的多样性和收敛性。实验证明NGA在大多数MSTSP上都能取得与 F β F_{\beta} Fβ和DI相当的性能。但是,它们都无法在具有较大城市规模的MSTSP实例上获得所需的解决方案。

在未来的工作中,我们将完善NGA,以制定出具有较大城市规模的MSTSPs。此外,我们尝试设计更多的离散MMO测试实例来补充离散基准测试。

七、代码解析

【待补充】


相关领域

【待补充】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值