casadi 3.6.5__cp38-none-win_amd64.whl → 3.6.7__cp38-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/bin/libtinyxml2.dll +0 -0
- casadi/blasfeo.lib +0 -0
- casadi/casadi-cli.exe +0 -0
- casadi/casadi.lib +0 -0
- casadi/casadi.py +739 -308
- casadi/cbc.exe +0 -0
- casadi/clp.exe +0 -0
- casadi/cmake/casadi-config-version.cmake +1 -1
- casadi/cmake/highs/highs-config.cmake +7 -14
- casadi/cmake/highs/highs-targets-release.cmake +13 -13
- casadi/cmake/highs/highs-targets.cmake +11 -9
- 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 +3 -0
- casadi/include/casadi/casadi_c.h +2 -0
- casadi/include/casadi/config.h +8 -8
- casadi/include/casadi/core/casadi_common.hpp +1 -0
- casadi/include/casadi/core/casadi_misc.hpp +52 -0
- casadi/include/casadi/core/casadi_types.hpp +3 -2
- casadi/include/casadi/core/code_generator.hpp +30 -1
- casadi/include/casadi/core/global_options.hpp +2 -0
- casadi/include/casadi/core/mx.hpp +18 -3
- casadi/include/casadi/core/optistack.hpp +23 -0
- casadi/include/casadi/core/runtime/casadi_nlp.hpp +19 -4
- casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
- casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
- casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_runtime.hpp +4 -1
- casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
- casadi/include/casadi/core/serializing_stream.hpp +2 -2
- casadi/include/casadi/core/sparsity.hpp +7 -0
- casadi/include/casadi/doc.i +1513 -1016
- casadi/include/casadi/doc_merged.i +965 -719
- casadi/include/casadi/mem.h +1 -0
- casadi/include/daqp/api.h +46 -0
- casadi/include/daqp/auxiliary.h +29 -0
- casadi/include/daqp/bnb.h +32 -0
- casadi/include/daqp/codegen.h +18 -0
- casadi/include/daqp/constants.h +92 -0
- casadi/include/daqp/daqp.h +22 -0
- casadi/include/daqp/daqp_prox.h +18 -0
- casadi/include/daqp/factorization.h +18 -0
- casadi/include/daqp/types.h +161 -0
- casadi/include/daqp/utils.h +44 -0
- casadi/include/dlfcn.h +94 -0
- casadi/include/fatrop/auxiliary/Common.hpp +34 -0
- casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
- casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
- casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
- casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
- casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
- casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +493 -0
- casadi/include/fatrop/fatrop.hpp +39 -0
- casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
- casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
- casadi/include/fatrop/json/json.h +946 -0
- casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
- casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
- casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
- casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
- casadi/include/fatrop/ocp/FatropOCPResto.hpp +299 -0
- casadi/include/fatrop/ocp/OCP.hpp +82 -0
- casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
- casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
- casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
- casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
- casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
- casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
- casadi/include/fatrop/ocp/OCPLSRiccati.hpp +198 -0
- casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
- casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
- casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
- casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
- casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
- casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
- casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
- casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
- casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
- casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
- casadi/include/fatrop/solver/AlgBuilder.hpp +76 -0
- casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
- casadi/include/fatrop/solver/FatropAlg.hpp +121 -0
- casadi/include/fatrop/solver/FatropData.hpp +188 -0
- casadi/include/fatrop/solver/FatropOptions.hpp +95 -0
- casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
- casadi/include/fatrop/solver/FatropStats.hpp +63 -0
- casadi/include/fatrop/solver/Filter.hpp +54 -0
- casadi/include/fatrop/solver/IterationData.hpp +56 -0
- casadi/include/fatrop/solver/LineSearch.hpp +86 -0
- casadi/include/fatrop/solver/NLPL1.hpp +263 -0
- casadi/include/fatrop/templates/NLPAlg.hpp +104 -0
- casadi/include/highs/HConfig.h +6 -5
- casadi/include/highs/Highs.h +93 -23
- casadi/include/highs/filereaderlp/def.hpp +19 -0
- casadi/include/highs/interfaces/highs_c_api.h +200 -24
- casadi/include/highs/io/Filereader.h +1 -1
- casadi/include/highs/io/FilereaderEms.h +1 -1
- casadi/include/highs/io/FilereaderLp.h +1 -1
- casadi/include/highs/io/FilereaderMps.h +1 -1
- casadi/include/highs/io/HMPSIO.h +1 -1
- casadi/include/highs/io/HMpsFF.h +5 -3
- casadi/include/highs/io/HighsIO.h +18 -8
- casadi/include/highs/io/LoadOptions.h +1 -1
- casadi/include/highs/ipm/IpxSolution.h +35 -0
- casadi/include/highs/ipm/IpxWrapper.h +1 -1
- casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
- casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
- casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
- casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
- casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
- casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
- casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
- casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
- casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
- casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
- casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
- casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
- casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
- casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
- casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
- casadi/include/highs/ipm/ipx/basis.h +351 -0
- casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
- casadi/include/highs/ipm/ipx/control.h +163 -0
- casadi/include/highs/ipm/ipx/crossover.h +157 -0
- casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
- casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
- casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
- casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
- casadi/include/highs/ipm/ipx/info.h +27 -0
- casadi/include/highs/ipm/ipx/ipm.h +94 -0
- casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
- casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
- casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
- casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
- casadi/include/highs/ipm/ipx/ipx_parameters.h +75 -0
- casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
- casadi/include/highs/ipm/ipx/iterate.h +328 -0
- casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
- casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
- casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
- casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
- casadi/include/highs/ipm/ipx/lp_solver.h +201 -0
- casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
- casadi/include/highs/ipm/ipx/lu_update.h +129 -0
- casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
- casadi/include/highs/ipm/ipx/model.h +409 -0
- casadi/include/highs/ipm/ipx/multistream.h +52 -0
- casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
- casadi/include/highs/ipm/ipx/power_method.h +44 -0
- casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
- casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
- casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
- casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
- casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
- casadi/include/highs/ipm/ipx/timer.h +24 -0
- casadi/include/highs/ipm/ipx/utils.h +39 -0
- casadi/include/highs/lp_data/HConst.h +20 -10
- casadi/include/highs/lp_data/HStruct.h +23 -1
- casadi/include/highs/lp_data/HighsAnalysis.h +1 -1
- casadi/include/highs/lp_data/HighsCallback.h +10 -3
- casadi/include/highs/lp_data/HighsCallbackStruct.h +31 -5
- casadi/include/highs/lp_data/HighsDebug.h +1 -1
- casadi/include/highs/lp_data/HighsInfo.h +20 -2
- casadi/include/highs/lp_data/HighsInfoDebug.h +1 -1
- casadi/include/highs/lp_data/HighsLp.h +17 -1
- casadi/include/highs/lp_data/HighsLpSolverObject.h +1 -1
- casadi/include/highs/lp_data/HighsLpUtils.h +19 -19
- casadi/include/highs/lp_data/HighsModelUtils.h +1 -1
- casadi/include/highs/lp_data/HighsOptions.h +237 -10
- casadi/include/highs/lp_data/HighsRanging.h +1 -1
- casadi/include/highs/lp_data/HighsRuntimeOptions.h +2 -2
- casadi/include/highs/lp_data/HighsSolution.h +2 -2
- casadi/include/highs/lp_data/HighsSolutionDebug.h +1 -1
- casadi/include/highs/lp_data/HighsSolve.h +3 -1
- casadi/include/highs/lp_data/HighsStatus.h +1 -1
- casadi/include/highs/mip/HighsCliqueTable.h +4 -4
- casadi/include/highs/mip/HighsConflictPool.h +1 -1
- casadi/include/highs/mip/HighsCutGeneration.h +1 -1
- casadi/include/highs/mip/HighsCutPool.h +2 -2
- casadi/include/highs/mip/HighsDebugSol.h +22 -29
- casadi/include/highs/mip/HighsDomain.h +10 -2
- casadi/include/highs/mip/HighsDomainChange.h +1 -1
- casadi/include/highs/mip/HighsDynamicRowMatrix.h +5 -3
- casadi/include/highs/mip/HighsGFkSolve.h +3 -3
- casadi/include/highs/mip/HighsImplications.h +3 -3
- casadi/include/highs/mip/HighsLpAggregator.h +1 -1
- casadi/include/highs/mip/HighsLpRelaxation.h +6 -1
- casadi/include/highs/mip/HighsMipSolver.h +4 -2
- casadi/include/highs/mip/HighsMipSolverData.h +47 -4
- casadi/include/highs/mip/HighsModkSeparator.h +2 -2
- casadi/include/highs/mip/HighsNodeQueue.h +5 -3
- casadi/include/highs/mip/HighsObjectiveFunction.h +1 -1
- casadi/include/highs/mip/HighsPathSeparator.h +2 -2
- casadi/include/highs/mip/HighsPrimalHeuristics.h +1 -1
- casadi/include/highs/mip/HighsPseudocost.h +35 -23
- casadi/include/highs/mip/HighsRedcostFixing.h +1 -1
- casadi/include/highs/mip/HighsSearch.h +2 -1
- casadi/include/highs/mip/HighsSeparation.h +1 -1
- casadi/include/highs/mip/HighsSeparator.h +1 -1
- casadi/include/highs/mip/HighsTableauSeparator.h +1 -1
- casadi/include/highs/mip/HighsTransformedLp.h +1 -1
- casadi/include/highs/model/HighsHessian.h +5 -0
- casadi/include/highs/model/HighsHessianUtils.h +2 -0
- casadi/include/highs/model/HighsModel.h +10 -1
- casadi/include/highs/parallel/HighsMutex.h +2 -1
- casadi/include/highs/parallel/HighsParallel.h +7 -2
- casadi/include/highs/parallel/HighsTask.h +1 -2
- casadi/include/highs/pdlp/CupdlpWrapper.h +93 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +41 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +423 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +183 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +28 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +33 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1726 -0
- casadi/include/highs/pdqsort/pdqsort.h +532 -0
- casadi/include/highs/presolve/HPresolve.h +27 -14
- casadi/include/highs/presolve/HPresolveAnalysis.h +1 -1
- casadi/include/highs/presolve/HighsPostsolveStack.h +92 -68
- casadi/include/highs/presolve/HighsSymmetry.h +6 -5
- casadi/include/highs/presolve/ICrash.h +8 -2
- casadi/include/highs/presolve/ICrashUtil.h +1 -1
- casadi/include/highs/presolve/ICrashX.h +1 -1
- casadi/include/highs/presolve/PresolveComponent.h +1 -1
- casadi/include/highs/qpsolver/a_asm.hpp +23 -12
- casadi/include/highs/qpsolver/a_quass.hpp +8 -1
- casadi/include/highs/qpsolver/basis.hpp +150 -0
- casadi/include/highs/qpsolver/crashsolution.hpp +12 -0
- casadi/include/highs/qpsolver/dantzigpricing.hpp +72 -0
- casadi/include/highs/qpsolver/devexpricing.hpp +99 -0
- casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
- casadi/include/highs/qpsolver/factor.hpp +400 -0
- casadi/include/highs/qpsolver/feasibility_bounded.hpp +105 -0
- casadi/include/highs/qpsolver/feasibility_highs.hpp +270 -0
- casadi/include/highs/qpsolver/gradient.hpp +39 -0
- casadi/include/highs/qpsolver/instance.hpp +63 -0
- casadi/include/highs/qpsolver/matrix.hpp +335 -0
- casadi/include/highs/qpsolver/pricing.hpp +15 -0
- casadi/include/highs/qpsolver/qpconst.hpp +27 -0
- casadi/include/highs/qpsolver/{vector.hpp → qpvector.hpp} +25 -25
- casadi/include/highs/qpsolver/quass.hpp +1 -1
- casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
- casadi/include/highs/qpsolver/runtime.hpp +38 -0
- casadi/include/highs/qpsolver/settings.hpp +57 -0
- casadi/include/highs/qpsolver/snippets.hpp +29 -0
- casadi/include/highs/qpsolver/statistics.hpp +23 -0
- casadi/include/highs/qpsolver/steepestedgepricing.hpp +167 -0
- casadi/include/highs/simplex/HApp.h +1 -1
- casadi/include/highs/simplex/HEkk.h +52 -18
- casadi/include/highs/simplex/HEkkDual.h +1 -1
- casadi/include/highs/simplex/HEkkDualRHS.h +6 -7
- casadi/include/highs/simplex/HEkkDualRow.h +2 -2
- casadi/include/highs/simplex/HEkkPrimal.h +6 -1
- casadi/include/highs/simplex/HSimplex.h +1 -3
- casadi/include/highs/simplex/HSimplexDebug.h +1 -1
- casadi/include/highs/simplex/HSimplexNla.h +1 -1
- casadi/include/highs/simplex/HSimplexReport.h +1 -1
- casadi/include/highs/simplex/HighsSimplexAnalysis.h +228 -100
- casadi/include/highs/simplex/SimplexConst.h +1 -1
- casadi/include/highs/simplex/SimplexStruct.h +2 -2
- casadi/include/highs/simplex/SimplexTimer.h +1 -1
- casadi/include/highs/test/DevKkt.h +1 -1
- casadi/include/highs/test/KktCh2.h +1 -1
- casadi/include/highs/util/FactorTimer.h +1 -1
- casadi/include/highs/util/HFactor.h +35 -6
- casadi/include/highs/util/HFactorConst.h +1 -1
- casadi/include/highs/util/HFactorDebug.h +1 -1
- casadi/include/highs/util/HSet.h +1 -1
- casadi/include/highs/util/HVector.h +1 -1
- casadi/include/highs/util/HVectorBase.h +1 -1
- casadi/include/highs/util/HighsCDouble.h +3 -3
- casadi/include/highs/util/HighsComponent.h +1 -1
- casadi/include/highs/util/HighsDataStack.h +4 -4
- casadi/include/highs/util/HighsDisjointSets.h +1 -1
- casadi/include/highs/util/HighsHash.h +28 -21
- casadi/include/highs/util/HighsHashTree.h +63 -63
- casadi/include/highs/util/HighsInt.h +1 -1
- casadi/include/highs/util/HighsIntegers.h +8 -9
- casadi/include/highs/util/HighsLinearSumBounds.h +1 -1
- casadi/include/highs/util/HighsMatrixPic.h +1 -1
- casadi/include/highs/util/HighsMatrixSlice.h +9 -6
- casadi/include/highs/util/HighsMatrixUtils.h +1 -1
- casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
- casadi/include/highs/util/HighsRandom.h +27 -15
- casadi/include/highs/util/HighsRbTree.h +2 -2
- casadi/include/highs/util/HighsSort.h +7 -7
- casadi/include/highs/util/HighsSparseMatrix.h +5 -2
- casadi/include/highs/util/HighsSparseVectorSum.h +2 -2
- casadi/include/highs/util/HighsSplay.h +1 -1
- casadi/include/highs/util/HighsTimer.h +18 -9
- casadi/include/highs/util/HighsUtils.h +15 -8
- casadi/include/highs/util/stringutil.h +9 -4
- casadi/include/highs/zstr/strict_fstream.hpp +237 -0
- casadi/include/highs/zstr/zstr.hpp +472 -0
- casadi/include/highs_export.h +42 -0
- casadi/include/licenses/daqp-external/LICENSE +21 -0
- casadi/include/licenses/fatrop-external/LICENSE.txt +165 -0
- casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
- casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
- casadi/include/licenses/highs-external/{LICENSE → LICENSE.txt} +1 -1
- casadi/include/osqp/constants.h +2 -3
- casadi/include/osqp/version.h +9 -0
- casadi/include/sleqp/defs.h +2 -2
- casadi/ipopt.lib +0 -0
- casadi/lapack.lib +0 -0
- casadi/lib/libtinyxml2.dll.a +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_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_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/libcoinmetis.la +1 -1
- 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/libdaqpstat.a +0 -0
- casadi/{libFortranHighs.dll → 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.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/libtinyxml2.dll +0 -0
- casadi/libtrlib.dll +0 -0
- casadi/libtrlib.dll.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/sleqp.lib +0 -0
- casadi/spral_ssids.exe +0 -0
- casadi/tools/__init__.py +4 -0
- casadi/tools/bounds.py +3 -3
- {casadi-3.6.5.dist-info → casadi-3.6.7.dist-info}/METADATA +2 -2
- {casadi-3.6.5.dist-info → casadi-3.6.7.dist-info}/RECORD +503 -325
- casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
- casadi/libFortranHighs.dll.a +0 -0
- {casadi-3.6.5.dist-info → casadi-3.6.7.dist-info}/WHEEL +0 -0
@@ -2,7 +2,7 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
6
|
/* Leona Gottwald and Michael Feldmeier */
|
7
7
|
/* */
|
8
8
|
/* Available as open-source under the MIT License */
|
@@ -10,8 +10,20 @@
|
|
10
10
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
11
11
|
#ifndef HIGHS_C_API
|
12
12
|
#define HIGHS_C_API
|
13
|
-
|
14
|
-
|
13
|
+
//
|
14
|
+
// Welcome to the HiGHS C API!
|
15
|
+
//
|
16
|
+
// The simplest way to use HiGHS to solve an LP, MIP or QP from C is
|
17
|
+
// to pass the problem data to the appropriate method Highs_lpCall,
|
18
|
+
// Highs_mipCall or Highs_qpCall, and these methods return the
|
19
|
+
// appropriate solution information
|
20
|
+
//
|
21
|
+
// For sophisticated applications, where esoteric solutiuon
|
22
|
+
// information is needed, or if a sequence of modified models need to
|
23
|
+
// be solved, use the Highs_create method to generate a pointer to an
|
24
|
+
// instance of the C++ Highs class, and then use any of a large number
|
25
|
+
// of models for which this pointer is the first parameter.
|
26
|
+
//
|
15
27
|
#include "lp_data/HighsCallbackStruct.h"
|
16
28
|
|
17
29
|
const HighsInt kHighsMaximumStringLength = 512;
|
@@ -60,6 +72,7 @@ const HighsInt kHighsPresolveStatusReducedToEmpty = 4;
|
|
60
72
|
const HighsInt kHighsPresolveStatusTimeout = 5;
|
61
73
|
const HighsInt kHighsPresolveStatusNullError = 6;
|
62
74
|
const HighsInt kHighsPresolveStatusOptionsError = 7;
|
75
|
+
const HighsInt kHighsPresolveStatusOutOfMemory = 8;
|
63
76
|
|
64
77
|
const HighsInt kHighsModelStatusNotset = 0;
|
65
78
|
const HighsInt kHighsModelStatusLoadError = 1;
|
@@ -89,9 +102,36 @@ const HighsInt kHighsBasisStatusNonbasic = 4;
|
|
89
102
|
const HighsInt kHighsCallbackLogging = 0;
|
90
103
|
const HighsInt kHighsCallbackSimplexInterrupt = 1;
|
91
104
|
const HighsInt kHighsCallbackIpmInterrupt = 2;
|
92
|
-
const HighsInt
|
93
|
-
const HighsInt
|
94
|
-
const HighsInt
|
105
|
+
const HighsInt kHighsCallbackMipSolution = 3;
|
106
|
+
const HighsInt kHighsCallbackMipImprovingSolution = 4;
|
107
|
+
const HighsInt kHighsCallbackMipLogging = 5;
|
108
|
+
const HighsInt kHighsCallbackMipInterrupt = 6;
|
109
|
+
const HighsInt kHighsCallbackMipGetCutPool = 7;
|
110
|
+
const HighsInt kHighsCallbackMipDefineLazyConstraints = 8;
|
111
|
+
|
112
|
+
const char* const kHighsCallbackDataOutLogTypeName = "log_type";
|
113
|
+
const char* const kHighsCallbackDataOutRunningTimeName = "running_time";
|
114
|
+
const char* const kHighsCallbackDataOutSimplexIterationCountName =
|
115
|
+
"simplex_iteration_count";
|
116
|
+
const char* const kHighsCallbackDataOutIpmIterationCountName =
|
117
|
+
"ipm_iteration_count";
|
118
|
+
const char* const kHighsCallbackDataOutPdlpIterationCountName =
|
119
|
+
"pdlp_iteration_count";
|
120
|
+
const char* const kHighsCallbackDataOutObjectiveFunctionValueName =
|
121
|
+
"objective_function_value";
|
122
|
+
const char* const kHighsCallbackDataOutMipNodeCountName = "mip_node_count";
|
123
|
+
const char* const kHighsCallbackDataOutMipPrimalBoundName = "mip_primal_bound";
|
124
|
+
const char* const kHighsCallbackDataOutMipDualBoundName = "mip_dual_bound";
|
125
|
+
const char* const kHighsCallbackDataOutMipGapName = "mip_gap";
|
126
|
+
const char* const kHighsCallbackDataOutMipSolutionName = "mip_solution";
|
127
|
+
const char* const kHighsCallbackDataOutCutpoolNumColName = "cutpool_num_col";
|
128
|
+
const char* const kHighsCallbackDataOutCutpoolNumCutName = "cutpool_num_cut";
|
129
|
+
const char* const kHighsCallbackDataOutCutpoolNumNzName = "cutpool_num_nz";
|
130
|
+
const char* const kHighsCallbackDataOutCutpoolStartName = "cutpool_start";
|
131
|
+
const char* const kHighsCallbackDataOutCutpoolIndexName = "cutpool_index";
|
132
|
+
const char* const kHighsCallbackDataOutCutpoolValueName = "cutpool_value";
|
133
|
+
const char* const kHighsCallbackDataOutCutpoolLowerName = "cutpool_lower";
|
134
|
+
const char* const kHighsCallbackDataOutCutpoolUpperName = "cutpool_upper";
|
95
135
|
|
96
136
|
#ifdef __cplusplus
|
97
137
|
extern "C" {
|
@@ -261,13 +301,6 @@ HighsInt Highs_versionPatch(void);
|
|
261
301
|
*/
|
262
302
|
const char* Highs_githash(void);
|
263
303
|
|
264
|
-
/**
|
265
|
-
* Return the HiGHS compilation date.
|
266
|
-
*
|
267
|
-
* @returns Thse HiGHS compilation date.
|
268
|
-
*/
|
269
|
-
const char* Highs_compilationDate(void);
|
270
|
-
|
271
304
|
/**
|
272
305
|
* Read a model from `filename` into `highs`.
|
273
306
|
*
|
@@ -288,6 +321,16 @@ HighsInt Highs_readModel(void* highs, const char* filename);
|
|
288
321
|
*/
|
289
322
|
HighsInt Highs_writeModel(void* highs, const char* filename);
|
290
323
|
|
324
|
+
/**
|
325
|
+
* Write the presolved model in `highs` to `filename`.
|
326
|
+
*
|
327
|
+
* @param highs A pointer to the Highs instance.
|
328
|
+
* @param filename The filename to write.
|
329
|
+
*
|
330
|
+
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
331
|
+
*/
|
332
|
+
HighsInt Highs_writePresolvedModel(void* highs, const char* filename);
|
333
|
+
|
291
334
|
/**
|
292
335
|
* Reset the options and then call `clearModel`.
|
293
336
|
*
|
@@ -321,6 +364,15 @@ HighsInt Highs_clearModel(void* highs);
|
|
321
364
|
*/
|
322
365
|
HighsInt Highs_clearSolver(void* highs);
|
323
366
|
|
367
|
+
/**
|
368
|
+
* Presolve a model.
|
369
|
+
*
|
370
|
+
* @param highs A pointer to the Highs instance.
|
371
|
+
*
|
372
|
+
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
373
|
+
*/
|
374
|
+
HighsInt Highs_presolve(void* highs);
|
375
|
+
|
324
376
|
/**
|
325
377
|
* Optimize a model. The algorithm used by HiGHS depends on the options that
|
326
378
|
* have been set.
|
@@ -331,6 +383,22 @@ HighsInt Highs_clearSolver(void* highs);
|
|
331
383
|
*/
|
332
384
|
HighsInt Highs_run(void* highs);
|
333
385
|
|
386
|
+
/**
|
387
|
+
* Postsolve a model using a primal (and possibly dual) solution.
|
388
|
+
*
|
389
|
+
* @param highs A pointer to the Highs instance.
|
390
|
+
* @param col_value An array of length [num_col] with the column solution
|
391
|
+
* values.
|
392
|
+
* @param col_dual An array of length [num_col] with the column dual
|
393
|
+
* values, or a null pointer if not known.
|
394
|
+
* @param row_dual An array of length [num_row] with the row dual values,
|
395
|
+
* or a null pointer if not known.
|
396
|
+
*
|
397
|
+
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
398
|
+
*/
|
399
|
+
HighsInt Highs_postsolve(void* highs, const double* col_value,
|
400
|
+
const double* col_dual, const double* row_dual);
|
401
|
+
|
334
402
|
/**
|
335
403
|
* Write the solution information (including dual and basis status, if
|
336
404
|
* available) to a file.
|
@@ -349,7 +417,7 @@ HighsInt Highs_writeSolution(const void* highs, const char* filename);
|
|
349
417
|
* available) to a file in a human-readable format.
|
350
418
|
*
|
351
419
|
* The method identical to `Highs_writeSolution`, except that the
|
352
|
-
* printout is in a human-
|
420
|
+
* printout is in a human-readable format.
|
353
421
|
*
|
354
422
|
* @param highs A pointer to the Highs instance.
|
355
423
|
* @param filename The name of the file to write the results to.
|
@@ -437,7 +505,7 @@ HighsInt Highs_passMip(void* highs, const HighsInt num_col,
|
|
437
505
|
* @param q_value An array of length [q_num_nz] with values of matrix
|
438
506
|
* entries. If the model is linear, pass NULL.
|
439
507
|
* @param integrality An array of length [num_col] containing a `kHighsVarType`
|
440
|
-
*
|
508
|
+
* constant for each column.
|
441
509
|
*
|
442
510
|
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
443
511
|
*/
|
@@ -967,10 +1035,10 @@ HighsInt Highs_getBasisSolve(const void* highs, const double* rhs,
|
|
967
1035
|
*
|
968
1036
|
* @param highs A pointer to the Highs instance.
|
969
1037
|
* @param rhs The right-hand side vector ``b``
|
970
|
-
* @param solution_vector An array of length [num_row] in
|
1038
|
+
* @param solution_vector An array of length [num_row] in which to store the
|
971
1039
|
* values of the non-zero elements.
|
972
1040
|
* @param solution_num_nz The number of non-zeros in the solution.
|
973
|
-
* @param solution_index An array of length [num_row] in
|
1041
|
+
* @param solution_index An array of length [num_row] in which to store the
|
974
1042
|
* indices of the non-zero elements.
|
975
1043
|
*
|
976
1044
|
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
@@ -1078,12 +1146,8 @@ HighsInt Highs_setSolution(void* highs, const double* col_value,
|
|
1078
1146
|
*
|
1079
1147
|
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
1080
1148
|
*/
|
1081
|
-
HighsInt Highs_setCallback(
|
1082
|
-
|
1083
|
-
void (*user_callback)(const int, const char*,
|
1084
|
-
const struct HighsCallbackDataOut*,
|
1085
|
-
struct HighsCallbackDataIn*, void*),
|
1086
|
-
void* user_callback_data);
|
1149
|
+
HighsInt Highs_setCallback(void* highs, HighsCCallbackType user_callback,
|
1150
|
+
void* user_callback_data);
|
1087
1151
|
|
1088
1152
|
/**
|
1089
1153
|
* Start callback of given type
|
@@ -1325,6 +1389,15 @@ HighsInt Highs_changeColsIntegralityBySet(void* highs,
|
|
1325
1389
|
HighsInt Highs_changeColsIntegralityByMask(void* highs, const HighsInt* mask,
|
1326
1390
|
const HighsInt* integrality);
|
1327
1391
|
|
1392
|
+
/**
|
1393
|
+
* Clear the integrality of all columns
|
1394
|
+
*
|
1395
|
+
* @param highs A pointer to the Highs instance.
|
1396
|
+
*
|
1397
|
+
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
1398
|
+
*/
|
1399
|
+
HighsInt Highs_clearIntegrality(void* highs);
|
1400
|
+
|
1328
1401
|
/**
|
1329
1402
|
* Change the objective coefficient of a column.
|
1330
1403
|
*
|
@@ -1844,6 +1917,15 @@ HighsInt Highs_scaleRow(void* highs, const HighsInt row, const double scaleval);
|
|
1844
1917
|
*/
|
1845
1918
|
double Highs_getInfinity(const void* highs);
|
1846
1919
|
|
1920
|
+
/**
|
1921
|
+
* Return the size of integers used by HiGHS.
|
1922
|
+
*
|
1923
|
+
* @param highs A pointer to the Highs instance.
|
1924
|
+
*
|
1925
|
+
* @returns The size of integers used by HiGHS.
|
1926
|
+
*/
|
1927
|
+
HighsInt Highs_getSizeofHighsInt(const void* highs);
|
1928
|
+
|
1847
1929
|
/**
|
1848
1930
|
* Return the number of columns in the model.
|
1849
1931
|
*
|
@@ -1880,6 +1962,35 @@ HighsInt Highs_getNumNz(const void* highs);
|
|
1880
1962
|
*/
|
1881
1963
|
HighsInt Highs_getHessianNumNz(const void* highs);
|
1882
1964
|
|
1965
|
+
/**
|
1966
|
+
* Return the number of columns in the presolved model.
|
1967
|
+
*
|
1968
|
+
* @param highs A pointer to the Highs instance.
|
1969
|
+
*
|
1970
|
+
* @returns The number of columns in the presolved model.
|
1971
|
+
*/
|
1972
|
+
HighsInt Highs_getPresolvedNumCol(const void* highs);
|
1973
|
+
|
1974
|
+
/**
|
1975
|
+
* Return the number of rows in the presolved model.
|
1976
|
+
*
|
1977
|
+
* @param highs A pointer to the Highs instance.
|
1978
|
+
*
|
1979
|
+
* @returns The number of rows in the presolved model.
|
1980
|
+
*/
|
1981
|
+
HighsInt Highs_getPresolvedNumRow(const void* highs);
|
1982
|
+
|
1983
|
+
/**
|
1984
|
+
* Return the number of nonzeros in the constraint matrix of the presolved
|
1985
|
+
* model.
|
1986
|
+
*
|
1987
|
+
* @param highs A pointer to the Highs instance.
|
1988
|
+
*
|
1989
|
+
* @returns The number of nonzeros in the constraint matrix of the presolved
|
1990
|
+
* model.
|
1991
|
+
*/
|
1992
|
+
HighsInt Highs_getPresolvedNumNz(const void* highs);
|
1993
|
+
|
1883
1994
|
/**
|
1884
1995
|
* Get the data from a HiGHS model.
|
1885
1996
|
*
|
@@ -1906,6 +2017,52 @@ HighsInt Highs_getModel(const void* highs, const HighsInt a_format,
|
|
1906
2017
|
HighsInt* q_start, HighsInt* q_index, double* q_value,
|
1907
2018
|
HighsInt* integrality);
|
1908
2019
|
|
2020
|
+
/**
|
2021
|
+
* Get the data from a HiGHS LP.
|
2022
|
+
*
|
2023
|
+
* The input arguments have the same meaning (in a different order) to those
|
2024
|
+
* used in `Highs_passModel`.
|
2025
|
+
*
|
2026
|
+
* Note that all arrays must be pre-allocated to the correct size before calling
|
2027
|
+
* `Highs_getModel`. Use the following query methods to check the appropriate
|
2028
|
+
* size:
|
2029
|
+
* - `Highs_getNumCol`
|
2030
|
+
* - `Highs_getNumRow`
|
2031
|
+
* - `Highs_getNumNz`
|
2032
|
+
*
|
2033
|
+
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
2034
|
+
*/
|
2035
|
+
HighsInt Highs_getLp(const void* highs, const HighsInt a_format,
|
2036
|
+
HighsInt* num_col, HighsInt* num_row, HighsInt* num_nz,
|
2037
|
+
HighsInt* sense, double* offset, double* col_cost,
|
2038
|
+
double* col_lower, double* col_upper, double* row_lower,
|
2039
|
+
double* row_upper, HighsInt* a_start, HighsInt* a_index,
|
2040
|
+
double* a_value, HighsInt* integrality);
|
2041
|
+
|
2042
|
+
/**
|
2043
|
+
* Get the data from a HiGHS presolved LP.
|
2044
|
+
*
|
2045
|
+
* The input arguments have the same meaning (in a different order) to those
|
2046
|
+
* used in `Highs_passModel`.
|
2047
|
+
*
|
2048
|
+
* Note that all arrays must be pre-allocated to the correct size before calling
|
2049
|
+
* `Highs_getModel`. Use the following query methods to check the appropriate
|
2050
|
+
* size:
|
2051
|
+
* - `Highs_getPresolvedNumCol`
|
2052
|
+
* - `Highs_getPresolvedNumRow`
|
2053
|
+
* - `Highs_getPresolvedNumNz`
|
2054
|
+
*
|
2055
|
+
* @returns A `kHighsStatus` constant indicating whether the call succeeded.
|
2056
|
+
*/
|
2057
|
+
HighsInt Highs_getPresolvedLp(const void* highs, const HighsInt a_format,
|
2058
|
+
HighsInt* num_col, HighsInt* num_row,
|
2059
|
+
HighsInt* num_nz, HighsInt* sense, double* offset,
|
2060
|
+
double* col_cost, double* col_lower,
|
2061
|
+
double* col_upper, double* row_lower,
|
2062
|
+
double* row_upper, HighsInt* a_start,
|
2063
|
+
HighsInt* a_index, double* a_value,
|
2064
|
+
HighsInt* integrality);
|
2065
|
+
|
1909
2066
|
/**
|
1910
2067
|
* Set a primal (and possibly dual) solution as a starting point, then run
|
1911
2068
|
* crossover to compute a basic feasible solution.
|
@@ -1930,7 +2087,7 @@ HighsInt Highs_crossover(void* highs, const int num_col, const int num_row,
|
|
1930
2087
|
|
1931
2088
|
/**
|
1932
2089
|
* Compute the ranging information for all costs and bounds. For
|
1933
|
-
* nonbasic variables the ranging
|
2090
|
+
* nonbasic variables the ranging information is relative to the
|
1934
2091
|
* active bound. For basic variables the ranging information relates
|
1935
2092
|
* to...
|
1936
2093
|
*
|
@@ -2019,10 +2176,29 @@ HighsInt Highs_getRanging(
|
|
2019
2176
|
*/
|
2020
2177
|
void Highs_resetGlobalScheduler(const HighsInt blocking);
|
2021
2178
|
|
2179
|
+
/**
|
2180
|
+
* Get a void* pointer to a callback data item
|
2181
|
+
*
|
2182
|
+
* @param data_out A pointer to the HighsCallbackDataOut instance.
|
2183
|
+
* @param item_name The name of the item.
|
2184
|
+
*
|
2185
|
+
* @returns A void* pointer to the callback data item, or NULL if item_name not
|
2186
|
+
* valid
|
2187
|
+
*/
|
2188
|
+
const void* Highs_getCallbackDataOutItem(const HighsCallbackDataOut* data_out,
|
2189
|
+
const char* item_name);
|
2190
|
+
|
2022
2191
|
// *********************
|
2023
2192
|
// * Deprecated methods*
|
2024
2193
|
// *********************
|
2025
2194
|
|
2195
|
+
/**
|
2196
|
+
* Return the HiGHS compilation date.
|
2197
|
+
*
|
2198
|
+
* @returns Thse HiGHS compilation date.
|
2199
|
+
*/
|
2200
|
+
const char* Highs_compilationDate(void);
|
2201
|
+
|
2026
2202
|
// These are deprecated because they don't follow the style guide. Constants
|
2027
2203
|
// must begin with `k`.
|
2028
2204
|
const HighsInt HighsStatuskError = -1;
|
@@ -2,7 +2,7 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
6
|
/* Leona Gottwald and Michael Feldmeier */
|
7
7
|
/* */
|
8
8
|
/* Available as open-source under the MIT License */
|
@@ -2,7 +2,7 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
6
|
/* Leona Gottwald and Michael Feldmeier */
|
7
7
|
/* */
|
8
8
|
/* Available as open-source under the MIT License */
|
@@ -2,7 +2,7 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
6
|
/* Leona Gottwald and Michael Feldmeier */
|
7
7
|
/* */
|
8
8
|
/* Available as open-source under the MIT License */
|
@@ -2,7 +2,7 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
6
|
/* Leona Gottwald and Michael Feldmeier */
|
7
7
|
/* */
|
8
8
|
/* Available as open-source under the MIT License */
|
casadi/include/highs/io/HMPSIO.h
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
6
|
/* Leona Gottwald and Michael Feldmeier */
|
7
7
|
/* */
|
8
8
|
/* Available as open-source under the MIT License */
|
casadi/include/highs/io/HMpsFF.h
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
6
|
/* Leona Gottwald and Michael Feldmeier */
|
7
7
|
/* */
|
8
8
|
/* Available as open-source under the MIT License */
|
@@ -192,8 +192,8 @@ class HMpsFF {
|
|
192
192
|
FreeFormatParserReturnCode parse(const HighsLogOptions& log_options,
|
193
193
|
const std::string& filename);
|
194
194
|
// Checks first word of strline and wraps it by it_begin and it_end
|
195
|
-
HMpsFF::Parsekey checkFirstWord(std::string& strline,
|
196
|
-
|
195
|
+
HMpsFF::Parsekey checkFirstWord(std::string& strline, size_t& start,
|
196
|
+
size_t& end, std::string& word) const;
|
197
197
|
|
198
198
|
// Get index of column from column name, possibly adding new column
|
199
199
|
// if no index is found
|
@@ -227,6 +227,8 @@ class HMpsFF {
|
|
227
227
|
bool cannotParseSection(const HighsLogOptions& log_options,
|
228
228
|
const HMpsFF::Parsekey keyword);
|
229
229
|
bool allZeroed(const std::vector<double>& value);
|
230
|
+
double getValue(const std::string& word, bool& is_nan,
|
231
|
+
const HighsInt id = -1) const;
|
230
232
|
};
|
231
233
|
|
232
234
|
} // namespace free_format_parser
|
@@ -2,7 +2,7 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
6
|
/* Leona Gottwald and Michael Feldmeier */
|
7
7
|
/* */
|
8
8
|
/* Available as open-source under the MIT License */
|
@@ -45,19 +45,29 @@ struct HighsLogOptions {
|
|
45
45
|
bool* output_flag;
|
46
46
|
bool* log_to_console;
|
47
47
|
HighsInt* log_dev_level;
|
48
|
-
void (*user_log_callback)(HighsLogType, const char*, void*)
|
49
|
-
void* user_log_callback_data
|
50
|
-
void
|
51
|
-
|
52
|
-
|
53
|
-
|
48
|
+
void (*user_log_callback)(HighsLogType, const char*, void*);
|
49
|
+
void* user_log_callback_data;
|
50
|
+
std::function<void(int, const std::string&, const HighsCallbackDataOut*,
|
51
|
+
HighsCallbackDataIn*, void*)>
|
52
|
+
user_callback;
|
53
|
+
void* user_callback_data;
|
54
|
+
bool user_callback_active;
|
54
55
|
void clear();
|
56
|
+
HighsLogOptions()
|
57
|
+
: log_stream(nullptr),
|
58
|
+
output_flag(nullptr),
|
59
|
+
log_to_console(nullptr),
|
60
|
+
log_dev_level(nullptr),
|
61
|
+
user_log_callback(nullptr),
|
62
|
+
user_log_callback_data(nullptr),
|
63
|
+
user_callback_data(nullptr),
|
64
|
+
user_callback_active(false){};
|
55
65
|
};
|
56
66
|
|
57
67
|
/**
|
58
68
|
* @brief Write the HiGHS version and copyright statement
|
59
69
|
*/
|
60
|
-
void highsLogHeader(const HighsLogOptions& log_options);
|
70
|
+
void highsLogHeader(const HighsLogOptions& log_options, const bool log_githash);
|
61
71
|
|
62
72
|
/**
|
63
73
|
* @brief Convert a double number to a string using given tolerance
|
@@ -2,7 +2,7 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
6
|
/* Leona Gottwald and Michael Feldmeier */
|
7
7
|
/* */
|
8
8
|
/* Available as open-source under the MIT License */
|
@@ -0,0 +1,35 @@
|
|
1
|
+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
2
|
+
/* */
|
3
|
+
/* This file is part of the HiGHS linear optimization suite */
|
4
|
+
/* */
|
5
|
+
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
|
+
/* Leona Gottwald and Michael Feldmeier */
|
7
|
+
/* */
|
8
|
+
/* Available as open-source under the MIT License */
|
9
|
+
/* */
|
10
|
+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
11
|
+
/**@file ipm/IpxSolution.h
|
12
|
+
* @brief
|
13
|
+
*/
|
14
|
+
#ifndef IPM_IPX_SOLUTION_H_
|
15
|
+
#define IPM_IPX_SOLUTION_H_
|
16
|
+
|
17
|
+
#include <stdint.h>
|
18
|
+
|
19
|
+
#include <vector>
|
20
|
+
|
21
|
+
#include "util/HighsInt.h"
|
22
|
+
typedef HighsInt ipxint;
|
23
|
+
|
24
|
+
struct IpxSolution {
|
25
|
+
ipxint num_col;
|
26
|
+
ipxint num_row;
|
27
|
+
std::vector<double> ipx_col_value;
|
28
|
+
std::vector<double> ipx_row_value;
|
29
|
+
std::vector<double> ipx_col_dual;
|
30
|
+
std::vector<double> ipx_row_dual;
|
31
|
+
std::vector<ipxint> ipx_col_status;
|
32
|
+
std::vector<ipxint> ipx_row_status;
|
33
|
+
};
|
34
|
+
|
35
|
+
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
/* */
|
3
3
|
/* This file is part of the HiGHS linear optimization suite */
|
4
4
|
/* */
|
5
|
-
/* Written and engineered 2008-
|
5
|
+
/* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
|
6
6
|
/* Leona Gottwald and Michael Feldmeier */
|
7
7
|
/* */
|
8
8
|
/* Available as open-source under the MIT License */
|