casadi 3.6.2__cp311-none-manylinux2014_i686.whl → 3.6.4__cp311-none-manylinux2014_i686.whl

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 (332) hide show
  1. casadi/_casadi.so +0 -0
  2. casadi/casadi.py +217 -60
  3. casadi/cbc +0 -0
  4. casadi/clp +0 -0
  5. casadi/cmake/alpaqa/alpaqaConfig.cmake +24 -0
  6. casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +70 -0
  7. casadi/cmake/alpaqa/alpaqaTargets-release.cmake +29 -0
  8. casadi/cmake/alpaqa/alpaqaTargets.cmake +131 -0
  9. casadi/cmake/casadi-config-version.cmake +1 -1
  10. casadi/cmake/casadi-config.cmake +4 -0
  11. casadi/cmake/highs/highs-config.cmake +18 -4
  12. casadi/cmake/highs/highs-targets-release.cmake +3 -3
  13. casadi/cmake/highs/highs-targets.cmake +1 -1
  14. casadi/cmake/sleqp/sleqp-config-version.cmake +70 -0
  15. casadi/cmake/sleqp/sleqp-config.cmake +1 -0
  16. casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
  17. casadi/cmake/sleqp/sleqp-targets.cmake +102 -0
  18. casadi/cmake/trlib/trlib-config-release.cmake +19 -0
  19. casadi/cmake/trlib/trlib-config-version.cmake +88 -0
  20. casadi/cmake/trlib/trlib-config.cmake +107 -0
  21. casadi/highs +0 -0
  22. casadi/include/casadi/casadi.i +20 -3
  23. casadi/include/casadi/config.h +8 -8
  24. casadi/include/casadi/core/calculus.hpp +1 -1
  25. casadi/include/casadi/core/code_generator.hpp +10 -0
  26. casadi/include/casadi/core/fmu.hpp +224 -0
  27. casadi/include/casadi/core/generic_matrix.hpp +4 -2
  28. casadi/include/casadi/core/nlpsol.hpp +0 -2
  29. casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +204 -11
  30. casadi/include/casadi/core/serializing_stream.hpp +12 -0
  31. casadi/include/casadi/core/sparsity_interface.hpp +55 -1
  32. casadi/include/casadi/doc.i +916 -462
  33. casadi/include/casadi/doc_merged.i +492 -176
  34. casadi/include/casadi/mem.h +13 -2
  35. casadi/include/casadi/valgrind-casadi.supp +82 -0
  36. casadi/include/casadi/valgrind-python.supp +39 -0
  37. casadi/include/highs/HConfig.h +4 -7
  38. casadi/include/highs/Highs.h +240 -51
  39. casadi/include/highs/filereaderlp/builder.hpp +12 -13
  40. casadi/include/highs/filereaderlp/model.hpp +32 -35
  41. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  42. casadi/include/highs/interfaces/highs_c_api.h +964 -577
  43. casadi/include/highs/io/Filereader.h +2 -4
  44. casadi/include/highs/io/FilereaderEms.h +2 -4
  45. casadi/include/highs/io/FilereaderLp.h +2 -4
  46. casadi/include/highs/io/FilereaderMps.h +2 -4
  47. casadi/include/highs/io/HMPSIO.h +2 -4
  48. casadi/include/highs/io/HMpsFF.h +2 -4
  49. casadi/include/highs/io/HighsIO.h +19 -13
  50. casadi/include/highs/io/LoadOptions.h +7 -6
  51. casadi/include/highs/ipm/IpxWrapper.h +4 -5
  52. casadi/include/highs/lp_data/HConst.h +60 -15
  53. casadi/include/highs/lp_data/HStruct.h +32 -8
  54. casadi/include/highs/lp_data/HighsAnalysis.h +2 -4
  55. casadi/include/highs/lp_data/HighsCallback.h +33 -0
  56. casadi/include/highs/lp_data/HighsCallbackStruct.h +36 -0
  57. casadi/include/highs/lp_data/HighsDebug.h +2 -4
  58. casadi/include/highs/lp_data/HighsInfo.h +22 -23
  59. casadi/include/highs/lp_data/HighsInfoDebug.h +2 -4
  60. casadi/include/highs/lp_data/HighsLp.h +14 -6
  61. casadi/include/highs/lp_data/HighsLpSolverObject.h +6 -5
  62. casadi/include/highs/lp_data/HighsLpUtils.h +23 -12
  63. casadi/include/highs/lp_data/HighsModelUtils.h +22 -8
  64. casadi/include/highs/lp_data/HighsOptions.h +175 -106
  65. casadi/include/highs/lp_data/HighsRanging.h +2 -4
  66. casadi/include/highs/lp_data/HighsRuntimeOptions.h +21 -6
  67. casadi/include/highs/lp_data/HighsSolution.h +4 -4
  68. casadi/include/highs/lp_data/HighsSolutionDebug.h +2 -4
  69. casadi/include/highs/lp_data/HighsSolve.h +2 -4
  70. casadi/include/highs/lp_data/HighsStatus.h +2 -4
  71. casadi/include/highs/mip/HighsCliqueTable.h +18 -20
  72. casadi/include/highs/mip/HighsConflictPool.h +2 -4
  73. casadi/include/highs/mip/HighsCutGeneration.h +2 -4
  74. casadi/include/highs/mip/HighsCutPool.h +2 -4
  75. casadi/include/highs/mip/HighsDebugSol.h +2 -4
  76. casadi/include/highs/mip/HighsDomain.h +5 -5
  77. casadi/include/highs/mip/HighsDomainChange.h +2 -4
  78. casadi/include/highs/mip/HighsDynamicRowMatrix.h +2 -4
  79. casadi/include/highs/mip/HighsGFkSolve.h +2 -4
  80. casadi/include/highs/mip/HighsImplications.h +2 -4
  81. casadi/include/highs/mip/HighsLpAggregator.h +2 -4
  82. casadi/include/highs/mip/HighsLpRelaxation.h +2 -4
  83. casadi/include/highs/mip/HighsMipSolver.h +18 -6
  84. casadi/include/highs/mip/HighsMipSolverData.h +8 -4
  85. casadi/include/highs/mip/HighsModkSeparator.h +2 -4
  86. casadi/include/highs/mip/HighsNodeQueue.h +3 -9
  87. casadi/include/highs/mip/HighsObjectiveFunction.h +2 -4
  88. casadi/include/highs/mip/HighsPathSeparator.h +2 -4
  89. casadi/include/highs/mip/HighsPrimalHeuristics.h +2 -4
  90. casadi/include/highs/mip/HighsPseudocost.h +2 -4
  91. casadi/include/highs/mip/HighsRedcostFixing.h +2 -4
  92. casadi/include/highs/mip/HighsSearch.h +2 -4
  93. casadi/include/highs/mip/HighsSeparation.h +2 -4
  94. casadi/include/highs/mip/HighsSeparator.h +2 -4
  95. casadi/include/highs/mip/HighsTableauSeparator.h +2 -4
  96. casadi/include/highs/mip/HighsTransformedLp.h +2 -4
  97. casadi/include/highs/model/HighsHessian.h +3 -1
  98. casadi/include/highs/model/HighsModel.h +2 -0
  99. casadi/include/highs/parallel/HighsSpinMutex.h +2 -1
  100. casadi/include/highs/parallel/HighsSplitDeque.h +1 -1
  101. casadi/include/highs/parallel/HighsTaskExecutor.h +10 -2
  102. casadi/include/highs/presolve/HPresolve.h +9 -6
  103. casadi/include/highs/presolve/HPresolveAnalysis.h +5 -4
  104. casadi/include/highs/presolve/HighsPostsolveStack.h +50 -13
  105. casadi/include/highs/presolve/HighsSymmetry.h +2 -4
  106. casadi/include/highs/presolve/ICrash.h +4 -3
  107. casadi/include/highs/presolve/ICrashUtil.h +2 -2
  108. casadi/include/highs/presolve/ICrashX.h +4 -6
  109. casadi/include/highs/presolve/PresolveComponent.h +4 -42
  110. casadi/include/highs/qpsolver/a_asm.hpp +56 -0
  111. casadi/include/highs/qpsolver/a_quass.hpp +12 -0
  112. casadi/include/highs/qpsolver/quass.hpp +1 -4
  113. casadi/include/highs/simplex/HApp.h +14 -16
  114. casadi/include/highs/simplex/HEkk.h +12 -11
  115. casadi/include/highs/simplex/HEkkDual.h +2 -4
  116. casadi/include/highs/simplex/HEkkDualRHS.h +5 -6
  117. casadi/include/highs/simplex/HEkkDualRow.h +2 -4
  118. casadi/include/highs/simplex/HEkkPrimal.h +2 -4
  119. casadi/include/highs/simplex/HSimplex.h +2 -4
  120. casadi/include/highs/simplex/HSimplexDebug.h +2 -4
  121. casadi/include/highs/simplex/HSimplexNla.h +2 -4
  122. casadi/include/highs/simplex/HSimplexReport.h +3 -5
  123. casadi/include/highs/simplex/HighsSimplexAnalysis.h +2 -4
  124. casadi/include/highs/simplex/SimplexConst.h +7 -5
  125. casadi/include/highs/simplex/SimplexStruct.h +11 -5
  126. casadi/include/highs/simplex/SimplexTimer.h +2 -4
  127. casadi/include/highs/test/DevKkt.h +2 -4
  128. casadi/include/highs/test/KktCh2.h +2 -4
  129. casadi/include/highs/util/FactorTimer.h +2 -4
  130. casadi/include/highs/util/HFactor.h +2 -4
  131. casadi/include/highs/util/HFactorConst.h +2 -4
  132. casadi/include/highs/util/HFactorDebug.h +2 -4
  133. casadi/include/highs/util/HSet.h +3 -5
  134. casadi/include/highs/util/HVector.h +2 -4
  135. casadi/include/highs/util/HVectorBase.h +2 -4
  136. casadi/include/highs/util/HighsCDouble.h +2 -4
  137. casadi/include/highs/util/HighsComponent.h +2 -4
  138. casadi/include/highs/util/HighsDataStack.h +3 -5
  139. casadi/include/highs/util/HighsDisjointSets.h +8 -10
  140. casadi/include/highs/util/HighsHash.h +22 -7
  141. casadi/include/highs/util/HighsHashTree.h +25 -7
  142. casadi/include/highs/util/HighsInt.h +2 -4
  143. casadi/include/highs/util/HighsIntegers.h +2 -4
  144. casadi/include/highs/util/HighsLinearSumBounds.h +2 -4
  145. casadi/include/highs/util/HighsMatrixPic.h +2 -4
  146. casadi/include/highs/util/HighsMatrixSlice.h +2 -4
  147. casadi/include/highs/util/HighsMatrixUtils.h +2 -4
  148. casadi/include/highs/util/HighsRandom.h +2 -4
  149. casadi/include/highs/util/HighsRbTree.h +2 -4
  150. casadi/include/highs/util/HighsSort.h +2 -4
  151. casadi/include/highs/util/HighsSparseMatrix.h +11 -7
  152. casadi/include/highs/util/HighsSparseVectorSum.h +2 -4
  153. casadi/include/highs/util/HighsSplay.h +2 -4
  154. casadi/include/highs/util/HighsTimer.h +3 -4
  155. casadi/include/highs/util/HighsUtils.h +14 -4
  156. casadi/include/highs/util/stringutil.h +2 -4
  157. casadi/include/licenses/alpaqa-external/LICENSE +165 -0
  158. casadi/include/licenses/highs-external/LICENSE +1 -1
  159. casadi/include/licenses/sleqp-external/LICENSE +165 -0
  160. casadi/include/licenses/trlib-external/LICENSE +21 -0
  161. casadi/include/trlib/trlib_eigen_inverse.h +118 -0
  162. casadi/include/trlib/trlib_krylov.h +493 -0
  163. casadi/include/trlib/trlib_leftmost.h +181 -0
  164. casadi/include/trlib/trlib_private.h +109 -0
  165. casadi/include/trlib/trlib_quadratic_zero.h +57 -0
  166. casadi/include/trlib/trlib_tri_factor.h +409 -0
  167. casadi/include/trlib/trlib_types.h +36 -0
  168. casadi/lib/libtinyxml2.a +0 -0
  169. casadi/libCbc.la +3 -3
  170. casadi/libCbc.so +0 -0
  171. casadi/libCbc.so.3 +0 -0
  172. casadi/libCbc.so.3.10.11 +0 -0
  173. casadi/libCbcSolver.la +3 -3
  174. casadi/libCbcSolver.so +0 -0
  175. casadi/libCbcSolver.so.3 +0 -0
  176. casadi/libCbcSolver.so.3.10.11 +0 -0
  177. casadi/libCgl.la +2 -2
  178. casadi/libCgl.so +0 -0
  179. casadi/libCgl.so.1 +0 -0
  180. casadi/libCgl.so.1.10.8 +0 -0
  181. casadi/libClp.la +2 -2
  182. casadi/libClp.so +0 -0
  183. casadi/libClp.so.1 +0 -0
  184. casadi/{libClp.so.1.14.7 → libClp.so.1.14.9} +0 -0
  185. casadi/libClpSolver.la +2 -2
  186. casadi/libClpSolver.so +0 -0
  187. casadi/libClpSolver.so.1 +0 -0
  188. casadi/{libClpSolver.so.1.14.7 → libClpSolver.so.1.14.9} +0 -0
  189. casadi/libCoinUtils.la +2 -2
  190. casadi/libCoinUtils.so +0 -0
  191. casadi/libCoinUtils.so.3 +0 -0
  192. casadi/libCoinUtils.so.3.11.10 +0 -0
  193. casadi/libFortranHighs.so +0 -0
  194. casadi/libOsi.la +2 -2
  195. casadi/libOsiCbc.la +3 -3
  196. casadi/libOsiCbc.so +0 -0
  197. casadi/libOsiCbc.so.3 +0 -0
  198. casadi/{libOsiCbc.so.3.10.6 → libOsiCbc.so.3.10.11} +0 -0
  199. casadi/libOsiClp.la +2 -2
  200. casadi/libOsiClp.so +0 -0
  201. casadi/libOsiClp.so.1 +0 -0
  202. casadi/libOsiClp.so.1.14.9 +0 -0
  203. casadi/libOsiCommonTests.la +2 -2
  204. casadi/libOsiCommonTests.so +0 -0
  205. casadi/libOsiCommonTests.so.1 +0 -0
  206. casadi/{libOsiCommonTests.so.1.13.7 → libOsiCommonTests.so.1.13.9} +0 -0
  207. casadi/libalpaqa-dl-loader.so +0 -0
  208. casadi/libalpaqa-dl-loader.so.1.0.0 +0 -0
  209. casadi/libalpaqa.so +0 -0
  210. casadi/libalpaqa.so.1.0.0 +0 -0
  211. casadi/libbonmin.la +3 -3
  212. casadi/libbonmin.so +0 -0
  213. casadi/libbonmin.so.4 +0 -0
  214. casadi/libbonmin.so.4.8.9 +0 -0
  215. casadi/libcasadi.so +0 -0
  216. casadi/libcasadi.so.3.7 +0 -0
  217. casadi/libcasadi_conic_cbc.so +0 -0
  218. casadi/libcasadi_conic_cbc.so.3.7 +0 -0
  219. casadi/libcasadi_conic_clp.so +0 -0
  220. casadi/libcasadi_conic_clp.so.3.7 +0 -0
  221. casadi/libcasadi_conic_gurobi.so +0 -0
  222. casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
  223. casadi/libcasadi_conic_highs.so +0 -0
  224. casadi/libcasadi_conic_highs.so.3.7 +0 -0
  225. casadi/libcasadi_conic_ipqp.so +0 -0
  226. casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
  227. casadi/libcasadi_conic_nlpsol.so +0 -0
  228. casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
  229. casadi/libcasadi_conic_osqp.so +0 -0
  230. casadi/libcasadi_conic_osqp.so.3.7 +0 -0
  231. casadi/libcasadi_conic_proxqp.so +0 -0
  232. casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
  233. casadi/libcasadi_conic_qpoases.so +0 -0
  234. casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
  235. casadi/libcasadi_conic_qrqp.so +0 -0
  236. casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
  237. casadi/libcasadi_conic_superscs.so +0 -0
  238. casadi/libcasadi_conic_superscs.so.3.7 +0 -0
  239. casadi/libcasadi_integrator_collocation.so +0 -0
  240. casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
  241. casadi/libcasadi_integrator_cvodes.so +0 -0
  242. casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
  243. casadi/libcasadi_integrator_idas.so +0 -0
  244. casadi/libcasadi_integrator_idas.so.3.7 +0 -0
  245. casadi/libcasadi_interpolant_bspline.so +0 -0
  246. casadi/libcasadi_interpolant_bspline.so.3.7 +0 -0
  247. casadi/libcasadi_interpolant_linear.so +0 -0
  248. casadi/libcasadi_interpolant_linear.so.3.7 +0 -0
  249. casadi/libcasadi_linsol_lapacklu.so +0 -0
  250. casadi/libcasadi_linsol_lapacklu.so.3.7 +0 -0
  251. casadi/libcasadi_linsol_lapackqr.so +0 -0
  252. casadi/libcasadi_linsol_lapackqr.so.3.7 +0 -0
  253. casadi/libcasadi_linsol_ldl.so +0 -0
  254. casadi/libcasadi_linsol_ldl.so.3.7 +0 -0
  255. casadi/libcasadi_linsol_mumps.so +0 -0
  256. casadi/libcasadi_linsol_mumps.so.3.7 +0 -0
  257. casadi/libcasadi_linsol_qr.so +0 -0
  258. casadi/libcasadi_linsol_qr.so.3.7 +0 -0
  259. casadi/libcasadi_linsol_symbolicqr.so +0 -0
  260. casadi/libcasadi_linsol_symbolicqr.so.3.7 +0 -0
  261. casadi/libcasadi_nlpsol_alpaqa.so +0 -0
  262. casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
  263. casadi/libcasadi_nlpsol_ampl.so +0 -0
  264. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  265. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  266. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  267. casadi/libcasadi_nlpsol_bonmin.so +0 -0
  268. casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
  269. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  270. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  271. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  272. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  273. casadi/libcasadi_nlpsol_knitro.so +0 -0
  274. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  275. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  276. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  277. casadi/libcasadi_nlpsol_scpgen.so +0 -0
  278. casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
  279. casadi/libcasadi_nlpsol_sleqp.so +0 -0
  280. casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
  281. casadi/libcasadi_nlpsol_snopt.so +0 -0
  282. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  283. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  284. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  285. casadi/libcasadi_nlpsol_worhp.so +0 -0
  286. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  287. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  288. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  289. casadi/libcasadi_rootfinder_newton.so +0 -0
  290. casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
  291. casadi/libcasadi_sundials_common.so +0 -0
  292. casadi/libcasadi_sundials_common.so.3.7 +0 -0
  293. casadi/libhighs.so +0 -0
  294. casadi/libhighs.so.1.6 +0 -0
  295. casadi/libhighs.so.1.6.0 +0 -0
  296. casadi/libindirect.a +0 -0
  297. casadi/liblinsys.a +0 -0
  298. casadi/libosqp.a +0 -0
  299. casadi/libqdldl.a +0 -0
  300. casadi/libsleqp.so +0 -0
  301. casadi/libsleqp.so.1.0.1 +0 -0
  302. casadi/libspral.a +0 -0
  303. casadi/libsuperscs.a +0 -0
  304. casadi/libtrlib.so +0 -0
  305. casadi/libtrlib.so.0.4 +0 -0
  306. casadi/pkgconfig/blas.pc +11 -0
  307. casadi/pkgconfig/bonmin.pc +1 -1
  308. casadi/pkgconfig/casadi.pc +1 -1
  309. casadi/pkgconfig/cbc.pc +2 -2
  310. casadi/pkgconfig/cgl.pc +2 -2
  311. casadi/pkgconfig/clp.pc +1 -1
  312. casadi/pkgconfig/coinutils.pc +1 -1
  313. casadi/pkgconfig/highs.pc +3 -3
  314. casadi/pkgconfig/lapack.pc +11 -0
  315. casadi/pkgconfig/openblas.pc +1 -1
  316. casadi/pkgconfig/osi-cbc.pc +1 -1
  317. casadi/pkgconfig/osi-clp.pc +1 -1
  318. casadi/pkgconfig/osi-unittests.pc +1 -1
  319. casadi/pkgconfig/osi.pc +1 -1
  320. casadi/pkgconfig/sleqp.pc +10 -0
  321. {casadi-3.6.2.dist-info → casadi-3.6.4.dist-info}/METADATA +1 -1
  322. {casadi-3.6.2.dist-info → casadi-3.6.4.dist-info}/RECORD +324 -283
  323. casadi/libCbc.so.3.10.6 +0 -0
  324. casadi/libCbcSolver.so.3.10.6 +0 -0
  325. casadi/libCgl.so.1.10.4 +0 -0
  326. casadi/libCoinUtils.so.3.11.6 +0 -0
  327. casadi/libOsiClp.so.1.14.7 +0 -0
  328. casadi/libbonmin.so.4.8.8 +0 -0
  329. casadi/libhighs.so.1.4 +0 -0
  330. casadi/libhighs.so.1.4.0 +0 -0
  331. /casadi/{libOsi.so.1.13.7 → libOsi.so.1.13.9} +0 -0
  332. {casadi-3.6.2.dist-info → casadi-3.6.4.dist-info}/WHEEL +0 -0
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
 
