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,187 +0,0 @@
1
- /* $Id: ClpEventHandler.hpp 2156 2015-08-07 14:51:42Z forrest $ */
2
- // Copyright (C) 2004, International Business Machines
3
- // Corporation and others. All Rights Reserved.
4
- // This code is licensed under the terms of the Eclipse Public License (EPL).
5
-
6
- #ifndef ClpEventHandler_H
7
- #define ClpEventHandler_H
8
-
9
- #include "ClpSimplex.hpp"
10
- /** Base class for Clp event handling
11
-
12
- This is just here to allow for event handling. By event I mean a Clp event
13
- e.g. end of values pass.
14
-
15
- One use would be to let a user handle a system event e.g. Control-C. This could be done
16
- by deriving a class MyEventHandler which knows about such events. If one occurs
17
- MyEventHandler::event() could clear event status and return 3 (stopped).
18
-
19
- Clp would then return to user code.
20
-
21
- As it is called every iteration this should be fine grained enough.
22
-
23
- User can derive and construct from CbcModel - not pretty
24
-
25
- */
26
-
27
- class ClpEventHandler {
28
-
29
- public:
30
- /** enums for what sort of event.
31
-
32
- These will also be returned in ClpModel::secondaryStatus() as int
33
- */
34
- enum Event {
35
- endOfIteration = 100, // used to set secondary status
36
- endOfFactorization, // after gutsOfSolution etc
37
- endOfValuesPass,
38
- node, // for Cbc
39
- treeStatus, // for Cbc
40
- solution, // for Cbc
41
- theta, // hit in parametrics
42
- pivotRow, // used to choose pivot row
43
- presolveStart, // ClpSolve presolve start
44
- presolveSize, // sees if ClpSolve presolve too big or too small
45
- presolveInfeasible, // ClpSolve presolve infeasible
46
- presolveBeforeSolve, // ClpSolve presolve before solve
47
- presolveAfterFirstSolve, // ClpSolve presolve after solve
48
- presolveAfterSolve, // ClpSolve presolve after solve
49
- presolveEnd, // ClpSolve presolve end
50
- goodFactorization, // before gutsOfSolution
51
- complicatedPivotIn, // in modifyCoefficients
52
- noCandidateInPrimal, // tentative end
53
- looksEndInPrimal, // About to declare victory (or defeat)
54
- endInPrimal, // Victory (or defeat)
55
- beforeStatusOfProblemInPrimal,
56
- startOfStatusOfProblemInPrimal,
57
- complicatedPivotOut, // in modifyCoefficients
58
- noCandidateInDual, // tentative end
59
- looksEndInDual, // About to declare victory (or defeat)
60
- endInDual, // Victory (or defeat)
61
- beforeStatusOfProblemInDual,
62
- startOfStatusOfProblemInDual,
63
- startOfIterationInDual,
64
- updateDualsInDual,
65
- endOfCreateRim,
66
- slightlyInfeasible,
67
- modifyMatrixInMiniPresolve,
68
- moreMiniPresolve,
69
- modifyMatrixInMiniPostsolve,
70
- startOfCrossover, // in Idiot
71
- noTheta // At end (because no pivot)
72
- };
73
- /**@name Virtual method that the derived classes should provide.
74
- The base class instance does nothing and as event() is only useful method
75
- it would not be very useful NOT providing one!
76
- */
77
- //@{
78
- /** This can do whatever it likes. If return code -1 then carries on
79
- if 0 sets ClpModel::status() to 5 (stopped by event) and will return to user.
80
- At present if <-1 carries on and if >0 acts as if 0 - this may change.
81
- For ClpSolve 2 -> too big return status of -2 and -> too small 3
82
- */
83
- virtual int event(Event whichEvent);
84
- /** This can do whatever it likes. Return code -1 means no action.
85
- This passes in something
86
- */
87
- virtual int eventWithInfo(Event whichEvent, void * info) ;
88
- //@}
89
-
90
-
91
- /**@name Constructors, destructor */
92
-
93
- //@{
94
- /** Default constructor. */
95
- ClpEventHandler(ClpSimplex * model = NULL);
96
- /** Destructor */
97
- virtual ~ClpEventHandler();
98
- // Copy
99
- ClpEventHandler(const ClpEventHandler&);
100
- // Assignment
101
- ClpEventHandler& operator=(const ClpEventHandler&);
102
- /// Clone
103
- virtual ClpEventHandler * clone() const;
104
-
105
- //@}
106
-
107
- /**@name Sets/gets */
108
-
109
- //@{
110
- /** set model. */
111
- void setSimplex(ClpSimplex * model);
112
- /// Get model
113
- inline ClpSimplex * simplex() const {
114
- return model_;
115
- }
116
- //@}
117
-
118
-
119
- protected:
120
- /**@name Data members
121
- The data members are protected to allow access for derived classes. */
122
- //@{
123
- /// Pointer to simplex
124
- ClpSimplex * model_;
125
- //@}
126
- };
127
- /** Base class for Clp disaster handling
128
-
129
- This is here to allow for disaster handling. By disaster I mean that Clp
130
- would otherwise give up
131
-
132
- */
133
-
134
- class ClpDisasterHandler {
135
-
136
- public:
137
- /**@name Virtual methods that the derived classe should provide.
138
- */
139
- //@{
140
- /// Into simplex
141
- virtual void intoSimplex() = 0;
142
- /// Checks if disaster
143
- virtual bool check() const = 0;
144
- /// saves information for next attempt
145
- virtual void saveInfo() = 0;
146
- /// Type of disaster 0 can fix, 1 abort
147
- virtual int typeOfDisaster();
148
- //@}
149
-
150
-
151
- /**@name Constructors, destructor */
152
-
153
- //@{
154
- /** Default constructor. */
155
- ClpDisasterHandler(ClpSimplex * model = NULL);
156
- /** Destructor */
157
- virtual ~ClpDisasterHandler();
158
- // Copy
159
- ClpDisasterHandler(const ClpDisasterHandler&);
160
- // Assignment
161
- ClpDisasterHandler& operator=(const ClpDisasterHandler&);
162
- /// Clone
163
- virtual ClpDisasterHandler * clone() const = 0;
164
-
165
- //@}
166
-
167
- /**@name Sets/gets */
168
-
169
- //@{
170
- /** set model. */
171
- void setSimplex(ClpSimplex * model);
172
- /// Get model
173
- inline ClpSimplex * simplex() const {
174
- return model_;
175
- }
176
- //@}
177
-
178
-
179
- protected:
180
- /**@name Data members
181
- The data members are protected to allow access for derived classes. */
182
- //@{
183
- /// Pointer to simplex
184
- ClpSimplex * model_;
185
- //@}
186
- };
187
- #endif
@@ -1,432 +0,0 @@
1
- /* $Id: ClpFactorization.hpp 2078 2015-01-05 12:39:49Z 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 ClpFactorization_H
7
- #define ClpFactorization_H
8
-
9
-
10
- #include "CoinPragma.hpp"
11
-
12
- #include "CoinFactorization.hpp"
13
- class ClpMatrixBase;
14
- class ClpSimplex;
15
- class ClpNetworkBasis;
16
- class CoinOtherFactorization;
17
- #ifndef CLP_MULTIPLE_FACTORIZATIONS
18
- #define CLP_MULTIPLE_FACTORIZATIONS 4
19
- #endif
20
- #ifdef CLP_MULTIPLE_FACTORIZATIONS
21
- #include "CoinDenseFactorization.hpp"
22
- #include "ClpSimplex.hpp"
23
- #endif
24
- #ifndef COIN_FAST_CODE
25
- #define COIN_FAST_CODE
26
- #endif
27
- #ifndef CLP_FACTORIZATION_NEW_TIMING
28
- #define CLP_FACTORIZATION_NEW_TIMING 1
29
- #endif
30
-
31
- /** This just implements CoinFactorization when an ClpMatrixBase object
32
- is passed. If a network then has a dummy CoinFactorization and
33
- a genuine ClpNetworkBasis object
34
- */
35
- class ClpFactorization
36
- #ifndef CLP_MULTIPLE_FACTORIZATIONS
37
- : public CoinFactorization
38
- #endif
39
- {
40
-
41
- //friend class CoinFactorization;
42
-
43
- public:
44
- /**@name factorization */
45
- //@{
46
- /** When part of LP - given by basic variables.
47
- Actually does factorization.
48
- Arrays passed in have non negative value to say basic.
49
- If status is okay, basic variables have pivot row - this is only needed
50
- if increasingRows_ >1.
51
- Allows scaling
52
- If status is singular, then basic variables have pivot row
53
- and ones thrown out have -1
54
- returns 0 -okay, -1 singular, -2 too many in basis, -99 memory */
55
- int factorize (ClpSimplex * model, int solveType, bool valuesPass);
56
- //@}
57
-
58
-
59
- /**@name Constructors, destructor */
60
- //@{
61
- /** Default constructor. */
62
- ClpFactorization();
63
- /** Destructor */
64
- ~ClpFactorization();
65
- //@}
66
-
67
- /**@name Copy method */
68
- //@{
69
- /** The copy constructor from an CoinFactorization. */
70
- ClpFactorization(const CoinFactorization&);
71
- /** The copy constructor. */
72
- ClpFactorization(const ClpFactorization&, int denseIfSmaller = 0);
73
- #ifdef CLP_MULTIPLE_FACTORIZATIONS
74
- /** The copy constructor from an CoinOtherFactorization. */
75
- ClpFactorization(const CoinOtherFactorization&);
76
- #endif
77
- ClpFactorization& operator=(const ClpFactorization&);
78
- //@}
79
-
80
- /* **** below here is so can use networkish basis */
81
- /**@name rank one updates which do exist */
82
- //@{
83
-
84
- /** Replaces one Column to basis,
85
- returns 0=OK, 1=Probably OK, 2=singular, 3=no room
86
- If checkBeforeModifying is true will do all accuracy checks
87
- before modifying factorization. Whether to set this depends on
88
- speed considerations. You could just do this on first iteration
89
- after factorization and thereafter re-factorize
90
- partial update already in U */
91
- int replaceColumn ( const ClpSimplex * model,
92
- CoinIndexedVector * regionSparse,
93
- CoinIndexedVector * tableauColumn,
94
- int pivotRow,
95
- double pivotCheck ,
96
- bool checkBeforeModifying = false,
97
- double acceptablePivot = 1.0e-8);
98
- //@}
99
-
100
- /**@name various uses of factorization (return code number elements)
101
- which user may want to know about */
102
- //@{
103
- /** Updates one column (FTRAN) from region2
104
- Tries to do FT update
105
- number returned is negative if no room
106
- region1 starts as zero and is zero at end */
107
- int updateColumnFT ( CoinIndexedVector * regionSparse,
108
- CoinIndexedVector * regionSparse2);
109
- /** Updates one column (FTRAN) from region2
110
- region1 starts as zero and is zero at end */
111
- int updateColumn ( CoinIndexedVector * regionSparse,
112
- CoinIndexedVector * regionSparse2,
113
- bool noPermute = false) const;
114
- /** Updates one column (FTRAN) from region2
115
- Tries to do FT update
116
- number returned is negative if no room.
117
- Also updates region3
118
- region1 starts as zero and is zero at end */
119
- int updateTwoColumnsFT ( CoinIndexedVector * regionSparse1,
120
- CoinIndexedVector * regionSparse2,
121
- CoinIndexedVector * regionSparse3,
122
- bool noPermuteRegion3 = false) ;
123
- /// For debug (no statistics update)
124
- int updateColumnForDebug ( CoinIndexedVector * regionSparse,
125
- CoinIndexedVector * regionSparse2,
126
- bool noPermute = false) const;
127
- /** Updates one column (BTRAN) from region2
128
- region1 starts as zero and is zero at end */
129
- int updateColumnTranspose ( CoinIndexedVector * regionSparse,
130
- CoinIndexedVector * regionSparse2) const;
131
- //@}
132
- #ifdef CLP_MULTIPLE_FACTORIZATIONS
133
- /**@name Lifted from CoinFactorization */
134
- //@{
135
- /// Total number of elements in factorization
136
- inline int numberElements ( ) const {
137
- if (coinFactorizationA_) return coinFactorizationA_->numberElements();
138
- else return coinFactorizationB_->numberElements() ;
139
- }
140
- /// Returns address of permute region
141
- inline int *permute ( ) const {
142
- if (coinFactorizationA_) return coinFactorizationA_->permute();
143
- else return coinFactorizationB_->permute() ;
144
- }
145
- /// Returns address of pivotColumn region (also used for permuting)
146
- inline int *pivotColumn ( ) const {
147
- if (coinFactorizationA_) return coinFactorizationA_->pivotColumn();
148
- else return coinFactorizationB_->permute() ;
149
- }
150
- /// Maximum number of pivots between factorizations
151
- inline int maximumPivots ( ) const {
152
- if (coinFactorizationA_) return coinFactorizationA_->maximumPivots();
153
- else return coinFactorizationB_->maximumPivots() ;
154
- }
155
- /// Set maximum number of pivots between factorizations
156
- inline void maximumPivots ( int value) {
157
- if (coinFactorizationA_) coinFactorizationA_->maximumPivots(value);
158
- else coinFactorizationB_->maximumPivots(value);
159
- }
160
- /// Returns number of pivots since factorization
161
- inline int pivots ( ) const {
162
- if (coinFactorizationA_) return coinFactorizationA_->pivots();
163
- else return coinFactorizationB_->pivots() ;
164
- }
165
- /// Whether larger areas needed
166
- inline double areaFactor ( ) const {
167
- if (coinFactorizationA_) return coinFactorizationA_->areaFactor();
168
- else return 0.0 ;
169
- }
170
- /// Set whether larger areas needed
171
- inline void areaFactor ( double value) {
172
- if (coinFactorizationA_) coinFactorizationA_->areaFactor(value);
173
- }
174
- /// Zero tolerance
175
- inline double zeroTolerance ( ) const {
176
- if (coinFactorizationA_) return coinFactorizationA_->zeroTolerance();
177
- else return coinFactorizationB_->zeroTolerance() ;
178
- }
179
- /// Set zero tolerance
180
- inline void zeroTolerance ( double value) {
181
- if (coinFactorizationA_) coinFactorizationA_->zeroTolerance(value);
182
- else coinFactorizationB_->zeroTolerance(value);
183
- }
184
- /// Set tolerances to safer of existing and given
185
- void saferTolerances ( double zeroTolerance, double pivotTolerance);
186
- /** get sparse threshold */
187
- inline int sparseThreshold ( ) const {
188
- if (coinFactorizationA_) return coinFactorizationA_->sparseThreshold();
189
- else return 0 ;
190
- }
191
- /** Set sparse threshold */
192
- inline void sparseThreshold ( int value) {
193
- if (coinFactorizationA_) coinFactorizationA_->sparseThreshold(value);
194
- }
195
- /// Returns status
196
- inline int status ( ) const {
197
- if (coinFactorizationA_) return coinFactorizationA_->status();
198
- else return coinFactorizationB_->status() ;
199
- }
200
- /// Sets status
201
- inline void setStatus ( int value) {
202
- if (coinFactorizationA_) coinFactorizationA_->setStatus(value);
203
- else coinFactorizationB_->setStatus(value) ;
204
- }
205
- /// Returns number of dense rows
206
- inline int numberDense() const {
207
- if (coinFactorizationA_) return coinFactorizationA_->numberDense();
208
- else return 0 ;
209
- }
210
- #if 1
211
- /// Returns number in U area
212
- inline CoinBigIndex numberElementsU ( ) const {
213
- if (coinFactorizationA_) return coinFactorizationA_->numberElementsU();
214
- else return -1 ;
215
- }
216
- /// Returns number in L area
217
- inline CoinBigIndex numberElementsL ( ) const {
218
- if (coinFactorizationA_) return coinFactorizationA_->numberElementsL();
219
- else return -1 ;
220
- }
221
- /// Returns number in R area
222
- inline CoinBigIndex numberElementsR ( ) const {
223
- if (coinFactorizationA_) return coinFactorizationA_->numberElementsR();
224
- else return 0 ;
225
- }
226
- #endif
227
- bool timeToRefactorize() const;
228
- #if CLP_FACTORIZATION_NEW_TIMING>1
229
- void statsRefactor(char when) const;
230
- #endif
231
- /// Level of detail of messages
232
- inline int messageLevel ( ) const {
233
- if (coinFactorizationA_) return coinFactorizationA_->messageLevel();
234
- else return 1 ;
235
- }
236
- /// Set level of detail of messages
237
- inline void messageLevel ( int value) {
238
- if (coinFactorizationA_) coinFactorizationA_->messageLevel(value);
239
- }
240
- /// Get rid of all memory
241
- inline void clearArrays() {
242
- if (coinFactorizationA_)
243
- coinFactorizationA_->clearArrays();
244
- else if (coinFactorizationB_)
245
- coinFactorizationB_->clearArrays();
246
- }
247
- /// Number of Rows after factorization
248
- inline int numberRows ( ) const {
249
- if (coinFactorizationA_) return coinFactorizationA_->numberRows();
250
- else return coinFactorizationB_->numberRows() ;
251
- }
252
- /// Gets dense threshold
253
- inline int denseThreshold() const {
254
- if (coinFactorizationA_) return coinFactorizationA_->denseThreshold();
255
- else return 0 ;
256
- }
257
- /// Sets dense threshold
258
- inline void setDenseThreshold(int value) {
259
- if (coinFactorizationA_) coinFactorizationA_->setDenseThreshold(value);
260
- }
261
- /// Pivot tolerance
262
- inline double pivotTolerance ( ) const {
263
- if (coinFactorizationA_) return coinFactorizationA_->pivotTolerance();
264
- else if (coinFactorizationB_) return coinFactorizationB_->pivotTolerance();
265
- return 1.0e-8 ;
266
- }
267
- /// Set pivot tolerance
268
- inline void pivotTolerance ( double value) {
269
- if (coinFactorizationA_) coinFactorizationA_->pivotTolerance(value);
270
- else if (coinFactorizationB_) coinFactorizationB_->pivotTolerance(value);
271
- }
272
- /// Allows change of pivot accuracy check 1.0 == none >1.0 relaxed
273
- inline void relaxAccuracyCheck(double value) {
274
- if (coinFactorizationA_) coinFactorizationA_->relaxAccuracyCheck(value);
275
- }
276
- /** Array persistence flag
277
- If 0 then as now (delete/new)
278
- 1 then only do arrays if bigger needed
279
- 2 as 1 but give a bit extra if bigger needed
280
- */
281
- inline int persistenceFlag() const {
282
- if (coinFactorizationA_) return coinFactorizationA_->persistenceFlag();
283
- else return 0 ;
284
- }
285
- inline void setPersistenceFlag(int value) {
286
- if (coinFactorizationA_) coinFactorizationA_->setPersistenceFlag(value);
287
- }
288
- /// Delete all stuff (leaves as after CoinFactorization())
289
- inline void almostDestructor() {
290
- if (coinFactorizationA_)
291
- coinFactorizationA_->almostDestructor();
292
- else if (coinFactorizationB_)
293
- coinFactorizationB_->clearArrays();
294
- }
295
- /// Returns areaFactor but adjusted for dense
296
- inline double adjustedAreaFactor() const {
297
- if (coinFactorizationA_) return coinFactorizationA_->adjustedAreaFactor();
298
- else return 0.0 ;
299
- }
300
- inline void setBiasLU(int value) {
301
- if (coinFactorizationA_) coinFactorizationA_->setBiasLU(value);
302
- }
303
- /// true if Forrest Tomlin update, false if PFI
304
- inline void setForrestTomlin(bool value) {
305
- if (coinFactorizationA_) coinFactorizationA_->setForrestTomlin(value);
306
- }
307
- /// Sets default values
308
- inline void setDefaultValues() {
309
- if (coinFactorizationA_) {
310
- // row activities have negative sign
311
- #ifndef COIN_FAST_CODE
312
- coinFactorizationA_->slackValue(-1.0);
313
- #endif
314
- coinFactorizationA_->zeroTolerance(1.0e-13);
315
- }
316
- }
317
- /// If nonzero force use of 1,dense 2,small 3,osl
318
- void forceOtherFactorization(int which);
319
- /// Get switch to osl if number rows <= this
320
- inline int goOslThreshold() const {
321
- return goOslThreshold_;
322
- }
323
- /// Set switch to osl if number rows <= this
324
- inline void setGoOslThreshold(int value) {
325
- goOslThreshold_ = value;
326
- }
327
- /// Get switch to dense if number rows <= this
328
- inline int goDenseThreshold() const {
329
- return goDenseThreshold_;
330
- }
331
- /// Set switch to dense if number rows <= this
332
- inline void setGoDenseThreshold(int value) {
333
- goDenseThreshold_ = value;
334
- }
335
- /// Get switch to small if number rows <= this
336
- inline int goSmallThreshold() const {
337
- return goSmallThreshold_;
338
- }
339
- /// Set switch to small if number rows <= this
340
- inline void setGoSmallThreshold(int value) {
341
- goSmallThreshold_ = value;
342
- }
343
- /// Go over to dense or small code if small enough
344
- void goDenseOrSmall(int numberRows) ;
345
- /// Sets factorization
346
- void setFactorization(ClpFactorization & factorization);
347
- /// Return 1 if dense code
348
- inline int isDenseOrSmall() const {
349
- return coinFactorizationB_ ? 1 : 0;
350
- }
351
- #else
352
- inline bool timeToRefactorize() const {
353
- return (pivots() * 3 > maximumPivots() * 2 &&
354
- numberElementsR() * 3 > (numberElementsL() + numberElementsU()) * 2 + 1000 &&
355
- !numberDense());
356
- }
357
- /// Sets default values
358
- inline void setDefaultValues() {
359
- // row activities have negative sign
360
- #ifndef COIN_FAST_CODE
361
- slackValue(-1.0);
362
- #endif
363
- zeroTolerance(1.0e-13);
364
- }
365
- /// Go over to dense code
366
- inline void goDense() {}
367
- #endif
368
- //@}
369
-
370
- /**@name other stuff */
371
- //@{
372
- /** makes a row copy of L for speed and to allow very sparse problems */
373
- void goSparse();
374
- /// Cleans up i.e. gets rid of network basis
375
- void cleanUp();
376
- /// Says whether to redo pivot order
377
- bool needToReorder() const;
378
- #ifndef SLIM_CLP
379
- /// Says if a network basis
380
- inline bool networkBasis() const {
381
- return (networkBasis_ != NULL);
382
- }
383
- #else
384
- /// Says if a network basis
385
- inline bool networkBasis() const {
386
- return false;
387
- }
388
- #endif
389
- /// Fills weighted row list
390
- void getWeights(int * weights) const;
391
- //@}
392
-
393
- ////////////////// data //////////////////
394
- private:
395
-
396
- /**@name data */
397
- //@{
398
- /// Pointer to network basis
399
- #ifndef SLIM_CLP
400
- ClpNetworkBasis * networkBasis_;
401
- #endif
402
- #ifdef CLP_MULTIPLE_FACTORIZATIONS
403
- /// Pointer to CoinFactorization
404
- CoinFactorization * coinFactorizationA_;
405
- /// Pointer to CoinOtherFactorization
406
- CoinOtherFactorization * coinFactorizationB_;
407
- #ifdef CLP_REUSE_ETAS
408
- /// Pointer to model
409
- ClpSimplex * model_;
410
- #endif
411
- /// If nonzero force use of 1,dense 2,small 3,osl
412
- int forceB_;
413
- /// Switch to osl if number rows <= this
414
- int goOslThreshold_;
415
- /// Switch to small if number rows <= this
416
- int goSmallThreshold_;
417
- /// Switch to dense if number rows <= this
418
- int goDenseThreshold_;
419
- #endif
420
- #ifdef CLP_FACTORIZATION_NEW_TIMING
421
- /// For guessing when to re-factorize
422
- mutable double shortestAverage_;
423
- mutable double totalInR_;
424
- mutable double totalInIncreasingU_;
425
- mutable int endLengthU_;
426
- mutable int lastNumberPivots_;
427
- mutable int effectiveStartNumberU_;
428
- #endif
429
- //@}
430
- };
431
-
432
- #endif