I am working with pyomo and i am really new with it. I have been trying to solve a small problem but i keep getting this error, although i followed lots and lots of corrections and suggestions i found over here, but still not working, does any body know what this error can mean : KeyError: "Index '(None, 0)' is not valid for indexed component 'sigma'"? with sigma being my variable. I checked the available problems that look like mine but that didn't solve anything
I will put the code and the error bellow, THANK YOU
Bellow is my current code:
from pyomo.environ import *
import numpy as np
model = ConcreteModel()
def flatten(l):
return [item for sublist in l for item in sublist]
matrix = numpy.array(matrixnw)
liste=flatten(myd.values())
def W_init(model, i, j):
return matrix [i,j]
def W_init1D(model, i):
return liste [i]
model.i = Set(initialize=range(0,3), doc='paths')
model.j = Set(initialize=range(0,15), doc='subflows')
model.capa = Param(model.i, initialize=W_init1D)
model.routing = Param(model.i, model.j, initialize=W_init)
model.sigma = Var(model.i, model.j, within= NonNegativeReals)
def limite(model, i):
return sum(model.sigma[i,j]*model.routing[i,j] for j in model.j) <= model.capa[i]
model.limite = Constraint(model.i, rule=limite)
image for the error:
I was expecting the constraint to be accepted by the model because i use the same way of writing (define a function then call it in the objective function) for the objective function and it does not show any error