casadi 3.6.5__cp35-none-win_amd64.whl → 3.6.7__cp35-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
@@ -46,6 +46,7 @@ extern "C" {
46
46
  #endif
47
47
 
48
48
  /* Function types corresponding to entry points in CasADi's C API */
49
+ typedef int (*casadi_config_t)(int, const char**);
49
50
  typedef void (*casadi_signal_t)(void);
50
51
  typedef casadi_int (*casadi_getint_t)(void);
51
52
  typedef int (*casadi_checkout_t)(void);
@@ -0,0 +1,46 @@
1
+ #ifndef DAQP_API_H
2
+ # define DAQP_API_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #include "daqp.h"
9
+ #include "daqp_prox.h"
10
+ #include "bnb.h"
11
+
12
+ typedef struct{
13
+ c_float *x;
14
+ c_float *lam;
15
+ c_float fval;
16
+ c_float soft_slack;
17
+
18
+ int exitflag;
19
+ int iter;
20
+ int nodes;
21
+ c_float solve_time;
22
+ c_float setup_time;
23
+
24
+ }DAQPResult;
25
+
26
+ void daqp_solve(DAQPResult* res, DAQPWorkspace *work);
27
+ void daqp_quadprog(DAQPResult* res, DAQPProblem* qp,DAQPSettings* settings);
28
+
29
+ int setup_daqp(DAQPProblem *qp, DAQPWorkspace* work, c_float* setup_time);
30
+ int setup_daqp_ldp(DAQPWorkspace *work, DAQPProblem* qp);
31
+ int setup_daqp_bnb(DAQPWorkspace* work, int nb, int ns);
32
+ void allocate_daqp_settings(DAQPWorkspace *work);
33
+ void allocate_daqp_workspace(DAQPWorkspace *work, int n, int ns);
34
+
35
+ void free_daqp_ldp(DAQPWorkspace *work);
36
+ void free_daqp_workspace(DAQPWorkspace *work);
37
+ void free_daqp_bnb(DAQPWorkspace* work);
38
+
39
+ void daqp_extract_result(DAQPResult* res, DAQPWorkspace* work);
40
+ void daqp_default_settings(DAQPSettings *settings);
41
+
42
+ # ifdef __cplusplus
43
+ }
44
+ # endif // ifdef __cplusplus
45
+
46
+ #endif //ifndef DAQP_API_H
@@ -0,0 +1,29 @@
1
+ #ifndef DAQP_AUX_H
2
+ # define DAQP_AUX_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #include "types.h"
9
+ #include "constants.h"
10
+
11
+ void remove_constraint(DAQPWorkspace* work, const int rm_ind);
12
+ void add_constraint(DAQPWorkspace *work, const int add_ind, c_float lam);
13
+ void compute_primal_and_fval(DAQPWorkspace *work);
14
+ int add_infeasible(DAQPWorkspace *work);
15
+ int remove_blocking(DAQPWorkspace *work);
16
+ void compute_CSP(DAQPWorkspace *work);
17
+ void compute_singular_direction(DAQPWorkspace *work);
18
+
19
+ void reorder_LDL(DAQPWorkspace *work);
20
+ void pivot_last(DAQPWorkspace *work);
21
+
22
+ int activate_constraints(DAQPWorkspace *work);
23
+ void deactivate_constraints(DAQPWorkspace *work);
24
+
25
+ # ifdef __cplusplus
26
+ }
27
+ # endif // ifdef __cplusplus
28
+
29
+ #endif //ifndef DAQP_AUX_H
@@ -0,0 +1,32 @@
1
+ #ifndef DAQP_BNB_H
2
+ # define DAQP_BNB_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #include "types.h"
9
+ #include "constants.h"
10
+ #include "daqp.h"
11
+
12
+ int daqp_bnb(DAQPWorkspace* work);
13
+ int process_node(DAQPNode* node, DAQPWorkspace* work);
14
+ int get_branch_id(DAQPWorkspace* work);
15
+ void spawn_children(DAQPNode* node, const int branch_id, DAQPWorkspace* work);
16
+
17
+ void node_cleanup_workspace(int n_clean, DAQPWorkspace* work);
18
+ void warmstart_node(DAQPNode* node, DAQPWorkspace* work);
19
+ void save_warmstart(DAQPNode* node, DAQPWorkspace* work);
20
+ int add_upper_lower(const int add_id, DAQPWorkspace* work);
21
+
22
+ #define LOWER_BIT 16
23
+ #define EXTRACT_LOWER_FLAG(x) (x>>(LOWER_BIT-1))
24
+ #define REMOVE_LOWER_FLAG(x) (x&~(1<<LOWER_BIT))
25
+ #define ADD_LOWER_FLAG(x) (x|(1<<LOWER_BIT))
26
+ #define TOGGLE_LOWER_FLAG(x) (x^(1<<LOWER_BIT))
27
+
28
+ # ifdef __cplusplus
29
+ }
30
+ # endif // ifdef __cplusplus
31
+
32
+ #endif //ifndef DAQP_BNB_H
@@ -0,0 +1,18 @@
1
+ #ifndef DAQP_CODEGEN_H
2
+ #define DAQP_CODEGEN_H
3
+
4
+ #include <stdio.h>
5
+ #include "types.h"
6
+
7
+ void render_daqp_workspace(DAQPWorkspace* work, const char *fname, const char* dir);
8
+
9
+ void write_daqp_workspace_h(FILE *f, DAQPWorkspace *work);
10
+ void write_daqp_workspace_src(FILE *f, DAQPWorkspace *work);
11
+ void write_daqp_settings_src(FILE* f, DAQPSettings* settings);
12
+ void write_daqp_bnb_h(FILE* f, DAQPBnB* bnb, const int n);
13
+ void write_daqp_bnb_src(FILE* f, DAQPBnB* bnb, const int n);
14
+
15
+ void write_float_array(FILE *f, c_float* a, const int N, const char *name);
16
+ void write_int_array(FILE *f, int* a, const int N, const char *name);
17
+
18
+ #endif //ifndef DAQP_CODEGEN_H
@@ -0,0 +1,92 @@
1
+ #ifndef DAQP_CONSTANTS_H
2
+ #define DAQP_CONSTANTS_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #include <stddef.h>
9
+
10
+ #define EMPTY_IND -1
11
+ #define NX work->n
12
+ #define N_CONSTR work->m
13
+ #define N_SIMPLE work->ms
14
+ #define DAQP_INF ((c_float)1e30)
15
+
16
+ // DEFAULT SETTINGS
17
+ #define DEFAULT_PRIM_TOL 1e-6
18
+ #define DEFAULT_DUAL_TOL 1e-12
19
+ #define DEFAULT_ZERO_TOL 1e-11
20
+ #define DEFAULT_PROG_TOL 1e-14
21
+ #define DEFAULT_PIVOT_TOL 1e-6
22
+ #define DEFAULT_CYCLE_TOL 10
23
+ #define DEFAULT_ETA 1e-6
24
+ #define DEFAULT_ITER_LIMIT 1000
25
+ #define DEFAULT_RHO_SOFT 1e-3
26
+ #define DEFAULT_REL_SUBOPT 0
27
+ #define DEFAULT_ABS_SUBOPT 0
28
+
29
+ // MACROS
30
+ #define SQUARE(x) ((x)*(x))
31
+ #define ARSUM(x) ((x)*(x+1)/2)
32
+ #define R_OFFSET(X,Y) (((2*Y-X-1)*X)/2)
33
+
34
+ // EXIT FLAGS
35
+ #define EXIT_SOFT_OPTIMAL 2
36
+ #define EXIT_OPTIMAL 1
37
+ #define EXIT_INFEASIBLE -1
38
+ #define EXIT_CYCLE -2
39
+ #define EXIT_UNBOUNDED -3
40
+ #define EXIT_ITERLIMIT -4
41
+ #define EXIT_NONCONVEX -5
42
+ #define EXIT_OVERDETERMINED_INITIAL -6
43
+
44
+ // UPDATE LDP MASKS
45
+ #define UPDATE_Rinv 1
46
+ #define UPDATE_M 2
47
+ #define UPDATE_v 4
48
+ #define UPDATE_d 8
49
+ #define UPDATE_sense 16
50
+
51
+ // CONSTRAINT MASKS
52
+ #define ACTIVE 1
53
+ #define IS_ACTIVE(x) (work->sense[x]&1)
54
+ #define SET_ACTIVE(x) (work->sense[x]|=1)
55
+ #define SET_INACTIVE(x) (work->sense[x]&=~1)
56
+
57
+ // marks if a constraints is active at its lower bound
58
+ #define LOWER 2
59
+ #define IS_LOWER(x) (work->sense[x]&2)
60
+ #define SET_LOWER(x) (work->sense[x]|=2)
61
+ #define SET_UPPER(x) (work->sense[x]&=~2)
62
+
63
+ // marks if a constraint cannot be activated/deactivated
64
+ #define IMMUTABLE 4
65
+ #define IS_IMMUTABLE(x) (work->sense[x]&4)
66
+ #define SET_IMMUTABLE(x) (work->sense[x]|=4)
67
+ #define SET_MUTABLE(x) (work->sense[x]&=~4)
68
+
69
+ // marks that a constraint might be violated (but the slack is penalized)
70
+ #define SOFT 8
71
+ #define IS_SOFT(x) (work->sense[x]&8)
72
+ #define SET_SOFT(x) (work->sense[x]|=8)
73
+ #define SET_HARD(x) (work->sense[x]&=~8)
74
+
75
+ // marks that a constraint has to be active at either its upper or lower bound
76
+ #define BINARY 16
77
+ #define IS_BINARY(x) (work->sense[x]&16)
78
+
79
+ // marks that the soft slack is at its lower bound (d_ls or d_us)
80
+ #define SLACK_FIXED 32
81
+ #define IS_SLACK_FIXED(x) (work->sense[x]&32)
82
+ #define IS_SLACK_FREE(x) ((work->sense[x]&32)==0)
83
+ #define SET_SLACK_FIXED(x) (work->sense[x]|=32)
84
+ #define SET_SLACK_FREE(x) (work->sense[x]&=~32)
85
+
86
+ #define IS_SIMPLE(x) (x < work->ms)
87
+
88
+ # ifdef __cplusplus
89
+ }
90
+ # endif // ifdef __cplusplus
91
+
92
+ #endif //ifndef DAQP_CONSTANTS_H
@@ -0,0 +1,22 @@
1
+ #ifndef DAQP_H
2
+ # define DAQP_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #include "factorization.h"
9
+ #include "constants.h"
10
+ #include "auxiliary.h"
11
+
12
+ int daqp_ldp(DAQPWorkspace *work);
13
+ void ldp2qp_solution(DAQPWorkspace *work);
14
+
15
+ void warmstart_workspace(DAQPWorkspace* work, int* WS, const int n_active);
16
+ void reset_daqp_workspace(DAQPWorkspace *work);
17
+
18
+ # ifdef __cplusplus
19
+ }
20
+ # endif // ifdef __cplusplus
21
+
22
+ #endif //ifndef DAQP_H
@@ -0,0 +1,18 @@
1
+ #ifndef DAQP_PROX_H
2
+ # define DAQP_PROX_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #include "types.h"
9
+ #include "constants.h"
10
+ #include "daqp.h"
11
+
12
+ int daqp_prox(DAQPWorkspace *work);
13
+
14
+ # ifdef __cplusplus
15
+ }
16
+ # endif // ifdef __cplusplus
17
+
18
+ #endif //ifndef DAQP_PROX_H
@@ -0,0 +1,18 @@
1
+ #ifndef DAQP_FACTORIZATION_H
2
+ # define DAQP_FACTORIZATION_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #include "types.h"
9
+ #include "constants.h"
10
+
11
+ void update_LDL_add(DAQPWorkspace *work, const int add_ind);
12
+ void update_LDL_remove(DAQPWorkspace *work, const int rm_ind);
13
+
14
+ # ifdef __cplusplus
15
+ }
16
+ # endif // ifdef __cplusplus
17
+
18
+ #endif //ifndef DAQP_FACTORIZATION_H
@@ -0,0 +1,161 @@
1
+ #ifndef DAQP_TYPES_H
2
+ # define DAQP_TYPES_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #ifdef DAQP_SINGLE_PRECISION
9
+ typedef float c_float;
10
+ #else
11
+ typedef double c_float;
12
+ #endif
13
+
14
+ typedef struct{
15
+
16
+ // Data for the QP problem
17
+ //
18
+ // min 0.5 x'*H*x + f'x
19
+ // s.t lbA <= A*x <= ubA
20
+ // lb <= x <= ub
21
+ //
22
+ // n - dimension of x
23
+ // m - total number of constraints
24
+ // ms - number of simple bounds
25
+ // blower = [lb; lbA];
26
+ // bupper = [ub; ubA];
27
+ // (The number of rows in A is hence m-ms)
28
+
29
+ // sense define the state of the constraints
30
+ // (active, immutable, upper/lower, soft, binary).
31
+
32
+ int n;
33
+ int m;
34
+ int ms;
35
+
36
+ c_float* H;
37
+ c_float* f;
38
+
39
+ c_float* A;
40
+ c_float* bupper;
41
+ c_float* blower;
42
+
43
+ int* sense;
44
+
45
+ }DAQPProblem;
46
+
47
+ typedef struct{
48
+ c_float primal_tol;
49
+ c_float dual_tol;
50
+ c_float zero_tol;
51
+ c_float pivot_tol;
52
+ c_float progress_tol;
53
+
54
+ int cycle_tol;
55
+ int iter_limit;
56
+ c_float fval_bound;
57
+
58
+ c_float eps_prox;
59
+ c_float eta_prox;
60
+
61
+ c_float rho_soft;
62
+
63
+ c_float rel_subopt;
64
+ c_float abs_subopt;
65
+ }DAQPSettings;
66
+
67
+
68
+ typedef struct{
69
+ int bin_id;
70
+ int depth;
71
+ int WS_start;
72
+ int WS_end;
73
+ }DAQPNode;
74
+
75
+ typedef struct{
76
+ int* bin_ids;
77
+ int nb;
78
+ int neq;
79
+
80
+ DAQPNode* tree;
81
+ int n_nodes;
82
+
83
+ int* tree_WS;
84
+ int nWS;
85
+ int n_clean;
86
+ int* fixed_ids;
87
+
88
+ int nodecount;
89
+ int itercount;
90
+ }DAQPBnB;
91
+
92
+ typedef struct{
93
+ DAQPProblem* qp;
94
+ // LDP data
95
+ int n; // Number of primal variables
96
+ int m; // Number of constraints
97
+ int ms; // Number of simple bounds
98
+ c_float *M; // M' M is the Hessian of the dual objective function (dimensions: n x m)
99
+ c_float *dupper; // Linear part of dual objective function (dimensions: m x 1)
100
+ c_float *dlower; // Linear part of dual objective function (dimensions: m x 1)
101
+ c_float *Rinv; // Inverse of upper cholesky factor of primal Hessian
102
+ c_float *v; // v = R'\f (used to transform QP to LDP
103
+ int *sense; // State of constraints
104
+ c_float *scaling; // normalizations
105
+ c_float *RinvD; // in case Rinv is diagonal
106
+
107
+
108
+ // Iterates
109
+ c_float *x; // The final primal solution
110
+ c_float *xold; // The latest primal solution (used for proximal-point iteratios)
111
+
112
+ c_float* lam; // Dual iterate
113
+ c_float* lam_star; // Current constrained stationary point
114
+ c_float* u; // Stores Mk' lam_star
115
+ c_float fval;
116
+
117
+ // LDL factors (Mk Mk' = L D L')
118
+ c_float *L;
119
+ c_float *D;
120
+ // Intermittent variables (LDL')
121
+ c_float* xldl; // Solution to L xdldl = -dk
122
+ c_float* zldl; // zldl_i = xldl_i/D_i
123
+ int reuse_ind; // How much work that can be saved when solving Mk Mk' lam* = -dk
124
+
125
+ int *WS; // Working set, size: maximum number of constraints (n+ns+1)
126
+ int n_active; // Number of active contraints
127
+
128
+ int iterations;
129
+ int sing_ind; // Flag for denoting whether Mk Mk' is singular or not
130
+
131
+
132
+ // Soft constraint
133
+ c_float soft_slack;
134
+ #ifdef SOFT_WEIGHTS
135
+ // The softened objective is given by
136
+ // min 0.5 x'*H*x + f'x + 0.5 su'su+0.5*sl'sl,
137
+ // and the softened constraints are given by (similar for simple bounds)
138
+ // lbA-rho_ls*sl <= A*x <= ubA+rho_us*su,
139
+ // with the bounds sl >= d_ls, su >= d_us
140
+ // note that lbA/ubA is assumed to be shifted with rho_ls*d_ls and rho_us*d_us
141
+ // since the slacks are assumed to be active at their bounds by default.
142
+
143
+ // size of the following is m; values are only used if index set to SOFT.
144
+ c_float *d_ls;
145
+ c_float *d_us;
146
+ c_float *rho_ls;
147
+ c_float *rho_us;
148
+ #endif
149
+
150
+ // Settings
151
+ DAQPSettings* settings;
152
+
153
+ // BnB
154
+ DAQPBnB* bnb;
155
+ }DAQPWorkspace;
156
+
157
+ # ifdef __cplusplus
158
+ }
159
+ # endif // ifdef __cplusplus
160
+
161
+ #endif //ifndef DAQP_TYPES_H
@@ -0,0 +1,44 @@
1
+ #ifndef DAQP_UTILS_H
2
+ # define DAQP_UTILS_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #include "daqp.h"
9
+ // Utils for transforming QP to LDP
10
+ int update_ldp(const int mask, DAQPWorkspace *work);
11
+ int update_Rinv(DAQPWorkspace *work);
12
+ void update_M(DAQPWorkspace *work, const int mask);
13
+ void update_v(c_float *f, DAQPWorkspace *work, const int mask);
14
+ void update_d(DAQPWorkspace *work);
15
+ void normalize_Rinv(DAQPWorkspace *work);
16
+ void normalize_M(DAQPWorkspace *work);
17
+ //
18
+ // Utils for profiling
19
+ #ifdef PROFILING
20
+ #ifdef _WIN32
21
+ #include <windows.h>
22
+ typedef struct{
23
+ LARGE_INTEGER start;
24
+ LARGE_INTEGER stop;
25
+ }DAQPtimer;
26
+ #else // not _WIN32
27
+ #include <time.h>
28
+ typedef struct{
29
+ struct timespec start;
30
+ struct timespec stop;
31
+ }DAQPtimer;
32
+ #endif // _WIN32
33
+
34
+
35
+ void tic(DAQPtimer *timer);
36
+ void toc(DAQPtimer *timer);
37
+ double get_time(DAQPtimer *timer);
38
+ #endif // PROFILING
39
+
40
+ # ifdef __cplusplus
41
+ }
42
+ # endif // ifdef __cplusplus
43
+
44
+ #endif //ifndef DAQP_UTILS_H
casadi/include/dlfcn.h ADDED
@@ -0,0 +1,94 @@
1
+ /*
2
+ * dlfcn-win32
3
+ * Copyright (c) 2007 Ramiro Polla
4
+ *
5
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ * of this software and associated documentation files (the "Software"), to deal
7
+ * in the Software without restriction, including without limitation the rights
8
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ * copies of the Software, and to permit persons to whom the Software is
10
+ * furnished to do so, subject to the following conditions:
11
+ *
12
+ * The above copyright notice and this permission notice shall be included in
13
+ * all copies or substantial portions of the Software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ * THE SOFTWARE.
22
+ */
23
+
24
+ #ifndef DLFCN_H
25
+ #define DLFCN_H
26
+
27
+ #ifdef __cplusplus
28
+ extern "C" {
29
+ #endif
30
+
31
+ #if defined(DLFCN_WIN32_SHARED)
32
+ #if defined(DLFCN_WIN32_EXPORTS)
33
+ # define DLFCN_EXPORT __declspec(dllexport)
34
+ #else
35
+ # define DLFCN_EXPORT __declspec(dllimport)
36
+ #endif
37
+ #else
38
+ # define DLFCN_EXPORT
39
+ #endif
40
+
41
+ /* Relocations are performed when the object is loaded. */
42
+ #define RTLD_NOW 0
43
+
44
+ /* Relocations are performed at an implementation-defined time.
45
+ * Windows API does not support lazy symbol resolving (when first reference
46
+ * to a given symbol occurs). So RTLD_LAZY implementation is same as RTLD_NOW.
47
+ */
48
+ #define RTLD_LAZY RTLD_NOW
49
+
50
+ /* All symbols are available for relocation processing of other modules. */
51
+ #define RTLD_GLOBAL (1 << 1)
52
+
53
+ /* All symbols are not made available for relocation processing by other modules. */
54
+ #define RTLD_LOCAL (1 << 2)
55
+
56
+ /* These two were added in The Open Group Base Specifications Issue 6.
57
+ * Note: All other RTLD_* flags in any dlfcn.h are not standard compliant.
58
+ */
59
+
60
+ /* The symbol lookup happens in the normal global scope. */
61
+ #define RTLD_DEFAULT ((void *)0)
62
+
63
+ /* Specifies the next object after this one that defines name. */
64
+ #define RTLD_NEXT ((void *)-1)
65
+
66
+ /* Structure filled in by dladdr() */
67
+ typedef struct dl_info
68
+ {
69
+ const char *dli_fname; /* Filename of defining object (thread unsafe and reused on every call to dladdr) */
70
+ void *dli_fbase; /* Load address of that object */
71
+ const char *dli_sname; /* Name of nearest lower symbol */
72
+ void *dli_saddr; /* Exact value of nearest symbol */
73
+ } Dl_info;
74
+
75
+ /* Open a symbol table handle. */
76
+ DLFCN_EXPORT void *dlopen(const char *file, int mode);
77
+
78
+ /* Close a symbol table handle. */
79
+ DLFCN_EXPORT int dlclose(void *handle);
80
+
81
+ /* Get the address of a symbol from a symbol table handle. */
82
+ DLFCN_EXPORT void *dlsym(void *handle, const char *name);
83
+
84
+ /* Get diagnostic information. */
85
+ DLFCN_EXPORT char *dlerror(void);
86
+
87
+ /* Translate address to symbolic information (no POSIX standard) */
88
+ DLFCN_EXPORT int dladdr(const void *addr, Dl_info *info);
89
+
90
+ #ifdef __cplusplus
91
+ }
92
+ #endif
93
+
94
+ #endif /* DLFCN_H */
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Fatrop - A fast trajectory optimization solver
3
+ * Copyright (C) 2022 - 2024 Lander Vanroye, KU Leuven. All rights reserved.
4
+ *
5
+ * This file is part of Fatrop.
6
+ *
7
+ * Fatrop is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Lesser General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * Fatrop is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public License
18
+ * along with Fatrop. If not, see <http://www.gnu.org/licenses/>. */
19
+ #ifndef COMMONINCLUDED
20
+ #define COMMONINCLUDED
21
+ #include <cassert>
22
+ #if DEBUG
23
+ #define DBGASSERT(assertion) assert(assertion);
24
+ #else
25
+ #define DBGASSERT(assertion)
26
+ #endif
27
+
28
+ #define fatrop_int int
29
+ namespace fatrop
30
+ {
31
+ bool CompareLessEqual(double lhs, double rhs);
32
+ bool CompareLessEqual(double lhs, double rhs, double ref);
33
+ } // namespace fatrop
34
+ #endif // COMMONINCLUDED
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Fatrop - A fast trajectory optimization solver
3
+ * Copyright (C) 2022 - 2024 Lander Vanroye, KU Leuven. All rights reserved.
4
+ *
5
+ * This file is part of Fatrop.
6
+ *
7
+ * Fatrop is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Lesser General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * Fatrop is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public License
18
+ * along with Fatrop. If not, see <http://www.gnu.org/licenses/>. */
19
+ #ifndef DYNAMICLIBINCLUDED
20
+ #define DYNAMICLIBINCLUDED
21
+ #include <dlfcn.h>
22
+ #include <string>
23
+ namespace fatrop
24
+ {
25
+ class DLHandler
26
+ {
27
+ public:
28
+ DLHandler(const std::string &filename);
29
+ ~DLHandler();
30
+ void *handle;
31
+ };
32
+
33
+ }; // namespace fatrop
34
+ #endif // DYNAMICLIBINCLUDED