       Re: Problem finding maximum

• To: mathgroup at smc.vnet.net
• Subject: [mg127614] Re: Problem finding maximum
• From: Bob Hanlon <hanlonr357 at gmail.com>
• Date: Tue, 7 Aug 2012 03:03:27 -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: <20120806083748.C04B9683E@smc.vnet.net>

```Try using a different Method for NMaximize

\$Version

"7.0 for Mac OS X x86 (64-bit) (November 11, 2008)"

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,
Method -> "SimulatedAnnealing"]

{0.0540933, {x -> 0.}}

To find available methods enter a method that is invalid

NMaximize[{Abs[f[x, aa1]], 0 <= x <= aa1}, x,
Method -> "error"];

NMaximize::bdmtd: Value of option Method -> error is not Automatic,
"SimulatedAnnealing". >>

In the worst case (i.e., no single method works best for all values of
aa1), you could use all of the methods and select the one(s) with the
best result

Module[{sol = {#, NMaximize[{Abs[f[x, aa1]], 0 <= x <= aa1}, x,
Method -> #]} & /@
"RandomSearch", "SimulatedAnnealing"}},
Select[sol, #[[2, 1]] == Max[sol[[All, 2, 1]]] &]]

NMaximize::cvmit: Failed to converge to the requested accuracy or
precision within 100 iterations. >>

{{"RandomSearch", {0.0540933, {x ->
0.}}}, {"SimulatedAnnealing", {0.0540933, {x -> 0.}}}}

Bob Hanlon

On Mon, Aug 6, 2012 at 4:37 AM, Cisco Lane <travlorf at yahoo.com> wrote:
> 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.
>

```

• Prev by Date: Re: How to Extract Conditional Expression?
• Next by Date: Re: Why the form of constraint affects the result of NMinimize?
• Previous by thread: Re: Problem finding maximum
• Next by thread: Re: Problem finding maximum