![](/img/trans.png)
[英]Add specific capacity constraint on arcs for routing optimization with Or-Tools
[英]OR-tools: Build time-dependent capacity in cumulative constraint
在作業車間調度問題中,我一直在嘗試對以下約束進行編碼,以捕捉存在一些資源稀缺性約束的事實,這些約束與時間有關(例如:可用的工人數量,基於日期或班次)
for all t:
sum(workers_required[i]
if (start(intervals[i]) <= t < end(intervals[i])) and
(intervals[i] is present)) <= workers_available[t]
為了捕捉這個約束,我想到了兩種方法:
我還沒有找到一種很好且簡單的方法來利用此功能來實現與時間相關的容量。
model.AddCumulative(shift_intervals, workers_required, workers_available)
但是,1+2 似乎相當復雜。是否沒有其他方法可以為每個任務僅創建 1 個間隔並將此間隔限制在不同的時間域上? 例如,一種告訴模型 AddCumulative 約束僅在特定時間域內有效的方法?
如果可能的話,我寧願選擇一個簡化的選項 1。
只是在可用容量和最大容量之間填充固定需求的固定間隔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.