casadi 3.6.7__cp310-none-manylinux2014_x86_64.whl → 3.7.1__cp310-none-manylinux2014_x86_64.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 (419) hide show
  1. casadi/_casadi.so +0 -0
  2. casadi/casadi-cli +0 -0
  3. casadi/casadi.py +6531 -3039
  4. casadi/cbc +0 -0
  5. casadi/clp +0 -0
  6. casadi/cmake/alpaqa/alpaqaTargets-release.cmake +4 -4
  7. casadi/cmake/casadi-config-version.cmake +1 -1
  8. casadi/cmake/casadi-config.cmake +1 -1
  9. casadi/cmake/casadi-targets-release.cmake +5 -5
  10. casadi/cmake/casadi-targets.cmake +5 -5
  11. casadi/cmake/highs/highs-targets-release.cmake +2 -2
  12. casadi/cmake/highs/highs-targets.cmake +1 -1
  13. casadi/cmake/libzip/libzip-config-version.cmake +48 -0
  14. casadi/cmake/libzip/libzip-config.cmake +69 -0
  15. casadi/cmake/libzip/libzip-targets-release.cmake +19 -0
  16. casadi/cmake/{trlib/trlib-config.cmake → libzip/libzip-targets.cmake} +7 -7
  17. casadi/cmake/libzip/modules/FindMbedTLS.cmake +141 -0
  18. casadi/cmake/libzip/modules/FindNettle.cmake +141 -0
  19. casadi/cmake/libzip/modules/Findzstd.cmake +186 -0
  20. casadi/cmake/sleqp/sleqp-targets-release.cmake +2 -2
  21. casadi/highs +0 -0
  22. casadi/include/casadi/casadi.i +276 -47
  23. casadi/include/casadi/config.h +11 -11
  24. casadi/include/casadi/core/archiver.hpp +58 -0
  25. casadi/include/casadi/core/blazing_spline.hpp +47 -0
  26. casadi/include/casadi/core/calculus.hpp +57 -2
  27. casadi/include/casadi/core/callback.hpp +9 -0
  28. casadi/include/casadi/core/casadi_common.hpp +37 -0
  29. casadi/include/casadi/core/casadi_meta.hpp +15 -0
  30. casadi/include/casadi/core/casadi_misc.hpp +21 -0
  31. casadi/include/casadi/core/code_generator.hpp +115 -19
  32. casadi/include/casadi/core/core.hpp +5 -0
  33. casadi/include/casadi/core/dae_builder.hpp +303 -141
  34. casadi/include/casadi/core/dm.hpp +3 -0
  35. casadi/include/casadi/core/filesystem.hpp +58 -0
  36. casadi/include/casadi/core/fmu.hpp +62 -16
  37. casadi/include/casadi/core/function.hpp +24 -0
  38. casadi/include/casadi/core/generic_matrix.hpp +214 -7
  39. casadi/include/casadi/core/generic_shared.hpp +395 -0
  40. casadi/include/casadi/core/generic_shared_impl.hpp +218 -0
  41. casadi/include/casadi/core/generic_shared_internal.hpp +215 -0
  42. casadi/include/casadi/core/generic_type.hpp +3 -0
  43. casadi/include/casadi/core/global_options.hpp +10 -0
  44. casadi/include/casadi/core/integrator.hpp +41 -7
  45. casadi/include/casadi/core/matrix_decl.hpp +71 -0
  46. casadi/include/casadi/core/mx.hpp +63 -2
  47. casadi/include/casadi/core/nlp_builder.hpp +2 -1
  48. casadi/include/casadi/core/options.hpp +6 -3
  49. casadi/include/casadi/core/optistack.hpp +43 -9
  50. casadi/include/casadi/core/printable.hpp +8 -0
  51. casadi/include/casadi/core/resource.hpp +107 -0
  52. casadi/include/casadi/core/runtime/casadi_blazing_1d_boor_eval.hpp +112 -0
  53. casadi/include/casadi/core/runtime/casadi_blazing_2d_boor_eval.hpp +311 -0
  54. casadi/include/casadi/core/runtime/casadi_blazing_3d_boor_eval.hpp +645 -0
  55. casadi/include/casadi/core/runtime/casadi_blazing_de_boor.hpp +101 -0
  56. casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +1 -1
  57. casadi/include/casadi/core/runtime/casadi_nlp.hpp +8 -2
  58. casadi/include/casadi/core/runtime/casadi_print_canonical.hpp +55 -0
  59. casadi/include/casadi/core/runtime/casadi_print_scalar.hpp +25 -0
  60. casadi/include/casadi/core/runtime/casadi_print_vector.hpp +32 -0
  61. casadi/include/casadi/core/runtime/casadi_printme.hpp +26 -0
  62. casadi/include/casadi/core/serializer.hpp +13 -5
  63. casadi/include/casadi/core/serializing_stream.hpp +9 -2
  64. casadi/include/casadi/core/shared_object.hpp +73 -161
  65. casadi/include/casadi/core/sparsity.hpp +13 -1
  66. casadi/include/casadi/core/sparsity_interface.hpp +19 -1
  67. casadi/include/casadi/core/sx.hpp +41 -0
  68. casadi/include/casadi/core/sx_elem.hpp +25 -0
  69. casadi/include/casadi/core/xml_node.hpp +5 -0
  70. casadi/include/casadi/doc.i +10026 -6513
  71. casadi/include/casadi/doc_merged.i +6744 -4449
  72. casadi/include/casadi/valgrind-casadi.supp +138 -0
  73. casadi/include/casadi/valgrind-python.supp +2470 -0
  74. casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +4 -1
  75. casadi/include/ghc/filesystem.hpp +6083 -0
  76. casadi/include/ghc/fs_fwd.hpp +38 -0
  77. casadi/include/ghc/fs_impl.hpp +35 -0
  78. casadi/include/ghc/fs_std.hpp +60 -0
  79. casadi/include/ghc/fs_std_fwd.hpp +63 -0
  80. casadi/include/ghc/fs_std_impl.hpp +46 -0
  81. casadi/include/highs/HConfig.h +6 -4
  82. casadi/include/highs/Highs.h +260 -86
  83. casadi/include/highs/filereaderlp/reader.hpp +10 -10
  84. casadi/include/highs/interfaces/highs_c_api.h +195 -22
  85. casadi/include/highs/io/Filereader.h +4 -6
  86. casadi/include/highs/io/FilereaderEms.h +0 -3
  87. casadi/include/highs/io/FilereaderLp.h +0 -3
  88. casadi/include/highs/io/FilereaderMps.h +0 -3
  89. casadi/include/highs/io/HMPSIO.h +1 -4
  90. casadi/include/highs/io/HMpsFF.h +8 -5
  91. casadi/include/highs/io/HighsIO.h +10 -5
  92. casadi/include/highs/io/LoadOptions.h +0 -3
  93. casadi/include/highs/ipm/IpxSolution.h +0 -3
  94. casadi/include/highs/ipm/IpxWrapper.h +4 -7
  95. casadi/include/highs/ipm/ipx/control.h +1 -0
  96. casadi/include/highs/ipm/ipx/ipx_parameters.h +1 -0
  97. casadi/include/highs/ipm/ipx/lp_solver.h +3 -2
  98. casadi/include/highs/ipm/ipx/model.h +7 -3
  99. casadi/include/highs/lp_data/HConst.h +21 -6
  100. casadi/include/highs/lp_data/HStruct.h +40 -4
  101. casadi/include/highs/lp_data/HighsAnalysis.h +0 -3
  102. casadi/include/highs/lp_data/HighsCallback.h +10 -3
  103. casadi/include/highs/lp_data/HighsCallbackStruct.h +3 -3
  104. casadi/include/highs/lp_data/HighsDebug.h +0 -3
  105. casadi/include/highs/lp_data/HighsIis.h +62 -0
  106. casadi/include/highs/lp_data/HighsInfo.h +50 -43
  107. casadi/include/highs/lp_data/HighsInfoDebug.h +0 -3
  108. casadi/include/highs/lp_data/HighsLp.h +2 -3
  109. casadi/include/highs/lp_data/HighsLpSolverObject.h +0 -3
  110. casadi/include/highs/lp_data/HighsLpUtils.h +38 -6
  111. casadi/include/highs/lp_data/HighsModelUtils.h +21 -18
  112. casadi/include/highs/lp_data/HighsOptions.h +134 -22
  113. casadi/include/highs/lp_data/HighsRanging.h +0 -3
  114. casadi/include/highs/lp_data/HighsSolution.h +10 -3
  115. casadi/include/highs/lp_data/HighsSolutionDebug.h +0 -3
  116. casadi/include/highs/lp_data/HighsSolve.h +0 -3
  117. casadi/include/highs/lp_data/HighsStatus.h +0 -3
  118. casadi/include/highs/mip/HighsCliqueTable.h +3 -3
  119. casadi/include/highs/mip/HighsConflictPool.h +0 -3
  120. casadi/include/highs/mip/HighsCutGeneration.h +13 -3
  121. casadi/include/highs/mip/HighsCutPool.h +0 -3
  122. casadi/include/highs/mip/HighsDebugSol.h +0 -3
  123. casadi/include/highs/mip/HighsDomain.h +16 -4
  124. casadi/include/highs/mip/HighsDomainChange.h +0 -3
  125. casadi/include/highs/mip/HighsDynamicRowMatrix.h +0 -3
  126. casadi/include/highs/mip/HighsGFkSolve.h +3 -6
  127. casadi/include/highs/mip/HighsImplications.h +29 -5
  128. casadi/include/highs/mip/HighsLpAggregator.h +0 -3
  129. casadi/include/highs/mip/HighsLpRelaxation.h +0 -3
  130. casadi/include/highs/mip/HighsMipAnalysis.h +52 -0
  131. casadi/include/highs/mip/HighsMipSolver.h +11 -4
  132. casadi/include/highs/mip/HighsMipSolverData.h +67 -6
  133. casadi/include/highs/mip/HighsModkSeparator.h +1 -4
  134. casadi/include/highs/mip/HighsNodeQueue.h +0 -3
  135. casadi/include/highs/mip/HighsObjectiveFunction.h +0 -3
  136. casadi/include/highs/mip/HighsPathSeparator.h +1 -4
  137. casadi/include/highs/mip/HighsPrimalHeuristics.h +7 -5
  138. casadi/include/highs/mip/HighsPseudocost.h +0 -3
  139. casadi/include/highs/mip/HighsRedcostFixing.h +0 -3
  140. casadi/include/highs/mip/HighsSearch.h +0 -3
  141. casadi/include/highs/mip/HighsSeparation.h +0 -3
  142. casadi/include/highs/mip/HighsSeparator.h +1 -5
  143. casadi/include/highs/mip/HighsTableauSeparator.h +1 -4
  144. casadi/include/highs/mip/HighsTransformedLp.h +0 -3
  145. casadi/include/highs/mip/MipTimer.h +471 -0
  146. casadi/include/highs/parallel/HighsBinarySemaphore.h +1 -1
  147. casadi/include/highs/parallel/HighsCacheAlign.h +1 -1
  148. casadi/include/highs/parallel/HighsCombinable.h +1 -1
  149. casadi/include/highs/parallel/HighsMutex.h +1 -1
  150. casadi/include/highs/parallel/HighsRaceTimer.h +1 -1
  151. casadi/include/highs/parallel/HighsSchedulerConstants.h +1 -1
  152. casadi/include/highs/parallel/HighsSplitDeque.h +1 -1
  153. casadi/include/highs/parallel/HighsTaskExecutor.h +68 -55
  154. casadi/include/highs/pdlp/CupdlpWrapper.h +18 -7
  155. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +2 -3
  156. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +16 -6
  157. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +10 -4
  158. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +3 -3
  159. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +6 -6
  160. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling.h +26 -0
  161. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +11 -11
  162. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +8 -4
  163. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +253 -172
  164. casadi/include/highs/presolve/HPresolve.h +50 -10
  165. casadi/include/highs/presolve/HPresolveAnalysis.h +0 -3
  166. casadi/include/highs/presolve/HighsPostsolveStack.h +39 -6
  167. casadi/include/highs/presolve/HighsSymmetry.h +0 -3
  168. casadi/include/highs/presolve/ICrash.h +0 -3
  169. casadi/include/highs/presolve/ICrashUtil.h +1 -4
  170. casadi/include/highs/presolve/ICrashX.h +0 -3
  171. casadi/include/highs/presolve/PresolveComponent.h +0 -3
  172. casadi/include/highs/qpsolver/a_asm.hpp +20 -17
  173. casadi/include/highs/qpsolver/a_quass.hpp +5 -9
  174. casadi/include/highs/qpsolver/basis.hpp +12 -10
  175. casadi/include/highs/qpsolver/crashsolution.hpp +4 -3
  176. casadi/include/highs/qpsolver/dantzigpricing.hpp +3 -2
  177. casadi/include/highs/qpsolver/devexpricing.hpp +3 -1
  178. casadi/include/highs/qpsolver/factor.hpp +6 -5
  179. casadi/include/highs/qpsolver/feasibility_bounded.hpp +31 -29
  180. casadi/include/highs/qpsolver/feasibility_highs.hpp +94 -70
  181. casadi/include/highs/qpsolver/gradient.hpp +1 -1
  182. casadi/include/highs/qpsolver/instance.hpp +1 -1
  183. casadi/include/highs/qpsolver/pricing.hpp +2 -2
  184. casadi/include/highs/qpsolver/qpconst.hpp +2 -2
  185. casadi/include/highs/qpsolver/quass.hpp +2 -2
  186. casadi/include/highs/qpsolver/runtime.hpp +2 -2
  187. casadi/include/highs/qpsolver/settings.hpp +20 -8
  188. casadi/include/highs/qpsolver/steepestedgepricing.hpp +38 -39
  189. casadi/include/highs/simplex/HApp.h +88 -34
  190. casadi/include/highs/simplex/HEkk.h +24 -11
  191. casadi/include/highs/simplex/HEkkDual.h +2 -4
  192. casadi/include/highs/simplex/HEkkDualRHS.h +0 -3
  193. casadi/include/highs/simplex/HEkkDualRow.h +0 -3
  194. casadi/include/highs/simplex/HEkkPrimal.h +1 -5
  195. casadi/include/highs/simplex/HSimplex.h +0 -3
  196. casadi/include/highs/simplex/HSimplexDebug.h +0 -3
  197. casadi/include/highs/simplex/HSimplexNla.h +0 -26
  198. casadi/include/highs/simplex/HSimplexReport.h +0 -3
  199. casadi/include/highs/simplex/HighsSimplexAnalysis.h +5 -8
  200. casadi/include/highs/simplex/SimplexConst.h +10 -11
  201. casadi/include/highs/simplex/SimplexStruct.h +9 -12
  202. casadi/include/highs/simplex/SimplexTimer.h +83 -101
  203. casadi/include/highs/test/DevKkt.h +0 -3
  204. casadi/include/highs/test/KktCh2.h +0 -3
  205. casadi/include/highs/util/FactorTimer.h +39 -64
  206. casadi/include/highs/util/HFactor.h +4 -4
  207. casadi/include/highs/util/HFactorConst.h +0 -3
  208. casadi/include/highs/util/HFactorDebug.h +0 -3
  209. casadi/include/highs/util/HSet.h +0 -3
  210. casadi/include/highs/util/HVector.h +0 -3
  211. casadi/include/highs/util/HVectorBase.h +1 -4
  212. casadi/include/highs/util/HighsCDouble.h +12 -3
  213. casadi/include/highs/util/HighsComponent.h +0 -3
  214. casadi/include/highs/util/HighsDataStack.h +0 -3
  215. casadi/include/highs/util/HighsDisjointSets.h +0 -3
  216. casadi/include/highs/util/HighsHash.h +9 -12
  217. casadi/include/highs/util/HighsHashTree.h +15 -11
  218. casadi/include/highs/util/HighsInt.h +0 -3
  219. casadi/include/highs/util/HighsIntegers.h +0 -3
  220. casadi/include/highs/util/HighsLinearSumBounds.h +0 -3
  221. casadi/include/highs/util/HighsMatrixPic.h +0 -3
  222. casadi/include/highs/util/HighsMatrixSlice.h +3 -6
  223. casadi/include/highs/util/HighsMatrixUtils.h +0 -3
  224. casadi/include/highs/util/HighsMemoryAllocation.h +11 -3
  225. casadi/include/highs/util/HighsRandom.h +3 -6
  226. casadi/include/highs/util/HighsRbTree.h +0 -3
  227. casadi/include/highs/util/HighsSort.h +0 -3
  228. casadi/include/highs/util/HighsSparseMatrix.h +6 -3
  229. casadi/include/highs/util/HighsSparseVectorSum.h +0 -3
  230. casadi/include/highs/util/HighsSplay.h +0 -3
  231. casadi/include/highs/util/HighsTimer.h +94 -56
  232. casadi/include/highs/util/HighsUtils.h +10 -3
  233. casadi/include/highs/util/stringutil.h +14 -12
  234. casadi/include/licenses/ghc-external/LICENSE +19 -0
  235. casadi/include/licenses/libz-external/LICENSE +22 -0
  236. casadi/include/licenses/libz-external/contrib/dotzlib/LICENSE_1_0.txt +23 -0
  237. casadi/include/licenses/libzip-external/LICENSE +31 -0
  238. casadi/include/sleqp/defs.h +2 -2
  239. casadi/include/zconf.h +545 -0
  240. casadi/include/zip.h +528 -0
  241. casadi/include/zipconf.h +48 -0
  242. casadi/include/zlib.h +1938 -0
  243. casadi/libCbcSolver.so +0 -0
  244. casadi/libCbcSolver.so.3 +0 -0
  245. casadi/libCbcSolver.so.3.10.11 +0 -0
  246. casadi/libClpSolver.so +0 -0
  247. casadi/libClpSolver.so.1 +0 -0
  248. casadi/libClpSolver.so.1.14.9 +0 -0
  249. casadi/libbonmin.so +0 -0
  250. casadi/libbonmin.so.4 +0 -0
  251. casadi/libbonmin.so.4.8.9 +0 -0
  252. casadi/libcasadi.so +0 -0
  253. casadi/libcasadi.so.3.7 +0 -0
  254. casadi/libcasadi_archiver_libzip.so +0 -0
  255. casadi/libcasadi_archiver_libzip.so.3.7 +0 -0
  256. casadi/libcasadi_conic_cbc.so +0 -0
  257. casadi/libcasadi_conic_cbc.so.3.7 +0 -0
  258. casadi/libcasadi_conic_clp.so +0 -0
  259. casadi/libcasadi_conic_clp.so.3.7 +0 -0
  260. casadi/libcasadi_conic_cplex.so +0 -0
  261. casadi/libcasadi_conic_cplex.so.3.7 +0 -0
  262. casadi/libcasadi_conic_daqp.so +0 -0
  263. casadi/libcasadi_conic_daqp.so.3.7 +0 -0
  264. casadi/libcasadi_conic_fatrop.so +0 -0
  265. casadi/libcasadi_conic_fatrop.so.3.7 +0 -0
  266. casadi/libcasadi_conic_gurobi.so +0 -0
  267. casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
  268. casadi/libcasadi_conic_highs.so +0 -0
  269. casadi/libcasadi_conic_highs.so.3.7 +0 -0
  270. casadi/libcasadi_conic_hpipm.so +0 -0
  271. casadi/libcasadi_conic_hpipm.so.3.7 +0 -0
  272. casadi/libcasadi_conic_ipqp.so +0 -0
  273. casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
  274. casadi/libcasadi_conic_nlpsol.so +0 -0
  275. casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
  276. casadi/libcasadi_conic_osqp.so +0 -0
  277. casadi/libcasadi_conic_osqp.so.3.7 +0 -0
  278. casadi/libcasadi_conic_proxqp.so +0 -0
  279. casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
  280. casadi/libcasadi_conic_qpoases.so +0 -0
  281. casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
  282. casadi/libcasadi_conic_qrqp.so +0 -0
  283. casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
  284. casadi/libcasadi_conic_superscs.so +0 -0
  285. casadi/libcasadi_conic_superscs.so.3.7 +0 -0
  286. casadi/libcasadi_filesystem_ghc.so +0 -0
  287. casadi/libcasadi_filesystem_ghc.so.3.7 +0 -0
  288. casadi/libcasadi_importer_shell.so +0 -0
  289. casadi/libcasadi_importer_shell.so.3.7 +0 -0
  290. casadi/libcasadi_integrator_collocation.so +0 -0
  291. casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
  292. casadi/libcasadi_integrator_cvodes.so +0 -0
  293. casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
  294. casadi/libcasadi_integrator_idas.so +0 -0
  295. casadi/libcasadi_integrator_idas.so.3.7 +0 -0
  296. casadi/libcasadi_integrator_rk.so +0 -0
  297. casadi/libcasadi_integrator_rk.so.3.7 +0 -0
  298. casadi/libcasadi_interpolant_bspline.so +0 -0
  299. casadi/libcasadi_interpolant_bspline.so.3.7 +0 -0
  300. casadi/libcasadi_interpolant_linear.so +0 -0
  301. casadi/libcasadi_interpolant_linear.so.3.7 +0 -0
  302. casadi/libcasadi_linsol_csparse.so +0 -0
  303. casadi/libcasadi_linsol_csparse.so.3.7 +0 -0
  304. casadi/libcasadi_linsol_csparsecholesky.so +0 -0
  305. casadi/libcasadi_linsol_csparsecholesky.so.3.7 +0 -0
  306. casadi/libcasadi_linsol_lapacklu.so +0 -0
  307. casadi/libcasadi_linsol_lapacklu.so.3.7 +0 -0
  308. casadi/libcasadi_linsol_lapackqr.so +0 -0
  309. casadi/libcasadi_linsol_lapackqr.so.3.7 +0 -0
  310. casadi/libcasadi_linsol_ldl.so +0 -0
  311. casadi/libcasadi_linsol_ldl.so.3.7 +0 -0
  312. casadi/libcasadi_linsol_lsqr.so +0 -0
  313. casadi/libcasadi_linsol_lsqr.so.3.7 +0 -0
  314. casadi/libcasadi_linsol_ma27.so +0 -0
  315. casadi/libcasadi_linsol_ma27.so.3.7 +0 -0
  316. casadi/libcasadi_linsol_mumps.so +0 -0
  317. casadi/libcasadi_linsol_mumps.so.3.7 +0 -0
  318. casadi/libcasadi_linsol_qr.so +0 -0
  319. casadi/libcasadi_linsol_qr.so.3.7 +0 -0
  320. casadi/libcasadi_linsol_symbolicqr.so +0 -0
  321. casadi/libcasadi_linsol_symbolicqr.so.3.7 +0 -0
  322. casadi/libcasadi_linsol_tridiag.so +0 -0
  323. casadi/libcasadi_linsol_tridiag.so.3.7 +0 -0
  324. casadi/libcasadi_nlpsol_alpaqa.so +0 -0
  325. casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
  326. casadi/libcasadi_nlpsol_ampl.so +0 -0
  327. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  328. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  329. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  330. casadi/libcasadi_nlpsol_bonmin.so +0 -0
  331. casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
  332. casadi/libcasadi_nlpsol_fatrop.so +0 -0
  333. casadi/libcasadi_nlpsol_fatrop.so.3.7 +0 -0
  334. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  335. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  336. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  337. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  338. casadi/libcasadi_nlpsol_knitro.so +0 -0
  339. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  340. casadi/libcasadi_nlpsol_madnlp.so +0 -0
  341. casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
  342. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  343. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  344. casadi/libcasadi_nlpsol_scpgen.so +0 -0
  345. casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
  346. casadi/libcasadi_nlpsol_sleqp.so +0 -0
  347. casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
  348. casadi/libcasadi_nlpsol_snopt.so +0 -0
  349. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  350. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  351. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  352. casadi/libcasadi_nlpsol_worhp.so +0 -0
  353. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  354. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  355. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  356. casadi/libcasadi_rootfinder_kinsol.so +0 -0
  357. casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
  358. casadi/libcasadi_rootfinder_newton.so +0 -0
  359. casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
  360. casadi/libcasadi_rootfinder_nlpsol.so +0 -0
  361. casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
  362. casadi/libcasadi_sundials_common.so +0 -0
  363. casadi/libcasadi_sundials_common.so.3.7 +0 -0
  364. casadi/libcasadi_xmlfile_tinyxml.so +0 -0
  365. casadi/libcasadi_xmlfile_tinyxml.so.3.7 +0 -0
  366. casadi/libcoinmumps.so +0 -0
  367. casadi/libcoinmumps.so.3 +0 -0
  368. casadi/libcoinmumps.so.3.0.1 +0 -0
  369. casadi/libdaqpstat.a +0 -0
  370. casadi/libfatrop.so +0 -0
  371. casadi/libhighs.so +0 -0
  372. casadi/libhighs.so.1 +0 -0
  373. casadi/libhighs.so.1.10.0 +0 -0
  374. casadi/libindirect.a +0 -0
  375. casadi/libipopt.so +0 -0
  376. casadi/libipopt.so.3 +0 -0
  377. casadi/libipopt.so.3.14.11 +0 -0
  378. casadi/liblinsys.a +0 -0
  379. casadi/libosqp.a +0 -0
  380. casadi/libqdldl.a +0 -0
  381. casadi/libsipopt.so +0 -0
  382. casadi/libsipopt.so.3 +0 -0
  383. casadi/libsipopt.so.3.14.11 +0 -0
  384. casadi/libsleqp.so +0 -0
  385. casadi/libsleqp.so.1.0.1 +0 -0
  386. casadi/libspral.a +0 -0
  387. casadi/libsuperscs.a +0 -0
  388. casadi/libz.a +0 -0
  389. casadi/libz.so +0 -0
  390. casadi/libz.so.1 +0 -0
  391. casadi/libz.so.1.3.1 +0 -0
  392. casadi/libzip.a +0 -0
  393. casadi/pkgconfig/casadi.pc +1 -1
  394. casadi/pkgconfig/highs.pc +1 -1
  395. casadi/pkgconfig/libzip.pc +14 -0
  396. casadi/tools/__init__.py +3 -1
  397. casadi/tools/graph/graph.py +1 -1
  398. casadi/tools/structure3.py +7 -7
  399. {casadi-3.6.7.dist-info → casadi-3.7.1.dist-info}/METADATA +1 -1
  400. {casadi-3.6.7.dist-info → casadi-3.7.1.dist-info}/RECORD +400 -368
  401. casadi/cmake/proxsuite/find-external/Simde/FindSimde.cmake +0 -39
  402. casadi/cmake/proxsuite/proxsuiteConfig.cmake +0 -177
  403. casadi/cmake/proxsuite/proxsuiteConfigVersion.cmake +0 -70
  404. casadi/cmake/proxsuite/proxsuiteTargets.cmake +0 -115
  405. casadi/cmake/trlib/trlib-config-release.cmake +0 -19
  406. casadi/cmake/trlib/trlib-config-version.cmake +0 -88
  407. casadi/include/highs/lp_data/HighsRuntimeOptions.h +0 -276
  408. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +0 -28
  409. casadi/include/tinyxml2.h +0 -2380
  410. casadi/lib64/cmake/tinyxml2/tinyxml2-config-version.cmake +0 -70
  411. casadi/lib64/cmake/tinyxml2/tinyxml2-config.cmake +0 -57
  412. casadi/lib64/cmake/tinyxml2/tinyxml2-static-targets-release.cmake +0 -19
  413. casadi/lib64/cmake/tinyxml2/tinyxml2-static-targets.cmake +0 -103
  414. casadi/lib64/libtinyxml2.a +0 -0
  415. casadi/lib64/pkgconfig/tinyxml2.pc +0 -10
  416. casadi/libhighs.so.1.7.2 +0 -0
  417. casadi/pkgconfig/proxsuite.pc +0 -22
  418. casadi/tools/structure.py +0 -1446
  419. {casadi-3.6.7.dist-info → casadi-3.7.1.dist-info}/WHEEL +0 -0
