FindMinimum
- To: mathgroup at smc.vnet.net
- Subject: [mg50879] FindMinimum
- From: Steve Gray <stevebg at adelphia.net>
- Date: Sat, 25 Sep 2004 01:55:26 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
I have a complicated function F(x,y) which over its domain -50<x,y<50 has several local minima. I have a point x0,y0 which is known to lie in one of the "basins" which contains a minimum that I need to find. (I need the x,y location of the minimum much more than its value.) I also know that there are "walls" of higher values of F all around this basin, separating this minimum from others. But I do not know how wide the basin is, so the search limits for FindMinimum have to be wide enough to possibly enclose the other minima. It's important in my application that FindMinimum NOT jump the walls to the other minima, which could be smaller, but stay in the basin where I start it. The syntax is FindMinimum[F[x,y], {x, x0, x0-50, x0+50}, {y, y0, y0-50, y0+50}]. Unless I'm misunderstanding something, it shows a very odd behavior, namely finding the right minimum only when the search range is much smaller than +-50. When the search range is +-50, as in the syntax example, it sometimes finds only the starting point x0,y0. (???) Sometimes I get - "FindMinimum::lstol: The line search decreased the step size to within \ tolerance specified by AccuracyGoal and PrecisionGoal but was unable to find \ a sufficient decrease in the function. You may need more than \ MachinePrecision digits of working precision to meet these tolerances." How do I fix this? Could this be why it seems to malfunction? Thanks for any information. Steve Gray