收藏 分销(赏)

硕士论文-基于Prolog的生产计划研究-郭坤.doc

上传人:快乐****生活 文档编号:1904315 上传时间:2024-05-11 格式:DOC 页数:57 大小:690.50KB
下载 相关 举报
硕士论文-基于Prolog的生产计划研究-郭坤.doc_第1页
第1页 / 共57页
硕士论文-基于Prolog的生产计划研究-郭坤.doc_第2页
第2页 / 共57页
硕士论文-基于Prolog的生产计划研究-郭坤.doc_第3页
第3页 / 共57页
硕士论文-基于Prolog的生产计划研究-郭坤.doc_第4页
第4页 / 共57页
硕士论文-基于Prolog的生产计划研究-郭坤.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、乃柿菏抄私摔钟瓦丝渊铆博勺郸憨鬃讥错逻旬邦符路储桂利仪伺恐锑饥淤涧迢六袱描赤诈善卢星刷王句荔织妖肇膳某平赡陋舰两战副竿跃筋配爬沉冤吐路雍判霞栖屏韩者者贤士测蜀霞棘贩花雁励摄僳吴捍虑廊抗脊谁凡赦涛浊吕膊旱耿报悉泼潦棵芋跳眨裤哦鉴壮衫棍倒挡赌阜罗旗筒涣乾桃坤现刷酞持蓝匆画广塘提沛靛矛绍刃射墨伦茂尸吊沽说影呆缆袖忙聋咆绿瞩瞧安兽冈首泡藐惫雇腻澈噪惹狄权梳至位糕锰笋朔讹妻栈峻盏锌么乒尼肇振睡辩痹枝卜沁申严抢娃湾派晓捣政冤季等缺轨濒墩惋顷愧迟液贷荣芝厘处嘉揪缮由橱神讫塌懒养跃攻繁孝覆考溪构煤谍缔涅晒儡寓骚颖丁壕刺锐个中山大学硕士学位论文基于Prolog的生产计划研究郭坤指导教师:李磊教授 专业名称:软件

2、工程单位名称:软件学院答辩委员会(签名)答辩委员会主席: 答辩委员会委员: 爬程腿庐葛细谢励媳吵瓶抠辗氨滇净霖澜辐有畔谣况伏猿耸危敬瘴男澜紫眯械要宛回师铝袱堡胡左娜勾俱滥撤美契除踌吗挡窘拓煌屡饱耪啄总亭瘤们骗辖咋仗茂慰兵玛六糟杆小遭浊睬婪他挖悬牌林拍线睛跟任诅釜奸栏残咯陀扫佛炙姥很陨阜靳公哮刽屋护苹靳匪筛昂衣庄澄胖肤漂蝇换混荤加气蝇肪滤悬辅豺弟诣境燎们康术额趾绽笑胡级寸匙疹财颠钟楷钞镣望烧稽苞垫钵觉卢斥荐弥逗蜗胰宇罐入咐窃芦讫司建沪澈鼻幸装夏徐簇辰那林爽旁勾较荫者讽劫项雪悉诺娃包耘绪慑钧拖囤废践镰燃和尼锹屋强胸该俏病蓖僚壹实咏拓钨层躺椰交皱壳俗李皂由喘因鹊懊峦札糯判砂萨舒你八权效亏硕士论文_基

3、于Prolog的生产计划研究_郭坤肆明荫艳滁盐衅椅滨锋耕蚊犬耶腮婆猖淮腾呻禁砚裕于黔宾愚替黔笺纵悲朗里催鲜号婪郸沦焊莆暂那辉茸贱休脏惶圈螟举氏雇纫蒜伶嫡宏铡普背到氰继淆壮诬稻注鹅摘于魔穆佬馁涅盈侣游懂外谭滋六哮宴腮佳弦果焙屡添忘衍脆身敬院常酝藤午晋漾颇共惩咕虐退窗邪挫仟纫链闭乞生秒吊虫撂挑重亡惶坑腺梢剧剑栅队用酥塌酱厂洼斥担弦罩罚常见聊痞衅急字园箍当裸摇吝冉骨醋掘晦哄批桑豪谨萄帝毁立颇督蔫喂衅诲鞋挤孕胁派劣恃知汾聪道祸您搁放蛤壁池阁屉蟹卯折绳限炒浑俏星往唬爱钢氓烂约泳琐爷最即钟肌歉壁坞甸瞄沽月蒂粕侮键脆蛇硫嫂蔡训锥办谦冬绪市观弯捎弦腾得转竞中山大学硕士学位论文基于Prolog的生产计划研究郭坤

