基于多Agent物流教学软件模型研究

时间:2022-07-31 12:31:17

基于多Agent物流教学软件模型研究

摘要:该文结合物流课程教学的实际需求以及多Agent系统应用研究的角度出发,以物流流程以及角色为研究对象,进行基于多Agent的物流教学系统建模研究,建立一个基于多Agent的系统的框架。该文研究工作结合高校的物流教学的实际需求,结合多Agent技术,设计出基于JADE框架。本研究将理论与实际紧密相连,来解决物流教学中的问题,并借助MAS模型使物流教学系统智能化。

关键词:Agent;物流教学软件;MAS

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)19-4545-03

Logistics Teaching and Learning System Model Research Based on Multi-Agent

GAO Wei, HUANG You-fang, YANG Bin

(Shanghai Maritime University, Shanghai 201306, China)

Abstract: To meet the actual demand of logistics education, involving the application of multi-agent system, the study presents efforts to logistics teaching and learning system modeling, and discusses the logistics role model about the system. We build a system architecture based on multi-agent, and provide the agent design based on JADE. Combining theory with practice, we present an intelligent logistics teaching and learning system design to improve the practice of logistics teaching and learning.

Key words: Agent; logistics teaching and learning system; MAS

随着经济的繁荣,社会的发展,物流产业在现代人们的生活中举足轻重。物流产业的蓬勃,使得物流人才逐渐被视为紧缺人才,带动了教育事业的发展。同时,物流产业信息化不断深入,物流教学也与信息技术结合的越来越紧密。在物流教学过程中,学生对于物流知识的了解基本都停留在理论上,对于担任物流职能的物流角色之间的关系缺乏感性认识。因此,物流实践教学就显得尤为重要。利用信息技术,将物流教学软件对于物流流程以及角色进行模拟,使传统的教学模式被打破,能使学习活动更加形象化。通过使用物流教学软件,让学生亲自动手操作、实践,加深对相关的物流实务的理解,同时掌握物流管理与运作,有利于学生更加形象、直观地理解课程所学内容,形成对物流的直观认识。基于Agent具有自治性、反应性、主动性、社会性等特点,基于多Agent建模能够使得物流教学软件系统具有智能性。

1 Agent与多Agent系统

1.1 Agent基本理论

尽管Agent这个术语已被广泛使用,但目前还无法找到一个统一的定义。由Wooldridge和Jennings[1-3]给出的Agent定义在有关文献中被引用得最多,该定义指出Agent是一种处于一定环境下,封装好的计算实体,为了实现其预定目的,它能在特定环境下自主地活动。一般来说,还可以从广义的角度来规定Agent具有以下特征[4]:自治性(autonomy),社会交互性(social ability/communicability), 反应性(reactivity),主动性(proactiveness)。

以上是关于Agent的定义,一般来说Agent具有如下基本结构,如图1所示。

1.2 多Agent系统

多Agent系统又称为MAS,是多个智能体组成的集合,它的目标是将大而复杂的系统建设成小的、彼此互相通信和协调的,易于管理的系统。多Agent系统内的Agent一般具有复杂的组件,在分布式的环境下并发地活动。[4]多Agent系统一般具有问题求解能力强,灵活性强,计算能力优秀、较好的可扩展性、可靠性高和适应性强等优势。

一般现行的物流教学软件大多对现实的物流场景进行模拟与仿真,或者直接采用物流信息系统用于教学。由于物流流程中的角色相互之间既有合作性又有竞争性。每个角色的子部门都具有智能体特征,相互协作,分析信息,进行自我决策。而传统的物流教学软件中的角色一般不会具有智能性和主动性,不具有决策分析的能力。多Agent系统中多个Agent彼此间进行协同交互,各自独立运行,与现实的物流流程具有相似的特征。所以,基于多Agent的物流教学软件具有优越性。

2 物流教学软件中的MAS建模

2.1 系统模型

