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,464 +0,0 @@
1
- // $Id: Cgl012cut.hpp 1149 2013-10-21 18:23:53Z tkr $
2
- // Copyright (C) 2010, 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
- /** @file 012cut.h Include file for C coded 0-1/2 separator */
6
- #ifndef CGL012CUT
7
- #define CGL012CUT
8
- #include <cstdio>
9
- #include <cstdlib>
10
- #include <cmath>
11
-
12
- #define CGL_NEW_SHORT
13
- #ifndef CGL_NEW_SHORT
14
- typedef /* arc */
15
- struct arc_st
16
- {
17
- int len; /* length of the arc */
18
- struct node_st *head; /* head node */
19
- }
20
- arc;
21
-
22
- typedef /* node */
23
- struct node_st
24
- {
25
- arc *first; /* first outgoing arc */
26
- int dist; /* tentative shortest path length */
27
- struct node_st *parent; /* parent pointer */
28
- struct node_st *next; /* next node in queue */
29
- struct node_st *prev; /* previous node in queue */
30
- int status; /* status of node */
31
- int temp; /* for temporary labels */
32
- int index; /* index of the node in the graph */
33
- } node;
34
- #endif
35
- typedef struct
36
- {
37
- int length; // Length of arc
38
- int to; // To node
39
- } cgl_arc;
40
-
41
- typedef struct
42
- {
43
- cgl_arc * firstArc; // First outgoing arc
44
- int parentNode; // Parent node in shortest path
45
- int index; // Which node I am
46
- int distanceBack; // Distance back to source
47
- } cgl_node;
48
-
49
- typedef struct
50
- {
51
- int nnodes; // Number of nodes in graph
52
- int narcs; // Number of arcs in graph
53
- cgl_node * nodes;
54
- cgl_arc * arcs;
55
- } cgl_graph;
56
- /* #define PRINT */
57
- /* #define PRINT_CUTS */
58
- #define REDUCTION
59
-
60
- typedef struct {
61
- int mr; /* number of rows in the ILP matrix */
62
- int mc; /* number of columns in the ILP matrix */
63
- int mnz; /* number of nonzero's in the ILP matrix */
64
- int *mtbeg; /* starting position of each row in arrays mtind and mtval */
65
- int *mtcnt; /* number of entries of each row in arrays mtind and mtval */
66
- int *mtind; /* column indices of the nonzero entries of the ILP matrix */
67
- int *mtval; /* values of the nonzero entries of the ILP matrix */
68
- int *vlb; /* lower bounds on the variables */
69
- int *vub; /* upper bounds on the variables */
70
- int *mrhs; /* right hand sides of the constraints */
71
- char *msense; /* senses of the constraints: 'L', 'G' or 'E' */
72
- const double *xstar; /* current optimal solution of the LP relaxation */
73
- } ilp;
74
-
75
- typedef struct {
76
- int mr; /* number of rows in the parity ILP matrix */
77
- int mc; /* number of columns in the parity ILP matrix */
78
- int mnz; /* number of 1's in the parity ILP matrix */
79
- int *mtbeg; /* starting position of each row in arrays mtind and mtval */
80
- int *mtcnt; /* number of entries of each row in arrays mtind and mtval */
81
- int *mtind; /* column indices of the 1's of the parity ILP matrix */
82
- short int *mrhs; /* right hand side parity of the constraints */
83
- double *xstar; /* current optimal solution of the LP relaxation */
84
- double *slack; /* slack of the constraints w.r.t. xstar */
85
- short int *row_to_delete; /* flag for marking rows not to be considered */
86
- short int *col_to_delete; /* flag for marking columns not to be considered */
87
- int *gcd; /* greatest common divisor of each row in the input ILP matrix */
88
- short int *possible_weak; /* possible weakening types of each column */
89
- short int *type_even_weak; /* type of even weakening of each column
90
- (lower or upper bound weakening) */
91
- short int *type_odd_weak; /* type of odd weakening of each column
92
- (lower or upper bound weakening) */
93
- double *loss_even_weak; /* loss for the even weakening of each column */
94
- double *loss_odd_weak; /* loss for the odd weakening of each column */
95
- double *min_loss_by_weak; /* minimum loss for the weakening of each column */
96
- } parity_ilp;
97
-
98
- typedef struct {
99
- int nweak; /* number of variables weakened */
100
- int *var; /* list of variables weakened */
101
- short int *type; /* type of weakening (lower or upper bound weakening) */
102
- } info_weak;
103
-
104
- typedef struct {
105
- int endpoint1, endpoint2; /* endpoints of the edge */
106
- double weight; /* edge weight */
107
- short int parity; /* edge parity (even or odd) */
108
- int constr; /* constraint associated with the edge */
109
- info_weak *weak; /* weakening information */
110
- } edge;
111
-
112
- typedef struct {
113
- int nnodes; /* number of nodes */
114
- int nedges; /* number of edges */
115
- int *nodes; /* indexes of the ILP columns corresponding to the nodes */
116
- int *ind; /* indexes of the nodes corresponding to the ILP columns */
117
- edge **even_adj_list; /* pointers to the even edges */
118
- edge **odd_adj_list; /* pointers to the odd edges */
119
- } separation_graph;
120
-
121
- #ifndef CGL_NEW_SHORT
122
- typedef struct {
123
- int nnodes; /* number of nodes */
124
- int narcs; /* number of arcs */
125
- node *nodes; /* array of the nodes - see "types_db.h" */
126
- arc *arcs; /* array of the arcs - see "types_db.h" */
127
- } auxiliary_graph;
128
- #else
129
- typedef struct {
130
- int nnodes; /* number of nodes */
131
- int narcs; /* number of arcs */
132
- cgl_node *nodes; /* array of the nodes - see "types_db.h" */
133
- cgl_arc *arcs; /* array of the arcs - see "types_db.h" */
134
- } auxiliary_graph;
135
- #endif
136
-
137
- typedef struct {
138
- long dist; /* distance from/to root */
139
- int pred; /* index of the predecessor */
140
- } short_path_node;
141
-
142
- typedef struct {
143
- double weight; /* overall weight of the cycle */
144
- int length; /* number of edges in the cycle */
145
- edge **edge_list; /* list of edges in the cycle */
146
- } cycle;
147
-
148
- typedef struct {
149
- int cnum; /* overall number of cycles */
150
- cycle **list; /* pointers to the cycles in the list */
151
- } cycle_list;
152
-
153
- typedef struct {
154
- int n_of_constr; /* number of constraints combined to get the cut */
155
- int *constr_list; /* list of the constraints combined */
156
- short int *in_constr_list; /* flag saying whether a given constraint is
157
- in the list of constraints of the cut (IN)
158
- or not (OUT) */
159
- int cnzcnt; /* overall number of nonzero's in the cut */
160
- int *cind; /* column indices of the nonzero entries of the cut */
161
- int *cval; /* values of the nonzero entries of the cut */
162
- int crhs; /* right hand side of the cut */
163
- char csense; /* sense of the cut: 'L', 'G' or 'E' */
164
- double violation; /* violation of the cut w.r.t. the current LP solution */
165
- } cut;
166
-
167
- typedef struct {
168
- int cnum; /* overall number of cuts */
169
- cut **list; /* pointers to the cuts in the list */
170
- } cut_list;
171
-
172
- typedef struct {
173
- int n_of_constr; /* number of constraints combined to get the cut */
174
- int *constr_list; /* list of the constraints combined */
175
- int code; /* identifier of the cut */
176
- int n_it_violated; /* number of consecutive iterations (starting from the
177
- last and going backward) in which the cut was
178
- violated by the LP solution */
179
- int it_found; /* iteration in which the cut was separated */
180
- double score; /* score of the cut, used to choose wich cut should be
181
- added to the current LP (if any) */
182
- } pool_cut;
183
-
184
- typedef struct {
185
- int cnum; /* overall number of cuts */
186
- pool_cut **list; /* pointers to the cuts in the list */
187
- int *ncod; /* number of cuts with a given code in the pool */
188
- } pool_cut_list;
189
-
190
- typedef struct {
191
- int *ccoef; /* coefficients of the cut */
192
- int crhs; /* right hand side of the cut */
193
- int pool_index; /* index of the cut in the pool */
194
- double score; /* cut score (to be maximized) */
195
- } select_cut;
196
-
197
- typedef struct {
198
- int n_it_zero; /* number of consecutive iterations (starting from the
199
- last and going backward) in which each variable took
200
- the value 0 in the LP solution */
201
- } log_var;
202
- /** 012Cut Generator Class
203
-
204
- This class is to make Cgl01cut thread safe etc
205
- */
206
-
207
- class Cgl012Cut {
208
-
209
- public:
210
-
211
- /**@name Generate Cuts */
212
- //@{
213
- int sep_012_cut(
214
- /*
215
- INPUT parameters:
216
- */
217
- int mr, /* number of rows in the ILP matrix */
218
- int mc, /* number of columns in the ILP matrix */
219
- int mnz, /* number of nonzero's in the ILP matrix */
220
- int *mtbeg, /* starting position of each row in arrays mtind and mtval */
221
- int *mtcnt, /* number of entries of each row in arrays mtind and mtval */
222
- int *mtind, /* column indices of the nonzero entries of the ILP matrix */
223
- int *mtval, /* values of the nonzero entries of the ILP matrix */
224
- int *vlb, /* lower bounds on the variables */
225
- int *vub, /* upper bounds on the variables */
226
- int *mrhs, /* right hand sides of the constraints */
227
- char *msense, /* senses of the constraints: 'L', 'G' or 'E' */
228
- const double *xstar, /* current optimal solution of the LP relaxation */
229
- bool aggressive, /* flag asking whether as many cuts as possible are
230
- required on output (TRUE) or not (FALSE) */
231
- /*
232
- OUTPUT parameters (the memory for the vectors is allocated INTERNALLY
233
- by the procedure: if some memory is already allocated, it is FREED):
234
- */
235
- int *cnum, /* number of violated 0-1/2 cuts identified by the procedure */
236
- int *cnzcnt, /* overall number of nonzero's in the cuts */
237
- int **cbeg, /* starting position of each cut in arrays cind and cval */
238
- int **ccnt, /* number of entries of each cut in arrays cind and cval */
239
- int **cind, /* column indices of the nonzero entries of the cuts */
240
- int **cval, /* values of the nonzero entries of the cuts */
241
- int **crhs, /* right hand sides of the cuts */
242
- char **csense /* senses of the cuts: 'L', 'G' or 'E' */
243
- /*
244
- NOTE that all the numerical input/output vectors are INTEGER (with
245
- the exception of xstar), since the procedure is intended to work
246
- with pure ILP's, and that the ILP matrix has to be given on input
247
- in ROW format.
248
- */
249
- );
250
- void ilp_load(
251
- int mr, /* number of rows in the ILP matrix */
252
- int mc, /* number of columns in the ILP matrix */
253
- int mnz, /* number of nonzero's in the ILP matrix */
254
- int *mtbeg, /* starting position of each row in arrays mtind and mtval */
255
- int *mtcnt, /* number of entries of each row in arrays mtind and mtval */
256
- int *mtind, /* column indices of the nonzero entries of the ILP matrix */
257
- int *mtval, /* values of the nonzero entries of the ILP matrix */
258
- int *vlb, /* lower bounds on the variables */
259
- int *vub, /* upper bounds on the variables */
260
- int *mrhs, /* right hand sides of the constraints */
261
- char *msense /* senses of the constraints: 'L', 'G' or 'E' */
262
- );
263
- void free_ilp();
264
- /* alloc_parity_ilp: allocate the memory for the parity ILP data structure */
265
-
266
- void alloc_parity_ilp(
267
- int mr, /* number of rows in the ILP matrix */
268
- int mc, /* number of columns in the ILP matrix */
269
- int mnz /* number of nonzero's in the ILP matrix */
270
- );
271
- void free_parity_ilp();
272
- void initialize_log_var();
273
- /* free_log_var */
274
- void free_log_var();
275
- private:
276
- /* best_weakening: find the best upper/lower bound weakening of a set
277
- of variables */
278
-
279
- int best_weakening(
280
- int n_to_weak, /* number of variables to weaken */
281
- int *vars_to_weak, /* indices of the variables to weaken */
282
- short int original_parity, /* original parity of the constraint to weaken */
283
- double original_slack, /* original slack of the constraint to weaken */
284
- double *best_even_slack, /* best possible slack of a weakened constraint
285
- with even right-hand-side */
286
- double *best_odd_slack, /* best possible slack of a weakened constraint
287
- with odd right-hand-side */
288
- info_weak **info_even_weak, /* weakening information about the best possible
289
- even weakened constraint */
290
- info_weak **info_odd_weak, /* weakening information about the best possible
291
- odd weakened constraint */
292
- short int only_odd, /* flag which tells whether only an odd weakening is of
293
- interest (TRUE) or both weakenings are (FALSE) */
294
- short int only_viol /* flag which tells whether only an inequality of
295
- slack smaller than MAX_SLACK is of interest (TRUE)
296
- otherwise (FALSE) */
297
- );
298
-
299
- /* best_cut: find the coefficients, the rhs and the violation of the
300
- best possible cut that can be obtained by weakening a given set of
301
- coefficients to even and a rhs to odd, dividing by 2 and rounding */
302
-
303
- short int best_cut(
304
- int *ccoef, /* vector of the coefficients */
305
- int *crhs, /* pointer to rhs value */
306
- double *violation, /* violation of the cut */
307
- short int update, /* TRUE/FALSE: if TRUE, the new ccoef and crhs are
308
- given on output */
309
- short int only_viol /* flag which tells whether only an inequality of
310
- slack smaller than MAX_SLACK is of interest (TRUE)
311
- otherwise (FALSE) */
312
- );
313
- /* get_cut: extract a hopefully violated cut from an odd cycle of the
314
- separation graph */
315
-
316
- cut *get_cut(
317
- cycle *s_cyc /* shortest odd cycles identified in the separation graph */
318
- );
319
-
320
- /* update_log_var: update the log information for the problem variables */
321
- void update_log_var();
322
-
323
- /* basic_separation: try to identify violated 0-1/2 cuts by using the
324
- original procedure described in Caprara and Fischetti's MP paper */
325
-
326
- cut_list *basic_separation();
327
-
328
- /* score_by_moving: compute the score of the best cut obtainable from
329
- the current local search solution by inserting/deleting a constraint */
330
-
331
- double score_by_moving(
332
- int i, /* constraint to be moved */
333
- short int itype, /* type of move - ADD or DEL */
334
- double thresh /* minimum value of an interesting score */
335
- );
336
- /* modify_current: update the current local search solution by inserting/
337
- deleting a constraint */
338
-
339
- void modify_current(
340
- int i, /* constraint to be moved */
341
- short int itype /* type of move - ADD or DEL */
342
- );
343
-
344
- /* best neighbour: find the cut to be added/deleted from the current
345
- solution among those allowed by the tabu rules */
346
-
347
- short int best_neighbour(cut_list *out_cuts /* list of the violated cuts found */);
348
-
349
- /* add_tight_constraint: initialize the current cut by adding a tight
350
- constraint to it */
351
-
352
- void add_tight_constraint();
353
-
354
- /* tabu_012: try to identify violated 0-1/2 cuts by a simple tabu search
355
- procedure adapted from that used by Battiti and Protasi for finding
356
- large cliques */
357
-
358
- cut_list *tabu_012();
359
- /* initialize: initialize the data structures for local search */
360
-
361
- void initialize();
362
- /* restart: perform a restart of the search - IMPORTANT: in the current
363
- implementation vector last_moved is not cleared at restart */
364
-
365
- void restart(short int failure /* flag forcing the restart if some trouble occurred */);
366
- void print_constr(int i /* constraint to be printed */);
367
- void print_parity_ilp();
368
-
369
- /* get_parity_ilp: construct an internal data structure containing all the
370
- information which can be useful for 0-1/2 cut separation */
371
-
372
- void get_parity_ilp();
373
- /* initialize_sep_graph: allocate and initialize the data structure
374
- to contain the information associated with a separation graph */
375
-
376
- separation_graph *initialize_sep_graph();
377
- void print_cut(cut *v_cut);
378
- /* get_ori_cut_coef: get the coefficients of a cut, before dividing by 2 and
379
- rounding, starting from the list of the constraints combined to get
380
- the cut */
381
-
382
- short int get_ori_cut_coef(
383
- int n_of_constr, /* number of constraints combined */
384
- int *constr_list, /* list of the constraints combined */
385
- int *ccoef, /* cut left hand side coefficients */
386
- int *crhs, /* cut right hand side */
387
- short int only_viol /* flag which tells whether only an inequality of
388
- slack smaller than MAX_SLACK is of interest (TRUE)
389
- otherwise (FALSE) */
390
- );
391
- /* define_cut: construct a cut data structure from a vector of
392
- coefficients and a right-hand-side */
393
-
394
- cut *define_cut(
395
- int *ccoef, /* coefficients of the cut */
396
- int crhs /* right hand side of the cut */
397
- );
398
-
399
- /* cut_score: define the score of a (violated) cut */
400
-
401
- double cut_score(
402
- int *ccoef, /* cut left hand side coefficients */
403
- int crhs, /* cut right hand side */
404
- double viol, /* cut violation */
405
- short int only_viol /* flag which tells whether only an inequality of
406
- slack smaller than MAX_SLACK is of interest (TRUE)
407
- otherwise (FALSE) */
408
- );
409
- /* get_current_cut: return a cut data type with the information about
410
- the current cut of the search procedure */
411
-
412
- cut *get_current_cut();
413
- /* print_cur_cut: display cur_cut on output */
414
-
415
- void print_cur_cut();
416
- void print_cut_list(cut_list *cuts);
417
- //@}
418
- public:
419
- /**@name Constructors and destructors */
420
- //@{
421
- /// Default constructor
422
- Cgl012Cut ();
423
-
424
- /// Copy constructor
425
- Cgl012Cut (
426
- const Cgl012Cut &);
427
-
428
- /// Assignment operator
429
- Cgl012Cut &
430
- operator=(
431
- const Cgl012Cut& rhs);
432
-
433
- /// Destructor
434
- virtual ~Cgl012Cut ();
435
- //@}
436
-
437
- private:
438
-
439
- // Private member methods
440
-
441
- /**@name Private methods */
442
- //@{
443
- //@}
444
-
445
-
446
- /**@name Private member data */
447
- //@{
448
-
449
- ilp *inp_ilp; /* input ILP data structure */
450
- parity_ilp *p_ilp; /* parity ILP data structure */
451
- int iter;
452
- double gap;
453
- double maxgap;
454
- int errorNo;
455
- int sep_iter; /* number of the current separation iteration */
456
- log_var **vlog; /* information about the value attained
457
- by the variables in the last iterations,
458
- used to possibly set to 0 some coefficient
459
- > 0 in a cut to be added */
460
- bool aggr; /* flag saying whether as many cuts as possible are required
461
- from the separation procedure (TRUE) or not (FALSE) */
462
- //@}
463
- };
464
- #endif