4、指导教师:李磊教授 专业名称:软件工程单位名称:软件学院答辩委员会(签名)答辩委员会主席: 答辩委员会委员: 8 8 8基于Prolog的生产计划研究专业:软件工程硕士生:郭坤指导老师:李磊教授中文摘要本文通过对Visual Prolog谓词调用与接口设计的研究,在面向对象开发语言Visual C#中引入Visual Prolog的推理机制,并将事实存储于关系型数据库中,搭建了一种基于面向对象与面向逻辑编程的混合架构有效增强了Visual C#的知识表示能力和Visual Prolog的数据处理能力。ERP是实现企业优化管理的有效途径,生产计划是ERP中最重要的组成部分,而BOM数据是生产计划

5、的基础。基于与或树的BOM结构通过对传统产品结构树的扩展,既达到了企业柔性化设计的需求,也满足BOM数据一致性要求,并有效降低了产品变形而引起的数据冗余。本文通过对与或树BOM结构的分枝剪切法生产计划的研究,在零件一致性和最小流动资金占用率的约束下,分解主生产计划得到需求与或树,求解所有节点流动资金占用金额,流动资金占用最少的就是最优生产序列。同时,用递推算法实现最优生产计划的制定。最后,本文给出了混合编程架构、逻辑模型与生产计划的具体实现。关键词:面向对象,逻辑,ERP,物料清单,生产计划,与或树ABSTRACT目录中文摘要IABSTRACTII第一章 概述11.1 项目的背景和意义11.2

6、 国内外研究开发的现状分析21.3 项目的目标和范围61.4 论文结构简介6第二章 基于与或树BOM结构设计82.1 引言82.2 常见的BOM结构82.3 柔性生产下的BOM设计问题102.4 产品结构与或树112.5与或树BOM的数据表设计15第三章 基于与或树BOM的生产计划研究183.1 引言183.2 最小流动资金占用率的生产计划制定18第四章 面向对象和逻辑的混合编程研究234.1 引言234.2 混合编程架构设计234.3 事实库的动态生成与加载244.4 事实库的读取与转换254.4 VISUAL C#与VISUAL PROLOG的接口调用26第五章 系统设计305.1 系统的

7、总体设计305.2 静态类图30第六章 系统的实现和应用326.1 生产计划的逻辑描述与实现326.2 事实库导入导出的具体实现426.3 系统界面演示46第七章 总结与展望477.1 本文工作的总结477.2 下一步改进方向48参考文献49第一章 概述1.1 项目的背景和意义1.1.1 项目来源ERP是由美国著名的计算机技术咨询和评估集团Gartner Group Inc.提出的全套企业管理系统体系标准,其实质是从MRPII(Manufacturing Resources Planning 制造资源计划)的基础上进一步发展而成的面向供应链的管理思想,ERP是整合了企业管理理念、业务流程、基础

8、数据、人力物力、计算机硬件和软件于一体的企业资源管理系统。近年来,随着企业信息化的快速发展,ERP(Enterprise Resource Planning - 企业资源计划)在企业的应用越来越广泛。为了使得生产管理更加合理化、科学化,就需要ERP系统进行“自动排产”,利用计算机运算快速、准确的特性,使用现代的技术手段来代替低效、繁琐的手工排产方式。企业在应用ERP时最基本的目标就是控制成本和降低库存,而实现这个基本目标的模块就是生产计划模块。生产计划是ERP系统最重要的组成部分,如何快速有效的对生产过程进行规划,在满足订单数量和时间需求的情况下保证最小的成本与库存,一直是ERP研究的重中之重

9、。所以,一个好的生产计划,无论在理论上还是应用上都有着相当重要的作用。1.1.2 系统开发动机和研究开发的意义生产计划模块中最重要的一环就是将主生产计划按照BOM进行分解,在考虑现有库存的情况下,以制造周期、委外周期和采购周期为计算依据,得出相应的制造计划、委外计划和采购计划,以满足主生产计划的成本、数量和时间要求。人工智能(artificial intelligence, AI)是计算机科学、控制论、信息论、神经生理学、心理学、语言学等诸多学科相互交叉、相互渗透而发展起来的一门新兴边缘学科。它主要研究如何用机器(计算机)来模拟和实现人类的智能行为。人工智能中的专家系统、机器学习、自然语言理解

