# “Greater than 0” condition in integer linear program with a binary variable [duplicate]

How can one model the following condition in an integer linear program? $$y = \begin{cases} 1 & \text{if } x > 0\\ 0 & \text{otherwise}\end{cases}$$ Where $$y \in \{0,1\}$$ and $$x \in \mathbb N$$.

• What do you think? What have you tried? This site encourages you to show your thoughts and partial progress towards solving the problems. People can then make the answers more helpful for you and for future readers. Feb 18, 2019 at 17:11
• Would this question help you? Feb 18, 2019 at 17:12
• Whether this is possible depends on additional context, such as whether you have an upper bound on $x$ and whether you already have an objective function. See "Cast to boolean" at cs.stackexchange.com/q/12102/755. Is your question answered by any of those? If not, can you edit your question to provide additional context and explain why those solutions are not applicable here?
– D.W.
Feb 18, 2019 at 20:17
• @Apass.Jack Actually my question is based on the one you linked. I tried the most voted solution, but apparently C cannot be 0.
– Swaz
Feb 19, 2019 at 10:06
• @D.W. I have a lower (0) and upper bound for x. The "Cast to boolean (version 1)" solution in the page you linked seems to work perfectly fine. Thanks.
– Swaz
Feb 19, 2019 at 10:06