casadi 3.6.5__cp311-none-win_amd64.whl → 3.6.7__cp311-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 (505) hide show
  1. casadi/_casadi.pyd +0 -0
  2. casadi/bin/libtinyxml2.dll +0 -0
  3. casadi/blasfeo.lib +0 -0
  4. casadi/casadi-cli.exe +0 -0
  5. casadi/casadi.lib +0 -0
  6. casadi/casadi.py +739 -308
  7. casadi/cbc.exe +0 -0
  8. casadi/clp.exe +0 -0
  9. casadi/cmake/casadi-config-version.cmake +1 -1
  10. casadi/cmake/highs/highs-config.cmake +7 -14
  11. casadi/cmake/highs/highs-targets-release.cmake +13 -13
  12. casadi/cmake/highs/highs-targets.cmake +11 -9
  13. casadi/daqp.lib +0 -0
  14. casadi/fatrop.lib +0 -0
  15. casadi/highs.exe +0 -0
  16. casadi/highs.lib +0 -0
  17. casadi/hpipm.lib +0 -0
  18. casadi/include/casadi/casadi.i +3 -0
  19. casadi/include/casadi/casadi_c.h +2 -0
  20. casadi/include/casadi/config.h +8 -8
  21. casadi/include/casadi/core/casadi_common.hpp +1 -0
  22. casadi/include/casadi/core/casadi_misc.hpp +52 -0
  23. casadi/include/casadi/core/casadi_types.hpp +3 -2
  24. casadi/include/casadi/core/code_generator.hpp +30 -1
  25. casadi/include/casadi/core/global_options.hpp +2 -0
  26. casadi/include/casadi/core/mx.hpp +18 -3
  27. casadi/include/casadi/core/optistack.hpp +23 -0
  28. casadi/include/casadi/core/runtime/casadi_nlp.hpp +19 -4
  29. casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
  30. casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
  31. casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
  32. casadi/include/casadi/core/runtime/casadi_runtime.hpp +4 -1
  33. casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
  34. casadi/include/casadi/core/serializing_stream.hpp +2 -2
  35. casadi/include/casadi/core/sparsity.hpp +7 -0
  36. casadi/include/casadi/doc.i +1513 -1016
  37. casadi/include/casadi/doc_merged.i +965 -719
  38. casadi/include/casadi/mem.h +1 -0
  39. casadi/include/daqp/api.h +46 -0
  40. casadi/include/daqp/auxiliary.h +29 -0
  41. casadi/include/daqp/bnb.h +32 -0
  42. casadi/include/daqp/codegen.h +18 -0
  43. casadi/include/daqp/constants.h +92 -0
  44. casadi/include/daqp/daqp.h +22 -0
  45. casadi/include/daqp/daqp_prox.h +18 -0
  46. casadi/include/daqp/factorization.h +18 -0
  47. casadi/include/daqp/types.h +161 -0
  48. casadi/include/daqp/utils.h +44 -0
  49. casadi/include/dlfcn.h +94 -0
  50. casadi/include/fatrop/auxiliary/Common.hpp +34 -0
  51. casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
  52. casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
  53. casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
  54. casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
  55. casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
  56. casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +493 -0
  57. casadi/include/fatrop/fatrop.hpp +39 -0
  58. casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
  59. casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
  60. casadi/include/fatrop/json/json.h +946 -0
  61. casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
  62. casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
  63. casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
  64. casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
  65. casadi/include/fatrop/ocp/FatropOCPResto.hpp +299 -0
  66. casadi/include/fatrop/ocp/OCP.hpp +82 -0
  67. casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
  68. casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
  69. casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
  70. casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
  71. casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
  72. casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
  73. casadi/include/fatrop/ocp/OCPLSRiccati.hpp +198 -0
  74. casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
  75. casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
  76. casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
  77. casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
  78. casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
  79. casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
  80. casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
  81. casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
  82. casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
  83. casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
  84. casadi/include/fatrop/solver/AlgBuilder.hpp +76 -0
  85. casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
  86. casadi/include/fatrop/solver/FatropAlg.hpp +121 -0
  87. casadi/include/fatrop/solver/FatropData.hpp +188 -0
  88. casadi/include/fatrop/solver/FatropOptions.hpp +95 -0
  89. casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
  90. casadi/include/fatrop/solver/FatropStats.hpp +63 -0
  91. casadi/include/fatrop/solver/Filter.hpp +54 -0
  92. casadi/include/fatrop/solver/IterationData.hpp +56 -0
  93. casadi/include/fatrop/solver/LineSearch.hpp +86 -0
  94. casadi/include/fatrop/solver/NLPL1.hpp +263 -0
  95. casadi/include/fatrop/templates/NLPAlg.hpp +104 -0
  96. casadi/include/highs/HConfig.h +6 -5
  97. casadi/include/highs/Highs.h +93 -23
  98. casadi/include/highs/filereaderlp/def.hpp +19 -0
  99. casadi/include/highs/interfaces/highs_c_api.h +200 -24
  100. casadi/include/highs/io/Filereader.h +1 -1
  101. casadi/include/highs/io/FilereaderEms.h +1 -1
  102. casadi/include/highs/io/FilereaderLp.h +1 -1
  103. casadi/include/highs/io/FilereaderMps.h +1 -1
  104. casadi/include/highs/io/HMPSIO.h +1 -1
  105. casadi/include/highs/io/HMpsFF.h +5 -3
  106. casadi/include/highs/io/HighsIO.h +18 -8
  107. casadi/include/highs/io/LoadOptions.h +1 -1
  108. casadi/include/highs/ipm/IpxSolution.h +35 -0
  109. casadi/include/highs/ipm/IpxWrapper.h +1 -1
  110. casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
  111. casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  112. casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  113. casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  114. casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  115. casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  116. casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  117. casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  118. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  119. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  120. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  121. casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  122. casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
  123. casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  124. casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  125. casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  126. casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
  127. casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
  128. casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
  129. casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
  130. casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
  131. casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
  132. casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  133. casadi/include/highs/ipm/ipx/basis.h +351 -0
  134. casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
  135. casadi/include/highs/ipm/ipx/control.h +163 -0
  136. casadi/include/highs/ipm/ipx/crossover.h +157 -0
  137. casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
  138. casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
  139. casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
  140. casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
  141. casadi/include/highs/ipm/ipx/info.h +27 -0
  142. casadi/include/highs/ipm/ipx/ipm.h +94 -0
  143. casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
  144. casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
  145. casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
  146. casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
  147. casadi/include/highs/ipm/ipx/ipx_parameters.h +75 -0
  148. casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
  149. casadi/include/highs/ipm/ipx/iterate.h +328 -0
  150. casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
  151. casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  152. casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  153. casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
  154. casadi/include/highs/ipm/ipx/lp_solver.h +201 -0
  155. casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
  156. casadi/include/highs/ipm/ipx/lu_update.h +129 -0
  157. casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
  158. casadi/include/highs/ipm/ipx/model.h +409 -0
  159. casadi/include/highs/ipm/ipx/multistream.h +52 -0
  160. casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
  161. casadi/include/highs/ipm/ipx/power_method.h +44 -0
  162. casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
  163. casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
  164. casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  165. casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
  166. casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
  167. casadi/include/highs/ipm/ipx/timer.h +24 -0
  168. casadi/include/highs/ipm/ipx/utils.h +39 -0
  169. casadi/include/highs/lp_data/HConst.h +20 -10
  170. casadi/include/highs/lp_data/HStruct.h +23 -1
  171. casadi/include/highs/lp_data/HighsAnalysis.h +1 -1
  172. casadi/include/highs/lp_data/HighsCallback.h +10 -3
  173. casadi/include/highs/lp_data/HighsCallbackStruct.h +31 -5
  174. casadi/include/highs/lp_data/HighsDebug.h +1 -1
  175. casadi/include/highs/lp_data/HighsInfo.h +20 -2
  176. casadi/include/highs/lp_data/HighsInfoDebug.h +1 -1
  177. casadi/include/highs/lp_data/HighsLp.h +17 -1
  178. casadi/include/highs/lp_data/HighsLpSolverObject.h +1 -1
  179. casadi/include/highs/lp_data/HighsLpUtils.h +19 -19
  180. casadi/include/highs/lp_data/HighsModelUtils.h +1 -1
  181. casadi/include/highs/lp_data/HighsOptions.h +237 -10
  182. casadi/include/highs/lp_data/HighsRanging.h +1 -1
  183. casadi/include/highs/lp_data/HighsRuntimeOptions.h +2 -2
  184. casadi/include/highs/lp_data/HighsSolution.h +2 -2
  185. casadi/include/highs/lp_data/HighsSolutionDebug.h +1 -1
  186. casadi/include/highs/lp_data/HighsSolve.h +3 -1
  187. casadi/include/highs/lp_data/HighsStatus.h +1 -1
  188. casadi/include/highs/mip/HighsCliqueTable.h +4 -4
  189. casadi/include/highs/mip/HighsConflictPool.h +1 -1
  190. casadi/include/highs/mip/HighsCutGeneration.h +1 -1
  191. casadi/include/highs/mip/HighsCutPool.h +2 -2
  192. casadi/include/highs/mip/HighsDebugSol.h +22 -29
  193. casadi/include/highs/mip/HighsDomain.h +10 -2
  194. casadi/include/highs/mip/HighsDomainChange.h +1 -1
  195. casadi/include/highs/mip/HighsDynamicRowMatrix.h +5 -3
  196. casadi/include/highs/mip/HighsGFkSolve.h +3 -3
  197. casadi/include/highs/mip/HighsImplications.h +3 -3
  198. casadi/include/highs/mip/HighsLpAggregator.h +1 -1
  199. casadi/include/highs/mip/HighsLpRelaxation.h +6 -1
  200. casadi/include/highs/mip/HighsMipSolver.h +4 -2
  201. casadi/include/highs/mip/HighsMipSolverData.h +47 -4
  202. casadi/include/highs/mip/HighsModkSeparator.h +2 -2
  203. casadi/include/highs/mip/HighsNodeQueue.h +5 -3
  204. casadi/include/highs/mip/HighsObjectiveFunction.h +1 -1
  205. casadi/include/highs/mip/HighsPathSeparator.h +2 -2
  206. casadi/include/highs/mip/HighsPrimalHeuristics.h +1 -1
  207. casadi/include/highs/mip/HighsPseudocost.h +35 -23
  208. casadi/include/highs/mip/HighsRedcostFixing.h +1 -1
  209. casadi/include/highs/mip/HighsSearch.h +2 -1
  210. casadi/include/highs/mip/HighsSeparation.h +1 -1
  211. casadi/include/highs/mip/HighsSeparator.h +1 -1
  212. casadi/include/highs/mip/HighsTableauSeparator.h +1 -1
  213. casadi/include/highs/mip/HighsTransformedLp.h +1 -1
  214. casadi/include/highs/model/HighsHessian.h +5 -0
  215. casadi/include/highs/model/HighsHessianUtils.h +2 -0
  216. casadi/include/highs/model/HighsModel.h +10 -1
  217. casadi/include/highs/parallel/HighsMutex.h +2 -1
  218. casadi/include/highs/parallel/HighsParallel.h +7 -2
  219. casadi/include/highs/parallel/HighsTask.h +1 -2
  220. casadi/include/highs/pdlp/CupdlpWrapper.h +93 -0
  221. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +41 -0
  222. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +423 -0
  223. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +183 -0
  224. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  225. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  226. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +28 -0
  227. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
  228. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +33 -0
  229. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1726 -0
  230. casadi/include/highs/pdqsort/pdqsort.h +532 -0
  231. casadi/include/highs/presolve/HPresolve.h +27 -14
  232. casadi/include/highs/presolve/HPresolveAnalysis.h +1 -1
  233. casadi/include/highs/presolve/HighsPostsolveStack.h +92 -68
  234. casadi/include/highs/presolve/HighsSymmetry.h +6 -5
  235. casadi/include/highs/presolve/ICrash.h +8 -2
  236. casadi/include/highs/presolve/ICrashUtil.h +1 -1
  237. casadi/include/highs/presolve/ICrashX.h +1 -1
  238. casadi/include/highs/presolve/PresolveComponent.h +1 -1
  239. casadi/include/highs/qpsolver/a_asm.hpp +23 -12
  240. casadi/include/highs/qpsolver/a_quass.hpp +8 -1
  241. casadi/include/highs/qpsolver/basis.hpp +150 -0
  242. casadi/include/highs/qpsolver/crashsolution.hpp +12 -0
  243. casadi/include/highs/qpsolver/dantzigpricing.hpp +72 -0
  244. casadi/include/highs/qpsolver/devexpricing.hpp +99 -0
  245. casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
  246. casadi/include/highs/qpsolver/factor.hpp +400 -0
  247. casadi/include/highs/qpsolver/feasibility_bounded.hpp +105 -0
  248. casadi/include/highs/qpsolver/feasibility_highs.hpp +270 -0
  249. casadi/include/highs/qpsolver/gradient.hpp +39 -0
  250. casadi/include/highs/qpsolver/instance.hpp +63 -0
  251. casadi/include/highs/qpsolver/matrix.hpp +335 -0
  252. casadi/include/highs/qpsolver/pricing.hpp +15 -0
  253. casadi/include/highs/qpsolver/qpconst.hpp +27 -0
  254. casadi/include/highs/qpsolver/{vector.hpp → qpvector.hpp} +25 -25
  255. casadi/include/highs/qpsolver/quass.hpp +1 -1
  256. casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
  257. casadi/include/highs/qpsolver/runtime.hpp +38 -0
  258. casadi/include/highs/qpsolver/settings.hpp +57 -0
  259. casadi/include/highs/qpsolver/snippets.hpp +29 -0
  260. casadi/include/highs/qpsolver/statistics.hpp +23 -0
  261. casadi/include/highs/qpsolver/steepestedgepricing.hpp +167 -0
  262. casadi/include/highs/simplex/HApp.h +1 -1
  263. casadi/include/highs/simplex/HEkk.h +52 -18
  264. casadi/include/highs/simplex/HEkkDual.h +1 -1
  265. casadi/include/highs/simplex/HEkkDualRHS.h +6 -7
  266. casadi/include/highs/simplex/HEkkDualRow.h +2 -2
  267. casadi/include/highs/simplex/HEkkPrimal.h +6 -1
  268. casadi/include/highs/simplex/HSimplex.h +1 -3
  269. casadi/include/highs/simplex/HSimplexDebug.h +1 -1
  270. casadi/include/highs/simplex/HSimplexNla.h +1 -1
  271. casadi/include/highs/simplex/HSimplexReport.h +1 -1
  272. casadi/include/highs/simplex/HighsSimplexAnalysis.h +228 -100
  273. casadi/include/highs/simplex/SimplexConst.h +1 -1
  274. casadi/include/highs/simplex/SimplexStruct.h +2 -2
  275. casadi/include/highs/simplex/SimplexTimer.h +1 -1
  276. casadi/include/highs/test/DevKkt.h +1 -1
  277. casadi/include/highs/test/KktCh2.h +1 -1
  278. casadi/include/highs/util/FactorTimer.h +1 -1
  279. casadi/include/highs/util/HFactor.h +35 -6
  280. casadi/include/highs/util/HFactorConst.h +1 -1
  281. casadi/include/highs/util/HFactorDebug.h +1 -1
  282. casadi/include/highs/util/HSet.h +1 -1
  283. casadi/include/highs/util/HVector.h +1 -1
  284. casadi/include/highs/util/HVectorBase.h +1 -1
  285. casadi/include/highs/util/HighsCDouble.h +3 -3
  286. casadi/include/highs/util/HighsComponent.h +1 -1
  287. casadi/include/highs/util/HighsDataStack.h +4 -4
  288. casadi/include/highs/util/HighsDisjointSets.h +1 -1
  289. casadi/include/highs/util/HighsHash.h +28 -21
  290. casadi/include/highs/util/HighsHashTree.h +63 -63
  291. casadi/include/highs/util/HighsInt.h +1 -1
  292. casadi/include/highs/util/HighsIntegers.h +8 -9
  293. casadi/include/highs/util/HighsLinearSumBounds.h +1 -1
  294. casadi/include/highs/util/HighsMatrixPic.h +1 -1
  295. casadi/include/highs/util/HighsMatrixSlice.h +9 -6
  296. casadi/include/highs/util/HighsMatrixUtils.h +1 -1
  297. casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
  298. casadi/include/highs/util/HighsRandom.h +27 -15
  299. casadi/include/highs/util/HighsRbTree.h +2 -2
  300. casadi/include/highs/util/HighsSort.h +7 -7
  301. casadi/include/highs/util/HighsSparseMatrix.h +5 -2
  302. casadi/include/highs/util/HighsSparseVectorSum.h +2 -2
  303. casadi/include/highs/util/HighsSplay.h +1 -1
  304. casadi/include/highs/util/HighsTimer.h +18 -9
  305. casadi/include/highs/util/HighsUtils.h +15 -8
  306. casadi/include/highs/util/stringutil.h +9 -4
  307. casadi/include/highs/zstr/strict_fstream.hpp +237 -0
  308. casadi/include/highs/zstr/zstr.hpp +472 -0
  309. casadi/include/highs_export.h +42 -0
  310. casadi/include/licenses/daqp-external/LICENSE +21 -0
  311. casadi/include/licenses/fatrop-external/LICENSE.txt +165 -0
  312. casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
  313. casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
  314. casadi/include/licenses/highs-external/{LICENSE → LICENSE.txt} +1 -1
  315. casadi/include/osqp/constants.h +2 -3
  316. casadi/include/osqp/version.h +9 -0
  317. casadi/include/sleqp/defs.h +2 -2
  318. casadi/ipopt.lib +0 -0
  319. casadi/lapack.lib +0 -0
  320. casadi/lib/libtinyxml2.dll.a +0 -0
  321. casadi/libCbc-3.dll +0 -0
  322. casadi/libCbc.dll.a +0 -0
  323. casadi/libCbcSolver-3.dll +0 -0
  324. casadi/libCbcSolver.dll.a +0 -0
  325. casadi/libCgl-1.dll +0 -0
  326. casadi/libCgl.dll.a +0 -0
  327. casadi/libClp-1.dll +0 -0
  328. casadi/libClp.dll.a +0 -0
  329. casadi/libClpSolver-1.dll +0 -0
  330. casadi/libClpSolver.dll.a +0 -0
  331. casadi/libCoinUtils-3.dll +0 -0
  332. casadi/libCoinUtils.dll.a +0 -0
  333. casadi/libOsi-1.dll +0 -0
  334. casadi/libOsi.dll.a +0 -0
  335. casadi/libOsiCbc-3.dll +0 -0
  336. casadi/libOsiCbc.dll.a +0 -0
  337. casadi/libOsiClp-1.dll +0 -0
  338. casadi/libOsiClp.dll.a +0 -0
  339. casadi/libOsiCommonTests-1.dll +0 -0
  340. casadi/libOsiCommonTests.dll.a +0 -0
  341. casadi/libalpaqa.dll +0 -0
  342. casadi/libalpaqa.dll.a +0 -0
  343. casadi/libblasfeo.dll +0 -0
  344. casadi/libblasfeo.dll.a +0 -0
  345. casadi/libbonmin-4.dll +0 -0
  346. casadi/libbonmin.dll.a +0 -0
  347. casadi/libcasadi-tp-openblas.dll +0 -0
  348. casadi/libcasadi-tp-openblas.dll.a +0 -0
  349. casadi/libcasadi.dll +0 -0
  350. casadi/libcasadi.dll.a +0 -0
  351. casadi/libcasadi_conic_cbc.dll +0 -0
  352. casadi/libcasadi_conic_cbc.dll.a +0 -0
  353. casadi/libcasadi_conic_clp.dll +0 -0
  354. casadi/libcasadi_conic_clp.dll.a +0 -0
  355. casadi/libcasadi_conic_cplex.dll +0 -0
  356. casadi/libcasadi_conic_cplex.dll.a +0 -0
  357. casadi/libcasadi_conic_daqp.dll +0 -0
  358. casadi/libcasadi_conic_daqp.dll.a +0 -0
  359. casadi/libcasadi_conic_fatrop.dll +0 -0
  360. casadi/libcasadi_conic_fatrop.dll.a +0 -0
  361. casadi/libcasadi_conic_gurobi.dll +0 -0
  362. casadi/libcasadi_conic_gurobi.dll.a +0 -0
  363. casadi/libcasadi_conic_highs.dll +0 -0
  364. casadi/libcasadi_conic_highs.dll.a +0 -0
  365. casadi/libcasadi_conic_hpipm.dll +0 -0
  366. casadi/libcasadi_conic_hpipm.dll.a +0 -0
  367. casadi/libcasadi_conic_ipqp.dll +0 -0
  368. casadi/libcasadi_conic_ipqp.dll.a +0 -0
  369. casadi/libcasadi_conic_nlpsol.dll +0 -0
  370. casadi/libcasadi_conic_nlpsol.dll.a +0 -0
  371. casadi/libcasadi_conic_osqp.dll +0 -0
  372. casadi/libcasadi_conic_osqp.dll.a +0 -0
  373. casadi/libcasadi_conic_proxqp.dll +0 -0
  374. casadi/libcasadi_conic_proxqp.dll.a +0 -0
  375. casadi/libcasadi_conic_qpoases.dll +0 -0
  376. casadi/libcasadi_conic_qpoases.dll.a +0 -0
  377. casadi/libcasadi_conic_qrqp.dll +0 -0
  378. casadi/libcasadi_conic_qrqp.dll.a +0 -0
  379. casadi/libcasadi_conic_superscs.dll +0 -0
  380. casadi/libcasadi_conic_superscs.dll.a +0 -0
  381. casadi/libcasadi_importer_shell.dll +0 -0
  382. casadi/libcasadi_importer_shell.dll.a +0 -0
  383. casadi/libcasadi_integrator_collocation.dll +0 -0
  384. casadi/libcasadi_integrator_collocation.dll.a +0 -0
  385. casadi/libcasadi_integrator_cvodes.dll +0 -0
  386. casadi/libcasadi_integrator_cvodes.dll.a +0 -0
  387. casadi/libcasadi_integrator_idas.dll +0 -0
  388. casadi/libcasadi_integrator_idas.dll.a +0 -0
  389. casadi/libcasadi_integrator_rk.dll +0 -0
  390. casadi/libcasadi_integrator_rk.dll.a +0 -0
  391. casadi/libcasadi_interpolant_bspline.dll +0 -0
  392. casadi/libcasadi_interpolant_bspline.dll.a +0 -0
  393. casadi/libcasadi_interpolant_linear.dll +0 -0
  394. casadi/libcasadi_interpolant_linear.dll.a +0 -0
  395. casadi/libcasadi_linsol_csparse.dll +0 -0
  396. casadi/libcasadi_linsol_csparse.dll.a +0 -0
  397. casadi/libcasadi_linsol_csparsecholesky.dll +0 -0
  398. casadi/libcasadi_linsol_csparsecholesky.dll.a +0 -0
  399. casadi/libcasadi_linsol_lapacklu.dll +0 -0
  400. casadi/libcasadi_linsol_lapacklu.dll.a +0 -0
  401. casadi/libcasadi_linsol_lapackqr.dll +0 -0
  402. casadi/libcasadi_linsol_lapackqr.dll.a +0 -0
  403. casadi/libcasadi_linsol_ldl.dll +0 -0
  404. casadi/libcasadi_linsol_ldl.dll.a +0 -0
  405. casadi/libcasadi_linsol_lsqr.dll +0 -0
  406. casadi/libcasadi_linsol_lsqr.dll.a +0 -0
  407. casadi/libcasadi_linsol_ma27.dll +0 -0
  408. casadi/libcasadi_linsol_ma27.dll.a +0 -0
  409. casadi/libcasadi_linsol_mumps.dll +0 -0
  410. casadi/libcasadi_linsol_mumps.dll.a +0 -0
  411. casadi/libcasadi_linsol_qr.dll +0 -0
  412. casadi/libcasadi_linsol_qr.dll.a +0 -0
  413. casadi/libcasadi_linsol_symbolicqr.dll +0 -0
  414. casadi/libcasadi_linsol_symbolicqr.dll.a +0 -0
  415. casadi/libcasadi_linsol_tridiag.dll +0 -0
  416. casadi/libcasadi_linsol_tridiag.dll.a +0 -0
  417. casadi/libcasadi_nlpsol_alpaqa.dll +0 -0
  418. casadi/libcasadi_nlpsol_alpaqa.dll.a +0 -0
  419. casadi/libcasadi_nlpsol_ampl.dll +0 -0
  420. casadi/libcasadi_nlpsol_ampl.dll.a +0 -0
  421. casadi/libcasadi_nlpsol_blocksqp.dll +0 -0
  422. casadi/libcasadi_nlpsol_blocksqp.dll.a +0 -0
  423. casadi/libcasadi_nlpsol_bonmin.dll +0 -0
  424. casadi/libcasadi_nlpsol_bonmin.dll.a +0 -0
  425. casadi/libcasadi_nlpsol_fatrop.dll +0 -0
  426. casadi/libcasadi_nlpsol_fatrop.dll.a +0 -0
  427. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll +0 -0
  428. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll.a +0 -0
  429. casadi/libcasadi_nlpsol_ipopt.dll +0 -0
  430. casadi/libcasadi_nlpsol_ipopt.dll.a +0 -0
  431. casadi/libcasadi_nlpsol_knitro.dll +0 -0
  432. casadi/libcasadi_nlpsol_knitro.dll.a +0 -0
  433. casadi/libcasadi_nlpsol_madnlp.dll +0 -0
  434. casadi/libcasadi_nlpsol_madnlp.dll.a +0 -0
  435. casadi/libcasadi_nlpsol_qrsqp.dll +0 -0
  436. casadi/libcasadi_nlpsol_qrsqp.dll.a +0 -0
  437. casadi/libcasadi_nlpsol_scpgen.dll +0 -0
  438. casadi/libcasadi_nlpsol_scpgen.dll.a +0 -0
  439. casadi/libcasadi_nlpsol_sleqp.dll +0 -0
  440. casadi/libcasadi_nlpsol_sleqp.dll.a +0 -0
  441. casadi/libcasadi_nlpsol_snopt.dll +0 -0
  442. casadi/libcasadi_nlpsol_snopt.dll.a +0 -0
  443. casadi/libcasadi_nlpsol_sqpmethod.dll +0 -0
  444. casadi/libcasadi_nlpsol_sqpmethod.dll.a +0 -0
  445. casadi/libcasadi_nlpsol_worhp.dll +0 -0
  446. casadi/libcasadi_nlpsol_worhp.dll.a +0 -0
  447. casadi/libcasadi_rootfinder_fast_newton.dll +0 -0
  448. casadi/libcasadi_rootfinder_fast_newton.dll.a +0 -0
  449. casadi/libcasadi_rootfinder_kinsol.dll +0 -0
  450. casadi/libcasadi_rootfinder_kinsol.dll.a +0 -0
  451. casadi/libcasadi_rootfinder_newton.dll +0 -0
  452. casadi/libcasadi_rootfinder_newton.dll.a +0 -0
  453. casadi/libcasadi_rootfinder_nlpsol.dll +0 -0
  454. casadi/libcasadi_rootfinder_nlpsol.dll.a +0 -0
  455. casadi/libcasadi_sundials_common.dll +0 -0
  456. casadi/libcasadi_sundials_common.dll.a +0 -0
  457. casadi/libcasadi_xmlfile_tinyxml.dll +0 -0
  458. casadi/libcasadi_xmlfile_tinyxml.dll.a +0 -0
  459. casadi/libcoinmetis-2.dll +0 -0
  460. casadi/libcoinmetis.dll.a +0 -0
  461. casadi/libcoinmetis.la +1 -1
  462. casadi/libcoinmumps-3.dll +0 -0
  463. casadi/libcoinmumps.dll.a +0 -0
  464. casadi/libcplex_adaptor.dll +0 -0
  465. casadi/libdaqp.dll +0 -0
  466. casadi/libdaqp.dll.a +0 -0
  467. casadi/libdaqpstat.a +0 -0
  468. casadi/{libFortranHighs.dll → libdl.dll} +0 -0
  469. casadi/libdl.dll.a +0 -0
  470. casadi/libfatrop.dll +0 -0
  471. casadi/libfatrop.dll.a +0 -0
  472. casadi/libgurobi_adaptor.dll +0 -0
  473. casadi/libhighs.dll +0 -0
  474. casadi/libhighs.dll.a +0 -0
  475. casadi/libhpipm.dll +0 -0
  476. casadi/libhpipm.dll.a +0 -0
  477. casadi/libipopt-3.dll +0 -0
  478. casadi/libipopt.dll.a +0 -0
  479. casadi/libmatlab_ipc.dll +0 -0
  480. casadi/libmatlab_ipc.dll.a +0 -0
  481. casadi/libosqp.a +0 -0
  482. casadi/libosqp.dll +0 -0
  483. casadi/libosqp.dll.a +0 -0
  484. casadi/libqdldl.dll +0 -0
  485. casadi/libqdldl.dll.a +0 -0
  486. casadi/libsipopt-3.dll +0 -0
  487. casadi/libsipopt.dll.a +0 -0
  488. casadi/libsleqp.dll +0 -0
  489. casadi/libsleqp.dll.a +0 -0
  490. casadi/libtinyxml2.dll +0 -0
  491. casadi/libtrlib.dll +0 -0
  492. casadi/libtrlib.dll.a +0 -0
  493. casadi/matlab_ipc.lib +0 -0
  494. casadi/osqp.lib +0 -0
  495. casadi/pkgconfig/casadi.pc +1 -1
  496. casadi/pkgconfig/highs.pc +1 -1
  497. casadi/sleqp.lib +0 -0
  498. casadi/spral_ssids.exe +0 -0
  499. casadi/tools/__init__.py +4 -0
  500. casadi/tools/bounds.py +3 -3
  501. {casadi-3.6.5.dist-info → casadi-3.6.7.dist-info}/METADATA +2 -2
  502. {casadi-3.6.5.dist-info → casadi-3.6.7.dist-info}/RECORD +503 -325
  503. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  504. casadi/libFortranHighs.dll.a +0 -0
  505. {casadi-3.6.5.dist-info → casadi-3.6.7.dist-info}/WHEEL +0 -0
