How to Assign a Value to a Decision Variable? + How to Constrain for a Subset of Variables
AnsweredenterSoC = [0.1, 0.2, 0.3]
m.addConstrs(SoC[0, b] == enterSoC[b] for b in range(noEV))
# constrain values of SoC[i+1] to SoC[i]+increment. must be done w add constraint
updatedSoC = m.addConstrs((SoC[count + 1, b] == SoC[count, b] for count in range(noPeriods) for b in range(noEV)),name="updatedSoC")
Why isn't SoC[0,0]+SoC[1,0] = 0.1 when it seems like SoC[0,1] was successfully assigned in initial value of 0.1 in the model?
Also, how do I rewrite a constraint so that it considers a subset of variables at each time? I want my binary decision variable schedule[i,j] to be optimised for each j by minimising the sum of their charging costs, but i get the following result.
How should I constrain my schedule binary variable?
-
Hi,
Why isn't SoC[0,0]+SoC[1,0] = 0.1 when it seems like SoC[0,1] was successfully assigned in initial value of 0.1 in the model?
You set SoC[0,0] = 0.1.
Then, you set SoC[0,0] = SoC[1,0]. This implies that also SoC[1,0] = 0.1, so the sum is of course 0.2.In the definition of your constraints it seems you forgot to add the "increment" in the updatedSoC constraints.
I am not sure what exactly you want to model with your schedule-variables.
If you want to know how to write constraints with sums of variables, then you should consider our documentation, tutorials, and examples, e.g.:- Python example using sums of variables
- Gurobi Python API documentation
- Tutorial on the Gurobi Python API, and other videos in our YouTube channel
Best regards,
Mario0
Please sign in to leave a comment.
Comments
1 comment