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
casadi/include/casadi/casadi.i
CHANGED
@@ -59,6 +59,10 @@
|
|
59
59
|
namespace casadi {
|
60
60
|
// Redirect printout
|
61
61
|
static void pythonlogger(const char* s, std::streamsize num, bool error) {
|
62
|
+
if (!casadi::InterruptHandler::is_main_thread()) {
|
63
|
+
casadi::Logger::writeDefault(s, num, error);
|
64
|
+
return;
|
65
|
+
}
|
62
66
|
int n = num;
|
63
67
|
while (n>0) {
|
64
68
|
if (error) {
|
@@ -76,6 +80,19 @@
|
|
76
80
|
return PyErr_CheckSignals();
|
77
81
|
}
|
78
82
|
|
83
|
+
std::string python_string_to_std_string(PyObject *str_py) {
|
84
|
+
#if SWIG_VERSION < 0x040200
|
85
|
+
const char *str_char = SWIG_Python_str_AsChar(str_py);
|
86
|
+
std::string str(str_char);
|
87
|
+
SWIG_Python_str_DelForPy3(str_char);
|
88
|
+
#else
|
89
|
+
PyObject *bytes = NULL;
|
90
|
+
std::string str(SWIG_PyUnicode_AsUTF8AndSize(str_py, NULL, &bytes));
|
91
|
+
Py_XDECREF(bytes);
|
92
|
+
#endif
|
93
|
+
return str;
|
94
|
+
}
|
95
|
+
|
79
96
|
void handle_director_exception() {
|
80
97
|
std::string msg = "Exception in SWIG director ";
|
81
98
|
SWIG_PYTHON_THREAD_BEGIN_BLOCK;
|
@@ -87,9 +104,7 @@
|
|
87
104
|
PyObject *ptype, *pvalue, *ptraceback;
|
88
105
|
PyErr_Fetch(&ptype, &pvalue, &ptraceback);
|
89
106
|
PyObject* msg_py = PyObject_Str(pvalue);
|
90
|
-
|
91
|
-
msg = msg_char;
|
92
|
-
SWIG_Python_str_DelForPy3(msg_char);
|
107
|
+
msg = python_string_to_std_string(msg_py);
|
93
108
|
Py_DECREF(msg_py);
|
94
109
|
PyErr_Restore(ptype, pvalue, ptraceback);
|
95
110
|
PyErr_Print();
|
@@ -1437,11 +1452,15 @@ namespace std {
|
|
1437
1452
|
|| to_generic<std::vector<double> >(p, m)
|
1438
1453
|
|| to_generic<std::vector<bool> >(p, m)
|
1439
1454
|
|| to_generic<std::vector<std::string> >(p, m)
|
1455
|
+
|| to_generic<std::vector<std::vector<std::string> > >(p, m)
|
1440
1456
|
|| to_generic<std::vector<std::vector<casadi_int> > >(p, m)
|
1441
1457
|
|| to_generic<std::vector<std::vector<double> > >(p, m)
|
1442
1458
|
|| to_generic<casadi::Function>(p, m)
|
1443
1459
|
|| to_generic<std::vector<casadi::Function> >(p, m)
|
1444
|
-
|| to_generic<casadi::GenericType::Dict>(p, m)
|
1460
|
+
|| to_generic<casadi::GenericType::Dict>(p, m)
|
1461
|
+
|| to_generic<std::vector<casadi::GenericType::Dict> >(p, m)
|
1462
|
+
|| to_generic<std::vector<std::vector<casadi::GenericType> > >(p, m)
|
1463
|
+
|| to_generic<std::vector<casadi::GenericType> >(p, m)) {
|
1445
1464
|
return true;
|
1446
1465
|
}
|
1447
1466
|
|
@@ -1464,7 +1483,11 @@ namespace std {
|
|
1464
1483
|
case OT_DOUBLEVECTOR: return from_tmp(a->as_double_vector());
|
1465
1484
|
case OT_DOUBLEVECTORVECTOR: return from_tmp(a->as_double_vector_vector());
|
1466
1485
|
case OT_STRINGVECTOR: return from_tmp(a->as_string_vector());
|
1486
|
+
case OT_STRINGVECTORVECTOR: return from_tmp(a->as_string_vector_vector());
|
1467
1487
|
case OT_DICT: return from_tmp(a->as_dict());
|
1488
|
+
case OT_DICTVECTOR: return from_tmp(a->as_dict_vector());
|
1489
|
+
case OT_VECTORVECTOR: return from_tmp(a->as_vector_vector());
|
1490
|
+
case OT_VECTOR: return from_tmp(a->as_vector());
|
1468
1491
|
case OT_FUNCTION: return from_tmp(a->as_function());
|
1469
1492
|
case OT_FUNCTIONVECTOR: return from_tmp(a->as_function_vector());
|
1470
1493
|
#ifdef SWIGPYTHON
|
@@ -1496,10 +1519,10 @@ namespace std {
|
|
1496
1519
|
|
1497
1520
|
#ifdef SWIGPYTHON
|
1498
1521
|
if (PyString_Check(p) || PyUnicode_Check(p)) {
|
1499
|
-
if (m)
|
1500
|
-
|
1501
|
-
|
1502
|
-
|
1522
|
+
if (m) {
|
1523
|
+
(*m)->clear();
|
1524
|
+
(*m)->append(python_string_to_std_string(p));
|
1525
|
+
}
|
1503
1526
|
return true;
|
1504
1527
|
}
|
1505
1528
|
#endif // SWIGPYTHON
|
@@ -1590,9 +1613,7 @@ namespace std {
|
|
1590
1613
|
while (PyDict_Next(p, &pos, &key, &value)) {
|
1591
1614
|
if (!(PyString_Check(key) || PyUnicode_Check(key))) return false;
|
1592
1615
|
if (m) {
|
1593
|
-
|
1594
|
-
M *v=&(**m)[std::string(c_key)], *v2=v;
|
1595
|
-
SWIG_Python_str_DelForPy3(c_key);
|
1616
|
+
M *v=&(**m)[python_string_to_std_string(key)], *v2=v;
|
1596
1617
|
if (!casadi::to_ptr(value, &v)) return false;
|
1597
1618
|
if (v!=v2) *v2=*v; // if only pointer changed
|
1598
1619
|
} else {
|
@@ -1853,11 +1874,8 @@ namespace std {
|
|
1853
1874
|
PyObject * classo = PyObject_GetAttrString( p, "__class__");
|
1854
1875
|
PyObject * classname = PyObject_GetAttrString( classo, "__name__");
|
1855
1876
|
|
1856
|
-
|
1857
|
-
bool ret = strcmp(c_classname, name)==0;
|
1858
|
-
|
1877
|
+
bool ret = python_string_to_std_string(classname) == name;
|
1859
1878
|
Py_DECREF(classo);Py_DECREF(classname);
|
1860
|
-
SWIG_Python_str_DelForPy3(c_classname);
|
1861
1879
|
return ret;
|
1862
1880
|
}
|
1863
1881
|
#endif // SWIGPYTHON
|
@@ -2682,7 +2700,7 @@ class NZproxy:
|
|
2682
2700
|
if "vectorized" in name:
|
2683
2701
|
name = name[:-len(" (vectorized)")]
|
2684
2702
|
|
2685
|
-
conversion = {"multiply": "mul", "divide": "div", "true_divide": "div", "subtract":"sub","power":"pow","greater_equal":"ge","less_equal": "le", "less": "lt", "greater": "gt"}
|
2703
|
+
conversion = {"multiply": "mul", "divide": "div", "true_divide": "div", "subtract":"sub","power":"pow","greater_equal":"ge","less_equal": "le", "less": "lt", "greater": "gt", "equal": "eq", "not_equal": "ne"}
|
2686
2704
|
if name in conversion:
|
2687
2705
|
name = conversion[name]
|
2688
2706
|
if len(context[1])==2 and context[1][1] is self and not(context[1][0] is self):
|
@@ -2694,7 +2712,7 @@ class NZproxy:
|
|
2694
2712
|
return fun(*args[1:])
|
2695
2713
|
|
2696
2714
|
def __array_ufunc__(self, ufunc, method, *inputs, **kwargs):
|
2697
|
-
conversion = {"multiply": "mul", "divide": "div", "true_divide": "div", "subtract":"sub","power":"pow","greater_equal":"ge","less_equal": "le", "less": "lt", "greater": "gt"}
|
2715
|
+
conversion = {"multiply": "mul", "divide": "div", "true_divide": "div", "subtract":"sub","power":"pow","greater_equal":"ge","less_equal": "le", "less": "lt", "greater": "gt", "equal": "eq", "not_equal": "ne"}
|
2698
2716
|
name = ufunc.__name__
|
2699
2717
|
inputs = list(inputs)
|
2700
2718
|
if len(inputs)==3:
|
@@ -2714,7 +2732,13 @@ class NZproxy:
|
|
2714
2732
|
assert method=="__call__"
|
2715
2733
|
fun=getattr(self, name)
|
2716
2734
|
return fun(*inputs[1:])
|
2717
|
-
except:
|
2735
|
+
except Exception as e:
|
2736
|
+
if "Dimension mismatch" in str(e):
|
2737
|
+
import sys
|
2738
|
+
if sys.version_info[0] < 3:
|
2739
|
+
raise RuntimeError(str(e))
|
2740
|
+
else:
|
2741
|
+
raise e
|
2718
2742
|
# Fall back to numpy conversion
|
2719
2743
|
new_inputs = list(inputs)
|
2720
2744
|
try:
|
@@ -4410,6 +4434,7 @@ namespace casadi {
|
|
4410
4434
|
%include <casadi/core/casadi_meta.hpp>
|
4411
4435
|
%include <casadi/core/integration_tools.hpp>
|
4412
4436
|
%include <casadi/core/nlp_tools.hpp>
|
4437
|
+
%include <casadi/core/tools.hpp>
|
4413
4438
|
%include <casadi/core/nlp_builder.hpp>
|
4414
4439
|
%include <casadi/core/dae_builder.hpp>
|
4415
4440
|
%include <casadi/core/xml_file.hpp>
|
casadi/include/casadi/config.h
CHANGED
@@ -26,18 +26,18 @@
|
|
26
26
|
|
27
27
|
#define CASADI_MAJOR_VERSION 3
|
28
28
|
#define CASADI_MINOR_VERSION 6
|
29
|
-
#define CASADI_PATCH_VERSION
|
29
|
+
#define CASADI_PATCH_VERSION 5
|
30
30
|
#define CASADI_IS_RELEASE 1
|
31
|
-
#define CASADI_VERSION_STRING "3.6.
|
32
|
-
#define CASADI_GIT_REVISION "
|
33
|
-
#define CASADI_GIT_DESCRIBE "3.6.
|
34
|
-
#define CASADI_FEATURE_LIST "\n * dynamic-loading, Support for import of FMI 2.0 binaries\n * sundials-interface, Interface to the ODE/DAE integrator suite SUNDIALS.\n * csparse-interface, Interface to the sparse direct linear solver CSparse.\n * superscs-interface, Interface to QP solver SUPERSCS.\n * osqp-interface, Interface to QP solver OSQP.\n * tinyxml-interface, Interface to the XML parser TinyXML.\n * qpoases-interface, Interface to the active-set QP solver qpOASES.\n * blocksqp-interface, Interface to the NLP solver blockSQP.\n * cplex-mockup-build, Use mockup CPLEX (BUILD_MOCKUPS_VERSION=
|
31
|
+
#define CASADI_VERSION_STRING "3.6.5"
|
32
|
+
#define CASADI_GIT_REVISION "3d820e62cb588e76498c92bf6feff6876b4e7ca0" // NOLINT(whitespace/line_length)
|
33
|
+
#define CASADI_GIT_DESCRIBE "3.6.3-175.3d820e62c" // NOLINT(whitespace/line_length)
|
34
|
+
#define CASADI_FEATURE_LIST "\n * dynamic-loading, Support for import of FMI 2.0 binaries\n * sundials-interface, Interface to the ODE/DAE integrator suite SUNDIALS.\n * csparse-interface, Interface to the sparse direct linear solver CSparse.\n * superscs-interface, Interface to QP solver SUPERSCS.\n * osqp-interface, Interface to QP solver OSQP.\n * tinyxml-interface, Interface to the XML parser TinyXML.\n * qpoases-interface, Interface to the active-set QP solver qpOASES.\n * blocksqp-interface, Interface to the NLP solver blockSQP.\n * cplex-mockup-build, Use mockup CPLEX (BUILD_MOCKUPS_VERSION=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * snopt-mockup-build, Use mockup SNOPT (BUILD_MOCKUPS_VERSION=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * knitro-mockup-build, Use mockup KNITRO (BUILD_MOCKUPS_VERSION=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * gurobi-mockup-build, Use mockup GUROBI (BUILD_MOCKUPS_VERSION=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * worhp-mockup-build, Use mockup WORHP (BUILD_MOCKUPS_VERSION=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * hsl-mockup-build, Use mockup WORHP (BUILD_MOCKUPS_VERSION=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * alpaqa-sourcebuild, Build Alpaqa (BUILD_ALPAQA_VERSION=develop) from downloaded source (BUILD_ALPAQA_GIT_REPO=https://github.com/jgillis/alpaqa).\n * highs-sourcebuild, Build HiGHS (BUILD_HIGHS_VERSION=v1.6.0) from downloaded source (BUILD_HIGHS_GIT_REPO=https://github.com/ERGO-Code/HiGHS).\n * proxqp-sourcebuild, Build PROXQP (BUILD_PROXQP_VERSION=v0.3.2) from downloaded source (BUILD_PROXQP_GIT_REPO=https://github.com/Simple-Robotics/proxsuite.git).\n * osqp-sourcebuild, Build OSQP (BUILD_OSQP_VERSION=v0.6.2) from downloaded source (BUILD_OSQP_GIT_REPO=https://github.com/osqp/osqp.git).\n * superscs-sourcebuild, Build SuperSCS (BUILD_SUPERSCS_VERSION=4d2d1bd03ed4cf93e684a880b233760ce34ca69c) from downloaded source (BUILD_SUPERSCS_GIT_REPO=https://github.com/jgillis/scs.git).\n * sleqp-sourcebuild, Build SLEQP (BUILD_SLEQP_VERSION=patch-1) from downloaded source (BUILD_SLEQP_GIT_REPO=https://github.com/jgillis/sleqp.git).\n * bonmin-sourcebuild, Build BONMIN (BUILD_BONMIN_VERSION=releases/1.8.9) from downloaded source (BUILD_BONMIN_GIT_REPO=https://github.com/coin-or/Bonmin.git).\n * ipopt-sourcebuild, Build IPOPT (BUILD_IPOPT_VERSION=3.14.11.mod) from downloaded source (BUILD_IPOPT_GIT_REPO=https://github.com/jgillis/Ipopt-1.git).\n * cbc-sourcebuild, Build CBC (BUILD_CBC_VERSION=releases/2.10.11) from downloaded source.\n * clp-sourcebuild, Build CLP (BUILD_CLP_VERSION=releases/1.17.9) from downloaded source (BUILD_CLP_GIT_REPO=https://github.com/coin-or/Clp.git).\n * mumps-sourcebuild, Build MUMPS (BUILD_MUMPS_TP_VERSION=releases/3.0.2) from downloaded source (BUILD_MUMPS_TP_GIT_REPO=https://github.com/coin-or-tools/ThirdParty-Mumps.git).\n * spral-sourcebuild, Build SPRAL (BUILD_SPRAL_VERSION=d385d2c9e858366d257cafaaf05760ffa6543e26) from downloaded source (BUILD_SPRAL_GIT_REPO=https://github.com/ralna/spral.git).\n * metis-sourcebuild, Build METIS (BUILD_METIS_TP_VERSION=releases/2.0.0) from downloaded source.\n * hpipm-sourcebuild, Build HPIPM (BUILD_HPIPM_VERSION=0e0c9f4e0d4081dceafa9b37c396db50bce0e81a) from downloaded source (BUILD_HPIPM_GIT_REPO=https://github.com/jgillis/hpipm.git).\n * trlib-sourcebuild, Build TRLIB (BUILD_TRLIB_VERSION=c7632b8b14152e78bc21721a3bd1a2432586b824) from downloaded source (BUILD_TRLIB_GIT_REPO=https://github.com/jgillis/trlib.git).\n * blasfeo-sourcebuild, Build BLASFEO (BUILD_BLASFEO_VERSION=edf92b396adddd9e548b9786f87ad290a0971329) from downloaded source (BUILD_BLASFEO_GIT_REPO=https://github.com/giaf/blasfeo.git).\n * lapack-sourcebuild, Download and install OpenBLAS for LAPACK+BLAS\n * eigen3-sourcebuild, Build Eigen (BUILD_EIGEN3_VERSION=3.4.0) from downloaded source (BUILD_EIGEN3_GIT_REPO=https://gitlab.com/libeigen/eigen.git).\n * simde-sourcebuild, Build Simde (BUILD_SIMDE_VERSION=v0.7.2) from downloaded source (BUILD_SIMDE_GIT_REPO=https://github.com/simd-everywhere/simde.git).\n * cplex-interface, Interface to the QP solver CPLEX.\n * gurobi-interface, Interface to the (mixed-integer) QP solver GUROBI\n * knitro-interface, Interface to the NLP solver KNITRO.\n * snopt-interface, Interface to the NLP solver KNITRO.\n * worhp-interface, Interface to the NLP solver Worhp (requires gfortran, gomp).\n * lapack-interface, Interface to LAPACK.\n * mumps-interface, Interface to MUMPS.\n * spral-interface, Interface to SPRAL.\n * coinutils-sourcebuild, Build COINUTILS (BUILD_COINUTILS_VERSION=releases/2.11.10) from downloaded source.\n * osi-sourcebuild, Build OSI (BUILD_OSI_VERSION=releases/0.108.9) from downloaded source.\n * clp-interface, Interface to the LP solver CLP.\n * cgl-sourcebuild, Build CGL (BUILD_CGL_VERSION=releases/0.60.8) from downloaded source.\n * cbc-interface, Interface to the LP solver CBC.\n * ipopt-interface, Interface to the NLP solver Ipopt.\n * bonmin-interface, Interface to the MINLP framework Bonmin.\n * highs-interface, Interface to the MILP / QP solver HiGHS.\n * sleqp-interface, Interface to the NLP solver SLEQP.\n * alpaqa-interface, Interface to the NLP solver Alpaqa.\n * proxqp-interface, Interface to QP solver PROXQP.\n * ampl-interface, Interface to the AMPL solver library.\n" // NOLINT(whitespace/line_length)
|
35
35
|
#define CASADI_BUILD_TYPE "Release" // NOLINT(whitespace/line_length)
|
36
36
|
#define CASADI_COMPILER_ID "GNU" // NOLINT(whitespace/line_length)
|
37
37
|
#define CASADI_COMPILER "/usr/src/mxe/usr/bin/x86_64-w64-mingw32.shared.posix-g++" // NOLINT(whitespace/line_length)
|
38
|
-
#define CASADI_COMPILER_FLAGS " -pthread -fPIC -fno-ipa-cp-clone -DUSE_CXX11 -DHAVE_SIMPLE_MKSTEMPS -DCASADI_WITH_THREAD -DWITH_DEEPBIND -DCASADI_MAJOR_VERSION=3 -DCASADI_MINOR_VERSION=6 -DCASADI_PATCH_VERSION=
|
39
|
-
#define CASADI_MODULES "casadi;casadi_linsol_lapacklu;casadi_linsol_lapackqr;casadi_sundials_common;casadi_integrator_cvodes;casadi_integrator_idas;casadi_rootfinder_kinsol;casadi_nlpsol_ipopt;casadi_nlpsol_bonmin;casadi_conic_qpoases;casadi_nlpsol_knitro;casadi_conic_cplex;casadi_conic_clp;casadi_conic_cbc;casadi_linsol_csparse;casadi_linsol_csparsecholesky;casadi_conic_highs;casadi_linsol_ma27;casadi_linsol_mumps;casadi_conic_gurobi;casadi_nlpsol_worhp;casadi_nlpsol_snopt;casadi_xmlfile_tinyxml;casadi_nlpsol_blocksqp;casadi_conic_hpipm;casadi_conic_superscs;casadi_nlpsol_ampl;casadi_conic_proxqp;casadi_conic_osqp;casadi_conic_nlpsol;casadi_conic_qrqp;casadi_conic_ipqp;casadi_nlpsol_qrsqp;casadi_importer_shell;casadi_integrator_rk;casadi_integrator_collocation;casadi_interpolant_linear;casadi_interpolant_bspline;casadi_linsol_symbolicqr;casadi_linsol_qr;casadi_linsol_ldl;casadi_linsol_tridiag;casadi_linsol_lsqr;casadi_nlpsol_sqpmethod;casadi_nlpsol_feasiblesqpmethod;casadi_nlpsol_scpgen;casadi_rootfinder_newton;casadi_rootfinder_fast_newton;casadi_rootfinder_nlpsol" // NOLINT(whitespace/line_length)
|
40
|
-
#define CASADI_PLUGINS "Linsol::lapacklu;Linsol::lapackqr;Integrator::cvodes;Integrator::idas;Rootfinder::kinsol;Nlpsol::ipopt;Nlpsol::bonmin;Conic::qpoases;Nlpsol::knitro;Conic::cplex;Conic::clp;Conic::cbc;Linsol::csparse;Linsol::csparsecholesky;Conic::highs;Linsol::ma27;Linsol::mumps;Conic::gurobi;Nlpsol::worhp;Nlpsol::snopt;XmlFile::tinyxml;Nlpsol::blocksqp;Conic::hpipm;Conic::superscs;Nlpsol::ampl;Conic::proxqp;Conic::osqp;Conic::nlpsol;Conic::qrqp;Conic::ipqp;Nlpsol::qrsqp;Importer::shell;Integrator::rk;Integrator::collocation;Interpolant::linear;Interpolant::bspline;Linsol::symbolicqr;Linsol::qr;Linsol::ldl;Linsol::tridiag;Linsol::lsqr;Nlpsol::sqpmethod;Nlpsol::feasiblesqpmethod;Nlpsol::scpgen;Rootfinder::newton;Rootfinder::fast_newton;Rootfinder::nlpsol" // NOLINT(whitespace/line_length)
|
38
|
+
#define CASADI_COMPILER_FLAGS " -pthread -fPIC -fno-ipa-cp-clone -DUSE_CXX11 -DHAVE_SIMPLE_MKSTEMPS -DCASADI_WITH_THREAD -DWITH_DEEPBIND -DCASADI_MAJOR_VERSION=3 -DCASADI_MINOR_VERSION=6 -DCASADI_PATCH_VERSION=5 -DCASADI_IS_RELEASE=1 -DCASADI_VERSION=31 -D_USE_MATH_DEFINES -D_SCL_SECURE_NO_WARNINGS -DWITH_DL -DWITH_DEPRECATED_FEATURES -DCASADI_DEFAULT_COMPILER_PLUGIN=shell" // NOLINT(whitespace/line_length)
|
39
|
+
#define CASADI_MODULES "casadi;casadi_linsol_lapacklu;casadi_linsol_lapackqr;casadi_sundials_common;casadi_integrator_cvodes;casadi_integrator_idas;casadi_rootfinder_kinsol;casadi_nlpsol_sleqp;casadi_nlpsol_ipopt;casadi_nlpsol_bonmin;casadi_conic_qpoases;casadi_nlpsol_knitro;casadi_conic_cplex;casadi_conic_clp;casadi_conic_cbc;casadi_linsol_csparse;casadi_linsol_csparsecholesky;casadi_conic_highs;casadi_linsol_ma27;casadi_linsol_mumps;casadi_conic_gurobi;casadi_nlpsol_worhp;casadi_nlpsol_snopt;casadi_xmlfile_tinyxml;casadi_nlpsol_blocksqp;casadi_conic_hpipm;casadi_conic_superscs;casadi_nlpsol_ampl;casadi_conic_proxqp;casadi_conic_osqp;casadi_nlpsol_alpaqa;casadi_conic_nlpsol;casadi_conic_qrqp;casadi_conic_ipqp;casadi_nlpsol_qrsqp;casadi_importer_shell;casadi_integrator_rk;casadi_integrator_collocation;casadi_interpolant_linear;casadi_interpolant_bspline;casadi_linsol_symbolicqr;casadi_linsol_qr;casadi_linsol_ldl;casadi_linsol_tridiag;casadi_linsol_lsqr;casadi_nlpsol_sqpmethod;casadi_nlpsol_feasiblesqpmethod;casadi_nlpsol_scpgen;casadi_rootfinder_newton;casadi_rootfinder_fast_newton;casadi_rootfinder_nlpsol" // NOLINT(whitespace/line_length)
|
40
|
+
#define CASADI_PLUGINS "Linsol::lapacklu;Linsol::lapackqr;Integrator::cvodes;Integrator::idas;Rootfinder::kinsol;Nlpsol::sleqp;Nlpsol::ipopt;Nlpsol::bonmin;Conic::qpoases;Nlpsol::knitro;Conic::cplex;Conic::clp;Conic::cbc;Linsol::csparse;Linsol::csparsecholesky;Conic::highs;Linsol::ma27;Linsol::mumps;Conic::gurobi;Nlpsol::worhp;Nlpsol::snopt;XmlFile::tinyxml;Nlpsol::blocksqp;Conic::hpipm;Conic::superscs;Nlpsol::ampl;Conic::proxqp;Conic::osqp;Nlpsol::alpaqa;Conic::nlpsol;Conic::qrqp;Conic::ipqp;Nlpsol::qrsqp;Importer::shell;Integrator::rk;Integrator::collocation;Interpolant::linear;Interpolant::bspline;Linsol::symbolicqr;Linsol::qr;Linsol::ldl;Linsol::tridiag;Linsol::lsqr;Nlpsol::sqpmethod;Nlpsol::feasiblesqpmethod;Nlpsol::scpgen;Rootfinder::newton;Rootfinder::fast_newton;Rootfinder::nlpsol" // NOLINT(whitespace/line_length)
|
41
41
|
#define CASADI_INSTALL_PREFIX "/usr/src/mxe/usr/x86_64-w64-mingw32.shared.posix" // NOLINT(whitespace/line_length)
|
42
42
|
#define CASADI_SHARED_LIBRARY_PREFIX "lib" // NOLINT(whitespace/line_length)
|
43
43
|
#define CASADI_SHARED_LIBRARY_SUFFIX ".dll" // NOLINT(whitespace/line_length)
|
@@ -103,6 +103,11 @@ namespace casadi {
|
|
103
103
|
\identifier{ry} */
|
104
104
|
casadi_int get_constant(const std::vector<casadi_int>& v, bool allow_adding=false);
|
105
105
|
|
106
|
+
/** \brief Get or add a char constant
|
107
|
+
|
108
|
+
\identifier{27l} */
|
109
|
+
casadi_int get_constant(const std::vector<char>& v, bool allow_adding=false);
|
110
|
+
|
106
111
|
/** \brief Represent an array constant; adding it when new
|
107
112
|
|
108
113
|
\identifier{rz} */
|
@@ -128,6 +133,11 @@ namespace casadi {
|
|
128
133
|
\identifier{s1} */
|
129
134
|
std::string constant(const std::vector<double>& v);
|
130
135
|
|
136
|
+
/** \brief Represent an array constant; adding it when new
|
137
|
+
|
138
|
+
\identifier{27m} */
|
139
|
+
std::string constant(const std::vector<char>& v);
|
140
|
+
|
131
141
|
/** \brief Allocate file scope double read-only memory
|
132
142
|
|
133
143
|
\identifier{s2} */
|
@@ -153,7 +163,7 @@ namespace casadi {
|
|
153
163
|
\identifier{s6} */
|
154
164
|
std::string operator()(const Function& f, const std::string& arg,
|
155
165
|
const std::string& res, const std::string& iw,
|
156
|
-
const std::string& w);
|
166
|
+
const std::string& w, const std::string& failure_ret="1");
|
157
167
|
|
158
168
|
/** \brief Print a string to buffer
|
159
169
|
|
@@ -232,6 +242,7 @@ namespace casadi {
|
|
232
242
|
\identifier{sk} */
|
233
243
|
std::string initializer(const std::vector<double>& v);
|
234
244
|
std::string initializer(const std::vector<casadi_int>& v);
|
245
|
+
std::string initializer(const std::vector<char>& v);
|
235
246
|
|
236
247
|
/** \brief Sanitize source files for codegen
|
237
248
|
|
@@ -634,6 +645,12 @@ namespace casadi {
|
|
634
645
|
void print_vector(std::ostream &s, const std::string& name,
|
635
646
|
const std::vector<casadi_int>& v);
|
636
647
|
|
648
|
+
/** \brief Print char vector to a c file
|
649
|
+
|
650
|
+
\identifier{27n} */
|
651
|
+
void print_vector(std::ostream &s, const std::string& name,
|
652
|
+
const std::vector<char>& v);
|
653
|
+
|
637
654
|
/** \brief Print real vector to a c file
|
638
655
|
|
639
656
|
\identifier{ts} */
|
@@ -810,6 +827,9 @@ namespace casadi {
|
|
810
827
|
bool with_sfunction;
|
811
828
|
std::vector<std::string> added_sfunctions;
|
812
829
|
|
830
|
+
// Unroll arguments?
|
831
|
+
bool unroll_args;
|
832
|
+
|
813
833
|
// Verbose codegen?
|
814
834
|
bool verbose;
|
815
835
|
|
@@ -874,6 +894,7 @@ namespace casadi {
|
|
874
894
|
std::multimap<Auxiliary, std::vector<std::string>> added_auxiliaries_;
|
875
895
|
std::multimap<size_t, size_t> added_double_constants_;
|
876
896
|
std::multimap<size_t, size_t> added_integer_constants_;
|
897
|
+
std::multimap<size_t, size_t> added_char_constants_;
|
877
898
|
std::map<std::string, std::pair<std::string, std::string> > local_variables_;
|
878
899
|
std::map<std::string, std::string> local_default_;
|
879
900
|
std::map<const void *, casadi_int> file_scope_double_;
|
@@ -888,9 +909,13 @@ namespace casadi {
|
|
888
909
|
};
|
889
910
|
std::vector<FunctionMeta> added_functions_;
|
890
911
|
|
912
|
+
// Counters for creating unique identifiers
|
913
|
+
std::map<std::string, std::map<FunctionInternal*, casadi_int> > added_wrappers_;
|
914
|
+
|
891
915
|
// Constants
|
892
916
|
std::vector<std::vector<double> > double_constants_;
|
893
917
|
std::vector<std::vector<casadi_int> > integer_constants_;
|
918
|
+
std::vector<std::vector<char> > char_constants_;
|
894
919
|
|
895
920
|
// Does any function need thread-local memory?
|
896
921
|
bool needs_mem_;
|
@@ -898,6 +923,9 @@ namespace casadi {
|
|
898
923
|
// Hash a vector
|
899
924
|
static size_t hash(const std::vector<double>& v);
|
900
925
|
static size_t hash(const std::vector<casadi_int>& v);
|
926
|
+
static size_t hash(const std::vector<char>& v);
|
927
|
+
|
928
|
+
std::string wrapper(const Function& base, const std::string& name);
|
901
929
|
|
902
930
|
// Compare two vectors
|
903
931
|
template<typename T>
|
@@ -167,7 +167,7 @@ class CASADI_EXPORT Fmu
|
|
167
167
|
int eval(FmuMemory* m) const;
|
168
168
|
|
169
169
|
// Get a calculated variable
|
170
|
-
void get(FmuMemory* m, size_t
|
170
|
+
void get(FmuMemory* m, size_t ind, double* value) const;
|
171
171
|
|
172
172
|
// Set seed
|
173
173
|
void set_seed(FmuMemory* m, casadi_int nseed, const casadi_int* id, const double* v) const;
|
@@ -182,11 +182,39 @@ class CASADI_EXPORT Fmu
|
|
182
182
|
// Get calculated derivatives
|
183
183
|
void get_sens(FmuMemory* m, casadi_int nsens, const casadi_int* id, double* v) const;
|
184
184
|
|
185
|
+
// Set all forward seeds for a single input
|
186
|
+
void set_fwd(FmuMemory* m, size_t ind, const double* v) const;
|
187
|
+
|
188
|
+
// Request the calculation of all forward sensitivities for an output
|
189
|
+
void request_fwd(FmuMemory* m, casadi_int ind) const;
|
190
|
+
|
191
|
+
// Get the forward sensitivities for a single output
|
192
|
+
void get_fwd(FmuMemory* m, size_t ind, double* v) const;
|
193
|
+
|
185
194
|
/** \brief Get stats
|
186
195
|
|
187
196
|
\identifier{26y} */
|
188
197
|
void get_stats(FmuMemory* m, Dict* stats,
|
189
198
|
const std::vector<std::string>& name_in, const InputStruct* in) const;
|
199
|
+
|
200
|
+
/// \cond INTERNAL
|
201
|
+
#ifndef SWIG
|
202
|
+
/** \brief Create from node
|
203
|
+
|
204
|
+
\identifier{27c} */
|
205
|
+
static Fmu create(FmuInternal* node);
|
206
|
+
#endif // SWIG
|
207
|
+
/// \endcond
|
208
|
+
|
209
|
+
/** \brief Serialize an object
|
210
|
+
|
211
|
+
\identifier{27d} */
|
212
|
+
void serialize(SerializingStream &s) const;
|
213
|
+
|
214
|
+
/** \brief Deserialize with type disambiguation
|
215
|
+
|
216
|
+
\identifier{27e} */
|
217
|
+
static Fmu deserialize(DeserializingStream& s);
|
190
218
|
};
|
191
219
|
|
192
220
|
} // namespace casadi
|
@@ -170,7 +170,7 @@ class GenericExpression : public GenericExpressionCommon {
|
|
170
170
|
///@}
|
171
171
|
|
172
172
|
///@{
|
173
|
-
/** \brief Logical greater or equal to: (x,y) -> x
|
173
|
+
/** \brief Logical greater or equal to: (x,y) -> x >= y
|
174
174
|
|
175
175
|
\identifier{ou} */
|
176
176
|
static ExType ge(const ExType &x, const ExType &y) {
|
@@ -56,7 +56,11 @@ namespace casadi {
|
|
56
56
|
OT_FUNCTION,
|
57
57
|
OT_FUNCTIONVECTOR,
|
58
58
|
OT_VOIDPTR,
|
59
|
-
OT_UNKNOWN
|
59
|
+
OT_UNKNOWN,
|
60
|
+
OT_STRINGVECTORVECTOR,
|
61
|
+
OT_DICTVECTOR,
|
62
|
+
OT_VECTORVECTOR,
|
63
|
+
OT_VECTOR};
|
60
64
|
#endif // SWIG
|
61
65
|
|
62
66
|
/** \brief Generic data type, can hold different types such as bool, casadi_int, std::string etc.
|
@@ -93,10 +97,14 @@ namespace casadi {
|
|
93
97
|
GenericType(const std::vector<double>& dv);
|
94
98
|
GenericType(const std::vector< std::vector<double> >& dv);
|
95
99
|
GenericType(const std::vector<std::string>& sv);
|
100
|
+
GenericType(const std::vector<std::vector<std::string> >& sv);
|
96
101
|
GenericType(const char s[]);
|
97
102
|
GenericType(const Function& f);
|
98
103
|
GenericType(const std::vector<Function>& f);
|
99
104
|
GenericType(const Dict& dict);
|
105
|
+
GenericType(const std::vector<Dict>& dictv);
|
106
|
+
GenericType(const std::vector<std::vector<GenericType> >& gvv);
|
107
|
+
GenericType(const std::vector<GenericType>& gv);
|
100
108
|
GenericType(void* ptr);
|
101
109
|
|
102
110
|
/// Public class name
|
@@ -140,9 +148,13 @@ namespace casadi {
|
|
140
148
|
return to_double_vector_vector();
|
141
149
|
}
|
142
150
|
operator std::vector<std::string>() const { return to_string_vector();}
|
151
|
+
operator std::vector<std::vector<std::string> >() const { return to_string_vector_vector();}
|
143
152
|
operator const Function&() const { return as_function();}
|
144
153
|
operator const std::vector<Function>&() const { return as_function_vector();}
|
145
154
|
operator const Dict&() const { return as_dict();}
|
155
|
+
operator const std::vector<Dict>&() const { return as_dict_vector();}
|
156
|
+
operator const std::vector<std::vector<GenericType> >&() const { return as_vector_vector();}
|
157
|
+
operator const std::vector<GenericType>&() const { return as_vector();}
|
146
158
|
///@}
|
147
159
|
|
148
160
|
bool can_cast_to(TypeID other) const;
|
@@ -169,7 +181,11 @@ namespace casadi {
|
|
169
181
|
bool is_double_vector_vector() const;
|
170
182
|
bool is_bool_vector() const;
|
171
183
|
bool is_string_vector() const;
|
184
|
+
bool is_string_vector_vector() const;
|
172
185
|
bool is_dict() const;
|
186
|
+
bool is_dict_vector() const;
|
187
|
+
bool is_vector_vector() const;
|
188
|
+
bool is_vector() const;
|
173
189
|
bool is_function() const;
|
174
190
|
bool is_function_vector() const;
|
175
191
|
bool is_void_pointer() const;
|
@@ -189,7 +205,11 @@ namespace casadi {
|
|
189
205
|
const std::vector<double>& as_double_vector() const;
|
190
206
|
const std::vector< std::vector<double> >& as_double_vector_vector() const;
|
191
207
|
const std::vector<std::string>& as_string_vector() const;
|
208
|
+
const std::vector<std::vector<std::string> >& as_string_vector_vector() const;
|
192
209
|
const Dict& as_dict() const;
|
210
|
+
const std::vector<Dict>& as_dict_vector() const;
|
211
|
+
const std::vector<std::vector< GenericType> >& as_vector_vector() const;
|
212
|
+
const std::vector<GenericType>& as_vector() const;
|
193
213
|
const Function& as_function() const;
|
194
214
|
const std::vector<Function>& as_function_vector() const;
|
195
215
|
void* const & as_void_pointer() const;
|
@@ -207,7 +227,11 @@ namespace casadi {
|
|
207
227
|
std::vector<double> to_double_vector() const;
|
208
228
|
std::vector< std::vector<double> > to_double_vector_vector() const;
|
209
229
|
std::vector<std::string> to_string_vector() const;
|
230
|
+
std::vector<std::vector<std::string> > to_string_vector_vector() const;
|
210
231
|
Dict to_dict() const;
|
232
|
+
std::vector<Dict> to_dict_vector() const;
|
233
|
+
std::vector<GenericType> to_vector() const;
|
234
|
+
std::vector< std::vector< GenericType> > to_vector_vector() const;
|
211
235
|
Function to_function() const;
|
212
236
|
std::vector<Function> to_function_vector() const;
|
213
237
|
void* to_void_pointer() const;
|
@@ -1050,15 +1050,30 @@ namespace casadi {
|
|
1050
1050
|
|
1051
1051
|
/** \brief Check if symbolic (Dense)
|
1052
1052
|
|
1053
|
+
Check if an expression is a pure symbol.
|
1054
|
+
Pure means that no operations should happen on the symbol
|
1055
|
+
(not even vec, transpose, index, concatenation, ...)
|
1056
|
+
By consequence, a slice of a vector-shaped MX symbol is not a symbol.
|
1057
|
+
However, the SX type is really a container format with scalar entries.
|
1058
|
+
Therefore, a slice of a vector-shaped SX symbol is still a symbol.
|
1059
|
+
|
1053
1060
|
Sparse matrices invariable return false
|
1054
1061
|
|
1062
|
+
\seealso is_valid_input
|
1063
|
+
|
1055
1064
|
\identifier{19r} */
|
1056
1065
|
bool is_symbolic() const;
|
1057
1066
|
|
1058
1067
|
/** \brief Check if matrix can be used to define function inputs.
|
1059
1068
|
|
1069
|
+
|
1070
|
+
is_valid_input is more forgiving than is_symbolic.
|
1071
|
+
Some compositions are allowed: vec, vertcat.
|
1072
|
+
|
1060
1073
|
Sparse matrices can return true if all non-zero elements are symbolic
|
1061
1074
|
|
1075
|
+
\seealso is_symbolic
|
1076
|
+
|
1062
1077
|
\identifier{19s} */
|
1063
1078
|
bool is_valid_input() const;
|
1064
1079
|
|
@@ -79,10 +79,8 @@ namespace casadi {
|
|
79
79
|
const Importer& compiler, const Dict& opts=Dict());
|
80
80
|
CASADI_EXPORT Function nlpsol(const std::string& name, const std::string& solver,
|
81
81
|
const NlpBuilder& nl, const Dict& opts=Dict());
|
82
|
-
#ifndef SWIG
|
83
82
|
CASADI_EXPORT Function nlpsol(const std::string& name, const std::string& solver,
|
84
83
|
const Function& nlp, const Dict& opts=Dict());
|
85
|
-
#endif // SWIG
|
86
84
|
///@}
|
87
85
|
|
88
86
|
/** \brief Get input scheme of NLP solvers
|
@@ -29,9 +29,12 @@ struct casadi_nlpsol_detect_bounds_prob {
|
|
29
29
|
casadi_int ng;
|
30
30
|
// Number of bounds
|
31
31
|
casadi_int nb;
|
32
|
-
casadi_int *target_x;
|
33
|
-
casadi_int *target_g;
|
34
|
-
char *is_simple;
|
32
|
+
const casadi_int *target_x;
|
33
|
+
const casadi_int *target_g;
|
34
|
+
const char *is_simple;
|
35
|
+
|
36
|
+
int (*callback)(const T1** arg, T1** res, casadi_int* iw, T1* w, void* callback_data);
|
37
|
+
void* callback_data;
|
35
38
|
};
|
36
39
|
// C-REPLACE "casadi_nlpsol_detect_bounds_prob<T1>" "struct casadi_nlpsol_detect_bounds_prob"
|
37
40
|
|
@@ -48,10 +51,10 @@ struct casadi_nlpsol_prob {
|
|
48
51
|
template<typename T1>
|
49
52
|
struct casadi_nlpsol_detect_bounds_data {
|
50
53
|
// Work vectors
|
51
|
-
const
|
52
|
-
|
54
|
+
const T1** arg;
|
55
|
+
T1** res;
|
53
56
|
casadi_int* iw;
|
54
|
-
|
57
|
+
T1* w;
|
55
58
|
|
56
59
|
// Simple bounds g(x)=A(b)x+b(p);
|
57
60
|
// a[i]*x[target_x[i]]+b[i]
|
@@ -147,3 +150,125 @@ void casadi_nlpsol_init(casadi_nlpsol_data<T1>* d, const T1*** arg, T1*** res,
|
|
147
150
|
}
|
148
151
|
|
149
152
|
}
|
153
|
+
|
154
|
+
// C-REPLACE "fabs" "casadi_fabs"
|
155
|
+
|
156
|
+
// SYMBOL "nlpsol_detect_bounds_before"
|
157
|
+
template<typename T1>
|
158
|
+
int casadi_detect_bounds_before(casadi_nlpsol_data<T1>* d_nlp) {
|
159
|
+
const casadi_nlpsol_prob<T1>* p_nlp = d_nlp->prob;
|
160
|
+
casadi_nlpsol_detect_bounds_data<T1>* d_bounds = &d_nlp->detect_bounds;
|
161
|
+
const casadi_nlpsol_detect_bounds_prob<T1>* p_bounds = &p_nlp->detect_bounds;
|
162
|
+
|
163
|
+
casadi_int nx = p_nlp->nx;
|
164
|
+
d_bounds->arg[0] = d_nlp->p;
|
165
|
+
d_bounds->res[0] = d_bounds->a;
|
166
|
+
d_bounds->res[1] = d_bounds->b;
|
167
|
+
p_bounds->callback(d_bounds->arg, d_bounds->res,
|
168
|
+
d_bounds->iw, d_bounds->w, p_bounds->callback_data);
|
169
|
+
|
170
|
+
for (casadi_int i=0;i<p_bounds->nb;++i) {
|
171
|
+
if (d_bounds->a[i]==0) {
|
172
|
+
casadi_int k = p_bounds->target_g[i];
|
173
|
+
if (d_nlp->lbg[k]>d_bounds->b[i]) return 1;
|
174
|
+
if (d_nlp->ubg[k]<d_bounds->b[i]) return 1;
|
175
|
+
}
|
176
|
+
}
|
177
|
+
|
178
|
+
T1* lbz = d_nlp->lbz+nx;
|
179
|
+
T1* ubz = d_nlp->ubz+nx;
|
180
|
+
T1* lam = d_nlp->lam+nx;
|
181
|
+
|
182
|
+
for (casadi_int i=0;i<nx;++i) {
|
183
|
+
d_bounds->lam_xl[i] = d_nlp->lam_x0 ? (d_nlp->lam_x0[i]<0)*d_nlp->lam_x0[i] : 0.;
|
184
|
+
d_bounds->lam_xu[i] = d_nlp->lam_x0 ? (d_nlp->lam_x0[i]>0)*d_nlp->lam_x0[i] : 0.;
|
185
|
+
}
|
186
|
+
|
187
|
+
for (casadi_int i=0;i<nx;++i) {
|
188
|
+
d_bounds->target_l[i] = i;
|
189
|
+
d_bounds->target_u[i] = i;
|
190
|
+
}
|
191
|
+
|
192
|
+
// Update lbz/ubz
|
193
|
+
casadi_int k=0;
|
194
|
+
for (casadi_int i=0;i<p_bounds->ng;++i) {
|
195
|
+
if (p_bounds->is_simple[i]) {
|
196
|
+
// Update lbz/ubz
|
197
|
+
T1 lb = (d_nlp->lbg[i]-d_bounds->b[k])/fabs(d_bounds->a[k]);
|
198
|
+
T1 ub = (d_nlp->ubg[i]-d_bounds->b[k])/fabs(d_bounds->a[k]);
|
199
|
+
casadi_int j = p_bounds->target_x[k];
|
200
|
+
|
201
|
+
if (lb==d_nlp->lbz[j]) {
|
202
|
+
if (d_nlp->lam_g0) d_bounds->lam_xl[j] += (d_nlp->lam_g0[i]<0)*d_nlp->lam_g0[i];
|
203
|
+
} else if (lb>d_nlp->lbz[j]) {
|
204
|
+
d_nlp->lbz[j] = lb;
|
205
|
+
d_bounds->target_l[j] = nx+i;
|
206
|
+
if (d_nlp->lam_g0) d_bounds->lam_xl[j] = (d_nlp->lam_g0[i]<0)*d_nlp->lam_g0[i];
|
207
|
+
}
|
208
|
+
|
209
|
+
if (ub==d_nlp->ubz[j]) {
|
210
|
+
if (d_nlp->lam_g0) d_bounds->lam_xu[j] += (d_nlp->lam_g0[i]>0)*d_nlp->lam_g0[i];
|
211
|
+
} else if (ub<d_nlp->ubz[j]) {
|
212
|
+
d_nlp->ubz[j] = ub;
|
213
|
+
d_bounds->target_u[j] = nx+i;
|
214
|
+
if (d_nlp->lam_g0) d_bounds->lam_xu[j] = (d_nlp->lam_g0[i]>0)*d_nlp->lam_g0[i];
|
215
|
+
}
|
216
|
+
|
217
|
+
k++;
|
218
|
+
} else {
|
219
|
+
|
220
|
+
// Update lbz/ubz
|
221
|
+
*lbz++ = d_nlp->lbg[i];
|
222
|
+
*ubz++ = d_nlp->ubg[i];
|
223
|
+
|
224
|
+
if (d_nlp->lam_g0) *lam++ = d_nlp->lam_g0[i];
|
225
|
+
}
|
226
|
+
}
|
227
|
+
|
228
|
+
for (casadi_int i=0;i<nx;++i) {
|
229
|
+
d_nlp->lam[i] = d_bounds->lam_xl[i]+d_bounds->lam_xu[i];
|
230
|
+
}
|
231
|
+
return 0;
|
232
|
+
}
|
233
|
+
|
234
|
+
// SYMBOL "nlpsol_detect_bounds_after"
|
235
|
+
template<typename T1>
|
236
|
+
int casadi_detect_bounds_after(casadi_nlpsol_data<T1>* d_nlp) {
|
237
|
+
const casadi_nlpsol_prob<T1>* p_nlp = d_nlp->prob;
|
238
|
+
casadi_nlpsol_detect_bounds_data<T1>* d_bounds = &d_nlp->detect_bounds;
|
239
|
+
const casadi_nlpsol_detect_bounds_prob<T1>* p_bounds = &p_nlp->detect_bounds;
|
240
|
+
casadi_int nx = p_nlp->nx;
|
241
|
+
|
242
|
+
casadi_fill(d_nlp->lam_x, nx, 0.);
|
243
|
+
casadi_fill(d_nlp->lam_g, p_bounds->ng, 0.);
|
244
|
+
|
245
|
+
casadi_int k = 0;
|
246
|
+
casadi_int k_normal = 0;
|
247
|
+
for (casadi_int i=0;i<p_bounds->ng;++i) {
|
248
|
+
if (p_bounds->is_simple[i]) {
|
249
|
+
casadi_int j = p_bounds->target_x[k];
|
250
|
+
if (d_nlp->g) d_nlp->g[i] = d_bounds->a[k]*d_nlp->z[j]+d_bounds->b[k];
|
251
|
+
k++;
|
252
|
+
} else {
|
253
|
+
if (d_nlp->g) d_nlp->g[i] = d_nlp->z[nx+k_normal];
|
254
|
+
if (d_nlp->lam_g) d_nlp->lam_g[i] = d_nlp->lam[nx+k_normal];
|
255
|
+
k_normal++;
|
256
|
+
}
|
257
|
+
}
|
258
|
+
|
259
|
+
for (casadi_int i=0;i<nx;++i) {
|
260
|
+
if (d_bounds->target_l[i]<nx) {
|
261
|
+
if (d_nlp->lam_x) d_nlp->lam_x[i] += (d_nlp->lam[i]<0)*d_nlp->lam[i];
|
262
|
+
} else {
|
263
|
+
if (d_nlp->lam_g)
|
264
|
+
d_nlp->lam_g[d_bounds->target_l[i]-nx] += (d_nlp->lam[i]<0)*d_nlp->lam[i];
|
265
|
+
}
|
266
|
+
if (d_bounds->target_u[i]<nx) {
|
267
|
+
if (d_nlp->lam_x) d_nlp->lam_x[i] += (d_nlp->lam[i]>0)*d_nlp->lam[i];
|
268
|
+
} else {
|
269
|
+
if (d_nlp->lam_g)
|
270
|
+
d_nlp->lam_g[d_bounds->target_u[i]-nx] += (d_nlp->lam[i]>0)*d_nlp->lam[i];
|
271
|
+
}
|
272
|
+
}
|
273
|
+
return 0;
|
274
|
+
}
|