1. 引言
作为典型的离散优化问题之一,排序问题在工业生产加工和各种涉及企业管理机制范围内,处处可见其用武之处。准时(Just-in-Time)排序生产原则在过去的三十年里引起了众多研究者高度重视,产生了丰富的研究成果。在准时排序生产方针框架下,每个任务都有一个工期,工期经过协议由消费者决定,或者是决策变量。工期有三种形式:(1) 所有任务具有相同的工期(公共工期:common due-date);(2) 每个任务具有不同的工期(不同工期:different due-date);(3) 每个任务的工期是处理时间的线性函数(松弛工期:slack due-date)。文献 [1] [2] 分别最先提出上诉三种工期,并分别给出了多项式时间最优解。文献 [3] 进一步把公共工期推广到工期窗口(due-date window),在窗口内完工的任务没有费用,而在窗口前或窗口后完工的任务分别有提前或延误费用。工期窗口(位置及大小)是决策变量,目标函数是由提前、延误和推迟窗口开始时间及窗口大小共同构成的费用之和。
在传统排序所研究的问题中,一般假定任务的处理时间是固定不变的,排在任何位置进行处理都取恒定常数。随着科技发展和技术的不断完善、企业实力的增强,管理者可以通过增加各类资源来缩短任务的处理时间。这种管理模式在文献中称为具有资源分配的可控处理时间问题。具有资源分配的排序问题在企业的生产加工中等实际环境中有广泛应用,最近二十多年来得到了学者们的大量研究,取得了丰富的研究成果。一般资源消费函数有两种:线性资源消费函数和凸资源消费函数。后者能够很好地反映边际效益递减这一广泛存在的经济规律,因而受到学者的重视。文献 [4] 比较全面地介绍了关于可控处理时间的研究论文。
在上面工期或工期窗口和各种机器及处理时间约定条件下,研究者取得了丰富的成果。文献 [5] 讨论工期指派排序问题,处理时间含学习效应和资源分配;文献 [6] 考虑单机工期窗口指派和资源分配问题,前提条件是具有公共流以及学习效应;文献 [7] 考虑带有公共交货期窗口和加工时间可控的单机排序问题;文献 [8] 在可控加工时间条件下研究具有退化效应的单机排序问题;文献 [9] 研究的单机窗口排序问题中,假设条件是与任务有关的截断学习效应以及凸资源共同决定处理时间;文献 [10] 在带有学习和退化效应假设下研究相同工期指派问题。得到了相应的最优算法。
在上面众多文献中,目标函数几乎都集中在与提前和延误等费用总和最小化方面。然而对于一种排序,所有任务费用中有一个最大费用,对最大费用最小化问题的研究有重要意理论意义。最大费用最小化对于评估生产系统的效率、对与生产管理过程中最坏情形度量和控制,以及平等对待所有代理商都有现实意义。
在文献中,将目标函数取作最大费用始于文献 [11]。文献 [12] 在松弛工期假设下讨论最大费用最小化问题,得到了简单最优算法。文献 [13] 在松弛工期假设下讨论两个竞争代理商最小化最大费用问题,给出了简单的多项式时间最优算法。 [14] [15] 分别考虑工期窗口指派最大费用最小化单机排序问题,得到了相应的多项式时间算法。
本文研究最大费用最小化的工期指派单机排序问题,其中任务处理时间是可控的。通过分配给任务一定的资源来缩短加工时间,使得生产系统获得最大效益。由于资源是有费用的,决策者同时还要考率控制使用资源的成本,这样一来会使得问题变得更加复杂化。与以往多数论文不同,我们同时考虑最大费用最小化,任务具有可控处理时间,任务的实际加工时间是所获得的资源量的凸函数,并且可利用的资源总量有上界限制。侧重考虑两个问题。第一个问题是在资源总量有上界的条件下,确定最优任务排序、最优公共工期以及资源分配方案,使得任务中最大费用最小化。第二个问题与第一个问题互补,其中资源总量没有限制,目的是在最大费用有上界限制条件下,求出最小资源总量、任务排序和公共工期及资源分配方案,使得资源总量最小。解决方法是将原问题转化为非线性凸规划问题进行处理,最后得到求解各自问题的最优算法。
2. 问题描述
假设管理者使用一台机器(处理机)用来处理n个不相关的任务(工件)
,所有任务在处理前均已到位等待处理。机器一次处理一个任务,并且要连续处理完,中间不允许中断。所有任务都有一个公共工期
,d是决策变量。任务如果在工期d之前或在之后完工,则分别有相应提前或延误费用;在时刻
完工则没有费用。用
表示任务
的实际加工时间,它是资源消耗量
的凸函给数,由下式给出
(1)
其中
为工件
的负荷,
是分配给工件
的资源数量,
是给定常数。定义
为在一个资源分配
下所确定的工件排序,
表示
的完工时间,
,
分别表示工件
的提前量和延迟量。以下用
表示排在位置j的工件,
分别表示
的完工时间、提前量和延迟量及获得的资源数量。
在确定的工件排序后,每个任务或者提前,或者延误,或者准时完工(这时没有费用),三者必居其一,其费用为
。总费用定义为
这里,提前、延误和推迟工期单位时间的费用分别记为
,均为给定的正数。
研究的第一个问题中,假设资源总量有上界限制,即在满足
的前提下,决定最优资源分配方案
、任务的最优排序
和最优工期d使得总费用
最小,其中
是可使用资源总量的上限。使用三参数表示法 [16] 可以表示如下
(2)
第二个问题与第一个问题互补,其中对资源总量U没有限制,目标是在最大费用有上界限制(即
)条件下(其中
是给定的常数),求出最小资源总量U、任务排序和公共工期及资源分配方案,使得资源总量U最小。用三参数表示法可表示如下
(3)
3. 问题P1的最优解
本节中给出问题P1的最优解。为此首先给出下述重要结论。这对得到最优算法是必要的。
引理1 [11] 对于给定的任务排序
和资源分配方案
最优工期d和目标函数Z分别为
(4)
(5)
其中
。
根据引理1,利用(1)的表达式
,问题P1转化为下述的非线性规划
(6)
(7)
引理2 对于给定的任务排序
,NPL1和NPL2的最优解
和最优目标函数值
分别为
(8)
(9)
其中
,
证明 以
为例加以证明,
时证明方法类似。由于(7)式给出的目标函数是关于决策变量
的凸函数,并且约束函数
也是关于
的凸函数,利用凸规划理论,可知最优资源
必使
,于是可使用Lagrange乘子法求解上述问题。假定任务排序
给定,则Lagrange函数表达式为
(10)
这里
表示Lagrange乘子。在(10)中,分别计算
对所有决策变量的一阶偏导数,再令它们为零,便可得到最优资源
所满足的必要条件如下
(11)
(12)
(13)
注意到是凸规划问题,因此上述条件也是充分条件。由(12),(13)得
(14)
由(14)得到
(15)
将(15)带入(11),得
(16)
将(16)带入(15)可得(8)。其中
,
最后将(8)中后两式带入NPL2中目标函数Z得到(9)式。引理证毕。
引理3 [17] 给定两个正数列
和
,
。把
按不减顺序排列,再把
按不增顺序排列,可使得对应项乘积的和
达到最小值。
根据上面分析和引理2、引理3,问题P1可由下述算法求解。
算法1 输入数据
第一步 计算
,根据引理3,将任务
排在首位,其余任务顺序任意,得到最优任务排序
第二步 由(8)计算出最优资源分配
第三步 由(4)计算最优公共工期
第四步 由(9)计算出最优目标值
。
定理1 使用算法1可以在
时间内求出问题P1的最优解。
证明 上面一系列分析可以保证定理1结论的正确性。第一步时间复杂性为
,第二步的时间复杂性同为
,第三、四步需要
时间。于是求解问题P1的总的时间复杂性是
。定理证毕。
以下算例1说明算法1的运算过程。
算例1 给定问题参数
,任务负荷
。
第一步计算
,根据引理3得到最优任务排序
。。
情形1 取
。由于
,故利用(8)求出最优资源分配
。由(9)求出最优目标函数值
,其中
。由(4)求出最优
。
情形2 取
。由于
,
,最优任务排序还是
不变,
。由(8)求出最优资
源分配
。由(9)求出最优目标
函数值
。由(4)求出最优
。
4. 问题P2的最优解
本节中给出问题P2的最优解,在最大费用有上界条件
下展开。首先,利用上一节的相应结果,问题P2可以转换为下述两个非线性规划。
(17)
(18)
引理4 对于给定的任务排序
,非线性规划NLP3,NLP4的最优解
和最优目标函数值
分别为
(19)
(20)
证明 以
为例加以证明,
时证明方法类似。由于(18)式给出的目标函数
是关
于
的凸函数,并且约束函数
也是关于
的凸函数,利用
凸规划理论,可知最优资源
必在边界
上取得,于是可使用Lagrange乘子法求解。假定任务排序
已经给定,则Lagrange函数为
(21)
这里
表示Lagrange乘子。在(21)中,分别计算
对所有决策变量的一阶偏导数,再令它们等于零,便可得到最优资源
所满足的必要条件如下
(22)
(23)
(24)
注意到是凸规划问题,因此上述条件也是充分条件。由(23),(24)可得
(25)
由(25)得到
(26)
将(26)带入(22),得
(27)
将(27)带入(26)可得(19)后两行。将(19)带入
可得(20)。引理证毕。
根据引理3、引理4,我们有如下结论:如果
,由于
是与任务排序无关的常数,因此任意排序都是最优的。如果
,注意到
皆为常数,因此只需最小化
。注意到
,根据引理3可知将最大的
对应的任务排在首位,其余任务顺序任意,可得最优排序。根据上面分析可得问题P2如下算法。
算法2 输入数据
第一步 计算
,根据引理3,将任务
排在首位,其余任务顺序任意,得到最优任务排序
第二步 由(19)计算出最优资源分配
第三步 由(4)计算最优公共工期
第四步 由(20)计算出最优目标值
。
定理2 使用算法2可以在
时间内得到问题P2的最优解。
证明 上述全面的分析保证定理2结论的正确性。其中第一、二步所需时间都是
,第三、四步的计算时间同为
。因此求解问题P2的总时间为
。定理证毕。
以下算例2说明算法2的运算过程。
算例2 给定问题参数
,任务负荷为
。
计算
,根据引理3,得到最优任务排序
。
情形1 取
。由于
,故利用(19)求出最优资源分配
。由(20)求出最优目标函数值
,其中
。由(4)求出最优
。
情形2 取
,由于
,
,最优任务排序
不变,
。利用(19)求出最优资源分配
。由(20)求出最优目标
函数值
。由(4)求出最优
。
5. 结论
本文研究最大费用最小化的工期指派单机排序问题,其中任务处理时间是可控的。目标是分别在资源总量有限和总费用受限的条件下确定,确定最优任务排序、最优公共工期以及资源分配方案,使得任务中最大费用最小化。解决本问题方法分为两步:首先把研究的问题转化为非线性凸规划问题,运用凸优化理论进行处理;其次利用匹配算法求得最优任务排序,进一步得到最优工期、最优资源分配方案等。作为总结提供了最优算法。用两个实例分别说明算法的运算过程和有效性。
未来研究可以考虑将本文问题推广到工期窗口情形,或者任务处理时间是与位置有关的凸函数情形。新问题将会更复杂,从而具有挑战性和实际应用意义。
基金项目
国家自然科学基金项目(11171050)资助。