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.
Files changed (897) hide show
  1. casadi/_casadi.pyd +0 -0
  2. casadi/bin/libtinyxml2.dll +0 -0
  3. casadi/blasfeo.lib +0 -0
  4. casadi/casadi-cli.exe +0 -0
  5. casadi/casadi.lib +0 -0
  6. casadi/casadi.py +415 -260
  7. casadi/cbc.exe +0 -0
  8. casadi/clp.exe +0 -0
  9. casadi/cmake/alpaqa/alpaqaConfig.cmake +24 -0
  10. casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +67 -0
  11. casadi/cmake/alpaqa/alpaqaTargets-release.cmake +19 -0
  12. casadi/cmake/alpaqa/alpaqaTargets.cmake +108 -0
  13. casadi/cmake/casadi-config-version.cmake +1 -1
  14. casadi/cmake/highs/highs-config.cmake +18 -4
  15. casadi/cmake/sleqp/sleqp-config-version.cmake +67 -0
  16. casadi/cmake/sleqp/sleqp-config.cmake +1 -0
  17. casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
  18. casadi/cmake/sleqp/sleqp-targets.cmake +94 -0
  19. casadi/cmake/trlib/trlib-config-release.cmake +19 -0
  20. casadi/cmake/trlib/trlib-config-version.cmake +59 -0
  21. casadi/cmake/trlib/trlib-config.cmake +99 -0
  22. casadi/highs.exe +0 -0
  23. casadi/highs.lib +0 -0
  24. casadi/hpipm.lib +0 -0
  25. casadi/include/alpaqa/accelerators/anderson.hpp +133 -0
  26. casadi/include/alpaqa/accelerators/internal/anderson-helpers.hpp +92 -0
  27. casadi/include/alpaqa/accelerators/internal/limited-memory-qr.hpp +295 -0
  28. casadi/include/alpaqa/accelerators/lbfgs.hpp +244 -0
  29. casadi/include/alpaqa/accelerators/steihaugcg.hpp +143 -0
  30. casadi/include/alpaqa/alpaqa.hpp +3 -0
  31. casadi/include/alpaqa/casadi/CasADiControlProblem.hpp +185 -0
  32. casadi/include/alpaqa/casadi/CasADiFunctionWrapper.hpp +104 -0
  33. casadi/include/alpaqa/casadi/CasADiProblem.hpp +102 -0
  34. casadi/include/alpaqa/casadi-loader-export.hpp +15 -0
  35. casadi/include/alpaqa/casadi-ocp-loader-export.hpp +15 -0
  36. casadi/include/alpaqa/config/config.hpp +165 -0
  37. casadi/include/alpaqa/dl/dl-problem.h +476 -0
  38. casadi/include/alpaqa/dl/dl-problem.hpp +301 -0
  39. casadi/include/alpaqa/export.h +42 -0
  40. casadi/include/alpaqa/export.hpp +30 -0
  41. casadi/include/alpaqa/implementation/accelerators/lbfgs.tpp +240 -0
  42. casadi/include/alpaqa/implementation/casadi/CasADiControlProblem.tpp +594 -0
  43. casadi/include/alpaqa/implementation/casadi/CasADiLoader-util.hpp +50 -0
  44. casadi/include/alpaqa/implementation/casadi/CasADiProblem.tpp +425 -0
  45. casadi/include/alpaqa/implementation/inner/directions/panoc/structured-lbfgs.tpp +164 -0
  46. casadi/include/alpaqa/implementation/inner/panoc-helpers.tpp +389 -0
  47. casadi/include/alpaqa/implementation/inner/panoc-ocp.tpp +798 -0
  48. casadi/include/alpaqa/implementation/inner/panoc.tpp +448 -0
  49. casadi/include/alpaqa/implementation/inner/pantr.tpp +474 -0
  50. casadi/include/alpaqa/implementation/inner/zerofpr.tpp +482 -0
  51. casadi/include/alpaqa/implementation/outer/alm.tpp +228 -0
  52. casadi/include/alpaqa/implementation/outer/internal/alm-helpers.tpp +80 -0
  53. casadi/include/alpaqa/implementation/params/params.tpp +158 -0
  54. casadi/include/alpaqa/implementation/problem/ocproblem.tpp +56 -0
  55. casadi/include/alpaqa/implementation/problem/type-erased-problem.tpp +211 -0
  56. casadi/include/alpaqa/implementation/util/io/csv.tpp +120 -0
  57. casadi/include/alpaqa/implementation/util/print.tpp +151 -0
  58. casadi/include/alpaqa/inner/directions/panoc/anderson.hpp +98 -0
  59. casadi/include/alpaqa/inner/directions/panoc/lbfgs.hpp +94 -0
  60. casadi/include/alpaqa/inner/directions/panoc/structured-lbfgs.hpp +146 -0
  61. casadi/include/alpaqa/inner/directions/panoc/structured-newton.hpp +264 -0
  62. casadi/include/alpaqa/inner/directions/panoc-direction-update.hpp +96 -0
  63. casadi/include/alpaqa/inner/directions/panoc-ocp/lqr.hpp +181 -0
  64. casadi/include/alpaqa/inner/directions/panoc-ocp/ocp-vars.hpp +492 -0
  65. casadi/include/alpaqa/inner/directions/pantr/newton-tr.hpp +192 -0
  66. casadi/include/alpaqa/inner/directions/pantr/pantr-direction.hpp +99 -0
  67. casadi/include/alpaqa/inner/inner-solve-options.hpp +30 -0
  68. casadi/include/alpaqa/inner/internal/lipschitz.hpp +27 -0
  69. casadi/include/alpaqa/inner/internal/panoc-helpers.hpp +10 -0
  70. casadi/include/alpaqa/inner/internal/panoc-stop-crit.hpp +124 -0
  71. casadi/include/alpaqa/inner/internal/solverstatus.hpp +42 -0
  72. casadi/include/alpaqa/inner/panoc-ocp.hpp +302 -0
  73. casadi/include/alpaqa/inner/panoc.hpp +274 -0
  74. casadi/include/alpaqa/inner/pantr.hpp +284 -0
  75. casadi/include/alpaqa/inner/zerofpr.hpp +274 -0
  76. casadi/include/alpaqa/ipopt/ipopt-adapter.hpp +81 -0
  77. casadi/include/alpaqa/ipopt/ipopt-enums.hpp +35 -0
  78. casadi/include/alpaqa/lbfgsb/lbfgsb-adapter.hpp +111 -0
  79. casadi/include/alpaqa/newton-tr-pantr-alm.hpp +27 -0
  80. casadi/include/alpaqa/outer/alm.hpp +190 -0
  81. casadi/include/alpaqa/outer/internal/alm-helpers.hpp +10 -0
  82. casadi/include/alpaqa/panoc-alm.hpp +27 -0
  83. casadi/include/alpaqa/panoc-anderson-alm.hpp +27 -0
  84. casadi/include/alpaqa/params/params.hpp +60 -0
  85. casadi/include/alpaqa/problem/box-constr-problem.hpp +220 -0
  86. casadi/include/alpaqa/problem/box.hpp +82 -0
  87. casadi/include/alpaqa/problem/functional-problem.hpp +73 -0
  88. casadi/include/alpaqa/problem/kkt-error.hpp +43 -0
  89. casadi/include/alpaqa/problem/ocproblem-counters.hpp +116 -0
  90. casadi/include/alpaqa/problem/ocproblem.hpp +662 -0
  91. casadi/include/alpaqa/problem/problem-counters.hpp +116 -0
  92. casadi/include/alpaqa/problem/problem-with-counters.hpp +141 -0
  93. casadi/include/alpaqa/problem/type-erased-problem.hpp +874 -0
  94. casadi/include/alpaqa/problem/unconstr-problem.hpp +37 -0
  95. casadi/include/alpaqa/structured-panoc-alm.hpp +27 -0
  96. casadi/include/alpaqa/structured-zerofpr-alm.hpp +27 -0
  97. casadi/include/alpaqa/util/alloc-check.hpp +23 -0
  98. casadi/include/alpaqa/util/atomic-stop-signal.hpp +24 -0
  99. casadi/include/alpaqa/util/check-dim.hpp +64 -0
  100. casadi/include/alpaqa/util/copyable_unique_ptr.hpp +32 -0
  101. casadi/include/alpaqa/util/demangled-typename.hpp +9 -0
  102. casadi/include/alpaqa/util/enumerate.hpp +70 -0
  103. casadi/include/alpaqa/util/float.hpp +25 -0
  104. casadi/include/alpaqa/util/index-set.hpp +97 -0
  105. casadi/include/alpaqa/util/io/csv.hpp +43 -0
  106. casadi/include/alpaqa/util/iter-adapter.hpp +68 -0
  107. casadi/include/alpaqa/util/max-history.hpp +47 -0
  108. casadi/include/alpaqa/util/noop-delete.hpp +15 -0
  109. casadi/include/alpaqa/util/not-implemented.hpp +12 -0
  110. casadi/include/alpaqa/util/print.hpp +78 -0
  111. casadi/include/alpaqa/util/quadmath/quadmath-print.hpp +20 -0
  112. casadi/include/alpaqa/util/quadmath/quadmath.hpp +137 -0
  113. casadi/include/alpaqa/util/required-method.hpp +29 -0
  114. casadi/include/alpaqa/util/ringbuffer.hpp +212 -0
  115. casadi/include/alpaqa/util/set-intersection.hpp +129 -0
  116. casadi/include/alpaqa/util/sparse-ops.hpp +164 -0
  117. casadi/include/alpaqa/util/timed.hpp +22 -0
  118. casadi/include/alpaqa/util/type-erasure.hpp +568 -0
  119. casadi/include/alpaqa/util/type-traits.hpp +58 -0
  120. casadi/include/alpaqa/zerofpr-alm.hpp +27 -0
  121. casadi/include/alpaqa/zerofpr-anderson-alm.hpp +27 -0
  122. casadi/include/alpaqa-version.h +8 -0
  123. casadi/include/casadi/casadi.i +43 -18
  124. casadi/include/casadi/config.h +8 -8
  125. casadi/include/casadi/core/calculus.hpp +1 -1
  126. casadi/include/casadi/core/code_generator.hpp +29 -1
  127. casadi/include/casadi/core/core.hpp +1 -0
  128. casadi/include/casadi/core/fmu.hpp +29 -1
  129. casadi/include/casadi/core/generic_expression.hpp +1 -1
  130. casadi/include/casadi/core/generic_type.hpp +25 -1
  131. casadi/include/casadi/core/matrix_decl.hpp +15 -0
  132. casadi/include/casadi/core/nlpsol.hpp +0 -2
  133. casadi/include/casadi/core/runtime/casadi_nlp.hpp +131 -6
  134. casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +11 -1
  135. casadi/include/casadi/core/serializing_stream.hpp +12 -0
  136. casadi/include/casadi/core/sparsity.hpp +5 -3
  137. casadi/include/casadi/core/tools.hpp +67 -0
  138. casadi/include/casadi/doc.i +1457 -825
  139. casadi/include/casadi/doc_merged.i +1089 -570
  140. casadi/include/coin/BonArraysHelpers.hpp +52 -0
  141. casadi/include/coin/BonAuxInfos.hpp +110 -0
  142. casadi/include/coin/BonBabInfos.hpp +57 -0
  143. casadi/include/coin/BonBabSetupBase.hpp +386 -0
  144. casadi/include/coin/BonBonminSetup.hpp +95 -0
  145. casadi/include/coin/BonBranchingTQP.hpp +197 -0
  146. casadi/include/coin/BonCbc.hpp +127 -0
  147. casadi/include/coin/BonCbcLpStrategy.hpp +45 -0
  148. casadi/include/coin/BonCbcNlpStrategy.hpp +98 -0
  149. casadi/include/coin/BonCbcNode.hpp +133 -0
  150. casadi/include/coin/BonChooseVariable.hpp +345 -0
  151. casadi/include/coin/BonCurvBranchingSolver.hpp +77 -0
  152. casadi/include/coin/BonCutStrengthener.hpp +244 -0
  153. casadi/include/coin/BonDiver.hpp +424 -0
  154. casadi/include/coin/BonDummyHeuristic.hpp +53 -0
  155. casadi/include/coin/BonDummyPump.hpp +43 -0
  156. casadi/include/coin/BonEcpCuts.hpp +97 -0
  157. casadi/include/coin/BonExitCodes.hpp +12 -0
  158. casadi/include/coin/BonFixAndSolveHeuristic.hpp +43 -0
  159. casadi/include/coin/BonGuessHeuristic.hpp +46 -0
  160. casadi/include/coin/BonHeuristicDive.hpp +88 -0
  161. casadi/include/coin/BonHeuristicDiveFractional.hpp +67 -0
  162. casadi/include/coin/BonHeuristicDiveMIP.hpp +83 -0
  163. casadi/include/coin/BonHeuristicDiveMIPFractional.hpp +67 -0
  164. casadi/include/coin/BonHeuristicDiveMIPVectorLength.hpp +74 -0
  165. casadi/include/coin/BonHeuristicDiveVectorLength.hpp +74 -0
  166. casadi/include/coin/BonHeuristicFPump.hpp +111 -0
  167. casadi/include/coin/BonHeuristicLocalBranching.hpp +59 -0
  168. casadi/include/coin/BonHeuristicRINS.hpp +55 -0
  169. casadi/include/coin/BonIpoptInteriorWarmStarter.hpp +103 -0
  170. casadi/include/coin/BonIpoptSolver.hpp +188 -0
  171. casadi/include/coin/BonIpoptWarmStart.hpp +148 -0
  172. casadi/include/coin/BonLinearCutsGenerator.hpp +75 -0
  173. casadi/include/coin/BonLocalSolverBasedHeuristic.hpp +102 -0
  174. casadi/include/coin/BonLpBranchingSolver.hpp +80 -0
  175. casadi/include/coin/BonMilpRounding.hpp +74 -0
  176. casadi/include/coin/BonOACutGenerator2.hpp +56 -0
  177. casadi/include/coin/BonOAMessages.hpp +44 -0
  178. casadi/include/coin/BonOaDecBase.hpp +297 -0
  179. casadi/include/coin/BonOaFeasChecker.hpp +73 -0
  180. casadi/include/coin/BonOaNlpOptim.hpp +116 -0
  181. casadi/include/coin/BonOsiTMINLPInterface.hpp +1342 -0
  182. casadi/include/coin/BonOuterApprox.hpp +123 -0
  183. casadi/include/coin/BonPseudoCosts.hpp +91 -0
  184. casadi/include/coin/BonPumpForMinlp.hpp +45 -0
  185. casadi/include/coin/BonQuadCut.hpp +217 -0
  186. casadi/include/coin/BonQuadRow.hpp +122 -0
  187. casadi/include/coin/BonRegisteredOptions.hpp +225 -0
  188. casadi/include/coin/BonStrongBranchingSolver.hpp +69 -0
  189. casadi/include/coin/BonSubMipSolver.hpp +143 -0
  190. casadi/include/coin/BonTMINLP.hpp +420 -0
  191. casadi/include/coin/BonTMINLP2OsiLP.hpp +164 -0
  192. casadi/include/coin/BonTMINLP2Quad.hpp +191 -0
  193. casadi/include/coin/BonTMINLP2TNLP.hpp +509 -0
  194. casadi/include/coin/BonTMINLPLinObj.hpp +216 -0
  195. casadi/include/coin/BonTMatrix.hpp +167 -0
  196. casadi/include/coin/BonTNLP2FPNLP.hpp +264 -0
  197. casadi/include/coin/BonTNLPSolver.hpp +241 -0
  198. casadi/include/coin/BonTypes.hpp +95 -0
  199. casadi/include/coin/BonminConfig.h +19 -0
  200. casadi/include/coin/CbcBranchActual.hpp +26 -0
  201. casadi/include/coin/CbcBranchAllDifferent.hpp +61 -0
  202. casadi/include/coin/CbcBranchBase.hpp +79 -0
  203. casadi/include/coin/CbcBranchCut.hpp +182 -0
  204. casadi/include/coin/CbcBranchDecision.hpp +135 -0
  205. casadi/include/coin/CbcBranchDefaultDecision.hpp +101 -0
  206. casadi/include/coin/CbcBranchDynamic.hpp +210 -0
  207. casadi/include/coin/CbcBranchLotsize.hpp +249 -0
  208. casadi/include/coin/CbcBranchToFixLots.hpp +94 -0
  209. casadi/include/coin/CbcBranchingObject.hpp +245 -0
  210. casadi/include/coin/CbcClique.hpp +309 -0
  211. casadi/include/coin/CbcCompare.hpp +46 -0
  212. casadi/include/coin/CbcCompareActual.hpp +16 -0
  213. casadi/include/coin/CbcCompareBase.hpp +155 -0
  214. casadi/include/coin/CbcCompareDefault.hpp +129 -0
  215. casadi/include/coin/CbcCompareDepth.hpp +48 -0
  216. casadi/include/coin/CbcCompareEstimate.hpp +48 -0
  217. casadi/include/coin/CbcCompareObjective.hpp +50 -0
  218. casadi/include/coin/CbcConfig.h +18 -0
  219. casadi/include/coin/CbcConsequence.hpp +50 -0
  220. casadi/include/coin/CbcCountRowCut.hpp +176 -0
  221. casadi/include/coin/CbcCutGenerator.hpp +550 -0
  222. casadi/include/coin/CbcCutModifier.hpp +59 -0
  223. casadi/include/coin/CbcCutSubsetModifier.hpp +69 -0
  224. casadi/include/coin/CbcDummyBranchingObject.hpp +83 -0
  225. casadi/include/coin/CbcEventHandler.hpp +250 -0
  226. casadi/include/coin/CbcFathom.hpp +136 -0
  227. casadi/include/coin/CbcFathomDynamicProgramming.hpp +177 -0
  228. casadi/include/coin/CbcFeasibilityBase.hpp +60 -0
  229. casadi/include/coin/CbcFixVariable.hpp +68 -0
  230. casadi/include/coin/CbcFollowOn.hpp +207 -0
  231. casadi/include/coin/CbcFullNodeInfo.hpp +171 -0
  232. casadi/include/coin/CbcGeneral.hpp +60 -0
  233. casadi/include/coin/CbcGeneralDepth.hpp +289 -0
  234. casadi/include/coin/CbcHeuristic.hpp +735 -0
  235. casadi/include/coin/CbcHeuristicDINS.hpp +98 -0
  236. casadi/include/coin/CbcHeuristicDW.hpp +374 -0
  237. casadi/include/coin/CbcHeuristicDive.hpp +198 -0
  238. casadi/include/coin/CbcHeuristicDiveCoefficient.hpp +52 -0
  239. casadi/include/coin/CbcHeuristicDiveFractional.hpp +52 -0
  240. casadi/include/coin/CbcHeuristicDiveGuided.hpp +55 -0
  241. casadi/include/coin/CbcHeuristicDiveLineSearch.hpp +52 -0
  242. casadi/include/coin/CbcHeuristicDivePseudoCost.hpp +60 -0
  243. casadi/include/coin/CbcHeuristicDiveVectorLength.hpp +52 -0
  244. casadi/include/coin/CbcHeuristicFPump.hpp +375 -0
  245. casadi/include/coin/CbcHeuristicGreedy.hpp +289 -0
  246. casadi/include/coin/CbcHeuristicLocal.hpp +276 -0
  247. casadi/include/coin/CbcHeuristicPivotAndFix.hpp +58 -0
  248. casadi/include/coin/CbcHeuristicRENS.hpp +79 -0
  249. casadi/include/coin/CbcHeuristicRINS.hpp +106 -0
  250. casadi/include/coin/CbcHeuristicRandRound.hpp +58 -0
  251. casadi/include/coin/CbcHeuristicVND.hpp +95 -0
  252. casadi/include/coin/CbcLinked.hpp +1443 -0
  253. casadi/include/coin/CbcMessage.hpp +94 -0
  254. casadi/include/coin/CbcMipStartIO.hpp +29 -0
  255. casadi/include/coin/CbcModel.hpp +3296 -0
  256. casadi/include/coin/CbcNWay.hpp +171 -0
  257. casadi/include/coin/CbcNode.hpp +380 -0
  258. casadi/include/coin/CbcNodeInfo.hpp +377 -0
  259. casadi/include/coin/CbcObject.hpp +288 -0
  260. casadi/include/coin/CbcObjectUpdateData.hpp +63 -0
  261. casadi/include/coin/CbcOrClpParam.cpp +4321 -0
  262. casadi/include/coin/CbcOrClpParam.hpp +585 -0
  263. casadi/include/coin/CbcParam.hpp +338 -0
  264. casadi/include/coin/CbcPartialNodeInfo.hpp +116 -0
  265. casadi/include/coin/CbcSOS.hpp +290 -0
  266. casadi/include/coin/CbcSimpleInteger.hpp +299 -0
  267. casadi/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +619 -0
  268. casadi/include/coin/CbcSimpleIntegerPseudoCost.hpp +122 -0
  269. casadi/include/coin/CbcSolver.hpp +460 -0
  270. casadi/include/coin/CbcStrategy.hpp +269 -0
  271. casadi/include/coin/CbcSubProblem.hpp +84 -0
  272. casadi/include/coin/CbcTree.hpp +493 -0
  273. casadi/include/coin/CbcTreeLocal.hpp +393 -0
  274. casadi/include/coin/Cbc_C_Interface.h +904 -0
  275. casadi/include/coin/Cgl012cut.hpp +464 -0
  276. casadi/include/coin/CglAllDifferent.hpp +115 -0
  277. casadi/include/coin/CglClique.hpp +312 -0
  278. casadi/include/coin/CglConfig.h +19 -0
  279. casadi/include/coin/CglCutGenerator.hpp +133 -0
  280. casadi/include/coin/CglDuplicateRow.hpp +189 -0
  281. casadi/include/coin/CglFlowCover.hpp +371 -0
  282. casadi/include/coin/CglGMI.hpp +364 -0
  283. casadi/include/coin/CglGMIParam.hpp +313 -0
  284. casadi/include/coin/CglGomory.hpp +204 -0
  285. casadi/include/coin/CglKnapsackCover.hpp +310 -0
  286. casadi/include/coin/CglLandP.hpp +306 -0
  287. casadi/include/coin/CglLandPValidator.hpp +130 -0
  288. casadi/include/coin/CglLiftAndProject.hpp +104 -0
  289. casadi/include/coin/CglMessage.hpp +49 -0
  290. casadi/include/coin/CglMixedIntegerRounding.hpp +429 -0
  291. casadi/include/coin/CglMixedIntegerRounding2.hpp +427 -0
  292. casadi/include/coin/CglOddHole.hpp +160 -0
  293. casadi/include/coin/CglParam.hpp +93 -0
  294. casadi/include/coin/CglPreProcess.hpp +600 -0
  295. casadi/include/coin/CglProbing.hpp +543 -0
  296. casadi/include/coin/CglRedSplit.hpp +448 -0
  297. casadi/include/coin/CglRedSplit2.hpp +494 -0
  298. casadi/include/coin/CglRedSplit2Param.hpp +495 -0
  299. casadi/include/coin/CglRedSplitParam.hpp +272 -0
  300. casadi/include/coin/CglResidualCapacity.hpp +240 -0
  301. casadi/include/coin/CglSimpleRounding.hpp +174 -0
  302. casadi/include/coin/CglStored.hpp +140 -0
  303. casadi/include/coin/CglTreeInfo.hpp +216 -0
  304. casadi/include/coin/CglTwomir.hpp +562 -0
  305. casadi/include/coin/CglZeroHalf.hpp +133 -0
  306. casadi/include/coin/ClpAmplObjective.hpp +113 -0
  307. casadi/include/coin/ClpCholeskyBase.hpp +321 -0
  308. casadi/include/coin/ClpCholeskyDense.hpp +157 -0
  309. casadi/include/coin/ClpCholeskyMumps.hpp +65 -0
  310. casadi/include/coin/ClpCholeskyPardiso.hpp +67 -0
  311. casadi/include/coin/ClpConfig.h +17 -0
  312. casadi/include/coin/ClpConstraint.hpp +129 -0
  313. casadi/include/coin/ClpConstraintAmpl.hpp +109 -0
  314. casadi/include/coin/ClpConstraintLinear.hpp +113 -0
  315. casadi/include/coin/ClpConstraintQuadratic.hpp +123 -0
  316. casadi/include/coin/ClpDualRowDantzig.hpp +72 -0
  317. casadi/include/coin/ClpDualRowPivot.hpp +136 -0
  318. casadi/include/coin/ClpDualRowSteepest.hpp +160 -0
  319. casadi/include/coin/ClpDummyMatrix.hpp +186 -0
  320. casadi/include/coin/ClpDynamicExampleMatrix.hpp +199 -0
  321. casadi/include/coin/ClpDynamicMatrix.hpp +420 -0
  322. casadi/include/coin/ClpEventHandler.hpp +193 -0
  323. casadi/include/coin/ClpFactorization.hpp +556 -0
  324. casadi/include/coin/ClpGubDynamicMatrix.hpp +270 -0
  325. casadi/include/coin/ClpGubMatrix.hpp +373 -0
  326. casadi/include/coin/ClpInterior.hpp +622 -0
  327. casadi/include/coin/ClpLinearObjective.hpp +104 -0
  328. casadi/include/coin/ClpMatrixBase.hpp +561 -0
  329. casadi/include/coin/ClpMessage.hpp +131 -0
  330. casadi/include/coin/ClpModel.hpp +1442 -0
  331. casadi/include/coin/ClpNetworkMatrix.hpp +235 -0
  332. casadi/include/coin/ClpNode.hpp +364 -0
  333. casadi/include/coin/ClpNonLinearCost.hpp +432 -0
  334. casadi/include/coin/ClpObjective.hpp +142 -0
  335. casadi/include/coin/ClpPEDualRowDantzig.hpp +84 -0
  336. casadi/include/coin/ClpPEDualRowSteepest.hpp +100 -0
  337. casadi/include/coin/ClpPEPrimalColumnDantzig.hpp +71 -0
  338. casadi/include/coin/ClpPEPrimalColumnSteepest.hpp +107 -0
  339. casadi/include/coin/ClpPESimplex.hpp +231 -0
  340. casadi/include/coin/ClpPackedMatrix.hpp +778 -0
  341. casadi/include/coin/ClpParameters.hpp +132 -0
  342. casadi/include/coin/ClpPdcoBase.hpp +110 -0
  343. casadi/include/coin/ClpPlusMinusOneMatrix.hpp +565 -0
  344. casadi/include/coin/ClpPresolve.hpp +379 -0
  345. casadi/include/coin/ClpPrimalColumnDantzig.hpp +74 -0
  346. casadi/include/coin/ClpPrimalColumnPivot.hpp +163 -0
  347. casadi/include/coin/ClpPrimalColumnSteepest.hpp +281 -0
  348. casadi/include/coin/ClpQuadraticObjective.hpp +161 -0
  349. casadi/include/coin/ClpSimplex.hpp +2137 -0
  350. casadi/include/coin/ClpSimplexDual.hpp +304 -0
  351. casadi/include/coin/ClpSimplexNonlinear.hpp +117 -0
  352. casadi/include/coin/ClpSimplexOther.hpp +282 -0
  353. casadi/include/coin/ClpSimplexPrimal.hpp +244 -0
  354. casadi/include/coin/ClpSolve.hpp +505 -0
  355. casadi/include/coin/Clp_C_Interface.h +554 -0
  356. casadi/include/coin/CoinAlloc.hpp +179 -0
  357. casadi/include/coin/CoinBuild.hpp +159 -0
  358. casadi/include/coin/CoinDenseFactorization.hpp +452 -0
  359. casadi/include/coin/CoinDenseVector.hpp +401 -0
  360. casadi/include/coin/CoinDistance.hpp +51 -0
  361. casadi/include/coin/CoinError.hpp +274 -0
  362. casadi/include/coin/CoinFactorization.hpp +2178 -0
  363. casadi/include/coin/CoinFileIO.hpp +185 -0
  364. casadi/include/coin/CoinFinite.hpp +37 -0
  365. casadi/include/coin/CoinFloatEqual.hpp +204 -0
  366. casadi/include/coin/CoinHelperFunctions.hpp +1270 -0
  367. casadi/include/coin/CoinIndexedVector.hpp +1437 -0
  368. casadi/include/coin/CoinLpIO.hpp +836 -0
  369. casadi/include/coin/CoinMessage.hpp +95 -0
  370. casadi/include/coin/CoinMessageHandler.hpp +717 -0
  371. casadi/include/coin/CoinModel.hpp +1214 -0
  372. casadi/include/coin/CoinModelUseful.hpp +518 -0
  373. casadi/include/coin/CoinMpsIO.hpp +1142 -0
  374. casadi/include/coin/CoinOslFactorization.hpp +287 -0
  375. casadi/include/coin/CoinPackedMatrix.hpp +956 -0
  376. casadi/include/coin/CoinPackedVector.hpp +670 -0
  377. casadi/include/coin/CoinPackedVectorBase.hpp +274 -0
  378. casadi/include/coin/CoinParam.hpp +644 -0
  379. casadi/include/coin/CoinPragma.hpp +29 -0
  380. casadi/include/coin/CoinPresolveDoubleton.hpp +76 -0
  381. casadi/include/coin/CoinPresolveDual.hpp +84 -0
  382. casadi/include/coin/CoinPresolveDupcol.hpp +259 -0
  383. casadi/include/coin/CoinPresolveEmpty.hpp +120 -0
  384. casadi/include/coin/CoinPresolveFixed.hpp +185 -0
  385. casadi/include/coin/CoinPresolveForcing.hpp +69 -0
  386. casadi/include/coin/CoinPresolveImpliedFree.hpp +66 -0
  387. casadi/include/coin/CoinPresolveIsolated.hpp +59 -0
  388. casadi/include/coin/CoinPresolveMatrix.hpp +1996 -0
  389. casadi/include/coin/CoinPresolveMonitor.hpp +105 -0
  390. casadi/include/coin/CoinPresolvePsdebug.hpp +169 -0
  391. casadi/include/coin/CoinPresolveSingleton.hpp +115 -0
  392. casadi/include/coin/CoinPresolveSubst.hpp +103 -0
  393. casadi/include/coin/CoinPresolveTighten.hpp +58 -0
  394. casadi/include/coin/CoinPresolveTripleton.hpp +69 -0
  395. casadi/include/coin/CoinPresolveUseless.hpp +63 -0
  396. casadi/include/coin/CoinPresolveZeros.hpp +65 -0
  397. casadi/include/coin/CoinRational.hpp +43 -0
  398. casadi/include/coin/CoinSearchTree.hpp +523 -0
  399. casadi/include/coin/CoinShallowPackedVector.hpp +149 -0
  400. casadi/include/coin/CoinSignal.hpp +127 -0
  401. casadi/include/coin/CoinSimpFactorization.hpp +432 -0
  402. casadi/include/coin/CoinSmartPtr.hpp +548 -0
  403. casadi/include/coin/CoinSnapshot.hpp +572 -0
  404. casadi/include/coin/CoinSort.hpp +753 -0
  405. casadi/include/coin/CoinStructuredModel.hpp +270 -0
  406. casadi/include/coin/CoinTime.hpp +350 -0
  407. casadi/include/coin/CoinTypes.hpp +67 -0
  408. casadi/include/coin/CoinUtility.hpp +26 -0
  409. casadi/include/coin/CoinUtilsConfig.h +34 -0
  410. casadi/include/coin/CoinWarmStart.hpp +56 -0
  411. casadi/include/coin/CoinWarmStartBasis.hpp +468 -0
  412. casadi/include/coin/CoinWarmStartDual.hpp +180 -0
  413. casadi/include/coin/CoinWarmStartPrimalDual.hpp +233 -0
  414. casadi/include/coin/CoinWarmStartVector.hpp +523 -0
  415. casadi/include/coin/Coin_C_defines.h +149 -0
  416. casadi/include/coin/Idiot.hpp +327 -0
  417. casadi/include/coin/OsiAuxInfo.hpp +261 -0
  418. casadi/include/coin/OsiBranchingObject.hpp +1097 -0
  419. casadi/include/coin/OsiCbcSolverInterface.hpp +791 -0
  420. casadi/include/coin/OsiChooseVariable.hpp +645 -0
  421. casadi/include/coin/OsiClpSolverInterface.hpp +1604 -0
  422. casadi/include/coin/OsiColCut.hpp +322 -0
  423. casadi/include/coin/OsiCollections.hpp +34 -0
  424. casadi/include/coin/OsiConfig.h +19 -0
  425. casadi/include/coin/OsiCut.hpp +251 -0
  426. casadi/include/coin/OsiCuts.hpp +505 -0
  427. casadi/include/coin/OsiPresolve.hpp +272 -0
  428. casadi/include/coin/OsiRowCut.hpp +345 -0
  429. casadi/include/coin/OsiRowCutDebugger.hpp +190 -0
  430. casadi/include/coin/OsiSolverBranch.hpp +169 -0
  431. casadi/include/coin/OsiSolverInterface.hpp +2221 -0
  432. casadi/include/coin/OsiSolverParameters.hpp +144 -0
  433. casadi/include/coin/OsiUnitTests.hpp +390 -0
  434. casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
  435. casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
  436. casadi/include/coin-or/IpAlgTypes.hpp +64 -0
  437. casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
  438. casadi/include/coin-or/IpBlas.hpp +426 -0
  439. casadi/include/coin-or/IpCachedResults.hpp +897 -0
  440. casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
  441. casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
  442. casadi/include/coin-or/IpCompoundVector.hpp +395 -0
  443. casadi/include/coin-or/IpConvCheck.hpp +97 -0
  444. casadi/include/coin-or/IpDebug.hpp +167 -0
  445. casadi/include/coin-or/IpDenseVector.hpp +626 -0
  446. casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
  447. casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
  448. casadi/include/coin-or/IpException.hpp +156 -0
  449. casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
  450. casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
  451. casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
  452. casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
  453. casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
  454. casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
  455. casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
  456. casadi/include/coin-or/IpIpoptData.hpp +966 -0
  457. casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
  458. casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
  459. casadi/include/coin-or/IpIteratesVector.hpp +840 -0
  460. casadi/include/coin-or/IpIterationOutput.hpp +78 -0
  461. casadi/include/coin-or/IpJournalist.hpp +573 -0
  462. casadi/include/coin-or/IpLapack.hpp +227 -0
  463. casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
  464. casadi/include/coin-or/IpLineSearch.hpp +106 -0
  465. casadi/include/coin-or/IpLinearSolvers.h +46 -0
  466. casadi/include/coin-or/IpMatrix.hpp +434 -0
  467. casadi/include/coin-or/IpMuUpdate.hpp +77 -0
  468. casadi/include/coin-or/IpNLP.hpp +306 -0
  469. casadi/include/coin-or/IpNLPScaling.hpp +582 -0
  470. casadi/include/coin-or/IpObserver.hpp +422 -0
  471. casadi/include/coin-or/IpOptionsList.hpp +412 -0
  472. casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
  473. casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
  474. casadi/include/coin-or/IpReferenced.hpp +262 -0
  475. casadi/include/coin-or/IpRegOptions.hpp +1152 -0
  476. casadi/include/coin-or/IpReturnCodes.h +23 -0
  477. casadi/include/coin-or/IpReturnCodes.hpp +18 -0
  478. casadi/include/coin-or/IpReturnCodes.inc +71 -0
  479. casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
  480. casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
  481. casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
  482. casadi/include/coin-or/IpSmartPtr.hpp +865 -0
  483. casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
  484. casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
  485. casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
  486. casadi/include/coin-or/IpStdCInterface.h +428 -0
  487. casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
  488. casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
  489. casadi/include/coin-or/IpSymMatrix.hpp +167 -0
  490. casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
  491. casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
  492. casadi/include/coin-or/IpTNLP.hpp +820 -0
  493. casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
  494. casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
  495. casadi/include/coin-or/IpTaggedObject.hpp +128 -0
  496. casadi/include/coin-or/IpTimedTask.hpp +218 -0
  497. casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
  498. casadi/include/coin-or/IpTripletHelper.hpp +308 -0
  499. casadi/include/coin-or/IpTypes.h +81 -0
  500. casadi/include/coin-or/IpTypes.hpp +30 -0
  501. casadi/include/coin-or/IpUtils.hpp +166 -0
  502. casadi/include/coin-or/IpVector.hpp +892 -0
  503. casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
  504. casadi/include/coin-or/IpoptConfig.h +45 -0
  505. casadi/include/coin-or/SensAlgorithm.hpp +114 -0
  506. casadi/include/coin-or/SensApplication.hpp +188 -0
  507. casadi/include/coin-or/SensBacksolver.hpp +36 -0
  508. casadi/include/coin-or/SensMeasurement.hpp +56 -0
  509. casadi/include/coin-or/SensPCalculator.hpp +137 -0
  510. casadi/include/coin-or/SensRegOp.hpp +21 -0
  511. casadi/include/coin-or/SensSchurData.hpp +182 -0
  512. casadi/include/coin-or/SensSchurDriver.hpp +118 -0
  513. casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
  514. casadi/include/coin-or/SensStepCalc.hpp +85 -0
  515. casadi/include/coin-or/SensUtils.hpp +63 -0
  516. casadi/include/coin-or/metis/defs.h +161 -0
  517. casadi/include/coin-or/metis/macros.h +143 -0
  518. casadi/include/coin-or/metis/metis.h +37 -0
  519. casadi/include/coin-or/metis/proto.h +505 -0
  520. casadi/include/coin-or/metis/rename.h +418 -0
  521. casadi/include/coin-or/metis/struct.h +251 -0
  522. casadi/include/coin-or/mumps/dmumps_c.h +142 -0
  523. casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
  524. casadi/include/coin-or/mumps/mumps_compat.h +27 -0
  525. casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
  526. casadi/include/coin-or/mumps/mumps_mpi.h +67 -0
  527. casadi/include/d_blas.h +78 -0
  528. casadi/include/d_blas_64.h +73 -0
  529. casadi/include/highs/HConfig.h +4 -7
  530. casadi/include/highs/Highs.h +240 -51
  531. casadi/include/highs/filereaderlp/builder.hpp +12 -13
  532. casadi/include/highs/filereaderlp/model.hpp +32 -35
  533. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  534. casadi/include/highs/interfaces/highs_c_api.h +964 -577
  535. casadi/include/highs/io/Filereader.h +2 -4
  536. casadi/include/highs/io/FilereaderEms.h +2 -4
  537. casadi/include/highs/io/FilereaderLp.h +2 -4
  538. casadi/include/highs/io/FilereaderMps.h +2 -4
  539. casadi/include/highs/io/HMPSIO.h +2 -4
  540. casadi/include/highs/io/HMpsFF.h +2 -4
  541. casadi/include/highs/io/HighsIO.h +19 -13
  542. casadi/include/highs/io/LoadOptions.h +7 -6
  543. casadi/include/highs/ipm/IpxWrapper.h +4 -5
  544. casadi/include/highs/lp_data/HConst.h +60 -15
  545. casadi/include/highs/lp_data/HStruct.h +32 -8
  546. casadi/include/highs/lp_data/HighsAnalysis.h +2 -4
  547. casadi/include/highs/lp_data/HighsCallback.h +33 -0
  548. casadi/include/highs/lp_data/HighsCallbackStruct.h +36 -0
  549. casadi/include/highs/lp_data/HighsDebug.h +2 -4
  550. casadi/include/highs/lp_data/HighsInfo.h +22 -23
  551. casadi/include/highs/lp_data/HighsInfoDebug.h +2 -4
  552. casadi/include/highs/lp_data/HighsLp.h +14 -6
  553. casadi/include/highs/lp_data/HighsLpSolverObject.h +6 -5
  554. casadi/include/highs/lp_data/HighsLpUtils.h +23 -12
  555. casadi/include/highs/lp_data/HighsModelUtils.h +22 -8
  556. casadi/include/highs/lp_data/HighsOptions.h +175 -106
  557. casadi/include/highs/lp_data/HighsRanging.h +2 -4
  558. casadi/include/highs/lp_data/HighsRuntimeOptions.h +21 -6
  559. casadi/include/highs/lp_data/HighsSolution.h +4 -4
  560. casadi/include/highs/lp_data/HighsSolutionDebug.h +2 -4
  561. casadi/include/highs/lp_data/HighsSolve.h +2 -4
  562. casadi/include/highs/lp_data/HighsStatus.h +2 -4
  563. casadi/include/highs/mip/HighsCliqueTable.h +18 -20
  564. casadi/include/highs/mip/HighsConflictPool.h +2 -4
  565. casadi/include/highs/mip/HighsCutGeneration.h +2 -4
  566. casadi/include/highs/mip/HighsCutPool.h +2 -4
  567. casadi/include/highs/mip/HighsDebugSol.h +2 -4
  568. casadi/include/highs/mip/HighsDomain.h +5 -5
  569. casadi/include/highs/mip/HighsDomainChange.h +2 -4
  570. casadi/include/highs/mip/HighsDynamicRowMatrix.h +2 -4
  571. casadi/include/highs/mip/HighsGFkSolve.h +2 -4
  572. casadi/include/highs/mip/HighsImplications.h +2 -4
  573. casadi/include/highs/mip/HighsLpAggregator.h +2 -4
  574. casadi/include/highs/mip/HighsLpRelaxation.h +2 -4
  575. casadi/include/highs/mip/HighsMipSolver.h +18 -6
  576. casadi/include/highs/mip/HighsMipSolverData.h +8 -4
  577. casadi/include/highs/mip/HighsModkSeparator.h +2 -4
  578. casadi/include/highs/mip/HighsNodeQueue.h +3 -9
  579. casadi/include/highs/mip/HighsObjectiveFunction.h +2 -4
  580. casadi/include/highs/mip/HighsPathSeparator.h +2 -4
  581. casadi/include/highs/mip/HighsPrimalHeuristics.h +2 -4
  582. casadi/include/highs/mip/HighsPseudocost.h +2 -4
  583. casadi/include/highs/mip/HighsRedcostFixing.h +2 -4
  584. casadi/include/highs/mip/HighsSearch.h +2 -4
  585. casadi/include/highs/mip/HighsSeparation.h +2 -4
  586. casadi/include/highs/mip/HighsSeparator.h +2 -4
  587. casadi/include/highs/mip/HighsTableauSeparator.h +2 -4
  588. casadi/include/highs/mip/HighsTransformedLp.h +2 -4
  589. casadi/include/highs/model/HighsHessian.h +3 -1
  590. casadi/include/highs/model/HighsModel.h +2 -0
  591. casadi/include/highs/parallel/HighsSpinMutex.h +2 -1
  592. casadi/include/highs/parallel/HighsSplitDeque.h +1 -1
  593. casadi/include/highs/parallel/HighsTaskExecutor.h +10 -2
  594. casadi/include/highs/presolve/HPresolve.h +9 -6
  595. casadi/include/highs/presolve/HPresolveAnalysis.h +5 -4
  596. casadi/include/highs/presolve/HighsPostsolveStack.h +50 -13
  597. casadi/include/highs/presolve/HighsSymmetry.h +2 -4
  598. casadi/include/highs/presolve/ICrash.h +4 -3
  599. casadi/include/highs/presolve/ICrashUtil.h +2 -2
  600. casadi/include/highs/presolve/ICrashX.h +4 -6
  601. casadi/include/highs/presolve/PresolveComponent.h +4 -42
  602. casadi/include/highs/qpsolver/a_asm.hpp +56 -0
  603. casadi/include/highs/qpsolver/a_quass.hpp +12 -0
  604. casadi/include/highs/qpsolver/quass.hpp +1 -4
  605. casadi/include/highs/simplex/HApp.h +14 -16
  606. casadi/include/highs/simplex/HEkk.h +12 -11
  607. casadi/include/highs/simplex/HEkkDual.h +2 -4
  608. casadi/include/highs/simplex/HEkkDualRHS.h +5 -6
  609. casadi/include/highs/simplex/HEkkDualRow.h +2 -4
  610. casadi/include/highs/simplex/HEkkPrimal.h +2 -4
  611. casadi/include/highs/simplex/HSimplex.h +2 -4
  612. casadi/include/highs/simplex/HSimplexDebug.h +2 -4
  613. casadi/include/highs/simplex/HSimplexNla.h +2 -4
  614. casadi/include/highs/simplex/HSimplexReport.h +3 -5
  615. casadi/include/highs/simplex/HighsSimplexAnalysis.h +2 -4
  616. casadi/include/highs/simplex/SimplexConst.h +7 -5
  617. casadi/include/highs/simplex/SimplexStruct.h +11 -5
  618. casadi/include/highs/simplex/SimplexTimer.h +2 -4
  619. casadi/include/highs/test/DevKkt.h +2 -4
  620. casadi/include/highs/test/KktCh2.h +2 -4
  621. casadi/include/highs/util/FactorTimer.h +2 -4
  622. casadi/include/highs/util/HFactor.h +2 -4
  623. casadi/include/highs/util/HFactorConst.h +2 -4
  624. casadi/include/highs/util/HFactorDebug.h +2 -4
  625. casadi/include/highs/util/HSet.h +3 -5
  626. casadi/include/highs/util/HVector.h +2 -4
  627. casadi/include/highs/util/HVectorBase.h +2 -4
  628. casadi/include/highs/util/HighsCDouble.h +2 -4
  629. casadi/include/highs/util/HighsComponent.h +2 -4
  630. casadi/include/highs/util/HighsDataStack.h +3 -5
  631. casadi/include/highs/util/HighsDisjointSets.h +8 -10
  632. casadi/include/highs/util/HighsHash.h +22 -7
  633. casadi/include/highs/util/HighsHashTree.h +25 -7
  634. casadi/include/highs/util/HighsInt.h +2 -4
  635. casadi/include/highs/util/HighsIntegers.h +2 -4
  636. casadi/include/highs/util/HighsLinearSumBounds.h +2 -4
  637. casadi/include/highs/util/HighsMatrixPic.h +2 -4
  638. casadi/include/highs/util/HighsMatrixSlice.h +2 -4
  639. casadi/include/highs/util/HighsMatrixUtils.h +2 -4
  640. casadi/include/highs/util/HighsRandom.h +2 -4
  641. casadi/include/highs/util/HighsRbTree.h +2 -4
  642. casadi/include/highs/util/HighsSort.h +2 -4
  643. casadi/include/highs/util/HighsSparseMatrix.h +11 -7
  644. casadi/include/highs/util/HighsSparseVectorSum.h +2 -4
  645. casadi/include/highs/util/HighsSplay.h +2 -4
  646. casadi/include/highs/util/HighsTimer.h +3 -4
  647. casadi/include/highs/util/HighsUtils.h +14 -4
  648. casadi/include/highs/util/stringutil.h +2 -4
  649. casadi/include/licenses/alpaqa-external/LICENSE +165 -0
  650. casadi/include/licenses/highs-external/LICENSE +1 -1
  651. casadi/include/licenses/sleqp-external/LICENSE +165 -0
  652. casadi/include/licenses/trlib-external/LICENSE +21 -0
  653. casadi/include/openblas/cblas.h +411 -0
  654. casadi/include/openblas/f77blas.h +796 -0
  655. casadi/include/openblas/lapack.h +22997 -0
  656. casadi/include/openblas/lapacke.h +12665 -0
  657. casadi/include/openblas/lapacke_config.h +119 -0
  658. casadi/include/openblas/lapacke_example_aux.h +9 -0
  659. casadi/include/openblas/lapacke_mangling.h +17 -0
  660. casadi/include/openblas/lapacke_utils.h +582 -0
  661. casadi/include/openblas/openblas/lapacke_mangling.h +17 -0
  662. casadi/include/openblas/openblas_config.h +140 -0
  663. casadi/include/qdldl/qdldl.h +169 -0
  664. casadi/include/qdldl/qdldl_types.h +23 -0
  665. casadi/include/s_blas.h +78 -0
  666. casadi/include/s_blas_64.h +73 -0
  667. casadi/include/sleqp/defs.h +58 -0
  668. casadi/include/sleqp/export.h +42 -0
  669. casadi/include/sleqp/pub_cmp.h +18 -0
  670. casadi/include/sleqp/pub_dyn.h +140 -0
  671. casadi/include/sleqp/pub_error.h +50 -0
  672. casadi/include/sleqp/pub_func.h +257 -0
  673. casadi/include/sleqp/pub_hess_struct.h +105 -0
  674. casadi/include/sleqp/pub_iterate.h +88 -0
  675. casadi/include/sleqp/pub_log.h +88 -0
  676. casadi/include/sleqp/pub_lsq.h +158 -0
  677. casadi/include/sleqp/pub_mem.h +52 -0
  678. casadi/include/sleqp/pub_problem.h +213 -0
  679. casadi/include/sleqp/pub_scale.h +150 -0
  680. casadi/include/sleqp/pub_settings.h +162 -0
  681. casadi/include/sleqp/pub_solver.h +155 -0
  682. casadi/include/sleqp/pub_types.h +230 -0
  683. casadi/include/sleqp/pub_working_set.h +135 -0
  684. casadi/include/sleqp/sparse/pub_mat.h +153 -0
  685. casadi/include/sleqp/sparse/pub_vec.h +336 -0
  686. casadi/include/sleqp.h +38 -0
  687. casadi/include/spral.h +13 -0
  688. casadi/include/spral_lsmr.h +57 -0
  689. casadi/include/spral_matrix_util.h +40 -0
  690. casadi/include/spral_random.h +26 -0
  691. casadi/include/spral_random_matrix.h +27 -0
  692. casadi/include/spral_rutherford_boeing.h +51 -0
  693. casadi/include/spral_scaling.h +139 -0
  694. casadi/include/spral_ssids.h +121 -0
  695. casadi/include/spral_ssmfe.h +268 -0
  696. casadi/include/trlib/trlib_eigen_inverse.h +118 -0
  697. casadi/include/trlib/trlib_krylov.h +493 -0
  698. casadi/include/trlib/trlib_leftmost.h +181 -0
  699. casadi/include/trlib/trlib_private.h +109 -0
  700. casadi/include/trlib/trlib_quadratic_zero.h +57 -0
  701. casadi/include/trlib/trlib_tri_factor.h +409 -0
  702. casadi/include/trlib/trlib_types.h +36 -0
  703. casadi/include/trlib.h +44 -0
  704. casadi/ipopt.lib +0 -0
  705. casadi/lapack.lib +0 -0
  706. casadi/lib/libtinyxml2.dll.a +0 -0
  707. casadi/libCbc-3.dll +0 -0
  708. casadi/libCbc.dll.a +0 -0
  709. casadi/libCbc.la +1 -1
  710. casadi/libCbcSolver-3.dll +0 -0
  711. casadi/libCbcSolver.dll.a +0 -0
  712. casadi/libCbcSolver.la +1 -1
  713. casadi/libCgl-1.dll +0 -0
  714. casadi/libCgl.dll.a +0 -0
  715. casadi/libCgl.la +1 -1
  716. casadi/libClp-1.dll +0 -0
  717. casadi/libClp.dll.a +0 -0
  718. casadi/libClp.la +1 -1
  719. casadi/libClpSolver-1.dll +0 -0
  720. casadi/libClpSolver.dll.a +0 -0
  721. casadi/libClpSolver.la +1 -1
  722. casadi/libCoinUtils-3.dll +0 -0
  723. casadi/libCoinUtils.dll.a +0 -0
  724. casadi/libCoinUtils.la +1 -1
  725. casadi/libFortranHighs.dll +0 -0
  726. casadi/libFortranHighs.dll.a +0 -0
  727. casadi/libOsi-1.dll +0 -0
  728. casadi/libOsi.dll.a +0 -0
  729. casadi/libOsi.la +1 -1
  730. casadi/libOsiCbc-3.dll +0 -0
  731. casadi/libOsiCbc.dll.a +0 -0
  732. casadi/libOsiCbc.la +1 -1
  733. casadi/libOsiClp-1.dll +0 -0
  734. casadi/libOsiClp.dll.a +0 -0
  735. casadi/libOsiClp.la +1 -1
  736. casadi/libOsiCommonTests-1.dll +0 -0
  737. casadi/libOsiCommonTests.dll.a +0 -0
  738. casadi/libOsiCommonTests.la +1 -1
  739. casadi/libalpaqa.dll +0 -0
  740. casadi/libalpaqa.dll.a +0 -0
  741. casadi/libblasfeo.dll +0 -0
  742. casadi/libblasfeo.dll.a +0 -0
  743. casadi/libbonmin-4.dll +0 -0
  744. casadi/libbonmin.dll.a +0 -0
  745. casadi/libbonmin.la +1 -1
  746. casadi/libcasadi-tp-openblas.dll +0 -0
  747. casadi/libcasadi-tp-openblas.dll.a +0 -0
  748. casadi/libcasadi.dll +0 -0
  749. casadi/libcasadi.dll.a +0 -0
  750. casadi/libcasadi_conic_cbc.dll +0 -0
  751. casadi/libcasadi_conic_cbc.dll.a +0 -0
  752. casadi/libcasadi_conic_clp.dll +0 -0
  753. casadi/libcasadi_conic_clp.dll.a +0 -0
  754. casadi/libcasadi_conic_cplex.dll +0 -0
  755. casadi/libcasadi_conic_cplex.dll.a +0 -0
  756. casadi/libcasadi_conic_gurobi.dll +0 -0
  757. casadi/libcasadi_conic_gurobi.dll.a +0 -0
  758. casadi/libcasadi_conic_highs.dll +0 -0
  759. casadi/libcasadi_conic_highs.dll.a +0 -0
  760. casadi/libcasadi_conic_hpipm.dll +0 -0
  761. casadi/libcasadi_conic_hpipm.dll.a +0 -0
  762. casadi/libcasadi_conic_ipqp.dll +0 -0
  763. casadi/libcasadi_conic_ipqp.dll.a +0 -0
  764. casadi/libcasadi_conic_nlpsol.dll +0 -0
  765. casadi/libcasadi_conic_nlpsol.dll.a +0 -0
  766. casadi/libcasadi_conic_osqp.dll +0 -0
  767. casadi/libcasadi_conic_osqp.dll.a +0 -0
  768. casadi/libcasadi_conic_proxqp.dll +0 -0
  769. casadi/libcasadi_conic_proxqp.dll.a +0 -0
  770. casadi/libcasadi_conic_qpoases.dll +0 -0
  771. casadi/libcasadi_conic_qpoases.dll.a +0 -0
  772. casadi/libcasadi_conic_qrqp.dll +0 -0
  773. casadi/libcasadi_conic_qrqp.dll.a +0 -0
  774. casadi/libcasadi_conic_superscs.dll +0 -0
  775. casadi/libcasadi_conic_superscs.dll.a +0 -0
  776. casadi/libcasadi_importer_shell.dll +0 -0
  777. casadi/libcasadi_importer_shell.dll.a +0 -0
  778. casadi/libcasadi_integrator_collocation.dll +0 -0
  779. casadi/libcasadi_integrator_collocation.dll.a +0 -0
  780. casadi/libcasadi_integrator_cvodes.dll +0 -0
  781. casadi/libcasadi_integrator_cvodes.dll.a +0 -0
  782. casadi/libcasadi_integrator_idas.dll +0 -0
  783. casadi/libcasadi_integrator_idas.dll.a +0 -0
  784. casadi/libcasadi_integrator_rk.dll +0 -0
  785. casadi/libcasadi_integrator_rk.dll.a +0 -0
  786. casadi/libcasadi_interpolant_bspline.dll +0 -0
  787. casadi/libcasadi_interpolant_bspline.dll.a +0 -0
  788. casadi/libcasadi_interpolant_linear.dll +0 -0
  789. casadi/libcasadi_interpolant_linear.dll.a +0 -0
  790. casadi/libcasadi_linsol_csparse.dll +0 -0
  791. casadi/libcasadi_linsol_csparse.dll.a +0 -0
  792. casadi/libcasadi_linsol_csparsecholesky.dll +0 -0
  793. casadi/libcasadi_linsol_csparsecholesky.dll.a +0 -0
  794. casadi/libcasadi_linsol_lapacklu.dll +0 -0
  795. casadi/libcasadi_linsol_lapacklu.dll.a +0 -0
  796. casadi/libcasadi_linsol_lapackqr.dll +0 -0
  797. casadi/libcasadi_linsol_lapackqr.dll.a +0 -0
  798. casadi/libcasadi_linsol_ldl.dll +0 -0
  799. casadi/libcasadi_linsol_ldl.dll.a +0 -0
  800. casadi/libcasadi_linsol_lsqr.dll +0 -0
  801. casadi/libcasadi_linsol_lsqr.dll.a +0 -0
  802. casadi/libcasadi_linsol_ma27.dll +0 -0
  803. casadi/libcasadi_linsol_ma27.dll.a +0 -0
  804. casadi/libcasadi_linsol_mumps.dll +0 -0
  805. casadi/libcasadi_linsol_mumps.dll.a +0 -0
  806. casadi/libcasadi_linsol_qr.dll +0 -0
  807. casadi/libcasadi_linsol_qr.dll.a +0 -0
  808. casadi/libcasadi_linsol_symbolicqr.dll +0 -0
  809. casadi/libcasadi_linsol_symbolicqr.dll.a +0 -0
  810. casadi/libcasadi_linsol_tridiag.dll +0 -0
  811. casadi/libcasadi_linsol_tridiag.dll.a +0 -0
  812. casadi/libcasadi_nlpsol_alpaqa.dll +0 -0
  813. casadi/libcasadi_nlpsol_alpaqa.dll.a +0 -0
  814. casadi/libcasadi_nlpsol_ampl.dll +0 -0
  815. casadi/libcasadi_nlpsol_ampl.dll.a +0 -0
  816. casadi/libcasadi_nlpsol_blocksqp.dll +0 -0
  817. casadi/libcasadi_nlpsol_blocksqp.dll.a +0 -0
  818. casadi/libcasadi_nlpsol_bonmin.dll +0 -0
  819. casadi/libcasadi_nlpsol_bonmin.dll.a +0 -0
  820. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll +0 -0
  821. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll.a +0 -0
  822. casadi/libcasadi_nlpsol_ipopt.dll +0 -0
  823. casadi/libcasadi_nlpsol_ipopt.dll.a +0 -0
  824. casadi/libcasadi_nlpsol_knitro.dll +0 -0
  825. casadi/libcasadi_nlpsol_knitro.dll.a +0 -0
  826. casadi/libcasadi_nlpsol_qrsqp.dll +0 -0
  827. casadi/libcasadi_nlpsol_qrsqp.dll.a +0 -0
  828. casadi/libcasadi_nlpsol_scpgen.dll +0 -0
  829. casadi/libcasadi_nlpsol_scpgen.dll.a +0 -0
  830. casadi/libcasadi_nlpsol_sleqp.dll +0 -0
  831. casadi/libcasadi_nlpsol_sleqp.dll.a +0 -0
  832. casadi/libcasadi_nlpsol_snopt.dll +0 -0
  833. casadi/libcasadi_nlpsol_snopt.dll.a +0 -0
  834. casadi/libcasadi_nlpsol_sqpmethod.dll +0 -0
  835. casadi/libcasadi_nlpsol_sqpmethod.dll.a +0 -0
  836. casadi/libcasadi_nlpsol_worhp.dll +0 -0
  837. casadi/libcasadi_nlpsol_worhp.dll.a +0 -0
  838. casadi/libcasadi_rootfinder_fast_newton.dll +0 -0
  839. casadi/libcasadi_rootfinder_fast_newton.dll.a +0 -0
  840. casadi/libcasadi_rootfinder_kinsol.dll +0 -0
  841. casadi/libcasadi_rootfinder_kinsol.dll.a +0 -0
  842. casadi/libcasadi_rootfinder_newton.dll +0 -0
  843. casadi/libcasadi_rootfinder_newton.dll.a +0 -0
  844. casadi/libcasadi_rootfinder_nlpsol.dll +0 -0
  845. casadi/libcasadi_rootfinder_nlpsol.dll.a +0 -0
  846. casadi/libcasadi_sundials_common.dll +0 -0
  847. casadi/libcasadi_sundials_common.dll.a +0 -0
  848. casadi/libcasadi_xmlfile_tinyxml.dll +0 -0
  849. casadi/libcasadi_xmlfile_tinyxml.dll.a +0 -0
  850. casadi/libcoinmetis-2.dll +0 -0
  851. casadi/libcoinmetis.dll.a +0 -0
  852. casadi/libcoinmumps-3.dll +0 -0
  853. casadi/libcoinmumps.dll.a +0 -0
  854. casadi/libcplex_adaptor.dll +0 -0
  855. casadi/libgurobi_adaptor.dll +0 -0
  856. casadi/libhighs.dll +0 -0
  857. casadi/libhighs.dll.a +0 -0
  858. casadi/libhpipm.dll +0 -0
  859. casadi/libhpipm.dll.a +0 -0
  860. casadi/libipopt-3.dll +0 -0
  861. casadi/libipopt.dll.a +0 -0
  862. casadi/libosqp.dll +0 -0
  863. casadi/libosqp.dll.a +0 -0
  864. casadi/libqdldl.dll +0 -0
  865. casadi/libqdldl.dll.a +0 -0
  866. casadi/libsipopt-3.dll +0 -0
  867. casadi/libsipopt.dll.a +0 -0
  868. casadi/libsleqp.dll +0 -0
  869. casadi/libsleqp.dll.a +0 -0
  870. casadi/libtinyxml2.dll +0 -0
  871. casadi/libtrlib.dll +0 -0
  872. casadi/libtrlib.dll.a +0 -0
  873. casadi/osqp.lib +0 -0
  874. casadi/pkgconfig/blas.pc +11 -0
  875. casadi/pkgconfig/bonmin.pc +1 -1
  876. casadi/pkgconfig/casadi.pc +1 -1
  877. casadi/pkgconfig/cbc.pc +2 -2
  878. casadi/pkgconfig/cgl.pc +2 -2
  879. casadi/pkgconfig/clp.pc +1 -1
  880. casadi/pkgconfig/coinutils.pc +1 -1
  881. casadi/pkgconfig/highs.pc +3 -3
  882. casadi/pkgconfig/lapack.pc +11 -0
  883. casadi/pkgconfig/openblas.pc +1 -1
  884. casadi/pkgconfig/osi-cbc.pc +1 -1
  885. casadi/pkgconfig/osi-clp.pc +1 -1
  886. casadi/pkgconfig/osi-unittests.pc +1 -1
  887. casadi/pkgconfig/osi.pc +1 -1
  888. casadi/pkgconfig/sleqp.pc +10 -0
  889. casadi/sleqp.lib +0 -0
  890. casadi/spral_ssids.exe +0 -0
  891. {casadi-3.6.3.dist-info → casadi-3.6.5.dist-info}/METADATA +11 -3
  892. {casadi-3.6.3.dist-info → casadi-3.6.5.dist-info}/RECORD +893 -325
  893. casadi/include/highs/interfaces/OsiHiGHSSolverInterface.hpp +0 -415
  894. casadi/libOsiHighs.dll +0 -0
  895. casadi/libOsiHighs.dll.a +0 -0
  896. casadi/pkgconfig/osi-highs.pc +0 -11
  897. {casadi-3.6.3.dist-info → casadi-3.6.5.dist-info}/WHEEL +0 -0