@@ -2,9 +2,6 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
- /* Leona Gottwald and Michael Feldmeier */
7
- /* */
8
5
  /* Available as open-source under the MIT License */
9
6
  /* */
10
7
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -18,7 +15,7 @@
18
15
  // Highs_mipCall or Highs_qpCall, and these methods return the
19
16
  // appropriate solution information
20
17
  //
21
- // For sophisticated applications, where esoteric solutiuon
18
+ // For sophisticated applications, where esoteric solution
22
19
  // information is needed, or if a sequence of modified models need to
23
20
  // be solved, use the Highs_create method to generate a pointer to an
24
21
  // instance of the C++ Highs class, and then use any of a large number
@@ -120,6 +117,8 @@ const char* const kHighsCallbackDataOutPdlpIterationCountName =
120
117
  const char* const kHighsCallbackDataOutObjectiveFunctionValueName =
121
118
  "objective_function_value";
122
119
  const char* const kHighsCallbackDataOutMipNodeCountName = "mip_node_count";
120
+ const char* const kHighsCallbackDataOutMipTotalLpIterationsName =
121
+ "mip_total_lp_iterations";
123
122
  const char* const kHighsCallbackDataOutMipPrimalBoundName = "mip_primal_bound";
124
123
  const char* const kHighsCallbackDataOutMipDualBoundName = "mip_dual_bound";
