mirror of
https://git.FreeBSD.org/ports.git
synced 2025-02-07 11:49:40 +00:00
- New port: math/abacus
ABACUS is a software system written in C++ that provides a framework for the implementation of branch-and-bound algorithms using linear programming relaxations. Cutting planes or columns can be generated dynamically (branch-and-cut, branch-and-price, branch-and-cut-and-price). WWW: http://www.informatik.uni-koeln.de/abacus/
This commit is contained in:
parent
191069cfbe
commit
183222e296
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=326410
37
math/abacus/Makefile
Normal file
37
math/abacus/Makefile
Normal file
@ -0,0 +1,37 @@
|
||||
# Created by: gahr
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= abacus
|
||||
DISTVERSION= 3.2betaU1
|
||||
CATEGORIES= math
|
||||
MASTER_SITES= http://www.informatik.uni-koeln.de/abacus/
|
||||
|
||||
MAINTAINER= gahr@FreeBSD.org
|
||||
COMMENT= A Branch-And-CUt System
|
||||
|
||||
LICENSE= GPLv2
|
||||
|
||||
LIB_DEPENDS= Clp:${PORTSDIR}/math/coinmp
|
||||
|
||||
USE_GCC= 4.4+
|
||||
USES= gmake perl5
|
||||
USE_PERL5= build
|
||||
USE_LDCONFIG= yes
|
||||
ALL_TARGET= abacus
|
||||
|
||||
WRKSRC= ${WRKDIR}
|
||||
|
||||
post-patch:
|
||||
${REINPLACE_CMD} -e '\
|
||||
s|%%LOCALBASE%%|${LOCALBASE}|g; \
|
||||
s|%%CXX%%|${CXX}|g; \
|
||||
s|%%PERL5%%|${PERL5}|g' \
|
||||
${WRKSRC}/Makefile
|
||||
|
||||
do-install:
|
||||
${INSTALL_DATA} ${WRKSRC}/lib/linux20-gcc44/libabacus-osi.a ${PREFIX}/lib/libabacus-osi.a
|
||||
${INSTALL_DATA} ${WRKSRC}/lib/linux20-gcc44/libabacus-osi.so ${PREFIX}/lib/libabacus-osi.so.1
|
||||
${LN} -sf libabacus-osi.so.1 ${PREFIX}/lib/libabacus-osi.so
|
||||
cd ${WRKSRC}/Include && ${COPYTREE_SHARE} abacus ${PREFIX}/include
|
||||
|
||||
.include <bsd.port.mk>
|
2
math/abacus/distinfo
Normal file
2
math/abacus/distinfo
Normal file
@ -0,0 +1,2 @@
|
||||
SHA256 (abacus-3.2betaU1.tar.gz) = 149756f80de838f24af73ba30f0dfdac90495852dd40ceb6bec6043c78daf118
|
||||
SIZE (abacus-3.2betaU1.tar.gz) = 426502
|
74
math/abacus/files/patch-Makefile
Normal file
74
math/abacus/files/patch-Makefile
Normal file
@ -0,0 +1,74 @@
|
||||
--- Makefile.orig 2012-01-06 14:29:04.000000000 +0100
|
||||
+++ Makefile 2013-09-05 14:35:52.000000000 +0200
|
||||
@@ -7,7 +7,7 @@
|
||||
#######################################################################
|
||||
|
||||
# Path to coin-osi header files
|
||||
- OSI_INCLUDE=/usr/include/coin
|
||||
+ OSI_INCLUDE=%%LOCALBASE%%/include/coin
|
||||
# Path to solver include directories - leave empty if the solver
|
||||
# is not installed
|
||||
CLP_PATH=$(OSI_INCLUDE)
|
||||
@@ -40,7 +40,7 @@
|
||||
#######################################################################
|
||||
|
||||
# gcc
|
||||
-CCC = g++-4.4
|
||||
+CCC = %%CXX%%
|
||||
|
||||
# add files to an archive
|
||||
ARCHIVE = ar rc
|
||||
@@ -48,10 +48,10 @@
|
||||
# PRE_ARCHIVE is used to instantiate required templates (SGI)
|
||||
PRE_ARCHIVE = true
|
||||
|
||||
-STRIP = strip -x
|
||||
+STRIP = true
|
||||
|
||||
AWK = awk
|
||||
-PERL = /usr/bin/perl
|
||||
+PERL = %%PERL5%%
|
||||
|
||||
# Gnu cp
|
||||
GCP = /bin/cp
|
||||
@@ -141,7 +141,8 @@
|
||||
DEPEND = $(OBJDIR)/Makefile.dep
|
||||
|
||||
CCFLAGS = $(ABACUS_INCLUDE) $(CCFLAG_SYS) $(CCFLAG_COMPILER) \
|
||||
- $(CCFLAG_TEMPLATE) $(CCFLAG_PARALLEL) $(CCFLAG_DEBOPT)
|
||||
+ $(CCFLAG_TEMPLATE) $(CCFLAG_PARALLEL) $(CCFLAG_DEBOPT) \
|
||||
+ -fPIC
|
||||
|
||||
#######################################################################
|
||||
#
|
||||
@@ -523,15 +524,20 @@
|
||||
$(ARCHIVE) $@ $(OSI_O)
|
||||
|
||||
# The basic ABACUS library
|
||||
-abacus-base: $(LIBDIR)/stuff/abacus-base.a
|
||||
+abacus-base-static: $(LIBDIR)/stuff/abacus-base.a
|
||||
+abacus-base-shared: $(LIBDIR)/stuff/abacus-base.so
|
||||
|
||||
$(LIBDIR)/stuff/abacus-base.a: $(ABACUS_O)
|
||||
rm -f $@
|
||||
@$(PRE_ARCHIVE) $(ABACUS_O)
|
||||
$(ARCHIVE) $@ $(ABACUS_O)
|
||||
|
||||
+$(LIBDIR)/stuff/abacus-base.so: $(ABACUS_O)
|
||||
+ rm -f $@
|
||||
+ $(CXX) -shared -o $@ $(ABACUS_O)
|
||||
+
|
||||
# Build the library distribution directory (lib and lib/stuff)
|
||||
-lib-all: subdirs abacus-base lpif interface $(ADDITIONAL_LIB_ALL)
|
||||
+lib-all: subdirs abacus-base-static abacus-base-shared lpif interface $(ADDITIONAL_LIB_ALL)
|
||||
|
||||
# Create a tar file containing all necessary stuff to compile ABACUS on
|
||||
# a remote system.
|
||||
@@ -571,6 +577,7 @@
|
||||
|
||||
abacus: lib-all
|
||||
cp $(LIBDIR)/stuff/abacus-base.a $(LIBDIR)/libabacus-osi.a
|
||||
+ cp $(LIBDIR)/stuff/abacus-base.so $(LIBDIR)/libabacus-osi.so
|
||||
mkdir $(LIBDIR)/temp
|
||||
cd $(LIBDIR)/temp; ar x ../stuff/interface-osi.a
|
||||
find $(LIBDIR)/temp -name \*.o | xargs -n1 ar r $(LIBDIR)/libabacus-osi.a
|
24
math/abacus/pkg-descr
Normal file
24
math/abacus/pkg-descr
Normal file
@ -0,0 +1,24 @@
|
||||
ABACUS is a software system written in C++ that provides a framework for the
|
||||
implementation of branch-and-bound algorithms using linear programming
|
||||
relaxations. Cutting planes or columns can be generated dynamically
|
||||
(branch-and-cut, branch-and-price, branch-and-cut-and-price).
|
||||
|
||||
ABACUS allows the software developer to concentrate merely on the problem
|
||||
specific parts, i.e., the separation of cutting planes, column generation, and
|
||||
primal heuristics. ABACUS supports the Open Solver Interface (Osi) developed
|
||||
by the COIN-OR (COmputational INfrastructure for Operations Research) project
|
||||
which means that every solver supported by OSI can be used to solve the
|
||||
relaxations.
|
||||
|
||||
Moreover, ABACUS provides a variety of general algorithmic concepts, e.g., a
|
||||
list of different enumeration and branching strategies from which the best
|
||||
alternative for the user's application can be chosen.
|
||||
|
||||
Finally, ABACUS provides many basic data structures and useful tools for the
|
||||
implementation of such algorithms. It is designed both for general mixed
|
||||
integer optimization problems and for combinatorial optimization problems. It
|
||||
unifies cutting plane and column generation within one algorithm framework.
|
||||
Simple reuse of code and the design of abstract data structures and algorithms
|
||||
are met by object oriented programming modules.
|
||||
|
||||
WWW: http://www.informatik.uni-koeln.de/abacus/
|
105
math/abacus/pkg-plist
Normal file
105
math/abacus/pkg-plist
Normal file
@ -0,0 +1,105 @@
|
||||
lib/libabacus-osi.a
|
||||
lib/libabacus-osi.so
|
||||
lib/libabacus-osi.so.1
|
||||
include/abacus/abacusroot.h
|
||||
include/abacus/active.h
|
||||
include/abacus/active.inc
|
||||
include/abacus/array.h
|
||||
include/abacus/array.inc
|
||||
include/abacus/bheap.h
|
||||
include/abacus/bheap.inc
|
||||
include/abacus/boundbranchrule.h
|
||||
include/abacus/bprioqueue.h
|
||||
include/abacus/bprioqueue.inc
|
||||
include/abacus/branchrule.h
|
||||
include/abacus/bstack.h
|
||||
include/abacus/bstack.inc
|
||||
include/abacus/buffer.h
|
||||
include/abacus/buffer.inc
|
||||
include/abacus/column.h
|
||||
include/abacus/colvar.h
|
||||
include/abacus/conbranchrule.h
|
||||
include/abacus/conclass.h
|
||||
include/abacus/constraint.h
|
||||
include/abacus/convar.h
|
||||
include/abacus/cowtimer.h
|
||||
include/abacus/cputimer.h
|
||||
include/abacus/csense.h
|
||||
include/abacus/cutbuffer.h
|
||||
include/abacus/cutbuffer.inc
|
||||
include/abacus/debug.h
|
||||
include/abacus/dictionary.h
|
||||
include/abacus/dictionary.inc
|
||||
include/abacus/dlist.h
|
||||
include/abacus/dlist.inc
|
||||
include/abacus/dlistitem.h
|
||||
include/abacus/dlistitem.inc
|
||||
include/abacus/dualbound.h
|
||||
include/abacus/exceptions.h
|
||||
include/abacus/fastset.h
|
||||
include/abacus/fixcand.h
|
||||
include/abacus/fsvarstat.h
|
||||
include/abacus/global.h
|
||||
include/abacus/hash.h
|
||||
include/abacus/hash.inc
|
||||
include/abacus/history.h
|
||||
include/abacus/id.h
|
||||
include/abacus/idmap.h
|
||||
include/abacus/idmap.inc
|
||||
include/abacus/infeascon.h
|
||||
include/abacus/intset.h
|
||||
include/abacus/list.h
|
||||
include/abacus/list.inc
|
||||
include/abacus/listitem.h
|
||||
include/abacus/listitem.inc
|
||||
include/abacus/lp.h
|
||||
include/abacus/lpmaster.h
|
||||
include/abacus/lpmasterosi.h
|
||||
include/abacus/lpsolution.h
|
||||
include/abacus/lpsolution.inc
|
||||
include/abacus/lpsub.h
|
||||
include/abacus/lpsubosi.h
|
||||
include/abacus/lpvarstat.h
|
||||
include/abacus/master.h
|
||||
include/abacus/message.h
|
||||
include/abacus/mtserver.h
|
||||
include/abacus/nonduplpool.h
|
||||
include/abacus/nonduplpool.inc
|
||||
include/abacus/numcon.h
|
||||
include/abacus/numvar.h
|
||||
include/abacus/opensub.h
|
||||
include/abacus/optsense.h
|
||||
include/abacus/osiif.h
|
||||
include/abacus/osiinclude.h
|
||||
include/abacus/ostream.h
|
||||
include/abacus/parmaster.h
|
||||
include/abacus/pool.h
|
||||
include/abacus/pool.inc
|
||||
include/abacus/poolslot.h
|
||||
include/abacus/poolslot.inc
|
||||
include/abacus/poolslotref.h
|
||||
include/abacus/poolslotref.inc
|
||||
include/abacus/ring.h
|
||||
include/abacus/ring.inc
|
||||
include/abacus/row.h
|
||||
include/abacus/rowcon.h
|
||||
include/abacus/separator.h
|
||||
include/abacus/separator.inc
|
||||
include/abacus/set.h
|
||||
include/abacus/setbranchrule.h
|
||||
include/abacus/slackstat.h
|
||||
include/abacus/sorter.h
|
||||
include/abacus/sorter.inc
|
||||
include/abacus/sparvec.h
|
||||
include/abacus/srowcon.h
|
||||
include/abacus/standardpool.h
|
||||
include/abacus/standardpool.inc
|
||||
include/abacus/string.h
|
||||
include/abacus/sub.h
|
||||
include/abacus/subserver.h
|
||||
include/abacus/tailoff.h
|
||||
include/abacus/timer.h
|
||||
include/abacus/valbranchrule.h
|
||||
include/abacus/variable.h
|
||||
include/abacus/vartype.h
|
||||
@dirrm include/abacus
|
Loading…
x
Reference in New Issue
Block a user