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