ruby-cbc 0.1.9

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 (303) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/Gemfile +4 -0
  6. data/README.md +203 -0
  7. data/Rakefile +40 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +7 -0
  10. data/ext/ruby-cbc/cbc.i +15 -0
  11. data/ext/ruby-cbc/cbc_wrap.c +4618 -0
  12. data/ext/ruby-cbc/extconf.rb +60 -0
  13. data/ext/ruby-cbc/install/bin/cbc +0 -0
  14. data/ext/ruby-cbc/install/bin/clp +0 -0
  15. data/ext/ruby-cbc/install/include/coin/CbcBranchActual.hpp +24 -0
  16. data/ext/ruby-cbc/install/include/coin/CbcBranchAllDifferent.hpp +62 -0
  17. data/ext/ruby-cbc/install/include/coin/CbcBranchBase.hpp +78 -0
  18. data/ext/ruby-cbc/install/include/coin/CbcBranchCut.hpp +183 -0
  19. data/ext/ruby-cbc/install/include/coin/CbcBranchDecision.hpp +129 -0
  20. data/ext/ruby-cbc/install/include/coin/CbcBranchDefaultDecision.hpp +100 -0
  21. data/ext/ruby-cbc/install/include/coin/CbcBranchDynamic.hpp +206 -0
  22. data/ext/ruby-cbc/install/include/coin/CbcBranchLotsize.hpp +242 -0
  23. data/ext/ruby-cbc/install/include/coin/CbcBranchToFixLots.hpp +94 -0
  24. data/ext/ruby-cbc/install/include/coin/CbcBranchingObject.hpp +236 -0
  25. data/ext/ruby-cbc/install/include/coin/CbcClique.hpp +303 -0
  26. data/ext/ruby-cbc/install/include/coin/CbcCompare.hpp +39 -0
  27. data/ext/ruby-cbc/install/include/coin/CbcCompareActual.hpp +14 -0
  28. data/ext/ruby-cbc/install/include/coin/CbcCompareBase.hpp +142 -0
  29. data/ext/ruby-cbc/install/include/coin/CbcCompareDefault.hpp +120 -0
  30. data/ext/ruby-cbc/install/include/coin/CbcCompareDepth.hpp +47 -0
  31. data/ext/ruby-cbc/install/include/coin/CbcCompareEstimate.hpp +48 -0
  32. data/ext/ruby-cbc/install/include/coin/CbcCompareObjective.hpp +49 -0
  33. data/ext/ruby-cbc/install/include/coin/CbcConfig.h +14 -0
  34. data/ext/ruby-cbc/install/include/coin/CbcConsequence.hpp +49 -0
  35. data/ext/ruby-cbc/install/include/coin/CbcCountRowCut.hpp +168 -0
  36. data/ext/ruby-cbc/install/include/coin/CbcCutGenerator.hpp +482 -0
  37. data/ext/ruby-cbc/install/include/coin/CbcCutModifier.hpp +57 -0
  38. data/ext/ruby-cbc/install/include/coin/CbcCutSubsetModifier.hpp +66 -0
  39. data/ext/ruby-cbc/install/include/coin/CbcDummyBranchingObject.hpp +83 -0
  40. data/ext/ruby-cbc/install/include/coin/CbcEventHandler.hpp +245 -0
  41. data/ext/ruby-cbc/install/include/coin/CbcFathom.hpp +137 -0
  42. data/ext/ruby-cbc/install/include/coin/CbcFathomDynamicProgramming.hpp +169 -0
  43. data/ext/ruby-cbc/install/include/coin/CbcFeasibilityBase.hpp +56 -0
  44. data/ext/ruby-cbc/install/include/coin/CbcFixVariable.hpp +67 -0
  45. data/ext/ruby-cbc/install/include/coin/CbcFollowOn.hpp +207 -0
  46. data/ext/ruby-cbc/install/include/coin/CbcFullNodeInfo.hpp +161 -0
  47. data/ext/ruby-cbc/install/include/coin/CbcGeneral.hpp +60 -0
  48. data/ext/ruby-cbc/install/include/coin/CbcGeneralDepth.hpp +279 -0
  49. data/ext/ruby-cbc/install/include/coin/CbcHeuristic.hpp +682 -0
  50. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDINS.hpp +96 -0
  51. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDW.hpp +309 -0
  52. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDive.hpp +192 -0
  53. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveCoefficient.hpp +52 -0
  54. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveFractional.hpp +52 -0
  55. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveGuided.hpp +55 -0
  56. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveLineSearch.hpp +52 -0
  57. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDivePseudoCost.hpp +60 -0
  58. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveVectorLength.hpp +52 -0
  59. data/ext/ruby-cbc/install/include/coin/CbcHeuristicFPump.hpp +340 -0
  60. data/ext/ruby-cbc/install/include/coin/CbcHeuristicGreedy.hpp +280 -0
  61. data/ext/ruby-cbc/install/include/coin/CbcHeuristicLocal.hpp +271 -0
  62. data/ext/ruby-cbc/install/include/coin/CbcHeuristicPivotAndFix.hpp +58 -0
  63. data/ext/ruby-cbc/install/include/coin/CbcHeuristicRENS.hpp +77 -0
  64. data/ext/ruby-cbc/install/include/coin/CbcHeuristicRINS.hpp +102 -0
  65. data/ext/ruby-cbc/install/include/coin/CbcHeuristicRandRound.hpp +58 -0
  66. data/ext/ruby-cbc/install/include/coin/CbcHeuristicVND.hpp +94 -0
  67. data/ext/ruby-cbc/install/include/coin/CbcLinked.hpp +1406 -0
  68. data/ext/ruby-cbc/install/include/coin/CbcMessage.hpp +94 -0
  69. data/ext/ruby-cbc/install/include/coin/CbcMipStartIO.hpp +26 -0
  70. data/ext/ruby-cbc/install/include/coin/CbcModel.hpp +2952 -0
  71. data/ext/ruby-cbc/install/include/coin/CbcNWay.hpp +166 -0
  72. data/ext/ruby-cbc/install/include/coin/CbcNode.hpp +351 -0
  73. data/ext/ruby-cbc/install/include/coin/CbcNodeInfo.hpp +349 -0
  74. data/ext/ruby-cbc/install/include/coin/CbcObject.hpp +272 -0
  75. data/ext/ruby-cbc/install/include/coin/CbcObjectUpdateData.hpp +64 -0
  76. data/ext/ruby-cbc/install/include/coin/CbcOrClpParam.cpp +4134 -0
  77. data/ext/ruby-cbc/install/include/coin/CbcOrClpParam.hpp +532 -0
  78. data/ext/ruby-cbc/install/include/coin/CbcParam.hpp +324 -0
  79. data/ext/ruby-cbc/install/include/coin/CbcPartialNodeInfo.hpp +110 -0
  80. data/ext/ruby-cbc/install/include/coin/CbcSOS.hpp +279 -0
  81. data/ext/ruby-cbc/install/include/coin/CbcSimpleInteger.hpp +286 -0
  82. data/ext/ruby-cbc/install/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +564 -0
  83. data/ext/ruby-cbc/install/include/coin/CbcSimpleIntegerPseudoCost.hpp +114 -0
  84. data/ext/ruby-cbc/install/include/coin/CbcSolver.hpp +447 -0
  85. data/ext/ruby-cbc/install/include/coin/CbcStrategy.hpp +258 -0
  86. data/ext/ruby-cbc/install/include/coin/CbcSubProblem.hpp +83 -0
  87. data/ext/ruby-cbc/install/include/coin/CbcTree.hpp +490 -0
  88. data/ext/ruby-cbc/install/include/coin/CbcTreeLocal.hpp +372 -0
  89. data/ext/ruby-cbc/install/include/coin/Cbc_C_Interface.h +381 -0
  90. data/ext/ruby-cbc/install/include/coin/Cgl012cut.hpp +464 -0
  91. data/ext/ruby-cbc/install/include/coin/CglAllDifferent.hpp +115 -0
  92. data/ext/ruby-cbc/install/include/coin/CglClique.hpp +308 -0
  93. data/ext/ruby-cbc/install/include/coin/CglConfig.h +19 -0
  94. data/ext/ruby-cbc/install/include/coin/CglCutGenerator.hpp +121 -0
  95. data/ext/ruby-cbc/install/include/coin/CglDuplicateRow.hpp +189 -0
  96. data/ext/ruby-cbc/install/include/coin/CglFlowCover.hpp +371 -0
  97. data/ext/ruby-cbc/install/include/coin/CglGMI.hpp +364 -0
  98. data/ext/ruby-cbc/install/include/coin/CglGMIParam.hpp +313 -0
  99. data/ext/ruby-cbc/install/include/coin/CglGomory.hpp +204 -0
  100. data/ext/ruby-cbc/install/include/coin/CglKnapsackCover.hpp +310 -0
  101. data/ext/ruby-cbc/install/include/coin/CglLandP.hpp +306 -0
  102. data/ext/ruby-cbc/install/include/coin/CglLandPValidator.hpp +130 -0
  103. data/ext/ruby-cbc/install/include/coin/CglLiftAndProject.hpp +104 -0
  104. data/ext/ruby-cbc/install/include/coin/CglMessage.hpp +50 -0
  105. data/ext/ruby-cbc/install/include/coin/CglMixedIntegerRounding.hpp +429 -0
  106. data/ext/ruby-cbc/install/include/coin/CglMixedIntegerRounding2.hpp +427 -0
  107. data/ext/ruby-cbc/install/include/coin/CglOddHole.hpp +160 -0
  108. data/ext/ruby-cbc/install/include/coin/CglParam.hpp +93 -0
  109. data/ext/ruby-cbc/install/include/coin/CglPreProcess.hpp +492 -0
  110. data/ext/ruby-cbc/install/include/coin/CglProbing.hpp +543 -0
  111. data/ext/ruby-cbc/install/include/coin/CglRedSplit.hpp +448 -0
  112. data/ext/ruby-cbc/install/include/coin/CglRedSplit2.hpp +494 -0
  113. data/ext/ruby-cbc/install/include/coin/CglRedSplit2Param.hpp +495 -0
  114. data/ext/ruby-cbc/install/include/coin/CglRedSplitParam.hpp +272 -0
  115. data/ext/ruby-cbc/install/include/coin/CglResidualCapacity.hpp +240 -0
  116. data/ext/ruby-cbc/install/include/coin/CglSimpleRounding.hpp +174 -0
  117. data/ext/ruby-cbc/install/include/coin/CglStored.hpp +125 -0
  118. data/ext/ruby-cbc/install/include/coin/CglTreeInfo.hpp +180 -0
  119. data/ext/ruby-cbc/install/include/coin/CglTwomir.hpp +565 -0
  120. data/ext/ruby-cbc/install/include/coin/CglZeroHalf.hpp +133 -0
  121. data/ext/ruby-cbc/install/include/coin/ClpAmplObjective.hpp +113 -0
  122. data/ext/ruby-cbc/install/include/coin/ClpCholeskyBase.hpp +294 -0
  123. data/ext/ruby-cbc/install/include/coin/ClpCholeskyDense.hpp +162 -0
  124. data/ext/ruby-cbc/install/include/coin/ClpConfig.h +17 -0
  125. data/ext/ruby-cbc/install/include/coin/ClpConstraint.hpp +125 -0
  126. data/ext/ruby-cbc/install/include/coin/ClpConstraintAmpl.hpp +108 -0
  127. data/ext/ruby-cbc/install/include/coin/ClpConstraintLinear.hpp +110 -0
  128. data/ext/ruby-cbc/install/include/coin/ClpConstraintQuadratic.hpp +119 -0
  129. data/ext/ruby-cbc/install/include/coin/ClpDualRowDantzig.hpp +71 -0
  130. data/ext/ruby-cbc/install/include/coin/ClpDualRowPivot.hpp +129 -0
  131. data/ext/ruby-cbc/install/include/coin/ClpDualRowSteepest.hpp +153 -0
  132. data/ext/ruby-cbc/install/include/coin/ClpDummyMatrix.hpp +183 -0
  133. data/ext/ruby-cbc/install/include/coin/ClpDynamicExampleMatrix.hpp +186 -0
  134. data/ext/ruby-cbc/install/include/coin/ClpDynamicMatrix.hpp +381 -0
  135. data/ext/ruby-cbc/install/include/coin/ClpEventHandler.hpp +187 -0
  136. data/ext/ruby-cbc/install/include/coin/ClpFactorization.hpp +432 -0
  137. data/ext/ruby-cbc/install/include/coin/ClpGubDynamicMatrix.hpp +247 -0
  138. data/ext/ruby-cbc/install/include/coin/ClpGubMatrix.hpp +358 -0
  139. data/ext/ruby-cbc/install/include/coin/ClpInterior.hpp +570 -0
  140. data/ext/ruby-cbc/install/include/coin/ClpLinearObjective.hpp +103 -0
  141. data/ext/ruby-cbc/install/include/coin/ClpMatrixBase.hpp +524 -0
  142. data/ext/ruby-cbc/install/include/coin/ClpMessage.hpp +131 -0
  143. data/ext/ruby-cbc/install/include/coin/ClpModel.hpp +1307 -0
  144. data/ext/ruby-cbc/install/include/coin/ClpNetworkMatrix.hpp +229 -0
  145. data/ext/ruby-cbc/install/include/coin/ClpNode.hpp +349 -0
  146. data/ext/ruby-cbc/install/include/coin/ClpNonLinearCost.hpp +401 -0
  147. data/ext/ruby-cbc/install/include/coin/ClpObjective.hpp +134 -0
  148. data/ext/ruby-cbc/install/include/coin/ClpPackedMatrix.hpp +638 -0
  149. data/ext/ruby-cbc/install/include/coin/ClpParameters.hpp +126 -0
  150. data/ext/ruby-cbc/install/include/coin/ClpPdcoBase.hpp +103 -0
  151. data/ext/ruby-cbc/install/include/coin/ClpPlusMinusOneMatrix.hpp +290 -0
  152. data/ext/ruby-cbc/install/include/coin/ClpPresolve.hpp +299 -0
  153. data/ext/ruby-cbc/install/include/coin/ClpPrimalColumnDantzig.hpp +72 -0
  154. data/ext/ruby-cbc/install/include/coin/ClpPrimalColumnPivot.hpp +155 -0
  155. data/ext/ruby-cbc/install/include/coin/ClpPrimalColumnSteepest.hpp +247 -0
  156. data/ext/ruby-cbc/install/include/coin/ClpQuadraticObjective.hpp +155 -0
  157. data/ext/ruby-cbc/install/include/coin/ClpSimplex.hpp +1797 -0
  158. data/ext/ruby-cbc/install/include/coin/ClpSimplexDual.hpp +300 -0
  159. data/ext/ruby-cbc/install/include/coin/ClpSimplexNonlinear.hpp +117 -0
  160. data/ext/ruby-cbc/install/include/coin/ClpSimplexOther.hpp +277 -0
  161. data/ext/ruby-cbc/install/include/coin/ClpSimplexPrimal.hpp +244 -0
  162. data/ext/ruby-cbc/install/include/coin/ClpSolve.hpp +446 -0
  163. data/ext/ruby-cbc/install/include/coin/Clp_C_Interface.h +525 -0
  164. data/ext/ruby-cbc/install/include/coin/CoinAlloc.hpp +176 -0
  165. data/ext/ruby-cbc/install/include/coin/CoinBuild.hpp +149 -0
  166. data/ext/ruby-cbc/install/include/coin/CoinDenseFactorization.hpp +419 -0
  167. data/ext/ruby-cbc/install/include/coin/CoinDenseVector.hpp +383 -0
  168. data/ext/ruby-cbc/install/include/coin/CoinDistance.hpp +48 -0
  169. data/ext/ruby-cbc/install/include/coin/CoinError.hpp +257 -0
  170. data/ext/ruby-cbc/install/include/coin/CoinFactorization.hpp +2044 -0
  171. data/ext/ruby-cbc/install/include/coin/CoinFileIO.hpp +166 -0
  172. data/ext/ruby-cbc/install/include/coin/CoinFinite.hpp +34 -0
  173. data/ext/ruby-cbc/install/include/coin/CoinFloatEqual.hpp +177 -0
  174. data/ext/ruby-cbc/install/include/coin/CoinHelperFunctions.hpp +1111 -0
  175. data/ext/ruby-cbc/install/include/coin/CoinIndexedVector.hpp +1164 -0
  176. data/ext/ruby-cbc/install/include/coin/CoinLpIO.hpp +805 -0
  177. data/ext/ruby-cbc/install/include/coin/CoinMessage.hpp +96 -0
  178. data/ext/ruby-cbc/install/include/coin/CoinMessageHandler.hpp +666 -0
  179. data/ext/ruby-cbc/install/include/coin/CoinModel.hpp +1054 -0
  180. data/ext/ruby-cbc/install/include/coin/CoinModelUseful.hpp +441 -0
  181. data/ext/ruby-cbc/install/include/coin/CoinMpsIO.hpp +1056 -0
  182. data/ext/ruby-cbc/install/include/coin/CoinOslFactorization.hpp +280 -0
  183. data/ext/ruby-cbc/install/include/coin/CoinPackedMatrix.hpp +947 -0
  184. data/ext/ruby-cbc/install/include/coin/CoinPackedVector.hpp +657 -0
  185. data/ext/ruby-cbc/install/include/coin/CoinPackedVectorBase.hpp +269 -0
  186. data/ext/ruby-cbc/install/include/coin/CoinParam.hpp +644 -0
  187. data/ext/ruby-cbc/install/include/coin/CoinPragma.hpp +26 -0
  188. data/ext/ruby-cbc/install/include/coin/CoinPresolveDoubleton.hpp +73 -0
  189. data/ext/ruby-cbc/install/include/coin/CoinPresolveDual.hpp +85 -0
  190. data/ext/ruby-cbc/install/include/coin/CoinPresolveDupcol.hpp +226 -0
  191. data/ext/ruby-cbc/install/include/coin/CoinPresolveEmpty.hpp +116 -0
  192. data/ext/ruby-cbc/install/include/coin/CoinPresolveFixed.hpp +181 -0
  193. data/ext/ruby-cbc/install/include/coin/CoinPresolveForcing.hpp +61 -0
  194. data/ext/ruby-cbc/install/include/coin/CoinPresolveImpliedFree.hpp +60 -0
  195. data/ext/ruby-cbc/install/include/coin/CoinPresolveIsolated.hpp +51 -0
  196. data/ext/ruby-cbc/install/include/coin/CoinPresolveMatrix.hpp +1842 -0
  197. data/ext/ruby-cbc/install/include/coin/CoinPresolveMonitor.hpp +105 -0
  198. data/ext/ruby-cbc/install/include/coin/CoinPresolvePsdebug.hpp +166 -0
  199. data/ext/ruby-cbc/install/include/coin/CoinPresolveSingleton.hpp +112 -0
  200. data/ext/ruby-cbc/install/include/coin/CoinPresolveSubst.hpp +101 -0
  201. data/ext/ruby-cbc/install/include/coin/CoinPresolveTighten.hpp +55 -0
  202. data/ext/ruby-cbc/install/include/coin/CoinPresolveTripleton.hpp +66 -0
  203. data/ext/ruby-cbc/install/include/coin/CoinPresolveUseless.hpp +63 -0
  204. data/ext/ruby-cbc/install/include/coin/CoinPresolveZeros.hpp +60 -0
  205. data/ext/ruby-cbc/install/include/coin/CoinRational.hpp +44 -0
  206. data/ext/ruby-cbc/install/include/coin/CoinSearchTree.hpp +465 -0
  207. data/ext/ruby-cbc/install/include/coin/CoinShallowPackedVector.hpp +148 -0
  208. data/ext/ruby-cbc/install/include/coin/CoinSignal.hpp +117 -0
  209. data/ext/ruby-cbc/install/include/coin/CoinSimpFactorization.hpp +431 -0
  210. data/ext/ruby-cbc/install/include/coin/CoinSmartPtr.hpp +528 -0
  211. data/ext/ruby-cbc/install/include/coin/CoinSnapshot.hpp +476 -0
  212. data/ext/ruby-cbc/install/include/coin/CoinSort.hpp +678 -0
  213. data/ext/ruby-cbc/install/include/coin/CoinStructuredModel.hpp +247 -0
  214. data/ext/ruby-cbc/install/include/coin/CoinTime.hpp +310 -0
  215. data/ext/ruby-cbc/install/include/coin/CoinTypes.hpp +64 -0
  216. data/ext/ruby-cbc/install/include/coin/CoinUtility.hpp +19 -0
  217. data/ext/ruby-cbc/install/include/coin/CoinUtilsConfig.h +34 -0
  218. data/ext/ruby-cbc/install/include/coin/CoinWarmStart.hpp +58 -0
  219. data/ext/ruby-cbc/install/include/coin/CoinWarmStartBasis.hpp +456 -0
  220. data/ext/ruby-cbc/install/include/coin/CoinWarmStartDual.hpp +166 -0
  221. data/ext/ruby-cbc/install/include/coin/CoinWarmStartPrimalDual.hpp +211 -0
  222. data/ext/ruby-cbc/install/include/coin/CoinWarmStartVector.hpp +488 -0
  223. data/ext/ruby-cbc/install/include/coin/Coin_C_defines.h +115 -0
  224. data/ext/ruby-cbc/install/include/coin/Idiot.hpp +298 -0
  225. data/ext/ruby-cbc/install/include/coin/OsiAuxInfo.hpp +206 -0
  226. data/ext/ruby-cbc/install/include/coin/OsiBranchingObject.hpp +1005 -0
  227. data/ext/ruby-cbc/install/include/coin/OsiCbcSolverInterface.hpp +764 -0
  228. data/ext/ruby-cbc/install/include/coin/OsiChooseVariable.hpp +534 -0
  229. data/ext/ruby-cbc/install/include/coin/OsiClpSolverInterface.hpp +1509 -0
  230. data/ext/ruby-cbc/install/include/coin/OsiColCut.hpp +324 -0
  231. data/ext/ruby-cbc/install/include/coin/OsiCollections.hpp +35 -0
  232. data/ext/ruby-cbc/install/include/coin/OsiConfig.h +19 -0
  233. data/ext/ruby-cbc/install/include/coin/OsiCut.hpp +245 -0
  234. data/ext/ruby-cbc/install/include/coin/OsiCuts.hpp +474 -0
  235. data/ext/ruby-cbc/install/include/coin/OsiPresolve.hpp +252 -0
  236. data/ext/ruby-cbc/install/include/coin/OsiRowCut.hpp +331 -0
  237. data/ext/ruby-cbc/install/include/coin/OsiRowCutDebugger.hpp +187 -0
  238. data/ext/ruby-cbc/install/include/coin/OsiSolverBranch.hpp +152 -0
  239. data/ext/ruby-cbc/install/include/coin/OsiSolverInterface.hpp +2143 -0
  240. data/ext/ruby-cbc/install/include/coin/OsiSolverParameters.hpp +142 -0
  241. data/ext/ruby-cbc/install/include/coin/OsiUnitTests.hpp +374 -0
  242. data/ext/ruby-cbc/install/lib/libCbc.la +35 -0
  243. data/ext/ruby-cbc/install/lib/libCbc.so +0 -0
  244. data/ext/ruby-cbc/install/lib/libCbc.so.3 +0 -0
  245. data/ext/ruby-cbc/install/lib/libCbc.so.3.9.7 +0 -0
  246. data/ext/ruby-cbc/install/lib/libCbcSolver.la +35 -0
  247. data/ext/ruby-cbc/install/lib/libCbcSolver.so +0 -0
  248. data/ext/ruby-cbc/install/lib/libCbcSolver.so.3 +0 -0
  249. data/ext/ruby-cbc/install/lib/libCbcSolver.so.3.9.7 +0 -0
  250. data/ext/ruby-cbc/install/lib/libCgl.la +35 -0
  251. data/ext/ruby-cbc/install/lib/libCgl.so +0 -0
  252. data/ext/ruby-cbc/install/lib/libCgl.so.1 +0 -0
  253. data/ext/ruby-cbc/install/lib/libCgl.so.1.9.7 +0 -0
  254. data/ext/ruby-cbc/install/lib/libClp.la +35 -0
  255. data/ext/ruby-cbc/install/lib/libClp.so +0 -0
  256. data/ext/ruby-cbc/install/lib/libClp.so.1 +0 -0
  257. data/ext/ruby-cbc/install/lib/libClp.so.1.13.9 +0 -0
  258. data/ext/ruby-cbc/install/lib/libClpSolver.la +35 -0
  259. data/ext/ruby-cbc/install/lib/libClpSolver.so +0 -0
  260. data/ext/ruby-cbc/install/lib/libClpSolver.so.1 +0 -0
  261. data/ext/ruby-cbc/install/lib/libClpSolver.so.1.13.9 +0 -0
  262. data/ext/ruby-cbc/install/lib/libCoinUtils.la +35 -0
  263. data/ext/ruby-cbc/install/lib/libCoinUtils.so +0 -0
  264. data/ext/ruby-cbc/install/lib/libCoinUtils.so.3 +0 -0
  265. data/ext/ruby-cbc/install/lib/libCoinUtils.so.3.10.11 +0 -0
  266. data/ext/ruby-cbc/install/lib/libOsi.la +35 -0
  267. data/ext/ruby-cbc/install/lib/libOsi.so +0 -0
  268. data/ext/ruby-cbc/install/lib/libOsi.so.1 +0 -0
  269. data/ext/ruby-cbc/install/lib/libOsi.so.1.12.6 +0 -0
  270. data/ext/ruby-cbc/install/lib/libOsiCbc.la +35 -0
  271. data/ext/ruby-cbc/install/lib/libOsiCbc.so +0 -0
  272. data/ext/ruby-cbc/install/lib/libOsiCbc.so.3 +0 -0
  273. data/ext/ruby-cbc/install/lib/libOsiCbc.so.3.9.7 +0 -0
  274. data/ext/ruby-cbc/install/lib/libOsiClp.la +35 -0
  275. data/ext/ruby-cbc/install/lib/libOsiClp.so +0 -0
  276. data/ext/ruby-cbc/install/lib/libOsiClp.so.1 +0 -0
  277. data/ext/ruby-cbc/install/lib/libOsiClp.so.1.13.9 +0 -0
  278. data/ext/ruby-cbc/install/lib/libOsiCommonTests.la +35 -0
  279. data/ext/ruby-cbc/install/lib/libOsiCommonTests.so +0 -0
  280. data/ext/ruby-cbc/install/lib/libOsiCommonTests.so.1 +0 -0
  281. data/ext/ruby-cbc/install/lib/libOsiCommonTests.so.1.12.6 +0 -0
  282. data/ext/ruby-cbc/install/lib/pkgconfig/cbc.pc +12 -0
  283. data/ext/ruby-cbc/install/lib/pkgconfig/cgl.pc +12 -0
  284. data/ext/ruby-cbc/install/lib/pkgconfig/clp.pc +12 -0
  285. data/ext/ruby-cbc/install/lib/pkgconfig/coindatamiplib3.pc +9 -0
  286. data/ext/ruby-cbc/install/lib/pkgconfig/coindatasample.pc +9 -0
  287. data/ext/ruby-cbc/install/lib/pkgconfig/coinutils.pc +12 -0
  288. data/ext/ruby-cbc/install/lib/pkgconfig/osi-cbc.pc +12 -0
  289. data/ext/ruby-cbc/install/lib/pkgconfig/osi-clp.pc +12 -0
  290. data/ext/ruby-cbc/install/lib/pkgconfig/osi-unittests.pc +12 -0
  291. data/ext/ruby-cbc/install/lib/pkgconfig/osi.pc +12 -0
  292. data/lib/ruby-cbc/ilp/constant.rb +44 -0
  293. data/lib/ruby-cbc/ilp/constraint.rb +32 -0
  294. data/lib/ruby-cbc/ilp/objective.rb +26 -0
  295. data/lib/ruby-cbc/ilp/term.rb +47 -0
  296. data/lib/ruby-cbc/ilp/term_array.rb +80 -0
  297. data/lib/ruby-cbc/ilp/var.rb +62 -0
  298. data/lib/ruby-cbc/model.rb +125 -0
  299. data/lib/ruby-cbc/problem.rb +170 -0
  300. data/lib/ruby-cbc/version.rb +3 -0
  301. data/lib/ruby-cbc.rb +21 -0
  302. data/ruby-cbc.gemspec +36 -0
  303. metadata +431 -0
