| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

基于多agent的制造执行系统的功能模块设计

天***猩

贡献于2024-04-06

字数:23894

基Agent制造执行系统功模块设计



离散型制造企业生产产品种类结构复杂数信息量生产程包含众变化确定素企业程控制复杂变基Agent制造执行理系统MES(Manufacturing Execution System)够提高计划程实时性效性增强生产理程响应力时改善资源理运行效率相适应现代生产理方式
课题某软包装设备总厂限公司机加工车间应背景某机型印刷机生产历史数采Java语言编程AgentBuilder台已建立系统数库基础通基单件批量生产模式简单车间调度算法进行MES车间调度功模块设计仿真实现出相应结果进行分析
通解Agent结构通信语言基础研究Agent封装Agent间通信通Agent封装通信实现MES调度功模块形成基Agent制造执行系统功模块

关键词:MESAgent系统调度算法仿真Agent封装





















Design of the Function Module of Multiagent Based Manufacturing Execution System

Abstract

The process control in discrete manufacturing enterprises is complicated and variable Because products of the enterprises are great variety complex structure and enormous information besides its production process contains many changes and uncertain factors Multiagent based Manufacturing Execution System (MES) can improve the realtime and effectiveness of planning process and enhance the response ability of the Production Management Process at the same time it can improve the operation efficiency of resource management In short it’s a modernized production management method that fits to discrete manufacturing enterprises
This topic chooses a machining workshop of flexible packaging equipment Co Ltd as its application background an AgentBuilder as its platform To achieve the simulation of planning we use the historical data of a printing machine’s production and Java programming language Based on already established the system database the simulation design of MES shop scheduling function modules can be carried out by using the shop scheduling algorithm which is based on the pattern of single and small batch production Then we obtain the simulation results which are use to analyze the accuracy of the function modules
Thorough understanding the structure and communication language of Agents we do a research in how to encapsulate Agents and communicate between different Agents Then the multiagent based MES shop scheduling function modules are built through the research

Keywords MES MultiAgent System shop scheduling algorithm simulation encapsulate Agents






目录

1绪 1
11研究课题背景意义 1
12研究课题相关领域现状 1
121 MES介绍 1
122 MES国外应现状 2
123 车间调度 2
124 基Agent制造执行系统 2
13 研究课题容 3
2基AgentMES介绍 3
21 Agent介绍 3
211 Agent定义 3
212 Agent特性 4
22Agent技术 4
23 MAS 4
24基AgentMES 5
3基单件批量生产模式车间调度模块 6
31调度功模块概述 6
311 单件批量生产模式概述 6
312 车间调度概述 6
32算法分析编程 7
调度方法概述 7
调度功模块总体思想 7
调度问题 7
调度算法 8
编程实现 12
33数仿真分析 14
331 4x4数仿真 14
332 实例仿真 15
333 仿真总结 18
4Agent通信封装 18
41 AgentBuilder介绍 18
42 Agent间通信 21
43 Agent封装 22
5总结展 25
51总结 25
52展 25
致谢: 25
参考文献: 26
附录: 27

1绪

11研究课题背景意义
伴着济全球化发展制造业竞争日益激烈前越越制造企业通信息化提高身综合竞争力计划生产前制造业传统生产方式:企业通订单市场情况等制定生产计划→计划放→组织生产→产品派送种生产模式底层控制没实时动态指导层计划车间实际产生较误差制约身生产效率提高制造执行系统(Manufacturing Execution SystemsMES)正解决问题效实现层计划车间实际信息交互车间计划调度生产更合理离散型制造业想提高综合竞争力更采 MES核心技术整合身
Agent称代理种具性交互性反应性动性高度治实体[1]基Agent制造执行系统满足敏捷制造环境工厂车间设备单元等理层次动协调工作求具易扩充灵活性新高等特点着制造系统市场快速反应分布治方发展基Agent制造执行系统认代传统分级制造系统前途选择[2]
基AgentMES力提高制造企业竞争力基AgentMES技术研究十分意义调度作MES核心功否合理直接影响MES企业应中成败课题选MES车间作业调度功模块研究象Agent技术引入调度模型调度系统具高度柔性敏捷反应性较强扩充性够适应复杂变车间生产环境提高MES性实价值
12研究课题相关领域现状
MES介绍
世纪90年代美国先进制造研究机构(Advanced Manufacturing ResearchAMR)首次提出制造执行系统概念许国际组织MES功出明确定义相继开发相应模型描述标准化类软件系统MES模型出定义够全面生产实体部分选件系统没做出明确阐述[3]规范MES系统美国仪表协会(ISA)编制ISA95企业控制系统集成标准ISA95标准中MES系统出详细定义第1部份模型专术语详细规定业务营勤支持系统生产运行系统间接口目前已国际标准组织IECISO接受正发展成国际标准第2部分提供系统间信息交换基础正编制中第3部分试图通定义详细规定发生理层制造层间数流功重点解决互操作性问题[4]
MES国外应现状
MES发达国家已实现产业化应覆盖离散流程制造领域企业带巨济效益MESA9396年两次干典型行业进行关MES应情况调查结果表明企业MES效缩短制造周期缩短生产提前期减少数输入时间改进产品质量减少次品等权威咨询公司AMR完成份市场调查显示:2004年全球MES市场营收106亿美元2001年相增长超502006年全球制造业理软件方面投资MES位居第二仅次ERP国外行业应中MES已ERP相提MES已成目前世界工业动化领域重点研究容[5]
国十五期间流程工业领域MES成技术研究突破口面钢铁石化两典型流程制造业中已应开发出干产权MES系统十五期间离散制造MES进行探索性研究针汽车航空等典型离散行业进行重点开发应已取定成果
总体说发达国家相国MES技术开发深度应广度存定差距特离散制造业MES系统开发应前国面中规模轻工设备制造行业MES研究远远够
车间调度
车间生产程调度问题制造系统统筹理优化三项技术发展核心车间作业调度控制实现高效率高柔性高性生产关键效实调度方法成先进制造技术基础调度问题复杂性现实世界样性调度系统难解决加工车间调度问题[6]车间调度作制造系统研究热点研究发展许调度优化算法遗传算法神网络禁忌搜索等思想容涉数学工智物理学等众领域解决复杂车间问题提供许新思路
基Agent制造执行系统
Agent系统(MultiAgent SystemMAS)种分布式治系统Agent间通智行协调身知识目标规划联合起解决特定问题具开放动态现实环境良灵活性适应性MAS理受广泛重视制造领域例车间资源配置生产调度控制生产理决策等获越越应基Agent制造系统信息集成理台传统企业理台通集成企业部Agent系统相互构成动态网络化层系统[7]生产调度特动态调度中存许确定性素导致难采数学建模模拟MAS技术采降低动态调度复杂性基MAS调度系统够更适应车间制造环境断变化增强调度系统敏捷性鲁棒性[8]
13 研究课题容
着企业离散生产模式发展传统运作理方式已法满足发展求企业迫切需采相适应现代生产理方式基Agent制造执行系统成企业整生产程进行优化理实现敏捷制造重选择成企业提高理效率关键环节
课题研究完成容:
(1) 解AgentMESAgentBuilder开发台Java编程语言Agent通信封装功
(2) 选取基单件批量车间调度MES系统功模块选择适宜算法运Java语言编程实现
(3) 解某软包装设备总厂限公司机加工生产车间生产流程某机型印刷机生产程中历史数功模块进行仿真实现出仿真结果进行分析
(4) AgentBuilder台已设计调度功模块封装成具车间调度功Agent
2基AgentMES介绍

