casadi 3.6.4__cp39-none-manylinux2014_i686.whl → 3.6.6__cp39-none-manylinux2014_i686.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 (494) hide show
  1. casadi/_casadi.so +0 -0
  2. casadi/casadi.py +984 -500
  3. casadi/cbc +0 -0
  4. casadi/clp +0 -0
  5. casadi/cmake/casadi-config-version.cmake +1 -1
  6. casadi/cmake/highs/highs-config.cmake +6 -13
  7. casadi/cmake/highs/highs-targets-release.cmake +13 -13
  8. casadi/cmake/highs/highs-targets.cmake +13 -10
  9. casadi/highs +0 -0
  10. casadi/include/casadi/casadi.i +33 -15
  11. casadi/include/casadi/casadi_c.h +2 -0
  12. casadi/include/casadi/config.h +8 -8
  13. casadi/include/casadi/core/casadi_common.hpp +1 -0
  14. casadi/include/casadi/core/casadi_misc.hpp +13 -0
  15. casadi/include/casadi/core/casadi_types.hpp +3 -2
  16. casadi/include/casadi/core/code_generator.hpp +59 -2
  17. casadi/include/casadi/core/core.hpp +1 -0
  18. casadi/include/casadi/core/generic_expression.hpp +1 -1
  19. casadi/include/casadi/core/generic_type.hpp +25 -1
  20. casadi/include/casadi/core/global_options.hpp +2 -0
  21. casadi/include/casadi/core/matrix_decl.hpp +15 -0
  22. casadi/include/casadi/core/mx.hpp +13 -3
  23. casadi/include/casadi/core/optistack.hpp +23 -0
  24. casadi/include/casadi/core/runtime/casadi_nlp.hpp +133 -6
  25. casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
  26. casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
  27. casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
  28. casadi/include/casadi/core/runtime/casadi_runtime.hpp +4 -1
  29. casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
  30. casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +11 -1
  31. casadi/include/casadi/core/serializing_stream.hpp +2 -2
  32. casadi/include/casadi/core/sparsity.hpp +12 -3
  33. casadi/include/casadi/core/tools.hpp +67 -0
  34. casadi/include/casadi/doc.i +2283 -1491
  35. casadi/include/casadi/doc_merged.i +1522 -1065
  36. casadi/include/casadi/mem.h +1 -0
  37. casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
  38. casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
  39. casadi/include/coin-or/IpAlgTypes.hpp +64 -0
  40. casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
  41. casadi/include/coin-or/IpBlas.hpp +426 -0
  42. casadi/include/coin-or/IpCachedResults.hpp +897 -0
  43. casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
  44. casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
  45. casadi/include/coin-or/IpCompoundVector.hpp +395 -0
  46. casadi/include/coin-or/IpConvCheck.hpp +97 -0
  47. casadi/include/coin-or/IpDebug.hpp +167 -0
  48. casadi/include/coin-or/IpDenseVector.hpp +626 -0
  49. casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
  50. casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
  51. casadi/include/coin-or/IpException.hpp +156 -0
  52. casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
  53. casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
  54. casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
  55. casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
  56. casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
  57. casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
  58. casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
  59. casadi/include/coin-or/IpIpoptData.hpp +966 -0
  60. casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
  61. casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
  62. casadi/include/coin-or/IpIteratesVector.hpp +840 -0
  63. casadi/include/coin-or/IpIterationOutput.hpp +78 -0
  64. casadi/include/coin-or/IpJournalist.hpp +573 -0
  65. casadi/include/coin-or/IpLapack.hpp +227 -0
  66. casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
  67. casadi/include/coin-or/IpLineSearch.hpp +106 -0
  68. casadi/include/coin-or/IpLinearSolvers.h +46 -0
  69. casadi/include/coin-or/IpMatrix.hpp +434 -0
  70. casadi/include/coin-or/IpMuUpdate.hpp +77 -0
  71. casadi/include/coin-or/IpNLP.hpp +306 -0
  72. casadi/include/coin-or/IpNLPScaling.hpp +582 -0
  73. casadi/include/coin-or/IpObserver.hpp +422 -0
  74. casadi/include/coin-or/IpOptionsList.hpp +412 -0
  75. casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
  76. casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
  77. casadi/include/coin-or/IpReferenced.hpp +262 -0
  78. casadi/include/coin-or/IpRegOptions.hpp +1152 -0
  79. casadi/include/coin-or/IpReturnCodes.h +23 -0
  80. casadi/include/coin-or/IpReturnCodes.hpp +18 -0
  81. casadi/include/coin-or/IpReturnCodes.inc +71 -0
  82. casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
  83. casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
  84. casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
  85. casadi/include/coin-or/IpSmartPtr.hpp +865 -0
  86. casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
  87. casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
  88. casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
  89. casadi/include/coin-or/IpStdCInterface.h +428 -0
  90. casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
  91. casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
  92. casadi/include/coin-or/IpSymMatrix.hpp +167 -0
  93. casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
  94. casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
  95. casadi/include/coin-or/IpTNLP.hpp +820 -0
  96. casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
  97. casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
  98. casadi/include/coin-or/IpTaggedObject.hpp +128 -0
  99. casadi/include/coin-or/IpTimedTask.hpp +218 -0
  100. casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
  101. casadi/include/coin-or/IpTripletHelper.hpp +308 -0
  102. casadi/include/coin-or/IpTypes.h +81 -0
  103. casadi/include/coin-or/IpTypes.hpp +30 -0
  104. casadi/include/coin-or/IpUtils.hpp +166 -0
  105. casadi/include/coin-or/IpVector.hpp +892 -0
  106. casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
  107. casadi/include/coin-or/IpoptConfig.h +45 -0
  108. casadi/include/coin-or/SensAlgorithm.hpp +114 -0
  109. casadi/include/coin-or/SensApplication.hpp +188 -0
  110. casadi/include/coin-or/SensBacksolver.hpp +36 -0
  111. casadi/include/coin-or/SensMeasurement.hpp +56 -0
  112. casadi/include/coin-or/SensPCalculator.hpp +137 -0
  113. casadi/include/coin-or/SensRegOp.hpp +21 -0
  114. casadi/include/coin-or/SensSchurData.hpp +182 -0
  115. casadi/include/coin-or/SensSchurDriver.hpp +118 -0
  116. casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
  117. casadi/include/coin-or/SensStepCalc.hpp +85 -0
  118. casadi/include/coin-or/SensUtils.hpp +63 -0
  119. casadi/include/coin-or/metis/defs.h +161 -0
  120. casadi/include/coin-or/metis/macros.h +143 -0
  121. casadi/include/coin-or/metis/metis.h +37 -0
  122. casadi/include/coin-or/metis/proto.h +505 -0
  123. casadi/include/coin-or/metis/rename.h +418 -0
  124. casadi/include/coin-or/metis/struct.h +251 -0
  125. casadi/include/coin-or/mumps/dmumps_c.h +142 -0
  126. casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
  127. casadi/include/coin-or/mumps/mumps_compat.h +27 -0
  128. casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
  129. casadi/include/coin-or/mumps/mumps_mpi.h +67 -0
  130. casadi/include/daqp/api.h +46 -0
  131. casadi/include/daqp/auxiliary.h +29 -0
  132. casadi/include/daqp/bnb.h +32 -0
  133. casadi/include/daqp/codegen.h +18 -0
  134. casadi/include/daqp/constants.h +92 -0
  135. casadi/include/daqp/daqp.h +22 -0
  136. casadi/include/daqp/daqp_prox.h +18 -0
  137. casadi/include/daqp/factorization.h +18 -0
  138. casadi/include/daqp/types.h +161 -0
  139. casadi/include/daqp/utils.h +44 -0
  140. casadi/include/highs/HConfig.h +6 -5
  141. casadi/include/highs/Highs.h +93 -23
  142. casadi/include/highs/filereaderlp/def.hpp +19 -0
  143. casadi/include/highs/interfaces/highs_c_api.h +200 -24
  144. casadi/include/highs/io/Filereader.h +1 -1
  145. casadi/include/highs/io/FilereaderEms.h +1 -1
  146. casadi/include/highs/io/FilereaderLp.h +1 -1
  147. casadi/include/highs/io/FilereaderMps.h +1 -1
  148. casadi/include/highs/io/HMPSIO.h +1 -1
  149. casadi/include/highs/io/HMpsFF.h +5 -3
  150. casadi/include/highs/io/HighsIO.h +18 -8
  151. casadi/include/highs/io/LoadOptions.h +1 -1
  152. casadi/include/highs/ipm/IpxSolution.h +35 -0
  153. casadi/include/highs/ipm/IpxWrapper.h +1 -1
  154. casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
  155. casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  156. casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  157. casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  158. casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  159. casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  160. casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  161. casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  162. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  163. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  164. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  165. casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  166. casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
  167. casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  168. casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  169. casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  170. casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
  171. casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
  172. casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
  173. casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
  174. casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
  175. casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
  176. casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  177. casadi/include/highs/ipm/ipx/basis.h +351 -0
  178. casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
  179. casadi/include/highs/ipm/ipx/control.h +163 -0
  180. casadi/include/highs/ipm/ipx/crossover.h +157 -0
  181. casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
  182. casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
  183. casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
  184. casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
  185. casadi/include/highs/ipm/ipx/info.h +27 -0
  186. casadi/include/highs/ipm/ipx/ipm.h +94 -0
  187. casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
  188. casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
  189. casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
  190. casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
  191. casadi/include/highs/ipm/ipx/ipx_parameters.h +75 -0
  192. casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
  193. casadi/include/highs/ipm/ipx/iterate.h +328 -0
  194. casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
  195. casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  196. casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  197. casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
  198. casadi/include/highs/ipm/ipx/lp_solver.h +201 -0
  199. casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
  200. casadi/include/highs/ipm/ipx/lu_update.h +129 -0
  201. casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
  202. casadi/include/highs/ipm/ipx/model.h +409 -0
  203. casadi/include/highs/ipm/ipx/multistream.h +52 -0
  204. casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
  205. casadi/include/highs/ipm/ipx/power_method.h +44 -0
  206. casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
  207. casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
  208. casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  209. casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
  210. casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
  211. casadi/include/highs/ipm/ipx/timer.h +24 -0
  212. casadi/include/highs/ipm/ipx/utils.h +39 -0
  213. casadi/include/highs/lp_data/HConst.h +20 -10
  214. casadi/include/highs/lp_data/HStruct.h +23 -1
  215. casadi/include/highs/lp_data/HighsAnalysis.h +1 -1
  216. casadi/include/highs/lp_data/HighsCallback.h +10 -3
  217. casadi/include/highs/lp_data/HighsCallbackStruct.h +31 -5
  218. casadi/include/highs/lp_data/HighsDebug.h +1 -1
  219. casadi/include/highs/lp_data/HighsInfo.h +20 -2
  220. casadi/include/highs/lp_data/HighsInfoDebug.h +1 -1
  221. casadi/include/highs/lp_data/HighsLp.h +17 -1
  222. casadi/include/highs/lp_data/HighsLpSolverObject.h +1 -1
  223. casadi/include/highs/lp_data/HighsLpUtils.h +19 -19
  224. casadi/include/highs/lp_data/HighsModelUtils.h +1 -1
  225. casadi/include/highs/lp_data/HighsOptions.h +237 -10
  226. casadi/include/highs/lp_data/HighsRanging.h +1 -1
  227. casadi/include/highs/lp_data/HighsRuntimeOptions.h +2 -2
  228. casadi/include/highs/lp_data/HighsSolution.h +2 -2
  229. casadi/include/highs/lp_data/HighsSolutionDebug.h +1 -1
  230. casadi/include/highs/lp_data/HighsSolve.h +3 -1
  231. casadi/include/highs/lp_data/HighsStatus.h +1 -1
  232. casadi/include/highs/mip/HighsCliqueTable.h +4 -4
  233. casadi/include/highs/mip/HighsConflictPool.h +1 -1
  234. casadi/include/highs/mip/HighsCutGeneration.h +1 -1
  235. casadi/include/highs/mip/HighsCutPool.h +2 -2
  236. casadi/include/highs/mip/HighsDebugSol.h +22 -29
  237. casadi/include/highs/mip/HighsDomain.h +10 -2
  238. casadi/include/highs/mip/HighsDomainChange.h +1 -1
  239. casadi/include/highs/mip/HighsDynamicRowMatrix.h +5 -3
  240. casadi/include/highs/mip/HighsGFkSolve.h +3 -3
  241. casadi/include/highs/mip/HighsImplications.h +3 -3
  242. casadi/include/highs/mip/HighsLpAggregator.h +1 -1
  243. casadi/include/highs/mip/HighsLpRelaxation.h +6 -1
  244. casadi/include/highs/mip/HighsMipSolver.h +4 -2
  245. casadi/include/highs/mip/HighsMipSolverData.h +47 -4
  246. casadi/include/highs/mip/HighsModkSeparator.h +2 -2
  247. casadi/include/highs/mip/HighsNodeQueue.h +5 -3
  248. casadi/include/highs/mip/HighsObjectiveFunction.h +1 -1
  249. casadi/include/highs/mip/HighsPathSeparator.h +2 -2
  250. casadi/include/highs/mip/HighsPrimalHeuristics.h +1 -1
  251. casadi/include/highs/mip/HighsPseudocost.h +35 -23
  252. casadi/include/highs/mip/HighsRedcostFixing.h +1 -1
  253. casadi/include/highs/mip/HighsSearch.h +2 -1
  254. casadi/include/highs/mip/HighsSeparation.h +1 -1
  255. casadi/include/highs/mip/HighsSeparator.h +1 -1
  256. casadi/include/highs/mip/HighsTableauSeparator.h +1 -1
  257. casadi/include/highs/mip/HighsTransformedLp.h +1 -1
  258. casadi/include/highs/model/HighsHessian.h +5 -0
  259. casadi/include/highs/model/HighsHessianUtils.h +2 -0
  260. casadi/include/highs/model/HighsModel.h +10 -1
  261. casadi/include/highs/parallel/HighsMutex.h +2 -1
  262. casadi/include/highs/parallel/HighsParallel.h +7 -2
  263. casadi/include/highs/parallel/HighsTask.h +1 -2
  264. casadi/include/highs/pdlp/CupdlpWrapper.h +93 -0
  265. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +41 -0
  266. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +423 -0
  267. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +183 -0
  268. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  269. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  270. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +28 -0
  271. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
  272. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +33 -0
  273. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1726 -0
  274. casadi/include/highs/pdqsort/pdqsort.h +532 -0
  275. casadi/include/highs/presolve/HPresolve.h +27 -14
  276. casadi/include/highs/presolve/HPresolveAnalysis.h +1 -1
  277. casadi/include/highs/presolve/HighsPostsolveStack.h +92 -68
  278. casadi/include/highs/presolve/HighsSymmetry.h +6 -5
  279. casadi/include/highs/presolve/ICrash.h +8 -2
  280. casadi/include/highs/presolve/ICrashUtil.h +1 -1
  281. casadi/include/highs/presolve/ICrashX.h +1 -1
  282. casadi/include/highs/presolve/PresolveComponent.h +1 -1
  283. casadi/include/highs/qpsolver/a_asm.hpp +23 -12
  284. casadi/include/highs/qpsolver/a_quass.hpp +8 -1
  285. casadi/include/highs/qpsolver/basis.hpp +150 -0
  286. casadi/include/highs/qpsolver/crashsolution.hpp +12 -0
  287. casadi/include/highs/qpsolver/dantzigpricing.hpp +72 -0
  288. casadi/include/highs/qpsolver/devexpricing.hpp +99 -0
  289. casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
  290. casadi/include/highs/qpsolver/factor.hpp +400 -0
  291. casadi/include/highs/qpsolver/feasibility_bounded.hpp +105 -0
  292. casadi/include/highs/qpsolver/feasibility_highs.hpp +270 -0
  293. casadi/include/highs/qpsolver/gradient.hpp +39 -0
  294. casadi/include/highs/qpsolver/instance.hpp +63 -0
  295. casadi/include/highs/qpsolver/matrix.hpp +335 -0
  296. casadi/include/highs/qpsolver/pricing.hpp +15 -0
  297. casadi/include/highs/qpsolver/qpconst.hpp +27 -0
  298. casadi/include/highs/qpsolver/{vector.hpp → qpvector.hpp} +25 -25
  299. casadi/include/highs/qpsolver/quass.hpp +1 -1
  300. casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
  301. casadi/include/highs/qpsolver/runtime.hpp +38 -0
  302. casadi/include/highs/qpsolver/settings.hpp +57 -0
  303. casadi/include/highs/qpsolver/snippets.hpp +29 -0
  304. casadi/include/highs/qpsolver/statistics.hpp +23 -0
  305. casadi/include/highs/qpsolver/steepestedgepricing.hpp +167 -0
  306. casadi/include/highs/simplex/HApp.h +1 -1
  307. casadi/include/highs/simplex/HEkk.h +52 -18
  308. casadi/include/highs/simplex/HEkkDual.h +1 -1
  309. casadi/include/highs/simplex/HEkkDualRHS.h +6 -7
  310. casadi/include/highs/simplex/HEkkDualRow.h +2 -2
  311. casadi/include/highs/simplex/HEkkPrimal.h +6 -1
  312. casadi/include/highs/simplex/HSimplex.h +1 -3
  313. casadi/include/highs/simplex/HSimplexDebug.h +1 -1
  314. casadi/include/highs/simplex/HSimplexNla.h +1 -1
  315. casadi/include/highs/simplex/HSimplexReport.h +1 -1
  316. casadi/include/highs/simplex/HighsSimplexAnalysis.h +228 -100
  317. casadi/include/highs/simplex/SimplexConst.h +1 -1
  318. casadi/include/highs/simplex/SimplexStruct.h +2 -2
  319. casadi/include/highs/simplex/SimplexTimer.h +1 -1
  320. casadi/include/highs/test/DevKkt.h +1 -1
  321. casadi/include/highs/test/KktCh2.h +1 -1
  322. casadi/include/highs/util/FactorTimer.h +1 -1
  323. casadi/include/highs/util/HFactor.h +35 -6
  324. casadi/include/highs/util/HFactorConst.h +1 -1
  325. casadi/include/highs/util/HFactorDebug.h +1 -1
  326. casadi/include/highs/util/HSet.h +1 -1
  327. casadi/include/highs/util/HVector.h +1 -1
  328. casadi/include/highs/util/HVectorBase.h +1 -1
  329. casadi/include/highs/util/HighsCDouble.h +3 -3
  330. casadi/include/highs/util/HighsComponent.h +1 -1
  331. casadi/include/highs/util/HighsDataStack.h +4 -4
  332. casadi/include/highs/util/HighsDisjointSets.h +1 -1
  333. casadi/include/highs/util/HighsHash.h +28 -21
  334. casadi/include/highs/util/HighsHashTree.h +63 -63
  335. casadi/include/highs/util/HighsInt.h +1 -1
  336. casadi/include/highs/util/HighsIntegers.h +8 -9
  337. casadi/include/highs/util/HighsLinearSumBounds.h +1 -1
  338. casadi/include/highs/util/HighsMatrixPic.h +1 -1
  339. casadi/include/highs/util/HighsMatrixSlice.h +9 -6
  340. casadi/include/highs/util/HighsMatrixUtils.h +1 -1
  341. casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
  342. casadi/include/highs/util/HighsRandom.h +27 -15
  343. casadi/include/highs/util/HighsRbTree.h +2 -2
  344. casadi/include/highs/util/HighsSort.h +7 -7
  345. casadi/include/highs/util/HighsSparseMatrix.h +5 -2
  346. casadi/include/highs/util/HighsSparseVectorSum.h +2 -2
  347. casadi/include/highs/util/HighsSplay.h +1 -1
  348. casadi/include/highs/util/HighsTimer.h +18 -9
  349. casadi/include/highs/util/HighsUtils.h +15 -8
  350. casadi/include/highs/util/stringutil.h +9 -4
  351. casadi/include/highs/zstr/strict_fstream.hpp +237 -0
  352. casadi/include/highs/zstr/zstr.hpp +472 -0
  353. casadi/include/licenses/daqp-external/LICENSE +21 -0
  354. casadi/include/licenses/highs-external/{LICENSE → LICENSE.txt} +1 -1
  355. casadi/include/osqp/constants.h +2 -3
  356. casadi/include/osqp/version.h +9 -0
  357. casadi/lib/libtinyxml2.a +0 -0
  358. casadi/libCbc.so +0 -0
  359. casadi/libCbc.so.3 +0 -0
  360. casadi/libCbc.so.3.10.11 +0 -0
  361. casadi/libCbcSolver.so +0 -0
  362. casadi/libCbcSolver.so.3 +0 -0
  363. casadi/libCbcSolver.so.3.10.11 +0 -0
  364. casadi/libCgl.so +0 -0
  365. casadi/libCgl.so.1 +0 -0
  366. casadi/libCgl.so.1.10.8 +0 -0
  367. casadi/libClp.so +0 -0
  368. casadi/libClp.so.1 +0 -0
  369. casadi/libClp.so.1.14.9 +0 -0
  370. casadi/libClpSolver.so +0 -0
  371. casadi/libClpSolver.so.1 +0 -0
  372. casadi/libClpSolver.so.1.14.9 +0 -0
  373. casadi/libCoinUtils.so +0 -0
  374. casadi/libCoinUtils.so.3 +0 -0
  375. casadi/libCoinUtils.so.3.11.10 +0 -0
  376. casadi/libOsi.so +0 -0
  377. casadi/libOsi.so.1 +0 -0
  378. casadi/libOsi.so.1.13.9 +0 -0
  379. casadi/libOsiCbc.so +0 -0
  380. casadi/libOsiCbc.so.3 +0 -0
  381. casadi/libOsiCbc.so.3.10.11 +0 -0
  382. casadi/libOsiClp.so +0 -0
  383. casadi/libOsiClp.so.1 +0 -0
  384. casadi/libOsiClp.so.1.14.9 +0 -0
  385. casadi/libOsiCommonTests.so +0 -0
  386. casadi/libOsiCommonTests.so.1 +0 -0
  387. casadi/libOsiCommonTests.so.1.13.9 +0 -0
  388. casadi/libbonmin.so +0 -0
  389. casadi/libbonmin.so.4 +0 -0
  390. casadi/libbonmin.so.4.8.9 +0 -0
  391. casadi/libcasadi.so +0 -0
  392. casadi/libcasadi.so.3.7 +0 -0
  393. casadi/libcasadi_conic_cbc.so +0 -0
  394. casadi/libcasadi_conic_cbc.so.3.7 +0 -0
  395. casadi/libcasadi_conic_clp.so +0 -0
  396. casadi/libcasadi_conic_clp.so.3.7 +0 -0
  397. casadi/libcasadi_conic_daqp.so +0 -0
  398. casadi/libcasadi_conic_daqp.so.3.7 +0 -0
  399. casadi/libcasadi_conic_gurobi.so +0 -0
  400. casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
  401. casadi/libcasadi_conic_highs.so +0 -0
  402. casadi/libcasadi_conic_highs.so.3.7 +0 -0
  403. casadi/libcasadi_conic_ipqp.so +0 -0
  404. casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
  405. casadi/libcasadi_conic_nlpsol.so +0 -0
  406. casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
  407. casadi/libcasadi_conic_osqp.so +0 -0
  408. casadi/libcasadi_conic_osqp.so.3.7 +0 -0
  409. casadi/libcasadi_conic_proxqp.so +0 -0
  410. casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
  411. casadi/libcasadi_conic_qpoases.so +0 -0
  412. casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
  413. casadi/libcasadi_conic_qrqp.so +0 -0
  414. casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
  415. casadi/libcasadi_conic_superscs.so +0 -0
  416. casadi/libcasadi_conic_superscs.so.3.7 +0 -0
  417. casadi/libcasadi_integrator_collocation.so +0 -0
  418. casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
  419. casadi/libcasadi_integrator_cvodes.so +0 -0
  420. casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
  421. casadi/libcasadi_integrator_idas.so +0 -0
  422. casadi/libcasadi_integrator_idas.so.3.7 +0 -0
  423. casadi/libcasadi_integrator_rk.so +0 -0
  424. casadi/libcasadi_integrator_rk.so.3.7 +0 -0
  425. casadi/libcasadi_nlpsol_alpaqa.so +0 -0
  426. casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
  427. casadi/libcasadi_nlpsol_ampl.so +0 -0
  428. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  429. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  430. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  431. casadi/libcasadi_nlpsol_bonmin.so +0 -0
  432. casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
  433. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  434. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  435. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  436. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  437. casadi/libcasadi_nlpsol_knitro.so +0 -0
  438. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  439. casadi/libcasadi_nlpsol_madnlp.so +0 -0
  440. casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
  441. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  442. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  443. casadi/libcasadi_nlpsol_scpgen.so +0 -0
  444. casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
  445. casadi/libcasadi_nlpsol_sleqp.so +0 -0
  446. casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
  447. casadi/libcasadi_nlpsol_snopt.so +0 -0
  448. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  449. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  450. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  451. casadi/libcasadi_nlpsol_worhp.so +0 -0
  452. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  453. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  454. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  455. casadi/libcasadi_rootfinder_kinsol.so +0 -0
  456. casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
  457. casadi/libcasadi_rootfinder_newton.so +0 -0
  458. casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
  459. casadi/libcasadi_rootfinder_nlpsol.so +0 -0
  460. casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
  461. casadi/libcasadi_sundials_common.so +0 -0
  462. casadi/libcasadi_sundials_common.so.3.7 +0 -0
  463. casadi/libdaqp.so +0 -0
  464. casadi/libdaqpstat.a +0 -0
  465. casadi/libhighs.so +0 -0
  466. casadi/libhighs.so.1 +0 -0
  467. casadi/libhighs.so.1.7.2 +0 -0
  468. casadi/libindirect.a +0 -0
  469. casadi/libipopt.so +0 -0
  470. casadi/libipopt.so.3 +0 -0
  471. casadi/libipopt.so.3.14.11 +0 -0
  472. casadi/liblinsys.a +0 -0
  473. casadi/libmatlab_ipc.so +0 -0
  474. casadi/libosqp.a +0 -0
  475. casadi/libosqp.so +0 -0
  476. casadi/libqdldl.a +0 -0
  477. casadi/libsipopt.so +0 -0
  478. casadi/libsipopt.so.3 +0 -0
  479. casadi/libsipopt.so.3.14.11 +0 -0
  480. casadi/libsleqp.so +0 -0
  481. casadi/libsleqp.so.1.0.1 +0 -0
  482. casadi/libspral.a +0 -0
  483. casadi/libsuperscs.a +0 -0
  484. casadi/pkgconfig/casadi.pc +1 -1
  485. casadi/pkgconfig/highs.pc +1 -1
  486. casadi/tools/__init__.py +4 -0
  487. casadi/tools/bounds.py +3 -3
  488. {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/METADATA +12 -4
  489. {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/RECORD +490 -281
  490. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  491. casadi/libFortranHighs.so +0 -0
  492. casadi/libhighs.so.1.6 +0 -0
  493. casadi/libhighs.so.1.6.0 +0 -0
  494. {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/WHEEL +0 -0
@@ -0,0 +1,155 @@
1
+ // Copyright (C) 2004, 2008 International Business Machines and others.
2
+ // All Rights Reserved.
3
+ // This code is published under the Eclipse Public License.
4
+ //
5
+ // Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
6
+
7
+ #ifndef __IPZEROSYMMATRIX_HPP__
8
+ #define __IPZEROSYMMATRIX_HPP__
9
+
10
+ #include "IpUtils.hpp"
11
+ #include "IpSymMatrix.hpp"
12
+
13
+ namespace Ipopt
14
+ {
15
+
16
+ /** Class for Symmetric Matrices with only zero entries. */
17
+ class IPOPTLIB_EXPORT ZeroSymMatrix: public SymMatrix
18
+ {
19
+ public:
20
+ /**@name Constructors / Destructors */
21
+ ///@{
22
+ /** Constructor, taking the corresponding matrix space. */
23
+ ZeroSymMatrix(
24
+ const SymMatrixSpace* owner_space
25
+ );
26
+
27
+ /** Destructor */
28
+ ~ZeroSymMatrix();
29
+ ///@}
30
+
31
+ protected:
32
+ /**@name Methods overloaded from matrix */
33
+ ///@{
34
+ virtual void MultVectorImpl(
35
+ Number alpha,
36
+ const Vector& x,
37
+ Number beta,
38
+ Vector& y
39
+ ) const;
40
+
41
+ virtual void TransMultVectorImpl(
42
+ Number alpha,
43
+ const Vector& x,
44
+ Number beta,
45
+ Vector& y
46
+ ) const;
47
+
48
+ virtual void ComputeRowAMaxImpl(
49
+ Vector& /*rows_norms*/,
50
+ bool /*init*/
51
+ ) const
52
+ { }
53
+
54
+ virtual void ComputeColAMaxImpl(
55
+ Vector& /*cols_norms*/,
56
+ bool /*init*/
57
+ ) const
58
+ { }
59
+
60
+ virtual void PrintImpl(
61
+ const Journalist& jnlst,
62
+ EJournalLevel level,
63
+ EJournalCategory category,
64
+ const std::string& name,
65
+ Index indent,
66
+ const std::string& prefix
67
+ ) const;
68
+ ///@}
69
+
70
+ private:
71
+ /**@name Default Compiler Generated Methods
72
+ * (Hidden to avoid implicit creation/calling).
73
+ * These methods are not implemented and
74
+ * we do not want the compiler to implement
75
+ * them for us, so we declare them private
76
+ * and do not define them. This ensures that
77
+ * they will not be implicitly created/called.
78
+ */
79
+ ///@{
80
+ /** Default Constructor */
81
+ ZeroSymMatrix();
82
+
83
+ /** Copy Constructor */
84
+ ZeroSymMatrix(
85
+ const ZeroSymMatrix&
86
+ );
87
+
88
+ /** Default Assignment Operator */
89
+ void operator=(
90
+ const ZeroSymMatrix&
91
+ );
92
+ ///@}
93
+ };
94
+
95
+ /** Class for matrix space for ZeroSymMatrix. */
96
+ class IPOPTLIB_EXPORT ZeroSymMatrixSpace: public SymMatrixSpace
97
+ {
98
+ public:
99
+ /** @name Constructors / Destructors */
100
+ ///@{
101
+ /** Constructor, given the number of row and columns. */
102
+ ZeroSymMatrixSpace(
103
+ Index dim
104
+ )
105
+ : SymMatrixSpace(dim)
106
+ { }
107
+
108
+ /** Destructor */
109
+ virtual ~ZeroSymMatrixSpace()
110
+ { }
111
+ ///@}
112
+
113
+ virtual Matrix* MakeNew() const
114
+ {
115
+ return MakeNewZeroSymMatrix();
116
+ }
117
+
118
+ virtual SymMatrix* MakeNewSymMatrix() const
119
+ {
120
+ return MakeNewZeroSymMatrix();
121
+ }
122
+
123
+ /** Method for creating a new matrix of this specific type. */
124
+ ZeroSymMatrix* MakeNewZeroSymMatrix() const
125
+ {
126
+ return new ZeroSymMatrix(this);
127
+ }
128
+
129
+ private:
130
+ /**@name Default Compiler Generated Methods
131
+ * (Hidden to avoid implicit creation/calling).
132
+ * These methods are not implemented and
133
+ * we do not want the compiler to implement
134
+ * them for us, so we declare them private
135
+ * and do not define them. This ensures that
136
+ * they will not be implicitly created/called.
137
+ */
138
+ ///@{
139
+ /** Default Constructor */
140
+ ZeroSymMatrixSpace();
141
+
142
+ /** Copy Constructor */
143
+ ZeroSymMatrixSpace(
144
+ const ZeroSymMatrixSpace&
145
+ );
146
+
147
+ /** Default Assignment Operator */
148
+ void operator=(
149
+ const ZeroSymMatrixSpace&
150
+ );
151
+ ///@}
152
+ };
153
+
154
+ } // namespace Ipopt
155
+ #endif
@@ -0,0 +1,45 @@
1
+ /* src/Common/config_ipopt.h. Generated from config_ipopt.h.in by configure. */
2
+ /* src/Common/config_ipopt.h.in. */
3
+
4
+ #ifndef __CONFIG_IPOPT_H__
5
+ #define __CONFIG_IPOPT_H__
6
+
7
+ /* Version number of project */
8
+ #define IPOPT_VERSION "3.14.11"
9
+
10
+ /* Major Version number of project */
11
+ #define IPOPT_VERSION_MAJOR 3
12
+
13
+ /* Minor Version number of project */
14
+ #define IPOPT_VERSION_MINOR 14
15
+
16
+ /* Release Version number of project */
17
+ #define IPOPT_VERSION_RELEASE 11
18
+
19
+ /* Define to the debug sanity check level (0 is no test) */
20
+ #define IPOPT_CHECKLEVEL 0
21
+
22
+ /* Define to the debug verbosity level (0 is no output) */
23
+ #define IPOPT_VERBOSITY 0
24
+
25
+ /* Define to 1 if using single precision floating point */
26
+ /* #undef IPOPT_SINGLE */
27
+
28
+ /* Define to 1 if Ipopt index type is int64_t */
29
+ /* #undef IPOPT_INT64 */
30
+
31
+ /* Library Visibility Attribute */
32
+ #define IPOPTAMPLINTERFACELIB_EXPORT
33
+
34
+ /* Library Visibility Attribute */
35
+ #define IPOPTLIB_EXPORT
36
+
37
+ /* Library Visibility Attribute */
38
+ #define SIPOPTLIB_EXPORT
39
+
40
+ /** type corresponding to integers in Fortran
41
+ * @deprecated Use ipindex instead.
42
+ */
43
+ #define IPOPT_FORTRAN_INTEGER_TYPE ipindex
44
+
45
+ #endif
@@ -0,0 +1,114 @@
1
+ // Copyright 2009, 2011 Hans Pirnay
2
+ // All Rights Reserved.
3
+ // This code is published under the Eclipse Public License.
4
+ //
5
+ // Date : 2009-05-06
6
+
7
+ #ifndef __SENSALGORITHM_HPP__
8
+ #define __SENSALGORITHM_HPP__
9
+
10
+ #include "IpAlgStrategy.hpp"
11
+ #include "SensStepCalc.hpp"
12
+ #include "SensMeasurement.hpp"
13
+ #include "SensSchurDriver.hpp"
14
+ #include "SensUtils.hpp"
15
+
16
+ namespace Ipopt
17
+ {
18
+
19
+ /** This is the interface for the actual controller.
20
+ *
21
+ * It handles Data input to the controller (measurement) and returns controls.
22
+ */
23
+ class SIPOPTLIB_EXPORT SensAlgorithm : public AlgorithmStrategyObject
24
+ {
25
+ public:
26
+ SensAlgorithm(
27
+ std::vector< SmartPtr<SchurDriver> >& driver_vec,
28
+ SmartPtr<SensitivityStepCalculator> sens_step_calc,
29
+ SmartPtr<Measurement> measurement,
30
+ Index n_sens_steps
31
+ );
32
+
33
+ virtual ~SensAlgorithm();
34
+
35
+ virtual bool InitializeImpl(
36
+ const OptionsList& options,
37
+ const std::string& prefix
38
+ );
39
+
40
+ /** Main loop: Wait for new measurement, Get new step, maybe deal with
41
+ * bounds, see to it that everything happens in the required
42
+ * timeframe. */
43
+ SensAlgorithmExitStatus Run();
44
+ SensAlgorithmExitStatus ComputeSensitivityMatrix(void);
45
+
46
+ /** accessor methods to get access to variable sizes */
47
+ Index nl(void)
48
+ {
49
+ return nl_;
50
+ }
51
+ Index nx(void)
52
+ {
53
+ return nx_;
54
+ }
55
+ Index nzl(void)
56
+ {
57
+ return nzl_;
58
+ }
59
+ Index nzu(void)
60
+ {
61
+ return nzu_;
62
+ }
63
+ Index ns(void)
64
+ {
65
+ return ns_;
66
+ }
67
+ Index np(void)
68
+ {
69
+ return np_;
70
+ }
71
+
72
+ /** array place holders to store the vector of sensitivities */
73
+ Number* DirectionalD_X_;
74
+ Number* DirectionalD_L_;
75
+ Number* DirectionalD_Z_L_;
76
+ Number* DirectionalD_Z_U_;
77
+
78
+ /** array place holders for the sensitivity matrix */
79
+ Number* SensitivityM_X_;
80
+ Number* SensitivityM_L_;
81
+ Number* SensitivityM_Z_L_;
82
+ Number* SensitivityM_Z_U_;
83
+
84
+ private:
85
+ Index nl_;
86
+ Index nx_;
87
+ Index nzl_;
88
+ Index nzu_;
89
+ Index nceq_;
90
+ Index ncineq_;
91
+ Index ns_;
92
+ Index np_;
93
+
94
+ std::vector< SmartPtr<SchurDriver> > driver_vec_;
95
+ SmartPtr<SensitivityStepCalculator> sens_step_calc_;
96
+ SmartPtr<Measurement> measurement_;
97
+ Index n_sens_steps_; // I think it is useful to state this number explicitly in the constructor and here.
98
+
99
+ /** method to extract sensitivity vectors */
100
+ void GetDirectionalDerivatives(void);
101
+
102
+ /** method to extract sensitivity matrix */
103
+ void GetSensitivityMatrix(
104
+ Index col
105
+ );
106
+
107
+ /** private method used to uncale perturbed solution and sensitivities */
108
+ void UnScaleIteratesVector(
109
+ SmartPtr<IteratesVector>* V
110
+ );
111
+ };
112
+ }
113
+
114
+ #endif
@@ -0,0 +1,188 @@
1
+ // Copyright 2009, 2011 Hans Pirnay
2
+ // All Rights Reserved.
3
+ // This code is published under the Eclipse Public License.
4
+ //
5
+ // Date : 2009-05-06
6
+
7
+ #ifndef __SENSAPPLICATION_HPP__
8
+ #define __SENSAPPLICATION_HPP__
9
+
10
+ #include "IpReferenced.hpp"
11
+ #include "SensUtils.hpp"
12
+ #include "SensUtils.hpp"
13
+ #include "SensAlgorithm.hpp"
14
+ #include "IpRegOptions.hpp"
15
+
16
+ #include "IpIpoptApplication.hpp"
17
+ #include "IpPDSystemSolver.hpp"
18
+
19
+ #include "IpSmartPtr.hpp"
20
+
21
+ namespace Ipopt
22
+ {
23
+ /** Standard exception for wrong/inconsistent suffixes for sipopt */
24
+ DECLARE_STD_SIPOPT_EXCEPTION(SENS_SUFFIX_ERROR);
25
+
26
+ class SIPOPTLIB_EXPORT SensApplication: public ReferencedObject
27
+ {
28
+ public:
29
+ // constructor
30
+ SensApplication(
31
+ SmartPtr<Journalist> jnlst,
32
+ SmartPtr<OptionsList> options,
33
+ SmartPtr<RegisteredOptions> reg_options
34
+ );
35
+
36
+ ~SensApplication();
37
+
38
+ static void RegisterOptions(
39
+ SmartPtr<RegisteredOptions> roptions
40
+ );
41
+
42
+ SensAlgorithmExitStatus Run();
43
+
44
+ void Initialize();
45
+
46
+ void SetIpoptAlgorithmObjects(
47
+ SmartPtr<IpoptApplication> app_ipopt,
48
+ ApplicationReturnStatus ipopt_retval
49
+ );
50
+
51
+ SmartPtr<Journalist> Jnlst()
52
+ {
53
+ return jnlst_;
54
+ }
55
+
56
+ SmartPtr<OptionsList> Options()
57
+ {
58
+ return options_;
59
+ }
60
+
61
+ /** Get the options list for setting options (const version) */
62
+ SmartPtr<const OptionsList> Options() const
63
+ {
64
+ return ConstPtr(options_);
65
+ }
66
+
67
+ /** Copy over value of Directional Derivatives K^(-1)N_p(p-p0) */
68
+ void GetDirectionalDerivatives(
69
+ Number* SX,
70
+ Number* SL,
71
+ Number* SZL,
72
+ Number* SZU
73
+ )
74
+ {
75
+ if( GetRawPtr(controller) != NULL && NULL != DirectionalD_X && NULL != DirectionalD_Z_L
76
+ && NULL != DirectionalD_Z_U && NULL != DirectionalD_L )
77
+ {
78
+
79
+ for( Index i = 0; i < controller->nx(); ++i )
80
+ {
81
+ SX[i] = DirectionalD_X[i];
82
+ }
83
+ for( Index i = 0; i < controller->nzu(); ++i )
84
+ {
85
+ SZU[i] = DirectionalD_Z_U[i];
86
+ }
87
+ for( Index i = 0; i < controller->nzl(); ++i )
88
+ {
89
+ SZL[i] = DirectionalD_Z_L[i];
90
+ }
91
+ for( Index i = 0; i < controller->nl(); ++i )
92
+ {
93
+ SL[i] = DirectionalD_L[i];
94
+ }
95
+ }
96
+ }
97
+
98
+ /** Copy over value of ds/dp */
99
+ void GetSensitivityMatrix(
100
+ Number* SX,
101
+ Number* SL,
102
+ Number* SZL,
103
+ Number* SZU
104
+ )
105
+ {
106
+ if( GetRawPtr(controller) != NULL && NULL != SensitivityM_X && NULL != SensitivityM_Z_L
107
+ && NULL != SensitivityM_Z_U && NULL != SensitivityM_L )
108
+ {
109
+ for( Index i = 0; i < controller->nx() * controller->np(); ++i )
110
+ {
111
+ SX[i] = SensitivityM_X[i];
112
+ }
113
+ for( Index i = 0; i < controller->nzu() * controller->np(); ++i )
114
+ {
115
+ SZU[i] = SensitivityM_Z_U[i];
116
+ }
117
+ for( Index i = 0; i < controller->nzl() * controller->np(); ++i )
118
+ {
119
+ SZL[i] = SensitivityM_Z_L[i];
120
+ }
121
+ for( Index i = 0; i < controller->nl() * controller->np(); ++i )
122
+ {
123
+ SL[i] = SensitivityM_L[i];
124
+ }
125
+
126
+ }
127
+ }
128
+
129
+ /** accessor methods to get sizing info */
130
+ Index nx()
131
+ {
132
+ return (GetRawPtr(controller) != NULL) ? controller->nx() : -1;
133
+ }
134
+ Index nl()
135
+ {
136
+ return (GetRawPtr(controller) != NULL) ? controller->nl() : -1;
137
+ }
138
+ Index nzu()
139
+ {
140
+ return (GetRawPtr(controller) != NULL) ? controller->nzu() : -1;
141
+ }
142
+ Index nzl()
143
+ {
144
+ return (GetRawPtr(controller) != NULL) ? controller->nzl() : -1;
145
+ }
146
+ Index np()
147
+ {
148
+ return (GetRawPtr(controller) != NULL) ? controller->np() : -1;
149
+ }
150
+
151
+ /* place holders to keep the values of the directional derivatives for each type of variable */
152
+ Number* DirectionalD_X;
153
+ Number* DirectionalD_L;
154
+ Number* DirectionalD_Z_L;
155
+ Number* DirectionalD_Z_U;
156
+
157
+ /* place holders to keep the values of ds/dp for each type of variable */
158
+ Number* SensitivityM_X;
159
+ Number* SensitivityM_L;
160
+ Number* SensitivityM_Z_L;
161
+ Number* SensitivityM_Z_U;
162
+
163
+ private:
164
+ // standard constructor just so it can't be used
165
+ // SensApplication();
166
+
167
+ // Pointers that are immediately passed from Ipopt and initialized by the constructor
168
+ SmartPtr<Journalist> jnlst_;
169
+ SmartPtr<OptionsList> options_;
170
+ SmartPtr<IpoptData> ip_data_;
171
+ SmartPtr<IpoptCalculatedQuantities> ip_cq_;
172
+ SmartPtr<PDSystemSolver> pd_solver_;
173
+ SmartPtr<IpoptNLP> ip_nlp_;
174
+ SmartPtr<RegisteredOptions> reg_options_;
175
+ ApplicationReturnStatus ipopt_retval_;
176
+
177
+ SmartPtr<SensAlgorithm> controller;
178
+
179
+ /** storing options values */
180
+ bool run_sens_;
181
+ bool compute_red_hessian_;
182
+ bool compute_dsdp_;
183
+ Index n_sens_steps_;
184
+ };
185
+
186
+ }
187
+
188
+ #endif
@@ -0,0 +1,36 @@
1
+ // Copyright 2009, 2011 Hans Pirnay
2
+ // All Rights Reserved.
3
+ // This code is published under the Eclipse Public License.
4
+ //
5
+ // Date : 2009-05-14
6
+
7
+ #ifndef __ASASBACKSOLVER_HPP__
8
+ #define __ASASBACKSOLVER_HPP__
9
+
10
+ #include "IpAlgStrategy.hpp"
11
+ #include "IpIteratesVector.hpp"
12
+
13
+ namespace Ipopt
14
+ {
15
+
16
+ class SIPOPTLIB_EXPORT SensBacksolver: public AlgorithmStrategyObject
17
+ {
18
+
19
+ /** This class is the interface to all backsolvers that may
20
+ * be used for the sIPOPT. */
21
+ public:
22
+ SensBacksolver()
23
+ { }
24
+
25
+ virtual ~SensBacksolver()
26
+ { }
27
+
28
+ virtual bool Solve(
29
+ SmartPtr<IteratesVector> delta_lhs,
30
+ SmartPtr<const IteratesVector> delta_rhs
31
+ ) = 0;
32
+ };
33
+
34
+ }
35
+
36
+ #endif
@@ -0,0 +1,56 @@
1
+ // Copyright 2009, 2011 Hans Pirnay
2
+ // All Rights Reserved.
3
+ // This code is published under the Eclipse Public License.
4
+ //
5
+ // Date : 2009-05-16
6
+
7
+ #ifndef __AS_MEASUREMENT_HPP__
8
+ #define __AS_MEASUREMENT_HPP__
9
+
10
+ #include "IpReferenced.hpp"
11
+ #include "IpDenseVector.hpp"
12
+ #include "IpIteratesVector.hpp"
13
+
14
+ namespace Ipopt
15
+ {
16
+
17
+ class SIPOPTLIB_EXPORT Measurement: public ReferencedObject
18
+ {
19
+ /** This class provides an abstraction for the measurements of the states coming in
20
+ * and the solutions of the controller.
21
+ *
22
+ * It basically acts as the "plant" of the controller.
23
+ */
24
+ public:
25
+
26
+ Measurement()
27
+ { }
28
+
29
+ virtual ~Measurement()
30
+ { }
31
+
32
+ /** This function returns a std::vector holding the indices in IteratesVector of the
33
+ * equations that are to be "slacked" to free the initial values for sIPOPT.
34
+ *
35
+ * This std::vector is used in the construction of the A-SchurData for the Schur Decomposition.
36
+ */
37
+ virtual std::vector<Index> GetInitialEqConstraints() = 0;
38
+
39
+ /** This function returns delta_u.
40
+ *
41
+ * It should use the values of IpData().trial()->x()
42
+ */
43
+ virtual SmartPtr<DenseVector> GetMeasurement(
44
+ Index measurement_number
45
+ ) = 0;
46
+
47
+ /** This function does whatever the measurement machine does with the solution of the SensAlgorithm */
48
+ virtual void SetSolution(
49
+ Index measurement_number,
50
+ SmartPtr<IteratesVector> sol
51
+ ) = 0;
52
+ };
53
+
54
+ }
55
+
56
+ #endif