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$.


marked as duplicate by D.W. Feb 19 at 17:03

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • $\begingroup$ 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. $\endgroup$ – Apass.Jack Feb 18 at 17:11
  • $\begingroup$ Would this question help you? $\endgroup$ – Apass.Jack Feb 18 at 17:12
  • $\begingroup$ 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? $\endgroup$ – D.W. Feb 18 at 20:17
  • $\begingroup$ @Apass.Jack Actually my question is based on the one you linked. I tried the most voted solution, but apparently C cannot be 0. $\endgroup$ – Swaz Feb 19 at 10:06
  • $\begingroup$ @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. $\endgroup$ – Swaz Feb 19 at 10:06