ruby-cbc 0.1.9

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 (303) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/Gemfile +4 -0
  6. data/README.md +203 -0
  7. data/Rakefile +40 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +7 -0
  10. data/ext/ruby-cbc/cbc.i +15 -0
  11. data/ext/ruby-cbc/cbc_wrap.c +4618 -0
  12. data/ext/ruby-cbc/extconf.rb +60 -0
  13. data/ext/ruby-cbc/install/bin/cbc +0 -0
  14. data/ext/ruby-cbc/install/bin/clp +0 -0
  15. data/ext/ruby-cbc/install/include/coin/CbcBranchActual.hpp +24 -0
  16. data/ext/ruby-cbc/install/include/coin/CbcBranchAllDifferent.hpp +62 -0
  17. data/ext/ruby-cbc/install/include/coin/CbcBranchBase.hpp +78 -0
  18. data/ext/ruby-cbc/install/include/coin/CbcBranchCut.hpp +183 -0
  19. data/ext/ruby-cbc/install/include/coin/CbcBranchDecision.hpp +129 -0
  20. data/ext/ruby-cbc/install/include/coin/CbcBranchDefaultDecision.hpp +100 -0
  21. data/ext/ruby-cbc/install/include/coin/CbcBranchDynamic.hpp +206 -0
  22. data/ext/ruby-cbc/install/include/coin/CbcBranchLotsize.hpp +242 -0
  23. data/ext/ruby-cbc/install/include/coin/CbcBranchToFixLots.hpp +94 -0
  24. data/ext/ruby-cbc/install/include/coin/CbcBranchingObject.hpp +236 -0
  25. data/ext/ruby-cbc/install/include/coin/CbcClique.hpp +303 -0
  26. data/ext/ruby-cbc/install/include/coin/CbcCompare.hpp +39 -0
  27. data/ext/ruby-cbc/install/include/coin/CbcCompareActual.hpp +14 -0
  28. data/ext/ruby-cbc/install/include/coin/CbcCompareBase.hpp +142 -0
  29. data/ext/ruby-cbc/install/include/coin/CbcCompareDefault.hpp +120 -0
  30. data/ext/ruby-cbc/install/include/coin/CbcCompareDepth.hpp +47 -0
  31. data/ext/ruby-cbc/install/include/coin/CbcCompareEstimate.hpp +48 -0
  32. data/ext/ruby-cbc/install/include/coin/CbcCompareObjective.hpp +49 -0
  33. data/ext/ruby-cbc/install/include/coin/CbcConfig.h +14 -0
  34. data/ext/ruby-cbc/install/include/coin/CbcConsequence.hpp +49 -0
  35. data/ext/ruby-cbc/install/include/coin/CbcCountRowCut.hpp +168 -0
  36. data/ext/ruby-cbc/install/include/coin/CbcCutGenerator.hpp +482 -0
  37. data/ext/ruby-cbc/install/include/coin/CbcCutModifier.hpp +57 -0
  38. data/ext/ruby-cbc/install/include/coin/CbcCutSubsetModifier.hpp +66 -0
  39. data/ext/ruby-cbc/install/include/coin/CbcDummyBranchingObject.hpp +83 -0
  40. data/ext/ruby-cbc/install/include/coin/CbcEventHandler.hpp +245 -0
  41. data/ext/ruby-cbc/install/include/coin/CbcFathom.hpp +137 -0
  42. data/ext/ruby-cbc/install/include/coin/CbcFathomDynamicProgramming.hpp +169 -0
  43. data/ext/ruby-cbc/install/include/coin/CbcFeasibilityBase.hpp +56 -0
  44. data/ext/ruby-cbc/install/include/coin/CbcFixVariable.hpp +67 -0
  45. data/ext/ruby-cbc/install/include/coin/CbcFollowOn.hpp +207 -0
  46. data/ext/ruby-cbc/install/include/coin/CbcFullNodeInfo.hpp +161 -0
  47. data/ext/ruby-cbc/install/include/coin/CbcGeneral.hpp +60 -0
  48. data/ext/ruby-cbc/install/include/coin/CbcGeneralDepth.hpp +279 -0
  49. data/ext/ruby-cbc/install/include/coin/CbcHeuristic.hpp +682 -0
  50. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDINS.hpp +96 -0
  51. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDW.hpp +309 -0
  52. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDive.hpp +192 -0
  53. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveCoefficient.hpp +52 -0
  54. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveFractional.hpp +52 -0
  55. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveGuided.hpp +55 -0
  56. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveLineSearch.hpp +52 -0
  57. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDivePseudoCost.hpp +60 -0
  58. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveVectorLength.hpp +52 -0
  59. data/ext/ruby-cbc/install/include/coin/CbcHeuristicFPump.hpp +340 -0
  60. data/ext/ruby-cbc/install/include/coin/CbcHeuristicGreedy.hpp +280 -0
  61. data/ext/ruby-cbc/install/include/coin/CbcHeuristicLocal.hpp +271 -0
  62. data/ext/ruby-cbc/install/include/coin/CbcHeuristicPivotAndFix.hpp +58 -0
  63. data/ext/ruby-cbc/install/include/coin/CbcHeuristicRENS.hpp +77 -0
  64. data/ext/ruby-cbc/install/include/coin/CbcHeuristicRINS.hpp +102 -0
  65. data/ext/ruby-cbc/install/include/coin/CbcHeuristicRandRound.hpp +58 -0
  66. data/ext/ruby-cbc/install/include/coin/CbcHeuristicVND.hpp +94 -0
  67. data/ext/ruby-cbc/install/include/coin/CbcLinked.hpp +1406 -0
  68. data/ext/ruby-cbc/install/include/coin/CbcMessage.hpp +94 -0
  69. data/ext/ruby-cbc/install/include/coin/CbcMipStartIO.hpp +26 -0
  70. data/ext/ruby-cbc/install/include/coin/CbcModel.hpp +2952 -0
  71. data/ext/ruby-cbc/install/include/coin/CbcNWay.hpp +166 -0
  72. data/ext/ruby-cbc/install/include/coin/CbcNode.hpp +351 -0
  73. data/ext/ruby-cbc/install/include/coin/CbcNodeInfo.hpp +349 -0
  74. data/ext/ruby-cbc/install/include/coin/CbcObject.hpp +272 -0
  75. data/ext/ruby-cbc/install/include/coin/CbcObjectUpdateData.hpp +64 -0
  76. data/ext/ruby-cbc/install/include/coin/CbcOrClpParam.cpp +4134 -0
  77. data/ext/ruby-cbc/install/include/coin/CbcOrClpParam.hpp +532 -0
  78. data/ext/ruby-cbc/install/include/coin/CbcParam.hpp +324 -0
  79. data/ext/ruby-cbc/install/include/coin/CbcPartialNodeInfo.hpp +110 -0
  80. data/ext/ruby-cbc/install/include/coin/CbcSOS.hpp +279 -0
  81. data/ext/ruby-cbc/install/include/coin/CbcSimpleInteger.hpp +286 -0
  82. data/ext/ruby-cbc/install/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +564 -0
  83. data/ext/ruby-cbc/install/include/coin/CbcSimpleIntegerPseudoCost.hpp +114 -0
  84. data/ext/ruby-cbc/install/include/coin/CbcSolver.hpp +447 -0
  85. data/ext/ruby-cbc/install/include/coin/CbcStrategy.hpp +258 -0
  86. data/ext/ruby-cbc/install/include/coin/CbcSubProblem.hpp +83 -0
  87. data/ext/ruby-cbc/install/include/coin/CbcTree.hpp +490 -0
  88. data/ext/ruby-cbc/install/include/coin/CbcTreeLocal.hpp +372 -0
  89. data/ext/ruby-cbc/install/include/coin/Cbc_C_Interface.h +381 -0
  90. data/ext/ruby-cbc/install/include/coin/Cgl012cut.hpp +464 -0
  91. data/ext/ruby-cbc/install/include/coin/CglAllDifferent.hpp +115 -0
  92. data/ext/ruby-cbc/install/include/coin/CglClique.hpp +308 -0
  93. data/ext/ruby-cbc/install/include/coin/CglConfig.h +19 -0
  94. data/ext/ruby-cbc/install/include/coin/CglCutGenerator.hpp +121 -0
  95. data/ext/ruby-cbc/install/include/coin/CglDuplicateRow.hpp +189 -0
  96. data/ext/ruby-cbc/install/include/coin/CglFlowCover.hpp +371 -0
  97. data/ext/ruby-cbc/install/include/coin/CglGMI.hpp +364 -0
  98. data/ext/ruby-cbc/install/include/coin/CglGMIParam.hpp +313 -0
  99. data/ext/ruby-cbc/install/include/coin/CglGomory.hpp +204 -0
  100. data/ext/ruby-cbc/install/include/coin/CglKnapsackCover.hpp +310 -0
  101. data/ext/ruby-cbc/install/include/coin/CglLandP.hpp +306 -0
  102. data/ext/ruby-cbc/install/include/coin/CglLandPValidator.hpp +130 -0
  103. data/ext/ruby-cbc/install/include/coin/CglLiftAndProject.hpp +104 -0
  104. data/ext/ruby-cbc/install/include/coin/CglMessage.hpp +50 -0
  105. data/ext/ruby-cbc/install/include/coin/CglMixedIntegerRounding.hpp +429 -0
  106. data/ext/ruby-cbc/install/include/coin/CglMixedIntegerRounding2.hpp +427 -0
  107. data/ext/ruby-cbc/install/include/coin/CglOddHole.hpp +160 -0
  108. data/ext/ruby-cbc/install/include/coin/CglParam.hpp +93 -0
  109. data/ext/ruby-cbc/install/include/coin/CglPreProcess.hpp +492 -0
  110. data/ext/ruby-cbc/install/include/coin/CglProbing.hpp +543 -0
  111. data/ext/ruby-cbc/install/include/coin/CglRedSplit.hpp +448 -0
  112. data/ext/ruby-cbc/install/include/coin/CglRedSplit2.hpp +494 -0
  113. data/ext/ruby-cbc/install/include/coin/CglRedSplit2Param.hpp +495 -0
  114. data/ext/ruby-cbc/install/include/coin/CglRedSplitParam.hpp +272 -0
  115. data/ext/ruby-cbc/install/include/coin/CglResidualCapacity.hpp +240 -0
  116. data/ext/ruby-cbc/install/include/coin/CglSimpleRounding.hpp +174 -0
  117. data/ext/ruby-cbc/install/include/coin/CglStored.hpp +125 -0
  118. data/ext/ruby-cbc/install/include/coin/CglTreeInfo.hpp +180 -0
  119. data/ext/ruby-cbc/install/include/coin/CglTwomir.hpp +565 -0
  120. data/ext/ruby-cbc/install/include/coin/CglZeroHalf.hpp +133 -0
  121. data/ext/ruby-cbc/install/include/coin/ClpAmplObjective.hpp +113 -0
  122. data/ext/ruby-cbc/install/include/coin/ClpCholeskyBase.hpp +294 -0
  123. data/ext/ruby-cbc/install/include/coin/ClpCholeskyDense.hpp +162 -0
  124. data/ext/ruby-cbc/install/include/coin/ClpConfig.h +17 -0
  125. data/ext/ruby-cbc/install/include/coin/ClpConstraint.hpp +125 -0
  126. data/ext/ruby-cbc/install/include/coin/ClpConstraintAmpl.hpp +108 -0
  127. data/ext/ruby-cbc/install/include/coin/ClpConstraintLinear.hpp +110 -0
  128. data/ext/ruby-cbc/install/include/coin/ClpConstraintQuadratic.hpp +119 -0
  129. data/ext/ruby-cbc/install/include/coin/ClpDualRowDantzig.hpp +71 -0
  130. data/ext/ruby-cbc/install/include/coin/ClpDualRowPivot.hpp +129 -0
  131. data/ext/ruby-cbc/install/include/coin/ClpDualRowSteepest.hpp +153 -0
  132. data/ext/ruby-cbc/install/include/coin/ClpDummyMatrix.hpp +183 -0
  133. data/ext/ruby-cbc/install/include/coin/ClpDynamicExampleMatrix.hpp +186 -0
  134. data/ext/ruby-cbc/install/include/coin/ClpDynamicMatrix.hpp +381 -0
  135. data/ext/ruby-cbc/install/include/coin/ClpEventHandler.hpp +187 -0
  136. data/ext/ruby-cbc/install/include/coin/ClpFactorization.hpp +432 -0
  137. data/ext/ruby-cbc/install/include/coin/ClpGubDynamicMatrix.hpp +247 -0
  138. data/ext/ruby-cbc/install/include/coin/ClpGubMatrix.hpp +358 -0
  139. data/ext/ruby-cbc/install/include/coin/ClpInterior.hpp +570 -0
  140. data/ext/ruby-cbc/install/include/coin/ClpLinearObjective.hpp +103 -0
  141. data/ext/ruby-cbc/install/include/coin/ClpMatrixBase.hpp +524 -0
  142. data/ext/ruby-cbc/install/include/coin/ClpMessage.hpp +131 -0
  143. data/ext/ruby-cbc/install/include/coin/ClpModel.hpp +1307 -0
  144. data/ext/ruby-cbc/install/include/coin/ClpNetworkMatrix.hpp +229 -0
  145. data/ext/ruby-cbc/install/include/coin/ClpNode.hpp +349 -0
  146. data/ext/ruby-cbc/install/include/coin/ClpNonLinearCost.hpp +401 -0
  147. data/ext/ruby-cbc/install/include/coin/ClpObjective.hpp +134 -0
  148. data/ext/ruby-cbc/install/include/coin/ClpPackedMatrix.hpp +638 -0
  149. data/ext/ruby-cbc/install/include/coin/ClpParameters.hpp +126 -0
  150. data/ext/ruby-cbc/install/include/coin/ClpPdcoBase.hpp +103 -0
  151. data/ext/ruby-cbc/install/include/coin/ClpPlusMinusOneMatrix.hpp +290 -0
  152. data/ext/ruby-cbc/install/include/coin/ClpPresolve.hpp +299 -0
  153. data/ext/ruby-cbc/install/include/coin/ClpPrimalColumnDantzig.hpp +72 -0
  154. data/ext/ruby-cbc/install/include/coin/ClpPrimalColumnPivot.hpp +155 -0
  155. data/ext/ruby-cbc/install/include/coin/ClpPrimalColumnSteepest.hpp +247 -0
  156. data/ext/ruby-cbc/install/include/coin/ClpQuadraticObjective.hpp +155 -0
  157. data/ext/ruby-cbc/install/include/coin/ClpSimplex.hpp +1797 -0
  158. data/ext/ruby-cbc/install/include/coin/ClpSimplexDual.hpp +300 -0
  159. data/ext/ruby-cbc/install/include/coin/ClpSimplexNonlinear.hpp +117 -0
  160. data/ext/ruby-cbc/install/include/coin/ClpSimplexOther.hpp +277 -0
  161. data/ext/ruby-cbc/install/include/coin/ClpSimplexPrimal.hpp +244 -0
  162. data/ext/ruby-cbc/install/include/coin/ClpSolve.hpp +446 -0
  163. data/ext/ruby-cbc/install/include/coin/Clp_C_Interface.h +525 -0
  164. data/ext/ruby-cbc/install/include/coin/CoinAlloc.hpp +176 -0
  165. data/ext/ruby-cbc/install/include/coin/CoinBuild.hpp +149 -0
  166. data/ext/ruby-cbc/install/include/coin/CoinDenseFactorization.hpp +419 -0
  167. data/ext/ruby-cbc/install/include/coin/CoinDenseVector.hpp +383 -0
  168. data/ext/ruby-cbc/install/include/coin/CoinDistance.hpp +48 -0
  169. data/ext/ruby-cbc/install/include/coin/CoinError.hpp +257 -0
  170. data/ext/ruby-cbc/install/include/coin/CoinFactorization.hpp +2044 -0
  171. data/ext/ruby-cbc/install/include/coin/CoinFileIO.hpp +166 -0
  172. data/ext/ruby-cbc/install/include/coin/CoinFinite.hpp +34 -0
  173. data/ext/ruby-cbc/install/include/coin/CoinFloatEqual.hpp +177 -0
  174. data/ext/ruby-cbc/install/include/coin/CoinHelperFunctions.hpp +1111 -0
  175. data/ext/ruby-cbc/install/include/coin/CoinIndexedVector.hpp +1164 -0
  176. data/ext/ruby-cbc/install/include/coin/CoinLpIO.hpp +805 -0
  177. data/ext/ruby-cbc/install/include/coin/CoinMessage.hpp +96 -0
  178. data/ext/ruby-cbc/install/include/coin/CoinMessageHandler.hpp +666 -0
  179. data/ext/ruby-cbc/install/include/coin/CoinModel.hpp +1054 -0
  180. data/ext/ruby-cbc/install/include/coin/CoinModelUseful.hpp +441 -0
  181. data/ext/ruby-cbc/install/include/coin/CoinMpsIO.hpp +1056 -0
  182. data/ext/ruby-cbc/install/include/coin/CoinOslFactorization.hpp +280 -0
  183. data/ext/ruby-cbc/install/include/coin/CoinPackedMatrix.hpp +947 -0
  184. data/ext/ruby-cbc/install/include/coin/CoinPackedVector.hpp +657 -0
  185. data/ext/ruby-cbc/install/include/coin/CoinPackedVectorBase.hpp +269 -0
  186. data/ext/ruby-cbc/install/include/coin/CoinParam.hpp +644 -0
  187. data/ext/ruby-cbc/install/include/coin/CoinPragma.hpp +26 -0
  188. data/ext/ruby-cbc/install/include/coin/CoinPresolveDoubleton.hpp +73 -0
  189. data/ext/ruby-cbc/install/include/coin/CoinPresolveDual.hpp +85 -0
  190. data/ext/ruby-cbc/install/include/coin/CoinPresolveDupcol.hpp +226 -0
  191. data/ext/ruby-cbc/install/include/coin/CoinPresolveEmpty.hpp +116 -0
  192. data/ext/ruby-cbc/install/include/coin/CoinPresolveFixed.hpp +181 -0
  193. data/ext/ruby-cbc/install/include/coin/CoinPresolveForcing.hpp +61 -0
  194. data/ext/ruby-cbc/install/include/coin/CoinPresolveImpliedFree.hpp +60 -0
  195. data/ext/ruby-cbc/install/include/coin/CoinPresolveIsolated.hpp +51 -0
  196. data/ext/ruby-cbc/install/include/coin/CoinPresolveMatrix.hpp +1842 -0
  197. data/ext/ruby-cbc/install/include/coin/CoinPresolveMonitor.hpp +105 -0
  198. data/ext/ruby-cbc/install/include/coin/CoinPresolvePsdebug.hpp +166 -0
  199. data/ext/ruby-cbc/install/include/coin/CoinPresolveSingleton.hpp +112 -0
  200. data/ext/ruby-cbc/install/include/coin/CoinPresolveSubst.hpp +101 -0
  201. data/ext/ruby-cbc/install/include/coin/CoinPresolveTighten.hpp +55 -0
  202. data/ext/ruby-cbc/install/include/coin/CoinPresolveTripleton.hpp +66 -0
  203. data/ext/ruby-cbc/install/include/coin/CoinPresolveUseless.hpp +63 -0
  204. data/ext/ruby-cbc/install/include/coin/CoinPresolveZeros.hpp +60 -0
  205. data/ext/ruby-cbc/install/include/coin/CoinRational.hpp +44 -0
  206. data/ext/ruby-cbc/install/include/coin/CoinSearchTree.hpp +465 -0
  207. data/ext/ruby-cbc/install/include/coin/CoinShallowPackedVector.hpp +148 -0
  208. data/ext/ruby-cbc/install/include/coin/CoinSignal.hpp +117 -0
  209. data/ext/ruby-cbc/install/include/coin/CoinSimpFactorization.hpp +431 -0
  210. data/ext/ruby-cbc/install/include/coin/CoinSmartPtr.hpp +528 -0
  211. data/ext/ruby-cbc/install/include/coin/CoinSnapshot.hpp +476 -0
  212. data/ext/ruby-cbc/install/include/coin/CoinSort.hpp +678 -0
  213. data/ext/ruby-cbc/install/include/coin/CoinStructuredModel.hpp +247 -0
  214. data/ext/ruby-cbc/install/include/coin/CoinTime.hpp +310 -0
  215. data/ext/ruby-cbc/install/include/coin/CoinTypes.hpp +64 -0
  216. data/ext/ruby-cbc/install/include/coin/CoinUtility.hpp +19 -0
  217. data/ext/ruby-cbc/install/include/coin/CoinUtilsConfig.h +34 -0
  218. data/ext/ruby-cbc/install/include/coin/CoinWarmStart.hpp +58 -0
  219. data/ext/ruby-cbc/install/include/coin/CoinWarmStartBasis.hpp +456 -0
  220. data/ext/ruby-cbc/install/include/coin/CoinWarmStartDual.hpp +166 -0
  221. data/ext/ruby-cbc/install/include/coin/CoinWarmStartPrimalDual.hpp +211 -0
  222. data/ext/ruby-cbc/install/include/coin/CoinWarmStartVector.hpp +488 -0
  223. data/ext/ruby-cbc/install/include/coin/Coin_C_defines.h +115 -0
  224. data/ext/ruby-cbc/install/include/coin/Idiot.hpp +298 -0
  225. data/ext/ruby-cbc/install/include/coin/OsiAuxInfo.hpp +206 -0
  226. data/ext/ruby-cbc/install/include/coin/OsiBranchingObject.hpp +1005 -0
  227. data/ext/ruby-cbc/install/include/coin/OsiCbcSolverInterface.hpp +764 -0
  228. data/ext/ruby-cbc/install/include/coin/OsiChooseVariable.hpp +534 -0
  229. data/ext/ruby-cbc/install/include/coin/OsiClpSolverInterface.hpp +1509 -0
  230. data/ext/ruby-cbc/install/include/coin/OsiColCut.hpp +324 -0
  231. data/ext/ruby-cbc/install/include/coin/OsiCollections.hpp +35 -0
  232. data/ext/ruby-cbc/install/include/coin/OsiConfig.h +19 -0
  233. data/ext/ruby-cbc/install/include/coin/OsiCut.hpp +245 -0
  234. data/ext/ruby-cbc/install/include/coin/OsiCuts.hpp +474 -0
  235. data/ext/ruby-cbc/install/include/coin/OsiPresolve.hpp +252 -0
  236. data/ext/ruby-cbc/install/include/coin/OsiRowCut.hpp +331 -0
  237. data/ext/ruby-cbc/install/include/coin/OsiRowCutDebugger.hpp +187 -0
  238. data/ext/ruby-cbc/install/include/coin/OsiSolverBranch.hpp +152 -0
  239. data/ext/ruby-cbc/install/include/coin/OsiSolverInterface.hpp +2143 -0
  240. data/ext/ruby-cbc/install/include/coin/OsiSolverParameters.hpp +142 -0
  241. data/ext/ruby-cbc/install/include/coin/OsiUnitTests.hpp +374 -0
  242. data/ext/ruby-cbc/install/lib/libCbc.la +35 -0
  243. data/ext/ruby-cbc/install/lib/libCbc.so +0 -0
  244. data/ext/ruby-cbc/install/lib/libCbc.so.3 +0 -0
  245. data/ext/ruby-cbc/install/lib/libCbc.so.3.9.7 +0 -0
  246. data/ext/ruby-cbc/install/lib/libCbcSolver.la +35 -0
  247. data/ext/ruby-cbc/install/lib/libCbcSolver.so +0 -0
  248. data/ext/ruby-cbc/install/lib/libCbcSolver.so.3 +0 -0
  249. data/ext/ruby-cbc/install/lib/libCbcSolver.so.3.9.7 +0 -0
  250. data/ext/ruby-cbc/install/lib/libCgl.la +35 -0
  251. data/ext/ruby-cbc/install/lib/libCgl.so +0 -0
  252. data/ext/ruby-cbc/install/lib/libCgl.so.1 +0 -0
  253. data/ext/ruby-cbc/install/lib/libCgl.so.1.9.7 +0 -0
  254. data/ext/ruby-cbc/install/lib/libClp.la +35 -0
  255. data/ext/ruby-cbc/install/lib/libClp.so +0 -0
  256. data/ext/ruby-cbc/install/lib/libClp.so.1 +0 -0
  257. data/ext/ruby-cbc/install/lib/libClp.so.1.13.9 +0 -0
  258. data/ext/ruby-cbc/install/lib/libClpSolver.la +35 -0
  259. data/ext/ruby-cbc/install/lib/libClpSolver.so +0 -0
  260. data/ext/ruby-cbc/install/lib/libClpSolver.so.1 +0 -0
  261. data/ext/ruby-cbc/install/lib/libClpSolver.so.1.13.9 +0 -0
  262. data/ext/ruby-cbc/install/lib/libCoinUtils.la +35 -0
  263. data/ext/ruby-cbc/install/lib/libCoinUtils.so +0 -0
  264. data/ext/ruby-cbc/install/lib/libCoinUtils.so.3 +0 -0
  265. data/ext/ruby-cbc/install/lib/libCoinUtils.so.3.10.11 +0 -0
  266. data/ext/ruby-cbc/install/lib/libOsi.la +35 -0
  267. data/ext/ruby-cbc/install/lib/libOsi.so +0 -0
  268. data/ext/ruby-cbc/install/lib/libOsi.so.1 +0 -0
  269. data/ext/ruby-cbc/install/lib/libOsi.so.1.12.6 +0 -0
  270. data/ext/ruby-cbc/install/lib/libOsiCbc.la +35 -0
  271. data/ext/ruby-cbc/install/lib/libOsiCbc.so +0 -0
  272. data/ext/ruby-cbc/install/lib/libOsiCbc.so.3 +0 -0
  273. data/ext/ruby-cbc/install/lib/libOsiCbc.so.3.9.7 +0 -0
  274. data/ext/ruby-cbc/install/lib/libOsiClp.la +35 -0
  275. data/ext/ruby-cbc/install/lib/libOsiClp.so +0 -0
  276. data/ext/ruby-cbc/install/lib/libOsiClp.so.1 +0 -0
  277. data/ext/ruby-cbc/install/lib/libOsiClp.so.1.13.9 +0 -0
  278. data/ext/ruby-cbc/install/lib/libOsiCommonTests.la +35 -0
  279. data/ext/ruby-cbc/install/lib/libOsiCommonTests.so +0 -0
  280. data/ext/ruby-cbc/install/lib/libOsiCommonTests.so.1 +0 -0
  281. data/ext/ruby-cbc/install/lib/libOsiCommonTests.so.1.12.6 +0 -0
  282. data/ext/ruby-cbc/install/lib/pkgconfig/cbc.pc +12 -0
  283. data/ext/ruby-cbc/install/lib/pkgconfig/cgl.pc +12 -0
  284. data/ext/ruby-cbc/install/lib/pkgconfig/clp.pc +12 -0
  285. data/ext/ruby-cbc/install/lib/pkgconfig/coindatamiplib3.pc +9 -0
  286. data/ext/ruby-cbc/install/lib/pkgconfig/coindatasample.pc +9 -0
  287. data/ext/ruby-cbc/install/lib/pkgconfig/coinutils.pc +12 -0
  288. data/ext/ruby-cbc/install/lib/pkgconfig/osi-cbc.pc +12 -0
  289. data/ext/ruby-cbc/install/lib/pkgconfig/osi-clp.pc +12 -0
  290. data/ext/ruby-cbc/install/lib/pkgconfig/osi-unittests.pc +12 -0
  291. data/ext/ruby-cbc/install/lib/pkgconfig/osi.pc +12 -0
  292. data/lib/ruby-cbc/ilp/constant.rb +44 -0
  293. data/lib/ruby-cbc/ilp/constraint.rb +32 -0
  294. data/lib/ruby-cbc/ilp/objective.rb +26 -0
  295. data/lib/ruby-cbc/ilp/term.rb +47 -0
  296. data/lib/ruby-cbc/ilp/term_array.rb +80 -0
  297. data/lib/ruby-cbc/ilp/var.rb +62 -0
  298. data/lib/ruby-cbc/model.rb +125 -0
  299. data/lib/ruby-cbc/problem.rb +170 -0
  300. data/lib/ruby-cbc/version.rb +3 -0
  301. data/lib/ruby-cbc.rb +21 -0
  302. data/ruby-cbc.gemspec +36 -0
  303. metadata +431 -0
