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$.
Asked
Active
Viewed 1,646 times
2
-
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. – John L. Feb 18 '19 at 17:11
-
Would this question help you? – John L. Feb 18 '19 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 https://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 '19 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 '19 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 '19 at 10:06
-
OK, glad that solves it. In the future I encourage you to show in your question the approaches you've considered and why you rejected them. If you tried that solution but it didn't work, it is helpful to explain that in the question and explain what the problem is or how you know that it doesn't work. – D.W. Feb 19 '19 at 17:02