1 代理模型方法
进化计算(Evolutionary Computation, EC)算法是受自然界进化现象和群智能的启发而发展起来的一种基于种群的优化求解工具。由于EC算法的简单性和不需要梯度信息,在过去的几十年里已经发展出了多种进化算法并被广泛应用于解决各种优化问题。EC算法从可行解(个体)的初始种群开始,通过复制操作(如交叉和变异)迭代生成新的解(后代)。然后通过基于适应度评估(Fitness Evaluation, FE)的挑选,具有更好适应度值的个体有更大的机会生存到下一代,从而传播高质量的解。因此FE是推动EC算法接近最优解的一个重要过程。(适应度函数取决于目标函数,但也有区别。目标函数与问题本身有关,即优化目标,而适应度函数与算法设计有关,适应度函数被设计用于帮助选择操作。)如果优化问题的目标函数非常明确且适应度函数设计得很好,那么EC算法就可以很好地工作。然而许多实际问题的典型特征是NP-hard、随机性和高计算成本,这意味着FE可能是不确定的和计算昂贵的。因此如何为实际昂贵优化问题(Expensive Optimization Problem, EOP)建立一个合适的适应度函数是非常困难的。
为了有效地利用EC算法求解EOP,文献中广泛使用的方法是通过代理模型代替原始昂贵目标函数,从而建立一个代价低廉的适应度函数。代理方法可分为两类:1)数据驱动方法;2)知识驱动方法。数据驱动方法旨在基于收集到的历史数据构建一个代理模型,使其作为一种更便宜的适应度函数来取代原始昂贵目标函数。知识驱动方法是由领域专家提出的,通过基于知识嵌入数学模型的数值模拟,将原始目标函数简化为一个成本较低的适应度函数。上述两种方法的基本思想都是寻找一种代价较低的逼近模型来替代原始昂贵目标函数。然而无论是数据驱动的方法还是知识驱动的方法,它们或多或少地使被替换/简化的廉价适应度函数在某种程度上不同于现实问题的原始目标函数。这将不可避免地带来模型误差,对实际应用不利。为了减少单个低保真度代理的模型误差,提出了使用多个代理和多保真度代理的方法来平衡计算成本和精度,这在一定程度上降低了模型误差。但是用代理模型近似得到的适应度函数需要大量的数据和训练。此外构建的代理可能只对优化过程有意义,但在实际应用中可能不像原始目标函数一样具有实际意义。也就是说由于代理模型的误差,在代理适应度函数中表现良好的解在实际问题中不一定能很好地工作。
为了弥补真实问题的昂贵目标函数与EC算法的适应度评估之间的差距,本文提出了一种尺度自适应适应度评估(Scale-Adaptive Fitness Evaluation, SAFE)方法,使EC算法能够直接在原始目标函数上高效地求解EOP问题。本文提出的SAFE方法与基于代理的方法在求解EOP的主要区别如图1所示。在图1左边的方法中,主要的贡献位于真实目标函数和廉价适应度函数之间,其中提出了大量的代理模型方法。而我们的工作集中在图1的右侧,其主要贡献位于适应度函数和算法之间,其中提出了SAFE方法来驱动EC算法有效地处理原始昂贵适应度函数。
SAFE方法是一组具有不同精度尺度的不同评估方法(Evaluation Methods, EM)协同工作并自适应协作以完成FE过程的通用框架。在使用SAFE时,适应度函数可以与原目标函数相同或无显著差异,但在不同的进化阶段,不同的EMs可以在不同的精度尺度上评估解的适应度值,以降低计算成本。值得注意的是,基于多保真度代理的方法在平衡解的精度和计算开销方面与SAFE方法有相似之处。然而它们的主要的区别在于,大多数基于多保真度代理的方法主要只考虑一种EM,并通过控制该EM的仿真参数(如最大迭代次数)来控制评估保真度,而SAFE方法采用不同精度尺度的异构EM来完成FE。因此SAFE方法是一个更一般的框架,不仅EM本身可以被控制,而且不同的EM可以相互协作。
主要贡献:
- 不同于以往的研究通常会改变EOP问题的目标函数,我们提出的SAFE方法在不同的精度尺度上管理一组异构的EMs,直接对原始目标函数作为适应度函数进行评估;
- 为了充分利用各种EMs,不同EMs之间的切换被设计成一种inter-EM(即不同EMs之间)管理,包括单向和双向EM切换策略。这有助于根据不同进化阶段的搜索需求自适应地切换到合适的EM。
- 为了进一步帮助SAFE方法,提出了一种基于邻居最优评估(NBE)策略,充分利用高质量的解进一步降低计算成本。由于NBE策略是在特定EM的解上执行的,我们将其称为intra-EM(即EM内)改进。
2 众包配送调度问题
2.1 问题表示
众包配送(Crowdshipping)是当前物流系统的新趋势。在此模式下,物流公司不仅雇佣了一个专业车队(PF),还吸引普通的闲散人群作为临时快递员(OC),协同完成配送任务。作为回报,公司会向OC支付一小笔报酬。众包配送问题的目标是使PF产生的总配送成本和支付给OC的报酬最小化。
众包配送计划不仅包括任务分配,确定哪个客户应该由PF或OC服务,还包括PF的路径规划。具体来说,工作流是从与客户位置和需求(例如货物重量)等信息相关的待服务订单(客户)到达时开始的。调度程序需要决定哪些订单应该由PF或OC完成。一旦做出决策,即任务分配,OC的客户就会被释放,成本就可以计算出来。剩余的客户将由PF服务,PF根据给定订单的路径规划从仓库出发,其总成本应尽可能小。当所有客户满意时,PF将返回仓库。此外,PF内车辆的负荷不能超过其承载能力。
由于SAFE方法使用与目标函数相同的适应度函数,因此需要规划PF的路径以获得总成本。获取PF的路径规划是一个优化问题,即众所周知的有能力约束的车辆路径调度问题 (Capacitated Vehicle Routing Problem, CVRP)。由于CVRP具有NP-hard的特点,用现有的精确求解方法求得最优解既耗时又计算量大,因此文献中提出了许多非精确算法,如贪心算法、变邻域搜索(VNS)和ACS,本文将这些求解器作为不同的EMs来处理。通常,基于搜索能力和计算成本可以将它们划分为不同的精度尺度。具体来说,精度越高的求解器往往得到的解越好,但耗时越长。此外还可以控制求解器的参数(如最大迭代次数),形成更多具有不同精度尺度的求解器。因此显然需要在解的质量和计算成本之间取得平衡。为此本文提出利用SAFE方法有效地解决众包配送调度问题,可能会对智慧城市智能物流系统的发展具有一定的借鉴意义。
基于著名的CVRP模型,将众包配送调度系统的问题建模为CVRP-OC。CVRP-OC定义在完全无向图
G
=
(
C
U
S
,
E
D
G
)
G = (CUS, EDG)
G=(CUS,EDG)上。其中:
N
N
N为客户数量,
C
U
S
=
{
c
0
,
c
1
,
…
,
c
N
}
CUS = \{c_0, c_1, …, c_N\}
CUS={c0,c1,…,cN}是包含
N
+
1
N + 1
N+1个元素的客户节点集合。
c
0
c_0
c0是PF中所有车辆离开并最终返回的仓库。每个客户都与一个需求相关联,这个需求构成了
D
e
m
a
n
d
=
{
d
i
∣
0
≤
i
≤
N
}
Demand = \{d_i |0≤i≤N\}
Demand={di∣0≤i≤N}。其中仓库的需求
d
0
d_0
d0为零。所有PF车型都有相同的最大负载限制,称为
C
a
p
a
c
i
t
y
Capacity
Capacity。在这里,由于许多空闲的快递员构成了一个整体,因此OC的容量被假设为无限。每一对客户的组合构成一个边集
E
D
G
=
{
(
i
,
j
)
∣
0
≤
i
≠
j
≤
N
}
EDG= \{(i, j)|0≤i≠j≤N\}
EDG={(i,j)∣0≤i=j≤N}。每条边都与一个称为
C
o
s
t
=
{
w
i
j
∣
0
≤
i
≠
j
≤
N
}
Cost= \{w_{ij}|0≤i≠j≤N\}
Cost={wij∣0≤i=j≤N}的旅行成本相关联。注意,
i
=
0
i = 0
i=0或
j
=
0
j = 0
j=0表示连接仓库和客户的边。总共有
K
+
1
K + 1
K+1辆车可用。车辆
k
=
0
k = 0
k=0表示OC,车辆
k
>
0
k>0
k>0表示PF。CVRP-OC可以表示如下:
决策变量:
目标函数:
其中,式(1)中,目标函数左项为PF根据路径规划所产生的开销,右项为OC所产生的报酬开销。
ρ
ρ
ρ是报酬系数,可以与成本
w
w
w相乘得到报酬成本。约束(2)和(3)保证图中每个节点的流量守恒原则;约束(4)保证每个客户只能得到一辆车的服务;约束(5)防止每辆车的负载超过容量;约束(6)要求每辆车从仓库出发开始一段行程;约束(7)表明没有必要为OC规划路线,因为每条路线都是单个客户的行程;约束(8)消除孤立子路径以确保有效性。
2.2 解的表示
CVRP-OC的决策过程分为两个阶段:1)将客户分配到OC/PF中;2)为PF中的车辆规划路径。第一阶段是一个调度问题,该问题的分配方案可以编码成长度为
N
N
N的0-1字符串,字符串中的每个位置代表一个客户,其中0表示OC服务的客户,1表示PF服务的客户。
第二阶段,为PF规划路线就是CVRP问题。许多研究者对这个问题进行了研究,并提出了许多求解器。CVRP求解器可分为精确算法和启发式算法两大类。精确方法,例如分支定界和列生成,基于混合整数规划模型解决该问题。然而随着问题规模的增大,解决问题的时间会显著增加。考虑到实际应用对实时性的要求,采用精确的方法很难实现。贪婪算法、VNS和ACS等启发式方法都是在不保证全局最优的情况下,在合理的时间内获得次优解的方法。
总体而言,CVRP-OC的解
S
S
S包括分配方案
A
A
A、路径规划
R
R
R和总成本
C
C
C作为适应度值,该适应度值也作为模型的目标函数。解
S
S
S的评估过程以分配方案
A
A
A为输入,输出PF的路径规划
R
R
R和相应的总成本
C
C
C。因此,评估解等于评估解的分配。图2是众包配送计划的一个例子。
显然,评估一个解
S
S
S的适应度值需要返回路径规划的结果,这占了主要的计算成本并使解的评估成本很高。
2.3 CVRP求解器
对于CVRP,本文介绍了三种求解器:
G
r
e
e
d
+
2
o
p
t
Greed+2opt
Greed+2opt:算法从随机客户开始为车辆构造第一条路径,并根据贪婪准则(即,从当前服务的客户到未拜访的客户的最小距离)迭代地将下一个客户添加到路径中。直到违反容量限制,车辆将返回仓库,然后以相同的方式重复构建下一车辆的新路线。服务完所有客户后,对计划中的每条路径执行
2
o
p
t
2opt
2opt操作[56],以消除交叉口,进一步提高路径质量。注意,一旦第一个客户被随机选择,其余路径被贪婪准则所确定。因此可以构造具有不同首选客户的多个计划,以获得更好的路径规划。为了更好地利用贪婪算法求解器的不同精度尺度,我们将构造一个计划的求解器命名为
G
r
e
e
d
+
2
o
p
t
−
1
Greed+2opt-1
Greed+2opt−1,将构造
N
N
N个计划的求解器命名为
G
r
e
e
d
+
2
o
p
t
−
N
Greed+2opt-N
Greed+2opt−N,然后输出最好的计划作为结果。
V
N
S
+
2
o
p
t
VNS+2opt
VNS+2opt:VNS本质上是一种局部搜索算法,首先构造一个可行解,然后通过人为设计的操作在现有解的基础上生成多个邻域解。如果某些生成的解优于原始解,则下一代的当前解将使用最好的生成解。此外还引入了跳出技术以避免陷入局部最优。与前面的求解器类似,在所有路径构建完成后,每个解都通过
2
o
p
t
2opt
2opt操作进行细化。
A
C
S
+
2
o
p
t
ACS+2opt
ACS+2opt:ACS是一种基于种群的迭代方法,它根据基于概率的规则独立地构造多个路径规划。通过增加路径规划中涉及边的选择概率来奖励具有较低成本的路径规划。在每个路径规划的构建迭代中,概率矩阵帮助算法选择有希望的边并传播高质量的路径规划。
之所以要提到几个CVRP求解器,是因为PF的路径优化过程对分配方案的评估有很大的影响。每个CVRP求解器都可以被视为分配任务的一个EM。求解器在计算成本和求解质量等方面各不相同。随着计划构造量的增加,
G
r
e
e
d
+
2
o
p
t
−
N
Greed+2opt-N
Greed+2opt−N在解质量和稳定性方面都优于
G
r
e
e
d
+
2
o
p
t
−
1
Greed+2opt-1
Greed+2opt−1,但计算时间也随之增加。
A
C
S
+
2
o
p
t
ACS + 2opt
ACS+2opt和
V
N
S
+
2
o
p
t
VNS + 2opt
VNS+2opt在解质量上比前两种贪心算法有更好的性能,但求解器的执行时间随着问题规模的增大而显著增加。对于精度较高但耗时较长的解,如
A
C
S
+
2
o
p
t
ACS +2opt
ACS+2opt和
V
N
S
+
2
o
p
t
VNS +2opt
VNS+2opt,我们将其定义为HSEM,而精度较低但成本较低的解,如
G
r
e
e
d
+
2
o
p
t
−
1
Greed+2opt-1
Greed+2opt−1和
G
r
e
e
d
+
2
o
p
t
−
N
Greed+2opt-N
Greed+2opt−N,则定义为LSEM。算法1给出了各种EM评估分配方案的伪代码。
3 SAFE
为了解决计算成本较高的众包调度问题,我们提出的SAFE方法可以概括为inter-EM management和intra-EM improvement。在inter-EM管理中,采用了两种EM转换策略来自动控制不同演化阶段中EM的转换。SAFE方法的基本思想是利用LSEM找到一个有前景的区域,并进一步用HSEM优化搜索。对于intra-EM改进,采用NBE策略充分利用性能良好的解与其邻居解之间的相关性。NBE策略在种群中多数个体相似的进化后期,对HSEM有显著的促进作用。因此避免了对相同解和类似解进行昂贵重新评估,从而降低了计算成本。此外对多个EM的归档进行操作,包括归档插入、归档缩减和归档迁移,以有效管理高质量的评估解。
3.1 Inter-EM Management by SAFE
1)SAFE
SAFE方法使用多个不同精度尺度的EMs来有效地求解EOP。在SAFE方法中,EC算法可以在不同精度尺度的EMs之间切换以评估个体,从而实现求解精度和计算成本之间的权衡。在没有对原始EC算法进行重大修改的情况下,SAFE方法被嵌入到每一代的开始以确定这一代合适的EM。SAFE方法由指标
C
F
1
CF_1
CF1和
C
F
2
CF_2
CF2自适应控制,这些指标可以反映下一个EM的潜力。一旦满足一个转换条件,就认为种群的当前EM不再适合进化,应该转换EM。
在各种EMs之间切换是一个决策过程。主要的问题是根据一个标准来决定何时转换,以及应该选择哪一个EM作为下一个EM。首先,EM池包含四种评估方法,分别是
G
r
e
e
d
+
2
o
p
t
−
1
Greed+2opt-1
Greed+2opt−1、
G
r
e
e
d
+
2
o
p
t
−
N
Greed+2opt-N
Greed+2opt−N、
V
N
S
+
2
o
p
t
VNS+2opt
VNS+2opt和
A
C
S
+
2
o
p
t
ACS+2opt
ACS+2opt。为简单起见,它们分别表示为
E
M
1
EM_1
EM1、
E
M
2
EM_2
EM2、
E
M
3
EM_3
EM3和
E
M
4
EM_4
EM4。每个EM的可达EM可以用有向图来定义。例如,如果当前的评估方法是
E
M
2
EM_2
EM2,可达的评估方法是
E
M
3
EM_3
EM3和
E
M
4
EM_4
EM4,那么管理员应该决定在什么情况下该算法应该切换到
E
M
3
EM_3
EM3或
E
M
4
EM_4
EM4。
本文提出了两种EM切换策略来实现这种自适应控制。在单向EM切换策略中,算法从LSEM开始,根据贡献因子
C
F
1
CF_1
CF1切换到HSEM。其关键特征是一旦LSEM切换到HSEM,就没有机会回到LSEM。在双向EM切换策略中,算法可以在LSEM和HSEM之间切换,并采用
C
F
1
CF_1
CF1和
C
F
2
CF_2
CF2两个贡献因子来决定切换到哪个EM。单向和双向EM切换策略都是在进化过程连续多代停滞时执行的,这由一个参数
η
η
η(最大停滞代数)触发。
2)One-Way EM Switch Strategy
在单向EM切换策略中,每个EM的可达EMs如图3所示。EC算法从
E
M
1
EM_1
EM1初始化并经历进化过程。转换条件定义为在当前EM的全局最佳值没有改善的情况下,总体停滞代数超过阈值
η
η
η。切换后,种群的停滞状态被重置为零,表明种群进入一个新的EM。提出了贡献因子
C
F
1
CF_1
CF1来决定算法应该切换到哪个EM。
C
F
1
CF_1
CF1的计算是通过对当前种群的预评价过程得到的,如下所示。
![](https://img-blog.csdnimg.cn/66a1a04654e04289a986671a71b6fcae.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBALVN1c3N1cnJvLQ==,size_18,color_FFFFFF,t_70,g_se,x_16#pic_center)
首先,当前种群中的所有个体都由NBE策略使用当前EM和所有下一个可达EM进行评估。基于NBE策略的评估是为了降低计算成本,这将在3.2节中描述。当前EM(即
E
M
c
u
r
EM_{cur}
EMcur)和每个下一个可达EM(即
E
M
n
e
x
t
EM_{next}
EMnext)的全局最佳个体分别表示为
F
b
e
s
t
(
E
M
c
u
r
)
F_{best}(EM_{cur})
Fbest(EMcur)和
F
b
e
s
t
(
E
M
n
e
x
t
)
)
F_{best}(EM_{next}))
Fbest(EMnext))。则计算该
E
M
n
e
x
t
EM_{next}
EMnext的
C
F
1
CF_1
CF1值为
由于目标是找到总成本最小的解,负
C
F
1
CF_1
CF1值表明下一个EM可能比当前EM更合适。因此选择
C
F
1
CF_1
CF1值最小的下一个EM作为最终的EM。
3)Two-Way EM Switch Strategy
LSEM(例如
E
M
1
EM_1
EM1)通常具有精度较低、不确定性较高的特点,更重要的是计算成本较低。因此有可能利用LSEM的不确定性和廉价性来寻找另一个有前景的区域。在此基础上提出了双向EM切换策略。每个EM的可达EMs定义为图4所示的拓扑。
EC算法从LSEM开始。当满足转换条件时,将选择下一个EM进行切换。顾名思义,双向EM转换策略有两种EM转换机制。首先是从LSEM到HSEM的切换。也就是说,如果当前的EM为LSEM(即
E
M
1
EM_1
EM1或
E
M
2
EM_2
EM2),则最好选择精度更高的EM,该EM具有提高种群质量的潜力。因此,我们采用贡献因子
C
F
1
CF_1
CF1来尝试切换到HSEM。该过程与单向EM转换策略相同。第二个是从HSEM到LSEM的转换。也就是说,如果当前的EM为HSEM且演化满足切换条件,则有通过从HSEM切换到LSEM来定位另一个有希望的区域的意图。我们将种群大小表示为
p
s
ps
ps,下一个EM对当前种群中第
i
i
i个个体的适应度值表示为
F
i
(
E
M
n
e
x
t
)
F_i(EM_{next})
Fi(EMnext),则计算出贡献因子
C
F
2
CF_2
CF2为
其中
I
(
⋅
)
I(·)
I(⋅)为指示函数,满足括号内条件时为1,不满足则为0。
C
F
2
CF_2
CF2指标设计用于测量当前EM与下一个EM的一致度。首先对群体中的每一对个体进行比较。如果个体
i
i
i在当前EM下优于个体
j
j
j,同时下一个EM与这对比较一致,则
I
(
⋅
)
I(·)
I(⋅)为1,加起来得到
C
F
2
CF_2
CF2的结果。在比较中出现的一致意见越多,
C
F
2
CF_2
CF2就应该越大,从而导致当前EM和下一个EM之间的一致性程度越大。由于目的是增加找到另一个不同的有希望区域的可能性,因此选择标准是选择
C
F
2
CF_2
CF2最小的下一个EM去切换。这样下一个EM往往不认同当前对个体之间比较的判断,提高了跳出能力。