2017-04-12 50 views
0

我想用pyomo.environ進口*和有這樣的代碼:錯誤:不是有效的數組帕拉姆

## Define sets ## 
model.i = Set(initialize=i_set) 
model.p = Set(initialize=j_set) 

## Define parameters ## 
model.precedence = Param (model.i, initialize=precedence, doc='precedence relationship') 
model.duration = Param (model.p,initialize=duration,doc='duration') 


## Define variables ## 
model.x = Var(model.i, within=NonNegativeReals) 
model.z = Var(within=NonNegativeReals) 

,但我給了我這個錯誤:

ERROR: Constructing component 'duration' from data=None failed: 
    KeyError: "Error setting parameter value: Index '42' is not valid for array Param 'duration'" 
Traceback (most recent call last): 
    File "D:\0.- MS CM UH\3.- Data Analysis in CM\hwk#7\Exercise 9.5.py", line 33, in <module> 
    model.duration = Param(model.p,initialize=duration,doc='duration') 

我已經定義參數參數。我不知道爲什麼我有這個錯誤。

回答

0

您對duration初始化程序的定義是什麼? j_set怎麼樣?錯誤幾乎肯定是因爲duration對象(一個dict?)有一個密鑰(42),它不在j_set中用於初始化model.p