0
所有通用的If-then約束似乎都沒有讓我對此有所洞察。 我想用Lindo形成一個混合整數程序,它可以在考慮到一系列情況下將成本降至最低:當X = 4時,則T = 0且Y = 0.感謝您的幫助。If-Then約束條件:如果X <4 Then T = 4 -X
所有通用的If-then約束似乎都沒有讓我對此有所洞察。 我想用Lindo形成一個混合整數程序,它可以在考慮到一系列情況下將成本降至最低:當X = 4時,則T = 0且Y = 0.感謝您的幫助。If-Then約束條件:如果X <4 Then T = 4 -X
爲了建模這個表達式,我們需要知道4 - X
的範圍。讓我們假設
LB <= 4 - X <= UB
LB <= 0
其中,UB >=0
和|LB| + |UB| > 0
(即,不能同時LB
和UB
是零),否則這個問題是微不足道的。
然後考慮以下系統(T
是連續的,Y
爲二進制數):正確性的
T >= 4 - X (I)
T <= 4 - X - LB * (1 - Y) (II)
T <= UB * Y (III)
T >= 0 (IV)
證明:
X < 4 <=> 4 - X > 0 so (I) => T > 0 and then (III) => Y = 1,
and (I) + (II) => T = 4 - X. (III, IV) are redundant in this case.
X > 4 <=> 4 - X < 0. If we allow Y = 1 then T = 4 - X < 0, which is not
allowed by (IV). Hence, Y = 0 and (III, IV) => T = 0. (I, II) are redundant in
this case.
X == 4 ==> T = 0 and Y either 0 or 1.
我希望這有助於!
當X> = 4時'T'會發生什麼? – Ioannis 2014-10-29 13:05:40
然後T將是0 – 2014-10-29 15:42:00