簡體   English   中英

使用 gurobipy 編寫約束

[英]Writing a constraint with gurobipy

我分享了 model 的參數、變量和符號:

在此處輸入圖像描述

在此處輸入圖像描述

在此處輸入圖像描述

我很難用 gurobipy 編寫方程式 7,它是 model 的約束之一。 我寫的代碼塊如下:

mdl2.addConstrs(T[i, j, k] >=  quicksum(p[l]*y[i, l, s] + s[l]*x[i, l, s] for l in N for s in ???)- d[j] - 100000*(1 - x[i, j, k])   
                for i in M
                for j in N
                for k in N) #7

你能幫我解決這個問題嗎? 會很受歡迎的。 如果需要,我也可以分享我寫的所有 model 代碼。

您應該擅長s in range(k) - 總和取決於外循環中的索引k

為了使它更容易閱讀和理解,您可能需要像這樣切換 for 循環:

for i in M:
    for j in N:
        for k in N:
            mdl2.addConstr(
                T[i, j, k]
                >= quicksum(
                    p[l] * y[i, l, s] + s[l] * x[i, l, s] for l in N for s in range(k)
                )
                - d[j]
                - 100000 * (1 - x[i, j, k])
            )

這假設Mrange(m)並且Nrange(n) 請注意,我使用addConstr是因為在三重循環的每次迭代中只有一個約束。 在任何情況下,您都應該寫出問題的 LP 文件並檢查您正在建模的內容是否實際上符合數學公式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM