首页>> 软件工程 >>内容  

基于模型构建的高级生产计划排程软件设计与研究
2006年3月2日 12:00 作者:kaiser ma 来源:中国烟机备件网
 

基于模型构建的高级生产计划排程软件设计与研究
 
摘要:提出了基于模型构建的高级生产计划排程软件CentrinoAPS,采用了当前先进的约束理论及运筹学算法,并给出了相应的DEPHI程序流程图。操作上以图形化的拖拉建模方式,保证了在企业中的实施的快捷及简单;并且以生产设备实时数据采集控制系统为闭环,使得CentrinoAPS软件能够满足现实中不断动态变化及复杂的工厂生产管理要求;Windows DNA技术的引入,系统可以方便地通过COM组件实现与工厂ERP/MRP II的无缝集成,并且通过OPC SEVER方式可以与底层控制系统或企业的MES(生产执行系统)实现集成,全面实现企业的信息化;使用面向对象开发语言DELPHI 7.0,基于COM/COM+组件技术开发,CentrinoAPS软件具有较强的可重构性、可适应性及可扩展性。
关键词:高级生产计划排程 约束理论 运筹学算法 Windows DNA Delphi7.0
 
目前国内很多企业都上了ERP(Enterprise Resources Planning)系统,主要初衷是理顺企业业务流程,整合内部资源,达到协调高效地运作企业各职能,尤其是希望通过ERP系统解决企业内部最繁杂且重复的生产问题,以便于管理层能够腾出更多的时间专注于市场开拓、产品研发及质量的控制与改进;但是往往令人失望的是,企业并没有因为上了ERP系统而解决了销售部门与生产部门之间的互相扯皮、推诿的问题,生产调度人员依然每天手忙脚乱、忙忙碌碌,生产作业单经常是改了又改,但是仍然无法跟上销售部门的要求。问题的关键在于ERP系统在做生产计划调度时,是基于企业无限能力来运算的,对企业的生产工艺、加工能力考虑不足,当天计划的数据是以上一日的统计结果为基础的,计划的执行情况不能得到及时反馈。
我们设计的基于模型构建的高级生产计划排程软件CentrinoAPS,是以约束理论(TOC)为基础,以数学规划、网络计划技术等运筹学算法为核心,以生产数据实时采集控制系统为闭环,操作上以建模为主要手段的高效生产计划排程软件,完全可以解决ERP软件的不足,满足企业需求多变的生产调度要求。
1 系统相关理论及算法
1.1 生产策略(优先规则)
生产策略是在进行生产作业计划排序时优先遵守的规则,它规定了系统在进行生产作业排程运算时按照什么顺序来安排。一般地有如下几种生产策略:
(1)FCFS(先来先服务):作业按照到达机器或工作中心的顺序进行加工处理。
(2)SPT(最短加工时间):作业顺序取决于它在机器或工作中心的加工时间,最短的先处理。
(3)DD(预定日期):根据预定日期处理作业,最早的先处理。
(4)CR(关键比率):选取最小比率作业。比率是指到预定日期剩余的时间和剩余的加工时间之比。
(5)S/O(各工序松驰时间):根据平均松弛时间(即到预定日期的时间减去剩余加工时间)进行作业处理。松弛时间除以剩余工序数(包括当前工序)则为平均松弛时间。
(6)紧急性:紧急情况或首选顾客最先。
(7)自定义:生产调度人员人工判断作业的优先级别,如自定义级别从低到高为1到99个级别。
(8)权重法:权重法就是给上述几种生产策略分别赋一个权重,然后加权得到。如 生产策略=订单优先级*权重1+成本*权重2+订单数量*权重3+……等。
优先规则是一种静态排序:为了简化,它假定换产时间、加工时间与作业系列不变。这些假定有利于排序问题的管理。但在实践中,作业有可能延迟或撤消,还有可能出现新工作,它们都需要修正序列,在CentrinoAPS中由生产过程监控模块来监测实际生产过程,作为闭环控制。
1.2 约束理论TOC(Theory of Constraints)
TOC是Theory of Constraints的简称,中文译为“约束理论”。 TOC是由以色列的一位物理学家Eliyahu M. Goldratt博士所创立的。 
TOC认为任何系统至少存在着一个约束,否则它就可能有无限的产出。因此要提高一个系统 (任何企业或组织均可视为一个系统)的产出,必须要打破系统的约束。任何系统可以想像成由一连串的环所构成,环与环相扣,这个系统的强度就取决于其最弱的一环,而不是其最强的一环。相同的道理,我们也可以将我们的企业或机构视为一条链条,每一个部门是这个链条其中的一环。如果我们想达成预期的目标,我们必须从最弱的一环,也就是从瓶颈(或约束)的一环下手,才可得到显著的改善。换句话说,如果这个约束决定一个企业或组织达成目标的速率,我们必须从克服该约束着手,才可以更快速的步伐在短时间内显著地提高系统的产出。
CentrinoAPS软件根据企业的实际运营情况,将考虑以下可能的约束条件,如:资源,包括物料、设备、工具、人员等;工期、工时;生产策略等。这些约束条件将作为软件运算逻辑数学规划的约束变量。
1.3 运筹学算法
运筹学的具体内容包括:规划论(包括线性规划、非线性规划、整数规划和动态规划)、图与网络分析、网络计划技术、对策论、排队论、存储论等。
CentrinoAPS软件主要是运用数学规划(线性规划和整数规划)以及网络计划技术等作为核心算法。
1.3.1 数学规划
1.3.1.1 线性规划
    线性规划问题是求在约束条件下,函数最优的问题(其约束条件和目标函数均为线性)。
