基于空闲矩阵的多约束无等待混合流水调度建模方法

文档序号:6625393阅读:202来源:国知局
基于空闲矩阵的多约束无等待混合流水调度建模方法
【专利摘要】本发明公开了一种基于空闲矩阵的多约束无等待混合流水调度建模方法。首先进行约束预处理:对于存在跳过处理单元约束,可将该任务在该单元上的处理时间设置为0;对于存在先序或禁止转换约束,则在计算目标函数值时附加一个很大的惩罚项;对于存在顺序依赖的准备时间,准备时间加入前一任务处理时间之后。其次,对于具有并行机的阶段,采用基于甘特图的软压缩调整方法进行处理,构造出空闲矩阵。最后,以空闲矩阵为基础,根据调度目标构造出调度模型。该方法将一个具有上述复杂约束的无等待混合流水调度问题转化为一个不带约束的普通的无等待流水调度问题,再基于空闲矩阵建立调度模型,从而降低了模型的复杂性和求解难度。
【专利说明】基于空闲矩阵的多约束无等待混合流水调度建模方法

【技术领域】
[0001] 本发明属于无等待混合流水调度建模领域,特别涉及一种基于空闲矩阵的多约束 无等待混合流水调度建模方法。

【背景技术】
[0002] 无等待流水调度问题是一类重要的约束型流水调度问题,是典型的N P难问题, 广泛存在于流程式企业中,如化工制造、钢铁铸造、食品加工、制药、塑料制造等,其生产技 术需要的一系列处理过程需紧密相连以防止衰变或污染。具有并行机的无等待流水调度又 称为无等待混合(或柔性)流水调度。现有关于无等待混合流水调度研究主要是建立在对 实际过程简化和理想状态假设基础上的,没有系统的考虑实际过程中的多种约束,主要存 在如下一些问题:现有的研究大都忽略了在处理单元上的准备时间或认为其时间是一个固 定值,但实际生产中,这部分时间往往对无等待调度问题具有重要影响且准备时间还跟生 产任务顺序相关,需要在调度时对其单独考虑;现有的研究大都假设所有的产品依次经过 所有的阶段且生产次序可以任意切换,但对于实际加工过程,产品间生产次序禁止从一种 产品切换到另一种产品、或产品具有先序要求,或某些产品可能会不需要经过某些阶段;对 于多阶段且具有复杂约束的无等待混合流水调度问题,用已有方法建立的模型复杂、难以 求解。而在化工制造、钢铁铸造、食品加工、制药等一些实际生产过程中需要考虑上述实际 约束。近几年,结合无等待流水调度特征的空闲时间调度理论因能降低无等待流水调度的 计算复杂性,而成为研究无等待流水调度问题的有效方法,但该方法还不能应用于多约束 无等待混合流水调度。


【发明内容】

