Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.3k views
in Technique[技术] by (71.8m points)

XOR statement in PuLP python

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...