课题研究涉AgentAgent技术MAS基AgentMES等诸方面课题研究中握准专业名词定义章相关名词做出介绍便续课题研究者解学

21 Agent介绍
Agent定义
Agent原指代理商品济活动中授权代表委托方引入工智计算机科学计算机辅助工程领域形象描述计算机辅助软件工具智作位关系[9]迄Agent尚没统权威定义基思想软件实体够模拟类社会行社会观类社会组织形式协作关系进化机制认知思维解决问题方式[10]
前Agent典型定义致两类:
(1) FIPA(Foundation for Intelligent Physical Agent) Agent定义:Agent驻留环境中实体解释环境中发生事件数执行环境产生影响行[11]
(2) Agent软件研究者Agent定义:Agent户执行特定务具定智执行务环境相互作软件程序[12]
212 Agent特性
称Agent软件硬件系统具特性:
(1) 治性(autonomy):指Agent没Agent控制运行行部运行状态具某种控制力
(2) 社交力(social ability):称交流力(communication ability) AgentAgent 通某种语言进行交互
(3) 反应力( reactivity):Agent 周围环境感知力通身行改变环境
(4) 发行(proactiveness):Agent 仅够环境做出反应够通接受某启示信息做出基目标行
22Agent技术
年着计算机科学分布式工智技术发展Agent技术成研究热点研究治Agent动态环境果运交互合作竞争协商等智完成复杂控制务求解更体现类社会智更加适合开发动态环境广泛运领域
Agent技术研究涉理应两方面[13]理研究Agent系统体系结构Agent间体系结构协调学机制应研究Agent技术科学计算计算机网络机器制造业电力系统交通控制等中应
23 MAS
Agent系统(MAS)分布式I智研究前领域研究重点协调系统中agent行协工作正社会总体智优样Agent系统协作求解力超单智体MASagent实体Shoham认agent包含信念力决定承诺等精神状态Freemanagent做出更具体定义agent(m k a i I s r g) 分量分表示力法知识属性推理机制语击消息操作消息接受协议全局知识谓Agent系统样智体集合结构三层次图21示通讯层协作层控制层[14]

图21 MAS组成
24基AgentMES
基AgentMESAgent技术引入MES中MES功单Agent者组织良Agent通通信实现样MES独立处理信息Agent组成利Agent间约定协议进行交互通信系统部信息处理更加完善[15]
根中规模包装设备制造企业实际情况基AgentMES致七类Agent组成分户接口Agent调度Agent工单Agent资源Agent文档Agent工Agent质检AgentMES功Agent间通信实现Agent系统框架结构图22示

图22 面中规模包装设备制造企业MES系统结构


3基单件批量生产模式车间调度模块

设计基单件批量生产模式车间调度模块作课题研究体部分设计算法实现状态直接影响课题结果课题决定性作章调度功模块含义入手分介绍单件批量生产模式车间调度着重车间调度算法描述通画出算法流程图编写相关程序实际数应程序出相应结果进行分析

