MathGroup Archive 2007

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

Search the Archive

Re: Problems minimizing an overconstrained system


Yaroslav Bulatov wrote:

> I'm getting problems using FindMinimum when there are multiple active
> constraints at the minimum point. Here's a test case that demonstrates
> this problem
> 
> FindMinimum[{Max[p[1], p[3]],
>  p[1] + p[2] + p[3] == 1 && 1/10 <= p[3] <= 4/5 && p[1] == 4/5 &&
>   p[2] == 1/10}, {p[1], p[2], p[3]}]
> 
> fails with " There are no points that satisfy the constraints", while
> different objective function with the same constraints works --
> 
> FindMinimum[{p[1] + p[3],
>  p[1] + p[2] + p[3] == 1 && 1/10 <= p[3] <= 4/5 && p[1] == 4/5 &&
>   p[2] == 1/10}, {p[1], p[2], p[3]}]
> 
> Is there any way around this behavior?

Your example is not representative of any failure from *FindMinimum* for 
what you posted is not a minimization problem:

All the "variables" but one have fixed values (p[1] == 4/5, always, and 
p[2] == 1/10, always) and the equation p[1] + p[2] + p[3] == 1 has for 
unique solution p[3] == 1/10, always.

Then, you can add whatever you want as "constraints" and "objectives", 
at best you will get p[1] == 4/5, p[2] == 1/10, and p[3] == 1/10.

Now, if you attempt to solve a genuine optimization problem, contrary to 
your claim, FindMinimum does not have any trouble handling "multiple 
active constraints" correctly (at least in the example below).

In[1]:= FindMinimum[{Max[p[1], p[3]],
   p[1] + p[2] + p[3] == 1 && 1/10 <= p[3] <= 4/5 && 0 < p[1] < 1 &&
    0 < p[2] < 1}, {p[1], p[2], p[3]}]

Out[1]= {0.1, {p[1] -> 0.0277053, p[2] -> 0.872295, p[3] -> 0.1}}

-- 
Jean-Marc


  • Prev by Date: Re: Plot "not working"
  • Next by Date: Re: Re: Mathematica 6.0.1, Crashes when I hit the ENTER key !!
  • Previous by thread: Problems minimizing an overconstrained system
  • Next by thread: Re: Problems minimizing an overconstrained system