Hi, from your appendix I guess you are using Debian. GLPK 4.29-2 is the package currently distributed with Debian Lenny.
Upstreams GLPK 4.29 is an old version. The current version is 4.43. It is available as Debian package for Debian Squeeze and Sid. Please, download the current source with command wget ftp://ftp.gnu.org/gnu/glpk/glpk-4.43.tar.gz untar with tar -xzf glpk-4.43.tar.gz and follow the instructions in glpk-4.43/INSTALL to build the current version. Please, inform [email protected] if you can reproduce the error with GLPK 4.43 on your 64bit machine. If the error is specific to 4.29, please, use the Debian tool reportbug and ask the package maintainer to upgrade GLPK. You can install reportbug with sudo apt-get install reportbug Best regards Xypron -------- Original-Nachricht -------- > Datum: Fri, 07 May 2010 10:30:09 +0300 > Von: Volkan YAZICI <[email protected]> > An: [email protected] > Betreff: [Help-glpk] LPX_E_SING Error on 64bit Platform > Hi, > > While trying to solve attached ILP problem as below: > > int > main(void) > { > glp_prob *lp; > > lp = glp_create_prob(); > assert(!glp_read_lp(lp, NULL, "repl-ilp-xXNtiz")); > > assert(!glp_simplex(lp, NULL) && glp_get_status(lp) == GLP_OPT); > lpx_set_int_parm(lp, LPX_K_USECUTS, LPX_C_ALL); > lpx_set_real_parm(lp, LPX_K_TMLIM, 1); > lpx_adv_basis(lp); > { > int ret = lpx_intopt(lp); > assert(ret == LPX_E_OK || ret == LPX_E_TMLIM); > } > > return 0; > } > > The final assertion fails with "ret" set to 211 (LPX_E_SING). Below is > the program output: > > glp_read_lp: reading problem data from `repl-ilp-xXNtiz'... > glp_read_lp: 101 rows, 166 columns, 531 non-zeros > glp_read_lp: 166 integer columns, all of which are binary > glp_read_lp: 272 lines were read > * 0: objval = 0.000000000e+00 infeas = 0.000000000e+00 (0) > * 124: objval = 3.702857143e+01 infeas = 8.881784197e-16 (0) > OPTIMAL SOLUTION FOUND > lpx_adv_basis: size of triangular part = 101 > ipp_basic_tech: 0 row(s) and 0 column(s) removed > ipp_reduce_bnds: 1 pass(es) made, 0 bound(s) reduced > ipp_basic_tech: 0 row(s) and 0 column(s) removed > ipp_reduce_coef: 1 pass(es) made, 0 coefficient(s) reduced > lpx_intopt: presolved MIP has 101 rows, 166 columns, 531 non-zeros > lpx_intopt: 166 integer columns, all of which are binary > lpx_adv_basis: size of triangular part = 101 > Solving LP relaxation... > * 124: objval = 0.000000000e+00 infeas = 0.000000000e+00 (0) > * 134: objval = 3.702857143e+01 infeas = 0.000000000e+00 (0) > OPTIMAL SOLUTION FOUND > Creating the conflict graph... > The conflict graph has 2*166 vertices and 535 edges > Generating cutting planes... > & 134: obj = 3.702857143e+01 frac = 33 cuts = 0 (0) > & 331: obj = 2.800000000e+01 frac = 18 cuts = 81 (162) > 81 mixed cover cut(s) added > Integer optimization begins... > + 331: mip = not found yet <= +inf (1; 0) > Gomory's cuts enabled > MIR cuts enabled > + 394: >>>>> 2.700000000e+01 <= 2.800000000e+01 3.7% (4; 0) > spx_invert: the basis matrix is singular > spx_simplex: numerical problems with basis matrix > spx_simplex: sorry, basis recovery procedure not implemented yet > ios_driver: unable to solve current LP relaxation; glp_simplex returned > 5 > + 1719: mip = 2.700000000e+01 <= 2.800000000e+01 3.7% (83; 31) > glp_intopt: cannot solve current LP relaxation > repl-k: src/ilp.c:153: solve_ilp: Assertion `ret == 200' failed. > > The strange thing is, while above codes works perfectly on my notebook > (32bit), it fails to run on a remote server (64bit). Below are system > specifications of both machines. > > REMOTE-SERVER > ------------- > $ gcc -v > Using built-in specs. > Target: x86_64-linux-gnu > Configured with: ../src/configure -v --with-pkgversion='Debian > 4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs > --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared > --with-system-zlib --libexecdir=/usr/lib --without-included-gettext > --enable-threads=posix > --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 > --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug > --enable-objc-gc > --enable-mpfr --enable-cld --enable-checking=release --build=x86_64-linux-gnu > --host=x86_64-linux-gnu --target=x86_64-linux-gnu > Thread model: posix > gcc version 4.3.2 (Debian 4.3.2-1.1) > $ glpsol -v > GLPSOL: GLPK LP/MIP Solver 4.29 > > NOTEBOOK > -------- > $ gcc -v > Using built-in specs. > Target: i486-linux-gnu > Configured with: ../src/configure -v --with-pkgversion='Debian > 4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs > --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared > --with-system-zlib --libexecdir=/usr/lib --without-included-gettext > --enable-threads=posix > --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 > --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug > --enable-objc-gc > --enable-mpfr --enable-targets=all --enable-cld --enable-checking=release > --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu > Thread model: posix > gcc version 4.3.2 (Debian 4.3.2-1.1) > You have new mail in /var/mail/vy > $ glpsol -v > GLPSOL: GLPK LP/MIP Solver 4.29 > > What might I be missing? Any ideas? > > > Regards. > -- GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 _______________________________________________ Help-glpk mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-glpk