@@ -0,0 +1,505 @@
1
+ /* $Id$ */
2
+ // Copyright (C) 2003, International Business Machines
3
+ // Corporation and others. All Rights Reserved.
4
+ // This code is licensed under the terms of the Eclipse Public License (EPL).
5
+ /*
6
+ Authors
7
+
8
+ John Forrest
9
+
10
+ */
11
+ #ifndef ClpSolve_H
12
+ #define ClpSolve_H
13
+
14
+ /**
15
+ This is a very simple class to guide algorithms. It is used to tidy up
16
+ passing parameters to initialSolve and maybe for output from that
17
+
18
+ */
19
+
20
+ class ClpSolve {
21
+
22
+ public:
23
+ /** enums for solve function */
24
+ enum SolveType {
25
+ useDual = 0,
26
+ usePrimal,
27
+ usePrimalorSprint,
28
+ useBarrier,
29
+ useBarrierNoCross,
30
+ automatic,
31
+ tryDantzigWolfe,
32
+ tryBenders,
33
+ notImplemented
34
+ };
35
+ enum PresolveType {
36
+ presolveOn = 0,
37
+ presolveOff,
38
+ presolveNumber,
39
+ presolveNumberCost
40
+ };
41
+
42
+ /**@name Constructors and destructor and copy */
43
+ //@{
44
+ /// Default constructor
45
+ ClpSolve();
46
+ /// Constructor when you really know what you are doing
47
+ ClpSolve(SolveType method, PresolveType presolveType,
48
+ int numberPasses, int options[6],
49
+ int extraInfo[6], int independentOptions[3]);
50
+ /// Generates code for above constructor
51
+ void generateCpp(FILE *fp);
52
+ /// Copy constructor.
53
+ ClpSolve(const ClpSolve &);
54
+ /// Assignment operator. This copies the data
55
+ ClpSolve &operator=(const ClpSolve &rhs);
56
+ /// Destructor
57
+ ~ClpSolve();
58
+ //@}
59
+
60
+ /**@name Functions most useful to user */
61
+ //@{
62
+ /** Special options - bits
63
+ 0 4 - use crash (default allslack in dual, idiot in primal)
64
+ 8 - all slack basis in primal
65
+ 2 16 - switch off interrupt handling
66
+ 3 32 - do not try and make plus minus one matrix
67
+ 64 - do not use sprint even if problem looks good
68
+ */
69
+ /** which translation is:
70
+ which:
71
+ 0 - startup in Dual (nothing if basis exists).:
72
+ 0 - no basis
73
+ 1 - crash
74
+ 2 - use initiative about idiot! but no crash
75
+ 1 - startup in Primal (nothing if basis exists):
76
+ 0 - use initiative
77
+ 1 - use crash
78
+ 2 - use idiot and look at further info
79
+ 3 - use sprint and look at further info
80
+ 4 - use all slack
81
+ 5 - use initiative but no idiot
82
+ 6 - use initiative but no sprint
83
+ 7 - use initiative but no crash
84
+ 8 - do allslack or idiot
85
+ 9 - do allslack or sprint
86
+ 10 - slp before
87
+ 11 - no nothing and primal(0)
88
+ 2 - interrupt handling - 0 yes, 1 no (for threadsafe)
89
+ 3 - whether to make +- 1matrix - 0 yes, 1 no
90
+ 4 - for barrier
91
+ 0 - dense cholesky
92
+ 1 - Wssmp allowing some long columns
93
+ 2 - Wssmp not allowing long columns
94
+ 3 - Wssmp using KKT
95
+ 4 - Using Florida ordering
96
+ 8 - bit set to do scaling
97
+ 16 - set to be aggressive with gamma/delta?
98
+ 32 - Use KKT
99
+ 5 - for presolve
100
+ 1 - switch off dual stuff
101
+ 6 - extra switches
102
+
103
+ */
104
+ void setSpecialOption(int which, int value, int extraInfo = -1);
105
+ int getSpecialOption(int which) const;
106
+
107
+ /// Solve types
108
+ void setSolveType(SolveType method, int extraInfo = -1);
109
+ SolveType getSolveType();
110
+
111
+ // Presolve types
112
+ void setPresolveType(PresolveType amount, int extraInfo = -1);
113
+ PresolveType getPresolveType();
114
+ int getPresolvePasses() const;
115
+ /// Extra info for idiot (or sprint)
116
+ int getExtraInfo(int which) const;
117
+ /** Say to return at once if infeasible,
118
+ default is to solve */
119
+ void setInfeasibleReturn(bool trueFalse);
120
+ inline bool infeasibleReturn() const
121
+ {
122
+ return independentOptions_[0] != 0;
123
+ }
124
+ /// Whether we want to do dual part of presolve
125
+ inline bool doDual() const
126
+ {
127
+ return (independentOptions_[1] & 1) == 0;
128
+ }
129
+ inline void setDoDual(bool doDual_)
130
+ {
131
+ if (doDual_)
132
+ independentOptions_[1] &= ~1;
133
+ else
134
+ independentOptions_[1] |= 1;
135
+ }
136
+ /// Whether we want to do singleton part of presolve
137
+ inline bool doSingleton() const
138
+ {
139
+ return (independentOptions_[1] & 2) == 0;
140
+ }
141
+ inline void setDoSingleton(bool doSingleton_)
142
+ {
143
+ if (doSingleton_)
144
+ independentOptions_[1] &= ~2;
145
+ else
146
+ independentOptions_[1] |= 2;
147
+ }
148
+ /// Whether we want to do doubleton part of presolve
149
+ inline bool doDoubleton() const
150
+ {
151
+ return (independentOptions_[1] & 4) == 0;
152
+ }
153
+ inline void setDoDoubleton(bool doDoubleton_)
154
+ {
155
+ if (doDoubleton_)
156
+ independentOptions_[1] &= ~4;
157
+ else
158
+ independentOptions_[1] |= 4;
159
+ }
160
+ /// Whether we want to do tripleton part of presolve
161
+ inline bool doTripleton() const
162
+ {
163
+ return (independentOptions_[1] & 8) == 0;
164
+ }
165
+ inline void setDoTripleton(bool doTripleton_)
166
+ {
167
+ if (doTripleton_)
168
+ independentOptions_[1] &= ~8;
169
+ else
170
+ independentOptions_[1] |= 8;
171
+ }
172
+ /// Whether we want to do tighten part of presolve
173
+ inline bool doTighten() const
174
+ {
175
+ return (independentOptions_[1] & 16) == 0;
176
+ }
177
+ inline void setDoTighten(bool doTighten_)
178
+ {
179
+ if (doTighten_)
180
+ independentOptions_[1] &= ~16;
181
+ else
182
+ independentOptions_[1] |= 16;
183
+ }
184
+ /// Whether we want to do forcing part of presolve
185
+ inline bool doForcing() const
186
+ {
187
+ return (independentOptions_[1] & 32) == 0;
188
+ }
189
+ inline void setDoForcing(bool doForcing_)
190
+ {
191
+ if (doForcing_)
192
+ independentOptions_[1] &= ~32;
193
+ else
194
+ independentOptions_[1] |= 32;
195
+ }
196
+ /// Whether we want to do impliedfree part of presolve
197
+ inline bool doImpliedFree() const
198
+ {
199
+ return (independentOptions_[1] & 64) == 0;
200
+ }
201
+ inline void setDoImpliedFree(bool doImpliedfree)
202
+ {
203
+ if (doImpliedfree)
204
+ independentOptions_[1] &= ~64;
205
+ else
206
+ independentOptions_[1] |= 64;
207
+ }
208
+ /// Whether we want to do dupcol part of presolve
209
+ inline bool doDupcol() const
210
+ {
211
+ return (independentOptions_[1] & 128) == 0;
212
+ }
213
+ inline void setDoDupcol(bool doDupcol_)
214
+ {
215
+ if (doDupcol_)
216
+ independentOptions_[1] &= ~128;
217
+ else
218
+ independentOptions_[1] |= 128;
219
+ }
220
+ /// Whether we want to do duprow part of presolve
221
+ inline bool doDuprow() const
222
+ {
223
+ return (independentOptions_[1] & 256) == 0;
224
+ }
225
+ inline void setDoDuprow(bool doDuprow_)
226
+ {
227
+ if (doDuprow_)
228
+ independentOptions_[1] &= ~256;
229
+ else
230
+ independentOptions_[1] |= 256;
231
+ }
232
+ /// Whether we want to do singleton column part of presolve
233
+ inline bool doSingletonColumn() const
234
+ {
235
+ return (independentOptions_[1] & 512) == 0;
236
+ }
237
+ inline void setDoSingletonColumn(bool doSingleton_)
238
+ {
239
+ if (doSingleton_)
240
+ independentOptions_[1] &= ~512;
241
+ else
242
+ independentOptions_[1] |= 512;
243
+ }
244
+ /// Whether we want to kill small substitutions
245
+ inline bool doKillSmall() const
246
+ {
247
+ return (independentOptions_[1] & 8192) == 0;
248
+ }
249
+ inline void setDoKillSmall(bool doKill)
250
+ {
251
+ if (doKill)
252
+ independentOptions_[1] &= ~8192;
253
+ else
254
+ independentOptions_[1] |= 8192;
255
+ }
256
+ /// Set whole group
257
+ inline int presolveActions() const
258
+ {
259
+ return independentOptions_[1] & 0xffffff;
260
+ }
261
+ inline void setPresolveActions(int action)
262
+ {
263
+ independentOptions_[1] = (independentOptions_[1] & 0xff000000) | (action & 0xffffff);
264
+ }
265
+ /// Largest column for substitution (normally 3)
266
+ inline int substitution() const
267
+ {
268
+ return independentOptions_[2];
269
+ }
270
+ inline void setSubstitution(int value)
271
+ {
272
+ independentOptions_[2] = value;
273
+ }
274
+ inline void setIndependentOption(int type, int value)
275
+ {
276
+ independentOptions_[type] = value;
277
+ }
278
+ inline int independentOption(int type) const
279
+ {
280
+ return independentOptions_[type];
281
+ }
282
+ //@}
283
+
284
+ ////////////////// data //////////////////
285
+ private:
286
+ /**@name data.
287
+ */
288
+ //@{
289
+ /// Solve type
290
+ SolveType method_;
291
+ /// Presolve type
292
+ PresolveType presolveType_;
293
+ /// Amount of presolve
294
+ int numberPasses_;
295
+ /// Options - last is switch for OsiClp
296
+ int options_[7];
297
+ /// Extra information
298
+ int extraInfo_[7];
299
+ /** Extra algorithm dependent options
300
+ 0 - if set return from clpsolve if infeasible
301
+ 1 - To be copied over to presolve options
302
+ 2 - max substitution level
303
+ If Dantzig Wolfe/benders 0 is number blocks, 2 is #passes (notional)
304
+ */
305
+ int independentOptions_[3];
306
+ //@}
307
+ };
308
+
309
+ /// For saving extra information to see if looping.
310
+ class ClpSimplexProgress {
311
+
312
+ public:
313
+ /**@name Constructors and destructor and copy */
314
+ //@{
315
+ /// Default constructor
316
+ ClpSimplexProgress();
317
+
318
+ /// Constructor from model
319
+ ClpSimplexProgress(ClpSimplex *model);
320
+
321
+ /// Copy constructor.
322
+ ClpSimplexProgress(const ClpSimplexProgress &);
323
+
324
+ /// Assignment operator. This copies the data
325
+ ClpSimplexProgress &operator=(const ClpSimplexProgress &rhs);
326
+ /// Destructor
327
+ ~ClpSimplexProgress();
328
+ /// Resets as much as possible
329
+ void reset();
330
+ /// Fill from model
331
+ void fillFromModel(ClpSimplex *model);
332
+
333
+ //@}
334
+
335
+ /**@name Check progress */
336
+ //@{
337
+ /** Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken,
338
+ >=0 if give up and use as problem status
339
+ */
340
+ int looping();
341
+ /// Start check at beginning of whileIterating
342
+ void startCheck();
343
+ /// Returns cycle length in whileIterating
344
+ int cycle(int in, int out, int wayIn, int wayOut);
345
+
346
+ /// Returns previous objective (if -1) - current if (0)
347
+ double lastObjective(int back = 1) const;
348
+ /// Set real primal infeasibility and move back
349
+ void setInfeasibility(double value);
350
+ /// Returns real primal infeasibility (if -1) - current if (0)
351
+ double lastInfeasibility(int back = 1) const;
352
+ /// Returns number of primal infeasibilities (if -1) - current if (0)
353
+ int numberInfeasibilities(int back = 1) const;
354
+ /// Modify objective e.g. if dual infeasible in dual
355
+ void modifyObjective(double value);
356
+ /// Returns previous iteration number (if -1) - current if (0)
357
+ int lastIterationNumber(int back = 1) const;
358
+ /// clears all iteration numbers (to switch off panic)
359
+ void clearIterationNumbers();
360
+ /// Odd state
361
+ inline void newOddState()
362
+ {
363
+ oddState_ = -oddState_ - 1;
364
+ }
365
+ inline void endOddState()
366
+ {
367
+ oddState_ = abs(oddState_);
368
+ }
369
+ inline void clearOddState()
370
+ {
371
+ oddState_ = 0;
372
+ }
373
+ inline int oddState() const
374
+ {
375
+ return oddState_;
376
+ }
377
+ /// number of bad times
378
+ inline int badTimes() const
379
+ {
380
+ return numberBadTimes_;
381
+ }
382
+ inline void clearBadTimes()
383
+ {
384
+ numberBadTimes_ = 0;
385
+ }
386
+ /// number of really bad times
387
+ inline int reallyBadTimes() const
388
+ {
389
+ return numberReallyBadTimes_;
390
+ }
391
+ inline void incrementReallyBadTimes()
392
+ {
393
+ numberReallyBadTimes_++;
394
+ }
395
+ /// number of times flagged
396
+ inline int timesFlagged() const
397
+ {
398
+ return numberTimesFlagged_;
399
+ }
400
+ inline void clearTimesFlagged()
401
+ {
402
+ numberTimesFlagged_ = 0;
403
+ }
404
+ inline void incrementTimesFlagged()
405
+ {
406
+ numberTimesFlagged_++;
407
+ }
408
+
409
+ //@}
410
+ /**@name Data */
411
+ #define CLP_PROGRESS 5
412
+ //#define CLP_PROGRESS_WEIGHT 10
413
+ //@{
414
+ /// Objective values
415
+ double objective_[CLP_PROGRESS];
416
+ /// Sum of infeasibilities for algorithm
417
+ double infeasibility_[CLP_PROGRESS];
418
+ /// Sum of real primal infeasibilities for primal
419
+ double realInfeasibility_[CLP_PROGRESS];
420
+ #ifdef CLP_PROGRESS_WEIGHT
421
+ /// Objective values for weights
422
+ double objectiveWeight_[CLP_PROGRESS_WEIGHT];
423
+ /// Sum of infeasibilities for algorithm for weights
424
+ double infeasibilityWeight_[CLP_PROGRESS_WEIGHT];
425
+ /// Sum of real primal infeasibilities for primal for weights
426
+ double realInfeasibilityWeight_[CLP_PROGRESS_WEIGHT];
427
+ /// Drop for weights
428
+ double drop_;
429
+ /// Best? for weights
430
+ double best_;
431
+ #endif
432
+ /// Initial weight for weights
433
+ double initialWeight_;
434
+ #define CLP_CYCLE 12
435
+ /// For cycle checking
436
+ //double obj_[CLP_CYCLE];
437
+ int in_[CLP_CYCLE];
438
+ int out_[CLP_CYCLE];
439
+ char way_[CLP_CYCLE];
440
+ /// Pointer back to model so we can get information
441
+ ClpSimplex *model_;
442
+ /// Number of infeasibilities
443
+ int numberInfeasibilities_[CLP_PROGRESS];
444
+ /// Iteration number at which occurred
445
+ int iterationNumber_[CLP_PROGRESS];
446
+ #ifdef CLP_PROGRESS_WEIGHT
447
+ /// Number of infeasibilities for weights
448
+ int numberInfeasibilitiesWeight_[CLP_PROGRESS_WEIGHT];
449
+ /// Iteration number at which occurred for weights
450
+ int iterationNumberWeight_[CLP_PROGRESS_WEIGHT];
451
+ #endif
452
+ /// Number of times checked (so won't stop too early)
453
+ int numberTimes_;
454
+ /// Number of times it looked like loop
455
+ int numberBadTimes_;
456
+ /// Number really bad times
457
+ int numberReallyBadTimes_;
458
+ /// Number of times no iterations as flagged
459
+ int numberTimesFlagged_;
460
+ /// If things are in an odd state
461
+ int oddState_;
462
+ //@}
463
+ };
464
+
465
+ #include "ClpConfig.h"
466
+ #if CLP_HAS_ABC
467
+ #include "AbcCommon.hpp"
468
+ /// For saving extra information to see if looping.
469
+ class AbcSimplexProgress : public ClpSimplexProgress {
470
+
471
+ public:
472
+ /**@name Constructors and destructor and copy */
473
+ //@{
474
+ /// Default constructor
475
+ AbcSimplexProgress();
476
+
477
+ /// Constructor from model
478
+ AbcSimplexProgress(ClpSimplex *model);
479
+
480
+ /// Copy constructor.
481
+ AbcSimplexProgress(const AbcSimplexProgress &);
482
+
483
+ /// Assignment operator. This copies the data
484
+ AbcSimplexProgress &operator=(const AbcSimplexProgress &rhs);
485
+ /// Destructor
486
+ ~AbcSimplexProgress();
487
+
488
+ //@}
489
+
490
+ /**@name Check progress */
491
+ //@{
492
+ /** Returns -1 if okay, -n+1 (n number of times bad) if bad but action taken,
493
+ >=0 if give up and use as problem status
494
+ */
495
+ int looping();
496
+
497
+ //@}
498
+ /**@name Data */
499
+ //@}
500
+ };
501
+ #endif
502
+ #endif
503
+
504
+ /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
505
+ */