1
以下是我嘗試運行的優化代碼的一部分。特定範圍的Pyomo約束條件
>from pyomo.environ import *
>model = ConcreteModel()
>## Define sets
>model.k = Set(initialize=['Diesel','Diesel_hybrid', 'Battery_electric'], doc='Vehicle Type')
>model.i = Set(initialize=[0,1,2,3,4,5], doc='Age')
>model.t = Set(initialize=[2018,2019,2020,2021,2022,2023], doc='Years')
>## Define variables
>model.P = Var(model.k, model.t, bounds=(0,None), doc='number of k type vehicle purchased in year t')
>model.A = Var(model.k, model.i, model.t, bounds=(0,None), doc='number of k type i year old bus in use at the end of year t')
>model.R = Var(model.k, model.i, model.t, bounds=(0,20), doc='number of k type i year old bus salvaged at year t')
我試圖寫的約束,說,對於總線的年齡我< = 4,公共汽車的打撈數目R [K,I,T] = 0 我嘗試以下。它似乎沒有工作。
>def constraint_5(model,k,t):
> if (i<=4):
> return model.R[k,i,t] == 0
我也試過定義一個子集。這不起作用。
>model.sal = Set(initialize=[0,1,2,3,4], doc='Minimum age in usage')
>def constraint_5(model,k,t):
> for i in model.w:
> return model.R[k,i,t] == 0
任何人都可以幫助我嗎?由於
我很高興看到有人與促銷工作。我有類似的興趣,我也在處理類似的問題。你介意給我發私人訊息嗎?你可以在我的個人資料頁面找到我的電子郵件 – Oz123