Skip to content

Commit

Permalink
New port: math/highs: Solver for large scale sparse linear programmin…
Browse files Browse the repository at this point in the history
…g (LP) problems
  • Loading branch information
yurivict committed May 2, 2021
1 parent 50f7684 commit 358eedb
Show file tree
Hide file tree
Showing 6 changed files with 147 additions and 0 deletions.
1 change: 1 addition & 0 deletions math/Makefile
Expand Up @@ -327,6 +327,7 @@
SUBDIR += gsl
SUBDIR += half
SUBDIR += hexcalc
SUBDIR += highs
SUBDIR += hipmcl
SUBDIR += hmat-oss
SUBDIR += hpcombi
Expand Down
23 changes: 23 additions & 0 deletions math/highs/Makefile
@@ -0,0 +1,23 @@
PORTNAME= highs
DISTVERSION= g20210408
CATEGORIES= math

MAINTAINER= yuri@FreeBSD.org
COMMENT= Solver for large scale sparse linear programming (LP) problems

LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE

LIB_DEPENDS= libOsi.so:math/clp

USES= blaslapack cmake compiler:c++11-lang pkgconfig

USE_GITHUB= yes
GH_ACCOUNT= ERGO-Code
GH_PROJECT= HiGHS
GH_TAGNAME= cfe064e

post-install: # see https://github.com/ERGO-Code/HiGHS/issues/502
${RM} -r ${STAGEDIR}${PREFIX}/external

.include <bsd.port.mk>
3 changes: 3 additions & 0 deletions math/highs/distinfo
@@ -0,0 +1,3 @@
TIMESTAMP = 1619992346
SHA256 (ERGO-Code-HiGHS-g20210408-cfe064e_GH0.tar.gz) = 793a142f6aa3d321cf6571b16900044c2d4a56d920a89ce159d9e6abcef6518e
SIZE (ERGO-Code-HiGHS-g20210408-cfe064e_GH0.tar.gz) = 1449465
22 changes: 22 additions & 0 deletions math/highs/files/patch-src_CMakeLists.txt
@@ -0,0 +1,22 @@
- workaround for https://github.com/ERGO-Code/HiGHS/issues/503

--- src/CMakeLists.txt.orig 2021-05-02 22:26:02 UTC
+++ src/CMakeLists.txt
@@ -329,7 +329,7 @@ if (OSI_FOUND)
configure_file(${HIGHS_SOURCE_DIR}/osi-highs.pc.in
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/osi-highs.pc" @ONLY)
install(FILES "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/osi-highs.pc"
- DESTINATION lib/pkg-config)
+ DESTINATION libdata/pkgconfig)
endif()


@@ -409,7 +409,7 @@ install(EXPORT highs-targets FILE highs-targets.cmake
install(FILES "${HIGHS_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/highs-config.cmake"
DESTINATION lib/cmake/highs)
install(FILES "${HIGHS_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/highs.pc"
- DESTINATION lib/pkg-config)
+ DESTINATION libdata/pkgconfig)

else()

6 changes: 6 additions & 0 deletions math/highs/pkg-descr
@@ -0,0 +1,6 @@
HiGHS is a high performance serial and parallel solver for large scale sparse
linear programming (LP) problems of the form:

Minimize c^Tx subject to L <= Ax <= U; l <= x <= u

WWW: https://github.com/ERGO-Code/HiGHS
92 changes: 92 additions & 0 deletions math/highs/pkg-plist
@@ -0,0 +1,92 @@
bin/highs
include/HConfig.h
include/Highs.h
include/interfaces/OsiHiGHSSolverInterface.hpp
include/interfaces/highs_c_api.h
include/io/Filereader.h
include/io/FilereaderEms.h
include/io/FilereaderLp.h
include/io/FilereaderMps.h
include/io/HMPSIO.h
include/io/HMpsFF.h
include/io/HighsIO.h
include/io/LoadOptions.h
include/ipm/IpxStatus.h
include/ipm/IpxWrapper.h
include/lp_data/HConst.h
include/lp_data/HStruct.h
include/lp_data/HighsAnalysis.h
include/lp_data/HighsDebug.h
include/lp_data/HighsInfo.h
include/lp_data/HighsLp.h
include/lp_data/HighsLpUtils.h
include/lp_data/HighsModelObject.h
include/lp_data/HighsModelObjectUtils.h
include/lp_data/HighsModelUtils.h
include/lp_data/HighsOptions.h
include/lp_data/HighsRanging.h
include/lp_data/HighsSolution.h
include/lp_data/HighsSolutionDebug.h
include/lp_data/HighsSolve.h
include/lp_data/HighsStatus.h
include/mip/HighsCliqueTable.h
include/mip/HighsCutPool.h
include/mip/HighsDomain.h
include/mip/HighsDomainChange.h
include/mip/HighsDynamicRowMatrix.h
include/mip/HighsImplications.h
include/mip/HighsLpRelaxation.h
include/mip/HighsMipSolver.h
include/mip/HighsMipSolverData.h
include/mip/HighsNodeQueue.h
include/mip/HighsPseudocost.h
include/mip/HighsSearch.h
include/mip/HighsSeparation.h
include/mip/HighsSparseVectorSum.h
include/mip/SolveMip.h
include/presolve/HPreData.h
include/presolve/Presolve.h
include/presolve/PresolveAnalysis.h
include/presolve/PresolveComponent.h
include/presolve/PresolveUtils.h
include/simplex/FactorTimer.h
include/simplex/HApp.h
include/simplex/HCrash.h
include/simplex/HDual.h
include/simplex/HDualRHS.h
include/simplex/HDualRow.h
include/simplex/HFactor.h
include/simplex/HFactorDebug.h
include/simplex/HMatrix.h
include/simplex/HPrimal.h
include/simplex/HQPrimal.h
include/simplex/HSimplex.h
include/simplex/HSimplexDebug.h
include/simplex/HSimplexReport.h
include/simplex/HVector.h
include/simplex/HighsSimplexAnalysis.h
include/simplex/HighsSimplexInterface.h
include/simplex/SimplexConst.h
include/simplex/SimplexStruct.h
include/test/DevKkt.h
include/test/KktCh2.h
include/util/HighsComponent.h
include/util/HighsMatrixPic.h
include/util/HighsRandom.h
include/util/HighsSort.h
include/util/HighsTimer.h
include/util/HighsUtils.h
include/util/stringutil.h
lib/cmake/highs/highs-config.cmake
lib/cmake/highs/highs-targets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/highs/highs-targets.cmake
lib/libOsiHighs.so
lib/libOsiHighs.so.1.0
lib/libOsiHighs.so.1.0.0
lib/libbasiclu.so
lib/libhighs.so
lib/libhighs.so.1.0
lib/libhighs.so.1.0.0
lib/libipx.so
libdata/pkgconfig/highs.pc
libdata/pkgconfig/osi-highs.pc

0 comments on commit 358eedb

Please sign in to comment.