本文设计的物流教学软件的目的是希望使得学生能够从各种物流角色登录该系统,在系统中模拟物流流程,同时用Agent模拟系统中部分角色,与其他角色和Agent进行智能交互,让学生学习物流实务,深入了解物流知识。设计的软件系统模拟现实中的物流角色,根据不同的信息作出决策。整个模型为三层结构,即供应商――配送中心――门店,基本的物流流程模型如图2。

供应商负责根据配送中心的库存策略向配送中心供货,配送中心向门店供货,同时供应商和配送中心都接受符合退货策略的退货。

2.2多Agent建模

目前,国际上提出的许多面向Agent的建模方法大多是基于原有方法的扩展,大致上可以分为三类:基于面向对象(OO)方法的扩展、基于知识工程(KE)方法的扩展和面向Agent的方法。[6]其中基于OO方法的扩展具能用面向对象语言实现,使Agent成为具有智能性和精神状态的对象,同时也有各种OO方法和技术来帮助描述Agent系统。由于其上述优点,本文采用基于OO的方法扩展来对这个多Agent系统进行建模。Agent之间的通信语言采用KQML语言。下面给出所设计的系统架构图。

系统主要分为三层。第0层,主要由软件的Agent平台和数据库平台构成。Agent平台负责对系统中的Agent进行支持与管理,包括Agent管理系统、Agent通讯控制系统和Agent黄页系统。Agent管理系统负责进行Agent的生命周期管理,包括Agent的创建、挂起、删除、唤醒、授权、和迁移;Agent通讯系统负责保障Agent间的通讯,包括设置通讯协议和通讯语言。Agent黄页系统负责提供Agent的等级和查询服务,登记每一个Agent的内容和这个Agent所提供的服务。第1层,是系统的中间层。该层由不同的Agent和相应的支持库组成。每个Agent内部都需设置Agent的行为和Agent通讯。所有的Agent都需要知识库和规则库的支持。第2层是系统的应用层,由客户端系统构成。该客户端系统,通过对1层Agent组合,学生登录客户端系统与后台Agent交互完成学习过程。

2.2.1 Agent的定义和划分

多Agent系统中的Agent与一般系统中的对象不同,Agent必须有自治性,与其他Agent进行信息交换,感应外界环境,然后再决定自己的行为。该系统中的三种角色都是具有自治性的经济实体,将系统抽象到角色级似乎是一种可取的方法。但是这样一来对物理流程的描述就会过于简单,因此本文将抽象粒度定为部门级:将每一个物流角色都定义为一个Agent,然后再将角色内部的关键部门定为Sub-Agent,同时再设置一些辅助Agent,以方便系统的运行、维护和调整。

针对该系统,我们作如下Agent抽象:

1)DistributionCenter Agent用于模拟配送中心角色的运行情况。

Sourcing Agent:作为DistributionCenter Agent的子,用于模拟配送中心采购部门的运行情况。

Sales Agent:作为DistributionCenter Agent的子,用于模拟配送中心销售部门的运行情况。

Warehouse Agent:作为DistributionCenter Agent的子,用于模拟配送中心仓库部门的运行情况。

Transport Agent:作为DistributionCenter Agent的子,用于模拟配送中心运输部门的运行情况。

2)Retailer Agent用于模拟门店角色的运行情况。

Sourcing Agent:作为Retailer Agent的子,用于模拟门店采购部门的运行情况。

Management Agent:作为Retailer Agent的子,用于模拟门店管理部门的运行情况。

3)Vendor Agent用于模拟供应商角色的运行情况。

Sales Agent:作为Vendor Agent的子,用于模拟销售部门的运行情况。

Management Agent:作为Vendor Agent的子,用于模拟供应商管理部门的运行情况。

系统模型中由配送中心、门店和供应商这三部分组成:

配送中心的由四个个来仿真:采购(Sourcing Agent)、销售(Sales Agent)、库存(Warehouse Agent)和运输部门(Transport Agent)。采购根据销售的预测和库存结果制定采购计划,并进行采购量的统计。销售负责满足门店的订货和退货请求。库存负责进行出、入库管理和统计库存数据。运输复杂配送调度和运输跟踪。

门店由两个来进行仿真:采购(Sourcing Agent)和管理部门(Management Agent)。采购根据销售记录和库存数据制定采购计划和退货计划,并进行采购量的统计。管理部门负责管理销售和库存。

