could you please explain the your logic with binary variable delta, for more general case, for instance, if y={a: x>0, b: x<0}.
If we assume y can be either a or b (constants) when x=0, and x∈[L,U] (with L<0 and U>0) then we can write
y={ax≥0bx≤0⟹L(1−δ)≤x≤Uδy=aδ+b(1−δ)δ∈{0,1} |
I am not sure if the left part is formulated mathematically correctly. May be I should say:
y={ax>0bx<0a or bx=0 |
If we want to exclude x=0 then we need to add some small numbers:
y={ax>0bx<0⟹ε+(L−ε)(1−δ)≤x≤–ε+(U+ε)δy=aδ+b(1−δ)δ∈{0,1}ε=0.001 |
If a and b are variables (instead of constants) things become somewhat more complicated. I believe the following is correct:
ε+(L−ε)(1−δ)≤x≤–ε+(U+ε)δa+M1(1−δ)≤y≤a+M2(1−δ)b+M3δ≤y≤b+M4δδ∈{0,1}ε=0.001M1=bLO−aUPM2=bUP−aLOM3=aLO−bUPM4=aUP−bLO |
I used here a∈[aLO,aUP] and b∈[bLO,bUP].
No comments:
Post a Comment