@@ -0,0 +1,55 @@
1
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2
+ /* */
3
+ /* This file is part of the HiGHS linear optimization suite */
4
+ /* */
5
+ /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
7
+ /* */
8
+ /* Available as open-source under the MIT License */
9
+ /* */
10
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
11
+ /**@file HighsMemoryAllocation.h
12
+ * @brief Utilities for memory allocation that return true if successful
13
+ */
14
+
15
+ #ifndef UTIL_HIGHS_MEMORY_ALLOCATION_H_
16
+ #define UTIL_HIGHS_MEMORY_ALLOCATION_H_
17
+
18
+ #include <vector>
19
+
20
+ #include "util/HighsInt.h"
21
+
22
+ template <typename T>
23
+ bool okResize(std::vector<T>& use_vector, HighsInt dimension, T value = T{}) {
24
+ try {
25
+ use_vector.resize(dimension, value);
26
+ } catch (const std::bad_alloc& e) {
27
+ printf("HighsMemoryAllocation::okResize fails with %s\n", e.what());
28
+ return false;
29
+ }
30
+ return true;
31
+ }
32
+
33
+ template <typename T>
34
+ bool okReserve(std::vector<T>& use_vector, HighsInt dimension) {
35
+ try {
36
+ use_vector.reserve(dimension);
37
+ } catch (const std::bad_alloc& e) {
38
+ printf("HighsMemoryAllocation::okReserve fails with %s\n", e.what());
39
+ return false;
40
+ }
41
+ return true;
42
+ }
43
+
44
+ template <typename T>
45
+ bool okAssign(std::vector<T>& use_vector, HighsInt dimension, T value = T{}) {
46
+ try {
47
+ use_vector.assign(dimension, value);
48
+ } catch (const std::bad_alloc& e) {
49
+ printf("HighsMemoryAllocation::okAssign fails with %s\n", e.what());
50
+ return false;
51
+ }
52
+ return true;
53
+ }
54
+
55
+ #endif
@@ -2,7 +2,7 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
5
+ /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
6
  /* Leona Gottwald and Michael Feldmeier */