@@ -0,0 +1,153 @@
1
+ /* $Id: ClpDualRowSteepest.hpp 2070 2014-11-18 11:12:54Z forrest $ */
2
+ // Copyright (C) 2002, International Business Machines
3
+ // Corporation and others. All Rights Reserved.
4
+ // This code is licensed under the terms of the Eclipse Public License (EPL).
5
+
6
+ #ifndef ClpDualRowSteepest_H
7
+ #define ClpDualRowSteepest_H
8
+
9
+ #include "ClpDualRowPivot.hpp"
10
+ class CoinIndexedVector;
11
+
12
+
13
+ //#############################################################################
14
+
15
+ /** Dual Row Pivot Steepest Edge Algorithm Class
16
+
17
+ See Forrest-Goldfarb paper for algorithm
18
+
19
+ */
20
+
21
+ class ClpDualRowSteepest : public ClpDualRowPivot {
22
+
23
+ public:
24
+
25
+ ///@name Algorithmic methods
26
+ //@{
27
+
28
+ /// Returns pivot row, -1 if none
29
+ virtual int pivotRow();
30
+
31
+ /** Updates weights and returns pivot alpha.
32
+ Also does FT update */
33
+ virtual double updateWeights(CoinIndexedVector * input,
34
+ CoinIndexedVector * spare,
35
+ CoinIndexedVector * spare2,
36
+ CoinIndexedVector * updatedColumn);
37
+
38
+ /** Updates primal solution (and maybe list of candidates)
39
+ Uses input vector which it deletes
40
+ Computes change in objective function
41
+ */
42
+ virtual void updatePrimalSolution(CoinIndexedVector * input,
43
+ double theta,
44
+ double & changeInObjective);
45
+
46
+ /** Saves any weights round factorization as pivot rows may change
47
+ Save model
48
+ May also recompute infeasibility stuff
49
+ 1) before factorization
50
+ 2) after good factorization (if weights empty may initialize)
51
+ 3) after something happened but no factorization
52
+ (e.g. check for infeasible)
53
+ 4) as 2 but restore weights from previous snapshot
54
+ 5) for strong branching - initialize (uninitialized) , infeasibilities
55
+ */
56
+ virtual void saveWeights(ClpSimplex * model, int mode);
57
+ /// Pass in saved weights
58
+ void passInSavedWeights(const CoinIndexedVector * saved);
59
+ /// Get saved weights
60
+ inline CoinIndexedVector * savedWeights()
61
+ { return savedWeights_;}
62
+ /// Gets rid of last update
63
+ virtual void unrollWeights();
64
+ /// Gets rid of all arrays
65
+ virtual void clearArrays();
66
+ /// Returns true if would not find any row
67
+ virtual bool looksOptimal() const;
68
+ /// Called when maximum pivots changes
69
+ virtual void maximumPivotsChanged();
70
+ //@}
71
+
72
+ /** enums for persistence
73
+ */
74
+ enum Persistence {
75
+ normal = 0x00, // create (if necessary) and destroy
76
+ keep = 0x01 // create (if necessary) and leave
77
+ };
78
+
79
+ ///@name Constructors and destructors
80
+ //@{
81
+ /** Default Constructor
82
+ 0 is uninitialized, 1 full, 2 is partial uninitialized,
83
+ 3 starts as 2 but may switch to 1.
84
+ By partial is meant that the weights are updated as normal
85
+ but only part of the infeasible basic variables are scanned.
86
+ This can be faster on very easy problems.
87
+ */
88
+ ClpDualRowSteepest(int mode = 3);
89
+
90
+ /// Copy constructor
91
+ ClpDualRowSteepest(const ClpDualRowSteepest &);
92
+
93
+ /// Assignment operator
94
+ ClpDualRowSteepest & operator=(const ClpDualRowSteepest& rhs);
95
+
96
+ /// Fill most values
97
+ void fill(const ClpDualRowSteepest& rhs);
98
+
99
+ /// Destructor
100
+ virtual ~ClpDualRowSteepest ();
101
+
102
+ /// Clone
103
+ virtual ClpDualRowPivot * clone(bool copyData = true) const;
104
+
105
+ //@}
106
+ /**@name gets and sets */
107
+ //@{
108
+ /// Mode
109
+ inline int mode() const {
110
+ return mode_;
111
+ }
112
+ /// Set mode
113
+ inline void setMode(int mode) {
114
+ mode_ = mode;
115
+ }
116
+ /// Set/ get persistence
117
+ inline void setPersistence(Persistence life) {
118
+ persistence_ = life;
119
+ }
120
+ inline Persistence persistence() const {
121
+ return persistence_ ;
122
+ }
123
+ //@}
124
+
125
+ //---------------------------------------------------------------------------
126
+
127
+ private:
128
+ ///@name Private member data
129
+ /** Status
130
+ 0) Normal
131
+ -1) Needs initialization
132
+ 1) Weights are stored by sequence number
133
+ */
134
+ int state_;
135
+ /** If 0 then we are using uninitialized weights, 1 then full,
136
+ if 2 then uninitialized partial, 3 switchable */
137
+ int mode_;
138
+ /// Life of weights
139
+ Persistence persistence_;
140
+ /// weight array
141
+ double * weights_;
142
+ /// square of infeasibility array (just for infeasible rows)
143
+ CoinIndexedVector * infeasible_;
144
+ /// alternate weight array (so we can unroll)
145
+ CoinIndexedVector * alternateWeights_;
146
+ /// save weight array (so we can use checkpoint)
147
+ CoinIndexedVector * savedWeights_;
148
+ /// Dubious weights
149
+ int * dubiousWeights_;
150
+ //@}
151
+ };
152
+
153
+ #endif
@@ -0,0 +1,183 @@
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
@@ -0,0 +1,186 @@
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