当前位置: 首页 » 数控技术 » 综合技术 » 正文

基于FMS统一模型框架的机床设备选择研究


放大字体  缩小字体 发布日期:2018-02-23

    摘 要 提出一种面向对象的FMS统一模型框架,在该统一模型框架下,FMS各子问题将以一种相互关联和集成的方式得以解决.研究了在上述统一模型框架下FMS机床设备选择问题的建模与求解方法.
   
    关键词 FMS;面向对象建模;机床选择
    1、面向对象的FMS统一模型框架
  在FMS的设计与运行中,主要关心以下三个方面的内容,即物理设备、零件信息和系统活动信息.根据面向对象的领域分析,可以抽象出FMS下述三类对象[1]:物理对象、信息对象和控制/决策对象.
  上述三类对象在FMS生命周期中并非孤立存在,它们之间紧密联系而形成一个不可分割的整体,因此必须对FMS进行全方位、集成的描述和建模[2].在文献 [2] 的模型框架中,重点描述了相互关联的物理对象.一方面因为它们是构成FMS的基本资源对象,对整个系统模型的构建是必不可少的;另一方面,因为这些物理设备对象是FMS设计时所要涉及的主要对象类.FMS设计中的机床选择问题可视为FMS单元对象的一种操作,FMS单元对象接收从车间对象发来的机床设备选择消息,启动封装在单元对象内的机床选择模型和求解算法,并在机床、零件、零件谱等对象之间进行消息传递.机床选择完成后,新的机床对象实例被创建,同时FMS单元对象的状态和有关属性值得到修改或更新.
  面向对象的FMS统一模型框架具有以下特点: a. 该模型为FMS生命周期内各个子问题的研究和解决提供了一种具有连贯性的统一建模框架,使得这些子问题可以以一种相互关联、集成和动态的方式得以解决;b. 由于面向对象的方法本身具有很大的柔性,因此该模型很容易实现对象层的重构,同时可以在现有对象中很方便地引入新的属性和新的操作,利用对象的封装性,各种解决FMS特定问题的先进技术可以通过对象操作的形式加入到有关对象中;c. FMS特定问题的解决只与模型中特定的对象类相关,并非所有的对象类均参与某一问题的解决过程,因而降低了模型在实现上的复杂性.

    2、基于统一模型框架的机床设备选择
    2.1 机床选择问题描述
  FMS设计中机床设备选择的任务是根据零件谱中零件的种类、工艺规程、生产批量、成本预算等要求,在候选的机床设备中选择适当的机床设备类型并确定其数量.为便于构造机床设备选择模型而引入下列符号:p 为零件谱中零件种类数,m 为零件谱工序种类总数,n 为完成零件谱加工所需机床种类总数,ni 为零件谱中工序 Oi 的总数,mi为零件谱中零件Pi的数量,cij为在机床Mj上完成工序 Oi所需的成本(时间),TMj为机床Mj在一定时间域内的可用时间,CMj为机床Mj的购置成本,CB为可用的总预算,xij为决策变量,即在Mj上完成Oi的工序数,uj为决策变量,即机床Mj的数量.
  为使完成零件谱加工的工序费用和机床设备的购置费用之和最小,可建立下列数学模型[3]:

   式中,w0是工序成本的加权系数;wm 为机床购置成本加权系数.上述模型的约束条件为:

  (1)
  (2)
  (3)
