Update to lp_solve_5.5.2.3 and indicate a 64-bit platform for aarch64

Fix isnan() checks to declare main() returning 'int' and use floating
argument to isnan() avoiding recent (gcc 5) compiler noise.

Since last update:
../../.. version 5.5.2.1
- fixed a small error in new and improved MIP_stepOF function to find integer solutions.

../../.. version 5.5.2.2
- For integer models with semi-cont variables it happened sometimes that a message
  "fillbranches_BB: Inconsistent equal-valued bounds for ..." occured and that the semi-cont condition
  was not respected.
- New functions added: get_accuracy to get the numeric accuracy after solve.
- New functions added: set_break_numeric_accuracy, get_break_numeric_accuracy to let lp_solve return ACCURACYERROR
  instead of FEASIBLE when numerical accuracy if worse then the provided values.
  In the past, lp_solve only returned a non-optimal status in case of very severe numerical instability.
  Now it will return already ACCURACYERROR when it finds a relative inaccuracy of 5e-7
- When reading a model from the lp-format and important issues are detected such as already bounds on variables being overruled
  later with for example a bin keyword, this is now reported in the default verbose level such that this is seen easier.

08/05/16 version 5.5.2.3
- For some models with integer variables, lp_solve did not find the most optimal solution.
This commit is contained in:
richard 2016-09-08 05:12:39 +00:00
parent bf8076276f
commit 166437f176
4 changed files with 39 additions and 13 deletions

View file

@ -1,9 +1,8 @@
# $NetBSD: Makefile,v 1.9 2015/12/08 17:15:01 joerg Exp $
# $NetBSD: Makefile,v 1.10 2016/09/08 05:12:39 richard Exp $
#
DISTNAME= lp_solve_5.5.2.0_source
DISTNAME= lp_solve_5.5.2.3_source
PKGNAME= ${DISTNAME:S/_source//:S/_5/-5/}
PKGREVISION= 1
CATEGORIES= math devel
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=lpsolve/}
@ -28,7 +27,7 @@ SUBST_FILES.dl+= demo/ccc
.include "../../mk/bsd.fast.prefs.mk"
.if ${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH} == "sparc64" || \
${MACHINE_ARCH} == "x86_64"
${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "aarch64"
LPSOLVE_ARCH= ux64
.else
LPSOLVE_ARCH= ux32

View file

@ -1,10 +1,11 @@
$NetBSD: distinfo,v 1.4 2015/12/08 17:15:01 joerg Exp $
$NetBSD: distinfo,v 1.5 2016/09/08 05:12:39 richard Exp $
SHA1 (lp_solve_5.5.2.0_source.tar.gz) = e2830053cf079839b9ce21662cbc886ac6d31c80
RMD160 (lp_solve_5.5.2.0_source.tar.gz) = 23a69c71062747ddf4cbc57120cd7db5f9378ac2
Size (lp_solve_5.5.2.0_source.tar.gz) = 799623 bytes
SHA1 (lp_solve_5.5.2.3_source.tar.gz) = 867a606fcc77612b71a0a6baa5f07a273f3023a7
RMD160 (lp_solve_5.5.2.3_source.tar.gz) = 5657c47cf996979072fb2a1135d071e48da52ea1
SHA512 (lp_solve_5.5.2.3_source.tar.gz) = ed4c9e993e6836fdc8bae76d4ff2f48594d6f9ababbedaf83253d0e31815faa8608b110866b03a0336a7334c531efb9987ec231f8e7a62eff7efea683a1868cf
Size (lp_solve_5.5.2.3_source.tar.gz) = 812420 bytes
SHA1 (patch-aa) = a77ec29e056252b3b82c1a1acdd463b5ff7f6f6b
SHA1 (patch-demo_ccc) = 6262975fdcc61e94390060425a79e8bbc5f4554b
SHA1 (patch-lp__solve_ccc) = b70bbaedc56c04e3d2dad14050c0278142f382bd
SHA1 (patch-lp__solve_ccc) = 122d6ba0cb00acc6abbf4826f71e29ae1beb808d
SHA1 (patch-lp__utils.c) = b0774bd7b323f12c97c7bc78c26f64a75c841f34
SHA1 (patch-lpsolve55_ccc) = ce334b85675ca0018cd19bcc828bb8e2cad38829
SHA1 (patch-lpsolve55_ccc) = 0ac4adf032b89a76ccc3f834c750c0f3885a1aa5

View file

@ -1,7 +1,20 @@
$NetBSD: patch-lp__solve_ccc,v 1.1 2015/12/07 17:40:27 joerg Exp $
$NetBSD: patch-lp__solve_ccc,v 1.2 2016/09/08 05:12:39 richard Exp $
--- lp_solve/ccc.orig 2015-12-07 17:17:20.529655116 +0000
recent versions of gcc are noisy unless main() is declared returning 'int'
and isnan() needs a floating argument else NOISNAN is defined causing
problems.
--- lp_solve/ccc.orig 2009-01-25 18:39:03.000000000 +0000
+++ lp_solve/ccc
@@ -20,7 +20,7 @@ math=-lm
echo '#include <stdio.h>'>>/tmp/isnan.c
echo '#include <stdlib.h>'>>/tmp/isnan.c
echo '#include <math.h>'>>/tmp/isnan.c
-echo 'main(){isnan(0);}'>>/tmp/isnan.c
+echo 'int main(){isnan(0.0);}'>>/tmp/isnan.c
$c /tmp/isnan.c -o /tmp/isnan $math >/dev/null 2>&1
if [ $? = 0 ]
then NOISNAN=
@@ -38,4 +38,4 @@ then opts='-O0'
else dl=-ldl
fi

View file

@ -1,7 +1,20 @@
$NetBSD: patch-lpsolve55_ccc,v 1.1 2015/12/08 17:15:01 joerg Exp $
$NetBSD: patch-lpsolve55_ccc,v 1.2 2016/09/08 05:12:39 richard Exp $
recent versions of gcc are noisy unless main() is declared returning 'int'
and isnan() needs a floating argument else NOISNAN is defined causing
problems.
--- lpsolve55/ccc.orig 2009-03-25 00:27:18.000000000 +0000
+++ lpsolve55/ccc
@@ -18,7 +18,7 @@ mkdir bin bin/$PLATFORM >/dev/null 2>&1
echo '#include <stdio.h>'>>/tmp/isnan.c
echo '#include <stdlib.h>'>>/tmp/isnan.c
echo '#include <math.h>'>>/tmp/isnan.c
-echo 'main(){isnan(0);}'>>/tmp/isnan.c
+echo 'int main(){isnan(0.0);}'>>/tmp/isnan.c
$c /tmp/isnan.c -o /tmp/isnan $math >/dev/null 2>&1
if [ $? = 0 ]
then NOISNAN=
@@ -44,7 +44,7 @@ ranlib bin/$PLATFORM/liblpsolve55.a
if [ "$so" != "" ]
then