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 lp_data/HighsInfo.h
|
14
12
|
* @brief
|
@@ -89,38 +87,45 @@ class InfoRecordDouble : public InfoRecord {
|
|
89
87
|
virtual ~InfoRecordDouble() {}
|
90
88
|
};
|
91
89
|
|
92
|
-
InfoStatus getInfoIndex(const
|
90
|
+
InfoStatus getInfoIndex(const HighsLogOptions& report_log_options,
|
91
|
+
const std::string& name,
|
93
92
|
const std::vector<InfoRecord*>& info_records,
|
94
93
|
HighsInt& index);
|
95
94
|
|
96
|
-
InfoStatus checkInfo(const
|
95
|
+
InfoStatus checkInfo(const HighsLogOptions& report_log_options,
|
97
96
|
const std::vector<InfoRecord*>& info_records);
|
98
97
|
InfoStatus checkInfo(const InfoRecordInt& info);
|
99
98
|
InfoStatus checkInfo(const InfoRecordDouble& info);
|
100
99
|
|
101
|
-
InfoStatus getLocalInfoValue(const
|
100
|
+
InfoStatus getLocalInfoValue(const HighsLogOptions& report_log_options,
|
102
101
|
const std::string& name, const bool valid,
|
103
102
|
const std::vector<InfoRecord*>& info_records,
|
104
103
|
int64_t& value);
|
105
|
-
InfoStatus getLocalInfoValue(const
|
104
|
+
InfoStatus getLocalInfoValue(const HighsLogOptions& report_log_options,
|
106
105
|
const std::string& name, const bool valid,
|
107
106
|
const std::vector<InfoRecord*>& info_records,
|
108
107
|
HighsInt& value);
|
109
|
-
InfoStatus getLocalInfoValue(const
|
108
|
+
InfoStatus getLocalInfoValue(const HighsLogOptions& report_log_options,
|
110
109
|
const std::string& name, const bool valid,
|
111
110
|
const std::vector<InfoRecord*>& info_records,
|
112
111
|
double& value);
|
113
112
|
|
114
|
-
|
113
|
+
InfoStatus getLocalInfoType(const HighsLogOptions& report_log_options,
|
114
|
+
const std::string& name,
|
115
115
|
const std::vector<InfoRecord*>& info_records,
|
116
|
-
|
116
|
+
HighsInfoType& type);
|
117
|
+
|
118
|
+
HighsStatus writeInfoToFile(
|
119
|
+
FILE* file, const bool valid, const std::vector<InfoRecord*>& info_records,
|
120
|
+
const HighsFileType file_type = HighsFileType::kOther);
|
117
121
|
void reportInfo(FILE* file, const std::vector<InfoRecord*>& info_records,
|
118
|
-
const
|
122
|
+
const HighsFileType file_type = HighsFileType::kOther);
|
119
123
|
void reportInfo(FILE* file, const InfoRecordInt64& info,
|
120
|
-
const
|
121
|
-
void reportInfo(FILE* file, const InfoRecordInt& info,
|
124
|
+
const HighsFileType file_type = HighsFileType::kOther);
|
125
|
+
void reportInfo(FILE* file, const InfoRecordInt& info,
|
126
|
+
const HighsFileType file_type = HighsFileType::kOther);
|
122
127
|
void reportInfo(FILE* file, const InfoRecordDouble& info,
|
123
|
-
const
|
128
|
+
const HighsFileType file_type = HighsFileType::kOther);
|
124
129
|
|
125
130
|
// For now, but later change so HiGHS properties are string based so that new
|
126
131
|
// info (for debug and testing too) can be added easily. The info below
|
@@ -132,8 +137,8 @@ struct HighsInfoStruct {
|
|
132
137
|
int64_t mip_node_count;
|
133
138
|
HighsInt simplex_iteration_count;
|
134
139
|
HighsInt ipm_iteration_count;
|
135
|
-
HighsInt qp_iteration_count;
|
136
140
|
HighsInt crossover_iteration_count;
|
141
|
+
HighsInt qp_iteration_count;
|
137
142
|
HighsInt primal_solution_status;
|
138
143
|
HighsInt dual_solution_status;
|
139
144
|
HighsInt basis_validity;
|
@@ -194,8 +199,7 @@ class HighsInfo : public HighsInfoStruct {
|
|
194
199
|
InfoRecordInt64* record_int64;
|
195
200
|
InfoRecordInt* record_int;
|
196
201
|
InfoRecordDouble* record_double;
|
197
|
-
bool advanced;
|
198
|
-
advanced = false;
|
202
|
+
const bool advanced = false; // Not used
|
199
203
|
|
200
204
|
record_int = new InfoRecordInt("simplex_iteration_count",
|
201
205
|
"Iteration count for simplex solver",
|
@@ -207,11 +211,6 @@ class HighsInfo : public HighsInfoStruct {
|
|
207
211
|
&ipm_iteration_count, 0);
|
208
212
|
records.push_back(record_int);
|
209
213
|
|
210
|
-
record_int =
|
211
|
-
new InfoRecordInt("qp_iteration_count", "Iteration count for QP solver",
|
212
|
-
advanced, &qp_iteration_count, 0);
|
213
|
-
records.push_back(record_int);
|
214
|
-
|
215
214
|
record_int = new InfoRecordInt("crossover_iteration_count",
|
216
215
|
"Iteration count for crossover", advanced,
|
217
216
|
&crossover_iteration_count, 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 lp_data/HighsInfoDebug.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 lp_data/HighsLp.h
|
14
12
|
* @brief
|
@@ -17,7 +15,6 @@
|
|
17
15
|
#define LP_DATA_HIGHS_LP_H_
|
18
16
|
|
19
17
|
#include <string>
|
20
|
-
#include <vector>
|
21
18
|
|
22
19
|
#include "lp_data/HStruct.h"
|
23
20
|
#include "util/HighsSparseMatrix.h"
|
@@ -43,22 +40,31 @@ class HighsLp {
|
|
43
40
|
std::string model_name_;
|
44
41
|
std::string objective_name_;
|
45
42
|
|
43
|
+
HighsInt new_col_name_ix_ = 0;
|
44
|
+
HighsInt new_row_name_ix_ = 0;
|
46
45
|
std::vector<std::string> col_names_;
|
47
46
|
std::vector<std::string> row_names_;
|
48
47
|
|
49
48
|
std::vector<HighsVarType> integrality_;
|
50
49
|
|
50
|
+
HighsNameHash col_hash_;
|
51
|
+
HighsNameHash row_hash_;
|
52
|
+
|
51
53
|
HighsScale scale_;
|
52
54
|
bool is_scaled_;
|
53
55
|
bool is_moved_;
|
54
56
|
HighsInt cost_row_location_;
|
57
|
+
bool has_infinite_cost_;
|
55
58
|
HighsLpMods mods_;
|
56
59
|
|
57
|
-
bool operator==(const HighsLp& lp);
|
60
|
+
bool operator==(const HighsLp& lp) const;
|
58
61
|
bool equalButForNames(const HighsLp& lp) const;
|
62
|
+
bool equalNames(const HighsLp& lp) const;
|
59
63
|
bool isMip() const;
|
60
64
|
bool hasSemiVariables() const;
|
65
|
+
bool hasInfiniteCost(const double infinite_cost) const;
|
61
66
|
double objectiveValue(const std::vector<double>& solution) const;
|
67
|
+
HighsCDouble objectiveCDoubleValue(const std::vector<double>& solution) const;
|
62
68
|
void setMatrixDimensions();
|
63
69
|
void setFormat(const MatrixFormat format);
|
64
70
|
void ensureColwise() { this->a_matrix_.ensureColwise(); };
|
@@ -70,6 +76,8 @@ class HighsLp {
|
|
70
76
|
void unapplyScale();
|
71
77
|
void moveBackLpAndUnapplyScaling(HighsLp& lp);
|
72
78
|
void exactResize();
|
79
|
+
void addColNames(const std::string name, const HighsInt num_new_col = 1);
|
80
|
+
void addRowNames(const std::string name, const HighsInt num_new_row = 1);
|
73
81
|
void unapplyMods();
|
74
82
|
void clear();
|
75
83
|
};
|
@@ -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 simplex/HighsLpSolverObject.h
|
14
12
|
* @brief Collection of class instances required to solve an LP
|
@@ -24,12 +22,14 @@ class HighsLpSolverObject {
|
|
24
22
|
public:
|
25
23
|
HighsLpSolverObject(HighsLp& lp, HighsBasis& basis, HighsSolution& solution,
|
26
24
|
HighsInfo& highs_info, HEkk& ekk_instance,
|
27
|
-
|
25
|
+
HighsCallback& callback, HighsOptions& options,
|
26
|
+
HighsTimer& timer)
|
28
27
|
: lp_(lp),
|
29
28
|
basis_(basis),
|
30
29
|
solution_(solution),
|
31
30
|
highs_info_(highs_info),
|
32
31
|
ekk_instance_(ekk_instance),
|
32
|
+
callback_(callback),
|
33
33
|
options_(options),
|
34
34
|
timer_(timer) {}
|
35
35
|
|
@@ -38,6 +38,7 @@ class HighsLpSolverObject {
|
|
38
38
|
HighsSolution& solution_;
|
39
39
|
HighsInfo& highs_info_;
|
40
40
|
HEkk& ekk_instance_;
|
41
|
+
HighsCallback& callback_;
|
41
42
|
HighsOptions& options_;
|
42
43
|
HighsTimer& timer_;
|
43
44
|
|
@@ -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/HighsLpUtils.h
|
14
12
|
* @brief Class-independent utilities for HiGHS
|
@@ -47,13 +45,15 @@ bool lpDimensionsOk(std::string message, const HighsLp& lp,
|
|
47
45
|
|
48
46
|
HighsStatus assessCosts(const HighsOptions& options, const HighsInt ml_col_os,
|
49
47
|
const HighsIndexCollection& index_collection,
|
50
|
-
vector<double>& cost,
|
48
|
+
vector<double>& cost, bool& has_infinite_cost,
|
49
|
+
const double infinite_cost);
|
51
50
|
|
52
51
|
HighsStatus assessBounds(const HighsOptions& options, const char* type,
|
53
52
|
const HighsInt ml_ix_os,
|
54
53
|
const HighsIndexCollection& index_collection,
|
55
54
|
vector<double>& lower, vector<double>& upper,
|
56
|
-
const double infinite_bound
|
55
|
+
const double infinite_bound,
|
56
|
+
const HighsVarType* integrality = nullptr);
|
57
57
|
|
58
58
|
HighsStatus cleanBounds(const HighsOptions& options, HighsLp& lp);
|
59
59
|
|
@@ -63,7 +63,8 @@ bool activeModifiedUpperBounds(const HighsOptions& options, const HighsLp& lp,
|
|
63
63
|
const std::vector<double> col_value);
|
64
64
|
|
65
65
|
bool considerScaling(const HighsOptions& options, HighsLp& lp);
|
66
|
-
void scaleLp(const HighsOptions& options, HighsLp& lp
|
66
|
+
void scaleLp(const HighsOptions& options, HighsLp& lp,
|
67
|
+
const bool force_scaling = false);
|
67
68
|
bool equilibrationScaleMatrix(const HighsOptions& options, HighsLp& lp,
|
68
69
|
const HighsInt use_scale_strategy);
|
69
70
|
bool maxValueScaleMatrix(const HighsOptions& options, HighsLp& lp,
|
@@ -106,7 +107,8 @@ void changeLpIntegrality(HighsLp& lp,
|
|
106
107
|
const vector<HighsVarType>& new_integrality);
|
107
108
|
|
108
109
|
void changeLpCosts(HighsLp& lp, const HighsIndexCollection& index_collection,
|
109
|
-
const vector<double>& new_col_cost
|
110
|
+
const vector<double>& new_col_cost,
|
111
|
+
const double infinite_cost);
|
110
112
|
|
111
113
|
void changeLpColBounds(HighsLp& lp,
|
112
114
|
const HighsIndexCollection& index_collection,
|
@@ -214,16 +216,25 @@ bool readSolutionFileKeywordLineOk(std::string& keyword,
|
|
214
216
|
bool readSolutionFileHashKeywordIntLineOk(std::string& keyword, HighsInt& value,
|
215
217
|
std::ifstream& in_file);
|
216
218
|
bool readSolutionFileIdDoubleLineOk(double& value, std::ifstream& in_file);
|
219
|
+
bool readSolutionFileIdDoubleIntLineOk(double& value, HighsInt& index,
|
220
|
+
std::ifstream& in_file);
|
221
|
+
|
222
|
+
void assessColPrimalSolution(const HighsOptions& options, const double primal,
|
223
|
+
const double lower, const double upper,
|
224
|
+
const HighsVarType type, double& col_infeasibility,
|
225
|
+
double& integer_infeasibility);
|
217
226
|
|
218
|
-
HighsStatus
|
219
|
-
|
220
|
-
|
227
|
+
HighsStatus assessLpPrimalSolution(const HighsOptions& options,
|
228
|
+
const HighsLp& lp,
|
229
|
+
const HighsSolution& solution, bool& valid,
|
230
|
+
bool& integral, bool& feasible);
|
221
231
|
|
222
232
|
HighsStatus calculateRowValues(const HighsLp& lp,
|
223
233
|
const std::vector<double>& col_value,
|
224
234
|
std::vector<double>& row_value);
|
225
235
|
HighsStatus calculateRowValues(const HighsLp& lp, HighsSolution& solution);
|
226
|
-
HighsStatus calculateRowValuesQuad(const HighsLp& lp, HighsSolution& solution
|
236
|
+
HighsStatus calculateRowValuesQuad(const HighsLp& lp, HighsSolution& solution,
|
237
|
+
const HighsInt report_row = -1);
|
227
238
|
HighsStatus calculateColDuals(const HighsLp& lp, HighsSolution& solution);
|
228
239
|
|
229
240
|
bool isBoundInfeasible(const HighsLogOptions& log_options, const HighsLp& lp);
|
@@ -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/HighsModelUtils.h
|
14
12
|
* @brief Class-independent utilities for HiGHS
|
@@ -16,10 +14,10 @@
|
|
16
14
|
#ifndef LP_DATA_HIGHSMODELUTILS_H_
|
17
15
|
#define LP_DATA_HIGHSMODELUTILS_H_
|
18
16
|
|
19
|
-
// #include "Highs.h"
|
20
|
-
// #include "lp_data/HighsStatus.h"
|
21
17
|
#include "lp_data/HighsInfo.h"
|
22
18
|
#include "model/HighsModel.h"
|
19
|
+
// #include "Highs.h"
|
20
|
+
// #include "lp_data/HighsStatus.h"
|
23
21
|
// #include "lp_data/HStruct.h"
|
24
22
|
// #include "lp_data/HighsInfo.h"
|
25
23
|
// #include "lp_data/HighsLp.h"
|
@@ -40,8 +38,22 @@ void writeModelBoundSolution(
|
|
40
38
|
const std::vector<double>& dual, const bool have_basis,
|
41
39
|
const std::vector<HighsBasisStatus>& status,
|
42
40
|
const HighsVarType* integrality = NULL);
|
43
|
-
|
44
|
-
|
41
|
+
|
42
|
+
void writeModelObjective(FILE* file, const HighsModel& model,
|
43
|
+
const std::vector<double>& primal_solution);
|
44
|
+
|
45
|
+
void writeLpObjective(FILE* file, const HighsLp& lp,
|
46
|
+
const std::vector<double>& primal_solution);
|
47
|
+
|
48
|
+
void writeObjectiveValue(FILE* file, const double objective_value);
|
49
|
+
|
50
|
+
void writePrimalSolution(FILE* file, const HighsLp& lp,
|
51
|
+
const std::vector<double>& primal_solution,
|
52
|
+
const bool sparse = false);
|
53
|
+
|
54
|
+
void writeModelSolution(FILE* file, const HighsModel& model,
|
55
|
+
const HighsSolution& solution, const HighsInfo& info,
|
56
|
+
const bool sparse = false);
|
45
57
|
|
46
58
|
HighsInt maxNameLength(const HighsInt num_name,
|
47
59
|
const std::vector<std::string>& names);
|
@@ -92,4 +104,6 @@ std::string typeToString(const HighsVarType type);
|
|
92
104
|
std::string findModelObjectiveName(const HighsLp* lp,
|
93
105
|
const HighsHessian* hessian = nullptr);
|
94
106
|
|
107
|
+
// bool repeatedNames(const std::vector<std::string> name);
|
108
|
+
|
95
109
|
#endif
|