casadi 3.6.5__cp311-none-macosx_11_0_arm64.whl → 3.6.7__cp311-none-macosx_11_0_arm64.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 (649) hide show
  1. casadi/_casadi.so +0 -0
  2. casadi/casadi-cli +0 -0
  3. casadi/casadi.py +739 -308
  4. casadi/cbc +0 -0
  5. casadi/clp +0 -0
  6. casadi/cmake/casadi-config-version.cmake +1 -1
  7. casadi/cmake/casadi-targets.cmake +10 -6
  8. casadi/cmake/highs/highs-config.cmake +6 -13
  9. casadi/cmake/highs/highs-targets-release.cmake +13 -13
  10. casadi/cmake/highs/highs-targets.cmake +25 -22
  11. casadi/cmake/osqp/osqp-targets.cmake +10 -6
  12. casadi/cmake/proxsuite/proxsuiteConfigVersion.cmake +0 -5
  13. casadi/cmake/proxsuite/proxsuiteTargets.cmake +12 -12
  14. casadi/cmake/qdldl/qdldl-targets.cmake +10 -6
  15. casadi/cmake/sleqp/sleqp-config-version.cmake +0 -5
  16. casadi/cmake/sleqp/sleqp-targets.cmake +10 -6
  17. casadi/cmake/trlib/trlib-config-release.cmake +1 -1
  18. casadi/cmake/trlib/trlib-config-version.cmake +0 -5
  19. casadi/cmake/trlib/trlib-config.cmake +12 -12
  20. casadi/highs +0 -0
  21. casadi/include/casadi/casadi.i +3 -0
  22. casadi/include/casadi/casadi_c.h +2 -0
  23. casadi/include/casadi/config.h +9 -9
  24. casadi/include/casadi/core/casadi_common.hpp +1 -0
  25. casadi/include/casadi/core/casadi_export.h +1 -0
  26. casadi/include/casadi/core/casadi_misc.hpp +52 -0
  27. casadi/include/casadi/core/casadi_types.hpp +3 -2
  28. casadi/include/casadi/core/code_generator.hpp +30 -1
  29. casadi/include/casadi/core/global_options.hpp +2 -0
  30. casadi/include/casadi/core/mx.hpp +18 -3
  31. casadi/include/casadi/core/optistack.hpp +23 -0
  32. casadi/include/casadi/core/runtime/casadi_nlp.hpp +19 -4
  33. casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
  34. casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
  35. casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
  36. casadi/include/casadi/core/runtime/casadi_runtime.hpp +4 -1
  37. casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
  38. casadi/include/casadi/core/serializing_stream.hpp +2 -2
  39. casadi/include/casadi/core/sparsity.hpp +7 -0
  40. casadi/include/casadi/doc.i +1513 -1016
  41. casadi/include/casadi/doc_merged.i +965 -719
  42. casadi/include/casadi/mem.h +1 -0
  43. casadi/include/daqp/api.h +46 -0
  44. casadi/include/daqp/auxiliary.h +29 -0
  45. casadi/include/daqp/bnb.h +32 -0
  46. casadi/include/daqp/codegen.h +18 -0
  47. casadi/include/daqp/constants.h +92 -0
  48. casadi/include/daqp/daqp.h +22 -0
  49. casadi/include/daqp/daqp_prox.h +18 -0
  50. casadi/include/daqp/factorization.h +18 -0
  51. casadi/include/daqp/types.h +161 -0
  52. casadi/include/daqp/utils.h +44 -0
  53. casadi/include/fatrop/auxiliary/Common.hpp +34 -0
  54. casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
  55. casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
  56. casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
  57. casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
  58. casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
  59. casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +493 -0
  60. casadi/include/fatrop/fatrop.hpp +39 -0
  61. casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
  62. casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
  63. casadi/include/fatrop/json/json.h +946 -0
  64. casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
  65. casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
  66. casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
  67. casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
  68. casadi/include/fatrop/ocp/FatropOCPResto.hpp +299 -0
  69. casadi/include/fatrop/ocp/OCP.hpp +82 -0
  70. casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
  71. casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
  72. casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
  73. casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
  74. casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
  75. casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
  76. casadi/include/fatrop/ocp/OCPLSRiccati.hpp +198 -0
  77. casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
  78. casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
  79. casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
  80. casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
  81. casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
  82. casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
  83. casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
  84. casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
  85. casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
  86. casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
  87. casadi/include/fatrop/solver/AlgBuilder.hpp +76 -0
  88. casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
  89. casadi/include/fatrop/solver/FatropAlg.hpp +121 -0
  90. casadi/include/fatrop/solver/FatropData.hpp +188 -0
  91. casadi/include/fatrop/solver/FatropOptions.hpp +95 -0
  92. casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
  93. casadi/include/fatrop/solver/FatropStats.hpp +63 -0
  94. casadi/include/fatrop/solver/Filter.hpp +54 -0
  95. casadi/include/fatrop/solver/IterationData.hpp +56 -0
  96. casadi/include/fatrop/solver/LineSearch.hpp +86 -0
  97. casadi/include/fatrop/solver/NLPL1.hpp +263 -0
  98. casadi/include/fatrop/templates/NLPAlg.hpp +104 -0
  99. casadi/include/highs/HConfig.h +8 -7
  100. casadi/include/highs/Highs.h +93 -23
  101. casadi/include/highs/filereaderlp/def.hpp +19 -0
  102. casadi/include/highs/interfaces/highs_c_api.h +200 -24
  103. casadi/include/highs/io/Filereader.h +1 -1
  104. casadi/include/highs/io/FilereaderEms.h +1 -1
  105. casadi/include/highs/io/FilereaderLp.h +1 -1
  106. casadi/include/highs/io/FilereaderMps.h +1 -1
  107. casadi/include/highs/io/HMPSIO.h +1 -1
  108. casadi/include/highs/io/HMpsFF.h +5 -3
  109. casadi/include/highs/io/HighsIO.h +18 -8
  110. casadi/include/highs/io/LoadOptions.h +1 -1
  111. casadi/include/highs/ipm/IpxSolution.h +35 -0
  112. casadi/include/highs/ipm/IpxWrapper.h +1 -1
  113. casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
  114. casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  115. casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  116. casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  117. casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  118. casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  119. casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  120. casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  121. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  122. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  123. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  124. casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  125. casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
  126. casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  127. casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  128. casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  129. casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
  130. casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
  131. casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
  132. casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
  133. casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
  134. casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
  135. casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  136. casadi/include/highs/ipm/ipx/basis.h +351 -0
  137. casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
  138. casadi/include/highs/ipm/ipx/control.h +163 -0
  139. casadi/include/highs/ipm/ipx/crossover.h +157 -0
  140. casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
  141. casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
  142. casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
  143. casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
  144. casadi/include/highs/ipm/ipx/info.h +27 -0
  145. casadi/include/highs/ipm/ipx/ipm.h +94 -0
  146. casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
  147. casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
  148. casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
  149. casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
  150. casadi/include/highs/ipm/ipx/ipx_parameters.h +75 -0
  151. casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
  152. casadi/include/highs/ipm/ipx/iterate.h +328 -0
  153. casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
  154. casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  155. casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  156. casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
  157. casadi/include/highs/ipm/ipx/lp_solver.h +201 -0
  158. casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
  159. casadi/include/highs/ipm/ipx/lu_update.h +129 -0
  160. casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
  161. casadi/include/highs/ipm/ipx/model.h +409 -0
  162. casadi/include/highs/ipm/ipx/multistream.h +52 -0
  163. casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
  164. casadi/include/highs/ipm/ipx/power_method.h +44 -0
  165. casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
  166. casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
  167. casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  168. casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
  169. casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
  170. casadi/include/highs/ipm/ipx/timer.h +24 -0
  171. casadi/include/highs/ipm/ipx/utils.h +39 -0
  172. casadi/include/highs/lp_data/HConst.h +20 -10
  173. casadi/include/highs/lp_data/HStruct.h +23 -1
  174. casadi/include/highs/lp_data/HighsAnalysis.h +1 -1
  175. casadi/include/highs/lp_data/HighsCallback.h +10 -3
  176. casadi/include/highs/lp_data/HighsCallbackStruct.h +31 -5
  177. casadi/include/highs/lp_data/HighsDebug.h +1 -1
  178. casadi/include/highs/lp_data/HighsInfo.h +20 -2
  179. casadi/include/highs/lp_data/HighsInfoDebug.h +1 -1
  180. casadi/include/highs/lp_data/HighsLp.h +17 -1
  181. casadi/include/highs/lp_data/HighsLpSolverObject.h +1 -1
  182. casadi/include/highs/lp_data/HighsLpUtils.h +19 -19
  183. casadi/include/highs/lp_data/HighsModelUtils.h +1 -1
  184. casadi/include/highs/lp_data/HighsOptions.h +237 -10
  185. casadi/include/highs/lp_data/HighsRanging.h +1 -1
  186. casadi/include/highs/lp_data/HighsRuntimeOptions.h +2 -2
  187. casadi/include/highs/lp_data/HighsSolution.h +2 -2
  188. casadi/include/highs/lp_data/HighsSolutionDebug.h +1 -1
  189. casadi/include/highs/lp_data/HighsSolve.h +3 -1
  190. casadi/include/highs/lp_data/HighsStatus.h +1 -1
  191. casadi/include/highs/mip/HighsCliqueTable.h +4 -4
  192. casadi/include/highs/mip/HighsConflictPool.h +1 -1
  193. casadi/include/highs/mip/HighsCutGeneration.h +1 -1
  194. casadi/include/highs/mip/HighsCutPool.h +2 -2
  195. casadi/include/highs/mip/HighsDebugSol.h +22 -29
  196. casadi/include/highs/mip/HighsDomain.h +10 -2
  197. casadi/include/highs/mip/HighsDomainChange.h +1 -1
  198. casadi/include/highs/mip/HighsDynamicRowMatrix.h +5 -3
  199. casadi/include/highs/mip/HighsGFkSolve.h +3 -3
  200. casadi/include/highs/mip/HighsImplications.h +3 -3
  201. casadi/include/highs/mip/HighsLpAggregator.h +1 -1
  202. casadi/include/highs/mip/HighsLpRelaxation.h +6 -1
  203. casadi/include/highs/mip/HighsMipSolver.h +4 -2
  204. casadi/include/highs/mip/HighsMipSolverData.h +47 -4
  205. casadi/include/highs/mip/HighsModkSeparator.h +2 -2
  206. casadi/include/highs/mip/HighsNodeQueue.h +5 -3
  207. casadi/include/highs/mip/HighsObjectiveFunction.h +1 -1
  208. casadi/include/highs/mip/HighsPathSeparator.h +2 -2
  209. casadi/include/highs/mip/HighsPrimalHeuristics.h +1 -1
  210. casadi/include/highs/mip/HighsPseudocost.h +35 -23
  211. casadi/include/highs/mip/HighsRedcostFixing.h +1 -1
  212. casadi/include/highs/mip/HighsSearch.h +2 -1
  213. casadi/include/highs/mip/HighsSeparation.h +1 -1
  214. casadi/include/highs/mip/HighsSeparator.h +1 -1
  215. casadi/include/highs/mip/HighsTableauSeparator.h +1 -1
  216. casadi/include/highs/mip/HighsTransformedLp.h +1 -1
  217. casadi/include/highs/model/HighsHessian.h +5 -0
  218. casadi/include/highs/model/HighsHessianUtils.h +2 -0
  219. casadi/include/highs/model/HighsModel.h +10 -1
  220. casadi/include/highs/parallel/HighsMutex.h +2 -1
  221. casadi/include/highs/parallel/HighsParallel.h +7 -2
  222. casadi/include/highs/parallel/HighsTask.h +1 -2
  223. casadi/include/highs/pdlp/CupdlpWrapper.h +93 -0
  224. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +41 -0
  225. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +423 -0
  226. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +183 -0
  227. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  228. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  229. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +28 -0
  230. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
  231. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +33 -0
  232. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1726 -0
  233. casadi/include/highs/pdqsort/pdqsort.h +532 -0
  234. casadi/include/highs/presolve/HPresolve.h +27 -14
  235. casadi/include/highs/presolve/HPresolveAnalysis.h +1 -1
  236. casadi/include/highs/presolve/HighsPostsolveStack.h +92 -68
  237. casadi/include/highs/presolve/HighsSymmetry.h +6 -5
  238. casadi/include/highs/presolve/ICrash.h +8 -2
  239. casadi/include/highs/presolve/ICrashUtil.h +1 -1
  240. casadi/include/highs/presolve/ICrashX.h +1 -1
  241. casadi/include/highs/presolve/PresolveComponent.h +1 -1
  242. casadi/include/highs/qpsolver/a_asm.hpp +23 -12
  243. casadi/include/highs/qpsolver/a_quass.hpp +8 -1
  244. casadi/include/highs/qpsolver/basis.hpp +150 -0
  245. casadi/include/highs/qpsolver/crashsolution.hpp +12 -0
  246. casadi/include/highs/qpsolver/dantzigpricing.hpp +72 -0
  247. casadi/include/highs/qpsolver/devexpricing.hpp +99 -0
  248. casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
  249. casadi/include/highs/qpsolver/factor.hpp +400 -0
  250. casadi/include/highs/qpsolver/feasibility_bounded.hpp +105 -0
  251. casadi/include/highs/qpsolver/feasibility_highs.hpp +270 -0
  252. casadi/include/highs/qpsolver/gradient.hpp +39 -0
  253. casadi/include/highs/qpsolver/instance.hpp +63 -0
  254. casadi/include/highs/qpsolver/matrix.hpp +335 -0
  255. casadi/include/highs/qpsolver/pricing.hpp +15 -0
  256. casadi/include/highs/qpsolver/qpconst.hpp +27 -0
  257. casadi/include/highs/qpsolver/{vector.hpp → qpvector.hpp} +25 -25
  258. casadi/include/highs/qpsolver/quass.hpp +1 -1
  259. casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
  260. casadi/include/highs/qpsolver/runtime.hpp +38 -0
  261. casadi/include/highs/qpsolver/settings.hpp +57 -0
  262. casadi/include/highs/qpsolver/snippets.hpp +29 -0
  263. casadi/include/highs/qpsolver/statistics.hpp +23 -0
  264. casadi/include/highs/qpsolver/steepestedgepricing.hpp +167 -0
  265. casadi/include/highs/simplex/HApp.h +1 -1
  266. casadi/include/highs/simplex/HEkk.h +52 -18
  267. casadi/include/highs/simplex/HEkkDual.h +1 -1
  268. casadi/include/highs/simplex/HEkkDualRHS.h +6 -7
  269. casadi/include/highs/simplex/HEkkDualRow.h +2 -2
  270. casadi/include/highs/simplex/HEkkPrimal.h +6 -1
  271. casadi/include/highs/simplex/HSimplex.h +1 -3
  272. casadi/include/highs/simplex/HSimplexDebug.h +1 -1
  273. casadi/include/highs/simplex/HSimplexNla.h +1 -1
  274. casadi/include/highs/simplex/HSimplexReport.h +1 -1
  275. casadi/include/highs/simplex/HighsSimplexAnalysis.h +228 -100
  276. casadi/include/highs/simplex/SimplexConst.h +1 -1
  277. casadi/include/highs/simplex/SimplexStruct.h +2 -2
  278. casadi/include/highs/simplex/SimplexTimer.h +1 -1
  279. casadi/include/highs/test/DevKkt.h +1 -1
  280. casadi/include/highs/test/KktCh2.h +1 -1
  281. casadi/include/highs/util/FactorTimer.h +1 -1
  282. casadi/include/highs/util/HFactor.h +35 -6
  283. casadi/include/highs/util/HFactorConst.h +1 -1
  284. casadi/include/highs/util/HFactorDebug.h +1 -1
  285. casadi/include/highs/util/HSet.h +1 -1
  286. casadi/include/highs/util/HVector.h +1 -1
  287. casadi/include/highs/util/HVectorBase.h +1 -1
  288. casadi/include/highs/util/HighsCDouble.h +3 -3
  289. casadi/include/highs/util/HighsComponent.h +1 -1
  290. casadi/include/highs/util/HighsDataStack.h +4 -4
  291. casadi/include/highs/util/HighsDisjointSets.h +1 -1
  292. casadi/include/highs/util/HighsHash.h +28 -21
  293. casadi/include/highs/util/HighsHashTree.h +63 -63
  294. casadi/include/highs/util/HighsInt.h +1 -1
  295. casadi/include/highs/util/HighsIntegers.h +8 -9
  296. casadi/include/highs/util/HighsLinearSumBounds.h +1 -1
  297. casadi/include/highs/util/HighsMatrixPic.h +1 -1
  298. casadi/include/highs/util/HighsMatrixSlice.h +9 -6
  299. casadi/include/highs/util/HighsMatrixUtils.h +1 -1
  300. casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
  301. casadi/include/highs/util/HighsRandom.h +27 -15
  302. casadi/include/highs/util/HighsRbTree.h +2 -2
  303. casadi/include/highs/util/HighsSort.h +7 -7
  304. casadi/include/highs/util/HighsSparseMatrix.h +5 -2
  305. casadi/include/highs/util/HighsSparseVectorSum.h +2 -2
  306. casadi/include/highs/util/HighsSplay.h +1 -1
  307. casadi/include/highs/util/HighsTimer.h +18 -9
  308. casadi/include/highs/util/HighsUtils.h +15 -8
  309. casadi/include/highs/util/stringutil.h +9 -4
  310. casadi/include/highs/zstr/strict_fstream.hpp +237 -0
  311. casadi/include/highs/zstr/zstr.hpp +472 -0
  312. casadi/include/highs_export.h +43 -0
  313. casadi/include/licenses/daqp-external/LICENSE +21 -0
  314. casadi/include/licenses/{alpaqa-external/LICENSE → fatrop-external/LICENSE.txt} +2 -2
  315. casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
  316. casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
  317. casadi/include/licenses/fatrop-external/misc/license_header.txt +17 -0
  318. casadi/include/licenses/highs-external/{LICENSE → LICENSE.txt} +1 -1
  319. casadi/include/osqp/constants.h +2 -3
  320. casadi/include/osqp/version.h +9 -0
  321. casadi/include/sleqp/defs.h +4 -4
  322. casadi/include/sleqp/export.h +1 -0
  323. casadi/lib/cmake/tinyxml2/tinyxml2-config-version.cmake +0 -5
  324. casadi/lib/cmake/tinyxml2/tinyxml2-static-targets.cmake +10 -6
  325. casadi/lib/libtinyxml2.a +0 -0
  326. casadi/lib/pkgconfig/tinyxml2.pc +1 -1
  327. casadi/libCbc.3.10.11.dylib +0 -0
  328. casadi/libCbc.3.dylib +0 -0
  329. casadi/libCbc.dylib +0 -0
  330. casadi/libCbc.la +2 -2
  331. casadi/libCbcSolver.3.10.11.dylib +0 -0
  332. casadi/libCbcSolver.3.dylib +0 -0
  333. casadi/libCbcSolver.dylib +0 -0
  334. casadi/libCbcSolver.la +2 -2
  335. casadi/libCgl.1.10.8.dylib +0 -0
  336. casadi/libCgl.1.dylib +0 -0
  337. casadi/libCgl.dylib +0 -0
  338. casadi/libCgl.la +2 -2
  339. casadi/libClp.1.14.9.dylib +0 -0
  340. casadi/libClp.1.dylib +0 -0
  341. casadi/libClp.dylib +0 -0
  342. casadi/libClp.la +2 -2
  343. casadi/libClpSolver.1.14.9.dylib +0 -0
  344. casadi/libClpSolver.1.dylib +0 -0
  345. casadi/libClpSolver.dylib +0 -0
  346. casadi/libClpSolver.la +2 -2
  347. casadi/libCoinUtils.3.11.10.dylib +0 -0
  348. casadi/libCoinUtils.3.dylib +0 -0
  349. casadi/libCoinUtils.dylib +0 -0
  350. casadi/libCoinUtils.la +1 -1
  351. casadi/libOsi.1.13.9.dylib +0 -0
  352. casadi/libOsi.1.dylib +0 -0
  353. casadi/libOsi.dylib +0 -0
  354. casadi/libOsi.la +2 -2
  355. casadi/libOsiCbc.3.10.11.dylib +0 -0
  356. casadi/libOsiCbc.3.dylib +0 -0
  357. casadi/libOsiCbc.dylib +0 -0
  358. casadi/libOsiCbc.la +2 -2
  359. casadi/libOsiClp.1.14.9.dylib +0 -0
  360. casadi/libOsiClp.1.dylib +0 -0
  361. casadi/libOsiClp.dylib +0 -0
  362. casadi/libOsiClp.la +2 -2
  363. casadi/libOsiCommonTests.1.13.9.dylib +0 -0
  364. casadi/libOsiCommonTests.1.dylib +0 -0
  365. casadi/libOsiCommonTests.dylib +0 -0
  366. casadi/libOsiCommonTests.la +2 -2
  367. casadi/libblasfeo.dylib +0 -0
  368. casadi/libbonmin.4.8.9.dylib +0 -0
  369. casadi/libbonmin.4.dylib +0 -0
  370. casadi/libbonmin.dylib +0 -0
  371. casadi/libbonmin.la +2 -2
  372. casadi/libc++.1.0.dylib +0 -0
  373. casadi/libcasadi.3.7.dylib +0 -0
  374. casadi/libcasadi.dylib +0 -0
  375. casadi/libcasadi_conic_cbc.3.7.dylib +0 -0
  376. casadi/libcasadi_conic_cbc.dylib +0 -0
  377. casadi/libcasadi_conic_clp.3.7.dylib +0 -0
  378. casadi/libcasadi_conic_clp.dylib +0 -0
  379. casadi/libcasadi_conic_cplex.3.7.dylib +0 -0
  380. casadi/libcasadi_conic_cplex.dylib +0 -0
  381. casadi/libcasadi_conic_daqp.3.7.dylib +0 -0
  382. casadi/libcasadi_conic_daqp.dylib +0 -0
  383. casadi/libcasadi_conic_fatrop.3.7.dylib +0 -0
  384. casadi/libcasadi_conic_fatrop.dylib +0 -0
  385. casadi/libcasadi_conic_gurobi.3.7.dylib +0 -0
  386. casadi/libcasadi_conic_gurobi.dylib +0 -0
  387. casadi/libcasadi_conic_highs.3.7.dylib +0 -0
  388. casadi/libcasadi_conic_highs.dylib +0 -0
  389. casadi/libcasadi_conic_ipqp.3.7.dylib +0 -0
  390. casadi/libcasadi_conic_ipqp.dylib +0 -0
  391. casadi/libcasadi_conic_nlpsol.3.7.dylib +0 -0
  392. casadi/libcasadi_conic_nlpsol.dylib +0 -0
  393. casadi/libcasadi_conic_osqp.3.7.dylib +0 -0
  394. casadi/libcasadi_conic_osqp.dylib +0 -0
  395. casadi/libcasadi_conic_proxqp.3.7.dylib +0 -0
  396. casadi/libcasadi_conic_proxqp.dylib +0 -0
  397. casadi/libcasadi_conic_qpoases.3.7.dylib +0 -0
  398. casadi/libcasadi_conic_qpoases.dylib +0 -0
  399. casadi/libcasadi_conic_qrqp.3.7.dylib +0 -0
  400. casadi/libcasadi_conic_qrqp.dylib +0 -0
  401. casadi/libcasadi_conic_superscs.3.7.dylib +0 -0
  402. casadi/libcasadi_conic_superscs.dylib +0 -0
  403. casadi/libcasadi_importer_shell.3.7.dylib +0 -0
  404. casadi/libcasadi_importer_shell.dylib +0 -0
  405. casadi/libcasadi_integrator_collocation.3.7.dylib +0 -0
  406. casadi/libcasadi_integrator_collocation.dylib +0 -0
  407. casadi/libcasadi_integrator_cvodes.3.7.dylib +0 -0
  408. casadi/libcasadi_integrator_cvodes.dylib +0 -0
  409. casadi/libcasadi_integrator_idas.3.7.dylib +0 -0
  410. casadi/libcasadi_integrator_idas.dylib +0 -0
  411. casadi/libcasadi_integrator_rk.3.7.dylib +0 -0
  412. casadi/libcasadi_integrator_rk.dylib +0 -0
  413. casadi/libcasadi_interpolant_bspline.3.7.dylib +0 -0
  414. casadi/libcasadi_interpolant_bspline.dylib +0 -0
  415. casadi/libcasadi_interpolant_linear.3.7.dylib +0 -0
  416. casadi/libcasadi_interpolant_linear.dylib +0 -0
  417. casadi/libcasadi_linsol_csparse.3.7.dylib +0 -0
  418. casadi/libcasadi_linsol_csparse.dylib +0 -0
  419. casadi/libcasadi_linsol_csparsecholesky.3.7.dylib +0 -0
  420. casadi/libcasadi_linsol_csparsecholesky.dylib +0 -0
  421. casadi/libcasadi_linsol_lapacklu.3.7.dylib +0 -0
  422. casadi/libcasadi_linsol_lapacklu.dylib +0 -0
  423. casadi/libcasadi_linsol_lapackqr.3.7.dylib +0 -0
  424. casadi/libcasadi_linsol_lapackqr.dylib +0 -0
  425. casadi/libcasadi_linsol_ldl.3.7.dylib +0 -0
  426. casadi/libcasadi_linsol_ldl.dylib +0 -0
  427. casadi/libcasadi_linsol_lsqr.3.7.dylib +0 -0
  428. casadi/libcasadi_linsol_lsqr.dylib +0 -0
  429. casadi/libcasadi_linsol_ma27.3.7.dylib +0 -0
  430. casadi/libcasadi_linsol_ma27.dylib +0 -0
  431. casadi/libcasadi_linsol_mumps.3.7.dylib +0 -0
  432. casadi/libcasadi_linsol_mumps.dylib +0 -0
  433. casadi/libcasadi_linsol_qr.3.7.dylib +0 -0
  434. casadi/libcasadi_linsol_qr.dylib +0 -0
  435. casadi/libcasadi_linsol_symbolicqr.3.7.dylib +0 -0
  436. casadi/libcasadi_linsol_symbolicqr.dylib +0 -0
  437. casadi/libcasadi_linsol_tridiag.3.7.dylib +0 -0
  438. casadi/libcasadi_linsol_tridiag.dylib +0 -0
  439. casadi/libcasadi_nlpsol_ampl.3.7.dylib +0 -0
  440. casadi/libcasadi_nlpsol_ampl.dylib +0 -0
  441. casadi/libcasadi_nlpsol_blocksqp.3.7.dylib +0 -0
  442. casadi/libcasadi_nlpsol_blocksqp.dylib +0 -0
  443. casadi/libcasadi_nlpsol_bonmin.3.7.dylib +0 -0
  444. casadi/libcasadi_nlpsol_bonmin.dylib +0 -0
  445. casadi/libcasadi_nlpsol_fatrop.3.7.dylib +0 -0
  446. casadi/libcasadi_nlpsol_fatrop.dylib +0 -0
  447. casadi/libcasadi_nlpsol_feasiblesqpmethod.3.7.dylib +0 -0
  448. casadi/libcasadi_nlpsol_feasiblesqpmethod.dylib +0 -0
  449. casadi/libcasadi_nlpsol_ipopt.3.7.dylib +0 -0
  450. casadi/libcasadi_nlpsol_ipopt.dylib +0 -0
  451. casadi/libcasadi_nlpsol_knitro.3.7.dylib +0 -0
  452. casadi/libcasadi_nlpsol_knitro.dylib +0 -0
  453. casadi/libcasadi_nlpsol_madnlp.3.7.dylib +0 -0
  454. casadi/libcasadi_nlpsol_madnlp.dylib +0 -0
  455. casadi/libcasadi_nlpsol_qrsqp.3.7.dylib +0 -0
  456. casadi/libcasadi_nlpsol_qrsqp.dylib +0 -0
  457. casadi/libcasadi_nlpsol_scpgen.3.7.dylib +0 -0
  458. casadi/libcasadi_nlpsol_scpgen.dylib +0 -0
  459. casadi/libcasadi_nlpsol_sleqp.3.7.dylib +0 -0
  460. casadi/libcasadi_nlpsol_sleqp.dylib +0 -0
  461. casadi/libcasadi_nlpsol_snopt.3.7.dylib +0 -0
  462. casadi/libcasadi_nlpsol_snopt.dylib +0 -0
  463. casadi/libcasadi_nlpsol_sqpmethod.3.7.dylib +0 -0
  464. casadi/libcasadi_nlpsol_sqpmethod.dylib +0 -0
  465. casadi/libcasadi_rootfinder_fast_newton.3.7.dylib +0 -0
  466. casadi/libcasadi_rootfinder_fast_newton.dylib +0 -0
  467. casadi/libcasadi_rootfinder_kinsol.3.7.dylib +0 -0
  468. casadi/libcasadi_rootfinder_kinsol.dylib +0 -0
  469. casadi/libcasadi_rootfinder_newton.3.7.dylib +0 -0
  470. casadi/libcasadi_rootfinder_newton.dylib +0 -0
  471. casadi/libcasadi_rootfinder_nlpsol.3.7.dylib +0 -0
  472. casadi/libcasadi_rootfinder_nlpsol.dylib +0 -0
  473. casadi/libcasadi_sundials_common.3.7.dylib +0 -0
  474. casadi/libcasadi_sundials_common.dylib +0 -0
  475. casadi/libcasadi_xmlfile_tinyxml.3.7.dylib +0 -0
  476. casadi/libcasadi_xmlfile_tinyxml.dylib +0 -0
  477. casadi/libcoinmetis.2.dylib +0 -0
  478. casadi/libcoinmetis.dylib +0 -0
  479. casadi/libcoinmetis.la +1 -1
  480. casadi/libcoinmumps.3.dylib +0 -0
  481. casadi/libcoinmumps.dylib +0 -0
  482. casadi/libcoinmumps.la +2 -2
  483. casadi/libcplex_adaptor.dylib +0 -0
  484. casadi/{libamd.3.0.3.dylib → libdaqp.dylib} +0 -0
  485. casadi/libdaqpstat.a +0 -0
  486. casadi/libfatrop.dylib +0 -0
  487. casadi/libgcc_s.1.1.dylib +0 -0
  488. casadi/libgfortran.5.dylib +0 -0
  489. casadi/libgurobi_adaptor.dylib +0 -0
  490. casadi/libhighs.1.7.dylib +0 -0
  491. casadi/libhighs.1.dylib +0 -0
  492. casadi/libhighs.dylib +0 -0
  493. casadi/libindirect.a +0 -0
  494. casadi/libipopt.3.dylib +0 -0
  495. casadi/libipopt.dylib +0 -0
  496. casadi/libipopt.la +2 -2
  497. casadi/liblinsys.a +0 -0
  498. casadi/{libsuitesparseconfig.7.0.1.dylib → libmatlab_ipc.dylib} +0 -0
  499. casadi/libosqp.a +0 -0
  500. casadi/libosqp.dylib +0 -0
  501. casadi/libqdldl.a +0 -0
  502. casadi/libqdldl.dylib +0 -0
  503. casadi/libquadmath.0.dylib +0 -0
  504. casadi/libsipopt.3.dylib +0 -0
  505. casadi/libsipopt.dylib +0 -0
  506. casadi/libsipopt.la +2 -2
  507. casadi/libsleqp.1.0.1.dylib +0 -0
  508. casadi/libsleqp.dylib +0 -0
  509. casadi/libsuperscs.a +0 -0
  510. casadi/libtrlib.0.4.dylib +0 -0
  511. casadi/libtrlib.dylib +0 -0
  512. casadi/libz.1.2.13.dylib +0 -0
  513. casadi/pkgconfig/bonmin.pc +1 -1
  514. casadi/pkgconfig/casadi.pc +5 -5
  515. casadi/pkgconfig/cbc.pc +1 -1
  516. casadi/pkgconfig/cgl.pc +1 -1
  517. casadi/pkgconfig/clp.pc +1 -1
  518. casadi/pkgconfig/coinmetis.pc +1 -1
  519. casadi/pkgconfig/coinmumps.pc +2 -2
  520. casadi/pkgconfig/coinutils.pc +2 -2
  521. casadi/pkgconfig/highs.pc +4 -4
  522. casadi/pkgconfig/ipopt.pc +2 -2
  523. casadi/pkgconfig/osi-cbc.pc +1 -1
  524. casadi/pkgconfig/osi-clp.pc +1 -1
  525. casadi/pkgconfig/osi-unittests.pc +1 -1
  526. casadi/pkgconfig/osi.pc +1 -1
  527. casadi/pkgconfig/sleqp.pc +1 -1
  528. casadi/tools/__init__.py +4 -0
  529. casadi/tools/bounds.py +3 -3
  530. {casadi-3.6.5.dist-info → casadi-3.6.7.dist-info}/METADATA +2 -2
  531. {casadi-3.6.5.dist-info → casadi-3.6.7.dist-info}/RECORD +532 -477
  532. casadi/cmake/alpaqa/alpaqaConfig.cmake +0 -24
  533. casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +0 -70
  534. casadi/cmake/alpaqa/alpaqaTargets-release.cmake +0 -19
  535. casadi/cmake/alpaqa/alpaqaTargets.cmake +0 -116
  536. casadi/include/alpaqa/accelerators/anderson.hpp +0 -133
  537. casadi/include/alpaqa/accelerators/internal/anderson-helpers.hpp +0 -92
  538. casadi/include/alpaqa/accelerators/internal/limited-memory-qr.hpp +0 -295
  539. casadi/include/alpaqa/accelerators/lbfgs.hpp +0 -244
  540. casadi/include/alpaqa/accelerators/steihaugcg.hpp +0 -143
  541. casadi/include/alpaqa/alpaqa.hpp +0 -3
  542. casadi/include/alpaqa/casadi/CasADiControlProblem.hpp +0 -185
  543. casadi/include/alpaqa/casadi/CasADiFunctionWrapper.hpp +0 -104
  544. casadi/include/alpaqa/casadi/CasADiProblem.hpp +0 -102
  545. casadi/include/alpaqa/casadi-loader-export.hpp +0 -15
  546. casadi/include/alpaqa/casadi-ocp-loader-export.hpp +0 -15
  547. casadi/include/alpaqa/config/config.hpp +0 -165
  548. casadi/include/alpaqa/dl/dl-problem.h +0 -476
  549. casadi/include/alpaqa/dl/dl-problem.hpp +0 -301
  550. casadi/include/alpaqa/export.h +0 -42
  551. casadi/include/alpaqa/export.hpp +0 -30
  552. casadi/include/alpaqa/implementation/accelerators/lbfgs.tpp +0 -240
  553. casadi/include/alpaqa/implementation/casadi/CasADiControlProblem.tpp +0 -594
  554. casadi/include/alpaqa/implementation/casadi/CasADiLoader-util.hpp +0 -50
  555. casadi/include/alpaqa/implementation/casadi/CasADiProblem.tpp +0 -425
  556. casadi/include/alpaqa/implementation/inner/directions/panoc/structured-lbfgs.tpp +0 -164
  557. casadi/include/alpaqa/implementation/inner/panoc-helpers.tpp +0 -389
  558. casadi/include/alpaqa/implementation/inner/panoc-ocp.tpp +0 -798
  559. casadi/include/alpaqa/implementation/inner/panoc.tpp +0 -448
  560. casadi/include/alpaqa/implementation/inner/pantr.tpp +0 -474
  561. casadi/include/alpaqa/implementation/inner/zerofpr.tpp +0 -482
  562. casadi/include/alpaqa/implementation/outer/alm.tpp +0 -228
  563. casadi/include/alpaqa/implementation/outer/internal/alm-helpers.tpp +0 -80
  564. casadi/include/alpaqa/implementation/params/params.tpp +0 -158
  565. casadi/include/alpaqa/implementation/problem/ocproblem.tpp +0 -56
  566. casadi/include/alpaqa/implementation/problem/type-erased-problem.tpp +0 -211
  567. casadi/include/alpaqa/implementation/util/io/csv.tpp +0 -120
  568. casadi/include/alpaqa/implementation/util/print.tpp +0 -151
  569. casadi/include/alpaqa/inner/directions/panoc/anderson.hpp +0 -98
  570. casadi/include/alpaqa/inner/directions/panoc/lbfgs.hpp +0 -94
  571. casadi/include/alpaqa/inner/directions/panoc/structured-lbfgs.hpp +0 -146
  572. casadi/include/alpaqa/inner/directions/panoc/structured-newton.hpp +0 -264
  573. casadi/include/alpaqa/inner/directions/panoc-direction-update.hpp +0 -96
  574. casadi/include/alpaqa/inner/directions/panoc-ocp/lqr.hpp +0 -181
  575. casadi/include/alpaqa/inner/directions/panoc-ocp/ocp-vars.hpp +0 -492
  576. casadi/include/alpaqa/inner/directions/pantr/newton-tr.hpp +0 -192
  577. casadi/include/alpaqa/inner/directions/pantr/pantr-direction.hpp +0 -99
  578. casadi/include/alpaqa/inner/inner-solve-options.hpp +0 -30
  579. casadi/include/alpaqa/inner/internal/lipschitz.hpp +0 -27
  580. casadi/include/alpaqa/inner/internal/panoc-helpers.hpp +0 -10
  581. casadi/include/alpaqa/inner/internal/panoc-stop-crit.hpp +0 -124
  582. casadi/include/alpaqa/inner/internal/solverstatus.hpp +0 -42
  583. casadi/include/alpaqa/inner/panoc-ocp.hpp +0 -302
  584. casadi/include/alpaqa/inner/panoc.hpp +0 -274
  585. casadi/include/alpaqa/inner/pantr.hpp +0 -284
  586. casadi/include/alpaqa/inner/zerofpr.hpp +0 -274
  587. casadi/include/alpaqa/ipopt/ipopt-adapter.hpp +0 -81
  588. casadi/include/alpaqa/ipopt/ipopt-enums.hpp +0 -35
  589. casadi/include/alpaqa/lbfgsb/lbfgsb-adapter.hpp +0 -111
  590. casadi/include/alpaqa/newton-tr-pantr-alm.hpp +0 -27
  591. casadi/include/alpaqa/outer/alm.hpp +0 -190
  592. casadi/include/alpaqa/outer/internal/alm-helpers.hpp +0 -10
  593. casadi/include/alpaqa/panoc-alm.hpp +0 -27
  594. casadi/include/alpaqa/panoc-anderson-alm.hpp +0 -27
  595. casadi/include/alpaqa/params/params.hpp +0 -60
  596. casadi/include/alpaqa/problem/box-constr-problem.hpp +0 -220
  597. casadi/include/alpaqa/problem/box.hpp +0 -82
  598. casadi/include/alpaqa/problem/functional-problem.hpp +0 -73
  599. casadi/include/alpaqa/problem/kkt-error.hpp +0 -43
  600. casadi/include/alpaqa/problem/ocproblem-counters.hpp +0 -116
  601. casadi/include/alpaqa/problem/ocproblem.hpp +0 -662
  602. casadi/include/alpaqa/problem/problem-counters.hpp +0 -116
  603. casadi/include/alpaqa/problem/problem-with-counters.hpp +0 -141
  604. casadi/include/alpaqa/problem/type-erased-problem.hpp +0 -874
  605. casadi/include/alpaqa/problem/unconstr-problem.hpp +0 -37
  606. casadi/include/alpaqa/structured-panoc-alm.hpp +0 -27
  607. casadi/include/alpaqa/structured-zerofpr-alm.hpp +0 -27
  608. casadi/include/alpaqa/util/alloc-check.hpp +0 -23
  609. casadi/include/alpaqa/util/atomic-stop-signal.hpp +0 -24
  610. casadi/include/alpaqa/util/check-dim.hpp +0 -64
  611. casadi/include/alpaqa/util/copyable_unique_ptr.hpp +0 -32
  612. casadi/include/alpaqa/util/demangled-typename.hpp +0 -9
  613. casadi/include/alpaqa/util/enumerate.hpp +0 -70
  614. casadi/include/alpaqa/util/float.hpp +0 -25
  615. casadi/include/alpaqa/util/index-set.hpp +0 -97
  616. casadi/include/alpaqa/util/io/csv.hpp +0 -43
  617. casadi/include/alpaqa/util/iter-adapter.hpp +0 -68
  618. casadi/include/alpaqa/util/max-history.hpp +0 -47
  619. casadi/include/alpaqa/util/noop-delete.hpp +0 -15
  620. casadi/include/alpaqa/util/not-implemented.hpp +0 -12
  621. casadi/include/alpaqa/util/print.hpp +0 -78
  622. casadi/include/alpaqa/util/quadmath/quadmath-print.hpp +0 -20
  623. casadi/include/alpaqa/util/quadmath/quadmath.hpp +0 -137
  624. casadi/include/alpaqa/util/required-method.hpp +0 -29
  625. casadi/include/alpaqa/util/ringbuffer.hpp +0 -212
  626. casadi/include/alpaqa/util/set-intersection.hpp +0 -129
  627. casadi/include/alpaqa/util/sparse-ops.hpp +0 -164
  628. casadi/include/alpaqa/util/timed.hpp +0 -22
  629. casadi/include/alpaqa/util/type-erasure.hpp +0 -568
  630. casadi/include/alpaqa/util/type-traits.hpp +0 -58
  631. casadi/include/alpaqa/zerofpr-alm.hpp +0 -27
  632. casadi/include/alpaqa/zerofpr-anderson-alm.hpp +0 -27
  633. casadi/include/alpaqa-version.h +0 -8
  634. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  635. casadi/include/licenses/alpaqa-external/src/thirdparty/lbfgsb/Lbfgsb.3.0/License.txt +0 -71
  636. casadi/libFortranHighs.dylib +0 -0
  637. casadi/libalpaqa.1.0.0.dylib +0 -0
  638. casadi/libalpaqa.dylib +0 -0
  639. casadi/libcamd.3.0.3.dylib +0 -0
  640. casadi/libcasadi_nlpsol_alpaqa.3.7.dylib +0 -0
  641. casadi/libcasadi_nlpsol_alpaqa.dylib +0 -0
  642. casadi/libccolamd.3.0.3.dylib +0 -0
  643. casadi/libcholmod.4.0.3.dylib +0 -0
  644. casadi/libcholmod_cuda.4.0.3.dylib +0 -0
  645. casadi/libcolamd.3.0.3.dylib +0 -0
  646. casadi/libhighs.1.6.0.dylib +0 -0
  647. casadi/libhighs.1.6.dylib +0 -0
  648. casadi/libumfpack.6.1.0.dylib +0 -0
  649. {casadi-3.6.5.dist-info → casadi-3.6.7.dist-info}/WHEEL +0 -0
