Rank-dependent constraints in linear programming

466 Views Asked by At

I have a typical linear optimization problem:

$c'x \to \max_x$

s.t. $~~l \leq Ax \leq u,$

where $x = (x_1, ...,x_n)'$, $A - k \times n$ matrix of constraints coefficient, $l$ and $u$ are $k \times 1$ vectors of lower and upper bounds, respectively.

I need to add specific constraints on $i$-th largest element in vector $x$:

$x_{(i)} \leq b_i, ~~ i = 1...n$,

where $x_{(1)} \geq x_{(2)} \geq ... \geq x_{(n)}$.

In other words, each variable's individual bound depends on its rank. Is there a way to reformulate it as an LP constraint?

1

There are 1 best solutions below

2
On BEST ANSWER

By setting the first $n-1$ values of $b$ to $\infty$, you would effectively have a method to implement $\min x \leq b_n$, which isn't LP-representable as $\min$ is concave. Hence, not possible.

Constraining the sum of the $k$ largest elements is LP-representable though (and your constraint is mixed-integer LP-representable).