Im not sure why this error is coming up please have a look at my code below if you can.
Thanks.
v = 100; rho = 1.225; cp = 1.00; a = 21; T_sim = [1]*85
T_sim[0]=actual[0]
# dict has keys 0 to 84
# a creating model object
model = pe.AbstractModel()
# declaring set
model.s = pe.Set(initialize = sorted(dict_time.keys()), ordered = True)
# declaring Parameters.
model.t_out = pe.Param(model.s, default = dict_outside)
model.actual = pe.Param(model.s, default = dict_real)
# declaring decision variable
model.u = pe.Var(domain=pe.NonNegativeReals, initialize = 0.00288)
model.T_sim = pe.Var(model.s, initialize = T_sim[0])
# delcaring Constraints
def initial_temp(model,i):
if i == 0 :
return pe.Constraint.Skip
return model.T_sim[i] == (model.T_sim[i - 1] - 1 * 1 / (cp * rho * v) * a * model.u * (model.T_sim[i - 1] - model.t_out[i - 1]) for i in model.s)
model.initial_temp = pe.Constraint(model.s, rule=initial_temp)
# declaring objective function
def obj_rule(model):
return sum(((model.actual[i] - model.T_sim[i])**2) for i in model.s)
model.obj= pe.Objective(expr= obj_rule , sense= minimize)
# run solver
solver = pe.SolverFactory("ipopt")
solver.solve(model)