Logical constraint in ILP

Operations Research Asked by che on December 22, 2020

I want to write the following constraint:

Let $z$ be an integer variable such that $0le zle M$, and $t$ be a binary variable where $M$ denotes big-M. The logical constraint is as follows:

  • if $z leq M$ and $z > 0$ then $t=1$;

  • if $z=0$ then $t=0$.

Is this $z≤Mt$ sufficient? The $t$ and $z$ variables are not in my objective function but variable $t$ is connected to another variable in the objective function?

Thank you very much, I appreciate your help.

One Answer

The big-M constraint $z le M t$ does enforce $z > 0 implies t = 1$, equivalently its contrapositive $t = 0 implies z = 0$, but not the converse $$z = 0 implies t = 0. tag1$$ To enforce $(1)$, consider its contrapositive $$t = 1 implies z > 0 tag2,$$ which you can enforce via big-M constraint $$epsilon - z le (epsilon - 0)(1 - t),$$ equivalently, $$z ge epsilon t,$$ where $epsilon > 0$ is a tolerance that represents the smallest value of $z$ that you would consider to be positive.

Correct answer by RobPratt on December 22, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP