one way conditional statement in binary variable linearization

290 Views Asked by At

I am trying to write a one-way conditional statemen with binary variables. my condition is (x and y are both binary variables)

(if x=1 then y=0)

and it is the only condition that should be met. So I want to have:

(if x=0 then y=0 or 1)
(if x=1 then y=0)
(if y=0 then x=0 or 1)
(if y=1 then x=0 or 1)

the problem of using y<=1-x is that the statement is two-way(for x and y: (if x=1 then y=0) and (if y=1 then x=0) and I want to have only (if x=1 then y=0)). I have already tried out large M and some of other methods which I knew, however I did not achieve any results.
Can anyone please help me. I stuck on this problem for a couple of days...
Thank you

1

There are 1 best solutions below

5
On

Such a condition cannot be of type $\phi(x,y) <= 0$

Indeed, such a condition would mean $\phi(1,1) > 0$, i.e. "(x,y) = (1,1) is forbidden", which is not equivalent to your "(if x=1 then y=0)"