没有合适的资源?快使用搜索试试~ 我知道了~
基于超启发式算法的移动群智感知任务分配方法研究 (2).docx
需积分: 3 0 下载量 115 浏览量
2024-05-20
20:36:21
上传
评论
收藏 2.08MB DOCX 举报
温馨提示
试读
69页
基于超启发式算法的移动群智感知任务分配方法研究 (2).docx
资源推荐
资源详情
资源评论
1
1 引言
1.1 课题背景与研究意义
因此,本课题旨在建立能够综合考量感知质量和用户最大工作量的移动群智感知任务分
配模型,并使用超启发式算法对问题模型进行求解,以验证超启发式算法在移动群智感知任
务分配问题中的适用性。
1
2 相关理论知识
2.1 超启发式算法的基本原理
顾名思义,超启发式算法(Hyper-Heuristics Algorithm)是一种与元启发式算法有着高度
的相似性,但又超越了元启发式算法的一类算法,是一种寻找启发式算法的启发式算法。超
启发算法虽然问世只有十多年的时间,但是许多学者已经对其进行了丰富和改进,并将其应
用到了具体问题当中。
超启发式算法和元启发式算法在原理上的本质区别为其搜索空间和逻辑结构的不同。从
搜索空间的角度分析,超启发式算法的搜索空间为低层启发式算子的组合与优化,而元启发
式算法的搜索空间为所求问题的具体解集;从逻辑结构的角度分析,超启发式算法由低层的
启发式算子库和高层的决策方法组成,而元启发式算法则由固定的优化算子组成。此外,与
传统的元启发式算法相比,超启发算法的高层决策方法可以适用于许多不同的问题,有着更
强的通用性。超启发式算法和传统元启发式算法的异同如表 2.1 所示。
超启发式算法的结构具体由两个部分组成,分别叫做控制域和问题域。问题域中主要包
含低层启发式算子库,其为能够优化和解决具体问题的多个低层启发式算子(Low Level
Heuristics,LLH),其搜索空间为被求问题的可行解,这些算子的具体落实方式由所解决问
题的情况所决定,例如本课题中就应针对移动群智感知的任务分配问题设计符合问题需求的
低级 LLH 算子;控制域是超启发式算法的核心内容,其主要包含了高层的决策方法(High Level
Strategy,HLS),其搜索空间为有低层启发式算子组成的集合。超启发式算法的结构如图 2.1
所示。
表 2.1 超启发式算法和元启发式算法的异同
2
超启发式算法
元启发式算法
搜索空间
低级启发式算子的集合
具体问题的可行解
结构
由低级启发式算子库
和高层决策方法组成
固定的优化算子
通用性
高层决策方法可以应
用于不同的问题领域
面对新问题,需要
重新设计算子和参数
图 2.1 超启发式算法的结构
在超启发式算法对问题进行求解的具体过程中,首先由高层策略产生一系列低层启发式
算子的组合解,将不同的组合解应用到具体的求解问题中,并通过高层策略的评价机制对相
应的组合解进行反馈,高层控制策略通过对低层算子的反复选择和优化之后,输出相对最优
的低层算子优化并用应用到具体问题的求解中。
2.2 超启发式算法的分类
超启发式算法虽然目前并没有明确且统一的分类标准,但是其本质上同元启发算法是一
致的,都是算子通过不断迭代的方式对解的邻域空间进行搜索,从而得出相对更优的解。因
此,我们搬照与元启发式算法类似的分类方法对超启发式算法进行分类,即以邻域空间的搜
索方法为分类的依据。
超启发式算法可以从反馈信息来源、搜索空间性质两个方面进行分类。低层启发式算子
因为其特性不同可以分为两种。从反馈信息来源的角度看,超启发式算法可以分为在线学习、
离线学习和不学习三种。在线学习的超启发式算法根据每次迭代产生的低层启发式算子的历
·高层决策方法
(High Level Strategy,HLS)
·低层启发式算子库
(Low Level Heuristics,LLH)
LLH1、LLH2、LLH3、…
信息接口
控
制
域
问
题
域
3
史表现对下一次迭代的低层启发式算子进行选择;离线学习的超启发式算法通过样本的数据
对低层启发式算子的性能进行评估,并依此确定低层启发式算子的组合与执行顺序;不学习
的超启发式算法随机确定低层启发式算子的组合与执行顺序。从搜索空间性质的角度看,超
启发式算法可以分为选择式的超启发式算法和生成式的超启发式算法。选择式的超启发式算
法是从已经事先定义的低层启发式算法进行选择,而生成式的超启发式算法是从通过低层启
发式算子库中的组件生成新的启发式算法进行求解。低层启发式算子可以依据其特性分为扰
动式算子和构造式算子。扰动式算子主要通过邻域搜索来更新自己的最优解,而构造式算子
是从空解逐步形成可行解。超启发式算法的主要种类如图 2.2 所示。
选择式
超启发算法
超
启
发
式
算
法
生成式
超启发算法
构造式算子
扰动式算子
扰动式算子
构造式算子
在线学习
不学习
离线学习
学习方式
收缩空间
性质
低层算子
性质
图 2.2 超启发式算法的分类
2.3 Q-learning 的基本原理
由于超启发式算法的高层策略需要能够求解符合问题需求的低层启发式算子或其组合,
所以高层策略需要具有很强的鲁棒性,从而能够根据问题的情况及时得出适合的算子。为了
增强高层策略的鲁棒性,本文采用的是一种基于 Q-learning 的超启发式算法,这是一种在线学
习的选择式超启发算法。相比其他方法而言,因为 Q-learning 的学习方式是在线学习,因此其
能够根据当前的种群状态及时调整低层启发式算子被选择的概率,从而使得算法更符合问题
的求解需求。
Q-learning 作为一种强化学习的方法,被广泛应用在多个领域当中。它将当前所解决的环
境定义为不同的状态,并利用状态-动作表(Q-table)记录下每个状态下每个动作的历史表现,
并根据 Q-table 对当前的动作进行合理的选择,然后获取并评估本次动作的结果,根据定义好
的 Q-table 更新规则对 Q-table 进行更新。Q-learning 的学习方法主要包括状态-动作定义、动作
选择策略、奖赏函数等几个部分。
2.3.1 工作-状态定义
状态-动作定义是决定 Q-learning 能否起到良好运行效果的关键。状态指的是 Q-learning
在处理问题的过程中所遇到的不同情况,在理想效果下,算法能够针对当前环境所处的情况
相应的反应,在本课题中所对应的状态即为低层启发式算子对种群的不同优化效果,而动作
则指的是不同的 LLH 低层启发式算子。
4
Q-table 指的是动作-状态表,其存储了每个状态下不同动作对应的 Q 值,Q-table 是动作
选择策略的重要依据。
2.3.2 选择策略
当 Q-learning 确定当前状态之后,应当根据 Q-table 对当前动作进行选择,动作选择策略
指的就是确定当前动作的选择机制。目前比较常见的选择策略主要有轮盘赌和贪婪两种机制。
轮盘赌策略下,每个动作都有被选择的可能,但是其被选择的概率由 Q-table 决定。而贪婪策
略则每次选择 Q 值最高的动作。表 2.2 为两种选择策略的原理。
表 2.2 两种选择策略的原理
名称
原理
轮盘赌
每个动作都有概率被选择,
概率大小由动作对应的 Q 值决定
贪婪
选择 Q 值最高的动作
状态定义为
��
mSSSS ,,, 21 ��
,动作定义为
��
n21 ,,, AAAA ��
,当环境出于状态
mS
时,
动作
nA
被选择的概率为
)( nm ASP ,
。为了能够让每个算子都能够发挥作用,本课题所采取的
Q-learning 的策略选择方式为轮盘赌形式。
� �
ji ASQ ,
为动作-状态表中的对应元素,概率
)( ji ASP ,
的计算在本文中采用的是 Boltzmann exploration 函数,如式(1)示:
�
�
j
ji
ji
ji
ASQ
ASQ
ASP
)),(exp(
)),(exp(
, )(
(1)
2.3.3 奖赏函数
奖赏函数指的是当低层 LLH 算子对种群进行优化之后,Q-learning 会根据优化的效果对
Q-table 进行更新。若优化取得了更好的效果,则会对增加该工作在当前状态下的 Q 值,即对
其进行奖励。奖励函数的基本表达式如式(2)所示,Q 值更新方式如式(3)所示:
�
�
�
�
(不满足奖励条件)
满足奖励条件
0
)(a
r
(2)
rASQASQ jiji
��
��� ),()1(),(
(3)
其中,式(2)中,
a
表示满足奖励条件之后的奖励值。式(3)中,
�
表示为 Q-learning 的学
习率,
�
是一个固定值,满足
10 ��
�
,
�
越大,则 Q 值受历史表现的影响越小。
基于 Q-learning 的超启发式算法的高层策略为 Q-learning 强化学习,低层 LLH 算子应针
对问题作具体设计。首先,算法会根据历史信息判断当前问题所处的状态,并依据状态-动作
表选择本次的低层启发式算子,然后依据算子得出的结果更新状态-动作表。Q-learning 的基本
流程如图 2.3 所示。
5
初始化种群
初始化Q-table
G=1
判断当前状态
根据Q-table选择当前LLH算子
LLH算子优化种群
根据优化结果更新Q-table
G≤N?
G+1
输出结果
Y
N
选择精英并计算最优解
读取数据
开始
结束
图 2.3 Q-learning 的基本流程
3 移动群智感知任务分配模型
在移动群智感知的过程中,任务发布方会根据自己的需要实时更新自己的任务。比如政
府会分时段发布空气质量检测等任务,以保障该地区的环境质量,以求给人民一个更加幸福
的居住环境;亦或者出现新冠疫情的时候,政府可以发布配送任务以招募志愿者来完成相应
的任务,或者实时借助平台监控各地的人口密度来保障防疫工作。因此,从任务发布的角度
来看,需要充分考虑任务的多样性,以及任务地点的变化性。
平台的用户会根据自己的情况选择是否接收平台发布的任务,另外不同用户对不同类型
的任务完成的能力也不尽相同。因此要充分考虑平台用户对任务的完成能力,以及用户至任
剩余68页未读,继续阅读
资源评论
天天Matlab科研工作室
- 粉丝: 3w+
- 资源: 7249
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功