Re: Nested optimization teaser
- To: mathgroup at smc.vnet.net
- Subject: [mg46072] Re: Nested optimization teaser
- From: "Joshua A. Solomon" <J.A.Solomon at city.ac.uk>
- Date: Thu, 5 Feb 2004 04:02:52 -0500 (EST)
- References: <bvpas6$sd1$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Thanks to Paul Abbot on another thread, I now know the answer is In[1]:= egg[in_?NumericQ]:=NMinimize[{(x-in)^2},{{x,-1,1}}][[2,1,2]] js On 3/2/04 11:29 pm, in article bvpas6$sd1$1 at smc.vnet.net, "Joshua A. Solomon" <J.A.Solomon at city.ac.uk> wrote: > Consider the toy identity function egg: > > In[1]:= egg[in_]:=NMinimize[{(x-in)^2},{{x,-1,1}}][[2,1,2]] > > In[2]:= egg[#]&/@{1,2,3} > Out[2]:= {1.,2.,3.} > > Now then, clearly > > In[3]:= NMinimize[(2-a)^2,a] > Out[3]:= {0.,{a->2.}} > > However, > > In[4]:= NMinimize[(2-egg[a])^2,a] > Out[4]:= {9.,{a->0}} > > I know why this happens. What I don't know, is how to properly construct a > nested optimization so this doesn't happen. Specifically, how can I find the > minimum value (and the parameter values that produce it) of a function that > depends on the minimum value of another function, which, in turn, depends on > those same parameters? > > js