casadi 3.6.3__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 (322) hide show
  1. casadi/_casadi.so +0 -0
  2. casadi/casadi.py +87 -10
  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/highs/highs-config.cmake +18 -4
  11. casadi/cmake/highs/highs-targets-release.cmake +3 -3
  12. casadi/cmake/highs/highs-targets.cmake +1 -1
  13. casadi/cmake/sleqp/sleqp-config-version.cmake +70 -0
  14. casadi/cmake/sleqp/sleqp-config.cmake +1 -0
  15. casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
  16. casadi/cmake/sleqp/sleqp-targets.cmake +102 -0
  17. casadi/cmake/trlib/trlib-config-release.cmake +19 -0
  18. casadi/cmake/trlib/trlib-config-version.cmake +88 -0
  19. casadi/cmake/trlib/trlib-config.cmake +107 -0
  20. casadi/highs +0 -0
  21. casadi/include/casadi/casadi.i +13 -3
  22. casadi/include/casadi/config.h +8 -8
  23. casadi/include/casadi/core/calculus.hpp +1 -1
  24. casadi/include/casadi/core/fmu.hpp +29 -1
  25. casadi/include/casadi/core/nlpsol.hpp +0 -2
  26. casadi/include/casadi/core/serializing_stream.hpp +12 -0
  27. casadi/include/casadi/doc.i +407 -125
  28. casadi/include/casadi/doc_merged.i +324 -70
  29. casadi/include/highs/HConfig.h +4 -7
  30. casadi/include/highs/Highs.h +240 -51
  31. casadi/include/highs/filereaderlp/builder.hpp +12 -13
  32. casadi/include/highs/filereaderlp/model.hpp +32 -35
  33. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  34. casadi/include/highs/interfaces/highs_c_api.h +964 -577
  35. casadi/include/highs/io/Filereader.h +2 -4
  36. casadi/include/highs/io/FilereaderEms.h +2 -4
  37. casadi/include/highs/io/FilereaderLp.h +2 -4
  38. casadi/include/highs/io/FilereaderMps.h +2 -4
  39. casadi/include/highs/io/HMPSIO.h +2 -4
  40. casadi/include/highs/io/HMpsFF.h +2 -4
  41. casadi/include/highs/io/HighsIO.h +19 -13
  42. casadi/include/highs/io/LoadOptions.h +7 -6
  43. casadi/include/highs/ipm/IpxWrapper.h +4 -5
  44. casadi/include/highs/lp_data/HConst.h +60 -15
  45. casadi/include/highs/lp_data/HStruct.h +32 -8
  46. casadi/include/highs/lp_data/HighsAnalysis.h +2 -4
  47. casadi/include/highs/lp_data/HighsCallback.h +33 -0
  48. casadi/include/highs/lp_data/HighsCallbackStruct.h +36 -0
  49. casadi/include/highs/lp_data/HighsDebug.h +2 -4
  50. casadi/include/highs/lp_data/HighsInfo.h +22 -23
  51. casadi/include/highs/lp_data/HighsInfoDebug.h +2 -4
  52. casadi/include/highs/lp_data/HighsLp.h +14 -6
  53. casadi/include/highs/lp_data/HighsLpSolverObject.h +6 -5
  54. casadi/include/highs/lp_data/HighsLpUtils.h +23 -12
  55. casadi/include/highs/lp_data/HighsModelUtils.h +22 -8
  56. casadi/include/highs/lp_data/HighsOptions.h +175 -106
  57. casadi/include/highs/lp_data/HighsRanging.h +2 -4
  58. casadi/include/highs/lp_data/HighsRuntimeOptions.h +21 -6
  59. casadi/include/highs/lp_data/HighsSolution.h +4 -4
  60. casadi/include/highs/lp_data/HighsSolutionDebug.h +2 -4
  61. casadi/include/highs/lp_data/HighsSolve.h +2 -4
  62. casadi/include/highs/lp_data/HighsStatus.h +2 -4
  63. casadi/include/highs/mip/HighsCliqueTable.h +18 -20
  64. casadi/include/highs/mip/HighsConflictPool.h +2 -4
  65. casadi/include/highs/mip/HighsCutGeneration.h +2 -4
  66. casadi/include/highs/mip/HighsCutPool.h +2 -4
  67. casadi/include/highs/mip/HighsDebugSol.h +2 -4
  68. casadi/include/highs/mip/HighsDomain.h +5 -5
  69. casadi/include/highs/mip/HighsDomainChange.h +2 -4
  70. casadi/include/highs/mip/HighsDynamicRowMatrix.h +2 -4
  71. casadi/include/highs/mip/HighsGFkSolve.h +2 -4
  72. casadi/include/highs/mip/HighsImplications.h +2 -4
  73. casadi/include/highs/mip/HighsLpAggregator.h +2 -4
  74. casadi/include/highs/mip/HighsLpRelaxation.h +2 -4
  75. casadi/include/highs/mip/HighsMipSolver.h +18 -6
  76. casadi/include/highs/mip/HighsMipSolverData.h +8 -4
  77. casadi/include/highs/mip/HighsModkSeparator.h +2 -4
  78. casadi/include/highs/mip/HighsNodeQueue.h +3 -9
  79. casadi/include/highs/mip/HighsObjectiveFunction.h +2 -4
  80. casadi/include/highs/mip/HighsPathSeparator.h +2 -4
  81. casadi/include/highs/mip/HighsPrimalHeuristics.h +2 -4
  82. casadi/include/highs/mip/HighsPseudocost.h +2 -4
  83. casadi/include/highs/mip/HighsRedcostFixing.h +2 -4
  84. casadi/include/highs/mip/HighsSearch.h +2 -4
  85. casadi/include/highs/mip/HighsSeparation.h +2 -4
  86. casadi/include/highs/mip/HighsSeparator.h +2 -4
  87. casadi/include/highs/mip/HighsTableauSeparator.h +2 -4
  88. casadi/include/highs/mip/HighsTransformedLp.h +2 -4
  89. casadi/include/highs/model/HighsHessian.h +3 -1
  90. casadi/include/highs/model/HighsModel.h +2 -0
  91. casadi/include/highs/parallel/HighsSpinMutex.h +2 -1
  92. casadi/include/highs/parallel/HighsSplitDeque.h +1 -1
  93. casadi/include/highs/parallel/HighsTaskExecutor.h +10 -2
  94. casadi/include/highs/presolve/HPresolve.h +9 -6
  95. casadi/include/highs/presolve/HPresolveAnalysis.h +5 -4
  96. casadi/include/highs/presolve/HighsPostsolveStack.h +50 -13
  97. casadi/include/highs/presolve/HighsSymmetry.h +2 -4
  98. casadi/include/highs/presolve/ICrash.h +4 -3
  99. casadi/include/highs/presolve/ICrashUtil.h +2 -2
  100. casadi/include/highs/presolve/ICrashX.h +4 -6
  101. casadi/include/highs/presolve/PresolveComponent.h +4 -42
  102. casadi/include/highs/qpsolver/a_asm.hpp +56 -0
  103. casadi/include/highs/qpsolver/a_quass.hpp +12 -0
  104. casadi/include/highs/qpsolver/quass.hpp +1 -4
  105. casadi/include/highs/simplex/HApp.h +14 -16
  106. casadi/include/highs/simplex/HEkk.h +12 -11
  107. casadi/include/highs/simplex/HEkkDual.h +2 -4
  108. casadi/include/highs/simplex/HEkkDualRHS.h +5 -6
  109. casadi/include/highs/simplex/HEkkDualRow.h +2 -4
  110. casadi/include/highs/simplex/HEkkPrimal.h +2 -4
  111. casadi/include/highs/simplex/HSimplex.h +2 -4
  112. casadi/include/highs/simplex/HSimplexDebug.h +2 -4
  113. casadi/include/highs/simplex/HSimplexNla.h +2 -4
  114. casadi/include/highs/simplex/HSimplexReport.h +3 -5
  115. casadi/include/highs/simplex/HighsSimplexAnalysis.h +2 -4
  116. casadi/include/highs/simplex/SimplexConst.h +7 -5
  117. casadi/include/highs/simplex/SimplexStruct.h +11 -5
  118. casadi/include/highs/simplex/SimplexTimer.h +2 -4
  119. casadi/include/highs/test/DevKkt.h +2 -4
  120. casadi/include/highs/test/KktCh2.h +2 -4
  121. casadi/include/highs/util/FactorTimer.h +2 -4
  122. casadi/include/highs/util/HFactor.h +2 -4
  123. casadi/include/highs/util/HFactorConst.h +2 -4
  124. casadi/include/highs/util/HFactorDebug.h +2 -4
  125. casadi/include/highs/util/HSet.h +3 -5
  126. casadi/include/highs/util/HVector.h +2 -4
  127. casadi/include/highs/util/HVectorBase.h +2 -4
  128. casadi/include/highs/util/HighsCDouble.h +2 -4
  129. casadi/include/highs/util/HighsComponent.h +2 -4
  130. casadi/include/highs/util/HighsDataStack.h +3 -5
  131. casadi/include/highs/util/HighsDisjointSets.h +8 -10
  132. casadi/include/highs/util/HighsHash.h +22 -7
  133. casadi/include/highs/util/HighsHashTree.h +25 -7
  134. casadi/include/highs/util/HighsInt.h +2 -4
  135. casadi/include/highs/util/HighsIntegers.h +2 -4
  136. casadi/include/highs/util/HighsLinearSumBounds.h +2 -4
  137. casadi/include/highs/util/HighsMatrixPic.h +2 -4
  138. casadi/include/highs/util/HighsMatrixSlice.h +2 -4
  139. casadi/include/highs/util/HighsMatrixUtils.h +2 -4
  140. casadi/include/highs/util/HighsRandom.h +2 -4
  141. casadi/include/highs/util/HighsRbTree.h +2 -4
  142. casadi/include/highs/util/HighsSort.h +2 -4
  143. casadi/include/highs/util/HighsSparseMatrix.h +11 -7
  144. casadi/include/highs/util/HighsSparseVectorSum.h +2 -4
  145. casadi/include/highs/util/HighsSplay.h +2 -4
  146. casadi/include/highs/util/HighsTimer.h +3 -4
  147. casadi/include/highs/util/HighsUtils.h +14 -4
  148. casadi/include/highs/util/stringutil.h +2 -4
  149. casadi/include/licenses/alpaqa-external/LICENSE +165 -0
  150. casadi/include/licenses/highs-external/LICENSE +1 -1
  151. casadi/include/licenses/sleqp-external/LICENSE +165 -0
  152. casadi/include/licenses/trlib-external/LICENSE +21 -0
  153. casadi/include/trlib/trlib_eigen_inverse.h +118 -0
  154. casadi/include/trlib/trlib_krylov.h +493 -0
  155. casadi/include/trlib/trlib_leftmost.h +181 -0
  156. casadi/include/trlib/trlib_private.h +109 -0
  157. casadi/include/trlib/trlib_quadratic_zero.h +57 -0
  158. casadi/include/trlib/trlib_tri_factor.h +409 -0
  159. casadi/include/trlib/trlib_types.h +36 -0
  160. casadi/lib/libtinyxml2.a +0 -0
  161. casadi/libCbc.la +3 -3
  162. casadi/libCbc.so +0 -0
  163. casadi/libCbc.so.3 +0 -0
  164. casadi/libCbc.so.3.10.11 +0 -0
  165. casadi/libCbcSolver.la +3 -3
  166. casadi/libCbcSolver.so +0 -0
  167. casadi/libCbcSolver.so.3 +0 -0
  168. casadi/libCbcSolver.so.3.10.11 +0 -0
  169. casadi/libCgl.la +2 -2
  170. casadi/libCgl.so +0 -0
  171. casadi/libCgl.so.1 +0 -0
  172. casadi/libCgl.so.1.10.8 +0 -0
  173. casadi/libClp.la +2 -2
  174. casadi/libClp.so +0 -0
  175. casadi/libClp.so.1 +0 -0
  176. casadi/{libClp.so.1.14.7 → libClp.so.1.14.9} +0 -0
  177. casadi/libClpSolver.la +2 -2
  178. casadi/libClpSolver.so +0 -0
  179. casadi/libClpSolver.so.1 +0 -0
  180. casadi/{libClpSolver.so.1.14.7 → libClpSolver.so.1.14.9} +0 -0
  181. casadi/libCoinUtils.la +2 -2
  182. casadi/libCoinUtils.so +0 -0
  183. casadi/libCoinUtils.so.3 +0 -0
  184. casadi/libCoinUtils.so.3.11.10 +0 -0
  185. casadi/libFortranHighs.so +0 -0
  186. casadi/libOsi.la +2 -2
  187. casadi/libOsiCbc.la +3 -3
  188. casadi/libOsiCbc.so +0 -0
  189. casadi/libOsiCbc.so.3 +0 -0
  190. casadi/{libOsiCbc.so.3.10.6 → libOsiCbc.so.3.10.11} +0 -0
  191. casadi/libOsiClp.la +2 -2
  192. casadi/libOsiClp.so +0 -0
  193. casadi/libOsiClp.so.1 +0 -0
  194. casadi/libOsiClp.so.1.14.9 +0 -0
  195. casadi/libOsiCommonTests.la +2 -2
  196. casadi/libOsiCommonTests.so +0 -0
  197. casadi/libOsiCommonTests.so.1 +0 -0
  198. casadi/{libOsiCommonTests.so.1.13.7 → libOsiCommonTests.so.1.13.9} +0 -0
  199. casadi/libalpaqa-dl-loader.so +0 -0
  200. casadi/libalpaqa-dl-loader.so.1.0.0 +0 -0
  201. casadi/libalpaqa.so +0 -0
  202. casadi/libalpaqa.so.1.0.0 +0 -0
  203. casadi/libbonmin.la +3 -3
  204. casadi/libbonmin.so +0 -0
  205. casadi/libbonmin.so.4 +0 -0
  206. casadi/libbonmin.so.4.8.9 +0 -0
  207. casadi/libcasadi.so +0 -0
  208. casadi/libcasadi.so.3.7 +0 -0
  209. casadi/libcasadi_conic_cbc.so +0 -0
  210. casadi/libcasadi_conic_cbc.so.3.7 +0 -0
  211. casadi/libcasadi_conic_clp.so +0 -0
  212. casadi/libcasadi_conic_clp.so.3.7 +0 -0
  213. casadi/libcasadi_conic_gurobi.so +0 -0
  214. casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
  215. casadi/libcasadi_conic_highs.so +0 -0
  216. casadi/libcasadi_conic_highs.so.3.7 +0 -0
  217. casadi/libcasadi_conic_ipqp.so +0 -0
  218. casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
  219. casadi/libcasadi_conic_nlpsol.so +0 -0
  220. casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
  221. casadi/libcasadi_conic_osqp.so +0 -0
  222. casadi/libcasadi_conic_osqp.so.3.7 +0 -0
  223. casadi/libcasadi_conic_proxqp.so +0 -0
  224. casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
  225. casadi/libcasadi_conic_qpoases.so +0 -0
  226. casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
  227. casadi/libcasadi_conic_qrqp.so +0 -0
  228. casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
  229. casadi/libcasadi_conic_superscs.so +0 -0
  230. casadi/libcasadi_conic_superscs.so.3.7 +0 -0
  231. casadi/libcasadi_integrator_collocation.so +0 -0
  232. casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
  233. casadi/libcasadi_integrator_cvodes.so +0 -0
  234. casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
  235. casadi/libcasadi_integrator_idas.so +0 -0
  236. casadi/libcasadi_integrator_idas.so.3.7 +0 -0
  237. casadi/libcasadi_interpolant_bspline.so +0 -0
  238. casadi/libcasadi_interpolant_bspline.so.3.7 +0 -0
  239. casadi/libcasadi_interpolant_linear.so +0 -0
  240. casadi/libcasadi_interpolant_linear.so.3.7 +0 -0
  241. casadi/libcasadi_linsol_lapacklu.so +0 -0
  242. casadi/libcasadi_linsol_lapacklu.so.3.7 +0 -0
  243. casadi/libcasadi_linsol_lapackqr.so +0 -0
  244. casadi/libcasadi_linsol_lapackqr.so.3.7 +0 -0
  245. casadi/libcasadi_linsol_ldl.so +0 -0
  246. casadi/libcasadi_linsol_ldl.so.3.7 +0 -0
  247. casadi/libcasadi_linsol_mumps.so +0 -0
  248. casadi/libcasadi_linsol_mumps.so.3.7 +0 -0
  249. casadi/libcasadi_linsol_qr.so +0 -0
  250. casadi/libcasadi_linsol_qr.so.3.7 +0 -0
  251. casadi/libcasadi_linsol_symbolicqr.so +0 -0
  252. casadi/libcasadi_linsol_symbolicqr.so.3.7 +0 -0
  253. casadi/libcasadi_nlpsol_alpaqa.so +0 -0
  254. casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
  255. casadi/libcasadi_nlpsol_ampl.so +0 -0
  256. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  257. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  258. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  259. casadi/libcasadi_nlpsol_bonmin.so +0 -0
  260. casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
  261. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  262. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  263. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  264. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  265. casadi/libcasadi_nlpsol_knitro.so +0 -0
  266. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  267. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  268. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  269. casadi/libcasadi_nlpsol_sleqp.so +0 -0
  270. casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
  271. casadi/libcasadi_nlpsol_snopt.so +0 -0
  272. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  273. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  274. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  275. casadi/libcasadi_nlpsol_worhp.so +0 -0
  276. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  277. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  278. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  279. casadi/libcasadi_rootfinder_newton.so +0 -0
  280. casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
  281. casadi/libcasadi_sundials_common.so +0 -0
  282. casadi/libcasadi_sundials_common.so.3.7 +0 -0
  283. casadi/libhighs.so +0 -0
  284. casadi/libhighs.so.1.6 +0 -0
  285. casadi/libhighs.so.1.6.0 +0 -0
  286. casadi/libindirect.a +0 -0
  287. casadi/liblinsys.a +0 -0
  288. casadi/libosqp.a +0 -0
  289. casadi/libqdldl.a +0 -0
  290. casadi/libsleqp.so +0 -0
  291. casadi/libsleqp.so.1.0.1 +0 -0
  292. casadi/libspral.a +0 -0
  293. casadi/libsuperscs.a +0 -0
  294. casadi/libtrlib.so +0 -0
  295. casadi/libtrlib.so.0.4 +0 -0
  296. casadi/pkgconfig/blas.pc +11 -0
  297. casadi/pkgconfig/bonmin.pc +1 -1
  298. casadi/pkgconfig/casadi.pc +1 -1
  299. casadi/pkgconfig/cbc.pc +2 -2
  300. casadi/pkgconfig/cgl.pc +2 -2
  301. casadi/pkgconfig/clp.pc +1 -1
  302. casadi/pkgconfig/coinutils.pc +1 -1
  303. casadi/pkgconfig/highs.pc +3 -3
  304. casadi/pkgconfig/lapack.pc +11 -0
  305. casadi/pkgconfig/openblas.pc +1 -1
  306. casadi/pkgconfig/osi-cbc.pc +1 -1
  307. casadi/pkgconfig/osi-clp.pc +1 -1
  308. casadi/pkgconfig/osi-unittests.pc +1 -1
  309. casadi/pkgconfig/osi.pc +1 -1
  310. casadi/pkgconfig/sleqp.pc +10 -0
  311. {casadi-3.6.3.dist-info → casadi-3.6.4.dist-info}/METADATA +1 -1
  312. {casadi-3.6.3.dist-info → casadi-3.6.4.dist-info}/RECORD +314 -274
  313. casadi/libCbc.so.3.10.6 +0 -0
  314. casadi/libCbcSolver.so.3.10.6 +0 -0
  315. casadi/libCgl.so.1.10.4 +0 -0
  316. casadi/libCoinUtils.so.3.11.6 +0 -0
  317. casadi/libOsiClp.so.1.14.7 +0 -0
  318. casadi/libbonmin.so.4.8.8 +0 -0
  319. casadi/libhighs.so.1.4 +0 -0
  320. casadi/libhighs.so.1.4.0 +0 -0
  321. /casadi/{libOsi.so.1.13.7 → libOsi.so.1.13.9} +0 -0
  322. {casadi-3.6.3.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
  /**@file io/Filereader.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 io/FilereaderEms.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 io/FilereaderLp.cpp
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 io/FilereaderMps.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 io/HMPSIO.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 io/HMpsFF.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 io/HighsIO.h
14
12
  * @brief IO methods for HiGHS - currently just print/log messages
@@ -19,17 +17,18 @@
19
17
  #include <array>
20
18
  #include <iostream>
21
19
 
22
- #include "util/HighsInt.h"
20
+ #include "lp_data/HighsCallback.h"
21
+ //#include "util/HighsInt.h"
23
22
 
24
23
  class HighsOptions;
25
24
 
26
25
  const HighsInt kIoBufferSize = 1024; // 65536;
27
26
 
27
+ enum class HighsFileType { kNone = 0, kOther, kMps, kLp, kMd, kHtml };
28
+
28
29
  /**
29
30
  * @brief IO methods for HiGHS - currently just print/log messages
30
31
  */
31
- enum class HighsLogType { kInfo = 1, kDetailed, kVerbose, kWarning, kError };
32
-
33
32
  const char* const HighsLogTypeTag[] = {"", "", "",
34
33
  "", "WARNING: ", "ERROR: "};
35
34
  enum LogDevLevel {
@@ -42,17 +41,21 @@ enum LogDevLevel {
42
41
  };
43
42
 
44
43
  struct HighsLogOptions {
45
- FILE* log_file_stream;
44
+ FILE* log_stream;
46
45
  bool* output_flag;
47
46
  bool* log_to_console;
48
47
  HighsInt* log_dev_level;
49
- void (*log_callback)(HighsLogType, const char*, void*) = nullptr;
50
- void* log_callback_data = nullptr;
48
+ void (*user_log_callback)(HighsLogType, const char*, void*) = nullptr;
49
+ void* user_log_callback_data = nullptr;
50
+ void (*user_callback)(const int, const char*, const HighsCallbackDataOut*,
51
+ HighsCallbackDataIn*, void*) = nullptr;
52
+ void* user_callback_data = nullptr;
53
+ bool user_callback_active = false;
54
+ void clear();
51
55
  };
52
56
 
53
57
  /**
54
- * @brief Write the HiGHS version, compilation date, git hash and
55
- * copyright statement
58
+ * @brief Write the HiGHS version and copyright statement
56
59
  */
57
60
  void highsLogHeader(const HighsLogOptions& log_options);
58
61
 
@@ -88,6 +91,9 @@ void highsReportLogOptions(const HighsLogOptions& log_options_);
88
91
 
89
92
  std::string highsFormatToString(const char* format, ...);
90
93
 
91
- const std::string highsBoolToString(const bool b);
94
+ const std::string highsBoolToString(const bool b,
95
+ const HighsInt field_width = 2);
96
+
97
+ const std::string highsInsertMdEscapes(const std::string from_string);
92
98
 
93
99
  #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 io/LoadOptions.h
14
12
  * @brief
@@ -19,8 +17,11 @@
19
17
 
20
18
  #include "lp_data/HighsOptions.h"
21
19
 
20
+ enum class HighsLoadOptionsStatus { kError = -1, kOk = 0, kEmpty = 1 };
21
+
22
22
  // For extended options to be parsed from filename
23
- bool loadOptionsFromFile(const HighsLogOptions& report_log_options,
24
- HighsOptions& options, const std::string filename);
23
+ HighsLoadOptionsStatus loadOptionsFromFile(
24
+ const HighsLogOptions& report_log_options, HighsOptions& options,
25
+ const std::string filename);
25
26
 
26
27
  #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 ipm/IpxWrapper.h
14
12
  * @brief
@@ -29,7 +27,8 @@ HighsStatus solveLpIpx(HighsLpSolverObject& solver_object);
29
27
  HighsStatus solveLpIpx(const HighsOptions& options, HighsTimer& timer,
30
28
  const HighsLp& lp, HighsBasis& highs_basis,
31
29
  HighsSolution& highs_solution,
32
- HighsModelStatus& model_status, HighsInfo& highs_info);
30
+ HighsModelStatus& model_status, HighsInfo& highs_info,
31
+ HighsCallback& callback);
33
32
 
34
33
  void fillInIpxData(const HighsLp& lp, ipx::Int& num_col, ipx::Int& num_row,
35
34
  std::vector<double>& obj, std::vector<double>& col_lb,
@@ -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/HConst.h
14
12
  * @brief Constants for HiGHS
@@ -22,6 +20,10 @@
22
20
 
23
21
  #include "util/HighsInt.h"
24
22
 
23
+ const std::string kHighsCopyrightStatement =
24
+ "Copyright (c) 2023 HiGHS under MIT licence terms";
25
+
26
+ const size_t kHighsSize_tInf = std::numeric_limits<size_t>::max();
25
27
  const HighsInt kHighsIInf = std::numeric_limits<HighsInt>::max();
26
28
  const double kHighsInf = std::numeric_limits<double>::infinity();
27
29
  const double kHighsTiny = 1e-14;
@@ -30,11 +32,15 @@ const double kHighsZero = 1e-50;
30
32
  const std::string kHighsOffString = "off";
31
33
  const std::string kHighsChooseString = "choose";
32
34
  const std::string kHighsOnString = "on";
35
+ const HighsInt kHighsMaxStringLength = 512;
33
36
  const HighsInt kSimplexConcurrencyLimit = 8;
34
37
  const double kRunningAverageMultiplier = 0.05;
35
38
 
39
+ const bool kAllowDeveloperAssert = false;
36
40
  const bool kExtendInvertWhenAddingRows = false;
37
41
 
42
+ enum class HighsLogType { kInfo = 1, kDetailed, kVerbose, kWarning, kError };
43
+
38
44
  enum SimplexScaleStrategy {
39
45
  kSimplexScaleStrategyMin = 0,
40
46
  kSimplexScaleStrategyOff = kSimplexScaleStrategyMin, // 0
@@ -99,6 +105,16 @@ enum OptionOffChooseOn {
99
105
  kHighsOptionOn
100
106
  };
101
107
 
108
+ enum IpxDualizeStrategy {
109
+ kIpxDualizeStrategyOff = kHighsOptionOff,
110
+ kIpxDualizeStrategyChoose = kHighsOptionChoose,
111
+ kIpxDualizeStrategyOn = kHighsOptionOn,
112
+ kIpxDualizeStrategyLukas,
113
+ kIpxDualizeStrategyFilippo,
114
+ kIpxDualizeStrategyMin = kIpxDualizeStrategyOff,
115
+ kIpxDualizeStrategyMax = kIpxDualizeStrategyFilippo,
116
+ };
117
+
102
118
  /** SCIP/HiGHS Objective sense */
103
119
  enum class ObjSense { kMinimize = 1, kMaximize = -1 };
104
120
 
@@ -127,8 +143,9 @@ enum SolutionStyle {
127
143
  kSolutionStylePretty, // 1;
128
144
  kSolutionStyleGlpsolRaw, // 2;
129
145
  kSolutionStyleGlpsolPretty, // 3;
146
+ kSolutionStyleSparse, // 4;
130
147
  kSolutionStyleMin = kSolutionStyleOldRaw,
131
- kSolutionStyleMax = kSolutionStyleGlpsolPretty
148
+ kSolutionStyleMax = kSolutionStyleSparse
132
149
  };
133
150
 
134
151
  enum GlpsolCostRowLocation {
@@ -140,9 +157,6 @@ enum GlpsolCostRowLocation {
140
157
 
141
158
  const std::string kHighsFilenameDefault = "";
142
159
 
143
- // Need to allow infinite costs to pass SCIP LPI unit tests
144
- const bool kHighsAllowInfiniteCosts = true;
145
-
146
160
  enum class HighsPresolveStatus {
147
161
  kNotPresolved = -1,
148
162
  kNotReduced,
@@ -151,8 +165,16 @@ enum class HighsPresolveStatus {
151
165
  kReduced,
152
166
  kReducedToEmpty,
153
167
  kTimeout,
154
- kNullError,
155
- kOptionsError,
168
+ kNullError, // V2.0: Delete since it's not used!
169
+ kOptionsError, // V2.0: Delete since it's not used!
170
+ kNotSet,
171
+ };
172
+
173
+ enum class HighsPostsolveStatus { // V2.0: Delete if not used!
174
+ kNotPresolved = -1,
175
+ kNoPrimalSolutionError,
176
+ kSolutionRecovered,
177
+ kBasisError
156
178
  };
157
179
 
158
180
  enum class HighsModelStatus {
@@ -160,11 +182,11 @@ enum class HighsModelStatus {
160
182
  // values is unchanged, since enums are not preserved in some
161
183
  // interfaces
162
184
  kNotset = 0,
163
- kLoadError,
185
+ kLoadError, // V2.0: Delete since it's not used!
164
186
  kModelError,
165
- kPresolveError,
187
+ kPresolveError, // V2.0: Delete since it's not used!
166
188
  kSolveError,
167
- kPostsolveError,
189
+ kPostsolveError, // V2.0: Delete if not used! Add to documentation if used
168
190
  kModelEmpty,
169
191
  kOptimal,
170
192
  kInfeasible,
@@ -174,9 +196,26 @@ enum class HighsModelStatus {
174
196
  kObjectiveTarget,
175
197
  kTimeLimit,
176
198
  kIterationLimit,
199
+ // V2.0: put kUnknown after kSolutionLimit and kInterrupt - and then
200
+ // modify kMax and highs_c_api.h, highs_csharp_api.cs,
201
+ // highspy/highs_bindings.cpp
177
202
  kUnknown,
203
+ kSolutionLimit,
204
+ kInterrupt,
178
205
  kMin = kNotset,
179
- kMax = kUnknown
206
+ kMax = kInterrupt
207
+ };
208
+
209
+ enum HighsCallbackType : int {
210
+ kCallbackMin = 0,
211
+ kCallbackLogging = kCallbackMin,
212
+ kCallbackSimplexInterrupt,
213
+ kCallbackIpmInterrupt,
214
+ kCallbackMipImprovingSolution,
215
+ kCallbackMipLogging,
216
+ kCallbackMipInterrupt,
217
+ kCallbackMax = kCallbackMipInterrupt,
218
+ kNumCallbackType
180
219
  };
181
220
 
182
221
  /** SCIP/CPLEX-like HiGHS basis status for columns and rows. */
@@ -185,7 +224,7 @@ enum class HighsBasisStatus : uint8_t {
185
224
  0, // (slack) variable is at its lower bound [including fixed variables]
186
225
  kBasic, // (slack) variable is basic
187
226
  kUpper, // (slack) variable is at its upper bound
188
- kZero, // free variable is non-basic and set to zero
227
+ kZero, // free variable is nonbasic and set to zero
189
228
  kNonbasic // nonbasic with no specific bound information - useful for users
190
229
  // and postsolve
191
230
  };
@@ -232,6 +271,12 @@ const HighsInt kHighsIllegalErrorIndex = -1;
232
271
  // Maximum upper bound on semi-variables
233
272
  const double kMaxSemiVariableUpper = 1e5;
234
273
 
274
+ // Limit on primal values being realistic
275
+ const double kExcessivePrimalValue = 1e25;
276
+
277
+ // Hash marker for duplicates
278
+ const HighsInt kHashIsDuplicate = -1;
279
+
235
280
  // Tolerance values for highsDoubleToString
236
281
  const double kModelValueToStringTolerance = 1e-15;
237
282
  const double kRangingValueToStringTolerance = 1e-13;
@@ -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/HStruct.h
14
12
  * @brief Structs for HiGHS
@@ -16,6 +14,7 @@
16
14
  #ifndef LP_DATA_HSTRUCT_H_
17
15
  #define LP_DATA_HSTRUCT_H_
18
16
 
17
+ #include <unordered_map>
19
18
  #include <vector>
20
19
 
21
20
  #include "lp_data/HConst.h"
@@ -38,6 +37,12 @@ struct HighsSolution {
38
37
  void clear();
39
38
  };
40
39
 
40
+ struct HighsObjectiveSolution {
41
+ double objective;
42
+ std::vector<double> col_value;
43
+ void clear();
44
+ };
45
+
41
46
  struct RefactorInfo {
42
47
  bool use = false;
43
48
  std::vector<HighsInt> pivot_row;
@@ -78,14 +83,33 @@ struct HighsScale {
78
83
  };
79
84
 
80
85
  struct HighsLpMods {
81
- std::vector<HighsInt> save_semi_variable_lower_bound_index;
82
- std::vector<double> save_semi_variable_lower_bound_value;
83
- std::vector<HighsInt> save_semi_variable_upper_bound_index;
84
- std::vector<double> save_semi_variable_upper_bound_value;
86
+ std::vector<HighsInt> save_non_semi_variable_index;
87
+ std::vector<HighsInt> save_inconsistent_semi_variable_index;
88
+ std::vector<double> save_inconsistent_semi_variable_lower_bound_value;
89
+ std::vector<double> save_inconsistent_semi_variable_upper_bound_value;
90
+ std::vector<HighsVarType> save_inconsistent_semi_variable_type;
91
+
92
+ std::vector<HighsInt> save_relaxed_semi_variable_lower_bound_index;
93
+ std::vector<double> save_relaxed_semi_variable_lower_bound_value;
94
+ std::vector<HighsInt> save_tightened_semi_variable_upper_bound_index;
95
+ std::vector<double> save_tightened_semi_variable_upper_bound_value;
96
+
97
+ std::vector<HighsInt> save_inf_cost_variable_index;
98
+ std::vector<double> save_inf_cost_variable_cost;
99
+ std::vector<double> save_inf_cost_variable_lower;
100
+ std::vector<double> save_inf_cost_variable_upper;
101
+
85
102
  void clear();
86
103
  bool isClear();
87
104
  };
88
105
 
106
+ struct HighsNameHash {
107
+ std::unordered_map<std::string, int> name2index;
108
+ void form(const std::vector<std::string>& name);
109
+ bool hasDuplicate(const std::vector<std::string>& name);
110
+ void clear();
111
+ };
112
+
89
113
  struct HighsPresolveRuleLog {
90
114
  HighsInt call;
91
115
  HighsInt col_removed;
@@ -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/HighsAnalysis.h
14
12
  * @brief
@@ -0,0 +1,33 @@
1
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2
+ /* */
3
+ /* This file is part of the HiGHS linear optimization suite */
4
+ /* */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
7
+ /* */
8
+ /* Available as open-source under the MIT License */
9
+ /* */
10
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
11
+ /**@file lp_data/HighsCallback.h
12
+ * @brief
13
+ */
14
+ #ifndef LP_DATA_HIGHSCALLBACK_H_
15
+ #define LP_DATA_HIGHSCALLBACK_H_
16
+
17
+ #include "lp_data/HStruct.h"
18
+ #include "lp_data/HighsCallbackStruct.h"
19
+
20
+ struct HighsCallback {
21
+ void (*user_callback)(const int, const char*, const HighsCallbackDataOut*,
22
+ HighsCallbackDataIn*, void*) = nullptr;
23
+ void* user_callback_data = nullptr;
24
+ std::vector<bool> active;
25
+ HighsCallbackDataOut data_out;
26
+ HighsCallbackDataIn data_in;
27
+ bool callbackActive(const int callback_type);
28
+ bool callbackAction(const int callback_type, std::string message = "");
29
+ void clearHighsCallbackDataOut();
30
+ void clearHighsCallbackDataIn();
31
+ void clear();
32
+ };
33
+ #endif /* LP_DATA_HIGHSCALLBACK_H_ */
@@ -0,0 +1,36 @@
1
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2
+ /* */
3
+ /* This file is part of the HiGHS linear optimization suite */
4
+ /* */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
7
+ /* */
8
+ /* Available as open-source under the MIT License */
9
+ /* */
10
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
11
+ /**@file lp_data/HighsCallbackStruct.h
12
+ * @brief
13
+ */
14
+ #ifndef LP_DATA_HIGHSCALLBACKSTRUCT_H_
15
+ #define LP_DATA_HIGHSCALLBACKSTRUCT_H_
16
+
17
+ #include "util/HighsInt.h"
18
+
19
+ struct HighsCallbackDataOut {
20
+ int log_type; // cast of HighsLogType
21
+ double running_time;
22
+ HighsInt simplex_iteration_count;
23
+ HighsInt ipm_iteration_count;
24
+ double objective_function_value;
25
+ int64_t mip_node_count;
26
+ double mip_primal_bound;
27
+ double mip_dual_bound;
28
+ double mip_gap;
29
+ double* mip_solution;
30
+ };
31
+
32
+ struct HighsCallbackDataIn {
33
+ int user_interrupt;
34
+ };
35
+
36
+ #endif /* LP_DATA_HIGHSCALLBACKSTRUCT_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 lp_data/HighsDebug.h
14
12
  * @brief