任务含有时间窗与资源含有上下班时间的时间冲突约束构建思路

任务含有时间窗与资源含有上下班时间的时间冲突约束构建思路

任务信息

符号含义
i , ∀ i ∈ N i, \forall i\in N i,iN任务编号
S T i ST_i STi任务 i i i最早开始时刻
E T i ET_i ETi任务 i i i最晚结束时刻
W i W_i Wi任务 i i i工作时长

在这里插入图片描述

资源信息

符号含义
j , ∀ j ∈ R j, \forall j\in R j,jR资源编号
U j U_j Uj资源 j j j的上班开始时间
D j D_j Dj资源 j j j的开始下班时间

变量:

x i j x_{ij} xij:01变量。1表示资源 j j j被指派给任务 i i i,0表示其他;

t i t_i ti:整数变量。任务 i i i的实际开始时刻。

约束描述
  1. 当任务i的实际开始时刻小于资源j的上班开始时间时,任务i不能被分配给资源j
  2. 当任务i的实际开始时刻大于资源j的上班开始时间时,任务i不能被分配给资源j

也就是
i f :   t i ≤ U j   ,   t h e n    x i j = 0 e l s e :    x i j = 0   o r   1 if: \ t_i \le U_j \ , \ then \ \ x_{ij} = 0 \\ else: \ \ x_{ij} = 0 \ or \ 1 if: tiUj , then  xij=0else:  xij=0 or 1

i f :   t i ≥ D j   ,   t h e n    x i j = 0 e l s e :    x i j = 0   o r   1 if: \ t_i \ge D_j \ , \ then \ \ x_{ij}=0 \\ else: \ \ x_{ij} = 0 \ or \ 1 if: tiDj , then  xij=0else:  xij=0 or 1

怎么用数学表达式构建这个约束呢?

联想到一条比较常用的约束:
∑ i ∈ N x i j ≤ y j ∗ M , ∀ j ∈ R \sum_{i\in N}x_{ij} \le y_j*M , \forall j\in R iNxijyjM,jR
其中M是一个极大值,这条约束表示当 x i j 对 i 求 和 大 于 0 时 y i = 1 x_{ij}对i求和大于0时y_i=1 xiji0yi=1,当 x i j 对 i 求 和 等 于 0 时 y i = { 0 , 1 } x_{ij}对i求和等于0时y_i=\{0,1\} xiji0yi={0,1}。可以看到这条约束与我们的需求十分相似。不同的是这条约束满足条件时 y i = 1 y_i=1 yi=1,我们的是等于0,既然这样我们只需要引入一个辅助变量使得我们满足条件时也为0就好啦。

约束构建

变量:

x i j x_{ij} xij:01变量。1表示资源 j j j被指派给任务 i i i,0表示其他;

y i j y_{ij} yij:01变量。1表示资源 j j j不被指派给任务 i i i,0表示其他;

t i t_i ti:整数变量。任务 i i i的实际开始时刻。

约束:
x i j + y i j = 1 , ∀ i ∈ N , j ∈ R x_{ij} + y_{ij} = 1 , \forall i\in N,j\in R xij+yij=1,iN,jR

U j − t i ≤ y i j ∗ M , ∀ i ∈ N , j ∈ R U_j - t_i \le y_{ij}*M , \forall i\in N,j\in R UjtiyijM,iN,jR

t i − D j ≤ y i j ∗ M , ∀ i ∈ N , j ∈ R t_i - D_j \le y_{ij}*M,\forall i\in N,j\in R tiDjyijM,iN,jR

​ 以上就是最终的约束表达式,希望这篇文章对你有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值