python分配 確定值的分配Python

2021-10-18 14:54:16 字數 871 閱讀 8989

以下是您修改後的問題的答案,即如何新增要求每個員工連續工作時間段的約束。在

我建議您新增以下約束(此處以代數方式編寫):x[t+1,p] <= x[t,p] + (1 - (1/t) * sum_^ x[s,p]) for all p, for all t < t

其中x是您的staffed變數(這裡寫為x表示緊湊性),t是時間索引,t是時間段數,p是員工索引。在

約束的邏輯是:如果x[t,p] = 0(該雇員沒有在t期間工作)和{}為任何s < t(該雇員在任何以前的期間工作),那麼x[t+1,p]必須{}(該雇員不能在t+1期間工作。因此,一旦員工停止工作,他們就不能重新開始工作。注意,如果x[t,p] = 1或x[s,p] = 0每乙個{},那麼{}可以等於{}。在

下面是我在pulp中實現的這個約束:

^$我執行模型得到:optimal

staffed

timeslot staffmember

1 c2 1.0

2 c2 1.0

3 c2 1.0

4 c2 1.0

5 c2 1.0

6 c2 1.0

7 c2 1.0

8 c2 1.0

9 c2 1.0

c6 1.0

10 c2 1.0

c6 1.0

11 c2 1.0

c6 1.0

12 c2 1.0

c6 1.0

13 c3 1.0

c6 1.0

14 c3 1.0

c6 1.0

因此,員工在連續的時間段內工作。在

請注意,新的約束會稍微減慢模型的速度。它仍然可以在30秒左右解決問題。但是,如果您要解決更大的例項,您可能需要重新考慮約束。在

python分配 Python分配解構

根據dis,他們都被編譯成相同的位元組碼 def f1 line a,b,c line.split def f2 line a,b,c line.split def f3 line a,b,c line.split import dis dis.dis f1 2 0 load fast 0 line...

python分配問題 Python增加分配問題

對於運算子,python定義了乙個物件可以實現的三個 特殊 方法 add 新增兩個專案 運算子 當你做乙個b時,a的 add 方法用b作為引數來呼叫.radd reflect add 對於b,b的 radd 方法作為乙個例項被呼叫.這僅在不知道如何做新增和兩個物件是不同型別時才使用.iadd 就地新...

Unity 權值分配

場景中要生成100個物體,這時需要動態決定每種物體分配的比例,如果直接按照比例生成並不是乙個好的方式,尤其是比如每秒生成乙個,這時還要去統計當前場景中的每種物體的數量,這裡我們使用兩種權重分配方式 1.動態權值 時間權重 這裡適合與場景中每隔一小段時間生成乙個敵人的情況 其實學過電腦科學都知道,這是...