留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

订单可拆开加工的两代理分批调度问题

上一篇

下一篇

刘甲玉, 耿志超. 订单可拆开加工的两代理分批调度问题[J]. 西南师范大学学报(自然科学版), 2022, 47(1): 21-27. doi: 10.13718/j.cnki.xsxb.2022.01.004
引用本文: 刘甲玉, 耿志超. 订单可拆开加工的两代理分批调度问题[J]. 西南师范大学学报(自然科学版), 2022, 47(1): 21-27. doi: 10.13718/j.cnki.xsxb.2022.01.004
LIU Jiayu, GENG Zhichao. Two-Agent Parallel-Batch Scheduling with Split Orders[J]. Journal of Southwest China Normal University(Natural Science Edition), 2022, 47(1): 21-27. doi: 10.13718/j.cnki.xsxb.2022.01.004
Citation: LIU Jiayu, GENG Zhichao. Two-Agent Parallel-Batch Scheduling with Split Orders[J]. Journal of Southwest China Normal University(Natural Science Edition), 2022, 47(1): 21-27. doi: 10.13718/j.cnki.xsxb.2022.01.004

订单可拆开加工的两代理分批调度问题

  • 基金项目: 国家自然科学基金项目(11771406)
详细信息
    作者简介:

    刘甲玉,讲师,硕士,主要从事组合数学研究 .

    通讯作者: 耿志超,讲师,博士
  • 中图分类号: O224

Two-Agent Parallel-Batch Scheduling with Split Orders

  • 摘要: 研究平行批机器环境下两代理调度问题. 其中,来自两个代理的订单竞争使用同一机器资源,所有订单均可拆分并在相邻的批中加工,目标是寻找一个调度方案,使得在保证其中一个代理的所有订单的最大加工费用不超过预算的条件下,最小化另一个代理的所有订单的平均完工时间. 本文证明了此问题是NP难的,并对它的一种特殊情形给出了一个基于动态规划的多项式时间算法.
  • 加载中
  • [1] LEE C Y, UZSOY R, MARTIN-VEGA L A. Efficient Algorithms for Scheduling Semiconductor Burn-in Operations[J]. Operations Research, 1992, 40(4): 764-775. doi: 10.1287/opre.40.4.764
    [2] ALLAHVERDI A, NG C T, CHENG T C E, et al. A Survey of Scheduling Problems with Setup Times or Costs[J]. European Journal of Operational Research, 2008, 187(3): 985-1032. doi: 10.1016/j.ejor.2006.06.060
    [3] ALLAHVERDI A. The Third Comprehensive Survey on Scheduling Problems with Setup Times/Costs[J]. European Journal of Operational Research, 2015, 246(2): 345-378. doi: 10.1016/j.ejor.2015.04.004
    [4] ZHANG E, LIU M, ZHENG F F, et al. Single Machine Lot Scheduling to Minimize the Total Weighted (Discounted) Completion Time[J]. Information Processing Letters, 2019, 142: 46-51. doi: 10.1016/j.ipl.2018.10.002
    [5] HOU Y T, YANG D L, KUO W H. Lot Scheduling on a Single Machine[J]. Information Processing Letters, 2014, 114(12): 718-722. doi: 10.1016/j.ipl.2014.06.016
    [6] doi: http://www.sciencedirect.com/science?_ob=ShoppingCartURL&_method=add&_eid=1-s2.0-S0305054816302520&originContentFamily=serial&_origin=article&_ts=1477217214&md5=1c7141557cfca1f3bc1ab06dae8cbecd YANG D L, HOU Y T, KUO W H. A Note on a Single-Machine Lot Scheduling Problem with Indivisible Orders[J]. Computers & Operations Research, 2017, 79: 34-38.
    [7] BAKER K R, COLE SMITH J. A Multiple-Criterion Model for Machine Scheduling[J]. Journal of Scheduling, 2003, 6(1): 7-16. doi: 10.1023/A:1022231419049
    [8] AGNETIS A, MIRCHANDANI P B, PACCIARELLI D, et al. Scheduling Problems with Two Competing Agents[J]. Operations Research, 2004, 52(2): 229-242. doi: 10.1287/opre.1030.0092
    [9] AGNETIS A, BILLAUT J C, GAWIEJNOWICZ S, et al. Multiagent Scheduling[M]. Berlin: Springer, 2014.
    [10] YUAN J J, NG C T, CHENG T C E. Scheduling with Release Dates and Preemption to Minimize Multiple Max-Form Objective Functions[J]. European Journal of Operational Research, 2020, 280(3): 860-875. doi: 10.1016/j.ejor.2019.07.072
    [11] ZHANG X G, WANG Y. Two-Agent Scheduling Problems on a Single-Machine to Minimize the Total Weighted Late Work[J]. Journal of Combinatorial Optimization, 2017, 33(3): 945-955. doi: 10.1007/s10878-016-0017-9
    [12] ZHANG Y, YUAN J J. A Note on a Two-Agent Scheduling Problem Related to the Total Weighted Late Work[J]. Journal of Combinatorial Optimization, 2019, 37(3): 989-999. doi: 10.1007/s10878-018-0337-z
    [13] LI S S, YUAN J J. Single-Machine Scheduling with Multi-Agents to Minimize Total Weighted Late Work[J]. Journal of Scheduling, 2020, 23(4): 497-512. doi: 10.1007/s10951-020-00646-7
    [14] 王申重, 张新功. 基于截断学习效应和时间相关的供应链排序问题[J]. 西南大学学报(自然科学版), 2020, 42(1): 44-50. doi: https://www.cnki.com.cn/Article/CJFDTOTAL-XNND202001008.htm
    [15] 王申重. 基于一般时间相关和位置相关的单机排序问题研究[J]. 重庆师范大学学报(自然科学版), 2017, 34(2): 6-10. doi: https://www.cnki.com.cn/Article/CJFDTOTAL-CQSF201702001.htm
    [16] 白静, 刘璐, 王吉波. 具有截断学习效应和工件带准备时间的单机排序问题[J]. 运筹与管理, 2014, 23(6): 152-156. doi: 10.3969/j.issn.1007-3221.2014.06.021
    [17] GAREY M R, JOHNSON D S. Computers and Intractability: A Guide to the Theory of NP-Completeness[M]. SIAM Review, 1982, 24(1): 90-91.
  • 加载中
