2
$\begingroup$

I am stuck with a minimization problem:

FullSimplify[
 Assuming[a1 >= 0 && a2 >= 0 && w1 >= 0 & w2 >= 0 && b1 > 0 && 
   b2 > 0 && 0 <= α1 < 1 && 0 <= α2 < 1 && P1 > 0 && 
   P2 > 0 ,  
  Minimize[w1 + w2 + (
    b1 (2 b1 + 4 P1 + 2 a2 α1 - 6 P α1 - 
       a2 α1^2 + 2 P1 α1^2))/(-2 + α1)^2 + (
    b2 (2 b2 + 4 P2 + 2 a1 α2 - 6 P α2 - 
       a1 α2^2 + 2 P2 α2^2))/(-2 + α2)^2, {w1 + 
      b1*a1 - (a1 - ((1 - α1) * 
            P1 + α1 *((a1 + a2)/2)))^2 >= 0,  
    w2 + b2*a2 - (a2 - ((1 - α2) * 
            P2 + α2 *((a2 + a1)/2)))^2 >= 0},  {w1, w2, a1, 
    a2, b1, b2}, Reals]]]

Is there any possibility to yield a solution in this case? Even after running approximately an hour, there is no output yet.

$\endgroup$
1
  • 2
    $\begingroup$ Try NMinimize, maybe. This problem seems complicated enough that an analytic solution is either impossible or unlikely to be useful. In addition, it is probably necessary to put your constraints as equations inside NMinimize, rather than in an enclosing Assuming construct. $\endgroup$
    – march
    Jan 6, 2017 at 22:22

1 Answer 1

2
$\begingroup$

I would do this numerically, since it very unlikely you will get an analytic expression. Of course, you will need to choose values for the undefined parameters. Since

0 <= α1 < 1
0 <= α2 < 1
P1 > 0
P2 > 0

I have chosen some values:

With[{P1 = 1, P2 = 2, α1 = 0.5, α2 = 0.5, P = 1},
  NMinimize[{
     w1 + w2 + (b1 (2 b1 + 4 P1 + 2 a2 α1 - 6 P α1 - a2 α1^2 + 2 P1 α1^2))/(-2 + α1)^2 + (b2 (2 b2 + 4 P2 + 2 a1 α2 - 6 P α2 - a1 α2^2 + 2 P2 α2^2))/(-2 + α2)^2,
     w1 + b1*a1 - (a1 - ((1 - α1)*P1 + α1*((a1 + a2)/2)))^2 >= 0,
     w2 + b2*a2 - (a2 - ((1 - α2)*P2 + α2*((a2 + a1)/2)))^2 >= 0,
     a1 >= 0, a2 >= 0, w1 >= 0, w2 >= 0, b1 > 0, b2 > 0
    },
   {w1, w2, a1, a2, b1, b2},
   Reals]
 ]

The output is quick:

{2.25268*10^-8, {w1 -> 0., w2 -> 2.25268*10^-8, a1 -> 1.24999, a2 -> 1.74998, b1 -> 0., b2 -> 0.}}
$\endgroup$
2
  • $\begingroup$ Indeed, I didn't find a better way than doing it numerically. However, how can it be that the output for variables b1 -> 0., b2 -> 0 is zero, which obviously violates the constraints in the program above which state b1 > 0, b2 > 0 ? $\endgroup$ Jan 7, 2017 at 9:06
  • 1
    $\begingroup$ It just means that the minimum is where b1, b2 is as close to 0 as you can numerically resolve. Just think of the smallest machine-precision real number larger than 0 or something. $\endgroup$ Jan 7, 2017 at 10:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.