ruby-cbc 0.1.9 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (290) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/Rakefile +0 -2
  4. data/lib/ruby-cbc.rb +1 -1
  5. data/lib/ruby-cbc/problem.rb +6 -8
  6. data/lib/ruby-cbc/version.rb +1 -1
  7. data/ruby-cbc.gemspec +3 -2
  8. metadata +17 -287
  9. data/ext/ruby-cbc/cbc.i +0 -15
  10. data/ext/ruby-cbc/cbc_wrap.c +0 -4618
  11. data/ext/ruby-cbc/extconf.rb +0 -60
  12. data/ext/ruby-cbc/install/bin/cbc +0 -0
  13. data/ext/ruby-cbc/install/bin/clp +0 -0
  14. data/ext/ruby-cbc/install/include/coin/CbcBranchActual.hpp +0 -24
  15. data/ext/ruby-cbc/install/include/coin/CbcBranchAllDifferent.hpp +0 -62
  16. data/ext/ruby-cbc/install/include/coin/CbcBranchBase.hpp +0 -78
  17. data/ext/ruby-cbc/install/include/coin/CbcBranchCut.hpp +0 -183
  18. data/ext/ruby-cbc/install/include/coin/CbcBranchDecision.hpp +0 -129
  19. data/ext/ruby-cbc/install/include/coin/CbcBranchDefaultDecision.hpp +0 -100
  20. data/ext/ruby-cbc/install/include/coin/CbcBranchDynamic.hpp +0 -206
  21. data/ext/ruby-cbc/install/include/coin/CbcBranchLotsize.hpp +0 -242
  22. data/ext/ruby-cbc/install/include/coin/CbcBranchToFixLots.hpp +0 -94
  23. data/ext/ruby-cbc/install/include/coin/CbcBranchingObject.hpp +0 -236
  24. data/ext/ruby-cbc/install/include/coin/CbcClique.hpp +0 -303
  25. data/ext/ruby-cbc/install/include/coin/CbcCompare.hpp +0 -39
  26. data/ext/ruby-cbc/install/include/coin/CbcCompareActual.hpp +0 -14
  27. data/ext/ruby-cbc/install/include/coin/CbcCompareBase.hpp +0 -142
  28. data/ext/ruby-cbc/install/include/coin/CbcCompareDefault.hpp +0 -120
  29. data/ext/ruby-cbc/install/include/coin/CbcCompareDepth.hpp +0 -47
  30. data/ext/ruby-cbc/install/include/coin/CbcCompareEstimate.hpp +0 -48
  31. data/ext/ruby-cbc/install/include/coin/CbcCompareObjective.hpp +0 -49
  32. data/ext/ruby-cbc/install/include/coin/CbcConfig.h +0 -14
  33. data/ext/ruby-cbc/install/include/coin/CbcConsequence.hpp +0 -49
  34. data/ext/ruby-cbc/install/include/coin/CbcCountRowCut.hpp +0 -168
  35. data/ext/ruby-cbc/install/include/coin/CbcCutGenerator.hpp +0 -482
  36. data/ext/ruby-cbc/install/include/coin/CbcCutModifier.hpp +0 -57
  37. data/ext/ruby-cbc/install/include/coin/CbcCutSubsetModifier.hpp +0 -66
  38. data/ext/ruby-cbc/install/include/coin/CbcDummyBranchingObject.hpp +0 -83
  39. data/ext/ruby-cbc/install/include/coin/CbcEventHandler.hpp +0 -245
  40. data/ext/ruby-cbc/install/include/coin/CbcFathom.hpp +0 -137
  41. data/ext/ruby-cbc/install/include/coin/CbcFathomDynamicProgramming.hpp +0 -169
  42. data/ext/ruby-cbc/install/include/coin/CbcFeasibilityBase.hpp +0 -56
  43. data/ext/ruby-cbc/install/include/coin/CbcFixVariable.hpp +0 -67
  44. data/ext/ruby-cbc/install/include/coin/CbcFollowOn.hpp +0 -207
  45. data/ext/ruby-cbc/install/include/coin/CbcFullNodeInfo.hpp +0 -161
  46. data/ext/ruby-cbc/install/include/coin/CbcGeneral.hpp +0 -60
  47. data/ext/ruby-cbc/install/include/coin/CbcGeneralDepth.hpp +0 -279
  48. data/ext/ruby-cbc/install/include/coin/CbcHeuristic.hpp +0 -682
  49. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDINS.hpp +0 -96
  50. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDW.hpp +0 -309
  51. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDive.hpp +0 -192
  52. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveCoefficient.hpp +0 -52
  53. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveFractional.hpp +0 -52
  54. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveGuided.hpp +0 -55
  55. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveLineSearch.hpp +0 -52
  56. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDivePseudoCost.hpp +0 -60
  57. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveVectorLength.hpp +0 -52
  58. data/ext/ruby-cbc/install/include/coin/CbcHeuristicFPump.hpp +0 -340
  59. data/ext/ruby-cbc/install/include/coin/CbcHeuristicGreedy.hpp +0 -280
  60. data/ext/ruby-cbc/install/include/coin/CbcHeuristicLocal.hpp +0 -271
  61. data/ext/ruby-cbc/install/include/coin/CbcHeuristicPivotAndFix.hpp +0 -58
  62. data/ext/ruby-cbc/install/include/coin/CbcHeuristicRENS.hpp +0 -77
  63. data/ext/ruby-cbc/install/include/coin/CbcHeuristicRINS.hpp +0 -102
  64. data/ext/ruby-cbc/install/include/coin/CbcHeuristicRandRound.hpp +0 -58
  65. data/ext/ruby-cbc/install/include/coin/CbcHeuristicVND.hpp +0 -94
  66. data/ext/ruby-cbc/install/include/coin/CbcLinked.hpp +0 -1406
  67. data/ext/ruby-cbc/install/include/coin/CbcMessage.hpp +0 -94
  68. data/ext/ruby-cbc/install/include/coin/CbcMipStartIO.hpp +0 -26
  69. data/ext/ruby-cbc/install/include/coin/CbcModel.hpp +0 -2952
  70. data/ext/ruby-cbc/install/include/coin/CbcNWay.hpp +0 -166
  71. data/ext/ruby-cbc/install/include/coin/CbcNode.hpp +0 -351
  72. data/ext/ruby-cbc/install/include/coin/CbcNodeInfo.hpp +0 -349
  73. data/ext/ruby-cbc/install/include/coin/CbcObject.hpp +0 -272
  74. data/ext/ruby-cbc/install/include/coin/CbcObjectUpdateData.hpp +0 -64
  75. data/ext/ruby-cbc/install/include/coin/CbcOrClpParam.cpp +0 -4134
  76. data/ext/ruby-cbc/install/include/coin/CbcOrClpParam.hpp +0 -532
  77. data/ext/ruby-cbc/install/include/coin/CbcParam.hpp +0 -324
  78. data/ext/ruby-cbc/install/include/coin/CbcPartialNodeInfo.hpp +0 -110
  79. data/ext/ruby-cbc/install/include/coin/CbcSOS.hpp +0 -279
  80. data/ext/ruby-cbc/install/include/coin/CbcSimpleInteger.hpp +0 -286
  81. data/ext/ruby-cbc/install/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +0 -564
  82. data/ext/ruby-cbc/install/include/coin/CbcSimpleIntegerPseudoCost.hpp +0 -114
  83. data/ext/ruby-cbc/install/include/coin/CbcSolver.hpp +0 -447
  84. data/ext/ruby-cbc/install/include/coin/CbcStrategy.hpp +0 -258
  85. data/ext/ruby-cbc/install/include/coin/CbcSubProblem.hpp +0 -83
  86. data/ext/ruby-cbc/install/include/coin/CbcTree.hpp +0 -490
  87. data/ext/ruby-cbc/install/include/coin/CbcTreeLocal.hpp +0 -372
  88. data/ext/ruby-cbc/install/include/coin/Cbc_C_Interface.h +0 -381
  89. data/ext/ruby-cbc/install/include/coin/Cgl012cut.hpp +0 -464
  90. data/ext/ruby-cbc/install/include/coin/CglAllDifferent.hpp +0 -115
  91. data/ext/ruby-cbc/install/include/coin/CglClique.hpp +0 -308
  92. data/ext/ruby-cbc/install/include/coin/CglConfig.h +0 -19
  93. data/ext/ruby-cbc/install/include/coin/CglCutGenerator.hpp +0 -121
  94. data/ext/ruby-cbc/install/include/coin/CglDuplicateRow.hpp +0 -189
  95. data/ext/ruby-cbc/install/include/coin/CglFlowCover.hpp +0 -371
  96. data/ext/ruby-cbc/install/include/coin/CglGMI.hpp +0 -364
  97. data/ext/ruby-cbc/install/include/coin/CglGMIParam.hpp +0 -313
  98. data/ext/ruby-cbc/install/include/coin/CglGomory.hpp +0 -204
  99. data/ext/ruby-cbc/install/include/coin/CglKnapsackCover.hpp +0 -310
  100. data/ext/ruby-cbc/install/include/coin/CglLandP.hpp +0 -306
  101. data/ext/ruby-cbc/install/include/coin/CglLandPValidator.hpp +0 -130
  102. data/ext/ruby-cbc/install/include/coin/CglLiftAndProject.hpp +0 -104
  103. data/ext/ruby-cbc/install/include/coin/CglMessage.hpp +0 -50
  104. data/ext/ruby-cbc/install/include/coin/CglMixedIntegerRounding.hpp +0 -429
  105. data/ext/ruby-cbc/install/include/coin/CglMixedIntegerRounding2.hpp +0 -427
  106. data/ext/ruby-cbc/install/include/coin/CglOddHole.hpp +0 -160
  107. data/ext/ruby-cbc/install/include/coin/CglParam.hpp +0 -93
  108. data/ext/ruby-cbc/install/include/coin/CglPreProcess.hpp +0 -492
  109. data/ext/ruby-cbc/install/include/coin/CglProbing.hpp +0 -543
  110. data/ext/ruby-cbc/install/include/coin/CglRedSplit.hpp +0 -448
  111. data/ext/ruby-cbc/install/include/coin/CglRedSplit2.hpp +0 -494
  112. data/ext/ruby-cbc/install/include/coin/CglRedSplit2Param.hpp +0 -495
  113. data/ext/ruby-cbc/install/include/coin/CglRedSplitParam.hpp +0 -272
  114. data/ext/ruby-cbc/install/include/coin/CglResidualCapacity.hpp +0 -240
  115. data/ext/ruby-cbc/install/include/coin/CglSimpleRounding.hpp +0 -174
  116. data/ext/ruby-cbc/install/include/coin/CglStored.hpp +0 -125
  117. data/ext/ruby-cbc/install/include/coin/CglTreeInfo.hpp +0 -180
  118. data/ext/ruby-cbc/install/include/coin/CglTwomir.hpp +0 -565
  119. data/ext/ruby-cbc/install/include/coin/CglZeroHalf.hpp +0 -133
  120. data/ext/ruby-cbc/install/include/coin/ClpAmplObjective.hpp +0 -113
  121. data/ext/ruby-cbc/install/include/coin/ClpCholeskyBase.hpp +0 -294
  122. data/ext/ruby-cbc/install/include/coin/ClpCholeskyDense.hpp +0 -162
  123. data/ext/ruby-cbc/install/include/coin/ClpConfig.h +0 -17
  124. data/ext/ruby-cbc/install/include/coin/ClpConstraint.hpp +0 -125
  125. data/ext/ruby-cbc/install/include/coin/ClpConstraintAmpl.hpp +0 -108
  126. data/ext/ruby-cbc/install/include/coin/ClpConstraintLinear.hpp +0 -110
  127. data/ext/ruby-cbc/install/include/coin/ClpConstraintQuadratic.hpp +0 -119
  128. data/ext/ruby-cbc/install/include/coin/ClpDualRowDantzig.hpp +0 -71
  129. data/ext/ruby-cbc/install/include/coin/ClpDualRowPivot.hpp +0 -129
  130. data/ext/ruby-cbc/install/include/coin/ClpDualRowSteepest.hpp +0 -153
  131. data/ext/ruby-cbc/install/include/coin/ClpDummyMatrix.hpp +0 -183
  132. data/ext/ruby-cbc/install/include/coin/ClpDynamicExampleMatrix.hpp +0 -186
  133. data/ext/ruby-cbc/install/include/coin/ClpDynamicMatrix.hpp +0 -381
  134. data/ext/ruby-cbc/install/include/coin/ClpEventHandler.hpp +0 -187
  135. data/ext/ruby-cbc/install/include/coin/ClpFactorization.hpp +0 -432
  136. data/ext/ruby-cbc/install/include/coin/ClpGubDynamicMatrix.hpp +0 -247
  137. data/ext/ruby-cbc/install/include/coin/ClpGubMatrix.hpp +0 -358
  138. data/ext/ruby-cbc/install/include/coin/ClpInterior.hpp +0 -570
  139. data/ext/ruby-cbc/install/include/coin/ClpLinearObjective.hpp +0 -103
  140. data/ext/ruby-cbc/install/include/coin/ClpMatrixBase.hpp +0 -524
  141. data/ext/ruby-cbc/install/include/coin/ClpMessage.hpp +0 -131
  142. data/ext/ruby-cbc/install/include/coin/ClpModel.hpp +0 -1307
  143. data/ext/ruby-cbc/install/include/coin/ClpNetworkMatrix.hpp +0 -229
  144. data/ext/ruby-cbc/install/include/coin/ClpNode.hpp +0 -349
  145. data/ext/ruby-cbc/install/include/coin/ClpNonLinearCost.hpp +0 -401
  146. data/ext/ruby-cbc/install/include/coin/ClpObjective.hpp +0 -134
  147. data/ext/ruby-cbc/install/include/coin/ClpPackedMatrix.hpp +0 -638
  148. data/ext/ruby-cbc/install/include/coin/ClpParameters.hpp +0 -126
  149. data/ext/ruby-cbc/install/include/coin/ClpPdcoBase.hpp +0 -103
  150. data/ext/ruby-cbc/install/include/coin/ClpPlusMinusOneMatrix.hpp +0 -290
  151. data/ext/ruby-cbc/install/include/coin/ClpPresolve.hpp +0 -299
  152. data/ext/ruby-cbc/install/include/coin/ClpPrimalColumnDantzig.hpp +0 -72
  153. data/ext/ruby-cbc/install/include/coin/ClpPrimalColumnPivot.hpp +0 -155
  154. data/ext/ruby-cbc/install/include/coin/ClpPrimalColumnSteepest.hpp +0 -247
  155. data/ext/ruby-cbc/install/include/coin/ClpQuadraticObjective.hpp +0 -155
  156. data/ext/ruby-cbc/install/include/coin/ClpSimplex.hpp +0 -1797
  157. data/ext/ruby-cbc/install/include/coin/ClpSimplexDual.hpp +0 -300
  158. data/ext/ruby-cbc/install/include/coin/ClpSimplexNonlinear.hpp +0 -117
  159. data/ext/ruby-cbc/install/include/coin/ClpSimplexOther.hpp +0 -277
  160. data/ext/ruby-cbc/install/include/coin/ClpSimplexPrimal.hpp +0 -244
  161. data/ext/ruby-cbc/install/include/coin/ClpSolve.hpp +0 -446
  162. data/ext/ruby-cbc/install/include/coin/Clp_C_Interface.h +0 -525
  163. data/ext/ruby-cbc/install/include/coin/CoinAlloc.hpp +0 -176
  164. data/ext/ruby-cbc/install/include/coin/CoinBuild.hpp +0 -149
  165. data/ext/ruby-cbc/install/include/coin/CoinDenseFactorization.hpp +0 -419
  166. data/ext/ruby-cbc/install/include/coin/CoinDenseVector.hpp +0 -383
  167. data/ext/ruby-cbc/install/include/coin/CoinDistance.hpp +0 -48
  168. data/ext/ruby-cbc/install/include/coin/CoinError.hpp +0 -257
  169. data/ext/ruby-cbc/install/include/coin/CoinFactorization.hpp +0 -2044
  170. data/ext/ruby-cbc/install/include/coin/CoinFileIO.hpp +0 -166
  171. data/ext/ruby-cbc/install/include/coin/CoinFinite.hpp +0 -34
  172. data/ext/ruby-cbc/install/include/coin/CoinFloatEqual.hpp +0 -177
  173. data/ext/ruby-cbc/install/include/coin/CoinHelperFunctions.hpp +0 -1111
  174. data/ext/ruby-cbc/install/include/coin/CoinIndexedVector.hpp +0 -1164
  175. data/ext/ruby-cbc/install/include/coin/CoinLpIO.hpp +0 -805
  176. data/ext/ruby-cbc/install/include/coin/CoinMessage.hpp +0 -96
  177. data/ext/ruby-cbc/install/include/coin/CoinMessageHandler.hpp +0 -666
  178. data/ext/ruby-cbc/install/include/coin/CoinModel.hpp +0 -1054
  179. data/ext/ruby-cbc/install/include/coin/CoinModelUseful.hpp +0 -441
  180. data/ext/ruby-cbc/install/include/coin/CoinMpsIO.hpp +0 -1056
  181. data/ext/ruby-cbc/install/include/coin/CoinOslFactorization.hpp +0 -280
  182. data/ext/ruby-cbc/install/include/coin/CoinPackedMatrix.hpp +0 -947
  183. data/ext/ruby-cbc/install/include/coin/CoinPackedVector.hpp +0 -657
  184. data/ext/ruby-cbc/install/include/coin/CoinPackedVectorBase.hpp +0 -269
  185. data/ext/ruby-cbc/install/include/coin/CoinParam.hpp +0 -644
  186. data/ext/ruby-cbc/install/include/coin/CoinPragma.hpp +0 -26
  187. data/ext/ruby-cbc/install/include/coin/CoinPresolveDoubleton.hpp +0 -73
  188. data/ext/ruby-cbc/install/include/coin/CoinPresolveDual.hpp +0 -85
  189. data/ext/ruby-cbc/install/include/coin/CoinPresolveDupcol.hpp +0 -226
  190. data/ext/ruby-cbc/install/include/coin/CoinPresolveEmpty.hpp +0 -116
  191. data/ext/ruby-cbc/install/include/coin/CoinPresolveFixed.hpp +0 -181
  192. data/ext/ruby-cbc/install/include/coin/CoinPresolveForcing.hpp +0 -61
  193. data/ext/ruby-cbc/install/include/coin/CoinPresolveImpliedFree.hpp +0 -60
  194. data/ext/ruby-cbc/install/include/coin/CoinPresolveIsolated.hpp +0 -51
  195. data/ext/ruby-cbc/install/include/coin/CoinPresolveMatrix.hpp +0 -1842
  196. data/ext/ruby-cbc/install/include/coin/CoinPresolveMonitor.hpp +0 -105
  197. data/ext/ruby-cbc/install/include/coin/CoinPresolvePsdebug.hpp +0 -166
  198. data/ext/ruby-cbc/install/include/coin/CoinPresolveSingleton.hpp +0 -112
  199. data/ext/ruby-cbc/install/include/coin/CoinPresolveSubst.hpp +0 -101
  200. data/ext/ruby-cbc/install/include/coin/CoinPresolveTighten.hpp +0 -55
  201. data/ext/ruby-cbc/install/include/coin/CoinPresolveTripleton.hpp +0 -66
  202. data/ext/ruby-cbc/install/include/coin/CoinPresolveUseless.hpp +0 -63
  203. data/ext/ruby-cbc/install/include/coin/CoinPresolveZeros.hpp +0 -60
  204. data/ext/ruby-cbc/install/include/coin/CoinRational.hpp +0 -44
  205. data/ext/ruby-cbc/install/include/coin/CoinSearchTree.hpp +0 -465
  206. data/ext/ruby-cbc/install/include/coin/CoinShallowPackedVector.hpp +0 -148
  207. data/ext/ruby-cbc/install/include/coin/CoinSignal.hpp +0 -117
  208. data/ext/ruby-cbc/install/include/coin/CoinSimpFactorization.hpp +0 -431
  209. data/ext/ruby-cbc/install/include/coin/CoinSmartPtr.hpp +0 -528
  210. data/ext/ruby-cbc/install/include/coin/CoinSnapshot.hpp +0 -476
  211. data/ext/ruby-cbc/install/include/coin/CoinSort.hpp +0 -678
  212. data/ext/ruby-cbc/install/include/coin/CoinStructuredModel.hpp +0 -247
  213. data/ext/ruby-cbc/install/include/coin/CoinTime.hpp +0 -310
  214. data/ext/ruby-cbc/install/include/coin/CoinTypes.hpp +0 -64
  215. data/ext/ruby-cbc/install/include/coin/CoinUtility.hpp +0 -19
  216. data/ext/ruby-cbc/install/include/coin/CoinUtilsConfig.h +0 -34
  217. data/ext/ruby-cbc/install/include/coin/CoinWarmStart.hpp +0 -58
  218. data/ext/ruby-cbc/install/include/coin/CoinWarmStartBasis.hpp +0 -456
  219. data/ext/ruby-cbc/install/include/coin/CoinWarmStartDual.hpp +0 -166
  220. data/ext/ruby-cbc/install/include/coin/CoinWarmStartPrimalDual.hpp +0 -211
  221. data/ext/ruby-cbc/install/include/coin/CoinWarmStartVector.hpp +0 -488
  222. data/ext/ruby-cbc/install/include/coin/Coin_C_defines.h +0 -115
  223. data/ext/ruby-cbc/install/include/coin/Idiot.hpp +0 -298
  224. data/ext/ruby-cbc/install/include/coin/OsiAuxInfo.hpp +0 -206
  225. data/ext/ruby-cbc/install/include/coin/OsiBranchingObject.hpp +0 -1005
  226. data/ext/ruby-cbc/install/include/coin/OsiCbcSolverInterface.hpp +0 -764
  227. data/ext/ruby-cbc/install/include/coin/OsiChooseVariable.hpp +0 -534
  228. data/ext/ruby-cbc/install/include/coin/OsiClpSolverInterface.hpp +0 -1509
  229. data/ext/ruby-cbc/install/include/coin/OsiColCut.hpp +0 -324
  230. data/ext/ruby-cbc/install/include/coin/OsiCollections.hpp +0 -35
  231. data/ext/ruby-cbc/install/include/coin/OsiConfig.h +0 -19
  232. data/ext/ruby-cbc/install/include/coin/OsiCut.hpp +0 -245
  233. data/ext/ruby-cbc/install/include/coin/OsiCuts.hpp +0 -474
  234. data/ext/ruby-cbc/install/include/coin/OsiPresolve.hpp +0 -252
  235. data/ext/ruby-cbc/install/include/coin/OsiRowCut.hpp +0 -331
  236. data/ext/ruby-cbc/install/include/coin/OsiRowCutDebugger.hpp +0 -187
  237. data/ext/ruby-cbc/install/include/coin/OsiSolverBranch.hpp +0 -152
  238. data/ext/ruby-cbc/install/include/coin/OsiSolverInterface.hpp +0 -2143
  239. data/ext/ruby-cbc/install/include/coin/OsiSolverParameters.hpp +0 -142
  240. data/ext/ruby-cbc/install/include/coin/OsiUnitTests.hpp +0 -374
  241. data/ext/ruby-cbc/install/lib/libCbc.la +0 -35
  242. data/ext/ruby-cbc/install/lib/libCbc.so +0 -0
  243. data/ext/ruby-cbc/install/lib/libCbc.so.3 +0 -0
  244. data/ext/ruby-cbc/install/lib/libCbc.so.3.9.7 +0 -0
  245. data/ext/ruby-cbc/install/lib/libCbcSolver.la +0 -35
  246. data/ext/ruby-cbc/install/lib/libCbcSolver.so +0 -0
  247. data/ext/ruby-cbc/install/lib/libCbcSolver.so.3 +0 -0
  248. data/ext/ruby-cbc/install/lib/libCbcSolver.so.3.9.7 +0 -0
  249. data/ext/ruby-cbc/install/lib/libCgl.la +0 -35
  250. data/ext/ruby-cbc/install/lib/libCgl.so +0 -0
  251. data/ext/ruby-cbc/install/lib/libCgl.so.1 +0 -0
  252. data/ext/ruby-cbc/install/lib/libCgl.so.1.9.7 +0 -0
  253. data/ext/ruby-cbc/install/lib/libClp.la +0 -35
  254. data/ext/ruby-cbc/install/lib/libClp.so +0 -0
  255. data/ext/ruby-cbc/install/lib/libClp.so.1 +0 -0
  256. data/ext/ruby-cbc/install/lib/libClp.so.1.13.9 +0 -0
  257. data/ext/ruby-cbc/install/lib/libClpSolver.la +0 -35
  258. data/ext/ruby-cbc/install/lib/libClpSolver.so +0 -0
  259. data/ext/ruby-cbc/install/lib/libClpSolver.so.1 +0 -0
  260. data/ext/ruby-cbc/install/lib/libClpSolver.so.1.13.9 +0 -0
  261. data/ext/ruby-cbc/install/lib/libCoinUtils.la +0 -35
  262. data/ext/ruby-cbc/install/lib/libCoinUtils.so +0 -0
  263. data/ext/ruby-cbc/install/lib/libCoinUtils.so.3 +0 -0
  264. data/ext/ruby-cbc/install/lib/libCoinUtils.so.3.10.11 +0 -0
  265. data/ext/ruby-cbc/install/lib/libOsi.la +0 -35
  266. data/ext/ruby-cbc/install/lib/libOsi.so +0 -0
  267. data/ext/ruby-cbc/install/lib/libOsi.so.1 +0 -0
  268. data/ext/ruby-cbc/install/lib/libOsi.so.1.12.6 +0 -0
  269. data/ext/ruby-cbc/install/lib/libOsiCbc.la +0 -35
  270. data/ext/ruby-cbc/install/lib/libOsiCbc.so +0 -0
  271. data/ext/ruby-cbc/install/lib/libOsiCbc.so.3 +0 -0
  272. data/ext/ruby-cbc/install/lib/libOsiCbc.so.3.9.7 +0 -0
  273. data/ext/ruby-cbc/install/lib/libOsiClp.la +0 -35
  274. data/ext/ruby-cbc/install/lib/libOsiClp.so +0 -0
  275. data/ext/ruby-cbc/install/lib/libOsiClp.so.1 +0 -0
  276. data/ext/ruby-cbc/install/lib/libOsiClp.so.1.13.9 +0 -0
  277. data/ext/ruby-cbc/install/lib/libOsiCommonTests.la +0 -35
  278. data/ext/ruby-cbc/install/lib/libOsiCommonTests.so +0 -0
  279. data/ext/ruby-cbc/install/lib/libOsiCommonTests.so.1 +0 -0
  280. data/ext/ruby-cbc/install/lib/libOsiCommonTests.so.1.12.6 +0 -0
  281. data/ext/ruby-cbc/install/lib/pkgconfig/cbc.pc +0 -12
  282. data/ext/ruby-cbc/install/lib/pkgconfig/cgl.pc +0 -12
  283. data/ext/ruby-cbc/install/lib/pkgconfig/clp.pc +0 -12
  284. data/ext/ruby-cbc/install/lib/pkgconfig/coindatamiplib3.pc +0 -9
  285. data/ext/ruby-cbc/install/lib/pkgconfig/coindatasample.pc +0 -9
  286. data/ext/ruby-cbc/install/lib/pkgconfig/coinutils.pc +0 -12
  287. data/ext/ruby-cbc/install/lib/pkgconfig/osi-cbc.pc +0 -12
  288. data/ext/ruby-cbc/install/lib/pkgconfig/osi-clp.pc +0 -12
  289. data/ext/ruby-cbc/install/lib/pkgconfig/osi-unittests.pc +0 -12
  290. data/ext/ruby-cbc/install/lib/pkgconfig/osi.pc +0 -12