31调度功模块概述
单件批量生产模式概述
制造业产品种类繁产品生产稳定性重复性分量生产成批生产单件批量生产三种类型单件批量产品通常根户特殊需求专门设计生产产品适范围需求量通常应研制样机试验件某型产品生产[16]
着济高速发展市场结构发生巨变化:交通信息技术发展国贸易限制减少生产竞争全球化市场结构着消费者需求日趋性化样化已转变牵拉型情况制造业面市场消费者占导位变化迅速法预测市场许企业传统批量生产模式难适应现代市场品种单件批生产逐渐成生产模式
车间调度概述
调度指实现某目标公资源实行时间分配种行车间调度指根车间加工程中时情况车间作业计划做出相应调整车间生产够利进行保证产品期交货车间调度生产理具重意义够起生产计划补充完善作车间调度贯穿企业整生产程车间生产动态实时环境够高效运行关键
车间调度根设备种类数量分单台设备调度台设备调度台设备调度根工件加工路线特征设备环境分成单件车间(Job Shop)调度流水车间(Flow Shop)调度开放式车间(Open Shop)问题三种类型[17]
单件车间调度程中工件工艺路线生产计划运类型设备车床钻床等设备定时间完成某种特定加工务Job Shop调度适合单件批量生产模式满足工件工艺路线求前提确定台设备加工务先加工序工件合理时间加工完毕达定性指标
32算法分析编程
调度方法概述
单件车间作业调度问题(Job Shop Scheduling ProblemJSSP)典型求优化解问题问题行解集合中选出优优解问题三基素:变量约束目标函数实际车间生产调度中工件工序设备选择调度程中变量工件工艺路线变量约束加工总流程时间短设备利率高等生产调度目标
优先规某方式测评加工作业加工设备空闲时够选择执行作业种加工调度规适n工件m台设备加工调度问题利法够效排序加工流程优先规仅简化排序计算方法减少工作量加快排序速度够出较计划方案[18]
年优先法进行量研究总结出许条优先规目前没种规动态环境中满足种目标时规某目标说目标定优目标采规异罗耀挥[19]根生产调度优化目标法做纳:
(1) 加工时间目标:包括处理时间短剩余工序加工时间短剩余工序加工时间长等
(2) 交货期目标:包括交货期早松弛量拖期罚款分派等
(3) 工件设备状态目标:包括先进先出工件优先权设备利率高等
(4)零件工艺信息目标:包括剩余工序数少剩余工序数等
调度功模块总体思想
1:根工件工序占加工设备建立设备排加工序作业集合
2:台利设备分配加工作业工件时台设备加工时根优化目标选择合适优先规组合规计算作业工序优先级优先级高作业分配该设备加工
3:全部利设备安排加工务进入第1步循环直加工务计划完毕
调度问题
基单件车间调度问题做描述:
存n工件m台设备n工件工序m台设备加工工件工艺路线已预先定调度目标确定台设备工件工序加工序满足某项指标优
该调度问题应满足点约束:
(1) 工件必须工艺路线加工道工序前道工序完成方开始
(2) 道工序旦台设备开始加工便中断
(3) 台设备时加工工件
(4) 工件时两台设备加工
(5) 道工序加工时指定台设备
理研究纳约束够解决单件批量车间加工排序结合研究课题采取实际数考虑实际存台加工设备够加工工序情况考虑道工序台设备加工时设备选择问题考虑道工序竞争台设备时工件排序问题
调度算法
课题研究算法参考许文砚[20]提出基单件批量车间调度算法
设n种工件需m台设备加工方便编程部分变量做定义:
workPieceNumber(n)工件数processNumber(m)工序数
processij(Pij)表示工件i第j道工序
allProcessNumberi(Qi)表示工件i总工序数
machineij(Mij)表示工序Pij占加工设备
timeij(Tij)表示工序Pij加工时间
startTimeij(Sij)表示工序Pij开始时间
finishTimeij(Fij)表示工序Pij完工时间
freeTimeij(Wij)表示工序Pij开始加工前选定加工设备空闲时间
finalFinishTimei(Fi)表示工件i道工序完工时间
i=12……nj=12……Qi Tij=Fij-Sij
调度程仅考虑单目标车间作业排序问题调度目标确定工序Pij加工设备Mij通求工序Pij开始时间Sij结束时间Fij确定加工程总流程时间短完工工件结束时间
调度程中考虑:台加工设备确定该设备道工件工序前序道工序竞争台设备情况工件加工进度均衡加工流程总时间较短应优先安排未加工工序工时长工件先进行加工便较引入剩余加工时间概念:
令sumTimeij(SumTij)工件i加工工序Pij时前j道工序(包括第j道工序)工时表达式:
(1)
令sumTimei(SumTi)工件i工序工时表达式:
(2)
工序Pij加工效率Rij
(3)
surplusrij1-Rij代表相剩余加工时间
优先加工满足max(1-Rij)工件长相剩余加工时间减保证工件加工进度均衡
算法初始化:
1根Rij公式计算Rijsurplusrij
2根工艺路线工件建立工序数组queuePi[][]先加工工序排数组前面加工工序排数组面工件工序采图31标记:
例 11代表工件1第道工序
标记根实际数工件工序数超10进行假设适工序数超10情况
图31 工件工序标记
3工件Pi设变量Move(i)指该工件步加工工序调度完道工序工序数组元素赋予Move(i)
4道工序建立设备数组queueM[][]存放工序Pij设备集合中设备标记直接M01M02M03整数表示代表加工设备
5台设备设调度指针Lk中0<k≤m始终记录着该设备道工序结束时间初始值设0台设备k设定务队列queueTk[][]先序存放台设备加工务初始化时该队列空
初步排序:
步骤1:选取Move(i)中满足max(1Rij)工序Pij工序Pij+1赋予Move(i)
步骤2:选择数组queueM[i][j]中满足min(Lk)设备k该数组中设备Lk相等选台
步骤3:工序Pij插入设备k务队列QueueTk队尾
步骤4:分式计算Pij开始时间Sij完工时间Fij选定设备工序空闲时间Wij然更新相应设备Lk令Lk=Fij
Sij=max{LkFij1} Fij=Sij+Tij Wij=Sij-Lk
步骤5:遍历数组Move(i)Move(i)≠NULL转步骤1Move(i)NULL初排结束
调节排序:
初排台设备调度指针Lk记录着该设备加工务结束时间时根王凤儒徐蔚文徐洪副[21]提出调节算法进步缩短加工路径时间
Setp1:求加工路径长(满足max(Lk))设备设备存定唯
Setp2:中设备k判断务队列queueTk工序开始前Wij均零排序结果调节算法结束
Setp3:求第Wij零工序记Pbc结点队列队尾进入Setp4该队列队尾该设备加工务结束时间工序Pbc1结束时间Pbc开工时间提前该设备加工务结束时间更新工序开始时间Sbc结束时间Fbc设备空闲时间Wbc转Setp1否道工序提前暂设Wbc=0转Setp1
Setp4:令该设备Pbc前加工务PfgPstFst1<Sbcmax{FfgFst1 }+Tst +Tbc≤Sbc+1交换PbcPst该设备加工序Sst=max{FfgFst1 }进入Setp5否暂时置Wbc=0转Step1
Setp5:更新队列QueueTk中Pst工序开工时间完工时间设备空闲时间LkLk<max(Lk)恢复前面暂时置工序等时间置零前值转Step1Lk> max(Lk)算法结束
车间调度算法初步排序流程图32调整排序算法流程图33:

图32 初步排序算法流程图

图33 车间调度调整排序算法流程图
编程实现
编程采java语言JDK16环境运行调试图34

图34 JDK版环境
调度排序功代码UltraEdit32(图35)工具中编写

图35 UltraEdit32编写环境

UltraEdit32编程工具环境车间调度算法编写java代码JDK环境里编译成javaclass文件图36

图36 java代码class文件

windows xp cmd环境编译执行算法结果输出形式图37




图37 算法输出形式图

