ruby-cbc 0.1.9 → 0.2.1

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 (290) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/Rakefile +0 -2
  4. data/lib/ruby-cbc.rb +1 -1
  5. data/lib/ruby-cbc/problem.rb +6 -8
  6. data/lib/ruby-cbc/version.rb +1 -1
  7. data/ruby-cbc.gemspec +3 -2
  8. metadata +17 -287
  9. data/ext/ruby-cbc/cbc.i +0 -15
  10. data/ext/ruby-cbc/cbc_wrap.c +0 -4618
  11. data/ext/ruby-cbc/extconf.rb +0 -60
  12. data/ext/ruby-cbc/install/bin/cbc +0 -0
  13. data/ext/ruby-cbc/install/bin/clp +0 -0
  14. data/ext/ruby-cbc/install/include/coin/CbcBranchActual.hpp +0 -24
  15. data/ext/ruby-cbc/install/include/coin/CbcBranchAllDifferent.hpp +0 -62
  16. data/ext/ruby-cbc/install/include/coin/CbcBranchBase.hpp +0 -78
  17. data/ext/ruby-cbc/install/include/coin/CbcBranchCut.hpp +0 -183
  18. data/ext/ruby-cbc/install/include/coin/CbcBranchDecision.hpp +0 -129
  19. data/ext/ruby-cbc/install/include/coin/CbcBranchDefaultDecision.hpp +0 -100
  20. data/ext/ruby-cbc/install/include/coin/CbcBranchDynamic.hpp +0 -206
  21. data/ext/ruby-cbc/install/include/coin/CbcBranchLotsize.hpp +0 -242
  22. data/ext/ruby-cbc/install/include/coin/CbcBranchToFixLots.hpp +0 -94
  23. data/ext/ruby-cbc/install/include/coin/CbcBranchingObject.hpp +0 -236
  24. data/ext/ruby-cbc/install/include/coin/CbcClique.hpp +0 -303
  25. data/ext/ruby-cbc/install/include/coin/CbcCompare.hpp +0 -39
  26. data/ext/ruby-cbc/install/include/coin/CbcCompareActual.hpp +0 -14
  27. data/ext/ruby-cbc/install/include/coin/CbcCompareBase.hpp +0 -142
  28. data/ext/ruby-cbc/install/include/coin/CbcCompareDefault.hpp +0 -120
  29. data/ext/ruby-cbc/install/include/coin/CbcCompareDepth.hpp +0 -47
  30. data/ext/ruby-cbc/install/include/coin/CbcCompareEstimate.hpp +0 -48
  31. data/ext/ruby-cbc/install/include/coin/CbcCompareObjective.hpp +0 -49
  32. data/ext/ruby-cbc/install/include/coin/CbcConfig.h +0 -14
  33. data/ext/ruby-cbc/install/include/coin/CbcConsequence.hpp +0 -49
  34. data/ext/ruby-cbc/install/include/coin/CbcCountRowCut.hpp +0 -168
  35. data/ext/ruby-cbc/install/include/coin/CbcCutGenerator.hpp +0 -482
  36. data/ext/ruby-cbc/install/include/coin/CbcCutModifier.hpp +0 -57
  37. data/ext/ruby-cbc/install/include/coin/CbcCutSubsetModifier.hpp +0 -66
  38. data/ext/ruby-cbc/install/include/coin/CbcDummyBranchingObject.hpp +0 -83
  39. data/ext/ruby-cbc/install/include/coin/CbcEventHandler.hpp +0 -245
  40. data/ext/ruby-cbc/install/include/coin/CbcFathom.hpp +0 -137
  41. data/ext/ruby-cbc/install/include/coin/CbcFathomDynamicProgramming.hpp +0 -169
  42. data/ext/ruby-cbc/install/include/coin/CbcFeasibilityBase.hpp +0 -56
  43. data/ext/ruby-cbc/install/include/coin/CbcFixVariable.hpp +0 -67
  44. data/ext/ruby-cbc/install/include/coin/CbcFollowOn.hpp +0 -207
  45. data/ext/ruby-cbc/install/include/coin/CbcFullNodeInfo.hpp +0 -161
  46. data/ext/ruby-cbc/install/include/coin/CbcGeneral.hpp +0 -60
  47. data/ext/ruby-cbc/install/include/coin/CbcGeneralDepth.hpp +0 -279
  48. data/ext/ruby-cbc/install/include/coin/CbcHeuristic.hpp +0 -682
  49. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDINS.hpp +0 -96
  50. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDW.hpp +0 -309
  51. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDive.hpp +0 -192
  52. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveCoefficient.hpp +0 -52
  53. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveFractional.hpp +0 -52
  54. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveGuided.hpp +0 -55
  55. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveLineSearch.hpp +0 -52
  56. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDivePseudoCost.hpp +0 -60
  57. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveVectorLength.hpp +0 -52
  58. data/ext/ruby-cbc/install/include/coin/CbcHeuristicFPump.hpp +0 -340
  59. data/ext/ruby-cbc/install/include/coin/CbcHeuristicGreedy.hpp +0 -280
  60. data/ext/ruby-cbc/install/include/coin/CbcHeuristicLocal.hpp +0 -271
  61. data/ext/ruby-cbc/install/include/coin/CbcHeuristicPivotAndFix.hpp +0 -58
  62. data/ext/ruby-cbc/install/include/coin/CbcHeuristicRENS.hpp +0 -77
  63. data/ext/ruby-cbc/install/include/coin/CbcHeuristicRINS.hpp +0 -102
  64. data/ext/ruby-cbc/install/include/coin/CbcHeuristicRandRound.hpp +0 -58
  65. data/ext/ruby-cbc/install/include/coin/CbcHeuristicVND.hpp +0 -94
  66. data/ext/ruby-cbc/install/include/coin/CbcLinked.hpp +0 -1406
  67. data/ext/ruby-cbc/install/include/coin/CbcMessage.hpp +0 -94
  68. data/ext/ruby-cbc/install/include/coin/CbcMipStartIO.hpp +0 -26
  69. data/ext/ruby-cbc/install/include/coin/CbcModel.hpp +0 -2952
  70. data/ext/ruby-cbc/install/include/coin/CbcNWay.hpp +0 -166
  71. data/ext/ruby-cbc/install/include/coin/CbcNode.hpp +0 -351
  72. data/ext/ruby-cbc/install/include/coin/CbcNodeInfo.hpp +0 -349
  73. data/ext/ruby-cbc/install/include/coin/CbcObject.hpp +0 -272
  74. data/ext/ruby-cbc/install/include/coin/CbcObjectUpdateData.hpp +0 -64
  75. data/ext/ruby-cbc/install/include/coin/CbcOrClpParam.cpp +0 -4134
  76. data/ext/ruby-cbc/install/include/coin/CbcOrClpParam.hpp +0 -532
  77. data/ext/ruby-cbc/install/include/coin/CbcParam.hpp +0 -324
  78. data/ext/ruby-cbc/install/include/coin/CbcPartialNodeInfo.hpp +0 -110
  79. data/ext/ruby-cbc/install/include/coin/CbcSOS.hpp +0 -279
  80. data/ext/ruby-cbc/install/include/coin/CbcSimpleInteger.hpp +0 -286
  81. data/ext/ruby-cbc/install/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +0 -564
  82. data/ext/ruby-cbc/install/include/coin/CbcSimpleIntegerPseudoCost.hpp +0 -114
  83. data/ext/ruby-cbc/install/include/coin/CbcSolver.hpp +0 -447
  84. data/ext/ruby-cbc/install/include/coin/CbcStrategy.hpp +0 -258
  85. data/ext/ruby-cbc/install/include/coin/CbcSubProblem.hpp +0 -83
  86. data/ext/ruby-cbc/install/include/coin/CbcTree.hpp +0 -490
  87. data/ext/ruby-cbc/install/include/coin/CbcTreeLocal.hpp +0 -372
  88. data/ext/ruby-cbc/install/include/coin/Cbc_C_Interface.h +0 -381
  89. data/ext/ruby-cbc/install/include/coin/Cgl012cut.hpp +0 -464
  90. data/ext/ruby-cbc/install/include/coin/CglAllDifferent.hpp +0 -115
  91. data/ext/ruby-cbc/install/include/coin/CglClique.hpp +0 -308
  92. data/ext/ruby-cbc/install/include/coin/CglConfig.h +0 -19
  93. data/ext/ruby-cbc/install/include/coin/CglCutGenerator.hpp +0 -121
  94. data/ext/ruby-cbc/install/include/coin/CglDuplicateRow.hpp +0 -189
  95. data/ext/ruby-cbc/install/include/coin/CglFlowCover.hpp +0 -371
  96. data/ext/ruby-cbc/install/include/coin/CglGMI.hpp +0 -364
  97. data/ext/ruby-cbc/install/include/coin/CglGMIParam.hpp +0 -313
  98. data/ext/ruby-cbc/install/include/coin/CglGomory.hpp +0 -204
  99. data/ext/ruby-cbc/install/include/coin/CglKnapsackCover.hpp +0 -310
  100. data/ext/ruby-cbc/install/include/coin/CglLandP.hpp +0 -306
  101. data/ext/ruby-cbc/install/include/coin/CglLandPValidator.hpp +0 -130
  102. data/ext/ruby-cbc/install/include/coin/CglLiftAndProject.hpp +0 -104
  103. data/ext/ruby-cbc/install/include/coin/CglMessage.hpp +0 -50
  104. data/ext/ruby-cbc/install/include/coin/CglMixedIntegerRounding.hpp +0 -429
  105. data/ext/ruby-cbc/install/include/coin/CglMixedIntegerRounding2.hpp +0 -427
  106. data/ext/ruby-cbc/install/include/coin/CglOddHole.hpp +0 -160
  107. data/ext/ruby-cbc/install/include/coin/CglParam.hpp +0 -93
  108. data/ext/ruby-cbc/install/include/coin/CglPreProcess.hpp +0 -492
  109. data/ext/ruby-cbc/install/include/coin/CglProbing.hpp +0 -543
  110. data/ext/ruby-cbc/install/include/coin/CglRedSplit.hpp +0 -448
  111. data/ext/ruby-cbc/install/include/coin/CglRedSplit2.hpp +0 -494
  112. data/ext/ruby-cbc/install/include/coin/CglRedSplit2Param.hpp +0 -495
  113. data/ext/ruby-cbc/install/include/coin/CglRedSplitParam.hpp +0 -272
  114. data/ext/ruby-cbc/install/include/coin/CglResidualCapacity.hpp +0 -240
  115. data/ext/ruby-cbc/install/include/coin/CglSimpleRounding.hpp +0 -174
  116. data/ext/ruby-cbc/install/include/coin/CglStored.hpp +0 -125
  117. data/ext/ruby-cbc/install/include/coin/CglTreeInfo.hpp +0 -180
  118. data/ext/ruby-cbc/install/include/coin/CglTwomir.hpp +0 -565
  119. data/ext/ruby-cbc/install/include/coin/CglZeroHalf.hpp +0 -133
  120. data/ext/ruby-cbc/install/include/coin/ClpAmplObjective.hpp +0 -113
  121. data/ext/ruby-cbc/install/include/coin/ClpCholeskyBase.hpp +0 -294
  122. data/ext/ruby-cbc/install/include/coin/ClpCholeskyDense.hpp +0 -162
  123. data/ext/ruby-cbc/install/include/coin/ClpConfig.h +0 -17
  124. data/ext/ruby-cbc/install/include/coin/ClpConstraint.hpp +0 -125
  125. data/ext/ruby-cbc/install/include/coin/ClpConstraintAmpl.hpp +0 -108
  126. data/ext/ruby-cbc/install/include/coin/ClpConstraintLinear.hpp +0 -110
  127. data/ext/ruby-cbc/install/include/coin/ClpConstraintQuadratic.hpp +0 -119
  128. data/ext/ruby-cbc/install/include/coin/ClpDualRowDantzig.hpp +0 -71
  129. data/ext/ruby-cbc/install/include/coin/ClpDualRowPivot.hpp +0 -129
  130. data/ext/ruby-cbc/install/include/coin/ClpDualRowSteepest.hpp +0 -153
  131. data/ext/ruby-cbc/install/include/coin/ClpDummyMatrix.hpp +0 -183
  132. data/ext/ruby-cbc/install/include/coin/ClpDynamicExampleMatrix.hpp +0 -186
  133. data/ext/ruby-cbc/install/include/coin/ClpDynamicMatrix.hpp +0 -381
  134. data/ext/ruby-cbc/install/include/coin/ClpEventHandler.hpp +0 -187
  135. data/ext/ruby-cbc/install/include/coin/ClpFactorization.hpp +0 -432
  136. data/ext/ruby-cbc/install/include/coin/ClpGubDynamicMatrix.hpp +0 -247
  137. data/ext/ruby-cbc/install/include/coin/ClpGubMatrix.hpp +0 -358
  138. data/ext/ruby-cbc/install/include/coin/ClpInterior.hpp +0 -570
  139. data/ext/ruby-cbc/install/include/coin/ClpLinearObjective.hpp +0 -103
  140. data/ext/ruby-cbc/install/include/coin/ClpMatrixBase.hpp +0 -524
  141. data/ext/ruby-cbc/install/include/coin/ClpMessage.hpp +0 -131
  142. data/ext/ruby-cbc/install/include/coin/ClpModel.hpp +0 -1307
  143. data/ext/ruby-cbc/install/include/coin/ClpNetworkMatrix.hpp +0 -229
  144. data/ext/ruby-cbc/install/include/coin/ClpNode.hpp +0 -349
  145. data/ext/ruby-cbc/install/include/coin/ClpNonLinearCost.hpp +0 -401
  146. data/ext/ruby-cbc/install/include/coin/ClpObjective.hpp +0 -134
  147. data/ext/ruby-cbc/install/include/coin/ClpPackedMatrix.hpp +0 -638
  148. data/ext/ruby-cbc/install/include/coin/ClpParameters.hpp +0 -126
  149. data/ext/ruby-cbc/install/include/coin/ClpPdcoBase.hpp +0 -103
  150. data/ext/ruby-cbc/install/include/coin/ClpPlusMinusOneMatrix.hpp +0 -290
  151. data/ext/ruby-cbc/install/include/coin/ClpPresolve.hpp +0 -299
  152. data/ext/ruby-cbc/install/include/coin/ClpPrimalColumnDantzig.hpp +0 -72
  153. data/ext/ruby-cbc/install/include/coin/ClpPrimalColumnPivot.hpp +0 -155
  154. data/ext/ruby-cbc/install/include/coin/ClpPrimalColumnSteepest.hpp +0 -247
  155. data/ext/ruby-cbc/install/include/coin/ClpQuadraticObjective.hpp +0 -155
  156. data/ext/ruby-cbc/install/include/coin/ClpSimplex.hpp +0 -1797
  157. data/ext/ruby-cbc/install/include/coin/ClpSimplexDual.hpp +0 -300
  158. data/ext/ruby-cbc/install/include/coin/ClpSimplexNonlinear.hpp +0 -117
  159. data/ext/ruby-cbc/install/include/coin/ClpSimplexOther.hpp +0 -277
  160. data/ext/ruby-cbc/install/include/coin/ClpSimplexPrimal.hpp +0 -244
  161. data/ext/ruby-cbc/install/include/coin/ClpSolve.hpp +0 -446
  162. data/ext/ruby-cbc/install/include/coin/Clp_C_Interface.h +0 -525
  163. data/ext/ruby-cbc/install/include/coin/CoinAlloc.hpp +0 -176
  164. data/ext/ruby-cbc/install/include/coin/CoinBuild.hpp +0 -149
  165. data/ext/ruby-cbc/install/include/coin/CoinDenseFactorization.hpp +0 -419
  166. data/ext/ruby-cbc/install/include/coin/CoinDenseVector.hpp +0 -383
  167. data/ext/ruby-cbc/install/include/coin/CoinDistance.hpp +0 -48
  168. data/ext/ruby-cbc/install/include/coin/CoinError.hpp +0 -257
  169. data/ext/ruby-cbc/install/include/coin/CoinFactorization.hpp +0 -2044
  170. data/ext/ruby-cbc/install/include/coin/CoinFileIO.hpp +0 -166
  171. data/ext/ruby-cbc/install/include/coin/CoinFinite.hpp +0 -34
  172. data/ext/ruby-cbc/install/include/coin/CoinFloatEqual.hpp +0 -177
  173. data/ext/ruby-cbc/install/include/coin/CoinHelperFunctions.hpp +0 -1111
  174. data/ext/ruby-cbc/install/include/coin/CoinIndexedVector.hpp +0 -1164
  175. data/ext/ruby-cbc/install/include/coin/CoinLpIO.hpp +0 -805
  176. data/ext/ruby-cbc/install/include/coin/CoinMessage.hpp +0 -96
  177. data/ext/ruby-cbc/install/include/coin/CoinMessageHandler.hpp +0 -666
  178. data/ext/ruby-cbc/install/include/coin/CoinModel.hpp +0 -1054
  179. data/ext/ruby-cbc/install/include/coin/CoinModelUseful.hpp +0 -441
  180. data/ext/ruby-cbc/install/include/coin/CoinMpsIO.hpp +0 -1056
  181. data/ext/ruby-cbc/install/include/coin/CoinOslFactorization.hpp +0 -280
  182. data/ext/ruby-cbc/install/include/coin/CoinPackedMatrix.hpp +0 -947
  183. data/ext/ruby-cbc/install/include/coin/CoinPackedVector.hpp +0 -657
  184. data/ext/ruby-cbc/install/include/coin/CoinPackedVectorBase.hpp +0 -269
  185. data/ext/ruby-cbc/install/include/coin/CoinParam.hpp +0 -644
  186. data/ext/ruby-cbc/install/include/coin/CoinPragma.hpp +0 -26
  187. data/ext/ruby-cbc/install/include/coin/CoinPresolveDoubleton.hpp +0 -73
  188. data/ext/ruby-cbc/install/include/coin/CoinPresolveDual.hpp +0 -85
  189. data/ext/ruby-cbc/install/include/coin/CoinPresolveDupcol.hpp +0 -226
  190. data/ext/ruby-cbc/install/include/coin/CoinPresolveEmpty.hpp +0 -116
  191. data/ext/ruby-cbc/install/include/coin/CoinPresolveFixed.hpp +0 -181
  192. data/ext/ruby-cbc/install/include/coin/CoinPresolveForcing.hpp +0 -61
  193. data/ext/ruby-cbc/install/include/coin/CoinPresolveImpliedFree.hpp +0 -60
  194. data/ext/ruby-cbc/install/include/coin/CoinPresolveIsolated.hpp +0 -51
  195. data/ext/ruby-cbc/install/include/coin/CoinPresolveMatrix.hpp +0 -1842
  196. data/ext/ruby-cbc/install/include/coin/CoinPresolveMonitor.hpp +0 -105
  197. data/ext/ruby-cbc/install/include/coin/CoinPresolvePsdebug.hpp +0 -166
  198. data/ext/ruby-cbc/install/include/coin/CoinPresolveSingleton.hpp +0 -112
  199. data/ext/ruby-cbc/install/include/coin/CoinPresolveSubst.hpp +0 -101
  200. data/ext/ruby-cbc/install/include/coin/CoinPresolveTighten.hpp +0 -55
  201. data/ext/ruby-cbc/install/include/coin/CoinPresolveTripleton.hpp +0 -66
  202. data/ext/ruby-cbc/install/include/coin/CoinPresolveUseless.hpp +0 -63
  203. data/ext/ruby-cbc/install/include/coin/CoinPresolveZeros.hpp +0 -60
  204. data/ext/ruby-cbc/install/include/coin/CoinRational.hpp +0 -44
  205. data/ext/ruby-cbc/install/include/coin/CoinSearchTree.hpp +0 -465
  206. data/ext/ruby-cbc/install/include/coin/CoinShallowPackedVector.hpp +0 -148
  207. data/ext/ruby-cbc/install/include/coin/CoinSignal.hpp +0 -117
  208. data/ext/ruby-cbc/install/include/coin/CoinSimpFactorization.hpp +0 -431
  209. data/ext/ruby-cbc/install/include/coin/CoinSmartPtr.hpp +0 -528
  210. data/ext/ruby-cbc/install/include/coin/CoinSnapshot.hpp +0 -476
  211. data/ext/ruby-cbc/install/include/coin/CoinSort.hpp +0 -678
  212. data/ext/ruby-cbc/install/include/coin/CoinStructuredModel.hpp +0 -247
  213. data/ext/ruby-cbc/install/include/coin/CoinTime.hpp +0 -310
  214. data/ext/ruby-cbc/install/include/coin/CoinTypes.hpp +0 -64
  215. data/ext/ruby-cbc/install/include/coin/CoinUtility.hpp +0 -19
  216. data/ext/ruby-cbc/install/include/coin/CoinUtilsConfig.h +0 -34
  217. data/ext/ruby-cbc/install/include/coin/CoinWarmStart.hpp +0 -58
  218. data/ext/ruby-cbc/install/include/coin/CoinWarmStartBasis.hpp +0 -456
  219. data/ext/ruby-cbc/install/include/coin/CoinWarmStartDual.hpp +0 -166
  220. data/ext/ruby-cbc/install/include/coin/CoinWarmStartPrimalDual.hpp +0 -211
  221. data/ext/ruby-cbc/install/include/coin/CoinWarmStartVector.hpp +0 -488
  222. data/ext/ruby-cbc/install/include/coin/Coin_C_defines.h +0 -115
  223. data/ext/ruby-cbc/install/include/coin/Idiot.hpp +0 -298
  224. data/ext/ruby-cbc/install/include/coin/OsiAuxInfo.hpp +0 -206
  225. data/ext/ruby-cbc/install/include/coin/OsiBranchingObject.hpp +0 -1005
  226. data/ext/ruby-cbc/install/include/coin/OsiCbcSolverInterface.hpp +0 -764
  227. data/ext/ruby-cbc/install/include/coin/OsiChooseVariable.hpp +0 -534
  228. data/ext/ruby-cbc/install/include/coin/OsiClpSolverInterface.hpp +0 -1509
  229. data/ext/ruby-cbc/install/include/coin/OsiColCut.hpp +0 -324
  230. data/ext/ruby-cbc/install/include/coin/OsiCollections.hpp +0 -35
  231. data/ext/ruby-cbc/install/include/coin/OsiConfig.h +0 -19
  232. data/ext/ruby-cbc/install/include/coin/OsiCut.hpp +0 -245
  233. data/ext/ruby-cbc/install/include/coin/OsiCuts.hpp +0 -474
  234. data/ext/ruby-cbc/install/include/coin/OsiPresolve.hpp +0 -252
  235. data/ext/ruby-cbc/install/include/coin/OsiRowCut.hpp +0 -331
  236. data/ext/ruby-cbc/install/include/coin/OsiRowCutDebugger.hpp +0 -187
  237. data/ext/ruby-cbc/install/include/coin/OsiSolverBranch.hpp +0 -152
  238. data/ext/ruby-cbc/install/include/coin/OsiSolverInterface.hpp +0 -2143
  239. data/ext/ruby-cbc/install/include/coin/OsiSolverParameters.hpp +0 -142
  240. data/ext/ruby-cbc/install/include/coin/OsiUnitTests.hpp +0 -374
  241. data/ext/ruby-cbc/install/lib/libCbc.la +0 -35
  242. data/ext/ruby-cbc/install/lib/libCbc.so +0 -0
  243. data/ext/ruby-cbc/install/lib/libCbc.so.3 +0 -0
  244. data/ext/ruby-cbc/install/lib/libCbc.so.3.9.7 +0 -0
  245. data/ext/ruby-cbc/install/lib/libCbcSolver.la +0 -35
  246. data/ext/ruby-cbc/install/lib/libCbcSolver.so +0 -0
  247. data/ext/ruby-cbc/install/lib/libCbcSolver.so.3 +0 -0
  248. data/ext/ruby-cbc/install/lib/libCbcSolver.so.3.9.7 +0 -0
  249. data/ext/ruby-cbc/install/lib/libCgl.la +0 -35
  250. data/ext/ruby-cbc/install/lib/libCgl.so +0 -0
  251. data/ext/ruby-cbc/install/lib/libCgl.so.1 +0 -0
  252. data/ext/ruby-cbc/install/lib/libCgl.so.1.9.7 +0 -0
  253. data/ext/ruby-cbc/install/lib/libClp.la +0 -35
  254. data/ext/ruby-cbc/install/lib/libClp.so +0 -0
  255. data/ext/ruby-cbc/install/lib/libClp.so.1 +0 -0
  256. data/ext/ruby-cbc/install/lib/libClp.so.1.13.9 +0 -0
  257. data/ext/ruby-cbc/install/lib/libClpSolver.la +0 -35
  258. data/ext/ruby-cbc/install/lib/libClpSolver.so +0 -0
  259. data/ext/ruby-cbc/install/lib/libClpSolver.so.1 +0 -0
  260. data/ext/ruby-cbc/install/lib/libClpSolver.so.1.13.9 +0 -0
  261. data/ext/ruby-cbc/install/lib/libCoinUtils.la +0 -35
  262. data/ext/ruby-cbc/install/lib/libCoinUtils.so +0 -0
  263. data/ext/ruby-cbc/install/lib/libCoinUtils.so.3 +0 -0
  264. data/ext/ruby-cbc/install/lib/libCoinUtils.so.3.10.11 +0 -0
  265. data/ext/ruby-cbc/install/lib/libOsi.la +0 -35
  266. data/ext/ruby-cbc/install/lib/libOsi.so +0 -0
  267. data/ext/ruby-cbc/install/lib/libOsi.so.1 +0 -0
  268. data/ext/ruby-cbc/install/lib/libOsi.so.1.12.6 +0 -0
  269. data/ext/ruby-cbc/install/lib/libOsiCbc.la +0 -35
  270. data/ext/ruby-cbc/install/lib/libOsiCbc.so +0 -0
  271. data/ext/ruby-cbc/install/lib/libOsiCbc.so.3 +0 -0
  272. data/ext/ruby-cbc/install/lib/libOsiCbc.so.3.9.7 +0 -0
  273. data/ext/ruby-cbc/install/lib/libOsiClp.la +0 -35
  274. data/ext/ruby-cbc/install/lib/libOsiClp.so +0 -0
  275. data/ext/ruby-cbc/install/lib/libOsiClp.so.1 +0 -0
  276. data/ext/ruby-cbc/install/lib/libOsiClp.so.1.13.9 +0 -0
  277. data/ext/ruby-cbc/install/lib/libOsiCommonTests.la +0 -35
  278. data/ext/ruby-cbc/install/lib/libOsiCommonTests.so +0 -0
  279. data/ext/ruby-cbc/install/lib/libOsiCommonTests.so.1 +0 -0
  280. data/ext/ruby-cbc/install/lib/libOsiCommonTests.so.1.12.6 +0 -0
  281. data/ext/ruby-cbc/install/lib/pkgconfig/cbc.pc +0 -12
  282. data/ext/ruby-cbc/install/lib/pkgconfig/cgl.pc +0 -12
  283. data/ext/ruby-cbc/install/lib/pkgconfig/clp.pc +0 -12
  284. data/ext/ruby-cbc/install/lib/pkgconfig/coindatamiplib3.pc +0 -9
  285. data/ext/ruby-cbc/install/lib/pkgconfig/coindatasample.pc +0 -9
  286. data/ext/ruby-cbc/install/lib/pkgconfig/coinutils.pc +0 -12
  287. data/ext/ruby-cbc/install/lib/pkgconfig/osi-cbc.pc +0 -12
  288. data/ext/ruby-cbc/install/lib/pkgconfig/osi-clp.pc +0 -12
  289. data/ext/ruby-cbc/install/lib/pkgconfig/osi-unittests.pc +0 -12
  290. data/ext/ruby-cbc/install/lib/pkgconfig/osi.pc +0 -12