供应商由两个来进行仿真:销售(Sales Agent)和管理部门(Management Agent)。销售负责满足配送中心的订需求,并进行相应统计。管理部门负责管理销售和库存。

2.2.2 Agent之间的通讯协作

本文所设计多Agent通讯采用混合通讯方式,Agent之间采取消息传递方式,Agent内部的Sub-Agent则用黑板结构来交换消息。通信语言采用目前已被广泛使用的基于“言语行为”理论的Agent通讯语言(ACL:Agent Communicate Language),其中KQML语言已被广泛采用。以下是对通信机制的简单描述:

::=

*

::=

::=

*表示由通信双方所构成的二元组的集合;

KQML语言是一个支持软件Agent之间进行实时交换知识共享的通信协议。[6]

2.3 基于JADE的系统设计

JADE(Java Agent Development Environment),是用于开发基于Agent的符合FIPA智能多Agent系统标准的软件框架,能实现多Agent系统间的互操作,也是开发成功后的Agent的运行环境。[6]

JADE平台提供了Agent基类用以继承,生成设计者自定义的实例。通过继承该类,Agent间的基本交互和实现Agent行为的基本方法集都被继承下来。每个部门都有一定的功能,都要完成一定任务,这些任务反应在Agent上就是称之为行为(Behaviour)。Agent的行为可以由主动触发或者被动请求产生。由于整个系统十分庞大复杂,在此就不一一列出以上所设计Agent的所有行为的代码设计。下面给出DistributionCenter Agent下面的Sourcing Agent行为设计。图4是配送中心采购部的流程图截图。

图4 流程图截图

DistributionCenter Agent下面Sourcing Agent是配送中心采购部的。其主要功能内部类有:MakeSourcingPlan类制定采购计划,该行为可以自行触发也可以通过门店传来订单消息产生。PriceEnquiry类向供应商发送消息询问采购价格,并且根据供应商提供的信息生成最优结果。Order类根据PriceEnquiry类生成的结果下单。其中交互与协商过程如下:1)向所有处于活动状态的供应商发送CFP消息,消息内容为询价的信息:物料名称、要货截止日期、数量等。2)侦听并处理供应商的PROPOSE消息,生成可供选择的供应商列表。3)根据规则选择供应商,向选择好的供应商发送ACCEPT-PROPOSE消息。4)侦听来自供应商的INFORM消息,内容包括:物料名称,订货数量,拟接货日期等。根据消息内容生成采购表单。

3 结束语

本文结合物流课程教学的实际需求以及多Agent系统应用研究的角度出发,以物流流程以及角色为研究对象,进行基于多Agent的物流教学系统建模研究,建立一个基于多Agent的系统的框架。本研究工作结合高校的物流教学的实际需求,结合多Agent技术,设计出物流教学软件的系统架构以及Agent模型。借助物流教学软件更加智能化,能够更好的用于物流教学之中。现实世界中的物流流程庞大复杂,由于时间和资料有限,所设计的物流教学软件模型还可以进一步细化,在今后的研究中可以考虑进一步完善角色的子和行为,根据更详细的资料和进一步的研究进行完善。

参考文献:

[1] N.R.Jennings. On Agent-based Software Engineering,Artificial Intelligence, 2000,117(2).

[2] N.R.Jennings and M.Wooldridge. Agent Oriented Software Engineering,Handbook of Agent Technology, AAAI/MIT Press,2000.

[3] N.R.Jennings. An Agent-based approach for building complex software systems. Communications of the ACM,44(4):35-41,2001.

[4] 闫琪. 基于角色的多Agent的系统开发方法研究[D].国防科技大学博士论文,2004.

[5] 高翔.基于Agent的供应链仿真系统建模与实施研究[D].同济大学硕士论文,2006.

[6] 吴菊才,黄穗.基于JADE的专家门诊智能预约系统设计[J].微型电脑应用,2009,25(9).

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:广州城建职业学院校园网升级改造措施 下一篇:关系型数据库与NoSQL数据库