1
$\begingroup$

I know that similar questions have been answered several times, and based on the answers, I attempted a solution to my problem. But I simply do not get the right results. The problem is as follows. I wish to solve the following optimization:

$max(ax_1)$ subject to $x_1 = |x_2-x_3|$

where $a$ can be both positive and negative.

I tried to set up the a "Big-M" method based Binary LP (The bounds are well known and reasonably small.) by using the following constraints:

$x_1+(x_2-x_3)\leq M*p$

$x_1-(x_2-x_3)\leq M*(1-p)$

$x_1+(x_2-x_3)\geq -M*p$

$x_1-(x_2-x_3)\geq -M*(1-p)$

where p is binary.

The bounds are $0 \leq x_1 \leq U$, where $U << M$; $-\infty \leq x_2 \leq \infty $; $-\infty \leq x_3 \leq \infty$

But this did not work. Is my above approach correct? Am I doing something wrong because of non-convexity and because of lack of closed-form solutions (as explained in Linear programming with absolute values)?

If yes, are there any alternatives? I am stuck!

This is the theoretical part.

In practice, I am having an issue with the following problem. $max(x_1(1)+x_1(2)+x_1(3))$

such that

$x_1(1) = |x_2(2)-x_2(1))|$

$x_1(2) = |x_2(3)-x_2(2))|$

$x_1(3) = |x_2(4)-x_2(3))|$

the bounds are $0\leq x_1(1) \leq 4$, $0 \leq x_1(2) \leq 12$, $0\leq x_1(3) \leq 11$. for $x_2(1,...,4)$, the bounds are [-inf inf].

I expect the fval to be 27 so that I get x_1(1,...,3) = 4, 12, 11. but I get fval to be 4 and x_1(1,...,3) = 4, 0, 0.

I suppose I am making a big blooper somewhere, but I cant figure out where...!

$\endgroup$

Your Answer

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

Browse other questions tagged or ask your own question.