@@ -1,60 +0,0 @@
1
- require 'mkmf'
2
- ROOT_DIR = File.dirname(File.absolute_path(__FILE__))
3
-
4
- TARBALL_PATH = "/tmp/Cbc.tgz"
5
- CBC_SRC_DIR = "/tmp/Cbc-2.9.7"
6
- CBC_INSTALL = "#{ROOT_DIR}/install"
7
- def install_cbc
8
- system "curl -o #{TARBALL_PATH} http://www.coin-or.org/download/source/Cbc/Cbc-2.9.7.tgz"
9
- Dir.chdir "/tmp"
10
- system "tar -xzf #{TARBALL_PATH}"
11
- res = system "cd #{CBC_SRC_DIR} && ./configure --prefix=#{CBC_INSTALL} -C --with-pic --without-static && make -j4 && make install"
12
- if not res
13
- puts "Failed to build CBC, aborting"
14
- exit 1
15
- end
16
- end
17
-
18
- unless RUBY_PLATFORM =~ /x86_64-linux/
19
- if not have_library("Cbc")
20
- install_cbc
21
- end
22
- end
23
-
24
- ## Rerun this if updated cbc version
25
- # swig_cmd = find_executable "swig"
26
- # current_path = File.expand_path('../', __FILE__)
27
- # %x{#{swig_cmd} -ruby -I#{current_path}/install/include/coin #{current_path}/cbc.i }
28
-
29
- libs = %w(
30
- Cbc
31
- CbcSolver
32
- Cgl
33
- Clp
34
- ClpSolver
35
- CoinUtils
36
- Osi
37
- OsiCbc
38
- OsiClp
39
- OsiCommonTests
40
- )
41
-
42
- # $CFLAGS << " -Linstall/lib -Iinstall/include/coin/ "
43
- # $LIBPATH << "install/lib"
44
- # $INCFLAGS << " -Iinstall/include/coin/ "
45
-
46
- libs.each do |lib|
47
- find_library(lib,nil, "#{CBC_INSTALL}/lib")
48
- end
49
-
50
- headers = Dir["#{CBC_INSTALL}/include/coin/*.h"].map{ |h| h.split('/').last }
51
- # headers = Dir["#{CBC_INSTALL}/include/coin/*.hpp"].map{ |h| h.split('/').last }
52
- # with_cflags("-x c++") do
53
- headers.each do |header|
54
- find_header(header, "#{CBC_INSTALL}/include/coin")
55
- end
56
- # end
57
-
58
- dir_config("ruby-cbc")
59
- RPATHFLAG << " -Wl,-rpath='$$ORIGIN/install/lib'"
60
- create_makefile('cbc_wrapper')
Binary file
Binary file
@@ -1,24 +0,0 @@
1
- /* $Id: CbcBranchActual.hpp 1573 2011-01-05 01:12:36Z lou $ */
2
- // Copyright (C) 2002, 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 CbcBranchActual_H
7
- #define CbcBranchActual_H
8
-
9
- #include "CbcBranchBase.hpp"
10
- #include "CoinPackedMatrix.hpp"
11
- #include "CbcClique.hpp"
12
- #include "CbcSOS.hpp"
13
- #include "CbcSimpleInteger.hpp"
14
- #include "CbcNWay.hpp"
15
- #include "CbcSimpleIntegerPseudoCost.hpp"
16
- #include "CbcBranchDefaultDecision.hpp"
17
- #include "CbcFollowOn.hpp"
18
- #include "CbcFixVariable.hpp"
19
- #include "CbcDummyBranchingObject.hpp"
20
- #include "CbcGeneral.hpp"
21
- #include "CbcGeneralDepth.hpp"
22
- #include "CbcSubProblem.hpp"
23
- #endif
24
-
@@ -1,62 +0,0 @@
1
- // $Id: CbcBranchAllDifferent.hpp 1899 2013-04-09 18:12:08Z stefan $
2
- // Copyright (C) 2004, 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
- // Edwin 11/13/2009-- carved out of CbcBranchCut
7
-
8
- #ifndef CbcBranchAllDifferent_H
9
- #define CbcBranchAllDifferent_H
10
-
11
- #include "CbcBranchBase.hpp"
12
- #include "OsiRowCut.hpp"
13
- #include "CoinPackedMatrix.hpp"
14
- #include "CbcBranchCut.hpp"
15
-
16
- /** Define a branch class that branches so that it is only satsified if all
17
- members have different values
18
- So cut is x <= y-1 or x >= y+1
19
- */
20
-
21
-
22
- class CbcBranchAllDifferent : public CbcBranchCut {
23
-
24
- public:
25
-
26
- // Default Constructor
27
- CbcBranchAllDifferent ();
28
-
29
- /** Useful constructor - passed set of integer variables which must all be different
30
- */
31
- CbcBranchAllDifferent (CbcModel * model, int number, const int * which);
32
-
33
- // Copy constructor
34
- CbcBranchAllDifferent ( const CbcBranchAllDifferent &);
35
-
36
- /// Clone
37
- virtual CbcObject * clone() const;
38
-
39
- // Assignment operator
40
- CbcBranchAllDifferent & operator=( const CbcBranchAllDifferent& rhs);
41
-
42
- // Destructor
43
- ~CbcBranchAllDifferent ();
44
-
45
- /// Infeasibility - large is 0.5
46
- virtual double infeasibility(const OsiBranchingInformation * info,
47
- int &preferredWay) const;
48
-
49
- /// Creates a branching object
50
- virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface * solver, const OsiBranchingInformation * info, int way) ;
51
-
52
-
53
- protected:
54
- /// data
55
-
56
- /// Number of entries
57
- int numberInSet_;
58
- /// Which variables
59
- int * which_;
60
- };
61
- #endif
62
-
@@ -1,78 +0,0 @@
1
- /* $Id: CbcBranchBase.hpp 1573 2011-01-05 01:12:36Z lou $ */
2
- // Copyright (C) 2002, 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 CbcBranchBase_H
7
- #define CbcBranchBase_H
8
-
9
- #include <string>
10
- #include <vector>
11
- #include "OsiBranchingObject.hpp"
12
-
13
- enum CbcRangeCompare {
14
- CbcRangeSame,
15
- CbcRangeDisjoint,
16
- CbcRangeSubset,
17
- CbcRangeSuperset,
18
- CbcRangeOverlap
19
- };
20
-
21
- #include "CbcObject.hpp"
22
- #include "CbcBranchingObject.hpp"
23
- #include "CbcBranchDecision.hpp"
24
- #include "CbcConsequence.hpp"
25
- #include "CbcObjectUpdateData.hpp"
26
-
27
- //##############################################################################
28
-
29
- /** Compare two ranges. The two bounds arrays are both of size two and
30
- describe closed intervals. Return the appropriate CbcRangeCompare value
31
- (first argument being the sub/superset if that's the case). In case of
32
- overlap (and if \c replaceIfOverlap is true) replace the content of thisBd
33
- with the intersection of the ranges.
34
- */
35
- static inline CbcRangeCompare
36
- CbcCompareRanges(double* thisBd, const double* otherBd,
37
- const bool replaceIfOverlap)
38
- {
39
- const double lbDiff = thisBd[0] - otherBd[0];
40
- if (lbDiff < 0) { // lb of this < lb of other
41
- if (thisBd[1] >= otherBd[1]) { // ub of this >= ub of other
42
- return CbcRangeSuperset;
43
- } else if (thisBd[1] < otherBd[0]) {
44
- return CbcRangeDisjoint;
45
- } else {
46
- // overlap
47
- if (replaceIfOverlap) {
48
- thisBd[0] = otherBd[0];
49
- }
50
- return CbcRangeOverlap;
51
- }
52
- } else if (lbDiff > 0) { // lb of this > lb of other
53
- if (thisBd[1] <= otherBd[1]) { // ub of this <= ub of other
54
- return CbcRangeSubset;
55
- } else if (thisBd[0] > otherBd[1]) {
56
- return CbcRangeDisjoint;
57
- } else {
58
- // overlap
59
- if (replaceIfOverlap) {
60
- thisBd[1] = otherBd[1];
61
- }
62
- return CbcRangeOverlap;
63
- }
64
- } else { // lb of this == lb of other
65
- if (thisBd[1] == otherBd[1]) {
66
- return CbcRangeSame;
67
- }
68
- return thisBd[1] < otherBd[1] ? CbcRangeSubset : CbcRangeSuperset;
69
- }
70
-
71
- return CbcRangeSame; // fake return
72
-
73
- }
74
-
75
- //#############################################################################
76
-
77
- #endif
78
-
@@ -1,183 +0,0 @@
1
- /* $Id: CbcBranchCut.hpp 1573 2011-01-05 01:12:36Z lou $ */
2
- // Copyright (C) 2004, 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 CbcBranchCut_H
7
- #define CbcBranchCut_H
8
-
9
- #include "CbcBranchBase.hpp"
10
- #include "OsiRowCut.hpp"
11
- #include "CoinPackedMatrix.hpp"
12
-
13
- /** Define a cut branching class.
14
- At present empty - all stuff in descendants
15
- */
16
-
17
- class CbcBranchCut : public CbcObject {
18
-
19
- public:
20
-
21
- // Default Constructor
22
- CbcBranchCut ();
23
-
24
- /** In to maintain normal methods
25
- */
26
- CbcBranchCut (CbcModel * model);
27
- // Copy constructor
28
- CbcBranchCut ( const CbcBranchCut &);
29
-
30
- /// Clone
31
- virtual CbcObject * clone() const;
32
-
33
- // Assignment operator
34
- CbcBranchCut & operator=( const CbcBranchCut& rhs);
35
-
36
- // Destructor
37
- ~CbcBranchCut ();
38
-
39
- /// Infeasibility
40
- virtual double infeasibility(const OsiBranchingInformation * info,
41
- int &preferredWay) const;
42
-
43
- using CbcObject::feasibleRegion ;
44
- /** Set bounds to contain the current solution.
45
-
46
- More precisely, for the variable associated with this object, take the
47
- value given in the current solution, force it within the current bounds
48
- if required, then set the bounds to fix the variable at the integer
49
- nearest the solution value.
50
-
51
- At present this will do nothing
52
- */
53
- virtual void feasibleRegion();
54
-
55
- /** \brief Return true if branch created by object should fix variables
56
- */
57
- virtual bool boundBranch() const ;
58
-
59
- /// Creates a branching object
60
- virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface * solver, const OsiBranchingInformation * info, int way) ;
61
-
62
- /** \brief Given a valid solution (with reduced costs, etc.),
63
- return a branching object which would give a new feasible
64
- point in the good direction.
65
-
66
- The preferred branching object will force the variable to be +/-1 from
67
- its current value, depending on the reduced cost and objective sense. If
68
- movement in the direction which improves the objective is impossible due
69
- to bounds on the variable, the branching object will move in the other
70
- direction. If no movement is possible, the method returns NULL.
71
-
72
- Only the bounds on this variable are considered when determining if the new
73
- point is feasible.
74
-
75
- At present this does nothing
76
- */
77
- virtual CbcBranchingObject * preferredNewFeasible() const;
78
-
79
- /** \brief Given a valid solution (with reduced costs, etc.),
80
- return a branching object which would give a new feasible
81
- point in a bad direction.
82
-
83
- As for preferredNewFeasible(), but the preferred branching object will
84
- force movement in a direction that degrades the objective.
85
-
86
- At present this does nothing
87
- */
88
- virtual CbcBranchingObject * notPreferredNewFeasible() const ;
89
-
90
- using CbcObject::resetBounds ;
91
- /** Reset original upper and lower bound values from the solver.
92
-
93
- Handy for updating bounds held in this object after bounds held in the
94
- solver have been tightened.
95
- */
96
- virtual void resetBounds();
97
-
98
-
99
- protected:
100
- /// data
101
-
102
- };
103
- /** Cut branching object
104
-
105
- This object can specify a two-way branch in terms of two cuts
106
- */
107
-
108
- class CbcCutBranchingObject : public CbcBranchingObject {
109
-
110
- public:
111
-
112
- /// Default constructor
113
- CbcCutBranchingObject ();
114
-
115
- /** Create a cut branching object
116
-
117
- Cut down will applied on way=-1, up on way==1
118
- Assumed down will be first so way_ set to -1
119
- */
120
- CbcCutBranchingObject (CbcModel * model, OsiRowCut & down, OsiRowCut &up, bool canFix);
121
-
122
- /// Copy constructor
123
- CbcCutBranchingObject ( const CbcCutBranchingObject &);
124
-
125
- /// Assignment operator
126
- CbcCutBranchingObject & operator= (const CbcCutBranchingObject& rhs);
127
-
128
- /// Clone
129
- virtual CbcBranchingObject * clone() const;
130
-
131
- /// Destructor
132
- virtual ~CbcCutBranchingObject ();
133
-
134
- using CbcBranchingObject::branch ;
135
- /** \brief Sets the bounds for variables or adds a cut depending on the
136
- current arm of the branch and advances the object state to the next arm.
137
- Returns change in guessed objective on next branch
138
- */
139
- virtual double branch();
140
-
141
- using CbcBranchingObject::print ;
142
- /** \brief Print something about branch - only if log level high
143
- */
144
- virtual void print();
145
-
146
- /** \brief Return true if branch should fix variables
147
- */
148
- virtual bool boundBranch() const;
149
-
150
- /** Return the type (an integer identifier) of \c this */
151
- virtual CbcBranchObjType type() const {
152
- return CutBranchingObj;
153
- }
154
-
155
- /** Compare the original object of \c this with the original object of \c
156
- brObj. Assumes that there is an ordering of the original objects.
157
- This method should be invoked only if \c this and brObj are of the same
158
- type.
159
- Return negative/0/positive depending on whether \c this is
160
- smaller/same/larger than the argument.
161
- */
162
- virtual int compareOriginalObject(const CbcBranchingObject* brObj) const;
163
-
164
- /** Compare the \c this with \c brObj. \c this and \c brObj must be os the
165
- same type and must have the same original object, but they may have
166
- different feasible regions.
167
- Return the appropriate CbcRangeCompare value (first argument being the
168
- sub/superset if that's the case). In case of overlap (and if \c
169
- replaceIfOverlap is true) replace the current branching object with one
170
- whose feasible region is the overlap.
171
- */
172
- virtual CbcRangeCompare compareBranchingObject
173
- (const CbcBranchingObject* brObj, const bool replaceIfOverlap = false);
174
-
175
- protected:
176
- /// Cut for the down arm (way_ = -1)
177
- OsiRowCut down_;
178
- /// Cut for the up arm (way_ = 1)
179
- OsiRowCut up_;
180
- /// True if one way can fix variables
181
- bool canFix_;
182
- };
183
- #endif
@@ -1,129 +0,0 @@
1
- // $Id: CbcBranchDecision.hpp 1899 2013-04-09 18:12:08Z stefan $
2
- // Copyright (C) 2002, 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
- // Edwin 11/12/2009 carved from CbcBranchBase
7
-
8
- #ifndef CbcBranchDecision_H
9
- #define CbcBranchDecision_H
10
-
11
- #include "CbcBranchBase.hpp"
12
-
13
- /** Abstract branching decision base class
14
-
15
- In the abstract, an CbcBranchDecision object is expected to be able to
16
- compare two possible branching choices.
17
-
18
- The #betterBranch() method is the crucial routine. It is expected to be able
19
- to compare two \link CbcBranchingObject CbcBranchingObjects \endlink.
20
-
21
- See CbcObject for an overview of the three classes (CbcObject,
22
- CbcBranchingObject, and CbcBranchDecision) which make up cbc's branching
23
- model.
24
- */
25
- class CbcModel;
26
- class OsiChooseVariable;
27
-
28
- class CbcBranchDecision {
29
- public:
30
- /// Default Constructor
31
- CbcBranchDecision ();
32
-
33
- // Copy constructor
34
- CbcBranchDecision ( const CbcBranchDecision &);
35
-
36
- /// Destructor
37
- virtual ~CbcBranchDecision();
38
-
39
- /// Clone
40
- virtual CbcBranchDecision * clone() const = 0;
41
-
42
- /// Initialize <i>e.g.</i> before starting to choose a branch at a node
43
- virtual void initialize(CbcModel * model) = 0;
44
-
45
- /** \brief Compare two branching objects. Return nonzero if branching
46
- using \p thisOne is better than branching using \p bestSoFar.
47
-
48
- If \p bestSoFar is NULL, the routine should return a nonzero value.
49
- This routine is used only after strong branching.
50
- Either this or bestBranch is used depending which user wants.
51
-
52
- */
53
-
54
- virtual int
55
- betterBranch (CbcBranchingObject * thisOne,
56
- CbcBranchingObject * bestSoFar,
57
- double changeUp, int numberInfeasibilitiesUp,
58
- double changeDown, int numberInfeasibilitiesDown) = 0 ;
59
-
60
- /** \brief Compare N branching objects. Return index of best
61
- and sets way of branching in chosen object.
62
-
63
- Either this or betterBranch is used depending which user wants.
64
- */
65
-
66
- virtual int
67
- bestBranch (CbcBranchingObject ** objects, int numberObjects, int numberUnsatisfied,
68
- double * changeUp, int * numberInfeasibilitiesUp,
69
- double * changeDown, int * numberInfeasibilitiesDown,
70
- double objectiveValue) ;
71
-
72
- /** Says whether this method can handle both methods -
73
- 1 better, 2 best, 3 both */
74
- virtual int whichMethod() {
75
- return 2;
76
- }
77
-
78
- /** Saves a clone of current branching object. Can be used to update
79
- information on object causing branch - after branch */
80
- virtual void saveBranchingObject(OsiBranchingObject * ) {}
81
- /** Pass in information on branch just done.
82
- assumes object can get information from solver */
83
- virtual void updateInformation(OsiSolverInterface * ,
84
- const CbcNode * ) {}
85
- /** Sets or gets best criterion so far */
86
- virtual void setBestCriterion(double ) {}
87
- virtual double getBestCriterion() const {
88
- return 0.0;
89
- }
90
- /// Create C++ lines to get to current state
91
- virtual void generateCpp( FILE * ) {}
92
- /// Model
93
- inline CbcModel * cbcModel() const {
94
- return model_;
95
- }
96
- /* If chooseMethod_ id non-null then the rest is fairly pointless
97
- as choosemethod_ will be doing all work
98
- This comment makes more sense if you realise that there's a conversion in
99
- process from the Cbc branching classes to Osi branching classes. The test
100
- for use of the Osi branching classes is CbcModel::branchingMethod_
101
- non-null (i.e., it points to one of these CbcBranchDecision objects) and
102
- that branch decision object has an OsiChooseVariable method set. In which
103
- case, we'll use it, rather than the choose[*]Variable methods defined in
104
- CbcNode.
105
- */
106
-
107
- OsiChooseVariable * chooseMethod() const {
108
- return chooseMethod_;
109
- }
110
- /// Set (clone) chooseMethod
111
- void setChooseMethod(const OsiChooseVariable & method);
112
-
113
- protected:
114
-
115
- // Clone of branching object
116
- CbcBranchingObject * object_;
117
- /// Pointer to model
118
- CbcModel * model_;
119
- /* If chooseMethod_ id non-null then the rest is fairly pointless
120
- as choosemethod_ will be doing all work
121
- */
122
- OsiChooseVariable * chooseMethod_;
123
- private:
124
- /// Assignment is illegal
125
- CbcBranchDecision & operator=(const CbcBranchDecision& rhs);
126
-
127
- };
128
- #endif
129
-