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,252 +0,0 @@
1
- // Copyright (C) 2003, 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 OsiPresolve_H
6
- #define OsiPresolve_H
7
- #include "OsiSolverInterface.hpp"
8
-
9
- class CoinPresolveAction;
10
- #include "CoinPresolveMatrix.hpp"
11
-
12
-
13
- /*! \class OsiPresolve
14
- \brief OSI interface to COIN problem simplification capabilities
15
-
16
- COIN provides a number of classes which implement problem simplification
17
- algorithms (CoinPresolveAction, CoinPrePostsolveMatrix, and derived
18
- classes). The model of operation is as follows:
19
- <ul>
20
- <li>
21
- Create a copy of the original problem.
22
- </li>
23
- <li>
24
- Subject the copy to a series of transformations (the <i>presolve</i>
25
- methods) to produce a presolved model. Each transformation is also
26
- expected to provide a method to reverse the transformation (the
27
- <i>postsolve</i> method). The postsolve methods are collected in a
28
- linked list; the postsolve method for the final presolve transformation
29
- is at the head of the list.
30
- </li>
31
- <li>
32
- Hand the presolved problem to the solver for optimization.
33
- </li>
34
- <li>
35
- Apply the collected postsolve methods to the presolved problem
36
- and solution, restating the solution in terms of the original problem.
37
- </li>
38
- </ul>
39
-
40
- The COIN presolve algorithms are unaware of OSI. The OsiPresolve class takes
41
- care of the interface. Given an OsiSolverInterface \c origModel, it will take
42
- care of creating a clone properly loaded with the presolved problem and ready
43
- for optimization. After optimization, it will apply postsolve
44
- transformations and load the result back into \c origModel.
45
-
46
- Assuming a problem has been loaded into an
47
- \c OsiSolverInterface \c origModel, a bare-bones application looks like this:
48
- \code
49
- OsiPresolve pinfo ;
50
- OsiSolverInterface *presolvedModel ;
51
- // Return an OsiSolverInterface loaded with the presolved problem.
52
- presolvedModel = pinfo.presolvedModel(*origModel,1.0e-8,false,numberPasses) ;
53
- presolvedModel->initialSolve() ;
54
- // Restate the solution and load it back into origModel.
55
- pinfo.postsolve(true) ;
56
- delete presolvedModel ;
57
- \endcode
58
- */
59
-
60
-
61
-
62
- class OsiPresolve {
63
- public:
64
- /// Default constructor (empty object)
65
- OsiPresolve();
66
-
67
- /// Virtual destructor
68
- virtual ~OsiPresolve();
69
-
70
- /*! \brief Create a new OsiSolverInterface loaded with the presolved problem.
71
-
72
- This method implements the first two steps described in the class
73
- documentation. It clones \c origModel and applies presolve
74
- transformations, storing the resulting list of postsolve
75
- transformations. It returns a pointer to a new OsiSolverInterface loaded
76
- with the presolved problem, or NULL if the problem is infeasible or
77
- unbounded. If \c keepIntegers is true then bounds may be tightened in
78
- the original. Bounds will be moved by up to \c feasibilityTolerance to
79
- try and stay feasible. When \c doStatus is true, the current solution will
80
- be transformed to match the presolved model.
81
-
82
- This should be paired with postsolve(). It is up to the client to
83
- destroy the returned OsiSolverInterface, <i>after</i> calling postsolve().
84
-
85
- This method is virtual. Override this method if you need to customize
86
- the steps of creating a model to apply presolve transformations.
87
-
88
- In some sense, a wrapper for presolve(CoinPresolveMatrix*).
89
- */
90
- virtual OsiSolverInterface *presolvedModel(OsiSolverInterface & origModel,
91
- double feasibilityTolerance=0.0,
92
- bool keepIntegers=true,
93
- int numberPasses=5,
94
- const char * prohibited=NULL,
95
- bool doStatus=true,
96
- const char * rowProhibited=NULL);
97
-
98
- /*! \brief Restate the solution to the presolved problem in terms of the
99
- original problem and load it into the original model.
100
-
101
- postsolve() restates the solution in terms of the original problem and
102
- updates the original OsiSolverInterface supplied to presolvedModel(). If
103
- the problem has not been solved to optimality, there are no guarantees.
104
- If you are using an algorithm like simplex that has a concept of a basic
105
- solution, then set updateStatus
106
-
107
- The advantage of going back to the original problem is that it
108
- will be exactly as it was, <i>i.e.</i>, 0.0 will not become 1.0e-19.
109
-
110
- Note that if you modified the original problem after presolving, then you
111
- must ``undo'' these modifications before calling postsolve().
112
-
113
- In some sense, a wrapper for postsolve(CoinPostsolveMatrix&).
114
- */
115
- virtual void postsolve(bool updateStatus=true);
116
-
117
- /*! \brief Return a pointer to the presolved model. */
118
- OsiSolverInterface * model() const;
119
-
120
- /// Return a pointer to the original model
121
- OsiSolverInterface * originalModel() const;
122
-
123
- /// Set the pointer to the original model
124
- void setOriginalModel(OsiSolverInterface *model);
125
-
126
- /// Return a pointer to the original columns
127
- const int * originalColumns() const;
128
-
129
- /// Return a pointer to the original rows
130
- const int * originalRows() const;
131
-
132
- /// Return number of rows in original model
133
- inline int getNumRows() const
134
- { return nrows_;}
135
-
136
- /// Return number of columns in original model
137
- inline int getNumCols() const
138
- { return ncols_;}
139
-
140
- /** "Magic" number. If this is non-zero then any elements with this value
141
- may change and so presolve is very limited in what can be done
142
- to the row and column. This is for non-linear problems.
143
- */
144
- inline void setNonLinearValue(double value)
145
- { nonLinearValue_ = value;}
146
- inline double nonLinearValue() const
147
- { return nonLinearValue_;}
148
- /*! \brief Fine control over presolve actions
149
-
150
- Set/clear the following bits to allow or suppress actions:
151
- - 0x01 allow duplicate column processing on integer columns
152
- and dual stuff on integers
153
- - 0x02 switch off actions which can change +1 to something else
154
- (doubleton, tripleton, implied free)
155
- - 0x04 allow transfer of costs from singletons and between integer
156
- variables (when advantageous)
157
- - 0x08 do not allow x+y+z=1 transform
158
- - 0x10 allow actions that don't easily unroll
159
- - 0x20 allow dubious gub element reduction
160
-
161
- GUB element reduction is only partially implemented in CoinPresolve (see
162
- gubrow_action) and willl cause an abort at postsolve. It's not clear
163
- what's meant by `dual stuff on integers'.
164
- -- lh, 110605 --
165
- */
166
- inline void setPresolveActions(int action)
167
- { presolveActions_ = (presolveActions_&0xffff0000)|(action&0xffff);}
168
-
169
- private:
170
- /*! Original model (solver interface loaded with the original problem).
171
-
172
- Must not be destroyed until after postsolve().
173
- */
174
- OsiSolverInterface * originalModel_;
175
-
176
- /*! Presolved model (solver interface loaded with the presolved problem)
177
-
178
- Must be destroyed by the client (using delete) after postsolve().
179
- */
180
- OsiSolverInterface * presolvedModel_;
181
-
182
- /*! "Magic" number. If this is non-zero then any elements with this value
183
- may change and so presolve is very limited in what can be done
184
- to the row and column. This is for non-linear problems.
185
- One could also allow for cases where sign of coefficient is known.
186
- */
187
- double nonLinearValue_;
188
-
189
- /// Original column numbers
190
- int * originalColumn_;
191
-
192
- /// Original row numbers
193
- int * originalRow_;
194
-
195
- /// The list of transformations applied.
196
- const CoinPresolveAction *paction_;
197
-
198
- /*! \brief Number of columns in original model.
199
-
200
- The problem will expand back to its former size as postsolve
201
- transformations are applied. It is efficient to allocate data structures
202
- for the final size of the problem rather than expand them as needed.
203
- */
204
- int ncols_;
205
-
206
- /*! \brief Number of rows in original model. */
207
- int nrows_;
208
-
209
- /*! \brief Number of nonzero matrix coefficients in the original model. */
210
- CoinBigIndex nelems_;
211
-
212
- /** Whether we want to skip dual part of presolve etc.
213
- 1 bit allows duplicate column processing on integer columns
214
- and dual stuff on integers
215
- 4 transfers costs to integer variables
216
- */
217
- int presolveActions_;
218
- /// Number of major passes
219
- int numberPasses_;
220
-
221
- protected:
222
- /*! \brief Apply presolve transformations to the problem.
223
-
224
- Handles the core activity of applying presolve transformations.
225
-
226
- If you want to apply the individual presolve routines differently, or
227
- perhaps add your own to the mix, define a derived class and override
228
- this method
229
- */
230
- virtual const CoinPresolveAction *presolve(CoinPresolveMatrix *prob);
231
-
232
- /*! \brief Reverse presolve transformations to recover the solution
233
- to the original problem.
234
-
235
- Handles the core activity of applying postsolve transformations.
236
-
237
- Postsolving is pretty generic; just apply the transformations in reverse
238
- order. You will probably only be interested in overriding this method if
239
- you want to add code to test for consistency while debugging new presolve
240
- techniques.
241
- */
242
- virtual void postsolve(CoinPostsolveMatrix &prob);
243
-
244
- /*! \brief Destroys queued postsolve actions.
245
-
246
- <i>E.g.</i>, when presolve() determines the problem is infeasible, so that
247
- it will not be necessary to actually solve the presolved problem and
248
- convert the result back to the original problem.
249
- */
250
- void gutsOfDestroy();
251
- };
252
- #endif
@@ -1,331 +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 OsiRowCut_H
6
- #define OsiRowCut_H
7
-
8
- #include "CoinPackedVector.hpp"
9
-
10
- #include "OsiCollections.hpp"
11
- #include "OsiCut.hpp"
12
-
13
- //#define OSI_INLINE_ROWCUT_METHODS
14
- #ifdef OSI_INLINE_ROWCUT_METHODS
15
- #define OsiRowCut_inline inline
16
- #else
17
- #define OsiRowCut_inline
18
- #endif
19
-
20
- /** Row Cut Class
21
-
22
- A row cut has:
23
- <ul>
24
- <li>a lower bound<br>
25
- <li>an upper bound<br>
26
- <li>a vector of row elements
27
- </ul>
28
- */
29
- class OsiRowCut : public OsiCut {
30
- friend void OsiRowCutUnitTest(const OsiSolverInterface * baseSiP,
31
- const std::string & mpsDir);
32
-
33
- public:
34
-
35
- /**@name Row bounds */
36
- //@{
37
- /// Get lower bound
38
- OsiRowCut_inline double lb() const;
39
- /// Set lower bound
40
- OsiRowCut_inline void setLb(double lb);
41
- /// Get upper bound
42
- OsiRowCut_inline double ub() const;
43
- /// Set upper bound
44
- OsiRowCut_inline void setUb(double ub);
45
- //@}
46
-
47
- /**@name Row rhs, sense, range */
48
- //@{
49
- /// Get sense ('E', 'G', 'L', 'N', 'R')
50
- char sense() const;
51
- /// Get right-hand side
52
- double rhs() const;
53
- /// Get range (ub - lb for 'R' rows, 0 otherwise)
54
- double range() const;
55
- //@}
56
-
57
- //-------------------------------------------------------------------
58
- /**@name Row elements */
59
- //@{
60
- /// Set row elements
61
- OsiRowCut_inline void setRow(
62
- int size,
63
- const int * colIndices,
64
- const double * elements,
65
- bool testForDuplicateIndex = COIN_DEFAULT_VALUE_FOR_DUPLICATE);
66
- /// Set row elements from a packed vector
67
- OsiRowCut_inline void setRow( const CoinPackedVector & v );
68
- /// Get row elements
69
- OsiRowCut_inline const CoinPackedVector & row() const;
70
- /// Get row elements for changing
71
- OsiRowCut_inline CoinPackedVector & mutableRow() ;
72
- //@}
73
-
74
- /**@name Comparison operators */
75
- //@{
76
- #if __GNUC__ != 2
77
- using OsiCut::operator== ;
78
- #endif
79
- /** equal - true if lower bound, upper bound, row elements,
80
- and OsiCut are equal.
81
- */
82
- OsiRowCut_inline bool operator==(const OsiRowCut& rhs) const;
83
-
84
- #if __GNUC__ != 2
85
- using OsiCut::operator!= ;
86
- #endif
87
- /// not equal
88
- OsiRowCut_inline bool operator!=(const OsiRowCut& rhs) const;
89
- //@}
90
-
91
-
92
- //----------------------------------------------------------------
93
- /**@name Sanity checks on cut */
94
- //@{
95
- /** Returns true if the cut is consistent.
96
- This checks to ensure that:
97
- <ul>
98
- <li>The row element vector does not have duplicate indices
99
- <li>The row element vector indices are >= 0
100
- </ul>
101
- */
102
- OsiRowCut_inline bool consistent() const;
103
-
104
- /** Returns true if cut is consistent with respect to the solver
105
- interface's model.
106
- This checks to ensure that
107
- <ul>
108
- <li>The row element vector indices are < the number of columns
109
- in the model
110
- </ul>
111
- */
112
- OsiRowCut_inline bool consistent(const OsiSolverInterface& im) const;
113
-
114
- /** Returns true if the row cut itself is infeasible and cannot be satisfied.
115
- This checks whether
116
- <ul>
117
- <li>the lower bound is strictly greater than the
118
- upper bound.
119
- </ul>
120
- */
121
- OsiRowCut_inline bool infeasible(const OsiSolverInterface &im) const;
122
- /** Returns infeasibility of the cut with respect to solution
123
- passed in i.e. is positive if cuts off that solution.
124
- solution is getNumCols() long..
125
- */
126
- virtual double violated(const double * solution) const;
127
- //@}
128
-
129
- /**@name Arithmetic operators. Apply CoinPackedVector methods to the vector */
130
- //@{
131
- /// add <code>value</code> to every vector entry
132
- void operator+=(double value)
133
- { row_ += value; }
134
-
135
- /// subtract <code>value</code> from every vector entry
136
- void operator-=(double value)
137
- { row_ -= value; }
138
-
139
- /// multiply every vector entry by <code>value</code>
140
- void operator*=(double value)
141
- { row_ *= value; }
142
-
143
- /// divide every vector entry by <code>value</code>
144
- void operator/=(double value)
145
- { row_ /= value; }
146
- //@}
147
-
148
- /// Allow access row sorting function
149
- void sortIncrIndex()
150
- {row_.sortIncrIndex();}
151
-
152
- /**@name Constructors and destructors */
153
- //@{
154
- /// Assignment operator
155
- OsiRowCut & operator=( const OsiRowCut& rhs);
156
-
157
- /// Copy constructor
158
- OsiRowCut ( const OsiRowCut &);
159
-
160
- /// Clone
161
- virtual OsiRowCut * clone() const;
162
-
163
- /// Default Constructor
164
- OsiRowCut ();
165
-
166
- /** \brief Ownership Constructor
167
-
168
- This constructor assumes ownership of the vectors passed as parameters
169
- for indices and elements. \p colIndices and \p elements will be NULL
170
- on return.
171
- */
172
- OsiRowCut(double cutlb, double cutub,
173
- int capacity, int size,
174
- int *&colIndices, double *&elements);
175
-
176
- /// Destructor
177
- virtual ~OsiRowCut ();
178
- //@}
179
-
180
- /**@name Debug stuff */
181
- //@{
182
- /// Print cuts in collection
183
- virtual void print() const ;
184
- //@}
185
-
186
- private:
187
-
188
-
189
- /**@name Private member data */
190
- //@{
191
- /// Row elements
192
- CoinPackedVector row_;
193
- /// Row lower bound
194
- double lb_;
195
- /// Row upper bound
196
- double ub_;
197
- //@}
198
- };
199
-
200
- #ifdef OSI_INLINE_ROWCUT_METHODS
201
-
202
- //-------------------------------------------------------------------
203
- // Set/Get lower & upper bounds
204
- //-------------------------------------------------------------------
205
- double OsiRowCut::lb() const { return lb_; }
206
- void OsiRowCut::setLb(double lb) { lb_ = lb; }
207
- double OsiRowCut::ub() const { return ub_; }
208
- void OsiRowCut::setUb(double ub) { ub_ = ub; }
209
-
210
- //-------------------------------------------------------------------
211
- // Set row elements
212
- //-------------------------------------------------------------------
213
- void OsiRowCut::setRow(int size,
214
- const int * colIndices, const double * elements)
215
- {
216
- row_.setVector(size,colIndices,elements);
217
- }
218
- void OsiRowCut::setRow( const CoinPackedVector & v )
219
- {
220
- row_ = v;
221
- }
222
-
223
- //-------------------------------------------------------------------
224
- // Get the row
225
- //-------------------------------------------------------------------
226
- const CoinPackedVector & OsiRowCut::row() const
227
- {
228
- return row_;
229
- }
230
-
231
- //-------------------------------------------------------------------
232
- // Get the row so we can change
233
- //-------------------------------------------------------------------
234
- CoinPackedVector & OsiRowCut::mutableRow()
235
- {
236
- return row_;
237
- }
238
-
239
- //----------------------------------------------------------------
240
- // == operator
241
- //-------------------------------------------------------------------
242
- bool
243
- OsiRowCut::operator==(const OsiRowCut& rhs) const
244
- {
245
- if ( this->OsiCut::operator!=(rhs) ) return false;
246
- if ( row() != rhs.row() ) return false;
247
- if ( lb() != rhs.lb() ) return false;
248
- if ( ub() != rhs.ub() ) return false;
249
- return true;
250
- }
251
- bool
252
- OsiRowCut::operator!=(const OsiRowCut& rhs) const
253
- {
254
- return !( (*this)==rhs );
255
- }
256
-
257
-
258
- //----------------------------------------------------------------
259
- // consistent & infeasible
260
- //-------------------------------------------------------------------
261
- bool OsiRowCut::consistent() const
262
- {
263
- const CoinPackedVector & r=row();
264
- r.duplicateIndex("consistent", "OsiRowCut");
265
- if ( r.getMinIndex() < 0 ) return false;
266
- return true;
267
- }
268
- bool OsiRowCut::consistent(const OsiSolverInterface& im) const
269
- {
270
- const CoinPackedVector & r=row();
271
- if ( r.getMaxIndex() >= im.getNumCols() ) return false;
272
-
273
- return true;
274
- }
275
- bool OsiRowCut::infeasible(const OsiSolverInterface &im) const
276
- {
277
- if ( lb() > ub() ) return true;
278
-
279
- return false;
280
- }
281
-
282
- #endif
283
-
284
- /** Row Cut Class which refers back to row which created it.
285
- It may be useful to strengthen a row rather than add a cut. To do this
286
- we need to know which row is strengthened. This trivial extension
287
- to OsiRowCut does that.
288
-
289
- */
290
- class OsiRowCut2 : public OsiRowCut {
291
-
292
- public:
293
-
294
- /**@name Which row */
295
- //@{
296
- /// Get row
297
- inline int whichRow() const
298
- { return whichRow_;}
299
- /// Set row
300
- inline void setWhichRow(int row)
301
- { whichRow_=row;}
302
- //@}
303
-
304
- /**@name Constructors and destructors */
305
- //@{
306
- /// Assignment operator
307
- OsiRowCut2 & operator=( const OsiRowCut2& rhs);
308
-
309
- /// Copy constructor
310
- OsiRowCut2 ( const OsiRowCut2 &);
311
-
312
- /// Clone
313
- virtual OsiRowCut * clone() const;
314
-
315
- /// Default Constructor
316
- OsiRowCut2 (int row=-1);
317
-
318
- /// Destructor
319
- virtual ~OsiRowCut2 ();
320
- //@}
321
-
322
- private:
323
-
324
-
325
- /**@name Private member data */
326
- //@{
327
- /// Which row
328
- int whichRow_;
329
- //@}
330
- };
331
- #endif