Hello Steven, GLPK provides an implementation of the simplex algorithm using rational numbers. For speedup the GNU MP bignum library can be used.
See the documention of function glp_exact() in glpk-4.44/doc/glpk.pdf The source of GLPK is available at ftp://ftp.gnu.org/gnu/glpk/glpk-4.44.tar.gz http://www.cise.ufl.edu/~davis/Morgan/ gives an overview of different implementations of the simplex algorithm, pointing out that accuracy can be increased by using the Bartels-Golub method. GLPK provides different factorization methods as described in the documentation of function glp_set_bfcp(). Best regards Xypron -------- Original-Nachricht -------- > Datum: Wed, 28 Jul 2010 15:25:12 +0800 > Betreff: [Help-glpk] Precison Question? > Hello, I have implemented a solver using two-staged simplex method. > And the element type of coefficient matrix can be double and rational, > e.g: > the rational version: > //lineq is a (2*3) matrix. > MATRIX<RATIONAL> lineq( //means linear inequalities > 3, 2, 6 //means 3x1 + 3x2 <= 6 > -3, 2, 0 //means -3x1 + 2x2 <= 0 > > ); > max: x1 + x2 > > the double version: > MATRIX<double> lineq( > 3.0, 2.0, 6.0 //means 3.0x1 + 2.0x2 <= 6.0 > -3.0, 2.0, 0.0 > ); > max: x1 + x2 > > The solver works well when the element type of 'lineq' was rational. > But If the element type is double, there are always cumulative error > when 'lineq' was growing up to (500*700) or more, > and that incurring to that the result is unbound. > So my question is how did you handle the cumulative error in GLPK? > > Thanks in advance. > steven -- Neu: GMX De-Mail - Einfach wie E-Mail, sicher wie ein Brief! Jetzt De-Mail-Adresse reservieren: http://portal.gmx.net/de/go/demail _______________________________________________ Help-glpk mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-glpk
