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,474 +0,0 @@
1
- // Copyright (C) 2000, International Business Machines
2
- // Corporation and others. All Rights Reserved.
3
- // This code is licensed under the terms of the Eclipse Public License (EPL).
4
-
5
- #ifndef OsiCuts_H
6
- #define OsiCuts_H
7
-
8
- #include "CoinPragma.hpp"
9
-
10
- #include <cmath>
11
- #include <cfloat>
12
- #include "OsiCollections.hpp"
13
- #include "OsiRowCut.hpp"
14
- #include "OsiColCut.hpp"
15
- #include "CoinFloatEqual.hpp"
16
-
17
- /** Collections of row cuts and column cuts
18
- */
19
- class OsiCuts {
20
- friend void OsiCutsUnitTest();
21
-
22
- public:
23
- /**@name Iterator classes
24
- */
25
- //@{
26
- /** Iterator
27
-
28
- This is a class for iterating over the collection of cuts.
29
- */
30
- class iterator {
31
- friend class OsiCuts;
32
- public:
33
- iterator(OsiCuts& cuts);
34
- iterator(const iterator & src);
35
- iterator & operator=( const iterator& rhs);
36
- ~iterator ();
37
- OsiCut* operator*() const { return cutP_; }
38
- iterator operator++();
39
-
40
- iterator operator++(int)
41
- {
42
- iterator temp = *this;
43
- ++*this;
44
- return temp;
45
- }
46
-
47
- bool operator==(const iterator& it) const {
48
- return (colCutIndex_+rowCutIndex_)==(it.colCutIndex_+it.rowCutIndex_);
49
- }
50
-
51
- bool operator!=(const iterator& it) const {
52
- return !((*this)==it);
53
- }
54
-
55
- bool operator<(const iterator& it) const {
56
- return (colCutIndex_+rowCutIndex_)<(it.colCutIndex_+it.rowCutIndex_);
57
- }
58
-
59
- private:
60
- iterator();
61
- // *THINK* : how to inline these without sticking the code here (ugly...)
62
- iterator begin();
63
- iterator end();
64
- OsiCuts& cuts_;
65
- int rowCutIndex_;
66
- int colCutIndex_;
67
- OsiCut * cutP_;
68
- };
69
-
70
- /** Const Iterator
71
-
72
- This is a class for iterating over the collection of cuts.
73
- */
74
- class const_iterator {
75
- friend class OsiCuts;
76
- public:
77
- typedef std::forward_iterator_tag iterator_category;
78
- typedef OsiCut* value_type;
79
- typedef size_t difference_type;
80
- typedef OsiCut ** pointer;
81
- typedef OsiCut *& reference;
82
-
83
- public:
84
- const_iterator(const OsiCuts& cuts);
85
- const_iterator(const const_iterator & src);
86
- const_iterator & operator=( const const_iterator& rhs);
87
- ~const_iterator ();
88
- const OsiCut* operator*() const { return cutP_; }
89
-
90
- const_iterator operator++();
91
-
92
- const_iterator operator++(int)
93
- {
94
- const_iterator temp = *this;
95
- ++*this;
96
- return temp;
97
- }
98
-
99
- bool operator==(const const_iterator& it) const {
100
- return (colCutIndex_+rowCutIndex_)==(it.colCutIndex_+it.rowCutIndex_);
101
- }
102
-
103
- bool operator!=(const const_iterator& it) const {
104
- return !((*this)==it);
105
- }
106
-
107
- bool operator<(const const_iterator& it) const {
108
- return (colCutIndex_+rowCutIndex_)<(it.colCutIndex_+it.rowCutIndex_);
109
- }
110
- private:
111
- inline const_iterator();
112
- // *THINK* : how to inline these without sticking the code here (ugly...)
113
- const_iterator begin();
114
- const_iterator end();
115
- const OsiCuts * cutsPtr_;
116
- int rowCutIndex_;
117
- int colCutIndex_;
118
- const OsiCut * cutP_;
119
- };
120
- //@}
121
-
122
- //-------------------------------------------------------------------
123
- //
124
- // Cuts class definition begins here:
125
- //
126
- //-------------------------------------------------------------------
127
-
128
- /** \name Inserting a cut into collection */
129
- //@{
130
- /** \brief Insert a row cut */
131
- inline void insert( const OsiRowCut & rc );
132
- /** \brief Insert a row cut unless it is a duplicate - cut may get sorted.
133
- Duplicate is defined as CoinAbsFltEq says same*/
134
- void insertIfNotDuplicate( OsiRowCut & rc , CoinAbsFltEq treatAsSame=CoinAbsFltEq(1.0e-12) );
135
- /** \brief Insert a row cut unless it is a duplicate - cut may get sorted.
136
- Duplicate is defined as CoinRelFltEq says same*/
137
- void insertIfNotDuplicate( OsiRowCut & rc , CoinRelFltEq treatAsSame );
138
- /** \brief Insert a column cut */
139
- inline void insert( const OsiColCut & cc );
140
-
141
- /** \brief Insert a row cut.
142
-
143
- The OsiCuts object takes control of the cut object.
144
- On return, \c rcPtr is NULL.
145
- */
146
- inline void insert( OsiRowCut * & rcPtr );
147
- /** \brief Insert a column cut.
148
-
149
- The OsiCuts object takes control of the cut object.
150
- On return \c ccPtr is NULL.
151
- */
152
- inline void insert( OsiColCut * & ccPtr );
153
- #if 0
154
- inline void insert( OsiCut * & cPtr );
155
- #endif
156
-
157
- /** \brief Insert a set of cuts */
158
- inline void insert(const OsiCuts & cs);
159
-
160
- //@}
161
-
162
- /**@name Number of cuts in collection */
163
- //@{
164
- /// Number of row cuts in collection
165
- inline int sizeRowCuts() const;
166
- /// Number of column cuts in collection
167
- inline int sizeColCuts() const;
168
- /// Number of cuts in collection
169
- inline int sizeCuts() const;
170
- //@}
171
-
172
- /**@name Debug stuff */
173
- //@{
174
- /// Print cuts in collection
175
- inline void printCuts() const;
176
- //@}
177
-
178
- /**@name Get a cut from collection */
179
- //@{
180
- /// Get pointer to i'th row cut
181
- inline OsiRowCut * rowCutPtr(int i);
182
- /// Get const pointer to i'th row cut
183
- inline const OsiRowCut * rowCutPtr(int i) const;
184
- /// Get pointer to i'th column cut
185
- inline OsiColCut * colCutPtr(int i);
186
- /// Get const pointer to i'th column cut
187
- inline const OsiColCut * colCutPtr(int i) const;
188
-
189
- /// Get reference to i'th row cut
190
- inline OsiRowCut & rowCut(int i);
191
- /// Get const reference to i'th row cut
192
- inline const OsiRowCut & rowCut(int i) const;
193
- /// Get reference to i'th column cut
194
- inline OsiColCut & colCut(int i);
195
- /// Get const reference to i'th column cut
196
- inline const OsiColCut & colCut(int i) const;
197
-
198
- /// Get const pointer to the most effective cut
199
- inline const OsiCut * mostEffectiveCutPtr() const;
200
- /// Get pointer to the most effective cut
201
- inline OsiCut * mostEffectiveCutPtr();
202
- //@}
203
-
204
- /**@name Deleting cut from collection */
205
- //@{
206
- /// Remove i'th row cut from collection
207
- inline void eraseRowCut(int i);
208
- /// Remove i'th column cut from collection
209
- inline void eraseColCut(int i);
210
- /// Get pointer to i'th row cut and remove ptr from collection
211
- inline OsiRowCut * rowCutPtrAndZap(int i);
212
- /*! \brief Clear all row cuts without deleting them
213
-
214
- Handy in case one wants to use CGL without managing cuts in one of
215
- the OSI containers. Client is ultimately responsible for deleting the
216
- data structures holding the row cuts.
217
- */
218
- inline void dumpCuts() ;
219
- /*! \brief Selective delete and clear for row cuts.
220
-
221
- Deletes the cuts specified in \p to_erase then clears remaining cuts
222
- without deleting them. A hybrid of eraseRowCut(int) and dumpCuts().
223
- Client is ultimately responsible for deleting the data structures
224
- for row cuts not specified in \p to_erase.
225
- */
226
- inline void eraseAndDumpCuts(const std::vector<int> to_erase) ;
227
- //@}
228
-
229
- /**@name Sorting collection */
230
- //@{
231
- /// Cuts with greatest effectiveness are first.
232
- inline void sort();
233
- //@}
234
-
235
-
236
- /**@name Iterators
237
- Example of using an iterator to sum effectiveness
238
- of all cuts in the collection.
239
- <pre>
240
- double sumEff=0.0;
241
- for ( OsiCuts::iterator it=cuts.begin(); it!=cuts.end(); ++it )
242
- sumEff+= (*it)->effectiveness();
243
- </pre>
244
- */
245
- //@{
246
- /// Get iterator to beginning of collection
247
- inline iterator begin() { iterator it(*this); it.begin(); return it; }
248
- /// Get const iterator to beginning of collection
249
- inline const_iterator begin() const { const_iterator it(*this); it.begin(); return it; }
250
- /// Get iterator to end of collection
251
- inline iterator end() { iterator it(*this); it.end(); return it; }
252
- /// Get const iterator to end of collection
253
- inline const_iterator end() const { const_iterator it(*this); it.end(); return it; }
254
- //@}
255
-
256
-
257
- /**@name Constructors and destructors */
258
- //@{
259
- /// Default constructor
260
- OsiCuts ();
261
-
262
- /// Copy constructor
263
- OsiCuts ( const OsiCuts &);
264
-
265
- /// Assignment operator
266
- OsiCuts & operator=( const OsiCuts& rhs);
267
-
268
- /// Destructor
269
- virtual ~OsiCuts ();
270
- //@}
271
-
272
- private:
273
- //*@name Function operator for sorting cuts by efectiveness */
274
- //@{
275
- class OsiCutCompare
276
- {
277
- public:
278
- /// Function for sorting cuts by effectiveness
279
- inline bool operator()(const OsiCut * c1P,const OsiCut * c2P)
280
- { return c1P->effectiveness() > c2P->effectiveness(); }
281
- };
282
- //@}
283
-
284
- /**@name Private methods */
285
- //@{
286
- /// Copy internal data
287
- void gutsOfCopy( const OsiCuts & source );
288
- /// Delete internal data
289
- void gutsOfDestructor();
290
- //@}
291
-
292
- /**@name Private member data */
293
- //@{
294
- /// Vector of row cuts pointers
295
- OsiVectorRowCutPtr rowCutPtrs_;
296
- /// Vector of column cuts pointers
297
- OsiVectorColCutPtr colCutPtrs_;
298
- //@}
299
-
300
- };
301
-
302
-
303
- //-------------------------------------------------------------------
304
- // insert cuts into collection
305
- //-------------------------------------------------------------------
306
- void OsiCuts::insert( const OsiRowCut & rc )
307
- {
308
- OsiRowCut * newCutPtr = rc.clone();
309
- //assert(dynamic_cast<OsiRowCut*>(newCutPtr) != NULL );
310
- rowCutPtrs_.push_back(static_cast<OsiRowCut*>(newCutPtr));
311
- }
312
- void OsiCuts::insert( const OsiColCut & cc )
313
- {
314
- OsiColCut * newCutPtr = cc.clone();
315
- //assert(dynamic_cast<OsiColCut*>(newCutPtr) != NULL );
316
- colCutPtrs_.push_back(static_cast<OsiColCut*>(newCutPtr));
317
- }
318
-
319
- void OsiCuts::insert( OsiRowCut* & rcPtr )
320
- {
321
- rowCutPtrs_.push_back(rcPtr);
322
- rcPtr = NULL;
323
- }
324
- void OsiCuts::insert( OsiColCut* &ccPtr )
325
- {
326
- colCutPtrs_.push_back(ccPtr);
327
- ccPtr = NULL;
328
- }
329
- #if 0
330
- void OsiCuts::insert( OsiCut* & cPtr )
331
- {
332
- OsiRowCut * rcPtr = dynamic_cast<OsiRowCut*>(cPtr);
333
- if ( rcPtr != NULL ) {
334
- insert( rcPtr );
335
- cPtr = rcPtr;
336
- }
337
- else {
338
- OsiColCut * ccPtr = dynamic_cast<OsiColCut*>(cPtr);
339
- assert( ccPtr != NULL );
340
- insert( ccPtr );
341
- cPtr = ccPtr;
342
- }
343
- }
344
- #endif
345
-
346
- // LANNEZ SEBASTIEN added Thu May 25 01:22:51 EDT 2006
347
- void OsiCuts::insert(const OsiCuts & cs)
348
- {
349
- for (OsiCuts::const_iterator it = cs.begin (); it != cs.end (); it++)
350
- {
351
- const OsiRowCut * rCut = dynamic_cast <const OsiRowCut * >(*it);
352
- const OsiColCut * cCut = dynamic_cast <const OsiColCut * >(*it);
353
- assert (rCut || cCut);
354
- if (rCut)
355
- insert (*rCut);
356
- else
357
- insert (*cCut);
358
- }
359
- }
360
-
361
- //-------------------------------------------------------------------
362
- // sort
363
- //-------------------------------------------------------------------
364
- void OsiCuts::sort()
365
- {
366
- std::sort(colCutPtrs_.begin(),colCutPtrs_.end(),OsiCutCompare());
367
- std::sort(rowCutPtrs_.begin(),rowCutPtrs_.end(),OsiCutCompare());
368
- }
369
-
370
-
371
- //-------------------------------------------------------------------
372
- // Get number of in collections
373
- //-------------------------------------------------------------------
374
- int OsiCuts::sizeRowCuts() const {
375
- return static_cast<int>(rowCutPtrs_.size()); }
376
- int OsiCuts::sizeColCuts() const {
377
- return static_cast<int>(colCutPtrs_.size()); }
378
- int OsiCuts::sizeCuts() const {
379
- return static_cast<int>(sizeRowCuts()+sizeColCuts()); }
380
-
381
- //----------------------------------------------------------------
382
- // Get i'th cut from the collection
383
- //----------------------------------------------------------------
384
- const OsiRowCut * OsiCuts::rowCutPtr(int i) const { return rowCutPtrs_[i]; }
385
- const OsiColCut * OsiCuts::colCutPtr(int i) const { return colCutPtrs_[i]; }
386
- OsiRowCut * OsiCuts::rowCutPtr(int i) { return rowCutPtrs_[i]; }
387
- OsiColCut * OsiCuts::colCutPtr(int i) { return colCutPtrs_[i]; }
388
-
389
- const OsiRowCut & OsiCuts::rowCut(int i) const { return *rowCutPtr(i); }
390
- const OsiColCut & OsiCuts::colCut(int i) const { return *colCutPtr(i); }
391
- OsiRowCut & OsiCuts::rowCut(int i) { return *rowCutPtr(i); }
392
- OsiColCut & OsiCuts::colCut(int i) { return *colCutPtr(i); }
393
-
394
- //----------------------------------------------------------------
395
- // Get most effective cut from collection
396
- //----------------------------------------------------------------
397
- const OsiCut * OsiCuts::mostEffectiveCutPtr() const
398
- {
399
- const_iterator b=begin();
400
- const_iterator e=end();
401
- return *(std::min_element(b,e,OsiCutCompare()));
402
- }
403
- OsiCut * OsiCuts::mostEffectiveCutPtr()
404
- {
405
- iterator b=begin();
406
- iterator e=end();
407
- //return *(std::min_element(b,e,OsiCutCompare()));
408
- OsiCut * retVal = NULL;
409
- double maxEff = COIN_DBL_MIN;
410
- for ( OsiCuts::iterator it=b; it!=e; ++it ) {
411
- if (maxEff < (*it)->effectiveness() ) {
412
- maxEff = (*it)->effectiveness();
413
- retVal = *it;
414
- }
415
- }
416
- return retVal;
417
- }
418
-
419
- //----------------------------------------------------------------
420
- // Print all cuts
421
- //----------------------------------------------------------------
422
- void
423
- OsiCuts::printCuts() const
424
- {
425
- // do all column cuts first
426
- int i;
427
- int numberColCuts=sizeColCuts();
428
- for (i=0;i<numberColCuts;i++) {
429
- const OsiColCut * cut = colCutPtr(i);
430
- cut->print();
431
- }
432
- int numberRowCuts=sizeRowCuts();
433
- for (i=0;i<numberRowCuts;i++) {
434
- const OsiRowCut * cut = rowCutPtr(i);
435
- cut->print();
436
- }
437
- }
438
-
439
- //----------------------------------------------------------------
440
- // Erase i'th cut from the collection
441
- //----------------------------------------------------------------
442
- void OsiCuts::eraseRowCut(int i)
443
- {
444
- delete rowCutPtrs_[i];
445
- rowCutPtrs_.erase( rowCutPtrs_.begin()+i );
446
- }
447
- void OsiCuts::eraseColCut(int i)
448
- {
449
- delete colCutPtrs_[i];
450
- colCutPtrs_.erase( colCutPtrs_.begin()+i );
451
- }
452
- /// Get pointer to i'th row cut and remove ptr from collection
453
- OsiRowCut *
454
- OsiCuts::rowCutPtrAndZap(int i)
455
- {
456
- OsiRowCut * cut = rowCutPtrs_[i];
457
- rowCutPtrs_[i]=NULL;
458
- rowCutPtrs_.erase( rowCutPtrs_.begin()+i );
459
- return cut;
460
- }
461
- void OsiCuts::dumpCuts()
462
- {
463
- rowCutPtrs_.clear() ;
464
- }
465
- void OsiCuts::eraseAndDumpCuts(const std::vector<int> to_erase)
466
- {
467
- for (unsigned i=0; i<to_erase.size(); i++) {
468
- delete rowCutPtrs_[to_erase[i]];
469
- }
470
- rowCutPtrs_.clear();
471
- }
472
-
473
-
474
- #endif