system: [SYSTEM]

user: 3. 模型建立与数值计算 3.1. 一道工序动态调度仿真模型 由于一台RGV在同一时间只能为一台CNC上下物料，并且RGV运动需要花费一定时间，因此为了在特定时间内可以加工最多的物料，本文让RGV尽量节省移动耗费的时间，让RGV以就近原则为基础，模拟仿真整个智能加工系统作业过程。一般情况下，每一台CNC的工作状态可采用0~1变量表示，以CNC是否向RGV发送信号为决策变量进行0~1规划， X ∈ { x 1 ， x 2 ， ⋯ ， x 8 } ，具体如下： x i = { 0 ， working 1 ， waiting ， i = 1 ， 2 ， ⋯ ， 8 (1) 其中，0表示CNC正在加工，1表示CNC处于等待加工状态， i 表示第 i 台CNC。将智能加工系统分为4列，定义第 i 个CNC所处的列数 j i ∈ ( 1 ， 2 ， 3 ， 4 ) ，具体计算公式如下： j i = | ⌊ ( i + 1 ) ÷ 2 ⌋ | ， i = 1 ， 2 ， ⋯ ， 8 (2) 同时，定义RGV当前所在的列数 j 0 ∈ ( 1 ， 2 ， 3 ， 4 ) 。以此，我们可以计算RGV到任意CNC的单位距离 ， Δ d 即是RGV将要移动的距离(相邻两列的距离为一个单位)，计算公式如下： Δ d i = | j i − j 0 | ， Δ d i ∈ ( 1 ， 2 ， 3 ) ， i = 1 ， 2 ， ⋯ ， 8 (3) RGV为偶数编号CNC一次上下料所需时间要大于为奇数编号CNC一次上下料所需时间，并且为了尽快地开始进行上下料工作，因此，RGV选取下一次上下料所在的CNC的规则如下：CNC的当前状态处在等待加工即 x i = 1 。此CNC与RGV的距离为最短距离 min ( Δ d i ) 。在 min ( Δ d i ) 相等的情况下优先选择奇数编号的CNC。在智能加工系统中，作业时间T中包括RGV移动的时间 T Δ d ，RGV停止等待的时间 T d ，RGV为CNC一次上下料的时间 T α ，CNC加工完成一个一道工序的物料所需时间 T m ，RGV完成一个物料的清洗作业所需时间 T ω 。以RGV为观察对象，另外，引进变量 为包含各CNC加工完成的时刻。定义一般班次的时间 在系统工作时间 T ≤ T b 内，得到作业时间T计算公式如下： T = T Δ d + T α + T d (4) 最后，我们还确定了一个对RGV移动的指令如下，在 ∑ i = 1 8 x i = 0 的时候，RGV前往最快使生料成为熟料的CNC去。 综合上述分析可知，智能RGV的动态调度策略是为了让智能加工系统在某班次时间内达到成料数最大化，因此以成料数最大化为目标，得到智能RGV动态调度模型目标函数： max z = ∑ i = 1 8 c i (5) 其中， c i 为第i个RGV的成料数。以式(5)为目标函数的模拟仿真模拟，利用下表1系统作业参数的3组数据分别检验上述模型的实用性和算法的有效性，得到关于智能RGV加工系统的作业效率。 Table 1 Three sets of data tables of operation parameters of intelligent machining syste 系统作业参数 第1组 第2组 第3组 RGV移动1个单位所需时间 20 23 18 RGV移动2个单位所需时间 33 41 32 RGV移动3个单位所需时间 46 59 46 CNC加工完成一个一道工序的物料所需时间 560 580 545 CNC加工完成一个两道工序物料的第一道工序所需时间 400 280 455 CNC加工完成一个两道工序物料的第二道工序所需时间 378 500 182 RGV为CNC 1#，3#，5#，7#一次上下料所需时间 28 30 27 RGV为CNC 2#，4#，6#，8#一次上下料所需时间 31 35 32 RGV完成一个物料的清洗作业所需时间 25 30 25 表1. 智能加工系统作业参数的3组数据表 对于只有一台RGV的智能加工系统，以RGV为观察对象，定义一个班次中RGV的作业效率 β 1 ，具体计算公式如下： β 1 = T b − T d T b (6) 其中， T b 为给定一个班次的时间， T d 为RGV等待时间。 对于有八台CNC的智能加工系统，以CNC为观察对象，定义了一个班次中八台CNC的平均作业效率 β 2 ，具体计算公式如下： β 2 = T b − 1 8 × ∑ i = 1 8 P i T b (7) 其中 P i 第 i 个CNC班次中总的等待加工时间。 利用MATLAB设计程序，分别代入表1三组数据，得到一个班次8小时的成料数最大化，并分别计算出RGV，CNC的工作效率 β 1 ， β 2 如表2： Table 2 The numerical result 数量 第一组 第二组 第三组 成料数 291 255 293 β 1 99.87% 100% 99.91% β 2 87.09% 87% 87.12% 表2. 数值结果 系统的总作业效率主要分为RGV，CNC的工作效率 β 1 ， β 2 两部分，由上述表中可以看到：对于表1智能加工系统作业参数的3组数据表可知，第一组数据和第三组数无论是加工时长，上下料时间，RGV移动时间还是物料清洗时间相差不大，所以得到的实际成料数相差甚微；观察第二组实验数据可知，RGV小车移动时间，物料加工时长，上下料时间以及清洗时间都比其他两组数据明显耗时，因此第二组数据得到的成料数明显低于其他两组。从系统工作效率来看，三组数据工作效率较高且波动不大，从而可知该模型的算法可行、可操作。 3.2. 二道工序动态调度模拟仿真模型 两道工序加工物料时，生料需要先后经过两台分别装有两种不同刀具的CNC才可以加工完成。每台CNC只能完成其中一道工序，因此，我们以可以完成最大数量的生料加工为目标函数，用0-1规划模型求解最佳CNC的两种刀具分配以及RGV的调度。 定义安装不同的刀具的CNC，其中完成第一道工序的CNC集合为 K 0 = { k 1 ， k 2 ， ⋯ ， k m } ， m ∈ I ， m 为安装第一种刀具的CNC的台数；完成第二道工序的CNC集合为 K 1 = { k 1 ， k 2 ， ⋯ ， k n } ， n ∈ I ， n 为安装第二种刀具的CNC的台数。 在两道工序的加工系统中，未在上下料时，RGV机械手爪的状态分为两种包括：1) 手中没有料子；2) 手爪中抓有被第一道工序加工完成的。 因此RGV需要判断自身机械手爪状态来选择下一道工序，因此可采用0~1变量表示，以RGV的机械手爪实时状态为决策变量进行0~1规划，具体如下： α = { 0 ， first 1 ， second (8) 其中， α = 0 表示下一道工序去 K 0 类， α = 1 表示下一道工序去 K 1 类。 一道工序的智能加工系统不同，两道工序的智能加工系统作业时间 T 中还包括CNC加工第二道工序的物料所需时间 T m 2 。所以，两道工序智能加工系统得调度策略会因安装不同种刀具的CNC的台数而不同。因此，为了让智能加工系统在某班次时间内达到成料数最大化，同样以成料数最大化为目标，让CNC安装不同的刀具的情况为决策变量，规划最优的CNC刀具分配。 在上述基础上，运用蒙特卡洛算法思想模拟仿真，随机产生出CNC的刀具分配情况，寻找出成料数最多的CNC刀具分配方案。 通过MATLAB设计程序，分别代入表1三组数据，得到一个班次内多种成料数最大值的CNC刀具分配方案(见表3)。选取了RGV，CNC的工作效率 β 1 ， β 2 最高的一组数据，得到了基于这种数据RGV的调度策略。 Table 3 The numerical result 数据 第一组 第二组 第三组 成料数 167 138 161 β 1 100% 100% 99.81% β 2 74.67% 69.98% 68.58% 第一道部分工序 1，3，5 1，5，1，5 2，3，4，6 第二道部分工序 2，4，6 2，3，4，6 1，5，1，5 表3. 数值结果 对上述结果进行分析：与表一给出的3组数据表结合分析可知，在第一道工序和第二道工序所消耗的时间上，第一组数据CNC加工两道工序所需时间几乎相等，因此，求得两道工序都是3台轮换，符合实际情况；第二组数据CNC加工第二道工序所需时间远远大于第一道工序，因此分配给第二道工序的CNC应当大于第一道工序的CNC，实验结果显示第二道工序的轮换是4台，而第一道工序轮换是2台，符合实际情况。第三组数据CNC加工第一道工序所需时远远大于第二道工序，因此分配给第二道工序的CNC应当大于第一道工序的CNC，实验结果显示：第一道工序的轮换是4台，而第二道工序轮换是2台，符合实际情况。 综上所得，在多道工序并存的动态调度策略中，CNC的分配与各工序作业时间的关系密不可分，基于本文的背景，耗时长的工序应当分配更多的CNC进行轮换，由此可见，模型得出的调度策略非常符合实际情况。