Indicator Constraint Definition for Bounds
AnsweredHello,
We are trying to implement constraints such that logically:
x = 0 > f = 0 (this is easy, x binary f continuous).
However, we want to ensure that for our model that:
x = 1 > f > 0
But this sense can't be encoded.
Is it true that the first equation forces the second, or should we write the second as:
x = 1 > f >= 0 and this follows correctly, or do we do an increment such that:
x = 1 > f >= epsilon
We can also use other constraint else to force this behaviour perhaps  seeking guidance.

Hi Phillip,
you can model this via indicator constraints. Perhaps these two posts (here and here) will be helpful.
Best regards
Jonasz1 
Hi Phillip,
To briefly add on Jonasz' answer:
Is it true that the first equation forces the second
No, if you encode x=0 > f=0, then for x=1, f can by anything, i.e., it can be f=0. If you really want to make sure that f is > 0 then, you have to use an epsilon for x=1 as you proposed. Note that this epsilon should not be smaller than the FeasibilityTol you are using. Something like epsilon = 1e4 should work fine.
Best regards,
Jaromił1 
Thank you both, that clarifies our thinking on our modelling implementation.
:)
0
Please sign in to leave a comment.
Comments
3 comments