多Agent系统结构通常包括以下三种类型:集中式、分布式和混合式。在分布式结构当中,每个Agent的状态是相对相等的,充分发挥每个Agent的自治性和协商性。不同的任务调度环节对应不同的作业流程,根据系统这一特点,建立基于多Agent的密集仓储四向穿梭车结构模型,如(图1)所示,其中包含了各类别Agent之间的信息交互过程以及各Agent的主要功能,在订单进入系统当中后,向出入库系统发出订单需求信息,再根据订单货品类型等信息分配给各个仓储货架Agent,再由仓储系统调度穿梭车以及提升机,共同调度协作,完成最终的出入库订单任务。
根据分析系统的运作机制,将整个结构模型MAS(Multi-AgentSystem)分解为信息层、控制层、通讯层以及执行层,各Agent功能如下:
信息层Agent位于本系统中第-级别,负责整个系统中的信息采集、信息处理,同时主要负责协调规范下一级别控制层的各种Agent的行为,即订单管理Agent、出入库管理Agent和仓储管理Agent。虽然每个控制层的Agent各自都具有自治性,但当这一级Agent之间产生竞争冲突时,由上级Agent来解决。
控制层Agent主要负责系统中的各项任务的分配,例如订单分配、穿梭车及提升机的调度和货位分配等一系列具体任务,控制层Agent对于各自所管辖的范围内的资源和任务,具有自主性和独立性,同时也需要调节执行层各Agent之间的行为。
交互和通讯Agent主要负责名Agent之间的信息交互,以达到减少名Agent之间耦合性。各Agent之间通讯是基于通信断言机制来进行交互和传输。
执行层是具体执行任务的各种Agent,在接收到控制层Agent下达的任务时,各执行层Agent对于任务进行竞争,最终由获得任务的Agent完成任务并反馈结果。各Agent类型及功能见(表1)。
在多Agent密集仓储穿梭车系统中,Agent之间的交互主要体现在订单管理Agent与出入库月台Agent、出入库月台Agent与仓储货架Agent、仓储货架Agent与穿梭车提升机Agent以及多穿梭车Agent与提升机Agent之间。各类Agent之间以招投标方式实现任务分配和相互协作执行任务。因此在系统中各Agent之间的协调调度步骤主要有以下三步:
(1)任务派发环节:招标环节采用广播招标,基于多Agent的密集仓储四向穿梭车模型中执行功能相同的Agent,其数据库、知识库以及状态都不同且在实时变化,为确保系统运行最优化,招标者Agent 将标书实时发送至每个投标者Agent,即每个投标者Agent都将接收到招标者Agent发出的招标信息,再根据自身情况判断是否发起投标。
(2)任务请求环节:投标者在接到任务消息时,会检查自身能力,首先检查是任务缓冲池的剩余容量,是否可以接收新的作业任务,其次判断是否符合完成任务的基本要求,最后判断是否能在规定时间窗内完成任务所需要求。若满足以上条件,多Agent系统将会制作标书送至投标Agent,投标Agent接受任务后将任务加入任务缓冲池,并按合同执行任务,最终对结果进行反馈。
(3)执行评价:针对招标投标环节所反馈的数据信息,对该任务完成程度进行评价。