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,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