system: [SYSTEM]

user: 3. 主要结论 引理1：存在一个最优工件序列，从第一个工件开始加工到最后一个工件结束，机器加工无空闲，且第一个工件在零时刻开始加工。 证明：与Brucker [ 8 ] 的证明方法类似，如果机器在加工工件的过程中存在空闲时间，则可以通过减少空闲时间到0，而使目标函数 F ( π ， d ) = ∑ i = 1 n w i | C π ( i ) − d | + w 0 d + w n + 1 ∑ i = 1 n C π ( i ) 不增加，得证。 引理2：对于给定的序列 π = [ J π ( 1 ) ， J π ( 2 ) ， ⋯ ， J π ( n ) ] ，最优的决策变量d等于某个工件的完工时间，即 d = C π ( k ) ，其中k是使不等式 ∑ j = 0 k − 1 w j ≤ ∑ j = k n w j ， ∑ j = 0 k w j ≥ ∑ j = k + 1 n w j 成立的某个整数。 证明：与Brucker [ 8 ] 的证明方法类似。假设 C π ( k ) < d < C π ( k + 1 ) ，则可通过调整d，使其等于某个工件的完工时间，从而使目标函数 F ( π ， d ) = ∑ i = 1 n w i | C π ( i ) − d | + w 0 d + w n + 1 ∑ i = 1 n C π ( i ) 不增加，得到矛盾。 引理3：问题 1 | C O N ， T L E | ∑ i = 1 n w i | C π ( i ) − d | + w 0 d + w n + 1 ∑ i = 1 n C π ( i ) 的目标函数可以写为 F ( π ， d ) = ∑ i = 1 n w i | C π ( i ) − d | + w 0 d + w n + 1 ∑ i = 1 n C π ( i ) = ∑ i = 1 n ϑ i p π ( i ) A ，其中 p π ( i ) A 为排在第i个位置的实际加工时间， ϑ i = { w 0 + ∑ l = 1 i − 1 w l + ( n − i + 1 ) w n + 1 ， i = 1 ， 2 ， ⋯ ， k ∑ l = i n w l + ( n − i + 1 ) w n + 1 ， i = k + 1 ， k + 2 ， ⋯ ， n (4) 证明：假设给定最优工件序列为 π = [ J π ( 1 ) ， J π ( 2 ) ， ⋯ ， J π ( n ) ] 和 d = C π ( k ) ，可知 F ( π ， d ) = ∑ i = 1 n w i | C π ( i ) − d | + w 0 d + w n + 1 ∑ i = 1 n C π ( i ) = ∑ i = 1 k − 1 w i ( C π ( k ) − C π ( i ) ) + ∑ i = k + 1 n w i ( C π ( i ) − C π ( k ) ) + w 0 C π ( k ) + w n + 1 ∑ i = 1 n C π ( i ) = ∑ i = 1 k − 1 w i ( ∑ l = i + 1 k p π ( l ) A ) + ∑ i = k + 1 n w i ( ∑ l = k + 1 i p π ( l ) A ) + w 0 ∑ l = 1 k p π ( l ) A + w n + 1 ∑ i = 1 n ( n − i + 1 ) p π ( i ) A = ∑ i = 1 n ϑ i p π ( i ) A 其中 ϑ i = { w 0 + ∑ l = 1 i − 1 w l + ( n − i + 1 ) w n + 1 ， i = 1 ， 2 ， ⋯ ， k ∑ l = i n w l + ( n − i + 1 ) w n + 1 ， i = k + 1 ， k + 2 ， ⋯ ， n 。 由引理3可知 F ( π ， d ) = ∑ i = 1 n ϑ i p π ( i ) A = ∑ i = 1 n ϑ i p ¯ π ( i ) max { i a π ( i ) ， b π ( i ) } (5) 显然(5)式的极小化问题可以转化为指派问题。令 C i h = ϑ h p ¯ i max { h a i ， b i } (6) 和 x i h = { 1 ， 如 果 工 件 J i 排 在 第 h 个 位 置 ， 0 ， 否 则 ， (7) 则调度问题 1 | C O N ， T L E | ∑ i = 1 n w i | C π ( i ) − d | + w 0 d + w n + 1 ∑ i = 1 n C π ( i ) 的最优调度可以用如下的指派问题得到。 min ∑ i = 1 n ∑ h = 1 n C i h x i h (8) s.t. ∑ h = 1 n x i h = 1 ， i = 1 ， 2 ， ⋯ ， n (9) ∑ i = 1 n x i h = 1 ， h = 1 ， 2 ， ⋯ ， n (10) x i h = 0 或 1 ，   i ， h = 1 ， 2 ， ⋯ ， n (11) 由以上分析，可以给出问题 1 | C O N ， T L E | ∑ i = 1 n w i | C π ( i ) − d | + w 0 d + w n + 1 ∑ i = 1 n C π ( i ) 的解决算法。 算法1： 步骤1：根据引理2计算出k的值； 步骤2：根据(6)计算出 C i h ； 步骤3：求解指派问题(8)~(11)，得到工件的最优调度及最小的目标函数值； 步骤4：由 d = C π ( k ) 得到共同工期。 定理1：问题 1 | C O N ， T L E | ∑ i = 1 n w i | C π ( i ) − d | + w 0 d + w n + 1 ∑ i = 1 n C π ( i ) 可由算法1解决且算法的时间复杂度为 O ( n 3 ) 。 证明：定理的正确性由引理1~3和上面的分析能得到。算法1中步骤1和步骤4的时间复杂度分别为 O ( n ) ，步骤2的时间复杂度为 O ( n 2 ) ，步骤3指派问题的时间复杂度为 O ( n 3 ) ，因此算法1的时间复杂度为 O ( n 3 ) 。 下面考虑一特殊情况，解决该调度问题的时间复杂性会降低，即特殊情况： a i = a ， b i = b ， i = 1 ， 2 ， ⋯ ， n ， ( a ≤ 0 ， 0 < b ≤ 1 ) ，则目标函数为 F ( π ， d ) = ∑ i = 1 n ϑ i p π ( i ) A = ∑ i = 1 n ϑ i p ¯ π ( i ) max { i a ， b } (12) 令 β i = ϑ i max { i a ， b } ，则 F ( π ， d ) = ∑ i = 1 n ϑ i p π ( i ) A = ∑ i = 1 n β i p ¯ π ( i ) ，由Hardy等 [ 9 ] 得，式子 ∑ i = 1 n β i p ¯ π ( i ) 的最小值，能够通过两个序列 { β i } 和 { p ¯ π ( i ) } 的相反序列匹配得到。 由(12)和上面分析，问题 1 | C O N ， T L E | ∑ i = 1 n w i | C π ( i ) − d | + w 0 d + w n + 1 ∑ i = 1 n C π ( i ) 的特殊情况 a i = a ， b i = b ， i = 1 ， 2 ， ⋯ ， n ，可由下面的算法解决。 算法2： 步骤1：根据引理2计算出k的值； 步骤2：计算出 α i = ϑ i max { i a ， b } ； 步骤3：按照最小的 β i 与最大的 p ¯ i 匹配，第二小的 β i 与第二大的 p ¯ i 匹配，依次进行下去，直到结束，从而求得工件的最优调度及最小的目标函数值； 步骤4：由 d = C π ( k ) 得到共同工期。 定理2：问题 1 | C O N ， T L E ， a i = a ， b i = b | ∑ i = 1 n w i | C π ( i ) − d | + w 0 d + w n + 1 ∑ i = 1 n C π ( i ) 可由算法2解决且算法的时间复杂度为为 O ( n log n ) 。 证明：算法1中步骤1，2和步骤4的时间复杂度分别为 O ( n ) ，步骤3的时间复杂度为 O ( n log n ) ，因此算法2总的时间复杂度为 O ( n log n ) 。