casadi 3.6.7__cp312-none-manylinux2014_x86_64.whl → 3.7.1__cp312-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
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -29,6 +26,7 @@
29
26
  #include "presolve/HPresolveAnalysis.h"
30
27
  #include "util/HighsCDouble.h"
31
28
  #include "util/HighsHash.h"
29
+ #include "util/HighsHashTree.h"
32
30
  #include "util/HighsLinearSumBounds.h"
33
31
  #include "util/HighsMatrixSlice.h"
34
32
 
@@ -43,7 +41,6 @@ class HPresolve {
43
41
  HighsTimer* timer;
44
42
  HighsMipSolver* mipsolver = nullptr;
45
43
  double primal_feastol;
46
- HighsInt run_clock = -1;
47
44
 
48
45
  // triplet storage
49
46
  std::vector<double> Avalue;
@@ -99,6 +96,10 @@ class HPresolve {
99
96
 
100
97
  std::vector<std::pair<HighsInt, HighsInt>> substitutionOpportunities;
101
98
 
99
+ std::unordered_map<HighsInt,
100
+ HighsHashTree<std::pair<HighsInt, HighsInt>, double>>
101
+ liftingOpportunities;
102
+
102
103
  // set with the sizes and indices of equation rows sorted by the size and a
103
104
  // vector to access there iterator positions in the set by index for quick
104
105
  // removal
@@ -158,11 +159,15 @@ class HPresolve {
158
159
 
159
160
  void updateColImpliedBounds(HighsInt row, HighsInt col, double val);
160
161
 
161
- void recomputeColImpliedBounds(HighsInt row);
162
+ void updateRowDualImpliedBounds(HighsInt row, HighsInt col, double val);
162
163
 
163
- void recomputeRowDualImpliedBounds(HighsInt col);
164
+ void resetColImpliedBounds(HighsInt col, HighsInt row = -1);
164
165
 
165
- void updateRowDualImpliedBounds(HighsInt row, HighsInt col, double val);
166
+ void resetRowDualImpliedBounds(HighsInt row, HighsInt col = -1);
167
+
168
+ void resetColImpliedBoundsDerivedFromRow(HighsInt row);
169
+
170
+ void resetRowDualImpliedBoundsDerivedFromCol(HighsInt col);
166
171
 
167
172
  bool rowCoefficientsIntegral(HighsInt row, double scale) const;
168
173
 
@@ -174,10 +179,17 @@ class HPresolve {
174
179
  HighsPostsolveStack::RowType& rowType,
175
180
  bool relaxRowDualBounds = false);
176
181
 
182
+ bool isImpliedEquationAtLower(HighsInt row) const;
183
+
184
+ bool isImpliedEquationAtUpper(HighsInt row) const;
185
+
177
186
  bool isImpliedIntegral(HighsInt col);
178
187
 
179
188
  bool isImpliedInteger(HighsInt col);
180
189
 
190
+ bool convertImpliedInteger(HighsInt col, HighsInt row = -1,
191
+ bool skipInputChecks = false);
192
+
181
193
  bool isLowerImplied(HighsInt col) const;
182
194
 
183
195
  bool isUpperImplied(HighsInt col) const;
@@ -189,6 +201,11 @@ class HPresolve {
189
201
 
190
202
  void reinsertEquation(HighsInt row);
191
203
 
204
+ void clearLiftingOpportunities(HighsInt row) {
205
+ auto search = liftingOpportunities.find(row);
206
+ if (search != liftingOpportunities.end()) search->second.clear();
207
+ };
208
+
192
209
  #ifndef NDEBUG
193
210
  void debugPrintRow(HighsPostsolveStack& postsolve_stack, HighsInt row);
194
211
  #endif
@@ -209,6 +226,9 @@ class HPresolve {
209
226
  void toCSR(std::vector<double>& ARval, std::vector<HighsInt>& ARindex,
210
227
  std::vector<HighsInt>& ARstart);
211
228
 
229
+ void getRowPositions(HighsInt row,
230
+ std::vector<HighsInt>& myrowpositions) const;
231
+
212
232
  void storeRow(HighsInt row);
213
233
 
214
234
  HighsTripletPositionSlice getStoredRow() const;
@@ -223,9 +243,11 @@ class HPresolve {
223
243
 
224
244
  void markColDeleted(HighsInt col);
225
245
 
226
- void fixColToLower(HighsPostsolveStack& postsolve_stack, HighsInt col);
246
+ bool fixColToLowerOrUnbounded(HighsPostsolveStack& postsolve_stack,
247
+ HighsInt col);
227
248
 
228
- void fixColToUpper(HighsPostsolveStack& postsolve_stack, HighsInt col);
249
+ bool fixColToUpperOrUnbounded(HighsPostsolveStack& postsolve_stack,
250
+ HighsInt col);
229
251
 
230
252
  void fixColToZero(HighsPostsolveStack& postsolve_stack, HighsInt col);
231
253
 
@@ -264,6 +286,10 @@ class HPresolve {
264
286
 
265
287
  Result presolve(HighsPostsolveStack& postsolve_stack);
266
288
 
289
+ Result removeSlacks(HighsPostsolveStack& postsolve_stack);
290
+
291
+ Result checkTimeLimit();
292
+
267
293
  Result checkLimits(HighsPostsolveStack& postsolve_stack);
268
294
 
269
295
  void storeCurrentProblemSize();
@@ -292,6 +318,8 @@ class HPresolve {
292
318
 
293
319
  Result runProbing(HighsPostsolveStack& postsolve_stack);
294
320
 
321
+ Result liftingForProbing(HighsPostsolveStack& postsolve_stack);
322
+
295
323
  Result dominatedColumns(HighsPostsolveStack& postsolve_stack);
296
324
 
297
325
  Result doubletonEq(HighsPostsolveStack& postsolve_stack, HighsInt row,
@@ -303,10 +331,16 @@ class HPresolve {
303
331
 
304
332
  Result singletonCol(HighsPostsolveStack& postsolve_stack, HighsInt col);
305
333
 
334
+ void substituteFreeCol(HighsPostsolveStack& postsolve_stack, HighsInt row,
335
+ HighsInt col, bool relaxRowDualBounds = false);
336
+
306
337
  Result rowPresolve(HighsPostsolveStack& postsolve_stack, HighsInt row);
307
338
 
308
339
  Result colPresolve(HighsPostsolveStack& postsolve_stack, HighsInt col);
309
340
 
341
+ Result detectDominatedCol(HighsPostsolveStack& postsolve_stack, HighsInt col,
342
+ bool handleSingletonRows = true);
343
+
310
344
  Result initialRowAndColPresolve(HighsPostsolveStack& postsolve_stack);
311
345
 
312
346
  HighsModelStatus run(HighsPostsolveStack& postsolve_stack);
@@ -338,12 +372,18 @@ class HPresolve {
338
372
 
339
373
  Result removeDoubletonEquations(HighsPostsolveStack& postsolve_stack);
340
374
 
341
- HighsInt strengthenInequalities();
375
+ Result strengthenInequalities(HighsPostsolveStack& postsolve_stack,
376
+ HighsInt& num_strenghtened);
342
377
 
343
378
  HighsInt detectImpliedIntegers();
344
379
 
345
380
  Result detectParallelRowsAndCols(HighsPostsolveStack& postsolve_stack);
346
381
 
382
+ template <typename RowStorageFormat>
383
+ Result equalityRowAddition(HighsPostsolveStack& postsolve_stack,
384
+ HighsInt stayrow, HighsInt removerow, double scale,
385
+ const HighsMatrixSlice<RowStorageFormat>& vector);
386
+
347
387
  Result sparsify(HighsPostsolveStack& postsolve_stack);
348
388
 
349
389
  void setRelaxedImpliedBounds();
@@ -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
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -219,6 +216,16 @@ class HighsPostsolveStack {
219
216
  void transformToPresolvedSpace(std::vector<double>& primalSol) const;
220
217
  };
221
218
 
219
+ struct SlackColSubstitution {
220
+ double rhs;
221
+ HighsInt row;
222
+ HighsInt col;
223
+
224
+ void undo(const HighsOptions& options,
225
+ const std::vector<Nonzero>& rowValues, HighsSolution& solution,
226
+ HighsBasis& basis);
227
+ };
228
+
222
229
  /// tags for reduction
223
230
  enum class ReductionType : uint8_t {
224
231
  kLinearTransform,
@@ -234,6 +241,7 @@ class HighsPostsolveStack {
234
241
  kForcingColumnRemovedRow,
235
242
  kDuplicateRow,
236
243
  kDuplicateColumn,
244
+ kSlackColSubstitution,
237
245
  };
238
246
 
239
247
  HighsDataStack reductionValues;
@@ -323,6 +331,19 @@ class HighsPostsolveStack {
323
331
  reductionAdded(ReductionType::kFreeColSubstitution);
324
332
  }
325
333
 
334
+ template <typename RowStorageFormat>
335
+ void slackColSubstitution(HighsInt row, HighsInt col, double rhs,
336
+ const HighsMatrixSlice<RowStorageFormat>& rowVec) {
337
+ rowValues.clear();
338
+ for (const HighsSliceNonzero& rowVal : rowVec)
339
+ rowValues.emplace_back(origColIndex[rowVal.index()], rowVal.value());
340
+
341
+ reductionValues.push(
342
+ SlackColSubstitution{rhs, origRowIndex[row], origColIndex[col]});
343
+ reductionValues.push(rowValues);
344
+ reductionAdded(ReductionType::kSlackColSubstitution);
345
+ }
346
+
326
347
  template <typename ColStorageFormat>
327
348
  void doubletonEquation(HighsInt row, HighsInt colSubst, HighsInt col,
328
349
  double coefSubst, double coef, double rhs,
@@ -710,6 +731,13 @@ class HighsPostsolveStack {
710
731
  reduction.undo(options, solution, basis);
711
732
  break;
712
733
  }
734
+ case ReductionType::kSlackColSubstitution: {
735
+ SlackColSubstitution reduction;
736
+ reductionValues.pop(rowValues);
737
+ reductionValues.pop(reduction);
738
+ reduction.undo(options, rowValues, solution, basis);
739
+ break;
740
+ }
713
741
  default:
714
742
  printf("Reduction case %d not handled\n",
715
743
  int(reductions[i - 1].first));
@@ -756,9 +784,7 @@ class HighsPostsolveStack {
756
784
  */
757
785
 
758
786
  // Only used for debugging
759
- void undoUntil(const HighsOptions& options,
760
- const std::vector<HighsInt>& flagRow,
761
- const std::vector<HighsInt>& flagCol, HighsSolution& solution,
787
+ void undoUntil(const HighsOptions& options, HighsSolution& solution,
762
788
  HighsBasis& basis, size_t numReductions) {
763
789
  reductionValues.resetPosition();
764
790
 
@@ -887,6 +913,13 @@ class HighsPostsolveStack {
887
913
  reductionValues.pop(reduction);
888
914
  reduction.undo(options, solution, basis);
889
915
  }
916
+ case ReductionType::kSlackColSubstitution: {
917
+ SlackColSubstitution reduction;
918
+ reductionValues.pop(rowValues);
919
+ reductionValues.pop(reduction);
920
+ reduction.undo(options, rowValues, solution, basis);
921
+ break;
922
+ }
890
923
  }
891
924
  }
892
925
  #ifdef DEBUG_EXTRA
@@ -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
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -62,4 +59,4 @@ void updateResidualFast(const HighsLp& lp, const HighsSolution& sol,
62
59
  // Allows negative residuals
63
60
  void updateResidualIca(const HighsLp& lp, const HighsSolution& sol,
64
61
  std::vector<double>& residual);
65
- #endif
62
+ #endif
@@ -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,9 @@
2
2
  #define __SRC_LIB_QPSOLVER_ASM_HPP__
3
3
 
4
4
  #include "qpsolver/instance.hpp"
5
- #include "qpsolver/statistics.hpp"
6
5
  #include "qpsolver/qpconst.hpp"
7
6
  #include "qpsolver/settings.hpp"
7
+ #include "qpsolver/statistics.hpp"
8
8
  #include "util/HighsTimer.h"
9
9
 
10
10
  enum class QpAsmStatus {
@@ -24,7 +24,8 @@ struct QpSolution {
24
24
  std::vector<BasisStatus> status_var;
25
25
  std::vector<BasisStatus> status_con;
26
26
 
27
- QpSolution(Instance& instance) : primal(QpVector(instance.num_var)),
27
+ QpSolution(Instance& instance)
28
+ : primal(QpVector(instance.num_var)),
28
29
  rowactivity(QpVector(instance.num_con)),
29
30
  dualvar(instance.num_var),
30
31
  dualcon(instance.num_con),
@@ -32,7 +33,6 @@ struct QpSolution {
32
33
  status_con(instance.num_con) {}
33
34
  };
34
35
 
35
-
36
36
  struct QpHotstartInformation {
37
37
  std::vector<HighsInt> active;
38
38
  std::vector<HighsInt> inactive;
@@ -44,24 +44,27 @@ struct QpHotstartInformation {
44
44
  : primal(QpVector(num_var)), rowact(QpVector(num_row)) {}
45
45
  };
46
46
 
47
- // the purpose of this is the pure algorithmic solution of a QP instance with given hotstart information.
48
- // scenarios:
49
- // 1) start from a given phase1 solution
47
+ // the purpose of this is the pure algorithmic solution of a QP instance with
48
+ // given hotstart information. scenarios: 1) start from a given phase1 solution
50
49
  // 2) start from a user-given hotstart solution
51
- // 3) start from a qp solution that was attained from a scaled instance and cleanup
52
- // 4) start from a qp solution that was attained from a perturbed instance and cleanup
53
- // 5) start from a qp solution and cleanup after recomputing basis and reduced hessian factorization
50
+ // 3) start from a qp solution that was attained from a scaled instance and
51
+ // cleanup 4) start from a qp solution that was attained from a perturbed
52
+ // instance and cleanup 5) start from a qp solution and cleanup after
53
+ // recomputing basis and reduced hessian factorization
54
54
 
55
55
  std::string qpBasisStatusToString(const BasisStatus qp_basis_status);
56
56
  std::string qpModelStatusToString(const QpModelStatus qp_model_status);
57
- void assessQpPrimalFeasibility(const Instance& instance, const double primal_feasibility_tolerance,
58
- const std::vector<double>& var_value, const std::vector<double>& con_value,
59
- HighsInt& num_var_infeasibilities, double& max_var_infeasibility, double& sum_var_infeasibilities,
60
- HighsInt& num_con_infeasibilities, double& max_con_infeasibility, double& sum_con_infeasibilities,
61
- double& max_con_residual, double& sum_con_residuals);
62
-
63
- QpAsmStatus solveqp_actual(Instance& instance, Settings& settings, QpHotstartInformation& startinfo, Statistics& stats, QpModelStatus& status, QpSolution& solution, HighsTimer& qp_timer);
64
-
57
+ void assessQpPrimalFeasibility(
58
+ const Instance& instance, const double primal_feasibility_tolerance,
59
+ const std::vector<double>& var_value, const std::vector<double>& con_value,
60
+ HighsInt& num_var_infeasibilities, double& max_var_infeasibility,
61
+ double& sum_var_infeasibilities, HighsInt& num_con_infeasibilities,
62
+ double& max_con_infeasibility, double& sum_con_infeasibilities,
63
+ double& max_con_residual, double& sum_con_residuals);
65
64
 
65
+ QpAsmStatus solveqp_actual(Instance& instance, Settings& settings,
66
+ QpHotstartInformation& startinfo, Statistics& stats,
67
+ QpModelStatus& status, QpSolution& solution,
68
+ HighsTimer& qp_timer);
66
69
 
67
70
  #endif
@@ -2,18 +2,14 @@
2
2
  #define __SRC_LIB_QPSOLVER_QUASS_HPP__
3
3
 
4
4
  #include "Highs.h"
5
+ #include "qpsolver/a_asm.hpp"
5
6
  #include "qpsolver/instance.hpp"
6
7
  #include "qpsolver/qpconst.hpp"
7
- #include "qpsolver/a_asm.hpp"
8
8
  #include "qpsolver/settings.hpp"
9
9
 
10
-
11
- QpAsmStatus solveqp(Instance& instance,
12
- Settings& settings,
13
- Statistics& stats,
14
- HighsModelStatus& highs_model_status,
15
- HighsBasis& highs_basis,
16
- HighsSolution& highs_solution,
17
- HighsTimer& timer);
10
+ QpAsmStatus solveqp(Instance& instance, Settings& settings, Statistics& stats,
11
+ HighsModelStatus& highs_model_status,
12
+ HighsBasis& highs_basis, HighsSolution& highs_solution,
13
+ HighsTimer& timer);
18
14
 
19
15
  #endif
@@ -85,9 +85,8 @@ class Basis {
85
85
  HVector col_aq;
86
86
 
87
87
  bool reinversion_hint = false;
88
- public:
89
-
90
88
 
89
+ public:
91
90
  Basis(Runtime& rt, std::vector<HighsInt> active,
92
91
  std::vector<BasisStatus> atlower, std::vector<HighsInt> inactive);
93
92
 
@@ -99,7 +98,9 @@ class Basis {
99
98
 
100
99
  HighsInt getnumactive() const { return active_constraint_index.size(); };
101
100
 
102
- HighsInt getnuminactive() const { return non_active_constraint_index.size(); };
101
+ HighsInt getnuminactive() const {
102
+ return non_active_constraint_index.size();
103
+ };
103
104
 
104
105
  const std::vector<HighsInt>& getactive() const {
105
106
  return active_constraint_index;
@@ -121,28 +122,29 @@ class Basis {
121
122
  // Nullspace from now on)
122
123
  void deactivate(HighsInt conid);
123
124
 
124
- QpSolverStatus activate(const Settings& settings, HighsInt conid, BasisStatus atlower,
125
- HighsInt nonactivetoremove, Pricing* pricing);
125
+ QpSolverStatus activate(const Settings& settings, HighsInt conid,
126
+ BasisStatus atlower, HighsInt nonactivetoremove,
127
+ Pricing* pricing);
126
128
 
127
- void updatebasis(const Settings& settings, HighsInt newactivecon, HighsInt droppedcon,
128
- Pricing* pricing);
129
+ void updatebasis(const Settings& settings, HighsInt newactivecon,
130
+ HighsInt droppedcon, Pricing* pricing);
129
131
 
130
132
  QpVector btran(const QpVector& rhs, bool buffer = false, HighsInt p = -1);
131
133
 
132
134
  QpVector ftran(const QpVector& rhs, bool buffer = false, HighsInt q = -1);
133
135
 
134
136
  QpVector& btran(const QpVector& rhs, QpVector& target, bool buffer = false,
135
- HighsInt p = -1);
137
+ HighsInt p = -1);
136
138
 
137
139
  QpVector& ftran(const QpVector& rhs, QpVector& target, bool buffer = false,
138
- HighsInt q = -1);
140
+ HighsInt q = -1);
139
141
 
140
142
  QpVector recomputex(const Instance& inst);
141
143
 
142
144
  void write(std::string filename);
143
145
 
144
146
  QpVector& Ztprod(const QpVector& rhs, QpVector& target, bool buffer = false,
145
- HighsInt q = -1);
147
+ HighsInt q = -1);
146
148
 
147
149
  QpVector& Zprod(const QpVector& rhs, QpVector& target);
148
150
  };
@@ -2,11 +2,12 @@
2
2
  #define __SRC_LIB_CRASHSOLUTION_HPP__
3
3
 
4
4
  #include <cstdlib>
5
+
5
6
  #include "runtime.hpp"
6
7
 
7
- inline
8
- bool isfreevar(Instance& instance, HighsInt idx) {
9
- return instance.var_lo[idx] == -std::numeric_limits<double>::infinity() && instance.var_up[idx] == std::numeric_limits<double>::infinity();
8
+ inline bool isfreevar(Instance& instance, HighsInt idx) {
9
+ return instance.var_lo[idx] == -std::numeric_limits<double>::infinity() &&
10
+ instance.var_up[idx] == std::numeric_limits<double>::infinity();
10
11
  }
11
12
 
12
13
  #endif
@@ -52,8 +52,9 @@ class DantzigPricing : public Pricing {
52
52
 
53
53
  public:
54
54
  DantzigPricing(Runtime& rt, Basis& bas, ReducedCosts& rc)
55
- : runtime(rt), basis(bas), redcosts(rc){};
56
-
55
+ // clang-format off
56
+ : runtime(rt), basis(bas), redcosts(rc) {};
57
+ // clang-format on
57
58
  HighsInt price(const QpVector& x, const QpVector& gradient) {
58
59
  HighsInt minidx = chooseconstrainttodrop(redcosts.getReducedCosts());
59
60
  return minidx;
@@ -58,7 +58,9 @@ class DevexPricing : public Pricing {
58
58
  : runtime(rt),
59
59
  basis(bas),
60
60
  redcosts(rc),
61
- weights(std::vector<double>(rt.instance.num_var, 1.0)){};
61
+ // clang-format off
62
+ weights(std::vector<double>(rt.instance.num_var, 1.0)) {};
63
+ // clang-format on
62
64
 
63
65
  // B lambda = g
64
66
  // lambda = inv(B)g
@@ -36,7 +36,7 @@ class CholeskyFactor {
36
36
  HighsInt min_k_max = min(new_k_max, current_k_max);
37
37
  for (HighsInt i = 0; i < min_k_max; i++) {
38
38
  for (HighsInt j = 0; j < min_k_max; j++) {
39
- assert(i * (new_k_max) + j < l_size);
39
+ assert(i * (new_k_max) + j < l_size);
40
40
  L[i * (new_k_max) + j] = L_old[i * current_k_max + j];
41
41
  }
42
42
  }
@@ -52,7 +52,6 @@ class CholeskyFactor {
52
52
  L.resize(current_k_max * current_k_max);
53
53
  }
54
54
 
55
-
56
55
  void recompute() {
57
56
  std::vector<std::vector<double>> orig;
58
57
  HighsInt dim_ns = basis.getinactive().size();
@@ -97,7 +96,8 @@ class CholeskyFactor {
97
96
  uptodate = true;
98
97
  }
99
98
 
100
- QpSolverStatus expand(const QpVector& yp, QpVector& gyp, QpVector& l, QpVector& m) {
99
+ QpSolverStatus expand(const QpVector& yp, QpVector& gyp, QpVector& l,
100
+ QpVector& m) {
101
101
  if (!uptodate) {
102
102
  return QpSolverStatus::OK;
103
103
  }
@@ -124,14 +124,15 @@ class CholeskyFactor {
124
124
  // b*b -a*a = mu
125
125
  // k(b-a) = 1
126
126
  // b + a = k*mu
127
- // Commented out unreachable code
127
+ // Commented out unreachable code
128
128
  // const double tolerance = 0.001;
129
129
  //
130
130
  // double beta = max(tolerance, sqrt(m.norm2() / L[0] + fabs(mu)));
131
131
  // double k = 1 / (beta + sqrt(beta * beta - mu));
132
132
  // double alpha = k * mu - beta;
133
133
  //
134
- // printf("k = %d, alpha = %lf, beta = %lf, k = %lf\n", (int)current_k, alpha,
134
+ // printf("k = %d, alpha = %lf, beta = %lf, k = %lf\n",
135
+ // (int)current_k, alpha,
135
136
  // beta, k);
136
137
  //
137
138
  // a.clear();