casadi 3.6.4__cp39-none-manylinux2014_i686.whl → 3.6.6__cp39-none-manylinux2014_i686.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- casadi/_casadi.so +0 -0
- casadi/casadi.py +984 -500
- casadi/cbc +0 -0
- casadi/clp +0 -0
- casadi/cmake/casadi-config-version.cmake +1 -1
- casadi/cmake/highs/highs-config.cmake +6 -13
- casadi/cmake/highs/highs-targets-release.cmake +13 -13
- casadi/cmake/highs/highs-targets.cmake +13 -10
- casadi/highs +0 -0
- casadi/include/casadi/casadi.i +33 -15
- 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 +13 -0
- casadi/include/casadi/core/casadi_types.hpp +3 -2
- casadi/include/casadi/core/code_generator.hpp +59 -2
- casadi/include/casadi/core/core.hpp +1 -0
- casadi/include/casadi/core/generic_expression.hpp +1 -1
- casadi/include/casadi/core/generic_type.hpp +25 -1
- casadi/include/casadi/core/global_options.hpp +2 -0
- casadi/include/casadi/core/matrix_decl.hpp +15 -0
- casadi/include/casadi/core/mx.hpp +13 -3
- casadi/include/casadi/core/optistack.hpp +23 -0
- casadi/include/casadi/core/runtime/casadi_nlp.hpp +133 -6
- 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/runtime/casadi_sqpmethod.hpp +11 -1
- casadi/include/casadi/core/serializing_stream.hpp +2 -2
- casadi/include/casadi/core/sparsity.hpp +12 -3
- casadi/include/casadi/core/tools.hpp +67 -0
- casadi/include/casadi/doc.i +2283 -1491
- casadi/include/casadi/doc_merged.i +1522 -1065
- casadi/include/casadi/mem.h +1 -0
- casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
- casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
- casadi/include/coin-or/IpAlgTypes.hpp +64 -0
- casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
- casadi/include/coin-or/IpBlas.hpp +426 -0
- casadi/include/coin-or/IpCachedResults.hpp +897 -0
- casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
- casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
- casadi/include/coin-or/IpCompoundVector.hpp +395 -0
- casadi/include/coin-or/IpConvCheck.hpp +97 -0
- casadi/include/coin-or/IpDebug.hpp +167 -0
- casadi/include/coin-or/IpDenseVector.hpp +626 -0
- casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
- casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
- casadi/include/coin-or/IpException.hpp +156 -0
- casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
- casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
- casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
- casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
- casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
- casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
- casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
- casadi/include/coin-or/IpIpoptData.hpp +966 -0
- casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
- casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
- casadi/include/coin-or/IpIteratesVector.hpp +840 -0
- casadi/include/coin-or/IpIterationOutput.hpp +78 -0
- casadi/include/coin-or/IpJournalist.hpp +573 -0
- casadi/include/coin-or/IpLapack.hpp +227 -0
- casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
- casadi/include/coin-or/IpLineSearch.hpp +106 -0
- casadi/include/coin-or/IpLinearSolvers.h +46 -0
- casadi/include/coin-or/IpMatrix.hpp +434 -0
- casadi/include/coin-or/IpMuUpdate.hpp +77 -0
- casadi/include/coin-or/IpNLP.hpp +306 -0
- casadi/include/coin-or/IpNLPScaling.hpp +582 -0
- casadi/include/coin-or/IpObserver.hpp +422 -0
- casadi/include/coin-or/IpOptionsList.hpp +412 -0
- casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
- casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
- casadi/include/coin-or/IpReferenced.hpp +262 -0
- casadi/include/coin-or/IpRegOptions.hpp +1152 -0
- casadi/include/coin-or/IpReturnCodes.h +23 -0
- casadi/include/coin-or/IpReturnCodes.hpp +18 -0
- casadi/include/coin-or/IpReturnCodes.inc +71 -0
- casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
- casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
- casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
- casadi/include/coin-or/IpSmartPtr.hpp +865 -0
- casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
- casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
- casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
- casadi/include/coin-or/IpStdCInterface.h +428 -0
- casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
- casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
- casadi/include/coin-or/IpSymMatrix.hpp +167 -0
- casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
- casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
- casadi/include/coin-or/IpTNLP.hpp +820 -0
- casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
- casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
- casadi/include/coin-or/IpTaggedObject.hpp +128 -0
- casadi/include/coin-or/IpTimedTask.hpp +218 -0
- casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
- casadi/include/coin-or/IpTripletHelper.hpp +308 -0
- casadi/include/coin-or/IpTypes.h +81 -0
- casadi/include/coin-or/IpTypes.hpp +30 -0
- casadi/include/coin-or/IpUtils.hpp +166 -0
- casadi/include/coin-or/IpVector.hpp +892 -0
- casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
- casadi/include/coin-or/IpoptConfig.h +45 -0
- casadi/include/coin-or/SensAlgorithm.hpp +114 -0
- casadi/include/coin-or/SensApplication.hpp +188 -0
- casadi/include/coin-or/SensBacksolver.hpp +36 -0
- casadi/include/coin-or/SensMeasurement.hpp +56 -0
- casadi/include/coin-or/SensPCalculator.hpp +137 -0
- casadi/include/coin-or/SensRegOp.hpp +21 -0
- casadi/include/coin-or/SensSchurData.hpp +182 -0
- casadi/include/coin-or/SensSchurDriver.hpp +118 -0
- casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
- casadi/include/coin-or/SensStepCalc.hpp +85 -0
- casadi/include/coin-or/SensUtils.hpp +63 -0
- casadi/include/coin-or/metis/defs.h +161 -0
- casadi/include/coin-or/metis/macros.h +143 -0
- casadi/include/coin-or/metis/metis.h +37 -0
- casadi/include/coin-or/metis/proto.h +505 -0
- casadi/include/coin-or/metis/rename.h +418 -0
- casadi/include/coin-or/metis/struct.h +251 -0
- casadi/include/coin-or/mumps/dmumps_c.h +142 -0
- casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
- casadi/include/coin-or/mumps/mumps_compat.h +27 -0
- casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
- casadi/include/coin-or/mumps/mumps_mpi.h +67 -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/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/licenses/daqp-external/LICENSE +21 -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/lib/libtinyxml2.a +0 -0
- casadi/libCbc.so +0 -0
- casadi/libCbc.so.3 +0 -0
- casadi/libCbc.so.3.10.11 +0 -0
- casadi/libCbcSolver.so +0 -0
- casadi/libCbcSolver.so.3 +0 -0
- casadi/libCbcSolver.so.3.10.11 +0 -0
- casadi/libCgl.so +0 -0
- casadi/libCgl.so.1 +0 -0
- casadi/libCgl.so.1.10.8 +0 -0
- casadi/libClp.so +0 -0
- casadi/libClp.so.1 +0 -0
- casadi/libClp.so.1.14.9 +0 -0
- casadi/libClpSolver.so +0 -0
- casadi/libClpSolver.so.1 +0 -0
- casadi/libClpSolver.so.1.14.9 +0 -0
- casadi/libCoinUtils.so +0 -0
- casadi/libCoinUtils.so.3 +0 -0
- casadi/libCoinUtils.so.3.11.10 +0 -0
- casadi/libOsi.so +0 -0
- casadi/libOsi.so.1 +0 -0
- casadi/libOsi.so.1.13.9 +0 -0
- casadi/libOsiCbc.so +0 -0
- casadi/libOsiCbc.so.3 +0 -0
- casadi/libOsiCbc.so.3.10.11 +0 -0
- casadi/libOsiClp.so +0 -0
- casadi/libOsiClp.so.1 +0 -0
- casadi/libOsiClp.so.1.14.9 +0 -0
- casadi/libOsiCommonTests.so +0 -0
- casadi/libOsiCommonTests.so.1 +0 -0
- casadi/libOsiCommonTests.so.1.13.9 +0 -0
- casadi/libbonmin.so +0 -0
- casadi/libbonmin.so.4 +0 -0
- casadi/libbonmin.so.4.8.9 +0 -0
- casadi/libcasadi.so +0 -0
- casadi/libcasadi.so.3.7 +0 -0
- casadi/libcasadi_conic_cbc.so +0 -0
- casadi/libcasadi_conic_cbc.so.3.7 +0 -0
- casadi/libcasadi_conic_clp.so +0 -0
- casadi/libcasadi_conic_clp.so.3.7 +0 -0
- casadi/libcasadi_conic_daqp.so +0 -0
- casadi/libcasadi_conic_daqp.so.3.7 +0 -0
- casadi/libcasadi_conic_gurobi.so +0 -0
- casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
- casadi/libcasadi_conic_highs.so +0 -0
- casadi/libcasadi_conic_highs.so.3.7 +0 -0
- casadi/libcasadi_conic_ipqp.so +0 -0
- casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
- casadi/libcasadi_conic_nlpsol.so +0 -0
- casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
- casadi/libcasadi_conic_osqp.so +0 -0
- casadi/libcasadi_conic_osqp.so.3.7 +0 -0
- casadi/libcasadi_conic_proxqp.so +0 -0
- casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
- casadi/libcasadi_conic_qpoases.so +0 -0
- casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
- casadi/libcasadi_conic_qrqp.so +0 -0
- casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
- casadi/libcasadi_conic_superscs.so +0 -0
- casadi/libcasadi_conic_superscs.so.3.7 +0 -0
- casadi/libcasadi_integrator_collocation.so +0 -0
- casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
- casadi/libcasadi_integrator_cvodes.so +0 -0
- casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
- casadi/libcasadi_integrator_idas.so +0 -0
- casadi/libcasadi_integrator_idas.so.3.7 +0 -0
- casadi/libcasadi_integrator_rk.so +0 -0
- casadi/libcasadi_integrator_rk.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_alpaqa.so +0 -0
- casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_ampl.so +0 -0
- casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_blocksqp.so +0 -0
- casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_bonmin.so +0 -0
- casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_ipopt.so +0 -0
- casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_knitro.so +0 -0
- casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_madnlp.so +0 -0
- casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_qrsqp.so +0 -0
- casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_scpgen.so +0 -0
- casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_sleqp.so +0 -0
- casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_snopt.so +0 -0
- casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_worhp.so +0 -0
- casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_fast_newton.so +0 -0
- casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_kinsol.so +0 -0
- casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_newton.so +0 -0
- casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_nlpsol.so +0 -0
- casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
- casadi/libcasadi_sundials_common.so +0 -0
- casadi/libcasadi_sundials_common.so.3.7 +0 -0
- casadi/libdaqp.so +0 -0
- casadi/libdaqpstat.a +0 -0
- casadi/libhighs.so +0 -0
- casadi/libhighs.so.1 +0 -0
- casadi/libhighs.so.1.7.2 +0 -0
- casadi/libindirect.a +0 -0
- casadi/libipopt.so +0 -0
- casadi/libipopt.so.3 +0 -0
- casadi/libipopt.so.3.14.11 +0 -0
- casadi/liblinsys.a +0 -0
- casadi/libmatlab_ipc.so +0 -0
- casadi/libosqp.a +0 -0
- casadi/libosqp.so +0 -0
- casadi/libqdldl.a +0 -0
- casadi/libsipopt.so +0 -0
- casadi/libsipopt.so.3 +0 -0
- casadi/libsipopt.so.3.14.11 +0 -0
- casadi/libsleqp.so +0 -0
- casadi/libsleqp.so.1.0.1 +0 -0
- casadi/libspral.a +0 -0
- casadi/libsuperscs.a +0 -0
- casadi/pkgconfig/casadi.pc +1 -1
- casadi/pkgconfig/highs.pc +1 -1
- casadi/tools/__init__.py +4 -0
- casadi/tools/bounds.py +3 -3
- {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/METADATA +12 -4
- {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/RECORD +490 -281
- casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
- casadi/libFortranHighs.so +0 -0
- casadi/libhighs.so.1.6 +0 -0
- casadi/libhighs.so.1.6.0 +0 -0
- {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/WHEEL +0 -0
@@ -0,0 +1,161 @@
|
|
1
|
+
#ifndef DAQP_TYPES_H
|
2
|
+
# define DAQP_TYPES_H
|
3
|
+
|
4
|
+
# ifdef __cplusplus
|
5
|
+
extern "C" {
|
6
|
+
# endif // ifdef __cplusplus
|
7
|
+
|
8
|
+
#ifdef DAQP_SINGLE_PRECISION
|
9
|
+
typedef float c_float;
|
10
|
+
#else
|
11
|
+
typedef double c_float;
|
12
|
+
#endif
|
13
|
+
|
14
|
+
typedef struct{
|
15
|
+
|
16
|
+
// Data for the QP problem
|
17
|
+
//
|
18
|
+
// min 0.5 x'*H*x + f'x
|
19
|
+
// s.t lbA <= A*x <= ubA
|
20
|
+
// lb <= x <= ub
|
21
|
+
//
|
22
|
+
// n - dimension of x
|
23
|
+
// m - total number of constraints
|
24
|
+
// ms - number of simple bounds
|
25
|
+
// blower = [lb; lbA];
|
26
|
+
// bupper = [ub; ubA];
|
27
|
+
// (The number of rows in A is hence m-ms)
|
28
|
+
|
29
|
+
// sense define the state of the constraints
|
30
|
+
// (active, immutable, upper/lower, soft, binary).
|
31
|
+
|
32
|
+
int n;
|
33
|
+
int m;
|
34
|
+
int ms;
|
35
|
+
|
36
|
+
c_float* H;
|
37
|
+
c_float* f;
|
38
|
+
|
39
|
+
c_float* A;
|
40
|
+
c_float* bupper;
|
41
|
+
c_float* blower;
|
42
|
+
|
43
|
+
int* sense;
|
44
|
+
|
45
|
+
}DAQPProblem;
|
46
|
+
|
47
|
+
typedef struct{
|
48
|
+
c_float primal_tol;
|
49
|
+
c_float dual_tol;
|
50
|
+
c_float zero_tol;
|
51
|
+
c_float pivot_tol;
|
52
|
+
c_float progress_tol;
|
53
|
+
|
54
|
+
int cycle_tol;
|
55
|
+
int iter_limit;
|
56
|
+
c_float fval_bound;
|
57
|
+
|
58
|
+
c_float eps_prox;
|
59
|
+
c_float eta_prox;
|
60
|
+
|
61
|
+
c_float rho_soft;
|
62
|
+
|
63
|
+
c_float rel_subopt;
|
64
|
+
c_float abs_subopt;
|
65
|
+
}DAQPSettings;
|
66
|
+
|
67
|
+
|
68
|
+
typedef struct{
|
69
|
+
int bin_id;
|
70
|
+
int depth;
|
71
|
+
int WS_start;
|
72
|
+
int WS_end;
|
73
|
+
}DAQPNode;
|
74
|
+
|
75
|
+
typedef struct{
|
76
|
+
int* bin_ids;
|
77
|
+
int nb;
|
78
|
+
int neq;
|
79
|
+
|
80
|
+
DAQPNode* tree;
|
81
|
+
int n_nodes;
|
82
|
+
|
83
|
+
int* tree_WS;
|
84
|
+
int nWS;
|
85
|
+
int n_clean;
|
86
|
+
int* fixed_ids;
|
87
|
+
|
88
|
+
int nodecount;
|
89
|
+
int itercount;
|
90
|
+
}DAQPBnB;
|
91
|
+
|
92
|
+
typedef struct{
|
93
|
+
DAQPProblem* qp;
|
94
|
+
// LDP data
|
95
|
+
int n; // Number of primal variables
|
96
|
+
int m; // Number of constraints
|
97
|
+
int ms; // Number of simple bounds
|
98
|
+
c_float *M; // M' M is the Hessian of the dual objective function (dimensions: n x m)
|
99
|
+
c_float *dupper; // Linear part of dual objective function (dimensions: m x 1)
|
100
|
+
c_float *dlower; // Linear part of dual objective function (dimensions: m x 1)
|
101
|
+
c_float *Rinv; // Inverse of upper cholesky factor of primal Hessian
|
102
|
+
c_float *v; // v = R'\f (used to transform QP to LDP
|
103
|
+
int *sense; // State of constraints
|
104
|
+
c_float *scaling; // normalizations
|
105
|
+
c_float *RinvD; // in case Rinv is diagonal
|
106
|
+
|
107
|
+
|
108
|
+
// Iterates
|
109
|
+
c_float *x; // The final primal solution
|
110
|
+
c_float *xold; // The latest primal solution (used for proximal-point iteratios)
|
111
|
+
|
112
|
+
c_float* lam; // Dual iterate
|
113
|
+
c_float* lam_star; // Current constrained stationary point
|
114
|
+
c_float* u; // Stores Mk' lam_star
|
115
|
+
c_float fval;
|
116
|
+
|
117
|
+
// LDL factors (Mk Mk' = L D L')
|
118
|
+
c_float *L;
|
119
|
+
c_float *D;
|
120
|
+
// Intermittent variables (LDL')
|
121
|
+
c_float* xldl; // Solution to L xdldl = -dk
|
122
|
+
c_float* zldl; // zldl_i = xldl_i/D_i
|
123
|
+
int reuse_ind; // How much work that can be saved when solving Mk Mk' lam* = -dk
|
124
|
+
|
125
|
+
int *WS; // Working set, size: maximum number of constraints (n+ns+1)
|
126
|
+
int n_active; // Number of active contraints
|
127
|
+
|
128
|
+
int iterations;
|
129
|
+
int sing_ind; // Flag for denoting whether Mk Mk' is singular or not
|
130
|
+
|
131
|
+
|
132
|
+
// Soft constraint
|
133
|
+
c_float soft_slack;
|
134
|
+
#ifdef SOFT_WEIGHTS
|
135
|
+
// The softened objective is given by
|
136
|
+
// min 0.5 x'*H*x + f'x + 0.5 su'su+0.5*sl'sl,
|
137
|
+
// and the softened constraints are given by (similar for simple bounds)
|
138
|
+
// lbA-rho_ls*sl <= A*x <= ubA+rho_us*su,
|
139
|
+
// with the bounds sl >= d_ls, su >= d_us
|
140
|
+
// note that lbA/ubA is assumed to be shifted with rho_ls*d_ls and rho_us*d_us
|
141
|
+
// since the slacks are assumed to be active at their bounds by default.
|
142
|
+
|
143
|
+
// size of the following is m; values are only used if index set to SOFT.
|
144
|
+
c_float *d_ls;
|
145
|
+
c_float *d_us;
|
146
|
+
c_float *rho_ls;
|
147
|
+
c_float *rho_us;
|
148
|
+
#endif
|
149
|
+
|
150
|
+
// Settings
|
151
|
+
DAQPSettings* settings;
|
152
|
+
|
153
|
+
// BnB
|
154
|
+
DAQPBnB* bnb;
|
155
|
+
}DAQPWorkspace;
|
156
|
+
|
157
|
+
# ifdef __cplusplus
|
158
|
+
}
|
159
|
+
# endif // ifdef __cplusplus
|
160
|
+
|
161
|
+
#endif //ifndef DAQP_TYPES_H
|
@@ -0,0 +1,44 @@
|
|
1
|
+
#ifndef DAQP_UTILS_H
|
2
|
+
# define DAQP_UTILS_H
|
3
|
+
|
4
|
+
# ifdef __cplusplus
|
5
|
+
extern "C" {
|
6
|
+
# endif // ifdef __cplusplus
|
7
|
+
|
8
|
+
#include "daqp.h"
|
9
|
+
// Utils for transforming QP to LDP
|
10
|
+
int update_ldp(const int mask, DAQPWorkspace *work);
|
11
|
+
int update_Rinv(DAQPWorkspace *work);
|
12
|
+
void update_M(DAQPWorkspace *work, const int mask);
|
13
|
+
void update_v(c_float *f, DAQPWorkspace *work, const int mask);
|
14
|
+
void update_d(DAQPWorkspace *work);
|
15
|
+
void normalize_Rinv(DAQPWorkspace *work);
|
16
|
+
void normalize_M(DAQPWorkspace *work);
|
17
|
+
//
|
18
|
+
// Utils for profiling
|
19
|
+
#ifdef PROFILING
|
20
|
+
#ifdef _WIN32
|
21
|
+
#include <windows.h>
|
22
|
+
typedef struct{
|
23
|
+
LARGE_INTEGER start;
|
24
|
+
LARGE_INTEGER stop;
|
25
|
+
}DAQPtimer;
|
26
|
+
#else // not _WIN32
|
27
|
+
#include <time.h>
|
28
|
+
typedef struct{
|
29
|
+
struct timespec start;
|
30
|
+
struct timespec stop;
|
31
|
+
}DAQPtimer;
|
32
|
+
#endif // _WIN32
|
33
|
+
|
34
|
+
|
35
|
+
void tic(DAQPtimer *timer);
|
36
|
+
void toc(DAQPtimer *timer);
|
37
|
+
double get_time(DAQPtimer *timer);
|
38
|
+
#endif // PROFILING
|
39
|
+
|
40
|
+
# ifdef __cplusplus
|
41
|
+
}
|
42
|
+
# endif // ifdef __cplusplus
|
43
|
+
|
44
|
+
#endif //ifndef DAQP_UTILS_H
|
casadi/include/highs/HConfig.h
CHANGED
@@ -1,20 +1,21 @@
|
|
1
1
|
#ifndef HCONFIG_H_
|
2
2
|
#define HCONFIG_H_
|
3
3
|
|
4
|
-
|
4
|
+
#define FAST_BUILD
|
5
5
|
#define ZLIB_FOUND
|
6
|
+
/* #undef CUPDLP_CPU */
|
6
7
|
#define CMAKE_BUILD_TYPE "Release"
|
7
8
|
#define CMAKE_INSTALL_PREFIX "/work/build/external_projects"
|
8
9
|
/* #undef HIGHSINT64 */
|
10
|
+
/* #undef HIGHS_NO_DEFAULT_THREADS */
|
9
11
|
#define HIGHS_HAVE_MM_PAUSE
|
10
12
|
#define HIGHS_HAVE_BUILTIN_CLZ
|
11
13
|
/* #undef HIGHS_HAVE_BITSCAN_REVERSE */
|
12
14
|
|
13
|
-
#define HIGHS_GITHASH "
|
14
|
-
#define HIGHS_COMPILATION_DATE "2023-11-07"
|
15
|
+
#define HIGHS_GITHASH "5ce7a2753"
|
15
16
|
#define HIGHS_VERSION_MAJOR 1
|
16
|
-
#define HIGHS_VERSION_MINOR
|
17
|
-
#define HIGHS_VERSION_PATCH
|
17
|
+
#define HIGHS_VERSION_MINOR 7
|
18
|
+
#define HIGHS_VERSION_PATCH 2
|
18
19
|
#define HIGHS_DIR "/work/build/external_projects/src/highs-external"
|
19
20
|
|
20
21
|
#endif /* HCONFIG_H_ */
|
casadi/include/highs/Highs.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 */
|
@@ -37,7 +37,6 @@ HighsInt highsVersionMajor();
|
|
37
37
|
HighsInt highsVersionMinor();
|
38
38
|
HighsInt highsVersionPatch();
|
39
39
|
const char* highsGithash();
|
40
|
-
const char* highsCompilationDate();
|
41
40
|
|
42
41
|
/**
|
43
42
|
* @brief Class to set parameters and run HiGHS
|
@@ -78,11 +77,6 @@ class Highs {
|
|
78
77
|
*/
|
79
78
|
std::string githash() const { return highsGithash(); }
|
80
79
|
|
81
|
-
/**
|
82
|
-
* @brief Return compilation date
|
83
|
-
*/
|
84
|
-
std::string compilationDate() const { return highsCompilationDate(); }
|
85
|
-
|
86
80
|
/**
|
87
81
|
* @brief Reset the options and then call clearModel()
|
88
82
|
*/
|
@@ -384,6 +378,13 @@ class Highs {
|
|
384
378
|
*/
|
385
379
|
double getInfinity() { return kHighsInf; }
|
386
380
|
|
381
|
+
/**
|
382
|
+
* @brief Get the size of HighsInt
|
383
|
+
*/
|
384
|
+
HighsInt getSizeofHighsInt() {
|
385
|
+
return sizeof(options_.num_user_settable_options_);
|
386
|
+
}
|
387
|
+
|
387
388
|
/**
|
388
389
|
* @brief Get the run time of HiGHS
|
389
390
|
*/
|
@@ -409,6 +410,22 @@ class Highs {
|
|
409
410
|
*/
|
410
411
|
const HighsPresolveLog& getPresolveLog() const { return presolve_log_; }
|
411
412
|
|
413
|
+
/**
|
414
|
+
* @brief Return a const pointer to the original column indices for
|
415
|
+
* the presolved model
|
416
|
+
*/
|
417
|
+
const HighsInt* getPresolveOrigColsIndex() const {
|
418
|
+
return presolve_.data_.postSolveStack.getOrigColsIndex();
|
419
|
+
}
|
420
|
+
|
421
|
+
/**
|
422
|
+
* @brief Return a const pointer to the original row indices for the
|
423
|
+
* presolved model
|
424
|
+
*/
|
425
|
+
const HighsInt* getPresolveOrigRowsIndex() const {
|
426
|
+
return presolve_.data_.postSolveStack.getOrigRowsIndex();
|
427
|
+
}
|
428
|
+
|
412
429
|
/**
|
413
430
|
* @brief Return a const reference to the incumbent LP
|
414
431
|
*/
|
@@ -482,6 +499,14 @@ class Highs {
|
|
482
499
|
*/
|
483
500
|
HighsStatus getRanging(HighsRanging& ranging);
|
484
501
|
|
502
|
+
/**
|
503
|
+
* @brief Get the ill-conditioning information for the current basis
|
504
|
+
*/
|
505
|
+
HighsStatus getIllConditioning(HighsIllConditioning& ill_conditioning,
|
506
|
+
const bool constraint,
|
507
|
+
const HighsInt method = 0,
|
508
|
+
const double ill_conditioning_bound = 1e-4);
|
509
|
+
|
485
510
|
/**
|
486
511
|
* @brief Get the current model objective value
|
487
512
|
*/
|
@@ -617,7 +642,7 @@ class Highs {
|
|
617
642
|
* @brief Get multiple columns from the model given by a set
|
618
643
|
*/
|
619
644
|
HighsStatus getCols(
|
620
|
-
const HighsInt num_set_entries, //!< The number of
|
645
|
+
const HighsInt num_set_entries, //!< The number of indices in the set
|
621
646
|
const HighsInt* set, //!< Array of size num_set_entries with indices of
|
622
647
|
//!< columns to get
|
623
648
|
HighsInt& num_col, //!< Number of columns got from the model
|
@@ -689,7 +714,7 @@ class Highs {
|
|
689
714
|
* @brief Get multiple rows from the model given by a set
|
690
715
|
*/
|
691
716
|
HighsStatus getRows(
|
692
|
-
const HighsInt num_set_entries, //!< The number of
|
717
|
+
const HighsInt num_set_entries, //!< The number of indices in the set
|
693
718
|
const HighsInt*
|
694
719
|
set, //!< Array of size num_set_entries with indices of rows to get
|
695
720
|
HighsInt& num_row, //!< Number of rows got from the model
|
@@ -739,6 +764,17 @@ class Highs {
|
|
739
764
|
*/
|
740
765
|
HighsStatus writeModel(const std::string& filename = "");
|
741
766
|
|
767
|
+
/**
|
768
|
+
* @brief Write out the incumbent presolved model to a file
|
769
|
+
*/
|
770
|
+
HighsStatus writePresolvedModel(const std::string& filename = "");
|
771
|
+
|
772
|
+
/**
|
773
|
+
* @brief Write out the given model to a file
|
774
|
+
*/
|
775
|
+
HighsStatus writeLocalModel(HighsModel& model,
|
776
|
+
const std::string& filename = "");
|
777
|
+
|
742
778
|
/**
|
743
779
|
* @brief Write out the internal HighsBasis instance to a file
|
744
780
|
*/
|
@@ -786,6 +822,14 @@ class Highs {
|
|
786
822
|
HighsStatus changeColsIntegrality(const HighsInt* mask,
|
787
823
|
const HighsVarType* integrality);
|
788
824
|
|
825
|
+
/**
|
826
|
+
* @brief Clear the integrality of all columns
|
827
|
+
*/
|
828
|
+
HighsStatus clearIntegrality() {
|
829
|
+
this->model_.lp_.integrality_.clear();
|
830
|
+
return HighsStatus::kOk;
|
831
|
+
}
|
832
|
+
|
789
833
|
/**
|
790
834
|
* @brief Change the cost of a column
|
791
835
|
*/
|
@@ -900,7 +944,7 @@ class Highs {
|
|
900
944
|
* @brief Adds a variable to the incumbent model, without the cost or matrix
|
901
945
|
* coefficients
|
902
946
|
*/
|
903
|
-
HighsStatus addVar(const double lower, const double upper) {
|
947
|
+
HighsStatus addVar(const double lower = 0, const double upper = kHighsInf) {
|
904
948
|
return this->addVars(1, &lower, &upper);
|
905
949
|
}
|
906
950
|
|
@@ -943,8 +987,9 @@ class Highs {
|
|
943
987
|
|
944
988
|
/**
|
945
989
|
* @brief Delete multiple columns from the incumbent model given by
|
946
|
-
* a mask (full length array with 1 =>
|
947
|
-
* of any column
|
990
|
+
* a mask (full length array with 1 => delete; 0 => keep). New index
|
991
|
+
* of any column kept is returned in place of the value 0. For
|
992
|
+
* deleted columns, a value of -1 is returned.
|
948
993
|
*/
|
949
994
|
HighsStatus deleteCols(HighsInt* mask);
|
950
995
|
|
@@ -964,9 +1009,10 @@ class Highs {
|
|
964
1009
|
}
|
965
1010
|
|
966
1011
|
/**
|
967
|
-
* @brief Delete multiple variables from the incumbent model given
|
968
|
-
* a mask (full length array with 1 =>
|
969
|
-
* of any variable not deleted is returned in place of the
|
1012
|
+
* @brief Delete multiple variables from the incumbent model given
|
1013
|
+
* by a mask (full length array with 1 => delete; 0 => keep). New
|
1014
|
+
* index of any variable not deleted is returned in place of the
|
1015
|
+
* value 0. For deleted variables, a value of -1 is returned.
|
970
1016
|
*/
|
971
1017
|
HighsStatus deleteVars(HighsInt* mask) { return deleteCols(mask); }
|
972
1018
|
|
@@ -983,8 +1029,9 @@ class Highs {
|
|
983
1029
|
|
984
1030
|
/**
|
985
1031
|
* @brief Delete multiple rows from the incumbent model given by a
|
986
|
-
* mask (full length array with 1 =>
|
987
|
-
* any row not deleted is returned in place of the value 0.
|
1032
|
+
* mask (full length array with 1 => delete; 0 => keep). New index
|
1033
|
+
* of any row not deleted is returned in place of the value 0. For
|
1034
|
+
* deleted rows, a value of -1 is returned.
|
988
1035
|
*/
|
989
1036
|
HighsStatus deleteRows(HighsInt* mask);
|
990
1037
|
|
@@ -1019,20 +1066,22 @@ class Highs {
|
|
1019
1066
|
/**
|
1020
1067
|
* @brief Set the callback method to use for HiGHS
|
1021
1068
|
*/
|
1022
|
-
HighsStatus setCallback(
|
1023
|
-
|
1024
|
-
|
1069
|
+
HighsStatus setCallback(HighsCallbackFunctionType user_callback,
|
1070
|
+
void* user_callback_data = nullptr);
|
1071
|
+
HighsStatus setCallback(HighsCCallbackType c_callback,
|
1025
1072
|
void* user_callback_data = nullptr);
|
1026
1073
|
|
1027
1074
|
/**
|
1028
1075
|
* @brief Start callback of given type
|
1029
1076
|
*/
|
1030
1077
|
HighsStatus startCallback(const int callback_type);
|
1078
|
+
HighsStatus startCallback(const HighsCallbackType callback_type);
|
1031
1079
|
|
1032
1080
|
/**
|
1033
1081
|
* @brief Stop callback of given type
|
1034
1082
|
*/
|
1035
1083
|
HighsStatus stopCallback(const int callback_type);
|
1084
|
+
HighsStatus stopCallback(const HighsCallbackType callback_type);
|
1036
1085
|
|
1037
1086
|
/**
|
1038
1087
|
* @brief Use the HighsBasis passed to set the internal HighsBasis
|
@@ -1163,6 +1212,8 @@ class Highs {
|
|
1163
1212
|
|
1164
1213
|
// Start of deprecated methods
|
1165
1214
|
|
1215
|
+
std::string compilationDate() const { return "deprecated"; }
|
1216
|
+
|
1166
1217
|
HighsStatus setLogCallback(void (*user_log_callback)(HighsLogType,
|
1167
1218
|
const char*, void*),
|
1168
1219
|
void* user_log_callback_data = nullptr);
|
@@ -1301,7 +1352,7 @@ class Highs {
|
|
1301
1352
|
this->model_.hessian_.exactResize();
|
1302
1353
|
}
|
1303
1354
|
|
1304
|
-
HighsStatus
|
1355
|
+
HighsStatus completeSolutionFromDiscreteAssignment();
|
1305
1356
|
|
1306
1357
|
HighsStatus callSolveLp(HighsLp& lp, const string message);
|
1307
1358
|
HighsStatus callSolveQp();
|
@@ -1336,7 +1387,7 @@ class Highs {
|
|
1336
1387
|
//
|
1337
1388
|
// Methods to clear solver data for users in Highs class members
|
1338
1389
|
// before (possibly) updating them with data from trying to solve
|
1339
|
-
// the
|
1390
|
+
// the incumbent model.
|
1340
1391
|
//
|
1341
1392
|
// Invalidates all solver data in Highs class members by calling
|
1342
1393
|
// invalidateModelStatus(), invalidateSolution(), invalidateBasis(),
|
@@ -1366,7 +1417,8 @@ class Highs {
|
|
1366
1417
|
|
1367
1418
|
HighsStatus returnFromWriteSolution(FILE* file,
|
1368
1419
|
const HighsStatus return_status);
|
1369
|
-
HighsStatus returnFromRun(const HighsStatus return_status
|
1420
|
+
HighsStatus returnFromRun(const HighsStatus return_status,
|
1421
|
+
const bool undo_mods);
|
1370
1422
|
HighsStatus returnFromHighs(const HighsStatus return_status);
|
1371
1423
|
void reportSolvedLpQpStats();
|
1372
1424
|
|
@@ -1444,6 +1496,7 @@ class Highs {
|
|
1444
1496
|
HighsStatus getPrimalRayInterface(bool& has_primal_ray,
|
1445
1497
|
double* primal_ray_value);
|
1446
1498
|
HighsStatus getRangingInterface();
|
1499
|
+
|
1447
1500
|
bool aFormatOk(const HighsInt num_nz, const HighsInt format);
|
1448
1501
|
bool qFormatOk(const HighsInt num_nz, const HighsInt format);
|
1449
1502
|
void clearZeroHessian();
|
@@ -1454,6 +1507,23 @@ class Highs {
|
|
1454
1507
|
|
1455
1508
|
HighsStatus handleInfCost();
|
1456
1509
|
void restoreInfCost(HighsStatus& return_status);
|
1510
|
+
HighsStatus optionChangeAction();
|
1511
|
+
HighsStatus computeIllConditioning(HighsIllConditioning& ill_conditioning,
|
1512
|
+
const bool constraint,
|
1513
|
+
const HighsInt method,
|
1514
|
+
const double ill_conditioning_bound);
|
1515
|
+
void formIllConditioningLp0(HighsLp& ill_conditioning_lp,
|
1516
|
+
std::vector<HighsInt>& basic_var,
|
1517
|
+
const bool constraint);
|
1518
|
+
void formIllConditioningLp1(HighsLp& ill_conditioning_lp,
|
1519
|
+
std::vector<HighsInt>& basic_var,
|
1520
|
+
const bool constraint,
|
1521
|
+
const double ill_conditioning_bound);
|
1522
|
+
bool infeasibleBoundsOk();
|
1457
1523
|
};
|
1458
1524
|
|
1525
|
+
// Start of deprecated methods not in the Highs class
|
1526
|
+
|
1527
|
+
const char* highsCompilationDate();
|
1528
|
+
|
1459
1529
|
#endif
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#ifndef __READERLP_DEF_HPP__
|
2
|
+
#define __READERLP_DEF_HPP__
|
3
|
+
|
4
|
+
#include <stdexcept>
|
5
|
+
#include <string>
|
6
|
+
|
7
|
+
void inline lpassert(bool condition) {
|
8
|
+
if (!condition) {
|
9
|
+
throw std::invalid_argument("File not existent or illegal file format.");
|
10
|
+
}
|
11
|
+
}
|
12
|
+
|
13
|
+
const std::string LP_KEYWORD_INF[] = {"infinity", "inf"};
|
14
|
+
const std::string LP_KEYWORD_FREE[] = {"free"};
|
15
|
+
|
16
|
+
const unsigned int LP_KEYWORD_INF_N = 2;
|
17
|
+
const unsigned int LP_KEYWORD_FREE_N = 1;
|
18
|
+
|
19
|
+
#endif
|