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 lp_data/HighsInfo.h
14
12
  * @brief
@@ -89,38 +87,45 @@ class InfoRecordDouble : public InfoRecord {
89
87
  virtual ~InfoRecordDouble() {}
90
88
  };
91
89
 
92
- InfoStatus getInfoIndex(const HighsOptions& options, const std::string& name,
90
+ InfoStatus getInfoIndex(const HighsLogOptions& report_log_options,
91
+ const std::string& name,
93
92
  const std::vector<InfoRecord*>& info_records,
94
93
  HighsInt& index);
95
94
 
96
- InfoStatus checkInfo(const HighsOptions& options,
95
+ InfoStatus checkInfo(const HighsLogOptions& report_log_options,
97
96
  const std::vector<InfoRecord*>& info_records);
98
97
  InfoStatus checkInfo(const InfoRecordInt& info);
99
98
  InfoStatus checkInfo(const InfoRecordDouble& info);
100
99
 
101
- InfoStatus getLocalInfoValue(const HighsOptions& options,
100
+ InfoStatus getLocalInfoValue(const HighsLogOptions& report_log_options,
102
101
  const std::string& name, const bool valid,
103
102
  const std::vector<InfoRecord*>& info_records,
104
103
  int64_t& value);
105
- InfoStatus getLocalInfoValue(const HighsOptions& options,
104
+ InfoStatus getLocalInfoValue(const HighsLogOptions& report_log_options,
106
105
  const std::string& name, const bool valid,
107
106
  const std::vector<InfoRecord*>& info_records,
108
107
  HighsInt& value);
109
- InfoStatus getLocalInfoValue(const HighsOptions& options,
108
+ InfoStatus getLocalInfoValue(const HighsLogOptions& report_log_options,
110
109
  const std::string& name, const bool valid,
111
110
  const std::vector<InfoRecord*>& info_records,
112
111
  double& value);
113
112
 
114
- HighsStatus writeInfoToFile(FILE* file, const bool valid,
113
+ InfoStatus getLocalInfoType(const HighsLogOptions& report_log_options,
114
+ const std::string& name,
115
115
  const std::vector<InfoRecord*>& info_records,
116
- const bool html = false);
116
+ HighsInfoType& type);
117
+
118
+ HighsStatus writeInfoToFile(
119
+ FILE* file, const bool valid, const std::vector<InfoRecord*>& info_records,
120
+ const HighsFileType file_type = HighsFileType::kOther);
117
121
  void reportInfo(FILE* file, const std::vector<InfoRecord*>& info_records,
118
- const bool html = false);
122
+ const HighsFileType file_type = HighsFileType::kOther);
119
123
  void reportInfo(FILE* file, const InfoRecordInt64& info,
120
- const bool html = false);
121
- void reportInfo(FILE* file, const InfoRecordInt& info, const bool html = false);
124
+ const HighsFileType file_type = HighsFileType::kOther);
125
+ void reportInfo(FILE* file, const InfoRecordInt& info,
126
+ const HighsFileType file_type = HighsFileType::kOther);
122
127
  void reportInfo(FILE* file, const InfoRecordDouble& info,
123
- const bool html = false);
128
+ const HighsFileType file_type = HighsFileType::kOther);
124
129
 
125
130
  // For now, but later change so HiGHS properties are string based so that new
126
131
  // info (for debug and testing too) can be added easily. The info below
@@ -132,8 +137,8 @@ struct HighsInfoStruct {
132
137
  int64_t mip_node_count;
133
138
  HighsInt simplex_iteration_count;
134
139
  HighsInt ipm_iteration_count;
135
- HighsInt qp_iteration_count;
136
140
  HighsInt crossover_iteration_count;
141
+ HighsInt qp_iteration_count;
137
142
  HighsInt primal_solution_status;
138
143
  HighsInt dual_solution_status;
139
144
  HighsInt basis_validity;
@@ -194,8 +199,7 @@ class HighsInfo : public HighsInfoStruct {
194
199
  InfoRecordInt64* record_int64;
195
200
  InfoRecordInt* record_int;
196
201
  InfoRecordDouble* record_double;
197
- bool advanced;
198
- advanced = false;
202
+ const bool advanced = false; // Not used
199
203
 
200
204
  record_int = new InfoRecordInt("simplex_iteration_count",
201
205
  "Iteration count for simplex solver",
@@ -207,11 +211,6 @@ class HighsInfo : public HighsInfoStruct {
207
211
  &ipm_iteration_count, 0);
208
212
  records.push_back(record_int);
209
213
 
210
- record_int =
211
- new InfoRecordInt("qp_iteration_count", "Iteration count for QP solver",
212
- advanced, &qp_iteration_count, 0);
213
- records.push_back(record_int);
214
-
215
214
  record_int = new InfoRecordInt("crossover_iteration_count",
216
215
  "Iteration count for crossover", advanced,
217
216
  &crossover_iteration_count, 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 lp_data/HighsInfoDebug.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/HighsLp.h
14
12
  * @brief
@@ -17,7 +15,6 @@
17
15
  #define LP_DATA_HIGHS_LP_H_
18
16
 
19
17
  #include <string>
20
- #include <vector>
21
18
 
22
19
  #include "lp_data/HStruct.h"
23
20
  #include "util/HighsSparseMatrix.h"
@@ -43,22 +40,31 @@ class HighsLp {
43
40
  std::string model_name_;
44
41
  std::string objective_name_;
45
42
 
43
+ HighsInt new_col_name_ix_ = 0;
44
+ HighsInt new_row_name_ix_ = 0;
46
45
  std::vector<std::string> col_names_;
47
46
  std::vector<std::string> row_names_;
48
47
 
49
48
  std::vector<HighsVarType> integrality_;
50
49
 
50
+ HighsNameHash col_hash_;
51
+ HighsNameHash row_hash_;
52
+
51
53
  HighsScale scale_;
52
54
  bool is_scaled_;
53
55
  bool is_moved_;
54
56
  HighsInt cost_row_location_;
57
+ bool has_infinite_cost_;
55
58
  HighsLpMods mods_;
56
59
 
57
- bool operator==(const HighsLp& lp);
60
+ bool operator==(const HighsLp& lp) const;
58
61
  bool equalButForNames(const HighsLp& lp) const;
62
+ bool equalNames(const HighsLp& lp) const;
59
63
  bool isMip() const;
60
64
  bool hasSemiVariables() const;
65
+ bool hasInfiniteCost(const double infinite_cost) const;
61
66
  double objectiveValue(const std::vector<double>& solution) const;
67
+ HighsCDouble objectiveCDoubleValue(const std::vector<double>& solution) const;
62
68
  void setMatrixDimensions();
63
69
  void setFormat(const MatrixFormat format);
64
70
  void ensureColwise() { this->a_matrix_.ensureColwise(); };
@@ -70,6 +76,8 @@ class HighsLp {
70
76
  void unapplyScale();
71
77
  void moveBackLpAndUnapplyScaling(HighsLp& lp);
72
78
  void exactResize();
79
+ void addColNames(const std::string name, const HighsInt num_new_col = 1);
80
+ void addRowNames(const std::string name, const HighsInt num_new_row = 1);
73
81
  void unapplyMods();
74
82
  void clear();
75
83
  };
@@ -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 simplex/HighsLpSolverObject.h
14
12
  * @brief Collection of class instances required to solve an LP
@@ -24,12 +22,14 @@ class HighsLpSolverObject {
24
22
  public:
25
23
  HighsLpSolverObject(HighsLp& lp, HighsBasis& basis, HighsSolution& solution,
26
24
  HighsInfo& highs_info, HEkk& ekk_instance,
27
- HighsOptions& options, HighsTimer& timer)
25
+ HighsCallback& callback, HighsOptions& options,
26
+ HighsTimer& timer)
28
27
  : lp_(lp),
29
28
  basis_(basis),
30
29
  solution_(solution),
31
30
  highs_info_(highs_info),
32
31
  ekk_instance_(ekk_instance),
32
+ callback_(callback),
33
33
  options_(options),
34
34
  timer_(timer) {}
35
35
 
@@ -38,6 +38,7 @@ class HighsLpSolverObject {
38
38
  HighsSolution& solution_;
39
39
  HighsInfo& highs_info_;
40
40
  HEkk& ekk_instance_;
41
+ HighsCallback& callback_;
41
42
  HighsOptions& options_;
42
43
  HighsTimer& timer_;
43
44
 
@@ -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/HighsLpUtils.h
14
12
  * @brief Class-independent utilities for HiGHS
@@ -47,13 +45,15 @@ bool lpDimensionsOk(std::string message, const HighsLp& lp,
47
45
 
48
46
  HighsStatus assessCosts(const HighsOptions& options, const HighsInt ml_col_os,
49
47
  const HighsIndexCollection& index_collection,
50
- vector<double>& cost, const double infinite_cost);
48
+ vector<double>& cost, bool& has_infinite_cost,
49
+ const double infinite_cost);
51
50
 
52
51
  HighsStatus assessBounds(const HighsOptions& options, const char* type,
53
52
  const HighsInt ml_ix_os,
54
53
  const HighsIndexCollection& index_collection,
55
54
  vector<double>& lower, vector<double>& upper,
56
- const double infinite_bound);
55
+ const double infinite_bound,
56
+ const HighsVarType* integrality = nullptr);
57
57
 
58
58
  HighsStatus cleanBounds(const HighsOptions& options, HighsLp& lp);
59
59
 
@@ -63,7 +63,8 @@ bool activeModifiedUpperBounds(const HighsOptions& options, const HighsLp& lp,
63
63
  const std::vector<double> col_value);
64
64
 
65
65
  bool considerScaling(const HighsOptions& options, HighsLp& lp);
66
- void scaleLp(const HighsOptions& options, HighsLp& lp);
66
+ void scaleLp(const HighsOptions& options, HighsLp& lp,
67
+ const bool force_scaling = false);
67
68
  bool equilibrationScaleMatrix(const HighsOptions& options, HighsLp& lp,
68
69
  const HighsInt use_scale_strategy);
69
70
  bool maxValueScaleMatrix(const HighsOptions& options, HighsLp& lp,
@@ -106,7 +107,8 @@ void changeLpIntegrality(HighsLp& lp,
106
107
  const vector<HighsVarType>& new_integrality);
107
108
 
108
109
  void changeLpCosts(HighsLp& lp, const HighsIndexCollection& index_collection,
109
- const vector<double>& new_col_cost);
110
+ const vector<double>& new_col_cost,
111
+ const double infinite_cost);
110
112
 
111
113
  void changeLpColBounds(HighsLp& lp,
112
114
  const HighsIndexCollection& index_collection,
@@ -214,16 +216,25 @@ bool readSolutionFileKeywordLineOk(std::string& keyword,
214
216
  bool readSolutionFileHashKeywordIntLineOk(std::string& keyword, HighsInt& value,
215
217
  std::ifstream& in_file);
216
218
  bool readSolutionFileIdDoubleLineOk(double& value, std::ifstream& in_file);
219
+ bool readSolutionFileIdDoubleIntLineOk(double& value, HighsInt& index,
220
+ std::ifstream& in_file);
221
+
222
+ void assessColPrimalSolution(const HighsOptions& options, const double primal,
223
+ const double lower, const double upper,
224
+ const HighsVarType type, double& col_infeasibility,
225
+ double& integer_infeasibility);
217
226
 
218
- HighsStatus checkLpSolutionFeasibility(const HighsOptions& options,
219
- const HighsLp& lp,
220
- const HighsSolution& solution);
227
+ HighsStatus assessLpPrimalSolution(const HighsOptions& options,
228
+ const HighsLp& lp,
229
+ const HighsSolution& solution, bool& valid,
230
+ bool& integral, bool& feasible);
221
231
 
222
232
  HighsStatus calculateRowValues(const HighsLp& lp,
223
233
  const std::vector<double>& col_value,
224
234
  std::vector<double>& row_value);
225
235
  HighsStatus calculateRowValues(const HighsLp& lp, HighsSolution& solution);
226
- HighsStatus calculateRowValuesQuad(const HighsLp& lp, HighsSolution& solution);
236
+ HighsStatus calculateRowValuesQuad(const HighsLp& lp, HighsSolution& solution,
237
+ const HighsInt report_row = -1);
227
238
  HighsStatus calculateColDuals(const HighsLp& lp, HighsSolution& solution);
228
239
 
229
240
  bool isBoundInfeasible(const HighsLogOptions& log_options, const HighsLp& 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
  /**@file lp_data/HighsModelUtils.h
14
12
  * @brief Class-independent utilities for HiGHS
@@ -16,10 +14,10 @@
16
14
  #ifndef LP_DATA_HIGHSMODELUTILS_H_
17
15
  #define LP_DATA_HIGHSMODELUTILS_H_
18
16
 
19
- // #include "Highs.h"
20
- // #include "lp_data/HighsStatus.h"
21
17
  #include "lp_data/HighsInfo.h"
22
18
  #include "model/HighsModel.h"
19
+ // #include "Highs.h"
20
+ // #include "lp_data/HighsStatus.h"
23
21
  // #include "lp_data/HStruct.h"
24
22
  // #include "lp_data/HighsInfo.h"
25
23
  // #include "lp_data/HighsLp.h"
@@ -40,8 +38,22 @@ void writeModelBoundSolution(
40
38
  const std::vector<double>& dual, const bool have_basis,
41
39
  const std::vector<HighsBasisStatus>& status,
42
40
  const HighsVarType* integrality = NULL);
43
- void writeModelSolution(FILE* file, const HighsLp& lp,
44
- const HighsSolution& solution, const HighsInfo& info);
41
+
42
+ void writeModelObjective(FILE* file, const HighsModel& model,
43
+ const std::vector<double>& primal_solution);
44
+
45
+ void writeLpObjective(FILE* file, const HighsLp& lp,
46
+ const std::vector<double>& primal_solution);
47
+
48
+ void writeObjectiveValue(FILE* file, const double objective_value);
49
+
50
+ void writePrimalSolution(FILE* file, const HighsLp& lp,
51
+ const std::vector<double>& primal_solution,
52
+ const bool sparse = false);
53
+
54
+ void writeModelSolution(FILE* file, const HighsModel& model,
55
+ const HighsSolution& solution, const HighsInfo& info,
56
+ const bool sparse = false);
45
57
 
46
58
  HighsInt maxNameLength(const HighsInt num_name,
47
59
  const std::vector<std::string>& names);
@@ -92,4 +104,6 @@ std::string typeToString(const HighsVarType type);
92
104
  std::string findModelObjectiveName(const HighsLp* lp,
93
105
  const HighsHessian* hessian = nullptr);
94
106
 
107
+ // bool repeatedNames(const std::vector<std::string> name);
108
+
95
109
  #endif