You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

变量清洗时间的约束构建——MILP优化技术问询

混合整数线性规划(MILP)多时长清洗约束解决方案

核心思路

要实现不同产品切换时的多段连续清洗,关键是追踪生产切换事件,并基于切换前后的产品类型,强制对应时长的连续清洗时段。需新增辅助变量捕捉切换行为,再关联清洗时长矩阵C。

1. 新增切换追踪辅助变量

引入二元变量 z_{p,q,d,h}:若在d日h时结束产品p的生产,且下一个生产的产品是q(p≠q),则取1,否则取0。
该变量用于精准定位产品切换的时间节点,为后续触发对应时长的清洗提供依据。

2. 关联切换变量与生产变量

添加约束确保切换变量仅在生产切换时激活:

# 切换变量仅在p于h时生产、h+1时不生产时可能为1
z_{p,q,d,h} ≤ x_{p,d,h}  ∀p,q∈P, p≠q, d,h
z_{p,q,d,h} ≤ 1 - x_{p,d,h+1}  ∀p,q∈P, p≠q, d,h

# 切换后,q需在清洗完成后的时段开始生产(处理跨日情况:若h+C[p][q]+1超过当日时段,对应次日)
z_{p,q,d,h} ≤ x_{q,d',h'}  ∀p,q∈P, p≠q, d,h
# 其中d'=d 若h+C[p][q]+1 ≤ H;否则d'=d+1,h'=(h+C[p][q]+1)-H(H为每日时段总数)

# 确保生产切换时必然对应一个目标产品q
Σ_{q∈P, q≠p} z_{p,q,d,h} = x_{p,d,h} - x_{p,d,h+1}  ∀p∈P, d,h

3. 强制连续清洗时段

对于每个切换事件z_{p,q,d,h}=1,需在h+1到h+C[p][q]的时段内强制清洗,同时这些时段不能安排生产或闲置:

# 清洗时段强制为1
c_{d'',h''} ≥ z_{p,q,d,h}  ∀p,q∈P, p≠q, d,h, k=1到C[p][q]
# 其中d''=d 若h+k ≤ H;否则d''=d+1,h''=(h+k)-H

# 清洗时段禁止生产
x_{p',d'',h''} ≤ 1 - z_{p,q,d,h}  ∀p'∈P, p,q∈P, p≠q, d,h, k=1到C[p][q]

# 清洗时段禁止闲置
y_{d'',h''} ≤ 1 - z_{p,q,d,h}  ∀p,q∈P, p≠q, d,h, k=1到C[p][q]

4. 保留基础状态约束

保留原有生产线状态互斥约束,确保每个时段只能是生产、清洗或闲置中的一种:

x_{p,d,h} + c_{d,h} + y_{d,h} = 1  ∀p∈P, d,h

注:原有单段清洗触发约束c_{d,h} >= x_{p,d,h-1} - x_{p,d,h}可替换为上述切换触发约束,避免逻辑冲突。

内容的提问来源于stack exchange,提问作者Ignacio Aristimuño

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 15:30:01