次采华鹰软包装设备总厂仿真数中道工序单设备选编写程序时假设道工序台加工设备结合述算法实际数进行编写简化根输入数算出Rij台设备加工设备工序作输入(工序未排序)通工序Rij进行初步排序课题初排算法进行编写仿真调整算法作课题象课题选取两组数作仿真输入根情况编写相应代码附件中附录课题编写两java代码
33数仿真分析
4x4数仿真
工件数4工件工序数44台设备(M01M02M03M04)加工工时设备时间表:

工序1
工序2
工序3
工序4
工件1
M01
M02
M04
M01
4
4
3
5
工件2
M02
M03
M01
M03
3
4
5
6
工件3
M03
M02
M04
M02
6
2
4
4
工件4
M04
M01
M03
M04
4
2
6
6
表38 工序工时设备关系表

数输入程序运行出结果:


图39 4x4数仿真输出



通输出结果运Microsoft Office Visio 工具转化甘特图结果图310

图310 4x4排序结果甘特图


实例仿真
表311华鹰软包装设备总厂限公司YA800AⅡ型印刷机机头部分部件工序工时设备情况:
序号
零件图号
零件名称
数量
工序1
工序2
工序3
工序4
1
YA800AⅡ1102
心轴
20




90
10
24
40
2
YA800AⅡ1210

1




16
6


3
YA800AⅡ1226
肖座
1




25
25
15

4
YA1000B1218

2




2
7
1

5
YA1000B1220
轴衬
4




8
6


6
YA1000B137
紧定套座
2




4
7
4

7
YA800AⅡ1306
气缸尾座
2




7
3


8
YA800AⅡ1401
底板
8




20
12
8

注:表工时公司表示方法方便统计工资:工件工序1车工时实9工时10元时90元加工零件工资
表311 YA800AⅡ型印刷机机头部分部件工序工时设备关系表

实际数转化程序接受数形式表312:
零件名称
工件编号
工序1
工序2
工序3
工序4
心轴
1
M01
M02
M03
M04
9
1
24
4

2
M01
M03


16
06


肖座
3
M05
M01
M02

025
025
015


4
M05
M01
M02

02
07
01

轴衬
5
M01
M02


08
06


紧定套座
6
M01
M04
M02

04
07
04

气缸尾座
7
M01
M02


07
03


底板
8
M05
M02
M03

2
12
08

表312 YA800AⅡ型印刷机机头部分部件仿真数表
中M01代表车需设备M02代表钳需设备M03代表磨需设备M04代表铣需设备M05代表刨需设备
输入数表写调度程序执行程序返回图313 结果:

图313华鹰数仿真输出结果

转化成图313甘特图:

图313 YA800AⅡ型印刷机机头部分部件排序结果甘特图

仿真总结
课题仿真基车间单件批量生产模式研究针工件道工序台设备进行加工情况考虑工序竞争加工设备时资源分配方法采时间复杂度较优先分配方法启发式规求较优解根理算法分析实例数验证总结出调度功算法结构简单时间复杂度较易实现通实际生产数进行验证出算法行够求较满意解结该调度算法传统Job Shop车间作业调度问题基础做定假设假设根实际情况加改变够适合企业复杂生产环境更适合数企业实际生产提高价值



4Agent通信封装

设计车间调度功模块进行封装形成基AgentMES车间调度功模块次课题研究容首先解Agent间通信机制封装定理知识结合课题研究采AgentBuilder台尝试车间调度功模块进行封装章分介绍Agent封装通信AgentBuilder开发台基础简单叙述车间调度功模块封装程

41 AgentBuilder介绍
AgentBuilder套构建智Agent集成开发工具运行系统(Runtime System)工具箱(Tools Box)两部分组成中工具箱包括理基Agent软件开发工程全部工具例分析Agent操作领域工具设计开发通信Agent网络工具定义Agent行工具调试测试工具等等运行系统包括Agent引擎提供执行Agent软件环境Agent程序Agent引擎组成执行Agent[22]
AgentBuilder工具箱运行时系统两部分组件通Java语言实现支持Java拥Java开发环境机器者操作系统进行Agent应开发时AgentBuilder工具箱创建Agent基Java语言Java虚拟机执行通Java语言创建出智Agent种样计算机台执行[23]图41示AgentBuilder组件间关系

图41 AgentBuilder组件间关系图
课题采AgentBuilder作开发台实现MES调度功模块设计特征:
(1) 提供视化编程工具制定Agent行运行
(2) 容易创建软件智Agent需Agent网络通信方面专门知识
(3) 构建Agent置运行踪环境推理Agent通信力
(4) 高层次面Agent编程语言通制定Agent信念承诺行等直接概念完成软件Agent设计
(5) 提供问题域分析Agent群定义Agent间相互作定义Agent测试调试等工具
(6) 基Java语言创建跨台Agent应提供工具包
(7) 支持种编程语言JavaC++C语言等
(8) 支持CORBAIIOP协议
AgentBuilder创建AgentKQML语言通信机制支持KQML确定行外AgentBuilder允许开发者定义新部Agent通讯命令满足特殊求[24]
开发智Agent开发活动相类似开发员样进行系统分析设计执行测试调试整合维护等步骤图42示AgentBuilder开发Agent程

图42 AgentBuilder开发Agent程
Agent开发程实际定义Agent行程AgentBuilder支持创建户界面库Agent行库创建Agent定义文件户界面库构建Agent户界面Agent行库中确定Agent行户界面库行库包含工程附属类(Project Accessory ClassPAC)库定义Agent行Agent程序载入运行Agent引擎(Reticular’s Runtime Agent Engine)中种高绩效执行机制解释Agent程序执行户界面库Agent行库中行图43AgentBuilder环境界面

图43 AgentBuilder环境界面


42 Agent间通信
MAS中Agent间协实现问题求解关键Agent间合作协调离开Agent间通信解Agent间通信利实现问题解决KQML目前广泛采Agent通信语言KQML种消息格式种消息处理协议提供套标准Agent通信原语KQML分容层消息层通信层等三层次中容层KIF (knowledge Interchange Format)语法需传输知识进行编码消息层包括行类型资格等行类型言语行(Speech Acts)理[Nilsson1999]演化该层基功确定消息传递时协议动作原语(判断查询命令组已知原语)通信层包含底层通信参数例消息发送者接收者唯标识步等
KQML基格式图43示:

