casadi 3.6.2__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 +217 -60
- 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/casadi-config.cmake +4 -0
- 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 +20 -3
- casadi/include/casadi/config.h +8 -8
- casadi/include/casadi/core/calculus.hpp +1 -1
- casadi/include/casadi/core/code_generator.hpp +10 -0
- casadi/include/casadi/core/fmu.hpp +224 -0
- casadi/include/casadi/core/generic_matrix.hpp +4 -2
- casadi/include/casadi/core/nlpsol.hpp +0 -2
- casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +204 -11
- casadi/include/casadi/core/serializing_stream.hpp +12 -0
- casadi/include/casadi/core/sparsity_interface.hpp +55 -1
- casadi/include/casadi/doc.i +916 -462
- casadi/include/casadi/doc_merged.i +492 -176
- casadi/include/casadi/mem.h +13 -2
- casadi/include/casadi/valgrind-casadi.supp +82 -0
- casadi/include/casadi/valgrind-python.supp +39 -0
- 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_scpgen.so +0 -0
- casadi/libcasadi_nlpsol_scpgen.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.2.dist-info → casadi-3.6.4.dist-info}/METADATA +1 -1
- {casadi-3.6.2.dist-info → casadi-3.6.4.dist-info}/RECORD +324 -283
- 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.2.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 io/Filereader.h
|
14
12
|
* @brief
|
@@ -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 io/FilereaderEms.h
|
14
12
|
* @brief
|
@@ -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 io/FilereaderLp.cpp
|
14
12
|
* @brief
|
@@ -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 io/FilereaderMps.h
|
14
12
|
* @brief
|
casadi/include/highs/io/HMPSIO.h
CHANGED
@@ -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 io/HMPSIO.h
|
14
12
|
* @brief
|
casadi/include/highs/io/HMpsFF.h
CHANGED
@@ -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 io/HMpsFF.h
|
14
12
|
* @brief
|
@@ -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 io/HighsIO.h
|
14
12
|
* @brief IO methods for HiGHS - currently just print/log messages
|
@@ -19,17 +17,18 @@
|
|
19
17
|
#include <array>
|
20
18
|
#include <iostream>
|
21
19
|
|
22
|
-
#include "
|
20
|
+
#include "lp_data/HighsCallback.h"
|
21
|
+
//#include "util/HighsInt.h"
|
23
22
|
|
24
23
|
class HighsOptions;
|
25
24
|
|
26
25
|
const HighsInt kIoBufferSize = 1024; // 65536;
|
27
26
|
|
27
|
+
enum class HighsFileType { kNone = 0, kOther, kMps, kLp, kMd, kHtml };
|
28
|
+
|
28
29
|
/**
|
29
30
|
* @brief IO methods for HiGHS - currently just print/log messages
|
30
31
|
*/
|
31
|
-
enum class HighsLogType { kInfo = 1, kDetailed, kVerbose, kWarning, kError };
|
32
|
-
|
33
32
|
const char* const HighsLogTypeTag[] = {"", "", "",
|
34
33
|
"", "WARNING: ", "ERROR: "};
|
35
34
|
enum LogDevLevel {
|
@@ -42,17 +41,21 @@ enum LogDevLevel {
|
|
42
41
|
};
|
43
42
|
|
44
43
|
struct HighsLogOptions {
|
45
|
-
FILE*
|
44
|
+
FILE* log_stream;
|
46
45
|
bool* output_flag;
|
47
46
|
bool* log_to_console;
|
48
47
|
HighsInt* log_dev_level;
|
49
|
-
void (*
|
50
|
-
void*
|
48
|
+
void (*user_log_callback)(HighsLogType, const char*, void*) = nullptr;
|
49
|
+
void* user_log_callback_data = nullptr;
|
50
|
+
void (*user_callback)(const int, const char*, const HighsCallbackDataOut*,
|
51
|
+
HighsCallbackDataIn*, void*) = nullptr;
|
52
|
+
void* user_callback_data = nullptr;
|
53
|
+
bool user_callback_active = false;
|
54
|
+
void clear();
|
51
55
|
};
|
52
56
|
|
53
57
|
/**
|
54
|
-
* @brief Write the HiGHS version
|
55
|
-
* copyright statement
|
58
|
+
* @brief Write the HiGHS version and copyright statement
|
56
59
|
*/
|
57
60
|
void highsLogHeader(const HighsLogOptions& log_options);
|
58
61
|
|
@@ -88,6 +91,9 @@ void highsReportLogOptions(const HighsLogOptions& log_options_);
|
|
88
91
|
|
89
92
|
std::string highsFormatToString(const char* format, ...);
|
90
93
|
|
91
|
-
const std::string highsBoolToString(const bool b
|
94
|
+
const std::string highsBoolToString(const bool b,
|
95
|
+
const HighsInt field_width = 2);
|
96
|
+
|
97
|
+
const std::string highsInsertMdEscapes(const std::string from_string);
|
92
98
|
|
93
99
|
#endif
|
@@ -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 io/LoadOptions.h
|
14
12
|
* @brief
|
@@ -19,8 +17,11 @@
|
|
19
17
|
|
20
18
|
#include "lp_data/HighsOptions.h"
|
21
19
|
|
20
|
+
enum class HighsLoadOptionsStatus { kError = -1, kOk = 0, kEmpty = 1 };
|
21
|
+
|
22
22
|
// For extended options to be parsed from filename
|
23
|
-
|
24
|
-
|
23
|
+
HighsLoadOptionsStatus loadOptionsFromFile(
|
24
|
+
const HighsLogOptions& report_log_options, HighsOptions& options,
|
25
|
+
const std::string filename);
|
25
26
|
|
26
27
|
#endif
|
@@ -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 ipm/IpxWrapper.h
|
14
12
|
* @brief
|
@@ -29,7 +27,8 @@ HighsStatus solveLpIpx(HighsLpSolverObject& solver_object);
|
|
29
27
|
HighsStatus solveLpIpx(const HighsOptions& options, HighsTimer& timer,
|
30
28
|
const HighsLp& lp, HighsBasis& highs_basis,
|
31
29
|
HighsSolution& highs_solution,
|
32
|
-
HighsModelStatus& model_status, HighsInfo& highs_info
|
30
|
+
HighsModelStatus& model_status, HighsInfo& highs_info,
|
31
|
+
HighsCallback& callback);
|
33
32
|
|
34
33
|
void fillInIpxData(const HighsLp& lp, ipx::Int& num_col, ipx::Int& num_row,
|
35
34
|
std::vector<double>& obj, std::vector<double>& col_lb,
|
@@ -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 lp_data/HConst.h
|
14
12
|
* @brief Constants for HiGHS
|
@@ -22,6 +20,10 @@
|
|
22
20
|
|
23
21
|
#include "util/HighsInt.h"
|
24
22
|
|
23
|
+
const std::string kHighsCopyrightStatement =
|
24
|
+
"Copyright (c) 2023 HiGHS under MIT licence terms";
|
25
|
+
|
26
|
+
const size_t kHighsSize_tInf = std::numeric_limits<size_t>::max();
|
25
27
|
const HighsInt kHighsIInf = std::numeric_limits<HighsInt>::max();
|
26
28
|
const double kHighsInf = std::numeric_limits<double>::infinity();
|
27
29
|
const double kHighsTiny = 1e-14;
|
@@ -30,11 +32,15 @@ const double kHighsZero = 1e-50;
|
|
30
32
|
const std::string kHighsOffString = "off";
|
31
33
|
const std::string kHighsChooseString = "choose";
|
32
34
|
const std::string kHighsOnString = "on";
|
35
|
+
const HighsInt kHighsMaxStringLength = 512;
|
33
36
|
const HighsInt kSimplexConcurrencyLimit = 8;
|
34
37
|
const double kRunningAverageMultiplier = 0.05;
|
35
38
|
|
39
|
+
const bool kAllowDeveloperAssert = false;
|
36
40
|
const bool kExtendInvertWhenAddingRows = false;
|
37
41
|
|
42
|
+
enum class HighsLogType { kInfo = 1, kDetailed, kVerbose, kWarning, kError };
|
43
|
+
|
38
44
|
enum SimplexScaleStrategy {
|
39
45
|
kSimplexScaleStrategyMin = 0,
|
40
46
|
kSimplexScaleStrategyOff = kSimplexScaleStrategyMin, // 0
|
@@ -99,6 +105,16 @@ enum OptionOffChooseOn {
|
|
99
105
|
kHighsOptionOn
|
100
106
|
};
|
101
107
|
|
108
|
+
enum IpxDualizeStrategy {
|
109
|
+
kIpxDualizeStrategyOff = kHighsOptionOff,
|
110
|
+
kIpxDualizeStrategyChoose = kHighsOptionChoose,
|
111
|
+
kIpxDualizeStrategyOn = kHighsOptionOn,
|
112
|
+
kIpxDualizeStrategyLukas,
|
113
|
+
kIpxDualizeStrategyFilippo,
|
114
|
+
kIpxDualizeStrategyMin = kIpxDualizeStrategyOff,
|
115
|
+
kIpxDualizeStrategyMax = kIpxDualizeStrategyFilippo,
|
116
|
+
};
|
117
|
+
|
102
118
|
/** SCIP/HiGHS Objective sense */
|
103
119
|
enum class ObjSense { kMinimize = 1, kMaximize = -1 };
|
104
120
|
|
@@ -127,8 +143,9 @@ enum SolutionStyle {
|
|
127
143
|
kSolutionStylePretty, // 1;
|
128
144
|
kSolutionStyleGlpsolRaw, // 2;
|
129
145
|
kSolutionStyleGlpsolPretty, // 3;
|
146
|
+
kSolutionStyleSparse, // 4;
|
130
147
|
kSolutionStyleMin = kSolutionStyleOldRaw,
|
131
|
-
kSolutionStyleMax =
|
148
|
+
kSolutionStyleMax = kSolutionStyleSparse
|
132
149
|
};
|
133
150
|
|
134
151
|
enum GlpsolCostRowLocation {
|
@@ -140,9 +157,6 @@ enum GlpsolCostRowLocation {
|
|
140
157
|
|
141
158
|
const std::string kHighsFilenameDefault = "";
|
142
159
|
|
143
|
-
// Need to allow infinite costs to pass SCIP LPI unit tests
|
144
|
-
const bool kHighsAllowInfiniteCosts = true;
|
145
|
-
|
146
160
|
enum class HighsPresolveStatus {
|
147
161
|
kNotPresolved = -1,
|
148
162
|
kNotReduced,
|
@@ -151,8 +165,16 @@ enum class HighsPresolveStatus {
|
|
151
165
|
kReduced,
|
152
166
|
kReducedToEmpty,
|
153
167
|
kTimeout,
|
154
|
-
kNullError,
|
155
|
-
kOptionsError,
|
168
|
+
kNullError, // V2.0: Delete since it's not used!
|
169
|
+
kOptionsError, // V2.0: Delete since it's not used!
|
170
|
+
kNotSet,
|
171
|
+
};
|
172
|
+
|
173
|
+
enum class HighsPostsolveStatus { // V2.0: Delete if not used!
|
174
|
+
kNotPresolved = -1,
|
175
|
+
kNoPrimalSolutionError,
|
176
|
+
kSolutionRecovered,
|
177
|
+
kBasisError
|
156
178
|
};
|
157
179
|
|
158
180
|
enum class HighsModelStatus {
|
@@ -160,11 +182,11 @@ enum class HighsModelStatus {
|
|
160
182
|
// values is unchanged, since enums are not preserved in some
|
161
183
|
// interfaces
|
162
184
|
kNotset = 0,
|
163
|
-
kLoadError,
|
185
|
+
kLoadError, // V2.0: Delete since it's not used!
|
164
186
|
kModelError,
|
165
|
-
kPresolveError,
|
187
|
+
kPresolveError, // V2.0: Delete since it's not used!
|
166
188
|
kSolveError,
|
167
|
-
kPostsolveError,
|
189
|
+
kPostsolveError, // V2.0: Delete if not used! Add to documentation if used
|
168
190
|
kModelEmpty,
|
169
191
|
kOptimal,
|
170
192
|
kInfeasible,
|
@@ -174,9 +196,26 @@ enum class HighsModelStatus {
|
|
174
196
|
kObjectiveTarget,
|
175
197
|
kTimeLimit,
|
176
198
|
kIterationLimit,
|
199
|
+
// V2.0: put kUnknown after kSolutionLimit and kInterrupt - and then
|
200
|
+
// modify kMax and highs_c_api.h, highs_csharp_api.cs,
|
201
|
+
// highspy/highs_bindings.cpp
|
177
202
|
kUnknown,
|
203
|
+
kSolutionLimit,
|
204
|
+
kInterrupt,
|
178
205
|
kMin = kNotset,
|
179
|
-
kMax =
|
206
|
+
kMax = kInterrupt
|
207
|
+
};
|
208
|
+
|
209
|
+
enum HighsCallbackType : int {
|
210
|
+
kCallbackMin = 0,
|
211
|
+
kCallbackLogging = kCallbackMin,
|
212
|
+
kCallbackSimplexInterrupt,
|
213
|
+
kCallbackIpmInterrupt,
|
214
|
+
kCallbackMipImprovingSolution,
|
215
|
+
kCallbackMipLogging,
|
216
|
+
kCallbackMipInterrupt,
|
217
|
+
kCallbackMax = kCallbackMipInterrupt,
|
218
|
+
kNumCallbackType
|
180
219
|
};
|
181
220
|
|
182
221
|
/** SCIP/CPLEX-like HiGHS basis status for columns and rows. */
|
@@ -185,7 +224,7 @@ enum class HighsBasisStatus : uint8_t {
|
|
185
224
|
0, // (slack) variable is at its lower bound [including fixed variables]
|
186
225
|
kBasic, // (slack) variable is basic
|
187
226
|
kUpper, // (slack) variable is at its upper bound
|
188
|
-
kZero, // free variable is
|
227
|
+
kZero, // free variable is nonbasic and set to zero
|
189
228
|
kNonbasic // nonbasic with no specific bound information - useful for users
|
190
229
|
// and postsolve
|
191
230
|
};
|
@@ -232,6 +271,12 @@ const HighsInt kHighsIllegalErrorIndex = -1;
|
|
232
271
|
// Maximum upper bound on semi-variables
|
233
272
|
const double kMaxSemiVariableUpper = 1e5;
|
234
273
|
|
274
|
+
// Limit on primal values being realistic
|
275
|
+
const double kExcessivePrimalValue = 1e25;
|
276
|
+
|
277
|
+
// Hash marker for duplicates
|
278
|
+
const HighsInt kHashIsDuplicate = -1;
|
279
|
+
|
235
280
|
// Tolerance values for highsDoubleToString
|
236
281
|
const double kModelValueToStringTolerance = 1e-15;
|
237
282
|
const double kRangingValueToStringTolerance = 1e-13;
|
@@ -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 lp_data/HStruct.h
|
14
12
|
* @brief Structs for HiGHS
|
@@ -16,6 +14,7 @@
|
|
16
14
|
#ifndef LP_DATA_HSTRUCT_H_
|
17
15
|
#define LP_DATA_HSTRUCT_H_
|
18
16
|
|
17
|
+
#include <unordered_map>
|
19
18
|
#include <vector>
|
20
19
|
|
21
20
|
#include "lp_data/HConst.h"
|
@@ -38,6 +37,12 @@ struct HighsSolution {
|
|
38
37
|
void clear();
|
39
38
|
};
|
40
39
|
|
40
|
+
struct HighsObjectiveSolution {
|
41
|
+
double objective;
|
42
|
+
std::vector<double> col_value;
|
43
|
+
void clear();
|
44
|
+
};
|
45
|
+
|
41
46
|
struct RefactorInfo {
|
42
47
|
bool use = false;
|
43
48
|
std::vector<HighsInt> pivot_row;
|
@@ -78,14 +83,33 @@ struct HighsScale {
|
|
78
83
|
};
|
79
84
|
|
80
85
|
struct HighsLpMods {
|
81
|
-
std::vector<HighsInt>
|
82
|
-
std::vector<
|
83
|
-
std::vector<
|
84
|
-
std::vector<double>
|
86
|
+
std::vector<HighsInt> save_non_semi_variable_index;
|
87
|
+
std::vector<HighsInt> save_inconsistent_semi_variable_index;
|
88
|
+
std::vector<double> save_inconsistent_semi_variable_lower_bound_value;
|
89
|
+
std::vector<double> save_inconsistent_semi_variable_upper_bound_value;
|
90
|
+
std::vector<HighsVarType> save_inconsistent_semi_variable_type;
|
91
|
+
|
92
|
+
std::vector<HighsInt> save_relaxed_semi_variable_lower_bound_index;
|
93
|
+
std::vector<double> save_relaxed_semi_variable_lower_bound_value;
|
94
|
+
std::vector<HighsInt> save_tightened_semi_variable_upper_bound_index;
|
95
|
+
std::vector<double> save_tightened_semi_variable_upper_bound_value;
|
96
|
+
|
97
|
+
std::vector<HighsInt> save_inf_cost_variable_index;
|
98
|
+
std::vector<double> save_inf_cost_variable_cost;
|
99
|
+
std::vector<double> save_inf_cost_variable_lower;
|
100
|
+
std::vector<double> save_inf_cost_variable_upper;
|
101
|
+
|
85
102
|
void clear();
|
86
103
|
bool isClear();
|
87
104
|
};
|
88
105
|
|
106
|
+
struct HighsNameHash {
|
107
|
+
std::unordered_map<std::string, int> name2index;
|
108
|
+
void form(const std::vector<std::string>& name);
|
109
|
+
bool hasDuplicate(const std::vector<std::string>& name);
|
110
|
+
void clear();
|
111
|
+
};
|
112
|
+
|
89
113
|
struct HighsPresolveRuleLog {
|
90
114
|
HighsInt call;
|
91
115
|
HighsInt col_removed;
|
@@ -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 lp_data/HighsAnalysis.h
|
14
12
|
* @brief
|
@@ -0,0 +1,33 @@
|
|
1
|
+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
2
|
+
/* */
|
3
|
+
/* This file is part of the HiGHS linear optimization suite */
|
4
|
+
/* */
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
7
|
+
/* */
|
8
|
+
/* Available as open-source under the MIT License */
|
9
|
+
/* */
|
10
|
+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
11
|
+
/**@file lp_data/HighsCallback.h
|
12
|
+
* @brief
|
13
|
+
*/
|
14
|
+
#ifndef LP_DATA_HIGHSCALLBACK_H_
|
15
|
+
#define LP_DATA_HIGHSCALLBACK_H_
|
16
|
+
|
17
|
+
#include "lp_data/HStruct.h"
|
18
|
+
#include "lp_data/HighsCallbackStruct.h"
|
19
|
+
|
20
|
+
struct HighsCallback {
|
21
|
+
void (*user_callback)(const int, const char*, const HighsCallbackDataOut*,
|
22
|
+
HighsCallbackDataIn*, void*) = nullptr;
|
23
|
+
void* user_callback_data = nullptr;
|
24
|
+
std::vector<bool> active;
|
25
|
+
HighsCallbackDataOut data_out;
|
26
|
+
HighsCallbackDataIn data_in;
|
27
|
+
bool callbackActive(const int callback_type);
|
28
|
+
bool callbackAction(const int callback_type, std::string message = "");
|
29
|
+
void clearHighsCallbackDataOut();
|
30
|
+
void clearHighsCallbackDataIn();
|
31
|
+
void clear();
|
32
|
+
};
|
33
|
+
#endif /* LP_DATA_HIGHSCALLBACK_H_ */
|
@@ -0,0 +1,36 @@
|
|
1
|
+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
2
|
+
/* */
|
3
|
+
/* This file is part of the HiGHS linear optimization suite */
|
4
|
+
/* */
|
5
|
+
/* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
7
|
+
/* */
|
8
|
+
/* Available as open-source under the MIT License */
|
9
|
+
/* */
|
10
|
+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
11
|
+
/**@file lp_data/HighsCallbackStruct.h
|
12
|
+
* @brief
|
13
|
+
*/
|
14
|
+
#ifndef LP_DATA_HIGHSCALLBACKSTRUCT_H_
|
15
|
+
#define LP_DATA_HIGHSCALLBACKSTRUCT_H_
|
16
|
+
|
17
|
+
#include "util/HighsInt.h"
|
18
|
+
|
19
|
+
struct HighsCallbackDataOut {
|
20
|
+
int log_type; // cast of HighsLogType
|
21
|
+
double running_time;
|
22
|
+
HighsInt simplex_iteration_count;
|
23
|
+
HighsInt ipm_iteration_count;
|
24
|
+
double objective_function_value;
|
25
|
+
int64_t mip_node_count;
|
26
|
+
double mip_primal_bound;
|
27
|
+
double mip_dual_bound;
|
28
|
+
double mip_gap;
|
29
|
+
double* mip_solution;
|
30
|
+
};
|
31
|
+
|
32
|
+
struct HighsCallbackDataIn {
|
33
|
+
int user_interrupt;
|
34
|
+
};
|
35
|
+
|
36
|
+
#endif /* LP_DATA_HIGHSCALLBACKSTRUCT_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 lp_data/HighsDebug.h
|
14
12
|
* @brief
|