基于合同网的无线传感器任务分配方法 技术领域 本发明涉及无线传感器网络技术领域, 具体涉及一种基于合同网的无线传感器任 务分配方法。
背景技术 无线传感器网络是一种信息获取以及处理网络技术, 它有着广泛的应用和发展前 景, 在军事、 工业、 商业等领域体现出许多的优越性。任务分配问题是无线传感器网络中必 须解决的一个重要问题, 也是多代理系统中的热点问题之一。无线传感器网络有着自组织 性、 动态性等特点, 同时又有着网络通信资源受限、 节点之间存在通信冲突的问题, 这就需 要合理设计其任务分配算法, 减小网络节点的能耗, 从而延长节点的生命周期。
在合同网协商过程中涉及到两类节点 : 管理节点和普通节点。 管理者产生任务后, 向系统中的普通节点发布任务招标书 ; 各普通节点根据任务属性和资源情况评价任务, 决 定是否向管理者投标 ; 管理者接收标书并对标书进行评估, 根据评估结果选择一个合适的
普通节点作为承担者, 签订合同 ; 被授予合同的承担者向管理者确认接受任务。
申请号为 201010033866.4, 名称为 “基于协商的无线传感器网络任务分配方法” 的中国发明专利申请公开的技术方案为 : 无线传感器网络中的节点作为招标方发布招标启 事, 等待竞标方出价 ; 收到竞标邀请的节点根据对待分配任务的可完成度以及其当前剩余 能量来决定是否参与竞标, 决定参与竞标的节点作为竞标方就待分配任务的各个属性进行 出价 ; 招标方采用多属性效用函数来评价与竞标方的协商过程中各竞标方的出价方案, 然 后选择标的。本发明在任务分配过程中就考虑到了节点的剩余电量和任务预期能耗等因 素, 采用多属性效用函数来评价分配方案的优劣, 提高了分配的综合效用值, 把即时成功策 略、 轮次模糊策略和无失败策略融入到 MAS 自动协商算法中, 提高了任务分配的实时性, 灵 活性和成功率。
在该申请中, 只考虑了任务分配过程中的招标环节和中标环节, 具有一定的局限 性。
申请号为 201010618362.9, 名称为 “基于合同网的簇结构无线传感器网络任务分 配方法及装置” 的中国发明专利申请公开的技术方案为 : 一种基于合同网的簇结构无线传 感器网络任务分配方法及装置, 其中, 所述方法包括 : S1 : 管理者向剩余能量大于能量阈值 的节点发送任务邀请 ; S2 : 参与节点根据对任务的可完成度和自己的剩余能量给出初始报 价; S3 : 在最大协商时间之前, 管理者和参与节点根据基于时间 t 的鲍威尔收敛机制进行价 格让步协商, 当协商双方的报价满足预置条件时, 协商成功, 将对应的参与节点作为标的 ; S4 : 管理者将任务分配给中标的节点, 并向所有参与节点发送任务已分配通知。 本发明采用 能量作为协商参与门槛, 降低协商复杂度的同时平衡各节点能量 ; 在任务分配实时性和任 务分配效用上取得一定的平衡 ; 还可以实现复杂任务的分层任务分配。
在该申请中, 节点招标时, 只考虑了能量因素, 不足以全面反应节点性能。
传统的协商方法中, 管理者针对大量普通节点招标, 这既极大地增加了网络的能量消耗, 又加重了管理节点的管理负担。同时, 普通节点投标时, 将节点当前的信息作为标 值写入标书中, 但招投标过程需要花费一定的时间, 在这段时间内, 普通节点的状态、 性能 有可能发生变化, 只考虑节点当前的状态会使标值不能精确地反映节点的情况。 发明内容
( 一 ) 要解决的技术问题
本发明的目的在于提供一种基于合同网的无线传感器任务分配方法, 能够减少投 标节点的范围以减少网络的能量消耗和通信冲突, 并使标书更准确地反应节点接收任务时 的情况, 提高任务的完成率和完成质量。
( 二 ) 技术方案
为了解决上述技术问题, 本发明提供一种基于合同网的无线传感器任务分配方 法, 包括步骤 :
S101 : 对网络中普通节点进行聚类, 分为高级节点和低级节点 ;
S102 : 任务发布节点产生任务并与高级节点间进行招投标过程 ;
S103 : 中标的高级节点对其管理的低级节点发布招标书 ;
S104 : 低级节点判断自己是否符合要求, 并根据自身情况决定是否投标, 如果决定 投标, 则转入步骤 S105, 否则不参与投标 ;
S105 : 低级节点投标时, 预测中标时的情况并写入标书中 ;
S106 : 高级节点判断是否超过投标时限 ; 若未超过, 则继续接收投标书 ; 若超过时 限, 则停止接受投标书并转入下一步 ;
S107 : 高级节点根据投标书选择合适的低级节点并授予标书, 招投标过程完成。
优选地, 所述步骤 S101 中聚类的方法进一步包括步骤 :
S201 : 初始化, 选定一个停止参数 ξ, 并随机选择若干个聚类中心 ;
S202 : 计算隶属度矩阵和聚类中心 ;
S203 : 计算目标函数 J(l) ;
S204 : 判断是否满足结束条件 ; 如果 J(l)-J(l-1) > ξ, 则转入步骤 S202, 开始下一轮 (l) (l-1) 计算 ; 如果 J -J ≤ ξ, 则转入步骤 S205 ;
S205 : 聚类结束, 选取距离聚类中心最近的点为高级节点, 其他点为低级节点。
优选地, 所述步骤 S105 中预测中标时的情况包括但不限于 : 剩余能量、 完成任务 的平均得分、 完成任务的能力。
优选地, 所述步骤 S105 中使用改进的最小均方误差算法将节点对将来状态的预 测引入标值中, 该算法通过一组输入值 XT(n) 与权值 W(n) 相乘得到一个输出值, 包括步骤 :
S401 : 初始化, 赋给 W(0) 一个较小的随机非零值, n=0; 设置停止参数 ε 和最大 迭代次数 C ;
S402 : 计算误差 e(n), e(n) = d(n)-XT(n)W(n) ; 其中 n 为迭代次数, d(n) 是指第 T T n 次的预计输出, X (n) 为输入向量, W(n) 为输入向量对应的权值, X (n)W(n) 即为实际的输 出;
S403 : 确定下一步学习速率 μ(n+1),μ′ (n+1)= αμ(n)+βee(n)-λe2(n) ; 其 中, λ 是常数; α、 β 也 均 为 常 数, 分 别 代 表 μ(n) 和 e(n)-λ 2 e e (n) 对 μ′ (n+1) 的影响度 ;
S404 : 计算新的权值 ; 给定一个常数 τ 作为系统的遗忘度, 即系统在前 n-1 次的状 况对第 n+1 次的影响, 则权值修正公式更新如下 : W(n+1) = (1-τ)W(n)+τS(n-1)+μXT(n) e(n), 0<τ<1; 其中
代表前 n-1 组数据对本次的影响 ;S405 : 判断是否满足结束条件, 即 e(n) < ε 或到达最大迭代次数 C ; 若不满足, 则 转入步骤 S402, 若满足则转入步骤 S406 ;
S406 : 低级节点将当前状况 X(n+1) 乘以权值 W(n+1), 得到预测值, 将这个值写入 标书中。
优选地, 在合同网中, 若任务发布节点发布任务的速率服从参数为 λ 的泊松分 布, 则可以认为, 低级节点被授予任务的速率近似服从参数为 λ/N 的泊松分布, 其中 N 是总 的低级节点个数, 所述步骤 S404 中取 τ = 1-e-λ/N。 优选地, 所述步骤 S107 中高级节点根据各节点完成任务的情况, 优先选择完成该 类任务能力较强的节点。
( 三 ) 有益效果
利用本发明提供的方法进行无线传感器网络的任务分配方法, 具有以下优点 :
1、 在招投标过程中, 通过对节点的聚类减少投标节点的范围以减少网络的能量消 耗和通信冲突。
2、 在节点投标时, 对节点接收任务时的情况进行预测并计入标值中, 使标书更准 确地反应节点接收任务时的情况, 提高了任务的完成率和完成质量。
附图说明
图 1 为本发明任务分配方法的总流程图 ; 图 2 为本发明中节点聚类方法的流程图 ; 图 3 为聚类后节点的关系图 ; 图 4 为本发明中标值预测的流程图。具体实施方式
下面结合附图和实施例, 对本发明的具体实施方式作进一步详细描述。以下实施 例用于说明本发明, 但不是限制本发明的范围。
本发明所述的基于合同网的无线传感器网络任务分配方法, 当一个节点进行任务 分配时, 能够在较小的能量消耗下将任务分配给合适的节点, 并提高任务的完成率和完成 质量。该方法总流程图如图 1 所示。
本发明的总体过程是 : 首先对普通节点进行聚类, 分为高级节点和低级节点, 任务 发布节点对高级节点发布标书, 高级节点中标后, 再向其管理的低级节点进行招投标工作。下面分别介绍每一个步骤 :
S101 : 对网络中节点聚类。为了减少网络的能量消耗, 增加网络生存时间, 将节点 分为三个层次 : 任务发布节点、 高级节点和低级节点, 其中高级节点和低级节点是由普通节 点进行聚类得到的。一个任务发布节点与若干个高级节点进行通信, 而一个高级节点管理 若干个低级节点。任务发布节点产生任务, 与高级节点进行常规的招投标工作。高级节点 中标后, 再在它所管理的低级节点中进行招投标工作。 这样可以显著地减少网络的能耗, 减 轻任务发布节点的工作负担。高级节点以及它所管理的低级节点使用改进的 C 均值算法进 行聚类得到。
聚类的目标是 : 使划分到同一类的对象之间的相似度最大, 而不同类的对象间相 似度最小。节点聚类流程如图 2 所示。
S201 : 初始化, 选定一个停止参数 ξ, 并随机选择 c 个聚类中心。
S202 : 计算隶属度矩阵 U 和聚类中心 V。计算 uij 和 vi 的方法如下 :
其中, argmin{dij} 表示在与所有的聚类中心的距离中, xj 与 vi 的距离最小。各节 点 xj = ( 当前剩余能量, 完成任务的平均得分, 完成任务的能力 )。n 为网络中节点总数, c 为聚类个数。 uij 代表各节点对聚类中心的隶属度。 代表节点xj 与聚类中心 vi 的欧式距离 (P 为节点属性个数 ), Ni 表示第 i 类中的节点个数。 (l)
S203 : 计算目标函数 J 。本算法的中心思想是不停地通过迭代, 使目标函数达到 最小。目标函数如下 :
S204 : 判断是否满足结束条件。如果 J(l)-J(l-1) > ξ, 则转入步骤 202), 开始下一 (l) (l-1) 轮计算 ; 如果 J -J ≤ ξ, 则转入步骤 S205。
S205 : 聚类结束, 选取距离聚类中心最近的点为高级节点。 聚类后得到的节点间关 系示例图如图 3 所示。
由于聚类得到的结果是根据节点的各项属性得到的, 如剩余能量、 完成任务的能 力等, 而不是只根据节点之间的相对位置, 所以聚类结果只是一个管理与被管理的关系, 与 节点的位置关系不大。
S102 : 任务发布节点产生任务并与高级节点间进行招投标过程。
S103 : 中标的高级节点对其管理的低级节点发布招标书。
S104 : 低级节点判断自己是否符合要求, 并根据自身情况决定是否投标, 如果决定 投标, 则执行步骤 S105, 否则不参与投标。
S105 : 低级节点投标时, 要将自身的情况写入投标书中, 包括剩余能量、 当前排队
任务数等。 在传统的合同网中, 标值的计算只考虑了节点当前的信息, 但招投标过程需要花 费一定的时间, 在这段时间内, 低级节点的状态、 性能有可能发生变化。 因此, 本发明使用改 进的最小均方误差算法 LMS(Least Mean Square), 将节点对将来状态的预测引入标值中, 以更全面地反应节点信息。节点标值预测流程如图 4 所示。
标值预测的思路是通过一组输入值 XT(n) 与权值 W(n) 相乘得到一个输出值。步 骤说明如下 :
S401 : 初始化, 赋给 W(0) 一个较小的随机非零值, n=0; 设置停止参数 ε 和最大 迭代次数 C。
S402 : 计算误差 e(n)。e(n) = d(n)-XT(n)W(n)。其中 n 为迭代次数, d(n) 是指第 T T n 次的预计输出, X (n) 为输入向量, W(n) 为输入向量对应的权值, X (n)W(n) 即为实际的输 出。本算法的中心思想就是要通过不停的迭代, 更新权值 W(n), 使 e(n) 达到最小。
S403 : 确定下一步学习速率 μ(n+1) ; LMS 算法中, 学习速率 μ 决定着算法的收敛 速度, μ 较大时算法收敛快, 稳定性差, μ 较小时则相反。为了同时获得较快的收敛和较好 的稳定性, 本发明采用了自适应的学习速率, 其核心公式如下 :
μ′ (n+1) = αμ(n)+βee(n)-λe2(n)
其中, λ 是一个常数。若 e(n) > λ, 学习速率较大, 保证算法更快地收敛, 节省 传感器能耗 ; 当 e(n) 逐渐减小到 e(n) < λ 时, 学习速率小, 故算法较稳定。α、 β 均为常 e(n)-λ 2 数, 分别代表 μ(n) 和 e e (n) 对 μ′ (n+1) 的影响度。
S404 : 计算新的权值 : 在本发明中, 给定一个常数 τ 作为系统的遗忘度, 即系统在 前 n-1 次的状况对第 n+1 次的影响, 则权值修正公式更新如下 :
W(n+1) = (1-τ)W(n)+τS(n-1)+μXT(n)e(n), 0<τ<1
前面每一次的权值, 只需要 S(n-1) 就可以了。第 i 组数据距离本次预测时间越久, 它的影 响就越小。
假设在合同网中, 任务发布节点发布任务的速率服从参数为 λ 的泊松分布, 则可 以认为, 低级节点被授予任务的速率近似服从参数为 λ/N 的泊松分布, 其中 N 是总的低级 节点个数。λ 越大, 代表两次发布任务之间的时间间隔越大, 上一次完成任务的情况对下 一次节点状态的影响就越小 ; λ 越小, 则代表两次任务分布的间隔越小, 上一次完成任务 -λ/N 的情况对下一次节点状态的影响也就越大。 因此取 τ = 1-e , 保证前 n-1 次的状态对第 n+1 次的影响与 λ 负相关, 同时 W(n) 对 W(n+1) 的影响要远远大于 S(n-1) 对 W(n+1) 的影 响。
S405 : 判断是否满足结束条件 ; 即 e(n) < ε 或到达最大迭代次数 C。若不满足, 则转入 S402, 若满足则执行 S406。S406 : 低级节点将当前状况 X(n+1) 乘以权值 W(n+1), 得到预测值, 将这个值写入 标书中, 投标。
S106 : 高级节点判断是否超过投标时限。若未超过, 则继续接收投标书 ; 若超过时 限, 则停止接受投标书并转入下一步。
S107 : 高级节点根据投标书选择合适的节点并授予标书。高级节点根据各节点完 成任务的情况, 优先考虑完成该类任务能力较强的节点。招投标过程完成。
实施例 1 基于合同网的无线传感器网络任务分配过程 :
1: 本实施例采用 100m*100m 的网络, 随机分布了一个任务发布节点和 30 个普通节 点。这 30 个普通节点使用 C 均值算法被聚类为 2 类 : 高级节点和低级节点。每个节点初始 能量为 0.5J, 任务发布速率服从参数为 1s 的泊松分布。
2: 设定网络具有以下性质 : 在传感器网络中, 节点部署后不再移动 ; 所有普通节 点都是同构的, 而且节点都有一个唯一的地址 ; 传感器节点间时间同步。
3: 任务发布节点产生任务并对任务分类, 将标书发布给高级节点。
4: 高级节点根据自己所管理的低级节点的情况投标。
5: 任务发布节点选取合适的高级节点, 授予中标书。
6: 高级节点得到任务后, 对它管理的低级节点进行招标工作。
7: 低级节点预测中标时的状况并写入标书中, 向高级节点投标。
8: 当到达投标时限后, 高级节点选取合适的低级节点授予任务。
9: 节点执行任务。
以上所述仅是本发明的优选实施方式, 应当指出, 对于本技术领域的普通技术人 员来说, 在不脱离本发明技术原理的前提下, 还可以做出若干改进和替换, 这些改进和替换 也应视为本发明的保护范围。