图43 KQML基格式
般发送语言段称消息消息形成编码程消息解释执行似解码程KQML类似高级语言编码直接编程员完成程序身生成解码完全程序部执行KQML种通信语言种通信协议标准Agent遵守该协议受提供通信支持遵守KQML协议Agent必须添加KQML语言解释器基交互原语完成基操作普通Agent需实现基原语解释外种名辅助器(Facilitator)Agent需完成特殊功应支持特殊原语解Agent系统中辅助器
实体Agent基交互模式图44示实体Agent通KQML描述消息实现Agent间通信时实体Agent知识库中规(象关系定义系统出实体象关系)KQML进行传递

图44 Agent基交互模式
43 Agent封装
Agent具适应性智性软件实体代表户程序动服务方式完成项工作说Agent封装独立功模块包括数数进行操作算法够接受处理 Agent发送消息 Agent发送消息独立解决问题力环境变化变化实体利AgentBuilder台开发Agent时开发者首先需问题域进行分析理解代理基代理解决方案功性需求完成域分析开发者代理结构进行定义问题分解够代理完成功开发者必须确定解决全局问题时代理作然创建框架代理定义代理代理相互作时基特征确定代理角色开发者便定义代理间通信协议协议编辑器开发者够容易确定代理间需消息握手规完成代理定义便确定代理行AgentBuilder确定代理行规信念职责意图代理力提供工具支持户接口库代理行库创建建立代理定义文档户接口行类组成工程辅助类(Project Accessory Class)库户接口库够构建代理户接口代理行库中确定代理行步:首先定义行名称参数接着行象模式中定义象方法关联导入已类库者开发够实现务Java类代理行库中存储类代理定义文档包含详细代理初始精神模型行详细说明份文档代理行库户接口库确定代理行三部分构成代理程序代理程序载入错综实时代理引掣创建代理应程序样完成利AgentBuilder开发封装Agent程
AgentBuilderJDK14版兼容编译java代码成class文件时JDK14环境JDK1516生产class文件法导入AgentBuilder台
首先AgentBuilder Project Manager建立MES Project目录建立Machining WorkShop Agency Properties建立车间调度Agent(SchedulingAgent)图45

图45 创建MES车间调度算法Agent
接着定义SchedulingAgent项属性图46:

图46 定义SchedulingAgent项属性


接着创建JobShop Ontology 通Ontology Manager—ToolsObject ModelerFilesimport classes路径导入户写类(导入已编译class文件)图47:

47导入class文件程图
创建出JobShop Ontology 加入SchedulingAgent中(图48)

图48 JobShop Ontology 加入SchedulingAgent程图

5总结展
51总结
课题华鹰公司机加工车间应背景选取YA800AⅡ型印刷机生产程历史数作仿真象解Agent技术AgentBuilder开发台基础设计出MES系统车间功调度模块通 Agent封装实现Agent间通信解功模块进行初步封装通次设计学AgentMESAgentBuilder开发台调度算法等许新知识更解机械知识企业实际生产中应重性次课题重心Java语言车间调度算法实现运编程开发方面知识说部分新东西然设计学程中常遇问题通老师师姐学沟通查阅相关文献等途径部分较满意解决
52展
次设计MES车间调度功模块定约束条件建立起超出约束实际生产情况适合希续设计时够改良算法程序放宽条件约束适范围更广阔应价值更应加深AgentBuilder开发台解够熟练运开发出智化Agent效合理封装便企业客户


致谢:
文导师范颖晖副教授熊晓琼研究生师姐精心指导完成开始课题选题方案设计选题变更进进行课题设计开始文写作整程倾注导师辛勤劳动量心血谨导师表示衷心感谢
时感谢组张芳瑜苏桥满谢谢程序算法程序仿真数中出宝贵意见建议感谢毕业设计指导帮助









参考文献:

[1] 曹渠江徐明.基AgentMES务调度研究设计微计算机信息[J]2008(33):16
[2] 乔兵朱剑英.Agent智制造系统研究综述南京航空航天学学报[J]200133(1):17
[3] 西门子动化驱动集团动化系统部.MES模型ISA95标准[EBOL] .[2006227] .httparticles

[4] ISA ISA95 EnterpriseControl System Integration Part 3 Activity Models of manufacturing Operations Management [R]
[5] 潘美俊饶运清.MES现状发展趋势.现代设计先进技术制造[J]2008(43):4346
[6] 钟少波.机械制造车间调度分析实现.科技创新导报[J]200812(C):76
[7] 李美芳.CIMS发展趋势.现代制造工程[J]2005(9):113~115
[8] 谢畅.基AgentMES调度研究[D]华中科技学2004
[9] 乌兰木邓家提.Agent象.计算机集成制造系统CIMS[J]1999(5):67
[10] 广周王晓琳 类面Agent软件开发方法研究[J]型微型计算机系统199819(7):6468
[11] FIPA Rationale1996
[12] 张丽霞Agent技术供应链中应研究[D]天津学2004
[13] Michael WNicholasRJIntelligent agentstheory and practice[J]Knowledge Engineering Review
199510(2)115152
[14 ]赵娜郑廷斌洪力.Agent技术研究综述.科技信息[J]20089:7172
[15] 胡俊姚锡颜亮吴昌生.基Multi_Agent制造执行系统生产控制研究.制造技术机床[J]200812:5051
[16] 王竟宇.提高单件批量生产力.工业技术[J]200610(3):1315
[17] T GonzalezS SahniFlowshop and jobshop schedules:complexity and approximationOperations Research1978(26):3652
[18] 王宁生计算机集成柔性制造北京航空工业出版社1995:119129
[19] 罗耀挥车间作业计划调度系统研究开发[D]西安:西北工业学2002
[20] 许文砚.基单件批量生产模式车间调度方法研究系统开发[D]南京:南京航空学院2005
[21] 王凤儒徐蔚文徐洪副效率调度算法求解非标准作业车间调度问题计算机集成制造系统20017(7):1215
[22] 蔡俊基Agent网络教学模型研究[D]浙江师范学2000
[23] 陈亚军夏安邦毕睿华基Agent电力市场竞价交易系统[J]计算机时代2004(5):3133
[24] 孙超基MultiAgent规模定制信息系统原型研究设计[D]河北工业学2006




