casadi 3.6.7__cp311-none-manylinux2014_x86_64.whl → 3.7.1__cp311-none-manylinux2014_x86_64.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/alpaqa/alpaqaTargets-release.cmake +4 -4
- 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 +5 -5
- casadi/cmake/highs/highs-targets-release.cmake +2 -2
- casadi/cmake/highs/highs-targets.cmake +1 -1
- casadi/cmake/libzip/libzip-config-version.cmake +48 -0
- casadi/cmake/libzip/libzip-config.cmake +69 -0
- casadi/cmake/libzip/libzip-targets-release.cmake +19 -0
- casadi/cmake/{trlib/trlib-config.cmake → libzip/libzip-targets.cmake} +7 -7
- 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/sleqp/sleqp-targets-release.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/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/sleqp/defs.h +2 -2
- 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/libCbcSolver.so +0 -0
- casadi/libCbcSolver.so.3 +0 -0
- casadi/libCbcSolver.so.3.10.11 +0 -0
- casadi/libClpSolver.so +0 -0
- casadi/libClpSolver.so.1 +0 -0
- casadi/libClpSolver.so.1.14.9 +0 -0
- 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_archiver_libzip.so +0 -0
- casadi/libcasadi_archiver_libzip.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_cplex.so +0 -0
- casadi/libcasadi_conic_cplex.so.3.7 +0 -0
- casadi/libcasadi_conic_daqp.so +0 -0
- casadi/libcasadi_conic_daqp.so.3.7 +0 -0
- casadi/libcasadi_conic_fatrop.so +0 -0
- casadi/libcasadi_conic_fatrop.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_hpipm.so +0 -0
- casadi/libcasadi_conic_hpipm.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_filesystem_ghc.so +0 -0
- casadi/libcasadi_filesystem_ghc.so.3.7 +0 -0
- casadi/libcasadi_importer_shell.so +0 -0
- casadi/libcasadi_importer_shell.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_integrator_rk.so +0 -0
- casadi/libcasadi_integrator_rk.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_csparse.so +0 -0
- casadi/libcasadi_linsol_csparse.so.3.7 +0 -0
- casadi/libcasadi_linsol_csparsecholesky.so +0 -0
- casadi/libcasadi_linsol_csparsecholesky.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_lsqr.so +0 -0
- casadi/libcasadi_linsol_lsqr.so.3.7 +0 -0
- casadi/libcasadi_linsol_ma27.so +0 -0
- casadi/libcasadi_linsol_ma27.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_linsol_tridiag.so +0 -0
- casadi/libcasadi_linsol_tridiag.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_fatrop.so +0 -0
- casadi/libcasadi_nlpsol_fatrop.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_madnlp.so +0 -0
- casadi/libcasadi_nlpsol_madnlp.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_kinsol.so +0 -0
- casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_newton.so +0 -0
- casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_nlpsol.so +0 -0
- casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
- casadi/libcasadi_sundials_common.so +0 -0
- casadi/libcasadi_sundials_common.so.3.7 +0 -0
- casadi/libcasadi_xmlfile_tinyxml.so +0 -0
- casadi/libcasadi_xmlfile_tinyxml.so.3.7 +0 -0
- casadi/libcoinmumps.so +0 -0
- casadi/libcoinmumps.so.3 +0 -0
- casadi/libcoinmumps.so.3.0.1 +0 -0
- casadi/libdaqpstat.a +0 -0
- casadi/libfatrop.so +0 -0
- casadi/libhighs.so +0 -0
- casadi/libhighs.so.1 +0 -0
- casadi/libhighs.so.1.10.0 +0 -0
- casadi/libindirect.a +0 -0
- casadi/libipopt.so +0 -0
- casadi/libipopt.so.3 +0 -0
- casadi/libipopt.so.3.14.11 +0 -0
- casadi/liblinsys.a +0 -0
- casadi/libosqp.a +0 -0
- casadi/libqdldl.a +0 -0
- casadi/libsipopt.so +0 -0
- casadi/libsipopt.so.3 +0 -0
- casadi/libsipopt.so.3.14.11 +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/libz.a +0 -0
- casadi/libz.so +0 -0
- casadi/libz.so.1 +0 -0
- casadi/libz.so.1.3.1 +0 -0
- casadi/libzip.a +0 -0
- casadi/pkgconfig/casadi.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 +400 -368
- casadi/cmake/proxsuite/find-external/Simde/FindSimde.cmake +0 -39
- casadi/cmake/proxsuite/proxsuiteConfig.cmake +0 -177
- casadi/cmake/proxsuite/proxsuiteConfigVersion.cmake +0 -70
- casadi/cmake/proxsuite/proxsuiteTargets.cmake +0 -115
- casadi/cmake/trlib/trlib-config-release.cmake +0 -19
- casadi/cmake/trlib/trlib-config-version.cmake +0 -88
- 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/lib64/cmake/tinyxml2/tinyxml2-config-version.cmake +0 -70
- casadi/lib64/cmake/tinyxml2/tinyxml2-config.cmake +0 -57
- casadi/lib64/cmake/tinyxml2/tinyxml2-static-targets-release.cmake +0 -19
- casadi/lib64/cmake/tinyxml2/tinyxml2-static-targets.cmake +0 -103
- casadi/lib64/libtinyxml2.a +0 -0
- casadi/lib64/pkgconfig/tinyxml2.pc +0 -10
- casadi/libhighs.so.1.7.2 +0 -0
- casadi/pkgconfig/proxsuite.pc +0 -22
- 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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -54,7 +51,6 @@ class OptionRecordBool : public OptionRecord {
|
|
54
51
|
OptionRecordBool(std::string Xname, std::string Xdescription, bool Xadvanced,
|
55
52
|
bool* Xvalue_pointer, bool Xdefault_value)
|
56
53
|
: OptionRecord(HighsOptionType::kBool, Xname, Xdescription, Xadvanced) {
|
57
|
-
advanced = Xadvanced;
|
58
54
|
value = Xvalue_pointer;
|
59
55
|
default_value = Xdefault_value;
|
60
56
|
*value = default_value;
|
@@ -236,22 +232,28 @@ OptionStatus getLocalOptionType(
|
|
236
232
|
void resetLocalOptions(std::vector<OptionRecord*>& option_records);
|
237
233
|
|
238
234
|
HighsStatus writeOptionsToFile(
|
239
|
-
FILE* file, const
|
235
|
+
FILE* file, const HighsLogOptions& report_log_options,
|
236
|
+
const std::vector<OptionRecord*>& option_records,
|
240
237
|
const bool report_only_deviations = false,
|
241
|
-
const HighsFileType file_type = HighsFileType::
|
242
|
-
void reportOptions(FILE* file, const
|
243
|
-
const
|
244
|
-
const
|
245
|
-
|
238
|
+
const HighsFileType file_type = HighsFileType::kFull);
|
239
|
+
void reportOptions(FILE* file, const HighsLogOptions& report_log_options,
|
240
|
+
const std::vector<OptionRecord*>& option_records,
|
241
|
+
const bool report_only_deviations = false,
|
242
|
+
const HighsFileType file_type = HighsFileType::kFull);
|
243
|
+
void reportOption(FILE* file, const HighsLogOptions& report_log_options,
|
244
|
+
const OptionRecordBool& option,
|
246
245
|
const bool report_only_deviations,
|
247
246
|
const HighsFileType file_type);
|
248
|
-
void reportOption(FILE* file, const
|
247
|
+
void reportOption(FILE* file, const HighsLogOptions& report_log_options,
|
248
|
+
const OptionRecordInt& option,
|
249
249
|
const bool report_only_deviations,
|
250
250
|
const HighsFileType file_type);
|
251
|
-
void reportOption(FILE* file, const
|
251
|
+
void reportOption(FILE* file, const HighsLogOptions& report_log_options,
|
252
|
+
const OptionRecordDouble& option,
|
252
253
|
const bool report_only_deviations,
|
253
254
|
const HighsFileType file_type);
|
254
|
-
void reportOption(FILE* file, const
|
255
|
+
void reportOption(FILE* file, const HighsLogOptions& report_log_options,
|
256
|
+
const OptionRecordString& option,
|
255
257
|
const bool report_only_deviations,
|
256
258
|
const HighsFileType file_type);
|
257
259
|
|
@@ -265,6 +267,8 @@ const HighsInt kKeepNRowsKeepRows = 1;
|
|
265
267
|
|
266
268
|
// Strings for command line options
|
267
269
|
const string kModelFileString = "model_file";
|
270
|
+
const string kReadBasisFile = "read_basis_file";
|
271
|
+
const string kWriteBasisFile = "write_basis_file";
|
268
272
|
const string kPresolveString = "presolve";
|
269
273
|
const string kSolverString = "solver";
|
270
274
|
const string kParallelString = "parallel";
|
@@ -276,6 +280,7 @@ const string kSolutionFileString = "solution_file";
|
|
276
280
|
const string kRangingString = "ranging";
|
277
281
|
const string kVersionString = "version";
|
278
282
|
const string kWriteModelFileString = "write_model_file";
|
283
|
+
const string kWritePresolvedModelFileString = "write_presolved_model_file";
|
279
284
|
const string kReadSolutionFileString = "read_solution_file";
|
280
285
|
|
281
286
|
// String for HiGHS log file option
|
@@ -301,6 +306,8 @@ struct HighsOptionsStruct {
|
|
301
306
|
double primal_feasibility_tolerance;
|
302
307
|
double dual_feasibility_tolerance;
|
303
308
|
double ipm_optimality_tolerance;
|
309
|
+
double primal_residual_tolerance;
|
310
|
+
double dual_residual_tolerance;
|
304
311
|
double objective_bound;
|
305
312
|
double objective_target;
|
306
313
|
HighsInt threads;
|
@@ -320,13 +327,16 @@ struct HighsOptionsStruct {
|
|
320
327
|
|
321
328
|
std::string log_file;
|
322
329
|
bool write_model_to_file;
|
330
|
+
bool write_presolved_model_to_file;
|
323
331
|
bool write_solution_to_file;
|
324
332
|
HighsInt write_solution_style;
|
325
333
|
HighsInt glpsol_cost_row_location;
|
334
|
+
std::string write_presolved_model_file;
|
326
335
|
|
327
336
|
// Control of HiGHS log
|
328
337
|
bool output_flag;
|
329
338
|
bool log_to_console;
|
339
|
+
bool timeless_log;
|
330
340
|
|
331
341
|
// Options for IPM solver
|
332
342
|
HighsInt ipm_iteration_limit;
|
@@ -342,6 +352,12 @@ struct HighsOptionsStruct {
|
|
342
352
|
HighsInt qp_iteration_limit;
|
343
353
|
HighsInt qp_nullspace_limit;
|
344
354
|
|
355
|
+
// Options for IIS calculation
|
356
|
+
HighsInt iis_strategy;
|
357
|
+
|
358
|
+
// Option for multi-objective optimization
|
359
|
+
bool blend_multi_objectives;
|
360
|
+
|
345
361
|
// Advanced options
|
346
362
|
HighsInt log_dev_level;
|
347
363
|
bool log_githash;
|
@@ -350,6 +366,7 @@ struct HighsOptionsStruct {
|
|
350
366
|
bool use_implied_bounds_from_presolve;
|
351
367
|
bool lp_presolve_requires_basis_postsolve;
|
352
368
|
bool mps_parser_type_free;
|
369
|
+
bool use_warm_start;
|
353
370
|
HighsInt keep_n_rows;
|
354
371
|
HighsInt cost_scale_factor;
|
355
372
|
HighsInt allowed_matrix_scale_factor;
|
@@ -366,6 +383,7 @@ struct HighsOptionsStruct {
|
|
366
383
|
HighsInt presolve_substitution_maxfillin;
|
367
384
|
HighsInt presolve_rule_off;
|
368
385
|
bool presolve_rule_logging;
|
386
|
+
bool presolve_remove_slacks;
|
369
387
|
bool simplex_initial_condition_check;
|
370
388
|
bool no_unnecessary_rebuild_refactor;
|
371
389
|
double simplex_initial_condition_tolerance;
|
@@ -401,6 +419,7 @@ struct HighsOptionsStruct {
|
|
401
419
|
bool mip_allow_restart;
|
402
420
|
HighsInt mip_max_nodes;
|
403
421
|
HighsInt mip_max_stall_nodes;
|
422
|
+
HighsInt mip_max_start_nodes;
|
404
423
|
HighsInt mip_max_leaves;
|
405
424
|
HighsInt mip_max_improving_sols;
|
406
425
|
HighsInt mip_lp_age_limit;
|
@@ -420,6 +439,8 @@ struct HighsOptionsStruct {
|
|
420
439
|
bool mip_improving_solution_save;
|
421
440
|
bool mip_improving_solution_report_sparse;
|
422
441
|
std::string mip_improving_solution_file;
|
442
|
+
bool mip_root_presolve_only;
|
443
|
+
HighsInt mip_lifting_for_probing;
|
423
444
|
|
424
445
|
// Logging callback identifiers
|
425
446
|
HighsLogOptions log_options;
|
@@ -442,6 +463,8 @@ struct HighsOptionsStruct {
|
|
442
463
|
primal_feasibility_tolerance(0.0),
|
443
464
|
dual_feasibility_tolerance(0.0),
|
444
465
|
ipm_optimality_tolerance(0.0),
|
466
|
+
primal_residual_tolerance(0.0),
|
467
|
+
dual_residual_tolerance(0.0),
|
445
468
|
objective_bound(0.0),
|
446
469
|
objective_target(0.0),
|
447
470
|
threads(0),
|
@@ -460,11 +483,14 @@ struct HighsOptionsStruct {
|
|
460
483
|
simplex_max_concurrency(0),
|
461
484
|
log_file(""),
|
462
485
|
write_model_to_file(false),
|
486
|
+
write_presolved_model_to_file(false),
|
463
487
|
write_solution_to_file(false),
|
464
488
|
write_solution_style(0),
|
465
489
|
glpsol_cost_row_location(0),
|
490
|
+
write_presolved_model_file(""),
|
466
491
|
output_flag(false),
|
467
492
|
log_to_console(false),
|
493
|
+
timeless_log(false),
|
468
494
|
ipm_iteration_limit(0),
|
469
495
|
pdlp_native_termination(false),
|
470
496
|
pdlp_scaling(false),
|
@@ -473,6 +499,8 @@ struct HighsOptionsStruct {
|
|
473
499
|
pdlp_d_gap_tol(0.0),
|
474
500
|
qp_iteration_limit(0),
|
475
501
|
qp_nullspace_limit(0),
|
502
|
+
iis_strategy(0),
|
503
|
+
blend_multi_objectives(false),
|
476
504
|
log_dev_level(0),
|
477
505
|
log_githash(false),
|
478
506
|
solve_relaxation(false),
|
@@ -480,6 +508,7 @@ struct HighsOptionsStruct {
|
|
480
508
|
use_implied_bounds_from_presolve(false),
|
481
509
|
lp_presolve_requires_basis_postsolve(false),
|
482
510
|
mps_parser_type_free(false),
|
511
|
+
use_warm_start(true),
|
483
512
|
keep_n_rows(0),
|
484
513
|
cost_scale_factor(0),
|
485
514
|
allowed_matrix_scale_factor(0),
|
@@ -496,6 +525,7 @@ struct HighsOptionsStruct {
|
|
496
525
|
presolve_substitution_maxfillin(0),
|
497
526
|
presolve_rule_off(0),
|
498
527
|
presolve_rule_logging(false),
|
528
|
+
presolve_remove_slacks(false),
|
499
529
|
simplex_initial_condition_check(false),
|
500
530
|
no_unnecessary_rebuild_refactor(false),
|
501
531
|
simplex_initial_condition_tolerance(0.0),
|
@@ -527,6 +557,7 @@ struct HighsOptionsStruct {
|
|
527
557
|
mip_allow_restart(false),
|
528
558
|
mip_max_nodes(0),
|
529
559
|
mip_max_stall_nodes(0),
|
560
|
+
mip_max_start_nodes(0),
|
530
561
|
mip_max_leaves(0),
|
531
562
|
mip_max_improving_sols(0),
|
532
563
|
mip_lp_age_limit(0),
|
@@ -545,7 +576,11 @@ struct HighsOptionsStruct {
|
|
545
576
|
#endif
|
546
577
|
mip_improving_solution_save(false),
|
547
578
|
mip_improving_solution_report_sparse(false),
|
548
|
-
|
579
|
+
// clang-format off
|
580
|
+
mip_improving_solution_file(""),
|
581
|
+
mip_root_presolve_only(false),
|
582
|
+
mip_lifting_for_probing(-1) {};
|
583
|
+
// clang-format on
|
549
584
|
};
|
550
585
|
|
551
586
|
// For now, but later change so HiGHS properties are string based so that new
|
@@ -687,6 +722,16 @@ class HighsOptions : public HighsOptionsStruct {
|
|
687
722
|
&ipm_optimality_tolerance, 1e-12, 1e-8, kHighsInf);
|
688
723
|
records.push_back(record_double);
|
689
724
|
|
725
|
+
record_double = new OptionRecordDouble(
|
726
|
+
"primal_residual_tolerance", "Primal residual tolerance", advanced,
|
727
|
+
&primal_residual_tolerance, 1e-10, 1e-7, kHighsInf);
|
728
|
+
records.push_back(record_double);
|
729
|
+
|
730
|
+
record_double = new OptionRecordDouble(
|
731
|
+
"dual_residual_tolerance", "Dual residual tolerance", advanced,
|
732
|
+
&dual_residual_tolerance, 1e-10, 1e-7, kHighsInf);
|
733
|
+
records.push_back(record_double);
|
734
|
+
|
690
735
|
record_double = new OptionRecordDouble(
|
691
736
|
"objective_bound",
|
692
737
|
"Objective bound for termination of the dual simplex solver", advanced,
|
@@ -728,14 +773,15 @@ class HighsOptions : public HighsOptionsStruct {
|
|
728
773
|
|
729
774
|
record_int = new OptionRecordInt(
|
730
775
|
"highs_analysis_level", "Analysis level in HiGHS", now_advanced,
|
731
|
-
&highs_analysis_level, kHighsAnalysisLevelMin,
|
776
|
+
&highs_analysis_level, kHighsAnalysisLevelMin,
|
777
|
+
kHighsAnalysisLevelMin, // kHighsAnalysisLevelMipTime, //
|
732
778
|
kHighsAnalysisLevelMax);
|
733
779
|
records.push_back(record_int);
|
734
780
|
|
735
781
|
record_int = new OptionRecordInt(
|
736
782
|
"simplex_strategy",
|
737
783
|
"Strategy for simplex solver 0 => Choose; 1 => Dual (serial); 2 => "
|
738
|
-
"Dual (
|
784
|
+
"Dual (SIP); 3 => Dual (PAMI); 4 => Primal",
|
739
785
|
advanced, &simplex_strategy, kSimplexStrategyMin, kSimplexStrategyDual,
|
740
786
|
kSimplexStrategyMax);
|
741
787
|
records.push_back(record_int);
|
@@ -811,6 +857,11 @@ class HighsOptions : public HighsOptionsStruct {
|
|
811
857
|
advanced, &log_to_console, true);
|
812
858
|
records.push_back(record_bool);
|
813
859
|
|
860
|
+
record_bool = new OptionRecordBool(
|
861
|
+
"timeless_log", "Suppression of time-based data in logging", true,
|
862
|
+
&timeless_log, false);
|
863
|
+
records.push_back(record_bool);
|
864
|
+
|
814
865
|
record_string =
|
815
866
|
new OptionRecordString(kSolutionFileString, "Solution file", advanced,
|
816
867
|
&solution_file, kHighsFilenameDefault);
|
@@ -896,6 +947,16 @@ class HighsOptions : public HighsOptionsStruct {
|
|
896
947
|
advanced, &write_model_to_file, false);
|
897
948
|
records.push_back(record_bool);
|
898
949
|
|
950
|
+
record_string = new OptionRecordString(
|
951
|
+
kWritePresolvedModelFileString, "Write presolved model file", advanced,
|
952
|
+
&write_presolved_model_file, kHighsFilenameDefault);
|
953
|
+
records.push_back(record_string);
|
954
|
+
|
955
|
+
record_bool = new OptionRecordBool(
|
956
|
+
"write_presolved_model_to_file", "Write the presolved model to a file",
|
957
|
+
advanced, &write_presolved_model_to_file, false);
|
958
|
+
records.push_back(record_bool);
|
959
|
+
|
899
960
|
record_bool = new OptionRecordBool(
|
900
961
|
"mip_detect_symmetry", "Whether MIP symmetry should be detected",
|
901
962
|
advanced, &mip_detect_symmetry, true);
|
@@ -916,6 +977,13 @@ class HighsOptions : public HighsOptionsStruct {
|
|
916
977
|
"MIP solver max number of nodes where estimate is above cutoff bound",
|
917
978
|
advanced, &mip_max_stall_nodes, 0, kHighsIInf, kHighsIInf);
|
918
979
|
records.push_back(record_int);
|
980
|
+
|
981
|
+
record_int = new OptionRecordInt(
|
982
|
+
"mip_max_start_nodes",
|
983
|
+
"MIP solver max number of nodes when completing a partial MIP start",
|
984
|
+
advanced, &mip_max_start_nodes, 0, 500, kHighsIInf);
|
985
|
+
records.push_back(record_int);
|
986
|
+
|
919
987
|
#ifdef HIGHS_DEBUGSOL
|
920
988
|
record_string = new OptionRecordString(
|
921
989
|
"mip_debug_solution_file",
|
@@ -943,8 +1011,19 @@ class HighsOptions : public HighsOptionsStruct {
|
|
943
1011
|
advanced, &mip_improving_solution_file, kHighsFilenameDefault);
|
944
1012
|
records.push_back(record_string);
|
945
1013
|
|
1014
|
+
record_bool = new OptionRecordBool(
|
1015
|
+
"mip_root_presolve_only",
|
1016
|
+
"Whether MIP presolve is only applied at the root node", advanced,
|
1017
|
+
&mip_root_presolve_only, false);
|
1018
|
+
records.push_back(record_bool);
|
1019
|
+
|
946
1020
|
record_int = new OptionRecordInt(
|
947
|
-
"
|
1021
|
+
"mip_lifting_for_probing", "Level of lifting for probing that is used",
|
1022
|
+
advanced, &mip_lifting_for_probing, -1, -1, kHighsIInf);
|
1023
|
+
records.push_back(record_int);
|
1024
|
+
|
1025
|
+
record_int = new OptionRecordInt(
|
1026
|
+
"mip_max_leaves", "MIP solver max number of leaf nodes", advanced,
|
948
1027
|
&mip_max_leaves, 0, kHighsIInf, kHighsIInf);
|
949
1028
|
records.push_back(record_int);
|
950
1029
|
|
@@ -1069,17 +1148,40 @@ class HighsOptions : public HighsOptionsStruct {
|
|
1069
1148
|
&qp_nullspace_limit, 0, 4000, kHighsIInf);
|
1070
1149
|
records.push_back(record_int);
|
1071
1150
|
|
1151
|
+
record_int = new OptionRecordInt(
|
1152
|
+
"iis_strategy",
|
1153
|
+
"Strategy for IIS calculation: "
|
1154
|
+
// "Use LP and p"
|
1155
|
+
"Prioritise rows (default) / "
|
1156
|
+
// "Use LP and p"
|
1157
|
+
"Prioritise columns"
|
1158
|
+
// "Use unbounded dual ray and prioritise low number of rows
|
1159
|
+
// (default) / " "Use ray and prioritise low numbers of columns "
|
1160
|
+
" (0/1"
|
1161
|
+
// "/2/3)",
|
1162
|
+
")",
|
1163
|
+
advanced, &iis_strategy, kIisStrategyMin, kIisStrategyFromLpRowPriority,
|
1164
|
+
kIisStrategyMax);
|
1165
|
+
records.push_back(record_int);
|
1166
|
+
|
1167
|
+
record_bool = new OptionRecordBool(
|
1168
|
+
"blend_multi_objectives",
|
1169
|
+
"Blend multiple objectives or apply lexicographically: Default = true",
|
1170
|
+
advanced, &blend_multi_objectives, true);
|
1171
|
+
records.push_back(record_bool);
|
1172
|
+
|
1072
1173
|
// Fix the number of user settable options
|
1073
1174
|
num_user_settable_options_ = static_cast<HighsInt>(records.size());
|
1074
1175
|
|
1075
1176
|
// Advanced options
|
1076
1177
|
advanced = true;
|
1077
1178
|
|
1078
|
-
record_int =
|
1079
|
-
"log_dev_level",
|
1080
|
-
|
1081
|
-
|
1082
|
-
|
1179
|
+
record_int =
|
1180
|
+
new OptionRecordInt("log_dev_level",
|
1181
|
+
"Output development messages: 0 => none; 1 => "
|
1182
|
+
"info; 2 => detailed; 3 => verbose",
|
1183
|
+
advanced, &log_dev_level, kHighsLogDevLevelMin,
|
1184
|
+
kHighsLogDevLevelNone, kHighsLogDevLevelMax);
|
1083
1185
|
records.push_back(record_int);
|
1084
1186
|
|
1085
1187
|
record_bool = new OptionRecordBool("log_githash", "Log the githash",
|
@@ -1115,6 +1217,11 @@ class HighsOptions : public HighsOptionsStruct {
|
|
1115
1217
|
advanced, &mps_parser_type_free, true);
|
1116
1218
|
records.push_back(record_bool);
|
1117
1219
|
|
1220
|
+
record_bool = new OptionRecordBool("use_warm_start",
|
1221
|
+
"Use any warm start that is available",
|
1222
|
+
advanced, &use_warm_start, true);
|
1223
|
+
records.push_back(record_bool);
|
1224
|
+
|
1118
1225
|
record_int =
|
1119
1226
|
new OptionRecordInt("keep_n_rows",
|
1120
1227
|
"For multiple N-rows in MPS files: delete rows / "
|
@@ -1275,6 +1382,11 @@ class HighsOptions : public HighsOptionsStruct {
|
|
1275
1382
|
advanced, &presolve_rule_logging, false);
|
1276
1383
|
records.push_back(record_bool);
|
1277
1384
|
|
1385
|
+
record_bool = new OptionRecordBool("presolve_remove_slacks",
|
1386
|
+
"Remove slacks after presolve", advanced,
|
1387
|
+
&presolve_remove_slacks, false);
|
1388
|
+
records.push_back(record_bool);
|
1389
|
+
|
1278
1390
|
record_int = new OptionRecordInt(
|
1279
1391
|
"presolve_substitution_maxfillin",
|
1280
1392
|
"Maximal fillin allowed for substitutions in presolve", advanced,
|
@@ -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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -95,6 +92,14 @@ bool getVariableKktFailures(const double primal_feasibility_tolerance,
|
|
95
92
|
double& relative_primal_infeasibility,
|
96
93
|
double& dual_infeasibility, double& value_residual);
|
97
94
|
|
95
|
+
bool getComplementarityViolations(const HighsLp& lp,
|
96
|
+
const HighsSolution& solution,
|
97
|
+
double& max_complementarity_violation,
|
98
|
+
double& sum_complementarity_violations);
|
99
|
+
|
100
|
+
bool computeDualObjectiveValue(const HighsLp& lp, const HighsSolution& solution,
|
101
|
+
double& dual_objective_value);
|
102
|
+
|
98
103
|
double computeObjectiveValue(const HighsLp& lp, const HighsSolution& solution);
|
99
104
|
|
100
105
|
void refineBasis(const HighsLp& lp, const HighsSolution& solution,
|
@@ -123,6 +128,8 @@ HighsStatus formSimplexLpBasisAndFactor(
|
|
123
128
|
|
124
129
|
void accommodateAlienBasis(HighsLpSolverObject& solver_object);
|
125
130
|
|
131
|
+
void correctResiduals(HighsLpSolverObject& solver_object);
|
132
|
+
|
126
133
|
void resetModelStatusAndHighsInfo(HighsLpSolverObject& solver_object);
|
127
134
|
void resetModelStatusAndHighsInfo(HighsModelStatus& model_status,
|
128
135
|
HighsInfo& highs_info);
|
@@ -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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -285,6 +282,9 @@ class HighsCliqueTable {
|
|
285
282
|
const std::vector<double>& sol, const HighsDomain& globaldom,
|
286
283
|
double feastol);
|
287
284
|
|
285
|
+
std::vector<std::vector<CliqueVar>> computeMaximalCliques(
|
286
|
+
const std::vector<CliqueVar>& vars, double feastol);
|
287
|
+
|
288
288
|
void cleanupFixed(HighsDomain& globaldom);
|
289
289
|
|
290
290
|
void addImplications(HighsDomain& domain, HighsInt col, HighsInt val);
|
@@ -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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -73,6 +70,19 @@ class HighsCutGeneration {
|
|
73
70
|
bool preprocessBaseInequality(bool& hasUnboundedInts, bool& hasGeneralInts,
|
74
71
|
bool& hasContinuous);
|
75
72
|
|
73
|
+
void flipComplementation(HighsInt index);
|
74
|
+
|
75
|
+
void removeComplementation();
|
76
|
+
|
77
|
+
void updateViolationAndNorm(HighsInt index, double aj, double& violation,
|
78
|
+
double& norm) const;
|
79
|
+
|
80
|
+
bool tryGenerateCut(std::vector<HighsInt>& inds, std::vector<double>& vals,
|
81
|
+
bool hasUnboundedInts, bool hasGeneralInts,
|
82
|
+
bool hasContinuous, double minEfficacy,
|
83
|
+
bool onlyInitialCMIRScale = false,
|
84
|
+
bool allowRejectCut = true, bool lpSol = true);
|
85
|
+
|
76
86
|
public:
|
77
87
|
HighsCutGeneration(const HighsLpRelaxation& lpRelaxation,
|
78
88
|
HighsCutPool& cutpool);
|
@@ -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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -311,7 +308,7 @@ class HighsDomain {
|
|
311
308
|
std::deque<CutpoolPropagation> cutpoolpropagation;
|
312
309
|
std::deque<ConflictPoolPropagation> conflictPoolPropagation;
|
313
310
|
|
314
|
-
bool infeasible_ =
|
311
|
+
bool infeasible_ = false;
|
315
312
|
Reason infeasible_reason;
|
316
313
|
HighsInt infeasible_pos;
|
317
314
|
|
@@ -327,11 +324,16 @@ class HighsDomain {
|
|
327
324
|
|
328
325
|
void recomputeCapacityThreshold(HighsInt row);
|
329
326
|
|
327
|
+
void updateRedundantRows(HighsInt row, HighsInt direction, HighsInt numInf,
|
328
|
+
HighsCDouble activity, double bound);
|
329
|
+
|
330
330
|
double doChangeBound(const HighsDomainChange& boundchg);
|
331
331
|
|
332
332
|
std::vector<HighsInt> colLowerPos_;
|
333
333
|
std::vector<HighsInt> colUpperPos_;
|
334
334
|
std::vector<HighsInt> branchPos_;
|
335
|
+
HighsHashTable<HighsInt> redundantRows_;
|
336
|
+
bool recordRedundantRows_ = false;
|
335
337
|
|
336
338
|
public:
|
337
339
|
std::vector<double> col_lower_;
|
@@ -636,6 +638,16 @@ class HighsDomain {
|
|
636
638
|
HighsInt numModelNonzeros() const { return mipsolver->numNonzero(); }
|
637
639
|
|
638
640
|
bool inSubmip() const { return mipsolver->submip; }
|
641
|
+
|
642
|
+
void clearRedundantRows() { redundantRows_.clear(); };
|
643
|
+
|
644
|
+
const HighsHashTable<HighsInt>& getRedundantRows() const {
|
645
|
+
return redundantRows_;
|
646
|
+
};
|
647
|
+
|
648
|
+
double getRedundantRowValue(HighsInt row) const;
|
649
|
+
|
650
|
+
void setRecordRedundantRows(bool val) { recordRedundantRows_ = val; };
|
639
651
|
};
|
640
652
|
|
641
653
|
#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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -317,7 +314,7 @@ class HighsGFkSolve {
|
|
317
314
|
|
318
315
|
// check if a solution exists by scanning the linearly dependent rows for
|
319
316
|
// nonzero right hand sides
|
320
|
-
bool hasSolution
|
317
|
+
std::array<bool, kNumRhs> hasSolution;
|
321
318
|
HighsInt numRhsWithSolution = 0;
|
322
319
|
for (int rhsIndex = 0; rhsIndex < kNumRhs; ++rhsIndex) {
|
323
320
|
hasSolution[rhsIndex] = true;
|
@@ -341,7 +338,7 @@ class HighsGFkSolve {
|
|
341
338
|
// now iterate a subset of the basic solutions.
|
342
339
|
// When a column leaves the basis we do not allow it to enter again so that
|
343
340
|
// we iterate at most one solution for each nonbasic column
|
344
|
-
std::vector<SolutionEntry> solution
|
341
|
+
std::array<std::vector<SolutionEntry>, kNumRhs> solution;
|
345
342
|
for (int rhsIndex = 0; rhsIndex < kNumRhs; ++rhsIndex)
|
346
343
|
if (hasSolution[rhsIndex]) solution[rhsIndex].reserve(numCol);
|
347
344
|
|
@@ -384,7 +381,7 @@ class HighsGFkSolve {
|
|
384
381
|
for (HighsInt i = numFactorRows - 1; i >= 0; --i) {
|
385
382
|
HighsInt row = factorRowPerm[i];
|
386
383
|
|
387
|
-
unsigned int solval
|
384
|
+
std::array<unsigned int, kNumRhs> solval;
|
388
385
|
|
389
386
|
for (int rhsIndex = 0; rhsIndex < kNumRhs; ++rhsIndex) {
|
390
387
|
if (!hasSolution[rhsIndex]) continue;
|