[0003] 本发明的目的是提供一种基于空闲矩阵的多约束无等待混合流水调度建模方法, 在理论上能实现对存在并行机、顺序关联的准备时间、禁止切换、先序要求和跳过处理单元 等多种约束的有效处理,使建立的模型更加实用和有效。
[0004] 本发明方法的思路:当存在并行机、顺序关联的准备时间、禁止切换、先序要求和 跳过处理单元等五种约束时,分析对空闲矩阵影响的一般规律,并分别提出基于空闲矩阵 的软处理方法,从而将一个具有上述复杂约束的无等待混合流水调度问题转化为一个不带 约束的普通的无等待流水调度问题,并建立其基于空闲矩阵的调度模型。
[0005] 具体步骤为:
[0006] (1)准备工作阶段
[0007] 对于一般的以最小化最大完工时间makespan为目标的零等待流水线调度问题, 采用两步法来进行处理:第一步为临时分配阶段,即根据构造基本的零等待流水调度;第 二步为调整阶段,即尽可能的将后面的任务启动时间向前移,以减少最后一阶段上的空闲 时间。
[0008] 引入一个空间时间矩阵T,表示相邻的任务i和j在最后一个阶段Μ上的空闲 时间,只要知道每个任务在各单元上的处理时间,很容易计算出任意两个任务之间在最后 一个阶段Μ上的空闲时间ty。则调度目标最小化最大完工时间(:_等价于最小化最后一阶 段上机器的总空闲时间。借助于空闲时间矩阵T,如果把空闲时间矩阵中的元素看成是 两点之间的距离的话,则寻找最佳的调度排列等价于基于T寻找一条最短的路径,由于 是非对称的,因此原问题被转换成一个非对称旅行商问题,即ATSP。
[0009] (2)约束预处理
[0010] a.具有顺序依赖的准备时间的预处理方法
[0011] 对于具有顺序依赖的准备时间,任务间的准备时间与前后两任务的顺序相关,只 要确定了顺序,准备时间就确定了,可把其单独作为一个时间片处理,假设在前一个任务完 成后立即进行下一阶段的准备工作。再按准备工作阶段所述的二步法进行处理。在执行调 整阶段时,因准备时间的存在,会影响到后继任务前移的最长时间,准备时间看作前一任务 后续处理时间。
[0012] b.带有禁止转换和先序要求的预处理方法
[0013] 对于这两种情况都可采用类似罚函数的处理方法。若两个任务i,j之间禁止转 换,则将空闲时间矩阵的时间增量设置为一个很大的数C?。对于实际计算过程,不必再 考虑禁止转换约束,即对于含有禁止切换的候选解,仍然认为其是可行的。但对于含有禁止 切换的候选解,因任务间转换的时间很大,其目标函数值必然要劣于不含禁止切换的解,因 而并不会被选中,这样并不会影响算法最终的寻优结果。
[0014] 对于带有先序要求的调度问题,类似的上面的处理方法。在处理过程中,对于违反 先序要求的候选解仍然认为是可行的,只是在计算目标函数值时加上一个很大的数…作为 惩罚,这样导致这些解会因劣于不违反先序要求的解,而不会被选中,不会影响算法的寻优 结果。
[0015] c.跳过某些处理单元的预处理方法
[0016] 若某些任务跳过某些处理单元,仍然按所有的任务都需要经过所有的单元来对 待,若有任务要跳过的某个阶段,则只需要将其在该阶段的处理时间设置为〇即可。
[0017] (3)并行机建模
[0018] a.按不带并行机的情况进行处理。
[0019] b.进行软约束压缩调整,具体过程如下:
[0020] 压缩调整过程对于关键点在不具有并行设备的阶段其约束条件为硬约束,不能违 反。若关键点在具有并行机处理阶段的,则认为其约束为软约束,可以对其进行进一步采取 压缩处理。在并行处理的任务不超过并行处理机的个数的情况下,使得压缩后的关键时间 点转移到不含并行处理机的阶段上为止。
[0021] (4)构建空闲矩阵
[0022] 假设调度系统中有N个任务和Μ个处理阶段,调度的目标是最小化最大完成时间, 即生产周期,调度系统可以描述如下:

【权利要求】
1. 一种基于空闲矩阵的多约束无等待混合流水调度建模方法,其特征在于具体步骤 为: (1) 准备工作阶段 对于一般的以最小化最大完工时间makespan为目标的零等待流水线调度问题,采用 两步法来进行处理:第一步为临时分配阶段,即根据构造基本的零等待流水调度;第二步 为调整阶段,即尽可能的将后面的任务启动时间向前移,以减少最后一阶段上的空闲时间; 引入一个空间时间矩阵T,表示相邻的任务i和j在最后一个阶段Μ上的空闲时间,只 要知道每个任务在各单元上的处理时间,很容易计算出任意两个任务之间在最后一个阶段 Μ上的空闲时间ti;j ;则调度目标最小化最大完工时间Cmax等价于最小化最后一阶段上机器 的总空闲时间;借助于空闲时间矩阵T,如果把空闲时间矩阵中的元素看成是两点之间 的距离的话,则寻找最佳的调度排列等价于基于τ寻找一条最短的路径,由于是非对称 的,因此原问题被转换成一个非对称旅行商问题,即ATSP ; (2) 约束预处理 a. 具有顺序依赖的准备时间的预处理方法 对于具有顺序依赖的准备时间,任务间的准备时间与前后两任务的顺序相关,只要确 定了顺序,准备时间就确定了,可把其单独作为一个时间片处理,假设在前一个任务完成后 立即进行下一阶段的准备工作;再按准备工作阶段所述的二步法进行处理;在执行调整阶 段时,因准备时间的存在,会影响到后继任务前移的最长时间,准备时间看作前一任务后续 处理时间; b. 带有禁止转换和先序要求的预处理方法 对于这两种情况都可采用类似罚函数的处理方法;若两个任务i,j之间禁止转换,则 将空闲时间矩阵的时间增量设置为一个很大的数…;对于实际计算过程,不必再考虑 禁止转换约束,即对于含有禁止切换的候选解,仍然认为其是可行的;但对于含有禁止切换 的候选解,因任务间转换的时间很大,其目标函数值必然要劣于不含禁止切换的解,因而并 不会被选中,这样并不会影响算法最终的寻优结果; 对于带有先序要求的调度问题,类似的上面的处理方法;在处理过程中,对于违反先 序要求的候选解仍然认为是可行的,只是在计算目标函数值时加上一个很大的数…作为惩 罚,这样导致这些解会因劣于不违反先序要求的解,而不会被选中,不会影响算法的寻优结 果; c. 跳过某些处理单元的预处理方法 若某些任务跳过某些处理单元,仍然按所有的任务都需要经过所有的单元来对待,若 有任务要跳过的某个阶段,则只需要将其在该阶段的处理时间设置为〇即可; (3) 并行机建模 a. 按不带并行机的情况进行处理; b. 进行软约束压缩调整,具体过程如下: 压缩调整过程对于关键点在不具有并行设备的阶段其约束条件为硬约束,不能违反; 若关键点在具有并行机处理阶段的,则认为其约束为软约束,可以对其进行进一步采取压 缩处理;在并行处理的任务不超过并行处理机的个数的情况下,使得压缩后的关键时间点 转移到不含并行处理机的阶段上为止; (4) 构建空闲矩阵 假设调度系统中有N个任务和Μ个处理阶段,调度的目标是最小化最大完成时间,即生 产周期,调度系统可以描述如下:
其中
和I\m分别表示任务j在阶段m中的开始时间、结束时间和处理时间;按 照上面介绍的临时分配方法,两个任务间的空闲时间DT可以按下面公式计算获得;
SUi,^为任务i,j在阶段m中的顺序依赖的准备时间;由于生产周期指标仅依赖于每 个任务的完成时间,这里引入了一个空闲时间矩阵T,Tu表示任务i和j在最后一个阶段 Μ上的空闲时间,那么有
(5) 建立调度模型 对于任意一个排列Π = 有:
很容易看出,对所有的可行解来说total是一个常量; 原优化目标可以转换成以下形式:
因此,如果把空闲时间矩阵T看成一个距离矩阵的话,新的优化目标可以看成是基于T 来寻找一条最优的路径;因 T是非对称的,所以这是一个非对称旅行商模型。
【文档编号】G06Q10/06GK104217287SQ201410437295
【公开日】2014年12月17日 申请日期:2014年8月30日 优先权日:2014年8月30日
【发明者】董明刚, 程小辉, 牛秦洲, 叶汉民, 姜传贤 申请人:桂林理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1