Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: Another proposal for a "split" function to complement "mid"



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.