casadi 3.6.3__cp35-none-win_amd64.whl → 3.6.5__cp35-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 +415 -260
- casadi/cbc.exe +0 -0
- casadi/clp.exe +0 -0
- casadi/cmake/alpaqa/alpaqaConfig.cmake +24 -0
- casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +67 -0
- casadi/cmake/alpaqa/alpaqaTargets-release.cmake +19 -0
- casadi/cmake/alpaqa/alpaqaTargets.cmake +108 -0
- casadi/cmake/casadi-config-version.cmake +1 -1
- casadi/cmake/highs/highs-config.cmake +18 -4
- casadi/cmake/sleqp/sleqp-config-version.cmake +67 -0
- casadi/cmake/sleqp/sleqp-config.cmake +1 -0
- casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
- casadi/cmake/sleqp/sleqp-targets.cmake +94 -0
- casadi/cmake/trlib/trlib-config-release.cmake +19 -0
- casadi/cmake/trlib/trlib-config-version.cmake +59 -0
- casadi/cmake/trlib/trlib-config.cmake +99 -0
- casadi/highs.exe +0 -0
- casadi/highs.lib +0 -0
- casadi/hpipm.lib +0 -0
- casadi/include/alpaqa/accelerators/anderson.hpp +133 -0
- casadi/include/alpaqa/accelerators/internal/anderson-helpers.hpp +92 -0
- casadi/include/alpaqa/accelerators/internal/limited-memory-qr.hpp +295 -0
- casadi/include/alpaqa/accelerators/lbfgs.hpp +244 -0
- casadi/include/alpaqa/accelerators/steihaugcg.hpp +143 -0
- casadi/include/alpaqa/alpaqa.hpp +3 -0
- casadi/include/alpaqa/casadi/CasADiControlProblem.hpp +185 -0
- casadi/include/alpaqa/casadi/CasADiFunctionWrapper.hpp +104 -0
- casadi/include/alpaqa/casadi/CasADiProblem.hpp +102 -0
- casadi/include/alpaqa/casadi-loader-export.hpp +15 -0
- casadi/include/alpaqa/casadi-ocp-loader-export.hpp +15 -0
- casadi/include/alpaqa/config/config.hpp +165 -0
- casadi/include/alpaqa/dl/dl-problem.h +476 -0
- casadi/include/alpaqa/dl/dl-problem.hpp +301 -0
- casadi/include/alpaqa/export.h +42 -0
- casadi/include/alpaqa/export.hpp +30 -0
- casadi/include/alpaqa/implementation/accelerators/lbfgs.tpp +240 -0
- casadi/include/alpaqa/implementation/casadi/CasADiControlProblem.tpp +594 -0
- casadi/include/alpaqa/implementation/casadi/CasADiLoader-util.hpp +50 -0
- casadi/include/alpaqa/implementation/casadi/CasADiProblem.tpp +425 -0
- casadi/include/alpaqa/implementation/inner/directions/panoc/structured-lbfgs.tpp +164 -0
- casadi/include/alpaqa/implementation/inner/panoc-helpers.tpp +389 -0
- casadi/include/alpaqa/implementation/inner/panoc-ocp.tpp +798 -0
- casadi/include/alpaqa/implementation/inner/panoc.tpp +448 -0
- casadi/include/alpaqa/implementation/inner/pantr.tpp +474 -0
- casadi/include/alpaqa/implementation/inner/zerofpr.tpp +482 -0
- casadi/include/alpaqa/implementation/outer/alm.tpp +228 -0
- casadi/include/alpaqa/implementation/outer/internal/alm-helpers.tpp +80 -0
- casadi/include/alpaqa/implementation/params/params.tpp +158 -0
- casadi/include/alpaqa/implementation/problem/ocproblem.tpp +56 -0
- casadi/include/alpaqa/implementation/problem/type-erased-problem.tpp +211 -0
- casadi/include/alpaqa/implementation/util/io/csv.tpp +120 -0
- casadi/include/alpaqa/implementation/util/print.tpp +151 -0
- casadi/include/alpaqa/inner/directions/panoc/anderson.hpp +98 -0
- casadi/include/alpaqa/inner/directions/panoc/lbfgs.hpp +94 -0
- casadi/include/alpaqa/inner/directions/panoc/structured-lbfgs.hpp +146 -0
- casadi/include/alpaqa/inner/directions/panoc/structured-newton.hpp +264 -0
- casadi/include/alpaqa/inner/directions/panoc-direction-update.hpp +96 -0
- casadi/include/alpaqa/inner/directions/panoc-ocp/lqr.hpp +181 -0
- casadi/include/alpaqa/inner/directions/panoc-ocp/ocp-vars.hpp +492 -0
- casadi/include/alpaqa/inner/directions/pantr/newton-tr.hpp +192 -0
- casadi/include/alpaqa/inner/directions/pantr/pantr-direction.hpp +99 -0
- casadi/include/alpaqa/inner/inner-solve-options.hpp +30 -0
- casadi/include/alpaqa/inner/internal/lipschitz.hpp +27 -0
- casadi/include/alpaqa/inner/internal/panoc-helpers.hpp +10 -0
- casadi/include/alpaqa/inner/internal/panoc-stop-crit.hpp +124 -0
- casadi/include/alpaqa/inner/internal/solverstatus.hpp +42 -0
- casadi/include/alpaqa/inner/panoc-ocp.hpp +302 -0
- casadi/include/alpaqa/inner/panoc.hpp +274 -0
- casadi/include/alpaqa/inner/pantr.hpp +284 -0
- casadi/include/alpaqa/inner/zerofpr.hpp +274 -0
- casadi/include/alpaqa/ipopt/ipopt-adapter.hpp +81 -0
- casadi/include/alpaqa/ipopt/ipopt-enums.hpp +35 -0
- casadi/include/alpaqa/lbfgsb/lbfgsb-adapter.hpp +111 -0
- casadi/include/alpaqa/newton-tr-pantr-alm.hpp +27 -0
- casadi/include/alpaqa/outer/alm.hpp +190 -0
- casadi/include/alpaqa/outer/internal/alm-helpers.hpp +10 -0
- casadi/include/alpaqa/panoc-alm.hpp +27 -0
- casadi/include/alpaqa/panoc-anderson-alm.hpp +27 -0
- casadi/include/alpaqa/params/params.hpp +60 -0
- casadi/include/alpaqa/problem/box-constr-problem.hpp +220 -0
- casadi/include/alpaqa/problem/box.hpp +82 -0
- casadi/include/alpaqa/problem/functional-problem.hpp +73 -0
- casadi/include/alpaqa/problem/kkt-error.hpp +43 -0
- casadi/include/alpaqa/problem/ocproblem-counters.hpp +116 -0
- casadi/include/alpaqa/problem/ocproblem.hpp +662 -0
- casadi/include/alpaqa/problem/problem-counters.hpp +116 -0
- casadi/include/alpaqa/problem/problem-with-counters.hpp +141 -0
- casadi/include/alpaqa/problem/type-erased-problem.hpp +874 -0
- casadi/include/alpaqa/problem/unconstr-problem.hpp +37 -0
- casadi/include/alpaqa/structured-panoc-alm.hpp +27 -0
- casadi/include/alpaqa/structured-zerofpr-alm.hpp +27 -0
- casadi/include/alpaqa/util/alloc-check.hpp +23 -0
- casadi/include/alpaqa/util/atomic-stop-signal.hpp +24 -0
- casadi/include/alpaqa/util/check-dim.hpp +64 -0
- casadi/include/alpaqa/util/copyable_unique_ptr.hpp +32 -0
- casadi/include/alpaqa/util/demangled-typename.hpp +9 -0
- casadi/include/alpaqa/util/enumerate.hpp +70 -0
- casadi/include/alpaqa/util/float.hpp +25 -0
- casadi/include/alpaqa/util/index-set.hpp +97 -0
- casadi/include/alpaqa/util/io/csv.hpp +43 -0
- casadi/include/alpaqa/util/iter-adapter.hpp +68 -0
- casadi/include/alpaqa/util/max-history.hpp +47 -0
- casadi/include/alpaqa/util/noop-delete.hpp +15 -0
- casadi/include/alpaqa/util/not-implemented.hpp +12 -0
- casadi/include/alpaqa/util/print.hpp +78 -0
- casadi/include/alpaqa/util/quadmath/quadmath-print.hpp +20 -0
- casadi/include/alpaqa/util/quadmath/quadmath.hpp +137 -0
- casadi/include/alpaqa/util/required-method.hpp +29 -0
- casadi/include/alpaqa/util/ringbuffer.hpp +212 -0
- casadi/include/alpaqa/util/set-intersection.hpp +129 -0
- casadi/include/alpaqa/util/sparse-ops.hpp +164 -0
- casadi/include/alpaqa/util/timed.hpp +22 -0
- casadi/include/alpaqa/util/type-erasure.hpp +568 -0
- casadi/include/alpaqa/util/type-traits.hpp +58 -0
- casadi/include/alpaqa/zerofpr-alm.hpp +27 -0
- casadi/include/alpaqa/zerofpr-anderson-alm.hpp +27 -0
- casadi/include/alpaqa-version.h +8 -0
- casadi/include/casadi/casadi.i +43 -18
- casadi/include/casadi/config.h +8 -8
- casadi/include/casadi/core/calculus.hpp +1 -1
- casadi/include/casadi/core/code_generator.hpp +29 -1
- casadi/include/casadi/core/core.hpp +1 -0
- casadi/include/casadi/core/fmu.hpp +29 -1
- casadi/include/casadi/core/generic_expression.hpp +1 -1
- casadi/include/casadi/core/generic_type.hpp +25 -1
- casadi/include/casadi/core/matrix_decl.hpp +15 -0
- casadi/include/casadi/core/nlpsol.hpp +0 -2
- casadi/include/casadi/core/runtime/casadi_nlp.hpp +131 -6
- casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +11 -1
- casadi/include/casadi/core/serializing_stream.hpp +12 -0
- casadi/include/casadi/core/sparsity.hpp +5 -3
- casadi/include/casadi/core/tools.hpp +67 -0
- casadi/include/casadi/doc.i +1457 -825
- casadi/include/casadi/doc_merged.i +1089 -570
- casadi/include/coin/BonArraysHelpers.hpp +52 -0
- casadi/include/coin/BonAuxInfos.hpp +110 -0
- casadi/include/coin/BonBabInfos.hpp +57 -0
- casadi/include/coin/BonBabSetupBase.hpp +386 -0
- casadi/include/coin/BonBonminSetup.hpp +95 -0
- casadi/include/coin/BonBranchingTQP.hpp +197 -0
- casadi/include/coin/BonCbc.hpp +127 -0
- casadi/include/coin/BonCbcLpStrategy.hpp +45 -0
- casadi/include/coin/BonCbcNlpStrategy.hpp +98 -0
- casadi/include/coin/BonCbcNode.hpp +133 -0
- casadi/include/coin/BonChooseVariable.hpp +345 -0
- casadi/include/coin/BonCurvBranchingSolver.hpp +77 -0
- casadi/include/coin/BonCutStrengthener.hpp +244 -0
- casadi/include/coin/BonDiver.hpp +424 -0
- casadi/include/coin/BonDummyHeuristic.hpp +53 -0
- casadi/include/coin/BonDummyPump.hpp +43 -0
- casadi/include/coin/BonEcpCuts.hpp +97 -0
- casadi/include/coin/BonExitCodes.hpp +12 -0
- casadi/include/coin/BonFixAndSolveHeuristic.hpp +43 -0
- casadi/include/coin/BonGuessHeuristic.hpp +46 -0
- casadi/include/coin/BonHeuristicDive.hpp +88 -0
- casadi/include/coin/BonHeuristicDiveFractional.hpp +67 -0
- casadi/include/coin/BonHeuristicDiveMIP.hpp +83 -0
- casadi/include/coin/BonHeuristicDiveMIPFractional.hpp +67 -0
- casadi/include/coin/BonHeuristicDiveMIPVectorLength.hpp +74 -0
- casadi/include/coin/BonHeuristicDiveVectorLength.hpp +74 -0
- casadi/include/coin/BonHeuristicFPump.hpp +111 -0
- casadi/include/coin/BonHeuristicLocalBranching.hpp +59 -0
- casadi/include/coin/BonHeuristicRINS.hpp +55 -0
- casadi/include/coin/BonIpoptInteriorWarmStarter.hpp +103 -0
- casadi/include/coin/BonIpoptSolver.hpp +188 -0
- casadi/include/coin/BonIpoptWarmStart.hpp +148 -0
- casadi/include/coin/BonLinearCutsGenerator.hpp +75 -0
- casadi/include/coin/BonLocalSolverBasedHeuristic.hpp +102 -0
- casadi/include/coin/BonLpBranchingSolver.hpp +80 -0
- casadi/include/coin/BonMilpRounding.hpp +74 -0
- casadi/include/coin/BonOACutGenerator2.hpp +56 -0
- casadi/include/coin/BonOAMessages.hpp +44 -0
- casadi/include/coin/BonOaDecBase.hpp +297 -0
- casadi/include/coin/BonOaFeasChecker.hpp +73 -0
- casadi/include/coin/BonOaNlpOptim.hpp +116 -0
- casadi/include/coin/BonOsiTMINLPInterface.hpp +1342 -0
- casadi/include/coin/BonOuterApprox.hpp +123 -0
- casadi/include/coin/BonPseudoCosts.hpp +91 -0
- casadi/include/coin/BonPumpForMinlp.hpp +45 -0
- casadi/include/coin/BonQuadCut.hpp +217 -0
- casadi/include/coin/BonQuadRow.hpp +122 -0
- casadi/include/coin/BonRegisteredOptions.hpp +225 -0
- casadi/include/coin/BonStrongBranchingSolver.hpp +69 -0
- casadi/include/coin/BonSubMipSolver.hpp +143 -0
- casadi/include/coin/BonTMINLP.hpp +420 -0
- casadi/include/coin/BonTMINLP2OsiLP.hpp +164 -0
- casadi/include/coin/BonTMINLP2Quad.hpp +191 -0
- casadi/include/coin/BonTMINLP2TNLP.hpp +509 -0
- casadi/include/coin/BonTMINLPLinObj.hpp +216 -0
- casadi/include/coin/BonTMatrix.hpp +167 -0
- casadi/include/coin/BonTNLP2FPNLP.hpp +264 -0
- casadi/include/coin/BonTNLPSolver.hpp +241 -0
- casadi/include/coin/BonTypes.hpp +95 -0
- casadi/include/coin/BonminConfig.h +19 -0
- casadi/include/coin/CbcBranchActual.hpp +26 -0
- casadi/include/coin/CbcBranchAllDifferent.hpp +61 -0
- casadi/include/coin/CbcBranchBase.hpp +79 -0
- casadi/include/coin/CbcBranchCut.hpp +182 -0
- casadi/include/coin/CbcBranchDecision.hpp +135 -0
- casadi/include/coin/CbcBranchDefaultDecision.hpp +101 -0
- casadi/include/coin/CbcBranchDynamic.hpp +210 -0
- casadi/include/coin/CbcBranchLotsize.hpp +249 -0
- casadi/include/coin/CbcBranchToFixLots.hpp +94 -0
- casadi/include/coin/CbcBranchingObject.hpp +245 -0
- casadi/include/coin/CbcClique.hpp +309 -0
- casadi/include/coin/CbcCompare.hpp +46 -0
- casadi/include/coin/CbcCompareActual.hpp +16 -0
- casadi/include/coin/CbcCompareBase.hpp +155 -0
- casadi/include/coin/CbcCompareDefault.hpp +129 -0
- casadi/include/coin/CbcCompareDepth.hpp +48 -0
- casadi/include/coin/CbcCompareEstimate.hpp +48 -0
- casadi/include/coin/CbcCompareObjective.hpp +50 -0
- casadi/include/coin/CbcConfig.h +18 -0
- casadi/include/coin/CbcConsequence.hpp +50 -0
- casadi/include/coin/CbcCountRowCut.hpp +176 -0
- casadi/include/coin/CbcCutGenerator.hpp +550 -0
- casadi/include/coin/CbcCutModifier.hpp +59 -0
- casadi/include/coin/CbcCutSubsetModifier.hpp +69 -0
- casadi/include/coin/CbcDummyBranchingObject.hpp +83 -0
- casadi/include/coin/CbcEventHandler.hpp +250 -0
- casadi/include/coin/CbcFathom.hpp +136 -0
- casadi/include/coin/CbcFathomDynamicProgramming.hpp +177 -0
- casadi/include/coin/CbcFeasibilityBase.hpp +60 -0
- casadi/include/coin/CbcFixVariable.hpp +68 -0
- casadi/include/coin/CbcFollowOn.hpp +207 -0
- casadi/include/coin/CbcFullNodeInfo.hpp +171 -0
- casadi/include/coin/CbcGeneral.hpp +60 -0
- casadi/include/coin/CbcGeneralDepth.hpp +289 -0
- casadi/include/coin/CbcHeuristic.hpp +735 -0
- casadi/include/coin/CbcHeuristicDINS.hpp +98 -0
- casadi/include/coin/CbcHeuristicDW.hpp +374 -0
- casadi/include/coin/CbcHeuristicDive.hpp +198 -0
- casadi/include/coin/CbcHeuristicDiveCoefficient.hpp +52 -0
- casadi/include/coin/CbcHeuristicDiveFractional.hpp +52 -0
- casadi/include/coin/CbcHeuristicDiveGuided.hpp +55 -0
- casadi/include/coin/CbcHeuristicDiveLineSearch.hpp +52 -0
- casadi/include/coin/CbcHeuristicDivePseudoCost.hpp +60 -0
- casadi/include/coin/CbcHeuristicDiveVectorLength.hpp +52 -0
- casadi/include/coin/CbcHeuristicFPump.hpp +375 -0
- casadi/include/coin/CbcHeuristicGreedy.hpp +289 -0
- casadi/include/coin/CbcHeuristicLocal.hpp +276 -0
- casadi/include/coin/CbcHeuristicPivotAndFix.hpp +58 -0
- casadi/include/coin/CbcHeuristicRENS.hpp +79 -0
- casadi/include/coin/CbcHeuristicRINS.hpp +106 -0
- casadi/include/coin/CbcHeuristicRandRound.hpp +58 -0
- casadi/include/coin/CbcHeuristicVND.hpp +95 -0
- casadi/include/coin/CbcLinked.hpp +1443 -0
- casadi/include/coin/CbcMessage.hpp +94 -0
- casadi/include/coin/CbcMipStartIO.hpp +29 -0
- casadi/include/coin/CbcModel.hpp +3296 -0
- casadi/include/coin/CbcNWay.hpp +171 -0
- casadi/include/coin/CbcNode.hpp +380 -0
- casadi/include/coin/CbcNodeInfo.hpp +377 -0
- casadi/include/coin/CbcObject.hpp +288 -0
- casadi/include/coin/CbcObjectUpdateData.hpp +63 -0
- casadi/include/coin/CbcOrClpParam.cpp +4321 -0
- casadi/include/coin/CbcOrClpParam.hpp +585 -0
- casadi/include/coin/CbcParam.hpp +338 -0
- casadi/include/coin/CbcPartialNodeInfo.hpp +116 -0
- casadi/include/coin/CbcSOS.hpp +290 -0
- casadi/include/coin/CbcSimpleInteger.hpp +299 -0
- casadi/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +619 -0
- casadi/include/coin/CbcSimpleIntegerPseudoCost.hpp +122 -0
- casadi/include/coin/CbcSolver.hpp +460 -0
- casadi/include/coin/CbcStrategy.hpp +269 -0
- casadi/include/coin/CbcSubProblem.hpp +84 -0
- casadi/include/coin/CbcTree.hpp +493 -0
- casadi/include/coin/CbcTreeLocal.hpp +393 -0
- casadi/include/coin/Cbc_C_Interface.h +904 -0
- casadi/include/coin/Cgl012cut.hpp +464 -0
- casadi/include/coin/CglAllDifferent.hpp +115 -0
- casadi/include/coin/CglClique.hpp +312 -0
- casadi/include/coin/CglConfig.h +19 -0
- casadi/include/coin/CglCutGenerator.hpp +133 -0
- casadi/include/coin/CglDuplicateRow.hpp +189 -0
- casadi/include/coin/CglFlowCover.hpp +371 -0
- casadi/include/coin/CglGMI.hpp +364 -0
- casadi/include/coin/CglGMIParam.hpp +313 -0
- casadi/include/coin/CglGomory.hpp +204 -0
- casadi/include/coin/CglKnapsackCover.hpp +310 -0
- casadi/include/coin/CglLandP.hpp +306 -0
- casadi/include/coin/CglLandPValidator.hpp +130 -0
- casadi/include/coin/CglLiftAndProject.hpp +104 -0
- casadi/include/coin/CglMessage.hpp +49 -0
- casadi/include/coin/CglMixedIntegerRounding.hpp +429 -0
- casadi/include/coin/CglMixedIntegerRounding2.hpp +427 -0
- casadi/include/coin/CglOddHole.hpp +160 -0
- casadi/include/coin/CglParam.hpp +93 -0
- casadi/include/coin/CglPreProcess.hpp +600 -0
- casadi/include/coin/CglProbing.hpp +543 -0
- casadi/include/coin/CglRedSplit.hpp +448 -0
- casadi/include/coin/CglRedSplit2.hpp +494 -0
- casadi/include/coin/CglRedSplit2Param.hpp +495 -0
- casadi/include/coin/CglRedSplitParam.hpp +272 -0
- casadi/include/coin/CglResidualCapacity.hpp +240 -0
- casadi/include/coin/CglSimpleRounding.hpp +174 -0
- casadi/include/coin/CglStored.hpp +140 -0
- casadi/include/coin/CglTreeInfo.hpp +216 -0
- casadi/include/coin/CglTwomir.hpp +562 -0
- casadi/include/coin/CglZeroHalf.hpp +133 -0
- casadi/include/coin/ClpAmplObjective.hpp +113 -0
- casadi/include/coin/ClpCholeskyBase.hpp +321 -0
- casadi/include/coin/ClpCholeskyDense.hpp +157 -0
- casadi/include/coin/ClpCholeskyMumps.hpp +65 -0
- casadi/include/coin/ClpCholeskyPardiso.hpp +67 -0
- casadi/include/coin/ClpConfig.h +17 -0
- casadi/include/coin/ClpConstraint.hpp +129 -0
- casadi/include/coin/ClpConstraintAmpl.hpp +109 -0
- casadi/include/coin/ClpConstraintLinear.hpp +113 -0
- casadi/include/coin/ClpConstraintQuadratic.hpp +123 -0
- casadi/include/coin/ClpDualRowDantzig.hpp +72 -0
- casadi/include/coin/ClpDualRowPivot.hpp +136 -0
- casadi/include/coin/ClpDualRowSteepest.hpp +160 -0
- casadi/include/coin/ClpDummyMatrix.hpp +186 -0
- casadi/include/coin/ClpDynamicExampleMatrix.hpp +199 -0
- casadi/include/coin/ClpDynamicMatrix.hpp +420 -0
- casadi/include/coin/ClpEventHandler.hpp +193 -0
- casadi/include/coin/ClpFactorization.hpp +556 -0
- casadi/include/coin/ClpGubDynamicMatrix.hpp +270 -0
- casadi/include/coin/ClpGubMatrix.hpp +373 -0
- casadi/include/coin/ClpInterior.hpp +622 -0
- casadi/include/coin/ClpLinearObjective.hpp +104 -0
- casadi/include/coin/ClpMatrixBase.hpp +561 -0
- casadi/include/coin/ClpMessage.hpp +131 -0
- casadi/include/coin/ClpModel.hpp +1442 -0
- casadi/include/coin/ClpNetworkMatrix.hpp +235 -0
- casadi/include/coin/ClpNode.hpp +364 -0
- casadi/include/coin/ClpNonLinearCost.hpp +432 -0
- casadi/include/coin/ClpObjective.hpp +142 -0
- casadi/include/coin/ClpPEDualRowDantzig.hpp +84 -0
- casadi/include/coin/ClpPEDualRowSteepest.hpp +100 -0
- casadi/include/coin/ClpPEPrimalColumnDantzig.hpp +71 -0
- casadi/include/coin/ClpPEPrimalColumnSteepest.hpp +107 -0
- casadi/include/coin/ClpPESimplex.hpp +231 -0
- casadi/include/coin/ClpPackedMatrix.hpp +778 -0
- casadi/include/coin/ClpParameters.hpp +132 -0
- casadi/include/coin/ClpPdcoBase.hpp +110 -0
- casadi/include/coin/ClpPlusMinusOneMatrix.hpp +565 -0
- casadi/include/coin/ClpPresolve.hpp +379 -0
- casadi/include/coin/ClpPrimalColumnDantzig.hpp +74 -0
- casadi/include/coin/ClpPrimalColumnPivot.hpp +163 -0
- casadi/include/coin/ClpPrimalColumnSteepest.hpp +281 -0
- casadi/include/coin/ClpQuadraticObjective.hpp +161 -0
- casadi/include/coin/ClpSimplex.hpp +2137 -0
- casadi/include/coin/ClpSimplexDual.hpp +304 -0
- casadi/include/coin/ClpSimplexNonlinear.hpp +117 -0
- casadi/include/coin/ClpSimplexOther.hpp +282 -0
- casadi/include/coin/ClpSimplexPrimal.hpp +244 -0
- casadi/include/coin/ClpSolve.hpp +505 -0
- casadi/include/coin/Clp_C_Interface.h +554 -0
- casadi/include/coin/CoinAlloc.hpp +179 -0
- casadi/include/coin/CoinBuild.hpp +159 -0
- casadi/include/coin/CoinDenseFactorization.hpp +452 -0
- casadi/include/coin/CoinDenseVector.hpp +401 -0
- casadi/include/coin/CoinDistance.hpp +51 -0
- casadi/include/coin/CoinError.hpp +274 -0
- casadi/include/coin/CoinFactorization.hpp +2178 -0
- casadi/include/coin/CoinFileIO.hpp +185 -0
- casadi/include/coin/CoinFinite.hpp +37 -0
- casadi/include/coin/CoinFloatEqual.hpp +204 -0
- casadi/include/coin/CoinHelperFunctions.hpp +1270 -0
- casadi/include/coin/CoinIndexedVector.hpp +1437 -0
- casadi/include/coin/CoinLpIO.hpp +836 -0
- casadi/include/coin/CoinMessage.hpp +95 -0
- casadi/include/coin/CoinMessageHandler.hpp +717 -0
- casadi/include/coin/CoinModel.hpp +1214 -0
- casadi/include/coin/CoinModelUseful.hpp +518 -0
- casadi/include/coin/CoinMpsIO.hpp +1142 -0
- casadi/include/coin/CoinOslFactorization.hpp +287 -0
- casadi/include/coin/CoinPackedMatrix.hpp +956 -0
- casadi/include/coin/CoinPackedVector.hpp +670 -0
- casadi/include/coin/CoinPackedVectorBase.hpp +274 -0
- casadi/include/coin/CoinParam.hpp +644 -0
- casadi/include/coin/CoinPragma.hpp +29 -0
- casadi/include/coin/CoinPresolveDoubleton.hpp +76 -0
- casadi/include/coin/CoinPresolveDual.hpp +84 -0
- casadi/include/coin/CoinPresolveDupcol.hpp +259 -0
- casadi/include/coin/CoinPresolveEmpty.hpp +120 -0
- casadi/include/coin/CoinPresolveFixed.hpp +185 -0
- casadi/include/coin/CoinPresolveForcing.hpp +69 -0
- casadi/include/coin/CoinPresolveImpliedFree.hpp +66 -0
- casadi/include/coin/CoinPresolveIsolated.hpp +59 -0
- casadi/include/coin/CoinPresolveMatrix.hpp +1996 -0
- casadi/include/coin/CoinPresolveMonitor.hpp +105 -0
- casadi/include/coin/CoinPresolvePsdebug.hpp +169 -0
- casadi/include/coin/CoinPresolveSingleton.hpp +115 -0
- casadi/include/coin/CoinPresolveSubst.hpp +103 -0
- casadi/include/coin/CoinPresolveTighten.hpp +58 -0
- casadi/include/coin/CoinPresolveTripleton.hpp +69 -0
- casadi/include/coin/CoinPresolveUseless.hpp +63 -0
- casadi/include/coin/CoinPresolveZeros.hpp +65 -0
- casadi/include/coin/CoinRational.hpp +43 -0
- casadi/include/coin/CoinSearchTree.hpp +523 -0
- casadi/include/coin/CoinShallowPackedVector.hpp +149 -0
- casadi/include/coin/CoinSignal.hpp +127 -0
- casadi/include/coin/CoinSimpFactorization.hpp +432 -0
- casadi/include/coin/CoinSmartPtr.hpp +548 -0
- casadi/include/coin/CoinSnapshot.hpp +572 -0
- casadi/include/coin/CoinSort.hpp +753 -0
- casadi/include/coin/CoinStructuredModel.hpp +270 -0
- casadi/include/coin/CoinTime.hpp +350 -0
- casadi/include/coin/CoinTypes.hpp +67 -0
- casadi/include/coin/CoinUtility.hpp +26 -0
- casadi/include/coin/CoinUtilsConfig.h +34 -0
- casadi/include/coin/CoinWarmStart.hpp +56 -0
- casadi/include/coin/CoinWarmStartBasis.hpp +468 -0
- casadi/include/coin/CoinWarmStartDual.hpp +180 -0
- casadi/include/coin/CoinWarmStartPrimalDual.hpp +233 -0
- casadi/include/coin/CoinWarmStartVector.hpp +523 -0
- casadi/include/coin/Coin_C_defines.h +149 -0
- casadi/include/coin/Idiot.hpp +327 -0
- casadi/include/coin/OsiAuxInfo.hpp +261 -0
- casadi/include/coin/OsiBranchingObject.hpp +1097 -0
- casadi/include/coin/OsiCbcSolverInterface.hpp +791 -0
- casadi/include/coin/OsiChooseVariable.hpp +645 -0
- casadi/include/coin/OsiClpSolverInterface.hpp +1604 -0
- casadi/include/coin/OsiColCut.hpp +322 -0
- casadi/include/coin/OsiCollections.hpp +34 -0
- casadi/include/coin/OsiConfig.h +19 -0
- casadi/include/coin/OsiCut.hpp +251 -0
- casadi/include/coin/OsiCuts.hpp +505 -0
- casadi/include/coin/OsiPresolve.hpp +272 -0
- casadi/include/coin/OsiRowCut.hpp +345 -0
- casadi/include/coin/OsiRowCutDebugger.hpp +190 -0
- casadi/include/coin/OsiSolverBranch.hpp +169 -0
- casadi/include/coin/OsiSolverInterface.hpp +2221 -0
- casadi/include/coin/OsiSolverParameters.hpp +144 -0
- casadi/include/coin/OsiUnitTests.hpp +390 -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/d_blas.h +78 -0
- casadi/include/d_blas_64.h +73 -0
- casadi/include/highs/HConfig.h +4 -7
- casadi/include/highs/Highs.h +240 -51
- casadi/include/highs/filereaderlp/builder.hpp +12 -13
- casadi/include/highs/filereaderlp/model.hpp +32 -35
- casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
- casadi/include/highs/interfaces/highs_c_api.h +964 -577
- casadi/include/highs/io/Filereader.h +2 -4
- casadi/include/highs/io/FilereaderEms.h +2 -4
- casadi/include/highs/io/FilereaderLp.h +2 -4
- casadi/include/highs/io/FilereaderMps.h +2 -4
- casadi/include/highs/io/HMPSIO.h +2 -4
- casadi/include/highs/io/HMpsFF.h +2 -4
- casadi/include/highs/io/HighsIO.h +19 -13
- casadi/include/highs/io/LoadOptions.h +7 -6
- casadi/include/highs/ipm/IpxWrapper.h +4 -5
- casadi/include/highs/lp_data/HConst.h +60 -15
- casadi/include/highs/lp_data/HStruct.h +32 -8
- casadi/include/highs/lp_data/HighsAnalysis.h +2 -4
- casadi/include/highs/lp_data/HighsCallback.h +33 -0
- casadi/include/highs/lp_data/HighsCallbackStruct.h +36 -0
- casadi/include/highs/lp_data/HighsDebug.h +2 -4
- casadi/include/highs/lp_data/HighsInfo.h +22 -23
- casadi/include/highs/lp_data/HighsInfoDebug.h +2 -4
- casadi/include/highs/lp_data/HighsLp.h +14 -6
- casadi/include/highs/lp_data/HighsLpSolverObject.h +6 -5
- casadi/include/highs/lp_data/HighsLpUtils.h +23 -12
- casadi/include/highs/lp_data/HighsModelUtils.h +22 -8
- casadi/include/highs/lp_data/HighsOptions.h +175 -106
- casadi/include/highs/lp_data/HighsRanging.h +2 -4
- casadi/include/highs/lp_data/HighsRuntimeOptions.h +21 -6
- casadi/include/highs/lp_data/HighsSolution.h +4 -4
- casadi/include/highs/lp_data/HighsSolutionDebug.h +2 -4
- casadi/include/highs/lp_data/HighsSolve.h +2 -4
- casadi/include/highs/lp_data/HighsStatus.h +2 -4
- casadi/include/highs/mip/HighsCliqueTable.h +18 -20
- casadi/include/highs/mip/HighsConflictPool.h +2 -4
- casadi/include/highs/mip/HighsCutGeneration.h +2 -4
- casadi/include/highs/mip/HighsCutPool.h +2 -4
- casadi/include/highs/mip/HighsDebugSol.h +2 -4
- casadi/include/highs/mip/HighsDomain.h +5 -5
- casadi/include/highs/mip/HighsDomainChange.h +2 -4
- casadi/include/highs/mip/HighsDynamicRowMatrix.h +2 -4
- casadi/include/highs/mip/HighsGFkSolve.h +2 -4
- casadi/include/highs/mip/HighsImplications.h +2 -4
- casadi/include/highs/mip/HighsLpAggregator.h +2 -4
- casadi/include/highs/mip/HighsLpRelaxation.h +2 -4
- casadi/include/highs/mip/HighsMipSolver.h +18 -6
- casadi/include/highs/mip/HighsMipSolverData.h +8 -4
- casadi/include/highs/mip/HighsModkSeparator.h +2 -4
- casadi/include/highs/mip/HighsNodeQueue.h +3 -9
- casadi/include/highs/mip/HighsObjectiveFunction.h +2 -4
- casadi/include/highs/mip/HighsPathSeparator.h +2 -4
- casadi/include/highs/mip/HighsPrimalHeuristics.h +2 -4
- casadi/include/highs/mip/HighsPseudocost.h +2 -4
- casadi/include/highs/mip/HighsRedcostFixing.h +2 -4
- casadi/include/highs/mip/HighsSearch.h +2 -4
- casadi/include/highs/mip/HighsSeparation.h +2 -4
- casadi/include/highs/mip/HighsSeparator.h +2 -4
- casadi/include/highs/mip/HighsTableauSeparator.h +2 -4
- casadi/include/highs/mip/HighsTransformedLp.h +2 -4
- casadi/include/highs/model/HighsHessian.h +3 -1
- casadi/include/highs/model/HighsModel.h +2 -0
- casadi/include/highs/parallel/HighsSpinMutex.h +2 -1
- casadi/include/highs/parallel/HighsSplitDeque.h +1 -1
- casadi/include/highs/parallel/HighsTaskExecutor.h +10 -2
- casadi/include/highs/presolve/HPresolve.h +9 -6
- casadi/include/highs/presolve/HPresolveAnalysis.h +5 -4
- casadi/include/highs/presolve/HighsPostsolveStack.h +50 -13
- casadi/include/highs/presolve/HighsSymmetry.h +2 -4
- casadi/include/highs/presolve/ICrash.h +4 -3
- casadi/include/highs/presolve/ICrashUtil.h +2 -2
- casadi/include/highs/presolve/ICrashX.h +4 -6
- casadi/include/highs/presolve/PresolveComponent.h +4 -42
- casadi/include/highs/qpsolver/a_asm.hpp +56 -0
- casadi/include/highs/qpsolver/a_quass.hpp +12 -0
- casadi/include/highs/qpsolver/quass.hpp +1 -4
- casadi/include/highs/simplex/HApp.h +14 -16
- casadi/include/highs/simplex/HEkk.h +12 -11
- casadi/include/highs/simplex/HEkkDual.h +2 -4
- casadi/include/highs/simplex/HEkkDualRHS.h +5 -6
- casadi/include/highs/simplex/HEkkDualRow.h +2 -4
- casadi/include/highs/simplex/HEkkPrimal.h +2 -4
- casadi/include/highs/simplex/HSimplex.h +2 -4
- casadi/include/highs/simplex/HSimplexDebug.h +2 -4
- casadi/include/highs/simplex/HSimplexNla.h +2 -4
- casadi/include/highs/simplex/HSimplexReport.h +3 -5
- casadi/include/highs/simplex/HighsSimplexAnalysis.h +2 -4
- casadi/include/highs/simplex/SimplexConst.h +7 -5
- casadi/include/highs/simplex/SimplexStruct.h +11 -5
- casadi/include/highs/simplex/SimplexTimer.h +2 -4
- casadi/include/highs/test/DevKkt.h +2 -4
- casadi/include/highs/test/KktCh2.h +2 -4
- casadi/include/highs/util/FactorTimer.h +2 -4
- casadi/include/highs/util/HFactor.h +2 -4
- casadi/include/highs/util/HFactorConst.h +2 -4
- casadi/include/highs/util/HFactorDebug.h +2 -4
- casadi/include/highs/util/HSet.h +3 -5
- casadi/include/highs/util/HVector.h +2 -4
- casadi/include/highs/util/HVectorBase.h +2 -4
- casadi/include/highs/util/HighsCDouble.h +2 -4
- casadi/include/highs/util/HighsComponent.h +2 -4
- casadi/include/highs/util/HighsDataStack.h +3 -5
- casadi/include/highs/util/HighsDisjointSets.h +8 -10
- casadi/include/highs/util/HighsHash.h +22 -7
- casadi/include/highs/util/HighsHashTree.h +25 -7
- casadi/include/highs/util/HighsInt.h +2 -4
- casadi/include/highs/util/HighsIntegers.h +2 -4
- casadi/include/highs/util/HighsLinearSumBounds.h +2 -4
- casadi/include/highs/util/HighsMatrixPic.h +2 -4
- casadi/include/highs/util/HighsMatrixSlice.h +2 -4
- casadi/include/highs/util/HighsMatrixUtils.h +2 -4
- casadi/include/highs/util/HighsRandom.h +2 -4
- casadi/include/highs/util/HighsRbTree.h +2 -4
- casadi/include/highs/util/HighsSort.h +2 -4
- casadi/include/highs/util/HighsSparseMatrix.h +11 -7
- casadi/include/highs/util/HighsSparseVectorSum.h +2 -4
- casadi/include/highs/util/HighsSplay.h +2 -4
- casadi/include/highs/util/HighsTimer.h +3 -4
- casadi/include/highs/util/HighsUtils.h +14 -4
- casadi/include/highs/util/stringutil.h +2 -4
- casadi/include/licenses/alpaqa-external/LICENSE +165 -0
- casadi/include/licenses/highs-external/LICENSE +1 -1
- casadi/include/licenses/sleqp-external/LICENSE +165 -0
- casadi/include/licenses/trlib-external/LICENSE +21 -0
- casadi/include/openblas/cblas.h +411 -0
- casadi/include/openblas/f77blas.h +796 -0
- casadi/include/openblas/lapack.h +22997 -0
- casadi/include/openblas/lapacke.h +12665 -0
- casadi/include/openblas/lapacke_config.h +119 -0
- casadi/include/openblas/lapacke_example_aux.h +9 -0
- casadi/include/openblas/lapacke_mangling.h +17 -0
- casadi/include/openblas/lapacke_utils.h +582 -0
- casadi/include/openblas/openblas/lapacke_mangling.h +17 -0
- casadi/include/openblas/openblas_config.h +140 -0
- casadi/include/qdldl/qdldl.h +169 -0
- casadi/include/qdldl/qdldl_types.h +23 -0
- casadi/include/s_blas.h +78 -0
- casadi/include/s_blas_64.h +73 -0
- casadi/include/sleqp/defs.h +58 -0
- casadi/include/sleqp/export.h +42 -0
- casadi/include/sleqp/pub_cmp.h +18 -0
- casadi/include/sleqp/pub_dyn.h +140 -0
- casadi/include/sleqp/pub_error.h +50 -0
- casadi/include/sleqp/pub_func.h +257 -0
- casadi/include/sleqp/pub_hess_struct.h +105 -0
- casadi/include/sleqp/pub_iterate.h +88 -0
- casadi/include/sleqp/pub_log.h +88 -0
- casadi/include/sleqp/pub_lsq.h +158 -0
- casadi/include/sleqp/pub_mem.h +52 -0
- casadi/include/sleqp/pub_problem.h +213 -0
- casadi/include/sleqp/pub_scale.h +150 -0
- casadi/include/sleqp/pub_settings.h +162 -0
- casadi/include/sleqp/pub_solver.h +155 -0
- casadi/include/sleqp/pub_types.h +230 -0
- casadi/include/sleqp/pub_working_set.h +135 -0
- casadi/include/sleqp/sparse/pub_mat.h +153 -0
- casadi/include/sleqp/sparse/pub_vec.h +336 -0
- casadi/include/sleqp.h +38 -0
- casadi/include/spral.h +13 -0
- casadi/include/spral_lsmr.h +57 -0
- casadi/include/spral_matrix_util.h +40 -0
- casadi/include/spral_random.h +26 -0
- casadi/include/spral_random_matrix.h +27 -0
- casadi/include/spral_rutherford_boeing.h +51 -0
- casadi/include/spral_scaling.h +139 -0
- casadi/include/spral_ssids.h +121 -0
- casadi/include/spral_ssmfe.h +268 -0
- casadi/include/trlib/trlib_eigen_inverse.h +118 -0
- casadi/include/trlib/trlib_krylov.h +493 -0
- casadi/include/trlib/trlib_leftmost.h +181 -0
- casadi/include/trlib/trlib_private.h +109 -0
- casadi/include/trlib/trlib_quadratic_zero.h +57 -0
- casadi/include/trlib/trlib_tri_factor.h +409 -0
- casadi/include/trlib/trlib_types.h +36 -0
- casadi/include/trlib.h +44 -0
- 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/libCbc.la +1 -1
- casadi/libCbcSolver-3.dll +0 -0
- casadi/libCbcSolver.dll.a +0 -0
- casadi/libCbcSolver.la +1 -1
- casadi/libCgl-1.dll +0 -0
- casadi/libCgl.dll.a +0 -0
- casadi/libCgl.la +1 -1
- casadi/libClp-1.dll +0 -0
- casadi/libClp.dll.a +0 -0
- casadi/libClp.la +1 -1
- casadi/libClpSolver-1.dll +0 -0
- casadi/libClpSolver.dll.a +0 -0
- casadi/libClpSolver.la +1 -1
- casadi/libCoinUtils-3.dll +0 -0
- casadi/libCoinUtils.dll.a +0 -0
- casadi/libCoinUtils.la +1 -1
- casadi/libFortranHighs.dll +0 -0
- casadi/libFortranHighs.dll.a +0 -0
- casadi/libOsi-1.dll +0 -0
- casadi/libOsi.dll.a +0 -0
- casadi/libOsi.la +1 -1
- casadi/libOsiCbc-3.dll +0 -0
- casadi/libOsiCbc.dll.a +0 -0
- casadi/libOsiCbc.la +1 -1
- casadi/libOsiClp-1.dll +0 -0
- casadi/libOsiClp.dll.a +0 -0
- casadi/libOsiClp.la +1 -1
- casadi/libOsiCommonTests-1.dll +0 -0
- casadi/libOsiCommonTests.dll.a +0 -0
- casadi/libOsiCommonTests.la +1 -1
- 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/libbonmin.la +1 -1
- 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_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_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_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/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/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/osqp.lib +0 -0
- casadi/pkgconfig/blas.pc +11 -0
- casadi/pkgconfig/bonmin.pc +1 -1
- casadi/pkgconfig/casadi.pc +1 -1
- casadi/pkgconfig/cbc.pc +2 -2
- casadi/pkgconfig/cgl.pc +2 -2
- casadi/pkgconfig/clp.pc +1 -1
- casadi/pkgconfig/coinutils.pc +1 -1
- casadi/pkgconfig/highs.pc +3 -3
- casadi/pkgconfig/lapack.pc +11 -0
- casadi/pkgconfig/openblas.pc +1 -1
- casadi/pkgconfig/osi-cbc.pc +1 -1
- casadi/pkgconfig/osi-clp.pc +1 -1
- casadi/pkgconfig/osi-unittests.pc +1 -1
- casadi/pkgconfig/osi.pc +1 -1
- casadi/pkgconfig/sleqp.pc +10 -0
- casadi/sleqp.lib +0 -0
- casadi/spral_ssids.exe +0 -0
- {casadi-3.6.3.dist-info → casadi-3.6.5.dist-info}/METADATA +11 -3
- {casadi-3.6.3.dist-info → casadi-3.6.5.dist-info}/RECORD +893 -325
- casadi/include/highs/interfaces/OsiHiGHSSolverInterface.hpp +0 -415
- casadi/libOsiHighs.dll +0 -0
- casadi/libOsiHighs.dll.a +0 -0
- casadi/pkgconfig/osi-highs.pc +0 -11
- {casadi-3.6.3.dist-info → casadi-3.6.5.dist-info}/WHEEL +0 -0
@@ -0,0 +1,140 @@
|
|
1
|
+
#ifndef SLEQP_PUB_DYN_H
|
2
|
+
#define SLEQP_PUB_DYN_H
|
3
|
+
|
4
|
+
#include "sleqp/pub_func.h"
|
5
|
+
|
6
|
+
/**
|
7
|
+
* @file pub_dyn.h
|
8
|
+
* @brief Definition of dynamic functions.
|
9
|
+
*
|
10
|
+
* @defgroup dynamic Dynamic nonlinear functions
|
11
|
+
*
|
12
|
+
* Dynamic functions extend the evaluation of the objective and constraints
|
13
|
+
* to include limited accuracy. Specifically, the original objective
|
14
|
+
* \f$ f(x) \f$ is replaced by a counterpart \f$ f(x; \epsilon) \f$
|
15
|
+
* with an accuracy limited by \f$ \epsilon \f$ satisfying that
|
16
|
+
*
|
17
|
+
* \f[ | f(x; \epsilon) - f(x) | \leq \epsilon. \f]
|
18
|
+
*
|
19
|
+
* It is assumed that the value of \f$ \epsilon \f$ can be chosen freely,
|
20
|
+
* trading off computational complexity against accuracy.
|
21
|
+
* The same should be true for the constraints \f$ c(x) \f$.
|
22
|
+
* Consequently, the combined function, given by
|
23
|
+
* by
|
24
|
+
*
|
25
|
+
* \f[
|
26
|
+
* \Pi(x, w^{f}, w^{c}) := w^f \cdot f(x)
|
27
|
+
* + \sum_{i=1}^{m} w^{c}_i \cdot
|
28
|
+
* \left( \max(c_i(x) - u_i, 0) + \max(l_i - c_i(x), 0) \right)
|
29
|
+
* \f]
|
30
|
+
*
|
31
|
+
* is subject to a limited accuracy (where \f$ w^{f} > 0 \f$
|
32
|
+
* and \f$ w^{c} \in \R^{m}_{> 0} \f$ ). Specifically,
|
33
|
+
* \f$ \Pi(x, w^{f}, w^{c}) \f$ is replaced by
|
34
|
+
* \f$ \Pi(x, w^{f}, w^{c}; \epsilon^{f}, \epsilon^{c}) \f$
|
35
|
+
* given by
|
36
|
+
*
|
37
|
+
* \f[
|
38
|
+
* \Pi(x, w^{f}, w^{c}; \epsilon^{f}, \epsilon^{c})
|
39
|
+
* := w^f \cdot f(x; \epsilon^{f})
|
40
|
+
* + \sum_{i=1}^{m} w^{c}_i \cdot
|
41
|
+
* \left( \max(c_i(x; \epsilon^{c}_i) - u_i, 0)
|
42
|
+
* + \max(l_i - c_i(x; \epsilon^{c}_i), 0) \right) \f]
|
43
|
+
*
|
44
|
+
* where \f$ \epsilon^{f} > 0 \f$
|
45
|
+
* and \f$ \epsilon^{c} \in \R^{m}_{> 0} \f$.
|
46
|
+
**/
|
47
|
+
|
48
|
+
/**
|
49
|
+
* Evaluates the dynamic function at the current input vector. Given
|
50
|
+
* the current error bound \f$ \epsilon > 0 \f$ and weights
|
51
|
+
* \f$ w^{f} > 0 \f$ and \f$ w^{c} \in \R^{m}_{> 0} \f$,
|
52
|
+
* the evaluation should satisfy
|
53
|
+
*
|
54
|
+
* \f[ \hat{\epsilon} := |\Pi(x, w^{f}, w^{c})
|
55
|
+
* - \Pi(x, w^{f}, w^{c}; \epsilon^{f}, \epsilon^{c} )| \leq \epsilon.
|
56
|
+
* \f]
|
57
|
+
*
|
58
|
+
* The choice of the values of \f$ \epsilon^{f} \f$ and \f$ \epsilon^{c} \f$
|
59
|
+
* (the distribution of the error with respect to the objective and constraints)
|
60
|
+
* are up to the user.
|
61
|
+
*
|
62
|
+
* @param[in] func The function
|
63
|
+
* @param[out] obj_val The function value \f$ f(x) \f$
|
64
|
+
* @param[out] cons_val The value of the constraint function \f$ c(x) \f$
|
65
|
+
* @param[out] error The actual error \f$ \hat{\epsilon} \f$
|
66
|
+
* @param[in,out] func_data The function data
|
67
|
+
**/
|
68
|
+
typedef SLEQP_RETCODE (*SLEQP_DYN_FUNC_EVAL)(SleqpFunc* func,
|
69
|
+
double* obj_val,
|
70
|
+
SleqpVec* cons_val,
|
71
|
+
double* error,
|
72
|
+
void* func_data);
|
73
|
+
|
74
|
+
/**
|
75
|
+
* Sets the error bound \f$ \epsilon \f$ for subsequent evaluations
|
76
|
+
*
|
77
|
+
* @param[in] func The function
|
78
|
+
* @param[in] error_bound The error bound \f$ \epsilon \f$
|
79
|
+
* @param[in,out] func_data The function data
|
80
|
+
**/
|
81
|
+
typedef SLEQP_RETCODE (*SLEQP_DYN_FUNC_SET_ERROR_BOUND)(SleqpFunc* func,
|
82
|
+
double error_bound,
|
83
|
+
void* func_data);
|
84
|
+
|
85
|
+
/**
|
86
|
+
* Sets the objective weight \f$ w^{f} \f$ for subsequent evaluations
|
87
|
+
*
|
88
|
+
* @param[in] func The function
|
89
|
+
* @param[in] obj_weight The objective weight \f$ w^{f} \f$
|
90
|
+
* @param[in,out] func_data The function data
|
91
|
+
**/
|
92
|
+
typedef SLEQP_RETCODE (*SLEQP_DYN_FUNC_SET_OBJ_WEIGHT)(SleqpFunc* func,
|
93
|
+
double obj_weight,
|
94
|
+
void* func_data);
|
95
|
+
|
96
|
+
/**
|
97
|
+
* Sets the constraint weights \epsilon^{c} for subsequent evaluations
|
98
|
+
*
|
99
|
+
* @param[in] func The function
|
100
|
+
* @param[in] cons_weights The constraint weights \f$ \epsilon^{c} \f$
|
101
|
+
* @param[in,out] func_data The function data
|
102
|
+
**/
|
103
|
+
typedef SLEQP_RETCODE (*SLEQP_DYN_FUNC_SET_CONS_WEIGHTS)(
|
104
|
+
SleqpFunc* func,
|
105
|
+
const double* cons_weights,
|
106
|
+
void* func_data);
|
107
|
+
|
108
|
+
typedef struct
|
109
|
+
{
|
110
|
+
SLEQP_FUNC_SET set_value;
|
111
|
+
SLEQP_FUNC_NONZEROS nonzeros;
|
112
|
+
SLEQP_DYN_FUNC_SET_ERROR_BOUND set_error_bound;
|
113
|
+
SLEQP_DYN_FUNC_SET_OBJ_WEIGHT set_obj_weight;
|
114
|
+
SLEQP_DYN_FUNC_SET_CONS_WEIGHTS set_cons_weights;
|
115
|
+
SLEQP_DYN_FUNC_EVAL eval;
|
116
|
+
SLEQP_FUNC_OBJ_GRAD obj_grad;
|
117
|
+
SLEQP_FUNC_CONS_JAC cons_jac;
|
118
|
+
SLEQP_FUNC_HESS_PROD hess_prod;
|
119
|
+
SLEQP_FUNC_FREE func_free;
|
120
|
+
} SleqpDynFuncCallbacks;
|
121
|
+
|
122
|
+
/**
|
123
|
+
* Creates a new dynamic function
|
124
|
+
* @param[out] fstar A pointer to the function to be created
|
125
|
+
* @param[in] callbacks The dynamic function callbacks
|
126
|
+
* @param[in] num_variables The number of variables
|
127
|
+
* @param[in] num_constraints The number of constraints
|
128
|
+
* @param[in] func_data The function data
|
129
|
+
**/
|
130
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
131
|
+
sleqp_dyn_func_create(SleqpFunc** fstar,
|
132
|
+
SleqpDynFuncCallbacks* callbacks,
|
133
|
+
int num_variables,
|
134
|
+
int num_constraints,
|
135
|
+
void* func_data);
|
136
|
+
|
137
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
138
|
+
sleqp_dyn_func_set_callbacks(SleqpFunc* func, SleqpDynFuncCallbacks* callbacks);
|
139
|
+
|
140
|
+
#endif /* SLEQP_PUB_DYN_H */
|
@@ -0,0 +1,50 @@
|
|
1
|
+
#ifndef SLEQP_PUB_ERROR_H
|
2
|
+
#define SLEQP_PUB_ERROR_H
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @file pub_error.h
|
6
|
+
* @brief Error handling.
|
7
|
+
**/
|
8
|
+
|
9
|
+
#include "pub_types.h"
|
10
|
+
|
11
|
+
/**
|
12
|
+
* Returns the type of the current error
|
13
|
+
**/
|
14
|
+
SLEQP_EXPORT SLEQP_ERROR_TYPE
|
15
|
+
sleqp_error_type();
|
16
|
+
|
17
|
+
/**
|
18
|
+
* Returns the message associated
|
19
|
+
* with the current error
|
20
|
+
**/
|
21
|
+
SLEQP_EXPORT const char*
|
22
|
+
sleqp_error_msg();
|
23
|
+
|
24
|
+
/**
|
25
|
+
* Sets the current error. To be used by @ref sleqp_raise
|
26
|
+
**/
|
27
|
+
SLEQP_EXPORT void
|
28
|
+
sleqp_set_error(const char* file,
|
29
|
+
int line,
|
30
|
+
const char* func,
|
31
|
+
SLEQP_ERROR_TYPE error_type,
|
32
|
+
const char* fmt,
|
33
|
+
...) SLEQP_FORMAT_PRINTF(5, 6);
|
34
|
+
|
35
|
+
/**
|
36
|
+
* Raises an error with the given type and message
|
37
|
+
**/
|
38
|
+
#define sleqp_raise(error_type, fmt, ...) \
|
39
|
+
do \
|
40
|
+
{ \
|
41
|
+
sleqp_set_error(__FILE__, \
|
42
|
+
__LINE__, \
|
43
|
+
__PRETTY_FUNCTION__, \
|
44
|
+
error_type, \
|
45
|
+
fmt, \
|
46
|
+
##__VA_ARGS__); \
|
47
|
+
return SLEQP_ERROR; \
|
48
|
+
} while (false)
|
49
|
+
|
50
|
+
#endif /* SLEQP_PUB_ERROR_H */
|
@@ -0,0 +1,257 @@
|
|
1
|
+
#ifndef PUB_FUNC_H
|
2
|
+
#define PUB_FUNC_H
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @file pub_func.h
|
6
|
+
* @brief Definition of nonlinear functions.
|
7
|
+
**/
|
8
|
+
|
9
|
+
#include "sleqp/pub_hess_struct.h"
|
10
|
+
#include "sparse/pub_mat.h"
|
11
|
+
#include "sparse/pub_vec.h"
|
12
|
+
|
13
|
+
/**
|
14
|
+
* @defgroup function Nonlinear functions
|
15
|
+
* @{
|
16
|
+
*
|
17
|
+
* A function is given by an objective
|
18
|
+
* \f$ f : \R^n \to \R \f$
|
19
|
+
* and constraints
|
20
|
+
* \f$ c : \R^n \to \R^{m} \f$.
|
21
|
+
*
|
22
|
+
* The functions are assumed to be twice continuously
|
23
|
+
* differentiable. Function, gradient, and Hessian evaluations are
|
24
|
+
* supposed to be provided by the user in the form of callbacks.
|
25
|
+
**/
|
26
|
+
|
27
|
+
typedef struct SleqpFunc SleqpFunc;
|
28
|
+
|
29
|
+
/**
|
30
|
+
* The reason for setting the primal point
|
31
|
+
**/
|
32
|
+
typedef enum
|
33
|
+
{
|
34
|
+
/** No reason **/
|
35
|
+
SLEQP_VALUE_REASON_NONE,
|
36
|
+
/** Initial step **/
|
37
|
+
SLEQP_VALUE_REASON_INIT,
|
38
|
+
/** Checking derivatives **/
|
39
|
+
SLEQP_VALUE_REASON_CHECKING_DERIV,
|
40
|
+
/** Accepted trial step **/
|
41
|
+
SLEQP_VALUE_REASON_ACCEPTED_ITERATE,
|
42
|
+
/** New trial step **/
|
43
|
+
SLEQP_VALUE_REASON_TRYING_ITERATE,
|
44
|
+
/** New SOC trial step **/
|
45
|
+
SLEQP_VALUE_REASON_TRYING_SOC_ITERATE,
|
46
|
+
/** Rejected trial step **/
|
47
|
+
SLEQP_VALUE_REASON_REJECTED_ITERATE,
|
48
|
+
} SLEQP_VALUE_REASON;
|
49
|
+
|
50
|
+
/**
|
51
|
+
* Type of the function
|
52
|
+
**/
|
53
|
+
typedef enum
|
54
|
+
{
|
55
|
+
/** Regular function **/
|
56
|
+
SLEQP_FUNC_TYPE_REGULAR,
|
57
|
+
/** Least-squares function @see least_squares **/
|
58
|
+
SLEQP_FUNC_TYPE_LSQ,
|
59
|
+
/** Dynamic function @see dynamic **/
|
60
|
+
SLEQP_FUNC_TYPE_DYNAMIC
|
61
|
+
} SLEQP_FUNC_TYPE;
|
62
|
+
|
63
|
+
/**
|
64
|
+
* Sets the current primal point
|
65
|
+
*
|
66
|
+
* @param[in] func The function
|
67
|
+
* @param[in] value The value
|
68
|
+
* @param[in] reason The reason for setting \f$ x \f$
|
69
|
+
* @param[out] reject Whether to manually reject the step
|
70
|
+
* @param[in,out] func_data The function data
|
71
|
+
**/
|
72
|
+
typedef SLEQP_RETCODE (*SLEQP_FUNC_SET)(SleqpFunc* func,
|
73
|
+
SleqpVec* value,
|
74
|
+
SLEQP_VALUE_REASON reason,
|
75
|
+
bool* reject,
|
76
|
+
void* func_data);
|
77
|
+
|
78
|
+
/**
|
79
|
+
* Queries the number of nonzeros of the function at the
|
80
|
+
* current primal point
|
81
|
+
*
|
82
|
+
* @param[in] func The function
|
83
|
+
* @param[out] obj_grad_nnz The number of nonzeros of the objective
|
84
|
+
*gradient \f$ \nabla f(x) \f$
|
85
|
+
* @param[out] cons_val_nnz The number of nonzeros of the constraint
|
86
|
+
*function \f$ c(x) \f$
|
87
|
+
* @param[out] cons_jac_nnz The number of nonzeros of the constraint
|
88
|
+
*Jacobian \f$ J_c(x) \f$
|
89
|
+
* @param[out] cons_jac_nnz The number of nonzeros of Hessian products
|
90
|
+
* \f$ \nabla_{xx} L(x, \lambda) \f$
|
91
|
+
* @param[in,out] func_data The function data
|
92
|
+
**/
|
93
|
+
typedef SLEQP_RETCODE (*SLEQP_FUNC_NONZEROS)(SleqpFunc* func,
|
94
|
+
int* obj_grad_nnz,
|
95
|
+
int* cons_val_nnz,
|
96
|
+
int* cons_jac_nnz,
|
97
|
+
int* hess_prod_nnz,
|
98
|
+
void* func_data);
|
99
|
+
|
100
|
+
/**
|
101
|
+
* Evaluates the objective \f$ f \f$ at the current primal point
|
102
|
+
*
|
103
|
+
* @param[in] func The function
|
104
|
+
* @param[out] obj_val The objective value \f$ f(x) \f$
|
105
|
+
* @param[in,out] func_data The function data
|
106
|
+
**/
|
107
|
+
typedef SLEQP_RETCODE (*SLEQP_FUNC_OBJ_VAL)(SleqpFunc* func,
|
108
|
+
double* obj_val,
|
109
|
+
void* func_data);
|
110
|
+
|
111
|
+
/**
|
112
|
+
* Evaluates the objective gradient \f$ \nabla f \f$ at the current
|
113
|
+
* primal point
|
114
|
+
*
|
115
|
+
* @param[in] func The function
|
116
|
+
* @param[out] obj_grad The objective gradient \f$ \nabla f(x) \f$
|
117
|
+
* @param[in,out] func_data The function data
|
118
|
+
**/
|
119
|
+
typedef SLEQP_RETCODE (*SLEQP_FUNC_OBJ_GRAD)(SleqpFunc* func,
|
120
|
+
SleqpVec* obj_grad,
|
121
|
+
void* func_data);
|
122
|
+
|
123
|
+
/**
|
124
|
+
* Evaluates the constraints \f$ c \f$ at the current primal point
|
125
|
+
*
|
126
|
+
* @param[in] func The function
|
127
|
+
* @param[out] cons_val The value of the constraint function \f$ c(x)
|
128
|
+
*\f$
|
129
|
+
* @param[in,out] func_data The function data
|
130
|
+
**/
|
131
|
+
typedef SLEQP_RETCODE (*SLEQP_FUNC_CONS_VAL)(SleqpFunc* func,
|
132
|
+
SleqpVec* cons_val,
|
133
|
+
void* func_data);
|
134
|
+
|
135
|
+
/**
|
136
|
+
* Evaluates the constraing Jacobian \f$ J_c \f$ at the current primal point
|
137
|
+
*
|
138
|
+
* @param[in] func The function
|
139
|
+
* @param[out] cons_jac The constraint Jacobian \f$ J_c(x) \f$
|
140
|
+
* @param[in,out] func_data The function data
|
141
|
+
**/
|
142
|
+
typedef SLEQP_RETCODE (*SLEQP_FUNC_CONS_JAC)(SleqpFunc* func,
|
143
|
+
SleqpMat* cons_jac,
|
144
|
+
void* func_data);
|
145
|
+
|
146
|
+
/**
|
147
|
+
* Evaluates the product of the Hessian of the Lagrangian function.
|
148
|
+
* The Lagrangian function is given by:
|
149
|
+
*
|
150
|
+
* \f[
|
151
|
+
* L(x, \lambda) := f(x) + \langle \lambda, c(x) \rangle
|
152
|
+
* \f]
|
153
|
+
*
|
154
|
+
* The product with a direction \f$ d \f$ is then:
|
155
|
+
* \f[
|
156
|
+
* \nabla_{xx} L(x, \lambda) d
|
157
|
+
* = \left( \nabla_{xx} f(x) d
|
158
|
+
* + \sum_{i=1}^{m} \lambda_i \nabla_{xx} c_i(x) d \right)
|
159
|
+
* \f]
|
160
|
+
*
|
161
|
+
* @param[in] func The function
|
162
|
+
* @param[in] direction The direction \f$ d \f$
|
163
|
+
* @param[in] cons_duals The values \f$ \lambda \f$
|
164
|
+
* @param[out] product The resulting product
|
165
|
+
* @param[in,out] func_data The function data
|
166
|
+
*
|
167
|
+
**/
|
168
|
+
typedef SLEQP_RETCODE (*SLEQP_FUNC_HESS_PROD)(SleqpFunc* func,
|
169
|
+
const SleqpVec* direction,
|
170
|
+
const SleqpVec* cons_duals,
|
171
|
+
SleqpVec* product,
|
172
|
+
void* func_data);
|
173
|
+
|
174
|
+
/**
|
175
|
+
* Cleans up any allocated memory stored in the function data.
|
176
|
+
*
|
177
|
+
* @param[in,out] func_data The function data
|
178
|
+
*
|
179
|
+
**/
|
180
|
+
typedef SLEQP_RETCODE (*SLEQP_FUNC_FREE)(void* func_data);
|
181
|
+
|
182
|
+
typedef struct
|
183
|
+
{
|
184
|
+
SLEQP_FUNC_SET set_value;
|
185
|
+
SLEQP_FUNC_NONZEROS nonzeros;
|
186
|
+
SLEQP_FUNC_OBJ_VAL obj_val;
|
187
|
+
SLEQP_FUNC_OBJ_GRAD obj_grad;
|
188
|
+
SLEQP_FUNC_CONS_VAL cons_val;
|
189
|
+
SLEQP_FUNC_CONS_JAC cons_jac;
|
190
|
+
SLEQP_FUNC_HESS_PROD hess_prod;
|
191
|
+
SLEQP_FUNC_FREE func_free;
|
192
|
+
} SleqpFuncCallbacks;
|
193
|
+
|
194
|
+
/**
|
195
|
+
* Creates a new function
|
196
|
+
*
|
197
|
+
* @param[out] fstar A pointer to the function to be created
|
198
|
+
* @param[in] callbacks A callback to the function callbacks
|
199
|
+
* @param[in] num_variables The number of variables
|
200
|
+
* @param[in] num_constraints The number of constraints
|
201
|
+
* @param[in] func_data User-provided function data
|
202
|
+
**/
|
203
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
204
|
+
sleqp_func_create(SleqpFunc** fstar,
|
205
|
+
SleqpFuncCallbacks* callbacks,
|
206
|
+
int num_variables,
|
207
|
+
int num_constraints,
|
208
|
+
void* func_data);
|
209
|
+
|
210
|
+
/**
|
211
|
+
* Returns the number of variables \f$ n \f$.
|
212
|
+
**/
|
213
|
+
SLEQP_EXPORT int
|
214
|
+
sleqp_func_num_vars(const SleqpFunc* func);
|
215
|
+
|
216
|
+
/**
|
217
|
+
* Returns the number of constraints \f$ m \f$.
|
218
|
+
**/
|
219
|
+
SLEQP_EXPORT int
|
220
|
+
sleqp_func_num_cons(const SleqpFunc* func);
|
221
|
+
|
222
|
+
/**
|
223
|
+
* Sets the callbacks of this function to the specified ones
|
224
|
+
*
|
225
|
+
* @param[in] func The function
|
226
|
+
* @param[in] callbacks The new callbacks
|
227
|
+
**/
|
228
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
229
|
+
sleqp_func_set_callbacks(SleqpFunc* func, SleqpFuncCallbacks* callbacks);
|
230
|
+
|
231
|
+
/**
|
232
|
+
* Returns the Hessian structure of this function
|
233
|
+
*
|
234
|
+
* @param[in] func The function
|
235
|
+
*
|
236
|
+
**/
|
237
|
+
SLEQP_EXPORT
|
238
|
+
SleqpHessStruct*
|
239
|
+
sleqp_func_hess_struct(SleqpFunc* func);
|
240
|
+
|
241
|
+
/**
|
242
|
+
* Returns the function data associated with the given function.
|
243
|
+
**/
|
244
|
+
SLEQP_EXPORT void*
|
245
|
+
sleqp_func_get_data(SleqpFunc* func);
|
246
|
+
|
247
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
248
|
+
sleqp_func_capture(SleqpFunc* func);
|
249
|
+
|
250
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
251
|
+
sleqp_func_release(SleqpFunc** fstar);
|
252
|
+
|
253
|
+
/**
|
254
|
+
* @}
|
255
|
+
**/
|
256
|
+
|
257
|
+
#endif /* PUB_FUNC_H */
|
@@ -0,0 +1,105 @@
|
|
1
|
+
#ifndef SLEQP_PUB_HESS_STRUCT_H
|
2
|
+
#define SLEQP_PUB_HESS_STRUCT_H
|
3
|
+
|
4
|
+
#include "sleqp/export.h"
|
5
|
+
#include "sleqp/pub_types.h"
|
6
|
+
|
7
|
+
/**
|
8
|
+
* @file pub_hess_struct.h
|
9
|
+
* @brief Definition of problem block structure.
|
10
|
+
**/
|
11
|
+
|
12
|
+
/**
|
13
|
+
*
|
14
|
+
* Hessian structure of the Lagrangian
|
15
|
+
*
|
16
|
+
* \f[ L(x, \lambda, \mu) = f(x) + \langle \lambda, c \rangle + \langle 1, \mu
|
17
|
+
*\rangle \f].
|
18
|
+
*
|
19
|
+
* The Hessian \f$ H_L \f$ is assumed to consist of a number of \f$k\f$ blocks,
|
20
|
+
* given in terms of indices \f$ 1 = j_1 < j_2 < \ldots < j_{k+1} \leq n \f$.
|
21
|
+
* All non-zero entries \f$ (i, j) \f$ must satisfy that
|
22
|
+
* \f$ j_l \leq i, j < j_{l + 1} \f$ for some \f$ l = 1, \ldots, k \f$.
|
23
|
+
*
|
24
|
+
* The default is to assume one block of size \f$ n \f$, implying
|
25
|
+
* no particular structure of the Hessian.
|
26
|
+
*
|
27
|
+
* If \f$ j_{k+1} < n \f$, then the range from \f$ j_{k+1} \f$ to \f$ n \f$
|
28
|
+
* must only contain zero entries, i.e., combinations of linear constraints
|
29
|
+
* and variables.
|
30
|
+
*
|
31
|
+
**/
|
32
|
+
typedef struct SleqpHessStruct SleqpHessStruct;
|
33
|
+
|
34
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
35
|
+
sleqp_hess_struct_create(SleqpHessStruct** star, int dimension, bool empty);
|
36
|
+
|
37
|
+
/**
|
38
|
+
* Returns the number \f$ k \f$ of blocks.
|
39
|
+
*
|
40
|
+
* @param[in] hessian_struct The Hessian structure
|
41
|
+
* @returns The number \f$ k \f$ of blocks
|
42
|
+
**/
|
43
|
+
SLEQP_EXPORT int
|
44
|
+
sleqp_hess_struct_num_blocks(const SleqpHessStruct* hessian_struct);
|
45
|
+
|
46
|
+
/**
|
47
|
+
* Returns the \f$ l \f$-th block of the Hessian
|
48
|
+
*
|
49
|
+
* @param[in] hessian_struct The Hessian structure
|
50
|
+
* @param[in] block The index \f$ l \f$ of the block
|
51
|
+
* @param[out] begin The 0-based index \f$ j_l \f$
|
52
|
+
* @param[out] end The 0-based index \f$ j_{l+1} \f$
|
53
|
+
**/
|
54
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
55
|
+
sleqp_hess_struct_block_range(const SleqpHessStruct* hessian_struct,
|
56
|
+
int block,
|
57
|
+
int* begin,
|
58
|
+
int* end);
|
59
|
+
|
60
|
+
/**
|
61
|
+
* Pushes a new block into the Hessian
|
62
|
+
*
|
63
|
+
* @param[in] hessian_struct The Hessian structure
|
64
|
+
* @param[out] end The 0-based index \f$ j_{l+1} \f$
|
65
|
+
**/
|
66
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
67
|
+
sleqp_hess_struct_push_block(SleqpHessStruct* hessian_struct, int end);
|
68
|
+
|
69
|
+
/**
|
70
|
+
* Clears the Hessian structure, i.e., sets \f$ k = 0 \f$
|
71
|
+
*
|
72
|
+
* @param[in] hessian_struct The Hessian structure
|
73
|
+
**/
|
74
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
75
|
+
sleqp_hess_struct_clear(SleqpHessStruct* hessian_struct);
|
76
|
+
|
77
|
+
/**
|
78
|
+
* Returns the linear range
|
79
|
+
*
|
80
|
+
* @param[in] hessian_struct The Hessian structure
|
81
|
+
* @param[out] begin The value \f$ j_{k + 1} \f$
|
82
|
+
* @param[out] end The value \f$ n \f$
|
83
|
+
*
|
84
|
+
**/
|
85
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
86
|
+
sleqp_hess_struct_lin_range(const SleqpHessStruct* hessian_struct,
|
87
|
+
int* begin,
|
88
|
+
int* end);
|
89
|
+
|
90
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
91
|
+
sleqp_hess_struct_copy(const SleqpHessStruct* source, SleqpHessStruct* target);
|
92
|
+
|
93
|
+
/**
|
94
|
+
* Prints the Hessian structure
|
95
|
+
**/
|
96
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
97
|
+
sleqp_hess_struct_fprintf(SleqpHessStruct* hessian_struct, FILE* output);
|
98
|
+
|
99
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
100
|
+
sleqp_hess_struct_capture(SleqpHessStruct* hessian_struct);
|
101
|
+
|
102
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
103
|
+
sleqp_hess_struct_release(SleqpHessStruct** star);
|
104
|
+
|
105
|
+
#endif /* SLEQP_PUB_HESS_STRUCT_H */
|
@@ -0,0 +1,88 @@
|
|
1
|
+
#ifndef SLEQP_PUB_ITERATE_H
|
2
|
+
#define SLEQP_PUB_ITERATE_H
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @file pub_iterate.h
|
6
|
+
* @brief Definition of iterate.
|
7
|
+
**/
|
8
|
+
|
9
|
+
#include "sleqp/export.h"
|
10
|
+
#include "sleqp/pub_problem.h"
|
11
|
+
#include "sleqp/pub_working_set.h"
|
12
|
+
|
13
|
+
#include "sparse/pub_mat.h"
|
14
|
+
#include "sparse/pub_vec.h"
|
15
|
+
|
16
|
+
typedef struct SleqpIterate SleqpIterate;
|
17
|
+
|
18
|
+
/**
|
19
|
+
* Create a new iterate
|
20
|
+
*
|
21
|
+
* @param[in,out] star A pointer to the newly created iterate
|
22
|
+
* @param[in] problem The underlying problem
|
23
|
+
* @param[in] x The point of the iterate
|
24
|
+
**/
|
25
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
26
|
+
sleqp_iterate_create(SleqpIterate** star,
|
27
|
+
SleqpProblem* problem,
|
28
|
+
const SleqpVec* x);
|
29
|
+
|
30
|
+
/**
|
31
|
+
* The current point. Has dimension = num_variables.
|
32
|
+
**/
|
33
|
+
SLEQP_EXPORT SleqpVec*
|
34
|
+
sleqp_iterate_primal(const SleqpIterate* iterate);
|
35
|
+
|
36
|
+
/**
|
37
|
+
* The current function value
|
38
|
+
**/
|
39
|
+
SLEQP_EXPORT double
|
40
|
+
sleqp_iterate_obj_val(const SleqpIterate* iterate);
|
41
|
+
|
42
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
43
|
+
sleqp_iterate_set_obj_val(SleqpIterate* iterate, double value);
|
44
|
+
|
45
|
+
/**
|
46
|
+
* The current function gradient. Has dimension = num_variables.
|
47
|
+
**/
|
48
|
+
SLEQP_EXPORT SleqpVec*
|
49
|
+
sleqp_iterate_obj_grad(const SleqpIterate* iterate);
|
50
|
+
|
51
|
+
/**
|
52
|
+
* The current constraint values. Has dimension = num_constraints.
|
53
|
+
**/
|
54
|
+
SLEQP_EXPORT SleqpVec*
|
55
|
+
sleqp_iterate_cons_val(const SleqpIterate* iterate);
|
56
|
+
|
57
|
+
/**
|
58
|
+
* The Jacobian of the constraitns at the current iterate.
|
59
|
+
* Has num_constraints many rows, num_variables many columns.
|
60
|
+
*/
|
61
|
+
SLEQP_EXPORT SleqpMat*
|
62
|
+
sleqp_iterate_cons_jac(const SleqpIterate* iterate);
|
63
|
+
|
64
|
+
/**
|
65
|
+
* The current working set.
|
66
|
+
**/
|
67
|
+
SLEQP_EXPORT SleqpWorkingSet*
|
68
|
+
sleqp_iterate_working_set(const SleqpIterate* iterate);
|
69
|
+
|
70
|
+
/**
|
71
|
+
* The dual values of the constraints. Has dimension = num_constraints.
|
72
|
+
*/
|
73
|
+
SLEQP_EXPORT SleqpVec*
|
74
|
+
sleqp_iterate_cons_dual(const SleqpIterate* iterate);
|
75
|
+
|
76
|
+
/**
|
77
|
+
* The dual values of the variable bounds. Has dimension = num_variables.
|
78
|
+
*/
|
79
|
+
SLEQP_EXPORT SleqpVec*
|
80
|
+
sleqp_iterate_vars_dual(const SleqpIterate* iterate);
|
81
|
+
|
82
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
83
|
+
sleqp_iterate_capture(SleqpIterate* iterate);
|
84
|
+
|
85
|
+
SLEQP_EXPORT SLEQP_WARNUNUSED SLEQP_RETCODE
|
86
|
+
sleqp_iterate_release(SleqpIterate** star);
|
87
|
+
|
88
|
+
#endif /* SLEQP_PUB_ITERATE_H */
|