@@ -1,115 +0,0 @@
1
- /* $Id: Coin_C_defines.h 1690 2014-03-13 17:45:21Z mlubin $ */
2
- /*
3
- Copyright (C) 2002, 2003 International Business Machines Corporation
4
- and others. All Rights Reserved.
5
-
6
- This code is licensed under the terms of the Eclipse Public License (EPL).
7
- */
8
- #ifndef CoinCDefine_H
9
- #define CoinCDefine_H
10
-
11
- /** This has #defines etc for the "C" interface to Coin.
12
- If COIN_EXTERN_C defined then an extra extern C
13
- */
14
-
15
- #if defined (CLP_EXTERN_C)
16
- #define COIN_EXTERN_C
17
- #define COIN_NO_SBB
18
- #define COIN_NO_CBC
19
- #endif
20
- #if defined (SBB_EXTERN_C)
21
- #define COIN_EXTERN_C
22
- #define COIN_NO_CLP
23
- #endif
24
- #if defined (CBC_EXTERN_C)
25
- #define COIN_EXTERN_C
26
- #define COIN_NO_CLP
27
- #endif
28
- /* We need to allow for Microsoft */
29
- #ifndef COINLIBAPI
30
-
31
- #if defined(CBCCINTERFACEDLL_EXPORTS) || defined(CLPMSDLL)
32
- #if defined (COIN_EXTERN_C)
33
- # define COINLIBAPI __declspec(dllexport)
34
- #else
35
- # define COINLIBAPI __declspec(dllexport)
36
- #endif
37
- # define COINLINKAGE __stdcall
38
- # define COINLINKAGE_CB __cdecl
39
- #else
40
- #if defined (COIN_EXTERN_C)
41
- # define COINLIBAPI extern "C"
42
- #else
43
- # define COINLIBAPI
44
- #endif
45
- # define COINLINKAGE
46
- # define COINLINKAGE_CB
47
- #endif
48
-
49
- #endif
50
- /** User does not need to see structure of model but C++ code does */
51
- #if defined (CLP_EXTERN_C)
52
- /* Real typedef for structure */
53
- class CMessageHandler;
54
- typedef struct {
55
- ClpSimplex * model_;
56
- CMessageHandler * handler_;
57
- } Clp_Simplex;
58
- #else
59
- typedef void Clp_Simplex;
60
- #endif
61
-
62
- #ifndef COIN_NO_CLP
63
- /** typedef for user call back.
64
- The cvec are constructed so don't need to be const*/
65
- typedef void (COINLINKAGE_CB *clp_callback) (Clp_Simplex * model,int msgno, int ndouble,
66
- const double * dvec, int nint, const int * ivec,
67
- int nchar, char ** cvec);
68
- #endif
69
- /** User does not need to see structure of model but C++ code does */
70
- #if defined (SBB_EXTERN_C)
71
- /* Real typedef for structure */
72
- class Sbb_MessageHandler;
73
- typedef struct {
74
- OsiClpSolverInterface * solver_;
75
- SbbModel * model_;
76
- Sbb_MessageHandler * handler_;
77
- char * information_;
78
- } Sbb_Model;
79
- #else
80
- typedef void Sbb_Model;
81
- #endif
82
- #if defined (CBC_EXTERN_C)
83
- /* Real typedef for structure */
84
- class Cbc_MessageHandler;
85
- typedef struct {
86
- OsiClpSolverInterface * solver_;
87
- CbcModel * model_;
88
- Cbc_MessageHandler * handler_;
89
- std::vector<std::string> cmdargs_;
90
- } Cbc_Model;
91
- #else
92
- typedef void Cbc_Model;
93
- #endif
94
- #ifndef COIN_NO_SBB
95
- /** typedef for user call back.
96
- The cvec are constructed so don't need to be const*/
97
- typedef void (COINLINKAGE_CB *sbb_callback) (Sbb_Model * model,int msgno, int ndouble,
98
- const double * dvec, int nint, const int * ivec,
99
- int nchar, char ** cvec);
100
- typedef void (COINLINKAGE_CB *cbc_callback) (Cbc_Model * model,int msgno, int ndouble,
101
- const double * dvec, int nint, const int * ivec,
102
- int nchar, char ** cvec);
103
- #endif
104
- #if COIN_BIG_INDEX==0
105
- typedef int CoinBigIndex;
106
- #elif COIN_BIG_INDEX==1
107
- typedef long CoinBigIndex;
108
- #else
109
- typedef long long CoinBigIndex;
110
- #endif
111
- /* just in case used somewhere */
112
- #undef COIN_NO_CLP
113
- #undef COIN_NO_SBB
114
- #undef COIN_NO_CBC
115
- #endif
@@ -1,298 +0,0 @@
1
- /* $Id: Idiot.hpp 2143 2015-05-20 15:49:17Z 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
- // "Idiot" as the name of this algorithm is copylefted. If you want to change
7
- // the name then it should be something equally stupid (but not "Stupid") or
8
- // even better something witty.
9
-
10
- #ifndef Idiot_H
11
- #define Idiot_H
12
- #ifndef OSI_IDIOT
13
- #include "ClpSimplex.hpp"
14
- #define OsiSolverInterface ClpSimplex
15
- #else
16
- #include "OsiSolverInterface.hpp"
17
- typedef int CoinBigIndex;
18
- #endif
19
- class CoinMessageHandler;
20
- class CoinMessages;
21
- /// for use internally
22
- typedef struct {
23
- double infeas;
24
- double objval;
25
- double dropThis;
26
- double weighted;
27
- double sumSquared;
28
- double djAtBeginning;
29
- double djAtEnd;
30
- int iteration;
31
- } IdiotResult;
32
- /** This class implements a very silly algorithm. It has no merit
33
- apart from the fact that it gets an approximate solution to
34
- some classes of problems. Better if vaguely homogeneous.
35
- It works on problems where volume algorithm works and often
36
- gets a better primal solution but it has no dual solution.
37
-
38
- It can also be used as a "crash" to get a problem started. This
39
- is probably its most useful function.
40
-
41
- It is based on the idea that algorithms with terrible convergence
42
- properties may be okay at first. Throw in some random dubious tricks
43
- and the resulting code may be worth keeping as long as you don't
44
- look at it.
45
-
46
- */
47
-
48
- class Idiot {
49
-
50
- public:
51
-
52
- /**@name Constructors and destructor
53
- Just a pointer to model is kept
54
- */
55
- //@{
56
- /// Default constructor
57
- Idiot ( );
58
- /// Constructor with model
59
- Idiot ( OsiSolverInterface & model );
60
-
61
- /// Copy constructor.
62
- Idiot(const Idiot &);
63
- /// Assignment operator. This copies the data
64
- Idiot & operator=(const Idiot & rhs);
65
- /// Destructor
66
- ~Idiot ( );
67
- //@}
68
-
69
-
70
- /**@name Algorithmic calls
71
- */
72
- //@{
73
- /// Get an approximate solution with the idiot code
74
- void solve();
75
- /// Lightweight "crash"
76
- void crash(int numberPass, CoinMessageHandler * handler,
77
- const CoinMessages * messages, bool doCrossover = true);
78
- /** Use simplex to get an optimal solution
79
- mode is how many steps the simplex crossover should take to
80
- arrive to an extreme point:
81
- 0 - chosen,all ever used, all
82
- 1 - chosen, all
83
- 2 - all
84
- 3 - do not do anything - maybe basis
85
- + 16 do presolves
86
- */
87
- void crossOver(int mode);
88
- //@}
89
-
90
-
91
- /**@name Gets and sets of most useful data
92
- */
93
- //@{
94
- /** Starting weight - small emphasizes feasibility,
95
- default 1.0e-4 */
96
- inline double getStartingWeight() const {
97
- return mu_;
98
- }
99
- inline void setStartingWeight(double value) {
100
- mu_ = value;
101
- }
102
- /** Weight factor - weight multiplied by this when changes,
103
- default 0.333 */
104
- inline double getWeightFactor() const {
105
- return muFactor_;
106
- }
107
- inline void setWeightFactor(double value) {
108
- muFactor_ = value;
109
- }
110
- /** Feasibility tolerance - problem essentially feasible if
111
- individual infeasibilities less than this.
112
- default 0.1 */
113
- inline double getFeasibilityTolerance() const {
114
- return smallInfeas_;
115
- }
116
- inline void setFeasibilityTolerance(double value) {
117
- smallInfeas_ = value;
118
- }
119
- /** Reasonably feasible. Dubious method concentrates more on
120
- objective when sum of infeasibilities less than this.
121
- Very dubious default value of (Number of rows)/20 */
122
- inline double getReasonablyFeasible() const {
123
- return reasonableInfeas_;
124
- }
125
- inline void setReasonablyFeasible(double value) {
126
- reasonableInfeas_ = value;
127
- }
128
- /** Exit infeasibility - exit if sum of infeasibilities less than this.
129
- Default -1.0 (i.e. switched off) */
130
- inline double getExitInfeasibility() const {
131
- return exitFeasibility_;
132
- }
133
- inline void setExitInfeasibility(double value) {
134
- exitFeasibility_ = value;
135
- }
136
- /** Major iterations. stop after this number.
137
- Default 30. Use 2-5 for "crash" 50-100 for serious crunching */
138
- inline int getMajorIterations() const {
139
- return majorIterations_;
140
- }
141
- inline void setMajorIterations(int value) {
142
- majorIterations_ = value;
143
- }
144
- /** Minor iterations. Do this number of tiny steps before
145
- deciding whether to change weights etc.
146
- Default - dubious sqrt(Number of Rows).
147
- Good numbers 105 to 405 say (5 is dubious method of making sure
148
- idiot is not trying to be clever which it may do every 10 minor
149
- iterations) */
150
- inline int getMinorIterations() const {
151
- return maxIts2_;
152
- }
153
- inline void setMinorIterations(int value) {
154
- maxIts2_ = value;
155
- }
156
- // minor iterations for first time
157
- inline int getMinorIterations0() const {
158
- return maxIts_;
159
- }
160
- inline void setMinorIterations0(int value) {
161
- maxIts_ = value;
162
- }
163
- /** Reduce weight after this many major iterations. It may
164
- get reduced before this but this is a maximum.
165
- Default 3. 3-10 plausible. */
166
- inline int getReduceIterations() const {
167
- return maxBigIts_;
168
- }
169
- inline void setReduceIterations(int value) {
170
- maxBigIts_ = value;
171
- }
172
- /// Amount of information - default of 1 should be okay
173
- inline int getLogLevel() const {
174
- return logLevel_;
175
- }
176
- inline void setLogLevel(int value) {
177
- logLevel_ = value;
178
- }
179
- /// How lightweight - 0 not, 1 yes, 2 very lightweight
180
- inline int getLightweight() const {
181
- return lightWeight_;
182
- }
183
- inline void setLightweight(int value) {
184
- lightWeight_ = value;
185
- }
186
- /// strategy
187
- inline int getStrategy() const {
188
- return strategy_;
189
- }
190
- inline void setStrategy(int value) {
191
- strategy_ = value;
192
- }
193
- /// Fine tuning - okay if feasibility drop this factor
194
- inline double getDropEnoughFeasibility() const {
195
- return dropEnoughFeasibility_;
196
- }
197
- inline void setDropEnoughFeasibility(double value) {
198
- dropEnoughFeasibility_ = value;
199
- }
200
- /// Fine tuning - okay if weighted obj drop this factor
201
- inline double getDropEnoughWeighted() const {
202
- return dropEnoughWeighted_;
203
- }
204
- inline void setDropEnoughWeighted(double value) {
205
- dropEnoughWeighted_ = value;
206
- }
207
- /// Set model
208
- inline void setModel(OsiSolverInterface * model) {
209
- model_ = model;
210
- };
211
- //@}
212
-
213
-
214
- /// Stuff for internal use
215
- private:
216
-
217
- /// Does actual work
218
- // allow public!
219
- public:
220
- void solve2(CoinMessageHandler * handler, const CoinMessages *messages);
221
- private:
222
- IdiotResult IdiSolve(
223
- int nrows, int ncols, double * rowsol , double * colsol,
224
- double * pi, double * djs, const double * origcost ,
225
- double * rowlower,
226
- double * rowupper, const double * lower,
227
- const double * upper, const double * element,
228
- const int * row, const CoinBigIndex * colcc,
229
- const int * length, double * lambda,
230
- int maxIts, double mu, double drop,
231
- double maxmin, double offset,
232
- int strategy, double djTol, double djExit, double djFlag,
233
- CoinThreadRandom * randomNumberGenerator);
234
- int dropping(IdiotResult result,
235
- double tolerance,
236
- double small,
237
- int *nbad);
238
- IdiotResult objval(int nrows, int ncols, double * rowsol , double * colsol,
239
- double * pi, double * djs, const double * cost ,
240
- const double * rowlower,
241
- const double * rowupper, const double * lower,
242
- const double * upper, const double * elemnt,
243
- const int * row, const CoinBigIndex * columnStart,
244
- const int * length, int extraBlock, int * rowExtra,
245
- double * solExtra, double * elemExtra, double * upperExtra,
246
- double * costExtra, double weight);
247
- // Deals with whenUsed and slacks
248
- int cleanIteration(int iteration, int ordinaryStart, int ordinaryEnd,
249
- double * colsol, const double * lower, const double * upper,
250
- const double * rowLower, const double * rowUpper,
251
- const double * cost, const double * element, double fixTolerance, double & objChange,
252
- double & infChange, double & maxInfeasibility);
253
- private:
254
- /// Underlying model
255
- OsiSolverInterface * model_;
256
-
257
- double djTolerance_;
258
- double mu_; /* starting mu */
259
- double drop_; /* exit if drop over 5 checks less than this */
260
- double muFactor_; /* reduce mu by this */
261
- double stopMu_; /* exit if mu gets smaller than this */
262
- double smallInfeas_; /* feasibility tolerance */
263
- double reasonableInfeas_; /* use lambdas if feasibility less than this */
264
- double exitDrop_; /* candidate for stopping after a major iteration */
265
- double muAtExit_; /* mu on exit */
266
- double exitFeasibility_; /* exit if infeasibility less than this */
267
- double dropEnoughFeasibility_; /* okay if feasibility drop this factor */
268
- double dropEnoughWeighted_; /* okay if weighted obj drop this factor */
269
- int * whenUsed_; /* array to say what was used */
270
- int maxBigIts_; /* always reduce mu after this */
271
- int maxIts_; /* do this many iterations on first go */
272
- int majorIterations_;
273
- int logLevel_;
274
- int logFreq_;
275
- int checkFrequency_; /* can exit after 5 * this iterations (on drop) */
276
- int lambdaIterations_; /* do at least this many lambda iterations */
277
- int maxIts2_; /* do this many iterations on subsequent goes */
278
- int strategy_; /* 0 - default strategy
279
- 1 - do accelerator step but be cautious
280
- 2 - do not do accelerator step
281
- 4 - drop, exitDrop and djTolerance all relative
282
- 8 - keep accelerator step to theta=10.0
283
-
284
- 32 - Scale
285
- 512 - crossover
286
- 2048 - keep lambda across mu change
287
- 4096 - return best solution (not last found)
288
- 8192 - always do a presolve in crossover
289
- 16384 - costed slacks found - so whenUsed_ longer
290
- 32768 - experimental 1
291
- 65536 - experimental 2
292
- 131072 - experimental 3
293
- 262144 - just values pass etc
294
- 524288 - don't treat structural slacks as slacks */
295
-
296
- int lightWeight_; // 0 - normal, 1 lightweight
297
- };
298
- #endif
@@ -1,206 +0,0 @@
1
- // Copyright (C) 2006, International Business Machines
2
- // Corporation and others. All Rights Reserved.
3
- // This code is licensed under the terms of the Eclipse Public License (EPL).
4
-
5
- #ifndef OsiAuxInfo_H
6
- #define OsiAuxInfo_H
7
-
8
- class OsiSolverInterface;
9
-
10
- //#############################################################################
11
- /** This class allows for a more structured use of algorithmic tweaking to
12
- an OsiSolverInterface. It is designed to replace the simple use of
13
- appData_ pointer.
14
-
15
- This has been done to make it easier to use NonLinear solvers and other
16
- exotic beasts in a branch and bound mode. After this class definition
17
- there is one for a derived class for just such a purpose.
18
-
19
- */
20
-
21
- class OsiAuxInfo {
22
- public:
23
- // Default Constructor
24
- OsiAuxInfo (void * appData = NULL);
25
-
26
- // Copy Constructor
27
- OsiAuxInfo (const OsiAuxInfo & rhs);
28
- // Destructor
29
- virtual ~OsiAuxInfo();
30
-
31
- /// Clone
32
- virtual OsiAuxInfo * clone() const;
33
- /// Assignment operator
34
- OsiAuxInfo & operator=(const OsiAuxInfo& rhs);
35
-
36
- /// Get application data
37
- inline void * getApplicationData() const
38
- { return appData_;}
39
- protected:
40
- /// Pointer to user-defined data structure
41
- void * appData_;
42
- };
43
- //#############################################################################
44
- /** This class allows for the use of more exotic solvers e.g. Non-Linear or Volume.
45
-
46
- You can derive from this although at present I can't see the need.
47
- */
48
-
49
- class OsiBabSolver : public OsiAuxInfo {
50
- public:
51
- // Default Constructor
52
- OsiBabSolver (int solverType=0);
53
-
54
- // Copy Constructor
55
- OsiBabSolver (const OsiBabSolver & rhs);
56
- // Destructor
57
- virtual ~OsiBabSolver();
58
-
59
- /// Clone
60
- virtual OsiAuxInfo * clone() const;
61
- /// Assignment operator
62
- OsiBabSolver & operator=(const OsiBabSolver& rhs);
63
-
64
- /// Update solver
65
- inline void setSolver(const OsiSolverInterface * solver)
66
- { solver_ = solver;}
67
- /// Update solver
68
- inline void setSolver(const OsiSolverInterface & solver)
69
- { solver_ = &solver;}
70
-
71
- /** returns 0 if no heuristic solution, 1 if valid solution
72
- with better objective value than one passed in
73
- Sets solution values if good, sets objective value
74
- numberColumns is size of newSolution
75
- */
76
- int solution(double & objectiveValue,
77
- double * newSolution, int numberColumns);
78
- /** Set solution and objective value.
79
- Number of columns and optimization direction taken from current solver.
80
- Size of solution is numberColumns (may be padded or truncated in function) */
81
- void setSolution(const double * solution, int numberColumns, double objectiveValue);
82
-
83
- /** returns true if the object stores a solution, false otherwise. If there
84
- is a solution then solutionValue and solution will be filled out as well.
85
- In that case the user needs to allocate solution to be a big enough
86
- array.
87
- */
88
- bool hasSolution(double & solutionValue, double * solution);
89
-
90
- /** Sets solver type
91
- 0 - normal LP solver
92
- 1 - DW - may also return heuristic solutions
93
- 2 - NLP solver or similar - can't compute objective value just from solution
94
- check solver to see if feasible and what objective value is
95
- - may also return heuristic solution
96
- 3 - NLP solver or similar - can't compute objective value just from solution
97
- check this (rather than solver) to see if feasible and what objective value is.
98
- Using Outer Approximation so called lp based
99
- - may also return heuristic solution
100
- 4 - normal solver but cuts are needed for integral solution
101
- */
102
- inline void setSolverType(int value)
103
- { solverType_=value;}
104
- /** gets solver type
105
- 0 - normal LP solver
106
- 1 - DW - may also return heuristic solutions
107
- 2 - NLP solver or similar - can't compute objective value just from solution
108
- check this (rather than solver) to see if feasible and what objective value is
109
- - may also return heuristic solution
110
- 3 - NLP solver or similar - can't compute objective value just from solution
111
- check this (rather than solver) to see if feasible and what objective value is.
112
- Using Outer Approximation so called lp based
113
- - may also return heuristic solution
114
- 4 - normal solver but cuts are needed for integral solution
115
- */
116
- inline int solverType() const
117
- { return solverType_;}
118
- /** Return true if getting solution may add cuts so hot start etc will
119
- be obsolete */
120
- inline bool solutionAddsCuts() const
121
- { return solverType_==3;}
122
- /// Return true if we should try cuts at root even if looks satisfied
123
- inline bool alwaysTryCutsAtRootNode() const
124
- { return solverType_==4;}
125
- /** Returns true if can use solver objective or feasible values,
126
- otherwise use mipBound etc */
127
- inline bool solverAccurate() const
128
- { return solverType_==0||solverType_==2||solverType_==4;}
129
- /// Returns true if can use reduced costs for fixing
130
- inline bool reducedCostsAccurate() const
131
- { return solverType_==0||solverType_==4;}
132
- /// Get objective (well mip bound)
133
- double mipBound() const;
134
- /// Returns true if node feasible
135
- bool mipFeasible() const;
136
- /// Set mip bound (only used for some solvers)
137
- inline void setMipBound(double value)
138
- { mipBound_ = value;}
139
- /// Get objective value of saved solution
140
- inline double bestObjectiveValue() const
141
- { return bestObjectiveValue_;}
142
- /// Says whether we want to try cuts at all
143
- inline bool tryCuts() const
144
- { return solverType_!=2;}
145
- /// Says whether we have a warm start (so can do strong branching)
146
- inline bool warmStart() const
147
- { return solverType_!=2;}
148
- /** Get bit mask for odd actions of solvers
149
- 1 - solution or bound arrays may move in mysterious ways e.g. cplex
150
- 2 - solver may want bounds before branch
151
- */
152
- inline int extraCharacteristics() const
153
- { return extraCharacteristics_;}
154
- /** Set bit mask for odd actions of solvers
155
- 1 - solution or bound arrays may move in mysterious ways e.g. cplex
156
- 2 - solver may want bounds before branch
157
- */
158
- inline void setExtraCharacteristics(int value)
159
- { extraCharacteristics_=value;}
160
- /// Pointer to lower bounds before branch (only if extraCharacteristics set)
161
- inline const double * beforeLower() const
162
- { return beforeLower_;}
163
- /// Set pointer to lower bounds before branch (only if extraCharacteristics set)
164
- inline void setBeforeLower(const double * array)
165
- { beforeLower_ = array;}
166
- /// Pointer to upper bounds before branch (only if extraCharacteristics set)
167
- inline const double * beforeUpper() const
168
- { return beforeUpper_;}
169
- /// Set pointer to upper bounds before branch (only if extraCharacteristics set)
170
- inline void setBeforeUpper(const double * array)
171
- { beforeUpper_ = array;}
172
- protected:
173
- /// Objective value of best solution (if there is one) (minimization)
174
- double bestObjectiveValue_;
175
- /// Current lower bound on solution ( if > 1.0e50 infeasible)
176
- double mipBound_;
177
- /// Solver to use for getting/setting solutions etc
178
- const OsiSolverInterface * solver_;
179
- /// Best integer feasible solution
180
- double * bestSolution_;
181
- /// Pointer to lower bounds before branch (only if extraCharacteristics set)
182
- const double * beforeLower_;
183
- /// Pointer to upper bounds before branch (only if extraCharacteristics set)
184
- const double * beforeUpper_;
185
- /** Solver type
186
- 0 - normal LP solver
187
- 1 - DW - may also return heuristic solutions
188
- 2 - NLP solver or similar - can't compute objective value just from solution
189
- check this (rather than solver) to see if feasible and what objective value is
190
- - may also return heuristic solution
191
- 3 - NLP solver or similar - can't compute objective value just from solution
192
- check this (rather than solver) to see if feasible and what objective value is.
193
- Using Outer Approximation so called lp based
194
- - may also return heuristic solution
195
- */
196
- int solverType_;
197
- /// Size of solution
198
- int sizeSolution_;
199
- /** Bit mask for odd actions of solvers
200
- 1 - solution or bound arrays may move in mysterious ways e.g. cplex
201
- 2 - solver may want bounds before branch
202
- */
203
- int extraCharacteristics_;
204
- };
205
-
206
- #endif