Re: long evaluation time
- To: mathgroup at smc.vnet.net
- Subject: [mg51221] Re: [mg51208] long evaluation time
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Sat, 9 Oct 2004 04:18:33 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
What do you think it should not take long?
The answer is obviously 0 at {0,0,0}, which can be easily proved by
most reasonably competent human beings. Nminimize can also do it:
NMinimize[{(x^2 + x)/(y^2 + 1) + (z^2 + z)/(x^2 + 1) +
(y^2 + y)/(z^2 + 1), x > 0 && y > 0 && z > 0},
{x, y, z}]
{0., {x -> 0., y -> 0., z -> 0.}}
though nothing NMinimize does constitutes a proof. But Minimize returns
only exact results,and when it returns an answer then (barring of
course bugs) it is the equivalent of a proof. To solve this kind of
non-linear problem it relies on a famous algorithm, due to Collins,
known as Cylindirical Algebraic Decomposition. However, the running
time of this algorithm is doubly exponential in the number of
variables, so you rarely can expect it to deal with more than 2
variable problems. If you reduce the number of variables by
substituting something for one of them, you will get an answer in
reasonable time, vis:
Minimize[{(x^2 + x)/(y^2 + 1) + (z^2 + z)/(x^2 + 1) +
(y^2 + y)/(z^2 + 1), x > 0 && y > 0 && z > 0} /.
z -> 1/2, {x, y}]
Minimize::"wksol":"Warning: There is no minimum in the region described
by
the contraints; returning a result on the boundary.
{3/4, {y -> 0, x -> 0}}
On 8 Oct 2004, at 15:55, _n3g wrote:
> Hi everybody!
>
> Can anyone explain me, why it takes so long to evaluate
>
> Minimize[
>
> (x + x^2)/(1 + y^2) + (y + y^2)/(1 + z^2) + (z + z^2)/(1 + x^2),
>
> x > 0 && y > 0 && z > 0,
>
> {x,y,z}
>
> ]
>
> ?
>
> thx, _n3g
>
>
Andrzej Kozlowski
Chiba, Japan
http://www.akikoz.net/~andrzej/
http://www.mimuw.edu.pl/~akoz/