Processing math: 100%

Thursday, May 15, 2008

Multiplication of a continuous and a binary variable

The expression z=xδ where x is a continuous variable and δ is a binary variable can also be linearized fairly easily. The exact form depends on the bounds of x. Assume x has lower bound xlo and upper bound xup, then we can form the inequalities:
min{0,xlo}zmax{0,xup}xloδzxupδxxup(1δ)zxxlo(1δ)
The last restriction is essentially a big-M constraint:
xM1(1δ)zx+M2(1δ)
where M1, M2 are chosen as tightly as possible while not excluding z=0 when δ=0.

For the special case xlo=0 this reduces to:
z[0,xup]zxup·δzxzxxup·(1δ)
The construct z=x·δ can be used to model an OR condition: "z=0 OR z=x".

8 comments:

  1. Hey i have a problem where i have a function called average_price = a+b*x where x is a variable for the amount of products, a and b is constants from a table. The problem is when we have to find the total price/cost, (a+b*x)*x this makes the non-linear error.. do you have any suggestions ??

    ReplyDelete
  2. Continuous * Continuous variable means either use a QP or NLP algorithm or formulate a piecewise linear function.

    ReplyDelete
  3. Hello,
    I have used this formulation in two terms of my model that one of them are directly get involved in the objective function. However, I discovered that the corresponding term in the objective function makes the model computationally complicated.
    I.e., let R be the linear product of two variables ( acontinuous and a binary one). When I run the model without R in the objective function, the model is being solved in less than 1 minute, but, it will take more than 2 hours with R in the objective function.

    Do you know that it is the nature of this formulation, or I did something wrong?

    ReplyDelete
    Replies
    1. This cannot be answered without much more knowledge about the model, the formulation and the solver.

      Delete
    2. Thank you
      So I will mail the model and details to you if you permit?

      Delete
  4. This has been really helpful for me in model construction. Thanks a lot!!!

    ReplyDelete
  5. Thank you, that was helpful. It would be better if the last two constraints to be used were clearly highlighted.

    ReplyDelete