casadi 3.6.7__cp39-none-win_amd64.whl → 3.7.0__cp39-none-win_amd64.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.pyd +0 -0
- casadi/blasfeo.lib +0 -0
- casadi/casadi-cli.exe +0 -0
- casadi/casadi.lib +0 -0
- casadi/casadi.py +6070 -3038
- casadi/cbc.exe +0 -0
- casadi/clp.exe +0 -0
- casadi/cmake/casadi-config-version.cmake +1 -1
- casadi/cmake/casadi-targets-release.cmake +5 -5
- casadi/cmake/casadi-targets.cmake +5 -5
- casadi/{lib/cmake/tinyxml2/tinyxml2-config-version.cmake → cmake/ghc_filesystem/ghc_filesystem-config-version.cmake} +19 -10
- casadi/cmake/ghc_filesystem/ghc_filesystem-config.cmake +30 -0
- casadi/cmake/ghc_filesystem/ghc_filesystem-targets.cmake +99 -0
- casadi/cmake/highs/highs-config.cmake +1 -0
- casadi/cmake/highs/highs-targets.cmake +2 -2
- 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/{lib/cmake/tinyxml2/tinyxml2-shared-targets.cmake → cmake/libzip/libzip-targets.cmake} +11 -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/daqp.lib +0 -0
- casadi/fatrop.lib +0 -0
- casadi/highs.exe +0 -0
- casadi/highs.lib +0 -0
- casadi/hpipm.lib +0 -0
- casadi/include/casadi/casadi.i +194 -44
- 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/casadi_common.hpp +37 -0
- casadi/include/casadi/core/casadi_meta.hpp +15 -0
- casadi/include/casadi/core/casadi_misc.hpp +7 -0
- casadi/include/casadi/core/code_generator.hpp +95 -17
- casadi/include/casadi/core/core.hpp +5 -0
- casadi/include/casadi/core/dae_builder.hpp +283 -141
- casadi/include/casadi/core/dm.hpp +3 -0
- casadi/include/casadi/core/filesystem.hpp +58 -0
- casadi/include/casadi/core/fmu.hpp +51 -16
- casadi/include/casadi/core/function.hpp +19 -0
- casadi/include/casadi/core/generic_matrix.hpp +214 -7
- casadi/include/casadi/core/generic_shared.hpp +318 -0
- casadi/include/casadi/core/generic_shared_impl.hpp +214 -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 +67 -0
- casadi/include/casadi/core/mx.hpp +63 -2
- 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_nlp.hpp +8 -2
- casadi/include/casadi/core/runtime/casadi_printme.hpp +25 -0
- casadi/include/casadi/core/serializer.hpp +12 -4
- casadi/include/casadi/core/serializing_stream.hpp +3 -0
- 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 +9703 -6539
- casadi/include/casadi/doc_merged.i +6483 -4447
- 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 +7 -5
- 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/zconf.h +545 -0
- casadi/include/zip.h +528 -0
- casadi/include/zipconf.h +48 -0
- casadi/include/zlib.h +1938 -0
- casadi/ipopt.lib +0 -0
- casadi/lapack.lib +0 -0
- casadi/libCbc-3.dll +0 -0
- casadi/libCbc.dll.a +0 -0
- casadi/libCbcSolver-3.dll +0 -0
- casadi/libCbcSolver.dll.a +0 -0
- casadi/libCgl-1.dll +0 -0
- casadi/libCgl.dll.a +0 -0
- casadi/libClp-1.dll +0 -0
- casadi/libClp.dll.a +0 -0
- casadi/libClpSolver-1.dll +0 -0
- casadi/libClpSolver.dll.a +0 -0
- casadi/libCoinUtils-3.dll +0 -0
- casadi/libCoinUtils.dll.a +0 -0
- casadi/libOsi-1.dll +0 -0
- casadi/libOsi.dll.a +0 -0
- casadi/libOsiCbc-3.dll +0 -0
- casadi/libOsiCbc.dll.a +0 -0
- casadi/libOsiClp-1.dll +0 -0
- casadi/libOsiClp.dll.a +0 -0
- casadi/libOsiCommonTests-1.dll +0 -0
- casadi/libOsiCommonTests.dll.a +0 -0
- casadi/libalpaqa.dll +0 -0
- casadi/libalpaqa.dll.a +0 -0
- casadi/libblasfeo.dll +0 -0
- casadi/libblasfeo.dll.a +0 -0
- casadi/libbonmin-4.dll +0 -0
- casadi/libbonmin.dll.a +0 -0
- casadi/libcasadi-tp-openblas.dll +0 -0
- casadi/libcasadi-tp-openblas.dll.a +0 -0
- casadi/libcasadi.dll +0 -0
- casadi/libcasadi.dll.a +0 -0
- casadi/libcasadi.lib +0 -0
- casadi/libcasadi_archiver_libzip.dll +0 -0
- casadi/libcasadi_archiver_libzip.dll.a +0 -0
- casadi/libcasadi_conic_cbc.dll +0 -0
- casadi/libcasadi_conic_cbc.dll.a +0 -0
- casadi/libcasadi_conic_clp.dll +0 -0
- casadi/libcasadi_conic_clp.dll.a +0 -0
- casadi/libcasadi_conic_cplex.dll +0 -0
- casadi/libcasadi_conic_cplex.dll.a +0 -0
- casadi/libcasadi_conic_daqp.dll +0 -0
- casadi/libcasadi_conic_daqp.dll.a +0 -0
- casadi/libcasadi_conic_fatrop.dll +0 -0
- casadi/libcasadi_conic_fatrop.dll.a +0 -0
- casadi/libcasadi_conic_gurobi.dll +0 -0
- casadi/libcasadi_conic_gurobi.dll.a +0 -0
- casadi/libcasadi_conic_highs.dll +0 -0
- casadi/libcasadi_conic_highs.dll.a +0 -0
- casadi/libcasadi_conic_hpipm.dll +0 -0
- casadi/libcasadi_conic_hpipm.dll.a +0 -0
- casadi/libcasadi_conic_ipqp.dll +0 -0
- casadi/libcasadi_conic_ipqp.dll.a +0 -0
- casadi/libcasadi_conic_nlpsol.dll +0 -0
- casadi/libcasadi_conic_nlpsol.dll.a +0 -0
- casadi/libcasadi_conic_osqp.dll +0 -0
- casadi/libcasadi_conic_osqp.dll.a +0 -0
- casadi/libcasadi_conic_proxqp.dll +0 -0
- casadi/libcasadi_conic_proxqp.dll.a +0 -0
- casadi/libcasadi_conic_qpoases.dll +0 -0
- casadi/libcasadi_conic_qpoases.dll.a +0 -0
- casadi/libcasadi_conic_qrqp.dll +0 -0
- casadi/libcasadi_conic_qrqp.dll.a +0 -0
- casadi/libcasadi_conic_superscs.dll +0 -0
- casadi/libcasadi_conic_superscs.dll.a +0 -0
- casadi/libcasadi_filesystem_ghc.dll +0 -0
- casadi/libcasadi_filesystem_ghc.dll.a +0 -0
- casadi/libcasadi_importer_shell.dll +0 -0
- casadi/libcasadi_importer_shell.dll.a +0 -0
- casadi/libcasadi_integrator_collocation.dll +0 -0
- casadi/libcasadi_integrator_collocation.dll.a +0 -0
- casadi/libcasadi_integrator_cvodes.dll +0 -0
- casadi/libcasadi_integrator_cvodes.dll.a +0 -0
- casadi/libcasadi_integrator_idas.dll +0 -0
- casadi/libcasadi_integrator_idas.dll.a +0 -0
- casadi/libcasadi_integrator_rk.dll +0 -0
- casadi/libcasadi_integrator_rk.dll.a +0 -0
- casadi/libcasadi_interpolant_bspline.dll +0 -0
- casadi/libcasadi_interpolant_bspline.dll.a +0 -0
- casadi/libcasadi_interpolant_linear.dll +0 -0
- casadi/libcasadi_interpolant_linear.dll.a +0 -0
- casadi/libcasadi_linsol_csparse.dll +0 -0
- casadi/libcasadi_linsol_csparse.dll.a +0 -0
- casadi/libcasadi_linsol_csparsecholesky.dll +0 -0
- casadi/libcasadi_linsol_csparsecholesky.dll.a +0 -0
- casadi/libcasadi_linsol_lapacklu.dll +0 -0
- casadi/libcasadi_linsol_lapacklu.dll.a +0 -0
- casadi/libcasadi_linsol_lapackqr.dll +0 -0
- casadi/libcasadi_linsol_lapackqr.dll.a +0 -0
- casadi/libcasadi_linsol_ldl.dll +0 -0
- casadi/libcasadi_linsol_ldl.dll.a +0 -0
- casadi/libcasadi_linsol_lsqr.dll +0 -0
- casadi/libcasadi_linsol_lsqr.dll.a +0 -0
- casadi/libcasadi_linsol_ma27.dll +0 -0
- casadi/libcasadi_linsol_ma27.dll.a +0 -0
- casadi/libcasadi_linsol_mumps.dll +0 -0
- casadi/libcasadi_linsol_mumps.dll.a +0 -0
- casadi/libcasadi_linsol_qr.dll +0 -0
- casadi/libcasadi_linsol_qr.dll.a +0 -0
- casadi/libcasadi_linsol_symbolicqr.dll +0 -0
- casadi/libcasadi_linsol_symbolicqr.dll.a +0 -0
- casadi/libcasadi_linsol_tridiag.dll +0 -0
- casadi/libcasadi_linsol_tridiag.dll.a +0 -0
- casadi/libcasadi_nlpsol_alpaqa.dll +0 -0
- casadi/libcasadi_nlpsol_alpaqa.dll.a +0 -0
- casadi/libcasadi_nlpsol_ampl.dll +0 -0
- casadi/libcasadi_nlpsol_ampl.dll.a +0 -0
- casadi/libcasadi_nlpsol_blocksqp.dll +0 -0
- casadi/libcasadi_nlpsol_blocksqp.dll.a +0 -0
- casadi/libcasadi_nlpsol_bonmin.dll +0 -0
- casadi/libcasadi_nlpsol_bonmin.dll.a +0 -0
- casadi/libcasadi_nlpsol_fatrop.dll +0 -0
- casadi/libcasadi_nlpsol_fatrop.dll.a +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.dll +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.dll.a +0 -0
- casadi/libcasadi_nlpsol_ipopt.dll +0 -0
- casadi/libcasadi_nlpsol_ipopt.dll.a +0 -0
- casadi/libcasadi_nlpsol_knitro.dll +0 -0
- casadi/libcasadi_nlpsol_knitro.dll.a +0 -0
- casadi/libcasadi_nlpsol_madnlp.dll +0 -0
- casadi/libcasadi_nlpsol_madnlp.dll.a +0 -0
- casadi/libcasadi_nlpsol_qrsqp.dll +0 -0
- casadi/libcasadi_nlpsol_qrsqp.dll.a +0 -0
- casadi/libcasadi_nlpsol_scpgen.dll +0 -0
- casadi/libcasadi_nlpsol_scpgen.dll.a +0 -0
- casadi/libcasadi_nlpsol_sleqp.dll +0 -0
- casadi/libcasadi_nlpsol_sleqp.dll.a +0 -0
- casadi/libcasadi_nlpsol_snopt.dll +0 -0
- casadi/libcasadi_nlpsol_snopt.dll.a +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.dll +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.dll.a +0 -0
- casadi/libcasadi_nlpsol_worhp.dll +0 -0
- casadi/libcasadi_nlpsol_worhp.dll.a +0 -0
- casadi/libcasadi_rootfinder_fast_newton.dll +0 -0
- casadi/libcasadi_rootfinder_fast_newton.dll.a +0 -0
- casadi/libcasadi_rootfinder_kinsol.dll +0 -0
- casadi/libcasadi_rootfinder_kinsol.dll.a +0 -0
- casadi/libcasadi_rootfinder_newton.dll +0 -0
- casadi/libcasadi_rootfinder_newton.dll.a +0 -0
- casadi/libcasadi_rootfinder_nlpsol.dll +0 -0
- casadi/libcasadi_rootfinder_nlpsol.dll.a +0 -0
- casadi/libcasadi_sundials_common.dll +0 -0
- casadi/libcasadi_sundials_common.dll.a +0 -0
- casadi/libcasadi_xmlfile_tinyxml.dll +0 -0
- casadi/libcasadi_xmlfile_tinyxml.dll.a +0 -0
- casadi/libcoinmetis-2.dll +0 -0
- casadi/libcoinmetis.dll.a +0 -0
- casadi/libcoinmumps-3.dll +0 -0
- casadi/libcoinmumps.dll.a +0 -0
- casadi/libcplex_adaptor.dll +0 -0
- casadi/libdaqp.dll +0 -0
- casadi/libdaqp.dll.a +0 -0
- casadi/libdl.dll +0 -0
- casadi/libdl.dll.a +0 -0
- casadi/libfatrop.dll +0 -0
- casadi/libfatrop.dll.a +0 -0
- casadi/libgurobi_adaptor.dll +0 -0
- casadi/libhighs.dll +0 -0
- casadi/libhighs.dll.a +0 -0
- casadi/libhpipm.dll +0 -0
- casadi/libhpipm.dll.a +0 -0
- casadi/libipopt-3.dll +0 -0
- casadi/libipopt.dll.a +0 -0
- casadi/libmatlab_ipc.dll +0 -0
- casadi/libmatlab_ipc.dll.a +0 -0
- casadi/libosqp.dll +0 -0
- casadi/libosqp.dll.a +0 -0
- casadi/libqdldl.dll +0 -0
- casadi/libqdldl.dll.a +0 -0
- casadi/libsipopt-3.dll +0 -0
- casadi/libsipopt.dll.a +0 -0
- casadi/libsleqp.dll +0 -0
- casadi/libsleqp.dll.a +0 -0
- casadi/libtrlib.dll +0 -0
- casadi/libtrlib.dll.a +0 -0
- casadi/libzip.a +0 -0
- casadi/libzlib.dll +0 -0
- casadi/libzlib.dll.a +0 -0
- casadi/libzlibstatic.a +0 -0
- casadi/matlab_ipc.lib +0 -0
- casadi/osqp.lib +0 -0
- casadi/pkgconfig/casadi.pc +1 -1
- casadi/pkgconfig/highs.pc +1 -1
- casadi/pkgconfig/libzip.pc +14 -0
- casadi/sleqp.lib +0 -0
- casadi/spral_ssids.exe +0 -0
- casadi/std-e414687e404555e5.dll +0 -0
- casadi/tools/__init__.py +3 -1
- casadi/tools/graph/graph.py +1 -1
- casadi/tools/structure3.py +2 -2
- {casadi-3.6.7.dist-info → casadi-3.7.0.dist-info}/METADATA +1 -1
- {casadi-3.6.7.dist-info → casadi-3.7.0.dist-info}/RECORD +434 -393
- casadi/bin/libtinyxml2.dll +0 -0
- casadi/include/tinyxml2.h +0 -2380
- casadi/lib/cmake/tinyxml2/tinyxml2-config.cmake +0 -57
- casadi/lib/cmake/tinyxml2/tinyxml2-shared-targets-release.cmake +0 -19
- casadi/lib/libtinyxml2.dll.a +0 -0
- casadi/lib/pkgconfig/tinyxml2.pc +0 -10
- casadi/libtinyxml2.dll +0 -0
- casadi/tools/structure.py +0 -1446
- {casadi-3.6.7.dist-info → casadi-3.7.0.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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -18,7 +15,7 @@
|
|
18
15
|
// Highs_mipCall or Highs_qpCall, and these methods return the
|
19
16
|
// appropriate solution information
|
20
17
|
//
|
21
|
-
// For sophisticated applications, where esoteric
|
18
|
+
// For sophisticated applications, where esoteric solution
|
22
19
|
// information is needed, or if a sequence of modified models need to
|
23
20
|
// be solved, use the Highs_create method to generate a pointer to an
|
24
21
|
// instance of the C++ Highs class, and then use any of a large number
|
@@ -120,6 +117,8 @@ const char* const kHighsCallbackDataOutPdlpIterationCountName =
|
|
120
117
|
const char* const kHighsCallbackDataOutObjectiveFunctionValueName =
|
121
118
|
"objective_function_value";
|
122
119
|
const char* const kHighsCallbackDataOutMipNodeCountName = "mip_node_count";
|
120
|
+
const char* const kHighsCallbackDataOutMipTotalLpIterationsName =
|
121
|
+
"mip_total_lp_iterations";
|
123
122
|
const char* const kHighsCallbackDataOutMipPrimalBoundName = "mip_primal_bound";
|
124
123
|
const char* const kHighsCallbackDataOutMipDualBoundName = "mip_dual_bound";
|
125
124
|
const char* const kHighsCallbackDataOutMipGapName = "mip_gap";
|
@@ -227,11 +226,14 @@ HighsInt Highs_mipCall(const HighsInt num_col, const HighsInt num_row,
|
|
227
226
|
* @param q_format The format of the Hessian matrix in the form of a
|
228
227
|
* `kHighsHessianStatus` constant. If q_num_nz > 0, this must
|
229
228
|
* be `kHighsHessianFormatTriangular`.
|
230
|
-
* @param q_start The Hessian matrix is provided
|
231
|
-
*
|
232
|
-
*
|
229
|
+
* @param q_start The Hessian matrix is provided to HiGHS as the lower
|
230
|
+
* triangular component in compressed sparse column form
|
231
|
+
* (or, equivalently, as the upper triangular component
|
232
|
+
* in compressed sparse row form). The sparse matrix consists
|
233
|
+
* of three arrays, `q_start`, `q_index`, and `q_value`.
|
234
|
+
* `q_start` is an array of length [num_col].
|
233
235
|
* @param q_index An array of length [q_num_nz] with indices of matrix
|
234
|
-
*
|
236
|
+
* entries.
|
235
237
|
* @param q_value An array of length [q_num_nz] with values of matrix entries.
|
236
238
|
*
|
237
239
|
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
@@ -496,10 +498,13 @@ HighsInt Highs_passMip(void* highs, const HighsInt num_col,
|
|
496
498
|
* @param a_index An array of length [num_nz] with indices of matrix
|
497
499
|
* entries.
|
498
500
|
* @param a_value An array of length [num_nz] with values of matrix entries.
|
499
|
-
* @param q_start The Hessian matrix is provided
|
500
|
-
*
|
501
|
-
*
|
502
|
-
*
|
501
|
+
* @param q_start The Hessian matrix is provided to HiGHS as the lower
|
502
|
+
* triangular component in compressed sparse column form
|
503
|
+
* (or, equivalently, as the upper triangular component
|
504
|
+
* in compressed sparse row form). The sparse matrix consists
|
505
|
+
* of three arrays, `q_start`, `q_index`, and `q_value`.
|
506
|
+
* `q_start` is an array of length [num_col]. If the model
|
507
|
+
* is linear, pass NULL.
|
503
508
|
* @param q_index An array of length [q_num_nz] with indices of matrix
|
504
509
|
* entries. If the model is linear, pass NULL.
|
505
510
|
* @param q_value An array of length [q_num_nz] with values of matrix
|
@@ -529,11 +534,16 @@ HighsInt Highs_passModel(void* highs, const HighsInt num_col,
|
|
529
534
|
* @param num_nz The number of non-zero elements in the Hessian matrix.
|
530
535
|
* @param format The format of the Hessian matrix as a `kHighsHessianFormat`
|
531
536
|
* constant. This must be `kHighsHessianFormatTriangular`.
|
532
|
-
* @param start The Hessian matrix is provided to HiGHS as the
|
533
|
-
* triangular component in compressed sparse column form
|
534
|
-
*
|
535
|
-
*
|
536
|
-
*
|
537
|
+
* @param start The Hessian matrix is provided to HiGHS as the lower
|
538
|
+
* triangular component in compressed sparse column form
|
539
|
+
* (or, equivalently, as the upper triangular component
|
540
|
+
* in compressed sparse row form), using `q_start`, `q_index`,
|
541
|
+
* and `q_value`.The Hessian matrix is provided to HiGHS as the
|
542
|
+
* lower triangular component in compressed sparse column form.
|
543
|
+
* The sparse matrix consists of three arrays, `start`,
|
544
|
+
* `index`, and `value`. `start` is an array of length
|
545
|
+
* [num_col] containing the starting index of each column in
|
546
|
+
* `index`.
|
537
547
|
* @param index An array of length [num_nz] with indices of matrix entries.
|
538
548
|
* @param value An array of length [num_nz] with values of matrix entries.
|
539
549
|
*
|
@@ -544,6 +554,72 @@ HighsInt Highs_passHessian(void* highs, const HighsInt dim,
|
|
544
554
|
const HighsInt* start, const HighsInt* index,
|
545
555
|
const double* value);
|
546
556
|
|
557
|
+
/**
|
558
|
+
* Passes multiple linear objective data to HiGHS, clearing any such
|
559
|
+
* data already in HiGHS
|
560
|
+
*
|
561
|
+
* @param highs A pointer to the Highs instance.
|
562
|
+
* @param weight A pointer to the weights of the linear objective, with
|
563
|
+
* its positive/negative sign determining whether it is
|
564
|
+
* minimized or maximized during lexicographic optimization
|
565
|
+
* @param offset A pointer to the objective offsets
|
566
|
+
* @param coefficients A pointer to the objective coefficients
|
567
|
+
* @param abs_tolerance A pointer to the absolute tolerances used when
|
568
|
+
* constructing objective constraints during lexicographic
|
569
|
+
* optimization
|
570
|
+
* @param rel_tolerance A pointer to the relative tolerances used when
|
571
|
+
* constructing objective constraints during lexicographic
|
572
|
+
* optimization
|
573
|
+
* @param priority A pointer to the priorities of the objectives during
|
574
|
+
* lexicographic optimization
|
575
|
+
*
|
576
|
+
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
577
|
+
*/
|
578
|
+
|
579
|
+
HighsInt Highs_passLinearObjectives(const void* highs,
|
580
|
+
const HighsInt num_linear_objective,
|
581
|
+
const double* weight, const double* offset,
|
582
|
+
const double* coefficients,
|
583
|
+
const double* abs_tolerance,
|
584
|
+
const double* rel_tolerance,
|
585
|
+
const HighsInt* priority);
|
586
|
+
|
587
|
+
/**
|
588
|
+
* Adds linear objective data to HiGHS
|
589
|
+
*
|
590
|
+
* @param highs A pointer to the Highs instance.
|
591
|
+
* @param weight The weight of the linear objective, with its
|
592
|
+
* positive/negative sign determining whether it is
|
593
|
+
* minimized or maximized during lexicographic
|
594
|
+
* optimization
|
595
|
+
* @param offset The objective offset
|
596
|
+
* @param coefficients A pointer to the objective coefficients
|
597
|
+
* @param abs_tolerance The absolute tolerance used when constructing an
|
598
|
+
* objective constraint during lexicographic optimization
|
599
|
+
* @param rel_tolerance The relative tolerance used when constructing an
|
600
|
+
* objective constraint during lexicographic optimization
|
601
|
+
* @param priority The priority of this objective during lexicographic
|
602
|
+
* optimization
|
603
|
+
*
|
604
|
+
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
605
|
+
*/
|
606
|
+
|
607
|
+
HighsInt Highs_addLinearObjective(const void* highs, const double weight,
|
608
|
+
const double offset,
|
609
|
+
const double* coefficients,
|
610
|
+
const double abs_tolerance,
|
611
|
+
const double rel_tolerance,
|
612
|
+
const HighsInt priority);
|
613
|
+
|
614
|
+
/**
|
615
|
+
* Clears any multiple linear objective data in HiGHS
|
616
|
+
*
|
617
|
+
* @param highs A pointer to the Highs instance.
|
618
|
+
*
|
619
|
+
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
620
|
+
*/
|
621
|
+
|
622
|
+
HighsInt Highs_clearLinearObjectives(const void* highs);
|
547
623
|
/**
|
548
624
|
* Pass the name of a row.
|
549
625
|
*
|
@@ -568,6 +644,16 @@ HighsInt Highs_passRowName(const void* highs, const HighsInt row,
|
|
568
644
|
HighsInt Highs_passColName(const void* highs, const HighsInt col,
|
569
645
|
const char* name);
|
570
646
|
|
647
|
+
/**
|
648
|
+
* Pass the name of the model.
|
649
|
+
*
|
650
|
+
* @param highs A pointer to the Highs instance.
|
651
|
+
* @param name The name of the model.
|
652
|
+
*
|
653
|
+
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
654
|
+
*/
|
655
|
+
HighsInt Highs_passModelName(const void* highs, const char* name);
|
656
|
+
|
571
657
|
/**
|
572
658
|
* Read the option values from file.
|
573
659
|
*
|
@@ -892,11 +978,13 @@ HighsInt Highs_getBasis(const void* highs, HighsInt* col_status,
|
|
892
978
|
HighsInt Highs_getModelStatus(const void* highs);
|
893
979
|
|
894
980
|
/**
|
895
|
-
*
|
981
|
+
* Indicates whether a dual ray that is a certificate of primal
|
982
|
+
* infeasibility currently exists, and (at the expense of solving an
|
983
|
+
* LP) gets it if it does not and dual_ray_value is not nullptr.
|
896
984
|
*
|
897
985
|
* @param highs A pointer to the Highs instance.
|
898
|
-
* @param has_dual_ray A pointer to an int to store 1 if
|
899
|
-
* exists.
|
986
|
+
* @param has_dual_ray A pointer to an int to store 1 if a dual ray
|
987
|
+
* currently exists.
|
900
988
|
* @param dual_ray_value An array of length [num_row] filled with the
|
901
989
|
* unbounded ray.
|
902
990
|
*
|
@@ -906,7 +994,28 @@ HighsInt Highs_getDualRay(const void* highs, HighsInt* has_dual_ray,
|
|
906
994
|
double* dual_ray_value);
|
907
995
|
|
908
996
|
/**
|
909
|
-
*
|
997
|
+
* Indicates whether a dual unboundedness direction (corresponding to a
|
998
|
+
* certificate of primal infeasibility) exists, and (at the expense of
|
999
|
+
* solving an LP) gets it if it does not and
|
1000
|
+
* dual_unboundedness_direction is not nullptr
|
1001
|
+
*
|
1002
|
+
* @param highs A pointer to the Highs
|
1003
|
+
* instance.
|
1004
|
+
* @param has_dual_unboundedness_direction A pointer to an int to store 1
|
1005
|
+
* if the dual unboundedness
|
1006
|
+
* direction exists.
|
1007
|
+
* @param dual_unboundedness_direction_value An array of length [num_col]
|
1008
|
+
* filled with the unboundedness
|
1009
|
+
* direction.
|
1010
|
+
*/
|
1011
|
+
HighsInt Highs_getDualUnboundednessDirection(
|
1012
|
+
const void* highs, HighsInt* has_dual_unboundedness_direction,
|
1013
|
+
double* dual_unboundedness_direction_value);
|
1014
|
+
|
1015
|
+
/**
|
1016
|
+
* Indicates whether a primal ray that is a certificate of primal
|
1017
|
+
* unboundedness currently exists, and (at the expense of solving an
|
1018
|
+
* LP) gets it if it does not and primal_ray_value is not nullptr.
|
910
1019
|
*
|
911
1020
|
* @param highs A pointer to the Highs instance.
|
912
1021
|
* @param has_primal_ray A pointer to an int to store 1 if the primal ray
|
@@ -1137,6 +1246,19 @@ HighsInt Highs_setSolution(void* highs, const double* col_value,
|
|
1137
1246
|
const double* row_value, const double* col_dual,
|
1138
1247
|
const double* row_dual);
|
1139
1248
|
|
1249
|
+
/**
|
1250
|
+
* Set a partial primal solution by passing values for a set of variables
|
1251
|
+
*
|
1252
|
+
* @param highs A pointer to the Highs instance.
|
1253
|
+
* @param num_entries Number of variables in the set
|
1254
|
+
* @param index Indices of variables in the set
|
1255
|
+
* @param value Values of variables in the set
|
1256
|
+
*
|
1257
|
+
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
1258
|
+
*/
|
1259
|
+
HighsInt Highs_setSparseSolution(void* highs, const HighsInt num_entries,
|
1260
|
+
const HighsInt* index, const double* value);
|
1261
|
+
|
1140
1262
|
/**
|
1141
1263
|
* Set the callback method to use for HiGHS
|
1142
1264
|
*
|
@@ -1304,6 +1426,25 @@ HighsInt Highs_addRows(void* highs, const HighsInt num_new_row,
|
|
1304
1426
|
const HighsInt num_new_nz, const HighsInt* starts,
|
1305
1427
|
const HighsInt* index, const double* value);
|
1306
1428
|
|
1429
|
+
/**
|
1430
|
+
* Ensure that the constraint matrix of the incumbent model is stored
|
1431
|
+
* column-wise.
|
1432
|
+
*
|
1433
|
+
* @param highs A pointer to the Highs instance.
|
1434
|
+
*
|
1435
|
+
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
1436
|
+
*/
|
1437
|
+
HighsInt Highs_ensureColwise(void* highs);
|
1438
|
+
|
1439
|
+
/**
|
1440
|
+
* Ensure that the constraint matrix of the incumbent model is stored row-wise.
|
1441
|
+
*
|
1442
|
+
* @param highs A pointer to the Highs instance.
|
1443
|
+
*
|
1444
|
+
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
1445
|
+
*/
|
1446
|
+
HighsInt Highs_ensureRowwise(void* highs);
|
1447
|
+
|
1307
1448
|
/**
|
1308
1449
|
* Change the objective sense of the model.
|
1309
1450
|
*
|
@@ -1691,7 +1832,7 @@ HighsInt Highs_getColsByMask(const void* highs, const HighsInt* mask,
|
|
1691
1832
|
* @param from_row The first row for which to query data for.
|
1692
1833
|
* @param to_row The last row (inclusive) for which to query data for.
|
1693
1834
|
* @param num_row An integer to be populated with the number of rows got
|
1694
|
-
* from the
|
1835
|
+
* from the model.
|
1695
1836
|
* @param lower An array of size [to_row - from_row + 1] for the row
|
1696
1837
|
* lower bounds.
|
1697
1838
|
* @param upper An array of size [to_row - from_row + 1] for the row
|
@@ -2149,6 +2290,38 @@ HighsInt Highs_getRanging(
|
|
2149
2290
|
double* row_bound_dn_value, double* row_bound_dn_objective,
|
2150
2291
|
HighsInt* row_bound_dn_in_var, HighsInt* row_bound_dn_ou_var);
|
2151
2292
|
|
2293
|
+
/**
|
2294
|
+
* Compute the solution corresponding to a (possibly weighted) sum of
|
2295
|
+
* (allowable) infeasibilities in an LP/MIP.
|
2296
|
+
*
|
2297
|
+
* If local penalties are not defined, pass NULL, and the global
|
2298
|
+
* penalty will be used. Negative penalty values imply that the bound
|
2299
|
+
* or RHS value cannot be violated
|
2300
|
+
*
|
2301
|
+
* @param highs A pointer to the Highs instance.
|
2302
|
+
* @param const double global_lower_penalty The penalty for violating lower
|
2303
|
+
* bounds on variables
|
2304
|
+
* @param const double global_upper_penalty The penalty for violating upper
|
2305
|
+
* bounds on variables
|
2306
|
+
* @param const double global_rhs_penalty The penalty for violating constraint
|
2307
|
+
* RHS values
|
2308
|
+
* @param const double* local_lower_penalty The penalties for violating specific
|
2309
|
+
* lower bounds on variables
|
2310
|
+
* @param const double* local_upper_penalty The penalties for violating specific
|
2311
|
+
* upper bounds on variables
|
2312
|
+
* @param const double* local_rhs_penalty The penalties for violating specific
|
2313
|
+
* constraint RHS values
|
2314
|
+
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
2315
|
+
*/
|
2316
|
+
|
2317
|
+
HighsInt Highs_feasibilityRelaxation(void* highs,
|
2318
|
+
const double global_lower_penalty,
|
2319
|
+
const double global_upper_penalty,
|
2320
|
+
const double global_rhs_penalty,
|
2321
|
+
const double* local_lower_penalty,
|
2322
|
+
const double* local_upper_penalty,
|
2323
|
+
const double* local_rhs_penalty);
|
2324
|
+
|
2152
2325
|
/**
|
2153
2326
|
* Releases all resources held by the global scheduler instance.
|
2154
2327
|
*
|
@@ -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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -20,9 +17,10 @@
|
|
20
17
|
|
21
18
|
enum class FilereaderRetcode {
|
22
19
|
kOk = 0,
|
23
|
-
|
24
|
-
|
25
|
-
|
20
|
+
kWarning = 1,
|
21
|
+
kFileNotFound = 2,
|
22
|
+
kParserError = 3,
|
23
|
+
kNotImplemented = 4,
|
26
24
|
kTimeout
|
27
25
|
};
|
28
26
|
|
@@ -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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
casadi/include/highs/io/HMPSIO.h
CHANGED
@@ -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,7 @@ FilereaderRetcode readMps(
|
|
54
51
|
vector<HighsVarType>& integerColumn, std::string& objective_name,
|
55
52
|
vector<std::string>& col_names, vector<std::string>& row_names,
|
56
53
|
HighsInt& Qdim, vector<HighsInt>& Qstart, vector<HighsInt>& Qindex,
|
57
|
-
vector<double>& Qvalue, HighsInt& cost_row_location,
|
54
|
+
vector<double>& Qvalue, HighsInt& cost_row_location, bool& warning_issued,
|
58
55
|
const HighsInt keep_n_rows = 0);
|
59
56
|
|
60
57
|
HighsStatus writeMps(
|
casadi/include/highs/io/HMpsFF.h
CHANGED
@@ -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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -38,6 +35,8 @@
|
|
38
35
|
|
39
36
|
using Triplet = std::tuple<HighsInt, HighsInt, double>;
|
40
37
|
|
38
|
+
const std::string mps_comment_chars = "*$";
|
39
|
+
|
41
40
|
enum class FreeFormatParserReturnCode {
|
42
41
|
kSuccess,
|
43
42
|
kParserError,
|
@@ -61,7 +60,8 @@ class HMpsFF {
|
|
61
60
|
const std::string filename,
|
62
61
|
HighsModel& model);
|
63
62
|
|
64
|
-
double
|
63
|
+
double time_limit_ = kHighsInf;
|
64
|
+
bool warning_issued_ = false;
|
65
65
|
|
66
66
|
private:
|
67
67
|
double start_time;
|
@@ -124,7 +124,6 @@ class HMpsFF {
|
|
124
124
|
HighsInt fillMatrix(const HighsLogOptions& log_options);
|
125
125
|
HighsInt fillHessian(const HighsLogOptions& log_options);
|
126
126
|
|
127
|
-
const bool kAnyFirstNonBlankAsStarImpliesComment = false;
|
128
127
|
/// how to treat variables that appear in COLUMNS section first
|
129
128
|
/// assume them to be binary as in the original IBM interpretation
|
130
129
|
/// or integer with default bounds
|
@@ -147,6 +146,7 @@ class HMpsFF {
|
|
147
146
|
kCsection,
|
148
147
|
kDelayedrows,
|
149
148
|
kModelcuts,
|
149
|
+
kUsercuts,
|
150
150
|
kIndicators,
|
151
151
|
kSets,
|
152
152
|
kSos,
|
@@ -189,6 +189,9 @@ class HMpsFF {
|
|
189
189
|
|
190
190
|
mutable std::string section_args;
|
191
191
|
|
192
|
+
bool timeout();
|
193
|
+
bool getMpsLine(std::istream& file, std::string& strline, bool& skip);
|
194
|
+
|
192
195
|
FreeFormatParserReturnCode parse(const HighsLogOptions& log_options,
|
193
196
|
const std::string& filename);
|
194
197
|
// Checks first word of strline and wraps it by it_begin and it_end
|
@@ -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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -18,13 +15,13 @@
|
|
18
15
|
#include <iostream>
|
19
16
|
|
20
17
|
#include "lp_data/HighsCallback.h"
|
21
|
-
|
18
|
+
// #include "util/HighsInt.h"
|
22
19
|
|
23
20
|
class HighsOptions;
|
24
21
|
|
25
22
|
const HighsInt kIoBufferSize = 1024; // 65536;
|
26
23
|
|
27
|
-
enum class HighsFileType {
|
24
|
+
enum class HighsFileType { kMinimal = 0, kFull, kMps, kLp, kMd };
|
28
25
|
|
29
26
|
/**
|
30
27
|
* @brief IO methods for HiGHS - currently just print/log messages
|
@@ -88,6 +85,14 @@ void highsLogUser(const HighsLogOptions& log_options_, const HighsLogType type,
|
|
88
85
|
void highsLogDev(const HighsLogOptions& log_options_, const HighsLogType type,
|
89
86
|
const char* format, ...);
|
90
87
|
|
88
|
+
/**
|
89
|
+
* @brief Replaces fprintf(file,... so that when file=stdout highsLogUser is
|
90
|
+
* used
|
91
|
+
*/
|
92
|
+
// Printing format: must contain exactly one "\n" at end of format
|
93
|
+
void highsFprintfString(FILE* file, const HighsLogOptions& log_options_,
|
94
|
+
const std::string& s);
|
95
|
+
|
91
96
|
/**
|
92
97
|
* @brief For development logging when true log_options may not be available -
|
93
98
|
* indicated by null pointer
|
@@ -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
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
@@ -31,10 +28,10 @@ HighsStatus solveLpIpx(const HighsOptions& options, HighsTimer& timer,
|
|
31
28
|
HighsCallback& callback);
|
32
29
|
|
33
30
|
void fillInIpxData(const HighsLp& lp, ipx::Int& num_col, ipx::Int& num_row,
|
34
|
-
|
35
|
-
std::vector<double>&
|
36
|
-
std::vector<ipx::Int>&
|
37
|
-
std::vector<double>& rhs,
|
31
|
+
double& offset, std::vector<double>& obj,
|
32
|
+
std::vector<double>& col_lb, std::vector<double>& col_ub,
|
33
|
+
std::vector<ipx::Int>& Ap, std::vector<ipx::Int>& Ai,
|
34
|
+
std::vector<double>& Ax, std::vector<double>& rhs,
|
38
35
|
std::vector<char>& constraint_type);
|
39
36
|
|
40
37
|
HighsStatus reportIpxSolveStatus(const HighsOptions& options,
|
@@ -91,6 +91,7 @@ public:
|
|
91
91
|
double centringRatioReduction() const {return parameters_.centring_ratio_reduction; }
|
92
92
|
double centringAlphaScaling() const{return parameters_.centring_alpha_scaling; }
|
93
93
|
ipxint badProductsTolerance() const{return parameters_.bad_products_tolerance; }
|
94
|
+
bool timelessLog() const{return parameters_.timeless_log; }
|
94
95
|
|
95
96
|
const Parameters& parameters() const;
|
96
97
|
void parameters(const Parameters& new_parameters);
|
@@ -28,7 +28,8 @@ public:
|
|
28
28
|
// IPX_ERROR_invalid_dimension
|
29
29
|
// IPX_ERROR_invalid_matrix
|
30
30
|
// IPX_ERROR_invalid_vector
|
31
|
-
Int LoadModel(Int num_var, const double
|
31
|
+
Int LoadModel(Int num_var, const double offset,
|
32
|
+
const double* obj, const double* lb,
|
32
33
|
const double* ub, Int num_constr, const Int* Ap,
|
33
34
|
const Int* Ai, const double* Ax, const double* rhs,
|
34
35
|
const char* constr_type);
|
@@ -94,7 +95,7 @@ public:
|
|
94
95
|
Int GetBasicSolution(double* x, double* slack, double* y, double* z,
|
95
96
|
Int* cbasis, Int* vbasis) const;
|
96
97
|
|
97
|
-
// Returns/sets all
|
98
|
+
// Returns/sets all parameters. Without calling SetParameters(), the solver
|
98
99
|
// uses the default values of a Parameters object.
|
99
100
|
Parameters GetParameters() const;
|
100
101
|
void SetParameters(Parameters new_parameters);
|
@@ -58,8 +58,8 @@ public:
|
|
58
58
|
// IPX_ERROR_invalid_vector
|
59
59
|
Int Load(const Control& control, Int num_constr, Int num_var,
|
60
60
|
const Int* Ap, const Int* Ai, const double* Ax,
|
61
|
-
const double* rhs, const char* constr_type, const double
|
62
|
-
|
61
|
+
const double* rhs, const char* constr_type, const double offset,
|
62
|
+
const double* obj, const double* lbuser, const double* ubuser);
|
63
63
|
// Performs Flippo's test for deciding dualization
|
64
64
|
bool filippoDualizationTest() const;
|
65
65
|
// Writes statistics of input data and preprocessing to @info.
|
@@ -93,6 +93,9 @@ public:
|
|
93
93
|
const SparseMatrix& AI() const { return AI_; }
|
94
94
|
const SparseMatrix& AIt() const { return AIt_; }
|
95
95
|
|
96
|
+
// Returns the offset
|
97
|
+
const double offset() const { return offset_; }
|
98
|
+
|
96
99
|
// Returns a reference to a model vector.
|
97
100
|
const Vector& b() const { return b_; }
|
98
101
|
const Vector& c() const { return c_; }
|
@@ -207,7 +210,7 @@ private:
|
|
207
210
|
// IPX_ERROR_invalid_vector
|
208
211
|
Int CopyInput(Int num_constr, Int num_var, const Int* Ap, const Int* Ai,
|
209
212
|
const double* Ax, const double* rhs, const char* constr_type,
|
210
|
-
const double* obj, const double* lbuser,
|
213
|
+
const double offset, const double* obj, const double* lbuser,
|
211
214
|
const double* ubuser);
|
212
215
|
|
213
216
|
// Scales A_, scaled_obj_, scaled_rhs_, scaled_lbuser_ and scaled_ubuser_
|
@@ -376,6 +379,7 @@ private:
|
|
376
379
|
std::vector<char> constr_type_;
|
377
380
|
double norm_obj_{0.0}; // Infnorm(obj) as given by user
|
378
381
|
double norm_rhs_{0.0}; // Infnorm(rhs,lb,ub) as given by user
|
382
|
+
double offset_;
|
379
383
|
Vector scaled_obj_;
|
380
384
|
Vector scaled_rhs_;
|
381
385
|
Vector scaled_lbuser_;
|