Linear Programming: Either OR constraint non-binary decision variables

856 Views Asked by At

I'm working on a production problem where I'm producing a number of products. My decision variables indicate quantity levels of production across a range of prices. My current LP solves for the optimal solution that maximizes revenue across products and prices, however I can only select one price. For example in the equation below I have 3 prices multiplied by the decision variable $ x_{ij}$ where $\ i$ represents the product and$\ j$ maps to the corresponding price. Note that there are varying levels of demand at each price point (constraints). The trouble is that I can only select one price, therefore if $x_{11}$ is greater than 0 then $x_{12},\ x_{13}$ must BE zero. I feel like there is a simple solution to this problem that I can't recall how to formulate it. Most of what I can find is on binary (either or) constraints but these decision variables are not binary. Maybe I need to reformulate the entire problem. I would appreciate any help or references that may lead me to this solution.

$Max\ Z = 5x_{11} + 6x_{12} + 7x_{13} $

$s.t.$

$ x_{11} <= 50 $

$ x_{12} <= 40 $

$ x_{13} <= 30 $

Constraint needed: if one decision variable is > 0 the others must be = 0

Note: the solution to this specific problem is not relevant, just an simple example of the more elaborate demand varying problem.

1

There are 1 best solutions below

1
On BEST ANSWER

Introduce three binary variables $y_{11}$, $y_{12}$, and $y_{13}$, together with linear constraints \begin{align} 0 \le x_{11} &\le 50 y_{11} \\ 0 \le x_{12} &\le 40 y_{12} \\ 0 \le x_{13} &\le 30 y_{13} \\ y_{11} + y_{12} + y_{13} &\le 1 \end{align} For example $x_{11} > 0$ implies $y_{11} = 1$, which implies $y_{12} = 0$, which implies $x_{12} = 0$, as desired. The other cases are similarly verified.