附录:
M4x4 实现代码

public class JobShop {
public static void main(String[] args) {
int workPieceNumber 4 输入总工件数
int processNumber 4 工件工序数
工件工序数数组表示

double timeij[][] {{4435}{3456}{6244}{4266}}Pij工时
double sumTi[] new double[4] 根timeij确定sumTisumTij
rijsurplusrij四数组长度
double sumTij[][] new double[4][4]
double surplusrij[][] new double[4][4]
double rij[][] new double[4][4]
调度算法计算sumTij
for(int i 0 i < workPieceNumber i++) {
for(int j 0 j < processNumber j++) {
sumTi[i] + timeij[i][j]
for(int k 0 k < j k++) {
sumTij[i][j] + timeij[i][k]
}
}
}

计算剩余加工时间
for(int i 0 i < workPieceNumber i++) {
for(int j 0 j < processNumber j++) {
rij[i][j] sumTij[i][j]sumTi[i]
surplusrij[i][j] 1 rij[i][j]
}
}
台设备加工务表(未排序)
double M01[] {11 14 23 42}
中Mxx代表加工设备ab代表第a工件第b道工序
double M02[] {12 21 32 34}
double M03[] {22 24 31 43}
double M04[] {13 33 41 44}
int a
int b
int c
int d
double temp[] {0}
根初排算法排序M01加工务表
for(int i 0 i < 4 i++) {
a (int)(M01[i]) 1
b (int)(M01[i]*10)10 1
for(int j 0 j < 4 j++) {
c (int)(M01[j]) 1
d (int)(M01[j]*10)10 1
根剩余加工时间排序加工务
if(surplusrij[a][b] > surplusrij[c][d]) {
temp[0] M01[i]
M01[i] M01[j]
M01[j] temp[0]
}

}

}
输出M01加工务结果
Systemoutprint(M01 )
for(int i 0 i < 4 i++) {
Systemoutprint(M01[i] + )
}
Systemoutprintln( )
循环M02M03M04进行排序输出
for(int i 0 i < 4 i++) {
a (int)(M02[i]) 1
b (int)(M02[i]*10)10 1
for(int j 0 j < 4 j++) {
c (int)(M02[j]) 1
d (int)(M02[j]*10)10 1
if(surplusrij[a][b] > surplusrij[c][d]) {
temp[0] M02[i]
M02[i] M02[j]
M02[j] temp[0]
}

}

}

Systemoutprint(M02 )
for(int i 0 i < 4 i++) {
Systemoutprint(M02[i] + )
}
Systemoutprintln( )


for(int i 0 i < 4 i++) {
a (int)(M03[i]) 1
b (int)(M03[i]*10)10 1
for(int j 0 j < 4 j++) {
c (int)(M03[j]) 1
d (int)(M03[j]*10)10 1
if(surplusrij[a][b] > surplusrij[c][d]) {
temp[0] M03[i]
M03[i] M03[j]
M03[j] temp[0]
}

}

}

Systemoutprint(M03 )
for(int i 0 i < 4 i++) {
Systemoutprint(M03[i] + )
}
Systemoutprintln( )



for(int i 0 i < 4 i++) {
a (int)(M04[i]) 1
b (int)(M04[i]*10)10 1
for(int j 0 j < 4 j++) {
c (int)(M04[j]) 1
d (int)(M04[j]*10)10 1
if(surplusrij[a][b] > surplusrij[c][d]) {
temp[0] M04[i]
M04[i] M04[j]
M04[j] temp[0]
}

}

}

Systemoutprint(M04 )
for(int i 0 i < 4 i++) {
Systemoutprint(M04[i] + )
}
Systemoutprintln( )

}
}

华鹰数仿真代码

