I want to model linearly the following situation : my objective function $f(q)$ should be like this :

$f(q)=A\cdot q+B\cdot x$ if $x=1, \gamma=0, \delta=0$

$f(q)=A' \cdot q+B'\cdot x$ if $x=1, \gamma=1, \delta=0$

$f(q)=A'' \cdot q+B''\cdot x$ if $x=1, \gamma=0, \delta=1$

$x,\delta, \gamma$ are binary variables and when $x=0$, $\delta=0,\gamma=0$ but the reverse is not true.

$A,A',A", B,B',B"$ are constants.

Thanks for help

  • 1
    $\begingroup$ What is $f$ when $x=0$? $\endgroup$ – Matthew Conroy Dec 14 '17 at 22:30
  • $\begingroup$ @Matthew Conroy when $x=0$, $q=0$ automatically (it is fixed by other contraints) and so $f $ should be nul $\endgroup$ – MysteryGuy Dec 15 '17 at 6:06
  • $\begingroup$ Okay. And what happens if x=1, $\gamma=1$ and $\delta=1$? $\endgroup$ – Matthew Conroy Dec 15 '17 at 7:24
  • $\begingroup$ @MatthewConroy It can't happen. There are some constraints that do not allow this configuration $\endgroup$ – MysteryGuy Dec 15 '17 at 8:34
  • $\begingroup$ @MatthewConroy, so do you have any other idea ? I guess your answer was a good start, the only challenge is how to make it with Cplex, which I guess is not impossible $\endgroup$ – MysteryGuy Dec 18 '17 at 11:17

Your exact requirements aren't clear to me, but it seems like what you want is to model union of polyhedra using mixed-integer linear programming. A good reference for this is this review paper by Vielma. Section 2 of the above paper motivates modeling piecewise linear functions using mixed-integer linear programming, and Section 5 of this paper provides a formal mathematical treatment. Imposing any other logical conditions on the binary variables should be doable using standard mixed-integer linear programming techniques.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.