陶巧云论文初稿.docx
- 文档编号:30742449
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:15
- 大小:632.06KB
陶巧云论文初稿.docx
《陶巧云论文初稿.docx》由会员分享,可在线阅读,更多相关《陶巧云论文初稿.docx(15页珍藏版)》请在冰豆网上搜索。
陶巧云论文初稿
基于多Agent的蚁群算法在业务流程优化中的应用研究
摘要:
为了提高企业业务流程的效率,提出了一种基于多Agent技术的业务流程优化方法,将多Agent和蚁群算法应用到企业车间动态调度调度问题上,对用蚁群算法如何实现车间的具体调度进行了分析与实现,从而为制造系统中的动态调度提供了一种新方法。
通过JADE(JavaAgentDevelopmentEnvironment)仿真,验证了此方法在车间动态调度问题的求解中具有很好的可行性与有效性。
关键词:
车间动态调度;多Agent;蚁群算法;业务流程优化;JADE
1引言
业务流程是企业运营的核心部分,而车间调度问题是一类组合优化问题,是生产调度问题的简化模型,也是一个NP完全问题。
在制造环境中,车间调度是生产车间面向任务组织生产、适应内外环境变化以及对外协作的核心模块。
在实际的动态车间中,随机事件的发生,会给车间调度带来很多不确定的问题。
为了解决这些问题就要求车间调度系统要有更好的柔性满足需求多样性的,接受新的特征功能的开放性,自主进行生产规划的智能性。
传统的制造系统多数是采用集中式决策的方法,多年来广大研究者研究出了大量简化算法。
S.C.Cheng[1]提出了用遗传算法求解描述静态、动态生产环境的作业车间调度问题。
L.DeGiovanni和F.Pezzella[2]提出了一种FMS调度和重调度算法。
鞠全勇[3]结合多种群粒子群搜索与遗传算法的优点提出具有倾向性粒子群搜索的多种群混合算法,以提高搜索效率和搜索质量。
T.L.Lin[4]提出了时间、成本和质量综合为一体的优化目标,以柔性作业车间调度为优化模型,最优目标为计算方法,设计了混合粒子群算法。
本文提出了一种基于多Agent的车间动态调度模型,并运用蚁群算法来作为构造车间动态调度的优化算法。
运用多Agent结构系统来实现全局协调作业在JADE平台上验证仿真,从而使生产系统在满足一定约束条件下,实现资源的合理配置和有效利用,达到成本最低的目标。
通过这种方法可以有效解决自动化生产系统中车间调度的具体寻优问题,同时可以实现全局动态调度及协同控制的目标。
2基于多Agent的车间动态调度结构模型
实际车间生产系统是一个动态的生产环境,生产计划、加工设备、调度目标等任何因素的变化都会引起生产调度的变化。
为了实现车间的协调运作,同时实现全局优化目标,从而更好地完成车间调度任务,实现资源的合理配置,本文提出了基于多Agent的车间动态调度系统,并运用蚁群算法来实现车间的动态调度的优化。
多Agent系统由多个各自独立的相互协调的智能体(Agent)组成,各个Agent具有不用的求解方法,不同的功能,他们按照事先约定的协议进行通信,相互合作,解决复杂的问题。
本文主要是通过Agent之间的协作使得机器具有智能性,从而实现车间中作业重新调度的自动化与最优化。
在动态车间调度中,多Agent系统主要有由管理Agent、资源Agent、监督Agent和工件Agent分布协作完组成。
系统中的各个Agent间可以通过约定好的统一通信协议进行车间的动态调度,以投标、谈判等方式进行决策。
采用多Agent结构可以使系统不会因为系统的某个部分出错而导致整个系统的崩溃,有利于提高系统的稳定性,同时实现制造系统的分布式决策,使系统具有很强的鲁棒性与可扩展性。
下图是多Agent的动态调度模型。
其中:
管理Agent:
管理Agent是整个调度系统的核心,主要负责对接收到的外界任务进行总体的评估和调度。
具体包括收集任务的信息和紧急度,然后将信息递交至资源Agent。
资源Agent:
资源Agent主要负责接收并处理外界生产任务并根据车间当前加工能力,确定车间是否执行该任务,在对任务进行分解后,向各个工件Agent发布标书,按照协议的规则形成加工生产计划,然后上报给监督Agent,获得反馈后负责对各个工件Agent调度生产。
监督Agent:
监督Agent主要对管理Agent反馈的备选生产计划进行仿真,然后选取加工路线反馈给管理Agent具体执行。
并且主要由监督Agent负责处理设备故障、新设备的加入、紧急任务的到来等。
工件Agent:
可以看作一个制造单元,每个工件Agent自主管理一个单元。
负责相应的操作管理、设备命令传递和信息采集。
工件Agent在接收到资源Agent的信息后,对各自对应的生产设备进行评估,然后决定是否投标。
若投标则根据设备情况做出相应的报价,反馈生产能力至资源Agent,确认是否能够完成任务。
多Agent系统的实现要借助相应的平台,JADE(JavaAgentDevelopment
Entironment)是多Agent系统的开发平台的一种,JADE实质上是一个符合FIPA
标准的软件开发框架[5]。
JADE可以理解为一个智能Agent应用程序,或者是一个Agent中间件,通过它处理消息传输、消息编码、消息解析以及Agent生存周期等问题[6]。
JADE编程人员可以用Java来开发所构建的Agent[7]。
例如,在JADE平台上管理Agent向工件Agent发送消息的通信原语示例可以表示为:
:
Sender(managerAgent@abc:
1099/JADE)
:
Receiver(Equipment@abc:
1099/JADE)
:
OntologyAMS-ontology
:
ProtocolFIPA-contract-net
:
LanguageFIFA-KQML
:
Content“((Issue(taskid(01),surfaceType(plane),machiningType(drilling),
number(8),tolerance(geometricTol:
02dimensionaltol:
01roughness:
02),
deadline(2014.05.21/11:
10)
))”
再如:
资源Agent从等待发布的加工任务中,按顺序选择加工任务,按招标书的形式将各工序向制造工件Agent发出寻求提议的请求,其通信原语可以表示为:
(CFP
:
Sender(Agent-identifier:
nameresource@abc:
abc:
1099/JADE)
:
Receiver(Agent-identifier:
nameequipment@abc:
abc:
1099/JADE)
:
Reply-withCFP1
:
inReply-withPROPOSE1
:
LanguageFIPA-KQML
:
Ontologyschedulingontology
:
Protocolfipa-contract-net
:
Content”((actionissues:
issuebook:
taskli\task01:
workingprocedure\01\)
:
taskreadytime"2014-05-2111:
20":
surfaceroughness4:
dimensionaltolerance
time\"60"\:
deadline\"2014-05-2111:
20"\))”
3 基于多Agent在车间动态调度系统中的应用
在动态车间调度环境中车间调度可以描述为:
一个加工单元或者系统内,n个作业需要在m台机器上加工,每个作业Ji(1≤i≤n)有ni道工序Oij(1≤i≤n,1≤j≤ni)需要加工。
用M表示机床集,每道工序有可加工的机床集Mij中任一台机厂加工,其中Mij属于M。
调度目标就是找到n个工件的排列顺序使最后一个工件的完成时间Cmax最小。
在系统模型的内部,管理Agent根据订单合同生成相应的任务,最终通过改进的合同网协议招投标机制确定分配关系。
为了提高效率,考虑到协商的效率以及车间的频繁动态调度,在全局的调度中采用双向协商机制(即各车间不再被动的接受管理发布的招标信息,可以在空闲时刻主动通知管理Agent进行资源Agent和工件Agent动态调度,缩短所需要调度时间。
同时资源Agent也不再无条件的用广播模式向车间发布招标信息,而是在先检测Agent是否已经提交调度申请,然后在这些申请的车间之间进行招投标)。
通过这种双向协商机制,系统的通讯量会大大的减少,大大提高协商效率。
在局部的调度中使用自主协商策略。
与此同时,为单一的作业环节进行谈判。
管理Agent首先获得的任务,然后在特定的条件下在队列中选择Agent,按他们的任务发布时间进行通告,通过谈判来选择合适的工件Agent。
如在同一时刻获取任务,那么随机选择工件Agent展开谈判。
当机器与获取授权的工件Agent执行完作业任务后,资源Agent首先通知当前作业管理Agent已经完成任务,然后更新自己的状态,同时转移至等待下一阶段作业的队列中。
其多智能体系统内Agent的调度过程如下:
1从外界接收调度信息后,管理Agent公布初始的标价
。
我们定义
,其中t表示其他Agent回应招标的最后期限,
表示完成任务所需要的时间约束,
表示空间约束,
表示物资约束。
2,工件Agent投标,给出反报价。
工件Agent首先评估自身是否能够满足资源约束条件,然后给出反报价
,其中
为承诺等待时间;
为最早开始作业时间,由工件Agent任务进行评估后生成,若工件Agent不满足
,
,
,则放弃投标。
3,资源Agent评估反报价并授权。
管理Agent评估所有返回的工件Agent
投标,按式
,选择最优的工件Agent进行授权,考虑工件Agent的最早开始时间、加工工件能力以及效率。
4,执行作业过程。
获得授权的工件Agent可执行作业任务,这一过程中可能会出现故障的影响。
若正常,则由管理Agent统计总的消耗,然后反馈给工件Agent。
若有故障发生,上报至监督Agent,停止作业转入故障维修协商过程。
下面看一个具体实例:
以某金工车间为例,考虑下面5工件4工序4机器的实例,车间能完成刨、铣、车、钻等工序,并存在多功能机床:
有一台刨床,一台车床,一台铣床和一台多功能机床,且多功能机床能完成钻、刨等工序。
工序机器关系如表4.0所示(1表示机器能完成该工序,0表示不能)。
工件工序集如表4.1所示。
工序加工时间如表4.2所示。
考虑两种情况,一是工件的交货期都不是特别紧张的情况,将交货期设置为FIFO调度[8]规则下的产品平均加工周期,另一个是有较紧张的交货期,时间是1:
1.2。
将本文提出的多Agent方法与常用的FIFO规则和EDD规则进行性能指标比较,具体仿真结果如下图所示。
工序机器关系表4.0
机器
工序
A(刨床)
B(车床)
C(铣床)
D(多功能)
G1
1
1
0
1
G2
0
0
1
0
G3
0
1
0
0
G4
0
0
1
1
工件工序集表4.1
工件ID号
第1道工序
第2道工序
第3道工序
第4道工序
J1
刨(id:
1)
铣(id:
2)
钻(id:
4)
车(id:
3)
J2
车(id:
3)
钻(id:
4)
铣(id:
2)
刨(id:
1)
J3
铣(id:
2)
刨(id:
1)
车(id:
3)
钻(id:
4)
J4
钻(id:
4)
刨(id:
1)
铣(id:
2)
车(id:
3)
J5
铣(id:
2)
钻(id:
4)
刨(id:
1)
车(id:
3)
工序加工时间表4.2
机器
工序
A(刨床)
B(车床)
C(铣床)
D(多功能)
J1
3
2
6
5
J2
7
6
8
6
J3
2
4
3
3
J4
8
11
9
7
J5
3
5
6
8
模型仿真结果表4.3
生产线状态
调度规则
准时交货率/%
平均加权延迟/h
A
B
C
D
A
B
C
D
通常情况
FIFO
49
56
51
50
21
16
18
20
EDD
46
61
55
50
-
-
-
-
MAS
85
88
94
84
3
1
3
7
紧急情况
FIFO
0
0
0
0
55
59
84
65
MAS
100
89
85
89
5
3
7
6
对于设备故障的问题,假设一台机器设备每天故障12h,仿真时间为一个月,其余设置相同,FIFO对设备故障不进行处理,MAS采用自主协商机制处理,仿真统计如表4.4所示。
其具体仿真结果如下表。
设备故障模型仿真表4.4
生产线状态
调度规则
准时交货率/%
平均加权延迟/h
A
B
C
D
A
B
C
D
通常情况
FIFO
55
55
51
59
41
17
15
21
MAS
96
90
92
95
6
3
3
6
紧急情况
FIFO
0
0
0
0
35
32
24
16
MAS
99
88
85
89
8
11
6
8
从各个表中可以看出,将多智能体系统引进入车间动态调度的环境中,对该领域的问题解决提供了新的思路。
采用多Agent系统的协商机制,对于减小产品的平均加权交货延迟,提高产品准时交货率,有非常好的效果。
设备故障仿真也更明显的表明,采用多Agent系统的局部自主协商机制,也能够较好的减小设备故障对生产线产生的影响。
4蚁群算法
蚁群算法是受自然界中蚂蚁的行为启发而发展出来的一种新的启发式优化算法,它可以应用于各种优化组合问题求解的群体智能算法,是由意大利学者M.Dorigo[8]等人首先提出的。
蚁群算法模拟了自然界蚂蚁寻找从蚁巢到食物源的最短路径并找到回蚁巢路径的机制,蚂蚁之间通过一种信息素来相互交流信息,蚂蚁在移动的过程中,会在经过的路径上散发信息素,蚁群通过感知路径上的信息素进行通信,个体之间并不直接进行交互,而是通过改变它们共同存在的环境进行交互,个体又通过对环境的改变去影响其它个体的行为,从而形成了一种正反馈机制,长度越短的路上,经过的蚂蚁越多,聚集的信息素也越多,蚂蚁趋向于选择信息素多的路径移动通过这种机制,经过一段时间后蚂蚁最终能够发现最短路径。
算法的基本求解思路为:
设集合GK是没有访问过的结点的集合,SK表示根据约束规则下一步允许访问的结点的集合,禁忌表JK表示存放已经访问过的结点。
每个蚂蚁可以看成一个智能体,首先蚂蚁们分布在其实节点处,然后每个蚂蚁根据状态转移规则选择下一个结点,蚂蚁倾向于选择那些加工时间较短且信息素强度较高的路径,每选择一个结点,该结点就被追加到禁忌表JK中并从GK中删除,如果被选的结点不是工件的最后一步,那工件中紧邻的下一个结点就会被加入到SK中,单个的蚂蚁在遍历过程中根据信息素局部更新规则在路径上释放一定数量的信息素,同时蚂蚁经过的路径上的信息素随着时间的推移而蒸发,当所有的蚂蚁都完成了它们的遍历过程之后,GK为空集,最后禁忌表中得到的结点的排序序列就是蚂蚁找到的解,此时可以计算出此次迭代的最小的最大完工时间,再应用信息素全局更新规则对获得最小的最大完工时间的蚂蚁所经历的边上的信息素进行更新,此后算法反复迭代直至满足终止条件后结束。
可见,蚁群算法的求解过程主要由三个规则控制,即状态转移规则,信息素全局更新规则和信息素局部更新规则。
简单的说状态转移规则是选择下一个节点的规则,按一下公式选择:
位于结点r的蚂蚁使用以下的规则选择结点s为下一个要访问的结点:
其中,
是信息素,
是启发函数,而
>0是一个参数,用来定义信息素和时间之间的相对重要性。
q是一个均匀分布的随机数,
是自定义的一个参数,s是根据概率公式计算得来的随机变量。
信息素全局更新规则:
按以下的公式对最小的最大完工时间的边上的信息素进行更新
其中,
是信息素衰减系数,而
是蚂蚁在本次循环中找到的最小的最大完工时间。
信息素局部更新规则:
单个的蚂蚁在遍历过程中按照下式对信息素局部更新规则对它所经过的边上的信息素进行更新。
其中,
是信息素挥发系数,
是预先设置的信息素的初始值。
5基于蚁群算法的车间调度系统在JADE平台上的实现
以资源Agent中某一Agent的任务招投标过程为例,将蚁群算法嵌入至JADE平台中。
开发过程中将JADE软件所包含的基本jar库导入到相应的java项目下,这样每次运行时首先启动JADE平台,同时自动运行RMA。
然后,运行各个Agent进行相关操作,其JADE的启动界面如5.1图。
JADE的启动界面图5.1
本文涉及到的包括招标者和投标者之间的四个基本交互过程,即招标者招标、投标者投标或拒绝、招标者发布中标或拒绝中标信息,以及中标者确认反馈。
仿真过程中,JADE平台的AMS和RMA先进行通信,确认JADE系统主容器已经启动。
招标Agent1向系统主容器注册,加入JADE系统中,注册参数及通过ACL语言向地址服务容器交互界面如图5.2和5.3所示
5.2新建招标Agent
5.3Agent1向DF注册信息5.4Agent1的招标发起过程
Agent1的招标发起过程如图5.4所示,Optimization智能体向Agent2发起标书过程如图5.4所示。
5.5OptimizationAgentAgent1发起标书过程
用MAS系统的实现平台JADE对车间调度系统中Agent的建模、交互、通信进行了研究与验证,构建了一个基于JADE平台的车间调度系统体系结构模型,并对其中Agent的建模及蚁群算法进行实现。
仿真系统具有面向Agent实体设计的模块化、内嵌算法的可重用性和开放性等特点,为进一步深化开发和扩展应用打下基础。
6总结
基于多Agent技术的车间调度问题的研究,利用多Agent的自治性和协作关系,同时将蚁群算法运用于Agent的协作中,在JADE平台上实现企业资源
的优化调度的最终调度目标。
通过仿真提高产品准时交货率。
[1]S.C.Cheng,D.F.Shiau,andY.M.Huangetal,Dynamichard-real-timeschedulingusinggeneticalgorithmformultiprocessortaskwithresourceandtimingconstraints[J],ExpertSystemswithApplications,2009,36
(1):
852-860.
[2]L.DeGiovanni,F.ezzella,AnImprovedGeneticAlgorithmfortheDistributedandFlexibleJob-shopSchedulingproblem[J],EuropeanJournalofOperationalResearch,2010,200
(2):
395-408.
[3]鞠全勇,朱剑英,多目标批量生产柔性作业车间优化调度[J],机械工程报,2007,43(8):
148-154.
[4]T.L.Lin,S.J.Horng,andT.W.Kaoetal,Anefficientjob-shopschedulingalgorithmbasedonparticleswarmoptimization[J],ExpertSystemswithApplications,2010,37(3):
2629-2636.
[5]F.Bellifemine,G.Caire,andT.Trucco,JADEADMINISTRATOR'SGUIDE,
http:
//JADE.cselt.it/,2006.
[6]郭杰,沈文轩,等。
基于MESSAGE和JADE的Agent开发方法研究[J].
计算机应用与软件,2009,26(3):
136-137,162.
[7]F.Bellifemine,G.Caire,andT.Trucco,etal,JADEPROGRAMMER'SGUIDE,http:
//JADE.cselt.it/,2005.\
[8]DorigoM,ManiezzoV,ColorniA.TheAntSystem:
OptimizationbyaColonyofCooperatingAgents.IEEETransactionsonSystems,Man,andCybernetics-PartB,1996,26
(1):
1-13
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 陶巧云 论文 初稿