0

Here is a function to maximize:

$$V(x_1, \dots , x_n) := \sum_{i=1}^n x_i a_i - b \sum_{i=1}^n d_i | x_i - c_i |$$

where $x$ is the independent variable (in an $n$-dimensional space), $a$, $d$ and $c$ are constant n-dimensional arrays and $b$ is a constant real number.

The optimization problem is subject to some linear constraints on $x_1, ..., x_n$. The objective function contains a first term, which is linear in $x$, and a second term, involving absolute values. Maximizing the first term is a standard linear programming problem, and maximizing the second term alone can be reduced to a linear programming problem introducing dummy variables (see this answer for example).

Is there a way to reduce this "mixed" optimization problem to a linear programming problem?

Mario
  • 1
  • 2
  • As you said, introduce elastic variables $p_i \ge 0$ and $n_i \ge 0$ to write a smooth reformulation of the absolute values: $\max V(x_1, ..., x_n) = \sum_i^n x_i a_i - b \sum_i^n d_i |x_i - c_i|$ is then equivalent to $\max V(x_1, ..., x_n) = \sum_i^n x_i a_i - b \sum_i^n d_i (p_i + n_i)$ s.t. $x_i - c_i = p_i - n_i$, $p_i \ge 0$, $n_i \ge 0$. Note: it works here because we maximize $- b \sum_i$, that is we minimize $b \sum_i$. – Charlie Vanaret - the Uno guy Aug 13 '21 at 08:33
  • @cvanaret got it, thank you so much. – Mario Aug 13 '21 at 10:41
  • You don't need $b$, as it can be absorbed by $d_i$. The sign of $d_i$ should matter a lot. Also, it would be nice to have the domain of $V$. – Rodrigo de Azevedo Aug 13 '21 at 11:56

0 Answers0