7
7
  /* */
8
8
  /* Available as open-source under the MIT License */
@@ -32,13 +32,14 @@ class HighsRandom {
32
32
  assert(sup <= uint32_t{1} << nbits);
33
33
  while (true) {
34
34
  advance();
35
- uint32_t lo = state;
35
+ uint32_t lo = static_cast<uint32_t>(state);
36
36
  uint32_t hi = state >> 32;
37
37
 
38
- uint64_t val;
38
+ uint32_t val;
39
39
 
40
- #define HIGHS_RAND_TRY_OUTPUT(n) \
41
- val = HighsHashHelpers::pair_hash<n>(lo, hi) >> (64 - nbits); \
40
+ #define HIGHS_RAND_TRY_OUTPUT(n) \
41
+ val = static_cast<uint32_t>(HighsHashHelpers::pair_hash<n>(lo, hi) >> \
42
+ (64 - nbits)); \
42
43
  if (val < sup) return val;
43
44
 
44
45
  HIGHS_RAND_TRY_OUTPUT(0);
@@ -86,7 +87,7 @@ class HighsRandom {
86
87
  assert(sup <= uint64_t{1} << nbits);
87
88
  while (true) {
88
89
  advance();
89
- uint32_t lo = state;
90
+ uint32_t lo = static_cast<uint32_t>(state);
90
91
  uint32_t hi = state >> 32;
91
92
 
92
93
  uint64_t val;
@@ -128,7 +129,8 @@ class HighsRandom {
128
129
  void initialise(HighsUInt seed = 0) {
129
130
  state = seed;
130
131
  do {
131
- state = HighsHashHelpers::pair_hash<0>(state, state >> 32);
132
+ state = HighsHashHelpers::pair_hash<0>(static_cast<uint32_t>(state),
133
+ state >> 32);
132
134
  state ^= (HighsHashHelpers::pair_hash<1>(state >> 32, seed) >> 32);
133
135
  } while (state == 0);
134
136
  }
@@ -154,7 +156,9 @@ class HighsRandom {
154
156
  (HighsHashHelpers::pair_hash<1>(state, state >> 32) >> 32);
155
157
  #else
156
158
  // use 31 bits of the 64 bit result
157
- return HighsHashHelpers::pair_hash<0>(state, state >> 32) >> 33;
159
+ return HighsHashHelpers::pair_hash<0>(static_cast<uint32_t>(state),
160
+ state >> 32) >>
161
+ 33;
158
162
  #endif
159
163
  }
160
164
 
@@ -181,9 +185,12 @@ class HighsRandom {
181
185
  double fraction() {
182
186
  advance();
183
187
  // 52 bit output is in interval [0,2^52-1]
184
- uint64_t output =
185
- (HighsHashHelpers::pair_hash<0>(state, state >> 32) >> (64 - 52)) ^
186
- (HighsHashHelpers::pair_hash<1>(state, state >> 32) >> (64 - 26));
188
+ uint64_t output = (HighsHashHelpers::pair_hash<0>(
189
+ static_cast<uint32_t>(state), state >> 32) >>
190
+ (64 - 52)) ^
191
+ (HighsHashHelpers::pair_hash<1>(
192
+ static_cast<uint32_t>(state), state >> 32) >>
193
+ (64 - 26));
187
194
  // compute (1+output) / (2^52+1) which is strictly between 0 and 1
188
195
  return (1 + output) * 2.2204460492503125e-16;
189
196
  }
@@ -194,9 +201,12 @@ class HighsRandom {
194
201
  double closedFraction() {
195
202
  advance();
196
203
  // 53 bit result is in interval [0,2^53-1]
197
- uint64_t output =
198
- (HighsHashHelpers::pair_hash<0>(state, state >> 32) >> (64 - 53)) ^
199
- (HighsHashHelpers::pair_hash<1>(state, state >> 32) >> 32);
204
+ uint64_t output = (HighsHashHelpers::pair_hash<0>(
205
+ static_cast<uint32_t>(state), state >> 32) >>
206
+ (64 - 53)) ^
207
+ (HighsHashHelpers::pair_hash<1>(
208
+ static_cast<uint32_t>(state), state >> 32) >>
209
+ 32);
200
210
  // compute output / (2^53-1) in double precision which is in the closed
201
211
  // interval [0,1]
202
212
  return output * 1.1102230246251566e-16;
@@ -212,7 +222,9 @@ class HighsRandom {
212
222
  */
213
223
  bool bit() {
214
224
  advance();
215
- return HighsHashHelpers::pair_hash<0>(state, state >> 32) >> 63;
225
+ return HighsHashHelpers::pair_hash<0>(static_cast<uint32_t>(state),
226
+ state >> 32) >>
227
+ 63;
216
228
  }
217
229
 
218
230
  /**
@@ -2,7 +2,7 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
5
+ /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
6
  /* Leona Gottwald and Michael Feldmeier */
7
7
  /* */
8
8
  /* Available as open-source under the MIT License */
@@ -141,7 +141,7 @@ class RbTree {
141
141
  }
142
142
 
143
143
  void setColor(LinkType node, HighsUInt color) {
144
- static_cast<Impl*>(this)->getRbTreeLinks(node).setColor(color);
144
+ static_cast<Impl*>(this)->getRbTreeLinks(node).setColor(color != 0);
145
145
  }
146
146
 
147
147
  HighsUInt getColor(LinkType node) const {
@@ -2,7 +2,7 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
5
+ /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
6
  /* Leona Gottwald and Michael Feldmeier */
7
7
  /* */
8
8
  /* Available as open-source under the MIT License */
@@ -36,7 +36,7 @@ void maxheapsort(HighsInt* heap_v, //!< HighsInt values to be sorted
36
36
  */
37
37
  void maxheapsort(
38
38
  HighsInt* heap_v, //!< Values to be sorted
39
- HighsInt* heap_i, //!< Indices corrresponding to (sorted) values
39
+ HighsInt* heap_i, //!< Indices corresponding to (sorted) values
40
40
  HighsInt n //!< Number of values to be sorted
41
41
  );
42
42
  /**
@@ -45,7 +45,7 @@ void maxheapsort(
45
45
  */
46
46
  void maxheapsort(
47
47
  double* heap_v, //!< Values to be sorted
48
- HighsInt* heap_i, //!< Indices corrresponding to (sorted) values
48
+ HighsInt* heap_i, //!< Indices corresponding to (sorted) values
49
49
  HighsInt n //!< Number of values to be sorted
50
50
  );
51
51
  /**
@@ -61,7 +61,7 @@ void buildMaxheap(HighsInt* heap_v, //!< HighsInt values to be sorted
61
61
  */
62
62
  void buildMaxheap(
63
63
  HighsInt* heap_v, //!< Values to be sorted
64
- HighsInt* heap_i, //!< Indices corrresponding to (sorted) values
64
+ HighsInt* heap_i, //!< Indices corresponding to (sorted) values
65
65
  HighsInt n //!< Number of values to be sorted
66
66
  );
67
67
  /**
@@ -70,7 +70,7 @@ void buildMaxheap(
70
70
  */
71
71
  void buildMaxheap(
72
72
  double* heap_v, //!< Values to be sorted
73
- HighsInt* heap_i, //!< Indices corrresponding to (sorted) values
73
+ HighsInt* heap_i, //!< Indices corresponding to (sorted) values
74
74
  HighsInt n //!< Number of values to be sorted
75
75
  );
76
76
  /**
@@ -84,7 +84,7 @@ void maxHeapsort(HighsInt* heap_v, //!< HighsInt values to be sorted
84
84
  */
85
85
  void maxHeapsort(
86
86
  HighsInt* heap_v, //!< Values to be sorted
87
- HighsInt* heap_i, //!< Indices corrresponding to (sorted) values
87
+ HighsInt* heap_i, //!< Indices corresponding to (sorted) values
88
88
  HighsInt n //!< Number of values to be sorted
89
89
  );
90
90
  /**
@@ -92,7 +92,7 @@ void maxHeapsort(
92
92
  */
93
93
  void maxHeapsort(
94
94
  double* heap_v, //!< Values to be sorted
95
- HighsInt* heap_i, //!< Indices corrresponding to (sorted) values
95
+ HighsInt* heap_i, //!< Indices corresponding to (sorted) values
96
96
  HighsInt n //!< Number of values to be sorted
97
97
  );
98
98
  /**
@@ -2,7 +2,7 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
5
+ /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
6
  /* Leona Gottwald and Michael Feldmeier */
7
7
  /* */
8
8
  /* Available as open-source under the MIT License */
@@ -58,7 +58,10 @@ class HighsSparseMatrix {
58
58
  const int8_t* in_partition = NULL);
59
59
  void addRows(const HighsSparseMatrix new_rows,
60
60
  const int8_t* in_partition = NULL);
61
-
61
+ void getRow(const HighsInt iRow, HighsInt& num_nz, HighsInt* index,
62
+ double* value) const;
63
+ void getCol(const HighsInt iCol, HighsInt& num_nz, HighsInt* index,
64
+ double* value) const;
62
65
  void deleteCols(const HighsIndexCollection& index_collection);
63
66
  void deleteRows(const HighsIndexCollection& index_collection);
64
67
  HighsStatus assessDimensions(const HighsLogOptions& log_options,
@@ -2,7 +2,7 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
5
+ /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
6
  /* Leona Gottwald and Michael Feldmeier */
7
7
  /* */
8
8
  /* Available as open-source under the MIT License */
@@ -62,7 +62,7 @@ class HighsSparseVectorSum {
62
62
  double getValue(HighsInt index) const { return double(values[index]); }
63
63
 
64
64
  void clear() {
65
- if (nonzeroinds.size() < 0.3 * values.size())
65
+ if (10 * nonzeroinds.size() < 3 * values.size())
66
66
  for (HighsInt i : nonzeroinds) values[i] = 0.0;
67
67
  else
68
68
  values.assign(values.size(), false);
@@ -2,7 +2,7 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
5
+ /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
6
  /* Leona Gottwald and Michael Feldmeier */
7
7
  /* */
8
8
  /* Available as open-source under the MIT License */
@@ -2,7 +2,7 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
5
+ /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
6
  /* Leona Gottwald and Michael Feldmeier */
7
7
  /* */
8
8
  /* Available as open-source under the MIT License */
@@ -177,6 +177,16 @@ class HighsTimer {
177
177
  return read_time;
178
178
  }
179
179
 
180
+ /**
181
+ * @brief Return whether a clock is running
182
+ */
183
+ bool running(HighsInt i_clock //!< Index of the clock to be read
184
+ ) {
185
+ assert(i_clock >= 0);
186
+ assert(i_clock < num_clock);
187
+ return clock_start[i_clock] < 0;
188
+ }
189
+
180
190
  /**
181
191
  * @brief Start the RunHighs clock
182
192
  */
@@ -195,7 +205,7 @@ class HighsTimer {
195
205
  /**
196
206
  * @brief Test whether the RunHighs clock is running
197
207
  */
198
- bool runningRunHighsClock() { return clock_start[run_highs_clock] < 0; }
208
+ bool runningRunHighsClock() { return running(run_highs_clock); }
199
209
 
200
210
  /**
201
211
  * @brief Report timing information for the clock indices in the list
@@ -219,7 +229,7 @@ class HighsTimer {
219
229
  0 //!< Lower bound on percentage of total time
220
230
  //!< before an individual clock is reported
221
231
  ) {
222
- HighsInt num_clock_list_entries = clock_list.size();
232
+ size_t num_clock_list_entries = clock_list.size();
223
233
  double current_run_highs_time = readRunHighsClock();
224
234
  bool non_null_report = false;
225
235
 
@@ -228,7 +238,7 @@ class HighsTimer {
228
238
  // determine the total clock times
229
239
  HighsInt sum_calls = 0;
230
240
  double sum_clock_times = 0;
231
- for (HighsInt i = 0; i < num_clock_list_entries; i++) {
241
+ for (size_t i = 0; i < num_clock_list_entries; i++) {
232
242
  HighsInt iClock = clock_list[i];
233
243
  assert(iClock >= 0);
234
244
  assert(iClock < num_clock);
@@ -243,7 +253,7 @@ class HighsTimer {
243
253
 
244
254
  std::vector<double> percent_sum_clock_times(num_clock_list_entries);
245
255
  double max_percent_sum_clock_times = 0;
246
- for (HighsInt i = 0; i < num_clock_list_entries; i++) {
256
+ for (size_t i = 0; i < num_clock_list_entries; i++) {
247
257
  HighsInt iClock = clock_list[i];
248
258
  percent_sum_clock_times[i] = 100.0 * clock_time[iClock] / sum_clock_times;
249
259
  max_percent_sum_clock_times =
@@ -261,7 +271,7 @@ class HighsTimer {
261
271
  printf("; Local): Calls Time/Call\n");
262
272
  // Convert approximate seconds
263
273
  double sum_time = 0;
264
- for (HighsInt i = 0; i < num_clock_list_entries; i++) {
274
+ for (size_t i = 0; i < num_clock_list_entries; i++) {
265
275
  HighsInt iClock = clock_list[i];
266
276
  double time = clock_time[iClock];
267
277
  double percent_run_highs = 100.0 * time / current_run_highs_time;
@@ -275,9 +285,8 @@ class HighsTimer {
275
285
  double percent_ideal = 100.0 * time / ideal_sum_time;
276
286
  printf("; %5.1f%%", percent_ideal);
277
287
  }
278
- printf("; %5.1f%%):%9" HIGHSINT_FORMAT " %11.4e\n",
279
- percent_sum_clock_times[i], clock_num_call[iClock],
280
- time_per_call);
288
+ printf("; %5.1f%%):%9ld %11.4e\n", percent_sum_clock_times[i],
289
+ static_cast<long int>(clock_num_call[iClock]), time_per_call);
281
290
  }
282
291
  }
283
292
  sum_time += time;
@@ -2,7 +2,7 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
5
+ /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
6
  /* Leona Gottwald and Michael Feldmeier */
7
7
  /* */
8
8
  /* Available as open-source under the MIT License */
@@ -20,6 +20,13 @@
20
20
 
21
21
  #include "lp_data/HighsOptions.h"
22
22
 
23
+ const HighsInt kIndexCollectionCreateOk = 0;
24
+ const HighsInt kIndexCollectionCreateIllegalInterval = 1;
25
+ const HighsInt kIndexCollectionCreateIllegalSetSize = 1;
26
+ const HighsInt kIndexCollectionCreateIllegalSetDimension = 2;
27
+ const HighsInt kIndexCollectionCreateIllegalSetOrder = 3;
28
+ const HighsInt kIndexCollectionCreateIllegalMaskSize = 1;
29
+
23
30
  void highsSparseTranspose(HighsInt numRow, HighsInt numCol,
24
31
  const std::vector<HighsInt>& Astart,
25
32
  const std::vector<HighsInt>& Aindex,
@@ -81,15 +88,15 @@ const double awful_regression_error = 2.0;
81
88
  const double bad_regression_error = 0.2;
82
89
  const double fair_regression_error = 0.02;
83
90
 
84
- bool create(HighsIndexCollection& index_collection, const HighsInt from_col,
85
- const HighsInt to_col, const HighsInt dimension);
91
+ HighsInt create(HighsIndexCollection& index_collection, const HighsInt from_col,
92
+ const HighsInt to_col, const HighsInt dimension);
86
93
 
87
- bool create(HighsIndexCollection& index_collection,
88
- const HighsInt num_set_entries, const HighsInt* set,
89
- const HighsInt dimension);
94
+ HighsInt create(HighsIndexCollection& index_collection,
95
+ const HighsInt num_set_entries, const HighsInt* set,
96
+ const HighsInt dimension);
90
97
 
91
- void create(HighsIndexCollection& index_collection, const HighsInt* mask,
92
- const HighsInt dimension);
98
+ HighsInt create(HighsIndexCollection& index_collection, const HighsInt* mask,
99
+ const HighsInt dimension);
93
100
 
94
101
  bool ok(const HighsIndexCollection& index_collection);
95
102
 
@@ -2,7 +2,7 @@
2
2
  /* */
3
3
  /* This file is part of the HiGHS linear optimization suite */
4
4
  /* */
5
- /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
5
+ /* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, */
6
6
  /* Leona Gottwald and Michael Feldmeier */
7
7
  /* */
8
8
  /* Available as open-source under the MIT License */
@@ -16,11 +16,16 @@
16
16
  #include <cstring>
17
17
  #include <string>
18
18
 
19
+ /*
19
20
  void strRemoveWhitespace(char* str);
20
21
  char* strClone(const char* str);
21
22
  int strIsWhitespace(const char* str);
22
23
  void strToLower(char* str);
23
24
  void strTrim(char* str);
25
+ */
26
+ // std::string& str_tolower(std::string s);
27
+
28
+ void tolower(std::string& str);
24
29
 
25
30
  const std::string non_chars = "\t\n\v\f\r ";
26
31
  std::string& ltrim(std::string& str, const std::string& chars = non_chars);
@@ -29,11 +34,11 @@ std::string& trim(std::string& str, const std::string& chars = non_chars);
29
34
 
30
35
  bool is_empty(std::string& str, const std::string& chars = non_chars);
31
36
  bool is_empty(char c, const std::string& chars = non_chars);
32
- bool is_end(std::string& str, int end, const std::string& chars = non_chars);
37
+ bool is_end(std::string& str, size_t end, const std::string& chars = non_chars);
33
38
 
34
39
  // todo: replace with pair of references rather than string ret value to avoid
35
40
  // copy and also using function below. or do it properly with iterators.
36
- std::string first_word(std::string& str, int start);
37
- int first_word_end(std::string& str, int start);
41
+ std::string first_word(std::string& str, size_t start);
42
+ size_t first_word_end(std::string& str, size_t start);
38
43
 
39
44
  #endif