计量
  • 文章访问数:  365
  • HTML全文浏览数:  365
  • PDF下载数:  45
  • 施引文献:  0
出版历程
  • 收稿日期:  2020-04-23
  • 刊出日期:  2022-01-20

订单可拆开加工的两代理分批调度问题

    通讯作者: 耿志超,讲师,博士
    作者简介: 刘甲玉,讲师,硕士,主要从事组合数学研究
  • 1. 河南交通职业技术学院 公共基础教学部,郑州 450001
  • 2. 郑州大学 数学与统计学院,郑州 450001
基金项目:  国家自然科学基金项目(11771406)

摘要: 研究平行批机器环境下两代理调度问题. 其中,来自两个代理的订单竞争使用同一机器资源,所有订单均可拆分并在相邻的批中加工,目标是寻找一个调度方案,使得在保证其中一个代理的所有订单的最大加工费用不超过预算的条件下,最小化另一个代理的所有订单的平均完工时间. 本文证明了此问题是NP难的,并对它的一种特殊情形给出了一个基于动态规划的多项式时间算法.

English Abstract

  • 现代生产企业为提高生产效率普遍采用分批加工模式,即在多个车间或机器上同时加工一定数量的产品或零部件. 比如,在半导体加工厂里集成电路板耐热测试的熔断工序[1]中,测试容器可以同时处理大量的电路板. 关于分批调度的研究已有大量结果[2-3]. 本文关注如下的实际生产情形:某加工厂接到了来自两个客户的多个订单,每个订单对应于不同类型的产品或同一类型产品的不同款式,每个订单中的产品数量不同;两个客户对其订单有不同的期望和要求,其中一个客户期望为其各个订单支付的加工费用均衡化(本文用最小化最大加工费用表示),而另一客户期望其各个订单均尽早交付(本文用最小化完工时间之和表示). 每个订单均可分拆成多个部分并连续地在相邻的批中加工.

    文献[4-6]研究了订单可拆分加工的分批调度问题,但均是针对单个代理情形,而本文将在两个竞争代理的背景下研究相关问题.

    多代理排序问题最早是由文献[7-8]提出的. 针对两个代理的多个不同的目标函数组合,文献[7]研究了两个代理的目标函数的加权和问题,设计了多项式时间算法并证明了NP难性;而文献[8]研究了限制问题,即在满足不超过一个代理目标函数的门槛值的条件下,使另一个代理的目标函数最小化,同时也研究了几个Pareto优化问题,设计的算法能够在多项式时间内枚举所有Pareto最优点,并为每个Pareto最优点找到一个对应的Pareto最优解. 文献[9]中将多代理模型分类为:竞争代理模型(CO)、非不交代理模型(ND)、Interfering代理模型(IN)、多指标代理模型(MU),并对多代理排序问题的研究结果进行了详细的综述. 文献[10]研究了单机、工件有到达时间并允许中断且具有多个瓶颈指标的情形下的相关多代理排序问题,给出了多项式时间算法或证明了NP难性. 该论文在求解多指标折中排序的方法上有巨大创新. 文献[11-12]研究了在满足其中一个代理的最大费用不超过给定常数的条件下最小化另一个代理的总误工量的排序问题,给出了拟多项式时间算法. 文献[13] 研究了最小化总的加权误工量的多代理折衷指标排序问题,证明了当代理的个数是变量时问题是强NP难的,当代理的个数是固定值时问题是NP难的,并设计了拟多项式时间算法和完全多项式时间近似方案. 更多相关工作可参见文献[14-16].

  • 本文研究的问题正式描述如下:两个代理(A和B)分别有工件(排序论中,常用工件表示诸如“订单”等加工任务)集合JA={J1AJ2A,…,JnAA}和JB={J1BJ2B,…,JnBB},其中nAnB分别表示代理A和代理B的工件数,且JAJB=φ. 两个代理竞争使用同一台机器加工各自工件. 每个工件JjX(X∈{A,B})有相同的长度或加工时间p,不同的尺寸(对应于订单中产品数量)qjX. 此外,代理B的每个工件JjB还有一个费用函数fjB(t). 本文假设所有费用函数fjB(t),1≤jnB均是正则的,即是关于完工时间t的非减函数. (平行批)机器分批加工工件,容量为b. 每一批的加工时间均为p. 工件都可以拆分为多个部分并连续地在机器上加工. 要求在同一批内加工的工件(或部分)的总尺寸不超过机器容量,且对被拆分的工件,每一部分一旦完工立刻交付. 假设qjXb < ∑JjXJAJBqjX,则每个工件或完全在某批中加工,或被拆分成两部分并在两个相邻批中加工. 但是,由于化学性质等因素影响,假设来自不同代理的工件不能安排在同一批内加工.

    σ为任一可行排序(调度又称排序). 在σ中,若工件JjXX∈{A,B}完全在代理B的第k批工件中加工,则定义其完工时间CjX(σ)与加工费用fjX(σ)为

    若工件JjXX∈{A,B}被拆分为两部分,其中一部分(尺寸为αjX)在第kψk中加工,剩下的部分(尺寸为qjXαjX)在第k+1批ψk+1中加工,则定义其完工时间CjX(σ)与加工费用fjX(σ)为

    进而用∑1≤jnACjA(σ)表示代理A的工件的完工时间之和,用fmaxB(σ)=max1≤jnBfjB(σ)表示代理B的工件的最大加工费用. 采用文献[7]的记号,本文考虑的问题可表示为

    其中:1代表一台批机器;β代表工件特征,蕴含工件可拆分、不同代理的工件不相容等信息;最后一部分代表目标函数,具体地,在满足代理B的工件的最大加工费用fmaxB不超过门槛值Q的条件下,最小化代理A的工件的完工时间之和∑CjA.

    注意,由于目标函数∑CjAfmaxB都是正则的,所以在下文中只需考虑满足如下性质的可行排序即可:①从零时刻开始一批接一批地连续加工,相邻批之间不存在空闲时间;②除了最后一批以外,每一批都填满了工件,即该批中工件(或部分)的总尺寸等于机器容量.

  • 本节首先证明一般情形问题1|β|∑CjAfmaxBQ是NP难的,然后对其中一种特殊情形给出多项式时间算法.

  • 本小节首先描述著名的NP完全问题[17]——等规模划分问题(equal size partition,ESP)的一种限制形式(restricted equal size partition,RESP),并通过将ESP多项式归结为RESP,证明RESP也是NP完全问题. 接着,将RESP多项式归结为问题1|β|∑CjAfmaxBQ,从而证明1|β|∑CjAfmaxBQ是NP难的.

    1) ESP问题. 给定2m+1个正整数a1a2,…,a2mC,满足∑1≤j≤2maj=2C,问是否存在指标集{1,2,…,2m}的一个划分(I1I2),使得∑jI1aj=∑jI2aj=C且|I1|=|I2|?

    2) RESP问题. 给定2m+1个正整数a1a2,…,a2mC,满足∑1≤j≤2maj=2C,且对任意的1≤j≤2m,有$ \frac{\bar{C}}{m+1} \leqslant \bar{a}_{j} \leqslant \frac{\bar{C}}{m-1} $. 问是否存在指标集{1,2,…,2m}的一个划分(I1I2),使得∑jI1aj=∑jI2aj=C且|I1|=|I2|?

    引理1  RESP是NP完全问题.

      显然,RESP属于NP类. 令(a1a2,…,a2mC)为ESP的一个实例. 不失一般性,可假设m≥2且a1a2≤…≤a2m. 定义RESP的实例(a1a2,…,a2mC)如下:

    由(3)式可知,Δ>C-(m+1)a1Δ>(m-1)a2mC,也有$ a_{1}>\frac{C-\varDelta}{m+1}, a_{2 m}<\frac{C+\varDelta}{m-1} $,于是

    进而,因a1a2≤…≤a2m,故对任意1≤j≤2m,有

    又由于

    因此,上面构造的实例确实是问题RESP的一个实例.

    明显地,上述实例的构造可以在多项式时间内完成,并且(a1a2,…,a2mC)是ESP的YES实例当且仅当(a1a2,…,a2mC)是RESP的YES实例.

    注意到,由于所有费用函数fjB(t),1≤jnB都是正则的,所以,对于给定的门槛值Q,“条件fmaxBQ”等价于“代理B的每个工件JjB,1≤jnB都有一个截止交货期(最迟完工时间)djB”. 具体地,定义

    因而,本文研究的问题也可等价表示为1|βdjB|∑CjA.

    引理2  问题1|βdjB|∑CjA是NP困难的.

      显然,此排序问题的判定形式属于NP类. 给定RESP的一个实例(a1a2,…,a2mC),定义排序问题的实例如下:

    1) 共有n=2m+1个工件J1J2,…,J2m+1,其中,前2m个工件均属于代理A,只有最后一个工件属于代理B. 所有工件的加工时间均为1. 工件Jj(1≤j≤2m)的尺寸为qj=aj,工件J2m+1的尺寸为q2m+1=C. 工件J2m+1的截止交货期为d2m+1=2.

    2) 机器容量为b=C. 设置门槛值QA=4m.

    对于上述排序实例,问题1|βdjB|∑CjA的判定形式可描述为:是否存在可行排序σ使得∑CjA(σ)≤QA

    明显地,上述实例的构造过程可以在多项式时间内完成. 接下来,证明(a1a2,…,a2mC)是RESP的YES实例当且仅当上面构造的排序实例存在可行排序σ使得∑CjA(σ)≤QA.

    首先,假设(a1a2,…,a2mC)是RESP的YES实例,则存在指标集{1,2,…,2m}的一个划分(I1I2),使得∑jI1aj=∑jI2aj=C且|I1|=|I2|=m. 令ψ1={JjjI1},ψ2={J2m+1},ψ3={JjjI2}. 定义排序σ=(ψ1ψ2ψ3). 对于σ,代理B的唯一工件J2m+1的完工时间C2m+1(σ)=2=d2m+1,代理A的工件的完工时间之和为

    因此,σ是排序实例满足要求的可行排序.

    接着,假设排序实例存在可行排序σ使得∑CjA(σ)≤QA. 由工件J2m+1的尺寸和截止交货期以及工件的可拆分性可知,在σ中只有如下3种情形可能发生:

    情形1  J2m+1完全填满第一批ψ1,即ψ1={J2m+1}. 则其他(属于代理A)工件将填满第二批ψ2和第三批ψ3,可能会有某个工件被拆分成两部分,一部分在ψ2,另一部分在ψ3. 由于$ \frac{\bar{C}}{m+1} \leqslant \bar{a}_{j} \leqslant \frac{\bar{C}}{m-1}, b=\bar{C}$,故ψ2中至多包含m个完整工件和某个工件的一部分,ψ3至少包含m-1个完整工件和某个工件的一部分. 因而,代理A的工件的完工时间之和为

    这与假设∑CjA(σ)≤QA相矛盾,故此种情形不会发生.

    情形2  J2m+1被拆分成两部分,其中一部分在第一批ψ1,另一部分在第二批ψ2. 由于来自不同代理的工件不能在同一批中加工,故其他工件将填满第三批ψ3和第四批ψ4,可能会有某个工件被拆分成两部分,其中一部分在ψ3,另一部分在ψ4. 类似情形1中结尾部分的证明,可得

    与假设∑CjA(σ)≤QA相矛盾,故此种情形也不会发生.

    情形3  J2m+1完全填满第二批ψ2,即ψ2={J2m+1}. 则代理A的工件将会被安排在第一批ψ1和第三批ψ3,也可能有工件全部或部分在第四批ψ4. 进一步,假设在ψ1中加工的工件的总尺寸小于机器容量b. 由于代理A的工件的尺寸之和为2C=2b,故一定会有某个工件全部或部分被安排在了ψ4. 因为ψ1ψ3各自至多包含m个完整工件,所以代理A的工件的完工时间之和为

    这再次与假设∑CjA(σ)≤QA相矛盾,故在ψ1中加工的工件的总尺寸恰好等于机器容量b,自然地,ψ3中加工的工件的总尺寸也等于机器容量b. 又由$ \frac{\bar{C}}{m+1} \leqslant \bar{a}_{j} \leqslant \frac{\bar{C}}{m-1}, b=\bar{C} $可知,ψ1ψ3中各自包含了m个工件. 定义I1={jJjψ1},I2={jJjψ3}. 明显地,(I1I2)构成了指标集{1,2,…,2m}的一个划分,使得∑jI1aj=∑jI2aj=C且|I1|=|I2|=m.

    由引理2可直接得到下面的定理.

    定理1  问题1|β|∑CjAfmaxBQ是NP-难的.

  • 本小节考虑问题1|β|∑CjAfmaxBQ的一个特殊情形:代理A的所有工件有相同的尺寸qjA=q,1≤jnA. 相应地,此特殊情形记为1|βqjA=q|∑CjAfmaxBQ. 对该问题,我们给出一个动态规划算法.

    对于给定的门槛值Q,“条件fmaxBQ”等价于“代理B的每个工件JjB,1≤jnB都有一个截止交货期(最迟完工时间)djB”. 因而,本节研究的问题也可等价地表示为

    引理3  问题1|βqjA=qdjB|∑CjA存在最优解,使得代理B的工件按截止交货期djB由小到大的顺序加工,而代理A的工件按任意顺序加工.

      任取问题的一个最优解σ. 假设在σ中存在代理B的两个工件JiBJjBdiB < djB,但JjB排在JiB的前面. 可以将JjB移至紧挨在JiB之后,记新得到的排序为σ′. 比较排序σσ′可知,σ中排在JjB之前以及排在JiB之后的每个工件保持其完工时间不变;σ中排在JjBJiB之间的工件(除了JjB)的完工时间减小或者保持不变;对于工件JjB,有

    由上述分析可知,在新排序σ′中,代理B的所有工件仍然满足截止日期的要求,代理A的工件的完工时间之和没有增加. 因此,σ′也是问题的一个最优排序. 接着,如果σ′仍然不具有引理中描述的最优解的结构,则重复上面的移动操作. 经过有限次重复操作后,将会得到一个满足条件的最优解.

    依据引理3,可以给出如下求解问题1|βqjA=q|∑CjAfmaxBQ的动态规划算法(DP算法):

    1) 利用公式djB=max{T:当tT时,fjB(t)≤Q;当t>T时,fjB(t)>Q},计算代理B的每个工件的截止交货期;

    2) 将代理B的工件按照截止交货期由小到大的顺序重新标号(截止交货期相同的工件任意标号),使得d1Bd2B≤…≤dnBB

    3) 令TC(ij)表示由代理A的前i(1≤inA)个工件J1AJ2A,…,JiA和代理B的前j(1≤jnB)个工件J1BJ2B,…,JjB构成的子问题的最优排序中代理A的工件的完工时间之和. 初始值设置为TC(1,0)=pTC(0,1)=0;

    4) 递归关系:

    5) 最优值为TC(nAnB),最优解可通过反向追踪找到.

    定理2  DP算法是问题1|βqjA=q|∑CjAfmaxBQ的最优算法,其运行时间为O(nAnB+nBmax{lognB,logQ}).

      由引理3,可通过求解一系列子问题的最优解并利用动态规划原理求解原问题. 对由代理A的前i(1≤inA)个工件J1AJ2A,…,JiA和代理B的前j(1≤jnB)个工件J1BJ2B,…,JjB构成的子问题而言,在其最优排序中排在最后位置的工件只可能是JiAJjB. 当最后位置安排JiA时,JiA的完工时间为

    于是TC(ij)=TC(i-1,j)+CiA;当最后位置安排JjB时,TC(ij)=TC(ij-1). 因而

    根据动态规划原理,DP算法能最优求解问题1|βqjA=q|∑CjAfmaxBQ.

    接下来,分析算法的运行时间. 在DP算法中,步骤1)对于给定的门槛值Q,计算代理B的每个工件的截止交货期,需要采用二元搜索方法花费O(logQ)时间完成,于是,计算代理B的所有工件的截止交货期共需花费O(nBlogQ)时间;步骤2)对代理B的工件按截止交货期由小到大重新标号需要花费O(nBlognB)时间;步骤3)-5)是动态规划的迭代执行过程,至多需进行nAnB次迭代,每次迭代可以在常数时间完成,于是,总共花费O(nAnB)时间. 综合上面的分析,DP算法的运行时间为

  • 本文研究了工件可拆分的多代理分批调度问题,目标函数是在满足不超过一个代理的最大加工费用预算条件下,最小化另一个代理的工件的完工时间之和. 证明了此问题是NP难的,并对该问题的一个特殊情形给出了多项式时间算法. 未来,可进一步研究其他目标函数,如加权完工时间等问题.

参考文献 (17)

目录

/

返回文章
返回