[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-glpk] Interpretation of 'glp_scale_prob' output
From: |
glpk xypron |
Subject: |
Re: [Help-glpk] Interpretation of 'glp_scale_prob' output |
Date: |
Tue, 12 Oct 2010 19:22:13 +0200 |
Hello Robbie,
the relevant coding is in glpscl.c.
Scaling/output sequence is
* fmt = "%s: min|aij| = %10.3e max|aij| = %10.3e ratio = %10.3e\n";
* xprintf("Scaling...\n")
* unscale
* report original scaling "quality" - xprintf(fmt, " A", min_aij, max_aij,
ratio);
* check if problem is well scaled - xprintf("Problem data seem to be well
scaled\n");
* iterative geometric mean scaling - xprintf(fmt, "GM", min_aij, max_aij, ratio)
* equilibration scaling - xprintf(fmt, "EQ", min_aij, max_aij, ratio)
* round scale factors to nearest power of two - xprintf(fmt, "2N", min_aij,
max_aij, ratio)
Which scaling is executed depends on the flags passed to
glp_scale_prob(glp_prob *lp, int flags)
* GLP_SF_GM perform geometric mean scaling;
* GLP_SF_EQ perform equilibration scaling;
* GLP_SF_2N round scale factors to nearest power of two;
* GLP_SF_SKIP skip scaling, if the problem is well scaled.
* GLP_SV_AUTO choose scaling options automatically
i.e. GLP_SF_GM + GLP_SF_EQ + GLP_SF_SKIP
> SKIP indicates skip scaling if the problem is well scaled.
A line beginning with SKIP will never be written.
I guess additionally to documenting the output we should add an extra page on
scaling, to describe how scaling is influenced by modelling, especially the
negative effect of excessive big Ms.
Best regards
Xypron
-------- Original-Nachricht --------
> Datum: Wed, 13 Oct 2010 02:29:52 +1300 (NZDT)
> Betreff: [Help-glpk] Interpretation of \'glp_scale_prob\' output
>
> Hello all
>
> Calling 'glp_scale_prob' on a tiny MIP problem results
> in the following terminal output:
>
> <output>
>
> Scaling...
> A: min|aij| = 1.000e+00 max|aij| = 8.000e+05 ratio = 8.000e+05
> GM: min|aij| = 5.494e-01 max|aij| = 1.820e+00 ratio = 3.312e+00
> EQ: min|aij| = 3.096e-01 max|aij| = 1.000e+00 ratio = 3.230e+00
>
> </output>
>
> I would like to describe this output (or a similar
> example) on the GLPK wikibook page:
>
> http://en.wikibooks.org/wiki/GLPK/Terminal_output
>
> However I didn't see the output format explained in
> much detail in the GLPK API manual. So my first cut
> is as follows:
>
> <wikibook>
>
> where:
>
> A indicates the original constraint matrix, A = (a_ij)
> GM indicates geometric mean scaling
> EQ indicates equilibration scaling
> 2N indicates round scale factors to nearest power of two
> SKIP indicates skip scaling if the problem is well scaled
>
> In the above example, GM and EQ scaling have been applied in that order.
>
> The min and max indicate ... and the ratio is determined by simple
> division.
>
> Scaling is on by default under GLPSOL, but can be disabled
> using the <tt>--noscale</tt> option.
>
> </wikibook>
>
> Can anybody add/correct/comment on this text please.
>
> many thanks
> Robbie
> ---
> Robbie Morrison
> PhD student -- policy-oriented energy system simulation
> Technical University of Berlin (TU-Berlin), Germany
> University email (redirected) : address@hidden
> Webmail (preferred) : address@hidden
> [from Webmail client]
>
>
>
> _______________________________________________
> Help-glpk mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/help-glpk
--
Neu: GMX De-Mail - Einfach wie E-Mail, sicher wie ein Brief!
Jetzt De-Mail-Adresse reservieren: http://portal.gmx.net/de/go/demail