Estou tentando modelar um problema de otimização em que cada item em uma lista é essencialmente energia gerada naquela hora. Estou tentando minimizar a quantidade de energia armazenada enquanto ainda obtenho a mesma energia ao longo da série temporal e, como tal, estou modelando isso como um problema de programação linear.
Estou tentando adicionar uma restrição, mas estou tendo problemas. Os bits importantes se parecem com isto:
var_1 = model.continuous_var_list(1000, name = 'var_1')
var_2 = model.continuous_var_list(1000, name = 'var_2')
var_3 = model.continuous_var_list(1000, name = 'var_3')
model.add_constraint(var_1[i] - var+2[i] == var_3[i] for i in range(1000))
Onde estou tentando dizer que no timestep i, var_3 deve sempre ser igual à diferença entre var_1 e var_2. Existe um bom exemplo para esse tipo de problema que eu possa aprender, ou alguém tem algum conselho? No Docplex, ou algo similar no CPLEX que eu possa usar para entender. Este código resulta no erro:
Expecting constraint, got: <generator object Home.linearlySolve.<locals>.<genexpr> at 0x0000013F2BBBA940> with type: <class 'generator'>
Obrigado!
Você pode usar add_constraints com um "s"
funciona bem