主权项 |
一种基于偏序任务的社会网团队构建算法,其特征在于,包括以下步骤:步骤1:初始化k个优先级队列Q[0],…,Q[k]为空,其中k为任务集中的任务数;步骤2:选取一个项目的领导者leader,放入队列Q[0],置任务搜索树的当前层h=0;步骤3:若当前层h等于任务数k,执行步骤4,否则执行步骤7;步骤4:取优先级队列Q[h]的队列头Node,令Team=Team∪{Node},其中Team为当前构建的部分团队;计算当前团队Team的总代价C(Team);步骤5:若C(Team)小于目前的最优团队代价C(OPT_Team),则用Team替代OPT_Team;同时记录对最后加入的成员Node的任务分配和任务的开始执行时间;步骤6:令Team=Team‑{Node},其中Node为最后加入的成员;令搜索树的当前层h=h‑1,回溯到搜索树的上一层,执行步骤3;步骤7:若优先级队列Q[h]不为空,执行步骤8;否则执行步骤13;步骤8:取优先级队列Q[h]的队列头Node,令Team=Team∪{Node},其中Team为当前构建的部分团队;计算当前团队Team的总代价C(Team);步骤9:若当前团队Team的总代价C(Team)大于目前的最优团队代价C(OPT_Team),则执行步骤10;否则执行步骤11;步骤10:令Team=Team‑{Node},令搜索树的当前层数h=h‑1,回溯到搜索树的上一层,执行步骤3;步骤11:对当前任务的每个后继任务t,选择能完成t的最优成员i,并将成员i放入优先级队列Q[h+1];步骤12:令搜索树当前层h=h+1,对搜索树向下扩展,执行步骤3;步骤13:若当前层h=0,执行步骤14;否则执行步骤15;步骤14:返回最优团队Team和对成员的任务分配;步骤15:令Team=Team‑{Node},令搜索树的当前层h=h‑1,回溯到搜索树的上一层,执行步骤3。 |