MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Problem with NMaximize

  • To: mathgroup at smc.vnet.net
  • Subject: [mg68842] Re: Problem with NMaximize
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Mon, 21 Aug 2006 03:27:39 -0400 (EDT)
  • Organization: The Open University, Milton Keynes, UK
  • References: <ec97qm$4dt$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Lee Newman wrote:
> I have function that I want to maximize.  The function calls many other 
> functions, and I have verified that on its own, it works as intended. 
> However, when I include the function in an NMaximize statement, I get 
> errors.  After including Print statements within the function (and the 
> functions that calls), it seems the problem is that the variable being 
> passed to the function by NMaximize is being treated as a undefined 
> symbol, rather than as the value currently being passed by NMaximize.
> 
> NMaximize[ {bigFunc[a,b,c]}, {{a,0,1},{b,0,2},{c,0,3}}, 
> Method->"NelderMead"];
> 
> bigfunc[x_,y_,z_] := Module[{vars here}, large function here;  Print[y]];
> 
> When called directly bigfunc[1,2,3], the print statement prints 2, the 
> correct value for argument y.
> When called within NMaximize (as above), the print statement returns b, 
> the symbolic value passed by NMaximize, and all the errors generated are 
> related to the fact that b is being treated as a undefined symbol rather 
> than a numeric value.

Hi Lee,

Define your function so it will be called only if numerics arguments are 
supplied:

bigfunc[x_?NumericQ, y_?NumericQ, z_?NumericQ] := Module[{vars here}, 
large function here;  Print[y]];

HTH,
Jean-Marc


  • Prev by Date: AuthorTools "Make Contents" no makes contents?
  • Next by Date: Re: Re: too many special linear matrices
  • Previous by thread: Re: Problem with NMaximize
  • Next by thread: Re: Problem with NMaximize