Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I am working on PuLP in python and I want to model the following statement :

x is positive XOR y is positive, where x ans y are integer.

How can I convert this in PuLP code ?

I started with XOR


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
3.4k views
Welcome To Ask or Share your Answers For Others

1 Answer

I agree with @kabdulla. Binary variables would be the way to go here.

Expanding on that idea a little further: You can use binary variables to indicate whether X is positive (TRUE/1) by a constraint such as M*binary_variable_for_x <= X where M is a sufficiently large number for the problem that would not limit X. Then the binary_variable_for_x can be 1 if X > 0.

Do the same for when Y is positive (TRUE/1).

And then you could write another constraint that requires the sum of these booleans to be >= 1.

binary_variable_for_x + binary_variable_for_y >= 1

There's multiple ways to formulate the problem, but this can be one way.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...