# How to find this global minimum?

This is a problem from a Russian school math olympiad:

Minimize[(5 x^2 + 8 x*y + 5 y^2 - 14 x - 10 y +
30)/(4 - x^2 - 10 x*y - 25 y^2)^(7/2), {x, y}]


The above code is running on my comp as well as on MathematicaOnline without any response for hours. Also

NMinimize[(5 x^2 + 8 x*y + 5 y^2 - 14 x - 10 y +
30)/(4 - x^2 - 10 x*y - 25 y^2)^(7/2), {x, y}]


NMinimize::nrnum: The function value 0. +0.00126832 I is not a real number at {x,y} = {0.918621,0.716689}.

and

Plot3D[(5 x^2 + 8 x*y + 5 y^2 - 14 x - 10 y +
30)/(4 - x^2 - 10 x*y - 25 y^2)^(7/2), {x, -3, 3}, {y, -2, 2},PlotPoints->50 ]


do not help.

• Did you try analytical approach? Mar 30, 2019 at 9:41
• As @Rom38 mentioned: Solve[Thread[Numerator[Together[D[(5 x^2 + 8 x*y + 5 y^2 - 14 x - 10 y + 30)/(4 - x^2 - 10 x*y - 25 y^2)^(7/2), {{x, y}}]]] == 0], {x, y}, Reals]. Then, check the solution with PositiveDefiniteMatrixQ[D[(5 x^2 + 8 x*y + 5 y^2 - 14 x - 10 y + 30)/(4 - x^2 - 10 x*y - 25 y^2)^(7/2), {{x, y}, 2}] /. First[%]]. Mar 30, 2019 at 9:42
• @J.M., yes, my point is that global minimum corresponds to minimum of numerator and maximum of denominator. Drawing them separately, one can see that denominator is a linear fold and numerator is a smooth decreasing slope.. Mar 30, 2019 at 9:50
• @J.M.: Thank you for your suggestions. However, on that way only a local minimum $x=5/3,y=-1/3$ is found. It's unclear whether one is a global minimum. Mar 30, 2019 at 9:52
• Okay, I now see that a very good response was deleted by its author. This seems to have happened in the wake of a derogatory comment. What exactly do you expect to attain here? Some new type of MSE badge for insults? Good grief. Mar 30, 2019 at 20:56

The graphical solution is simple:

Plot3D[{
(5 x^2 + 8 x*y + 5 y^2 - 14 x - 10 y + 30),
(4 - x^2 - 10 x*y - 25 y^2)^(7/2)},
{x, -7, 7}, {y, -5, 5},
ImageSize -> 500, PlotPoints -> 50, PlotRange->All]


The global minimum lies on the top of blue fold and, therefore, you need find the equation of maximum of denominator as y(x) just solving the equation for its total derivative. Further, you need find the minimum of the numerator along the earlier obtained direction.

The top of the denominator surface is:

ss = Solve[D[(4-x^2-10*x*y-25*y^2)^(7/2), x]+D[(4-x^2-10*x*y-25*y^2)^(7/2), y]==0, {y}, Reals]


It gives {{y -> 1/5 (-2 - x)}, {y -> (2 - x)/5}, {y -> -(x/5)}} and only last of them corresponds to top of the fold. Next, let's find the minimum of numerator on the top of fold:

Solve[#==0,x]&@D[(5*x^2+8*x*y+5*y^2-14*x-10*y+30)/.ss[[-1]], x]


{{x -> 5/3}}

Taking in account the y=-x/5, the global minimum is:

(5*x^2+8*x*y+5*y^2-14*x-10*y+30)/(4-x^2-10*x*y-25*y^2)^(7/2)/.{y-> -(x/5)}/.{x->5/3}


5/32 at {5/3,-1/3}

• Thank you. I find it rather a plausible argument than a solution of the problem under consideration. One of the ungrounded places is "The global minimum lays on the top of blue fold". Mar 30, 2019 at 11:09
• Minimal value of the fraction appears when you have minimum of numerator and maximum of denominator simultaneously. The fold is horizontal (4-(x+5y)^2)^7/2 and it clearly has a maximum on the top. Mar 30, 2019 at 11:16
• "Minimal value of the fraction appears when you have minimum of numerator and maximum of denominator simultaneously" . Yes, but Minimize[5 x^2 + 8 xy + 5 y^2 - 14 x - 10 y + 30, {x, y}] performs {20,{x->5/3,y->-(1/3)}} and Maximize[4 - x^2 - 10 xy - 25 y^2, {x, y}] produces {4, {x -> 0, y -> 0}}. Mar 30, 2019 at 11:27
• I upvoted because it is a reasonably clever, if somewhat hand-waving, approach. Next question. Mar 30, 2019 at 20:51
• I'm pretty much done reading any comments of yours. My advice, unsolicited though it might be, is that the comments go away. Mar 30, 2019 at 20:57

My numerical solution is as follows.

NMinimize[{(  30 - 14 x + 5 x^2 - 10 y + 8 x y +  5 y^2)/(4 - x^2 - 10 x y - 25 y^2)^(7/2),
x^2 + 10 x y + 25 y^2 < 4},{x, y}, Method -> "RandomSearch",  WorkingPrecision -> 15]


{0.156250000000000,{x->1.66666666666667,y->-0.333333333333333}}

Addition. My exact solution is as follows.

Minimize[{(5 x^2 + 8 x*y + 5 y^2 - 14 x - 10 y +
30)/(4 - x^2 - 10 x*y - 25 y^2)^(7/2), 4-x^2-10 x*y- 25 y^2 >= 0} /. x -> t - 5 y, {t, y}]


{5/32, {t -> 0, y -> -(1/3)}}

PS. Even the following works.

Minimize[(5 x^2 + 8 x*y + 5 y^2 - 14 x - 10 y +
30)/(4 - x^2 - 10 x*y - 25 y^2)^(7/2) /. x -> t - 5 y, {t, y}]

• Method -> "RandomSearch" would be, well, "built on sand" unless you can be sure the random sampling has sufficiently covered a wide enough portion of the function's domain. As for your first: what happened to the 7/2 exponent? You are getting 5 because that is the result of evaluating your "new" function at those values of x and y. Mar 30, 2019 at 16:24
• @J. M. is slightly pensive: Do you know an option of NMinimize to this end? The DirectSearch of Maple produces the same numerical result. Mar 30, 2019 at 16:28
• There is never an assurance that NMinimize[] will return a global optimum except in the linear case (points 9 and 10 under "Details and Options" in the documentation). (Same goes for Maple's method.) Recall that the general procedure of such methods is to take multiple samples and take the "best" result out of all those samples, so there is still a nonzero chance of missing extrema. Mar 30, 2019 at 16:32
• @J. M. is slightly pensive: When two different CASes, making use of different methods, produce the same result, then its reliability increases, is not so? Mar 30, 2019 at 16:43
• I do not see that being any more rigorous than e.g. rmw's answer, but I suppose opinions differ. Mar 30, 2019 at 16:45