summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoradam <adam@pkgsrc.org>2007-01-04 22:38:49 +0000
committeradam <adam@pkgsrc.org>2007-01-04 22:38:49 +0000
commit7f6d84b51a5a7070f65e1c77097a647405a6d69f (patch)
tree4b98b19dd06bfbe24f28185b197b67af5bc6d889
parent95366fb54393e8556b762b6339b8b05dfe3687c8 (diff)
downloadpkgsrc-7f6d84b51a5a7070f65e1c77097a647405a6d69f.tar.gz
Changes 4.13:
A tentative implementation of the "exact" simplex method based on bignum (rational) arithmetic was included in the package. On API level this new feature is available through the routine lpx_exact, which is similar to the routine lpx_simplex. In the solver glpsol this feature is available through two new command-line options: --exact and --xcheck. If the '--exact' option is specified, glpsol solves LP instance using the exact simplex method; in case of MIP it is used to obtain optimal solution of LP relaxation. If the --xcheck option is specified, LP instance (or LP relaxation) is solved using the standard (floating-point) simplex method, however, then glpsol calls the exact simplex routine to make sure that the final LP basis is exactly optimal, and if it is not, to perform some additional simplex iterations in exact arithmetic. Changes 4.12: A tentative implementation of some simplex method routines based on exact (bignum) arithmetic was included in the package. Currently these routines provide computing LU-factorization of the basis matrix and computing components of basic solution. These routines were used to implement a routine, which checks primal and dual feasibility of basic solution exactly, i.e. in rational numbers, without round-off errors. In glpsol this feature is available through the command-line option --xcheck. GLPK has its own low-level routines implementing operations on integer and rational numbers that makes it independent on other software packages. However, to attain a much better performance it is highly recommended to install (before configuring GLPK) the GNU Multiple Precision Arithmetic Library (GMP). Using GMP makes computations 100-200 times faster.
-rw-r--r--math/glpk/Makefile5
-rw-r--r--math/glpk/PLIST7
-rw-r--r--math/glpk/buildlink3.mk4
-rw-r--r--math/glpk/distinfo10
-rw-r--r--math/glpk/patches/patch-aa14
5 files changed, 24 insertions, 16 deletions
diff --git a/math/glpk/Makefile b/math/glpk/Makefile
index 653dd5e495b..c29adb2cddf 100644
--- a/math/glpk/Makefile
+++ b/math/glpk/Makefile
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.11 2006/05/23 10:17:20 adam Exp $
+# $NetBSD: Makefile,v 1.12 2007/01/04 22:38:49 adam Exp $
-DISTNAME= glpk-4.10
+DISTNAME= glpk-4.13
CATEGORIES= math
MASTER_SITES= ftp://ftp.gnu.org/gnu/glpk/
@@ -12,4 +12,5 @@ USE_LIBTOOL= yes
USE_TOOLS+= gmake
GNU_CONFIGURE= yes
+.include "../../devel/gmp/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/math/glpk/PLIST b/math/glpk/PLIST
index 14b3a53d5c3..97e7cb5c830 100644
--- a/math/glpk/PLIST
+++ b/math/glpk/PLIST
@@ -1,9 +1,12 @@
-@comment $NetBSD: PLIST,v 1.6 2006/05/23 10:17:20 adam Exp $
+@comment $NetBSD: PLIST,v 1.7 2007/01/04 22:38:49 adam Exp $
bin/glpsol
bin/tspsol
include/glpavl.h
include/glpbfi.h
+include/glpbfx.h
+include/glpcfg.h
include/glpdmp.h
+include/glpgmp.h
include/glphbm.h
include/glpiet.h
include/glpinv.h
@@ -15,12 +18,14 @@ include/glplib.h
include/glplpp.h
include/glplpx.h
include/glpluf.h
+include/glplux.h
include/glpmat.h
include/glpmip.h
include/glpmpl.h
include/glpqmd.h
include/glprng.h
include/glpspx.h
+include/glpssx.h
include/glpstr.h
include/glptsp.h
lib/libglpk.la
diff --git a/math/glpk/buildlink3.mk b/math/glpk/buildlink3.mk
index 5b2ce855069..35c0a5db0da 100644
--- a/math/glpk/buildlink3.mk
+++ b/math/glpk/buildlink3.mk
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.7 2006/07/08 23:10:59 jlam Exp $
+# $NetBSD: buildlink3.mk,v 1.8 2007/01/04 22:38:49 adam Exp $
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
GLPK_BUILDLINK3_MK:= ${GLPK_BUILDLINK3_MK}+
@@ -17,4 +17,6 @@ BUILDLINK_ABI_DEPENDS.glpk+= glpk>=4.9nb1
BUILDLINK_PKGSRCDIR.glpk?= ../../math/glpk
.endif # GLPK_BUILDLINK3_MK
+.include "../../devel/gmp/buildlink3.mk"
+
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
diff --git a/math/glpk/distinfo b/math/glpk/distinfo
index cd2d9dd6535..96d7d9785bd 100644
--- a/math/glpk/distinfo
+++ b/math/glpk/distinfo
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.8 2006/05/23 10:17:20 adam Exp $
+$NetBSD: distinfo,v 1.9 2007/01/04 22:38:49 adam Exp $
-SHA1 (glpk-4.10.tar.gz) = 2451c7efad659e2ba67ae57db463be1e0725300a
-RMD160 (glpk-4.10.tar.gz) = aff1ba99e10f9b3d77eedfab819478b892b38220
-Size (glpk-4.10.tar.gz) = 1034733 bytes
-SHA1 (patch-aa) = 232213abc53bc4bdf829c3af9bdbd7bcaeea1098
+SHA1 (glpk-4.13.tar.gz) = 954c673a2c71b868b5ec589d6456d9a8085d570f
+RMD160 (glpk-4.13.tar.gz) = 2d0590466b24471c3c14bdc7e13eb09d0c9de252
+Size (glpk-4.13.tar.gz) = 1082072 bytes
+SHA1 (patch-aa) = 17f22688f1047cc87509e7598e34f610acd5f99f
SHA1 (patch-ab) = a4b382b3d27dee710fb3127bf141a7c429662ab3
diff --git a/math/glpk/patches/patch-aa b/math/glpk/patches/patch-aa
index d5f77382c3c..85d0105c78c 100644
--- a/math/glpk/patches/patch-aa
+++ b/math/glpk/patches/patch-aa
@@ -1,6 +1,6 @@
-$NetBSD: patch-aa,v 1.3 2006/05/23 10:17:20 adam Exp $
+$NetBSD: patch-aa,v 1.4 2007/01/04 22:38:49 adam Exp $
---- src/Makefile.in.orig 2006-05-11 10:00:00.000000000 +0200
+--- src/Makefile.in.orig 2006-11-13 10:00:00.000000000 +0100
+++ src/Makefile.in
@@ -65,7 +65,7 @@ VERSION = @VERSION@
@@ -9,10 +9,10 @@ $NetBSD: patch-aa,v 1.3 2006/05/23 10:17:20 adam Exp $
-lib_LIBRARIES = libglpk.a
+lib_LIBRARIES = libglpk.la
- libglpk_a_SOURCES = glpavl.c glpbfi.c glpdmp.c glphbm.c glpiet.c glpinv.c glpios1.c glpios2.c glpios3.c glpipm.c glpipp1.c glpipp2.c glplib1a.c glplib1b.c glplib2.c glplib3.c glplib4.c glplpp1.c glplpp2.c glplpx1.c glplpx2.c glplpx3.c glplpx4.c glplpx5.c glplpx6a.c glplpx6b.c glplpx6c.c glplpx6d.c glplpx7.c glplpx7a.c glplpx7b.c glplpx8a.c glplpx8b.c glplpx8c.c glplpx8d.c glplpx8e.c glpluf.c glpmat.c glpmip1.c glpmip2.c glpmpl1.c glpmpl2.c glpmpl3.c glpmpl4.c glpqmd.c glprng.c glpspx1.c glpspx2.c glpstr.c glptsp.c
+ libglpk_a_SOURCES = glpavl.c glpbfi.c glpbfx.c glpdmp.c glpgmp.c glphbm.c glpiet.c glpinv.c glpinv1.c glpios1.c glpios2.c glpios3.c glpipm.c glpipp1.c glpipp2.c glplib1a.c glplib1b.c glplib2.c glplib3.c glplib4.c glplpp1.c glplpp2.c glplpx1.c glplpx2.c glplpx3.c glplpx4.c glplpx5.c glplpx6a.c glplpx6b.c glplpx6c.c glplpx6d.c glplpx6e.c glplpx7.c glplpx7a.c glplpx7b.c glplpx8a.c glplpx8b.c glplpx8c.c glplpx8d.c glplpx8e.c glpluf.c glpluf1.c glplux.c glpmat.c glpmip1.c glpmip2.c glpmpl1.c glpmpl2.c glpmpl3.c glpmpl4.c glpqmd.c glprng.c glpspx1.c glpspx2.c glpssx1.c glpssx2.c glpstr.c glptsp.c
-@@ -89,9 +89,9 @@ glpmip2.o glpmpl1.o glpmpl2.o glpmpl3.o
- glpspx1.o glpspx2.o glpstr.o glptsp.o
+@@ -90,9 +90,9 @@ glpmip2.o glpmpl1.o glpmpl2.o glpmpl3.o
+ glpspx1.o glpspx2.o glpssx1.o glpssx2.o glpstr.o glptsp.o
AR = ar
CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -23,7 +23,7 @@ $NetBSD: patch-aa,v 1.3 2006/05/23 10:17:20 adam Exp $
DIST_COMMON = Makefile.am Makefile.in
-@@ -140,15 +140,7 @@ install-libLIBRARIES: $(lib_LIBRARIES)
+@@ -143,15 +143,7 @@ install-libLIBRARIES: $(lib_LIBRARIES)
$(mkinstalldirs) $(DESTDIR)$(libdir)
@list='$(lib_LIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
@@ -40,7 +40,7 @@ $NetBSD: patch-aa,v 1.3 2006/05/23 10:17:20 adam Exp $
else :; fi; \
done
-@@ -174,10 +166,9 @@ distclean-compile:
+@@ -177,10 +169,9 @@ distclean-compile:
maintainer-clean-compile: