MathGroup Archive 2001

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

Search the Archive

Re: ConstarinedMin Question

  • To: mathgroup at smc.vnet.net
  • Subject: [mg30915] Re: ConstarinedMin Question
  • From: <BobHanlon at aol.com>
  • Date: Thu, 27 Sep 2001 02:16:32 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

In a message dated 2001/9/23 2:30:51 AM, Moranresearch at aol.com writes:

>Why want this run? I don't undestand the error message. Thank you.
>
>In[28]:=
>c = {6.128, 6.129, 6.129,
>      6.130, 6.130, 6.130,
>      6.131, 6.130};
>In[29]:=
>d = {0.221, 0.452, 0.660, 0.890,
>      1.092, 1.320, 1.523,
>      1.748};
>In[30]:=
>f1[i_, j_] :=
>  Sum[Abs[Sqrt[(c[[1]] + i)^2 - j*d[[n]]^2] - c[[n]]], {n, 1,
Length[c]}]
>In[31]:=
>ConstrainedMin[f1[i, j], {i < .1, j < 2}, {i, j}]

c = {6.128, 6.129, 6.129,
      6.130, 6.130, 6.130,
      6.131, 6.130};

d = {0.221, 0.452, 0.660, 0.890,
      1.092, 1.320, 1.523,
      1.748};

f1[i_, j_] :=
  Sum[Abs[Sqrt[(c[[1]] + i)^2 - j*d[[n]]^2] - c[[n]]], {n, 1,
Length[c]}];

FindMinimum[f1[i,j],{i,.05,.1}, {j,1.,2.}]

{0.0035030621249534377,
  {i -> 0.0008671585637429163,
   j -> -0.00797024374583214}}

The minimum occurs with a negative value of j.  The problem with
ConstrainedMin
may (?) be related to the statement in the documentation that
ConstrainedMin
assumes
that all variables are non-negative; or, as in the case with
FindMinimum,
that it cannot
symbolically determine the gradient of f1. The latter is the reason why
two
starting
values are required for each variable in FindMinimum.

The function can be written more compactly as

f2[i_, j_] :=
  Tr[Abs[Sqrt[(c[[1]] + i)^2 - j*d^2] - c]];

FindMinimum[f2[i,j],{i,.05,.1}, {j,1.,2.}]

{0.0035030621249534377,
  {i -> 0.0008671585637429163,
   j -> -0.00797024374583214}}


Bob Hanlon
Chantilly, VA  USA




  • Prev by Date: Re: Open Write?
  • Next by Date: Re: EPS export problem
  • Previous by thread: Re: ConstarinedMin Question
  • Next by thread: How Download an additional package?