casadi 3.6.3__cp35-none-manylinux2010_x86_64.whl → 3.6.5__cp35-none-manylinux2010_x86_64.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 (571) hide show
  1. casadi/_casadi.so +0 -0
  2. casadi/casadi.py +415 -260
  3. casadi/cbc +0 -0
  4. casadi/clp +0 -0
  5. casadi/cmake/casadi-config-version.cmake +1 -1
  6. casadi/include/casadi/casadi.i +43 -18
  7. casadi/include/casadi/config.h +6 -6
  8. casadi/include/casadi/core/calculus.hpp +1 -1
  9. casadi/include/casadi/core/code_generator.hpp +29 -1
  10. casadi/include/casadi/core/core.hpp +1 -0
  11. casadi/include/casadi/core/fmu.hpp +29 -1
  12. casadi/include/casadi/core/generic_expression.hpp +1 -1
  13. casadi/include/casadi/core/generic_type.hpp +25 -1
  14. casadi/include/casadi/core/matrix_decl.hpp +15 -0
  15. casadi/include/casadi/core/nlpsol.hpp +0 -2
  16. casadi/include/casadi/core/runtime/casadi_nlp.hpp +131 -6
  17. casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +11 -1
  18. casadi/include/casadi/core/serializing_stream.hpp +12 -0
  19. casadi/include/casadi/core/sparsity.hpp +5 -3
  20. casadi/include/casadi/core/tools.hpp +67 -0
  21. casadi/include/casadi/doc.i +1457 -825
  22. casadi/include/casadi/doc_merged.i +1089 -570
  23. casadi/include/coin/BonArraysHelpers.hpp +52 -0
  24. casadi/include/coin/BonAuxInfos.hpp +110 -0
  25. casadi/include/coin/BonBabInfos.hpp +57 -0
  26. casadi/include/coin/BonBabSetupBase.hpp +386 -0
  27. casadi/include/coin/BonBonminSetup.hpp +95 -0
  28. casadi/include/coin/BonBranchingTQP.hpp +197 -0
  29. casadi/include/coin/BonCbc.hpp +127 -0
  30. casadi/include/coin/BonCbcLpStrategy.hpp +45 -0
  31. casadi/include/coin/BonCbcNlpStrategy.hpp +98 -0
  32. casadi/include/coin/BonCbcNode.hpp +133 -0
  33. casadi/include/coin/BonChooseVariable.hpp +345 -0
  34. casadi/include/coin/BonCurvBranchingSolver.hpp +77 -0
  35. casadi/include/coin/BonCutStrengthener.hpp +244 -0
  36. casadi/include/coin/BonDiver.hpp +424 -0
  37. casadi/include/coin/BonDummyHeuristic.hpp +53 -0
  38. casadi/include/coin/BonDummyPump.hpp +43 -0
  39. casadi/include/coin/BonEcpCuts.hpp +97 -0
  40. casadi/include/coin/BonExitCodes.hpp +12 -0
  41. casadi/include/coin/BonFixAndSolveHeuristic.hpp +43 -0
  42. casadi/include/coin/BonGuessHeuristic.hpp +46 -0
  43. casadi/include/coin/BonHeuristicDive.hpp +88 -0
  44. casadi/include/coin/BonHeuristicDiveFractional.hpp +67 -0
  45. casadi/include/coin/BonHeuristicDiveMIP.hpp +83 -0
  46. casadi/include/coin/BonHeuristicDiveMIPFractional.hpp +67 -0
  47. casadi/include/coin/BonHeuristicDiveMIPVectorLength.hpp +74 -0
  48. casadi/include/coin/BonHeuristicDiveVectorLength.hpp +74 -0
  49. casadi/include/coin/BonHeuristicFPump.hpp +111 -0
  50. casadi/include/coin/BonHeuristicLocalBranching.hpp +59 -0
  51. casadi/include/coin/BonHeuristicRINS.hpp +55 -0
  52. casadi/include/coin/BonIpoptInteriorWarmStarter.hpp +103 -0
  53. casadi/include/coin/BonIpoptSolver.hpp +188 -0
  54. casadi/include/coin/BonIpoptWarmStart.hpp +148 -0
  55. casadi/include/coin/BonLinearCutsGenerator.hpp +75 -0
  56. casadi/include/coin/BonLocalSolverBasedHeuristic.hpp +102 -0
  57. casadi/include/coin/BonLpBranchingSolver.hpp +80 -0
  58. casadi/include/coin/BonMilpRounding.hpp +74 -0
  59. casadi/include/coin/BonOACutGenerator2.hpp +56 -0
  60. casadi/include/coin/BonOAMessages.hpp +44 -0
  61. casadi/include/coin/BonOaDecBase.hpp +297 -0
  62. casadi/include/coin/BonOaFeasChecker.hpp +73 -0
  63. casadi/include/coin/BonOaNlpOptim.hpp +116 -0
  64. casadi/include/coin/BonOsiTMINLPInterface.hpp +1342 -0
  65. casadi/include/coin/BonOuterApprox.hpp +123 -0
  66. casadi/include/coin/BonPseudoCosts.hpp +91 -0
  67. casadi/include/coin/BonPumpForMinlp.hpp +45 -0
  68. casadi/include/coin/BonQuadCut.hpp +217 -0
  69. casadi/include/coin/BonQuadRow.hpp +122 -0
  70. casadi/include/coin/BonRegisteredOptions.hpp +225 -0
  71. casadi/include/coin/BonStrongBranchingSolver.hpp +69 -0
  72. casadi/include/coin/BonSubMipSolver.hpp +143 -0
  73. casadi/include/coin/BonTMINLP.hpp +420 -0
  74. casadi/include/coin/BonTMINLP2OsiLP.hpp +164 -0
  75. casadi/include/coin/BonTMINLP2Quad.hpp +191 -0
  76. casadi/include/coin/BonTMINLP2TNLP.hpp +509 -0
  77. casadi/include/coin/BonTMINLPLinObj.hpp +216 -0
  78. casadi/include/coin/BonTMatrix.hpp +167 -0
  79. casadi/include/coin/BonTNLP2FPNLP.hpp +264 -0
  80. casadi/include/coin/BonTNLPSolver.hpp +241 -0
  81. casadi/include/coin/BonTypes.hpp +95 -0
  82. casadi/include/coin/BonminConfig.h +19 -0
  83. casadi/include/coin/CbcBranchActual.hpp +26 -0
  84. casadi/include/coin/CbcBranchAllDifferent.hpp +61 -0
  85. casadi/include/coin/CbcBranchBase.hpp +79 -0
  86. casadi/include/coin/CbcBranchCut.hpp +182 -0
  87. casadi/include/coin/CbcBranchDecision.hpp +135 -0
  88. casadi/include/coin/CbcBranchDefaultDecision.hpp +101 -0
  89. casadi/include/coin/CbcBranchDynamic.hpp +210 -0
  90. casadi/include/coin/CbcBranchLotsize.hpp +249 -0
  91. casadi/include/coin/CbcBranchToFixLots.hpp +94 -0
  92. casadi/include/coin/CbcBranchingObject.hpp +245 -0
  93. casadi/include/coin/CbcClique.hpp +309 -0
  94. casadi/include/coin/CbcCompare.hpp +46 -0
  95. casadi/include/coin/CbcCompareActual.hpp +16 -0
  96. casadi/include/coin/CbcCompareBase.hpp +155 -0
  97. casadi/include/coin/CbcCompareDefault.hpp +129 -0
  98. casadi/include/coin/CbcCompareDepth.hpp +48 -0
  99. casadi/include/coin/CbcCompareEstimate.hpp +48 -0
  100. casadi/include/coin/CbcCompareObjective.hpp +50 -0
  101. casadi/include/coin/CbcConfig.h +18 -0
  102. casadi/include/coin/CbcConsequence.hpp +50 -0
  103. casadi/include/coin/CbcCountRowCut.hpp +176 -0
  104. casadi/include/coin/CbcCutGenerator.hpp +550 -0
  105. casadi/include/coin/CbcCutModifier.hpp +59 -0
  106. casadi/include/coin/CbcCutSubsetModifier.hpp +69 -0
  107. casadi/include/coin/CbcDummyBranchingObject.hpp +83 -0
  108. casadi/include/coin/CbcEventHandler.hpp +250 -0
  109. casadi/include/coin/CbcFathom.hpp +136 -0
  110. casadi/include/coin/CbcFathomDynamicProgramming.hpp +177 -0
  111. casadi/include/coin/CbcFeasibilityBase.hpp +60 -0
  112. casadi/include/coin/CbcFixVariable.hpp +68 -0
  113. casadi/include/coin/CbcFollowOn.hpp +207 -0
  114. casadi/include/coin/CbcFullNodeInfo.hpp +171 -0
  115. casadi/include/coin/CbcGeneral.hpp +60 -0
  116. casadi/include/coin/CbcGeneralDepth.hpp +289 -0
  117. casadi/include/coin/CbcHeuristic.hpp +735 -0
  118. casadi/include/coin/CbcHeuristicDINS.hpp +98 -0
  119. casadi/include/coin/CbcHeuristicDW.hpp +374 -0
  120. casadi/include/coin/CbcHeuristicDive.hpp +198 -0
  121. casadi/include/coin/CbcHeuristicDiveCoefficient.hpp +52 -0
  122. casadi/include/coin/CbcHeuristicDiveFractional.hpp +52 -0
  123. casadi/include/coin/CbcHeuristicDiveGuided.hpp +55 -0
  124. casadi/include/coin/CbcHeuristicDiveLineSearch.hpp +52 -0
  125. casadi/include/coin/CbcHeuristicDivePseudoCost.hpp +60 -0
  126. casadi/include/coin/CbcHeuristicDiveVectorLength.hpp +52 -0
  127. casadi/include/coin/CbcHeuristicFPump.hpp +375 -0
  128. casadi/include/coin/CbcHeuristicGreedy.hpp +289 -0
  129. casadi/include/coin/CbcHeuristicLocal.hpp +276 -0
  130. casadi/include/coin/CbcHeuristicPivotAndFix.hpp +58 -0
  131. casadi/include/coin/CbcHeuristicRENS.hpp +79 -0
  132. casadi/include/coin/CbcHeuristicRINS.hpp +106 -0
  133. casadi/include/coin/CbcHeuristicRandRound.hpp +58 -0
  134. casadi/include/coin/CbcHeuristicVND.hpp +95 -0
  135. casadi/include/coin/CbcLinked.hpp +1443 -0
  136. casadi/include/coin/CbcMessage.hpp +94 -0
  137. casadi/include/coin/CbcMipStartIO.hpp +29 -0
  138. casadi/include/coin/CbcModel.hpp +3296 -0
  139. casadi/include/coin/CbcNWay.hpp +171 -0
  140. casadi/include/coin/CbcNode.hpp +380 -0
  141. casadi/include/coin/CbcNodeInfo.hpp +377 -0
  142. casadi/include/coin/CbcObject.hpp +288 -0
  143. casadi/include/coin/CbcObjectUpdateData.hpp +63 -0
  144. casadi/include/coin/CbcOrClpParam.cpp +4321 -0
  145. casadi/include/coin/CbcOrClpParam.hpp +585 -0
  146. casadi/include/coin/CbcParam.hpp +338 -0
  147. casadi/include/coin/CbcPartialNodeInfo.hpp +116 -0
  148. casadi/include/coin/CbcSOS.hpp +290 -0
  149. casadi/include/coin/CbcSimpleInteger.hpp +299 -0
  150. casadi/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +619 -0
  151. casadi/include/coin/CbcSimpleIntegerPseudoCost.hpp +122 -0
  152. casadi/include/coin/CbcSolver.hpp +460 -0
  153. casadi/include/coin/CbcStrategy.hpp +269 -0
  154. casadi/include/coin/CbcSubProblem.hpp +84 -0
  155. casadi/include/coin/CbcTree.hpp +493 -0
  156. casadi/include/coin/CbcTreeLocal.hpp +393 -0
  157. casadi/include/coin/Cbc_C_Interface.h +904 -0
  158. casadi/include/coin/Cgl012cut.hpp +464 -0
  159. casadi/include/coin/CglAllDifferent.hpp +115 -0
  160. casadi/include/coin/CglClique.hpp +312 -0
  161. casadi/include/coin/CglConfig.h +19 -0
  162. casadi/include/coin/CglCutGenerator.hpp +133 -0
  163. casadi/include/coin/CglDuplicateRow.hpp +189 -0
  164. casadi/include/coin/CglFlowCover.hpp +371 -0
  165. casadi/include/coin/CglGMI.hpp +364 -0
  166. casadi/include/coin/CglGMIParam.hpp +313 -0
  167. casadi/include/coin/CglGomory.hpp +204 -0
  168. casadi/include/coin/CglKnapsackCover.hpp +310 -0
  169. casadi/include/coin/CglLandP.hpp +306 -0
  170. casadi/include/coin/CglLandPValidator.hpp +130 -0
  171. casadi/include/coin/CglLiftAndProject.hpp +104 -0
  172. casadi/include/coin/CglMessage.hpp +49 -0
  173. casadi/include/coin/CglMixedIntegerRounding.hpp +429 -0
  174. casadi/include/coin/CglMixedIntegerRounding2.hpp +427 -0
  175. casadi/include/coin/CglOddHole.hpp +160 -0
  176. casadi/include/coin/CglParam.hpp +93 -0
  177. casadi/include/coin/CglPreProcess.hpp +600 -0
  178. casadi/include/coin/CglProbing.hpp +543 -0
  179. casadi/include/coin/CglRedSplit.hpp +448 -0
  180. casadi/include/coin/CglRedSplit2.hpp +494 -0
  181. casadi/include/coin/CglRedSplit2Param.hpp +495 -0
  182. casadi/include/coin/CglRedSplitParam.hpp +272 -0
  183. casadi/include/coin/CglResidualCapacity.hpp +240 -0
  184. casadi/include/coin/CglSimpleRounding.hpp +174 -0
  185. casadi/include/coin/CglStored.hpp +140 -0
  186. casadi/include/coin/CglTreeInfo.hpp +216 -0
  187. casadi/include/coin/CglTwomir.hpp +562 -0
  188. casadi/include/coin/CglZeroHalf.hpp +133 -0
  189. casadi/include/coin/ClpAmplObjective.hpp +113 -0
  190. casadi/include/coin/ClpCholeskyBase.hpp +321 -0
  191. casadi/include/coin/ClpCholeskyDense.hpp +157 -0
  192. casadi/include/coin/ClpCholeskyMumps.hpp +65 -0
  193. casadi/include/coin/ClpCholeskyPardiso.hpp +67 -0
  194. casadi/include/coin/ClpConfig.h +17 -0
  195. casadi/include/coin/ClpConstraint.hpp +129 -0
  196. casadi/include/coin/ClpConstraintAmpl.hpp +109 -0
  197. casadi/include/coin/ClpConstraintLinear.hpp +113 -0
  198. casadi/include/coin/ClpConstraintQuadratic.hpp +123 -0
  199. casadi/include/coin/ClpDualRowDantzig.hpp +72 -0
  200. casadi/include/coin/ClpDualRowPivot.hpp +136 -0
  201. casadi/include/coin/ClpDualRowSteepest.hpp +160 -0
  202. casadi/include/coin/ClpDummyMatrix.hpp +186 -0
  203. casadi/include/coin/ClpDynamicExampleMatrix.hpp +199 -0
  204. casadi/include/coin/ClpDynamicMatrix.hpp +420 -0
  205. casadi/include/coin/ClpEventHandler.hpp +193 -0
  206. casadi/include/coin/ClpFactorization.hpp +556 -0
  207. casadi/include/coin/ClpGubDynamicMatrix.hpp +270 -0
  208. casadi/include/coin/ClpGubMatrix.hpp +373 -0
  209. casadi/include/coin/ClpInterior.hpp +622 -0
  210. casadi/include/coin/ClpLinearObjective.hpp +104 -0
  211. casadi/include/coin/ClpMatrixBase.hpp +561 -0
  212. casadi/include/coin/ClpMessage.hpp +131 -0
  213. casadi/include/coin/ClpModel.hpp +1442 -0
  214. casadi/include/coin/ClpNetworkMatrix.hpp +235 -0
  215. casadi/include/coin/ClpNode.hpp +364 -0
  216. casadi/include/coin/ClpNonLinearCost.hpp +432 -0
  217. casadi/include/coin/ClpObjective.hpp +142 -0
  218. casadi/include/coin/ClpPEDualRowDantzig.hpp +84 -0
  219. casadi/include/coin/ClpPEDualRowSteepest.hpp +100 -0
  220. casadi/include/coin/ClpPEPrimalColumnDantzig.hpp +71 -0
  221. casadi/include/coin/ClpPEPrimalColumnSteepest.hpp +107 -0
  222. casadi/include/coin/ClpPESimplex.hpp +231 -0
  223. casadi/include/coin/ClpPackedMatrix.hpp +778 -0
  224. casadi/include/coin/ClpParameters.hpp +132 -0
  225. casadi/include/coin/ClpPdcoBase.hpp +110 -0
  226. casadi/include/coin/ClpPlusMinusOneMatrix.hpp +565 -0
  227. casadi/include/coin/ClpPresolve.hpp +379 -0
  228. casadi/include/coin/ClpPrimalColumnDantzig.hpp +74 -0
  229. casadi/include/coin/ClpPrimalColumnPivot.hpp +163 -0
  230. casadi/include/coin/ClpPrimalColumnSteepest.hpp +281 -0
  231. casadi/include/coin/ClpQuadraticObjective.hpp +161 -0
  232. casadi/include/coin/ClpSimplex.hpp +2137 -0
  233. casadi/include/coin/ClpSimplexDual.hpp +304 -0
  234. casadi/include/coin/ClpSimplexNonlinear.hpp +117 -0
  235. casadi/include/coin/ClpSimplexOther.hpp +282 -0
  236. casadi/include/coin/ClpSimplexPrimal.hpp +244 -0
  237. casadi/include/coin/ClpSolve.hpp +505 -0
  238. casadi/include/coin/Clp_C_Interface.h +554 -0
  239. casadi/include/coin/CoinAlloc.hpp +179 -0
  240. casadi/include/coin/CoinBuild.hpp +159 -0
  241. casadi/include/coin/CoinDenseFactorization.hpp +452 -0
  242. casadi/include/coin/CoinDenseVector.hpp +401 -0
  243. casadi/include/coin/CoinDistance.hpp +51 -0
  244. casadi/include/coin/CoinError.hpp +274 -0
  245. casadi/include/coin/CoinFactorization.hpp +2178 -0
  246. casadi/include/coin/CoinFileIO.hpp +185 -0
  247. casadi/include/coin/CoinFinite.hpp +37 -0
  248. casadi/include/coin/CoinFloatEqual.hpp +204 -0
  249. casadi/include/coin/CoinHelperFunctions.hpp +1270 -0
  250. casadi/include/coin/CoinIndexedVector.hpp +1437 -0
  251. casadi/include/coin/CoinLpIO.hpp +836 -0
  252. casadi/include/coin/CoinMessage.hpp +95 -0
  253. casadi/include/coin/CoinMessageHandler.hpp +717 -0
  254. casadi/include/coin/CoinModel.hpp +1214 -0
  255. casadi/include/coin/CoinModelUseful.hpp +518 -0
  256. casadi/include/coin/CoinMpsIO.hpp +1142 -0
  257. casadi/include/coin/CoinOslFactorization.hpp +287 -0
  258. casadi/include/coin/CoinPackedMatrix.hpp +956 -0
  259. casadi/include/coin/CoinPackedVector.hpp +670 -0
  260. casadi/include/coin/CoinPackedVectorBase.hpp +274 -0
  261. casadi/include/coin/CoinParam.hpp +644 -0
  262. casadi/include/coin/CoinPragma.hpp +29 -0
  263. casadi/include/coin/CoinPresolveDoubleton.hpp +76 -0
  264. casadi/include/coin/CoinPresolveDual.hpp +84 -0
  265. casadi/include/coin/CoinPresolveDupcol.hpp +259 -0
  266. casadi/include/coin/CoinPresolveEmpty.hpp +120 -0
  267. casadi/include/coin/CoinPresolveFixed.hpp +185 -0
  268. casadi/include/coin/CoinPresolveForcing.hpp +69 -0
  269. casadi/include/coin/CoinPresolveImpliedFree.hpp +66 -0
  270. casadi/include/coin/CoinPresolveIsolated.hpp +59 -0
  271. casadi/include/coin/CoinPresolveMatrix.hpp +1996 -0
  272. casadi/include/coin/CoinPresolveMonitor.hpp +105 -0
  273. casadi/include/coin/CoinPresolvePsdebug.hpp +169 -0
  274. casadi/include/coin/CoinPresolveSingleton.hpp +115 -0
  275. casadi/include/coin/CoinPresolveSubst.hpp +103 -0
  276. casadi/include/coin/CoinPresolveTighten.hpp +58 -0
  277. casadi/include/coin/CoinPresolveTripleton.hpp +69 -0
  278. casadi/include/coin/CoinPresolveUseless.hpp +63 -0
  279. casadi/include/coin/CoinPresolveZeros.hpp +65 -0
  280. casadi/include/coin/CoinRational.hpp +43 -0
  281. casadi/include/coin/CoinSearchTree.hpp +523 -0
  282. casadi/include/coin/CoinShallowPackedVector.hpp +149 -0
  283. casadi/include/coin/CoinSignal.hpp +127 -0
  284. casadi/include/coin/CoinSimpFactorization.hpp +432 -0
  285. casadi/include/coin/CoinSmartPtr.hpp +548 -0
  286. casadi/include/coin/CoinSnapshot.hpp +572 -0
  287. casadi/include/coin/CoinSort.hpp +753 -0
  288. casadi/include/coin/CoinStructuredModel.hpp +270 -0
  289. casadi/include/coin/CoinTime.hpp +350 -0
  290. casadi/include/coin/CoinTypes.hpp +67 -0
  291. casadi/include/coin/CoinUtility.hpp +26 -0
  292. casadi/include/coin/CoinUtilsConfig.h +34 -0
  293. casadi/include/coin/CoinWarmStart.hpp +56 -0
  294. casadi/include/coin/CoinWarmStartBasis.hpp +468 -0
  295. casadi/include/coin/CoinWarmStartDual.hpp +180 -0
  296. casadi/include/coin/CoinWarmStartPrimalDual.hpp +233 -0
  297. casadi/include/coin/CoinWarmStartVector.hpp +523 -0
  298. casadi/include/coin/Coin_C_defines.h +149 -0
  299. casadi/include/coin/Idiot.hpp +327 -0
  300. casadi/include/coin/OsiAuxInfo.hpp +261 -0
  301. casadi/include/coin/OsiBranchingObject.hpp +1097 -0
  302. casadi/include/coin/OsiCbcSolverInterface.hpp +791 -0
  303. casadi/include/coin/OsiChooseVariable.hpp +645 -0
  304. casadi/include/coin/OsiClpSolverInterface.hpp +1604 -0
  305. casadi/include/coin/OsiColCut.hpp +322 -0
  306. casadi/include/coin/OsiCollections.hpp +34 -0
  307. casadi/include/coin/OsiConfig.h +19 -0
  308. casadi/include/coin/OsiCut.hpp +251 -0
  309. casadi/include/coin/OsiCuts.hpp +505 -0
  310. casadi/include/coin/OsiPresolve.hpp +272 -0
  311. casadi/include/coin/OsiRowCut.hpp +345 -0
  312. casadi/include/coin/OsiRowCutDebugger.hpp +190 -0
  313. casadi/include/coin/OsiSolverBranch.hpp +169 -0
  314. casadi/include/coin/OsiSolverInterface.hpp +2221 -0
  315. casadi/include/coin/OsiSolverParameters.hpp +144 -0
  316. casadi/include/coin/OsiUnitTests.hpp +390 -0
  317. casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
  318. casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
  319. casadi/include/coin-or/IpAlgTypes.hpp +64 -0
  320. casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
  321. casadi/include/coin-or/IpBlas.hpp +426 -0
  322. casadi/include/coin-or/IpCachedResults.hpp +897 -0
  323. casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
  324. casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
  325. casadi/include/coin-or/IpCompoundVector.hpp +395 -0
  326. casadi/include/coin-or/IpConvCheck.hpp +97 -0
  327. casadi/include/coin-or/IpDebug.hpp +167 -0
  328. casadi/include/coin-or/IpDenseVector.hpp +626 -0
  329. casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
  330. casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
  331. casadi/include/coin-or/IpException.hpp +156 -0
  332. casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
  333. casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
  334. casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
  335. casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
  336. casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
  337. casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
  338. casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
  339. casadi/include/coin-or/IpIpoptData.hpp +966 -0
  340. casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
  341. casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
  342. casadi/include/coin-or/IpIteratesVector.hpp +840 -0
  343. casadi/include/coin-or/IpIterationOutput.hpp +78 -0
  344. casadi/include/coin-or/IpJournalist.hpp +573 -0
  345. casadi/include/coin-or/IpLapack.hpp +227 -0
  346. casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
  347. casadi/include/coin-or/IpLineSearch.hpp +106 -0
  348. casadi/include/coin-or/IpLinearSolvers.h +46 -0
  349. casadi/include/coin-or/IpMatrix.hpp +434 -0
  350. casadi/include/coin-or/IpMuUpdate.hpp +77 -0
  351. casadi/include/coin-or/IpNLP.hpp +306 -0
  352. casadi/include/coin-or/IpNLPScaling.hpp +582 -0
  353. casadi/include/coin-or/IpObserver.hpp +422 -0
  354. casadi/include/coin-or/IpOptionsList.hpp +412 -0
  355. casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
  356. casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
  357. casadi/include/coin-or/IpReferenced.hpp +262 -0
  358. casadi/include/coin-or/IpRegOptions.hpp +1152 -0
  359. casadi/include/coin-or/IpReturnCodes.h +23 -0
  360. casadi/include/coin-or/IpReturnCodes.hpp +18 -0
  361. casadi/include/coin-or/IpReturnCodes.inc +71 -0
  362. casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
  363. casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
  364. casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
  365. casadi/include/coin-or/IpSmartPtr.hpp +865 -0
  366. casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
  367. casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
  368. casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
  369. casadi/include/coin-or/IpStdCInterface.h +428 -0
  370. casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
  371. casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
  372. casadi/include/coin-or/IpSymMatrix.hpp +167 -0
  373. casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
  374. casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
  375. casadi/include/coin-or/IpTNLP.hpp +820 -0
  376. casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
  377. casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
  378. casadi/include/coin-or/IpTaggedObject.hpp +128 -0
  379. casadi/include/coin-or/IpTimedTask.hpp +218 -0
  380. casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
  381. casadi/include/coin-or/IpTripletHelper.hpp +308 -0
  382. casadi/include/coin-or/IpTypes.h +81 -0
  383. casadi/include/coin-or/IpTypes.hpp +30 -0
  384. casadi/include/coin-or/IpUtils.hpp +166 -0
  385. casadi/include/coin-or/IpVector.hpp +892 -0
  386. casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
  387. casadi/include/coin-or/IpoptConfig.h +45 -0
  388. casadi/include/coin-or/SensAlgorithm.hpp +114 -0
  389. casadi/include/coin-or/SensApplication.hpp +188 -0
  390. casadi/include/coin-or/SensBacksolver.hpp +36 -0
  391. casadi/include/coin-or/SensMeasurement.hpp +56 -0
  392. casadi/include/coin-or/SensPCalculator.hpp +137 -0
  393. casadi/include/coin-or/SensRegOp.hpp +21 -0
  394. casadi/include/coin-or/SensSchurData.hpp +182 -0
  395. casadi/include/coin-or/SensSchurDriver.hpp +118 -0
  396. casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
  397. casadi/include/coin-or/SensStepCalc.hpp +85 -0
  398. casadi/include/coin-or/SensUtils.hpp +63 -0
  399. casadi/include/coin-or/metis/defs.h +161 -0
  400. casadi/include/coin-or/metis/macros.h +143 -0
  401. casadi/include/coin-or/metis/metis.h +37 -0
  402. casadi/include/coin-or/metis/proto.h +505 -0
  403. casadi/include/coin-or/metis/rename.h +418 -0
  404. casadi/include/coin-or/metis/struct.h +251 -0
  405. casadi/include/coin-or/mumps/dmumps_c.h +142 -0
  406. casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
  407. casadi/include/coin-or/mumps/mumps_compat.h +27 -0
  408. casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
  409. casadi/include/coin-or/mumps/mumps_mpi.h +67 -0
  410. casadi/include/d_blas.h +78 -0
  411. casadi/include/d_blas_64.h +73 -0
  412. casadi/include/openblas/cblas.h +411 -0
  413. casadi/include/openblas/f77blas.h +796 -0
  414. casadi/include/openblas/lapack.h +22997 -0
  415. casadi/include/openblas/lapacke.h +12665 -0
  416. casadi/include/openblas/lapacke_config.h +119 -0
  417. casadi/include/openblas/lapacke_example_aux.h +9 -0
  418. casadi/include/openblas/lapacke_mangling.h +17 -0
  419. casadi/include/openblas/lapacke_utils.h +582 -0
  420. casadi/include/openblas/openblas/lapacke_mangling.h +17 -0
  421. casadi/include/openblas/openblas_config.h +139 -0
  422. casadi/include/qdldl/qdldl.h +169 -0
  423. casadi/include/qdldl/qdldl_types.h +23 -0
  424. casadi/include/s_blas.h +78 -0
  425. casadi/include/s_blas_64.h +73 -0
  426. casadi/lib64/libtinyxml2.a +0 -0
  427. casadi/libCbc.la +3 -3
  428. casadi/libCbc.so +0 -0
  429. casadi/libCbc.so.3 +0 -0
  430. casadi/libCbc.so.3.10.11 +0 -0
  431. casadi/libCbcSolver.la +3 -3
  432. casadi/libCbcSolver.so +0 -0
  433. casadi/libCbcSolver.so.3 +0 -0
  434. casadi/libCbcSolver.so.3.10.11 +0 -0
  435. casadi/libCgl.la +2 -2
  436. casadi/libCgl.so +0 -0
  437. casadi/libCgl.so.1 +0 -0
  438. casadi/libCgl.so.1.10.8 +0 -0
  439. casadi/libClp.la +2 -2
  440. casadi/libClp.so +0 -0
  441. casadi/libClp.so.1 +0 -0
  442. casadi/libClp.so.1.14.9 +0 -0
  443. casadi/libClpSolver.la +2 -2
  444. casadi/libClpSolver.so +0 -0
  445. casadi/libClpSolver.so.1 +0 -0
  446. casadi/{libClpSolver.so.1.14.7 → libClpSolver.so.1.14.9} +0 -0
  447. casadi/libCoinUtils.la +2 -2
  448. casadi/libCoinUtils.so +0 -0
  449. casadi/libCoinUtils.so.3 +0 -0
  450. casadi/libCoinUtils.so.3.11.10 +0 -0
  451. casadi/libOsi.la +2 -2
  452. casadi/libOsiCbc.la +3 -3
  453. casadi/libOsiCbc.so +0 -0
  454. casadi/libOsiCbc.so.3 +0 -0
  455. casadi/{libOsiCbc.so.3.10.6 → libOsiCbc.so.3.10.11} +0 -0
  456. casadi/libOsiClp.la +2 -2
  457. casadi/libOsiClp.so +0 -0
  458. casadi/libOsiClp.so.1 +0 -0
  459. casadi/libOsiClp.so.1.14.9 +0 -0
  460. casadi/libOsiCommonTests.la +2 -2
  461. casadi/libOsiCommonTests.so +0 -0
  462. casadi/libOsiCommonTests.so.1 +0 -0
  463. casadi/{libOsiCommonTests.so.1.13.7 → libOsiCommonTests.so.1.13.9} +0 -0
  464. casadi/libbonmin.la +3 -3
  465. casadi/libbonmin.so +0 -0
  466. casadi/libbonmin.so.4 +0 -0
  467. casadi/libbonmin.so.4.8.9 +0 -0
  468. casadi/libcasadi.so +0 -0
  469. casadi/libcasadi.so.3.7 +0 -0
  470. casadi/libcasadi_conic_cbc.so +0 -0
  471. casadi/libcasadi_conic_cbc.so.3.7 +0 -0
  472. casadi/libcasadi_conic_clp.so +0 -0
  473. casadi/libcasadi_conic_clp.so.3.7 +0 -0
  474. casadi/libcasadi_conic_cplex.so +0 -0
  475. casadi/libcasadi_conic_cplex.so.3.7 +0 -0
  476. casadi/libcasadi_conic_gurobi.so +0 -0
  477. casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
  478. casadi/libcasadi_conic_hpipm.so +0 -0
  479. casadi/libcasadi_conic_hpipm.so.3.7 +0 -0
  480. casadi/libcasadi_conic_ipqp.so +0 -0
  481. casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
  482. casadi/libcasadi_conic_nlpsol.so +0 -0
  483. casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
  484. casadi/libcasadi_conic_osqp.so +0 -0
  485. casadi/libcasadi_conic_osqp.so.3.7 +0 -0
  486. casadi/libcasadi_conic_qpoases.so +0 -0
  487. casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
  488. casadi/libcasadi_conic_qrqp.so +0 -0
  489. casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
  490. casadi/libcasadi_conic_superscs.so +0 -0
  491. casadi/libcasadi_conic_superscs.so.3.7 +0 -0
  492. casadi/libcasadi_integrator_collocation.so +0 -0
  493. casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
  494. casadi/libcasadi_integrator_cvodes.so +0 -0
  495. casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
  496. casadi/libcasadi_integrator_idas.so +0 -0
  497. casadi/libcasadi_integrator_idas.so.3.7 +0 -0
  498. casadi/libcasadi_interpolant_bspline.so +0 -0
  499. casadi/libcasadi_interpolant_bspline.so.3.7 +0 -0
  500. casadi/libcasadi_interpolant_linear.so +0 -0
  501. casadi/libcasadi_interpolant_linear.so.3.7 +0 -0
  502. casadi/libcasadi_linsol_lapacklu.so +0 -0
  503. casadi/libcasadi_linsol_lapacklu.so.3.7 +0 -0
  504. casadi/libcasadi_linsol_lapackqr.so +0 -0
  505. casadi/libcasadi_linsol_lapackqr.so.3.7 +0 -0
  506. casadi/libcasadi_linsol_ldl.so +0 -0
  507. casadi/libcasadi_linsol_ldl.so.3.7 +0 -0
  508. casadi/libcasadi_linsol_mumps.so +0 -0
  509. casadi/libcasadi_linsol_mumps.so.3.7 +0 -0
  510. casadi/libcasadi_linsol_qr.so +0 -0
  511. casadi/libcasadi_linsol_qr.so.3.7 +0 -0
  512. casadi/libcasadi_linsol_symbolicqr.so +0 -0
  513. casadi/libcasadi_linsol_symbolicqr.so.3.7 +0 -0
  514. casadi/libcasadi_nlpsol_ampl.so +0 -0
  515. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  516. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  517. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  518. casadi/libcasadi_nlpsol_bonmin.so +0 -0
  519. casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
  520. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  521. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  522. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  523. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  524. casadi/libcasadi_nlpsol_knitro.so +0 -0
  525. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  526. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  527. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  528. casadi/libcasadi_nlpsol_scpgen.so +0 -0
  529. casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
  530. casadi/libcasadi_nlpsol_snopt.so +0 -0
  531. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  532. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  533. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  534. casadi/libcasadi_nlpsol_worhp.so +0 -0
  535. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  536. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  537. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  538. casadi/libcasadi_rootfinder_newton.so +0 -0
  539. casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
  540. casadi/libcasadi_sundials_common.so +0 -0
  541. casadi/libcasadi_sundials_common.so.3.7 +0 -0
  542. casadi/libindirect.a +0 -0
  543. casadi/liblinsys.a +0 -0
  544. casadi/libosqp.a +0 -0
  545. casadi/libqdldl.a +0 -0
  546. casadi/libsuperscs.a +0 -0
  547. casadi/pkgconfig/blas.pc +11 -0
  548. casadi/pkgconfig/bonmin.pc +1 -1
  549. casadi/pkgconfig/casadi.pc +1 -1
  550. casadi/pkgconfig/cbc.pc +2 -2
  551. casadi/pkgconfig/cgl.pc +2 -2
  552. casadi/pkgconfig/clp.pc +1 -1
  553. casadi/pkgconfig/coinutils.pc +1 -1
  554. casadi/pkgconfig/lapack.pc +11 -0
  555. casadi/pkgconfig/openblas.pc +1 -1
  556. casadi/pkgconfig/osi-cbc.pc +1 -1
  557. casadi/pkgconfig/osi-clp.pc +1 -1
  558. casadi/pkgconfig/osi-unittests.pc +1 -1
  559. casadi/pkgconfig/osi.pc +1 -1
  560. {casadi-3.6.3.dist-info → casadi-3.6.5.dist-info}/METADATA +11 -3
  561. casadi-3.6.5.dist-info/RECORD +987 -0
  562. casadi/libCbc.so.3.10.6 +0 -0
  563. casadi/libCbcSolver.so.3.10.6 +0 -0
  564. casadi/libCgl.so.1.10.4 +0 -0
  565. casadi/libClp.so.1.14.7 +0 -0
  566. casadi/libCoinUtils.so.3.11.6 +0 -0
  567. casadi/libOsiClp.so.1.14.7 +0 -0
  568. casadi/libbonmin.so.4.8.8 +0 -0
  569. casadi-3.6.3.dist-info/RECORD +0 -581
  570. /casadi/{libOsi.so.1.13.7 → libOsi.so.1.13.9} +0 -0
  571. {casadi-3.6.3.dist-info → casadi-3.6.5.dist-info}/WHEEL +0 -0