14
12
  #ifndef LP_DATA_HIGHSRUNTIMEOPTIONS_H_
@@ -75,7 +73,9 @@ bool loadOptions(const HighsLogOptions& report_log_options, int argc,
75
73
  cxxopts::value<HighsInt>())
76
74
  // ranging option
77
75
  (kRangingString, "Compute cost, bound, RHS and basic solution ranging.",
78
- cxxopts::value<std::string>())("h, help", "Print help.");
76
+ cxxopts::value<std::string>())
77
+ // version
78
+ (kVersionString, "Print version.")("h, help", "Print help.");
79
79
 
80
80
  // Handle command line file specifications
81
81
  //
@@ -88,6 +88,13 @@ bool loadOptions(const HighsLogOptions& report_log_options, int argc,
88
88
  std::cout << cxx_options.help({""}) << std::endl;
89
89
  exit(0);
90
90
  }
91
+ if (result.count("version")) {
92
+ std::cout << "HiGHS version " << HIGHS_VERSION_MAJOR << "."
93
+ << HIGHS_VERSION_MINOR << "." << HIGHS_VERSION_PATCH;
94
+ std::cout << " Githash " << HIGHS_GITHASH << ". ";
95
+ std::cout << kHighsCopyrightStatement << std::endl;
96
+ exit(0);
97
+ }
91
98
  if (result.count(kModelFileString)) {
92
99
  auto& v = result[kModelFileString].as<std::vector<std::string>>();
93
100
  if (v.size() > 1) {
@@ -134,7 +141,15 @@ bool loadOptions(const HighsLogOptions& report_log_options, int argc,
134
141
  std::cout << "Multiple options files not implemented.\n";
135
142
  return false;
136
143
  }
137
- if (!loadOptionsFromFile(report_log_options, options, v[0])) return false;
144
+ switch (loadOptionsFromFile(report_log_options, options, v[0])) {
145
+ case HighsLoadOptionsStatus::kError:
146
+ return false;
147
+ case HighsLoadOptionsStatus::kEmpty:
148
+ writeOptionsToFile(stdout, options.records);
149
+ return false;
150
+ default:
151
+ break;
152
+ }
138
153
  }
139
154
 
140
155
  // Handle command line option specifications
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  /**@file lp_data/HighsSolution.h
14
12
  * @brief Class-independent utilities for HiGHS
@@ -117,6 +115,8 @@ HighsStatus ipxBasicSolutionToHighsBasicSolution(
117
115
  const IpxSolution& ipx_solution, HighsBasis& highs_basis,
118
116
  HighsSolution& highs_solution);
119
117
 
118
+ HighsStatus formSimplexLpBasisAndFactorReturn(
119
+ const HighsStatus return_status, HighsLpSolverObject& solver_object);
120
120
  HighsStatus formSimplexLpBasisAndFactor(
121
121
  HighsLpSolverObject& solver_object,
122
122
  const bool only_from_known_basis = false);
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  /**@file lp_data/HighsSolutionDebug.h
14
12
  * @brief
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  /**@file lp_data/HighsSolve.h
14
12
  * @brief Class-independent utilities for HiGHS
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  #ifndef LP_DATA_HIGHS_STATUS_H_
14
12
  #define LP_DATA_HIGHS_STATUS_H_
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  #ifndef HIGHS_CLIQUE_TABLE_H_
14
12
  #define HIGHS_CLIQUE_TABLE_H_
@@ -109,7 +107,7 @@ class HighsCliqueTable {
109
107
  CliqueVar v2) const;
110
108
 
111
109
  HighsInt findCommonCliqueId(CliqueVar v1, CliqueVar v2) {
112
- return findCommonCliqueId(numNeighborhoodQueries, v1, v2);
110
+ return findCommonCliqueId(numNeighbourhoodQueries, v1, v2);
113
111
  }
114
112
 
115
113
  HighsInt runCliqueSubsumption(const HighsDomain& globaldom,
@@ -120,7 +118,7 @@ class HighsCliqueTable {
120
118
  std::vector<CliqueVar> R;
121
119
  std::vector<CliqueVar> Z;
122
120
  std::vector<std::vector<CliqueVar>> cliques;
123
- std::vector<HighsInt> neighborhoodInds;
121
+ std::vector<HighsInt> neighbourhoodInds;
124
122
 
125
123
  double wR = 0.0;
126
124
  double minW = 1.05;
@@ -128,12 +126,12 @@ class HighsCliqueTable {
128
126
  HighsInt ncalls = 0;
129
127
  HighsInt maxcalls = 10000;
130
128
  HighsInt maxcliques = 100;
131
- int64_t maxNeighborhoodQueries = std::numeric_limits<int64_t>::max();
132
- int64_t numNeighborhoodQueries = 0;
129
+ int64_t maxNeighbourhoodQueries = std::numeric_limits<int64_t>::max();
130
+ int64_t numNeighbourhoodQueries = 0;
133
131
 
134
132
  bool stop() const {
135
133
  return maxcalls == ncalls || int(cliques.size()) == maxcliques ||
136
- numNeighborhoodQueries > maxNeighborhoodQueries;
134
+ numNeighbourhoodQueries > maxNeighbourhoodQueries;
137
135
  }
138
136
 
139
137
  BronKerboschData(const std::vector<double>& sol) : sol(sol) {}
@@ -152,12 +150,12 @@ class HighsCliqueTable {
152
150
 
153
151
  void propagateAndCleanup(HighsDomain& globaldom);
154
152
 
155
- void queryNeighborhood(std::vector<HighsInt>& neighborhoodInds,
156
- int64_t& numNeighborhoodqueries, CliqueVar v,
157
- CliqueVar* q, HighsInt N) const;
153
+ void queryNeighbourhood(std::vector<HighsInt>& neighbourhoodInds,
154
+ int64_t& numNeighbourhoodqueries, CliqueVar v,
155
+ CliqueVar* q, HighsInt N) const;
158
156
 
159
157
  public:
160
- int64_t numNeighborhoodQueries;
158
+ int64_t numNeighbourhoodQueries;
161
159
 
162
160
  HighsCliqueTable(HighsInt ncols) {
163
161
  invertedHashList.resize(2 * ncols);
@@ -166,7 +164,7 @@ class HighsCliqueTable {
166
164
  colsubstituted.resize(ncols);
167
165
  colDeleted.resize(ncols, false);
168
166
  nfixings = 0;
169
- numNeighborhoodQueries = 0;
167
+ numNeighbourhoodQueries = 0;
170
168
  numEntries = 0;
171
169
  maxEntries = kHighsIInf;
172
170
  minEntriesForParallelism = kHighsIInf;
@@ -179,13 +177,13 @@ class HighsCliqueTable {
179
177
 
180
178
  HighsInt getNumEntries() const { return numEntries; }
181
179
 
182
- HighsInt partitionNeighborhood(std::vector<HighsInt>& neighborhoodInds,
183
- int64_t& numNeighborhoodqueries, CliqueVar v,
184
- CliqueVar* q, HighsInt N) const;
180
+ HighsInt partitionNeighbourhood(std::vector<HighsInt>& neighbourhoodInds,
181
+ int64_t& numNeighbourhoodqueries, CliqueVar v,
182
+ CliqueVar* q, HighsInt N) const;
185
183
 
186
- HighsInt shrinkToNeighborhood(std::vector<HighsInt>& neighborhoodInds,
187
- int64_t& numNeighborhoodqueries, CliqueVar v,
188
- CliqueVar* q, HighsInt N);
184
+ HighsInt shrinkToNeighbourhood(std::vector<HighsInt>& neighbourhoodInds,
185
+ int64_t& numNeighbourhoodqueries, CliqueVar v,
186
+ CliqueVar* q, HighsInt N);
189
187
 
190
188
  bool processNewEdge(HighsDomain& globaldom, CliqueVar v1, CliqueVar v2);
191
189
 
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  #ifndef HIGHS_CONFLICTPOOL_H_
14
12
  #define HIGHS_CONFLICTPOOL_H_
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  /**@file mip/HighsCutGeneration.h
14
12
  * @brief Class that generates cuts from single row relaxations
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  #ifndef HIGHS_CUTPOOL_H_
14
12
  #define HIGHS_CUTPOOL_H_
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  /**@file mip/HighsDebugSol.h
14
12
  * @brief Debug solution for MIP solver
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  #ifndef HIGHS_DOMAIN_H_
14
12
  #define HIGHS_DOMAIN_H_
@@ -480,7 +478,9 @@ class HighsDomain {
480
478
  }
481
479
 
482
480
  void fixCol(HighsInt col, double val, Reason reason = Reason::unspecified()) {
483
- assert(infeasible_ == 0);
481
+ if (kAllowDeveloperAssert) {
482
+ assert(infeasible_ == 0);
483
+ }
484
484
  if (col_lower_[col] < val) {
485
485
  changeBound({val, col, HighsBoundType::kLower}, reason);
486
486
  if (infeasible_ == 0) propagate();
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
 
14
12
  #ifndef HIGHS_DOMAIN_CHANGE_H_
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  #ifndef HIGHS_DYNAMIC_ROW_MATRIX_H_
14
12
  #define HIGHS_DYNAMIC_ROW_MATRIX_H_
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  /**@file mip/HighsGFkLU.h
14
12
  * @brief linear system solve in GF(k) for mod-k cut separation
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  #ifndef HIGHS_IMPLICATIONS_H_
14
12
  #define HIGHS_IMPLICATIONS_H_
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  /**@file mip/HighsLpAggregator.h
14
12
  * @brief Class to aggregate rows of the LP
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  #ifndef HIGHS_LP_RELAXATION_H_
14
12
  #define HIGHS_LP_RELAXATION_H_
@@ -2,18 +2,17 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  #ifndef MIP_HIGHS_MIP_SOLVER_H_
14
12
  #define MIP_HIGHS_MIP_SOLVER_H_
15
13
 
16
14
  #include "Highs.h"
15
+ #include "lp_data/HighsCallback.h"
17
16
  #include "lp_data/HighsOptions.h"
18
17
 
19
18
  struct HighsMipSolverData;
@@ -24,6 +23,7 @@ class HighsImplications;
24
23
 
25
24
  class HighsMipSolver {
26
25
  public:
26
+ HighsCallback* callback_;
27
27
  const HighsOptions* options_mip_;
28
28
  const HighsLp* model_;
29
29
  const HighsLp* orig_model_;
@@ -33,10 +33,16 @@ class HighsMipSolver {
33
33
  double bound_violation_;
34
34
  double integrality_violation_;
35
35
  double row_violation_;
36
+ // The following are only to return data to HiGHS, and are set in
37
+ // HighsMipSolver::cleanupSolve
36
38
  double dual_bound_;
37
39
  double primal_bound_;
38
40
  double gap_;
39
41
  int64_t node_count_;
42
+ int64_t total_lp_iterations_;
43
+
44
+ FILE* improving_solution_file_;
45
+ std::vector<HighsObjectiveSolution> saved_objective_and_solution_;
40
46
 
41
47
  bool submip;
42
48
  const HighsBasis* rootbasis;
@@ -74,8 +80,9 @@ class HighsMipSolver {
74
80
  return model_->integrality_[col];
75
81
  }
76
82
 
77
- HighsMipSolver(const HighsOptions& options, const HighsLp& lp,
78
- const HighsSolution& solution, bool submip = false);
83
+ HighsMipSolver(HighsCallback& callback, const HighsOptions& options,
84
+ const HighsLp& lp, const HighsSolution& solution,
85
+ bool submip = false);
79
86
 
80
87
  ~HighsMipSolver();
81
88
 
@@ -86,6 +93,11 @@ class HighsMipSolver {
86
93
 
87
94
  mutable HighsTimer timer_;
88
95
  void cleanupSolve();
96
+
97
+ void runPresolve();
98
+ const HighsLp& getPresolvedModel() const;
99
+ HighsPresolveStatus getPresolveStatus() const;
100
+ presolve::HighsPostsolveStack getPostsolveStack() const;
89
101
  };
90
102
 
91
103
  #endif
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
 
14
12
  #ifndef HIGHS_MIP_SOLVER_DATA_H_
@@ -48,6 +46,7 @@ struct HighsMipSolverData {
48
46
  HighsRedcostFixing redcostfixing;
49
47
  HighsObjectiveFunction objectiveFunction;
50
48
  presolve::HighsPostsolveStack postSolveStack;
49
+ HighsPresolveStatus presolve_status;
51
50
  HighsLp presolvedModel;
52
51
  bool cliquesExtracted;
53
52
  bool rowMatrixSet;
@@ -159,6 +158,7 @@ struct HighsMipSolverData {
159
158
  void checkObjIntegrality();
160
159
  void runPresolve();
161
160
  void setupDomainPropagation();
161
+ void saveReportMipSolution(const double new_upper_limit);
162
162
  void runSetup();
163
163
  double transformNewIncumbent(const std::vector<double>& sol);
164
164
  double percentageInactiveIntegers() const;
@@ -184,6 +184,10 @@ struct HighsMipSolverData {
184
184
  }
185
185
 
186
186
  bool checkLimits(int64_t nodeOffset = 0) const;
187
+ void limitsToBounds(double& dual_bound, double& primal_bound,
188
+ double& mip_rel_gap) const;
189
+ bool interruptFromCallbackWithData(const int callback_type,
190
+ const std::string message = "") const;
187
191
  };
188
192
 
189
193
  #endif
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  /**@file mip/HighsModkSeparator.h
14
12
  * @brief Class for separating maximally violated mod-k MIR cuts.
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
 
14
12
  #ifndef HIGHS_NODE_QUEUE_H_
@@ -288,11 +286,7 @@ class HighsNodeQueue {
288
286
 
289
287
  HighsInt getBestBoundDomchgStackSize() const;
290
288
 
291
- void clear() {
292
- HighsNodeQueue nodequeue;
293
- nodequeue.setNumCol(numCol);
294
- *this = std::move(nodequeue);
295
- }
289
+ void clear();
296
290
 
297
291
  int64_t numNodes() const { return nodes.size() - freeslots.size(); }
298
292
 
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  #ifndef HIGHS_OBJECTIVE_FUNCTION_H_
14
12
  #define HIGHS_OBJECTIVE_FUNCTION_H_
@@ -2,13 +2,11 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2022 at the University of Edinburgh */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
6
7
  /* */
7
8
  /* Available as open-source under the MIT License */
8
9
  /* */
9
- /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */
10
- /* Feldmeier */
11
- /* */
12
10
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13
11
  /**@file mip/HighsPathSeparator.h
14
12
  * @brief Class for separating cuts from heuristically aggregating rows from the