一种基于分布估计算法的连续型分布式约束优化问题求解方法

文档序号:31637899发布日期:2022-09-24 05:39阅读:175来源:国知局
一种基于分布估计算法的连续型分布式约束优化问题求解方法

1.本发明涉及约束优化方法,特别涉及基于分布估计算法的连续型分布式约束优化问题求解方法。


背景技术:

2.分布式约束优化问题(distributed constraint optimization problems,dcops)是解决分布式智能系统建模的有效框架。dcops广泛应用于实际生活中,如会议调度,资源分配、导弹路线规划、传感器网络、微电网控制和智能家居等。dcop求解算法分为完备算法和非完备算法。完备算法旨在提供全局最优解,但计算开销和内存需求随着问题规模的增加呈现指数增长,如adopt、dpop和pt-fb等;非完备算法旨在通过提供一个近似解来降低计算开销和内存需求,如dsa、max-sum、mgm和aco_dcop等。在一些连续变量的应用中,智能体需取得连续型参数,如方向,速度和传感器激活时间等,这使得dcop不再适用于建模连续型问题。因此,连续型分布式约束优化问题(continuous dcops,c-dcops)就被提出来建模连续型问题。在c-dcop中,变量和值域都是连续的,约束代价以函数的形式表示;而在dcop中,约束代价以表格的形式呈现。
3.连续最大和算法(continuous max-sum,cms)是离散最大和的连续版本,与c-dcop同时被提出以应对变量、值域和约束代价的改变。在cms中,约束代价函数被近似为分段线性函数,但只有极少数实际应用适用于分段线性函数,这使得cms的应用范围并不广。混合连续最大和算法(hybrid continuous max-sum,hcms)的提出解决了cms的局限性。hcms首先通过离散最大和获得一组近似解,然后通过连续非线性优化方法提高近似解的质量。由于连续非线性优化方法如梯度下降需要导数计算,因此hcms不适用于不可微的应用并且无法保证收敛。精确dpop(exact continuous dpop,ec-dpop)、近似dpop(approximate continuous dpop,ac-dpop)和聚类近似dpop(clustered ac-dpop,cac-dpop)被同时提出求解c-dcop。ec-dpop扩展dpop中的加法和投影操作来精确求解c-dcop;ac-dpop和cac-dpop近似求解c-dcop。然而,这三种算法会产生指数级的计算开销和内存需求。moumita等人提出了基于c-dcop的粒子群优化算法(particle swarm optimization based c-dcop,pfd)来降低计算开销和内存需求。pfd将粒子群优化算法引入c-dcop,通过种群寻优的方式获得高质量的解,然而搜索能力差和容易陷入局部最优的问题限制了求解质量的提升。连续协同约束近似算法(continuous cooperative constraint approximation,c-cocoa)通过半贪婪的局部搜索,以较小的通信开销和极快的执行时间获得高质量的解,但在大规模的复杂问题上,c-cocoa的求解质量不佳。同时,c-cocoa作为一种非迭代算法,不具备anytime属性。


技术实现要素:

4.针对以上存在的问题,本发明提供如下技术方案:一种基于分布估计算法的连续
型分布式约束优化问题求解方法(estimation of distribution algorithm for c-dcop,eda-cd)用于解决目前c-dcop求解算法的局限,包括如下步骤:
5.一个c-dcop可以由一个五元组<a,x,d,f,α>定义,其中:
6.a={a1,a2,...,an}表示一组智能体的集合,一个智能体控制一个或者多个变量。
7.x={x1,x2,...,xm}是一组由智能体控制的连续变量集合。
8.d={d1,d2,...,dm}是一组连续值域集合,每个变量xi能够取得值域di=[lbi,ubi]中的任意值,其中lbi和ubi分别表示值域的下界和上界。
[0009]
f={f1,f2,...,f
l
}是一组约束代价函数的集合,其中每一个约束代价函数fi∈f被变量集合x的一组子集所定义,意味着fi:fi受k个变量的约束。本文仅考虑二元约束,即k=2。
[0010]
α:x