@@ -0,0 +1,585 @@
1
+
2
+ /* $Id$ */
3
+ // Copyright (C) 2002, International Business Machines
4
+ // Corporation and others. All Rights Reserved.
5
+ // This code is licensed under the terms of the Eclipse Public License (EPL).
6
+
7
+ #ifdef USE_CBCCONFIG
8
+ #include "CbcConfig.h"
9
+ #else
10
+ #include "ClpConfig.h"
11
+ #endif
12
+
13
+ #ifndef CbcOrClpParam_H
14
+ #define CbcOrClpParam_H
15
+ /**
16
+ This has parameter handling stuff which can be shared between Cbc and Clp (and Dylp etc).
17
+
18
+ This (and .cpp) should be copied so that it is the same in Cbc/Test and Clp/Test.
19
+ I know this is not elegant but it seems simplest.
20
+
21
+ It uses COIN_HAS_CBC for parameters wanted by CBC
22
+ It uses COIN_HAS_CLP for parameters wanted by CLP (or CBC using CLP)
23
+ It could use COIN_HAS_DYLP for parameters wanted by DYLP
24
+ It could use COIN_HAS_DYLP_OR_CLP for parameters wanted by DYLP or CLP etc etc
25
+
26
+ */
27
+ class OsiSolverInterface;
28
+ class CbcModel;
29
+ class ClpSimplex;
30
+ /*! \brief Parameter codes
31
+
32
+ Parameter type ranges are allocated as follows
33
+ <ul>
34
+ <li> 1 -- 100 double parameters
35
+ <li> 101 -- 200 integer parameters
36
+ <li> 201 -- 300 Clp string parameters
37
+ <li> 301 -- 400 Cbc string parameters
38
+ <li> 401 -- 500 (mostly) Clp actions
39
+ <li> 501 -- 600 (mostly) Cbc actions
40
+ </ul>
41
+
42
+ `Actions' do not necessarily invoke an immediate action; it's just that they
43
+ don't fit neatly into the parameters array.
44
+
45
+ This coding scheme is in flux.
46
+ */
47
+
48
+ enum CbcOrClpParameterType
49
+
50
+ {
51
+ CBC_PARAM_GENERALQUERY = -100,
52
+ CBC_PARAM_FULLGENERALQUERY,
53
+
54
+ CLP_PARAM_DBL_PRIMALTOLERANCE = 1,
55
+ CLP_PARAM_DBL_DUALTOLERANCE,
56
+ CLP_PARAM_DBL_TIMELIMIT,
57
+ CLP_PARAM_DBL_DUALBOUND,
58
+ CLP_PARAM_DBL_PRIMALWEIGHT,
59
+ CLP_PARAM_DBL_OBJSCALE,
60
+ CLP_PARAM_DBL_RHSSCALE,
61
+ CLP_PARAM_DBL_ZEROTOLERANCE,
62
+ CLP_PARAM_DBL_PSI,
63
+
64
+ CBC_PARAM_DBL_INFEASIBILITYWEIGHT = 51,
65
+ CBC_PARAM_DBL_CUTOFF,
66
+ CBC_PARAM_DBL_INTEGERTOLERANCE,
67
+ CBC_PARAM_DBL_INCREMENT,
68
+ CBC_PARAM_DBL_ALLOWABLEGAP,
69
+ CBC_PARAM_DBL_TIMELIMIT_BAB,
70
+ CBC_PARAM_DBL_GAPRATIO,
71
+
72
+ CBC_PARAM_DBL_DJFIX = 81,
73
+ CBC_PARAM_DBL_TIGHTENFACTOR,
74
+ CLP_PARAM_DBL_PRESOLVETOLERANCE,
75
+ CLP_PARAM_DBL_OBJSCALE2,
76
+ CBC_PARAM_DBL_FAKEINCREMENT,
77
+ CBC_PARAM_DBL_FAKECUTOFF,
78
+ CBC_PARAM_DBL_ARTIFICIALCOST,
79
+ CBC_PARAM_DBL_DEXTRA3,
80
+ CBC_PARAM_DBL_SMALLBAB,
81
+ CBC_PARAM_DBL_DEXTRA4,
82
+ CBC_PARAM_DBL_DEXTRA5,
83
+
84
+ CLP_PARAM_INT_SOLVERLOGLEVEL = 101,
85
+ #ifndef COIN_HAS_CBC
86
+ CLP_PARAM_INT_LOGLEVEL = 101,
87
+ #endif
88
+ CLP_PARAM_INT_MAXFACTOR,
89
+ CLP_PARAM_INT_PERTVALUE,
90
+ CLP_PARAM_INT_MAXITERATION,
91
+ CLP_PARAM_INT_PRESOLVEPASS,
92
+ CLP_PARAM_INT_IDIOT,
93
+ CLP_PARAM_INT_SPRINT,
94
+ CLP_PARAM_INT_OUTPUTFORMAT,
95
+ CLP_PARAM_INT_SLPVALUE,
96
+ CLP_PARAM_INT_PRESOLVEOPTIONS,
97
+ CLP_PARAM_INT_PRINTOPTIONS,
98
+ CLP_PARAM_INT_SPECIALOPTIONS,
99
+ CLP_PARAM_INT_SUBSTITUTION,
100
+ CLP_PARAM_INT_DUALIZE,
101
+ CLP_PARAM_INT_VERBOSE,
102
+ CLP_PARAM_INT_CPP,
103
+ CLP_PARAM_INT_PROCESSTUNE,
104
+ CLP_PARAM_INT_USESOLUTION,
105
+ CLP_PARAM_INT_RANDOMSEED,
106
+ CLP_PARAM_INT_MORESPECIALOPTIONS,
107
+ CLP_PARAM_INT_DECOMPOSE_BLOCKS,
108
+ CLP_PARAM_INT_VECTOR_MODE,
109
+
110
+ CBC_PARAM_INT_STRONGBRANCHING = 151,
111
+ CBC_PARAM_INT_CUTDEPTH,
112
+ CBC_PARAM_INT_MAXNODES,
113
+ CBC_PARAM_INT_NUMBERBEFORE,
114
+ CBC_PARAM_INT_NUMBERANALYZE,
115
+ CBC_PARAM_INT_MIPOPTIONS,
116
+ CBC_PARAM_INT_MOREMIPOPTIONS,
117
+ CBC_PARAM_INT_MAXHOTITS,
118
+ CBC_PARAM_INT_FPUMPITS,
119
+ CBC_PARAM_INT_MAXSOLS,
120
+ CBC_PARAM_INT_FPUMPTUNE,
121
+ CBC_PARAM_INT_TESTOSI,
122
+ CBC_PARAM_INT_EXTRA1,
123
+ CBC_PARAM_INT_EXTRA2,
124
+ CBC_PARAM_INT_EXTRA3,
125
+ CBC_PARAM_INT_EXTRA4,
126
+ CBC_PARAM_INT_DEPTHMINIBAB,
127
+ CBC_PARAM_INT_CUTPASSINTREE,
128
+ CBC_PARAM_INT_THREADS,
129
+ CBC_PARAM_INT_CUTPASS,
130
+ CBC_PARAM_INT_VUBTRY,
131
+ CBC_PARAM_INT_DENSE,
132
+ CBC_PARAM_INT_EXPERIMENT,
133
+ CBC_PARAM_INT_DIVEOPT,
134
+ CBC_PARAM_INT_DIVEOPTSOLVES,
135
+ CBC_PARAM_INT_STRATEGY,
136
+ CBC_PARAM_INT_SMALLFACT,
137
+ CBC_PARAM_INT_HOPTIONS,
138
+ CBC_PARAM_INT_CUTLENGTH,
139
+ CBC_PARAM_INT_FPUMPTUNE2,
140
+ #ifdef COIN_HAS_CBC
141
+ CLP_PARAM_INT_LOGLEVEL,
142
+ #endif
143
+ CBC_PARAM_INT_MAXSAVEDSOLS,
144
+ CBC_PARAM_INT_RANDOMSEED,
145
+ CBC_PARAM_INT_MULTIPLEROOTS,
146
+ CBC_PARAM_INT_STRONG_STRATEGY,
147
+ CBC_PARAM_INT_EXTRA_VARIABLES,
148
+ CBC_PARAM_INT_MAX_SLOW_CUTS,
149
+ CBC_PARAM_INT_MOREMOREMIPOPTIONS,
150
+
151
+ CLP_PARAM_STR_DIRECTION = 201,
152
+ CLP_PARAM_STR_DUALPIVOT,
153
+ CLP_PARAM_STR_SCALING,
154
+ CLP_PARAM_STR_ERRORSALLOWED,
155
+ CLP_PARAM_STR_KEEPNAMES,
156
+ CLP_PARAM_STR_SPARSEFACTOR,
157
+ CLP_PARAM_STR_PRIMALPIVOT,
158
+ CLP_PARAM_STR_PRESOLVE,
159
+ CLP_PARAM_STR_CRASH,
160
+ CLP_PARAM_STR_BIASLU,
161
+ CLP_PARAM_STR_PERTURBATION,
162
+ CLP_PARAM_STR_MESSAGES,
163
+ CLP_PARAM_STR_AUTOSCALE,
164
+ CLP_PARAM_STR_CHOLESKY,
165
+ CLP_PARAM_STR_KKT,
166
+ CLP_PARAM_STR_BARRIERSCALE,
167
+ CLP_PARAM_STR_GAMMA,
168
+ CLP_PARAM_STR_CROSSOVER,
169
+ CLP_PARAM_STR_PFI,
170
+ CLP_PARAM_STR_INTPRINT,
171
+ CLP_PARAM_STR_VECTOR,
172
+ CLP_PARAM_STR_FACTORIZATION,
173
+ CLP_PARAM_STR_ALLCOMMANDS,
174
+ CLP_PARAM_STR_TIME_MODE,
175
+ CLP_PARAM_STR_ABCWANTED,
176
+ CLP_PARAM_STR_BUFFER_MODE,
177
+
178
+ CBC_PARAM_STR_NODESTRATEGY = 301,
179
+ CBC_PARAM_STR_BRANCHSTRATEGY,
180
+ CBC_PARAM_STR_CUTSSTRATEGY,
181
+ CBC_PARAM_STR_HEURISTICSTRATEGY,
182
+ CBC_PARAM_STR_GOMORYCUTS,
183
+ CBC_PARAM_STR_PROBINGCUTS,
184
+ CBC_PARAM_STR_KNAPSACKCUTS,
185
+ CBC_PARAM_STR_REDSPLITCUTS,
186
+ CBC_PARAM_STR_ROUNDING,
187
+ CBC_PARAM_STR_SOLVER,
188
+ CBC_PARAM_STR_CLIQUECUTS,
189
+ CBC_PARAM_STR_COSTSTRATEGY,
190
+ CBC_PARAM_STR_FLOWCUTS,
191
+ CBC_PARAM_STR_MIXEDCUTS,
192
+ CBC_PARAM_STR_TWOMIRCUTS,
193
+ CBC_PARAM_STR_PREPROCESS,
194
+ CBC_PARAM_STR_FPUMP,
195
+ CBC_PARAM_STR_GREEDY,
196
+ CBC_PARAM_STR_COMBINE,
197
+ CBC_PARAM_STR_PROXIMITY,
198
+ CBC_PARAM_STR_LOCALTREE,
199
+ CBC_PARAM_STR_SOS,
200
+ CBC_PARAM_STR_LANDPCUTS,
201
+ CBC_PARAM_STR_RINS,
202
+ CBC_PARAM_STR_RESIDCUTS,
203
+ CBC_PARAM_STR_RENS,
204
+ CBC_PARAM_STR_DIVINGS,
205
+ CBC_PARAM_STR_DIVINGC,
206
+ CBC_PARAM_STR_DIVINGF,
207
+ CBC_PARAM_STR_DIVINGG,
208
+ CBC_PARAM_STR_DIVINGL,
209
+ CBC_PARAM_STR_DIVINGP,
210
+ CBC_PARAM_STR_DIVINGV,
211
+ CBC_PARAM_STR_DINS,
212
+ CBC_PARAM_STR_PIVOTANDFIX,
213
+ CBC_PARAM_STR_RANDROUND,
214
+ CBC_PARAM_STR_NAIVE,
215
+ CBC_PARAM_STR_ZEROHALFCUTS,
216
+ CBC_PARAM_STR_CPX,
217
+ CBC_PARAM_STR_CROSSOVER2,
218
+ CBC_PARAM_STR_PIVOTANDCOMPLEMENT,
219
+ CBC_PARAM_STR_VND,
220
+ CBC_PARAM_STR_LAGOMORYCUTS,
221
+ CBC_PARAM_STR_LATWOMIRCUTS,
222
+ CBC_PARAM_STR_REDSPLIT2CUTS,
223
+ CBC_PARAM_STR_GMICUTS,
224
+ CBC_PARAM_STR_CUTOFF_CONSTRAINT,
225
+ CBC_PARAM_STR_DW,
226
+ CBC_PARAM_STR_ORBITAL,
227
+ CBC_PARAM_STR_PREPROCNAMES,
228
+ CBC_PARAM_STR_SOSPRIORITIZE,
229
+
230
+ CLP_PARAM_ACTION_DIRECTORY = 401,
231
+ CLP_PARAM_ACTION_DIRSAMPLE,
232
+ CLP_PARAM_ACTION_DIRNETLIB,
233
+ CBC_PARAM_ACTION_DIRMIPLIB,
234
+ CLP_PARAM_ACTION_IMPORT,
235
+ CLP_PARAM_ACTION_EXPORT,
236
+ CLP_PARAM_ACTION_RESTORE,
237
+ CLP_PARAM_ACTION_SAVE,
238
+ CLP_PARAM_ACTION_DUALSIMPLEX,
239
+ CLP_PARAM_ACTION_PRIMALSIMPLEX,
240
+ CLP_PARAM_ACTION_EITHERSIMPLEX,
241
+ CLP_PARAM_ACTION_MAXIMIZE,
242
+ CLP_PARAM_ACTION_MINIMIZE,
243
+ CLP_PARAM_ACTION_EXIT,
244
+ CLP_PARAM_ACTION_STDIN,
245
+ CLP_PARAM_ACTION_UNITTEST,
246
+ CLP_PARAM_ACTION_NETLIB_EITHER,
247
+ CLP_PARAM_ACTION_NETLIB_DUAL,
248
+ CLP_PARAM_ACTION_NETLIB_PRIMAL,
249
+ CLP_PARAM_ACTION_SOLUTION,
250
+ CLP_PARAM_ACTION_SAVESOL,
251
+ CLP_PARAM_ACTION_TIGHTEN,
252
+ CLP_PARAM_ACTION_FAKEBOUND,
253
+ CLP_PARAM_ACTION_HELP,
254
+ CLP_PARAM_ACTION_PLUSMINUS,
255
+ CLP_PARAM_ACTION_NETWORK,
256
+ CLP_PARAM_ACTION_ALLSLACK,
257
+ CLP_PARAM_ACTION_REVERSE,
258
+ CLP_PARAM_ACTION_BARRIER,
259
+ CLP_PARAM_ACTION_NETLIB_BARRIER,
260
+ CLP_PARAM_ACTION_NETLIB_TUNE,
261
+ CLP_PARAM_ACTION_REALLY_SCALE,
262
+ CLP_PARAM_ACTION_BASISIN,
263
+ CLP_PARAM_ACTION_BASISOUT,
264
+ CLP_PARAM_ACTION_SOLVECONTINUOUS,
265
+ CLP_PARAM_ACTION_CLEARCUTS,
266
+ CLP_PARAM_ACTION_VERSION,
267
+ CLP_PARAM_ACTION_STATISTICS,
268
+ CLP_PARAM_ACTION_DEBUG,
269
+ CLP_PARAM_ACTION_DUMMY,
270
+ CLP_PARAM_ACTION_PRINTMASK,
271
+ CLP_PARAM_ACTION_OUTDUPROWS,
272
+ CLP_PARAM_ACTION_USERCLP,
273
+ CLP_PARAM_ACTION_MODELIN,
274
+ CLP_PARAM_ACTION_CSVSTATISTICS,
275
+ CLP_PARAM_ACTION_STOREDFILE,
276
+ CLP_PARAM_ACTION_ENVIRONMENT,
277
+ CLP_PARAM_ACTION_PARAMETRICS,
278
+ CLP_PARAM_ACTION_GMPL_SOLUTION,
279
+ CLP_PARAM_ACTION_RESTORESOL,
280
+ CLP_PARAM_ACTION_GUESS,
281
+
282
+ CBC_PARAM_ACTION_BAB = 501,
283
+ CBC_PARAM_ACTION_MIPLIB,
284
+ CBC_PARAM_ACTION_STRENGTHEN,
285
+ CBC_PARAM_ACTION_PRIORITYIN,
286
+ CBC_PARAM_ACTION_MIPSTART,
287
+ CBC_PARAM_ACTION_USERCBC,
288
+ CBC_PARAM_ACTION_DOHEURISTIC,
289
+ CLP_PARAM_ACTION_NEXTBESTSOLUTION,
290
+
291
+ CBC_PARAM_NOTUSED_OSLSTUFF = 601,
292
+ CBC_PARAM_NOTUSED_CBCSTUFF,
293
+
294
+ CBC_PARAM_NOTUSED_INVALID = 1000
295
+ };
296
+ #include <vector>
297
+ #include <string>
298
+
299
+ /// Very simple class for setting parameters
300
+
301
+ class CbcOrClpParam {
302
+ public:
303
+ /**@name Constructor and destructor */
304
+ //@{
305
+ /// Constructors
306
+ CbcOrClpParam();
307
+ CbcOrClpParam(std::string name, std::string help,
308
+ double lower, double upper, CbcOrClpParameterType type, int display = 2);
309
+ CbcOrClpParam(std::string name, std::string help,
310
+ int lower, int upper, CbcOrClpParameterType type, int display = 2);
311
+ // Other strings will be added by insert
312
+ CbcOrClpParam(std::string name, std::string help, std::string firstValue,
313
+ CbcOrClpParameterType type, int whereUsed = 7, int display = 2);
314
+ // Action
315
+ CbcOrClpParam(std::string name, std::string help,
316
+ CbcOrClpParameterType type, int whereUsed = 7, int display = 2);
317
+ /// Copy constructor.
318
+ CbcOrClpParam(const CbcOrClpParam &);
319
+ /// Assignment operator. This copies the data
320
+ CbcOrClpParam &operator=(const CbcOrClpParam &rhs);
321
+ /// Destructor
322
+ ~CbcOrClpParam();
323
+ //@}
324
+
325
+ /**@name stuff */
326
+ //@{
327
+ /// Insert string (only valid for keywords)
328
+ void append(std::string keyWord);
329
+ /// Adds one help line
330
+ void addHelp(std::string keyWord);
331
+ /// Returns name
332
+ inline std::string name() const
333
+ {
334
+ return name_;
335
+ }
336
+ /// Returns short help
337
+ inline std::string shortHelp() const
338
+ {
339
+ return shortHelp_;
340
+ }
341
+ /// Returns long help
342
+ inline std::string longHelp() const
343
+ {
344
+ return longHelp_;
345
+ }
346
+ /// Returns set of valid strings
347
+ inline const std::vector<std::string>& definedKeywords() const
348
+ {
349
+ return definedKeyWords_;
350
+ }
351
+ /// Returns the lower bound for a double-valued parameter
352
+ inline double lowerDoubleValue() const
353
+ {
354
+ return lowerDoubleValue_;
355
+ }
356
+ /// Returns the upper bound for a double-valued parameter
357
+ inline double upperDoubleValue() const
358
+ {
359
+ return upperDoubleValue_;
360
+ }
361
+ /// Returns the lower bound for an int-valued parameter
362
+ inline int lowerIntValue() const
363
+ {
364
+ return lowerIntValue_;
365
+ }
366
+ /// Returns the upper bound for an int-valued parameter
367
+ inline int upperIntValue() const
368
+ {
369
+ return upperIntValue_;
370
+ }
371
+ /// Sets a double parameter (nonzero code if error)
372
+ int setDoubleParameter(CbcModel &model, double value);
373
+ /// Sets double parameter and returns printable string and error code
374
+ const char *setDoubleParameterWithMessage(CbcModel &model, double value, int &returnCode);
375
+ /// Gets a double parameter
376
+ double doubleParameter(CbcModel &model) const;
377
+ /// Sets a int parameter (nonzero code if error)
378
+ int setIntParameter(CbcModel &model, int value);
379
+ /// Sets int parameter and returns printable string and error code
380
+ const char *setIntParameterWithMessage(CbcModel &model, int value, int &returnCode);
381
+ /// Gets a int parameter
382
+ int intParameter(CbcModel &model) const;
383
+ /// Sets a double parameter (nonzero code if error)
384
+ int setDoubleParameter(ClpSimplex *model, double value);
385
+ /// Gets a double parameter
386
+ double doubleParameter(ClpSimplex *model) const;
387
+ /// Sets double parameter and returns printable string and error code
388
+ const char *setDoubleParameterWithMessage(ClpSimplex *model, double value, int &returnCode);
389
+ /// Sets a int parameter (nonzero code if error)
390
+ int setIntParameter(ClpSimplex *model, int value);
391
+ /// Sets int parameter and returns printable string and error code
392
+ const char *setIntParameterWithMessage(ClpSimplex *model, int value, int &returnCode);
393
+ /// Gets a int parameter
394
+ int intParameter(ClpSimplex *model) const;
395
+ /// Sets a double parameter (nonzero code if error)
396
+ int setDoubleParameter(OsiSolverInterface *model, double value);
397
+ /// Sets double parameter and returns printable string and error code
398
+ const char *setDoubleParameterWithMessage(OsiSolverInterface *model, double value, int &returnCode);
399
+ /// Gets a double parameter
400
+ double doubleParameter(OsiSolverInterface *model) const;
401
+ /// Sets a int parameter (nonzero code if error)
402
+ int setIntParameter(OsiSolverInterface *model, int value);
403
+ /// Sets int parameter and returns printable string and error code
404
+ const char *setIntParameterWithMessage(OsiSolverInterface *model, int value, int &returnCode);
405
+ /// Gets a int parameter
406
+ int intParameter(OsiSolverInterface *model) const;
407
+ /// Checks a double parameter (nonzero code if error)
408
+ int checkDoubleParameter(double value) const;
409
+ /// Returns name which could match
410
+ std::string matchName() const;
411
+ /// Returns length of name for ptinting
412
+ int lengthMatchName() const;
413
+ /// Returns parameter option which matches (-1 if none)
414
+ int parameterOption(std::string check) const;
415
+ /// Prints parameter options
416
+ void printOptions() const;
417
+ /// Returns current parameter option
418
+ inline std::string currentOption() const
419
+ {
420
+ return definedKeyWords_[currentKeyWord_];
421
+ }
422
+ /// Sets current parameter option
423
+ void setCurrentOption(int value, bool printIt = false);
424
+ /// Sets current parameter option and returns printable string
425
+ const char *setCurrentOptionWithMessage(int value);
426
+ /// Sets current parameter option using string
427
+ void setCurrentOption(const std::string value);
428
+ /// Sets current parameter option using string with message
429
+ const char *setCurrentOptionWithMessage(const std::string value);
430
+ /// Returns current parameter option position
431
+ int currentOptionAsInteger() const;
432
+ /** Returns current parameter option position
433
+ but if fake keyword returns a fake value and sets
434
+ fakeInteger to true value. If not fake then fakeInteger is -COIN_INT_MAX
435
+ */
436
+ int currentOptionAsInteger(int &fakeInteger) const;
437
+ /// Sets int value
438
+ void setIntValue(int value);
439
+ /// Sets int value with message
440
+ const char *setIntValueWithMessage(int value);
441
+ inline int intValue() const
442
+ {
443
+ return intValue_;
444
+ }
445
+ /// Sets double value
446
+ void setDoubleValue(double value);
447
+ /// Sets double value with message
448
+ const char *setDoubleValueWithMessage(double value);
449
+ inline double doubleValue() const
450
+ {
451
+ return doubleValue_;
452
+ }
453
+ /// Sets string value
454
+ void setStringValue(std::string value);
455
+ inline std::string stringValue() const
456
+ {
457
+ return stringValue_;
458
+ }
459
+ /// Returns 1 if matches minimum, 2 if matches less, 0 if not matched
460
+ int matches(std::string input) const;
461
+ /// type
462
+ inline CbcOrClpParameterType type() const
463
+ {
464
+ return type_;
465
+ }
466
+ /// whether to display
467
+ inline int displayThis() const
468
+ {
469
+ return display_;
470
+ }
471
+ /// Set Long help
472
+ inline void setLonghelp(const std::string help)
473
+ {
474
+ longHelp_ = help;
475
+ }
476
+ /// Print Long help
477
+ void printLongHelp() const;
478
+ /// Print action and string
479
+ void printString() const;
480
+ /** 7 if used everywhere,
481
+ 1 - used by clp
482
+ 2 - used by cbc
483
+ 4 - used by ampl
484
+ */
485
+ inline int whereUsed() const
486
+ {
487
+ return whereUsed_;
488
+ }
489
+ /// Gets value of fake keyword
490
+ inline int fakeKeyWord() const
491
+ {
492
+ return fakeKeyWord_;
493
+ }
494
+ /// Sets value of fake keyword
495
+ inline void setFakeKeyWord(int value, int fakeValue)
496
+ {
497
+ fakeKeyWord_ = value;
498
+ fakeValue_ = fakeValue;
499
+ }
500
+ /// Sets value of fake keyword to current size of keywords
501
+ void setFakeKeyWord(int fakeValue);
502
+
503
+ private:
504
+ /// gutsOfConstructor
505
+ void gutsOfConstructor();
506
+ //@}
507
+ ////////////////// data //////////////////
508
+ private:
509
+ /**@name data
510
+ We might as well throw all type data in - could derive?
511
+ */
512
+ //@{
513
+ // Type see CbcOrClpParameterType
514
+ CbcOrClpParameterType type_;
515
+ /// If double == okay
516
+ double lowerDoubleValue_;
517
+ double upperDoubleValue_;
518
+ /// If int == okay
519
+ int lowerIntValue_;
520
+ int upperIntValue_;
521
+ // Length of name
522
+ unsigned int lengthName_;
523
+ // Minimum match
524
+ unsigned int lengthMatch_;
525
+ /// set of valid strings
526
+ std::vector< std::string > definedKeyWords_;
527
+ /// Name
528
+ std::string name_;
529
+ /// Short help
530
+ std::string shortHelp_;
531
+ /// Long help
532
+ std::string longHelp_;
533
+ /// Action
534
+ CbcOrClpParameterType action_;
535
+ /// Current keyWord (if a keyword parameter)
536
+ int currentKeyWord_;
537
+ /// Display on ?
538
+ int display_;
539
+ /// Integer parameter - current value
540
+ int intValue_;
541
+ /// Double parameter - current value
542
+ double doubleValue_;
543
+ /// String parameter - current value
544
+ std::string stringValue_;
545
+ /** 7 if used everywhere,
546
+ 1 - used by clp
547
+ 2 - used by cbc
548
+ 4 - used by ampl
549
+ */
550
+ int whereUsed_;
551
+ /** If >=0 then integers allowed as a fake keyword
552
+ So minusnnnn would got to -nnnn in currentKeyword_
553
+ and plusnnnn would go to fakeKeyword_+nnnn
554
+ */
555
+ int fakeKeyWord_;
556
+ /// Return this as main value if an integer
557
+ int fakeValue_;
558
+ //@}
559
+ };
560
+ /// Simple read stuff
561
+ std::string CoinReadNextField();
562
+
563
+ std::string CoinReadGetCommand(int argc, const char *argv[]);
564
+ std::string CoinReadGetString(int argc, const char *argv[]);
565
+ // valid 0 - okay, 1 bad, 2 not there
566
+ int CoinReadGetIntField(int argc, const char *argv[], int *valid);
567
+ double CoinReadGetDoubleField(int argc, const char *argv[], int *valid);
568
+ void CoinReadPrintit(const char *input);
569
+ void setCbcOrClpPrinting(bool yesNo);
570
+ #define CBCMAXPARAMETERS 250
571
+ /*
572
+ Subroutine to establish the cbc parameter array. See the description of
573
+ class CbcOrClpParam for details. Pulled from C..Main() for clarity.
574
+ */
575
+ void establishParams(std::vector< CbcOrClpParam > &params);
576
+ // Given a parameter type - returns its number in list
577
+ int whichParam(const CbcOrClpParameterType &name,
578
+ const std::vector< CbcOrClpParam > &parameters);
579
+ // Dump/restore a solution to file
580
+ void saveSolution(const ClpSimplex *lpSolver, std::string fileName);
581
+ void restoreSolution(ClpSimplex *lpSolver, std::string fileName, int mode);
582
+ #endif /* CbcOrClpParam_H */
583
+
584
+ /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
585
+ */