xij≥0,整数, uj≥0,整数,  (4)

    约束 (1) 确保完成工序数;约束 (2) 确保机床加工时间不超过其可用时间;约束 (3) 保证预算;约束 (4) 保证决策变量非负性和整数性.
   上述模型为整数规划模型,但由于决策变量较多,用标准的整数规划算法求解比较困难.下面提出一种启发式算法求解上述模型,得出的最终解是近优解.

    2.2 启发式求解算法
    2.2.1 根据零件谱工艺建立“工序-机床”成本 (时间) 矩阵 [cij]
  “工序-机床”成本矩阵 [cij] 是一个 m 行 n 列 (m×n) 的矩阵,其中的“工序”是零件谱中所有m道工序的罗列,“机床”则是完成这些工序所要求的所有n类候选机床的罗列,[cij] 体现了所有这些机床设备的加工能力,该矩阵中的每个元素 aij 表示每类机床上能够完成的工序以及完成这些工序所需费用 (时间),根据上述定义,如果 aij=0,表示工序Oi不能在机床类Mj上完成,或者说机床类Mj没有完成该工序Oi的能力;如果aij≠0,则表示机床有完成该工序的能力,且完成时消耗的成本 (时间) 为aij.

    2.2.2 根据“工序-机床”成本矩阵建立工序分配系数矩阵 [fij]
  由FMS工艺中的设备柔性可知:某道工序Oi可在多类机床如Mj1, Mj2, …, Mjn 上完成,即Mj1, Mj2, …, Mjn均有完成工序Oi的能力,体现在矩阵 [cij] 中即第i行有多个非零元素 (aij1, aij2, …, aijn≠0).因为零件谱中Oi的工序总数为 ni,因此存在这ni个工序Oi如何在Mj1, Mj2, …, Mjn上分配的问题,这直接影响对机床设备类型及数量的最终确定.本文采取一种反比分配方案,即将这些工序按各可选机床类完成该工序的时间长短并按反比例关系分配给各机床.也就是说,完成工序Oi 成本越小 (时间越短) 的机床类相应地分配给它较多的工序数,反之则分配给它较少的工序数.该方案体现了机床负荷平衡的设计需求.

    2.2.3 完成机床设备选择
  由于FMS工艺的设备柔性,使得同一道工序可以分别在不同的机床上完成,同一机床类亦具有完成多道不同工序的加工能力,而由于模型中约束条件的限制,不可能将 [cij] 中的机床类全部入选,因此在最终选择机床时某些机床类可能被放弃,因为这些机床的加工能力完全可以被其他保留下来的机床类所取代.但由于模型中的目标函数是由工序成本和机床购置成本两者加权构成,放弃某类机床虽然减少了总的机床购置成本,但却增加了其他替代机床的工序成本而可能最终导致总成本的增加.因此,必须根据总成本 (目标函数) 最小的优化原则,在满足约束条件的前提下对所有机床类进行合理的去留评估,以最终确定机床选择的结果.下面是具体算法:
  步骤 1 如果 [cij] 中的某一行只有唯一的非零元素,则该非零元素对应的机床类不能放弃,因为它的加工能力不能被其他机床类所取代.
  步骤 2 求出可“孤立放弃”的机床类.如果 [cij] 中某机床类对应的所有工序均可被其他一类或几类机床所取代,则称该机床类可被孤立放弃.设有q类机床可被孤立放弃,则可得到q种机床放弃方案.
  步骤 3 在步骤 2的基础上进行“组合放弃”尝试.从q类可孤立放弃的机床中分别同时放弃q,q-1,q-2,…,3,2 类机床,共得到 Q(=C2q+C3q+…+Cq-2q+Cq-1q+Cqq) 种可能的组合放弃方案.但由于各类机床不可能完全孤立,而是被零件谱工艺所相互牵制,因此上述Q种组合放弃方案中实际上只有Q'种 (Q'≤Q) 是可行的 (满足零件谱工艺及预算限制等).根据组合放弃可行性约束条件,求出该Q'种可行的组合放弃方案.
  步骤 4 针对 (Q'+q+1) 种机床放弃方案 (包括1种不放弃任何机床类的“放弃”方案) 求出各保留机床类的数量.具体过程如下:a. 求出每种放弃方案的“工序-机床”成本 (时间) 矩阵 [cij];b. 求出对应于 [cij] 的工序分配系数矩阵 [fij];c. 根据矩阵 [fij] 计算每类零件Pk的每道工序Oi在某保留机床Mj上的加工时间 tijk=mk.fij cij,零件Pk 在机床类Mj上的总加工时间 Tjk=,整个零件谱在机床类Mj上的总加工时间

d. 机床类Mj的数量 uj=ceil(TZj/TMj),ceil(X) 表示大于或等于X的最小整数.
  步骤 5 求出最终的机床选择方案.针对步骤4的计算结果,选择符合模型及其约束条件的最佳方案,作为最终的机床选择结果 (包括机床类型及其数量).
2.3 面向对象的实现方法
  FMS机床设备选择问题涉及OO统一模型框架中的下列对象:零件谱对象,零件对象,工艺规程对象,车间对象,FMS单元对象和机床对象.面向对象的机床选择过程如下:由车间对象向FMS单元对象发送有关机床选择的消息,由于机床选择设计是封装在FMS单元对象中的一种操作,从车间对象发来的消息将触发FMS单元对象中机床选择操作的执行;一方面FMS单元对象向零件谱对象发送消息,零件谱对象又和零件对象、零件工艺规程对象以及机床对象之间通过消息传递相互作用,最终建立起“工序-机床”成本 (时间) 矩阵 [cij];另一方面,FMS单元对象启动机床选择模型的构建和求解算法的执行.机床选择完成后新的机床对象实例被创建,同时FMS单元对象的有关属性值得到更新和修改.上述各对象之间的消息传递关系如图 1 所示.

图 1 对象之间的消息传递

    值得注意的是机床设备选择是一个迭代过程,初始选择完成后,FMS单元对象启动布局设计操作,并和调度对象之间发生关联,对机床选择及布局结果进行评估,检测能否满足生产需求、是否存在瓶颈设备等,如有必要则调整或重新进行机床选择直到满足设计需求.下面给出FMS单元对象描述:
class FMS-CELL: Public Object
{
Attributes: ∥属性定义
 Cell-ID ∥FMS单元标识符 Cell-Locatoin ∥FMS单元在车间中的位置
 Machines-in-Cell ∥FMS单元中的机床清单
 Assigned-Part-Family ∥FMS零件谱清单
 Cell-Layout-Diagram ∥FMS单元布局图
 External-System-Input ∥输入接口描述
 External-System-Output ∥输出接口描述
 …
Methods: ∥方法描述
 Set-Attribute(); ∥设置FMS单元对象属性
 Get-Attribute(); ∥获取FMS单元对象属性
 Display-Cell-Layout(); ∥显示系统布局图
 Setup-OM-Matrix(); ∥创建“工序-机床”成本矩阵
 Start-Machine-Selection(); ∥开始机床选择
 Finish-Machine-Selection(); ∥结束机床选择
 …}
  在面向对象的统一模型框架下,除可进行FMS设计中的机床设备选择外,还可进行机床布局、作业计划、生产调度等问题的设计,使FMS规划设计和调度控制之间以集成方式加以研究和解决.采用Borland C++语言在Windows95环境下实现了上述OO模型,开发了一个集FMS规划设计、生产调度和控制以及仿真为一体的原型系统FMS-D&R.由于采用面向对象技术,大大缩短了该系统的开发周期.

 
 
[ 免费发文

 

 
推荐图文
推荐数控技术
点击排行
网站首页 | 关于我们 | 升级会员 | 联系客服 | 广告合作 | 广告位图 | 使用协议 | 版权隐私 | 蜀ICP备2021024440号
Powered by DESTOON