【技术实现步骤摘要】
基于蚁群遗传的分布式约束优化问题求解方法及其应用
[0001]本专利技术涉及约束优化方法,特别涉及基于蚁群遗传的分布式约束优化问题求解方法。
技术介绍
[0002]DCOP(Distributed Constraint Optimization Problems,DCOP)是多智能体系统(Multi
‑
agent System,MAS)的基本框架,其中智能体之间需要一起合作决策来优化一个全局目标。DCOP模型已经成功地被应用到各种实际问题中,如传感器网络、资源分配等。现有许多求解DCOP的算法,算法根据求解目标的不同,可分为两大类:完备算法和非完备算法。完备算法通过遍历问题的全部解空间得到最优解,典型的基于搜索的完备算法包括SynchBB
[7]、ADOPT
[8]、BnB
‑
ADOPT
[9]等,基于推理的完备算法DPOP
[10]则采用了动态规划技术来求解DCOP。然而由于DCOP是NP
‑
hard问题,但对于大规模问题,完备算法的时间 ...
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.基于蚁群遗传的分布式约束优化问题求解方法,特征在于,包括如下步骤:S100:用一个四元组<A,X,D,F>来表示分布式约束优化问题,其中:A={a1,...,a
n
}是agent的集合;X={x1,...,x
m
}是变量的集合,m≤n;D={D1,...,D
m
}是值域的集合,每个x
i
的值域为D
i
,每个Agent从值域D
i
中取值为变量x
i
赋值,赋值,表示x
i
的第t个值;F={f1,...,f
p
}是约束代价函数的集合,约束是从任意k个变量的赋值组合到一个非负代价的映射;设一个agent只控制一个变量且所有的约束关系都是二元关系,则DCOP的解表示为:将DCOP表示为约束图,在约束图中,每个节点都代表一个agent,每两个节点之间的连线代表这两个节点之间存在约束关系;S200:对蚁群算法和遗传算法的参数初始化,将约束图转化为广度优先生成的伪树,一个节点对应一个agent,节点与节点之间的连线代表约束,伪树的值消息传递方向为上层节点传给下层节点,同层节点根据优先级或节点命名字母顺序来传递,消息传递方向即agent的优先级和蚂蚁的前进方向;预设x
i
取与x
i
’
取时约束的信息素浓度,其中i=1,2,
…
n,i'=1,2,
…
n,i≠i't=1,2,
…
T;S300:采用蚁群算法对n个agent进行一次遍历,如果当前a
i
已经从其所有较高优先级的邻居处接收到值消息,则a
i
对每只蚂蚁在该x
i
对应的值域中根据值选择概率选择一个值,根据当前取值,计算a
i
与其所有高优先级邻居取值之间的代价和,与之前算的进行累加,得到当前蚂蚁的代价;S400:生成随机概率q,若q小于扩展概率p,则满足扩展解空间转至S500,否则转至S900;S500:设蚁群算法中共有K只蚂蚁,则S300中每只蚂蚁对n个agent取值得到集合则认为是一条染色体,通过S300针对K只蚂蚁则得到K条染色体,将该K条染色体作为遗传算法的父代染色体;S600:计算S500中每条染色体的适应值,计算每条染色体的适应值在所有染色体适应值之和中的占比,将K条染色体中适应值最大的染色体直接复制保存到第一代子代染色体集合中,然后计算每条染色体的选择概率,每条染色体的选择概率等于该条染色体的适应值与所有染色体适应值之和之比,根据选择概率采用轮盘赌选择新的父代染色体集合k
‑
1条染色体;轮盘赌选择:计算出每条染色体的累计选择概率,p[k]称为染色体k的累计概率,即前k
‑
1条染色体的选择概率之和;生成K
‑
1个随机数令k=1,在新的父代染色体集合中,按照染色体的排序,当一条染色体的累计概率大于等于则将该染色体复制保存到第一代子代染色体集合中,并令k=k+1,继续在新的父代染色体集合中,按照染色体的排序选择,当
一条染色体的累计概率大于等于大于则将该染色体复制保存到第一代子代染色体集合中,依次重复直至k=K
‑
1时停止,此时选择了K
‑
1条第一代子代染色体;S700:染色体交叉、变异:染色体交叉:设置交叉概率,对第k个第一代子代染色体生成一个交叉随机概率,q
x
表示第x个第一代子代染色体的交叉随机概率,x=1,3,...K
‑
1,当q
x
小于交叉概率时,则将第x个第一代子代染色体和第x
‑
1个第一代子代染色体对应的交叉位置进行交叉,所述交叉位置随机生成;需要进行染色体交叉的第一代子代染色体完成染色体交叉后复制保存到新的第一代子代染色体集合中,不需要染色体交叉的第一代子代染色体复制保存到新的第一代子代染色体集合中,第一代子代染色体集合中染色体称为新的第一代子代染色体;染色体变异:设置变异概率,对于新的第一代子代染色体上的n个位置分别生成一个变异随机概率,表示第k条新的第一代子代染色体第x个位置的变异随机概率,当小于变异概率时,则将第k条新的第一代子代染色体第x个位置上的取值进行变异,变异方法为从值域中随机选择一个值对该位置重新赋值;需要进行染色体变异的新的第一代子代染色体完成染色体变异后复制保存到第二代子代染色体集合中,不需要进行染色体变异的新的第一代子代染色体复制保存到第二代子代染色体集合中,第二代子代染色体集合中的染色体称为第二代子代染色体;S800:判断遗传算法是否迭代结束,若达到遗传算法运行的最大迭代次数表示满足终止条件,则输出当前第二代子代染色体集合中的第二代子代染色体并转至S900,否则采用第二代子代染色体更新父代染色体并转至S600;S900:更新路径上的信息素浓度和局部信息下文预估值;当小于扩展概率p时,使用第二代子代染色体集合中的每条染色体的代价更新信息素浓度,否则使用K只蚂蚁集合中的每个条染色体的代价更新信息素浓度,使用K个染色体对每个agent和其邻居间约束的信息素浓度进行更新;对每个agent更新局部信息下文预估值,对于取值d
i
∈D
i
,当变量x
i
=d
i
,计算当前agent与其低优先级邻居节点之间产生的约束代价的平均值,再将当前未更新的预估值和所求平均值再次求平均得到更新的预估值;S1000:判断蚁群算法是否迭代结束,若达到蚁群算法运行的最大迭代次数表示满足终止条件,输出当前代价最小的染色体对应的代价和n个变量的取值,否则返回步骤S300。2.如权利要求1所述的基于蚁群遗传的分布式约束优化问题求解方法,其特征在于:所述S300中蚂蚁概率的计算方法参见公式(7):式中p
k,i
(d
i
)表示蚂蚁概率,α为信息素因子权重,β为启发式因子权重,θ
k,i
(d
′
i
)表示选择值d
′
i
的信息素浓度,η
k,i
(d
′
i
)表示选择值d
′
i
的启发式值,θ
k,i
(d
i
)为信息素因子,η
k,i
(d
i
)为启发式因子:信息素因子θ
k,i
(d
i
)计算公式参见公式(8):
式中H
i
为该节点高优先级节点的集合,两个节点间约束的信息素τ
ij
(d
i
,V
k,j
)、V
k,j
表示高优先级节点a
j
给蚂蚁k选取的值;启发式因子η
k,i
(d
i
)计算公式参见公式(9):式中cost
ij
(d
i
,V
k,j
)为x
i
=d
i
,x
j
=V
k,j
时的约束f
ij
产生的代价,当x
i
=d
i
时,est
i
(d
i
)是对a
i
的低优先级邻居的最小代价合的估计,计算公式为公式(10):其中cost
技术研发人员:石美凤,肖诗川,杨海,廖鑫,冯欣,陈媛,
申请(专利权)人:重庆理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。