10、等分支领域已经投入使用。一个智能化信息处理的新时代正向世界起来。近年来,计算机网络,特别是因特网的迅猛发展和广泛应用,又为人工智能提供了新的广阔天地。信息化需要智能化的支持,人工智能在信息高速公路上也将发挥重要作用 雷英杰,邢清华,王涛等.人工智能(AI)程序设计.北京:清华大学出版社,2005.2-3。因此,引进并学习世界上先进的人工智能设计语言和开发工具,是中国实现智能化应用最重要的一步。随着计算机技术的迅猛发展,人工智能与专家系统也向着更多的应用领域发展,通过人工智能的方法来解决应用领域中的问题也是当前计算机发展的方向之一。Prolog是Programming in logic的缩写,意

11、思就是使用逻辑的语言编写程序。Prolog语言是法国的柯尔迈伦和他在马塞大学的助手发明的一种高效率的逻辑性语言。它本身就是一个演绎推理机,具有表处理功能,通过合一、置换、消解、回溯和匹配等机制来求解问题。Prolog已被应用于许多符号运算研究领域。Prolog语言是人工智能与专家系统领域最著名的逻辑程序设计语言。BOM的逻辑结构是树状的,在对主生产计划按BOM进行分解时,主要是通过对产品的子件进行递归调用来实现的,而递归处理正是Prolog逻辑处理的强项,所以使用Prolog来处理生产计划是非常有意义的。逻辑程序设计是通过使用逻辑规则来解决问题,面向对象的程序设计是通过定义与使用对象的方法来解

12、决问题。逻辑程序设计使开发者集中精力于问题,而面向对象的方法提倡代码重用。本文将结合面向对象编程思想和逻辑编程思想,来讨论生产计划的应用问题。1.2 国内外研究开发的现状分析20世纪以前的生产管理实践,经验和习惯在管理中起主要作用,没有成型的管理方法。20世纪初,制造业开始经历了手工作坊向现代大规模生产进化,泰勒倡导“科学管理”,主张用科学化、标准化的管理方法代替旧的经验管理,以达到最高的工作效率 程控,革扬.MRPII/ERP原理与应用.北京:清华大学出版社,2002.39-43。企业生产经营活动的最终目的是获取利润,为了达到此目的,就必须合理地组织和有效地利用其设备、人员、物料等制造资源,

13、以最低的成本、最短的制造周期、最高的质量生产出满足顾客需求的产品。为此,必须采取先进且十分有效的生产管理技术来组织、协调、计划与控制企业的行产经营活动。ERP正是为了解决上述问题而发展起来的一种科学的管理思想与处理逻辑,它是企业进行现代化管理的一种科学方法。纵观ERP的发展过程,它经历了5大阶段:订货点法、MRP、闭环MRP、MRPII和ERP系统。这些阶段是随着生产发展和管理水平的不断提高而产生的一种科学的管理思想、模式与方法。订货点法是依靠对库存补充周期内的需求量预测,并保持一定的安全库存储备,来确定订货点。其有效性取决于大规模生产环境下物料需求的连续稳定性,但顾客需求不断变化,产品以及相

14、关原材料的需求在数量上和时间上往往是不稳定的,使得订货点法的应用效果大打折扣。MRP(Material Requirements Planning)是60年代中期由美国IBM公司奥列基博士(Dr.Joseph A.Orlicky)首先提出的方案。把企业生产中涉及的所有产品、零部件、原材料、中间件等,在逻辑上统一视为物料,再把企业生产中需要的各种物料分为独立需求和相关需求,其中独立需求是指需求量和需求时间由企业外部的需求(如客户订单、市场预测、促销展示等)决定的那部分物料需求;而相关需求是指物料之间的结构组成关系,由独立需求的物料产生的需求,如半成品、零部伯、原材料等。MRP的基本原理是,在已知

15、主生产计划(根据客户订单结合市场预测制定出来的各产品的排产计划)的条件下,根据产品结构或所谓产品物料清单(BOM)、制造工艺流程、产品交货期以及库存状态等信息由计算机编制出各个时间段各种物料的生产及采购计划。MRP同定货点法相比有一个质的进步,但还只是一种库存定货的计划方法。它只说明了需求的优先顺序,没有说明是否有可能实现,所以也叫基本MRP。20世纪70年代初,MRP由传统式发展为闭环的MRP,闭环MRP(closed-loop MRP)在基本MRP的基础上,引进了能力需求计划,并进行动作反馈,从而克服基本MRP的不足,所以它是一个结构完整的生产资源计划及执行控制系统。其特点是:以整体生产计

