casadi 3.6.3__cp311-none-manylinux2014_i686.whl → 3.6.4__cp311-none-manylinux2014_i686.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- casadi/_casadi.so +0 -0
- casadi/casadi.py +87 -10
- casadi/cbc +0 -0
- casadi/clp +0 -0
- casadi/cmake/alpaqa/alpaqaConfig.cmake +24 -0
- casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +70 -0
- casadi/cmake/alpaqa/alpaqaTargets-release.cmake +29 -0
- casadi/cmake/alpaqa/alpaqaTargets.cmake +131 -0
- casadi/cmake/casadi-config-version.cmake +1 -1
- casadi/cmake/highs/highs-config.cmake +18 -4
- casadi/cmake/highs/highs-targets-release.cmake +3 -3
- casadi/cmake/highs/highs-targets.cmake +1 -1
- casadi/cmake/sleqp/sleqp-config-version.cmake +70 -0
- casadi/cmake/sleqp/sleqp-config.cmake +1 -0
- casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
- casadi/cmake/sleqp/sleqp-targets.cmake +102 -0
- casadi/cmake/trlib/trlib-config-release.cmake +19 -0
- casadi/cmake/trlib/trlib-config-version.cmake +88 -0
- casadi/cmake/trlib/trlib-config.cmake +107 -0
- casadi/highs +0 -0
- casadi/include/casadi/casadi.i +13 -3
- casadi/include/casadi/config.h +8 -8
- casadi/include/casadi/core/calculus.hpp +1 -1
- casadi/include/casadi/core/fmu.hpp +29 -1
- casadi/include/casadi/core/nlpsol.hpp +0 -2
- casadi/include/casadi/core/serializing_stream.hpp +12 -0
- casadi/include/casadi/doc.i +407 -125
- casadi/include/casadi/doc_merged.i +324 -70
- casadi/include/highs/HConfig.h +4 -7
- casadi/include/highs/Highs.h +240 -51
- casadi/include/highs/filereaderlp/builder.hpp +12 -13
- casadi/include/highs/filereaderlp/model.hpp +32 -35
- casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
- casadi/include/highs/interfaces/highs_c_api.h +964 -577
- casadi/include/highs/io/Filereader.h +2 -4
- casadi/include/highs/io/FilereaderEms.h +2 -4
- casadi/include/highs/io/FilereaderLp.h +2 -4
- casadi/include/highs/io/FilereaderMps.h +2 -4
- casadi/include/highs/io/HMPSIO.h +2 -4
- casadi/include/highs/io/HMpsFF.h +2 -4
- casadi/include/highs/io/HighsIO.h +19 -13
- casadi/include/highs/io/LoadOptions.h +7 -6
- casadi/include/highs/ipm/IpxWrapper.h +4 -5
- casadi/include/highs/lp_data/HConst.h +60 -15
- casadi/include/highs/lp_data/HStruct.h +32 -8
- casadi/include/highs/lp_data/HighsAnalysis.h +2 -4
- casadi/include/highs/lp_data/HighsCallback.h +33 -0
- casadi/include/highs/lp_data/HighsCallbackStruct.h +36 -0
- casadi/include/highs/lp_data/HighsDebug.h +2 -4
- casadi/include/highs/lp_data/HighsInfo.h +22 -23
- casadi/include/highs/lp_data/HighsInfoDebug.h +2 -4
- casadi/include/highs/lp_data/HighsLp.h +14 -6
- casadi/include/highs/lp_data/HighsLpSolverObject.h +6 -5
- casadi/include/highs/lp_data/HighsLpUtils.h +23 -12
- casadi/include/highs/lp_data/HighsModelUtils.h +22 -8
- casadi/include/highs/lp_data/HighsOptions.h +175 -106
- casadi/include/highs/lp_data/HighsRanging.h +2 -4
- casadi/include/highs/lp_data/HighsRuntimeOptions.h +21 -6
- casadi/include/highs/lp_data/HighsSolution.h +4 -4
- casadi/include/highs/lp_data/HighsSolutionDebug.h +2 -4
- casadi/include/highs/lp_data/HighsSolve.h +2 -4
- casadi/include/highs/lp_data/HighsStatus.h +2 -4
- casadi/include/highs/mip/HighsCliqueTable.h +18 -20
- casadi/include/highs/mip/HighsConflictPool.h +2 -4
- casadi/include/highs/mip/HighsCutGeneration.h +2 -4
- casadi/include/highs/mip/HighsCutPool.h +2 -4
- casadi/include/highs/mip/HighsDebugSol.h +2 -4
- casadi/include/highs/mip/HighsDomain.h +5 -5
- casadi/include/highs/mip/HighsDomainChange.h +2 -4
- casadi/include/highs/mip/HighsDynamicRowMatrix.h +2 -4
- casadi/include/highs/mip/HighsGFkSolve.h +2 -4
- casadi/include/highs/mip/HighsImplications.h +2 -4
- casadi/include/highs/mip/HighsLpAggregator.h +2 -4
- casadi/include/highs/mip/HighsLpRelaxation.h +2 -4
- casadi/include/highs/mip/HighsMipSolver.h +18 -6
- casadi/include/highs/mip/HighsMipSolverData.h +8 -4
- casadi/include/highs/mip/HighsModkSeparator.h +2 -4
- casadi/include/highs/mip/HighsNodeQueue.h +3 -9
- casadi/include/highs/mip/HighsObjectiveFunction.h +2 -4
- casadi/include/highs/mip/HighsPathSeparator.h +2 -4
- casadi/include/highs/mip/HighsPrimalHeuristics.h +2 -4
- casadi/include/highs/mip/HighsPseudocost.h +2 -4
- casadi/include/highs/mip/HighsRedcostFixing.h +2 -4
- casadi/include/highs/mip/HighsSearch.h +2 -4
- casadi/include/highs/mip/HighsSeparation.h +2 -4
- casadi/include/highs/mip/HighsSeparator.h +2 -4
- casadi/include/highs/mip/HighsTableauSeparator.h +2 -4
- casadi/include/highs/mip/HighsTransformedLp.h +2 -4
- casadi/include/highs/model/HighsHessian.h +3 -1
- casadi/include/highs/model/HighsModel.h +2 -0
- casadi/include/highs/parallel/HighsSpinMutex.h +2 -1
- casadi/include/highs/parallel/HighsSplitDeque.h +1 -1
- casadi/include/highs/parallel/HighsTaskExecutor.h +10 -2
- casadi/include/highs/presolve/HPresolve.h +9 -6
- casadi/include/highs/presolve/HPresolveAnalysis.h +5 -4
- casadi/include/highs/presolve/HighsPostsolveStack.h +50 -13
- casadi/include/highs/presolve/HighsSymmetry.h +2 -4
- casadi/include/highs/presolve/ICrash.h +4 -3
- casadi/include/highs/presolve/ICrashUtil.h +2 -2
- casadi/include/highs/presolve/ICrashX.h +4 -6
- casadi/include/highs/presolve/PresolveComponent.h +4 -42
- casadi/include/highs/qpsolver/a_asm.hpp +56 -0
- casadi/include/highs/qpsolver/a_quass.hpp +12 -0
- casadi/include/highs/qpsolver/quass.hpp +1 -4
- casadi/include/highs/simplex/HApp.h +14 -16
- casadi/include/highs/simplex/HEkk.h +12 -11
- casadi/include/highs/simplex/HEkkDual.h +2 -4
- casadi/include/highs/simplex/HEkkDualRHS.h +5 -6
- casadi/include/highs/simplex/HEkkDualRow.h +2 -4
- casadi/include/highs/simplex/HEkkPrimal.h +2 -4
- casadi/include/highs/simplex/HSimplex.h +2 -4
- casadi/include/highs/simplex/HSimplexDebug.h +2 -4
- casadi/include/highs/simplex/HSimplexNla.h +2 -4
- casadi/include/highs/simplex/HSimplexReport.h +3 -5
- casadi/include/highs/simplex/HighsSimplexAnalysis.h +2 -4
- casadi/include/highs/simplex/SimplexConst.h +7 -5
- casadi/include/highs/simplex/SimplexStruct.h +11 -5
- casadi/include/highs/simplex/SimplexTimer.h +2 -4
- casadi/include/highs/test/DevKkt.h +2 -4
- casadi/include/highs/test/KktCh2.h +2 -4
- casadi/include/highs/util/FactorTimer.h +2 -4
- casadi/include/highs/util/HFactor.h +2 -4
- casadi/include/highs/util/HFactorConst.h +2 -4
- casadi/include/highs/util/HFactorDebug.h +2 -4
- casadi/include/highs/util/HSet.h +3 -5
- casadi/include/highs/util/HVector.h +2 -4
- casadi/include/highs/util/HVectorBase.h +2 -4
- casadi/include/highs/util/HighsCDouble.h +2 -4
- casadi/include/highs/util/HighsComponent.h +2 -4
- casadi/include/highs/util/HighsDataStack.h +3 -5
- casadi/include/highs/util/HighsDisjointSets.h +8 -10
- casadi/include/highs/util/HighsHash.h +22 -7
- casadi/include/highs/util/HighsHashTree.h +25 -7
- casadi/include/highs/util/HighsInt.h +2 -4
- casadi/include/highs/util/HighsIntegers.h +2 -4
- casadi/include/highs/util/HighsLinearSumBounds.h +2 -4
- casadi/include/highs/util/HighsMatrixPic.h +2 -4
- casadi/include/highs/util/HighsMatrixSlice.h +2 -4
- casadi/include/highs/util/HighsMatrixUtils.h +2 -4
- casadi/include/highs/util/HighsRandom.h +2 -4
- casadi/include/highs/util/HighsRbTree.h +2 -4
- casadi/include/highs/util/HighsSort.h +2 -4
- casadi/include/highs/util/HighsSparseMatrix.h +11 -7
- casadi/include/highs/util/HighsSparseVectorSum.h +2 -4
- casadi/include/highs/util/HighsSplay.h +2 -4
- casadi/include/highs/util/HighsTimer.h +3 -4
- casadi/include/highs/util/HighsUtils.h +14 -4
- casadi/include/highs/util/stringutil.h +2 -4
- casadi/include/licenses/alpaqa-external/LICENSE +165 -0
- casadi/include/licenses/highs-external/LICENSE +1 -1
- casadi/include/licenses/sleqp-external/LICENSE +165 -0
- casadi/include/licenses/trlib-external/LICENSE +21 -0
- casadi/include/trlib/trlib_eigen_inverse.h +118 -0
- casadi/include/trlib/trlib_krylov.h +493 -0
- casadi/include/trlib/trlib_leftmost.h +181 -0
- casadi/include/trlib/trlib_private.h +109 -0
- casadi/include/trlib/trlib_quadratic_zero.h +57 -0
- casadi/include/trlib/trlib_tri_factor.h +409 -0
- casadi/include/trlib/trlib_types.h +36 -0
- casadi/lib/libtinyxml2.a +0 -0
- casadi/libCbc.la +3 -3
- casadi/libCbc.so +0 -0
- casadi/libCbc.so.3 +0 -0
- casadi/libCbc.so.3.10.11 +0 -0
- casadi/libCbcSolver.la +3 -3
- casadi/libCbcSolver.so +0 -0
- casadi/libCbcSolver.so.3 +0 -0
- casadi/libCbcSolver.so.3.10.11 +0 -0
- casadi/libCgl.la +2 -2
- casadi/libCgl.so +0 -0
- casadi/libCgl.so.1 +0 -0
- casadi/libCgl.so.1.10.8 +0 -0
- casadi/libClp.la +2 -2
- casadi/libClp.so +0 -0
- casadi/libClp.so.1 +0 -0
- casadi/{libClp.so.1.14.7 → libClp.so.1.14.9} +0 -0
- casadi/libClpSolver.la +2 -2
- casadi/libClpSolver.so +0 -0
- casadi/libClpSolver.so.1 +0 -0
- casadi/{libClpSolver.so.1.14.7 → libClpSolver.so.1.14.9} +0 -0
- casadi/libCoinUtils.la +2 -2
- casadi/libCoinUtils.so +0 -0
- casadi/libCoinUtils.so.3 +0 -0
- casadi/libCoinUtils.so.3.11.10 +0 -0
- casadi/libFortranHighs.so +0 -0
- casadi/libOsi.la +2 -2
- casadi/libOsiCbc.la +3 -3
- casadi/libOsiCbc.so +0 -0
- casadi/libOsiCbc.so.3 +0 -0
- casadi/{libOsiCbc.so.3.10.6 → libOsiCbc.so.3.10.11} +0 -0
- casadi/libOsiClp.la +2 -2
- casadi/libOsiClp.so +0 -0
- casadi/libOsiClp.so.1 +0 -0
- casadi/libOsiClp.so.1.14.9 +0 -0
- casadi/libOsiCommonTests.la +2 -2
- casadi/libOsiCommonTests.so +0 -0
- casadi/libOsiCommonTests.so.1 +0 -0
- casadi/{libOsiCommonTests.so.1.13.7 → libOsiCommonTests.so.1.13.9} +0 -0
- casadi/libalpaqa-dl-loader.so +0 -0
- casadi/libalpaqa-dl-loader.so.1.0.0 +0 -0
- casadi/libalpaqa.so +0 -0
- casadi/libalpaqa.so.1.0.0 +0 -0
- casadi/libbonmin.la +3 -3
- casadi/libbonmin.so +0 -0
- casadi/libbonmin.so.4 +0 -0
- casadi/libbonmin.so.4.8.9 +0 -0
- casadi/libcasadi.so +0 -0
- casadi/libcasadi.so.3.7 +0 -0
- casadi/libcasadi_conic_cbc.so +0 -0
- casadi/libcasadi_conic_cbc.so.3.7 +0 -0
- casadi/libcasadi_conic_clp.so +0 -0
- casadi/libcasadi_conic_clp.so.3.7 +0 -0
- casadi/libcasadi_conic_gurobi.so +0 -0
- casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
- casadi/libcasadi_conic_highs.so +0 -0
- casadi/libcasadi_conic_highs.so.3.7 +0 -0
- casadi/libcasadi_conic_ipqp.so +0 -0
- casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
- casadi/libcasadi_conic_nlpsol.so +0 -0
- casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
- casadi/libcasadi_conic_osqp.so +0 -0
- casadi/libcasadi_conic_osqp.so.3.7 +0 -0
- casadi/libcasadi_conic_proxqp.so +0 -0
- casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
- casadi/libcasadi_conic_qpoases.so +0 -0
- casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
- casadi/libcasadi_conic_qrqp.so +0 -0
- casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
- casadi/libcasadi_conic_superscs.so +0 -0
- casadi/libcasadi_conic_superscs.so.3.7 +0 -0
- casadi/libcasadi_integrator_collocation.so +0 -0
- casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
- casadi/libcasadi_integrator_cvodes.so +0 -0
- casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
- casadi/libcasadi_integrator_idas.so +0 -0
- casadi/libcasadi_integrator_idas.so.3.7 +0 -0
- casadi/libcasadi_interpolant_bspline.so +0 -0
- casadi/libcasadi_interpolant_bspline.so.3.7 +0 -0
- casadi/libcasadi_interpolant_linear.so +0 -0
- casadi/libcasadi_interpolant_linear.so.3.7 +0 -0
- casadi/libcasadi_linsol_lapacklu.so +0 -0
- casadi/libcasadi_linsol_lapacklu.so.3.7 +0 -0
- casadi/libcasadi_linsol_lapackqr.so +0 -0
- casadi/libcasadi_linsol_lapackqr.so.3.7 +0 -0
- casadi/libcasadi_linsol_ldl.so +0 -0
- casadi/libcasadi_linsol_ldl.so.3.7 +0 -0
- casadi/libcasadi_linsol_mumps.so +0 -0
- casadi/libcasadi_linsol_mumps.so.3.7 +0 -0
- casadi/libcasadi_linsol_qr.so +0 -0
- casadi/libcasadi_linsol_qr.so.3.7 +0 -0
- casadi/libcasadi_linsol_symbolicqr.so +0 -0
- casadi/libcasadi_linsol_symbolicqr.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_alpaqa.so +0 -0
- casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_ampl.so +0 -0
- casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_blocksqp.so +0 -0
- casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_bonmin.so +0 -0
- casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_ipopt.so +0 -0
- casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_knitro.so +0 -0
- casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_qrsqp.so +0 -0
- casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_sleqp.so +0 -0
- casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_snopt.so +0 -0
- casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_worhp.so +0 -0
- casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_fast_newton.so +0 -0
- casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_newton.so +0 -0
- casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
- casadi/libcasadi_sundials_common.so +0 -0
- casadi/libcasadi_sundials_common.so.3.7 +0 -0
- casadi/libhighs.so +0 -0
- casadi/libhighs.so.1.6 +0 -0
- casadi/libhighs.so.1.6.0 +0 -0
- casadi/libindirect.a +0 -0
- casadi/liblinsys.a +0 -0
- casadi/libosqp.a +0 -0
- casadi/libqdldl.a +0 -0
- casadi/libsleqp.so +0 -0
- casadi/libsleqp.so.1.0.1 +0 -0
- casadi/libspral.a +0 -0
- casadi/libsuperscs.a +0 -0
- casadi/libtrlib.so +0 -0
- casadi/libtrlib.so.0.4 +0 -0
- casadi/pkgconfig/blas.pc +11 -0
- casadi/pkgconfig/bonmin.pc +1 -1
- casadi/pkgconfig/casadi.pc +1 -1
- casadi/pkgconfig/cbc.pc +2 -2
- casadi/pkgconfig/cgl.pc +2 -2
- casadi/pkgconfig/clp.pc +1 -1
- casadi/pkgconfig/coinutils.pc +1 -1
- casadi/pkgconfig/highs.pc +3 -3
- casadi/pkgconfig/lapack.pc +11 -0
- casadi/pkgconfig/openblas.pc +1 -1
- casadi/pkgconfig/osi-cbc.pc +1 -1
- casadi/pkgconfig/osi-clp.pc +1 -1
- casadi/pkgconfig/osi-unittests.pc +1 -1
- casadi/pkgconfig/osi.pc +1 -1
- casadi/pkgconfig/sleqp.pc +10 -0
- {casadi-3.6.3.dist-info → casadi-3.6.4.dist-info}/METADATA +1 -1
- {casadi-3.6.3.dist-info → casadi-3.6.4.dist-info}/RECORD +314 -274
- casadi/libCbc.so.3.10.6 +0 -0
- casadi/libCbcSolver.so.3.10.6 +0 -0
- casadi/libCgl.so.1.10.4 +0 -0
- casadi/libCoinUtils.so.3.11.6 +0 -0
- casadi/libOsiClp.so.1.14.7 +0 -0
- casadi/libbonmin.so.4.8.8 +0 -0
- casadi/libhighs.so.1.4 +0 -0
- casadi/libhighs.so.1.4.0 +0 -0
- /casadi/{libOsi.so.1.13.7 → libOsi.so.1.13.9} +0 -0
- {casadi-3.6.3.dist-info → casadi-3.6.4.dist-info}/WHEEL +0 -0
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
/**@file util/HVector.h
|
14
12
|
* @brief Vector structure for HiGHS
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
/**@file util/HVector.h
|
14
12
|
* @brief Vector structure for HiGHS
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
|
14
12
|
/**@file util/HighsCDouble.h
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
/**@file HighsComponent.h
|
14
12
|
* @brief The HiGHS class
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
/**@file util/HighsDataStack.h
|
14
12
|
* @brief A stack of unstructured data stored as bytes
|
@@ -23,7 +21,7 @@
|
|
23
21
|
|
24
22
|
#include "util/HighsInt.h"
|
25
23
|
|
26
|
-
#if __GNUG__ && __GNUC__ < 5
|
24
|
+
#if __GNUG__ && __GNUC__ < 5 && !defined(__clang__)
|
27
25
|
#define IS_TRIVIALLY_COPYABLE(T) __has_trivial_copy(T)
|
28
26
|
#else
|
29
27
|
#define IS_TRIVIALLY_COPYABLE(T) std::is_trivially_copyable<T>::value
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
#ifndef HIGHS_UTIL_DISJOINT_SETS_H_
|
14
12
|
#define HIGHS_UTIL_DISJOINT_SETS_H_
|
@@ -46,9 +44,9 @@ class HighsDisjointSets {
|
|
46
44
|
}
|
47
45
|
|
48
46
|
HighsInt getSet(HighsInt item) {
|
49
|
-
assert(item >= 0 && item < sets.size());
|
47
|
+
assert(item >= 0 && item < (HighsInt)sets.size());
|
50
48
|
HighsInt repr = sets[item];
|
51
|
-
assert(repr >= 0 && repr < sets.size());
|
49
|
+
assert(repr >= 0 && repr < (HighsInt)sets.size());
|
52
50
|
|
53
51
|
if (repr != sets[repr]) {
|
54
52
|
do {
|
@@ -75,16 +73,16 @@ class HighsDisjointSets {
|
|
75
73
|
}
|
76
74
|
|
77
75
|
void merge(HighsInt item1, HighsInt item2) {
|
78
|
-
assert(item1 >= 0 && item1 < sets.size());
|
79
|
-
assert(item2 >= 0 && item2 < sets.size());
|
76
|
+
assert(item1 >= 0 && item1 < (HighsInt)sets.size());
|
77
|
+
assert(item2 >= 0 && item2 < (HighsInt)sets.size());
|
80
78
|
|
81
79
|
HighsInt repr1 = getSet(item1);
|
82
80
|
assert(sets[repr1] == repr1);
|
83
|
-
assert(repr1 >= 0 && repr1 < sets.size());
|
81
|
+
assert(repr1 >= 0 && repr1 < (HighsInt)sets.size());
|
84
82
|
|
85
83
|
HighsInt repr2 = getSet(item2);
|
86
84
|
assert(sets[repr2] == repr2);
|
87
|
-
assert(repr2 >= 0 && repr2 < sets.size());
|
85
|
+
assert(repr2 >= 0 && repr2 < (HighsInt)sets.size());
|
88
86
|
assert(sizes.size() == sets.size());
|
89
87
|
|
90
88
|
if (repr1 == repr2) return;
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
#ifndef HIGHS_UTIL_HASH_H_
|
14
12
|
#define HIGHS_UTIL_HASH_H_
|
@@ -31,11 +29,15 @@
|
|
31
29
|
#ifdef HIGHS_HAVE_BITSCAN_REVERSE
|
32
30
|
#include <intrin.h>
|
33
31
|
#pragma intrinsic(_BitScanReverse)
|
32
|
+
#ifdef _WIN64
|
34
33
|
#pragma intrinsic(_BitScanReverse64)
|
35
34
|
#pragma intrinsic(__popcnt64)
|
35
|
+
#else
|
36
|
+
#pragma intrinsic(__popcnt)
|
37
|
+
#endif
|
36
38
|
#endif
|
37
39
|
|
38
|
-
#if __GNUG__ && __GNUC__ < 5
|
40
|
+
#if __GNUG__ && __GNUC__ < 5 && !defined(__clang__)
|
39
41
|
#define IS_TRIVIALLY_COPYABLE(T) __has_trivial_copy(T)
|
40
42
|
#else
|
41
43
|
#define IS_TRIVIALLY_COPYABLE(T) std::is_trivially_copyable<T>::value
|
@@ -109,7 +111,14 @@ struct HighsHashHelpers {
|
|
109
111
|
#elif defined(HIGHS_HAVE_BITSCAN_REVERSE)
|
110
112
|
static int log2i(uint64_t n) {
|
111
113
|
unsigned long result;
|
114
|
+
#ifdef _WIN64
|
112
115
|
_BitScanReverse64(&result, n);
|
116
|
+
#else
|
117
|
+
if (_BitScanReverse(&result, (n >> 32)))
|
118
|
+
result += 32;
|
119
|
+
else
|
120
|
+
_BitScanReverse(&result, (n & 0xffffffffu));
|
121
|
+
#endif
|
113
122
|
return result;
|
114
123
|
}
|
115
124
|
|
@@ -119,7 +128,13 @@ struct HighsHashHelpers {
|
|
119
128
|
return result;
|
120
129
|
}
|
121
130
|
|
122
|
-
static int popcnt(uint64_t x) {
|
131
|
+
static int popcnt(uint64_t x) {
|
132
|
+
#ifdef _WIN64
|
133
|
+
return __popcnt64(x);
|
134
|
+
#else
|
135
|
+
return __popcnt(x & 0xffffffffu) + __popcnt(x >> 32);
|
136
|
+
#endif
|
137
|
+
}
|
123
138
|
#else
|
124
139
|
// integer log2 algorithm without floating point arithmetic. It uses an
|
125
140
|
// unrolled loop and requires few instructions that can be well optimized.
|
@@ -742,7 +757,7 @@ struct HighsHashHelpers {
|
|
742
757
|
// defined to be UINT16_MAX - |exponent| when the exponent is negative.
|
743
758
|
// casting the exponent to a uint32_t directly would give wrong promotion
|
744
759
|
// of negative exponents as UINT32_MAX - |exponent| and take up to many bits
|
745
|
-
// or possibly
|
760
|
+
// or possibly lose information after the 16 bit shift. For the mantissa we
|
746
761
|
// take the 15 most significant bits, even though we could squeeze out a few
|
747
762
|
// more of the exponent. We don't need more bits as this would make the
|
748
763
|
// buckets very small and might miss more values that are equal within
|
@@ -2,17 +2,17 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
#ifndef HIGHS_UTIL_HASH_TREE_H_
|
14
12
|
#define HIGHS_UTIL_HASH_TREE_H_
|
15
13
|
|
14
|
+
#include <stdexcept>
|
15
|
+
|
16
16
|
#include "util/HighsHash.h"
|
17
17
|
|
18
18
|
using std::memcpy;
|
@@ -338,6 +338,8 @@ class HighsHashTree {
|
|
338
338
|
// is estimated above the threshold to merge when the parent checks
|
339
339
|
// its children after deletion
|
340
340
|
return kBranchFactor;
|
341
|
+
default:
|
342
|
+
throw std::logic_error("Unexpected type in hash tree");
|
341
343
|
}
|
342
344
|
}
|
343
345
|
|
@@ -360,6 +362,8 @@ class HighsHashTree {
|
|
360
362
|
// is estimated above the threshold to merge when the parent checks
|
361
363
|
// its children after deletion
|
362
364
|
return kBranchFactor;
|
365
|
+
default:
|
366
|
+
throw std::logic_error("Unexpected type in hash tree");
|
363
367
|
}
|
364
368
|
}
|
365
369
|
|
@@ -487,6 +491,9 @@ class HighsHashTree {
|
|
487
491
|
case kInnerLeafSizeClass4:
|
488
492
|
mergeIntoLeaf(leaf, mergeNode.getInnerLeafSizeClass4(), hashPos);
|
489
493
|
delete mergeNode.getInnerLeafSizeClass4();
|
494
|
+
break;
|
495
|
+
default:
|
496
|
+
break;
|
490
497
|
}
|
491
498
|
}
|
492
499
|
|
@@ -577,7 +584,10 @@ class HighsHashTree {
|
|
577
584
|
++i;
|
578
585
|
} while (i < leaf->size && get_first_chunk16(leaf->hashes[i]) == pos);
|
579
586
|
}
|
587
|
+
break;
|
580
588
|
}
|
589
|
+
default:
|
590
|
+
break;
|
581
591
|
}
|
582
592
|
|
583
593
|
return nullptr;
|
@@ -882,6 +892,9 @@ class HighsHashTree {
|
|
882
892
|
branch->child[pos].getInnerLeafSizeClass4()->insert_entry(
|
883
893
|
compute_hash(leaf->entries[i].key()), hashPos + 1,
|
884
894
|
leaf->entries[i]);
|
895
|
+
break;
|
896
|
+
default:
|
897
|
+
break;
|
885
898
|
}
|
886
899
|
}
|
887
900
|
}
|
@@ -1137,11 +1150,15 @@ class HighsHashTree {
|
|
1137
1150
|
|
1138
1151
|
return nullptr;
|
1139
1152
|
}
|
1153
|
+
default:
|
1154
|
+
throw std::logic_error("Unexpected type in hash tree");
|
1140
1155
|
}
|
1141
1156
|
}
|
1142
1157
|
|
1143
1158
|
static void destroy_recurse(NodePtr node) {
|
1144
1159
|
switch (node.getType()) {
|
1160
|
+
case kEmpty:
|
1161
|
+
break;
|
1145
1162
|
case kListLeaf: {
|
1146
1163
|
ListLeaf* leaf = node.getListLeaf();
|
1147
1164
|
ListNode* iter = leaf->first.next;
|
@@ -1149,7 +1166,7 @@ class HighsHashTree {
|
|
1149
1166
|
while (iter != nullptr) {
|
1150
1167
|
ListNode* next = iter->next;
|
1151
1168
|
delete iter;
|
1152
|
-
iter =
|
1169
|
+
iter = next;
|
1153
1170
|
}
|
1154
1171
|
|
1155
1172
|
break;
|
@@ -1180,8 +1197,7 @@ class HighsHashTree {
|
|
1180
1197
|
static NodePtr copy_recurse(NodePtr node) {
|
1181
1198
|
switch (node.getType()) {
|
1182
1199
|
case kEmpty:
|
1183
|
-
|
1184
|
-
break;
|
1200
|
+
throw std::logic_error("Unexpected node type in empty in hash tree");
|
1185
1201
|
case kListLeaf: {
|
1186
1202
|
ListLeaf* leaf = node.getListLeaf();
|
1187
1203
|
|
@@ -1224,6 +1240,8 @@ class HighsHashTree {
|
|
1224
1240
|
|
1225
1241
|
return newBranch;
|
1226
1242
|
}
|
1243
|
+
default:
|
1244
|
+
throw std::logic_error("Unexpected type in hash tree");
|
1227
1245
|
}
|
1228
1246
|
}
|
1229
1247
|
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
/**@file HighsInt.h
|
14
12
|
* @brief The definition for the integer type to use
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
#ifndef HIGHS_UTIL_INTEGERS_H_
|
14
12
|
#define HIGHS_UTIL_INTEGERS_H_
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
/**@file util/HighsLinearSumBounds.h
|
14
12
|
* @brief Data structure to compute and update bounds on a linear sum of
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
/**@file util/HighsMatrixPic.h
|
14
12
|
* @brief Class-independent utilities for HiGHS
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
/**@file util/HighsMatrixSlice.h
|
14
12
|
* @brief Provides a uniform interface to iterate rows and columns in different
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
/**@file util/HighsMatrixUtils.h
|
14
12
|
* @brief Class-independent utilities for HiGHS
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
/**@file util/HighsRandom.h
|
14
12
|
* @brief Random number generators for HiGHS
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
#ifndef HIGHS_RBTREE_H_
|
14
12
|
#define HIGHS_RBTREE_H_
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
/**@file util/HighsSort.h
|
14
12
|
* @brief Sorting routines for HiGHS
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
/**@file util/HighsSparseMatrix.h
|
14
12
|
* @brief
|
@@ -69,6 +67,8 @@ class HighsSparseMatrix {
|
|
69
67
|
const std::string matrix_name,
|
70
68
|
const double small_matrix_value,
|
71
69
|
const double large_matrix_value);
|
70
|
+
void assessSmallValues(const HighsLogOptions& log_options,
|
71
|
+
const double small_matrix_value);
|
72
72
|
bool hasLargeValue(const double large_matrix_value);
|
73
73
|
void considerColScaling(const HighsInt max_scale_factor_exponent,
|
74
74
|
double* col_scale);
|
@@ -84,12 +84,16 @@ class HighsSparseMatrix {
|
|
84
84
|
const HighsInt to_col);
|
85
85
|
void createColwise(const HighsSparseMatrix& matrix);
|
86
86
|
void createRowwise(const HighsSparseMatrix& matrix);
|
87
|
-
void
|
87
|
+
void alphaProductPlusY(const double alpha, const std::vector<double>& x,
|
88
|
+
std::vector<double>& y,
|
89
|
+
const bool transpose = false) const;
|
90
|
+
void product(vector<double>& result, const vector<double>& x) const;
|
91
|
+
void productTranspose(vector<double>& result, const vector<double>& x) const;
|
92
|
+
void productQuad(vector<double>& result, const vector<double>& x,
|
88
93
|
const HighsInt debug_report = kDebugReportOff) const;
|
89
94
|
void productTransposeQuad(
|
90
95
|
vector<double>& result_value, vector<HighsInt>& result_index,
|
91
|
-
const HVector&
|
92
|
-
const HighsInt debug_report = kDebugReportOff) const;
|
96
|
+
const HVector& x, const HighsInt debug_report = kDebugReportOff) const;
|
93
97
|
// Methods for PRICE, including the creation and updating of the
|
94
98
|
// partitioned row-wise matrix
|
95
99
|
void createRowwisePartitioned(const HighsSparseMatrix& matrix,
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
#ifndef HIGHS_SPARSE_VECTOR_SUM_H_
|
14
12
|
#define HIGHS_SPARSE_VECTOR_SUM_H_
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
#ifndef HIGHS_SPLAY_H_
|
14
12
|
#define HIGHS_SPLAY_H_
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
/**@file util/HighsTimer.h
|
14
12
|
* @brief Profiling facility for computational components in HiGHS
|
@@ -16,6 +14,7 @@
|
|
16
14
|
#ifndef UTIL_HIGHSTIMER_H_
|
17
15
|
#define UTIL_HIGHSTIMER_H_
|
18
16
|
|
17
|
+
#include <algorithm>
|
19
18
|
#include <cassert>
|
20
19
|
#include <chrono>
|
21
20
|
#include <cstdio>
|
@@ -2,13 +2,11 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
6
7
|
/* */
|
7
8
|
/* Available as open-source under the MIT License */
|
8
9
|
/* */
|
9
|
-
/* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
|
10
|
-
/* Feldmeier */
|
11
|
-
/* */
|
12
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
13
11
|
/**@file util/HUtils.h
|
14
12
|
* @brief Class-independent utilities for HiGHS
|
@@ -129,6 +127,8 @@ double highsRelativeDifference(const double v0, const double v1);
|
|
129
127
|
* @brief Analyse the values of a vector, assessing how many are in
|
130
128
|
* each power of ten, and possibly analyse the distribution of
|
131
129
|
* different values
|
130
|
+
*
|
131
|
+
* NB If log_options is a null pointer then printf is used
|
132
132
|
*/
|
133
133
|
void analyseVectorValues(
|
134
134
|
const HighsLogOptions* log_options,
|
@@ -142,6 +142,16 @@ void analyseVectorValues(
|
|
142
142
|
//!< different values in the vector
|
143
143
|
);
|
144
144
|
|
145
|
+
void analyseVectorValues(
|
146
|
+
const HighsLogOptions* log_options,
|
147
|
+
const std::string message, //!< Message to be printed
|
148
|
+
HighsInt vecDim, //!< Dimension of vector
|
149
|
+
const std::vector<HighsInt>& vec, //!< Vector of values
|
150
|
+
std::string model_name =
|
151
|
+
"Unknown" //!< Model name to report if analysing distribution of
|
152
|
+
//!< different values in the vector
|
153
|
+
);
|
154
|
+
|
145
155
|
void analyseMatrixSparsity(
|
146
156
|
const HighsLogOptions& log_options,
|
147
157
|
const char* message, //!< Message to be printed
|