[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-glpk] Precison Question?
From: |
glpk xypron |
Subject: |
Re: [Help-glpk] Precison Question? |
Date: |
Thu, 29 Jul 2010 00:14:52 +0200 |
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