Thread Links | Date Links | ||||
---|---|---|---|---|---|
Thread Prev | Thread Next | Thread Index | Date Prev | Date Next | Date Index |
On 03/19/2012 03:01 PM, John Pryce wrote:
Arnold On 19 Mar 2012, at 13:37, Arnold Neumaier wrote:What is the use? You only apply it with various fixed L. Variable L is needed only if it is useful to change L during a computation - which doesn't make sense, I think.I didn't change L during a computation. I did a whole computation with fixed L, for each of L = 1, 1e2, 1e4 and 1e6 in turn.
Yes, but this means that variable L is not useful, as a real life problem will have been scaled already in a presolve phase,
so that L=1 is adequate.
For [0,inf), I must be missing something. One can't *do* anything with numbers> REALMAX
One can do constraint propagation andvarious other things. In many cases, an interval [a,inf] can be eliminated in this way if a is sufficiently large (but typically still far from realmax), while the interval [0,inf] may be too wide to give a useful answer. Think of an expression involving 1/x.
so what's wrong with chopping it to [0, REALMAX] and carrying on from there?
A rigorous algorithm must be able to check that there is no solution out there, or return a box stretching to infinity as part of the covering of the solution set.
Being able to treat [0,inf] is important for a general purpose global solver. For example, a very large number of LPs have unbounded intervals in the problem formulation, and replacing infinite bounds by realmax (the ''Big M Method'') leads to numerical instabilities in the LP solvers.
I showed briefly what the asinh method does to that interval, with various L values.
One wouldn't want to split [0,inf] or [1,inf] at realmax but (say) at 1 or 100, respectively.
But it depends on your solver what precisely you want to do. This is the reason why I don't think a canonical, standardized split routine makes sense. Different people have different tastes, and different problem classes may need different choices. (Michel Hack mentioned the case of a known singularity.)
Whereas having a vanilla routine for the median of the set of floats in the interval is parameter-free and canonical, hence something one can standardize, and useful, as the programmer of a b&b method can use it as part of a customized splitting routine that takes the context into consideration.