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,189 +0,0 @@
1
- // $Id: CglDuplicateRow.hpp 1119 2013-04-06 20:24:18Z stefan $
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 CglDuplicateRow_H
7
- #define CglDuplicateRow_H
8
-
9
- #include <string>
10
-
11
- #include "CglCutGenerator.hpp"
12
- class CglStored;
13
-
14
- /** DuplicateRow Cut Generator Class */
15
- class CglDuplicateRow : public CglCutGenerator {
16
-
17
- public:
18
-
19
-
20
- /**@name Generate Cuts */
21
- //@{
22
- /** Fix variables and find duplicate/dominated rows for the model of the
23
- solver interface, si.
24
-
25
- This is a very simple minded idea but I (JJF) am using it in a project so thought
26
- I might as well add it. It should really be called before first solve and I may
27
- modify CBC to allow for that.
28
-
29
- This is designed for problems with few rows and many integer variables where the rhs
30
- are <= or == and all coefficients and rhs are small integers.
31
-
32
- If effective rhs is K then we can fix all variables with coefficients > K to their lower bounds
33
- (effective rhs just means original with variables with nonzero lower bounds subtracted out).
34
-
35
- If one row is a subset of another and the effective rhs are same we can fix some variables
36
- and then the two rows are identical.
37
-
38
- The generator marks identical rows so can be taken out in solve
39
- */
40
- virtual void generateCuts( const OsiSolverInterface & si, OsiCuts & cs,
41
- const CglTreeInfo info = CglTreeInfo());
42
- private:
43
- /// Does work for modes 1,2
44
- void generateCuts12( const OsiSolverInterface & si, OsiCuts & cs,
45
- const CglTreeInfo info = CglTreeInfo());
46
- /// Does work for mode 4
47
- void generateCuts4( const OsiSolverInterface & si, OsiCuts & cs,
48
- const CglTreeInfo info = CglTreeInfo());
49
- /// Does work for mode 8
50
- void generateCuts8( const OsiSolverInterface & si, OsiCuts & cs,
51
- const CglTreeInfo info = CglTreeInfo());
52
- public:
53
- /** Fix variables and find duplicate/dominated rows for the model of the
54
- solver interface, si.
55
-
56
- This is a very simple minded idea but I (JJF) am using it in a project so thought
57
- I might as well add it. It should really be called before first solve and I may
58
- modify CBC to allow for that.
59
-
60
- This is designed for problems with few rows and many integer variables where the rhs
61
- are <= or == and all coefficients and rhs are small integers.
62
-
63
- If effective rhs is K then we can fix all variables with coefficients > K to their lower bounds
64
- (effective rhs just means original with variables with nonzero lower bounds subtracted out).
65
-
66
- If one row is a subset of another and the effective rhs are same we can fix some variables
67
- and then the two rows are identical.
68
-
69
- This version does deletions and fixings and may return stored cuts for
70
- dominated columns
71
- */
72
- CglStored * outDuplicates( OsiSolverInterface * solver);
73
-
74
- //@}
75
-
76
- /**@name Get information on size of problem */
77
- //@{
78
- /// Get duplicate row list, -1 means still in, -2 means out (all fixed), k>= means same as row k
79
- inline const int * duplicate() const
80
- { return duplicate_;}
81
- /// Size of dynamic program
82
- inline int sizeDynamic() const
83
- { return sizeDynamic_;}
84
- /// Number of rows in original problem
85
- inline int numberOriginalRows() const
86
- { return matrix_.getNumRows();}
87
- //@}
88
-
89
- /**@name Get information on size of problem */
90
- //@{
91
- /// logLevel
92
- inline int logLevel() const
93
- { return logLevel_;}
94
- inline void setLogLevel(int value)
95
- { logLevel_ = value;}
96
- //@}
97
-
98
-
99
- /**@name We only check for duplicates amongst rows with effective rhs <= this */
100
- //@{
101
- /// Get
102
- inline int maximumRhs() const
103
- { return maximumRhs_;}
104
- /// Set
105
- inline void setMaximumRhs(int value)
106
- { maximumRhs_=value;}
107
- //@}
108
-
109
- /**@name We only check for dominated amongst groups of columns whose size <= this */
110
- //@{
111
- /// Get
112
- inline int maximumDominated() const
113
- { return maximumDominated_;}
114
- /// Set
115
- inline void setMaximumDominated(int value)
116
- { maximumDominated_=value;}
117
- //@}
118
- /**@name gets and sets */
119
- //@{
120
- /// Get mode
121
- inline int mode() const
122
- { return mode_;}
123
- /// Set mode
124
- inline void setMode(int value)
125
- { mode_=value;}
126
- //@}
127
-
128
- /**@name Constructors and destructors */
129
- //@{
130
- /// Default constructor
131
- CglDuplicateRow ();
132
-
133
- /// Useful constructor
134
- CglDuplicateRow (OsiSolverInterface * solver);
135
-
136
- /// Copy constructor
137
- CglDuplicateRow (
138
- const CglDuplicateRow & rhs);
139
-
140
- /// Clone
141
- virtual CglCutGenerator * clone() const;
142
-
143
- /// Assignment operator
144
- CglDuplicateRow &
145
- operator=(
146
- const CglDuplicateRow& rhs);
147
-
148
- /// Destructor
149
- virtual
150
- ~CglDuplicateRow ();
151
- /// Create C++ lines to get to current state
152
- virtual std::string generateCpp( FILE * fp);
153
-
154
- /// This can be used to refresh any information
155
- virtual void refreshSolver(OsiSolverInterface * solver);
156
- //@}
157
-
158
- protected:
159
-
160
-
161
- // Protected member data
162
-
163
- /**@name Protected member data */
164
- //@{
165
- /// Matrix
166
- CoinPackedMatrix matrix_;
167
- /// Matrix by row
168
- CoinPackedMatrix matrixByRow_;
169
- /// Possible rhs (if 0 then not possible)
170
- int * rhs_;
171
- /// Marks duplicate rows
172
- int * duplicate_;
173
- /// To allow for <= rows
174
- int * lower_;
175
- /// Stored cuts if we found dominance cuts
176
- CglStored * storedCuts_;
177
- /// Check dominated columns if less than this number of candidates
178
- int maximumDominated_;
179
- /// Check duplicates if effective rhs <= this
180
- int maximumRhs_;
181
- /// Size of dynamic program
182
- int sizeDynamic_;
183
- /// 1 do rows, 2 do columns, 3 do both
184
- int mode_;
185
- /// Controls print out
186
- int logLevel_;
187
- //@}
188
- };
189
- #endif
@@ -1,371 +0,0 @@
1
- // $Id: CglFlowCover.hpp 1119 2013-04-06 20:24:18Z stefan $
2
- //-----------------------------------------------------------------------------
3
- // name: Cgl Lifted Simple Generalized Flow Cover Cut Generator
4
- // author: Yan Xu email: yan.xu@sas.com
5
- // Jeff Linderoth email: jtl3@lehigh.edu
6
- // Martin Savelsberg email: martin.savelsbergh@isye.gatech.edu
7
- // date: 05/01/2003
8
- // comments: please scan this file for '???' and read the comments
9
- //-----------------------------------------------------------------------------
10
- // Copyright (C) 2003, Yan Xu, Jeff Linderoth, Martin Savelsberg and others.
11
- // All Rights Reserved.
12
- // This code is published under the Eclipse Public License.
13
-
14
- #ifndef CglFlowCover_H
15
- #define CglFlowCover_H
16
-
17
- #include <iostream>
18
-
19
- #include "CoinError.hpp"
20
-
21
- #include "CglCutGenerator.hpp"
22
-
23
- //=============================================================================
24
-
25
- //=============================================================================
26
-
27
- /** This enumerative constant describes the various col types.*/
28
- enum CglFlowColType {
29
- /** The column(variable) is a negative binary variable.*/
30
- CGLFLOW_COL_BINNEG = -2,
31
- /** The column is a negative continous variable.*/
32
- CGLFLOW_COL_CONTNEG,
33
- /** The column is a positive continous variable.*/
34
- CGLFLOW_COL_CONTPOS = 1,
35
- /** The column is a positive binary variable.*/
36
- CGLFLOW_COL_BINPOS
37
- };
38
-
39
- enum CglFlowColStatus{
40
- };
41
-
42
- /** This enumerative constant describes the various stati of vars in
43
- a cut or not.*/
44
- enum CglFlowColCut{
45
- /** The column is NOT in cover.*/
46
- CGLFLOW_COL_OUTCUT = 0,
47
- /** The column is in cover now. */
48
- CGLFLOW_COL_INCUT,
49
- /** The column is decided to be in cover. */
50
- CGLFLOW_COL_INCUTDONE,
51
- /** The column is in L-. */
52
- CGLFLOW_COL_INLMIN,
53
- /** The column is decided to be in L-. */
54
- CGLFLOW_COL_INLMINDONE,
55
- /** The column is in L--.*/
56
- CGLFLOW_COL_INLMINMIN,
57
- /** This enumerative constant describes the various stati of vars in
58
- determining the cover.*/
59
- /** The column is a prime candidate. */
60
- CGLFLOW_COL_PRIME,
61
- /** The column is a secondary candidate. */
62
- CGLFLOW_COL_SECONDARY
63
- };
64
-
65
- /** This enumerative constant describes the various row types.*/
66
- enum CglFlowRowType {
67
- /** The row type of this row is NOT defined yet.*/
68
- CGLFLOW_ROW_UNDEFINED,
69
- /** After the row is flipped to 'L', the row has exactly two variables:
70
- one is negative binary and the other is continous, and the RHS
71
- is zero.*/
72
- CGLFLOW_ROW_VARUB,
73
- /** After the row is flipped to 'L', the row has exactlytwo variables:
74
- one is positive binary and the other is continous, and the RHS
75
- is zero.*/
76
- CGLFLOW_ROW_VARLB,
77
- /** The row sense is 'E', the row has exactly two variables:
78
- one is binary and the other is a continous, and the RHS is zero.*/
79
- CGLFLOW_ROW_VAREQ,
80
- /** Rows can not be classfied into other types and the row sense
81
- is NOT 'E'.*/
82
- CGLFLOW_ROW_MIXUB,
83
- /** Rows can not be classfied into other types and the row sense is 'E'.*/
84
- CGLFLOW_ROW_MIXEQ,
85
- /** All variables are NOT binary and the row sense is NOT 'E'. */
86
- CGLFLOW_ROW_NOBINUB,
87
- /** All variables are NOT binary and the row sense is 'E'. */
88
- CGLFLOW_ROW_NOBINEQ,
89
- /** The row has one binary and 2 or more other types of variables and
90
- the row sense is NOT 'E'. */
91
- CGLFLOW_ROW_SUMVARUB,
92
- /** The row has one binary and 2 or more other types of variables and
93
- the row sense is 'E'. */
94
- CGLFLOW_ROW_SUMVAREQ,
95
- /** All variables are binary. */
96
- CGLFLOW_ROW_UNINTERSTED
97
- };
98
-
99
- //=============================================================================
100
-
101
- /** Variable upper bound class. */
102
- class CglFlowVUB
103
- {
104
- protected:
105
- int varInd_; /** The index of the associated 0-1 variable.*/
106
- double upper_; /** The Value of the associated upper bound.*/
107
-
108
- public:
109
- CglFlowVUB() : varInd_(-1), upper_(-1) {}
110
-
111
- CglFlowVUB(const CglFlowVUB& source) {
112
- varInd_= source.varInd_;
113
- upper_ = source.upper_;
114
- }
115
-
116
- CglFlowVUB& operator=(const CglFlowVUB& rhs) {
117
- if (this == &rhs)
118
- return *this;
119
- varInd_= rhs.varInd_;
120
- upper_ = rhs.upper_;
121
- return *this;
122
- }
123
-
124
- /**@name Query and set functions for associated 0-1 variable index
125
- and value.
126
- */
127
- //@{
128
- inline int getVar() const { return varInd_; }
129
- inline double getVal() const { return upper_; }
130
- inline void setVar(const int v) { varInd_ = v; }
131
- inline void setVal(const double v) { upper_ = v; }
132
- //@}
133
- };
134
-
135
- //=============================================================================
136
-
137
- /** Variable lower bound class, which is the same as vub. */
138
- typedef CglFlowVUB CglFlowVLB;
139
-
140
- /** Overloaded operator<< for printing VUB and VLB.*/
141
- std::ostream& operator<<( std::ostream& os, const CglFlowVUB &v );
142
-
143
- //=============================================================================
144
-
145
- /**
146
- * Lifed Simple Generalized Flow Cover Cut Generator Class.
147
- */
148
- class CglFlowCover : public CglCutGenerator {
149
- friend void CglFlowCoverUnitTest(const OsiSolverInterface * siP,
150
- const std::string mpdDir );
151
-
152
- public:
153
-
154
- /**
155
- * Do the following tasks:
156
- * <ul>
157
- * <li> classify row types
158
- * <li> indentify vubs and vlbs
159
- * </ul>
160
- * This function is called by
161
- * <CODE>generateCuts(const OsiSolverInterface & si, OsiCuts & cs)</CODE>.
162
- */
163
- void flowPreprocess(const OsiSolverInterface& si);
164
-
165
- /**@name Generate Cuts */
166
- //@{
167
- /** Generate Lifed Simple Generalized flow cover cuts for the model data
168
- contained in si. The generated cuts are inserted into and returned
169
- in the collection of cuts cs.
170
- */
171
- virtual void generateCuts(const OsiSolverInterface & si, OsiCuts & cs,
172
- const CglTreeInfo info = CglTreeInfo());
173
- //@}
174
-
175
- /**@name Functions to query and set maximum number of cuts can be
176
- generated. */
177
- //@{
178
- inline int getMaxNumCuts() const { return maxNumCuts_; }
179
- inline void setMaxNumCuts(int mc) { maxNumCuts_ = mc; }
180
- //@}
181
-
182
- /**@name Functions to query and set the number of cuts have been
183
- generated. */
184
- //@{
185
- static int getNumFlowCuts() { return numFlowCuts_; }
186
- static void setNumFlowCuts(int fc) { numFlowCuts_ = fc; }
187
- static void incNumFlowCuts(int fc = 1) { numFlowCuts_ += fc; }
188
- //@}
189
-
190
- //-------------------------------------------------------------------------
191
- /**@name Constructors and destructors */
192
- //@{
193
- /// Default constructor
194
- CglFlowCover ();
195
-
196
- /// Copy constructor
197
- CglFlowCover (
198
- const CglFlowCover &);
199
-
200
- /// Clone
201
- virtual CglCutGenerator * clone() const;
202
-
203
- /// Assignment operator
204
- CglFlowCover &
205
- operator=(
206
- const CglFlowCover& rhs);
207
-
208
- /// Destructor
209
- virtual
210
- ~CglFlowCover ();
211
- /// Create C++ lines to get to current state
212
- virtual std::string generateCpp( FILE * fp);
213
- //@}
214
-
215
- private:
216
- //-------------------------------------------------------------------------
217
- // Private member functions
218
-
219
- /** Based a given row, a LP solution and other model data, this function
220
- tries to generate a violated lifted simple generalized flow cover.
221
- */
222
- bool generateOneFlowCut( const OsiSolverInterface & si,
223
- const int rowLen,
224
- int* ind,
225
- double* coef,
226
- char sense,
227
- double rhs,
228
- OsiRowCut& flowCut,
229
- double& violation );
230
-
231
-
232
- /** Transform a row from ">=" to "<=", and vice versa. */
233
- void flipRow(int rowLen, double* coef, double& rhs) const;
234
-
235
- /** Transform a row from ">=" to "<=", and vice versa. Have 'sense'. */
236
- void flipRow(int rowLen, double* coef, char& sen, double& rhs) const;
237
-
238
- /** Determine the type of a given row. */
239
- CglFlowRowType determineOneRowType(const OsiSolverInterface& si,
240
- int rowLen, int* ind,
241
- double* coef, char sen,
242
- double rhs) const;
243
- /** Lift functions */
244
- void liftMinus(double &movement, /* Output */
245
- int t,
246
- int r,
247
- double z,
248
- double dPrimePrime,
249
- double lambda,
250
- double ml,
251
- double *M,
252
- double *rho) const;
253
-
254
- bool liftPlus(double &alpha,
255
- double &beta,
256
- int r,
257
- double m_j,
258
- double lambda,
259
- double y_j,
260
- double x_j,
261
- double dPrimePrime,
262
- double *M) const;
263
-
264
-
265
- //-------------------------------------------------------------------------
266
- //**@name Query and set the row type of a givne row. */
267
- //@{
268
- inline const CglFlowRowType* getRowTypes() const
269
- { return rowTypes_; }
270
- inline CglFlowRowType getRowType(const int i) const
271
- { return rowTypes_[i]; }
272
- /** Set rowtypes, take over the ownership. */
273
- inline void setRowTypes(CglFlowRowType* rt)
274
- { rowTypes_ = rt; rt = 0; }
275
- inline void setRowTypes(const CglFlowRowType rt, const int i) {
276
- if (rowTypes_ != 0)
277
- rowTypes_[i] = rt;
278
- else {
279
- std::cout << "ERROR: Should allocate memory for rowType_ before "
280
- << "using it " << std::endl;
281
- throw CoinError("Forgot to allocate memory for rowType_",
282
- "setRowType", "CglFlowCover");
283
- }
284
- }
285
- //@}
286
-
287
- //-------------------------------------------------------------------------
288
- //**@name Query and set vubs. */
289
- //@{
290
- inline const CglFlowVUB* getVubs() const { return vubs_; }
291
- inline const CglFlowVUB& getVubs(int i) const { return vubs_[i]; }
292
- /** Set CglFlowVUBs,take over the ownership. */
293
- inline void setVubs(CglFlowVUB* vubs) { vubs_ = vubs; vubs = 0; }
294
- inline void setVubs(const CglFlowVUB& vub, int i) {
295
- if (vubs_ != 0)
296
- vubs_[i] = vub;
297
- else {
298
- std::cout << "ERROR: Should allocate memory for vubs_ before "
299
- << "using it " << std::endl;
300
- throw CoinError("Forgot to allocate memory for vubs_", "setVubs",
301
- "CglFlowCover");
302
- }
303
- }
304
- inline void printVubs(std::ostream& os) const {
305
- for (int i = 0; i < numCols_; ++i) {
306
- os << "ix: " << i << ", " << vubs_[i];
307
- }
308
- }
309
- //@}
310
-
311
- //-------------------------------------------------------------------------
312
- //**@name Query and set vlbs. */
313
- //@{
314
- inline const CglFlowVLB* getVlbs() const { return vlbs_; }
315
- inline const CglFlowVLB& getVlbs(int i) const { return vlbs_[i]; }
316
- /** Set CglFlowVLBs,take over the ownership. */
317
- inline void setVlbs(CglFlowVLB* vlbs) { vlbs_ = vlbs; vlbs = 0; }
318
- inline void setVlbs(const CglFlowVLB& vlb, int i) {
319
- if (vlbs_ != 0)
320
- vlbs_[i] = vlb;
321
- else {
322
- std::cout << "ERROR: Should allocate memory for vlbs_ before "
323
- << "using it " << std::endl;
324
- throw CoinError("Forgot to allocate memory for vlbs_", "setVlbs",
325
- "CglFlowCover");
326
- }
327
- }
328
- //@}
329
-
330
- private:
331
- //------------------------------------------------------------------------
332
- // Private member data
333
-
334
- /** The maximum number of flow cuts to be generated. Default is 1000. */
335
- int maxNumCuts_;
336
- /** Tolerance used for numerical purpose. */
337
- double EPSILON_;
338
- /** The variable upper bound of a flow is not indentified yet.*/
339
- int UNDEFINED_;
340
- /** Very large number. */
341
- double INFTY_;
342
- /** If violation of a cut is greater that this number, the cut is useful.*/
343
- double TOLERANCE_;
344
- /** First time preprocessing */
345
- bool firstProcess_;
346
- /** The number rows of the problem.*/
347
- int numRows_;
348
- /** The number columns of the problem.*/
349
- int numCols_;
350
- /** The number flow cuts found.*/
351
- static int numFlowCuts_;
352
- /** Indicate whether initial flow preprecessing has been done. */
353
- bool doneInitPre_;
354
- /** The array of CglFlowVUBs. */
355
- CglFlowVUB* vubs_;
356
- /** The array of CglFlowVLBs. */
357
- CglFlowVLB* vlbs_;
358
- /** CglFlowRowType of the rows in model. */
359
- CglFlowRowType* rowTypes_;
360
- };
361
-
362
- //#############################################################################
363
- /** A function that tests the methods in the CglFlowCover class. The
364
- only reason for it not to be a member method is that this way it doesn't
365
- have to be compiled into the library. And that's a gain, because the
366
- library should be compiled with optimization on, but this method should be
367
- compiled with debugging. */
368
- void CglFlowCoverUnitTest(const OsiSolverInterface * siP,
369
- const std::string mpdDir );
370
-
371
- #endif