casadi 3.6.7__cp37-none-win_amd64.whl → 3.7.0__cp37-none-win_amd64.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 (442) hide show
  1. casadi/_casadi.pyd +0 -0
  2. casadi/blasfeo.lib +0 -0
  3. casadi/casadi-cli.exe +0 -0
  4. casadi/casadi.lib +0 -0
  5. casadi/casadi.py +6070 -3038
  6. casadi/cbc.exe +0 -0
  7. casadi/clp.exe +0 -0
  8. casadi/cmake/casadi-config-version.cmake +1 -1
  9. casadi/cmake/casadi-targets-release.cmake +5 -5
  10. casadi/cmake/casadi-targets.cmake +5 -5
  11. casadi/{lib/cmake/tinyxml2/tinyxml2-config-version.cmake → cmake/ghc_filesystem/ghc_filesystem-config-version.cmake} +19 -10
  12. casadi/cmake/ghc_filesystem/ghc_filesystem-config.cmake +30 -0
  13. casadi/cmake/ghc_filesystem/ghc_filesystem-targets.cmake +99 -0
  14. casadi/cmake/highs/highs-config.cmake +1 -0
  15. casadi/cmake/highs/highs-targets.cmake +2 -2
  16. casadi/cmake/libzip/libzip-config-version.cmake +48 -0
  17. casadi/cmake/libzip/libzip-config.cmake +69 -0
  18. casadi/cmake/libzip/libzip-targets-release.cmake +19 -0
  19. casadi/{lib/cmake/tinyxml2/tinyxml2-shared-targets.cmake → cmake/libzip/libzip-targets.cmake} +11 -7
  20. casadi/cmake/libzip/modules/FindMbedTLS.cmake +141 -0
  21. casadi/cmake/libzip/modules/FindNettle.cmake +141 -0
  22. casadi/cmake/libzip/modules/Findzstd.cmake +186 -0
  23. casadi/daqp.lib +0 -0
  24. casadi/fatrop.lib +0 -0
  25. casadi/highs.exe +0 -0
  26. casadi/highs.lib +0 -0
  27. casadi/hpipm.lib +0 -0
  28. casadi/include/casadi/casadi.i +194 -44
  29. casadi/include/casadi/config.h +11 -11
  30. casadi/include/casadi/core/archiver.hpp +58 -0
  31. casadi/include/casadi/core/blazing_spline.hpp +47 -0
  32. casadi/include/casadi/core/calculus.hpp +57 -2
  33. casadi/include/casadi/core/casadi_common.hpp +37 -0
  34. casadi/include/casadi/core/casadi_meta.hpp +15 -0
  35. casadi/include/casadi/core/casadi_misc.hpp +7 -0
  36. casadi/include/casadi/core/code_generator.hpp +95 -17
  37. casadi/include/casadi/core/core.hpp +5 -0
  38. casadi/include/casadi/core/dae_builder.hpp +283 -141
  39. casadi/include/casadi/core/dm.hpp +3 -0
  40. casadi/include/casadi/core/filesystem.hpp +58 -0
  41. casadi/include/casadi/core/fmu.hpp +51 -16
  42. casadi/include/casadi/core/function.hpp +19 -0
  43. casadi/include/casadi/core/generic_matrix.hpp +214 -7
  44. casadi/include/casadi/core/generic_shared.hpp +318 -0
  45. casadi/include/casadi/core/generic_shared_impl.hpp +214 -0
  46. casadi/include/casadi/core/generic_shared_internal.hpp +215 -0
  47. casadi/include/casadi/core/generic_type.hpp +3 -0
  48. casadi/include/casadi/core/global_options.hpp +10 -0
  49. casadi/include/casadi/core/integrator.hpp +41 -7
  50. casadi/include/casadi/core/matrix_decl.hpp +67 -0
  51. casadi/include/casadi/core/mx.hpp +63 -2
  52. casadi/include/casadi/core/options.hpp +6 -3
  53. casadi/include/casadi/core/optistack.hpp +43 -9
  54. casadi/include/casadi/core/printable.hpp +8 -0
  55. casadi/include/casadi/core/resource.hpp +107 -0
  56. casadi/include/casadi/core/runtime/casadi_blazing_1d_boor_eval.hpp +112 -0
  57. casadi/include/casadi/core/runtime/casadi_blazing_2d_boor_eval.hpp +311 -0
  58. casadi/include/casadi/core/runtime/casadi_blazing_3d_boor_eval.hpp +645 -0
  59. casadi/include/casadi/core/runtime/casadi_blazing_de_boor.hpp +101 -0
  60. casadi/include/casadi/core/runtime/casadi_nlp.hpp +8 -2
  61. casadi/include/casadi/core/runtime/casadi_printme.hpp +25 -0
  62. casadi/include/casadi/core/serializer.hpp +12 -4
  63. casadi/include/casadi/core/serializing_stream.hpp +3 -0
  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 +9703 -6539
  71. casadi/include/casadi/doc_merged.i +6483 -4447
  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 +7 -5
  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/zconf.h +545 -0
  239. casadi/include/zip.h +528 -0
  240. casadi/include/zipconf.h +48 -0
  241. casadi/include/zlib.h +1938 -0
  242. casadi/ipopt.lib +0 -0
  243. casadi/lapack.lib +0 -0
  244. casadi/libCbc-3.dll +0 -0
  245. casadi/libCbc.dll.a +0 -0
  246. casadi/libCbcSolver-3.dll +0 -0
  247. casadi/libCbcSolver.dll.a +0 -0
  248. casadi/libCgl-1.dll +0 -0
  249. casadi/libCgl.dll.a +0 -0
  250. casadi/libClp-1.dll +0 -0
  251. casadi/libClp.dll.a +0 -0
  252. casadi/libClpSolver-1.dll +0 -0
  253. casadi/libClpSolver.dll.a +0 -0
  254. casadi/libCoinUtils-3.dll +0 -0
  255. casadi/libCoinUtils.dll.a +0 -0
  256. casadi/libOsi-1.dll +0 -0
  257. casadi/libOsi.dll.a +0 -0
  258. casadi/libOsiCbc-3.dll +0 -0
  259. casadi/libOsiCbc.dll.a +0 -0
  260. casadi/libOsiClp-1.dll +0 -0
  261. casadi/libOsiClp.dll.a +0 -0
  262. casadi/libOsiCommonTests-1.dll +0 -0
  263. casadi/libOsiCommonTests.dll.a +0 -0
  264. casadi/libalpaqa.dll +0 -0
  265. casadi/libalpaqa.dll.a +0 -0
  266. casadi/libblasfeo.dll +0 -0
  267. casadi/libblasfeo.dll.a +0 -0
  268. casadi/libbonmin-4.dll +0 -0
  269. casadi/libbonmin.dll.a +0 -0
  270. casadi/libcasadi-tp-openblas.dll +0 -0
  271. casadi/libcasadi-tp-openblas.dll.a +0 -0
  272. casadi/libcasadi.dll +0 -0
  273. casadi/libcasadi.dll.a +0 -0
  274. casadi/libcasadi.lib +0 -0
  275. casadi/libcasadi_archiver_libzip.dll +0 -0
  276. casadi/libcasadi_archiver_libzip.dll.a +0 -0
  277. casadi/libcasadi_conic_cbc.dll +0 -0
  278. casadi/libcasadi_conic_cbc.dll.a +0 -0
  279. casadi/libcasadi_conic_clp.dll +0 -0
  280. casadi/libcasadi_conic_clp.dll.a +0 -0
  281. casadi/libcasadi_conic_cplex.dll +0 -0
  282. casadi/libcasadi_conic_cplex.dll.a +0 -0
  283. casadi/libcasadi_conic_daqp.dll +0 -0
  284. casadi/libcasadi_conic_daqp.dll.a +0 -0
  285. casadi/libcasadi_conic_fatrop.dll +0 -0
  286. casadi/libcasadi_conic_fatrop.dll.a +0 -0
  287. casadi/libcasadi_conic_gurobi.dll +0 -0
  288. casadi/libcasadi_conic_gurobi.dll.a +0 -0
  289. casadi/libcasadi_conic_highs.dll +0 -0
  290. casadi/libcasadi_conic_highs.dll.a +0 -0
  291. casadi/libcasadi_conic_hpipm.dll +0 -0
  292. casadi/libcasadi_conic_hpipm.dll.a +0 -0
  293. casadi/libcasadi_conic_ipqp.dll +0 -0
  294. casadi/libcasadi_conic_ipqp.dll.a +0 -0
  295. casadi/libcasadi_conic_nlpsol.dll +0 -0
  296. casadi/libcasadi_conic_nlpsol.dll.a +0 -0
  297. casadi/libcasadi_conic_osqp.dll +0 -0
  298. casadi/libcasadi_conic_osqp.dll.a +0 -0
  299. casadi/libcasadi_conic_proxqp.dll +0 -0
  300. casadi/libcasadi_conic_proxqp.dll.a +0 -0
  301. casadi/libcasadi_conic_qpoases.dll +0 -0
  302. casadi/libcasadi_conic_qpoases.dll.a +0 -0
  303. casadi/libcasadi_conic_qrqp.dll +0 -0
  304. casadi/libcasadi_conic_qrqp.dll.a +0 -0
  305. casadi/libcasadi_conic_superscs.dll +0 -0
  306. casadi/libcasadi_conic_superscs.dll.a +0 -0
  307. casadi/libcasadi_filesystem_ghc.dll +0 -0
  308. casadi/libcasadi_filesystem_ghc.dll.a +0 -0
  309. casadi/libcasadi_importer_shell.dll +0 -0
  310. casadi/libcasadi_importer_shell.dll.a +0 -0
  311. casadi/libcasadi_integrator_collocation.dll +0 -0
  312. casadi/libcasadi_integrator_collocation.dll.a +0 -0
  313. casadi/libcasadi_integrator_cvodes.dll +0 -0
  314. casadi/libcasadi_integrator_cvodes.dll.a +0 -0
  315. casadi/libcasadi_integrator_idas.dll +0 -0
  316. casadi/libcasadi_integrator_idas.dll.a +0 -0
  317. casadi/libcasadi_integrator_rk.dll +0 -0
  318. casadi/libcasadi_integrator_rk.dll.a +0 -0
  319. casadi/libcasadi_interpolant_bspline.dll +0 -0
  320. casadi/libcasadi_interpolant_bspline.dll.a +0 -0
  321. casadi/libcasadi_interpolant_linear.dll +0 -0
  322. casadi/libcasadi_interpolant_linear.dll.a +0 -0
  323. casadi/libcasadi_linsol_csparse.dll +0 -0
  324. casadi/libcasadi_linsol_csparse.dll.a +0 -0
  325. casadi/libcasadi_linsol_csparsecholesky.dll +0 -0
  326. casadi/libcasadi_linsol_csparsecholesky.dll.a +0 -0
  327. casadi/libcasadi_linsol_lapacklu.dll +0 -0
  328. casadi/libcasadi_linsol_lapacklu.dll.a +0 -0
  329. casadi/libcasadi_linsol_lapackqr.dll +0 -0
  330. casadi/libcasadi_linsol_lapackqr.dll.a +0 -0
  331. casadi/libcasadi_linsol_ldl.dll +0 -0
  332. casadi/libcasadi_linsol_ldl.dll.a +0 -0
  333. casadi/libcasadi_linsol_lsqr.dll +0 -0
  334. casadi/libcasadi_linsol_lsqr.dll.a +0 -0
  335. casadi/libcasadi_linsol_ma27.dll +0 -0
  336. casadi/libcasadi_linsol_ma27.dll.a +0 -0
  337. casadi/libcasadi_linsol_mumps.dll +0 -0
  338. casadi/libcasadi_linsol_mumps.dll.a +0 -0
  339. casadi/libcasadi_linsol_qr.dll +0 -0
  340. casadi/libcasadi_linsol_qr.dll.a +0 -0
  341. casadi/libcasadi_linsol_symbolicqr.dll +0 -0
  342. casadi/libcasadi_linsol_symbolicqr.dll.a +0 -0
  343. casadi/libcasadi_linsol_tridiag.dll +0 -0
  344. casadi/libcasadi_linsol_tridiag.dll.a +0 -0
  345. casadi/libcasadi_nlpsol_alpaqa.dll +0 -0
  346. casadi/libcasadi_nlpsol_alpaqa.dll.a +0 -0
  347. casadi/libcasadi_nlpsol_ampl.dll +0 -0
  348. casadi/libcasadi_nlpsol_ampl.dll.a +0 -0
  349. casadi/libcasadi_nlpsol_blocksqp.dll +0 -0
  350. casadi/libcasadi_nlpsol_blocksqp.dll.a +0 -0
  351. casadi/libcasadi_nlpsol_bonmin.dll +0 -0
  352. casadi/libcasadi_nlpsol_bonmin.dll.a +0 -0
  353. casadi/libcasadi_nlpsol_fatrop.dll +0 -0
  354. casadi/libcasadi_nlpsol_fatrop.dll.a +0 -0
  355. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll +0 -0
  356. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll.a +0 -0
  357. casadi/libcasadi_nlpsol_ipopt.dll +0 -0
  358. casadi/libcasadi_nlpsol_ipopt.dll.a +0 -0
  359. casadi/libcasadi_nlpsol_knitro.dll +0 -0
  360. casadi/libcasadi_nlpsol_knitro.dll.a +0 -0
  361. casadi/libcasadi_nlpsol_madnlp.dll +0 -0
  362. casadi/libcasadi_nlpsol_madnlp.dll.a +0 -0
  363. casadi/libcasadi_nlpsol_qrsqp.dll +0 -0
  364. casadi/libcasadi_nlpsol_qrsqp.dll.a +0 -0
  365. casadi/libcasadi_nlpsol_scpgen.dll +0 -0
  366. casadi/libcasadi_nlpsol_scpgen.dll.a +0 -0
  367. casadi/libcasadi_nlpsol_sleqp.dll +0 -0
  368. casadi/libcasadi_nlpsol_sleqp.dll.a +0 -0
  369. casadi/libcasadi_nlpsol_snopt.dll +0 -0
  370. casadi/libcasadi_nlpsol_snopt.dll.a +0 -0
  371. casadi/libcasadi_nlpsol_sqpmethod.dll +0 -0
  372. casadi/libcasadi_nlpsol_sqpmethod.dll.a +0 -0
  373. casadi/libcasadi_nlpsol_worhp.dll +0 -0
  374. casadi/libcasadi_nlpsol_worhp.dll.a +0 -0
  375. casadi/libcasadi_rootfinder_fast_newton.dll +0 -0
  376. casadi/libcasadi_rootfinder_fast_newton.dll.a +0 -0
  377. casadi/libcasadi_rootfinder_kinsol.dll +0 -0
  378. casadi/libcasadi_rootfinder_kinsol.dll.a +0 -0
  379. casadi/libcasadi_rootfinder_newton.dll +0 -0
  380. casadi/libcasadi_rootfinder_newton.dll.a +0 -0
  381. casadi/libcasadi_rootfinder_nlpsol.dll +0 -0
  382. casadi/libcasadi_rootfinder_nlpsol.dll.a +0 -0
  383. casadi/libcasadi_sundials_common.dll +0 -0
  384. casadi/libcasadi_sundials_common.dll.a +0 -0
  385. casadi/libcasadi_xmlfile_tinyxml.dll +0 -0
  386. casadi/libcasadi_xmlfile_tinyxml.dll.a +0 -0
  387. casadi/libcoinmetis-2.dll +0 -0
  388. casadi/libcoinmetis.dll.a +0 -0
  389. casadi/libcoinmumps-3.dll +0 -0
  390. casadi/libcoinmumps.dll.a +0 -0
  391. casadi/libcplex_adaptor.dll +0 -0
  392. casadi/libdaqp.dll +0 -0
  393. casadi/libdaqp.dll.a +0 -0
  394. casadi/libdl.dll +0 -0
  395. casadi/libdl.dll.a +0 -0
  396. casadi/libfatrop.dll +0 -0
  397. casadi/libfatrop.dll.a +0 -0
  398. casadi/libgurobi_adaptor.dll +0 -0
  399. casadi/libhighs.dll +0 -0
  400. casadi/libhighs.dll.a +0 -0
  401. casadi/libhpipm.dll +0 -0
  402. casadi/libhpipm.dll.a +0 -0
  403. casadi/libipopt-3.dll +0 -0
  404. casadi/libipopt.dll.a +0 -0
  405. casadi/libmatlab_ipc.dll +0 -0
  406. casadi/libmatlab_ipc.dll.a +0 -0
  407. casadi/libosqp.dll +0 -0
  408. casadi/libosqp.dll.a +0 -0
  409. casadi/libqdldl.dll +0 -0
  410. casadi/libqdldl.dll.a +0 -0
  411. casadi/libsipopt-3.dll +0 -0
  412. casadi/libsipopt.dll.a +0 -0
  413. casadi/libsleqp.dll +0 -0
  414. casadi/libsleqp.dll.a +0 -0
  415. casadi/libtrlib.dll +0 -0
  416. casadi/libtrlib.dll.a +0 -0
  417. casadi/libzip.a +0 -0
  418. casadi/libzlib.dll +0 -0
  419. casadi/libzlib.dll.a +0 -0
  420. casadi/libzlibstatic.a +0 -0
  421. casadi/matlab_ipc.lib +0 -0
  422. casadi/osqp.lib +0 -0
  423. casadi/pkgconfig/casadi.pc +1 -1
  424. casadi/pkgconfig/highs.pc +1 -1
  425. casadi/pkgconfig/libzip.pc +14 -0
  426. casadi/sleqp.lib +0 -0
  427. casadi/spral_ssids.exe +0 -0
  428. casadi/std-e414687e404555e5.dll +0 -0
  429. casadi/tools/__init__.py +3 -1
  430. casadi/tools/graph/graph.py +1 -1
  431. casadi/tools/structure3.py +2 -2
  432. {casadi-3.6.7.dist-info → casadi-3.7.0.dist-info}/METADATA +1 -1
  433. {casadi-3.6.7.dist-info → casadi-3.7.0.dist-info}/RECORD +434 -393
  434. casadi/bin/libtinyxml2.dll +0 -0
  435. casadi/include/tinyxml2.h +0 -2380
  436. casadi/lib/cmake/tinyxml2/tinyxml2-config.cmake +0 -57
  437. casadi/lib/cmake/tinyxml2/tinyxml2-shared-targets-release.cmake +0 -19
  438. casadi/lib/libtinyxml2.dll.a +0 -0
  439. casadi/lib/pkgconfig/tinyxml2.pc +0 -10
  440. casadi/libtinyxml2.dll +0 -0
  441. casadi/tools/structure.py +0 -1446
  442. {casadi-3.6.7.dist-info → casadi-3.7.0.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
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -123,116 +120,101 @@ class SimplexTimer {
123
120
  HighsTimer* timer_pointer = simplex_timer_clock.timer_pointer_;
124
121
  std::vector<HighsInt>& clock = simplex_timer_clock.clock_;
125
122
  clock.resize(SimplexNumClock);
126
- clock[SimplexTotalClock] = timer_pointer->clock_def("Simplex total", "STT");
127
- clock[SimplexIzDseWtClock] = timer_pointer->clock_def("Iz DSE Wt", "IWT");
128
- clock[SimplexDualPhase1Clock] =
129
- timer_pointer->clock_def("Dual Phase 1", "DP1");
130
- clock[SimplexDualPhase2Clock] =
131
- timer_pointer->clock_def("Dual Phase 2", "DP2");
123
+ clock[SimplexTotalClock] = timer_pointer->clock_def("Simplex total");
124
+ clock[SimplexIzDseWtClock] = timer_pointer->clock_def("Iz DSE Wt");
125
+ clock[SimplexDualPhase1Clock] = timer_pointer->clock_def("Dual Phase 1");
126
+ clock[SimplexDualPhase2Clock] = timer_pointer->clock_def("Dual Phase 2");
132
127
  clock[SimplexPrimalPhase1Clock] =
133
- timer_pointer->clock_def("Primal Phase 1", "PP1");
128
+ timer_pointer->clock_def("Primal Phase 1");
134
129
  clock[SimplexPrimalPhase2Clock] =
135
- timer_pointer->clock_def("Primal Phase 2", "PP2");
136
- clock[Group1Clock] = timer_pointer->clock_def("GROUP1", "GP1");
137
- clock[IterateClock] = timer_pointer->clock_def("ITERATE", "ITR");
138
- clock[IterateDualRebuildClock] =
139
- timer_pointer->clock_def("DUAL REBUILD", "DRB");
130
+ timer_pointer->clock_def("Primal Phase 2");
131
+ clock[Group1Clock] = timer_pointer->clock_def("GROUP1");
132
+ clock[IterateClock] = timer_pointer->clock_def("ITERATE");
133
+ clock[IterateDualRebuildClock] = timer_pointer->clock_def("DUAL REBUILD");
140
134
  clock[IteratePrimalRebuildClock] =
141
- timer_pointer->clock_def("PRIMAL REBUILD", "PRB");
142
- clock[IterateChuzrClock] = timer_pointer->clock_def("CHUZR", "CZR");
143
- clock[IterateChuzcClock] = timer_pointer->clock_def("CHUZC", "CZC");
144
- clock[IterateFtranClock] = timer_pointer->clock_def("FTRAN", "FTR");
145
- clock[IterateVerifyClock] = timer_pointer->clock_def("VERIFY", "VRF");
146
- clock[IterateDualClock] = timer_pointer->clock_def("DUAL", "UDU");
147
- clock[IteratePrimalClock] = timer_pointer->clock_def("PRIMAL", "UPR");
148
- clock[IterateDevexIzClock] = timer_pointer->clock_def("DEVEX_IZ", "DVI");
149
- clock[IteratePivotsClock] = timer_pointer->clock_def("PIVOTS", "PIV");
135
+ timer_pointer->clock_def("PRIMAL REBUILD");
136
+ clock[IterateChuzrClock] = timer_pointer->clock_def("CHUZR");
137
+ clock[IterateChuzcClock] = timer_pointer->clock_def("CHUZC");
138
+ clock[IterateFtranClock] = timer_pointer->clock_def("FTRAN");
139
+ clock[IterateVerifyClock] = timer_pointer->clock_def("VERIFY");
140
+ clock[IterateDualClock] = timer_pointer->clock_def("DUAL");
141
+ clock[IteratePrimalClock] = timer_pointer->clock_def("PRIMAL");
142
+ clock[IterateDevexIzClock] = timer_pointer->clock_def("DEVEX_IZ");
143
+ clock[IteratePivotsClock] = timer_pointer->clock_def("PIVOTS");
150
144
  clock[initialiseSimplexLpBasisAndFactorClock] =
151
- timer_pointer->clock_def("IZ_SIMPLEX_LP_DEF", "ISD");
145
+ timer_pointer->clock_def("IZ_SIMPLEX_LP_DEF");
152
146
  clock[allocateSimplexArraysClock] =
153
- timer_pointer->clock_def("ALLOC_SIMPLEX_ARRS", "ASA");
147
+ timer_pointer->clock_def("ALLOC_SIMPLEX_ARRS");
154
148
  clock[initialiseSimplexCostBoundsClock] =
155
- timer_pointer->clock_def("IZ_SIMPLEX_CO_BD", "ICB");
156
- clock[ScaleClock] = timer_pointer->clock_def("SCALE", "SCL");
157
- clock[CrashClock] = timer_pointer->clock_def("CRASH", "CSH");
158
- clock[BasisConditionClock] =
159
- timer_pointer->clock_def("BASIS_CONDITION", "CON");
160
- clock[matrixSetupClock] = timer_pointer->clock_def("MATRIX_SETUP", "FST");
161
- clock[setNonbasicMoveClock] =
162
- timer_pointer->clock_def("SET_NONBASICMOVE", "SNM");
163
- clock[DseIzClock] = timer_pointer->clock_def("DSE_IZ", "DEI");
164
- clock[InvertClock] = timer_pointer->clock_def("INVERT", "INV");
165
- clock[PermWtClock] = timer_pointer->clock_def("PERM_WT", "PWT");
166
- clock[ComputeDualClock] = timer_pointer->clock_def("COMPUTE_DUAL", "CPD");
167
- clock[CorrectDualClock] = timer_pointer->clock_def("CORRECT_DUAL", "CRD");
168
- clock[ComputePrimalClock] =
169
- timer_pointer->clock_def("COMPUTE_PRIMAL", "CPP");
170
- clock[CollectPrIfsClock] =
171
- timer_pointer->clock_def("COLLECT_PR_IFS", "IFS");
172
- clock[ComputePrIfsClock] =
173
- timer_pointer->clock_def("COMPUTE_PR_IFS", "PIF");
174
- clock[ComputeDuIfsClock] =
175
- timer_pointer->clock_def("COMPUTE_DU_IFS", "DIF");
176
- clock[ComputeDuObjClock] =
177
- timer_pointer->clock_def("COMPUTE_DU_OBJ", "DOB");
178
- clock[ComputePrObjClock] =
179
- timer_pointer->clock_def("COMPUTE_PR_OBJ", "POB");
180
- clock[ReportRebuildClock] =
181
- timer_pointer->clock_def("REPORT_REBUILD", "RPR");
182
- clock[ChuzrDualClock] = timer_pointer->clock_def("CHUZR_DUAL", "CRD");
183
- clock[Chuzr1Clock] = timer_pointer->clock_def("CHUZR1", "CR1");
184
- clock[Chuzr2Clock] = timer_pointer->clock_def("CHUZR2", "CR2");
185
- clock[ChuzcPrimalClock] = timer_pointer->clock_def("CHUZC_PRIMAL", "CCP");
149
+ timer_pointer->clock_def("IZ_SIMPLEX_CO_BD");
150
+ clock[ScaleClock] = timer_pointer->clock_def("SCALE");
151
+ clock[CrashClock] = timer_pointer->clock_def("CRASH");
152
+ clock[BasisConditionClock] = timer_pointer->clock_def("BASIS_CONDITION");
153
+ clock[matrixSetupClock] = timer_pointer->clock_def("MATRIX_SETUP");
154
+ clock[setNonbasicMoveClock] = timer_pointer->clock_def("SET_NONBASICMOVE");
155
+ clock[DseIzClock] = timer_pointer->clock_def("DSE_IZ");
156
+ clock[InvertClock] = timer_pointer->clock_def("INVERT");
157
+ clock[PermWtClock] = timer_pointer->clock_def("PERM_WT");
158
+ clock[ComputeDualClock] = timer_pointer->clock_def("COMPUTE_DUAL");
159
+ clock[CorrectDualClock] = timer_pointer->clock_def("CORRECT_DUAL");
160
+ clock[ComputePrimalClock] = timer_pointer->clock_def("COMPUTE_PRIMAL");
161
+ clock[CollectPrIfsClock] = timer_pointer->clock_def("COLLECT_PR_IFS");
162
+ clock[ComputePrIfsClock] = timer_pointer->clock_def("COMPUTE_PR_IFS");
163
+ clock[ComputeDuIfsClock] = timer_pointer->clock_def("COMPUTE_DU_IFS");
164
+ clock[ComputeDuObjClock] = timer_pointer->clock_def("COMPUTE_DU_OBJ");
165
+ clock[ComputePrObjClock] = timer_pointer->clock_def("COMPUTE_PR_OBJ");
166
+ clock[ReportRebuildClock] = timer_pointer->clock_def("REPORT_REBUILD");
167
+ clock[ChuzrDualClock] = timer_pointer->clock_def("CHUZR_DUAL");
168
+ clock[Chuzr1Clock] = timer_pointer->clock_def("CHUZR1");
169
+ clock[Chuzr2Clock] = timer_pointer->clock_def("CHUZR2");
170
+ clock[ChuzcPrimalClock] = timer_pointer->clock_def("CHUZC_PRIMAL");
186
171
  clock[ChuzcHyperInitialiselClock] =
187
- timer_pointer->clock_def("CHUZC_HYPER_IZ", "CHI");
172
+ timer_pointer->clock_def("CHUZC_HYPER_IZ");
188
173
  clock[ChuzcHyperBasicFeasibilityChangeClock] =
189
- timer_pointer->clock_def("CHUZC_HYPER_FEAS", "CHF");
190
- clock[ChuzcHyperDualClock] =
191
- timer_pointer->clock_def("CHUZC_HYPER_DUAL", "CHD");
192
- clock[ChuzcHyperClock] = timer_pointer->clock_def("CHUZC_HYPER", "CHC");
193
- clock[Chuzc0Clock] = timer_pointer->clock_def("CHUZC0", "CC0");
194
- clock[PriceChuzc1Clock] = timer_pointer->clock_def("PRICE_CHUZC1", "PC1");
195
- clock[Chuzc1Clock] = timer_pointer->clock_def("CHUZC1", "CC1");
196
- clock[Chuzc2Clock] = timer_pointer->clock_def("CHUZC2", "CC2");
197
- clock[Chuzc3Clock] = timer_pointer->clock_def("CHUZC3", "CC3");
198
- clock[Chuzc4Clock] = timer_pointer->clock_def("CHUZC4", "CC4");
199
- clock[Chuzc4a0Clock] = timer_pointer->clock_def("CHUZC4a0", "C40");
200
- clock[Chuzc4a1Clock] = timer_pointer->clock_def("CHUZC4a1", "C41");
201
- clock[Chuzc4bClock] = timer_pointer->clock_def("CHUZC4b", "C4b");
202
- clock[Chuzc4cClock] = timer_pointer->clock_def("CHUZC4c", "C4c");
203
- clock[Chuzc4dClock] = timer_pointer->clock_def("CHUZC4d", "C4d");
204
- clock[Chuzc4eClock] = timer_pointer->clock_def("CHUZC4e", "C4e");
205
- clock[Chuzc5Clock] = timer_pointer->clock_def("CHUZC5", "CC5");
206
- clock[DevexWtClock] = timer_pointer->clock_def("DEVEX_WT", "DWT");
207
- clock[BtranClock] = timer_pointer->clock_def("BTRAN", "REP");
174
+ timer_pointer->clock_def("CHUZC_HYPER_FEAS");
175
+ clock[ChuzcHyperDualClock] = timer_pointer->clock_def("CHUZC_HYPER_DUAL");
176
+ clock[ChuzcHyperClock] = timer_pointer->clock_def("CHUZC_HYPER");
177
+ clock[Chuzc0Clock] = timer_pointer->clock_def("CHUZC0");
178
+ clock[PriceChuzc1Clock] = timer_pointer->clock_def("PRICE_CHUZC1");
179
+ clock[Chuzc1Clock] = timer_pointer->clock_def("CHUZC1");
180
+ clock[Chuzc2Clock] = timer_pointer->clock_def("CHUZC2");
181
+ clock[Chuzc3Clock] = timer_pointer->clock_def("CHUZC3");
182
+ clock[Chuzc4Clock] = timer_pointer->clock_def("CHUZC4");
183
+ clock[Chuzc4a0Clock] = timer_pointer->clock_def("CHUZC4a0");
184
+ clock[Chuzc4a1Clock] = timer_pointer->clock_def("CHUZC4a1");
185
+ clock[Chuzc4bClock] = timer_pointer->clock_def("CHUZC4b");
186
+ clock[Chuzc4cClock] = timer_pointer->clock_def("CHUZC4c");
187
+ clock[Chuzc4dClock] = timer_pointer->clock_def("CHUZC4d");
188
+ clock[Chuzc4eClock] = timer_pointer->clock_def("CHUZC4e");
189
+ clock[Chuzc5Clock] = timer_pointer->clock_def("CHUZC5");
190
+ clock[DevexWtClock] = timer_pointer->clock_def("DEVEX_WT");
191
+ clock[BtranClock] = timer_pointer->clock_def("BTRAN");
208
192
  clock[BtranBasicFeasibilityChangeClock] =
209
- timer_pointer->clock_def("BTRAN_FEAS", "BT1");
210
- clock[BtranFullClock] = timer_pointer->clock_def("BTRAN_FULL", "BTF");
211
- clock[PriceClock] = timer_pointer->clock_def("PRICE", "RAP");
193
+ timer_pointer->clock_def("BTRAN_FEAS");
194
+ clock[BtranFullClock] = timer_pointer->clock_def("BTRAN_FULL");
195
+ clock[PriceClock] = timer_pointer->clock_def("PRICE");
212
196
  clock[PriceBasicFeasibilityChangeClock] =
213
- timer_pointer->clock_def("PRICE_FEAS", "PC1");
214
- clock[PriceFullClock] = timer_pointer->clock_def("PRICE_FULL", "PCF");
215
- clock[FtranClock] = timer_pointer->clock_def("FTRAN", "COL");
216
- clock[FtranDseClock] = timer_pointer->clock_def("FTRAN_DSE", "DSE");
217
- clock[BtranPseClock] = timer_pointer->clock_def("BTRAN_PSE", "PSE");
218
- clock[FtranMixParClock] = timer_pointer->clock_def("FTRAN_MIX_PAR", "FMP");
219
- clock[FtranMixFinalClock] =
220
- timer_pointer->clock_def("FTRAN_MIX_FINAL", "FMF");
221
- clock[FtranBfrtClock] = timer_pointer->clock_def("FTRAN_BFRT", "BFR");
222
- clock[UpdateRowClock] = timer_pointer->clock_def("UPDATE_ROW", "UPR");
223
- clock[UpdateDualClock] = timer_pointer->clock_def("UPDATE_DUAL", "UPD");
197
+ timer_pointer->clock_def("PRICE_FEAS");
198
+ clock[PriceFullClock] = timer_pointer->clock_def("PRICE_FULL");
199
+ clock[FtranClock] = timer_pointer->clock_def("FTRAN");
200
+ clock[FtranDseClock] = timer_pointer->clock_def("FTRAN_DSE");
201
+ clock[BtranPseClock] = timer_pointer->clock_def("BTRAN_PSE");
202
+ clock[FtranMixParClock] = timer_pointer->clock_def("FTRAN_MIX_PAR");
203
+ clock[FtranMixFinalClock] = timer_pointer->clock_def("FTRAN_MIX_FINAL");
204
+ clock[FtranBfrtClock] = timer_pointer->clock_def("FTRAN_BFRT");
205
+ clock[UpdateRowClock] = timer_pointer->clock_def("UPDATE_ROW");
206
+ clock[UpdateDualClock] = timer_pointer->clock_def("UPDATE_DUAL");
224
207
  clock[UpdateDualBasicFeasibilityChangeClock] =
225
- timer_pointer->clock_def("UPDATE_DUAL_FEAS", "UD1");
226
- clock[UpdatePrimalClock] = timer_pointer->clock_def("UPDATE_PRIMAL", "UPP");
227
- clock[DevexIzClock] = timer_pointer->clock_def("DEVEX_IZ", "DIZ");
208
+ timer_pointer->clock_def("UPDATE_DUAL_FEAS");
209
+ clock[UpdatePrimalClock] = timer_pointer->clock_def("UPDATE_PRIMAL");
210
+ clock[DevexIzClock] = timer_pointer->clock_def("DEVEX_IZ");
228
211
  clock[DevexUpdateWeightClock] =
229
- timer_pointer->clock_def("UPDATE_DVX_WEIGHT", "UDW");
230
- clock[DseUpdateWeightClock] =
231
- timer_pointer->clock_def("UPDATE_DSE_WEIGHT", "USW");
232
- clock[UpdatePivotsClock] = timer_pointer->clock_def("UPDATE_PIVOTS", "UPP");
233
- clock[UpdateFactorClock] = timer_pointer->clock_def("UPDATE_FACTOR", "UPF");
234
- clock[UpdateMatrixClock] = timer_pointer->clock_def("UPDATE_MATRIX", "UPM");
235
- clock[UpdateRowEpClock] = timer_pointer->clock_def("UPDATE_ROW_EP", "UPR");
212
+ timer_pointer->clock_def("UPDATE_DVX_WEIGHT");
213
+ clock[DseUpdateWeightClock] = timer_pointer->clock_def("UPDATE_DSE_WEIGHT");
214
+ clock[UpdatePivotsClock] = timer_pointer->clock_def("UPDATE_PIVOTS");
215
+ clock[UpdateFactorClock] = timer_pointer->clock_def("UPDATE_FACTOR");
216
+ clock[UpdateMatrixClock] = timer_pointer->clock_def("UPDATE_MATRIX");
217
+ clock[UpdateRowEpClock] = timer_pointer->clock_def("UPDATE_ROW_EP");
236
218
  }
237
219
 
238
220
  bool reportSimplexClockList(const char* grepStamp,
@@ -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
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -91,76 +88,54 @@ class FactorTimer {
91
88
  HighsTimer* timer_pointer = factor_timer_clock.timer_pointer_;
92
89
  std::vector<HighsInt>& clock = factor_timer_clock.clock_;
93
90
  clock.resize(FactorNumClock);
94
- clock[FactorInvert] = timer_pointer->clock_def("INVERT", "INV");
95
- clock[FactorInvertSimple] =
96
- timer_pointer->clock_def("INVERT Simple", "IVS");
97
- clock[FactorInvertKernel] =
98
- timer_pointer->clock_def("INVERT Kernel", "IVK");
99
- clock[FactorInvertDeficient] =
100
- timer_pointer->clock_def("INVERT Deficient", "IVD");
101
- clock[FactorInvertFinish] =
102
- timer_pointer->clock_def("INVERT Finish", "IVF");
103
- clock[FactorFtran] = timer_pointer->clock_def("FTRAN", "FTR");
104
- clock[FactorFtranLower] = timer_pointer->clock_def("FTRAN Lower", "FTL");
105
- clock[FactorFtranLowerAPF] =
106
- timer_pointer->clock_def("FTRAN Lower APF", "FLA");
107
- clock[FactorFtranLowerDse] =
108
- timer_pointer->clock_def("FTRAN Lower Dse", "FLD");
109
- clock[FactorFtranLowerSps] =
110
- timer_pointer->clock_def("FTRAN Lower Sps", "FLS");
91
+ clock[FactorInvert] = timer_pointer->clock_def("INVERT");
92
+ clock[FactorInvertSimple] = timer_pointer->clock_def("INVERT Simple");
93
+ clock[FactorInvertKernel] = timer_pointer->clock_def("INVERT Kernel");
94
+ clock[FactorInvertDeficient] = timer_pointer->clock_def("INVERT Deficient");
95
+ clock[FactorInvertFinish] = timer_pointer->clock_def("INVERT Finish");
96
+ clock[FactorFtran] = timer_pointer->clock_def("FTRAN");
97
+ clock[FactorFtranLower] = timer_pointer->clock_def("FTRAN Lower");
98
+ clock[FactorFtranLowerAPF] = timer_pointer->clock_def("FTRAN Lower APF");
99
+ clock[FactorFtranLowerDse] = timer_pointer->clock_def("FTRAN Lower Dse");
100
+ clock[FactorFtranLowerSps] = timer_pointer->clock_def("FTRAN Lower Sps");
111
101
  clock[FactorFtranLowerHyper] =
112
- timer_pointer->clock_def("FTRAN Lower Hyper", "FLH");
113
- clock[FactorFtranUpper] = timer_pointer->clock_def("FTRAN Upper", "FTU");
114
- clock[FactorFtranUpperFT] =
115
- timer_pointer->clock_def("FTRAN Upper FT", "FUF");
116
- clock[FactorFtranUpperMPF] =
117
- timer_pointer->clock_def("FTRAN Upper MPF", "FUM");
118
- clock[FactorFtranUpperDse] =
119
- timer_pointer->clock_def("FTRAN Upper Dse", "FUD");
120
- clock[FactorFtranUpperSps0] =
121
- timer_pointer->clock_def("FTRAN Upper Sps0", "FUS");
122
- clock[FactorFtranUpperSps1] =
123
- timer_pointer->clock_def("FTRAN Upper Sps1", "FUS");
124
- clock[FactorFtranUpperSps2] =
125
- timer_pointer->clock_def("FTRAN Upper Sps2", "FUS");
102
+ timer_pointer->clock_def("FTRAN Lower Hyper");
103
+ clock[FactorFtranUpper] = timer_pointer->clock_def("FTRAN Upper");
104
+ clock[FactorFtranUpperFT] = timer_pointer->clock_def("FTRAN Upper FT");
105
+ clock[FactorFtranUpperMPF] = timer_pointer->clock_def("FTRAN Upper MPF");
106
+ clock[FactorFtranUpperDse] = timer_pointer->clock_def("FTRAN Upper Dse");
107
+ clock[FactorFtranUpperSps0] = timer_pointer->clock_def("FTRAN Upper Sps0");
108
+ clock[FactorFtranUpperSps1] = timer_pointer->clock_def("FTRAN Upper Sps1");
109
+ clock[FactorFtranUpperSps2] = timer_pointer->clock_def("FTRAN Upper Sps2");
126
110
  clock[FactorFtranUpperHyper0] =
127
- timer_pointer->clock_def("FTRAN Upper Hyper0", "FUH");
111
+ timer_pointer->clock_def("FTRAN Upper Hyper0");
128
112
  clock[FactorFtranUpperHyper1] =
129
- timer_pointer->clock_def("FTRAN Upper Hyper1", "FUH");
113
+ timer_pointer->clock_def("FTRAN Upper Hyper1");
130
114
  clock[FactorFtranUpperHyper2] =
131
- timer_pointer->clock_def("FTRAN Upper Hyper2", "FUH");
115
+ timer_pointer->clock_def("FTRAN Upper Hyper2");
132
116
  clock[FactorFtranUpperHyper3] =
133
- timer_pointer->clock_def("FTRAN Upper Hyper3", "FUH");
117
+ timer_pointer->clock_def("FTRAN Upper Hyper3");
134
118
  clock[FactorFtranUpperHyper4] =
135
- timer_pointer->clock_def("FTRAN Upper Hyper4", "FUH");
119
+ timer_pointer->clock_def("FTRAN Upper Hyper4");
136
120
  clock[FactorFtranUpperHyper5] =
137
- timer_pointer->clock_def("FTRAN Upper Hyper5", "FUH");
138
- clock[FactorFtranUpperPF] =
139
- timer_pointer->clock_def("FTRAN Upper PF", "FUP");
140
- clock[FactorBtran] = timer_pointer->clock_def("BTRAN", "BTR");
141
- clock[FactorBtranLower] = timer_pointer->clock_def("BTRAN Lower", "BTL");
142
- clock[FactorBtranLowerDse] =
143
- timer_pointer->clock_def("BTRAN Lower Dse", "BLD");
144
- clock[FactorBtranLowerSps] =
145
- timer_pointer->clock_def("BTRAN Lower Sps", "BLS");
121
+ timer_pointer->clock_def("FTRAN Upper Hyper5");
122
+ clock[FactorFtranUpperPF] = timer_pointer->clock_def("FTRAN Upper PF");
123
+ clock[FactorBtran] = timer_pointer->clock_def("BTRAN");
124
+ clock[FactorBtranLower] = timer_pointer->clock_def("BTRAN Lower");
125
+ clock[FactorBtranLowerDse] = timer_pointer->clock_def("BTRAN Lower Dse");
126
+ clock[FactorBtranLowerSps] = timer_pointer->clock_def("BTRAN Lower Sps");
146
127
  clock[FactorBtranLowerHyper] =
147
- timer_pointer->clock_def("BTRAN Lower Hyper", "BLH");
148
- clock[FactorBtranLowerAPF] =
149
- timer_pointer->clock_def("BTRAN Lower APF", "BLA");
150
- clock[FactorBtranUpper] = timer_pointer->clock_def("BTRAN Upper", "BTU");
151
- clock[FactorBtranUpperPF] =
152
- timer_pointer->clock_def("BTRAN Upper PF", "BUP");
153
- clock[FactorBtranUpperDse] =
154
- timer_pointer->clock_def("BTRAN Upper Dse", "BUD");
155
- clock[FactorBtranUpperSps] =
156
- timer_pointer->clock_def("BTRAN Upper Sps", "BUS");
128
+ timer_pointer->clock_def("BTRAN Lower Hyper");
129
+ clock[FactorBtranLowerAPF] = timer_pointer->clock_def("BTRAN Lower APF");
130
+ clock[FactorBtranUpper] = timer_pointer->clock_def("BTRAN Upper");
131
+ clock[FactorBtranUpperPF] = timer_pointer->clock_def("BTRAN Upper PF");
132
+ clock[FactorBtranUpperDse] = timer_pointer->clock_def("BTRAN Upper Dse");
133
+ clock[FactorBtranUpperSps] = timer_pointer->clock_def("BTRAN Upper Sps");
157
134
  clock[FactorBtranUpperHyper] =
158
- timer_pointer->clock_def("BTRAN Upper Hyper", "BUH");
159
- clock[FactorBtranUpperFT] =
160
- timer_pointer->clock_def("BTRAN Upper FT", "BUF");
161
- clock[FactorBtranUpperMPF] =
162
- timer_pointer->clock_def("BTRAN Upper MPS", "BUM");
163
- clock[FactorReinvert] = timer_pointer->clock_def("ReINVERT", "RIV");
135
+ timer_pointer->clock_def("BTRAN Upper Hyper");
136
+ clock[FactorBtranUpperFT] = timer_pointer->clock_def("BTRAN Upper FT");
137
+ clock[FactorBtranUpperMPF] = timer_pointer->clock_def("BTRAN Upper MPS");
138
+ clock[FactorReinvert] = timer_pointer->clock_def("ReINVERT");
164
139
  };
165
140
 
166
141
  void reportFactorClockList(const char* grepStamp,
@@ -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
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -132,7 +129,9 @@ class HFactor {
132
129
  build_timer_(nullptr),
133
130
  nwork(0),
134
131
  u_merit_x(0),
135
- u_total_x(0){};
132
+ // clang-format off
133
+ u_total_x(0) {};
134
+ // clang-format on
136
135
 
137
136
  /**
138
137
  * @brief Copy problem size and pointers of constraint matrix, and set
@@ -347,6 +346,7 @@ class HFactor {
347
346
  HighsInt num_row;
348
347
  HighsInt num_col;
349
348
  HighsInt num_basic;
349
+ double inv_num_row; // 1.0/num_row
350
350
 
351
351
  private:
352
352
  bool a_matrix_valid;
@@ -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
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -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
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -77,7 +74,7 @@ class HVectorBase {
77
74
  vector<Real> packValue; //!< Packed values
78
75
 
79
76
  /**
80
- * @brief Copy from another HVector structure to this instanc
77
+ * @brief Copy from another HVector structure to this instance
81
78
  */
82
79
  template <typename FromReal>
83
80
  void copy(const HVectorBase<FromReal>*
@@ -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
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -289,6 +286,12 @@ class HighsCDouble {
289
286
  }
290
287
 
291
288
  friend HighsCDouble floor(const HighsCDouble& x) {
289
+ // Treat |x| < 1 as special case, as per (for example)
290
+ // https://github.com/shibatch/tlfloat: see #2041
291
+ if (abs(x) < 1) {
292
+ if (x == 0 || x > 0) return HighsCDouble(0.0);
293
+ return HighsCDouble(-1.0);
294
+ }
292
295
  double floor_x = std::floor(double(x));
293
296
  HighsCDouble res;
294
297
 
@@ -297,6 +300,12 @@ class HighsCDouble {
297
300
  }
298
301
 
299
302
  friend HighsCDouble ceil(const HighsCDouble& x) {
303
+ // Treat |x| < 1 as special case, as per (for example)
304
+ // https://github.com/shibatch/tlfloat: see #2041
305
+ if (abs(x) < 1) {
306
+ if (x == 0 || x < 0) return HighsCDouble(0.0);
307
+ return HighsCDouble(1.0);
308
+ }
300
309
  double ceil_x = std::ceil(double(x));
301
310
  HighsCDouble res;
302
311
 
@@ -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
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -119,13 +116,13 @@ struct HighsHashHelpers {
119
116
  else
120
117
  _BitScanReverse(&result, (n & 0xffffffffu));
121
118
  #endif
122
- return result;
119
+ return static_cast<int>(result);
123
120
  }
124
121
 
125
122
  static int log2i(uint32_t n) {
126
123
  unsigned long result;
127
- _BitScanReverse(&result, (unsigned long)n);
128
- return result;
124
+ _BitScanReverse(&result, static_cast<unsigned long>(n));
125
+ return static_cast<int>(result);
129
126
  }
130
127
 
131
128
  static int popcnt(uint64_t x) {
@@ -304,7 +301,7 @@ struct HighsHashHelpers {
304
301
  // algorithm for multiplication mod M61 might not work properly due to
305
302
  // overflow
306
303
  u64 a = c[index & 63] & M61();
307
- HighsInt degree = (index >> 6) + 1;
304
+ u64 degree = (static_cast<u64>(index) >> 6) + 1;
308
305
 
309
306
  hash += multiply_modM61(value, modexp_M61(a, degree));
310
307
  hash = (hash >> 61) + (hash & M61());
@@ -325,7 +322,7 @@ struct HighsHashHelpers {
325
322
  value = ((value << 1) & M61()) | 1;
326
323
 
327
324
  u64 a = c[index & 63] & M61();
328
- HighsInt degree = (index >> 6) + 1;
325
+ u64 degree = (static_cast<u64>(index) >> 6) + 1;
329
326
  // add the additive inverse (M61() - hashvalue) instead of the hash value
330
327
  // itself
331
328
  hash += M61() - multiply_modM61(value, modexp_M61(a, degree));
@@ -338,7 +335,7 @@ struct HighsHashHelpers {
338
335
  /// useful for sparse hashing of bit vectors
339
336
  static void sparse_combine(u64& hash, HighsInt index) {
340
337
  u64 a = c[index & 63] & M61();
341
- HighsInt degree = (index >> 6) + 1;
338
+ u64 degree = (static_cast<u64>(index) >> 6) + 1;
342
339
 
343
340
  hash += modexp_M61(a, degree);
344
341
  hash = (hash >> 61) + (hash & M61());
@@ -358,7 +355,7 @@ struct HighsHashHelpers {
358
355
  // procedure.
359
356
 
360
357
  u64 a = c[index & 63] & M61();
361
- HighsInt degree = (index >> 6) + 1;
358
+ u64 degree = (static_cast<u64>(index) >> 6) + 1;
362
359
  // add the additive inverse (M61() - hashvalue) instead of the hash value
363
360
  // itself
364
361
  hash += M61() - modexp_M61(a, degree);
@@ -390,7 +387,7 @@ struct HighsHashHelpers {
390
387
  // algorithm for multiplication mod M31 might not work properly due to
391
388
  // overflow
392
389
  u32 a = static_cast<u32>(c[index & 63] & M31());
393
- HighsInt degree = (index >> 6) + 1;
390
+ u64 degree = (static_cast<u64>(index) >> 6) + 1;
394
391
 
395
392
  u64 result = hash;
396
393
  result += multiply_modM31(static_cast<u32>(value), modexp_M31(a, degree));
@@ -413,7 +410,7 @@ struct HighsHashHelpers {
413
410
  value = (pair_hash<0>(static_cast<u32>(value), value >> 32) >> 33) | 1;
414
411
 
415
412
  u32 a = static_cast<u32>(c[index & 63] & M31());
416
- HighsInt degree = (index >> 6) + 1;
413
+ u64 degree = (static_cast<u64>(index) >> 6) + 1;
417
414
  // add the additive inverse (M31() - hashvalue) instead of the hash value
418
415
  // itself
419
416
  u64 result = hash;