@@ -1,482 +0,0 @@
1
- #pragma once
2
-
3
- #include <alpaqa/inner/zerofpr.hpp>
4
-
5
- #include <cassert>
6
- #include <cmath>
7
- #include <iomanip>
8
- #include <iostream>
9
- #include <stdexcept>
10
-
11
- #include <alpaqa/config/config.hpp>
12
- #include <alpaqa/implementation/inner/panoc-helpers.tpp>
13
- #include <alpaqa/implementation/util/print.tpp>
14
- #include <alpaqa/util/alloc-check.hpp>
15
- #include <alpaqa/util/quadmath/quadmath-print.hpp>
16
- #include <alpaqa/util/timed.hpp>
17
-
18
- namespace alpaqa {
19
-
20
- template <class DirectionProviderT>
21
- std::string ZeroFPRSolver<DirectionProviderT>::get_name() const {
22
- return "ZeroFPRSolver<" + std::string(direction.get_name()) + ">";
23
- }
24
-
25
- template <class DirectionProviderT>
26
- auto ZeroFPRSolver<DirectionProviderT>::operator()(
27
- /// [in] Problem description
28
- const Problem &problem,
29
- /// [in] Solve options
30
- const SolveOptions &opts,
31
- /// [inout] Decision variable @f$ x @f$
32
- rvec x,
33
- /// [inout] Lagrange multipliers @f$ y @f$
34
- rvec y,
35
- /// [in] Constraint weights @f$ \Sigma @f$
36
- crvec Σ,
37
- /// [out] Slack variable error @f$ g(x) - \Pi_D(g(x) + \Sigma^{-1} y) @f$
38
- rvec err_z) -> Stats {
39
-
40
- if (opts.check)
41
- problem.check();
42
-
43
- using std::chrono::nanoseconds;
44
- auto os = opts.os ? opts.os : this->os;
45
- auto start_time = std::chrono::steady_clock::now();
46
- Stats s;
47
-
48
- const auto n = problem.get_n();
49
- const auto m = problem.get_m();
50
-
51
- // Represents an intermediate proximal iterate in the algorithm.
52
- struct ProxIterate {
53
- vec x̂; //< Decision variables after proximal gradient step
54
- vec grad_ψ; //< Gradient of cost in x
55
- vec p; //< Proximal gradient step in x
56
- vec ŷx̂; //< Candidate Lagrange multipliers in x̂
57
- real_t pᵀp = NaN<config_t>; //< Norm squared of p
58
- real_t grad_ψᵀp = NaN<config_t>; //< Dot product of gradient and p
59
- real_t hx̂ = NaN<config_t>; //< Non-smooth function value in x̂
60
-
61
- ProxIterate(length_t n, length_t m) : x̂(n), grad_ψ(n), p(n), ŷx̂(m) {}
62
- } prox_iterate{n, m};
63
- // Represents an iterate in the algorithm, keeping track of some
64
- // intermediate values and function evaluations.
65
- struct Iterate {
66
- vec x; //< Decision variables
67
- vec x̂; //< Decision variables after proximal gradient step
68
- vec grad_ψ; //< Gradient of cost in x
69
- vec p; //< Proximal gradient step in x
70
- vec ŷx̂; //< Candidate Lagrange multipliers in x̂
71
- real_t ψx = NaN<config_t>; //< Cost in x
72
- real_t ψx̂ = NaN<config_t>; //< Cost in x̂
73
- real_t γ = NaN<config_t>; //< Step size γ
74
- real_t L = NaN<config_t>; //< Lipschitz estimate L
75
- real_t pᵀp = NaN<config_t>; //< Norm squared of p
76
- real_t grad_ψᵀp = NaN<config_t>; //< Dot product of gradient and p
77
- real_t hx̂ = NaN<config_t>; //< Non-smooth function value in x̂
78
-
79
- // @pre @ref ψx, @ref hx̂ @ref pᵀp, @ref grad_ψᵀp
80
- // @return φγ
81
- real_t fbe() const { return ψx + hx̂ + pᵀp / (2 * γ) + grad_ψᵀp; }
82
-
83
- Iterate(length_t n, length_t m) : x(n), x̂(n), grad_ψ(n), p(n), ŷx̂(m) {}
84
- } iterates[2]{{n, m}, {n, m}};
85
- Iterate *curr = &iterates[0];
86
- ProxIterate *prox = &prox_iterate;
87
- Iterate *next = &iterates[1];
88
-
89
- vec work_n(n), work_m(m);
90
- vec q(n); // (quasi-)Newton step Hₖ pₖ
91
-
92
- // Helper functions --------------------------------------------------------
93
-
94
- auto qub_violated = [this](const Iterate &i) {
95
- real_t margin =
96
- (1 + std::abs(i.ψx)) * params.quadratic_upperbound_tolerance_factor;
97
- return i.ψx̂ > i.ψx + i.grad_ψᵀp + real_t(0.5) * i.L * i.pᵀp + margin;
98
- };
99
-
100
- auto linesearch_violated = [this](const Iterate &curr,
101
- const Iterate &next) {
102
- if (params.force_linesearch)
103
- return false;
104
- real_t β = params.linesearch_strictness_factor;
105
- real_t σ = β * (1 - curr.γ * curr.L) / (2 * curr.γ);
106
- real_t φγ = curr.fbe();
107
- real_t margin = (1 + std::abs(φγ)) * params.linesearch_tolerance_factor;
108
- return next.fbe() > φγ - σ * curr.pᵀp + margin;
109
- };
110
-
111
- // Problem functions -------------------------------------------------------
112
-
113
- auto eval_ψ_grad_ψ = [&problem, &y, &Σ, &work_n, &work_m](Iterate &i) {
114
- i.ψx = problem.eval_ψ_grad_ψ(i.x, y, Σ, i.grad_ψ, work_n, work_m);
115
- };
116
- auto eval_prox_grad_step = [&problem](Iterate &i) {
117
- i.hx̂ = problem.eval_prox_grad_step(i.γ, i.x, i.grad_ψ, i.x̂, i.p);
118
- i.pᵀp = i.p.squaredNorm();
119
- i.grad_ψᵀp = i.p.dot(i.grad_ψ);
120
- };
121
- auto eval_cost_in_prox = [&problem, &y, &Σ](Iterate &i) {
122
- i.ψx̂ = problem.eval_ψ(i.x̂, y, Σ, i.ŷx̂);
123
- };
124
- auto eval_grad_in_prox = [&problem, &prox, &work_n](const Iterate &i) {
125
- problem.eval_grad_L(i.x̂, i.ŷx̂, prox->grad_ψ, work_n);
126
- };
127
- auto eval_prox_grad_step_in_prox = [&problem, &prox](const Iterate &i) {
128
- prox->hx̂ = problem.eval_prox_grad_step(i.γ, i.x̂, prox->grad_ψ, prox->x̂,
129
- prox->p);
130
- prox->pᵀp = prox->p.squaredNorm();
131
- prox->grad_ψᵀp = prox->p.dot(prox->grad_ψ);
132
- };
133
-
134
- // Printing ----------------------------------------------------------------
135
-
136
- std::array<char, 64> print_buf;
137
- auto print_real = [this, &print_buf](real_t x) {
138
- return float_to_str_vw(print_buf, x, params.print_precision);
139
- };
140
- auto print_real3 = [&print_buf](real_t x) {
141
- return float_to_str_vw(print_buf, x, 3);
142
- };
143
- auto print_progress_1 = [&print_real, os](unsigned k, real_t φₖ, real_t ψₖ,
144
- crvec grad_ψₖ, real_t pₖᵀpₖ,
145
- real_t γₖ, real_t εₖ) {
146
- if (k == 0)
147
- *os << "┌─[ZeroFPR]\n";
148
- else
149
- *os << "├─ " << std::setw(6) << k << '\n';
150
- *os << "│ φγ = " << print_real(φₖ) //
151
- << ", ψ = " << print_real(ψₖ) //
152
- << ", ‖∇ψ‖ = " << print_real(grad_ψₖ.norm()) //
153
- << ", ‖p‖ = " << print_real(std::sqrt(pₖᵀpₖ)) //
154
- << ", γ = " << print_real(γₖ) //
155
- << ", ε = " << print_real(εₖ) << '\n';
156
- };
157
- auto print_progress_2 = [&print_real, &print_real3, os](crvec qₖ, real_t τₖ,
158
- bool reject) {
159
- const char *color = τₖ == 1 ? "\033[0;32m"
160
- : τₖ > 0 ? "\033[0;33m"
161
- : "\033[0;35m";
162
- *os << "│ ‖q‖ = " << print_real(qₖ.norm()) //
163
- << ", τ = " << color << print_real3(τₖ) << "\033[0m" //
164
- << ", dir update "
165
- << (reject ? "\033[0;31mrejected\033[0m"
166
- : "\033[0;32maccepted\033[0m") //
167
- << std::endl; // Flush for Python buffering
168
- };
169
- auto print_progress_n = [&](SolverStatus status) {
170
- *os << "└─ " << status << " ──"
171
- << std::endl; // Flush for Python buffering
172
- };
173
-
174
- auto do_progress_cb = [this, &s, &problem, &Σ, &y, &opts](
175
- unsigned k, Iterate &it, crvec q, crvec grad_ψx̂,
176
- real_t τ, real_t εₖ, SolverStatus status) {
177
- if (!progress_cb)
178
- return;
179
- ScopedMallocAllower ma;
180
- alpaqa::util::Timed t{s.time_progress_callback};
181
- progress_cb(ProgressInfo{
182
- .k = k,
183
- .status = status,
184
- .x = it.x,
185
- .p = it.p,
186
- .norm_sq_p = it.pᵀp,
187
- .x̂ = it.x̂,
188
- .φγ = it.fbe(),
189
- .ψ = it.ψx,
190
- .grad_ψ = it.grad_ψ,
191
- .ψ_hat = it.ψx̂,
192
- .grad_ψ_hat = grad_ψx̂,
193
- .q = q,
194
- .L = it.L,
195
- .γ = it.γ,
196
- .τ = τ,
197
- .ε = εₖ,
198
- .Σ = Σ,
199
- .y = y,
200
- .outer_iter = opts.outer_iter,
201
- .problem = &problem,
202
- .params = &params,
203
- });
204
- };
205
-
206
- // Initialization ----------------------------------------------------------
207
-
208
- curr->x = x;
209
-
210
- // Estimate Lipschitz constant ---------------------------------------------
211
-
212
- // Finite difference approximation of ∇²ψ in starting point
213
- if (params.Lipschitz.L_0 <= 0) {
214
- curr->L = Helpers::initial_lipschitz_estimate(
215
- problem, curr->x, y, Σ, params.Lipschitz.ε, params.Lipschitz.δ,
216
- params.L_min, params.L_max,
217
- /* in ⟹ out */ curr->ψx, curr->grad_ψ, curr->x̂, next->grad_ψ,
218
- work_n, work_m);
219
- }
220
- // Initial Lipschitz constant provided by the user
221
- else {
222
- curr->L = params.Lipschitz.L_0;
223
- // Calculate ψ(xₖ), ∇ψ(x₀)
224
- eval_ψ_grad_ψ(*curr);
225
- }
226
- if (not std::isfinite(curr->L)) {
227
- s.status = SolverStatus::NotFinite;
228
- return s;
229
- }
230
- curr->γ = params.Lipschitz.Lγ_factor / curr->L;
231
-
232
- // First proximal gradient step --------------------------------------------
233
-
234
- // Calculate x̂ₖ, ψ(x̂ₖ)
235
- eval_prox_grad_step(*curr);
236
- eval_cost_in_prox(*curr);
237
-
238
- // Quadratic upper bound
239
- while (curr->L < params.L_max && qub_violated(*curr)) {
240
- curr->γ /= 2;
241
- curr->L *= 2;
242
- eval_prox_grad_step(*curr);
243
- eval_cost_in_prox(*curr);
244
- }
245
-
246
- // Loop data ---------------------------------------------------------------
247
-
248
- unsigned k = 0; // iteration
249
- real_t τ = NaN<config_t>; // line search parameter
250
- // Keep track of how many successive iterations didn't update the iterate
251
- unsigned no_progress = 0;
252
-
253
- // Main ZeroFPR loop
254
- // =========================================================================
255
-
256
- ScopedMallocBlocker mb; // Don't allocate in the inner loop
257
- while (true) {
258
-
259
- // Check stopping criteria ---------------------------------------------
260
-
261
- // Calculate ∇ψ(x̂ₖ), p̂ₖ
262
- eval_grad_in_prox(*curr);
263
- eval_prox_grad_step_in_prox(*curr);
264
-
265
- real_t εₖ = Helpers::calc_error_stop_crit(
266
- problem, params.stop_crit, curr->p, curr->γ, curr->x, curr->x̂,
267
- curr->ŷx̂, curr->grad_ψ, prox->grad_ψ, work_n, next->p);
268
-
269
- // Print progress ------------------------------------------------------
270
- bool do_print =
271
- params.print_interval != 0 && k % params.print_interval == 0;
272
- if (do_print)
273
- print_progress_1(k, curr->fbe(), curr->ψx, curr->grad_ψ, curr->pᵀp,
274
- curr->γ, εₖ);
275
-
276
- // Return solution -----------------------------------------------------
277
-
278
- auto time_elapsed = std::chrono::steady_clock::now() - start_time;
279
- auto stop_status = Helpers::check_all_stop_conditions(
280
- params, opts, time_elapsed, k, stop_signal, εₖ, no_progress);
281
- if (stop_status != SolverStatus::Busy) {
282
- do_progress_cb(k, *curr, null_vec<config_t>, prox->grad_ψ, -1, εₖ,
283
- stop_status);
284
- bool do_final_print = params.print_interval != 0;
285
- if (!do_print && do_final_print)
286
- print_progress_1(k, curr->fbe(), curr->ψx, curr->grad_ψ,
287
- curr->pᵀp, curr->γ, εₖ);
288
- if (do_print || do_final_print)
289
- print_progress_n(stop_status);
290
- if (stop_status == SolverStatus::Converged ||
291
- stop_status == SolverStatus::Interrupted ||
292
- opts.always_overwrite_results) {
293
- auto &ŷ = curr->ŷx̂;
294
- if (err_z.size() > 0)
295
- err_z = Σ.asDiagonal().inverse() * (ŷ - y);
296
- x = std::move(curr->x̂);
297
- y = std::move(curr->ŷx̂);
298
- }
299
- s.iterations = k;
300
- s.ε = εₖ;
301
- s.elapsed_time = duration_cast<nanoseconds>(time_elapsed);
302
- s.status = stop_status;
303
- s.final_γ = curr->γ;
304
- s.final_ψ = curr->ψx̂;
305
- s.final_h = curr->hx̂;
306
- s.final_φγ = curr->fbe();
307
- return s;
308
- }
309
-
310
- // Calculate quasi-Newton step -----------------------------------------
311
-
312
- real_t τ_init = NaN<config_t>;
313
- if (k == 0) { // Initialize L-BFGS
314
- ScopedMallocAllower ma;
315
- direction.initialize(problem, y, Σ, curr->γ, curr->x̂, prox->x̂,
316
- prox->p, prox->grad_ψ);
317
- τ_init = 0;
318
- }
319
- if (k > 0 || direction.has_initial_direction()) {
320
- τ_init = direction.apply(curr->γ, curr->x̂, prox->x̂, prox->p,
321
- prox->grad_ψ, q)
322
- ? 1
323
- : 0;
324
- // Make sure quasi-Newton step is valid
325
- if (τ_init == 1 && not q.allFinite())
326
- τ_init = 0;
327
- if (τ_init != 1) { // If we computed a quasi-Newton step
328
- ++s.lbfgs_failures;
329
- direction.reset(); // Is there anything else we can do?
330
- }
331
- }
332
-
333
- // Line search ---------------------------------------------------------
334
-
335
- next->γ = curr->γ;
336
- next->L = curr->L;
337
- τ = τ_init;
338
- real_t τ_prev = -1;
339
- bool update_lbfgs_in_linesearch = params.update_direction_in_candidate;
340
- bool updated_lbfgs = false;
341
- bool dir_rejected = true;
342
-
343
- // xₖ₊₁ = xₖ + pₖ
344
- auto take_safe_step = [&] {
345
- next->x = curr->x̂; // → safe prox step
346
- next->ψx = curr->ψx̂;
347
- next->grad_ψ = prox->grad_ψ;
348
- // TODO: could swap gradients, but need for direction update
349
- };
350
-
351
- // xₖ₊₁ = x̂ₖ + τ qₖ
352
- auto take_accelerated_step = [&](real_t τ) {
353
- if (τ == 1) // → faster quasi-Newton step
354
- next->x = curr->x̂ + q;
355
- else
356
- next->x = curr->x̂ + τ * q;
357
- // Calculate ψ(xₖ₊₁), ∇ψ(xₖ₊₁)
358
- eval_ψ_grad_ψ(*next);
359
- };
360
-
361
- while (!stop_signal.stop_requested()) {
362
-
363
- // Recompute step only if τ changed
364
- if (τ != τ_prev) {
365
- τ != 0 ? take_accelerated_step(τ) : take_safe_step();
366
- τ_prev = τ;
367
- }
368
-
369
- // If the cost is not finite, or if the quadratic upper bound could
370
- // not be satisfied, abandon the direction entirely, don't even
371
- // bother backtracking.
372
- bool fail = next->L >= params.L_max || !std::isfinite(next->ψx);
373
- if (τ > 0 && fail) {
374
- // Don't allow a bad accelerated step to destroy the FBS step
375
- // size
376
- next->L = curr->L;
377
- next->γ = curr->γ;
378
- // Line search failed
379
- τ = 0;
380
- direction.reset();
381
- // Update the direction in the FB iterate later
382
- update_lbfgs_in_linesearch = false;
383
- continue;
384
- }
385
-
386
- // Calculate x̂ₖ₊₁, ψ(x̂ₖ₊₁)
387
- eval_prox_grad_step(*next);
388
- eval_cost_in_prox(*next);
389
-
390
- // Quadratic upper bound step size condition
391
- if (next->L < params.L_max && qub_violated(*next)) {
392
- next->γ /= 2;
393
- next->L *= 2;
394
- if (τ > 0)
395
- τ = τ_init;
396
- ++s.stepsize_backtracks;
397
- // If the step size changes, we need extra care when updating
398
- // the direction later
399
- update_lbfgs_in_linesearch = false;
400
- continue;
401
- }
402
-
403
- // Update L-BFGS
404
- if (update_lbfgs_in_linesearch && !updated_lbfgs) {
405
- if (params.update_direction_from_prox_step) {
406
- s.lbfgs_rejected += dir_rejected = not direction.update(
407
- curr->γ, next->γ, curr->x̂, next->x, prox->p, next->p,
408
- prox->grad_ψ, next->grad_ψ);
409
- } else {
410
- s.lbfgs_rejected += dir_rejected = not direction.update(
411
- curr->γ, next->γ, curr->x, next->x, curr->p, next->p,
412
- curr->grad_ψ, next->grad_ψ);
413
- }
414
- update_lbfgs_in_linesearch = false;
415
- updated_lbfgs = true;
416
- }
417
-
418
- // Line search condition
419
- if (τ > 0 && linesearch_violated(*curr, *next)) {
420
- τ /= 2;
421
- if (τ < params.min_linesearch_coefficient)
422
- τ = 0;
423
- ++s.linesearch_backtracks;
424
- continue;
425
- }
426
-
427
- // QUB and line search satisfied (or τ is 0 and L > L_max)
428
- break;
429
- }
430
- // If τ < τ_min the line search failed and we accepted the prox step
431
- s.linesearch_failures += (τ == 0 && τ_init > 0);
432
- s.τ_1_accepted += τ == 1;
433
- s.count_τ += (τ_init > 0);
434
- s.sum_τ += τ;
435
-
436
- // Check if we made any progress
437
- if (no_progress > 0 || k % params.max_no_progress == 0)
438
- no_progress = curr->x == next->x ? no_progress + 1 : 0;
439
-
440
- // Update L-BFGS -------------------------------------------------------
441
-
442
- if (!updated_lbfgs) {
443
- if (curr->γ != next->γ) { // Flush L-BFGS if γ changed
444
- direction.changed_γ(next->γ, curr->γ);
445
- if (params.recompute_last_prox_step_after_lbfgs_flush) {
446
- curr->γ = next->γ;
447
- curr->L = next->L;
448
- eval_prox_grad_step_in_prox(*curr);
449
- }
450
- }
451
- if (τ > 0 && params.update_direction_from_prox_step) {
452
- s.lbfgs_rejected += dir_rejected = not direction.update(
453
- curr->γ, next->γ, curr->x̂, next->x, prox->p, next->p,
454
- prox->grad_ψ, next->grad_ψ);
455
- } else {
456
- s.lbfgs_rejected += dir_rejected = not direction.update(
457
- curr->γ, next->γ, curr->x, next->x, curr->p, next->p,
458
- curr->grad_ψ, next->grad_ψ);
459
- }
460
- }
461
-
462
- // Print ---------------------------------------------------------------
463
- do_progress_cb(k, *curr, q, prox->grad_ψ, τ, εₖ, SolverStatus::Busy);
464
- if (do_print && (k != 0 || direction.has_initial_direction()))
465
- print_progress_2(q, τ, dir_rejected);
466
-
467
- // Advance step --------------------------------------------------------
468
- std::swap(curr, next);
469
- ++k;
470
-
471
- #ifndef NDEBUG
472
- {
473
- ScopedMallocAllower ma;
474
- *prox = {n, m};
475
- *next = {n, m};
476
- }
477
- #endif
478
- }
479
- throw std::logic_error("[ZeroFPR] loop error");
480
- }
481
-
482
- } // namespace alpaqa