I there a way to specify two constraints for the s

2019-08-04 02:58发布

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条回答
趁早两清
2楼-- · 2019-08-04 03:37

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"
查看更多
登录 后发表回答