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,401 +0,0 @@
1
- /* $Id: ClpNonLinearCost.hpp 1769 2011-07-26 09:31:51Z forrest $ */
2
- // Copyright (C) 2002, 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 ClpNonLinearCost_H
7
- #define ClpNonLinearCost_H
8
-
9
-
10
- #include "CoinPragma.hpp"
11
-
12
- class ClpSimplex;
13
- class CoinIndexedVector;
14
-
15
- /** Trivial class to deal with non linear costs
16
-
17
- I don't make any explicit assumptions about convexity but I am
18
- sure I do make implicit ones.
19
-
20
- One interesting idea for normal LP's will be to allow non-basic
21
- variables to come into basis as infeasible i.e. if variable at
22
- lower bound has very large positive reduced cost (when problem
23
- is infeasible) could it reduce overall problem infeasibility more
24
- by bringing it into basis below its lower bound.
25
-
26
- Another feature would be to automatically discover when problems
27
- are convex piecewise linear and re-formulate to use non-linear.
28
- I did some work on this many years ago on "grade" problems, but
29
- while it improved primal interior point algorithms were much better
30
- for that particular problem.
31
- */
32
- /* status has original status and current status
33
- 0 - below lower so stored is upper
34
- 1 - in range
35
- 2 - above upper so stored is lower
36
- 4 - (for current) - same as original
37
- */
38
- #define CLP_BELOW_LOWER 0
39
- #define CLP_FEASIBLE 1
40
- #define CLP_ABOVE_UPPER 2
41
- #define CLP_SAME 4
42
- inline int originalStatus(unsigned char status)
43
- {
44
- return (status & 15);
45
- }
46
- inline int currentStatus(unsigned char status)
47
- {
48
- return (status >> 4);
49
- }
50
- inline void setOriginalStatus(unsigned char & status, int value)
51
- {
52
- status = static_cast<unsigned char>(status & ~15);
53
- status = static_cast<unsigned char>(status | value);
54
- }
55
- inline void setCurrentStatus(unsigned char &status, int value)
56
- {
57
- status = static_cast<unsigned char>(status & ~(15 << 4));
58
- status = static_cast<unsigned char>(status | (value << 4));
59
- }
60
- inline void setInitialStatus(unsigned char &status)
61
- {
62
- status = static_cast<unsigned char>(CLP_FEASIBLE | (CLP_SAME << 4));
63
- }
64
- inline void setSameStatus(unsigned char &status)
65
- {
66
- status = static_cast<unsigned char>(status & ~(15 << 4));
67
- status = static_cast<unsigned char>(status | (CLP_SAME << 4));
68
- }
69
- // Use second version to get more speed
70
- //#define FAST_CLPNON
71
- #ifndef FAST_CLPNON
72
- #define CLP_METHOD1 ((method_&1)!=0)
73
- #define CLP_METHOD2 ((method_&2)!=0)
74
- #else
75
- #define CLP_METHOD1 (false)
76
- #define CLP_METHOD2 (true)
77
- #endif
78
- class ClpNonLinearCost {
79
-
80
- public:
81
-
82
- public:
83
-
84
- /**@name Constructors, destructor */
85
- //@{
86
- /// Default constructor.
87
- ClpNonLinearCost();
88
- /** Constructor from simplex.
89
- This will just set up wasteful arrays for linear, but
90
- later may do dual analysis and even finding duplicate columns .
91
- */
92
- ClpNonLinearCost(ClpSimplex * model, int method = 1);
93
- /** Constructor from simplex and list of non-linearities (columns only)
94
- First lower of each column has to match real lower
95
- Last lower has to be <= upper (if == then cost ignored)
96
- This could obviously be changed to make more user friendly
97
- */
98
- ClpNonLinearCost(ClpSimplex * model, const int * starts,
99
- const double * lower, const double * cost);
100
- /// Destructor
101
- ~ClpNonLinearCost();
102
- // Copy
103
- ClpNonLinearCost(const ClpNonLinearCost&);
104
- // Assignment
105
- ClpNonLinearCost& operator=(const ClpNonLinearCost&);
106
- //@}
107
-
108
-
109
- /**@name Actual work in primal */
110
- //@{
111
- /** Changes infeasible costs and computes number and cost of infeas
112
- Puts all non-basic (non free) variables to bounds
113
- and all free variables to zero if oldTolerance is non-zero
114
- - but does not move those <= oldTolerance away*/
115
- void checkInfeasibilities(double oldTolerance = 0.0);
116
- /** Changes infeasible costs for each variable
117
- The indices are row indices and need converting to sequences
118
- */
119
- void checkInfeasibilities(int numberInArray, const int * index);
120
- /** Puts back correct infeasible costs for each variable
121
- The input indices are row indices and need converting to sequences
122
- for costs.
123
- On input array is empty (but indices exist). On exit just
124
- changed costs will be stored as normal CoinIndexedVector
125
- */
126
- void checkChanged(int numberInArray, CoinIndexedVector * update);
127
- /** Goes through one bound for each variable.
128
- If multiplier*work[iRow]>0 goes down, otherwise up.
129
- The indices are row indices and need converting to sequences
130
- Temporary offsets may be set
131
- Rhs entries are increased
132
- */
133
- void goThru(int numberInArray, double multiplier,
134
- const int * index, const double * work,
135
- double * rhs);
136
- /** Takes off last iteration (i.e. offsets closer to 0)
137
- */
138
- void goBack(int numberInArray, const int * index,
139
- double * rhs);
140
- /** Puts back correct infeasible costs for each variable
141
- The input indices are row indices and need converting to sequences
142
- for costs.
143
- At the end of this all temporary offsets are zero
144
- */
145
- void goBackAll(const CoinIndexedVector * update);
146
- /// Temporary zeroing of feasible costs
147
- void zapCosts();
148
- /// Refreshes costs always makes row costs zero
149
- void refreshCosts(const double * columnCosts);
150
- /// Puts feasible bounds into lower and upper
151
- void feasibleBounds();
152
- /// Refresh - assuming regions OK
153
- void refresh();
154
- /** Sets bounds and cost for one variable
155
- Returns change in cost
156
- May need to be inline for speed */
157
- double setOne(int sequence, double solutionValue);
158
- /** Sets bounds and infeasible cost and true cost for one variable
159
- This is for gub and column generation etc */
160
- void setOne(int sequence, double solutionValue, double lowerValue, double upperValue,
161
- double costValue = 0.0);
162
- /** Sets bounds and cost for outgoing variable
163
- may change value
164
- Returns direction */
165
- int setOneOutgoing(int sequence, double &solutionValue);
166
- /// Returns nearest bound
167
- double nearest(int sequence, double solutionValue);
168
- /** Returns change in cost - one down if alpha >0.0, up if <0.0
169
- Value is current - new
170
- */
171
- inline double changeInCost(int sequence, double alpha) const {
172
- double returnValue = 0.0;
173
- if (CLP_METHOD1) {
174
- int iRange = whichRange_[sequence] + offset_[sequence];
175
- if (alpha > 0.0)
176
- returnValue = cost_[iRange] - cost_[iRange-1];
177
- else
178
- returnValue = cost_[iRange] - cost_[iRange+1];
179
- }
180
- if (CLP_METHOD2) {
181
- returnValue = (alpha > 0.0) ? infeasibilityWeight_ : -infeasibilityWeight_;
182
- }
183
- return returnValue;
184
- }
185
- inline double changeUpInCost(int sequence) const {
186
- double returnValue = 0.0;
187
- if (CLP_METHOD1) {
188
- int iRange = whichRange_[sequence] + offset_[sequence];
189
- if (iRange + 1 != start_[sequence+1] && !infeasible(iRange + 1))
190
- returnValue = cost_[iRange] - cost_[iRange+1];
191
- else
192
- returnValue = -1.0e100;
193
- }
194
- if (CLP_METHOD2) {
195
- returnValue = -infeasibilityWeight_;
196
- }
197
- return returnValue;
198
- }
199
- inline double changeDownInCost(int sequence) const {
200
- double returnValue = 0.0;
201
- if (CLP_METHOD1) {
202
- int iRange = whichRange_[sequence] + offset_[sequence];
203
- if (iRange != start_[sequence] && !infeasible(iRange - 1))
204
- returnValue = cost_[iRange] - cost_[iRange-1];
205
- else
206
- returnValue = 1.0e100;
207
- }
208
- if (CLP_METHOD2) {
209
- returnValue = infeasibilityWeight_;
210
- }
211
- return returnValue;
212
- }
213
- /// This also updates next bound
214
- inline double changeInCost(int sequence, double alpha, double &rhs) {
215
- double returnValue = 0.0;
216
- #ifdef NONLIN_DEBUG
217
- double saveRhs = rhs;
218
- #endif
219
- if (CLP_METHOD1) {
220
- int iRange = whichRange_[sequence] + offset_[sequence];
221
- if (alpha > 0.0) {
222
- assert(iRange - 1 >= start_[sequence]);
223
- offset_[sequence]--;
224
- rhs += lower_[iRange] - lower_[iRange-1];
225
- returnValue = alpha * (cost_[iRange] - cost_[iRange-1]);
226
- } else {
227
- assert(iRange + 1 < start_[sequence+1] - 1);
228
- offset_[sequence]++;
229
- rhs += lower_[iRange+2] - lower_[iRange+1];
230
- returnValue = alpha * (cost_[iRange] - cost_[iRange+1]);
231
- }
232
- }
233
- if (CLP_METHOD2) {
234
- #ifdef NONLIN_DEBUG
235
- double saveRhs1 = rhs;
236
- rhs = saveRhs;
237
- #endif
238
- unsigned char iStatus = status_[sequence];
239
- int iWhere = currentStatus(iStatus);
240
- if (iWhere == CLP_SAME)
241
- iWhere = originalStatus(iStatus);
242
- // rhs always increases
243
- if (iWhere == CLP_FEASIBLE) {
244
- if (alpha > 0.0) {
245
- // going below
246
- iWhere = CLP_BELOW_LOWER;
247
- rhs = COIN_DBL_MAX;
248
- } else {
249
- // going above
250
- iWhere = CLP_ABOVE_UPPER;
251
- rhs = COIN_DBL_MAX;
252
- }
253
- } else if (iWhere == CLP_BELOW_LOWER) {
254
- assert (alpha < 0);
255
- // going feasible
256
- iWhere = CLP_FEASIBLE;
257
- rhs += bound_[sequence] - model_->upperRegion()[sequence];
258
- } else {
259
- assert (iWhere == CLP_ABOVE_UPPER);
260
- // going feasible
261
- iWhere = CLP_FEASIBLE;
262
- rhs += model_->lowerRegion()[sequence] - bound_[sequence];
263
- }
264
- setCurrentStatus(status_[sequence], iWhere);
265
- #ifdef NONLIN_DEBUG
266
- assert(saveRhs1 == rhs);
267
- #endif
268
- returnValue = fabs(alpha) * infeasibilityWeight_;
269
- }
270
- return returnValue;
271
- }
272
- /// Returns current lower bound
273
- inline double lower(int sequence) const {
274
- return lower_[whichRange_[sequence] + offset_[sequence]];
275
- }
276
- /// Returns current upper bound
277
- inline double upper(int sequence) const {
278
- return lower_[whichRange_[sequence] + offset_[sequence] + 1];
279
- }
280
- /// Returns current cost
281
- inline double cost(int sequence) const {
282
- return cost_[whichRange_[sequence] + offset_[sequence]];
283
- }
284
- //@}
285
-
286
-
287
- /**@name Gets and sets */
288
- //@{
289
- /// Number of infeasibilities
290
- inline int numberInfeasibilities() const {
291
- return numberInfeasibilities_;
292
- }
293
- /// Change in cost
294
- inline double changeInCost() const {
295
- return changeCost_;
296
- }
297
- /// Feasible cost
298
- inline double feasibleCost() const {
299
- return feasibleCost_;
300
- }
301
- /// Feasible cost with offset and direction (i.e. for reporting)
302
- double feasibleReportCost() const;
303
- /// Sum of infeasibilities
304
- inline double sumInfeasibilities() const {
305
- return sumInfeasibilities_;
306
- }
307
- /// Largest infeasibility
308
- inline double largestInfeasibility() const {
309
- return largestInfeasibility_;
310
- }
311
- /// Average theta
312
- inline double averageTheta() const {
313
- return averageTheta_;
314
- }
315
- inline void setAverageTheta(double value) {
316
- averageTheta_ = value;
317
- }
318
- inline void setChangeInCost(double value) {
319
- changeCost_ = value;
320
- }
321
- inline void setMethod(int value) {
322
- method_ = value;
323
- }
324
- /// See if may want to look both ways
325
- inline bool lookBothWays() const {
326
- return bothWays_;
327
- }
328
- //@}
329
- ///@name Private functions to deal with infeasible regions
330
- inline bool infeasible(int i) const {
331
- return ((infeasible_[i>>5] >> (i & 31)) & 1) != 0;
332
- }
333
- inline void setInfeasible(int i, bool trueFalse) {
334
- unsigned int & value = infeasible_[i>>5];
335
- int bit = i & 31;
336
- if (trueFalse)
337
- value |= (1 << bit);
338
- else
339
- value &= ~(1 << bit);
340
- }
341
- inline unsigned char * statusArray() const {
342
- return status_;
343
- }
344
- /// For debug
345
- void validate();
346
- //@}
347
-
348
- private:
349
- /**@name Data members */
350
- //@{
351
- /// Change in cost because of infeasibilities
352
- double changeCost_;
353
- /// Feasible cost
354
- double feasibleCost_;
355
- /// Current infeasibility weight
356
- double infeasibilityWeight_;
357
- /// Largest infeasibility
358
- double largestInfeasibility_;
359
- /// Sum of infeasibilities
360
- double sumInfeasibilities_;
361
- /// Average theta - kept here as only for primal
362
- double averageTheta_;
363
- /// Number of rows (mainly for checking and copy)
364
- int numberRows_;
365
- /// Number of columns (mainly for checking and copy)
366
- int numberColumns_;
367
- /// Starts for each entry (columns then rows)
368
- int * start_;
369
- /// Range for each entry (columns then rows)
370
- int * whichRange_;
371
- /// Temporary range offset for each entry (columns then rows)
372
- int * offset_;
373
- /** Lower bound for each range (upper bound is next lower).
374
- For various reasons there is always an infeasible range
375
- at bottom - even if lower bound is - infinity */
376
- double * lower_;
377
- /// Cost for each range
378
- double * cost_;
379
- /// Model
380
- ClpSimplex * model_;
381
- // Array to say which regions are infeasible
382
- unsigned int * infeasible_;
383
- /// Number of infeasibilities found
384
- int numberInfeasibilities_;
385
- // new stuff
386
- /// Contains status at beginning and current
387
- unsigned char * status_;
388
- /// Bound which has been replaced in lower_ or upper_
389
- double * bound_;
390
- /// Feasible cost array
391
- double * cost2_;
392
- /// Method 1 old, 2 new, 3 both!
393
- int method_;
394
- /// If all non-linear costs convex
395
- bool convex_;
396
- /// If we should look both ways for djs
397
- bool bothWays_;
398
- //@}
399
- };
400
-
401
- #endif
@@ -1,134 +0,0 @@
1
- /* $Id: ClpObjective.hpp 1825 2011-11-20 16:02:57Z forrest $ */
2
- // Copyright (C) 2002, 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 ClpObjective_H
7
- #define ClpObjective_H
8
-
9
-
10
- //#############################################################################
11
- class ClpSimplex;
12
- class ClpModel;
13
-
14
- /** Objective Abstract Base Class
15
-
16
- Abstract Base Class for describing an objective function
17
-
18
- */
19
- class ClpObjective {
20
-
21
- public:
22
-
23
- ///@name Stuff
24
- //@{
25
-
26
- /** Returns gradient. If Linear then solution may be NULL,
27
- also returns an offset (to be added to current one)
28
- If refresh is false then uses last solution
29
- Uses model for scaling
30
- includeLinear 0 - no, 1 as is, 2 as feasible
31
- */
32
- virtual double * gradient(const ClpSimplex * model,
33
- const double * solution,
34
- double & offset, bool refresh,
35
- int includeLinear = 2) = 0;
36
- /** Returns reduced gradient.Returns an offset (to be added to current one).
37
- */
38
- virtual double reducedGradient(ClpSimplex * model, double * region,
39
- bool useFeasibleCosts) = 0;
40
- /** Returns step length which gives minimum of objective for
41
- solution + theta * change vector up to maximum theta.
42
-
43
- arrays are numberColumns+numberRows
44
- Also sets current objective, predicted and at maximumTheta
45
- */
46
- virtual double stepLength(ClpSimplex * model,
47
- const double * solution,
48
- const double * change,
49
- double maximumTheta,
50
- double & currentObj,
51
- double & predictedObj,
52
- double & thetaObj) = 0;
53
- /// Return objective value (without any ClpModel offset) (model may be NULL)
54
- virtual double objectiveValue(const ClpSimplex * model, const double * solution) const = 0;
55
- /// Resize objective
56
- virtual void resize(int newNumberColumns) = 0;
57
- /// Delete columns in objective
58
- virtual void deleteSome(int numberToDelete, const int * which) = 0;
59
- /// Scale objective
60
- virtual void reallyScale(const double * columnScale) = 0;
61
- /** Given a zeroed array sets nonlinear columns to 1.
62
- Returns number of nonlinear columns
63
- */
64
- virtual int markNonlinear(char * which);
65
- /// Say we have new primal solution - so may need to recompute
66
- virtual void newXValues() {}
67
- //@}
68
-
69
-
70
- ///@name Constructors and destructors
71
- //@{
72
- /// Default Constructor
73
- ClpObjective();
74
-
75
- /// Copy constructor
76
- ClpObjective(const ClpObjective &);
77
-
78
- /// Assignment operator
79
- ClpObjective & operator=(const ClpObjective& rhs);
80
-
81
- /// Destructor
82
- virtual ~ClpObjective ();
83
-
84
- /// Clone
85
- virtual ClpObjective * clone() const = 0;
86
- /** Subset clone. Duplicates are allowed
87
- and order is as given.
88
- Derived classes need not provide this as it may not always make
89
- sense */
90
- virtual ClpObjective * subsetClone (int numberColumns,
91
- const int * whichColumns) const;
92
-
93
- //@}
94
-
95
- ///@name Other
96
- //@{
97
- /// Returns type (above 63 is extra information)
98
- inline int type() const {
99
- return type_;
100
- }
101
- /// Sets type (above 63 is extra information)
102
- inline void setType(int value) {
103
- type_ = value;
104
- }
105
- /// Whether activated
106
- inline int activated() const {
107
- return activated_;
108
- }
109
- /// Set whether activated
110
- inline void setActivated(int value) {
111
- activated_ = value;
112
- }
113
-
114
- /// Objective offset
115
- inline double nonlinearOffset () const {
116
- return offset_;
117
- }
118
- //@}
119
-
120
- //---------------------------------------------------------------------------
121
-
122
- protected:
123
- ///@name Protected member data
124
- //@{
125
- /// Value of non-linear part of objective
126
- double offset_;
127
- /// Type of objective - linear is 1
128
- int type_;
129
- /// Whether activated
130
- int activated_;
131
- //@}
132
- };
133
-
134
- #endif