@@ -0,0 +1,113 @@
1
+ /* $Id: ClpAmplObjective.hpp 1899 2013-04-09 18:12:08Z stefan $ */
2
+ // Copyright (C) 2007, 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
+ #ifndef ClpAmplObjective_H
7
+ #define ClpAmplObjective_H
8
+
9
+ #include "ClpObjective.hpp"
10
+ #include "CoinPackedMatrix.hpp"
11
+
12
+ //#############################################################################
13
+
14
+ /** Ampl Objective Class
15
+
16
+ */
17
+
18
+ class ClpAmplObjective : public ClpObjective {
19
+
20
+ public:
21
+
22
+ ///@name Stuff
23
+ //@{
24
+
25
+ /** Returns gradient. If Ampl then solution may be NULL,
26
+ also returns an offset (to be added to current one)
27
+ If refresh is false then uses last solution
28
+ Uses model for scaling
29
+ includeLinear 0 - no, 1 as is, 2 as feasible
30
+ */
31
+ virtual double * gradient(const ClpSimplex * model,
32
+ const double * solution, double & offset, bool refresh,
33
+ int includeLinear = 2);
34
+ /// Resize objective
35
+ /** Returns reduced gradient.Returns an offset (to be added to current one).
36
+ */
37
+ virtual double reducedGradient(ClpSimplex * model, double * region,
38
+ bool useFeasibleCosts);
39
+ /** Returns step length which gives minimum of objective for
40
+ solution + theta * change vector up to maximum theta.
41
+
42
+ arrays are numberColumns+numberRows
43
+ Also sets current objective, predicted and at maximumTheta
44
+ */
45
+ virtual double stepLength(ClpSimplex * model,
46
+ const double * solution,
47
+ const double * change,
48
+ double maximumTheta,
49
+ double & currentObj,
50
+ double & predictedObj,
51
+ double & thetaObj);
52
+ /// Return objective value (without any ClpModel offset) (model may be NULL)
53
+ virtual double objectiveValue(const ClpSimplex * model, const double * solution) const ;
54
+ virtual void resize(int newNumberColumns) ;
55
+ /// Delete columns in objective
56
+ virtual void deleteSome(int numberToDelete, const int * which) ;
57
+ /// Scale objective
58
+ virtual void reallyScale(const double * columnScale) ;
59
+ /** Given a zeroed array sets nonlinear columns to 1.
60
+ Returns number of nonlinear columns
61
+ */
62
+ virtual int markNonlinear(char * which);
63
+
64
+ /// Say we have new primal solution - so may need to recompute
65
+ virtual void newXValues() ;
66
+ //@}
67
+
68
+
69
+ ///@name Constructors and destructors
70
+ //@{
71
+ /// Default Constructor
72
+ ClpAmplObjective();
73
+
74
+ /// Constructor from ampl info
75
+ ClpAmplObjective(void * amplInfo);
76
+
77
+ /** Copy constructor .
78
+ */
79
+ ClpAmplObjective(const ClpAmplObjective & rhs);
80
+
81
+ /// Assignment operator
82
+ ClpAmplObjective & operator=(const ClpAmplObjective& rhs);
83
+
84
+ /// Destructor
85
+ virtual ~ClpAmplObjective ();
86
+
87
+ /// Clone
88
+ virtual ClpObjective * clone() const;
89
+
90
+ //@}
91
+ ///@name Gets and sets
92
+ //@{
93
+ /// Linear objective
94
+ double * linearObjective() const;
95
+ //@}
96
+
97
+ //---------------------------------------------------------------------------
98
+
99
+ private:
100
+ ///@name Private member data
101
+ /// Saved offset
102
+ double offset_;
103
+ /// Ampl info
104
+ void * amplObjective_;
105
+ /// Objective
106
+ double * objective_;
107
+ /// Gradient
108
+ double * gradient_;
109
+ //@}
110
+ };
111
+
112
+ #endif
113
+
@@ -0,0 +1,294 @@
1
+ /* $Id: ClpCholeskyBase.hpp 1722 2011-04-17 09:58:37Z stefan $ */
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
+ #ifndef ClpCholeskyBase_H
7
+ #define ClpCholeskyBase_H
8
+
9
+ #include "CoinPragma.hpp"
10
+ #include "CoinTypes.hpp"
11
+ //#define CLP_LONG_CHOLESKY 0
12
+ #ifndef CLP_LONG_CHOLESKY
13
+ #define CLP_LONG_CHOLESKY 0
14
+ #endif
15
+ /* valid combinations are
16
+ CLP_LONG_CHOLESKY 0 and COIN_LONG_WORK 0
17
+ CLP_LONG_CHOLESKY 1 and COIN_LONG_WORK 1
18
+ CLP_LONG_CHOLESKY 2 and COIN_LONG_WORK 1
19
+ */
20
+ #if COIN_LONG_WORK==0
21
+ #if CLP_LONG_CHOLESKY>0
22
+ #define CHOLESKY_BAD_COMBINATION
23
+ #endif
24
+ #else
25
+ #if CLP_LONG_CHOLESKY==0
26
+ #define CHOLESKY_BAD_COMBINATION
27
+ #endif
28
+ #endif
29
+ #ifdef CHOLESKY_BAD_COMBINATION
30
+ # warning("Bad combination of CLP_LONG_CHOLESKY and COIN_BIG_DOUBLE/COIN_LONG_WORK");
31
+ "Bad combination of CLP_LONG_CHOLESKY and COIN_LONG_WORK"
32
+ #endif
33
+ #if CLP_LONG_CHOLESKY>1
34
+ typedef long double longDouble;
35
+ #define CHOL_SMALL_VALUE 1.0e-15
36
+ #elif CLP_LONG_CHOLESKY==1
37
+ typedef double longDouble;
38
+ #define CHOL_SMALL_VALUE 1.0e-11
39
+ #else
40
+ typedef double longDouble;
41
+ #define CHOL_SMALL_VALUE 1.0e-11
42
+ #endif
43
+ class ClpInterior;
44
+ class ClpCholeskyDense;
45
+ class ClpMatrixBase;
46
+
47
+ /** Base class for Clp Cholesky factorization
48
+ Will do better factorization. very crude ordering
49
+
50
+ Derived classes may be using more sophisticated methods
51
+ */
52
+
53
+ class ClpCholeskyBase {
54
+
55
+ public:
56
+ /**@name Virtual methods that the derived classes may provide */
57
+ //@{
58
+ /** Orders rows and saves pointer to matrix.and model.
59
+ returns non-zero if not enough memory.
60
+ You can use preOrder to set up ADAT
61
+ If using default symbolic etc then must set sizeFactor_ to
62
+ size of input matrix to order (and to symbolic).
63
+ Also just permute_ and permuteInverse_ should be created */
64
+ virtual int order(ClpInterior * model);
65
+ /** Does Symbolic factorization given permutation.
66
+ This is called immediately after order. If user provides this then
67
+ user must provide factorize and solve. Otherwise the default factorization is used
68
+ returns non-zero if not enough memory */
69
+ virtual int symbolic();
70
+ /** Factorize - filling in rowsDropped and returning number dropped.
71
+ If return code negative then out of memory */
72
+ virtual int factorize(const CoinWorkDouble * diagonal, int * rowsDropped) ;
73
+ /** Uses factorization to solve. */
74
+ virtual void solve (CoinWorkDouble * region) ;
75
+ /** Uses factorization to solve. - given as if KKT.
76
+ region1 is rows+columns, region2 is rows */
77
+ virtual void solveKKT (CoinWorkDouble * region1, CoinWorkDouble * region2, const CoinWorkDouble * diagonal,
78
+ CoinWorkDouble diagonalScaleFactor);
79
+ private:
80
+ /// AMD ordering
81
+ int orderAMD();
82
+ public:
83
+ //@}
84
+
85
+ /**@name Gets */
86
+ //@{
87
+ /// status. Returns status
88
+ inline int status() const {
89
+ return status_;
90
+ }
91
+ /// numberRowsDropped. Number of rows gone
92
+ inline int numberRowsDropped() const {
93
+ return numberRowsDropped_;
94
+ }
95
+ /// reset numberRowsDropped and rowsDropped.
96
+ void resetRowsDropped();
97
+ /// rowsDropped - which rows are gone
98
+ inline char * rowsDropped() const {
99
+ return rowsDropped_;
100
+ }
101
+ /// choleskyCondition.
102
+ inline double choleskyCondition() const {
103
+ return choleskyCondition_;
104
+ }
105
+ /// goDense i.e. use dense factoriaztion if > this (default 0.7).
106
+ inline double goDense() const {
107
+ return goDense_;
108
+ }
109
+ /// goDense i.e. use dense factoriaztion if > this (default 0.7).
110
+ inline void setGoDense(double value) {
111
+ goDense_ = value;
112
+ }
113
+ /// rank. Returns rank
114
+ inline int rank() const {
115
+ return numberRows_ - numberRowsDropped_;
116
+ }
117
+ /// Return number of rows
118
+ inline int numberRows() const {
119
+ return numberRows_;
120
+ }
121
+ /// Return size
122
+ inline CoinBigIndex size() const {
123
+ return sizeFactor_;
124
+ }
125
+ /// Return sparseFactor
126
+ inline longDouble * sparseFactor() const {
127
+ return sparseFactor_;
128
+ }
129
+ /// Return diagonal
130
+ inline longDouble * diagonal() const {
131
+ return diagonal_;
132
+ }
133
+ /// Return workDouble
134
+ inline longDouble * workDouble() const {
135
+ return workDouble_;
136
+ }
137
+ /// If KKT on
138
+ inline bool kkt() const {
139
+ return doKKT_;
140
+ }
141
+ /// Set KKT
142
+ inline void setKKT(bool yesNo) {
143
+ doKKT_ = yesNo;
144
+ }
145
+ /// Set integer parameter
146
+ inline void setIntegerParameter(int i, int value) {
147
+ integerParameters_[i] = value;
148
+ }
149
+ /// get integer parameter
150
+ inline int getIntegerParameter(int i) {
151
+ return integerParameters_[i];
152
+ }
153
+ /// Set double parameter
154
+ inline void setDoubleParameter(int i, double value) {
155
+ doubleParameters_[i] = value;
156
+ }
157
+ /// get double parameter
158
+ inline double getDoubleParameter(int i) {
159
+ return doubleParameters_[i];
160
+ }
161
+ //@}
162
+
163
+
164
+ public:
165
+
166
+ /**@name Constructors, destructor
167
+ */
168
+ //@{
169
+ /** Constructor which has dense columns activated.
170
+ Default is off. */
171
+ ClpCholeskyBase(int denseThreshold = -1);
172
+ /** Destructor (has to be public) */
173
+ virtual ~ClpCholeskyBase();
174
+ /// Copy
175
+ ClpCholeskyBase(const ClpCholeskyBase&);
176
+ /// Assignment
177
+ ClpCholeskyBase& operator=(const ClpCholeskyBase&);
178
+ //@}
179
+ //@{
180
+ ///@name Other
181
+ /// Clone
182
+ virtual ClpCholeskyBase * clone() const;
183
+
184
+ /// Returns type
185
+ inline int type() const {
186
+ if (doKKT_) return 100;
187
+ else return type_;
188
+ }
189
+ protected:
190
+ /// Sets type
191
+ inline void setType(int type) {
192
+ type_ = type;
193
+ }
194
+ /// model.
195
+ inline void setModel(ClpInterior * model) {
196
+ model_ = model;
197
+ }
198
+ //@}
199
+
200
+ /**@name Symbolic, factor and solve */
201
+ //@{
202
+ /** Symbolic1 - works out size without clever stuff.
203
+ Uses upper triangular as much easier.
204
+ Returns size
205
+ */
206
+ int symbolic1(const CoinBigIndex * Astart, const int * Arow);
207
+ /** Symbolic2 - Fills in indices
208
+ Uses lower triangular so can do cliques etc
209
+ */
210
+ void symbolic2(const CoinBigIndex * Astart, const int * Arow);
211
+ /** Factorize - filling in rowsDropped and returning number dropped
212
+ in integerParam.
213
+ */
214
+ void factorizePart2(int * rowsDropped) ;
215
+ /** solve - 1 just first half, 2 just second half - 3 both.
216
+ If 1 and 2 then diagonal has sqrt of inverse otherwise inverse
217
+ */
218
+ void solve(CoinWorkDouble * region, int type);
219
+ /// Forms ADAT - returns nonzero if not enough memory
220
+ int preOrder(bool lowerTriangular, bool includeDiagonal, bool doKKT);
221
+ /// Updates dense part (broken out for profiling)
222
+ void updateDense(longDouble * d, /*longDouble * work,*/ int * first);
223
+ //@}
224
+
225
+ protected:
226
+ /**@name Data members
227
+ The data members are protected to allow access for derived classes. */
228
+ //@{
229
+ /// type (may be useful) if > 20 do KKT
230
+ int type_;
231
+ /// Doing full KKT (only used if default symbolic and factorization)
232
+ bool doKKT_;
233
+ /// Go dense at this fraction
234
+ double goDense_;
235
+ /// choleskyCondition.
236
+ double choleskyCondition_;
237
+ /// model.
238
+ ClpInterior * model_;
239
+ /// numberTrials. Number of trials before rejection
240
+ int numberTrials_;
241
+ /// numberRows. Number of Rows in factorization
242
+ int numberRows_;
243
+ /// status. Status of factorization
244
+ int status_;
245
+ /// rowsDropped
246
+ char * rowsDropped_;
247
+ /// permute inverse.
248
+ int * permuteInverse_;
249
+ /// main permute.
250
+ int * permute_;
251
+ /// numberRowsDropped. Number of rows gone
252
+ int numberRowsDropped_;
253
+ /// sparseFactor.
254
+ longDouble * sparseFactor_;
255
+ /// choleskyStart - element starts
256
+ CoinBigIndex * choleskyStart_;
257
+ /// choleskyRow (can be shorter than sparsefactor)
258
+ int * choleskyRow_;
259
+ /// Index starts
260
+ CoinBigIndex * indexStart_;
261
+ /// Diagonal
262
+ longDouble * diagonal_;
263
+ /// double work array
264
+ longDouble * workDouble_;
265
+ /// link array
266
+ int * link_;
267
+ // Integer work array
268
+ CoinBigIndex * workInteger_;
269
+ // Clique information
270
+ int * clique_;
271
+ /// sizeFactor.
272
+ CoinBigIndex sizeFactor_;
273
+ /// Size of index array
274
+ CoinBigIndex sizeIndex_;
275
+ /// First dense row
276
+ int firstDense_;
277
+ /// integerParameters
278
+ int integerParameters_[64];
279
+ /// doubleParameters;
280
+ double doubleParameters_[64];
281
+ /// Row copy of matrix
282
+ ClpMatrixBase * rowCopy_;
283
+ /// Dense indicators
284
+ char * whichDense_;
285
+ /// Dense columns (updated)
286
+ longDouble * denseColumn_;
287
+ /// Dense cholesky
288
+ ClpCholeskyDense * dense_;
289
+ /// Dense threshold (for taking out of Cholesky)
290
+ int denseThreshold_;
291
+ //@}
292
+ };
293
+
294
+ #endif
@@ -0,0 +1,162 @@
1
+ /* $Id: ClpCholeskyDense.hpp 1910 2013-01-27 02:00:13Z stefan $ */
2
+ /*
3
+ Copyright (C) 2003, International Business Machines Corporation
4
+ and others. All Rights Reserved.
5
+
6
+ This code is licensed under the terms of the Eclipse Public License (EPL).
7
+ */
8
+ #ifndef ClpCholeskyDense_H
9
+ #define ClpCholeskyDense_H
10
+
11
+ #include "ClpCholeskyBase.hpp"
12
+ class ClpMatrixBase;
13
+
14
+ class ClpCholeskyDense : public ClpCholeskyBase {
15
+
16
+ public:
17
+ /**@name Virtual methods that the derived classes provides */
18
+ /**@{*/
19
+ /** Orders rows and saves pointer to matrix.and model.
20
+ Returns non-zero if not enough memory */
21
+ virtual int order(ClpInterior * model) ;
22
+ /** Does Symbolic factorization given permutation.
23
+ This is called immediately after order. If user provides this then
24
+ user must provide factorize and solve. Otherwise the default factorization is used
25
+ returns non-zero if not enough memory */
26
+ virtual int symbolic();
27
+ /** Factorize - filling in rowsDropped and returning number dropped.
28
+ If return code negative then out of memory */
29
+ virtual int factorize(const CoinWorkDouble * diagonal, int * rowsDropped) ;
30
+ /** Uses factorization to solve. */
31
+ virtual void solve (CoinWorkDouble * region) ;
32
+ /**@}*/
33
+
34
+ /**@name Non virtual methods for ClpCholeskyDense */
35
+ /**@{*/
36
+ /** Reserves space.
37
+ If factor not NULL then just uses passed space
38
+ Returns non-zero if not enough memory */
39
+ int reserveSpace(const ClpCholeskyBase * factor, int numberRows) ;
40
+ /** Returns space needed */
41
+ CoinBigIndex space( int numberRows) const;
42
+ /** part 2 of Factorize - filling in rowsDropped */
43
+ void factorizePart2(int * rowsDropped) ;
44
+ /** part 2 of Factorize - filling in rowsDropped - blocked */
45
+ void factorizePart3(int * rowsDropped) ;
46
+ /** Forward part of solve */
47
+ void solveF1(longDouble * a, int n, CoinWorkDouble * region);
48
+ void solveF2(longDouble * a, int n, CoinWorkDouble * region, CoinWorkDouble * region2);
49
+ /** Backward part of solve */
50
+ void solveB1(longDouble * a, int n, CoinWorkDouble * region);
51
+ void solveB2(longDouble * a, int n, CoinWorkDouble * region, CoinWorkDouble * region2);
52
+ int bNumber(const longDouble * array, int &, int&);
53
+ /** A */
54
+ inline longDouble * aMatrix() const {
55
+ return sparseFactor_;
56
+ }
57
+ /** Diagonal */
58
+ inline longDouble * diagonal() const {
59
+ return diagonal_;
60
+ }
61
+ /**@}*/
62
+
63
+
64
+ /**@name Constructors, destructor */
65
+ /**@{*/
66
+ /** Default constructor. */
67
+ ClpCholeskyDense();
68
+ /** Destructor */
69
+ virtual ~ClpCholeskyDense();
70
+ /** Copy */
71
+ ClpCholeskyDense(const ClpCholeskyDense&);
72
+ /** Assignment */
73
+ ClpCholeskyDense& operator=(const ClpCholeskyDense&);
74
+ /** Clone */
75
+ virtual ClpCholeskyBase * clone() const ;
76
+ /**@}*/
77
+
78
+
79
+ private:
80
+ /**@name Data members */
81
+ /**@{*/
82
+ /** Just borrowing space */
83
+ bool borrowSpace_;
84
+ /**@}*/
85
+ };
86
+
87
+ /* structure for C */
88
+ typedef struct {
89
+ longDouble * diagonal_;
90
+ longDouble * a;
91
+ longDouble * work;
92
+ int * rowsDropped;
93
+ double doubleParameters_[1]; /* corresponds to 10 */
94
+ int integerParameters_[2]; /* corresponds to 34, nThreads */
95
+ int n;
96
+ int numberBlocks;
97
+ } ClpCholeskyDenseC;
98
+
99
+ extern "C" {
100
+ void ClpCholeskySpawn(void *);
101
+ }
102
+ /**Non leaf recursive factor */
103
+ void
104
+ ClpCholeskyCfactor(ClpCholeskyDenseC * thisStruct,
105
+ longDouble * a, int n, int numberBlocks,
106
+ longDouble * diagonal, longDouble * work, int * rowsDropped);
107
+
108
+ /**Non leaf recursive triangle rectangle update */
109
+ void
110
+ ClpCholeskyCtriRec(ClpCholeskyDenseC * thisStruct,
111
+ longDouble * aTri, int nThis,
112
+ longDouble * aUnder, longDouble * diagonal,
113
+ longDouble * work,
114
+ int nLeft, int iBlock, int jBlock,
115
+ int numberBlocks);
116
+ /**Non leaf recursive rectangle triangle update */
117
+ void
118
+ ClpCholeskyCrecTri(ClpCholeskyDenseC * thisStruct,
119
+ longDouble * aUnder, int nTri, int nDo,
120
+ int iBlock, int jBlock, longDouble * aTri,
121
+ longDouble * diagonal, longDouble * work,
122
+ int numberBlocks);
123
+ /** Non leaf recursive rectangle rectangle update,
124
+ nUnder is number of rows in iBlock,
125
+ nUnderK is number of rows in kBlock
126
+ */
127
+ void
128
+ ClpCholeskyCrecRec(ClpCholeskyDenseC * thisStruct,
129
+ longDouble * above, int nUnder, int nUnderK,
130
+ int nDo, longDouble * aUnder, longDouble *aOther,
131
+ longDouble * work,
132
+ int iBlock, int jBlock,
133
+ int numberBlocks);
134
+ /**Leaf recursive factor */
135
+ void
136
+ ClpCholeskyCfactorLeaf(ClpCholeskyDenseC * thisStruct,
137
+ longDouble * a, int n,
138
+ longDouble * diagonal, longDouble * work,
139
+ int * rowsDropped);
140
+ /**Leaf recursive triangle rectangle update */
141
+ void
142
+ ClpCholeskyCtriRecLeaf(/*ClpCholeskyDenseC * thisStruct,*/
143
+ longDouble * aTri, longDouble * aUnder,
144
+ longDouble * diagonal, longDouble * work,
145
+ int nUnder);
146
+ /**Leaf recursive rectangle triangle update */
147
+ void
148
+ ClpCholeskyCrecTriLeaf(/*ClpCholeskyDenseC * thisStruct, */
149
+ longDouble * aUnder, longDouble * aTri,
150
+ /*longDouble * diagonal,*/ longDouble * work, int nUnder);
151
+ /** Leaf recursive rectangle rectangle update,
152
+ nUnder is number of rows in iBlock,
153
+ nUnderK is number of rows in kBlock
154
+ */
155
+ void
156
+ ClpCholeskyCrecRecLeaf(/*ClpCholeskyDenseC * thisStruct, */
157
+ const longDouble * COIN_RESTRICT above,
158
+ const longDouble * COIN_RESTRICT aUnder,
159
+ longDouble * COIN_RESTRICT aOther,
160
+ const longDouble * COIN_RESTRICT work,
161
+ int nUnder);
162
+ #endif
@@ -0,0 +1,17 @@
1
+ /* src/config_clp.h. Generated by configure. */
2
+ /* src/config_clp.h.in. */
3
+
4
+ /* Define to 1, 2, 3, or 4 if Aboca should be build. */
5
+ /* #undef CLP_HAS_ABC */
6
+
7
+ /* Version number of project */
8
+ #define CLP_VERSION "1.16.9"
9
+
10
+ /* Major Version number of project */
11
+ #define CLP_VERSION_MAJOR 1
12
+
13
+ /* Minor Version number of project */
14
+ #define CLP_VERSION_MINOR 16
15
+
16
+ /* Release Version number of project */
17
+ #define CLP_VERSION_RELEASE 9