casadi 3.6.7__cp310-none-macosx_11_0_arm64.whl → 3.7.1__cp310-none-macosx_11_0_arm64.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-cli +0 -0
- casadi/casadi.py +6531 -3039
- casadi/cbc +0 -0
- casadi/clp +0 -0
- casadi/cmake/casadi-config-version.cmake +1 -1
- casadi/cmake/casadi-config.cmake +1 -1
- casadi/cmake/casadi-targets-release.cmake +5 -5
- casadi/cmake/casadi-targets.cmake +7 -7
- casadi/{lib/cmake/tinyxml2/tinyxml2-config-version.cmake → cmake/ghc_filesystem/ghc_filesystem-config-version.cmake} +30 -10
- casadi/cmake/ghc_filesystem/ghc_filesystem-config.cmake +30 -0
- casadi/{lib/cmake/tinyxml2/tinyxml2-static-targets.cmake → cmake/ghc_filesystem/ghc_filesystem-targets.cmake} +10 -10
- casadi/cmake/highs/highs-targets-release.cmake +2 -2
- casadi/cmake/highs/highs-targets.cmake +3 -3
- casadi/cmake/libzip/libzip-config-version.cmake +43 -0
- casadi/cmake/libzip/libzip-config.cmake +69 -0
- casadi/cmake/libzip/libzip-targets-release.cmake +19 -0
- casadi/cmake/libzip/libzip-targets.cmake +107 -0
- casadi/cmake/libzip/modules/FindMbedTLS.cmake +141 -0
- casadi/cmake/libzip/modules/FindNettle.cmake +141 -0
- casadi/cmake/libzip/modules/Findzstd.cmake +186 -0
- casadi/cmake/osqp/osqp-targets.cmake +2 -2
- casadi/cmake/proxsuite/proxsuiteTargets.cmake +2 -2
- casadi/cmake/qdldl/qdldl-targets.cmake +2 -2
- casadi/cmake/sleqp/sleqp-targets.cmake +2 -2
- casadi/cmake/trlib/trlib-config.cmake +2 -2
- casadi/highs +0 -0
- casadi/include/casadi/casadi.i +276 -47
- casadi/include/casadi/config.h +11 -11
- casadi/include/casadi/core/archiver.hpp +58 -0
- casadi/include/casadi/core/blazing_spline.hpp +47 -0
- casadi/include/casadi/core/calculus.hpp +57 -2
- casadi/include/casadi/core/callback.hpp +9 -0
- casadi/include/casadi/core/casadi_common.hpp +37 -0
- casadi/include/casadi/core/casadi_meta.hpp +15 -0
- casadi/include/casadi/core/casadi_misc.hpp +21 -0
- casadi/include/casadi/core/code_generator.hpp +115 -19
- casadi/include/casadi/core/core.hpp +5 -0
- casadi/include/casadi/core/dae_builder.hpp +303 -141
- casadi/include/casadi/core/dm.hpp +3 -0
- casadi/include/casadi/core/filesystem.hpp +58 -0
- casadi/include/casadi/core/fmu.hpp +62 -16
- casadi/include/casadi/core/function.hpp +24 -0
- casadi/include/casadi/core/generic_matrix.hpp +214 -7
- casadi/include/casadi/core/generic_shared.hpp +395 -0
- casadi/include/casadi/core/generic_shared_impl.hpp +218 -0
- casadi/include/casadi/core/generic_shared_internal.hpp +215 -0
- casadi/include/casadi/core/generic_type.hpp +3 -0
- casadi/include/casadi/core/global_options.hpp +10 -0
- casadi/include/casadi/core/integrator.hpp +41 -7
- casadi/include/casadi/core/matrix_decl.hpp +71 -0
- casadi/include/casadi/core/mx.hpp +63 -2
- casadi/include/casadi/core/nlp_builder.hpp +2 -1
- casadi/include/casadi/core/options.hpp +6 -3
- casadi/include/casadi/core/optistack.hpp +43 -9
- casadi/include/casadi/core/printable.hpp +8 -0
- casadi/include/casadi/core/resource.hpp +107 -0
- casadi/include/casadi/core/runtime/casadi_blazing_1d_boor_eval.hpp +112 -0
- casadi/include/casadi/core/runtime/casadi_blazing_2d_boor_eval.hpp +311 -0
- casadi/include/casadi/core/runtime/casadi_blazing_3d_boor_eval.hpp +645 -0
- casadi/include/casadi/core/runtime/casadi_blazing_de_boor.hpp +101 -0
- casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +1 -1
- casadi/include/casadi/core/runtime/casadi_nlp.hpp +8 -2
- casadi/include/casadi/core/runtime/casadi_print_canonical.hpp +55 -0
- casadi/include/casadi/core/runtime/casadi_print_scalar.hpp +25 -0
- casadi/include/casadi/core/runtime/casadi_print_vector.hpp +32 -0
- casadi/include/casadi/core/runtime/casadi_printme.hpp +26 -0
- casadi/include/casadi/core/serializer.hpp +13 -5
- casadi/include/casadi/core/serializing_stream.hpp +9 -2
- casadi/include/casadi/core/shared_object.hpp +73 -161
- casadi/include/casadi/core/sparsity.hpp +13 -1
- casadi/include/casadi/core/sparsity_interface.hpp +19 -1
- casadi/include/casadi/core/sx.hpp +41 -0
- casadi/include/casadi/core/sx_elem.hpp +25 -0
- casadi/include/casadi/core/xml_node.hpp +5 -0
- casadi/include/casadi/doc.i +10026 -6513
- casadi/include/casadi/doc_merged.i +6744 -4449
- casadi/include/casadi/valgrind-casadi.supp +138 -0
- casadi/include/casadi/valgrind-python.supp +2470 -0
- casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +4 -1
- casadi/include/ghc/filesystem.hpp +6083 -0
- casadi/include/ghc/fs_fwd.hpp +38 -0
- casadi/include/ghc/fs_impl.hpp +35 -0
- casadi/include/ghc/fs_std.hpp +60 -0
- casadi/include/ghc/fs_std_fwd.hpp +63 -0
- casadi/include/ghc/fs_std_impl.hpp +46 -0
- casadi/include/highs/HConfig.h +6 -4
- casadi/include/highs/Highs.h +260 -86
- casadi/include/highs/filereaderlp/reader.hpp +10 -10
- casadi/include/highs/interfaces/highs_c_api.h +195 -22
- casadi/include/highs/io/Filereader.h +4 -6
- casadi/include/highs/io/FilereaderEms.h +0 -3
- casadi/include/highs/io/FilereaderLp.h +0 -3
- casadi/include/highs/io/FilereaderMps.h +0 -3
- casadi/include/highs/io/HMPSIO.h +1 -4
- casadi/include/highs/io/HMpsFF.h +8 -5
- casadi/include/highs/io/HighsIO.h +10 -5
- casadi/include/highs/io/LoadOptions.h +0 -3
- casadi/include/highs/ipm/IpxSolution.h +0 -3
- casadi/include/highs/ipm/IpxWrapper.h +4 -7
- casadi/include/highs/ipm/ipx/control.h +1 -0
- casadi/include/highs/ipm/ipx/ipx_parameters.h +1 -0
- casadi/include/highs/ipm/ipx/lp_solver.h +3 -2
- casadi/include/highs/ipm/ipx/model.h +7 -3
- casadi/include/highs/lp_data/HConst.h +21 -6
- casadi/include/highs/lp_data/HStruct.h +40 -4
- casadi/include/highs/lp_data/HighsAnalysis.h +0 -3
- casadi/include/highs/lp_data/HighsCallback.h +10 -3
- casadi/include/highs/lp_data/HighsCallbackStruct.h +3 -3
- casadi/include/highs/lp_data/HighsDebug.h +0 -3
- casadi/include/highs/lp_data/HighsIis.h +62 -0
- casadi/include/highs/lp_data/HighsInfo.h +50 -43
- casadi/include/highs/lp_data/HighsInfoDebug.h +0 -3
- casadi/include/highs/lp_data/HighsLp.h +2 -3
- casadi/include/highs/lp_data/HighsLpSolverObject.h +0 -3
- casadi/include/highs/lp_data/HighsLpUtils.h +38 -6
- casadi/include/highs/lp_data/HighsModelUtils.h +21 -18
- casadi/include/highs/lp_data/HighsOptions.h +134 -22
- casadi/include/highs/lp_data/HighsRanging.h +0 -3
- casadi/include/highs/lp_data/HighsSolution.h +10 -3
- casadi/include/highs/lp_data/HighsSolutionDebug.h +0 -3
- casadi/include/highs/lp_data/HighsSolve.h +0 -3
- casadi/include/highs/lp_data/HighsStatus.h +0 -3
- casadi/include/highs/mip/HighsCliqueTable.h +3 -3
- casadi/include/highs/mip/HighsConflictPool.h +0 -3
- casadi/include/highs/mip/HighsCutGeneration.h +13 -3
- casadi/include/highs/mip/HighsCutPool.h +0 -3
- casadi/include/highs/mip/HighsDebugSol.h +0 -3
- casadi/include/highs/mip/HighsDomain.h +16 -4
- casadi/include/highs/mip/HighsDomainChange.h +0 -3
- casadi/include/highs/mip/HighsDynamicRowMatrix.h +0 -3
- casadi/include/highs/mip/HighsGFkSolve.h +3 -6
- casadi/include/highs/mip/HighsImplications.h +29 -5
- casadi/include/highs/mip/HighsLpAggregator.h +0 -3
- casadi/include/highs/mip/HighsLpRelaxation.h +0 -3
- casadi/include/highs/mip/HighsMipAnalysis.h +52 -0
- casadi/include/highs/mip/HighsMipSolver.h +11 -4
- casadi/include/highs/mip/HighsMipSolverData.h +67 -6
- casadi/include/highs/mip/HighsModkSeparator.h +1 -4
- casadi/include/highs/mip/HighsNodeQueue.h +0 -3
- casadi/include/highs/mip/HighsObjectiveFunction.h +0 -3
- casadi/include/highs/mip/HighsPathSeparator.h +1 -4
- casadi/include/highs/mip/HighsPrimalHeuristics.h +7 -5
- casadi/include/highs/mip/HighsPseudocost.h +0 -3
- casadi/include/highs/mip/HighsRedcostFixing.h +0 -3
- casadi/include/highs/mip/HighsSearch.h +0 -3
- casadi/include/highs/mip/HighsSeparation.h +0 -3
- casadi/include/highs/mip/HighsSeparator.h +1 -5
- casadi/include/highs/mip/HighsTableauSeparator.h +1 -4
- casadi/include/highs/mip/HighsTransformedLp.h +0 -3
- casadi/include/highs/mip/MipTimer.h +471 -0
- casadi/include/highs/parallel/HighsBinarySemaphore.h +1 -1
- casadi/include/highs/parallel/HighsCacheAlign.h +1 -1
- casadi/include/highs/parallel/HighsCombinable.h +1 -1
- casadi/include/highs/parallel/HighsMutex.h +1 -1
- casadi/include/highs/parallel/HighsRaceTimer.h +1 -1
- casadi/include/highs/parallel/HighsSchedulerConstants.h +1 -1
- casadi/include/highs/parallel/HighsSplitDeque.h +1 -1
- casadi/include/highs/parallel/HighsTaskExecutor.h +68 -55
- casadi/include/highs/pdlp/CupdlpWrapper.h +18 -7
- casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +2 -3
- casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +16 -6
- casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +10 -4
- casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +3 -3
- casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +6 -6
- casadi/include/highs/pdlp/cupdlp/cupdlp_scaling.h +26 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +11 -11
- casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +8 -4
- casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +253 -172
- casadi/include/highs/presolve/HPresolve.h +50 -10
- casadi/include/highs/presolve/HPresolveAnalysis.h +0 -3
- casadi/include/highs/presolve/HighsPostsolveStack.h +39 -6
- casadi/include/highs/presolve/HighsSymmetry.h +0 -3
- casadi/include/highs/presolve/ICrash.h +0 -3
- casadi/include/highs/presolve/ICrashUtil.h +1 -4
- casadi/include/highs/presolve/ICrashX.h +0 -3
- casadi/include/highs/presolve/PresolveComponent.h +0 -3
- casadi/include/highs/qpsolver/a_asm.hpp +20 -17
- casadi/include/highs/qpsolver/a_quass.hpp +5 -9
- casadi/include/highs/qpsolver/basis.hpp +12 -10
- casadi/include/highs/qpsolver/crashsolution.hpp +4 -3
- casadi/include/highs/qpsolver/dantzigpricing.hpp +3 -2
- casadi/include/highs/qpsolver/devexpricing.hpp +3 -1
- casadi/include/highs/qpsolver/factor.hpp +6 -5
- casadi/include/highs/qpsolver/feasibility_bounded.hpp +31 -29
- casadi/include/highs/qpsolver/feasibility_highs.hpp +94 -70
- casadi/include/highs/qpsolver/gradient.hpp +1 -1
- casadi/include/highs/qpsolver/instance.hpp +1 -1
- casadi/include/highs/qpsolver/pricing.hpp +2 -2
- casadi/include/highs/qpsolver/qpconst.hpp +2 -2
- casadi/include/highs/qpsolver/quass.hpp +2 -2
- casadi/include/highs/qpsolver/runtime.hpp +2 -2
- casadi/include/highs/qpsolver/settings.hpp +20 -8
- casadi/include/highs/qpsolver/steepestedgepricing.hpp +38 -39
- casadi/include/highs/simplex/HApp.h +88 -34
- casadi/include/highs/simplex/HEkk.h +24 -11
- casadi/include/highs/simplex/HEkkDual.h +2 -4
- casadi/include/highs/simplex/HEkkDualRHS.h +0 -3
- casadi/include/highs/simplex/HEkkDualRow.h +0 -3
- casadi/include/highs/simplex/HEkkPrimal.h +1 -5
- casadi/include/highs/simplex/HSimplex.h +0 -3
- casadi/include/highs/simplex/HSimplexDebug.h +0 -3
- casadi/include/highs/simplex/HSimplexNla.h +0 -26
- casadi/include/highs/simplex/HSimplexReport.h +0 -3
- casadi/include/highs/simplex/HighsSimplexAnalysis.h +5 -8
- casadi/include/highs/simplex/SimplexConst.h +10 -11
- casadi/include/highs/simplex/SimplexStruct.h +9 -12
- casadi/include/highs/simplex/SimplexTimer.h +83 -101
- casadi/include/highs/test/DevKkt.h +0 -3
- casadi/include/highs/test/KktCh2.h +0 -3
- casadi/include/highs/util/FactorTimer.h +39 -64
- casadi/include/highs/util/HFactor.h +4 -4
- casadi/include/highs/util/HFactorConst.h +0 -3
- casadi/include/highs/util/HFactorDebug.h +0 -3
- casadi/include/highs/util/HSet.h +0 -3
- casadi/include/highs/util/HVector.h +0 -3
- casadi/include/highs/util/HVectorBase.h +1 -4
- casadi/include/highs/util/HighsCDouble.h +12 -3
- casadi/include/highs/util/HighsComponent.h +0 -3
- casadi/include/highs/util/HighsDataStack.h +0 -3
- casadi/include/highs/util/HighsDisjointSets.h +0 -3
- casadi/include/highs/util/HighsHash.h +9 -12
- casadi/include/highs/util/HighsHashTree.h +15 -11
- casadi/include/highs/util/HighsInt.h +0 -3
- casadi/include/highs/util/HighsIntegers.h +0 -3
- casadi/include/highs/util/HighsLinearSumBounds.h +0 -3
- casadi/include/highs/util/HighsMatrixPic.h +0 -3
- casadi/include/highs/util/HighsMatrixSlice.h +3 -6
- casadi/include/highs/util/HighsMatrixUtils.h +0 -3
- casadi/include/highs/util/HighsMemoryAllocation.h +11 -3
- casadi/include/highs/util/HighsRandom.h +3 -6
- casadi/include/highs/util/HighsRbTree.h +0 -3
- casadi/include/highs/util/HighsSort.h +0 -3
- casadi/include/highs/util/HighsSparseMatrix.h +6 -3
- casadi/include/highs/util/HighsSparseVectorSum.h +0 -3
- casadi/include/highs/util/HighsSplay.h +0 -3
- casadi/include/highs/util/HighsTimer.h +94 -56
- casadi/include/highs/util/HighsUtils.h +10 -3
- casadi/include/highs/util/stringutil.h +14 -12
- casadi/include/licenses/LICENSE.bzip2.txt +42 -0
- casadi/include/licenses/ghc-external/LICENSE +19 -0
- casadi/include/licenses/libz-external/LICENSE +22 -0
- casadi/include/licenses/libz-external/contrib/dotzlib/LICENSE_1_0.txt +23 -0
- casadi/include/licenses/libzip-external/LICENSE +31 -0
- casadi/include/zconf.h +545 -0
- casadi/include/zip.h +528 -0
- casadi/include/zipconf.h +48 -0
- casadi/include/zlib.h +1938 -0
- casadi/libCbc.3.10.11.dylib +0 -0
- casadi/libCbc.3.dylib +0 -0
- casadi/libCbc.dylib +0 -0
- casadi/libCbc.la +1 -1
- casadi/libCbcSolver.3.10.11.dylib +0 -0
- casadi/libCbcSolver.3.dylib +0 -0
- casadi/libCbcSolver.dylib +0 -0
- casadi/libCbcSolver.la +1 -1
- casadi/libCgl.1.10.8.dylib +0 -0
- casadi/libCgl.1.dylib +0 -0
- casadi/libCgl.dylib +0 -0
- casadi/libCgl.la +1 -1
- casadi/libClp.1.14.9.dylib +0 -0
- casadi/libClp.1.dylib +0 -0
- casadi/libClp.dylib +0 -0
- casadi/libClp.la +1 -1
- casadi/libClpSolver.1.14.9.dylib +0 -0
- casadi/libClpSolver.1.dylib +0 -0
- casadi/libClpSolver.dylib +0 -0
- casadi/libClpSolver.la +1 -1
- casadi/libCoinUtils.3.11.10.dylib +0 -0
- casadi/libCoinUtils.3.dylib +0 -0
- casadi/libCoinUtils.dylib +0 -0
- casadi/libOsi.1.13.9.dylib +0 -0
- casadi/libOsi.1.dylib +0 -0
- casadi/libOsi.dylib +0 -0
- casadi/libOsiCbc.3.10.11.dylib +0 -0
- casadi/libOsiCbc.3.dylib +0 -0
- casadi/libOsiCbc.dylib +0 -0
- casadi/libOsiCbc.la +1 -1
- casadi/libOsiClp.1.14.9.dylib +0 -0
- casadi/libOsiClp.1.dylib +0 -0
- casadi/libOsiClp.dylib +0 -0
- casadi/libOsiClp.la +1 -1
- casadi/libOsiCommonTests.1.13.9.dylib +0 -0
- casadi/libOsiCommonTests.1.dylib +0 -0
- casadi/libOsiCommonTests.dylib +0 -0
- casadi/libblasfeo.dylib +0 -0
- casadi/libbonmin.4.8.9.dylib +0 -0
- casadi/libbonmin.4.dylib +0 -0
- casadi/libbonmin.dylib +0 -0
- casadi/libbonmin.la +1 -1
- casadi/libbz2.1.0.8.dylib +0 -0
- casadi/libc++.1.0.dylib +0 -0
- casadi/libcasadi.3.7.dylib +0 -0
- casadi/libcasadi.dylib +0 -0
- casadi/libcasadi_archiver_libzip.3.7.dylib +0 -0
- casadi/libcasadi_archiver_libzip.dylib +0 -0
- casadi/libcasadi_conic_cbc.3.7.dylib +0 -0
- casadi/libcasadi_conic_cbc.dylib +0 -0
- casadi/libcasadi_conic_clp.3.7.dylib +0 -0
- casadi/libcasadi_conic_clp.dylib +0 -0
- casadi/libcasadi_conic_cplex.3.7.dylib +0 -0
- casadi/libcasadi_conic_cplex.dylib +0 -0
- casadi/libcasadi_conic_daqp.3.7.dylib +0 -0
- casadi/libcasadi_conic_daqp.dylib +0 -0
- casadi/libcasadi_conic_fatrop.3.7.dylib +0 -0
- casadi/libcasadi_conic_fatrop.dylib +0 -0
- casadi/libcasadi_conic_gurobi.3.7.dylib +0 -0
- casadi/libcasadi_conic_gurobi.dylib +0 -0
- casadi/libcasadi_conic_highs.3.7.dylib +0 -0
- casadi/libcasadi_conic_highs.dylib +0 -0
- casadi/libcasadi_conic_ipqp.3.7.dylib +0 -0
- casadi/libcasadi_conic_ipqp.dylib +0 -0
- casadi/libcasadi_conic_nlpsol.3.7.dylib +0 -0
- casadi/libcasadi_conic_nlpsol.dylib +0 -0
- casadi/libcasadi_conic_osqp.3.7.dylib +0 -0
- casadi/libcasadi_conic_osqp.dylib +0 -0
- casadi/libcasadi_conic_proxqp.3.7.dylib +0 -0
- casadi/libcasadi_conic_proxqp.dylib +0 -0
- casadi/libcasadi_conic_qpoases.3.7.dylib +0 -0
- casadi/libcasadi_conic_qpoases.dylib +0 -0
- casadi/libcasadi_conic_qrqp.3.7.dylib +0 -0
- casadi/libcasadi_conic_qrqp.dylib +0 -0
- casadi/libcasadi_conic_superscs.3.7.dylib +0 -0
- casadi/libcasadi_conic_superscs.dylib +0 -0
- casadi/libcasadi_filesystem_ghc.3.7.dylib +0 -0
- casadi/libcasadi_filesystem_ghc.dylib +0 -0
- casadi/libcasadi_importer_shell.3.7.dylib +0 -0
- casadi/libcasadi_importer_shell.dylib +0 -0
- casadi/libcasadi_integrator_collocation.3.7.dylib +0 -0
- casadi/libcasadi_integrator_collocation.dylib +0 -0
- casadi/libcasadi_integrator_cvodes.3.7.dylib +0 -0
- casadi/libcasadi_integrator_cvodes.dylib +0 -0
- casadi/libcasadi_integrator_idas.3.7.dylib +0 -0
- casadi/libcasadi_integrator_idas.dylib +0 -0
- casadi/libcasadi_integrator_rk.3.7.dylib +0 -0
- casadi/libcasadi_integrator_rk.dylib +0 -0
- casadi/libcasadi_interpolant_bspline.3.7.dylib +0 -0
- casadi/libcasadi_interpolant_bspline.dylib +0 -0
- casadi/libcasadi_interpolant_linear.3.7.dylib +0 -0
- casadi/libcasadi_interpolant_linear.dylib +0 -0
- casadi/libcasadi_linsol_csparse.3.7.dylib +0 -0
- casadi/libcasadi_linsol_csparse.dylib +0 -0
- casadi/libcasadi_linsol_csparsecholesky.3.7.dylib +0 -0
- casadi/libcasadi_linsol_csparsecholesky.dylib +0 -0
- casadi/libcasadi_linsol_lapacklu.3.7.dylib +0 -0
- casadi/libcasadi_linsol_lapacklu.dylib +0 -0
- casadi/libcasadi_linsol_lapackqr.3.7.dylib +0 -0
- casadi/libcasadi_linsol_lapackqr.dylib +0 -0
- casadi/libcasadi_linsol_ldl.3.7.dylib +0 -0
- casadi/libcasadi_linsol_ldl.dylib +0 -0
- casadi/libcasadi_linsol_lsqr.3.7.dylib +0 -0
- casadi/libcasadi_linsol_lsqr.dylib +0 -0
- casadi/libcasadi_linsol_ma27.3.7.dylib +0 -0
- casadi/libcasadi_linsol_ma27.dylib +0 -0
- casadi/libcasadi_linsol_mumps.3.7.dylib +0 -0
- casadi/libcasadi_linsol_mumps.dylib +0 -0
- casadi/libcasadi_linsol_qr.3.7.dylib +0 -0
- casadi/libcasadi_linsol_qr.dylib +0 -0
- casadi/libcasadi_linsol_symbolicqr.3.7.dylib +0 -0
- casadi/libcasadi_linsol_symbolicqr.dylib +0 -0
- casadi/libcasadi_linsol_tridiag.3.7.dylib +0 -0
- casadi/libcasadi_linsol_tridiag.dylib +0 -0
- casadi/libcasadi_nlpsol_ampl.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_ampl.dylib +0 -0
- casadi/libcasadi_nlpsol_blocksqp.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_blocksqp.dylib +0 -0
- casadi/libcasadi_nlpsol_bonmin.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_bonmin.dylib +0 -0
- casadi/libcasadi_nlpsol_fatrop.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_fatrop.dylib +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.dylib +0 -0
- casadi/libcasadi_nlpsol_ipopt.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_ipopt.dylib +0 -0
- casadi/libcasadi_nlpsol_knitro.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_knitro.dylib +0 -0
- casadi/libcasadi_nlpsol_madnlp.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_madnlp.dylib +0 -0
- casadi/libcasadi_nlpsol_qrsqp.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_qrsqp.dylib +0 -0
- casadi/libcasadi_nlpsol_scpgen.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_scpgen.dylib +0 -0
- casadi/libcasadi_nlpsol_sleqp.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_sleqp.dylib +0 -0
- casadi/libcasadi_nlpsol_snopt.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_snopt.dylib +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.dylib +0 -0
- casadi/libcasadi_rootfinder_fast_newton.3.7.dylib +0 -0
- casadi/libcasadi_rootfinder_fast_newton.dylib +0 -0
- casadi/libcasadi_rootfinder_kinsol.3.7.dylib +0 -0
- casadi/libcasadi_rootfinder_kinsol.dylib +0 -0
- casadi/libcasadi_rootfinder_newton.3.7.dylib +0 -0
- casadi/libcasadi_rootfinder_newton.dylib +0 -0
- casadi/libcasadi_rootfinder_nlpsol.3.7.dylib +0 -0
- casadi/libcasadi_rootfinder_nlpsol.dylib +0 -0
- casadi/libcasadi_sundials_common.3.7.dylib +0 -0
- casadi/libcasadi_sundials_common.dylib +0 -0
- casadi/libcasadi_xmlfile_tinyxml.3.7.dylib +0 -0
- casadi/libcasadi_xmlfile_tinyxml.dylib +0 -0
- casadi/libcoinmetis.2.dylib +0 -0
- casadi/libcoinmetis.dylib +0 -0
- casadi/libcoinmumps.3.dylib +0 -0
- casadi/libcoinmumps.dylib +0 -0
- casadi/libcoinmumps.la +1 -1
- casadi/libcplex_adaptor.dylib +0 -0
- casadi/libdaqp.dylib +0 -0
- casadi/libdaqpstat.a +0 -0
- casadi/libfatrop.dylib +0 -0
- casadi/libgcc_s.1.1.dylib +0 -0
- casadi/libgfortran.5.dylib +0 -0
- casadi/libgurobi_adaptor.dylib +0 -0
- casadi/libhighs.1.10.dylib +0 -0
- casadi/libhighs.1.dylib +0 -0
- casadi/libhighs.dylib +0 -0
- casadi/libindirect.a +0 -0
- casadi/libipopt.3.dylib +0 -0
- casadi/libipopt.dylib +0 -0
- casadi/libipopt.la +1 -1
- casadi/liblinsys.a +0 -0
- casadi/libmatlab_ipc.dylib +0 -0
- casadi/libosqp.a +0 -0
- casadi/libosqp.dylib +0 -0
- casadi/libqdldl.a +0 -0
- casadi/libqdldl.dylib +0 -0
- casadi/libquadmath.0.dylib +0 -0
- casadi/libsipopt.3.dylib +0 -0
- casadi/libsipopt.dylib +0 -0
- casadi/libsipopt.la +1 -1
- casadi/libsleqp.1.0.1.dylib +0 -0
- casadi/libsleqp.dylib +0 -0
- casadi/libsuperscs.a +0 -0
- casadi/libtrlib.0.4.dylib +0 -0
- casadi/libtrlib.dylib +0 -0
- casadi/libz.1.2.13.dylib +0 -0
- casadi/libz.1.3.1.dylib +0 -0
- casadi/libz.1.dylib +0 -0
- casadi/libz.a +0 -0
- casadi/libz.dylib +0 -0
- casadi/libzip.a +0 -0
- casadi/pkgconfig/casadi.pc +1 -1
- casadi/pkgconfig/coinmumps.pc +1 -1
- casadi/pkgconfig/highs.pc +1 -1
- casadi/pkgconfig/libzip.pc +14 -0
- casadi/tools/__init__.py +3 -1
- casadi/tools/graph/graph.py +1 -1
- casadi/tools/structure3.py +7 -7
- {casadi-3.6.7.dist-info → casadi-3.7.1.dist-info}/METADATA +1 -1
- {casadi-3.6.7.dist-info → casadi-3.7.1.dist-info}/RECORD +450 -405
- casadi/include/highs/lp_data/HighsRuntimeOptions.h +0 -276
- casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +0 -28
- casadi/include/tinyxml2.h +0 -2380
- casadi/lib/cmake/tinyxml2/tinyxml2-config.cmake +0 -57
- casadi/lib/cmake/tinyxml2/tinyxml2-static-targets-release.cmake +0 -19
- casadi/lib/libtinyxml2.a +0 -0
- casadi/lib/pkgconfig/tinyxml2.pc +0 -10
- casadi/libhighs.1.7.dylib +0 -0
- casadi/tools/structure.py +0 -1446
- {casadi-3.6.7.dist-info → casadi-3.7.1.dist-info}/WHEEL +0 -0
@@ -2,9 +2,6 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
|
-
/* Leona Gottwald and Michael Feldmeier */
|
7
|
-
/* */
|
8
5
|
/* Available as open-source under the MIT License */
|
9
6
|
/* */
|
10
7
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -21,12 +18,13 @@
|
|
21
18
|
#include "util/HighsInt.h"
|
22
19
|
|
23
20
|
const std::string kHighsCopyrightStatement =
|
24
|
-
"Copyright (c)
|
21
|
+
"Copyright (c) 2025 HiGHS under MIT licence terms";
|
25
22
|
|
26
23
|
const size_t kHighsSize_tInf = std::numeric_limits<size_t>::max();
|
27
24
|
const HighsInt kHighsIInf = std::numeric_limits<HighsInt>::max();
|
28
25
|
const HighsInt kHighsIInf32 = std::numeric_limits<int>::max();
|
29
26
|
const double kHighsInf = std::numeric_limits<double>::infinity();
|
27
|
+
const double kHighsUndefined = kHighsInf;
|
30
28
|
const double kHighsTiny = 1e-14;
|
31
29
|
const double kHighsMacheps = std::ldexp(1, -52);
|
32
30
|
const double kHighsZero = 1e-50;
|
@@ -85,11 +83,14 @@ enum HighsAnalysisLevel {
|
|
85
83
|
kHighsAnalysisLevelSolverTime = 8,
|
86
84
|
kHighsAnalysisLevelNlaData = 16,
|
87
85
|
kHighsAnalysisLevelNlaTime = 32,
|
86
|
+
kHighsAnalysisLevelMipData = 64,
|
87
|
+
kHighsAnalysisLevelMipTime = 128,
|
88
88
|
kHighsAnalysisLevelMin = kHighsAnalysisLevelNone,
|
89
89
|
kHighsAnalysisLevelMax =
|
90
90
|
kHighsAnalysisLevelModelData + kHighsAnalysisLevelSolverSummaryData +
|
91
91
|
kHighsAnalysisLevelSolverRuntimeData + kHighsAnalysisLevelSolverTime +
|
92
|
-
kHighsAnalysisLevelNlaData + kHighsAnalysisLevelNlaTime
|
92
|
+
kHighsAnalysisLevelNlaData + kHighsAnalysisLevelNlaTime +
|
93
|
+
kHighsAnalysisLevelMipData + kHighsAnalysisLevelMipTime
|
93
94
|
};
|
94
95
|
|
95
96
|
enum class HighsVarType : uint8_t {
|
@@ -224,7 +225,8 @@ enum HighsCallbackType : int {
|
|
224
225
|
kCallbackMipInterrupt, // 6
|
225
226
|
kCallbackMipGetCutPool, // 7
|
226
227
|
kCallbackMipDefineLazyConstraints, // 8
|
227
|
-
|
228
|
+
kCallbackMipUserSolution, // 9
|
229
|
+
kCallbackMax = kCallbackMipUserSolution,
|
228
230
|
kNumCallbackType
|
229
231
|
};
|
230
232
|
|
@@ -264,6 +266,15 @@ enum PresolveRuleType : int {
|
|
264
266
|
kPresolveRuleCount,
|
265
267
|
};
|
266
268
|
|
269
|
+
enum IisStrategy {
|
270
|
+
kIisStrategyMin = 0,
|
271
|
+
kIisStrategyFromLpRowPriority = kIisStrategyMin, // 0
|
272
|
+
kIisStrategyFromLpColPriority, // 1
|
273
|
+
// kIisStrategyFromRayRowPriority, // 2
|
274
|
+
// kIisStrategyFromRayColPriority, // 3
|
275
|
+
kIisStrategyMax = kIisStrategyFromLpColPriority
|
276
|
+
};
|
277
|
+
|
267
278
|
// Default and max allowed power-of-two matrix scale factor
|
268
279
|
const HighsInt kDefaultAllowedMatrixPow2Scale = 20;
|
269
280
|
const HighsInt kMaxAllowedMatrixPow2Scale = 30;
|
@@ -278,6 +289,10 @@ const HighsInt kHighsIllegalInfeasibilityCount = -1;
|
|
278
289
|
const double kHighsIllegalErrorValue = kHighsInf;
|
279
290
|
const HighsInt kHighsIllegalErrorIndex = -1;
|
280
291
|
|
292
|
+
// Illegal values for complementarity violations used to indicate that true
|
293
|
+
// values aren't known
|
294
|
+
const double kHighsIllegalComplementarityViolation = kHighsInf;
|
295
|
+
|
281
296
|
// Maximum upper bound on semi-variables
|
282
297
|
const double kMaxSemiVariableUpper = 1e5;
|
283
298
|
|
@@ -2,9 +2,6 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
|
-
/* Leona Gottwald and Michael Feldmeier */
|
7
|
-
/* */
|
8
5
|
/* Available as open-source under the MIT License */
|
9
6
|
/* */
|
10
7
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -33,6 +30,7 @@ struct HighsSolution {
|
|
33
30
|
std::vector<double> col_dual;
|
34
31
|
std::vector<double> row_value;
|
35
32
|
std::vector<double> row_dual;
|
33
|
+
bool hasUndefined() const;
|
36
34
|
void invalidate();
|
37
35
|
void clear();
|
38
36
|
};
|
@@ -52,22 +50,36 @@ struct RefactorInfo {
|
|
52
50
|
void clear();
|
53
51
|
};
|
54
52
|
|
53
|
+
// Unused, but retained since there is a const reference to this in a
|
54
|
+
// deprecated method
|
55
55
|
struct HotStart {
|
56
56
|
bool valid = false;
|
57
57
|
RefactorInfo refactor_info;
|
58
58
|
std::vector<int8_t> nonbasicMove;
|
59
|
-
void clear();
|
60
59
|
};
|
61
60
|
|
62
61
|
struct HighsBasis {
|
62
|
+
// Logical flags for a HiGHS basis:
|
63
|
+
//
|
64
|
+
// valid: has been factored by HiGHS
|
65
|
+
//
|
66
|
+
// alien: a basis that's been set externally, so cannot be assumed
|
67
|
+
// to even have the right number of basic and nonbasic variables
|
68
|
+
//
|
69
|
+
// useful: a basis that may be useful
|
70
|
+
//
|
71
|
+
// Need useful since, by default, a basis is alien but not useful
|
63
72
|
bool valid = false;
|
64
73
|
bool alien = true;
|
74
|
+
bool useful = false;
|
65
75
|
bool was_alien = true;
|
66
76
|
HighsInt debug_id = -1;
|
67
77
|
HighsInt debug_update_count = -1;
|
68
78
|
std::string debug_origin_name = "None";
|
69
79
|
std::vector<HighsBasisStatus> col_status;
|
70
80
|
std::vector<HighsBasisStatus> row_status;
|
81
|
+
void print(std::string message = "") const;
|
82
|
+
void printScalars(std::string message = "") const;
|
71
83
|
void invalidate();
|
72
84
|
void clear();
|
73
85
|
};
|
@@ -143,4 +155,28 @@ struct HighsIllConditioning {
|
|
143
155
|
void clear();
|
144
156
|
};
|
145
157
|
|
158
|
+
struct HighsLinearObjective {
|
159
|
+
double weight;
|
160
|
+
double offset;
|
161
|
+
std::vector<double> coefficients;
|
162
|
+
double abs_tolerance;
|
163
|
+
double rel_tolerance;
|
164
|
+
HighsInt priority;
|
165
|
+
void clear();
|
166
|
+
};
|
167
|
+
|
168
|
+
struct HighsSimplexStats {
|
169
|
+
bool valid;
|
170
|
+
HighsInt iteration_count;
|
171
|
+
HighsInt num_invert;
|
172
|
+
HighsInt last_invert_num_el;
|
173
|
+
HighsInt last_factored_basis_num_el;
|
174
|
+
double col_aq_density;
|
175
|
+
double row_ep_density;
|
176
|
+
double row_ap_density;
|
177
|
+
double row_DSE_density;
|
178
|
+
void report(FILE* file, const std::string message = "") const;
|
179
|
+
void initialise(const HighsInt iteration_count_ = 0);
|
180
|
+
};
|
181
|
+
|
146
182
|
#endif /* LP_DATA_HSTRUCT_H_ */
|
@@ -2,9 +2,6 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
|
-
/* Leona Gottwald and Michael Feldmeier */
|
7
|
-
/* */
|
8
5
|
/* Available as open-source under the MIT License */
|
9
6
|
/* */
|
10
7
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -2,9 +2,6 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
|
-
/* Leona Gottwald and Michael Feldmeier */
|
7
|
-
/* */
|
8
5
|
/* Available as open-source under the MIT License */
|
9
6
|
/* */
|
10
7
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -19,6 +16,16 @@
|
|
19
16
|
#include "lp_data/HStruct.h"
|
20
17
|
#include "lp_data/HighsCallbackStruct.h"
|
21
18
|
|
19
|
+
enum userMipSolutionCallbackOrigin {
|
20
|
+
kUserMipSolutionCallbackOriginAfterSetup = 0,
|
21
|
+
kUserMipSolutionCallbackOriginBeforeDive,
|
22
|
+
kUserMipSolutionCallbackOriginEvaluateRootNode0,
|
23
|
+
kUserMipSolutionCallbackOriginEvaluateRootNode1,
|
24
|
+
kUserMipSolutionCallbackOriginEvaluateRootNode2,
|
25
|
+
kUserMipSolutionCallbackOriginEvaluateRootNode3,
|
26
|
+
kUserMipSolutionCallbackOriginEvaluateRootNode4
|
27
|
+
};
|
28
|
+
|
22
29
|
using HighsCallbackFunctionType =
|
23
30
|
std::function<void(int, const std::string&, const HighsCallbackDataOut*,
|
24
31
|
HighsCallbackDataIn*, void*)>;
|
@@ -2,9 +2,6 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
|
-
/* Leona Gottwald and Michael Feldmeier */
|
7
|
-
/* */
|
8
5
|
/* Available as open-source under the MIT License */
|
9
6
|
/* */
|
10
7
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -32,6 +29,7 @@ typedef struct {
|
|
32
29
|
HighsInt pdlp_iteration_count;
|
33
30
|
double objective_function_value;
|
34
31
|
int64_t mip_node_count;
|
32
|
+
int64_t mip_total_lp_iterations;
|
35
33
|
double mip_primal_bound;
|
36
34
|
double mip_dual_bound;
|
37
35
|
double mip_gap;
|
@@ -44,10 +42,12 @@ typedef struct {
|
|
44
42
|
double* cutpool_value;
|
45
43
|
double* cutpool_lower;
|
46
44
|
double* cutpool_upper;
|
45
|
+
HighsInt user_solution_callback_origin;
|
47
46
|
} HighsCallbackDataOut;
|
48
47
|
|
49
48
|
typedef struct {
|
50
49
|
int user_interrupt;
|
50
|
+
double* user_solution;
|
51
51
|
} HighsCallbackDataIn;
|
52
52
|
|
53
53
|
// Additional callback handling
|
@@ -2,9 +2,6 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
|
-
/* Leona Gottwald and Michael Feldmeier */
|
7
|
-
/* */
|
8
5
|
/* Available as open-source under the MIT License */
|
9
6
|
/* */
|
10
7
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -0,0 +1,62 @@
|
|
1
|
+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
2
|
+
/* */
|
3
|
+
/* This file is part of the HiGHS linear optimization suite */
|
4
|
+
/* */
|
5
|
+
/* Available as open-source under the MIT License */
|
6
|
+
/* */
|
7
|
+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
8
|
+
/**@file lp_data/HighsIis.h
|
9
|
+
* @brief Class-independent utilities for HiGHS
|
10
|
+
*/
|
11
|
+
#ifndef LP_DATA_HIGHSIIS_H_
|
12
|
+
#define LP_DATA_HIGHSIIS_H_
|
13
|
+
|
14
|
+
#include "lp_data/HighsLp.h"
|
15
|
+
|
16
|
+
const bool kIisDevReport = false;
|
17
|
+
|
18
|
+
enum IisBoundStatus {
|
19
|
+
kIisBoundStatusDropped = -1,
|
20
|
+
kIisBoundStatusNull, // 0
|
21
|
+
kIisBoundStatusFree, // 1
|
22
|
+
kIisBoundStatusLower, // 2
|
23
|
+
kIisBoundStatusUpper, // 3
|
24
|
+
kIisBoundStatusBoxed // 4
|
25
|
+
};
|
26
|
+
|
27
|
+
struct HighsIisInfo {
|
28
|
+
double simplex_time = 0;
|
29
|
+
HighsInt simplex_iterations = 0;
|
30
|
+
};
|
31
|
+
|
32
|
+
class HighsIis {
|
33
|
+
public:
|
34
|
+
HighsIis() {}
|
35
|
+
|
36
|
+
void invalidate();
|
37
|
+
std::string iisBoundStatusToString(HighsInt bound_status) const;
|
38
|
+
void report(const std::string message, const HighsLp& lp) const;
|
39
|
+
void addCol(const HighsInt col, const HighsInt status = kIisBoundStatusNull);
|
40
|
+
void addRow(const HighsInt row, const HighsInt status = kIisBoundStatusNull);
|
41
|
+
void removeCol(const HighsInt col);
|
42
|
+
void removeRow(const HighsInt row);
|
43
|
+
HighsStatus getData(const HighsLp& lp, const HighsOptions& options,
|
44
|
+
const HighsBasis& basis,
|
45
|
+
const std::vector<HighsInt>& infeasible_row);
|
46
|
+
|
47
|
+
HighsStatus compute(const HighsLp& lp, const HighsOptions& options,
|
48
|
+
const HighsBasis* basis = nullptr);
|
49
|
+
|
50
|
+
bool trivial(const HighsLp& lp, const HighsOptions& options);
|
51
|
+
|
52
|
+
// Data members
|
53
|
+
bool valid_ = false;
|
54
|
+
HighsInt strategy_ = kIisStrategyMin;
|
55
|
+
std::vector<HighsInt> col_index_;
|
56
|
+
std::vector<HighsInt> row_index_;
|
57
|
+
std::vector<HighsInt> col_bound_;
|
58
|
+
std::vector<HighsInt> row_bound_;
|
59
|
+
std::vector<HighsIisInfo> info_;
|
60
|
+
};
|
61
|
+
|
62
|
+
#endif // LP_DATA_HIGHSIIS_H_
|
@@ -2,9 +2,6 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
|
-
/* Leona Gottwald and Michael Feldmeier */
|
7
|
-
/* */
|
8
5
|
/* Available as open-source under the MIT License */
|
9
6
|
/* */
|
10
7
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -87,46 +84,6 @@ class InfoRecordDouble : public InfoRecord {
|
|
87
84
|
virtual ~InfoRecordDouble() {}
|
88
85
|
};
|
89
86
|
|
90
|
-
InfoStatus getInfoIndex(const HighsLogOptions& report_log_options,
|
91
|
-
const std::string& name,
|
92
|
-
const std::vector<InfoRecord*>& info_records,
|
93
|
-
HighsInt& index);
|
94
|
-
|
95
|
-
InfoStatus checkInfo(const HighsLogOptions& report_log_options,
|
96
|
-
const std::vector<InfoRecord*>& info_records);
|
97
|
-
InfoStatus checkInfo(const InfoRecordInt& info);
|
98
|
-
InfoStatus checkInfo(const InfoRecordDouble& info);
|
99
|
-
|
100
|
-
InfoStatus getLocalInfoValue(const HighsLogOptions& report_log_options,
|
101
|
-
const std::string& name, const bool valid,
|
102
|
-
const std::vector<InfoRecord*>& info_records,
|
103
|
-
int64_t& value);
|
104
|
-
InfoStatus getLocalInfoValue(const HighsLogOptions& report_log_options,
|
105
|
-
const std::string& name, const bool valid,
|
106
|
-
const std::vector<InfoRecord*>& info_records,
|
107
|
-
HighsInt& value);
|
108
|
-
InfoStatus getLocalInfoValue(const HighsLogOptions& report_log_options,
|
109
|
-
const std::string& name, const bool valid,
|
110
|
-
const std::vector<InfoRecord*>& info_records,
|
111
|
-
double& value);
|
112
|
-
|
113
|
-
InfoStatus getLocalInfoType(const HighsLogOptions& report_log_options,
|
114
|
-
const std::string& name,
|
115
|
-
const std::vector<InfoRecord*>& info_records,
|
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);
|
121
|
-
void reportInfo(FILE* file, const std::vector<InfoRecord*>& info_records,
|
122
|
-
const HighsFileType file_type = HighsFileType::kOther);
|
123
|
-
void reportInfo(FILE* file, const InfoRecordInt64& info,
|
124
|
-
const HighsFileType file_type = HighsFileType::kOther);
|
125
|
-
void reportInfo(FILE* file, const InfoRecordInt& info,
|
126
|
-
const HighsFileType file_type = HighsFileType::kOther);
|
127
|
-
void reportInfo(FILE* file, const InfoRecordDouble& info,
|
128
|
-
const HighsFileType file_type = HighsFileType::kOther);
|
129
|
-
|
130
87
|
// For now, but later change so HiGHS properties are string based so that new
|
131
88
|
// info (for debug and testing too) can be added easily. The info below
|
132
89
|
// are just what has been used to parse info from argv.
|
@@ -155,6 +112,7 @@ struct HighsInfoStruct {
|
|
155
112
|
double sum_dual_infeasibilities;
|
156
113
|
double max_complementarity_violation;
|
157
114
|
double sum_complementarity_violations;
|
115
|
+
double primal_dual_integral;
|
158
116
|
};
|
159
117
|
|
160
118
|
class HighsInfo : public HighsInfoStruct {
|
@@ -313,10 +271,59 @@ class HighsInfo : public HighsInfoStruct {
|
|
313
271
|
"sum_complementarity_violations", "Sum of complementarity violations",
|
314
272
|
advanced, &sum_complementarity_violations, 0);
|
315
273
|
records.push_back(record_double);
|
274
|
+
|
275
|
+
record_double =
|
276
|
+
new InfoRecordDouble("primal_dual_integral", "Primal-dual integral",
|
277
|
+
advanced, &primal_dual_integral, 0);
|
278
|
+
records.push_back(record_double);
|
316
279
|
}
|
317
280
|
|
318
281
|
public:
|
319
282
|
std::vector<InfoRecord*> records;
|
320
283
|
};
|
321
284
|
|
285
|
+
HighsStatus writeInfoToFile(
|
286
|
+
FILE* file, const bool valid, const HighsInfo& info,
|
287
|
+
const HighsFileType file_type = HighsFileType::kFull);
|
288
|
+
|
289
|
+
InfoStatus getInfoIndex(const HighsLogOptions& report_log_options,
|
290
|
+
const std::string& name,
|
291
|
+
const std::vector<InfoRecord*>& info_records,
|
292
|
+
HighsInt& index);
|
293
|
+
|
294
|
+
InfoStatus checkInfo(const HighsLogOptions& report_log_options,
|
295
|
+
const std::vector<InfoRecord*>& info_records);
|
296
|
+
InfoStatus checkInfo(const InfoRecordInt& info);
|
297
|
+
InfoStatus checkInfo(const InfoRecordDouble& info);
|
298
|
+
|
299
|
+
InfoStatus getLocalInfoValue(const HighsLogOptions& report_log_options,
|
300
|
+
const std::string& name, const bool valid,
|
301
|
+
const std::vector<InfoRecord*>& info_records,
|
302
|
+
int64_t& value);
|
303
|
+
InfoStatus getLocalInfoValue(const HighsLogOptions& report_log_options,
|
304
|
+
const std::string& name, const bool valid,
|
305
|
+
const std::vector<InfoRecord*>& info_records,
|
306
|
+
HighsInt& value);
|
307
|
+
InfoStatus getLocalInfoValue(const HighsLogOptions& report_log_options,
|
308
|
+
const std::string& name, const bool valid,
|
309
|
+
const std::vector<InfoRecord*>& info_records,
|
310
|
+
double& value);
|
311
|
+
|
312
|
+
InfoStatus getLocalInfoType(const HighsLogOptions& report_log_options,
|
313
|
+
const std::string& name,
|
314
|
+
const std::vector<InfoRecord*>& info_records,
|
315
|
+
HighsInfoType& type);
|
316
|
+
|
317
|
+
HighsStatus writeInfoToFile(
|
318
|
+
FILE* file, const bool valid, const std::vector<InfoRecord*>& info_records,
|
319
|
+
const HighsFileType file_type = HighsFileType::kFull);
|
320
|
+
void reportInfo(FILE* file, const std::vector<InfoRecord*>& info_records,
|
321
|
+
const HighsFileType file_type = HighsFileType::kFull);
|
322
|
+
void reportInfo(FILE* file, const InfoRecordInt64& info,
|
323
|
+
const HighsFileType file_type = HighsFileType::kFull);
|
324
|
+
void reportInfo(FILE* file, const InfoRecordInt& info,
|
325
|
+
const HighsFileType file_type = HighsFileType::kFull);
|
326
|
+
void reportInfo(FILE* file, const InfoRecordDouble& info,
|
327
|
+
const HighsFileType file_type = HighsFileType::kFull);
|
328
|
+
|
322
329
|
#endif
|
@@ -2,9 +2,6 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
|
-
/* Leona Gottwald and Michael Feldmeier */
|
7
|
-
/* */
|
8
5
|
/* Available as open-source under the MIT License */
|
9
6
|
/* */
|
10
7
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -2,9 +2,6 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
|
-
/* Leona Gottwald and Michael Feldmeier */
|
7
|
-
/* */
|
8
5
|
/* Available as open-source under the MIT License */
|
9
6
|
/* */
|
10
7
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -61,7 +58,9 @@ class HighsLp {
|
|
61
58
|
|
62
59
|
bool operator==(const HighsLp& lp) const;
|
63
60
|
bool equalButForNames(const HighsLp& lp) const;
|
61
|
+
bool equalButForScalingAndNames(const HighsLp& lp) const;
|
64
62
|
bool equalNames(const HighsLp& lp) const;
|
63
|
+
bool equalScaling(const HighsLp& lp) const;
|
65
64
|
bool isMip() const;
|
66
65
|
bool hasSemiVariables() const;
|
67
66
|
bool hasInfiniteCost(const double infinite_cost) const;
|
@@ -2,9 +2,6 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
|
-
/* Leona Gottwald and Michael Feldmeier */
|
7
|
-
/* */
|
8
5
|
/* Available as open-source under the MIT License */
|
9
6
|
/* */
|
10
7
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -2,9 +2,6 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
|
-
/* Leona Gottwald and Michael Feldmeier */
|
7
|
-
/* */
|
8
5
|
/* Available as open-source under the MIT License */
|
9
6
|
/* */
|
10
7
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -201,7 +198,7 @@ void getLpMatrixCoefficient(const HighsLp& lp, const HighsInt row,
|
|
201
198
|
void analyseLp(const HighsLogOptions& log_options, const HighsLp& lp);
|
202
199
|
|
203
200
|
HighsStatus readSolutionFile(const std::string filename,
|
204
|
-
const HighsOptions& options,
|
201
|
+
const HighsOptions& options, HighsLp& lp,
|
205
202
|
HighsBasis& basis, HighsSolution& solution,
|
206
203
|
const HighsInt style);
|
207
204
|
|
@@ -216,7 +213,9 @@ bool readSolutionFileKeywordLineOk(std::string& keyword,
|
|
216
213
|
std::ifstream& in_file);
|
217
214
|
bool readSolutionFileHashKeywordIntLineOk(std::string& keyword, HighsInt& value,
|
218
215
|
std::ifstream& in_file);
|
219
|
-
bool
|
216
|
+
bool readSolutionFileIdIgnoreLineOk(std::string& id, std::ifstream& in_file);
|
217
|
+
bool readSolutionFileIdDoubleLineOk(std::string& id, double& value,
|
218
|
+
std::ifstream& in_file);
|
220
219
|
bool readSolutionFileIdDoubleIntLineOk(double& value, HighsInt& index,
|
221
220
|
std::ifstream& in_file);
|
222
221
|
|
@@ -225,7 +224,8 @@ void assessColPrimalSolution(const HighsOptions& options, const double primal,
|
|
225
224
|
const HighsVarType type, double& col_infeasibility,
|
226
225
|
double& integer_infeasibility);
|
227
226
|
|
228
|
-
HighsStatus assessLpPrimalSolution(const
|
227
|
+
HighsStatus assessLpPrimalSolution(const std::string message,
|
228
|
+
const HighsOptions& options,
|
229
229
|
const HighsLp& lp,
|
230
230
|
const HighsSolution& solution, bool& valid,
|
231
231
|
bool& integral, bool& feasible);
|
@@ -263,4 +263,36 @@ HighsLp withoutSemiVariables(const HighsLp& lp, HighsSolution& solution,
|
|
263
263
|
|
264
264
|
void removeRowsOfCountOne(const HighsLogOptions& log_options, HighsLp& lp);
|
265
265
|
|
266
|
+
// Get subvectors from data structure of data0, data1, data2 and
|
267
|
+
// matrix, where the storage of the matrix is compatible with the
|
268
|
+
// vectors to be extracted from it
|
269
|
+
//
|
270
|
+
// Data to be extracted is given by sub_* being nullpointer
|
271
|
+
//
|
272
|
+
// * cost, lower and upper bounds for columns, and column-wise LP constraint
|
273
|
+
// matrix
|
274
|
+
//
|
275
|
+
// * lower and upper bounds for rows, and row-wise LP constraint
|
276
|
+
// * matrix. "cost" is nullptr, and so must be sub_vector_data0
|
277
|
+
//
|
278
|
+
void getSubVectors(const HighsIndexCollection& index_collection,
|
279
|
+
const HighsInt data_dim, const double* data0,
|
280
|
+
const double* data1, const double* data2,
|
281
|
+
const HighsSparseMatrix& matrix, HighsInt& num_sub_vector,
|
282
|
+
double* sub_vector_data0, double* sub_vector_data1,
|
283
|
+
double* sub_vector_data2, HighsInt& sub_matrix_num_nz,
|
284
|
+
HighsInt* sub_matrix_start, HighsInt* sub_matrix_index,
|
285
|
+
double* sub_matrix_value);
|
286
|
+
|
287
|
+
void getSubVectorsTranspose(const HighsIndexCollection& index_collection,
|
288
|
+
const HighsInt data_dim, const double* data0,
|
289
|
+
const double* data1, const double* data2,
|
290
|
+
const HighsSparseMatrix& matrix,
|
291
|
+
HighsInt& num_sub_vector, double* sub_vector_data0,
|
292
|
+
double* sub_vector_data1, double* sub_vector_data2,
|
293
|
+
HighsInt& sub_matrix_num_nz,
|
294
|
+
HighsInt* sub_matrix_start,
|
295
|
+
HighsInt* sub_matrix_index,
|
296
|
+
double* sub_matrix_value);
|
297
|
+
|
266
298
|
#endif // LP_DATA_HIGHSLPUTILS_H_
|
@@ -2,9 +2,6 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
|
-
/* Leona Gottwald and Michael Feldmeier */
|
7
|
-
/* */
|
8
5
|
/* Available as open-source under the MIT License */
|
9
6
|
/* */
|
10
7
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -31,29 +28,33 @@ bool hasNamesWithSpaces(const HighsLogOptions& log_options,
|
|
31
28
|
const HighsInt num_name,
|
32
29
|
const std::vector<std::string>& names);
|
33
30
|
void writeModelBoundSolution(
|
34
|
-
FILE* file, const
|
35
|
-
const
|
36
|
-
const std::vector<
|
37
|
-
const std::vector<double>& primal,
|
38
|
-
const std::vector<double>& dual,
|
39
|
-
const std::vector<HighsBasisStatus>& status,
|
31
|
+
FILE* file, const HighsLogOptions& log_options, const bool columns,
|
32
|
+
const HighsInt dim, const std::vector<double>& lower,
|
33
|
+
const std::vector<double>& upper, const std::vector<std::string>& names,
|
34
|
+
const bool have_primal, const std::vector<double>& primal,
|
35
|
+
const bool have_dual, const std::vector<double>& dual,
|
36
|
+
const bool have_basis, const std::vector<HighsBasisStatus>& status,
|
40
37
|
const HighsVarType* integrality = NULL);
|
41
38
|
|
42
|
-
void writeModelObjective(FILE* file, const
|
39
|
+
void writeModelObjective(FILE* file, const HighsLogOptions& log_options,
|
40
|
+
const HighsModel& model,
|
43
41
|
const std::vector<double>& primal_solution);
|
44
42
|
|
45
|
-
void writeLpObjective(FILE* file, const
|
43
|
+
void writeLpObjective(FILE* file, const HighsLogOptions& log_options,
|
44
|
+
const HighsLp& lp,
|
46
45
|
const std::vector<double>& primal_solution);
|
47
46
|
|
48
|
-
void writeObjectiveValue(FILE* file, const
|
47
|
+
void writeObjectiveValue(FILE* file, const HighsLogOptions& log_options,
|
48
|
+
const double objective_value);
|
49
49
|
|
50
|
-
void writePrimalSolution(FILE* file, const
|
50
|
+
void writePrimalSolution(FILE* file, const HighsLogOptions& log_options,
|
51
|
+
const HighsLp& lp,
|
51
52
|
const std::vector<double>& primal_solution,
|
52
53
|
const bool sparse = false);
|
53
54
|
|
54
|
-
void writeModelSolution(FILE* file, const
|
55
|
-
const
|
56
|
-
const bool sparse = false);
|
55
|
+
void writeModelSolution(FILE* file, const HighsLogOptions& log_options,
|
56
|
+
const HighsModel& model, const HighsSolution& solution,
|
57
|
+
const HighsInfo& info, const bool sparse = false);
|
57
58
|
|
58
59
|
HighsInt maxNameLength(const HighsInt num_name,
|
59
60
|
const std::vector<std::string>& names);
|
@@ -68,7 +69,8 @@ void writeSolutionFile(FILE* file, const HighsOptions& options,
|
|
68
69
|
const HighsModelStatus model_status,
|
69
70
|
const HighsInt style);
|
70
71
|
|
71
|
-
void writeGlpsolCostRow(FILE* file, const
|
72
|
+
void writeGlpsolCostRow(FILE* file, const HighsLogOptions& log_options,
|
73
|
+
const bool raw, const bool is_mip,
|
72
74
|
const HighsInt row_id, const std::string objective_name,
|
73
75
|
const double objective_function_value);
|
74
76
|
|
@@ -78,7 +80,8 @@ void writeGlpsolSolution(FILE* file, const HighsOptions& options,
|
|
78
80
|
const HighsModelStatus model_status,
|
79
81
|
const HighsInfo& info, const bool raw);
|
80
82
|
|
81
|
-
void writeOldRawSolution(FILE* file, const
|
83
|
+
void writeOldRawSolution(FILE* file, const HighsLogOptions& log_options,
|
84
|
+
const HighsLp& lp, const HighsBasis& basis,
|
82
85
|
const HighsSolution& solution);
|
83
86
|
|
84
87
|
HighsBasisStatus checkedVarHighsNonbasicStatus(
|