[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-glpk] [Fwd: Scaling: Which? and Suppressing output]
From: |
Andrew Makhorin |
Subject: |
Re: [Help-glpk] [Fwd: Scaling: Which? and Suppressing output] |
Date: |
Fri, 25 Feb 2011 01:10:17 +0300 |
> > > A: min|aij| = 4.000e-01 max|aij| = 2.800e+00 ratio = 7.000e+00
> > > Problem data seem to be well scaled
> > The message is written in file glpk-4.45/src/glpscl.c
> > You could replace the following lines:
> >
> > if (min_aij >= 0.10 && max_aij <= 10.0)
> > { xprintf("Problem data seem to be well scaled\n");
> > /* skip scaling, if required */
> > if (flags & GLP_SF_SKIP) goto done;
> > }
A simplier way is to call glp_term_out(GLP_OFF) before a call to
glp_scale_prob, and then call glp_term_out(GLP_ON) to resume the
terminal output.
> Any suggestions on which scaling method might be preferred for my
> application? I think what is happening is that some of the
> coefficients are for all practical purposes effectively 0. These
> "effective zeroes" are being represented in the matrix as some very
> small number, e.g. 7.2134e-32, whereas the other entries are of a
> common everyday size like 8.2, or 0.34. Which scaling method would be
> preferred for handling this situation?
>
It is highly recommended to replace tiny constraint coefficients by
exact zeros; glpk does not do that automatically to keep the user data
intact. Then you could try glp_scale_prob(GLP_SF_GM|GLP_SF_EQ|
GLP_SF_SKIP).