求解大规模生产排程问题的一种快捷算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

提高有着至关重要的作用。文章针对生产排程时效性差的算法瓶颈, 设计了一套基于交货期的快捷排
程算法。算法的基本思想是将加工任务先分配到具体的设备上, 然后根据任务的加工时间为每个设备
提供一个排程方案。该算法体系包括绝对最优方案确定、任务分配、依次排队、二次排程和条件汇报 5
个模块, 其中依次排队是该算法的核心。该算法具有寻优合理、速度快等优点, 但同时也有只适宜以交
0 引言
生产排程 ( P roduction Scheduling) 问题, 又称生产 作业计划或生产调度。从有限资源角度看, 生产排程 是一个决策过程, 是指生产部门为完成销售部门下达 的订单, 根据确定的生产计划和订单交货期安排, 按照 产品的加工工艺路线, 将有限资源安排给不同的工作, 并决定何时开始, 由哪部设备加工, 并完成哪件工作, 并设法达到预定的如交货期要求和提高设备利用率的
其中, IT ij 表示 上 下工 序间 的 间隔 时 间 ( Interval T im e包括准备时间、等待时间、运输时间等 ) 。 21312 全排程方案
全排程步骤如下: Step 1: 从所有流程最 前面操作所在的 设备组开 始, 按照单设备组排程准则进行依次排程, 如图 7。
图 3 直接插入情况示意图
目标。这些有限资源主要包括: 机器和设备 ( 包括搬 运设备 ) 、工夹具、作业员、存储容器或空间等 [ 1-2 ] 。
随着用户对产品需求的快速变化, 以及市场竞争 的日趋激烈, 现代制造企业需要进行多品种、小批量生 产, 这种生产方式使生产的计划、组织和控制变得更加 复杂, 另外要求企业对生产过程中所出现的各种信息 进行及时反馈和处理, 因此, 生产调度问题作为生产管 理系统的核心内容和关键问题, 其研究具有重要的理 论和实用价值 [ 3-4] 。
115 基本符号
CFN ) ) ) 参与排程的工艺流程数 ( C raft F low Number) ;
ON i ) ) ) 每条 流 程 中 含 有 的 操 作 数 ( O perat ion Num ber, 指工单或工序 ) , i= 1, ,, CFN;
OST ij ) ) ) 每个 操 作 的 开 工 时 间 ( O perat ion Star T im e), i = 1, ,, CFN, j= 1, ,, ON i;
213 依次排队 21311 单设备排程准则
经过任务分配后, 每台设备都会被分配一些新操 作, 且知道每个新操作的理想开工时间和加工时间, 但 该设备上可能已经被安排一些加工任务了, 如图 2所 示。对这台设备来说, 它要尽量按照每个操作的理想 开工时间将任务安排下去。
针对单个设备组, 任务的具体安排步骤如下: Step 1: 对新的排程任务, 按照理想开工时刻的大 小进行排序, 理想开工时刻早的放到队列的前面, 开工 时刻完全相同的, 优先级高的在前, 优先级也相同的, 加工时间长的在前, 如果 3个参数都相同的, 进行随机 安排。
如图 1所示, 每件产品都按一定的工艺流程生产, 这也就规定了每个流程所包含操作的先后加工顺序, 如图中的横行所示。从全部的操作来看, 某些操作总 是由固定的设备组来完成, 把每个设备组需要加工的 操作单独提取出来, 这样就会在每个设备组前产生一 个操作队列, 如图中纵行所示。这样问题就转化为如 何安排每个设备组这些等待操作的问题了。
定义: 绝对最优方案 ) ) ) 在设备和物料供应都充 足的条件下只考虑准时交货的排程方案。
根据以上定义, 可很快给出绝对最优方案:
ON i
E E OST ij = DD i - OPT ij - BT l= j
212 任务分配
由于哪些操作由哪些设备加工是固定的, 所以可 以很容易将全部的操作具体分配给每个设备组, 该步 操作可以由一个选择语句来实现。
2008年第 8期
# 设计与研究 #
4) 如果理想开工时刻处不可用, 则将该操作后移 至可插入的时间区间, 如图 6。
图 2 单台设备加工任务示意图
S tep 2: 依次从队列的前面取操作, 以理想开工时 刻、加工时间为依据, 察看设备空闲状态中, 逐个将操 作插入到设备组可用的时间状态部分, 插入准则为:
2008年第 8期
文章编号: 1001- 2265( 2008) 08- 0039- 04
# 设计与研究 #
求解大规ຫໍສະໝຸດ Baidu生产排程问题的一种快捷算法
王欣
(中国矿业大学 计算机科学与技术学院, 江苏 徐州 221008)
摘要: 生产排程是一类复杂而困难的系统性问题, 但其对多品种小批量企业的生产效率以及经济效益的
经过依次排队后, 所得的排程中, 存在一些拖期的 产品, 同时在当前时间还存在空闲, 所以对于该方案还 有进一步优化的可能, 为此需要进行二次排程。
# 41#
# 设计与研究 #
组合机床与自动化加工技术
实现二次排程的方式是将终产品的交货期提前一 段时间 ( Ahead T im e) AT, 具体排 程步骤按照依次排 队的方式进行。所以进行二次排程前一个关键的问题 是确定所有操作的前移时间。
目前对生产 排程问题 的研究已 取得了很 大的进
收稿日期: 2008- 03- 26; 修回日期: 2008- 05- 26 作者简介: 王欣 ( 1986) ) , 女, 山东烟台人, 中国矿业大学计算机科学与技术学院学士, 研究方向为嵌入式开发, 宽带通信, 自动控制, 人工智能等,
( E - m ail) x inw ang_cum t@ 163. com。
# 39#
# 设计与研究 #
组合机床与自动化加工技术
展, 出现了很多解决该类问题的算法, 如遗传算法、模 拟退火算法、启发算法等 [ 5-9] , 也出现了一些相对成熟 的排程软件包, 如 ILOG、A sprova等 [ 10] 。排程问题的核 心是算法, 阻碍其进一步发展也是算法, 最大的问题是 当排程对象增大时, 排程时效性会急剧变差。针对该 问题, 本文设计了一套基于交货期的快捷排程算法。
图 1 排程队列示意图
112 基本假设 1) 哪些操作由哪个设备组加工是确定的; 2) 设备组上哪些时间可以加工是确定的; 3) 原材料都是预先采购的, 总是能够满足生产的
需要。 113 决策变量
通过对问题的分析, 选择每道工序的开工时间作 # 40#
为算法的决策变量。
114 排程目标
本算法根据交货期而设计, 所以排程的目标为准 时交货。
设每个工艺终产品的脱期时间 ( L ateness T im e) 为 LT ( i), 每个工艺的首道工序的开工时间距当前时间 的空闲时间 ( Currently Vacancy T im e) 为 CVT ( i), 那么:
1 算法的准备
111 基本思想 生产排程是典型的大复杂系统问题, 主要原因是
在组合优化的过程中, 需要考虑各种情况。但从实际 情况考虑, 生产排程中的每一个操作都对应一个固定 的设备组 ( 1个或多台设备 )。从这个角度讲, 我们只 须要考虑每一个设备组上的操作安排问题就可以了, 只是这里设备组间的操作也因产品的 BOM 结构而存 在一定的关系 (先后约束关系 )。
货期为目标的缺点。
关键词: 生产排程; 算法; 大规模; 快捷; 交货期
中图分类号: TG65
文献标识码: A
A R apid A lgor ithm in R esolving Large-scale P roduction Scheduling WANG X in
( Schoo l o f Com puter Science and T echno logy, CUMT, Xuzhou Jiangsu 221008, Ch ina) Abstract: P roduction schedu ling is a sort of comp lex and difficu lt problem, but it is extremely sign ifican t for the multi-sort and small-batch enterprise to improve the production efficiency and econom ic benefit. In th is article, a quick schedu ling algorithm based on del ivery data is designed in order to avoid the bottlen eck of poor timeliness of the algorithm in production schedu ling. The idea of the algorithm is to d istribute mach ining tasks to idiograph ic equipments first and then provide all equ ipmen t w ith schedu ling method according to the task s. mach ining time. The algorithm system includes five modu les namely absolu tely best scheme determination, task allocation, successive queuing, secondary schedu ling and terms report, among wh ich successive queu ing is the key to the algorithm. The algorithm has the advan tages of optim izing p roperly, fast and so on, w h ile it also has the disadvan tage that it sui ts the purpose of delivery data on ly. K ey w ord s: production schedu ling; algorithm; large-scale; rap id; delivery date
1) 如果设备时间轴上该操作理想开工时刻至完工 时刻正好空闲, 则直接插入, 如图 3所示。
图 6 开工时间不可用时的插入情况示意 图
Step 3: 更新变更开工时间工序所在工艺链上该操 作后的第一个操作的理想开工时刻, 变更公式为:
OST i, j+ 1 = OST i, j + OPT ij + IT ij
2) 如果理想开工时刻处空闲, 但完工时刻处不可 用, 且开工时刻当前所在的时间区间长度大于该操作 的加工时间, 则将该操作紧靠该时间区间的右侧插入 到设备状态中, 如图 4。
图 4 开工时间可用时的左插入情况示意图
3)如果理想开工时刻处空闲, 但完工时刻处不可 用, 且开工时刻当前所在的时间区间长度小于该操作的 加工时间, 则将该操作后移至可插入的时间区间, 如图 5。
DD i ) ) ) 每个工艺流程终产品的交货日期 ( D elivery Date) ;
OPT ij ) ) ) 每个操作的加工时间 ( O pera tion P rocess T im e);
BT ) ) ) 休息时间 ( B reak T im e)。
2算法的理论 体系
211 绝对最优方案的确定
图 5 开工时间可用时的右插入情况示意图
图 7 全排程流程示意图
Step 2: 对有时间间隔限制的操作进行捆绑排程, 把 这些操作当成一个大操作, 同时也需要对这些操作对应 的设备组进行捆绑, 排程按照单设备组排程准则进行。
214 二次排程
从上面依次排队的操作步骤来看, 在发生冲突时, 总的趋势是让准则值弱些的操作后移, 从而引发所有 该操作所在工艺链上该操作后的所有操作的后移, 这 样必然导致部分产品的脱期, 与此同时在当前的一段 时间内很可能设备较空闲, 也就是说所有的操作都有 可能再前移, 从而可避免一些工单拖期。二次排程就 是针对该情况而设计的。
相关文档
最新文档