问题
I was wondering if there is a way two have a variable with two different constraints when using Python PuLP.
prob += lpSum([evaptwohundredF[i] * component_vars[i] for i in name]) >= 30.0000, "evaptwohundredFrequirement"
prob += lpSum([evaptwohundredF[i] * component_vars[i] for i in name]) <=70.0000, "evaptwohundredFrequirement"
This is an example fo what i would want where the same variable has two constraints so >= 30 and <= 70, but the problem is that i get an error which says 'pulp.constants.PulpError: overlapping constraint names: evaptwohundredrequirement', so how would i have it allow both constraints?
回答1:
I'm not a big pulp-user, but what you ask for is obviously allowed in Linear-Programming (and therefore in probably all modelling-tools).
The problem in your case: pulp expects a unique identifier / str for each constraint (and your's are equal).
Do something like (only changed the constraint-names):
prob += lpSum([evaptwohundredF[i] * component_vars[i] for i in name]) >= 30.0000, "evaptwohundredFrequirement_a"
prob += lpSum([evaptwohundredF[i] * component_vars[i] for i in name]) <=70.0000, "evaptwohundredFrequirement_b"
来源:https://stackoverflow.com/questions/45510382/i-there-a-way-to-specify-two-constraints-for-the-same-variable-when-using-puthon