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,183 +0,0 @@
1
- /* $Id: ClpDummyMatrix.hpp 1665 2011-01-04 17:55:54Z lou $ */
2
- // Copyright (C) 2003, 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 ClpDummyMatrix_H
7
- #define ClpDummyMatrix_H
8
-
9
-
10
- #include "CoinPragma.hpp"
11
-
12
- #include "ClpMatrixBase.hpp"
13
-
14
- /** This implements a dummy matrix as derived from ClpMatrixBase.
15
- This is so you can do ClpPdco but may come in useful elsewhere.
16
- It just has dimensions but no data
17
- */
18
-
19
-
20
- class ClpDummyMatrix : public ClpMatrixBase {
21
-
22
- public:
23
- /**@name Useful methods */
24
- //@{
25
- /// Return a complete CoinPackedMatrix
26
- virtual CoinPackedMatrix * getPackedMatrix() const;
27
- /** Whether the packed matrix is column major ordered or not. */
28
- virtual bool isColOrdered() const {
29
- return true;
30
- }
31
- /** Number of entries in the packed matrix. */
32
- virtual CoinBigIndex getNumElements() const {
33
- return numberElements_;
34
- }
35
- /** Number of columns. */
36
- virtual int getNumCols() const {
37
- return numberColumns_;
38
- }
39
- /** Number of rows. */
40
- virtual int getNumRows() const {
41
- return numberRows_;
42
- }
43
-
44
- /** A vector containing the elements in the packed matrix. Note that there
45
- might be gaps in this list, entries that do not belong to any
46
- major-dimension vector. To get the actual elements one should look at
47
- this vector together with vectorStarts and vectorLengths. */
48
- virtual const double * getElements() const;
49
- /** A vector containing the minor indices of the elements in the packed
50
- matrix. Note that there might be gaps in this list, entries that do not
51
- belong to any major-dimension vector. To get the actual elements one
52
- should look at this vector together with vectorStarts and
53
- vectorLengths. */
54
- virtual const int * getIndices() const;
55
-
56
- virtual const CoinBigIndex * getVectorStarts() const;
57
- /** The lengths of the major-dimension vectors. */
58
- virtual const int * getVectorLengths() const;
59
-
60
- /** Delete the columns whose indices are listed in <code>indDel</code>. */
61
- virtual void deleteCols(const int numDel, const int * indDel);
62
- /** Delete the rows whose indices are listed in <code>indDel</code>. */
63
- virtual void deleteRows(const int numDel, const int * indDel);
64
- /** Returns a new matrix in reverse order without gaps */
65
- virtual ClpMatrixBase * reverseOrderedCopy() const;
66
- /// Returns number of elements in column part of basis
67
- virtual CoinBigIndex countBasis(const int * whichColumn,
68
- int & numberColumnBasic);
69
- /// Fills in column part of basis
70
- virtual void fillBasis(ClpSimplex * model,
71
- const int * whichColumn,
72
- int & numberColumnBasic,
73
- int * row, int * start,
74
- int * rowCount, int * columnCount,
75
- CoinFactorizationDouble * element);
76
- /** Unpacks a column into an CoinIndexedvector
77
- */
78
- virtual void unpack(const ClpSimplex * model, CoinIndexedVector * rowArray,
79
- int column) const ;
80
- /** Unpacks a column into an CoinIndexedvector
81
- ** in packed foramt
82
- Note that model is NOT const. Bounds and objective could
83
- be modified if doing column generation (just for this variable) */
84
- virtual void unpackPacked(ClpSimplex * model,
85
- CoinIndexedVector * rowArray,
86
- int column) const;
87
- /** Adds multiple of a column into an CoinIndexedvector
88
- You can use quickAdd to add to vector */
89
- virtual void add(const ClpSimplex * model, CoinIndexedVector * rowArray,
90
- int column, double multiplier) const ;
91
- /** Adds multiple of a column into an array */
92
- virtual void add(const ClpSimplex * model, double * array,
93
- int column, double multiplier) const;
94
- /// Allow any parts of a created CoinMatrix to be deleted
95
- /// Allow any parts of a created CoinPackedMatrix to be deleted
96
- virtual void releasePackedMatrix() const {}
97
- //@}
98
-
99
- /**@name Matrix times vector methods */
100
- //@{
101
- /** Return <code>y + A * scalar *x</code> in <code>y</code>.
102
- @pre <code>x</code> must be of size <code>numColumns()</code>
103
- @pre <code>y</code> must be of size <code>numRows()</code> */
104
- virtual void times(double scalar,
105
- const double * x, double * y) const;
106
- /// And for scaling
107
- virtual void times(double scalar,
108
- const double * x, double * y,
109
- const double * rowScale,
110
- const double * columnScale) const;
111
- /** Return <code>y + x * scalar * A</code> in <code>y</code>.
112
- @pre <code>x</code> must be of size <code>numRows()</code>
113
- @pre <code>y</code> must be of size <code>numColumns()</code> */
114
- virtual void transposeTimes(double scalar,
115
- const double * x, double * y) const;
116
- /// And for scaling
117
- virtual void transposeTimes(double scalar,
118
- const double * x, double * y,
119
- const double * rowScale,
120
- const double * columnScale) const;
121
-
122
- using ClpMatrixBase::transposeTimes ;
123
- /** Return <code>x * scalar * A + y</code> in <code>z</code>.
124
- Can use y as temporary array (will be empty at end)
125
- Note - If x packed mode - then z packed mode */
126
- virtual void transposeTimes(const ClpSimplex * model, double scalar,
127
- const CoinIndexedVector * x,
128
- CoinIndexedVector * y,
129
- CoinIndexedVector * z) const;
130
- /** Return <code>x *A</code> in <code>z</code> but
131
- just for indices in y.
132
- Note - If x packed mode - then z packed mode
133
- Squashes small elements and knows about ClpSimplex */
134
- virtual void subsetTransposeTimes(const ClpSimplex * model,
135
- const CoinIndexedVector * x,
136
- const CoinIndexedVector * y,
137
- CoinIndexedVector * z) const;
138
- //@}
139
-
140
- /**@name Other */
141
- //@{
142
- //@}
143
-
144
-
145
- /**@name Constructors, destructor */
146
- //@{
147
- /** Default constructor. */
148
- ClpDummyMatrix();
149
- /// Constructor with data
150
- ClpDummyMatrix(int numberColumns, int numberRows,
151
- int numberElements);
152
- /** Destructor */
153
- virtual ~ClpDummyMatrix();
154
- //@}
155
-
156
- /**@name Copy method */
157
- //@{
158
- /** The copy constructor. */
159
- ClpDummyMatrix(const ClpDummyMatrix&);
160
- /** The copy constructor from an CoinDummyMatrix. */
161
- ClpDummyMatrix(const CoinPackedMatrix&);
162
-
163
- ClpDummyMatrix& operator=(const ClpDummyMatrix&);
164
- /// Clone
165
- virtual ClpMatrixBase * clone() const ;
166
- //@}
167
-
168
-
169
- protected:
170
- /**@name Data members
171
- The data members are protected to allow access for derived classes. */
172
- //@{
173
- /// Number of rows
174
- int numberRows_;
175
- /// Number of columns
176
- int numberColumns_;
177
- /// Number of elements
178
- int numberElements_;
179
-
180
- //@}
181
- };
182
-
183
- #endif
@@ -1,186 +0,0 @@
1
- /* $Id: ClpDynamicExampleMatrix.hpp 1936 2013-04-09 10:29:27Z 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 ClpDynamicExampleMatrix_H
7
- #define ClpDynamicExampleMatrix_H
8
-
9
-
10
- #include "CoinPragma.hpp"
11
-
12
- #include "ClpDynamicMatrix.hpp"
13
- class ClpSimplex;
14
- /** This implements a dynamic matrix when we have a limit on the number of
15
- "interesting rows". This version inherits from ClpDynamicMatrix and knows that
16
- the real matrix is gub. This acts just like ClpDynamicMatrix but generates columns.
17
- This "generates" columns by choosing from stored set. It is maent as a starting point
18
- as to how you could use shortest path to generate columns.
19
-
20
- So it has its own copy of all data needed. It populates ClpDynamicWatrix with enough
21
- to allow for gub keys and active variables. In turn ClpDynamicMatrix populates
22
- a CoinPackedMatrix with active columns and rows.
23
-
24
- As there is one copy here and one in ClpDynamicmatrix these names end in Gen_
25
-
26
- It is obviously more efficient to just use ClpDynamicMatrix but the ideas is to
27
- show how much code a user would have to write.
28
-
29
- This does not work very well with bounds
30
-
31
- */
32
-
33
- class ClpDynamicExampleMatrix : public ClpDynamicMatrix {
34
-
35
- public:
36
- /**@name Main functions provided */
37
- //@{
38
- /// Partial pricing
39
- virtual void partialPricing(ClpSimplex * model, double start, double end,
40
- int & bestSequence, int & numberWanted);
41
-
42
- /** Creates a variable. This is called after partial pricing and will modify matrix.
43
- Will update bestSequence.
44
- */
45
- virtual void createVariable(ClpSimplex * model, int & bestSequence);
46
- /** If addColumn forces compression then this allows descendant to know what to do.
47
- If >= then entry stayed in, if -1 then entry went out to lower bound.of zero.
48
- Entries at upper bound (really nonzero) never go out (at present).
49
- */
50
- virtual void packDown(const int * in, int numberToPack);
51
- //@}
52
-
53
-
54
-
55
- /**@name Constructors, destructor */
56
- //@{
57
- /** Default constructor. */
58
- ClpDynamicExampleMatrix();
59
- /** This is the real constructor.
60
- It assumes factorization frequency will not be changed.
61
- This resizes model !!!!
62
- The contents of original matrix in model will be taken over and original matrix
63
- will be sanitized so can be deleted (to avoid a very small memory leak)
64
- */
65
- ClpDynamicExampleMatrix(ClpSimplex * model, int numberSets,
66
- int numberColumns, const int * starts,
67
- const double * lower, const double * upper,
68
- const int * startColumn, const int * row,
69
- const double * element, const double * cost,
70
- const double * columnLower = NULL, const double * columnUpper = NULL,
71
- const unsigned char * status = NULL,
72
- const unsigned char * dynamicStatus = NULL,
73
- int numberIds = 0, const int *ids = NULL);
74
- #if 0
75
- /// This constructor just takes over ownership (except for lower, upper)
76
- ClpDynamicExampleMatrix(ClpSimplex * model, int numberSets,
77
- int numberColumns, int * starts,
78
- const double * lower, const double * upper,
79
- int * startColumn, int * row,
80
- double * element, double * cost,
81
- double * columnLower = NULL, double * columnUpper = NULL,
82
- const unsigned char * status = NULL,
83
- const unsigned char * dynamicStatus = NULL,
84
- int numberIds = 0, const int *ids = NULL);
85
- #endif
86
- /** Destructor */
87
- virtual ~ClpDynamicExampleMatrix();
88
- //@}
89
-
90
- /**@name Copy method */
91
- //@{
92
- /** The copy constructor. */
93
- ClpDynamicExampleMatrix(const ClpDynamicExampleMatrix&);
94
- ClpDynamicExampleMatrix& operator=(const ClpDynamicExampleMatrix&);
95
- /// Clone
96
- virtual ClpMatrixBase * clone() const ;
97
- //@}
98
- /**@name gets and sets */
99
- //@{
100
- /// Starts of each column
101
- inline CoinBigIndex * startColumnGen() const {
102
- return startColumnGen_;
103
- }
104
- /// rows
105
- inline int * rowGen() const {
106
- return rowGen_;
107
- }
108
- /// elements
109
- inline double * elementGen() const {
110
- return elementGen_;
111
- }
112
- /// costs
113
- inline double * costGen() const {
114
- return costGen_;
115
- }
116
- /// full starts
117
- inline int * fullStartGen() const {
118
- return fullStartGen_;
119
- }
120
- /// ids in next level matrix
121
- inline int * idGen() const {
122
- return idGen_;
123
- }
124
- /// Optional lower bounds on columns
125
- inline double * columnLowerGen() const {
126
- return columnLowerGen_;
127
- }
128
- /// Optional upper bounds on columns
129
- inline double * columnUpperGen() const {
130
- return columnUpperGen_;
131
- }
132
- /// size
133
- inline int numberColumns() const {
134
- return numberColumns_;
135
- }
136
- inline void setDynamicStatusGen(int sequence, DynamicStatus status) {
137
- unsigned char & st_byte = dynamicStatusGen_[sequence];
138
- st_byte = static_cast<unsigned char>(st_byte & ~7);
139
- st_byte = static_cast<unsigned char>(st_byte | status);
140
- }
141
- inline DynamicStatus getDynamicStatusGen(int sequence) const {
142
- return static_cast<DynamicStatus> (dynamicStatusGen_[sequence] & 7);
143
- }
144
- /// Whether flagged
145
- inline bool flaggedGen(int i) const {
146
- return (dynamicStatusGen_[i] & 8) != 0;
147
- }
148
- inline void setFlaggedGen(int i) {
149
- dynamicStatusGen_[i] = static_cast<unsigned char>(dynamicStatusGen_[i] | 8);
150
- }
151
- inline void unsetFlagged(int i) {
152
- dynamicStatusGen_[i] = static_cast<unsigned char>(dynamicStatusGen_[i] & ~8);
153
- }
154
- //@}
155
-
156
-
157
- protected:
158
- /**@name Data members
159
- The data members are protected to allow access for derived classes. */
160
- //@{
161
- /// size
162
- int numberColumns_;
163
- /// Starts of each column
164
- CoinBigIndex * startColumnGen_;
165
- /// rows
166
- int * rowGen_;
167
- /// elements
168
- double * elementGen_;
169
- /// costs
170
- double * costGen_;
171
- /// start of each set
172
- int * fullStartGen_;
173
- /// for status and which bound
174
- unsigned char * dynamicStatusGen_;
175
- /** identifier for each variable up one level (startColumn_, etc). This is
176
- of length maximumGubColumns_. For this version it is just sequence number
177
- at this level */
178
- int * idGen_;
179
- /// Optional lower bounds on columns
180
- double * columnLowerGen_;
181
- /// Optional upper bounds on columns
182
- double * columnUpperGen_;
183
- //@}
184
- };
185
-
186
- #endif
@@ -1,381 +0,0 @@
1
- /* $Id: ClpDynamicMatrix.hpp 1755 2011-06-28 18:24:31Z lou $ */
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 ClpDynamicMatrix_H
7
- #define ClpDynamicMatrix_H
8
-
9
-
10
- #include "CoinPragma.hpp"
11
-
12
- #include "ClpPackedMatrix.hpp"
13
- class ClpSimplex;
14
- /** This implements a dynamic matrix when we have a limit on the number of
15
- "interesting rows". This version inherits from ClpPackedMatrix and knows that
16
- the real matrix is gub. A later version could use shortest path to generate columns.
17
-
18
- */
19
-
20
- class ClpDynamicMatrix : public ClpPackedMatrix {
21
-
22
- public:
23
- /// enums for status of various sorts
24
- enum DynamicStatus {
25
- soloKey = 0x00,
26
- inSmall = 0x01,
27
- atUpperBound = 0x02,
28
- atLowerBound = 0x03
29
- };
30
- /**@name Main functions provided */
31
- //@{
32
- /// Partial pricing
33
- virtual void partialPricing(ClpSimplex * model, double start, double end,
34
- int & bestSequence, int & numberWanted);
35
-
36
- /**
37
- update information for a pivot (and effective rhs)
38
- */
39
- virtual int updatePivot(ClpSimplex * model, double oldInValue, double oldOutValue);
40
- /** Returns effective RHS offset if it is being used. This is used for long problems
41
- or big dynamic or anywhere where going through full columns is
42
- expensive. This may re-compute */
43
- virtual double * rhsOffset(ClpSimplex * model, bool forceRefresh = false,
44
- bool check = false);
45
-
46
- using ClpPackedMatrix::times ;
47
- /** Return <code>y + A * scalar *x</code> in <code>y</code>.
48
- @pre <code>x</code> must be of size <code>numColumns()</code>
49
- @pre <code>y</code> must be of size <code>numRows()</code> */
50
- virtual void times(double scalar,
51
- const double * x, double * y) const;
52
- /// Modifies rhs offset
53
- void modifyOffset(int sequence, double amount);
54
- /// Gets key value when none in small
55
- double keyValue(int iSet) const;
56
- /**
57
- mode=0 - Set up before "updateTranspose" and "transposeTimes" for duals using extended
58
- updates array (and may use other if dual values pass)
59
- mode=1 - Update dual solution after "transposeTimes" using extended rows.
60
- mode=2 - Compute all djs and compute key dual infeasibilities
61
- mode=3 - Report on key dual infeasibilities
62
- mode=4 - Modify before updateTranspose in partial pricing
63
- */
64
- virtual void dualExpanded(ClpSimplex * model, CoinIndexedVector * array,
65
- double * other, int mode);
66
- /**
67
- mode=0 - Create list of non-key basics in pivotVariable_ using
68
- number as numberBasic in and out
69
- mode=1 - Set all key variables as basic
70
- mode=2 - return number extra rows needed, number gives maximum number basic
71
- mode=3 - before replaceColumn
72
- mode=4 - return 1 if can do primal, 2 if dual, 3 if both
73
- mode=5 - save any status stuff (when in good state)
74
- mode=6 - restore status stuff
75
- mode=7 - flag given variable (normally sequenceIn)
76
- mode=8 - unflag all variables
77
- mode=9 - synchronize costs
78
- mode=10 - return 1 if there may be changing bounds on variable (column generation)
79
- mode=11 - make sure set is clean (used when a variable rejected - but not flagged)
80
- mode=12 - after factorize but before permute stuff
81
- mode=13 - at end of simplex to delete stuff
82
- */
83
- virtual int generalExpanded(ClpSimplex * model, int mode, int & number);
84
- /** Purely for column generation and similar ideas. Allows
85
- matrix and any bounds or costs to be updated (sensibly).
86
- Returns non-zero if any changes.
87
- */
88
- virtual int refresh(ClpSimplex * model);
89
- /** Creates a variable. This is called after partial pricing and will modify matrix.
90
- Will update bestSequence.
91
- */
92
- virtual void createVariable(ClpSimplex * model, int & bestSequence);
93
- /// Returns reduced cost of a variable
94
- virtual double reducedCost( ClpSimplex * model, int sequence) const;
95
- /// Does gub crash
96
- void gubCrash();
97
- /// Writes out model (without names)
98
- void writeMps(const char * name);
99
- /// Populates initial matrix from dynamic status
100
- void initialProblem();
101
- /** Adds in a column to gub structure (called from descendant) and returns sequence */
102
- int addColumn(int numberEntries, const int * row, const double * element,
103
- double cost, double lower, double upper, int iSet,
104
- DynamicStatus status);
105
- /** If addColumn forces compression then this allows descendant to know what to do.
106
- If >=0 then entry stayed in, if -1 then entry went out to lower bound.of zero.
107
- Entries at upper bound (really nonzero) never go out (at present).
108
- */
109
- virtual void packDown(const int * , int ) {}
110
- /// Gets lower bound (to simplify coding)
111
- inline double columnLower(int sequence) const {
112
- if (columnLower_) return columnLower_[sequence];
113
- else return 0.0;
114
- }
115
- /// Gets upper bound (to simplify coding)
116
- inline double columnUpper(int sequence) const {
117
- if (columnUpper_) return columnUpper_[sequence];
118
- else return COIN_DBL_MAX;
119
- }
120
-
121
- //@}
122
-
123
-
124
-
125
- /**@name Constructors, destructor */
126
- //@{
127
- /** Default constructor. */
128
- ClpDynamicMatrix();
129
- /** This is the real constructor.
130
- It assumes factorization frequency will not be changed.
131
- This resizes model !!!!
132
- The contents of original matrix in model will be taken over and original matrix
133
- will be sanitized so can be deleted (to avoid a very small memory leak)
134
- */
135
- ClpDynamicMatrix(ClpSimplex * model, int numberSets,
136
- int numberColumns, const int * starts,
137
- const double * lower, const double * upper,
138
- const CoinBigIndex * startColumn, const int * row,
139
- const double * element, const double * cost,
140
- const double * columnLower = NULL, const double * columnUpper = NULL,
141
- const unsigned char * status = NULL,
142
- const unsigned char * dynamicStatus = NULL);
143
-
144
- /** Destructor */
145
- virtual ~ClpDynamicMatrix();
146
- //@}
147
-
148
- /**@name Copy method */
149
- //@{
150
- /** The copy constructor. */
151
- ClpDynamicMatrix(const ClpDynamicMatrix&);
152
- /** The copy constructor from an CoinPackedMatrix. */
153
- ClpDynamicMatrix(const CoinPackedMatrix&);
154
-
155
- ClpDynamicMatrix& operator=(const ClpDynamicMatrix&);
156
- /// Clone
157
- virtual ClpMatrixBase * clone() const ;
158
- //@}
159
- /**@name gets and sets */
160
- //@{
161
- /// Status of row slacks
162
- inline ClpSimplex::Status getStatus(int sequence) const {
163
- return static_cast<ClpSimplex::Status> (status_[sequence] & 7);
164
- }
165
- inline void setStatus(int sequence, ClpSimplex::Status status) {
166
- unsigned char & st_byte = status_[sequence];
167
- st_byte = static_cast<unsigned char>(st_byte & ~7);
168
- st_byte = static_cast<unsigned char>(st_byte | status);
169
- }
170
- /// Whether flagged slack
171
- inline bool flaggedSlack(int i) const {
172
- return (status_[i] & 8) != 0;
173
- }
174
- inline void setFlaggedSlack(int i) {
175
- status_[i] = static_cast<unsigned char>(status_[i] | 8);
176
- }
177
- inline void unsetFlaggedSlack(int i) {
178
- status_[i] = static_cast<unsigned char>(status_[i] & ~8);
179
- }
180
- /// Number of sets (dynamic rows)
181
- inline int numberSets() const {
182
- return numberSets_;
183
- }
184
- /// Number of possible gub variables
185
- inline int numberGubEntries() const
186
- { return startSet_[numberSets_];}
187
- /// Sets
188
- inline int * startSets() const
189
- { return startSet_;}
190
- /// Whether flagged
191
- inline bool flagged(int i) const {
192
- return (dynamicStatus_[i] & 8) != 0;
193
- }
194
- inline void setFlagged(int i) {
195
- dynamicStatus_[i] = static_cast<unsigned char>(dynamicStatus_[i] | 8);
196
- }
197
- inline void unsetFlagged(int i) {
198
- dynamicStatus_[i] = static_cast<unsigned char>(dynamicStatus_[i] & ~8);
199
- }
200
- inline void setDynamicStatus(int sequence, DynamicStatus status) {
201
- unsigned char & st_byte = dynamicStatus_[sequence];
202
- st_byte = static_cast<unsigned char>(st_byte & ~7);
203
- st_byte = static_cast<unsigned char>(st_byte | status);
204
- }
205
- inline DynamicStatus getDynamicStatus(int sequence) const {
206
- return static_cast<DynamicStatus> (dynamicStatus_[sequence] & 7);
207
- }
208
- /// Saved value of objective offset
209
- inline double objectiveOffset() const {
210
- return objectiveOffset_;
211
- }
212
- /// Starts of each column
213
- inline CoinBigIndex * startColumn() const {
214
- return startColumn_;
215
- }
216
- /// rows
217
- inline int * row() const {
218
- return row_;
219
- }
220
- /// elements
221
- inline double * element() const {
222
- return element_;
223
- }
224
- /// costs
225
- inline double * cost() const {
226
- return cost_;
227
- }
228
- /// ids of active columns (just index here)
229
- inline int * id() const {
230
- return id_;
231
- }
232
- /// Optional lower bounds on columns
233
- inline double * columnLower() const {
234
- return columnLower_;
235
- }
236
- /// Optional upper bounds on columns
237
- inline double * columnUpper() const {
238
- return columnUpper_;
239
- }
240
- /// Lower bounds on sets
241
- inline double * lowerSet() const {
242
- return lowerSet_;
243
- }
244
- /// Upper bounds on sets
245
- inline double * upperSet() const {
246
- return upperSet_;
247
- }
248
- /// size
249
- inline int numberGubColumns() const {
250
- return numberGubColumns_;
251
- }
252
- /// first free
253
- inline int firstAvailable() const {
254
- return firstAvailable_;
255
- }
256
- /// first dynamic
257
- inline int firstDynamic() const {
258
- return firstDynamic_;
259
- }
260
- /// number of columns in dynamic model
261
- inline int lastDynamic() const {
262
- return lastDynamic_;
263
- }
264
- /// number of rows in original model
265
- inline int numberStaticRows() const {
266
- return numberStaticRows_;
267
- }
268
- /// size of working matrix (max)
269
- inline int numberElements() const {
270
- return numberElements_;
271
- }
272
- inline int * keyVariable() const {
273
- return keyVariable_;
274
- }
275
- /// Switches off dj checking each factorization (for BIG models)
276
- void switchOffCheck();
277
- /// Status region for gub slacks
278
- inline unsigned char * gubRowStatus() const {
279
- return status_;
280
- }
281
- /// Status region for gub variables
282
- inline unsigned char * dynamicStatus() const {
283
- return dynamicStatus_;
284
- }
285
- /// Returns which set a variable is in
286
- int whichSet (int sequence) const;
287
- //@}
288
-
289
-
290
- protected:
291
- /**@name Data members
292
- The data members are protected to allow access for derived classes. */
293
- //@{
294
- /// Sum of dual infeasibilities
295
- double sumDualInfeasibilities_;
296
- /// Sum of primal infeasibilities
297
- double sumPrimalInfeasibilities_;
298
- /// Sum of Dual infeasibilities using tolerance based on error in duals
299
- double sumOfRelaxedDualInfeasibilities_;
300
- /// Sum of Primal infeasibilities using tolerance based on error in primals
301
- double sumOfRelaxedPrimalInfeasibilities_;
302
- /// Saved best dual on gub row in pricing
303
- double savedBestGubDual_;
304
- /// Saved best set in pricing
305
- int savedBestSet_;
306
- /// Backward pointer to pivot row !!!
307
- int * backToPivotRow_;
308
- /// Key variable of set (only accurate if none in small problem)
309
- mutable int * keyVariable_;
310
- /// Backward pointer to extra row
311
- int * toIndex_;
312
- // Reverse pointer from index to set
313
- int * fromIndex_;
314
- /// Number of sets (dynamic rows)
315
- int numberSets_;
316
- /// Number of active sets
317
- int numberActiveSets_;
318
- /// Saved value of objective offset
319
- double objectiveOffset_;
320
- /// Lower bounds on sets
321
- double * lowerSet_;
322
- /// Upper bounds on sets
323
- double * upperSet_;
324
- /// Status of slack on set
325
- unsigned char * status_;
326
- /// Pointer back to model
327
- ClpSimplex * model_;
328
- /// first free
329
- int firstAvailable_;
330
- /// first free when iteration started
331
- int firstAvailableBefore_;
332
- /// first dynamic
333
- int firstDynamic_;
334
- /// number of columns in dynamic model
335
- int lastDynamic_;
336
- /// number of rows in original model
337
- int numberStaticRows_;
338
- /// size of working matrix (max)
339
- int numberElements_;
340
- /// Number of dual infeasibilities
341
- int numberDualInfeasibilities_;
342
- /// Number of primal infeasibilities
343
- int numberPrimalInfeasibilities_;
344
- /** If pricing will declare victory (i.e. no check every factorization).
345
- -1 - always check
346
- 0 - don't check
347
- 1 - in don't check mode but looks optimal
348
- */
349
- int noCheck_;
350
- /// Infeasibility weight when last full pass done
351
- double infeasibilityWeight_;
352
- /// size
353
- int numberGubColumns_;
354
- /// current maximum number of columns (then compress)
355
- int maximumGubColumns_;
356
- /// current maximum number of elemnts (then compress)
357
- int maximumElements_;
358
- /// Start of each set
359
- int * startSet_;
360
- /// next in chain
361
- int * next_;
362
- /// Starts of each column
363
- CoinBigIndex * startColumn_;
364
- /// rows
365
- int * row_;
366
- /// elements
367
- double * element_;
368
- /// costs
369
- double * cost_;
370
- /// ids of active columns (just index here)
371
- int * id_;
372
- /// for status and which bound
373
- unsigned char * dynamicStatus_;
374
- /// Optional lower bounds on columns
375
- double * columnLower_;
376
- /// Optional upper bounds on columns
377
- double * columnUpper_;
378
- //@}
379
- };
380
-
381
- #endif