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,123 @@
|
|
1
|
+
// (C) Copyright International Business Machines Corporation 2007
|
2
|
+
// All Rights Reserved.
|
3
|
+
// This code is published under the Eclipse Public License.
|
4
|
+
//
|
5
|
+
// Authors :
|
6
|
+
// Pierre Bonami, International Business Machines Corporation
|
7
|
+
//
|
8
|
+
// Date : 10/16/2007
|
9
|
+
#ifndef BonminOuterApprox_H
|
10
|
+
#define BonminOuterApprox_H
|
11
|
+
|
12
|
+
#include <cmath>
|
13
|
+
|
14
|
+
namespace Bonmin{
|
15
|
+
class OsiTMINLPInterface;
|
16
|
+
class BabSetupBase;
|
17
|
+
}
|
18
|
+
class OsiSolverInterface;
|
19
|
+
namespace Bonmin {
|
20
|
+
/** A class to build outer approximations.*/
|
21
|
+
class OuterApprox{
|
22
|
+
|
23
|
+
public:
|
24
|
+
|
25
|
+
/** Default constructor.*/
|
26
|
+
OuterApprox():
|
27
|
+
tiny_(-0.),
|
28
|
+
veryTiny_(-0.)
|
29
|
+
{}
|
30
|
+
|
31
|
+
/** Copy constructor.*/
|
32
|
+
OuterApprox(const OuterApprox & other):
|
33
|
+
tiny_(other.tiny_),
|
34
|
+
veryTiny_(other.veryTiny_){
|
35
|
+
}
|
36
|
+
|
37
|
+
|
38
|
+
/** Assignment operator.*/
|
39
|
+
OuterApprox & operator=(const OuterApprox& rhs){
|
40
|
+
if(this != & rhs){
|
41
|
+
tiny_ = rhs.tiny_;
|
42
|
+
veryTiny_ = rhs.veryTiny_;}
|
43
|
+
return (*this);
|
44
|
+
}
|
45
|
+
|
46
|
+
/** Destructor.*/
|
47
|
+
~OuterApprox(){}
|
48
|
+
|
49
|
+
/** Initialize using options.*/
|
50
|
+
void initialize(Bonmin::BabSetupBase &b);
|
51
|
+
|
52
|
+
/** Build the Outer approximation in minlp and put it in si.*/
|
53
|
+
void extractLinearRelaxation(Bonmin::OsiTMINLPInterface &minlp,
|
54
|
+
OsiSolverInterface *si,
|
55
|
+
const double * x, bool getObj);
|
56
|
+
/** Operator() calls extractLinearRelaxation*/
|
57
|
+
void operator()(Bonmin::OsiTMINLPInterface &minlp,
|
58
|
+
OsiSolverInterface *si,
|
59
|
+
const double * x, bool getObj){
|
60
|
+
extractLinearRelaxation(minlp, si, x, getObj);}
|
61
|
+
|
62
|
+
private:
|
63
|
+
/** Facilitator to clean up coefficient.*/
|
64
|
+
inline bool cleanNnz(double &value, double colLower, double colUpper,
|
65
|
+
double rowLower, double rowUpper, double colsol,
|
66
|
+
double & lb, double &ub, double tiny, double veryTiny);
|
67
|
+
/** If constraint coefficient is below this, we try to remove it.*/
|
68
|
+
double tiny_;
|
69
|
+
/** If constraint coefficient is below this, we neglect it.*/
|
70
|
+
double veryTiny_;
|
71
|
+
/** Count the number of linear outer approximations taken.*/
|
72
|
+
static int nTimesCalled;
|
73
|
+
};
|
74
|
+
|
75
|
+
//A procedure to try to remove small coefficients in OA cuts (or make it non small
|
76
|
+
inline
|
77
|
+
bool
|
78
|
+
OuterApprox::cleanNnz(double &value, double colLower, double colUpper,
|
79
|
+
double rowLower, double rowUpper, double colsol,
|
80
|
+
double & lb, double &ub, double tiny, double veryTiny)
|
81
|
+
{
|
82
|
+
if(fabs(value)>= tiny) return 1;
|
83
|
+
|
84
|
+
if(fabs(value)<veryTiny) return 0;//Take the risk?
|
85
|
+
|
86
|
+
//try and remove
|
87
|
+
double infty = 1e20;
|
88
|
+
bool colUpBounded = colUpper < 10000;
|
89
|
+
bool colLoBounded = colLower > -10000;
|
90
|
+
bool rowNotLoBounded = rowLower <= - infty;
|
91
|
+
bool rowNotUpBounded = rowUpper >= infty;
|
92
|
+
bool pos = value > 0;
|
93
|
+
|
94
|
+
if(colLoBounded && pos && rowNotUpBounded) {
|
95
|
+
lb += value * (colsol - colLower);
|
96
|
+
return 0;
|
97
|
+
}
|
98
|
+
else
|
99
|
+
if(colLoBounded && !pos && rowNotLoBounded) {
|
100
|
+
ub += value * (colsol - colLower);
|
101
|
+
return 0;
|
102
|
+
}
|
103
|
+
else
|
104
|
+
if(colUpBounded && !pos && rowNotUpBounded) {
|
105
|
+
lb += value * (colsol - colUpper);
|
106
|
+
return 0;
|
107
|
+
}
|
108
|
+
else
|
109
|
+
if(colUpBounded && pos && rowNotLoBounded) {
|
110
|
+
ub += value * (colsol - colUpper);
|
111
|
+
return 0;
|
112
|
+
}
|
113
|
+
//can not remove coefficient increase it to smallest non zero
|
114
|
+
if(pos) value = tiny;
|
115
|
+
else
|
116
|
+
value = - tiny;
|
117
|
+
return 1;
|
118
|
+
}
|
119
|
+
|
120
|
+
}
|
121
|
+
|
122
|
+
#endif
|
123
|
+
|
@@ -0,0 +1,91 @@
|
|
1
|
+
// (C) Copyright International Business Machines Corporation 2007
|
2
|
+
// All Rights Reserved.
|
3
|
+
// This code is published under the Eclipse Public License.
|
4
|
+
//
|
5
|
+
// Authors :
|
6
|
+
// Pierre Bonami, International Business Machines Corporation
|
7
|
+
//
|
8
|
+
// Date : 04/12/2007
|
9
|
+
|
10
|
+
#ifndef BonPseudoCosts_H
|
11
|
+
#define BonPseudoCosts_H
|
12
|
+
|
13
|
+
#include "OsiChooseVariable.hpp"
|
14
|
+
namespace Bonmin
|
15
|
+
{
|
16
|
+
|
17
|
+
class PseudoCosts: public OsiPseudoCosts
|
18
|
+
{
|
19
|
+
public:
|
20
|
+
/** Default constructor.*/
|
21
|
+
PseudoCosts();
|
22
|
+
|
23
|
+
/** Copy constructor.*/
|
24
|
+
PseudoCosts(const PseudoCosts & rhs);
|
25
|
+
|
26
|
+
/** Assignment operator const version.*/
|
27
|
+
PseudoCosts & operator=(const PseudoCosts&rhs);
|
28
|
+
#if 0
|
29
|
+
/** Acces upTotalChange.*/
|
30
|
+
inline double * upTotalChange()
|
31
|
+
{
|
32
|
+
return upTotalChange_;
|
33
|
+
}
|
34
|
+
|
35
|
+
/** Acces downTotalChange.*/
|
36
|
+
inline double * downTotalChange()
|
37
|
+
{
|
38
|
+
return downTotalChange_;
|
39
|
+
}
|
40
|
+
|
41
|
+
/** Acces upNumber.*/
|
42
|
+
inline int * upNumber()
|
43
|
+
{
|
44
|
+
return upNumber_;
|
45
|
+
}
|
46
|
+
|
47
|
+
/** Acces downNumber.*/
|
48
|
+
inline int * downNumber()
|
49
|
+
{
|
50
|
+
return downNumber_;
|
51
|
+
}
|
52
|
+
|
53
|
+
/** Acces upTotalChange.*/
|
54
|
+
inline const double * upTotalChange() const
|
55
|
+
{
|
56
|
+
return upTotalChange_;
|
57
|
+
}
|
58
|
+
|
59
|
+
/** Acces downTotalChange.*/
|
60
|
+
inline const double * downTotalChange() const
|
61
|
+
{
|
62
|
+
return downTotalChange_;
|
63
|
+
}
|
64
|
+
|
65
|
+
/** Acces upNumber.*/
|
66
|
+
inline const int * upNumber() const
|
67
|
+
{
|
68
|
+
return upNumber_;
|
69
|
+
}
|
70
|
+
|
71
|
+
/** Acces downNumber.*/
|
72
|
+
inline const int * downNumber() const
|
73
|
+
{
|
74
|
+
return downNumber_;
|
75
|
+
}
|
76
|
+
|
77
|
+
/** Access number objects.*/
|
78
|
+
inline int numberObjects() const
|
79
|
+
{
|
80
|
+
return numberObjects_;
|
81
|
+
}
|
82
|
+
#endif
|
83
|
+
/** Add a pseudo cost information.*/
|
84
|
+
void addInfo(int way, double originalObj, double originalInfeas,
|
85
|
+
double newObj, double newInfeas, int status);
|
86
|
+
|
87
|
+
};
|
88
|
+
|
89
|
+
}/* End Bonmin namespace.*/
|
90
|
+
|
91
|
+
#endif
|
@@ -0,0 +1,45 @@
|
|
1
|
+
// (C) Copyright CNRS
|
2
|
+
// This code is published under the Eclipse Public License.
|
3
|
+
//
|
4
|
+
// Authors :
|
5
|
+
// Pierre Bonami, LIF Université de la Méditérannée-CNRS
|
6
|
+
//
|
7
|
+
// Date : 02/18/2009
|
8
|
+
|
9
|
+
#ifndef BonPumpForMinlp_H
|
10
|
+
#define BonPumpForMinlp_H
|
11
|
+
#include "BonLocalSolverBasedHeuristic.hpp"
|
12
|
+
|
13
|
+
namespace Bonmin {
|
14
|
+
class PumpForMinlp:public LocalSolverBasedHeuristic {
|
15
|
+
public:
|
16
|
+
/** Default constructor*/
|
17
|
+
PumpForMinlp();
|
18
|
+
/** Constructor with setup.*/
|
19
|
+
PumpForMinlp(BonminSetup * setup);
|
20
|
+
|
21
|
+
/** Copy constructor.*/
|
22
|
+
PumpForMinlp(const PumpForMinlp &other);
|
23
|
+
/** Virtual constructor.*/
|
24
|
+
virtual CbcHeuristic * clone() const{
|
25
|
+
return new PumpForMinlp(*this);
|
26
|
+
}
|
27
|
+
|
28
|
+
/** Destructor*/
|
29
|
+
virtual ~PumpForMinlp();
|
30
|
+
|
31
|
+
/** Runs heuristic*/
|
32
|
+
int solution(double & objectiveValue,
|
33
|
+
double * newSolution);
|
34
|
+
/** Register the options common to all local search based heuristics.*/
|
35
|
+
static void registerOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions);
|
36
|
+
|
37
|
+
/** Setup the defaults.*/
|
38
|
+
virtual void setupDefaults(Ipopt::SmartPtr<Ipopt::OptionsList> options);
|
39
|
+
/** Initiaize using passed options.*/
|
40
|
+
void Initialize(Ipopt::SmartPtr<Ipopt::OptionsList> options);
|
41
|
+
};
|
42
|
+
|
43
|
+
}/* Ends Bonmin namepace.*/
|
44
|
+
#endif
|
45
|
+
|
@@ -0,0 +1,217 @@
|
|
1
|
+
// (C) Copyright International Business Machines Corporation 2007
|
2
|
+
// All Rights Reserved.
|
3
|
+
// This code is published under the Eclipse Public License.
|
4
|
+
//
|
5
|
+
// Authors :
|
6
|
+
// Pierre Bonami, International Business Machines Corporation
|
7
|
+
//
|
8
|
+
// Date : 10/06/2007
|
9
|
+
|
10
|
+
#ifndef BonQuadCut_H
|
11
|
+
#define BonQuadCut_H
|
12
|
+
|
13
|
+
#include "CoinPackedMatrix.hpp"
|
14
|
+
#include "OsiRowCut.hpp"
|
15
|
+
#include "OsiCuts.hpp"
|
16
|
+
#include "BonTypes.hpp"
|
17
|
+
#include <list>
|
18
|
+
|
19
|
+
|
20
|
+
namespace Bonmin {
|
21
|
+
|
22
|
+
enum MatrixStorageType {
|
23
|
+
Upper /** Stores only the upper triangle of a symetric Q.*/,
|
24
|
+
Lower /** Stores the lower triangle of a symetric Q.*/,
|
25
|
+
Full /** Stores the whole matrix of a non-symetric Q.*/};
|
26
|
+
|
27
|
+
class QuadCut : public OsiRowCut {
|
28
|
+
public:
|
29
|
+
|
30
|
+
/// Default constructor
|
31
|
+
QuadCut();
|
32
|
+
|
33
|
+
/// Copy constructor
|
34
|
+
QuadCut(const QuadCut & other);
|
35
|
+
|
36
|
+
/// Assignment operator
|
37
|
+
QuadCut& operator=(const QuadCut & rhs);
|
38
|
+
|
39
|
+
/// Virtual copy
|
40
|
+
virtual OsiRowCut * clone() const;
|
41
|
+
|
42
|
+
/// Destructor
|
43
|
+
~QuadCut();
|
44
|
+
|
45
|
+
/// Print
|
46
|
+
void print() const;
|
47
|
+
|
48
|
+
///Return the matrix stored
|
49
|
+
CoinPackedMatrix& Q(){
|
50
|
+
return Q_;
|
51
|
+
}
|
52
|
+
|
53
|
+
///Return the matrix stored
|
54
|
+
const CoinPackedMatrix& Q() const{
|
55
|
+
return Q_;
|
56
|
+
}
|
57
|
+
|
58
|
+
/// Acces storage type
|
59
|
+
/// Acces storage type
|
60
|
+
MatrixStorageType& type(){
|
61
|
+
return type_;}
|
62
|
+
|
63
|
+
const MatrixStorageType& type() const{
|
64
|
+
return type_;}
|
65
|
+
|
66
|
+
/// Acces the constant
|
67
|
+
double & c(){return c_;}
|
68
|
+
|
69
|
+
/// Acces the constant
|
70
|
+
const double & c() const {return c_;}
|
71
|
+
|
72
|
+
/// Compute cut violation
|
73
|
+
double violated(const double * solution) const;
|
74
|
+
|
75
|
+
private:
|
76
|
+
/// Stores the constant part of the cut
|
77
|
+
double c_;
|
78
|
+
///Stores quadratic part of cut
|
79
|
+
CoinPackedMatrix Q_;
|
80
|
+
///Storage type
|
81
|
+
MatrixStorageType type_;
|
82
|
+
|
83
|
+
/** \name Arithmetic operators not implemented.*/
|
84
|
+
//@{
|
85
|
+
/// add <code>value</code> to every vector entry
|
86
|
+
void operator+=(double value);
|
87
|
+
|
88
|
+
/// subtract <code>value</code> from every vector entry
|
89
|
+
void operator-=(double value);
|
90
|
+
|
91
|
+
/// multiply every vector entry by <code>value</code>
|
92
|
+
void operator*=(double value);
|
93
|
+
|
94
|
+
/// divide every vector entry by <code>value</code>
|
95
|
+
void operator/=(double value);
|
96
|
+
//@}
|
97
|
+
|
98
|
+
};
|
99
|
+
|
100
|
+
/** Generalizes OsiCuts to handle quadratic cuts.*/
|
101
|
+
class Cuts : public OsiCuts {
|
102
|
+
public:
|
103
|
+
typedef vector<QuadCut *> QuadCutPtrStorage;
|
104
|
+
/** Default constructor.*/
|
105
|
+
Cuts();
|
106
|
+
|
107
|
+
/** Copy constructor.*/
|
108
|
+
Cuts(const Cuts& other);
|
109
|
+
|
110
|
+
/** Assignment operator.*/
|
111
|
+
Cuts& operator=(const Cuts & rhs);
|
112
|
+
|
113
|
+
/** Destructor */
|
114
|
+
~Cuts();
|
115
|
+
|
116
|
+
/** insert a quadratic cut into the collection. */
|
117
|
+
inline void insert(const QuadCut& c);
|
118
|
+
|
119
|
+
/** insert a quadratic cut into the collection (take control of the pointer and
|
120
|
+
put a NULL on return).
|
121
|
+
\warning c has to have been created with new (no malloc).
|
122
|
+
*/
|
123
|
+
inline void insert(QuadCut* &c);
|
124
|
+
|
125
|
+
/** insert a set of Cuts.*/
|
126
|
+
inline void insert(const Cuts &cs);
|
127
|
+
|
128
|
+
/** Number of quadratic cuts in the collection.*/
|
129
|
+
inline int sizeQuadCuts() const;
|
130
|
+
|
131
|
+
/** Total number of cuts in the collection. */
|
132
|
+
inline int sizeCuts() const;
|
133
|
+
|
134
|
+
/** Print all cuts in the collection.*/
|
135
|
+
void printCuts() const;
|
136
|
+
|
137
|
+
|
138
|
+
/** Access to a quadratic cut by pointer.*/
|
139
|
+
inline QuadCut * quadCutPtr(int i);
|
140
|
+
|
141
|
+
/** Access to a quadratic cut by const pointer.*/
|
142
|
+
inline const QuadCut * quadCutPtr(int i) const;
|
143
|
+
|
144
|
+
/** Access to a quadratic cut by reference.*/
|
145
|
+
inline QuadCut& quadCut(int i);
|
146
|
+
|
147
|
+
|
148
|
+
/** Access to a quadratic cut by reference.*/
|
149
|
+
inline const QuadCut& quadCut(int i) const;
|
150
|
+
|
151
|
+
/** Erase quadratic cut from the collection.*/
|
152
|
+
inline void eraseQuadCut(int i);
|
153
|
+
|
154
|
+
private:
|
155
|
+
QuadCutPtrStorage quadCuts_;
|
156
|
+
};
|
157
|
+
|
158
|
+
void
|
159
|
+
Cuts::insert(const QuadCut &c){
|
160
|
+
quadCuts_.push_back(new QuadCut(c));
|
161
|
+
}
|
162
|
+
|
163
|
+
void
|
164
|
+
Cuts::insert(QuadCut * &c){
|
165
|
+
quadCuts_.push_back(c);
|
166
|
+
c = NULL;
|
167
|
+
}
|
168
|
+
|
169
|
+
void
|
170
|
+
Cuts::insert(const Cuts & cs){
|
171
|
+
OsiCuts::insert(cs);
|
172
|
+
for(unsigned int i = 0 ; i < cs.quadCuts_.size() ; i++){
|
173
|
+
quadCuts_.push_back(new QuadCut(*cs.quadCuts_[i]));
|
174
|
+
}
|
175
|
+
}
|
176
|
+
|
177
|
+
int
|
178
|
+
Cuts::sizeQuadCuts() const {
|
179
|
+
return static_cast<int>(quadCuts_.size());
|
180
|
+
}
|
181
|
+
|
182
|
+
int
|
183
|
+
Cuts::sizeCuts() const {
|
184
|
+
return static_cast<int>(quadCuts_.size()) + OsiCuts::sizeCuts();
|
185
|
+
}
|
186
|
+
|
187
|
+
QuadCut *
|
188
|
+
Cuts::quadCutPtr(int i) {
|
189
|
+
return quadCuts_[i];
|
190
|
+
}
|
191
|
+
|
192
|
+
const QuadCut *
|
193
|
+
Cuts::quadCutPtr(int i) const {
|
194
|
+
return quadCuts_[i];
|
195
|
+
}
|
196
|
+
|
197
|
+
QuadCut &
|
198
|
+
Cuts::quadCut(int i) {
|
199
|
+
return *quadCuts_[i];
|
200
|
+
}
|
201
|
+
|
202
|
+
const QuadCut &
|
203
|
+
Cuts::quadCut(int i) const {
|
204
|
+
return *quadCuts_[i];
|
205
|
+
}
|
206
|
+
|
207
|
+
void
|
208
|
+
Cuts::eraseQuadCut(int i){
|
209
|
+
delete quadCuts_[i];
|
210
|
+
quadCuts_.erase(quadCuts_.begin() + i);
|
211
|
+
}
|
212
|
+
typedef std::list<QuadCut*> list_QuadCut;
|
213
|
+
|
214
|
+
}// Ends Bonmin namespace
|
215
|
+
#endif
|
216
|
+
|
217
|
+
|
@@ -0,0 +1,122 @@
|
|
1
|
+
/// (C) Copyright International Business Machines Corporation 2007
|
2
|
+
// All Rights Reserved.
|
3
|
+
// This code is published under the Eclipse Public License.
|
4
|
+
//
|
5
|
+
// Authors :
|
6
|
+
// Pierre Bonami, International Business Machines Corporation
|
7
|
+
//
|
8
|
+
// Date : 10/06/2007
|
9
|
+
|
10
|
+
#ifndef BonQuadRow_H
|
11
|
+
#define BonQuadRow_H
|
12
|
+
|
13
|
+
#include "CoinPackedVector.hpp"
|
14
|
+
#include "BonTMatrix.hpp"
|
15
|
+
#include "BonQuadCut.hpp"
|
16
|
+
|
17
|
+
namespace Bonmin{
|
18
|
+
|
19
|
+
/** Store column and row of the entry.*/
|
20
|
+
typedef std::pair<int, int> matEntry;
|
21
|
+
/** Store the number of times entry is used and its index in the matrix.*/
|
22
|
+
typedef std::pair<int, int> matIdx;
|
23
|
+
#if HAS_HASH_MAP
|
24
|
+
typedef std::has_map<matEntry, matIdx, std::hash< matEntry> > AdjustableMat;
|
25
|
+
#else
|
26
|
+
typedef std::map<matEntry, matIdx> AdjustableMat;
|
27
|
+
#endif
|
28
|
+
|
29
|
+
/** Stores a quadratic row of the form l < c + ax + x^T Q x < u.
|
30
|
+
Does computation usefull for nlp-solver.
|
31
|
+
It can only be initialized from a QuadCut.*/
|
32
|
+
class QuadRow {
|
33
|
+
public:
|
34
|
+
/** Default constructor.*/
|
35
|
+
QuadRow();
|
36
|
+
|
37
|
+
/** Copy constructor.*/
|
38
|
+
QuadRow(const QuadRow & other);
|
39
|
+
|
40
|
+
/** Assignment operator.*/
|
41
|
+
QuadRow& operator=(const QuadRow& rhs);
|
42
|
+
|
43
|
+
/** Constructor from a quadratic cut.*/
|
44
|
+
QuadRow(const QuadCut &cut);
|
45
|
+
|
46
|
+
/** Assignment form a quadrattic &cut.*/
|
47
|
+
QuadRow& operator=(const QuadCut & rhs);
|
48
|
+
|
49
|
+
/** Constructor from a linear cut.*/
|
50
|
+
QuadRow(const OsiRowCut &cut);
|
51
|
+
|
52
|
+
/** Assignment form a linear &cut.*/
|
53
|
+
QuadRow& operator=(const OsiRowCut & rhs);
|
54
|
+
|
55
|
+
/** Evaluate quadratic form.*/
|
56
|
+
double eval_f(const double *x, bool new_x);
|
57
|
+
|
58
|
+
/** Get number of non-zeroes in the gradiant.*/
|
59
|
+
int nnz_grad();
|
60
|
+
/** Get structure of gradiant */
|
61
|
+
void gradiant_struct(const int nnz, int * indices, bool offset);
|
62
|
+
/** Evaluate gradiant of quadratic form.*/
|
63
|
+
void eval_grad(const int nnz, const double * x, bool new_x, double * values);
|
64
|
+
|
65
|
+
/** number of non-zeroes in hessian. */
|
66
|
+
int nnz_hessian(){
|
67
|
+
return Q_.nnz_;}
|
68
|
+
|
69
|
+
/** Says if the constraint is linear.*/
|
70
|
+
bool isLinear(){
|
71
|
+
return Q_.nnz_ == 0;}
|
72
|
+
|
73
|
+
/** Return hessian value (i.e. Q_).*/
|
74
|
+
void eval_hessian(double lambda, double * values);
|
75
|
+
|
76
|
+
/** Add row to a bigger hessian.*/
|
77
|
+
void add_to_hessian(AdjustableMat &H, bool offset);
|
78
|
+
|
79
|
+
/** Remove row from a bigger hessian.*/
|
80
|
+
void remove_from_hessian(AdjustableMat &H);
|
81
|
+
/** Print quadratic constraint.*/
|
82
|
+
void print();
|
83
|
+
|
84
|
+
private:
|
85
|
+
/** Initialize once quadratic form is know.*/
|
86
|
+
void initialize();
|
87
|
+
|
88
|
+
/** Does internal work to evaluate gradiant of this in x.*/
|
89
|
+
void internal_eval_grad(const double *x);
|
90
|
+
|
91
|
+
/** lower bound.*/
|
92
|
+
double lb_;
|
93
|
+
/** upper bound.*/
|
94
|
+
double ub_;
|
95
|
+
/** Constant term.*/
|
96
|
+
double c_;
|
97
|
+
/** linear term in sparse storage.*/
|
98
|
+
CoinPackedVector a_;
|
99
|
+
/** Quadratic term.*/
|
100
|
+
TMat Q_;
|
101
|
+
|
102
|
+
|
103
|
+
#if HAS_HASH_MAP
|
104
|
+
typedef std::has_map<int, std::pair<double, double >, std::hash<int> > gStore;
|
105
|
+
#else
|
106
|
+
typedef std::map<int, std::pair<double, double> > gStore;
|
107
|
+
#endif
|
108
|
+
|
109
|
+
gStore g_;
|
110
|
+
/** To have fast access to gradiant entries for a_.*/
|
111
|
+
std::vector<gStore::iterator> a_grad_idx_;
|
112
|
+
/** To have fast access to gradient entries for rows Q_*/
|
113
|
+
std::vector<gStore::iterator> Q_row_grad_idx_;
|
114
|
+
/** To have fast access to gradient entries for cols Q_*/
|
115
|
+
std::vector<gStore::iterator> Q_col_grad_idx_;
|
116
|
+
/** To have fast access to entries in full hessian of Q_*/
|
117
|
+
std::vector<AdjustableMat::iterator> Q_hessian_idx_;
|
118
|
+
/** Flag indicating if gradiant has been evaluated.*/
|
119
|
+
bool grad_evaled_;
|
120
|
+
};
|
121
|
+
}//End Bonmin namespace
|
122
|
+
#endif
|