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,189 +0,0 @@
1
- // $Id: CglDuplicateRow.hpp 1119 2013-04-06 20:24:18Z 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
- #ifndef CglDuplicateRow_H
7
- #define CglDuplicateRow_H
8
-
9
- #include <string>
10
-
11
- #include "CglCutGenerator.hpp"
12
- class CglStored;
13
-
14
- /** DuplicateRow Cut Generator Class */
15
- class CglDuplicateRow : public CglCutGenerator {
16
-
17
- public:
18
-
19
-
20
- /**@name Generate Cuts */
21
- //@{
22
- /** Fix variables and find duplicate/dominated rows for the model of the
23
- solver interface, si.
24
-
25
- This is a very simple minded idea but I (JJF) am using it in a project so thought
26
- I might as well add it. It should really be called before first solve and I may
27
- modify CBC to allow for that.
28
-
29
- This is designed for problems with few rows and many integer variables where the rhs
30
- are <= or == and all coefficients and rhs are small integers.
31
-
32
- If effective rhs is K then we can fix all variables with coefficients > K to their lower bounds
33
- (effective rhs just means original with variables with nonzero lower bounds subtracted out).
34
-
35
- If one row is a subset of another and the effective rhs are same we can fix some variables
36
- and then the two rows are identical.
37
-
38
- The generator marks identical rows so can be taken out in solve
39
- */
40
- virtual void generateCuts( const OsiSolverInterface & si, OsiCuts & cs,
41
- const CglTreeInfo info = CglTreeInfo());
42
- private:
43
- /// Does work for modes 1,2
44
- void generateCuts12( const OsiSolverInterface & si, OsiCuts & cs,
45
- const CglTreeInfo info = CglTreeInfo());
46
- /// Does work for mode 4
47
- void generateCuts4( const OsiSolverInterface & si, OsiCuts & cs,
48
- const CglTreeInfo info = CglTreeInfo());
49
- /// Does work for mode 8
50
- void generateCuts8( const OsiSolverInterface & si, OsiCuts & cs,
51
- const CglTreeInfo info = CglTreeInfo());
52
- public:
53
- /** Fix variables and find duplicate/dominated rows for the model of the
54
- solver interface, si.
55
-
56
- This is a very simple minded idea but I (JJF) am using it in a project so thought
57
- I might as well add it. It should really be called before first solve and I may
58
- modify CBC to allow for that.
59
-
60
- This is designed for problems with few rows and many integer variables where the rhs
61
- are <= or == and all coefficients and rhs are small integers.
62
-
63
- If effective rhs is K then we can fix all variables with coefficients > K to their lower bounds
64
- (effective rhs just means original with variables with nonzero lower bounds subtracted out).
65
-
66
- If one row is a subset of another and the effective rhs are same we can fix some variables
67
- and then the two rows are identical.
68
-
69
- This version does deletions and fixings and may return stored cuts for
70
- dominated columns
71
- */
72
- CglStored * outDuplicates( OsiSolverInterface * solver);
73
-
74
- //@}
75
-
76
- /**@name Get information on size of problem */
77
- //@{
78
- /// Get duplicate row list, -1 means still in, -2 means out (all fixed), k>= means same as row k
79
- inline const int * duplicate() const
80
- { return duplicate_;}
81
- /// Size of dynamic program
82
- inline int sizeDynamic() const
83
- { return sizeDynamic_;}
84
- /// Number of rows in original problem
85
- inline int numberOriginalRows() const
86
- { return matrix_.getNumRows();}
87
- //@}
88
-
89
- /**@name Get information on size of problem */
90
- //@{
91
- /// logLevel
92
- inline int logLevel() const
93
- { return logLevel_;}
94
- inline void setLogLevel(int value)
95
- { logLevel_ = value;}
96
- //@}
97
-
98
-
99
- /**@name We only check for duplicates amongst rows with effective rhs <= this */
100
- //@{
101
- /// Get
102
- inline int maximumRhs() const
103
- { return maximumRhs_;}
104
- /// Set
105
- inline void setMaximumRhs(int value)
106
- { maximumRhs_=value;}
107
- //@}
108
-
109
- /**@name We only check for dominated amongst groups of columns whose size <= this */
110
- //@{
111
- /// Get
112
- inline int maximumDominated() const
113
- { return maximumDominated_;}
114
- /// Set
115
- inline void setMaximumDominated(int value)
116
- { maximumDominated_=value;}
117
- //@}
118
- /**@name gets and sets */
119
- //@{
120
- /// Get mode
121
- inline int mode() const
122
- { return mode_;}
123
- /// Set mode
124
- inline void setMode(int value)
125
- { mode_=value;}
126
- //@}
127
-
128
- /**@name Constructors and destructors */
129
- //@{
130
- /// Default constructor
131
- CglDuplicateRow ();
132
-
133
- /// Useful constructor
134
- CglDuplicateRow (OsiSolverInterface * solver);
135
-
136
- /// Copy constructor
137
- CglDuplicateRow (
138
- const CglDuplicateRow & rhs);
139
-
140
- /// Clone
141
- virtual CglCutGenerator * clone() const;
142
-
143
- /// Assignment operator
144
- CglDuplicateRow &
145
- operator=(
146
- const CglDuplicateRow& rhs);
147
-
148
- /// Destructor
149
- virtual
150
- ~CglDuplicateRow ();
151
- /// Create C++ lines to get to current state
152
- virtual std::string generateCpp( FILE * fp);
153
-
154
- /// This can be used to refresh any information
155
- virtual void refreshSolver(OsiSolverInterface * solver);
156
- //@}
157
-
158
- protected:
159
-
160
-
161
- // Protected member data
162
-
163
- /**@name Protected member data */
164
- //@{
165
- /// Matrix
166
- CoinPackedMatrix matrix_;
167
- /// Matrix by row
168
- CoinPackedMatrix matrixByRow_;
169
- /// Possible rhs (if 0 then not possible)
170
- int * rhs_;
171
- /// Marks duplicate rows
172
- int * duplicate_;
173
- /// To allow for <= rows
174
- int * lower_;
175
- /// Stored cuts if we found dominance cuts
176
- CglStored * storedCuts_;
177
- /// Check dominated columns if less than this number of candidates
178
- int maximumDominated_;
179
- /// Check duplicates if effective rhs <= this
180
- int maximumRhs_;
181
- /// Size of dynamic program
182
- int sizeDynamic_;
183
- /// 1 do rows, 2 do columns, 3 do both
184
- int mode_;
185
- /// Controls print out
186
- int logLevel_;
187
- //@}
188
- };
189
- #endif
@@ -1,371 +0,0 @@
1
- // $Id: CglFlowCover.hpp 1119 2013-04-06 20:24:18Z stefan $
2
- //-----------------------------------------------------------------------------
3
- // name: Cgl Lifted Simple Generalized Flow Cover Cut Generator
4
- // author: Yan Xu email: yan.xu@sas.com
5
- // Jeff Linderoth email: jtl3@lehigh.edu
6
- // Martin Savelsberg email: martin.savelsbergh@isye.gatech.edu
7
- // date: 05/01/2003
8
- // comments: please scan this file for '???' and read the comments
9
- //-----------------------------------------------------------------------------
10
- // Copyright (C) 2003, Yan Xu, Jeff Linderoth, Martin Savelsberg and others.
11
- // All Rights Reserved.
12
- // This code is published under the Eclipse Public License.
13
-
14
- #ifndef CglFlowCover_H
15
- #define CglFlowCover_H
16
-
17
- #include <iostream>
18
-
19
- #include "CoinError.hpp"
20
-
21
- #include "CglCutGenerator.hpp"
22
-
23
- //=============================================================================
24
-
25
- //=============================================================================
26
-
27
- /** This enumerative constant describes the various col types.*/
28
- enum CglFlowColType {
29
- /** The column(variable) is a negative binary variable.*/
30
- CGLFLOW_COL_BINNEG = -2,
31
- /** The column is a negative continous variable.*/
32
- CGLFLOW_COL_CONTNEG,
33
- /** The column is a positive continous variable.*/
34
- CGLFLOW_COL_CONTPOS = 1,
35
- /** The column is a positive binary variable.*/
36
- CGLFLOW_COL_BINPOS
37
- };
38
-
39
- enum CglFlowColStatus{
40
- };
41
-
42
- /** This enumerative constant describes the various stati of vars in
43
- a cut or not.*/
44
- enum CglFlowColCut{
45
- /** The column is NOT in cover.*/
46
- CGLFLOW_COL_OUTCUT = 0,
47
- /** The column is in cover now. */
48
- CGLFLOW_COL_INCUT,
49
- /** The column is decided to be in cover. */
50
- CGLFLOW_COL_INCUTDONE,
51
- /** The column is in L-. */
52
- CGLFLOW_COL_INLMIN,
53
- /** The column is decided to be in L-. */
54
- CGLFLOW_COL_INLMINDONE,
55
- /** The column is in L--.*/
56
- CGLFLOW_COL_INLMINMIN,
57
- /** This enumerative constant describes the various stati of vars in
58
- determining the cover.*/
59
- /** The column is a prime candidate. */
60
- CGLFLOW_COL_PRIME,
61
- /** The column is a secondary candidate. */
62
- CGLFLOW_COL_SECONDARY
63
- };
64
-
65
- /** This enumerative constant describes the various row types.*/
66
- enum CglFlowRowType {
67
- /** The row type of this row is NOT defined yet.*/
68
- CGLFLOW_ROW_UNDEFINED,
69
- /** After the row is flipped to 'L', the row has exactly two variables:
70
- one is negative binary and the other is continous, and the RHS
71
- is zero.*/
72
- CGLFLOW_ROW_VARUB,
73
- /** After the row is flipped to 'L', the row has exactlytwo variables:
74
- one is positive binary and the other is continous, and the RHS
75
- is zero.*/
76
- CGLFLOW_ROW_VARLB,
77
- /** The row sense is 'E', the row has exactly two variables:
78
- one is binary and the other is a continous, and the RHS is zero.*/
79
- CGLFLOW_ROW_VAREQ,
80
- /** Rows can not be classfied into other types and the row sense
81
- is NOT 'E'.*/
82
- CGLFLOW_ROW_MIXUB,
83
- /** Rows can not be classfied into other types and the row sense is 'E'.*/
84
- CGLFLOW_ROW_MIXEQ,
85
- /** All variables are NOT binary and the row sense is NOT 'E'. */
86
- CGLFLOW_ROW_NOBINUB,
87
- /** All variables are NOT binary and the row sense is 'E'. */
88
- CGLFLOW_ROW_NOBINEQ,
89
- /** The row has one binary and 2 or more other types of variables and
90
- the row sense is NOT 'E'. */
91
- CGLFLOW_ROW_SUMVARUB,
92
- /** The row has one binary and 2 or more other types of variables and
93
- the row sense is 'E'. */
94
- CGLFLOW_ROW_SUMVAREQ,
95
- /** All variables are binary. */
96
- CGLFLOW_ROW_UNINTERSTED
97
- };
98
-
99
- //=============================================================================
100
-
101
- /** Variable upper bound class. */
102
- class CglFlowVUB
103
- {
104
- protected:
105
- int varInd_; /** The index of the associated 0-1 variable.*/
106
- double upper_; /** The Value of the associated upper bound.*/
107
-
108
- public:
109
- CglFlowVUB() : varInd_(-1), upper_(-1) {}
110
-
111
- CglFlowVUB(const CglFlowVUB& source) {
112
- varInd_= source.varInd_;
113
- upper_ = source.upper_;
114
- }
115
-
116
- CglFlowVUB& operator=(const CglFlowVUB& rhs) {
117
- if (this == &rhs)
118
- return *this;
119
- varInd_= rhs.varInd_;
120
- upper_ = rhs.upper_;
121
- return *this;
122
- }
123
-
124
- /**@name Query and set functions for associated 0-1 variable index
125
- and value.
126
- */
127
- //@{
128
- inline int getVar() const { return varInd_; }
129
- inline double getVal() const { return upper_; }
130
- inline void setVar(const int v) { varInd_ = v; }
131
- inline void setVal(const double v) { upper_ = v; }
132
- //@}
133
- };
134
-
135
- //=============================================================================
136
-
137
- /** Variable lower bound class, which is the same as vub. */
138
- typedef CglFlowVUB CglFlowVLB;
139
-
140
- /** Overloaded operator<< for printing VUB and VLB.*/
141
- std::ostream& operator<<( std::ostream& os, const CglFlowVUB &v );
142
-
143
- //=============================================================================
144
-
145
- /**
146
- * Lifed Simple Generalized Flow Cover Cut Generator Class.
147
- */
148
- class CglFlowCover : public CglCutGenerator {
149
- friend void CglFlowCoverUnitTest(const OsiSolverInterface * siP,
150
- const std::string mpdDir );
151
-
152
- public:
153
-
154
- /**
155
- * Do the following tasks:
156
- * <ul>
157
- * <li> classify row types
158
- * <li> indentify vubs and vlbs
159
- * </ul>
160
- * This function is called by
161
- * <CODE>generateCuts(const OsiSolverInterface & si, OsiCuts & cs)</CODE>.
162
- */
163
- void flowPreprocess(const OsiSolverInterface& si);
164
-
165
- /**@name Generate Cuts */
166
- //@{
167
- /** Generate Lifed Simple Generalized flow cover cuts for the model data
168
- contained in si. The generated cuts are inserted into and returned
169
- in the collection of cuts cs.
170
- */
171
- virtual void generateCuts(const OsiSolverInterface & si, OsiCuts & cs,
172
- const CglTreeInfo info = CglTreeInfo());
173
- //@}
174
-
175
- /**@name Functions to query and set maximum number of cuts can be
176
- generated. */
177
- //@{
178
- inline int getMaxNumCuts() const { return maxNumCuts_; }
179
- inline void setMaxNumCuts(int mc) { maxNumCuts_ = mc; }
180
- //@}
181
-
182
- /**@name Functions to query and set the number of cuts have been
183
- generated. */
184
- //@{
185
- static int getNumFlowCuts() { return numFlowCuts_; }
186
- static void setNumFlowCuts(int fc) { numFlowCuts_ = fc; }
187
- static void incNumFlowCuts(int fc = 1) { numFlowCuts_ += fc; }
188
- //@}
189
-
190
- //-------------------------------------------------------------------------
191
- /**@name Constructors and destructors */
192
- //@{
193
- /// Default constructor
194
- CglFlowCover ();
195
-
196
- /// Copy constructor
197
- CglFlowCover (
198
- const CglFlowCover &);
199
-
200
- /// Clone
201
- virtual CglCutGenerator * clone() const;
202
-
203
- /// Assignment operator
204
- CglFlowCover &
205
- operator=(
206
- const CglFlowCover& rhs);
207
-
208
- /// Destructor
209
- virtual
210
- ~CglFlowCover ();
211
- /// Create C++ lines to get to current state
212
- virtual std::string generateCpp( FILE * fp);
213
- //@}
214
-
215
- private:
216
- //-------------------------------------------------------------------------
217
- // Private member functions
218
-
219
- /** Based a given row, a LP solution and other model data, this function
220
- tries to generate a violated lifted simple generalized flow cover.
221
- */
222
- bool generateOneFlowCut( const OsiSolverInterface & si,
223
- const int rowLen,
224
- int* ind,
225
- double* coef,
226
- char sense,
227
- double rhs,
228
- OsiRowCut& flowCut,
229
- double& violation );
230
-
231
-
232
- /** Transform a row from ">=" to "<=", and vice versa. */
233
- void flipRow(int rowLen, double* coef, double& rhs) const;
234
-
235
- /** Transform a row from ">=" to "<=", and vice versa. Have 'sense'. */
236
- void flipRow(int rowLen, double* coef, char& sen, double& rhs) const;
237
-
238
- /** Determine the type of a given row. */
239
- CglFlowRowType determineOneRowType(const OsiSolverInterface& si,
240
- int rowLen, int* ind,
241
- double* coef, char sen,
242
- double rhs) const;
243
- /** Lift functions */
244
- void liftMinus(double &movement, /* Output */
245
- int t,
246
- int r,
247
- double z,
248
- double dPrimePrime,
249
- double lambda,
250
- double ml,
251
- double *M,
252
- double *rho) const;
253
-
254
- bool liftPlus(double &alpha,
255
- double &beta,
256
- int r,
257
- double m_j,
258
- double lambda,
259
- double y_j,
260
- double x_j,
261
- double dPrimePrime,
262
- double *M) const;
263
-
264
-
265
- //-------------------------------------------------------------------------
266
- //**@name Query and set the row type of a givne row. */
267
- //@{
268
- inline const CglFlowRowType* getRowTypes() const
269
- { return rowTypes_; }
270
- inline CglFlowRowType getRowType(const int i) const
271
- { return rowTypes_[i]; }
272
- /** Set rowtypes, take over the ownership. */
273
- inline void setRowTypes(CglFlowRowType* rt)
274
- { rowTypes_ = rt; rt = 0; }
275
- inline void setRowTypes(const CglFlowRowType rt, const int i) {
276
- if (rowTypes_ != 0)
277
- rowTypes_[i] = rt;
278
- else {
279
- std::cout << "ERROR: Should allocate memory for rowType_ before "
280
- << "using it " << std::endl;
281
- throw CoinError("Forgot to allocate memory for rowType_",
282
- "setRowType", "CglFlowCover");
283
- }
284
- }
285
- //@}
286
-
287
- //-------------------------------------------------------------------------
288
- //**@name Query and set vubs. */
289
- //@{
290
- inline const CglFlowVUB* getVubs() const { return vubs_; }
291
- inline const CglFlowVUB& getVubs(int i) const { return vubs_[i]; }
292
- /** Set CglFlowVUBs,take over the ownership. */
293
- inline void setVubs(CglFlowVUB* vubs) { vubs_ = vubs; vubs = 0; }
294
- inline void setVubs(const CglFlowVUB& vub, int i) {
295
- if (vubs_ != 0)
296
- vubs_[i] = vub;
297
- else {
298
- std::cout << "ERROR: Should allocate memory for vubs_ before "
299
- << "using it " << std::endl;
300
- throw CoinError("Forgot to allocate memory for vubs_", "setVubs",
301
- "CglFlowCover");
302
- }
303
- }
304
- inline void printVubs(std::ostream& os) const {
305
- for (int i = 0; i < numCols_; ++i) {
306
- os << "ix: " << i << ", " << vubs_[i];
307
- }
308
- }
309
- //@}
310
-
311
- //-------------------------------------------------------------------------
312
- //**@name Query and set vlbs. */
313
- //@{
314
- inline const CglFlowVLB* getVlbs() const { return vlbs_; }
315
- inline const CglFlowVLB& getVlbs(int i) const { return vlbs_[i]; }
316
- /** Set CglFlowVLBs,take over the ownership. */
317
- inline void setVlbs(CglFlowVLB* vlbs) { vlbs_ = vlbs; vlbs = 0; }
318
- inline void setVlbs(const CglFlowVLB& vlb, int i) {
319
- if (vlbs_ != 0)
320
- vlbs_[i] = vlb;
321
- else {
322
- std::cout << "ERROR: Should allocate memory for vlbs_ before "
323
- << "using it " << std::endl;
324
- throw CoinError("Forgot to allocate memory for vlbs_", "setVlbs",
325
- "CglFlowCover");
326
- }
327
- }
328
- //@}
329
-
330
- private:
331
- //------------------------------------------------------------------------
332
- // Private member data
333
-
334
- /** The maximum number of flow cuts to be generated. Default is 1000. */
335
- int maxNumCuts_;
336
- /** Tolerance used for numerical purpose. */
337
- double EPSILON_;
338
- /** The variable upper bound of a flow is not indentified yet.*/
339
- int UNDEFINED_;
340
- /** Very large number. */
341
- double INFTY_;
342
- /** If violation of a cut is greater that this number, the cut is useful.*/
343
- double TOLERANCE_;
344
- /** First time preprocessing */
345
- bool firstProcess_;
346
- /** The number rows of the problem.*/
347
- int numRows_;
348
- /** The number columns of the problem.*/
349
- int numCols_;
350
- /** The number flow cuts found.*/
351
- static int numFlowCuts_;
352
- /** Indicate whether initial flow preprecessing has been done. */
353
- bool doneInitPre_;
354
- /** The array of CglFlowVUBs. */
355
- CglFlowVUB* vubs_;
356
- /** The array of CglFlowVLBs. */
357
- CglFlowVLB* vlbs_;
358
- /** CglFlowRowType of the rows in model. */
359
- CglFlowRowType* rowTypes_;
360
- };
361
-
362
- //#############################################################################
363
- /** A function that tests the methods in the CglFlowCover class. The
364
- only reason for it not to be a member method is that this way it doesn't
365
- have to be compiled into the library. And that's a gain, because the
366
- library should be compiled with optimization on, but this method should be
367
- compiled with debugging. */
368
- void CglFlowCoverUnitTest(const OsiSolverInterface * siP,
369
- const std::string mpdDir );
370
-
371
- #endif