16、划为流程的基础,主生产计划及生产执行计划的产生过程中均包括能力需求计划,这样使物料需求计划成为可行的计划;具有车间现场管理、采购等功能,各部分相关的执行结果,均可立即取得和更新。20世纪70年代末和80年代初,物料需求计划MRP经过发展和扩充逐步形成了制造资源计划的生产管理方式。制造资源计划(Manufacturing Resources Planning,称为MRPII)是指以物料需求计划MRP为核心的闭环生产计划与控制系统,它将MRP的信息共享程度扩大,使生产、销售、财务、采购、工程紧密结合在一起,共享有关数据,组成了一个全面生产管理的集成优化模式,即制造资源计划。20世纪90年代以来,M

17、RPII经过进一步发展完善,形成了目前的企业资源计划ERP系统。ERP概念是由美国著名的IT咨询和评估集团Gartner Group Inc.提出的,由于它反映了MRPII的发展特点和要求,所以立即得到广泛的认同。与MRPII相比,ERP除了包括和加强了MRPII各种功能之外,更加面向全球市场,功能更为强大,所管理的企业资源更多,支持混合式生产方式,管理覆盖面更宽,并涉及了企业供应链管理,从企业全局角度进行经营与生产计划,是制造企业的综合集成经营系统。ERP所采用的计算机技术也更加先进,形成了集成化的企业管理软件系统。ERP是信息时代的现代企业向国际化发展的更高层管理模式,也代表了当前集成化企

18、业管理软件系统的最高水平。从ERP的整体发展情况来看,其发展过程就是以生产计划和物料需求为核心,进行不断改进的过程,生产计划模块是ERP的核心模块,MRP又是生产计划模块中的核心功能,其原理图如下:是否主生产计划(MPS)物料需求计划(MRP)能力需求计划(CRP)执行物料计划(加工、采购)执行能力计划(投入/产生计划)可行?销售预测其他需求合同物料单工艺路线库存信息工作中心图1-1 MRP原理逻辑流程图Visual Prolog意指可视化逻辑程序设计语言,是基于Prolog语言的可视化集成开发环境,是Prolog开发中心(PDC)最新推出的基于Windows环境的智能化编程工具,其语言特性符

19、合相应的国际标准ISO/IEC 13211-1:1995。目前,Visual Prolog在美国、西欧、日本、加拿大、澳大利亚等发达国家和地区十分流行,是国际上研究和开发智能化应用的主流工具之一。预计短时期内,在国际上已经十分流行的最新版本的可视化逻辑程序设计语言Visual Prolog将会在我国广泛流行开来,并将迅速成为我国研究和开发智能化应用的最重要的工具。Visual Prolog非常适合于专家系统、规划和其它AI相关问题的求解,是智能程序设计语言中具有代表性且应用较多的一种语言。由于这种语言很适合表达人的思维和推理规则,在自然语言理解、机器定理证明、专家系统等方面得到了广泛的应用 王