a是一个映射函数,是变量集合x到智能体集合a的映射函数,表示将每个变量xj∈x的控制权分配给智能体ai∈a。为便于理解,假设一个智能体控制一个变量,因此智能体ai与变量xi所代表的含义相同,可认为是同一概念。
[0011]
在c-dcop中,各个智能体协同赋值,通过局部的通信完成全局的优化。c-dcop的解表示为所有变量的赋值集合x
*
,使得所有约束代价函数之和最小,如公式(1)所示:
[0012][0013]
图1表示一个c-dcop的例子,图1(a)表示具有4个变量的约束图,每个变量xi由相应的一个智能体ai控制,每条边代表一个图1(b)中所定义的约束代价函数。变量xi的值域为di。
[0014]
eda-cd是基于统计学原理的c-dcop求解算法,由初始化、构建、评估、更新和采样五个阶段构成。在eda-cd中,种群中的个体被称为样本,一个样本代表一组c-dcop的解。
[0015]
在初始化阶段,eda-cd构建广度优先搜索(breadth first search,bfs)伪树,初始化参数和种群;在构建阶段,每个智能体并行构建概率模型;在评估阶段,智能体以分布式的方式计算样本适应度;在更新阶段,智能体协同通信以更新概率模型;在采样阶段,智能体对更新后的概率模型进行随机采样。
[0016]
初始化阶段:eda-cd从有序的bfs伪树的构建开始。图2(a)表示以图1为例的一个bfs伪树,用于智能体之间的通信。
[0017]
图2(b)表示bfs伪树的有序排列,用于通信的顺序。在有序的bfs伪树中,深度较小的智能体比深度较大的智能体有着更高的优先级,分别使用hi和li表示智能体ai的高优先级邻居集合和低优先级邻居集合。
[0018]
此外,eda-cd还更新一些相关参数:种群样本的数量k,学习率β和选择样本的数量g。最后,每个智能体对所持有的样本维度进行赋值以完成分布式种群的构建。每个智能体持有所有样本一个维度的值,所有智能体共同构建一个分布式种群。
[0019]
其中sk.xi表示第k个样本的第i个维度的赋值。
[0020]
构建阶段:智能体ai分别通过公式(2)和公式(3)计算持有样本的一个维度的均值与标准差以构建概率模型,其中t表示当前迭代次数。
[0021]
评估阶段:智能体ai接收高优先级邻居发送的s.xj并分别计算与每一个高优先级邻居相应的部分适应度s.fitness(xi,xj),然后发送给相应的高优先级邻居此外,除了叶智能体和根智能体,其他智能体通过bfs伪树向高优先级邻居发送从低优先级邻居接收的部分适应度。最终,所有的部分适应度都会传递到根智能体,通过公式(4),根智能体计算每个样本的完整适应度sk.fitness,其中s.xi表示两个具有约束关系的变量赋值。单个智能体不能计算样本的完整适应度,完整适应度需要在所有智能体的配合下协同计算。
[0022]
更新阶段:根智能体首先对样本的适应度大小进行排序,记为s
sort
,将最小值,次小值和最大值分别记为s
worst
;然后选择适应度靠前的g个精英样本,记为最后根智能体将information发送给低优先级邻居l1。
[0023]
当低优先级智能体接收到高优先级邻居发送的information后,通过公式(5)计算精英样本的均值,此外,智能体ai通过公式(6)和公式(7)分别更新概率模型的均值与标准差。。。
[0024]
采样阶段:智能体ai通过更新后的概率模型n(s.xi(μ
t+1
),s.xi(σ
t+1
)2)随机采样,为了保持种群样本数量的稳定,采样数量为|k-g|。
[0025]
最后,智能体ai将精英样本与随机采样的样本s
k-g
.xi合并为新种群的一个维度sk.xi并向低优先级邻居li发送sk.xi。
附图说明
[0026]
图1表示一个c-dcop的例子,图1(a)表示4个变量的约束图,每个变量由相应的一个智能体ai控制。每条边代表一个图1(b)中所定义的约束代价函数。
[0027]
图2为bfs伪树构建和有序排列。
[0028]
图3为一个分布式种群示意图。
[0029]
图4为eda-cd与竞争算法在稀疏随机图上的求解质量比较。
[0030]
图5为eda-cd与竞争算法在稠密随机图上的求解质量比较。
[0031]
图6为eda-cd与竞争算法在稀疏无尺度网络上的求解质量比较。
[0032]
图7为eda-cd与竞争算法在稠密无尺度网络上的求解质量比较。
[0033]
图8为eda-cd与竞争算法在随机树上的求解质量比较。
[0034]
图9为eda-cd与竞争算法在小世界网络上的求解质量比较。
[0035]
图10为eda-cd与竞争算法在稠密随机图上的收敛曲线比较。
具体实施方式
[0036]
下面通过具体实施方式对本发明作进一步详细说明。在以下的实施方式中,很多细节描述是为了使得本技术能被更好的理解。然而,本领域研究人员可以毫不费力的认识到,其中部分特征是可以省略的,本技术相关的一些操作并没有在说明书中显示或者描述,这是为了避免本技术的核心部分被过多的描述所淹没,而对于本领域研究人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般知识即可完整了解相关流程。
[0037]
发明主要包括四方面的内容:1.设计一种分布式的个体表示方法以应对种群在分布式环境中的构建;2.设计一种分布式环境中计算个体适应度的方法以评估个体的优劣;3.设计一种分布式方法将全局最优解传递到所有智能体以完成并行概率模型的构建;4.设计一种精英策略来保证eda-cd的收敛性。。
[0038]
在c-dcop中,各个智能体协同赋值,通过局部的通信完成全局的优化。c-dcop的解表示为所有变量的赋值集合x
*
,使得所有约束代价函数之和最小,如公式(1)所示:
[0039]
初始化阶段:eda-cd从有序的bfs伪树的构建开始。初始化参数:群样本的数量,学习率和选择样本的数量,每个智能体对所持有的样本维度进行赋值以完成分布式种群的构建。在图2(b)中,智能体a1表示根智能体,智能体a2和a4表示叶智能体,智能体a3的邻居集合为n3={a1,a4},高优先级邻居集合为h3={a1},低优先级邻居集合为l3={a4}。
[0040]
图3表示一个分布式种群,每个智能体持有所有样本一个维度的值,所有智能体共同构建一个分布式种群。其中sk.xi表示第k个样本的第i个维度的赋值。
[0041]
以图1和图2为例,假设样本数量为4,分布式种群的初始赋值如表1所示。智能体a1发送此维度下的赋值s.x1={4.2,2.1,-4.3,-7.2}给低优先级邻居a2,a3,a4;同时,智能体a3发送s.x3={5,1.3,6.9,3.3}给低优先级邻居a4。
[0042]
表1分布式种群的示例
[0043][0044]
构建阶段:智能体ai分别通过公式(2)和公式(3)计算持有样本的一个维度的均值与标准差以构建概率模型,其中t表示当前迭代次数(算法1:11-12)。以表1为例,智能体a1构建的概率模型为n(-1.3,5.342),智能体a2构建的概率模型为n(1.28,3.162),智能体a3和a4构建的概率模型分别为n(4.13,2.392)和n(-1.67,5.962)。
[0045]
评估阶段:智能体ai接收高优先级邻居发送的s.xj并分别计算与每一个高优先级邻居相应的部分适应度s.fitness(xi,xj),然后发送给相应的高优先级邻居h
ij
∈hi(步骤1:1-5)。此外,除了叶智能体和根智能体,其他智能体通过bfs伪树向高优先级邻居发送从低优先级邻居接收的部分适应度。最终,所有的部分适应度都会传递到根智能体,通过公式(4),根智能体计算每个样本的完整适应度sk.fitness,其中s.xi表示两个具有约束关系的变量赋值。单个智能体不能计算样本的完整适应度,完整适应度需要在所有智能体的配合下协同计算。
[0046]
在上述的例子中,智能体a2计算和智能体a1的部分适应度s.fitness(x1,x2)并发送给a1;智能体a3计算s.fitness(x1,x3)并发送给a1;智能体a4不仅计算s.fitness(x1,x4)发送给a1,还会计算s.fitness(x3,x4)发送给a3。此外,由于a3不是根智能体,因此将从智能体a4接收的s.fitness(x3,x4)发送给a1。s.fitness(x1,x2)={1455.03,35.53,1236.52,10716.89}s.fitness(x1,x3)={16.05,3.51,18.35,50.66}s.fitness(x1,x4)={26.11,20.77,5.85,31.44}s.fitness(x3,x4)={51.59,18.24,7.04,40.71}
[0047]
因此,智能体a1能够计算4个样本的完整适应度如下:s1.fitness=1455.03+16.05+26.11+51.59=1548.78s2.fitness=35.53+3.51+20.77+18.24=78.05s3.fitness=1236.52+18.35+5.85+7.04=1267.76s4.fitness=10716.89+50.56+31.44+40.71=10839.6
[0048]
更新阶段:根智能体首先对样本的适应度大小进行排序,记为s
sort
,将最小值,次小值和最大值分别记为然后选择适应度靠前的g个精英样本,记为最后根智能体将information发送给低优先级邻居l1。当低优先级智能体接收到高优先级邻居发送的information后,通过公式(5)计算精英样本的均值,此外,智能体ai通过公式(6)和公式(7)分别更新概率模型的均值与标准差。(6)和公式(7)分别更新概率模型的均值与标准差。(6)和公式(7)分别更新概率模型的均值与标准差。
[0049]
采样阶段:智能体ai通过更新后的概率模型n(s.xi(μ
t+1
),s.xi(σ
t+1
)2)随机采样,为了保持种群样本数量的稳定,采样数量为|k-g|。最后,智能体ai将精英样本与随机采样的样本s
k-g
.xi合并为新种群的一个维度sk.xi并向低优先级邻居li发送sk.xi。
[0050]
一、证明eda-cd有限步骤内的全局最优解以及具有anytime属性。
[0051]
定义通信步骤为智能体与邻居智能体的直接通信次数,同时定义为bfs伪树的深度,为bfs伪树中最长路径的长度。
[0052]
引理1:在通信步骤为t+d时,根智能体获得通信步骤为t时的全局最优解。
[0053]
证明:全局最优解为是适应度最小的样本,为了计算样本的完整适应度,根智能体必须等待最多d次通信步骤来获取部分适应度,因为bfs伪树中最长路径的长度为d。通信步骤为t+d时,根智能体有足够的信息去计算通信步骤为t时每个样本的完整适应度。因此,根智能体需要等待d次通信步骤才能获得全局最优解,即在通信步骤为t+d时,根智能体获得通信步骤为t时的全局最优解。
[0054]
引理2:在通信步骤为t+d+dp时,每个智能体都获得通信步骤为t时的全局最优解。
[0055]
证明:从引理1可得,在通信步骤为t+d时,根智能体获得通信步骤为t时的全局最优解。全局最优解由根智能体通过bfs伪树向下传递到全部智能体需要dp次通信步骤,因此每个智能体需要等待最多t+d+dp次通信步骤才能获得通信步骤为t时的全局最优解,即在通信步骤为t+d+dp时,每个智能体都获得通信步骤为t时的全局最优解。
[0056]
命题1:eda-cd具有anytime属性。
[0057]
证明:从引理2可得,在通信步骤为t+d+dp+δ(δ》0)时,每个智能体获得通信步骤为t+δ时的全局最优解。由于在eda-cd中,全局最优解在每次迭代中保留,因此只有搜索到一个更好的解后,全局最优解才会更新,即通信步骤为t+d+dp+δ时的全局最优解不会差于通信步骤为t+d+dp时的全局最优解。因此,eda-cd中解的质量不会随着时间而降低且在任何时刻都能提供一个全局最优解,即eda-cd具有anytime属性。
[0058]
二、复杂度分析
[0059]
定义样本数量为k,智能体的数量为n,高优先级邻居的数量为h,低优先级邻居的数量为l,因此邻居数量为n=h+l。此外,图的类型定义为全连接图,即n≈n。一次迭代定义为经过完整的构建、评估、更新和采样阶段。
[0060]
在eda-cd中,一个智能体在初始化阶段和采样阶段向每个低优先级邻居发送消息。在评估阶段,一个智能体还会向每个高优先级邻居发送消息,此外,除了叶智能和根智能体,每个智能体还会接收一次低优先级邻居发送的部分适应度并将该部分适应度发送给高优先级邻居。
[0061]
一个智能体在一次迭代过程中发送的消息大小为o(2*l+h+1)=o(n+l+1),考虑在最坏情况下,所有邻居都为低优先级邻居。
[0062]
因此,一个智能体在一次迭代过程中发送的消息数量为o(2*n+1)=o(n)。
[0063]
在eda-cd中,一个智能体发送四种类型的消息:s.xi,s.fitness,和s
worst
。其中s.xi和s.fitness一共包含2*k个样本的消息大小,包含g个样本的消息大小,s
worst
包含1个样本的消息大小。因此,一个智能体在一次迭代过程中发送的消息大小为o(2*k*n+g*n+1*n)=o(k*n)。
[0064]
在一个迭代过程中,一个智能体计算k个样本的部分适应度,样本的均值及均值更新和样本的标准差及标准差更新。其中在更新标准差的过程中需要计算一次精英样本的均值。因此,在最坏情况下一个智能体的计算复杂度为o(k*n+2+2+1)=o(k*n)。
[0065]
因此,eda-cd的计算成本和内存需求符合一般c-dcop求解算法的特点,并且优于基于梯度的方法。
[0066]
二、实验验证
[0067]
通过使用eda-cd与c-dcop最新的求解算法c-cocoa、pfd和hcms(竞争算法)在四类基准问题上进行对比实验。虽然eda-cd适用于任何函数形式,但为了更好地展示实验对比结果,本文遵循约束代价函数:ax2+bx+cxy+dy+ey2+f,其中a,b,c,d,e,f均为区间[-5,5]之间的任意值。每个智能体ai控制的变量xi的值域di设置为[-50,50],迭代次数设置为500。对于每一种实验设置,上述四种算法独立运行30次并取平均值作为实验结果。
[0068]
随机图:在此类问题中选择使用稀疏随机图(密度为0.1)和稠密随机图(密度为0.6)。密度表示在随机图的构造过程中任意两个节点相连的概率。智能体的数量为10至100,数量间隔为10。
[0069]
无尺度网络:采用由barab
á
si-albert模型[22]生成的无尺度网络模型。首先生成一个由10个智能体组成的连通图,在每一次迭代中加入一个新的智能体与当前网络中的3个智能体(稀疏无尺度网络)或7个智能体(稠密无尺度网络)相连,直到所有智能体加入到该网络,一个智能体被连接的概率与该智能体的度数成正比。设置智能体的数量为60至100,数量间隔为5。
[0070]
随机树:将随机树作为一个基准问题并设置智能体的数量为60至100,数量间隔为5。
[0071]
小世界网络:采用由watts-strogatz拓扑模型生成的小世界网络模型,在多个节点相连的环中,每个节点与最邻近的j个节点相连,首先顺时针选择一个节点和与其相连的一条边,然后再随机与环上的一个节点以概率p重连,规定其中不能有重边和自环。设置j为6,p为0.5,智能体数量为60至100,数量间隔为5。
[0072]
本节在四类基准问题上评估eda-cd、hcms、pfd和c-cocoa的求解质量。定义智能体的数量为n,eda-cd的参数设置如下:种群样本数量为10*n,学习率β为0.01,精英样本的数量为n。本文基于文献[17]将hcms的离散点数量设置为3,梯度下降的步长设置为0.001;设置pfd的参数w=0.9,k=2000,c1=0.9,c2=0.1,max
sc
=15,max
fc
=5;对于c-cocoa,参数设置:离散点数量为3,梯度下降的次数为100,步长为0.01。
[0073]
从图4可以看出eda-cd在稀疏随机图上的求解质量优于其他竞争算法并且随着智能体数量的增加,求解质量的优势程度愈发明显。
[0074]
图5显示了eda-cd和竞争算法在不同智能体数量配置下的求解质量,可以看出对比结果和稀疏随机图相似,eda-cd的求解质量随着智能体数量的增加更明显地优于竞争算法。c-cocoa的求解质量在稀疏随机图中优于pfd和hcms,但在稠密随机图中明显处于劣势,由于c-cocoa中半贪婪的局部搜索策略在复杂的问题上并不能取得较好的效果。
[0075]
图6和图7分别显示了eda-cd与竞争算法在稀疏和稠密无尺度网络上的求解质量。从图6和图7可以看出,在稀疏和稠密无尺度网络的任意智能体数量配置下,eda-cd的求解质量都显著优于竞争算法。
[0076]
eda-cd和竞争算法在随机树上的求解质量如图8所示:eda-cd的求解质量明显优于pfd和hcms,但c-cocoa的求解质量非常接近于eda-cd。由于随机树中结点与周围结点的连接较少,拓扑关系简单,c-cocoa中半贪婪的局部搜索策略在随机树上能表现出较好的优化效果。
[0077]
图9展示了eda-cd和竞争算法在小世界网络上的比较结果,可以看出eda-cd在求
解质量方面表现出极佳的效果,在任意智能体数量配置下都远远优于竞争算法。
[0078]
接下来对eda-cd、hcms、pfd和c-cocoa的收敛性进行分析。由于c-cocoa是一种非迭代算法,同时运行c-cocoa与eda-cd,当c-cocoa完成时,eda-cd的迭代次数作为c-cocoa的迭代次数,选择使用100个智能体的稠密随机图上进行收敛性实验对比,实验结果如图10所示。
[0079]
从图10中可以观察到:c-cocoa率先完成问题求解并获得一个解,其他算法继续优化。随着迭代次数的增加,pfd和hcms逐渐收敛并保持当前最优解直到迭代完成。eda-cd的收敛速度较慢,但随着概率模型的更新,收敛质量逐渐提高,最终收敛到一个高质量的解。由于前期概率模型的样本空间较大,随机采样的样本相较于最优解差异较大,随着迭代的进行,概率模型不断更新,样本空间逐渐收缩到最优解附近,随机采样的样本质量得到提高。因此,eda-cd在前期收敛速度慢,随着样本空间的缩小能够在后期能够得到较高质量的解,这与图10中所观察到的现象也是一致的。
[0080]
为保证求解质量的统计可信度,选择使用wilcoxon符号秩和检验法来两两检验eda-cd是否显著优于竞争算法(hcms、pfd和c-cocoa),分别选择每类基准问题下智能体数量为60(小规模)和100(大规模)的情况下进行显著性检验,显著性水平设置为0.05。下列给出wilcoxon符号秩和检验步骤:
[0081]
建立假设:h0:两个算法无显著差异;h1:两个算法具有显著差异。
[0082]
设置显著性水平:为假设检验设置显著性水平α,一般α=0.05。
[0083]
求差值:求得两个样本间差值δ。
[0084]
编秩次:若δ=0,舍去不计若δ>0,正秩加1,r
+
=r
+
+1;若δ<0,负秩加1,r-=r-+1。
[0085]
查表:查wilcoxon符号秩和检验的分布表确定显著性水平p,若p值小于α,则拒绝原假设h0,接受结社h1。
[0086]
表2显示了在显著性水平为0.05时eda-cd与竞争算法在求解质量上的显著性差异。其中r
+
表示eda-cd在当前基准问题与智能体数量下优于竞争算法的秩和且p值为p-value,r-表示相反的意思。
[0087]
表2在wilcoxon符号秩和检验法显著性水平0.05下的求解质量显著性结果
[0088]
表2呈现的结果从统计的角度说明了eda-cd显著优于竞争算法。进一步地,计算eda-cd的求解质量相较于hcms、pfd和c-cocoa的提升率并显示在表3中。表3中的提升率为每种问题类型下所有智能体数量配置的平均提升率并保留位两位小数。
[0089]
表3 eda-cd相比于竞争算法在基准问题上的提升率
[0090][0091]
eda-cd优于其他竞争算法,对不同大小和密度的四种基准问题都有较好的提升率。尽管c-cocoa在随机树上表现出较好的性能,但在求解质量方面,eda-cd相比于c-cocoa仍然有着3.66%的提升率。
[0092]
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属领域的研究人员,依据本发明的思想还可以做出若干简单推演、变形或替换。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1