125
124
  const char* const kHighsCallbackDataOutMipGapName = "mip_gap";
@@ -227,11 +226,14 @@ HighsInt Highs_mipCall(const HighsInt num_col, const HighsInt num_row,
227
226
  * @param q_format The format of the Hessian matrix in the form of a
228
227
  * `kHighsHessianStatus` constant. If q_num_nz > 0, this must
229
228
  * be `kHighsHessianFormatTriangular`.
230
- * @param q_start The Hessian matrix is provided in the same format as the
231
- * constraint matrix, using `q_start`, `q_index`, and `q_value`
232
- * in the place of `a_start`, `a_index`, and `a_value`.
229
+ * @param q_start The Hessian matrix is provided to HiGHS as the lower
230
+ * triangular component in compressed sparse column form
231
+ * (or, equivalently, as the upper triangular component
232
+ * in compressed sparse row form). The sparse matrix consists
233
+ * of three arrays, `q_start`, `q_index`, and `q_value`.
234
+ * `q_start` is an array of length [num_col].
233
235
  * @param q_index An array of length [q_num_nz] with indices of matrix
234
- * sentries.
236
+ * entries.
235
237
  * @param q_value An array of length [q_num_nz] with values of matrix entries.
236
238
  *
237
239
  * @returns A `kHighsStatus` constant indicating whether the call succeeded.
@@ -496,10 +498,13 @@ HighsInt Highs_passMip(void* highs, const HighsInt num_col,
496
498
  * @param a_index An array of length [num_nz] with indices of matrix
497
499
  * entries.
498
500
  * @param a_value An array of length [num_nz] with values of matrix entries.
499
- * @param q_start The Hessian matrix is provided in the same format as the
500
- * constraint matrix, using `q_start`, `q_index`, and
501
- * `q_value` in the place of `a_start`, `a_index`, and
502
- * `a_value`. If the model is linear, pass NULL.
501
+ * @param q_start The Hessian matrix is provided to HiGHS as the lower
502
+ * triangular component in compressed sparse column form
503
+ * (or, equivalently, as the upper triangular component
504
+ * in compressed sparse row form). The sparse matrix consists
505
+ * of three arrays, `q_start`, `q_index`, and `q_value`.
506
+ * `q_start` is an array of length [num_col]. If the model
507
+ * is linear, pass NULL.
503
508
  * @param q_index An array of length [q_num_nz] with indices of matrix
504
509
  * entries. If the model is linear, pass NULL.
505
510
  * @param q_value An array of length [q_num_nz] with values of matrix
@@ -529,11 +534,16 @@ HighsInt Highs_passModel(void* highs, const HighsInt num_col,
529
534
  * @param num_nz The number of non-zero elements in the Hessian matrix.
530
535
  * @param format The format of the Hessian matrix as a `kHighsHessianFormat`
531
536
  * constant. This must be `kHighsHessianFormatTriangular`.
532
- * @param start The Hessian matrix is provided to HiGHS as the upper
533
- * triangular component in compressed sparse column form. The
534
- * sparse matrix consists of three arrays, `start`, `index`,
535
- * and `value`. `start` is an array of length [num_col]
536
- * containing the starting index of each column in `index`.
537
+ * @param start The Hessian matrix is provided to HiGHS as the lower
538
+ * triangular component in compressed sparse column form
539
+ * (or, equivalently, as the upper triangular component
540
+ * in compressed sparse row form), using `q_start`, `q_index`,
541
+ * and `q_value`.The Hessian matrix is provided to HiGHS as the
542
+ * lower triangular component in compressed sparse column form.
543
+ * The sparse matrix consists of three arrays, `start`,
544
+ * `index`, and `value`. `start` is an array of length
545
+ * [num_col] containing the starting index of each column in
546
+ * `index`.
537
547
  * @param index An array of length [num_nz] with indices of matrix entries.
538
548
  * @param value An array of length [num_nz] with values of matrix entries.
539
549
  *
@@ -544,6 +554,72 @@ HighsInt Highs_passHessian(void* highs, const HighsInt dim,
544
554
  const HighsInt* start, const HighsInt* index,
545
555
  const double* value);
546
556
 
557
+ /**
558
+ * Passes multiple linear objective data to HiGHS, clearing any such
559
+ * data already in HiGHS
560
+ *
561
+ * @param highs A pointer to the Highs instance.
562
+ * @param weight A pointer to the weights of the linear objective, with
563
+ * its positive/negative sign determining whether it is
564
+ * minimized or maximized during lexicographic optimization
565
+ * @param offset A pointer to the objective offsets
566
+ * @param coefficients A pointer to the objective coefficients
567
+ * @param abs_tolerance A pointer to the absolute tolerances used when
568
+ * constructing objective constraints during lexicographic
569
+ * optimization
570
+ * @param rel_tolerance A pointer to the relative tolerances used when
571
+ * constructing objective constraints during lexicographic
572
+ * optimization
573
+ * @param priority A pointer to the priorities of the objectives during
574
+ * lexicographic optimization
575
+ *
576
+ * @returns A `kHighsStatus` constant indicating whether the call succeeded.
577
+ */
578
+
579
+ HighsInt Highs_passLinearObjectives(const void* highs,
580
+ const HighsInt num_linear_objective,
581
+ const double* weight, const double* offset,
582
+ const double* coefficients,
583
+ const double* abs_tolerance,
584
+ const double* rel_tolerance,
585
+ const HighsInt* priority);
586
+
587
+ /**
588
+ * Adds linear objective data to HiGHS
589
+ *
590
+ * @param highs A pointer to the Highs instance.
591
+ * @param weight The weight of the linear objective, with its
592
+ * positive/negative sign determining whether it is
593
+ * minimized or maximized during lexicographic
594
+ * optimization
595
+ * @param offset The objective offset
596
+ * @param coefficients A pointer to the objective coefficients
597
+ * @param abs_tolerance The absolute tolerance used when constructing an
598
+ * objective constraint during lexicographic optimization
599
+ * @param rel_tolerance The relative tolerance used when constructing an
600
+ * objective constraint during lexicographic optimization
601
+ * @param priority The priority of this objective during lexicographic
602
+ * optimization
603
+ *
604
+ * @returns A `kHighsStatus` constant indicating whether the call succeeded.
605
+ */
606
+
607
+ HighsInt Highs_addLinearObjective(const void* highs, const double weight,
608
+ const double offset,
609
+ const double* coefficients,
610
+ const double abs_tolerance,
611
+ const double rel_tolerance,
612
+ const HighsInt priority);
613
+
614
+ /**
615
+ * Clears any multiple linear objective data in HiGHS
616
+ *
617
+ * @param highs A pointer to the Highs instance.
618
+ *
619
+ * @returns A `kHighsStatus` constant indicating whether the call succeeded.
620
+ */
621
+
622
+ HighsInt Highs_clearLinearObjectives(const void* highs);
547
623
  /**
548
624
  * Pass the name of a row.
549
625
  *
@@ -568,6 +644,16 @@ HighsInt Highs_passRowName(const void* highs, const HighsInt row,
568
644
  HighsInt Highs_passColName(const void* highs, const HighsInt col,
569
645
  const char* name);
570
646
 
647
+ /**
648
+ * Pass the name of the model.
649
+ *
650
+ * @param highs A pointer to the Highs instance.
651
+ * @param name The name of the model.
652
+ *
653
+ * @returns A `kHighsStatus` constant indicating whether the call succeeded.
654
+ */
655
+ HighsInt Highs_passModelName(const void* highs, const char* name);
656
+
571
657
  /**
572
658
  * Read the option values from file.
573
659
  *
@@ -892,11 +978,13 @@ HighsInt Highs_getBasis(const void* highs, HighsInt* col_status,
892
978
  HighsInt Highs_getModelStatus(const void* highs);
893
979
 
894
980
  /**
895
- * Get an unbounded dual ray that is a certificate of primal infeasibility.
981
+ * Indicates whether a dual ray that is a certificate of primal
982
+ * infeasibility currently exists, and (at the expense of solving an
983
+ * LP) gets it if it does not and dual_ray_value is not nullptr.
896
984
  *
897
985
  * @param highs A pointer to the Highs instance.
898
- * @param has_dual_ray A pointer to an int to store 1 if the dual ray
899
- * exists.
986
+ * @param has_dual_ray A pointer to an int to store 1 if a dual ray
987
+ * currently exists.
900
988
  * @param dual_ray_value An array of length [num_row] filled with the
901
989
  * unbounded ray.
902
990
  *
@@ -906,7 +994,28 @@ HighsInt Highs_getDualRay(const void* highs, HighsInt* has_dual_ray,
906
994
  double* dual_ray_value);
907
995
 
908
996
  /**
909
- * Get an unbounded primal ray that is a certificate of dual infeasibility.
997
+ * Indicates whether a dual unboundedness direction (corresponding to a
998
+ * certificate of primal infeasibility) exists, and (at the expense of
999
+ * solving an LP) gets it if it does not and
1000
+ * dual_unboundedness_direction is not nullptr
1001
+ *
1002
+ * @param highs A pointer to the Highs
1003
+ * instance.
1004
+ * @param has_dual_unboundedness_direction A pointer to an int to store 1
1005
+ * if the dual unboundedness
1006
+ * direction exists.
1007
+ * @param dual_unboundedness_direction_value An array of length [num_col]
1008
+ * filled with the unboundedness
1009
+ * direction.
1010
+ */
1011
+ HighsInt Highs_getDualUnboundednessDirection(
1012
+ const void* highs, HighsInt* has_dual_unboundedness_direction,
1013
+ double* dual_unboundedness_direction_value);
1014
+
1015
+ /**
1016
+ * Indicates whether a primal ray that is a certificate of primal
1017
+ * unboundedness currently exists, and (at the expense of solving an
1018
+ * LP) gets it if it does not and primal_ray_value is not nullptr.
910
1019
  *
911
1020
  * @param highs A pointer to the Highs instance.
912
1021
  * @param has_primal_ray A pointer to an int to store 1 if the primal ray
@@ -1137,6 +1246,19 @@ HighsInt Highs_setSolution(void* highs, const double* col_value,
1137
1246
  const double* row_value, const double* col_dual,
1138
1247
  const double* row_dual);
1139
1248
 
1249
+ /**
1250
+ * Set a partial primal solution by passing values for a set of variables
1251
+ *
1252
+ * @param highs A pointer to the Highs instance.
1253
+ * @param num_entries Number of variables in the set
1254
+ * @param index Indices of variables in the set
1255
+ * @param value Values of variables in the set
1256
+ *
1257
+ * @returns A `kHighsStatus` constant indicating whether the call succeeded.
1258
+ */
1259
+ HighsInt Highs_setSparseSolution(void* highs, const HighsInt num_entries,
1260
+ const HighsInt* index, const double* value);
1261
+
1140
1262
  /**
1141
1263
  * Set the callback method to use for HiGHS
1142
1264
  *
@@ -1304,6 +1426,25 @@ HighsInt Highs_addRows(void* highs, const HighsInt num_new_row,
1304
1426
  const HighsInt num_new_nz, const HighsInt* starts,
1305
1427
  const HighsInt* index, const double* value);
1306
1428
 
1429
+ /**
1430
+ * Ensure that the constraint matrix of the incumbent model is stored
1431
+ * column-wise.
1432
+ *
1433
+ * @param highs A pointer to the Highs instance.
1434
+ *
1435
+ * @returns A `kHighsStatus` constant indicating whether the call succeeded.
1436
+ */
1437
+ HighsInt Highs_ensureColwise(void* highs);
1438
+
1439
+ /**
1440
+ * Ensure that the constraint matrix of the incumbent model is stored row-wise.
1441
+ *
1442
+ * @param highs A pointer to the Highs instance.
1443
+ *
1444
+ * @returns A `kHighsStatus` constant indicating whether the call succeeded.
1445
+ */
1446
+ HighsInt Highs_ensureRowwise(void* highs);
1447
+
1307
1448
  /**
1308
1449
  * Change the objective sense of the model.
1309
1450
  *
@@ -1691,7 +1832,7 @@ HighsInt Highs_getColsByMask(const void* highs, const HighsInt* mask,
1691
1832
  * @param from_row The first row for which to query data for.
1692
1833
  * @param to_row The last row (inclusive) for which to query data for.
1693
1834
  * @param num_row An integer to be populated with the number of rows got
1694
- * from the smodel.
1835
+ * from the model.
1695
1836
  * @param lower An array of size [to_row - from_row + 1] for the row
1696
1837
  * lower bounds.
1697
1838
  * @param upper An array of size [to_row - from_row + 1] for the row
@@ -2149,6 +2290,38 @@ HighsInt Highs_getRanging(
2149
2290
  double* row_bound_dn_value, double* row_bound_dn_objective,
2150
2291
  HighsInt* row_bound_dn_in_var, HighsInt* row_bound_dn_ou_var);
2151
2292
 
2293
+ /**
2294
+ * Compute the solution corresponding to a (possibly weighted) sum of
2295
+ * (allowable) infeasibilities in an LP/MIP.
2296
+ *
2297
+ * If local penalties are not defined, pass NULL, and the global
2298
+ * penalty will be used. Negative penalty values imply that the bound
2299
+ * or RHS value cannot be violated
2300
+ *
2301
+ * @param highs A pointer to the Highs instance.
2302
+ * @param const double global_lower_penalty The penalty for violating lower
2303
+ * bounds on variables
2304
+ * @param const double global_upper_penalty The penalty for violating upper
2305
+ * bounds on variables
2306
+ * @param const double global_rhs_penalty The penalty for violating constraint
2307
+ * RHS values
2308
+ * @param const double* local_lower_penalty The penalties for violating specific
2309
+ * lower bounds on variables
2310
+ * @param const double* local_upper_penalty The penalties for violating specific
2311
+ * upper bounds on variables
2312
+ * @param const double* local_rhs_penalty The penalties for violating specific
2313
+ * constraint RHS values
2314
+ * @returns A `kHighsStatus` constant indicating whether the call succeeded.
2315
+ */
2316
+
2317
+ HighsInt Highs_feasibilityRelaxation(void* highs,
2318
+ const double global_lower_penalty,
2319
+ const double global_upper_penalty,
2320
+ const double global_rhs_penalty,
2321
+ const double* local_lower_penalty,
2322
+ const double* local_upper_penalty,
2323
+ const double* local_rhs_penalty);
2324
+
2152
2325
  /**
2153
2326
  * Releases all resources held by the global scheduler instance.
2154
2327
  *
@@ -2,9 +2,6 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
- /* Leona Gottwald and Michael Feldmeier */
7
- /* */
8
5
  /* Available as open-source under the MIT License */
9
6
  /* */
10
7
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -20,9 +17,10 @@
20
17
 
21
18
  enum class FilereaderRetcode {
22
19
  kOk = 0,
23
- kFileNotFound = 1,
24
- kParserError = 2,
25
- kNotImplemented = 3,
20
+ kWarning = 1,
21
+ kFileNotFound = 2,
22
+ kParserError = 3,
23
+ kNotImplemented = 4,
26
24
  kTimeout
27
25
  };
28
26
 
@@ -2,9 +2,6 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
- /* Leona Gottwald and Michael Feldmeier */
7
- /* */
8
5
  /* Available as open-source under the MIT License */
9
6
  /* */
10
7
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -2,9 +2,6 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
- /* Leona Gottwald and Michael Feldmeier */
7
- /* */
8
5
  /* Available as open-source under the MIT License */
9
6
  /* */
10
7
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -2,9 +2,6 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
- /* Leona Gottwald and Michael Feldmeier */
7
- /* */
8
5
  /* Available as open-source under the MIT License */
9
6
  /* */
10
7
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -2,9 +2,6 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
- /* Leona Gottwald and Michael Feldmeier */
7
- /* */
8
5
  /* Available as open-source under the MIT License */
9
6
  /* */
10
7
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -54,7 +51,7 @@ FilereaderRetcode readMps(
54
51
  vector<HighsVarType>& integerColumn, std::string& objective_name,
55
52
  vector<std::string>& col_names, vector<std::string>& row_names,
56
53
  HighsInt& Qdim, vector<HighsInt>& Qstart, vector<HighsInt>& Qindex,
57
- vector<double>& Qvalue, HighsInt& cost_row_location,
54
+ vector<double>& Qvalue, HighsInt& cost_row_location, bool& warning_issued,
58
55
  const HighsInt keep_n_rows = 0);
59
56
 
60
57
  HighsStatus writeMps(
@@ -2,9 +2,6 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
- /* Leona Gottwald and Michael Feldmeier */
7
- /* */
8
5
  /* Available as open-source under the MIT License */
9
6
  /* */
10
7
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -38,6 +35,8 @@
38
35
 
39
36
  using Triplet = std::tuple<HighsInt, HighsInt, double>;
40
37
 
38
+ const std::string mps_comment_chars = "*$";
39
+
41
40
  enum class FreeFormatParserReturnCode {
42
41
  kSuccess,
43
42
  kParserError,
@@ -61,7 +60,8 @@ class HMpsFF {
61
60
  const std::string filename,
62
61
  HighsModel& model);
63
62
 
64
- double time_limit = kHighsInf;
63
+ double time_limit_ = kHighsInf;
64
+ bool warning_issued_ = false;
65
65
 
66
66
  private:
67
67
  double start_time;
@@ -124,7 +124,6 @@ class HMpsFF {
124
124
  HighsInt fillMatrix(const HighsLogOptions& log_options);
125
125
  HighsInt fillHessian(const HighsLogOptions& log_options);
126
126
 
127
- const bool kAnyFirstNonBlankAsStarImpliesComment = false;
128
127
  /// how to treat variables that appear in COLUMNS section first
129
128
  /// assume them to be binary as in the original IBM interpretation
130
129
  /// or integer with default bounds
@@ -147,6 +146,7 @@ class HMpsFF {
147
146
  kCsection,
148
147
  kDelayedrows,
149
148
  kModelcuts,
149
+ kUsercuts,
150
150
  kIndicators,
151
151
  kSets,
152
152
  kSos,
@@ -189,6 +189,9 @@ class HMpsFF {
189
189
 
190
190
  mutable std::string section_args;
191
191
 
192
+ bool timeout();
193
+ bool getMpsLine(std::istream& file, std::string& strline, bool& skip);
194
+
192
195
  FreeFormatParserReturnCode parse(const HighsLogOptions& log_options,
193
196
  const std::string& filename);
194
197
  // Checks first word of strline and wraps it by it_begin and it_end
@@ -2,9 +2,6 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
- /* Leona Gottwald and Michael Feldmeier */
7
- /* */
8
5
  /* Available as open-source under the MIT License */
9
6
  /* */
10
7
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -18,13 +15,13 @@
18
15
  #include <iostream>
19
16
 
20
17
  #include "lp_data/HighsCallback.h"
21
- //#include "util/HighsInt.h"
18
+ // #include "util/HighsInt.h"
22
19
 
23
20
  class HighsOptions;
24
21
 
25
22
  const HighsInt kIoBufferSize = 1024; // 65536;
26
23
 
27
- enum class HighsFileType { kNone = 0, kOther, kMps, kLp, kMd, kHtml };
24
+ enum class HighsFileType { kMinimal = 0, kFull, kMps, kLp, kMd };
28
25
 
29
26
  /**
30
27
  * @brief IO methods for HiGHS - currently just print/log messages
@@ -88,6 +85,14 @@ void highsLogUser(const HighsLogOptions& log_options_, const HighsLogType type,
88
85
  void highsLogDev(const HighsLogOptions& log_options_, const HighsLogType type,
89
86
  const char* format, ...);
90
87
 
88
+ /**
89
+ * @brief Replaces fprintf(file,... so that when file=stdout highsLogUser is
90
+ * used
91
+ */
92
+ // Printing format: must contain exactly one "\n" at end of format
93
+ void highsFprintfString(FILE* file, const HighsLogOptions& log_options_,
94
+ const std::string& s);
95
+
91
96
  /**
92
97
  * @brief For development logging when true log_options may not be available -
93
98
  * indicated by null pointer
@@ -2,9 +2,6 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
- /* Leona Gottwald and Michael Feldmeier */
7
- /* */
8
5
  /* Available as open-source under the MIT License */
9
6
  /* */
10
7
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -2,9 +2,6 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
- /* Leona Gottwald and Michael Feldmeier */
7
- /* */
8
5
  /* Available as open-source under the MIT License */
9
6
  /* */
10
7
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -2,9 +2,6 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
- /* Leona Gottwald and Michael Feldmeier */
7
- /* */
8
5
  /* Available as open-source under the MIT License */
9
6
  /* */
10
7
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -31,10 +28,10 @@ HighsStatus solveLpIpx(const HighsOptions& options, HighsTimer& timer,
31
28
  HighsCallback& callback);
32
29
 
33
30
  void fillInIpxData(const HighsLp& lp, ipx::Int& num_col, ipx::Int& num_row,
34
- std::vector<double>& obj, std::vector<double>& col_lb,
35
- std::vector<double>& col_ub, std::vector<ipx::Int>& Ap,
36
- std::vector<ipx::Int>& Ai, std::vector<double>& Ax,
37
- std::vector<double>& rhs,
31
+ double& offset, std::vector<double>& obj,
32
+ std::vector<double>& col_lb, std::vector<double>& col_ub,
33
+ std::vector<ipx::Int>& Ap, std::vector<ipx::Int>& Ai,
34
+ std::vector<double>& Ax, std::vector<double>& rhs,
38
35
  std::vector<char>& constraint_type);
39
36
 
40
37
  HighsStatus reportIpxSolveStatus(const HighsOptions& options,
@@ -91,6 +91,7 @@ public:
91
91
  double centringRatioReduction() const {return parameters_.centring_ratio_reduction; }
92
92
  double centringAlphaScaling() const{return parameters_.centring_alpha_scaling; }
93
93
  ipxint badProductsTolerance() const{return parameters_.bad_products_tolerance; }
94
+ bool timelessLog() const{return parameters_.timeless_log; }
94
95
 
95
96
  const Parameters& parameters() const;
96
97
  void parameters(const Parameters& new_parameters);
@@ -64,6 +64,7 @@ struct ipx_parameters {
64
64
 
65
65
  /* HiGHS logging parameters */
66
66
  bool highs_logging;
67
+ bool timeless_log;
67
68
  const HighsLogOptions* log_options;
68
69
 
69
70
  };
@@ -28,7 +28,8 @@ public:
28
28
  // IPX_ERROR_invalid_dimension
29
29
  // IPX_ERROR_invalid_matrix
30
30
  // IPX_ERROR_invalid_vector
31
- Int LoadModel(Int num_var, const double* obj, const double* lb,
31
+ Int LoadModel(Int num_var, const double offset,
32
+ const double* obj, const double* lb,
32
33
  const double* ub, Int num_constr, const Int* Ap,
33
34
  const Int* Ai, const double* Ax, const double* rhs,
34
35
  const char* constr_type);
@@ -94,7 +95,7 @@ public:
94
95
  Int GetBasicSolution(double* x, double* slack, double* y, double* z,
95
96
  Int* cbasis, Int* vbasis) const;
96
97
 
97
- // Returns/sets all paramters. Without calling SetParameters(), the solver
98
+ // Returns/sets all parameters. Without calling SetParameters(), the solver
98
99
  // uses the default values of a Parameters object.
99
100
  Parameters GetParameters() const;
100
101
  void SetParameters(Parameters new_parameters);
@@ -58,8 +58,8 @@ public:
58
58
  // IPX_ERROR_invalid_vector
59
59
  Int Load(const Control& control, Int num_constr, Int num_var,
60
60
  const Int* Ap, const Int* Ai, const double* Ax,
61
- const double* rhs, const char* constr_type, const double* obj,
62
- const double* lbuser, const double* ubuser);
61
+ const double* rhs, const char* constr_type, const double offset,
62
+ const double* obj, const double* lbuser, const double* ubuser);
63
63
  // Performs Flippo's test for deciding dualization
64
64
  bool filippoDualizationTest() const;
65
65
  // Writes statistics of input data and preprocessing to @info.
@@ -93,6 +93,9 @@ public:
93
93
  const SparseMatrix& AI() const { return AI_; }
94
94
  const SparseMatrix& AIt() const { return AIt_; }
95
95
 
96
+ // Returns the offset
97
+ const double offset() const { return offset_; }
98
+
96
99
  // Returns a reference to a model vector.
97
100
  const Vector& b() const { return b_; }
98
101
  const Vector& c() const { return c_; }
@@ -207,7 +210,7 @@ private:
207
210
  // IPX_ERROR_invalid_vector
208
211
  Int CopyInput(Int num_constr, Int num_var, const Int* Ap, const Int* Ai,
209
212
  const double* Ax, const double* rhs, const char* constr_type,
210
- const double* obj, const double* lbuser,
213
+ const double offset, const double* obj, const double* lbuser,
211
214
  const double* ubuser);
212
215
 
213
216
  // Scales A_, scaled_obj_, scaled_rhs_, scaled_lbuser_ and scaled_ubuser_
@@ -376,6 +379,7 @@ private:
376
379
  std::vector<char> constr_type_;
377
380
  double norm_obj_{0.0}; // Infnorm(obj) as given by user
378
381
  double norm_rhs_{0.0}; // Infnorm(rhs,lb,ub) as given by user
382
+ double offset_;
379
383
  Vector scaled_obj_;
380
384
  Vector scaled_rhs_;
381
385
  Vector scaled_lbuser_;