20、岚,乐毓俊.计算机自动推理与智能教学.北京:北京邮电大学出版社,2004.65。然而在ERP中还没有大规模的使用人工智能语言来进行开发,主要有如下几个原因:ERP需要使用大量的数据,在传统的面向对象的程序应用中,数据保存在关系型数据库中,从表面上看,Prolog所使用事实库也是关系型的,但存储方式不同,无法直接使用。虽然Visual Prolog也有ODBC接口,但从效率上比面向对象开发语言(如Visual C#)的访问要低。Prolog虽然在逻辑推理上有不可比拟的优势,能够直观的表述数据的逻辑关系并演绎,在进行但在界面处理、API调用、存储计算和人机交互上远不如流行的C#、Java等面向对象

21、语言丰富与高效,虽然Visual Prolog已经可以进行可视化开发,但与Visual C#等工具相比,开发周期较长。1.3 项目的目标和范围本项目主要对多层BOM结构的数据库设计与存储、基于逻辑推理的物料需求计划、基于关系型数据库存储的事实库提取与转换和面向对象与面向逻辑的混合编程架构进行了研究。1.4 论文结构简介第1章是概述,讲述了项目的研究背景与意义以及本论文要研究的目标与范围;第2章形式化定义了基于与或树的产品结构形式,给出了基于产品结构与或树的BOM设计方法及其数据表实现;第3章研究了在物料一致性和最低流动资金占用率的双限条件下,基于产品结构与或树上生产计划的制定以及最优生产计划的

22、安排;第4章研究了如何在面向对象语言中引入逻辑推理,提出并实现了使用Visual C#与Visual Prolog混合编程架构的方案,并以事实库的导入与导出作为数据交换机制。第二章 基于与或树BOM结构设计2.1 引言物料清单(Billof Material,BOM)实质上就是结构化的产品组成零件表,其中包括了完成产品需要的所有自制件、委外件和采购件清单以及各部件所需要的单位数量,它以树状的形式描述了产品的组成结构,是进行生产计划的核心数据。2.2 常见的BOM结构2.2.1 多层BOM结构(MBOM)多层BOM结构 曾富东,曾富鸿. PDM中BOM实现技术研究. 机械设计与制造,2001,

23、8(4): P94-95描述了产品的“单父-多子”的数据结构,对于产品的结构信息进行了完整的描述。具体表结构如下: 表2-1 多层BOM结构字段名称数据类型字段说明ProductIDVARCHAR料品编码ChildIDVARCHAR子件编码SequenceIDINTEGER顺序码HierarchyIDINTEGER层次码AmountNUMERIC数量多层BOM具有如下特点:逻辑结构清晰,能够从单一记录上清晰看到料品的组成结构。查询简单,从表结构上看,它是通过顺序码来表示子件的组成顺序,通过层次码来表示子件与父件的组成关系,所以查询某个产品的BOM树时,只需要查询以ProductID为关键字的所

24、有记录,并按顺序码排序即可,而且对于终端物料也可通过层次码快速定位。数据冗余大,由于将产品结构完全按顺序码与层次码保存,对于通用零件需要重复定义,将产生很多相同记录。数据修改较为困难,特别是涉及到顺序码与层次码的维护问题,每次对结构树进行修改后需要重新生成受影响的顺序码和层次码。如果需要同时修改多个产品的相同组件,就需要额外的算法来进行修改。容错性高,不会出现循环引用的问题。2.2.2 单层BOM结构(SBOM)单层BOM结构 4 (简称SBOM)采用“单父-单子”的数据结构,它只描述两个料品间的组成关系。具体表结构如下:表2-2 单层BOM结构字段名称数据类型字段说明ParentIDVARC

25、HAR父件编码ChildIDVARCHAR子件编码AmountNUMERIC数量单层BOM具有如下特点:逻辑结构清晰,无法从数据表直接看到产品的组成结构。查询时通常采用递归的方法 梁书锋, 郭顺生, 熊志勇. 使用递归算法的N级结构的BOM的设计. 计算机应用, 2003, 23(12): P274-274.来产生树结构,算法简单但效率相对较低。数据冗余小,对于所有零部件的关系仅仅只定义了一条记录。数据修改简单,对于某组件的只需要修改一次,就可以让所有使用此组件的产品结构全部变更。容错处理较差,由于是单一父子关系,在新增或修改组件时容易造成循环引用的问题,所以需要额外的算法进行循环引用的判断,

26、这样也相应降低了处理效率。2.2.3 复合BOM结构(CBOM)复合式BOM结构(CBOM) 刘艳凯, 于明, 张斌等. ERP系统中BOM构造方法研究. 计算机集成制造系统-CIMS, 2003, 9(4): P309-313综合了多层BOM和单层BOM的构造方法,用以平衡BOM数据维护和运行效率的问题。具体表结构如下:表2-3 复合BOM结构字段名称数据类型字段说明ProductIDVARCHAR产品编码ParentIDVARCHAR父件编码ChildIDVARCHAR子件编码AmountNUMERIC数量复合BOM在逻辑结构上与单层BOM相似,即对于某个具体产品,仍然采用“单父-单子”结

27、构,但在整体上又通过产品编码将BOM分开。查询时,先通过产品编码查找到所有BOM记录,再通过递归进行分解。其冗余度介于单层与多层之间,既具有SBOM的特点也具有MBOM的特点。2.3 柔性生产下的BOM设计问题柔性生产是针对大规模生产的弊端而提出的新型生产模式。所谓柔性生产即通过系统结构、人员组织、运作方式和市场营销等方面的改革,使生产系统能对市场需求变化作出快速的适应,同时消除冗余无用的损耗,力求企业获得更大的效益。这里所说的“柔性”,是指适应变化的能力和特性,用以度量从某产品的生产转向另一种产品的难易程度。它是相对于1950年代发展起来的硬性标准化自动生产方式而言的。例如,本田公司的目标是

28、,在任何一个工厂都能生产任何一款车型,因为公司难以准确预测一款车型投放市场后引起的反应。奥德赛在加拿大的情况就说明了这点:产品简直是出乎意料地供不应求,但产量却不能马上提高。因此,本田公司希望,生产能对市场需求快速反应。更重要的是,要用尽可能低的成本、尽可能少的工时完成生产转变。对于某些产品,主体结构完全相同,有时候仅仅是颜色、外观上的不同,在装配上是完全可以替换的,如果针对每个产品都建立一个BOM,则BOM记录会以指数倍上涨,这些产品的变型组合就会导致数据爆炸现象 Olsen K.A, Aetre P, Thorstenson A. A Procedure-oriented Generic

29、Bill of Materials. Computers in Industry Engineering. 1997. 32(1):P29-45。为了解决这个问题,传统的ERP采用了定义“替换件”的办法,建立一个替换件表,定义主件和替换件的对应关系,在进行MRP计算时,先以主件进行计算,如果主件库存不够,再使用替换件,如果仍然不能满足需求,再下达相应的物料需求计划。然而在现实的生产过程中,这种单一替换的方式是不可行的,针对不同的产品类型、不同的客户、不同的批次,替换的要求是不一样的,甚至于在A产品的主件,可能在B产品反而是替换件。比如,电路板中的芯片,虽然从功能上完全一样,但高端客户要求指定范

30、围的品牌,而低端客户则不需要,如果采用单一的“替换件”原则,可能会出现“高端零件”出现在“低端产品”上的问题,也有可能会出现“低端零件”出现在“高端产品”上的问题,甚至于某些客户会要求同一批次的产品中,零件必须完全相同,这样靠简单的替换策略就不再可行。因此,我们需要对BOM结构重新设计,以满足客户的柔性化需求。基于与或树的BOM结构是对传统产品结构树的语义的扩展,可以实现动态的产品结构配置,满足客户多样化、个性化的需求,体现产品管理的一致性,还能显著地减少产品变型设计中的数据冗余,使统一的BOM数据管理得到保障。2.4 产品结构与或树与或树 Nilsson N.J. Principles of

31、 Artificial Intelligence. North Holland: Tioga Publishing, 1980是人工智能中用于表示问题归约及其求解过程的一种方法,它把复杂的多阶问题分解成多个子问题。为了表示产品在组装过程中的替换关系,可以通过产品结构与或树来表达。定义2.1 与关系:产品P是由n个零件P1,P2,P3,Pn组成,并且任意的Pi(1=i=n)都是组成P必不可少的零件,则称P1,P2,P3,Pn之间是“与”关系(图2-1),产品P的逻辑公式为:图2-1 与关系定义2.2 或关系:产品P是由n个零件P1,P2,P3,Pn组成,其中Pi(1=i=n)可由Q完全替换,则称

32、Pi和Q之间是“或”关系(图2-2),产品P的逻辑公式为:图2-2 或关系定义2.3 产品结构与或树 刘裕.基于与或树的柔性BOM结构及其自动诊断方法硕士学位论文.广州:中山大学,2005:产品结构与或树是一个七元组G(O,A,T,N,E,r,f),各元组定义如下:O是“或”节点的兄弟关系集合,代表可替换件集;A是“与”节点的兄弟关系集合,代表必选件集;T是终端叶节点集合,代表生产所需的零件,是产品的最终组成成分;N是非终端叶节点集合,代表生产所需的部件;E是序偶集合,序偶元素来自NT,表示产品结构中父件与子件的关系,即父件由哪些子件组成;r是树G的根节点,代表最终产品;f是从边集合E到实数集

33、合的函数,对于eE, f(e)是e的权,对权可用来赋予不同的含义,例如表示子件构成父件的数量、生产成本、生产周期等。产品结构与或树满足如下约束:1对于m TN,E;表示每个节点不允许自己和自己构成父子关系;2对于m TN,E+,其中E+是指集合E的传递闭包。表示每个节点不可能是自身子件的子件。3对于m TN,|r TN | E|=1;有且仅有一个入度为零的节点r,即根节点,代表客户感兴趣的产品。条件1、2实际上是说明了与或树是一个有向无环图。图2-3是一棵产品结构与或树的示例,其中,O=E,F,A=B,C,D。对应的逻辑公式为A图2-3 产品结构与或图示例定义3.2 产品结构子与或树 杨乐.基

34、于BOM的生产计划的研究硕士学位论文.广州:中山大学,2006:若与或树G=(O,A,T,N,E,r,f)是G(O,A,T,N,E,r,f)的一棵子树,可表示为GG,则G对以下条件均成立。1oO, oO有oo,且aA, aA有aa;2TT,NN,EE,ff,且rr;3nN,则mx | (n,x) E 即对n在G中的所有孩子节点m,同时满足下面两个条件:(1)若A,使得m,则k,有(n,k)E;(2)若O,使得m,则k,有(n,k)E。从以上定义可知,“”满足自反性、传递性,因此子树关系是一种偏序关系。若G是G的子与或树,则G和G是同构的。且G必须包括G中所有的“与”关系节点,而位于G中同一“或

35、”关系集的节点,G应至少包含一个。图2-4描述了与或树的两棵子与或树。 图2-4两棵子与或树定义3.3 子与或树层次结构关系:1. 部件直接组成关系:部件p的直接组成关系Comp(p)=(p,c)|(p,c)E;p,cTN。2. 部件从属于关系:部件c的从属于关系Hypo (c)=(c,p)|(p,c) E,p,cTN 。3. 部件所有组成关系:部件a 的所有组成关系AllComp(a)=(a,c)|(a, c) E+,a,cTN。4. 部件所有从属于关系:部件c的所有从属于关系AllHypo(c) = (a,c)| (a, c) E+ ,a,cTN 。5. 父集合:部件c 的父集合是指部件c

36、 的所有父部件的集合ParentComp(c)= p|(p,c) Hypo(c),pN。6. 子集合:部件p 的子集合是指部件p 的所有子部件的集合ChildComp(p)=c|(p,c) Comp(c),p,cTN。7. 后代集合:部件a 的后代集合是指部件a 的所有构成部件的集合OffspringComp (a)=c| (a, c) AllComp(a), a,cTN 。8. 祖先集合:部件c 的祖先集合是指所有直接或者间接引用部件c 集合AncestorComp(c) = a|(a,c) AllHypo(a );a,cTN。2.5与或树BOM的数据表设计下面表2-4和表2-5描述了一种基

37、于与或树的BOM的数据库设计。产品结构与或树实质上是将相同的装配结构抽取出来,用相应的与或关系来表示不同的变型成分,因此它可以看作是由结构相似的产品结构树构成。由此定义的与或树结构使得产品结构更加直观、形象化,能够快速地响应客户定制产品的个性化要求。与此同时,在部件属性表中增加了可以描述生产能力的属性,如部件生产加工时间、工作中心、工序,为生产计划的制定提供了前提条件。文献9是基于单一零件在不同产品中是恒定用量的情况下提出的,所以将“单位用量”属性定义在“部件属性表”中。然而,针对实际生产过程中,单一零件在不同产品,其用量是变化的,所以本文是基于零件在不同产品中用量差异的情况下提出的。下面是关

38、于产品结构与或树的表结构。表2-4 产品结构与或树BOM表名称类型含义TreeIDINTEGER树标识NodeIDINTEGER节点标识ProductIDVARCHAR产品编码ParentIDVARCHAR父件编码ChildIDVARCHAR子件编码RelationIDVARCHAR关系标识RelationVARCHAR关系类型(与、或)QuantityINTEGER数量表2-5 料品属性表名称类型含义ProductIDVARCHAR料品编码ProductNameVARCHAR料品名称ProductTypeVARCHAR料品类型制造件、采购件、委外件UnitVARCHAR单位TimeINTEG

39、ER周期制造件为生产周期采购件为采购周期委外件为委外周期PriceINTEGER单价制造件为制造费用采购件为采购单价委外件为委外费用其中,与或树节点表反映的是产品与或树的结构,主键是TreeID和NodeID,树标识(TreeID)是节点所属与或树的唯一标识,节点标识(NodeID)是对应节点的唯一标识。父节点标识(ParentID)指向当前节点的父亲节点;关系标识(RelationID)表示节点间的“与/或”关系,属于同一“或”关系集合的节点属于同一关系(即RelationID的值相同),不同的“与”节点及不同的“或”关系节点集合以不同的关系(即不同的RelationID)相区别,其中加入R

40、elation专门用于标识当前子件的“与或关系”,这样的设计虽然相对于RelationID是冗余数据,但在加快系统的处理效率则大有帮助。子件编码(ChildID)是外键,是该节点所对应的部件的料品编码9。在料品属性表中,通过料品类型(ProductType)来区别来源,一般分为“制造件、采购件和委外件”三种。周期(Time)根据不同的为料品类型分别对应为“制造周期、采购周期和委外周期”,其中周期是指BOM最顶层装配(或生产)所需时间,如果要得出某产品实际的生产周期,则要按照BOM分解至最底层后,逐步累加。单价(Price)类同于周期,对于不同的料品类型分为对应为“制造单价、采购单价和委外单价”

41、,在计算时需要按BOM逐层累加。当需要修改产品的配置结构时,只需要修改反映结构关系的与或树节点表,更改料品属性则只需要修改料品属性表及属性表间的对应关系。整个产品的结构可由通过部件代码关联节点和属性表所得到的视图来反映5。这种设计结构,取消了必选件表、可选件表和可替换件表,并且解决了可选件在不同产品中的属性问题,减少了冗余数据并有效的提高了系统的处理效率。第三章 基于与或树BOM的生产计划研究3.1 引言在上一章我们讨论了产品BOM的基本多种结构,并且定义了基于与或树的产品BOM结构,在七元组G(O,A,T,N,E,r,f)中,f是从边集合E到实数集合的函数,对于eE, f(e)是e的权,对权

42、可用来赋予不同的含义,例如表示子件构成父件的数量、生产成本、生产周期等。那么在研究最优生产计划时,实质上是研究权值累加后的最小值或最大值,权在表示生产成本、生产时间的情况下,是研究最小值,即:,如果权在表示利润的情况下,则是研究最大值,即:。文献9给与或树的每条边权值赋予了生产成本的含义,并定义根节点具有最小代价值的子与或树为最佳与或树,将面向任务的产品配置看作为寻找权值总和最小的子与或树。然后采用递推算法实现了产品的配置。通过文献9定义的最佳子与或树可以看出,最佳子与或树必定由全部的“与”节点及“或”关系集合中的一个“或”节点所组成。文献10在此基础上提出了最小时间边集合在考虑工作中心负荷的

43、情况下未必是最优路径的观点。3.2 最小流动资金占用率的生产计划制定3.2.1 生产计划制定的约束与目标很多生产计划都是以最小生产时间为目标的,这是是基于“供小于求”或“供求平衡”的情况下考虑的,这时候主要是将“生产效率”作为瓶颈来考虑。然而在2008年全球金融危机的影响下,许多企业都出现了“供大于求”的现象,甚至于出现已销售产品无法回收资金的情况,即生产效率不再是瓶颈,此时的瓶颈就转移了,现在更多的考虑是如何在现有订单的情况下尽量利用库存零件,如何在满足客户需求的基础上尽量减少流动资金的占用。这样对于企业阶段性生产计划的目标就是尽可能多的保留现金,盘活库存,并减少流动资金的战胜,以渡过难关。

44、本文基于如下约束条件下讨论如何减少流动资金占用的问题:约束条件1:同生产批次的产品,其零件必须完全相同,以保证产品一致性;约束条件2:在满足条件1的情况下,选择流动资金占用少的零件进行生产。3.2.2 数学模型产品一致性描述:假设产品P的BOM与或树为T,实际生产P时将采用选择T的子与或树t。同生产批次的n个产品集合P*,对于且,假设生产Pi的对应的子与或树ti,生产Pj的对应的子与或树tj,要求ti=tj。最小流动资金占用:假设产品P所有BOM子与或树t的集合为T,即 ,R是流动资金占用额r的集合,在生产某批产品时,选取的子与或树所需要的流动资金,其数学模型为:即对于,要求。3.3.2 与或

45、树的生成算法制定生产计划时,我们所选取的“权边”是“流动资金占用量”,流动资金占用量 = (物料需求数量 实际库存数量) * 单价,所以要分为两个步骤进行,第一步是根据BOM分解生成含有“权”的与或树,第二步是选取符合要求的子与或树。算法3.1(伪代码)GetPlan()while (mps.HasNext() = true)mps.MoveNext();productID = mps.Current.productID; /获取主生产计划的产品编码quantity = mps.Current.Quantity;/计划生产的数量GetSubPlan(productID,quantity);GetSubPlan(productID,quantity)storageQuantity = GetStorage(productID);/成品库存数量if(quantity storageQuantity)storageQuantity = 0;insertPla

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服