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