其一般形式为:
    Max(Min) Z= cjxj
    S.T. 
原始单纯形法求解线性规划的DELPHI编程程序流程图如下:
程序流程图:
 
图1
 
1.3.1.2 整数规划
在线性规划问题中,有些最优解可能是分数或小数,但对于某些具体的问题,常要求解必须是整数。乍看起来,可以用四舍五入的方法来求得,但有可能这种方法得出的解并不是可行解或最优解。
穷举法求解整数规划的DELPHI编程程序流程图如下:
程序流程图:
图2
1.3.2 网络计划技术
网络计划技术,早期主要是用于工程项目的计划与控制的一项管理技术,其中最常用的两种技术是计划评审技术(PERT)与关键路径法(CPM)。通过运用PERT或CPM,管理者能够获得如下信息:
(1)    项目活动的图形化展示。
(2)    项目持续时间的估计。
(3)    为及时完成项目,哪些活动是最关键的。
(4)    在不延长项目的情况下,某些活动能够延期多长时间。
根据工序数目及事件数目求网络计划参数(最早完成时间、最迟完成时间、松弛时间、关键路径等)的DELPHI编程程序流程图如下:
程序流程图:
图3
 
2系统主要功能
2.1 系统操作流程图
图4
 
2.2 资源组及资源建模
资源组及资源建模主要是把与系统有关的资源事先定义起来以便日后生产详细排程时使用,这些资源不仅包括工厂内实际的物理对象,如:原料、辅料、设备、工具、人员等,而且也包括逻辑对象,如:工时(准备时间+加工时间)、软件包等。根据资源的不同性质,定义其相应的属性。如设备要定义其ID、名称、状态等,而原料要定义其ID、名称、数量及单位等。资源属性的具体值要在产品工艺模型时根据不同的产品来定义。下图是本功能的工作流程图。
图5
2.3 生产工艺工艺建模
生产工艺建模针对每一种不同加工工艺的产品,分别建立起产品的加工工艺路线,本软件是以节点式网络图表示,如下图:
图6
上图中箭头表示工艺路线的顺序,A1~A6节点表示生产某种产品的工序。工序,又称活动、作业、工作、任务,是指一项消耗时间、物料、人力的具体活动过程。工序既可以单台设备,也可以一组设备。
工序具有以下属性:设备、人工、时间(工期)、原料、辅料等,即来自资源组模型。本过程应针对具体的产品,确定工序属性的具体值,如原料的数量等;如果工序属性全无,则无虚工序。
最早开始时间及最迟开始时间,系统默认值为0,最早完成时间及最迟完成时间,系统默认值为工期。工艺建模工作流程如下:
图7
2.4 生产详细作业计划排程
当系统接收到一个产品的生产计划或订单时,首先确定其生产策略(优先规则),然后检查是否存在相对应的产品工艺模型。如无,则建立新产品的工艺模型;如有,则选中相对应的产品工艺模型。点击“运算”按钮后,系统根据核心算法将自动计算出该生产计划的详细作业计划。以甘特图的形式显示该产品在各道工序上的预计开工时间、加工时间及完工时间;以网络图的形式直观地显示了该产品的加工路线等;同时生成了物料需求计划、成本计划、质量检验计划、设备维护和支持计划等。
当有紧急订单或需插单时,系统首先确定其优先级,低于该产品优先级且未生产的生产计划或订单将重新打乱,系统将作为新的生产计划进行重新运算。
当该产品的工艺模型改变或资源状态改变时,如设备出现故障、订单取消时,系统将对这些受到影响的生产计划进行重新排程运算。本功能工作流程图如下:
图8
2.5 生产过程监控
生产过程监控是建立在设备数据采集基础之上的。设备数据采集系统使用工业组态软件,如Simens的WinCC、GE的iFix以及WonderWare公司的InTouch等,通过OPC SERVER或RS232协议与设备的底层控制系统PLC进行通讯,获取设备的运行状态并通过数据接口传送给生产过程监控系统。生产过程监控模块也可以把相应的生产指令直接下发到各设备资源,并且把设备的工艺参数通过数据接口传递给设备数据采集系统,由其直接写入设备控制系统PLC,进行工艺参数的设定。
生产过程监控模块与设备数据采集系统的信息交换是基于毫秒级的,实时的,最长也可以达到分钟级,所以生产过程监控模块可以及时了解资源状态的信息。同时生产过程监控模块把相关资源状态信息通知生产详细作业计划排程模块,由其调整生产详细作业计划。生产过程监控工作流程如下图所示:
图9
3 技术实现
CentrinoAPS软件是基于Microsoft Windows DNA架构上的分布式应用系统,Windows DNA 包含许多现有产品的技术,包括Microsoft Transaction Server (MTS)与COM+、Microsoft Message Queue(MSMQ)以及Microsoft SQL Server 数据库等。 Windows DNA 技术提供了分布式应用程序所需要的基础设施,在业务逻辑层上使用应用服务器,使系统冗错、负载均衡方面等得到了很大的提高。
CentrinoAPS软件分为三层,界面层、业务逻辑层、数据库层。界面层主要是解决用户与系统之间的信息交换、人机互动问题,只是简单地接受用户的输入及显示;业务逻辑层用来处理系统所具有的功能,业务逻辑层采用应用服务器的形式,采取后台运行的方式,系统的核心业务都在这里得到实现;数据库层主要是完成系统所用数据的存储及保证数据完整性、一致性问题。下图是软件架构图:
图10
CentrinoAPS软件的开发是基于COM/COM+组件进行的,COM/COM+组件是可重用的二进制代码的集合,使得软件的开发效率及生产力大大提高。
CentrinoAPS 软件采用面向对象编程语言DELPHI7.0 开发。 Borland Delphi 7.0 软件提供了三层应用程序开发的VCL组件,如MIDAS、DCOMCONNECTION、SOAP等,使得软件的开发完全是基于组件及面向对象的开发,软件复用性很强,开发效率极高。本系统的核心算法---2.3运筹学算法全部采用DELPHI7.0 实现。
4 结论
(1)本文提出了基于模型构建的高级生产计划排程系统CentrinoAPS,采用了当前先进的约束理论及运筹学算法,并给出了相应的DEPHI编程实践。操作上以图形化的拖拉建模方式,保证了在企业中的实施的快捷及简单。
(2)以生产设备实时数据采集控制系统为基础,生产过程监控模块形成了高级生产计划排程系统的闭环,使得CentrinoAPS软件能够准确、动态地作生产详细作业计划排程,可以解决现实中不断变化及复杂的工厂生产管理实际问题。
(3)Windows DNA技术的引入,系统可以方便地通过COM组件实现与工厂ERP/MRP II的无缝集成,并且通过OPC SEVER方式可以与底层控制系统或企业的MES(生产执行系统)实现集成,全面实现企业的信息化。
(4)使用面向对象开发语言DELPHI 7.0,基于COM/COM+组件技术开发,CentrinoAPS软件具体较强的可重构性、可适应性及可扩展性。
参考文献:
[1] 卢向南,李俊杰,寿涌毅.应用运筹学.杭州:浙江大学出版社,2005.1
[2] 刘建永等.运筹学算法与编程实践:Delphi实现.北京:清华大学出版社,2004.9
[3] 蔡颖.ERP高级计划APS供应链优化引擎.广州:广东经济出版社,2004.9
[4] 刘艺.Dephi面向对象编程思想.北京:机械工业出版社,2003.9
[5] (美)史蒂文森(Stevenson,W.J.).生产与运作管理.北京:机械工业出版社,2000
[6] (美)杰里米·夏罗(Jeremy F.Shapiro).供应链建模.北京:中信出版社,2005
[7] 汪定伟.敏捷制造的ERP及其决策优化.北京:机械工业出版社,2003.5
 
[8] 曹春平,王岩,王宁生,基于Windows DNA 的可集成制造执行系统研究,《中国机械工程》第14卷第15期2003年8月上半月。
[9] 饶运清,刘世平,李淑霞,李培根, 敏捷化车间制造执行系统研究,《中国机械工程》第13卷第8期2002年4月下半月。
[10] Simens 公司网站 http:www.simens.com
[11] Wonderware 公司网站http://www.wonderware.com.cn/
[12] Rockwell 公司网站http://www.rockwellautomation.com/
 
 
 
 
 

【相关文章】

Copyright 2003-2005 创想软件 All Rights Reserved

江苏徐州:TEL:13196811515,13815325665
Email:ntcreating@163.com QQ:46519970 317174686  MSN:kaiserma2004@hotmail.com