0

我想使用 pyomo.environ import * 并拥有以下代码:

## 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')

我已经定义了参数 Param。我不知道为什么我有这个错误。

4

1 回答 1

0

您对duration初始化程序的定义是什么?怎么样j_set?该错误几乎可以肯定是因为duration对象 (a dict?) 有一个42不在j_set用于初始化的键 ( )model.p

于 2017-04-12T15:09:39.163 回答