public class JobShop1 {
public static void main(String[] args) {
int workPieceNumber 8
int processNumber[] {42332323}
double timeij[][] {{91244}{1606}{025025015}{020701}
{0806}{040704}{0703}{21208}}
double sumTi[] new double[8]
double sumTij[][] new double[8][]

for(int i 0 i < processNumberlength i++) {
sumTij[i] new double[processNumber[i]]
}

double surplusrij[][] new double[8][]
for(int i 0 i < processNumberlength i++) {
surplusrij[i] new double[processNumber[i]]
}

double rij[][] new double[8][]
for(int i 0 i < processNumberlength i++) {
rij[i] new double[processNumber[i]]
}

for(int i 0 i < timeijlength i++) {
for(int j 0 j < timeij[i]length j++) {
sumTi[i] + timeij[i][j]
for(int k 0 k < j k++) {
sumTij[i][j] + timeij[i][k]
}
}
}


for(int i 0 i < timeijlength i++) {
for(int j 0 j < timeij[i]length j++) {
rij[i][j] sumTij[i][j]sumTi[i]
surplusrij[i][j] 1 rij[i][j]
}
}


double M01[] {11 21 32 42 51 61 71}
double M02[] {12 33 43 52 63 72 82}
double M03[] {13 22 83}
double M04[] {14 62}
double M05[] {31 41 81}
int a
int b
int c
int d
double temp[] {0}
double temp1[] new double[M01length]

for(int i 0 i < M01length i++) {
a (int)(M01[i]) 1
b (int)(M01[i]*10)10 1
temp1[i] surplusrij[a][b]

}
for(int i 0 i < temp1length i++) {
for(int j i+1 j < temp1length j++) {
if(temp1[j] > temp1[i]) {
temp[0] temp1[i]
temp1[i] temp1[j]
temp1[j] temp[0]
}
}
}

Systemoutprint(M01 )
for(int i 0 i < temp1length i++) {
for(int j 0 j < M01length j++) {
a (int)(M01[j]) 1
b (int)(M01[j]*10)10 1
if(surplusrij[a][b] temp1[i]) {
Systemoutprint(M01[j] + )
}
}
}
Systemoutprintln( )

for(int i 0 i < M02length i++) {
a (int)(M02[i]) 1
b (int)(M02[i]*10)10 1
for(int j 0 j < M02length j++) {
c (int)(M02[j]) 1
d (int)(M02[j]*10)10 1
if(surplusrij[a][b] > surplusrij[c][d]) {
temp[0] M02[i]
M02[i] M02[j]
M02[j] temp[0]
}

}

}
for(int i 0 i < M02length i++) {
a (int)(M02[i]) 1
b (int)(M02[i]*10)10 1
for(int j 0 j < M02length j++) {
c (int)(M02[j]) 1
d (int)(M02[j]*10)10 1
if(surplusrij[a][b] surplusrij[c][d]) {
if(M02[i] < M02[j]) {
temp[0] M02[i]
M02[i] M02[j]
M02[j] temp[0]
}
}
}
}


Systemoutprint(M02 )
for(int i 0 i < M02length i++) {
Systemoutprint(M02[i] + )
}
Systemoutprintln( )

for(int i 0 i < M03length i++) {
a (int)(M03[i]) 1
b (int)(M03[i]*10)10 1
for(int j 0 j < M03length j++) {
c (int)(M03[j]) 1
d (int)(M03[j]*10)10 1
if(surplusrij[a][b] > surplusrij[c][d]) {
temp[0] M03[i]
M03[i] M03[j]
M03[j] temp[0]
}

}

}

Systemoutprint(M03 )
for(int i 0 i < M03length i++) {
Systemoutprint(M03[i] + )
}
Systemoutprintln( )

for(int i 0 i < M04length i++) {
a (int)(M04[i]) 1
b (int)(M04[i]*10)10 1
for(int j 0 j < M04length j++) {
c (int)(M04[j]) 1
d (int)(M04[j]*10)10 1
if(surplusrij[a][b] > surplusrij[c][d]) {
temp[0] M04[i]
M04[i] M04[j]
M04[j] temp[0]
}

}

}

Systemoutprint(M04 )
for(int i 0 i < M04length i++) {
Systemoutprint(M04[i] + )
}
Systemoutprintln( )


for(int i 0 i < M05length i++) {
a (int)(M05[i]) 1
b (int)(M05[i]*10)10 1
for(int j 0 j < M05length j++) {
c (int)(M05[j]) 1
d (int)(M05[j]*10)10 1
if(surplusrij[a][b] > surplusrij[c][d]) {
temp[0] M05[i]
M05[i] M05[j]
M05[j] temp[0]
}

}

}

Systemoutprint(M05 )
for(int i 0 i < M05length i++) {
Systemoutprint(M05[i] + )
}
Systemoutprintln( )

}
}
文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

基于Multi-Agent System预测支持系统

基于Multi-Agent System预测支持系统 数据特征分析Agent设计 国家自然科学基金资助项目(79970038) 刘文财2 刘文财,博士研究生,天津大学管理学院9051,Tel:022-27409862,E-mail:lwc106@263.net。 李英 刘豹 张维 (天津大学系统工程研究所 天津 300072) 摘要 本文从数据

花***鱼 7年前 上传23587   0

基于SpringBoot博客系统的设计与实现

 基于SpringBoot博客系统的设计与实现Design and implementation of blog system based on SpringBoot中文摘要互联网随着社会的进步也渐渐得到普及,给人们带来很多便利,可以提供更多的服务,在互联网还没有发展起来之前,人们需要购买纸质报

平***苏 2年前 上传972   0

基于LabVIEW的数据采集系统设计

基于LabVIEW的数据采集系统设计--图像采集基于LabVIEW的数据采集系统设计 ——图像采集摘 要数字图像处理技术的应用越来越广泛,在国防建设、工农业生产、人们的日常生活中,都用到了数字图像处理技术。图像识别是数字图像处理技术的一个组成部分,在卫星遥感、航拍等领域的应用也比较广泛。本文主要介绍了在LabVIEW软件下,利用摄像头完成图像的采集和处理的虚拟仪器

平***苏 2年前 上传678   0

基于安卓系统的点餐系统毕业设计

 本科毕业论文(设计) 题 目: 基于安卓系统的点餐系统 专 业: 姓 名: 指导教师: 职 称: 答辩日期: 基于安卓系统的点餐系统 摘 要 现如今我们生活在一个信息化的时代,信息数据随处可见。特别是无线数据传输

z***u 5年前 上传1692   0

基于UML的图书管理系统设计课程设计

滨江学院 统一建模语言课程设计报告( 2013 -- 2014 年度第 二 学期)课程名称: 统一建模语言课程设计 题 目: 图书馆管理系统 院 系: 计算机系 班 级: 学 号: 姓 名:

文***品 1年前 上传399   0

通信系统课程设计基于MATLAB的FM通信系统设计

XX大学课 程 设 计 报 告课程名称: 通信系统课程设计 设计名称: 基于MATLAB的FM通信系统设计 姓 名: 学 号: 班 级:

文***享 3年前 上传720   0

基于需求预测的D制造企业物流系统优化研究

本文选取属于电子器件制造行业的小型制造企业D为代表进行研究。针对D公司存在着需求预测系统不完善、库存量过高等问题,作者对D企业的需求管理系统和库存管理策略做出优化方案。

爱***享 3年前 上传599   0

基于需求预测的D制造企业物流系统优化研究

本文选取属于电子器件制造行业的小型制造企业D为代表进行研究。针对D公司存在着需求预测系统不完善、库存量过高等问题,作者对D企业的需求管理系统和库存管理策略做出优化方案。

爱***享 3年前 上传540   0

基于Android的教学课程系统设计与开发

摘 要移动应用已经成为人们生活必不可缺的一部分,大学生身为移动应用的最大用户群体,在生活学习娱乐各个方面都与移动应用有着紧密联系,然而针对大学生校园学习的移动应用却寥寥无几,因为不同的学校,甚至不同的院系,都有着自己独特的情况。该项目借鉴了现有的一些和学习相关的移动应用,结合软件学院的特点,针对软件学院的学生,提供了学生日常学习生活常用的一些功能。主要分为我的课表,我的日程,我的学习

平***苏 3年前 上传612   0

基于opencv的车牌识别系统设计与实现

 基于opencv的车牌识别系统设计与实现 Design and implementation of LPR system based on opencv

平***苏 2年前 上传748   0

基于ARM的智能电子秤系统的设计与实现

