Re: NMinimize InitialPoints BUGREPORT ?
- To: mathgroup at smc.vnet.net
- Subject: [mg60239] Re: NMinimize InitialPoints BUGREPORT ?
- From: "Ray Koopman" <koopman at sfu.ca>
- Date: Thu, 8 Sep 2005 04:53:20 -0400 (EDT)
- References: <dfm7h0$h8e$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
lupos wrote: > hi Mathematica support, > this posting is a Mathematica 5.1 > bug report for NMinimize especially its InitialPoints Option. > > As can be seen from the example below the InitialPoints seem to be > intermixed if the name of the parameters in this case S, R respectivly > S, T are not in alphabetical order. everything behaves well as long the > paramteres are in alphabetical sequence such as {S, T}. if we choose > the paramters as {S, R} the initial values for the parameters get > erroneously intermixed. > watch the very first printed line after the invocation of NMinimize. > once the initial value for S gets 1. (ok) > and once the initial value for S gets 2. (error) > > note that this happens with all NMinimize methods not only the > NelderMead method. > > > In[1] := > f[v1_, v2_] := v1^2 + (v2 - 10)^2 > > > > In[19]:= > NMinimize[f[S, T], {S, T}, MaxIterations -> 1, > EvaluationMonitor :> Print["S ", S, " T ", T], > Method -> {NelderMead, InitialPoints -> {{1, 2}}}] > > >From In[19] := S 1. T 2. > >From In[19] := S - 0.936293 T 0.280416 > >From In[19] := S 0.448605 T 0.161768 > >From In[19] := S - 0.384898 T 2.11865 > >From In[19] := S - 0.801649 T 3.09709 > >From In[19] := S - 0.801649 T 3.09709 > >From In[19] := S - 0.801649 T 3.09709 > >From In[19] := S 0. T 10. > >From In[19] := S 0. T 10. > >From In[19] := S - 0.801649 T 3.09709 > > Out[19] = {0., {S -> 0., T -> 10.}} > > > > In[21]:= > NMinimize[f[S, R], {S, R}, MaxIterations -> 1, > EvaluationMonitor :> Print["S ", S, " R ", R], > Method -> {NelderMead, InitialPoints -> {{1, 2}}}] > > >From In[21] := S 2. R 1. > >From In[21] := S 0.280416 R - 0.936293 > >From In[21] := S 0.161768 R 0.448605 > >From In[21] := S 1.88135 R 2.3849 > >From In[21] := S 2.68182 R 4.04549 > >From In[21] := S 2.68182 R 4.04549 > >From In[21] := S 2.68182 R 4.04549 > >From In[21] := S 0. R 10. > >From In[21] := S 0. R 10. > >From In[21] := S 2.68182 R 4.04549 > > Out[21] = {0., {R -> 10., S -> 0.}} > > > > regards robert 5.2 has a similar bug: with {S,R} it appears to get the initial point correct, but otherwise follows the same solution path as 5.1. In[1]:= $Version Out[1]= 5.2 for Mac OS X (June 20, 2005) In[2]:= f[v1_, v2_] := v1^2 + (v2 - 10)^2 In[3]:= NMinimize[f[S, T], {S, T}, MaxIterations -> 1, EvaluationMonitor :> Print["S ", S, " T ", T], Method -> {NelderMead, InitialPoints -> {{1, 2}}}] S 1. T 2. S -0.936293 T 0.280416 S 0.448605 T 0.161768 S -0.384898 T 2.11865 S -0.801649 T 3.09709 S -0.801649 T 3.09709 S -0.801649 T 3.09709 S 0. T 10. S 0. T 10. S -0.801649 T 3.09709 S -0.801649 T 3.09709 S 0. T 10. S 0. T 10. Out[3]= {0.,{S->0.,T->10.}} In[4]:= NMinimize[f[S, R], {S, R}, MaxIterations -> 1, EvaluationMonitor :> Print["S ", S, " R ", R], Method -> {NelderMead, InitialPoints -> {{1, 2}}}] S 1. R 2. S 0.280416 R -0.936293 S 0.161768 R 0.448605 S 0.881352 R 3.3849 S 1.18182 R 5.54549 S 1.18182 R 5.54549 S 1.18182 R 5.54549 S 0. R 10. S 0. R 10. S 1.18182 R 5.54549 S 1.18182 R 5.54549 S 0. R 10. S 0. R 10. Out[4]= {0.,{R->10.,S->0.}}