MathGroup Archive 2005

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

Search the Archive

Re: NMinimize--problem with a min-max problem

  • To: mathgroup at smc.vnet.net
  • Subject: [mg55779] Re: NMinimize--problem with a min-max problem
  • From: dh <dh at metrohm.ch>
  • Date: Wed, 6 Apr 2005 03:11:08 -0400 (EDT)
  • References: <d2tfro$qpe$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Hello David,
to understand what goes wrong look at how Mathematica evaluates function 
arguments.
Provided we have a normal function (not Attribute "HoldFirst" or 
"HoldAll") Mathematica first evaluates an argument before it passes it 
to the function. Therefore, when you write:
NMinimize[fun1[z], z]
Mathematica first evaluates fun1[z]. At this moment, z has no value and 
you get an error message. To prevent this, tell Mathematica only to 
evaluate fun1 if the argument is Real, e.g.:
fun1[z_Real]:=....

You will still get some messages when Mathematica tries to evaluate fun1 
at points where it is not defined, but this messages has no adverse 
effect, you still get the right result:
{-0.462098, {z -> 0.75}}

sincerely, Daniel


David wrote:
> Hello,
> 
> I'm trying to solve numerically the following problem:
> 
> min{z}max{y,x} f{x,y,z}
> 
> I first do the maximization:
> 
> fun1[z_] := NMaximize[{(
>   Log[x] + 4/3 z Log[
>       y])/(2 (3/4 + z)), x > 0, y > 0, x + y == 1}, {x, y}][[1]]
> 
> I can plot fun1[z] (the solution is at z=.75,x=y=1/2) however NMinimize
> does accept the definition of fun1[z] as:
> 
> NMinimize[fun1[z], z]
> 
> yields error. 
> 
> Any suggestion?
> 
> Thank you in advance,
> 
> David
> 


  • Prev by Date: Complex integration
  • Next by Date: Re: 3D graphics domain
  • Previous by thread: Re: Re: NMinimize--problem with a min-max problem
  • Next by thread: Re: NMinimize--problem with a min-max problem