Я хочу создать модель pyomo с 1000 базовыми переменными pyomo.
Я знаю, что это плохая идея, как следующий скрипт.
И это тоже не работает. Я надеюсь, что вы понимаете идею и сможете мне помочь.
import pyomo.core as pyomo
def create_model_a():
m = pyomo.ConcreteModel()
for i in range(1000):
m.var_i = pyomo.Var(within=pyomo.NonNegativeReals)
return m
поэтому вместо записи m.var_0 = ...
в m.var_999 = ...
я использовал цикл for и, конечно, таким образом он не работает, но идея заключается в создании 1000 переменных без жесткого кодирования m.var_0
, m.var_1
, m.var_2
и так далее до m.var_999
. Как я могу это сделать?
Я хочу создать это, чтобы ничего не моделировать, но я хочу использовать профиль памяти в этой функции, чтобы понять, сколько памяти необходимо для модели pyomo с 1000 переменными.
Ps: я попробовал следующее, и оно не работает (не вижу никаких объявлений, когда я произношу m.pprint()
):
def create_model_a():
m = pyomo.ConcreteModel()
m.var = {}
for i in range(1000):
m.var[i] = pyomo.Var(within=pyomo.NonNegativeReals)
return m
PS2: также проверено Как увеличить имена переменных / Это плохая идея и Как создать переменное число переменных? ... к сожалению, не поможет