1.一种多智能体分布式任务分配方法,其特征在于,包括如下步骤:
步骤1:各智能体初始化智能体信息和任务信息;
所述智能体信息包括:智能体编号、智能体位置坐标、智能体速度、智能体通讯范围、智能体能力值以及智能体状态值;
其中所述智能体能力值为所述智能体性能的量化值;所述智能体状态值为所述智能体的状态指示值;初始化的智能体状态值为0;
初始化各任务信息,所述任务信息包括:任务编号、任务位置以及任务困难值;所述任务困难值为完成所述任务所需的智能体能力值;
步骤2:智能体计算自身对每个未完成任务的出价值,并选取出价值最高的任务,担任任务经理;即每个任务经理对应一个任务;所述出价值为智能体与任务之间的匹配程度。
步骤3:每个任务经理进行如下判断:任务经理根据自身智能体能力值,判断自身能否完成对应任务,若能够完成对应任务,则任务经理独自完成对应任务,任务经理修改自身的智能体状态值为2,并广播第七类消息给通讯范围内的所有智能体,进入步骤8;所述第七类消息用于指示当前任务经理独自完成对应任务的情况;
若任务经理不能独自完成对应任务,则将对应任务作为待组织任务,任务经理修改自身的智能体状态值为1,并广播第一类消息给通讯范围内的所有智能体;所述第一类消息包含所述待组织任务的任务信息以及当前任务经理对所述待组织任务的出价值;
步骤4:接收到第一类消息的智能体,判断自身智能体状态值;
若智能体状态值为0,在接收到第一类消息后,计算自身对所述待组织任务的出价值,并将出价值作为第二类消息点对点发送给所述待组织任务的任务经理;
若智能体状态值为1,在接收到第一类消息后,判断所述待组织任务是否和自身当前担任任务经理的任务相同;若不相同,则忽略所接收到的第一类消息;若相同,判断自身对所述待组织任务的出价值是否大于所接收到的第一类消息的发送方的出价值,若是则忽略所接收到的第一类消息,否则放弃担任所述待组织任务的任务经理,并修改自身的智能体状态为0,同时以自身对所述待组织任务的出价值作为第二类消息点对点发送给所接收到的第一类消息的发送方;
若智能体状态值为2,在接收到第一类消息后直接忽略;
步骤5:作为任务经理的智能体在设定的第一时间限内接收第二类消息,到达第一时间限后,对接收到第二类消息按照出价值按照由高至低进行排序,选择出价值最高的第二类消息发送方,点对点发送第三类消息,所述第三类消息用于告知所述出价值最高的第二类消息发送方参与所述待组织任务的执行;
步骤6:接收到第三类消息的智能体,向第三类消息的发送方回复第四类消息,并修改自身的智能体状态值为2开始执行任务,所述第四类消息用于确认参与执行所述待组织任务;
步骤7:作为任务经理的智能体在设定的第二时间限内接收第四类消息,到达第二时间限后,评估所有确认参与执行所述待组织任务的智能体是能够完成所述待组织任务,若能够完成,任务经理广播第五类消息,并修改自身智能体状态为2,开始执行任务,所述第五类消息用于指示所述待组织任务执行方案已确定;若不能完成,则待组织任务未完成,返回步骤2;
步骤8:当智能体完成任务后,修改自身智能体状态值为0,并广播第六类信息,告知通讯范围内的智能体任务已完成;
步骤9:返回步骤2,直到所有任务都被执行完成。
2.如权利要求1所述的方法,其特征在于,所述智能体为无人机、机器人、侦察机或者智能打击武器。
3.如权利要求2所述的方法,其特征在于,所述智能体信息包括智能体编号i、智能体位置坐标
所述任务信息包括任务编号j,任务位置坐标(xjt、yjt),任务困难程度di;
所述智能体计算自身对每个未完成任务的出价值,具体为:智能体i对任务j的出价值为:
4.如权利要求3所述的方法,其特征在于,所述步骤3中,任务经理根据自身智能体能力值,判断自身能否完成对应任务,具体为:
若任务经理的智能体能力值大于或者等于任务的任务困难值,则所述任务经理自身那个完成对应任务。