MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Problem finding maximum

  • To: mathgroup at smc.vnet.net
  • Subject: [mg127705] Re: Problem finding maximum
  • From: Peter Pein <petsie at dordos.net>
  • Date: Wed, 15 Aug 2012 05:27:53 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <jvnvte$ce1$1@smc.vnet.net>

Am 06.08.2012 10:40, schrieb Cisco Lane:
> Hmm - My Mathematica (Mathematica 7 Home Edition, Ver 7.0.1.0, Mac OS X X86 (32-bit)) gives a different answer:
>
> f[x_, a_] = (a^3 - 6 x - a^2 (4 + x) + a (2 + 12 x - 4 x^2))/(8 a);
> aa1 = .7481;
> NMaximize[{Abs[f[x, aa1]], 0 <= x <= aa1}, x]
>
> {0.0274936, {x -> 0.403948}}
>
> Any idea why? I must use an automatically selected start point, because the values of aa1 vary widely.
>
> Using the rational aa1 and Maximize works:
>
> f[x_, a_] = (a^3 - 6 x - a^2 (4 + x) + a (2 + 12 x - 4 x^2))/(8 a);
> aa1 = 7481/10000;
> N[Maximize[{Abs[f[x, aa1]], 0 <= x <= aa1}, x]]
>
> {0.0540933, {x -> 0.}}
>
> but I am not sure why. If this method is reliable, I could use it, but it seems klugy.
>

Seemingly there is a bug in version 7:
NMaximize[{Abs[f[x, aa1]], 0 <= x <= aa1}, x,
  Method -> {Automatic, "InitialPoints" -> List /@ Range[0, 3] aa1/3}]

  {0.0274936, {x -> 0.403948}}

Even if the global maximum location is in the set of initial points, the 
default method fails in this case.

This does not happen any more in version 8.
If an upgrade is no option, try Bob's tip using specific Methods.

You can learn a lot about Mathematica 7 if you try every example in the 
tutorial [1] written for version 8, I guess ;)

Peter

[1] 
http://www.wolfram.com/learningcenter/tutorialcollection/ConstrainedOptimization/



  • Prev by Date: Re: V8 slow like a snail
  • Next by Date: Re: V8 slow like a snail
  • Previous by thread: Re: Problem finding maximum
  • Next by thread: How to Extract Conditional Expression?