Kinam
Kinam

Reputation: 1

Problem with linearizing double if-then-else statement as MIP constraint

I have some problems linearizing an if-then-else within an if-then-else statement as MIP constraint. I have one continuous variable (E), three binaries (P,S,I) and two parameter Pm and Sm with Pm>Sm. I want the following:

IF E<Pm -> (IF E>=Sm -> S=1, I=0, P=0 ELSE S=0, I=1, P=0) ELSE S=0, I=0, P=1

For now I could only linearize

IF E<Pm -> S=0, I=1, P=0 ELSE S=0, I=0, P=1 by doing:
E(t)+Epsilon >= Pm - M*I(t)
E(t)+Epsilon <= Pm + M*(1-I))

With Epsilon being 0.000001 and M 999999

Upvotes: 0

Views: 70

Answers (0)

Related Questions