diff --git a/lab/文献整理.md b/lab/文献整理.md index 1f23d4a1..425b0107 100644 --- a/lab/文献整理.md +++ b/lab/文献整理.md @@ -7,6 +7,7 @@ * 基于自适应动态调整权重系数 * 基于进化信息调整分数阶次 * 基于 Levy 飞行特征的局部最优 +* 多目标构造成单一目标。 * 对云计算模型进行抽象。得到数学模型。转换为数学问题。 * 对任务调度的目标和约束进行描述。 diff --git a/lab/项目:网络探测.md b/lab/项目:网络探测.md index 8936a442..19cf3080 100644 --- a/lab/项目:网络探测.md +++ b/lab/项目:网络探测.md @@ -1,5 +1,6 @@ ## 多源异质协同探测策略 -要求:针对不同目标、不同探测手段,协同探测策略不少于5种。具备内部网络节点自组织和协同分布式执行任务的能力,每个节点负载不超过原本负载的10% +> 动态多源协同探测策略 +要求、指标:针对不同目标、不同探测手段,协同探测策略不少于5种。具备内部网络节点自组织和协同分布式执行任务的能力,每个节点负载不超过原本负载的10% ## 1 任务安排 @@ -142,10 +143,7 @@ * 任务分配过程中,满足受控节点之间的链接依赖。B(Rn(N)) * 任务分配过程中,满足原子任务对受控节点属性的要求。可以是静态的,比如节点的权限、操作系统等。B(q(N)=>p(T)) * 任务分配过程中,满足原子任务对受控节点属性的要求。这种属性要求可能是动态变化的,如节点负载,这种动态变化的属性要给出动态属性计算函数。B(q(N)=>p(T)) -* 节点网络是动态变化的 -* 原子任务是动态变化的 * 节点的运行CPU负载不能超过给定的要求B(performance)>sum{C_i(Q(M(T)=执行中))} -* 负载均衡? > 这里应该是模型的概述 ### 策略的数学模型 @@ -199,12 +197,26 @@ * L(T)表示当前节点任务节点的load负载计算函数。具体的计算函数应该后续给出。是否可以由每个任务占用CPU时间与估计的执行时间进行乘积计算? ### 算法原理 -> 给出了一个实例 + +> 给出了一个实例处理这种问题,大部分研究都是使用粒子群算法的。 粒子群算法 * 粒子群编码 * 适应度函数定义 * 速度与位置更新 * 惯性权重的调整。 + +人工蜂群算法 +人工蜂群算法就是模拟蜜蜂的采蜜过程而提出的一种新型智能优化算法,它也是由食物源、引领蜂、跟随蜂和侦查蜂组成。 + +食物源:食物源即为蜜源。在任何一个优化问题中,问题的可行解都是以一定形式给出的。在人工蜂群算法中,食物源就是待求优化问题的可行解,是人工蜂群算法中所要处理的基本对象。食物源的优劣即可行解的好坏是用蜜源花蜜量的大小即适应度来评价的。 +引领蜂:引领蜂与食物源的位置相对应,一个食物源对应一个引领蜂。 +跟随蜂:在蜂巢的招募区内根据引领蜂提供的蜜源信息来选择食物源 +侦查蜂:侦查蜂是在蜂巢附近寻找新的食物源。 + +在人工蜂群算法中,食物源的个数与引领蜂的个数相等;引领蜂的任务是发现食物源信息并以一定的概率与跟随蜂分享;概率的计算即为人工蜂群算法中的选择策略,一般是根据适应度值以轮盘赌的方法计算。 +在人工蜂群算法中,跟随蜂依据引领蜂传递的信息,在食物源附近搜索新食物源,并进行贪婪选择。若一个食物源在经过次后仍未被更新,则此引领蜂变成侦査蜂,侦查蜂寻找新的食物源代替原来的食物源。 + + ### 算法流程 > 给出了粒子群算法的步骤 @@ -219,6 +231,30 @@ * 步骤9 输出局部最优解 pbest 和全局最优解 gbest。 +> 给出了人工蜂群算法的步骤 + +* 步骤1:初始化种群:初始化各个参数,蜂群总数SN、食物源被采集次数即最大迭代次数MCN及控制参数limit,确定问题搜索范围,并且在搜索范围内随机产生初始解xi(i=1,2,...SN) 。 + +* 步骤2:计算并评估每个初始解的适应度。 + +* 步骤3:设定循环条件并开始循环 + +* 步骤4:引领蜂对解xi按照式(2-3)进行邻域搜索产生新解(食物源)vi,并计算其适应度值; + +* 步骤5:按照式(2-7)进行贪婪选择:如果vi的适应度值优于xi,则利用vi替换xi,将vi作为当前最好的解,否则保留xi不变; + +* 步骤6:根据式(2-4)计算食物源的概率pi; + +* 步骤7:跟随蜂依照概率pi选择解或食物源,按照式(2-3)搜索产生新解(食物源)vi,并计算其适应度。 + +* 步骤8:按式(2-7)进行贪婪选择;如果vi的适应度优于xi,则用vi代替xi,将vi作为当前最好解,否则保留xi不变; + +* 步骤9:判断是否有要放弃的解。若有,则侦查蜂按式(2-5)随机产生新解将其替换; + +* 步骤10:记录到目前为止的最优解; + +* 步骤11:判断是否满足循环终止条件,若满足,循环结束,输出最优解,否则返回步骤4继续搜索。 + ### 步骤 * 维护一个节点依赖矩阵