1

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 Answer 1

2

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"
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.