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,64 +0,0 @@
1
- /* $Id: CoinTypes.hpp 1762 2014-12-29 20:37:12Z tkr $ */
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 _CoinTypes_hpp
7
- #define _CoinTypes_hpp
8
-
9
- #include "CoinUtilsConfig.h"
10
- /* On some systems, we require stdint.h to have the 64bit integer type defined. */
11
- #ifdef COINUTILS_HAS_STDINT_H
12
- #include <stdint.h>
13
- #endif
14
- #ifdef COINUTILS_HAS_CSTDINT
15
- #include <cstdint>
16
- #endif
17
-
18
- #define CoinInt64 COIN_INT64_T
19
- #define CoinUInt64 COIN_UINT64_T
20
- #define CoinIntPtr COIN_INTPTR_T
21
-
22
- //=============================================================================
23
- #ifndef COIN_BIG_INDEX
24
- #define COIN_BIG_INDEX 0
25
- #endif
26
-
27
- #if COIN_BIG_INDEX==0
28
- typedef int CoinBigIndex;
29
- #elif COIN_BIG_INDEX==1
30
- typedef long CoinBigIndex;
31
- #else
32
- typedef long long CoinBigIndex;
33
- #endif
34
-
35
- //=============================================================================
36
- #ifndef COIN_BIG_DOUBLE
37
- #define COIN_BIG_DOUBLE 0
38
- #endif
39
-
40
- // See if we want the ability to have long double work arrays
41
- #if COIN_BIG_DOUBLE==2
42
- #undef COIN_BIG_DOUBLE
43
- #define COIN_BIG_DOUBLE 0
44
- #define COIN_LONG_WORK 1
45
- typedef long double CoinWorkDouble;
46
- #elif COIN_BIG_DOUBLE==3
47
- #undef COIN_BIG_DOUBLE
48
- #define COIN_BIG_DOUBLE 1
49
- #define COIN_LONG_WORK 1
50
- typedef long double CoinWorkDouble;
51
- #else
52
- #define COIN_LONG_WORK 0
53
- typedef double CoinWorkDouble;
54
- #endif
55
-
56
- #if COIN_BIG_DOUBLE==0
57
- typedef double CoinFactorizationDouble;
58
- #elif COIN_BIG_DOUBLE==1
59
- typedef long double CoinFactorizationDouble;
60
- #else
61
- typedef double CoinFactorizationDouble;
62
- #endif
63
-
64
- #endif
@@ -1,19 +0,0 @@
1
- /* $Id: CoinUtility.hpp 1372 2011-01-03 23:31:00Z 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 CoinUtility_h_
7
- #define CoinUtility_h_
8
-
9
- #include "CoinSort.hpp"
10
-
11
- template <typename S, typename T>
12
- CoinPair<S,T> CoinMakePair(const S& s, const T& t)
13
- { return CoinPair<S,T>(s, t); }
14
-
15
- template <typename S, typename T, typename U>
16
- CoinTriple<S,T,U> CoinMakeTriple(const S& s, const T& t, const U& u)
17
- { return CoinTriple<S,T,U>(s, t, u); }
18
-
19
- #endif
@@ -1,34 +0,0 @@
1
- /* src/config_coinutils.h. Generated by configure. */
2
- /* inc/config_coinutils.h.in. */
3
-
4
- #ifndef __CONFIG_COINUTILS_H__
5
- #define __CONFIG_COINUTILS_H__
6
-
7
- /* Define to 1 if stdint.h is available for CoinUtils */
8
- #define COINUTILS_HAS_STDINT_H 1
9
-
10
- /* Define to 1 if stdint.h is available for CoinUtils */
11
- /* #undef COINUTILS_HAS_CSTDINT */
12
-
13
- /* Version number of project */
14
- #define COINUTILS_VERSION "2.10.11"
15
-
16
- /* Major Version number of project */
17
- #define COINUTILS_VERSION_MAJOR 2
18
-
19
- /* Minor Version number of project */
20
- #define COINUTILS_VERSION_MINOR 10
21
-
22
- /* Release Version number of project */
23
- #define COINUTILS_VERSION_RELEASE 11
24
-
25
- /* Define to 64bit integer type */
26
- #define COIN_INT64_T int64_t
27
-
28
- /* Define to integer type capturing pointer */
29
- #define COIN_INTPTR_T intptr_t
30
-
31
- /* Define to 64bit unsigned integer type */
32
- #define COIN_UINT64_T int64_t
33
-
34
- #endif
@@ -1,58 +0,0 @@
1
- /* $Id: CoinWarmStart.hpp 1372 2011-01-03 23:31:00Z lou $ */
2
- // Copyright (C) 2000, 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 CoinWarmStart_H
7
- #define CoinWarmStart_H
8
-
9
- //#############################################################################
10
-
11
- class CoinWarmStartDiff;
12
-
13
- /** Abstract base class for warm start information.
14
-
15
- Really nothing can be generalized for warm start information --- all we
16
- know is that it exists. Hence the abstract base class contains only a
17
- virtual destructor and a virtual clone function (a virtual constructor),
18
- so that derived classes can provide these functions.
19
- */
20
-
21
- class CoinWarmStart {
22
- public:
23
-
24
- /// Abstract destructor
25
- virtual ~CoinWarmStart() {}
26
-
27
- /// `Virtual constructor'
28
- virtual CoinWarmStart *clone() const = 0 ;
29
-
30
- virtual CoinWarmStartDiff*
31
- generateDiff (const CoinWarmStart *const ) const { return 0; }
32
-
33
-
34
- virtual void
35
- applyDiff (const CoinWarmStartDiff *const ) {}
36
-
37
- };
38
-
39
-
40
- /*! \class CoinWarmStartDiff
41
- \brief Abstract base class for warm start `diff' objects
42
-
43
- For those types of warm start objects where the notion of a `diff' makes
44
- sense, this virtual base class is provided. As with CoinWarmStart, its sole
45
- reason for existence is to make it possible to write solver-independent code.
46
- */
47
-
48
- class CoinWarmStartDiff {
49
- public:
50
-
51
- /// Abstract destructor
52
- virtual ~CoinWarmStartDiff() {}
53
-
54
- /// `Virtual constructor'
55
- virtual CoinWarmStartDiff *clone() const = 0 ;
56
- };
57
-
58
- #endif
@@ -1,456 +0,0 @@
1
- /* $Id: CoinWarmStartBasis.hpp 1515 2011-12-10 23:38:04Z lou $ */
2
- /*! \legal
3
- Copyright (C) 2000 -- 2003, International Business Machines Corporation
4
- and others. All Rights Reserved.
5
- This code is licensed under the terms of the Eclipse Public License (EPL).
6
- */
7
-
8
- /*! \file CoinWarmStart.hpp
9
- \brief Declaration of the generic simplex (basis-oriented) warm start
10
- class. Also contains a basis diff class.
11
- */
12
-
13
- #ifndef CoinWarmStartBasis_H
14
- #define CoinWarmStartBasis_H
15
-
16
- #include <vector>
17
-
18
- #include "CoinSort.hpp"
19
- #include "CoinHelperFunctions.hpp"
20
- #include "CoinWarmStart.hpp"
21
-
22
- //#############################################################################
23
-
24
- /*! \class CoinWarmStartBasis
25
- \brief The default COIN simplex (basis-oriented) warm start class
26
-
27
- CoinWarmStartBasis provides for a warm start object which contains the
28
- status of each variable (structural and artificial).
29
-
30
- \todo Modify this class so that the number of status entries per byte
31
- and bytes per status vector allocation unit are not hardcoded.
32
- At the least, collect this into a couple of macros.
33
-
34
- \todo Consider separate fields for allocated capacity and actual basis
35
- size. We could avoid some reallocation, at the price of retaining
36
- more space than we need. Perhaps more important, we could do much
37
- better sanity checks.
38
- */
39
-
40
- class CoinWarmStartBasis : public virtual CoinWarmStart {
41
- public:
42
-
43
- /*! \brief Enum for status of variables
44
-
45
- Matches CoinPrePostsolveMatrix::Status, without superBasic. Most code that
46
- converts between CoinPrePostsolveMatrix::Status and
47
- CoinWarmStartBasis::Status will break if this correspondence is broken.
48
-
49
- The status vectors are currently packed using two bits per status code,
50
- four codes per byte. The location of the status information for
51
- variable \c i is in byte <code>i>>2</code> and occupies bits 0:1
52
- if <code>i\%4 == 0</code>, bits 2:3 if <code>i\%4 == 1</code>, etc.
53
- The non-member functions getStatus(const char*,int) and
54
- setStatus(char*,int,CoinWarmStartBasis::Status) are provided to hide
55
- details of the packing.
56
- */
57
- enum Status {
58
- isFree = 0x00, ///< Nonbasic free variable
59
- basic = 0x01, ///< Basic variable
60
- atUpperBound = 0x02, ///< Nonbasic at upper bound
61
- atLowerBound = 0x03 ///< Nonbasic at lower bound
62
- };
63
-
64
- /** \brief Transfer vector entry for
65
- mergeBasis(const CoinWarmStartBasis*,const XferVec*,const XferVec*)
66
- */
67
- typedef CoinTriple<int,int,int> XferEntry ;
68
-
69
- /** \brief Transfer vector for
70
- mergeBasis(const CoinWarmStartBasis*,const XferVec*,const XferVec*)
71
- */
72
- typedef std::vector<XferEntry> XferVec ;
73
-
74
- public:
75
-
76
- /*! \name Methods to get and set basis information.
77
-
78
- The status of variables is kept in a pair of arrays, one for structural
79
- variables, and one for artificials (aka logicals and slacks). The status
80
- is coded using the values of the Status enum.
81
-
82
- \sa CoinWarmStartBasis::Status for a description of the packing used in
83
- the status arrays.
84
- */
85
- //@{
86
- /// Return the number of structural variables
87
- inline int getNumStructural() const { return numStructural_; }
88
-
89
- /// Return the number of artificial variables
90
- inline int getNumArtificial() const { return numArtificial_; }
91
-
92
- /** Return the number of basic structurals
93
-
94
- A fast test for an all-slack basis.
95
- */
96
- int numberBasicStructurals() const ;
97
-
98
- /// Return the status of the specified structural variable.
99
- inline Status getStructStatus(int i) const {
100
- const int st = (structuralStatus_[i>>2] >> ((i&3)<<1)) & 3;
101
- return static_cast<CoinWarmStartBasis::Status>(st);
102
- }
103
-
104
- /// Set the status of the specified structural variable.
105
- inline void setStructStatus(int i, Status st) {
106
- char& st_byte = structuralStatus_[i>>2];
107
- st_byte = static_cast<char>(st_byte & ~(3 << ((i&3)<<1))) ;
108
- st_byte = static_cast<char>(st_byte | (st << ((i&3)<<1))) ;
109
- }
110
-
111
- /** Return the status array for the structural variables
112
-
113
- The status information is stored using the codes defined in the
114
- Status enum, 2 bits per variable, packed 4 variables per byte.
115
- */
116
- inline char * getStructuralStatus() { return structuralStatus_; }
117
-
118
- /** \c const overload for
119
- \link CoinWarmStartBasis::getStructuralStatus()
120
- getStructuralStatus()
121
- \endlink
122
- */
123
- inline const char * getStructuralStatus() const { return structuralStatus_; }
124
-
125
- /** As for \link getStructuralStatus() getStructuralStatus \endlink,
126
- but returns the status array for the artificial variables.
127
- */
128
- inline char * getArtificialStatus() { return artificialStatus_; }
129
-
130
- /// Return the status of the specified artificial variable.
131
- inline Status getArtifStatus(int i) const {
132
- const int st = (artificialStatus_[i>>2] >> ((i&3)<<1)) & 3;
133
- return static_cast<CoinWarmStartBasis::Status>(st);
134
- }
135
-
136
- /// Set the status of the specified artificial variable.
137
- inline void setArtifStatus(int i, Status st) {
138
- char& st_byte = artificialStatus_[i>>2];
139
- st_byte = static_cast<char>(st_byte & ~(3 << ((i&3)<<1))) ;
140
- st_byte = static_cast<char>(st_byte | (st << ((i&3)<<1))) ;
141
- }
142
-
143
- /** \c const overload for
144
- \link CoinWarmStartBasis::getArtificialStatus()
145
- getArtificialStatus()
146
- \endlink
147
- */
148
- inline const char * getArtificialStatus() const { return artificialStatus_; }
149
-
150
- //@}
151
-
152
- /*! \name Basis `diff' methods */
153
- //@{
154
-
155
- /*! \brief Generate a `diff' that can convert the warm start basis passed as
156
- a parameter to the warm start basis specified by \c this.
157
-
158
- The capabilities are limited: the basis passed as a parameter can be no
159
- larger than the basis pointed to by \c this.
160
- */
161
-
162
- virtual CoinWarmStartDiff*
163
- generateDiff (const CoinWarmStart *const oldCWS) const ;
164
-
165
- /*! \brief Apply \p diff to this basis
166
-
167
- Update this basis by applying \p diff. It's assumed that the allocated
168
- capacity of the basis is sufficiently large.
169
- */
170
-
171
- virtual void
172
- applyDiff (const CoinWarmStartDiff *const cwsdDiff) ;
173
-
174
- //@}
175
-
176
-
177
- /*! \name Methods to modify the warm start object */
178
- //@{
179
-
180
- /*! \brief Set basis capacity; existing basis is discarded.
181
-
182
- After execution of this routine, the warm start object does not describe
183
- a valid basis: all structural and artificial variables have status isFree.
184
- */
185
- virtual void setSize(int ns, int na) ;
186
-
187
- /*! \brief Set basis capacity; existing basis is maintained.
188
-
189
- After execution of this routine, the warm start object describes a valid
190
- basis: the status of new structural variables (added columns) is set to
191
- nonbasic at lower bound, and the status of new artificial variables
192
- (added rows) is set to basic. (The basis can be invalid if new structural
193
- variables do not have a finite lower bound.)
194
- */
195
- virtual void resize (int newNumberRows, int newNumberColumns);
196
-
197
- /** \brief Delete a set of rows from the basis
198
-
199
- \warning
200
- This routine assumes that the set of indices to be deleted is sorted in
201
- ascending order and contains no duplicates. Use deleteRows() if this is
202
- not the case.
203
-
204
- \warning
205
- The resulting basis is guaranteed valid only if all deleted
206
- constraints are slack (hence the associated logicals are basic).
207
-
208
- Removal of a tight constraint with a nonbasic logical implies that
209
- some basic variable must be made nonbasic. This correction is left to
210
- the client.
211
- */
212
-
213
- virtual void compressRows (int tgtCnt, const int *tgts) ;
214
-
215
- /** \brief Delete a set of rows from the basis
216
-
217
- \warning
218
- The resulting basis is guaranteed valid only if all deleted
219
- constraints are slack (hence the associated logicals are basic).
220
-
221
- Removal of a tight constraint with a nonbasic logical implies that
222
- some basic variable must be made nonbasic. This correction is left to
223
- the client.
224
- */
225
-
226
- virtual void deleteRows(int rawTgtCnt, const int *rawTgts) ;
227
-
228
- /** \brief Delete a set of columns from the basis
229
-
230
- \warning
231
- The resulting basis is guaranteed valid only if all deleted variables
232
- are nonbasic.
233
-
234
- Removal of a basic variable implies that some nonbasic variable must be
235
- made basic. This correction is left to the client.
236
- */
237
-
238
- virtual void deleteColumns(int number, const int * which);
239
-
240
- /** \brief Merge entries from a source basis into this basis.
241
-
242
- \warning
243
- It's the client's responsibility to ensure validity of the merged basis,
244
- if that's important to the application.
245
-
246
- The vector xferCols (xferRows) specifies runs of entries to be taken from
247
- the source basis and placed in this basis. Each entry is a CoinTriple,
248
- with first specifying the starting source index of a run, second
249
- specifying the starting destination index, and third specifying the run
250
- length.
251
- */
252
- virtual void mergeBasis(const CoinWarmStartBasis *src,
253
- const XferVec *xferRows,
254
- const XferVec *xferCols) ;
255
-
256
- //@}
257
-
258
- /*! \name Constructors, destructors, and related functions */
259
-
260
- //@{
261
-
262
- /** Default constructor
263
-
264
- Creates a warm start object representing an empty basis
265
- (0 rows, 0 columns).
266
- */
267
- CoinWarmStartBasis();
268
-
269
- /** Constructs a warm start object with the specified status vectors.
270
-
271
- The parameters are copied.
272
- Consider assignBasisStatus(int,int,char*&,char*&) if the object should
273
- assume ownership.
274
-
275
- \sa CoinWarmStartBasis::Status for a description of the packing used in
276
- the status arrays.
277
- */
278
- CoinWarmStartBasis(int ns, int na, const char* sStat, const char* aStat) ;
279
-
280
- /** Copy constructor */
281
- CoinWarmStartBasis(const CoinWarmStartBasis& ws) ;
282
-
283
- /** `Virtual constructor' */
284
- virtual CoinWarmStart *clone() const
285
- {
286
- return new CoinWarmStartBasis(*this);
287
- }
288
-
289
- /** Destructor */
290
- virtual ~CoinWarmStartBasis();
291
-
292
- /** Assignment */
293
-
294
- virtual CoinWarmStartBasis& operator=(const CoinWarmStartBasis& rhs) ;
295
-
296
- /** Assign the status vectors to be the warm start information.
297
-
298
- In this method the CoinWarmStartBasis object assumes ownership of the
299
- pointers and upon return the argument pointers will be NULL.
300
- If copying is desirable, use the
301
- \link CoinWarmStartBasis(int,int,const char*,const char*)
302
- array constructor \endlink
303
- or the
304
- \link operator=(const CoinWarmStartBasis&)
305
- assignment operator \endlink.
306
-
307
- \note
308
- The pointers passed to this method will be
309
- freed using delete[], so they must be created using new[].
310
- */
311
- virtual void assignBasisStatus(int ns, int na, char*& sStat, char*& aStat) ;
312
- //@}
313
-
314
- /*! \name Miscellaneous methods */
315
- //@{
316
-
317
- /// Prints in readable format (for debug)
318
- virtual void print() const;
319
- /// Returns true if full basis (for debug)
320
- bool fullBasis() const;
321
- /// Returns true if full basis and fixes up (for debug)
322
- bool fixFullBasis();
323
-
324
- //@}
325
-
326
- protected:
327
- /** \name Protected data members
328
-
329
- \sa CoinWarmStartBasis::Status for a description of the packing used in
330
- the status arrays.
331
- */
332
- //@{
333
- /// The number of structural variables
334
- int numStructural_;
335
- /// The number of artificial variables
336
- int numArtificial_;
337
- /// The maximum sise (in ints - actually 4*char) (so resize does not need to do new)
338
- int maxSize_;
339
- /** The status of the structural variables. */
340
- char * structuralStatus_;
341
- /** The status of the artificial variables. */
342
- char * artificialStatus_;
343
- //@}
344
- };
345
-
346
-
347
- /*! \relates CoinWarmStartBasis
348
- \brief Get the status of the specified variable in the given status array.
349
- */
350
-
351
- inline CoinWarmStartBasis::Status getStatus(const char *array, int i) {
352
- const int st = (array[i>>2] >> ((i&3)<<1)) & 3;
353
- return static_cast<CoinWarmStartBasis::Status>(st);
354
- }
355
-
356
- /*! \relates CoinWarmStartBasis
357
- \brief Set the status of the specified variable in the given status array.
358
- */
359
-
360
- inline void setStatus(char * array, int i, CoinWarmStartBasis::Status st) {
361
- char& st_byte = array[i>>2];
362
- st_byte = static_cast<char>(st_byte & ~(3 << ((i&3)<<1))) ;
363
- st_byte = static_cast<char>(st_byte | (st << ((i&3)<<1))) ;
364
- }
365
-
366
- /*! \relates CoinWarmStartBasis
367
- \brief Generate a print string for a status code
368
- */
369
- const char *statusName(CoinWarmStartBasis::Status status) ;
370
-
371
-
372
- /*! \class CoinWarmStartBasisDiff
373
- \brief A `diff' between two CoinWarmStartBasis objects
374
-
375
- This class exists in order to hide from the world the details of
376
- calculating and representing a `diff' between two CoinWarmStartBasis
377
- objects. For convenience, assignment, cloning, and deletion are visible to
378
- the world, and default and copy constructors are made available to derived
379
- classes. Knowledge of the rest of this structure, and of generating and
380
- applying diffs, is restricted to the friend functions
381
- CoinWarmStartBasis::generateDiff() and CoinWarmStartBasis::applyDiff().
382
-
383
- The actual data structure is an unsigned int vector, #difference_ which
384
- starts with indices of changed and then has values starting after #sze_
385
-
386
- \todo This is a pretty generic structure, and vector diff is a pretty generic
387
- activity. We should be able to convert this to a template.
388
-
389
- \todo Using unsigned int as the data type for the diff vectors might help
390
- to contain the damage when this code is inevitably compiled for 64 bit
391
- architectures. But the notion of int as 4 bytes is hardwired into
392
- CoinWarmStartBasis, so changes are definitely required.
393
- */
394
-
395
- class CoinWarmStartBasisDiff : public virtual CoinWarmStartDiff
396
- { public:
397
-
398
- /*! \brief `Virtual constructor' */
399
- virtual CoinWarmStartDiff *clone() const
400
- { CoinWarmStartBasisDiff *cwsbd = new CoinWarmStartBasisDiff(*this) ;
401
- return (dynamic_cast<CoinWarmStartDiff *>(cwsbd)) ; }
402
-
403
- /*! \brief Assignment */
404
- virtual
405
- CoinWarmStartBasisDiff &operator= (const CoinWarmStartBasisDiff &rhs) ;
406
-
407
- /*! \brief Destructor */
408
- virtual ~CoinWarmStartBasisDiff();
409
-
410
- protected:
411
-
412
- /*! \brief Default constructor
413
-
414
- This is protected (rather than private) so that derived classes can
415
- see it when they make <i>their</i> default constructor protected or
416
- private.
417
- */
418
- CoinWarmStartBasisDiff () : sze_(0), difference_(0) { }
419
-
420
- /*! \brief Copy constructor
421
-
422
- For convenience when copying objects containing CoinWarmStartBasisDiff
423
- objects. But consider whether you should be using #clone() to retain
424
- polymorphism.
425
-
426
- This is protected (rather than private) so that derived classes can
427
- see it when they make <i>their</i> copy constructor protected or
428
- private.
429
- */
430
- CoinWarmStartBasisDiff (const CoinWarmStartBasisDiff &cwsbd) ;
431
-
432
- /*! \brief Standard constructor */
433
- CoinWarmStartBasisDiff (int sze, const unsigned int *const diffNdxs,
434
- const unsigned int *const diffVals) ;
435
-
436
- /*! \brief Constructor when full is smaller than diff!*/
437
- CoinWarmStartBasisDiff (const CoinWarmStartBasis * rhs);
438
-
439
- private:
440
-
441
- friend CoinWarmStartDiff*
442
- CoinWarmStartBasis::generateDiff(const CoinWarmStart *const oldCWS) const ;
443
- friend void
444
- CoinWarmStartBasis::applyDiff(const CoinWarmStartDiff *const diff) ;
445
-
446
- /*! \brief Number of entries (and allocated capacity), in units of \c int. */
447
- int sze_ ;
448
-
449
- /*! \brief Array of diff indices and diff values */
450
-
451
- unsigned int *difference_ ;
452
-
453
- } ;
454
-
455
-
456
- #endif