system: [SYSTEM]

user: 2. 考虑资源转移成本的模糊资源受限多项目调度问题 2.1. 问题描述 在考虑资源转移成本的模糊资源受限多项目调度问题中，我们假设多项目调度问题由m个项目构成，其中项目p包括 J p 个实工序和 两个虚拟开始工序和虚拟结束工序，多项目问题除包含所有单项目的工序外，还包含整体的虚拟开始工序和虚拟结束工序。工序间的紧前关系约束可以由一个活动节点网络图来表示，除了多项目整体的虚拟开始工序和虚拟结束工序外，工序间的紧前关系约束仅存在于各个单项目内部，不存在于不同项目间。在调度过程中，我们对所有工序进行重新编号，工序1为多项目整体的虚拟开始工序，工序n为多项目整体的虚拟结束工序。虚拟工序 s 0 和 e 0 可以理解为资源池，调度开始前所有资源储存在 s 0 ，调度完成后所有资源转移至 e 0 ，且转移时间均为0。各个项目的合同时间主要以项目的关键链为基础，并由专家讨论决定。资源转移时间和工序持续时间均为三角模糊数，资源r从工序i转移到工序j所需的时间 Δ i j r ˜ = ( Δ i j r L ， Δ i j r M ， Δ i j r U ) ， Δ i j r L ， Δ i j r M ， Δ i j r U 分别表示可能的最短传递时间、最可能的传递时间和可能的最长传递时间，工序的持续时间 d j ˜ = ( d j L ， d j M ， d j U ) ， d j L ， d j M ， d j U 分别表示可能的最短持续时间、最可能的持续时间和可能的最长持续时间。 Δ i j r ˜ 和 d j ˜ 由项目相关专家进行讨论给出。 针对模型建立和求解的需要，我们做出如下假设： 1) 工序一旦开始不得被打断； 2) 所讨论的资源均为可更新资源，比如施工机械等，且工序所需资源必须从其他工序处转移，资源转移所需的时间 Δ i j r ˜ 仅由工序i、工序j和资源r的类型决定，与资源转移数量无关。 3) 资源在同一项目内部转移不需要耗费时间和成本，仅在不同项目间转移需要耗费时间和成本，且转移时间 Δ i j r ˜ 和转移成本 C i j r ˜ 均满足三角不等式，即 Δ i j r ˜ + Δ h j r ˜ > Δ i j r ˜ ， C i j r ˜ + C h j r ˜ > C i j r ˜ 。 2.2. 三角模糊数 模糊数的运算法则相较确定数有一定差别，我们以工序持续时间为例介绍三角模糊数的运算法则和比较方法，其中比较方法有多种，比如重心距离法、积分值法等，在本文中我们选取期望值法对三角模糊数进行比较。 d i ˜ + d j ˜ = ( d i L + d j L ， d i M + d j M ， d i U + d j U ) (2-1) d i ˜ − d j ˜ = ( d i L − d j U ， d i M − d j M ， d i U − d j L ) (2-2) d i ˜ × d j ˜ = ( d i L × d j L ， d i M × d j M ， d i U × d j U ) (2-3) d i ˜ / d j ˜ = ( d i L / d j U ， d i M / d j M ， d i U / d j L ) (2-4) d i − 1 ˜ = ( 1 / d i U ， 1 / d i M ， 1 / d i L ) (2-5) log n ( d i ˜ ) = ( log n ( d i L ) ， log n ( d i M ) ， log n ( d i U ) ) (2-6) d i ˜ + a = ( d i L + a ， d i M + a ， d i U + a ) (2-7) d i ˜ − a = ( d i L − a ， d i M − a ， d i U − a ) (2-8) d i ˜ × a = ( d i L × a ， d i M × a ， d i U × a ) (2-9) d i ˜ / a = ( d i L / a ， d i M / a ， d i U / a ) (2-10) a / d j ˜ = ( a / d j U ， a / d j M ， a / d j L ) (2-11) 我们假设 d i ˜ 在区间 [ d i L ， d i M ] 和 [ d i M ， d i U ] 变动的概率相同，则通过隶属度函数推导可得 d i ˜ 的期望为： I ( d i ˜ ) = d i L + 2 d i M + d i U 4 (2-12) 因此，我们以期望值为标准可得三角模糊数的排序规则如下： 1) 若 I ( d i ˜ ) < I ( d j ˜ ) ，则称 d i ˜ < d j ˜ ； 2) 若 I ( d i ˜ ) = I ( d j ˜ ) ，则称 d i ˜ = d j ˜ ； 3) 若 I ( d i ˜ ) > I ( d j ˜ ) ，则称 d i ˜ > d j ˜ 。 2.3. 数学模型 1) 模型相关符号及变量说明： P 多项目调度问题的所有项目集合， P = { p 1 ， p 2 ， ⋯ ， p m } ； s 0 ， e 0 多项目调度问题整体的虚拟开始工序和虚拟结束工序； s p ， e p 项目p的虚拟开始工序和虚拟结束工序； J ′ p 项目p的所有工序集合； J p 项目p的所有实工序集合， ； J ′ 多项目调度问题所有项目的工序集合， J ′ = { 1 ， 2 ， ⋯ ， n } ； J 多项目调度问题所有项目的实工序集合， J = J ′ − { s 0 ， e 0 } − ∪ p ∈ P { s p ， e p } ； d j ˜ 工序j的持续时间， d j ˜ = ( d j L ， d j M ， d j U ) ； Δ i j r ˜ 资源r从工序i转移到工序j所需的时间， Δ i j r ˜ = ( Δ i j r L ， Δ i j r M ， Δ i j r U ) ； t， T 时间索引，多项目调度问题工期的上界； F i ˜ 工序j的完工时间； A j 工序j的直接紧前工序集合， A s 0 = ∅ ， A e 0 = ∩ p ∈ P { e p } ， A s p = { s 0 } ； A j * 工序j的直接和间接紧前工序集合； S j 工序j的直接紧后工序集合， S e 0 = ∅ ， S s 0 = ∩ p ∈ P { s p } ， S e p = { e 0 } ； S j * 工序j的直接和间接紧后工序集合； r ， R 资源索引，多项目调度问题的所有资源集合； a r 资源r的数量； u j r 工序j所需资源r的数量， u s 0 r = u e 0 r = a r ， u s p r = u e p r = 0 ， ∀ r ∈ R ； I r j 可以为任务j转移资源r的工序集合 I r j = J U { s 0 } − { j } − S j * ； O r j 工序j可以传递资源r的工序集合 O r j = J U { e 0 } − { j } − A j * ； C P p 项目p的合同期限； T p 项目p的单位拖期成本(或奖励)； C i j r 资源r从工序i转移到工序j的单位成本； M 无穷大的参数； f j t 如果任务j在t时刻开始则为1，否则为0； N i j r 资源r从工序i转移到工序j的数量； x i j r 如果资源r从工序i转移到工序j则为1，否则为0； 2) 数学模型： 目标函数： min M C ˜ = ∑ p ∈ P ( F e p ˜ − C P p ) ⋅ T p + ∑ ​ N i j r ⋅ C i j r ⋅ x i j r (2-13) 约束条件： (2-14) F j ˜ = ∑ t = 0 T − d j ˜ ( t + d j ˜ ) ⋅ f j t ， ∀ j ∈ J (2-15) F j ˜ − F i ˜ ≥ d j ˜ ∀ j ∈ J ， ∀ i ∈ I r j (2-16) (2-17) N i j r ≤ x i j r ⋅ min { u i r ， u j r } ∀ j ∈ J ， ∀ i ∈ I r j ∀ r ∈ R (2-18) x i j r ≤ N i j r ∀ j ∈ J ， ∀ i ∈ I r j ， ∀ r ∈ R (2-19) ∑ i ∈ I r j N i j r = u j r ∀ j ∈ J ， ∀ r ∈ R (2-20) ∑ j ∈ O r i N i j r = u i r ∀ i ∈ J ， ∀ r ∈ R (2-21) ∑ j = 1 n ∑ τ = t t + d j ˜ u j r ⋅ f j τ ≤ a r ∀ t ∈ T ， ∀ r ∈ R (2-22) f j t ∈ ( 0 ， 1 ) ， x i j r ∈ ( 0 ， 1 ) ， N i j r ≥ 0 ， ∀ j ∈ J ， ∀ i ∈ J ， ∀ r ∈ R ， ∀ t ∈ T (2-23) 目标函数(2-13)为最小化多项目调度总成本，包括项目拖期惩罚(或奖励)成本和资源转移成本两部分； 约束条件(2-14)为任何工序只能在某一个时间点开始； 约束条件(2-15)为工序的完成时间与决策变量 f j t 的关系； 约束条件(2-16)为工序间的紧前关系约束，紧后任务只能在所有紧前任务完成后开始； 约束条件(2-17)为工序必须在所需资源到达后才可以开始； 约束条件(2-18)为某资源的转移数量和工序所需该资源数量的关系； 约束条件(2-19)为决策变量 x i j r 和 N i j r 的关系； 约束条件(2-20)为所有转入某工序的资源数量等于该工序所需的资源数量； 约束条件(2-21)为所有从某工序转出的资源数量等于该工序拥有的资源数量； 约束条件(2-22)为任何时刻所有任务所使用的资源数量不得超过资源的总供应量； 约束条件(2-23)为决策变量的可行域；