Maximizing a function that depends on a list of length M grows as 3^M
- To: mathgroup at smc.vnet.net
- Subject: [mg52629] Maximizing a function that depends on a list of length M grows as 3^M
- From: Gail Gong <gailgong at dcn.davis.ca.us>
- Date: Sun, 5 Dec 2004 02:08:05 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Here is my question briefly: I have a function in two variables that I
want to maximize.The function depends on M markers.The calculation time
for the function grows linearly as M grows.The number of iterations
required for FindMaximum is constant.The calculation time of FindMaximum
grows as a whopping 3^M. Since I need M to be over 200, my calculation
of FindMaximum would require over 10^83 days. Why does FindMaximum grow
as 3^M.
Let my function be defined by
fFn[z_,r_,aListOfLengthM]:=Block[...
I use the following call to FindMaximum. Since I am using {z,.3444,
.3445} and {r,.0581,.0582}, I understand that the maximization routine
is not taking derivatives.
n=0;iters={{0,z=.3444,r=.0581,fFn[z,r,aListOfLengthM]}};
workOne=Timing[FindMaximum[
fFn[z,r,aListOfLengthM],{z,.3444, .3445},{r,.0581,.0582},
StepMonitor :>AppendTo[iters,{++n,z,r,fFn[z,r,aListOfLengthM]}]]];
Thanks for any help anyone can offer. I can send a more verbose
description if that would help.
Gail Gong