casadi 3.6.7__cp37-none-manylinux2014_x86_64.whl → 3.7.1__cp37-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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -40,8 +37,14 @@ class HighsImplications {
|
|
40
37
|
double coef;
|
41
38
|
double constant;
|
42
39
|
|
43
|
-
double minValue() const {
|
44
|
-
|
40
|
+
double minValue() const {
|
41
|
+
return static_cast<double>(static_cast<HighsCDouble>(constant) +
|
42
|
+
std::min(coef, 0.0));
|
43
|
+
}
|
44
|
+
double maxValue() const {
|
45
|
+
return static_cast<double>(static_cast<HighsCDouble>(constant) +
|
46
|
+
std::max(coef, 0.0));
|
47
|
+
}
|
45
48
|
};
|
46
49
|
|
47
50
|
private:
|
@@ -62,6 +65,9 @@ class HighsImplications {
|
|
62
65
|
numImplications = 0;
|
63
66
|
}
|
64
67
|
|
68
|
+
std::function<void(HighsInt, HighsInt, HighsInt, double)>
|
69
|
+
storeLiftingOpportunity;
|
70
|
+
|
65
71
|
void reset() {
|
66
72
|
colsubstituted.clear();
|
67
73
|
colsubstituted.shrink_to_fit();
|
@@ -109,6 +115,7 @@ class HighsImplications {
|
|
109
115
|
double vlbconstant);
|
110
116
|
|
111
117
|
void columnTransformed(HighsInt col, double scale, double constant) {
|
118
|
+
// Update variable bounds affected by transformation
|
112
119
|
if (scale < 0) std::swap(vubs[col], vlbs[col]);
|
113
120
|
|
114
121
|
auto transformVbd = [&](HighsInt, VarBound& vbd) {
|
@@ -119,6 +126,15 @@ class HighsImplications {
|
|
119
126
|
|
120
127
|
vlbs[col].for_each(transformVbd);
|
121
128
|
vubs[col].for_each(transformVbd);
|
129
|
+
|
130
|
+
// Update substitutions affected by transformation
|
131
|
+
for (auto& substitution : substitutions) {
|
132
|
+
if (substitution.substcol == col) {
|
133
|
+
substitution.offset -= constant;
|
134
|
+
substitution.offset /= scale;
|
135
|
+
substitution.scale /= scale;
|
136
|
+
}
|
137
|
+
}
|
122
138
|
}
|
123
139
|
|
124
140
|
std::pair<HighsInt, VarBound> getBestVub(HighsInt col,
|
@@ -141,6 +157,14 @@ class HighsImplications {
|
|
141
157
|
HighsCutPool& cutpool, double feastol);
|
142
158
|
|
143
159
|
void cleanupVarbounds(HighsInt col);
|
160
|
+
|
161
|
+
void cleanupVlb(HighsInt col, HighsInt vlbCol,
|
162
|
+
HighsImplications::VarBound& vlb, double lb, bool& redundant,
|
163
|
+
bool& infeasible, bool allowBoundChanges = true) const;
|
164
|
+
|
165
|
+
void cleanupVub(HighsInt col, HighsInt vubCol,
|
166
|
+
HighsImplications::VarBound& vub, double ub, bool& redundant,
|
167
|
+
bool& infeasible, bool allowBoundChanges = true) const;
|
144
168
|
};
|
145
169
|
|
146
170
|
#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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -0,0 +1,52 @@
|
|
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 mip/HighsMipAnalysis.h
|
9
|
+
* @brief Analyse MIP iterations, both for run-time control and data
|
10
|
+
* gathering
|
11
|
+
*/
|
12
|
+
#ifndef MIP_HIGHSMIPANALYSIS_H_
|
13
|
+
#define MIP_HIGHSMIPANALYSIS_H_
|
14
|
+
|
15
|
+
#include "lp_data/HighsAnalysis.h"
|
16
|
+
#include "lp_data/HighsLp.h"
|
17
|
+
#include "util/HighsTimer.h"
|
18
|
+
|
19
|
+
class HighsMipAnalysis {
|
20
|
+
public:
|
21
|
+
HighsMipAnalysis() : timer_(nullptr), analyse_mip_time(false) {}
|
22
|
+
|
23
|
+
HighsTimer* timer_;
|
24
|
+
void setup(const HighsLp& lp, const HighsOptions& options);
|
25
|
+
|
26
|
+
void setupMipTime(const HighsOptions& options);
|
27
|
+
void mipTimerStart(const HighsInt mip_clock = 0
|
28
|
+
// , const HighsInt thread_id = 0
|
29
|
+
) const;
|
30
|
+
void mipTimerStop(const HighsInt mip_clock = 0
|
31
|
+
// , const HighsInt thread_id = 0
|
32
|
+
) const;
|
33
|
+
bool mipTimerRunning(const HighsInt mip_clock = 0
|
34
|
+
// , const HighsInt thread_id = 0
|
35
|
+
) const;
|
36
|
+
double mipTimerRead(const HighsInt mip_clock = 0
|
37
|
+
// , const HighsInt thread_id = 0
|
38
|
+
) const;
|
39
|
+
HighsInt mipTimerNumCall(const HighsInt mip_clock = 0
|
40
|
+
// , const HighsInt thread_id
|
41
|
+
) const;
|
42
|
+
void reportMipSolveLpClock(const bool header);
|
43
|
+
void reportMipTimer();
|
44
|
+
|
45
|
+
std::string model_name;
|
46
|
+
HighsTimerClock mip_clocks;
|
47
|
+
bool analyse_mip_time;
|
48
|
+
std::vector<double> dive_time;
|
49
|
+
std::vector<double> node_search_time;
|
50
|
+
};
|
51
|
+
|
52
|
+
#endif /* MIP_HIGHSMIPANALYSIS_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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -14,6 +11,7 @@
|
|
14
11
|
#include "Highs.h"
|
15
12
|
#include "lp_data/HighsCallback.h"
|
16
13
|
#include "lp_data/HighsOptions.h"
|
14
|
+
#include "mip/HighsMipAnalysis.h"
|
17
15
|
|
18
16
|
struct HighsMipSolverData;
|
19
17
|
class HighsCutPool;
|
@@ -40,11 +38,14 @@ class HighsMipSolver {
|
|
40
38
|
double gap_;
|
41
39
|
int64_t node_count_;
|
42
40
|
int64_t total_lp_iterations_;
|
41
|
+
double primal_dual_integral_;
|
43
42
|
|
44
43
|
FILE* improving_solution_file_;
|
45
44
|
std::vector<HighsObjectiveSolution> saved_objective_and_solution_;
|
46
45
|
|
47
46
|
bool submip;
|
47
|
+
HighsInt submip_level;
|
48
|
+
HighsInt max_submip_level;
|
48
49
|
const HighsBasis* rootbasis;
|
49
50
|
const HighsPseudocostInitialization* pscostinit;
|
50
51
|
const HighsCliqueTable* clqtableinit;
|
@@ -52,6 +53,8 @@ class HighsMipSolver {
|
|
52
53
|
|
53
54
|
std::unique_ptr<HighsMipSolverData> mipdata_;
|
54
55
|
|
56
|
+
HighsMipAnalysis analysis_;
|
57
|
+
|
55
58
|
void run();
|
56
59
|
|
57
60
|
HighsInt numCol() const { return model_->num_col_; }
|
@@ -82,7 +85,7 @@ class HighsMipSolver {
|
|
82
85
|
|
83
86
|
HighsMipSolver(HighsCallback& callback, const HighsOptions& options,
|
84
87
|
const HighsLp& lp, const HighsSolution& solution,
|
85
|
-
bool submip = false);
|
88
|
+
bool submip = false, HighsInt submip_level = 0);
|
86
89
|
|
87
90
|
~HighsMipSolver();
|
88
91
|
|
@@ -100,6 +103,10 @@ class HighsMipSolver {
|
|
100
103
|
presolve::HighsPostsolveStack getPostsolveStack() const;
|
101
104
|
|
102
105
|
void callbackGetCutPool() const;
|
106
|
+
bool solutionFeasible(const HighsLp* lp, const std::vector<double>& col_value,
|
107
|
+
const std::vector<double>* pass_row_value,
|
108
|
+
double& bound_violation, double& row_violation,
|
109
|
+
double& integrality_violation, HighsCDouble& obj);
|
103
110
|
};
|
104
111
|
|
105
112
|
#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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -33,6 +30,38 @@
|
|
33
30
|
#include "presolve/HighsSymmetry.h"
|
34
31
|
#include "util/HighsTimer.h"
|
35
32
|
|
33
|
+
struct HighsPrimaDualIntegral {
|
34
|
+
double value;
|
35
|
+
double prev_lb;
|
36
|
+
double prev_ub;
|
37
|
+
double prev_gap;
|
38
|
+
double prev_time;
|
39
|
+
void initialise();
|
40
|
+
};
|
41
|
+
|
42
|
+
enum MipSolutionSource : int {
|
43
|
+
kSolutionSourceNone = -1,
|
44
|
+
kSolutionSourceMin = kSolutionSourceNone,
|
45
|
+
kSolutionSourceBranching,
|
46
|
+
kSolutionSourceCentralRounding,
|
47
|
+
kSolutionSourceFeasibilityPump,
|
48
|
+
kSolutionSourceHeuristic,
|
49
|
+
// kSolutionSourceInitial,
|
50
|
+
kSolutionSourceSubMip,
|
51
|
+
kSolutionSourceEmptyMip,
|
52
|
+
kSolutionSourceRandomizedRounding,
|
53
|
+
kSolutionSourceSolveLp,
|
54
|
+
kSolutionSourceEvaluateNode,
|
55
|
+
kSolutionSourceUnbounded,
|
56
|
+
kSolutionSourceTrivialZ,
|
57
|
+
kSolutionSourceTrivialL,
|
58
|
+
kSolutionSourceTrivialU,
|
59
|
+
kSolutionSourceTrivialP,
|
60
|
+
kSolutionSourceUserSolution,
|
61
|
+
kSolutionSourceCleanup,
|
62
|
+
kSolutionSourceCount
|
63
|
+
};
|
64
|
+
|
36
65
|
struct HighsMipSolverData {
|
37
66
|
HighsMipSolver& mipsolver;
|
38
67
|
HighsCutPool cutpool;
|
@@ -88,12 +117,16 @@ struct HighsMipSolverData {
|
|
88
117
|
|
89
118
|
HighsCDouble pruned_treeweight;
|
90
119
|
double avgrootlpiters;
|
120
|
+
double disptime;
|
91
121
|
double last_disptime;
|
92
122
|
int64_t firstrootlpiters;
|
93
123
|
int64_t num_nodes;
|
94
124
|
int64_t num_leaves;
|
95
125
|
int64_t num_leaves_before_run;
|
96
126
|
int64_t num_nodes_before_run;
|
127
|
+
int64_t total_repair_lp;
|
128
|
+
int64_t total_repair_lp_feasible;
|
129
|
+
int64_t total_repair_lp_iterations;
|
97
130
|
int64_t total_lp_iterations;
|
98
131
|
int64_t heuristic_lp_iterations;
|
99
132
|
int64_t sepa_lp_iterations;
|
@@ -113,6 +146,8 @@ struct HighsMipSolverData {
|
|
113
146
|
|
114
147
|
HighsNodeQueue nodequeue;
|
115
148
|
|
149
|
+
HighsPrimaDualIntegral primal_dual_integral;
|
150
|
+
|
116
151
|
HighsDebugSol debugSolution;
|
117
152
|
|
118
153
|
HighsMipSolverData(HighsMipSolver& mipsolver)
|
@@ -148,12 +183,16 @@ struct HighsMipSolverData {
|
|
148
183
|
maxTreeSizeLog2(0),
|
149
184
|
pruned_treeweight(0),
|
150
185
|
avgrootlpiters(0.0),
|
186
|
+
disptime(0.0),
|
151
187
|
last_disptime(0.0),
|
152
188
|
firstrootlpiters(0),
|
153
189
|
num_nodes(0),
|
154
190
|
num_leaves(0),
|
155
191
|
num_leaves_before_run(0),
|
156
192
|
num_nodes_before_run(0),
|
193
|
+
total_repair_lp(0),
|
194
|
+
total_repair_lp_feasible(0),
|
195
|
+
total_repair_lp_iterations(0),
|
157
196
|
total_lp_iterations(0),
|
158
197
|
heuristic_lp_iterations(0),
|
159
198
|
sepa_lp_iterations(0),
|
@@ -173,6 +212,9 @@ struct HighsMipSolverData {
|
|
173
212
|
domain.addConflictPool(conflictPool);
|
174
213
|
}
|
175
214
|
|
215
|
+
bool solutionRowFeasible(const std::vector<double>& solution) const;
|
216
|
+
HighsModelStatus trivialHeuristics();
|
217
|
+
|
176
218
|
void startAnalyticCenterComputation(
|
177
219
|
const highs::parallel::TaskGroup& taskGroup);
|
178
220
|
void finishAnalyticCenterComputation(
|
@@ -189,6 +231,15 @@ struct HighsMipSolverData {
|
|
189
231
|
void finishSymmetryDetection(const highs::parallel::TaskGroup& taskGroup,
|
190
232
|
std::unique_ptr<SymmetryDetectionData>& symData);
|
191
233
|
|
234
|
+
void updatePrimalDualIntegral(const double from_lower_bound,
|
235
|
+
const double to_lower_bound,
|
236
|
+
const double from_upper_bound,
|
237
|
+
const double to_upper_bound,
|
238
|
+
const bool check_bound_change = true,
|
239
|
+
const bool check_prev_data = true);
|
240
|
+
double limitsToGap(const double use_lower_bound, const double use_upper_bound,
|
241
|
+
double& lb, double& ub) const;
|
242
|
+
|
192
243
|
double computeNewUpperLimit(double upper_bound, double mip_abs_gap,
|
193
244
|
double mip_rel_gap) const;
|
194
245
|
bool moreHeuristicsAllowed() const;
|
@@ -206,16 +257,23 @@ struct HighsMipSolverData {
|
|
206
257
|
double percentageInactiveIntegers() const;
|
207
258
|
void performRestart();
|
208
259
|
bool checkSolution(const std::vector<double>& solution) const;
|
209
|
-
bool trySolution(const std::vector<double>& solution,
|
260
|
+
bool trySolution(const std::vector<double>& solution,
|
261
|
+
const int solution_source = kSolutionSourceNone);
|
210
262
|
bool rootSeparationRound(HighsSeparation& sepa, HighsInt& ncuts,
|
211
263
|
HighsLpRelaxation::Status& status);
|
212
264
|
HighsLpRelaxation::Status evaluateRootLp();
|
213
265
|
void evaluateRootNode();
|
214
|
-
bool addIncumbent(const std::vector<double>& sol, double solobj,
|
266
|
+
bool addIncumbent(const std::vector<double>& sol, double solobj,
|
267
|
+
const int solution_source,
|
268
|
+
const bool print_display_line = true,
|
269
|
+
const bool is_user_solution = false);
|
215
270
|
|
216
271
|
const std::vector<double>& getSolution() const;
|
217
272
|
|
218
|
-
|
273
|
+
std::string solutionSourceToString(const int solution_source,
|
274
|
+
const bool code = true);
|
275
|
+
void printSolutionSourceKey();
|
276
|
+
void printDisplayLine(const int solution_source = kSolutionSourceNone);
|
219
277
|
|
220
278
|
void getRow(HighsInt row, HighsInt& rowlen, const HighsInt*& rowinds,
|
221
279
|
const double*& rowvals) const {
|
@@ -228,9 +286,12 @@ struct HighsMipSolverData {
|
|
228
286
|
bool checkLimits(int64_t nodeOffset = 0) const;
|
229
287
|
void limitsToBounds(double& dual_bound, double& primal_bound,
|
230
288
|
double& mip_rel_gap) const;
|
289
|
+
void setCallbackDataOut(const double mipsolver_objective_value) const;
|
231
290
|
bool interruptFromCallbackWithData(const int callback_type,
|
232
291
|
const double mipsolver_objective_value,
|
233
292
|
const std::string message = "") const;
|
293
|
+
void callbackUserSolution(const double mipsolver_objective_value,
|
294
|
+
const HighsInt user_solution_callback_origin);
|
234
295
|
};
|
235
296
|
|
236
297
|
#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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -57,7 +54,7 @@ class HighsModkSeparator : public HighsSeparator {
|
|
57
54
|
HighsCutPool& cutpool) override;
|
58
55
|
|
59
56
|
HighsModkSeparator(const HighsMipSolver& mipsolver)
|
60
|
-
: HighsSeparator(mipsolver, "Mod-k sepa"
|
57
|
+
: HighsSeparator(mipsolver, "Mod-k sepa") {}
|
61
58
|
};
|
62
59
|
|
63
60
|
#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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -34,7 +31,7 @@ class HighsPathSeparator : public HighsSeparator {
|
|
34
31
|
HighsCutPool& cutpool) override;
|
35
32
|
|
36
33
|
HighsPathSeparator(const HighsMipSolver& mipsolver)
|
37
|
-
: HighsSeparator(mipsolver, "PathAggr sepa"
|
34
|
+
: HighsSeparator(mipsolver, "PathAggr sepa") {
|
38
35
|
randgen.initialise(mipsolver.options_mip_->random_seed);
|
39
36
|
}
|
40
37
|
};
|
@@ -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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -22,6 +19,9 @@ class HighsMipSolver;
|
|
22
19
|
class HighsPrimalHeuristics {
|
23
20
|
private:
|
24
21
|
HighsMipSolver& mipsolver;
|
22
|
+
size_t total_repair_lp;
|
23
|
+
size_t total_repair_lp_feasible;
|
24
|
+
size_t total_repair_lp_iterations;
|
25
25
|
size_t lp_iterations;
|
26
26
|
|
27
27
|
double successObservations;
|
@@ -57,10 +57,12 @@ class HighsPrimalHeuristics {
|
|
57
57
|
|
58
58
|
void flushStatistics();
|
59
59
|
|
60
|
-
bool tryRoundedPoint(const std::vector<double>& point,
|
60
|
+
bool tryRoundedPoint(const std::vector<double>& point,
|
61
|
+
const int solution_source);
|
61
62
|
|
62
63
|
bool linesearchRounding(const std::vector<double>& point1,
|
63
|
-
const std::vector<double>& point2,
|
64
|
+
const std::vector<double>& point2,
|
65
|
+
const int solution_source);
|
64
66
|
|
65
67
|
void randomizedRounding(const std::vector<double>& relaxationsol);
|
66
68
|
};
|
@@ -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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -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,8 +30,7 @@ class HighsSeparator {
|
|
33
30
|
int clockIndex;
|
34
31
|
|
35
32
|
public:
|
36
|
-
HighsSeparator(const HighsMipSolver& mipsolver, const char* name
|
37
|
-
const char* ch3_name);
|
33
|
+
HighsSeparator(const HighsMipSolver& mipsolver, const char* name);
|
38
34
|
|
39
35
|
virtual void separateLpSolution(HighsLpRelaxation& lpRelaxation,
|
40
36
|
HighsLpAggregator& lpAggregator,
|
@@ -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,7 +28,7 @@ class HighsTableauSeparator : public HighsSeparator {
|
|
31
28
|
HighsCutPool& cutpool) override;
|
32
29
|
|
33
30
|
HighsTableauSeparator(const HighsMipSolver& mipsolver)
|
34
|
-
: HighsSeparator(mipsolver, "Tableau sepa"
|
31
|
+
: HighsSeparator(mipsolver, "Tableau sepa"), numTries(0) {}
|
35
32
|
};
|
36
33
|
|
37
34
|
#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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|