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,381 @@
1
+ /* $Id: Cbc_C_Interface.h 2091 2014-10-03 00:46:49Z mlubin $ */
2
+ /*
3
+ Copyright (C) 2004 International Business Machines Corporation and others.
4
+ All Rights Reserved.
5
+
6
+ This code is licensed under the terms of the Eclipse Public License (EPL).
7
+ */
8
+ #ifndef CbcModelC_H
9
+ #define CbcModelC_H
10
+
11
+ /* include all defines and ugly stuff */
12
+ #include "Coin_C_defines.h"
13
+ #include <stddef.h>
14
+
15
+ /*
16
+ * Original verison contributed by Bob Entriken,
17
+ * significantly updated by Miles Lubin.
18
+ */
19
+
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+ /**@name Constructors and destructor
26
+ This is a "C" interface to Cbc.
27
+ The user does not need to know structure of Cbc_Model.
28
+ */
29
+ /*@{*/
30
+
31
+ /** Default Cbc_Model constructor */
32
+ COINLIBAPI Cbc_Model * COINLINKAGE
33
+ Cbc_newModel(void)
34
+ ;
35
+ /** Cbc_Model Destructor */
36
+ COINLIBAPI void COINLINKAGE
37
+ Cbc_deleteModel(Cbc_Model * model)
38
+ ;
39
+ /** Current version of Cbc */
40
+ COINLIBAPI const char* COINLINKAGE Cbc_getVersion(void)
41
+ ;
42
+ /*@}*/
43
+
44
+ /**@name Getting and setting model data
45
+ Note that problem access and modification methods,
46
+ such as getColLower and setColLower,
47
+ are *not valid* after calling Cbc_solve().
48
+ Therefore it is not recommended to reuse a Cbc_Model
49
+ object for multiple solves. A workaround is to call Cbc_clone()
50
+ before solving.
51
+ * */
52
+ /*@{*/
53
+ /** Loads a problem (the constraints on the
54
+ rows are given by lower and upper bounds). If a pointer is NULL then the
55
+ following values are the default:
56
+ <ul>
57
+ <li> <code>colub</code>: all columns have upper bound infinity
58
+ <li> <code>collb</code>: all columns have lower bound 0
59
+ <li> <code>rowub</code>: all rows have upper bound infinity
60
+ <li> <code>rowlb</code>: all rows have lower bound -infinity
61
+ <li> <code>obj</code>: all variables have 0 objective coefficient
62
+ </ul>
63
+
64
+ The constraint matrix is
65
+ given in standard compressed sparse column (without gaps).
66
+ <ul>
67
+ <li> <code>start[i]</code> stores the starting index of the ith column
68
+ <li> <code>index[k]</code> stores the row index of the kth nonzero element
69
+ <li> <code>value[k]</code> stores the coefficient of the kth nonzero element
70
+ </ul>
71
+ */
72
+ COINLIBAPI void COINLINKAGE
73
+ Cbc_loadProblem (Cbc_Model * model, const int numcols, const int numrows,
74
+ const CoinBigIndex * start, const int* index,
75
+ const double* value,
76
+ const double* collb, const double* colub,
77
+ const double* obj,
78
+ const double* rowlb, const double* rowub)
79
+ ;
80
+ /** Read an mps file from the given filename */
81
+ COINLIBAPI int COINLINKAGE
82
+ Cbc_readMps(Cbc_Model * model, const char *filename)
83
+ ;
84
+ /** Write an mps file from the given filename */
85
+ COINLIBAPI void COINLINKAGE
86
+ Cbc_writeMps(Cbc_Model * model, const char *filename)
87
+ ;
88
+ /** Provide an initial feasible solution to accelerate branch-and-bound
89
+ Note that feasibility of the solution is *not* verified.
90
+ */
91
+ COINLIBAPI void COINLINKAGE
92
+ Cbc_setInitialSolution(Cbc_Model *model, const double * sol)
93
+ ;
94
+ /** Fills in array with problem name */
95
+ COINLIBAPI void COINLINKAGE
96
+ Cbc_problemName(Cbc_Model * model, int maxNumberCharacters, char * array)
97
+ ;
98
+ /** Sets problem name.
99
+
100
+ \p array must be a null-terminated string.
101
+ */
102
+ COINLIBAPI int COINLINKAGE
103
+ Cbc_setProblemName(Cbc_Model * model, const char * array)
104
+ ;
105
+
106
+ /** Number of nonzero elements in constraint matrix */
107
+ COINLIBAPI int COINLINKAGE
108
+ Cbc_getNumElements(Cbc_Model * model)
109
+ ;
110
+ /** "Column start" vector of constraint matrix. Same format as Cbc_loadProblem() */
111
+ COINLIBAPI const CoinBigIndex * COINLINKAGE
112
+ Cbc_getVectorStarts(Cbc_Model * model)
113
+ ;
114
+ /** "Row index" vector of constraint matrix */
115
+ COINLIBAPI const int * COINLINKAGE
116
+ Cbc_getIndices(Cbc_Model * model)
117
+ ;
118
+ /** Coefficient vector of constraint matrix */
119
+ COINLIBAPI const double * COINLINKAGE
120
+ Cbc_getElements(Cbc_Model * model)
121
+ ;
122
+
123
+ /** Maximum lenght of a row or column name */
124
+ COINLIBAPI size_t COINLINKAGE
125
+ Cbc_maxNameLength(Cbc_Model * model)
126
+ ;
127
+ /** Fill in first maxLength bytes of name array with a row name */
128
+ COINLIBAPI void COINLINKAGE
129
+ Cbc_getRowName(Cbc_Model * model, int iRow, char * name, size_t maxLength)
130
+ ;
131
+ /** Fill in first maxLength bytes of name array with a column name */
132
+ COINLIBAPI void COINLINKAGE
133
+ Cbc_getColName(Cbc_Model * model, int iColumn, char * name, size_t maxLength)
134
+ ;
135
+ /** Set the name of a column */
136
+ COINLIBAPI void COINLINKAGE
137
+ Cbc_setColName(Cbc_Model * model, int iColumn, const char * name)
138
+ ;
139
+ /** Set the name of a row */
140
+ COINLIBAPI void COINLINKAGE
141
+ Cbc_setRowName(Cbc_Model * model, int iRow, const char * name)
142
+ ;
143
+ /** Number of constraints in the model */
144
+ COINLIBAPI int COINLINKAGE
145
+ Cbc_getNumRows(Cbc_Model * model)
146
+ ;
147
+ /** Number of variables in the model */
148
+ COINLIBAPI int COINLINKAGE
149
+ Cbc_getNumCols(Cbc_Model * model)
150
+ ;
151
+ /** Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore) */
152
+ COINLIBAPI void COINLINKAGE
153
+ Cbc_setObjSense(Cbc_Model * model, double sense)
154
+ ;
155
+ /** Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore) */
156
+ COINLIBAPI double COINLINKAGE
157
+ Cbc_getObjSense(Cbc_Model * model)
158
+ ;
159
+ /** Constraint lower bounds */
160
+ COINLIBAPI const double* COINLINKAGE
161
+ Cbc_getRowLower(Cbc_Model * model)
162
+ ;
163
+ /** Set the lower bound of a single constraint */
164
+ COINLIBAPI void COINLINKAGE
165
+ Cbc_setRowLower(Cbc_Model * model, int index, double value)
166
+ ;
167
+ /** Constraint upper bounds */
168
+ COINLIBAPI const double* COINLINKAGE
169
+ Cbc_getRowUpper(Cbc_Model * model)
170
+ ;
171
+ /** Set the upper bound of a single constraint */
172
+ COINLIBAPI void COINLINKAGE
173
+ Cbc_setRowUpper(Cbc_Model * model, int index, double value)
174
+ ;
175
+ /** Objective vector */
176
+ COINLIBAPI const double * COINLINKAGE
177
+ Cbc_getObjCoefficients(Cbc_Model * model)
178
+ ;
179
+ /** Set the objective coefficient of a single variable */
180
+ COINLIBAPI void COINLINKAGE
181
+ Cbc_setObjCoeff(Cbc_Model * model, int index, double value)
182
+ ;
183
+ /** Variable lower bounds */
184
+ COINLIBAPI const double * COINLINKAGE
185
+ Cbc_getColLower(Cbc_Model * model)
186
+ ;
187
+ /** Set the lower bound of a single variable */
188
+ COINLIBAPI void COINLINKAGE
189
+ Cbc_setColLower(Cbc_Model * model, int index, double value)
190
+ ;
191
+ /** Variable upper bounds */
192
+ COINLIBAPI const double * COINLINKAGE
193
+ Cbc_getColUpper(Cbc_Model * model)
194
+ ;
195
+ /** Set the upper bound of a single variable */
196
+ COINLIBAPI void COINLINKAGE
197
+ Cbc_setColUpper(Cbc_Model * model, int index, double value)
198
+ ;
199
+ /** Determine whether the ith variable is integer restricted */
200
+ COINLIBAPI int COINLINKAGE
201
+ Cbc_isInteger(Cbc_Model * model, int i)
202
+ ;
203
+ /** Set this variable to be continuous */
204
+ COINLIBAPI void COINLINKAGE
205
+ Cbc_setContinuous(Cbc_Model * model, int iColumn)
206
+ ;
207
+ /** Set this variable to be integer */
208
+ COINLIBAPI void COINLINKAGE
209
+ Cbc_setInteger(Cbc_Model * model, int iColumn)
210
+ ;
211
+ /** Add SOS constraints to the model using row-order matrix */
212
+ COINLIBAPI void COINLINKAGE
213
+ Cbc_addSOS(Cbc_Model * model, int numRows, const int * rowStarts,
214
+ const int * colIndices, const double * weights, const int type)
215
+ ;
216
+ /** Print the model */
217
+ COINLIBAPI void COINLINKAGE
218
+ Cbc_printModel(Cbc_Model * model, const char * argPrefix)
219
+ ;
220
+ /** Return a copy of this model */
221
+ COINLIBAPI Cbc_Model * COINLINKAGE
222
+ Cbc_clone(Cbc_Model * model)
223
+ ;
224
+ /*@}*/
225
+ /**@name Solver parameters */
226
+ /*@{*/
227
+ /** Set parameter "name" to value "value". Note that this
228
+ * translates directly to using "-name value" as a
229
+ * command-line argument to Cbc.*/
230
+ COINLIBAPI void COINLINKAGE
231
+ Cbc_setParameter(Cbc_Model * model, const char * name, const char * value)
232
+ ;
233
+
234
+
235
+ /*@}*/
236
+ /**@name Message handling. Call backs are handled by ONE function */
237
+ /*@{*/
238
+ /** Pass in Callback function.
239
+ Message numbers up to 1000000 are Clp, Coin ones have 1000000 added */
240
+ COINLIBAPI void COINLINKAGE
241
+ Cbc_registerCallBack(Cbc_Model * model,
242
+ cbc_callback userCallBack)
243
+ ;
244
+ /** Unset Callback function */
245
+ COINLIBAPI void COINLINKAGE
246
+ Cbc_clearCallBack(Cbc_Model * model)
247
+ ;
248
+
249
+ /*@}*/
250
+
251
+
252
+ /**@name Solving the model */
253
+ /*@{*/
254
+ /* Solve the model with Cbc (using CbcMain1).
255
+ */
256
+ COINLIBAPI int COINLINKAGE
257
+ Cbc_solve(Cbc_Model * model)
258
+ ;
259
+ /*@}*/
260
+
261
+
262
+ /**@name Accessing the solution and solution status */
263
+ /*@{*/
264
+
265
+ /** Sum of primal infeasibilities */
266
+ COINLIBAPI double COINLINKAGE
267
+ Cbc_sumPrimalInfeasibilities(Cbc_Model * model)
268
+ ;
269
+ /** Number of primal infeasibilities */
270
+ COINLIBAPI int COINLINKAGE
271
+ Cbc_numberPrimalInfeasibilities(Cbc_Model * model)
272
+ ;
273
+
274
+ /** Just check solution (for external use) - sets sum of
275
+ infeasibilities etc */
276
+ COINLIBAPI void COINLINKAGE
277
+ Cbc_checkSolution(Cbc_Model * model)
278
+ ;
279
+
280
+ /** Number of iterations */
281
+ COINLIBAPI int COINLINKAGE
282
+ Cbc_getIterationCount(Cbc_Model * model)
283
+ ;
284
+ /** Are there a numerical difficulties? */
285
+ COINLIBAPI int COINLINKAGE
286
+ Cbc_isAbandoned(Cbc_Model * model)
287
+ ;
288
+ /** Is optimality proven? */
289
+ COINLIBAPI int COINLINKAGE
290
+ Cbc_isProvenOptimal(Cbc_Model * model)
291
+ ;
292
+ /** Is infeasiblity proven (or none better than cutoff)? */
293
+ COINLIBAPI int COINLINKAGE
294
+ Cbc_isProvenInfeasible(Cbc_Model * model)
295
+ ;
296
+ /** Was continuous solution unbounded? */
297
+ COINLIBAPI int COINLINKAGE
298
+ Cbc_isContinuousUnbounded(Cbc_Model * model)
299
+ ;
300
+ /** Node limit reached? */
301
+ COINLIBAPI int COINLINKAGE
302
+ Cbc_isNodeLimitReached(Cbc_Model * model)
303
+ ;
304
+ /** Time limit reached? */
305
+ COINLIBAPI int COINLINKAGE
306
+ Cbc_isSecondsLimitReached(Cbc_Model * model)
307
+ ;
308
+ /** Solution limit reached? */
309
+ COINLIBAPI int COINLINKAGE
310
+ Cbc_isSolutionLimitReached(Cbc_Model * model)
311
+ ;
312
+ /** Are there numerical difficulties (for initialSolve) ? */
313
+ COINLIBAPI int COINLINKAGE
314
+ Cbc_isInitialSolveAbandoned(Cbc_Model * model)
315
+ ;
316
+ /** Is optimality proven (for initialSolve) ? */
317
+ COINLIBAPI int COINLINKAGE
318
+ Cbc_isInitialSolveProvenOptimal(Cbc_Model * model)
319
+ ;
320
+ /** Is primal infeasiblity proven (for initialSolve) ? */
321
+ COINLIBAPI int COINLINKAGE
322
+ Cbc_isInitialSolveProvenPrimalInfeasible(Cbc_Model * model)
323
+ ;
324
+ /** "row" solution
325
+ * This is the vector A*x, where A is the constraint matrix
326
+ * and x is the current solution. */
327
+ COINLIBAPI const double * COINLINKAGE
328
+ Cbc_getRowActivity(Cbc_Model * model)
329
+ ;
330
+ /** Best feasible solution vector */
331
+ COINLIBAPI const double * COINLINKAGE
332
+ Cbc_getColSolution(Cbc_Model * model)
333
+ ;
334
+ /** Objective value of best feasible solution */
335
+ COINLIBAPI double COINLINKAGE
336
+ Cbc_getObjValue(Cbc_Model * model)
337
+ ;
338
+ /** Best known bound on the optimal objective value */
339
+ COINLIBAPI double COINLINKAGE
340
+ Cbc_getBestPossibleObjValue(Cbc_Model * model)
341
+ ;
342
+ /** Number of nodes explored in B&B tree */
343
+ COINLIBAPI int COINLINKAGE
344
+ Cbc_getNodeCount(Cbc_Model * model)
345
+ ;
346
+ /** Print the solution */
347
+ COINLIBAPI void COINLINKAGE
348
+ Cbc_printSolution(Cbc_Model * model)
349
+ ;
350
+ /** Final status of problem
351
+ Some of these can be found out by is...... functions
352
+ -1 before branchAndBound
353
+ 0 finished - check isProvenOptimal or isProvenInfeasible to see if solution found
354
+ (or check value of best solution)
355
+ 1 stopped - on maxnodes, maxsols, maxtime
356
+ 2 difficulties so run was abandoned
357
+ (5 event user programmed event occurred)
358
+ */
359
+ COINLIBAPI int COINLINKAGE
360
+ Cbc_status(Cbc_Model * model)
361
+ ;
362
+ /** Secondary status of problem
363
+ -1 unset (status_ will also be -1)
364
+ 0 search completed with solution
365
+ 1 linear relaxation not feasible (or worse than cutoff)
366
+ 2 stopped on gap
367
+ 3 stopped on nodes
368
+ 4 stopped on time
369
+ 5 stopped on user event
370
+ 6 stopped on solutions
371
+ 7 linear relaxation unbounded
372
+ 8 stopped on iteration limit
373
+ */
374
+ COINLIBAPI int COINLINKAGE
375
+ Cbc_secondaryStatus(Cbc_Model * model)
376
+ ;
377
+ /*@}*/
378
+ #ifdef __cplusplus
379
+ }
380
+ #endif
381
+ #endif