随着现代社会的发展,对称重技术提出了更高的要求。目前,台式电子秤在商业贸易中的使用已相当普遍,但是仍存在较大的局限性:体积大、成本高、需要工频交流电源供应、携带不便、应用场所受到制约。现有的便携秤为杆秤或弹簧压缩、拉伸变形来实现计量的弹簧秤,广大居民用户使用的是国家已经明令淘汰的杆秤。

爱***享 3年前 上传1164   0

基于SSH框架的图书管理系统的设计与实现

基于SSH框架的图书管理系统的设计与实现基于SSH框架的图书管理系统摘 要 如今已经我们已经步入了信息时代,而在信息科技快速发展的形势下,网络现已成为我们工作和日常生活中必不可少的一部分。计算机技术的发展不仅提高了我们的工作效率,为日常工作提供了极大的便利,而且还在大大地改善了我们生活质量。通过计算机代替人工来处理数据已经成为趋势。传统的通过人工来管理图书资源和读者借阅信息

平***苏 2年前 上传759   0

基于web学生成绩管理系统设计与实现

随着计算机技术在各行各业的广泛应用,将计算机技术应用到学校中去,将大大提高学校管理的效率。学生成绩管理系统将在提高学校管理效率中发挥重要作用。

平***苏 3年前 上传948   0

基于JavaWeb的图书管理系统的设计与实现

有效的处理想要的相关信息和如何传播有效的信息,一直是人类不断探索的动力。信息管理运用各种载体,传播通过各种介质,一直伴随着人类文明的发展史。随着互联网的到来,信息传播与管理都上升了一个新的台阶,并且方便应用的同时也要考虑信息传播的安全性,所以编程语言创建之初就考虑了这些问题。

爱***享 3年前 上传1141   0

基于FPGA的温度检测系统设计

XX学院信息工程学院数字系统与Verilog设计报告题 目: 基于FPGA的温度检测系统设计 姓 名: 学 号: 指导老师: 2014摘 要 本文利用数字温度传感器DS18B20的数据接口和特点,阐述了一种基于现场可编程门阵列( FPG

文***享 3年前 上传610   0

基于图像识别的智能小车系统设计

第1章 绪论1.1 课题背景目前,在企业生产技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。世界上许多国家都在积极进行智能车辆的研究和开发设计。智能车辆也叫无人车辆,是一个集环境感知、规划决策和多等级辅助驾驶等功能于一体的综合系统。它具有道路障碍自动识别、自动报警、自动制动、自动保持安全距离、车速和

平***苏 8个月前 上传245   0

基于SSM的图书管理系统设计与实现

随着时代的进步和科技的发展,更多的人通过图书馆借阅书籍来吸收知识,而传统的图书管理方式存在着许多不方便的地方,记录易丢失,所以开发一个易操作,高便捷性并且能够提升工作效率的图书管理系统是很有必要的。

爱***享 3年前 上传1650   0

基于JAVA WEB的考勤系统设计与实现

基于 JAVA WEB 的考勤系统设计和实现Design and Implementation of Attendance System Based on JAVA WEB摘要科技的发展,带动一系列产业的升级和创新;网络技术的不断更新迭代,冲击着人们的日常生活状态。人们越来越想更方便记录自身企业的考勤情况。但企业部门的多样化,给人们在传统考勤统计中带来了很大

平***苏 11个月前 上传365   0

基于android的物业管理系统的设计与实现19.8

 目录基于android的物业管理系统的设计与实现 3摘 要 3Android property managemengt system 5Abstract 51 绪论 61.1 选题背景 61.2 课题研究现状 61.3 设计研究主要内容 71.4 系统主要设计思想 82 开发环境 82.1 Android系统的结构 8图2-1 Android系统架构图 92.2

平***苏 3年前 上传810   0

基于Java的网上购物系统的设计与实现

 XX 学 院 本科毕业论文(设计) 题 目 基于JAVA的网上购物 系统的设计与实现 院 系 计算机科学与技术 专 业_ 计算机科学与技术 (网络工程方向) 姓 名 学 号 学习年限20XX年9月至20XX年7月 指导教师

文***品 5年前 上传2592   0

基于JSP的网上书店推荐系统设计与实现

本系统旨在设计一个网上的书店和书籍相关信息的服务网站,网站的基本运作流程如下:

爱***享 3年前 上传574   0

基于Java的图书馆座位管理系统的设计与实现

目前,如何利用计算机系统来对座位进行管理是解决占座问题的关键。该图书馆座位管理系统是基于Java架构,采用Eclipse开发工具,使用SSM等前端开源框架,以MySQL为后台数据库,Tomcat服务器下设计与实现。主要功能包括:管理员登录、学生登陆、用户更改密码、管理员管理、管理员对学生管理、管理员对图书管理、学生借书、学生座位预约。

王***朝 3年前 上传1853   0

基于PLC的温室控制系统的设计

基于PLC的温室控制系统的设计摘 要随着人们生活水平的提高,由温室大棚种植的反季节蔬菜成为人们越来越离不开的食物,所以温室大棚技术越来越重要,而温度控制是最为重要的一环。考虑到PLC具有灵活性、操作简单等优点,所以设计出了基于PLC的温度控制系统。该论文介绍了温室控制系统的构成,包括信息采集部分、智能控制部分以及最后的执行部分。由于温度的变化因素很多,包括光照、湿度、通风等因素,所以

文***品 3年前 上传838   0

基于SpringBoot的新闻发布与管理系统的设计与实现

 基于SpringBoot的新闻发布与管理系统的设计与实现 Design and implementation of news release and management system based on springboot

平***苏 2年前 上传806   0

基于PLC的自动浇灌系统设计专科

职业技术学院题目基于PLC的自动浇灌系统设计系名称电气工程系专业及班级机电班学生姓名学号指导教师摘 要随着数字化的快速发展,越来越多的数字化和信息化手段应用到了各个领域之中。传统的浇灌方式灌水量多、耗水量大,不能适时适量的浇灌,造成了水资源的极大浪费,与我国建设节约型社会的发展战略极不协调。传统浇灌设备大多采用继电器控制,调试与维护苦难,灵敏

文***品 6个月前 上传212   0