ruby-cbc 0.1.9 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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