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,94 +0,0 @@
1
- // $Id: CbcBranchToFixLots.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 CbcBranchToFixLots_H
9
- #define CbcBranchToFixLots_H
10
-
11
- #include "CbcBranchCut.hpp"
12
- #include "CbcBranchBase.hpp"
13
- #include "OsiRowCut.hpp"
14
- #include "CoinPackedMatrix.hpp"
15
-
16
- /** Define a branch class that branches so that one way variables are fixed
17
- while the other way cuts off that solution.
18
- a) On reduced cost
19
- b) When enough ==1 or <=1 rows have been satisfied (not fixed - satisfied)
20
- */
21
-
22
-
23
- class CbcBranchToFixLots : public CbcBranchCut {
24
-
25
- public:
26
-
27
- // Default Constructor
28
- CbcBranchToFixLots ();
29
-
30
- /** Useful constructor - passed reduced cost tolerance and fraction we would like fixed.
31
- Also depth level to do at.
32
- Also passed number of 1 rows which when clean triggers fix
33
- Always does if all 1 rows cleaned up and number>0 or if fraction columns reached
34
- Also whether to create branch if can't reach fraction.
35
- */
36
- CbcBranchToFixLots (CbcModel * model, double djTolerance,
37
- double fractionFixed, int depth,
38
- int numberClean = 0,
39
- const char * mark = NULL,
40
- bool alwaysCreate = false);
41
-
42
- // Copy constructor
43
- CbcBranchToFixLots ( const CbcBranchToFixLots &);
44
-
45
- /// Clone
46
- virtual CbcObject * clone() const;
47
-
48
- // Assignment operator
49
- CbcBranchToFixLots & operator=( const CbcBranchToFixLots& rhs);
50
-
51
- // Destructor
52
- ~CbcBranchToFixLots ();
53
-
54
- /** Does a lot of the work,
55
- Returns 0 if no good, 1 if dj, 2 if clean, 3 if both
56
- FIXME: should use enum or equivalent to make these numbers clearer.
57
- */
58
- int shallWe() const;
59
-
60
- /// Infeasibility for an integer variable - large is 0.5, but also can be infinity when known infeasible.
61
- virtual double infeasibility(const OsiBranchingInformation * info,
62
- int &preferredWay) const;
63
- /** \brief Return true if object can take part in normal heuristics
64
- */
65
- virtual bool canDoHeuristics() const {
66
- return true;
67
- }
68
-
69
- /// Creates a branching object
70
- virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface * solver, const OsiBranchingInformation * info, int way) ;
71
- /// Redoes data when sequence numbers change
72
- virtual void redoSequenceEtc(CbcModel * model, int numberColumns, const int * originalColumns);
73
-
74
-
75
- protected:
76
- /// data
77
-
78
- /// Reduced cost tolerance i.e. dj has to be >= this before fixed
79
- double djTolerance_;
80
- /// We only need to make sure this fraction fixed
81
- double fractionFixed_;
82
- /// Never fix ones marked here
83
- char * mark_;
84
- /// Matrix by row
85
- CoinPackedMatrix matrixByRow_;
86
- /// Do if depth multiple of this
87
- int depth_;
88
- /// number of ==1 rows which need to be clean
89
- int numberClean_;
90
- /// If true then always create branch
91
- bool alwaysCreate_;
92
- };
93
- #endif
94
-
@@ -1,236 +0,0 @@
1
- // $Id: CbcBranchingObject.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 CbcBranchingObject_H
9
- #define CbcBranchingObject_H
10
-
11
- #include <string>
12
- #include <vector>
13
- #include "CbcBranchBase.hpp"
14
- #include "OsiBranchingObject.hpp"
15
-
16
-
17
- // The types of objects that will be derived from this class.
18
- enum CbcBranchObjType
19
- {
20
- SimpleIntegerBranchObj = 100,
21
- SimpleIntegerDynamicPseudoCostBranchObj = 101,
22
- CliqueBranchObj = 102,
23
- LongCliqueBranchObj = 103,
24
- SoSBranchObj = 104,
25
- NWayBranchObj = 105,
26
- FollowOnBranchObj = 106,
27
- DummyBranchObj = 107,
28
- GeneralDepthBranchObj = 108,
29
- OneGeneralBranchingObj = 110,
30
- CutBranchingObj = 200,
31
- LotsizeBranchObj = 300,
32
- DynamicPseudoCostBranchObj = 400
33
- };
34
-
35
- /** \brief Abstract branching object base class
36
- Now just difference with OsiBranchingObject
37
-
38
- In the abstract, an CbcBranchingObject contains instructions for how to
39
- branch. We want an abstract class so that we can describe how to branch on
40
- simple objects (<i>e.g.</i>, integers) and more exotic objects
41
- (<i>e.g.</i>, cliques or hyperplanes).
42
-
43
- The #branch() method is the crucial routine: it is expected to be able to
44
- step through a set of branch arms, executing the actions required to create
45
- each subproblem in turn. The base class is primarily virtual to allow for
46
- a wide range of problem modifications.
47
-
48
- See CbcObject for an overview of the three classes (CbcObject,
49
- CbcBranchingObject, and CbcBranchDecision) which make up cbc's branching
50
- model.
51
- */
52
-
53
- class CbcBranchingObject : public OsiBranchingObject {
54
-
55
- public:
56
-
57
- /// Default Constructor
58
- CbcBranchingObject ();
59
-
60
- /// Constructor
61
- CbcBranchingObject (CbcModel * model, int variable, int way , double value);
62
-
63
- /// Copy constructor
64
- CbcBranchingObject ( const CbcBranchingObject &);
65
-
66
- /// Assignment operator
67
- CbcBranchingObject & operator=( const CbcBranchingObject& rhs);
68
-
69
- /// Clone
70
- virtual CbcBranchingObject * clone() const = 0;
71
-
72
- /// Destructor
73
- virtual ~CbcBranchingObject ();
74
-
75
- /** Some branchingObjects may claim to be able to skip
76
- strong branching. If so they have to fill in CbcStrongInfo.
77
- The object mention in incoming CbcStrongInfo must match.
78
- Returns nonzero if skip is wanted */
79
- virtual int fillStrongInfo( CbcStrongInfo & ) {
80
- return 0;
81
- }
82
- /// Reset number of branches left to original
83
- inline void resetNumberBranchesLeft() {
84
- branchIndex_ = 0;
85
- }
86
- /// Set number of branches to do
87
- inline void setNumberBranches(int value) {
88
- branchIndex_ = 0;
89
- numberBranches_ = value;
90
- }
91
-
92
- /** \brief Execute the actions required to branch, as specified by the
93
- current state of the branching object, and advance the object's
94
- state. Mainly for diagnostics, whether it is true branch or
95
- strong branching is also passed.
96
- Returns change in guessed objective on next branch
97
- */
98
- virtual double branch() = 0;
99
- /** \brief Execute the actions required to branch, as specified by the
100
- current state of the branching object, and advance the object's
101
- state. Mainly for diagnostics, whether it is true branch or
102
- strong branching is also passed.
103
- Returns change in guessed objective on next branch
104
- */
105
- virtual double branch(OsiSolverInterface * ) {
106
- return branch();
107
- }
108
- /** Update bounds in solver as in 'branch' and update given bounds.
109
- branchState is -1 for 'down' +1 for 'up' */
110
- virtual void fix(OsiSolverInterface * ,
111
- double * , double * ,
112
- int ) const {}
113
-
114
- /** Change (tighten) bounds in object to reflect bounds in solver.
115
- Return true if now fixed */
116
- virtual bool tighten(OsiSolverInterface * ) {return false;}
117
-
118
- /** Reset every information so that the branching object appears to point to
119
- the previous child. This method does not need to modify anything in any
120
- solver. */
121
- virtual void previousBranch() {
122
- assert(branchIndex_ > 0);
123
- branchIndex_--;
124
- way_ = -way_;
125
- }
126
-
127
- using OsiBranchingObject::print ;
128
- /** \brief Print something about branch - only if log level high
129
- */
130
- virtual void print() const {}
131
-
132
- /** \brief Index identifying the associated CbcObject within its class.
133
-
134
- The name is misleading, and typically the index will <i>not</i> refer
135
- directly to a variable.
136
- Rather, it identifies an CbcObject within the class of similar
137
- CbcObjects
138
-
139
- <i>E.g.</i>, for an CbcSimpleInteger, variable() is the index of the
140
- integer variable in the set of integer variables (<i>not</i> the index of
141
- the variable in the set of all variables).
142
- */
143
- inline int variable() const {
144
- return variable_;
145
- }
146
-
147
- /** Get the state of the branching object
148
-
149
- Returns a code indicating the active arm of the branching object.
150
- The precise meaning is defined in the derived class.
151
-
152
- \sa #way_
153
- */
154
- inline int way() const {
155
- return way_;
156
- }
157
-
158
- /** Set the state of the branching object.
159
-
160
- See #way()
161
- */
162
- inline void way(int way) {
163
- way_ = way;
164
- }
165
-
166
- /// update model
167
- inline void setModel(CbcModel * model) {
168
- model_ = model;
169
- }
170
- /// Return model
171
- inline CbcModel * model() const {
172
- return model_;
173
- }
174
-
175
- /// Return pointer back to object which created
176
- inline CbcObject * object() const {
177
- return originalCbcObject_;
178
- }
179
- /// Set pointer back to object which created
180
- inline void setOriginalObject(CbcObject * object) {
181
- originalCbcObject_ = object;
182
- }
183
-
184
- // Methods used in heuristics
185
-
186
- /** Return the type (an integer identifier) of \c this.
187
- See definition of CbcBranchObjType above for possibilities
188
- */
189
-
190
- virtual CbcBranchObjType type() const = 0;
191
-
192
- /** Compare the original object of \c this with the original object of \c
193
- brObj. Assumes that there is an ordering of the original objects.
194
- This method should be invoked only if \c this and brObj are of the same
195
- type.
196
- Return negative/0/positive depending on whether \c this is
197
- smaller/same/larger than the argument.
198
- */
199
- virtual int compareOriginalObject(const CbcBranchingObject* brObj) const {
200
- const CbcBranchingObject* br = dynamic_cast<const CbcBranchingObject*>(brObj);
201
- return variable() - br->variable();
202
- }
203
-
204
- /** Compare the \c this with \c brObj. \c this and \c brObj must be of the
205
- same type and must have the same original object, but they may have
206
- different feasible regions.
207
- Return the appropriate CbcRangeCompare value (first argument being the
208
- sub/superset if that's the case). In case of overlap (and if \c
209
- replaceIfOverlap is true) replace the current branching object with one
210
- whose feasible region is the overlap.
211
- */
212
- virtual CbcRangeCompare compareBranchingObject
213
- (const CbcBranchingObject* brObj, const bool replaceIfOverlap = false) = 0;
214
-
215
- protected:
216
-
217
- /// The model that owns this branching object
218
- CbcModel * model_;
219
- /// Pointer back to object which created
220
- CbcObject * originalCbcObject_;
221
-
222
- /// Branching variable (0 is first integer)
223
- int variable_;
224
- // was - Way to branch - -1 down (first), 1 up, -2 down (second), 2 up (second)
225
- /** The state of the branching object.
226
-
227
- Specifies the active arm of the branching object. Coded as -1 to take
228
- the `down' arm, +1 for the `up' arm. `Down' and `up' are defined based on
229
- the natural meaning (floor and ceiling, respectively) for a simple integer.
230
- The precise meaning is defined in the derived class.
231
- */
232
- int way_;
233
-
234
- };
235
- #endif
236
-
@@ -1,303 +0,0 @@
1
- // $Id: CbcClique.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/9/2009-- carved out of CbcBranchActual
7
-
8
- #ifndef CbcClique_H
9
- #define CbcClique_H
10
-
11
- /** \brief Branching object for cliques
12
-
13
- A clique is defined to be a set of binary variables where fixing any one
14
- variable to its `strong' value fixes all other variables. An example is the
15
- most common SOS1 construction: a set of binary variables x_j s.t. SUM{j}
16
- x_j = 1. Setting any one variable to 1 forces all other variables to 0.
17
- (See comments for CbcSOS below.)
18
-
19
- Other configurations are possible, however: Consider x1-x2+x3 <= 0.
20
- Setting x1 (x3) to 1 forces x2 to 1 and x3 (x1) to 0. Setting x2 to 0
21
- forces x1 and x3 to 0.
22
-
23
- The proper point of view to take when interpreting CbcClique is
24
- `generalisation of SOS1 on binary variables.' To get into the proper frame
25
- of mind, here's an example.
26
-
27
- Consider the following sequence, where x_j = (1-y_j):
28
- \verbatim
29
- x1 + x2 + x3 <= 1 all strong at 1
30
- x1 - y2 + x3 <= 0 y2 strong at 0; x1, x3 strong at 1
31
- -y1 - y2 + x3 <= -1 y1, y2 strong at 0, x3 strong at 1
32
- -y1 - y2 - y3 <= -2 all strong at 0
33
- \endverbatim
34
- The first line is a standard SOS1 on binary variables.
35
-
36
- Variables with +1 coefficients are `SOS-style' and variables with -1
37
- coefficients are `non-SOS-style'. So #numberNonSOSMembers_ simply tells you
38
- how many variables have -1 coefficients. The implicit rhs for a clique is
39
- 1-numberNonSOSMembers_.
40
- */
41
- class CbcClique : public CbcObject {
42
-
43
- public:
44
-
45
- /// Default Constructor
46
- CbcClique ();
47
-
48
- /** Useful constructor (which are integer indices) slack can denote a slack
49
- in set. If type == NULL then as if 1
50
- */
51
- CbcClique (CbcModel * model, int cliqueType, int numberMembers,
52
- const int * which, const char * type,
53
- int identifier, int slack = -1);
54
-
55
- /// Copy constructor
56
- CbcClique ( const CbcClique &);
57
-
58
- /// Clone
59
- virtual CbcObject * clone() const;
60
-
61
- /// Assignment operator
62
- CbcClique & operator=( const CbcClique& rhs);
63
-
64
- /// Destructor
65
- virtual ~CbcClique ();
66
-
67
- /// Infeasibility - large is 0.5
68
- virtual double infeasibility(const OsiBranchingInformation * info,
69
- int &preferredWay) const;
70
-
71
- using CbcObject::feasibleRegion ;
72
- /// This looks at solution and sets bounds to contain solution
73
- virtual void feasibleRegion();
74
-
75
- /// Creates a branching object
76
- virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface * solver, const OsiBranchingInformation * info, int way) ;
77
- /// Number of members
78
- inline int numberMembers() const {
79
- return numberMembers_;
80
- }
81
- /** \brief Number of variables with -1 coefficient
82
-
83
- Number of non-SOS members, i.e., fixing to zero is strong.
84
- See comments at head of class, and comments for #type_.
85
- */
86
- inline int numberNonSOSMembers() const {
87
- return numberNonSOSMembers_;
88
- }
89
-
90
- /// Members (indices in range 0 ... numberIntegers_-1)
91
- inline const int * members() const {
92
- return members_;
93
- }
94
-
95
- /*! \brief Type of each member, i.e., which way is strong.
96
-
97
- This also specifies whether a variable has a +1 or -1 coefficient.
98
- - 0 => -1 coefficient, 0 is strong value
99
- - 1 => +1 coefficient, 1 is strong value
100
- If unspecified, all coefficients are assumed to be positive.
101
-
102
- Indexed as 0 .. numberMembers_-1
103
- */
104
- inline char type(int index) const {
105
- if (type_) return type_[index];
106
- else return 1;
107
- }
108
-
109
- /// Clique type: 0 is <=, 1 is ==
110
- inline int cliqueType() const {
111
- return cliqueType_;
112
- }
113
- /// Redoes data when sequence numbers change
114
- virtual void redoSequenceEtc(CbcModel * model, int numberColumns, const int * originalColumns);
115
-
116
- protected:
117
- /// data
118
- /// Number of members
119
- int numberMembers_;
120
-
121
- /// Number of Non SOS members i.e. fixing to zero is strong
122
- int numberNonSOSMembers_;
123
-
124
- /// Members (indices in range 0 ... numberIntegers_-1)
125
- int * members_;
126
-
127
- /** \brief Strong value for each member.
128
-
129
- This also specifies whether a variable has a +1 or -1 coefficient.
130
- - 0 => -1 coefficient, 0 is strong value
131
- - 1 => +1 coefficient, 1 is strong value
132
- If unspecified, all coefficients are assumed to be positive.
133
-
134
- Indexed as 0 .. numberMembers_-1
135
- */
136
- char * type_;
137
-
138
- /** \brief Clique type
139
-
140
- 0 defines a <= relation, 1 an equality. The assumed value of the rhs is
141
- numberNonSOSMembers_+1. (See comments for the class.)
142
- */
143
- int cliqueType_;
144
-
145
- /** \brief Slack variable for the clique
146
-
147
- Identifies the slack variable for the clique (typically added to convert
148
- a <= relation to an equality). Value is sequence number within clique
149
- menbers.
150
- */
151
- int slack_;
152
- };
153
-
154
- /** Branching object for unordered cliques
155
-
156
- Intended for cliques which are long enough to make it worthwhile
157
- but <= 64 members. There will also be ones for long cliques.
158
-
159
- Variable_ is the clique id number (redundant, as the object also holds a
160
- pointer to the clique.
161
- */
162
- class CbcCliqueBranchingObject : public CbcBranchingObject {
163
-
164
- public:
165
-
166
- // Default Constructor
167
- CbcCliqueBranchingObject ();
168
-
169
- // Useful constructor
170
- CbcCliqueBranchingObject (CbcModel * model, const CbcClique * clique,
171
- int way,
172
- int numberOnDownSide, const int * down,
173
- int numberOnUpSide, const int * up);
174
-
175
- // Copy constructor
176
- CbcCliqueBranchingObject ( const CbcCliqueBranchingObject &);
177
-
178
- // Assignment operator
179
- CbcCliqueBranchingObject & operator=( const CbcCliqueBranchingObject& rhs);
180
-
181
- /// Clone
182
- virtual CbcBranchingObject * clone() const;
183
-
184
- // Destructor
185
- virtual ~CbcCliqueBranchingObject ();
186
-
187
- using CbcBranchingObject::branch ;
188
- /// Does next branch and updates state
189
- virtual double branch();
190
-
191
- using CbcBranchingObject::print ;
192
- /** \brief Print something about branch - only if log level high
193
- */
194
- virtual void print();
195
-
196
- /** Return the type (an integer identifier) of \c this */
197
- virtual CbcBranchObjType type() const {
198
- return CliqueBranchObj;
199
- }
200
-
201
- /** Compare the original object of \c this with the original object of \c
202
- brObj. Assumes that there is an ordering of the original objects.
203
- This method should be invoked only if \c this and brObj are of the same
204
- type.
205
- Return negative/0/positive depending on whether \c this is
206
- smaller/same/larger than the argument.
207
- */
208
- virtual int compareOriginalObject(const CbcBranchingObject* brObj) const;
209
-
210
- /** Compare the \c this with \c brObj. \c this and \c brObj must be of the
211
- same type and must have the same original object, but they may have
212
- different feasible regions.
213
- Return the appropriate CbcRangeCompare value (first argument being the
214
- sub/superset if that's the case). In case of overlap (and if \c
215
- replaceIfOverlap is true) replace the current branching object with one
216
- whose feasible region is the overlap.
217
- */
218
- virtual CbcRangeCompare compareBranchingObject
219
- (const CbcBranchingObject* brObj, const bool replaceIfOverlap = false);
220
-
221
- private:
222
- /// data
223
- const CbcClique * clique_;
224
- /// downMask - bit set to fix to weak bounds, not set to leave unfixed
225
- unsigned int downMask_[2];
226
- /// upMask - bit set to fix to weak bounds, not set to leave unfixed
227
- unsigned int upMask_[2];
228
- };
229
-
230
- /** Unordered Clique Branching Object class.
231
- These are for cliques which are > 64 members
232
- Variable is number of clique.
233
- */
234
- class CbcLongCliqueBranchingObject : public CbcBranchingObject {
235
-
236
- public:
237
-
238
- // Default Constructor
239
- CbcLongCliqueBranchingObject ();
240
-
241
- // Useful constructor
242
- CbcLongCliqueBranchingObject (CbcModel * model, const CbcClique * clique,
243
- int way,
244
- int numberOnDownSide, const int * down,
245
- int numberOnUpSide, const int * up);
246
-
247
- // Copy constructor
248
- CbcLongCliqueBranchingObject ( const CbcLongCliqueBranchingObject &);
249
-
250
- // Assignment operator
251
- CbcLongCliqueBranchingObject & operator=( const CbcLongCliqueBranchingObject& rhs);
252
-
253
- /// Clone
254
- virtual CbcBranchingObject * clone() const;
255
-
256
- // Destructor
257
- virtual ~CbcLongCliqueBranchingObject ();
258
-
259
- using CbcBranchingObject::branch ;
260
- /// Does next branch and updates state
261
- virtual double branch();
262
-
263
- using CbcBranchingObject::print ;
264
- /** \brief Print something about branch - only if log level high
265
- */
266
- virtual void print();
267
-
268
- /** Return the type (an integer identifier) of \c this */
269
- virtual CbcBranchObjType type() const {
270
- return LongCliqueBranchObj;
271
- }
272
-
273
- /** Compare the original object of \c this with the original object of \c
274
- brObj. Assumes that there is an ordering of the original objects.
275
- This method should be invoked only if \c this and brObj are of the same
276
- type.
277
- Return negative/0/positive depending on whether \c this is
278
- smaller/same/larger than the argument.
279
- */
280
- virtual int compareOriginalObject(const CbcBranchingObject* brObj) const;
281
-
282
- /** Compare the \c this with \c brObj. \c this and \c brObj must be os the
283
- same type and must have the same original object, but they may have
284
- different feasible regions.
285
- Return the appropriate CbcRangeCompare value (first argument being the
286
- sub/superset if that's the case). In case of overlap (and if \c
287
- replaceIfOverlap is true) replace the current branching object with one
288
- whose feasible region is the overlap.
289
- */
290
- virtual CbcRangeCompare compareBranchingObject
291
- (const CbcBranchingObject* brObj, const bool replaceIfOverlap = false);
292
-
293
- private:
294
- /// data
295
- const CbcClique * clique_;
296
- /// downMask - bit set to fix to weak bounds, not set to leave unfixed
297
- unsigned int * downMask_;
298
- /// upMask - bit set to fix to weak bounds, not set to leave unfixed
299
- unsigned int * upMask_;
300
- };
301
-
302
- #endif
303
-