casadi 3.6.5__cp39-none-macosx_11_0_arm64.whl → 3.6.7__cp39-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.
- casadi/_casadi.so +0 -0
- casadi/casadi-cli +0 -0
- casadi/casadi.py +739 -308
- casadi/cbc +0 -0
- casadi/clp +0 -0
- casadi/cmake/casadi-config-version.cmake +1 -1
- casadi/cmake/casadi-targets.cmake +10 -6
- casadi/cmake/highs/highs-config.cmake +6 -13
- casadi/cmake/highs/highs-targets-release.cmake +13 -13
- casadi/cmake/highs/highs-targets.cmake +25 -22
- casadi/cmake/osqp/osqp-targets.cmake +10 -6
- casadi/cmake/proxsuite/proxsuiteConfigVersion.cmake +0 -5
- casadi/cmake/proxsuite/proxsuiteTargets.cmake +12 -12
- casadi/cmake/qdldl/qdldl-targets.cmake +10 -6
- casadi/cmake/sleqp/sleqp-config-version.cmake +0 -5
- casadi/cmake/sleqp/sleqp-targets.cmake +10 -6
- casadi/cmake/trlib/trlib-config-release.cmake +1 -1
- casadi/cmake/trlib/trlib-config-version.cmake +0 -5
- casadi/cmake/trlib/trlib-config.cmake +12 -12
- casadi/highs +0 -0
- casadi/include/casadi/casadi.i +3 -0
- casadi/include/casadi/casadi_c.h +2 -0
- casadi/include/casadi/config.h +9 -9
- casadi/include/casadi/core/casadi_common.hpp +1 -0
- casadi/include/casadi/core/casadi_export.h +1 -0
- casadi/include/casadi/core/casadi_misc.hpp +52 -0
- casadi/include/casadi/core/casadi_types.hpp +3 -2
- casadi/include/casadi/core/code_generator.hpp +30 -1
- casadi/include/casadi/core/global_options.hpp +2 -0
- casadi/include/casadi/core/mx.hpp +18 -3
- casadi/include/casadi/core/optistack.hpp +23 -0
- casadi/include/casadi/core/runtime/casadi_nlp.hpp +19 -4
- casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
- casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
- casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_runtime.hpp +4 -1
- casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
- casadi/include/casadi/core/serializing_stream.hpp +2 -2
- casadi/include/casadi/core/sparsity.hpp +7 -0
- casadi/include/casadi/doc.i +1513 -1016
- casadi/include/casadi/doc_merged.i +965 -719
- casadi/include/casadi/mem.h +1 -0
- casadi/include/daqp/api.h +46 -0
- casadi/include/daqp/auxiliary.h +29 -0
- casadi/include/daqp/bnb.h +32 -0
- casadi/include/daqp/codegen.h +18 -0
- casadi/include/daqp/constants.h +92 -0
- casadi/include/daqp/daqp.h +22 -0
- casadi/include/daqp/daqp_prox.h +18 -0
- casadi/include/daqp/factorization.h +18 -0
- casadi/include/daqp/types.h +161 -0
- casadi/include/daqp/utils.h +44 -0
- casadi/include/fatrop/auxiliary/Common.hpp +34 -0
- casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
- casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
- casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
- casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
- casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
- casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +493 -0
- casadi/include/fatrop/fatrop.hpp +39 -0
- casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
- casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
- casadi/include/fatrop/json/json.h +946 -0
- casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
- casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
- casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
- casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
- casadi/include/fatrop/ocp/FatropOCPResto.hpp +299 -0
- casadi/include/fatrop/ocp/OCP.hpp +82 -0
- casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
- casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
- casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
- casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
- casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
- casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
- casadi/include/fatrop/ocp/OCPLSRiccati.hpp +198 -0
- casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
- casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
- casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
- casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
- casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
- casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
- casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
- casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
- casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
- casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
- casadi/include/fatrop/solver/AlgBuilder.hpp +76 -0
- casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
- casadi/include/fatrop/solver/FatropAlg.hpp +121 -0
- casadi/include/fatrop/solver/FatropData.hpp +188 -0
- casadi/include/fatrop/solver/FatropOptions.hpp +95 -0
- casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
- casadi/include/fatrop/solver/FatropStats.hpp +63 -0
- casadi/include/fatrop/solver/Filter.hpp +54 -0
- casadi/include/fatrop/solver/IterationData.hpp +56 -0
- casadi/include/fatrop/solver/LineSearch.hpp +86 -0
- casadi/include/fatrop/solver/NLPL1.hpp +263 -0
- casadi/include/fatrop/templates/NLPAlg.hpp +104 -0
- casadi/include/highs/HConfig.h +8 -7
- casadi/include/highs/Highs.h +93 -23
- casadi/include/highs/filereaderlp/def.hpp +19 -0
- casadi/include/highs/interfaces/highs_c_api.h +200 -24
- casadi/include/highs/io/Filereader.h +1 -1
- casadi/include/highs/io/FilereaderEms.h +1 -1
- casadi/include/highs/io/FilereaderLp.h +1 -1
- casadi/include/highs/io/FilereaderMps.h +1 -1
- casadi/include/highs/io/HMPSIO.h +1 -1
- casadi/include/highs/io/HMpsFF.h +5 -3
- casadi/include/highs/io/HighsIO.h +18 -8
- casadi/include/highs/io/LoadOptions.h +1 -1
- casadi/include/highs/ipm/IpxSolution.h +35 -0
- casadi/include/highs/ipm/IpxWrapper.h +1 -1
- casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
- casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
- casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
- casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
- casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
- casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
- casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
- casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
- casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
- casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
- casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
- casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
- casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
- casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
- casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
- casadi/include/highs/ipm/ipx/basis.h +351 -0
- casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
- casadi/include/highs/ipm/ipx/control.h +163 -0
- casadi/include/highs/ipm/ipx/crossover.h +157 -0
- casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
- casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
- casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
- casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
- casadi/include/highs/ipm/ipx/info.h +27 -0
- casadi/include/highs/ipm/ipx/ipm.h +94 -0
- casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
- casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
- casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
- casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
- casadi/include/highs/ipm/ipx/ipx_parameters.h +75 -0
- casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
- casadi/include/highs/ipm/ipx/iterate.h +328 -0
- casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
- casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
- casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
- casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
- casadi/include/highs/ipm/ipx/lp_solver.h +201 -0
- casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
- casadi/include/highs/ipm/ipx/lu_update.h +129 -0
- casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
- casadi/include/highs/ipm/ipx/model.h +409 -0
- casadi/include/highs/ipm/ipx/multistream.h +52 -0
- casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
- casadi/include/highs/ipm/ipx/power_method.h +44 -0
- casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
- casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
- casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
- casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
- casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
- casadi/include/highs/ipm/ipx/timer.h +24 -0
- casadi/include/highs/ipm/ipx/utils.h +39 -0
- casadi/include/highs/lp_data/HConst.h +20 -10
- casadi/include/highs/lp_data/HStruct.h +23 -1
- casadi/include/highs/lp_data/HighsAnalysis.h +1 -1
- casadi/include/highs/lp_data/HighsCallback.h +10 -3
- casadi/include/highs/lp_data/HighsCallbackStruct.h +31 -5
- casadi/include/highs/lp_data/HighsDebug.h +1 -1
- casadi/include/highs/lp_data/HighsInfo.h +20 -2
- casadi/include/highs/lp_data/HighsInfoDebug.h +1 -1
- casadi/include/highs/lp_data/HighsLp.h +17 -1
- casadi/include/highs/lp_data/HighsLpSolverObject.h +1 -1
- casadi/include/highs/lp_data/HighsLpUtils.h +19 -19
- casadi/include/highs/lp_data/HighsModelUtils.h +1 -1
- casadi/include/highs/lp_data/HighsOptions.h +237 -10
- casadi/include/highs/lp_data/HighsRanging.h +1 -1
- casadi/include/highs/lp_data/HighsRuntimeOptions.h +2 -2
- casadi/include/highs/lp_data/HighsSolution.h +2 -2
- casadi/include/highs/lp_data/HighsSolutionDebug.h +1 -1
- casadi/include/highs/lp_data/HighsSolve.h +3 -1
- casadi/include/highs/lp_data/HighsStatus.h +1 -1
- casadi/include/highs/mip/HighsCliqueTable.h +4 -4
- casadi/include/highs/mip/HighsConflictPool.h +1 -1
- casadi/include/highs/mip/HighsCutGeneration.h +1 -1
- casadi/include/highs/mip/HighsCutPool.h +2 -2
- casadi/include/highs/mip/HighsDebugSol.h +22 -29
- casadi/include/highs/mip/HighsDomain.h +10 -2
- casadi/include/highs/mip/HighsDomainChange.h +1 -1
- casadi/include/highs/mip/HighsDynamicRowMatrix.h +5 -3
- casadi/include/highs/mip/HighsGFkSolve.h +3 -3
- casadi/include/highs/mip/HighsImplications.h +3 -3
- casadi/include/highs/mip/HighsLpAggregator.h +1 -1
- casadi/include/highs/mip/HighsLpRelaxation.h +6 -1
- casadi/include/highs/mip/HighsMipSolver.h +4 -2
- casadi/include/highs/mip/HighsMipSolverData.h +47 -4
- casadi/include/highs/mip/HighsModkSeparator.h +2 -2
- casadi/include/highs/mip/HighsNodeQueue.h +5 -3
- casadi/include/highs/mip/HighsObjectiveFunction.h +1 -1
- casadi/include/highs/mip/HighsPathSeparator.h +2 -2
- casadi/include/highs/mip/HighsPrimalHeuristics.h +1 -1
- casadi/include/highs/mip/HighsPseudocost.h +35 -23
- casadi/include/highs/mip/HighsRedcostFixing.h +1 -1
- casadi/include/highs/mip/HighsSearch.h +2 -1
- casadi/include/highs/mip/HighsSeparation.h +1 -1
- casadi/include/highs/mip/HighsSeparator.h +1 -1
- casadi/include/highs/mip/HighsTableauSeparator.h +1 -1
- casadi/include/highs/mip/HighsTransformedLp.h +1 -1
- casadi/include/highs/model/HighsHessian.h +5 -0
- casadi/include/highs/model/HighsHessianUtils.h +2 -0
- casadi/include/highs/model/HighsModel.h +10 -1
- casadi/include/highs/parallel/HighsMutex.h +2 -1
- casadi/include/highs/parallel/HighsParallel.h +7 -2
- casadi/include/highs/parallel/HighsTask.h +1 -2
- casadi/include/highs/pdlp/CupdlpWrapper.h +93 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +41 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +423 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +183 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +28 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +33 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1726 -0
- casadi/include/highs/pdqsort/pdqsort.h +532 -0
- casadi/include/highs/presolve/HPresolve.h +27 -14
- casadi/include/highs/presolve/HPresolveAnalysis.h +1 -1
- casadi/include/highs/presolve/HighsPostsolveStack.h +92 -68
- casadi/include/highs/presolve/HighsSymmetry.h +6 -5
- casadi/include/highs/presolve/ICrash.h +8 -2
- casadi/include/highs/presolve/ICrashUtil.h +1 -1
- casadi/include/highs/presolve/ICrashX.h +1 -1
- casadi/include/highs/presolve/PresolveComponent.h +1 -1
- casadi/include/highs/qpsolver/a_asm.hpp +23 -12
- casadi/include/highs/qpsolver/a_quass.hpp +8 -1
- casadi/include/highs/qpsolver/basis.hpp +150 -0
- casadi/include/highs/qpsolver/crashsolution.hpp +12 -0
- casadi/include/highs/qpsolver/dantzigpricing.hpp +72 -0
- casadi/include/highs/qpsolver/devexpricing.hpp +99 -0
- casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
- casadi/include/highs/qpsolver/factor.hpp +400 -0
- casadi/include/highs/qpsolver/feasibility_bounded.hpp +105 -0
- casadi/include/highs/qpsolver/feasibility_highs.hpp +270 -0
- casadi/include/highs/qpsolver/gradient.hpp +39 -0
- casadi/include/highs/qpsolver/instance.hpp +63 -0
- casadi/include/highs/qpsolver/matrix.hpp +335 -0
- casadi/include/highs/qpsolver/pricing.hpp +15 -0
- casadi/include/highs/qpsolver/qpconst.hpp +27 -0
- casadi/include/highs/qpsolver/{vector.hpp → qpvector.hpp} +25 -25
- casadi/include/highs/qpsolver/quass.hpp +1 -1
- casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
- casadi/include/highs/qpsolver/runtime.hpp +38 -0
- casadi/include/highs/qpsolver/settings.hpp +57 -0
- casadi/include/highs/qpsolver/snippets.hpp +29 -0
- casadi/include/highs/qpsolver/statistics.hpp +23 -0
- casadi/include/highs/qpsolver/steepestedgepricing.hpp +167 -0
- casadi/include/highs/simplex/HApp.h +1 -1
- casadi/include/highs/simplex/HEkk.h +52 -18
- casadi/include/highs/simplex/HEkkDual.h +1 -1
- casadi/include/highs/simplex/HEkkDualRHS.h +6 -7
- casadi/include/highs/simplex/HEkkDualRow.h +2 -2
- casadi/include/highs/simplex/HEkkPrimal.h +6 -1
- casadi/include/highs/simplex/HSimplex.h +1 -3
- casadi/include/highs/simplex/HSimplexDebug.h +1 -1
- casadi/include/highs/simplex/HSimplexNla.h +1 -1
- casadi/include/highs/simplex/HSimplexReport.h +1 -1
- casadi/include/highs/simplex/HighsSimplexAnalysis.h +228 -100
- casadi/include/highs/simplex/SimplexConst.h +1 -1
- casadi/include/highs/simplex/SimplexStruct.h +2 -2
- casadi/include/highs/simplex/SimplexTimer.h +1 -1
- casadi/include/highs/test/DevKkt.h +1 -1
- casadi/include/highs/test/KktCh2.h +1 -1
- casadi/include/highs/util/FactorTimer.h +1 -1
- casadi/include/highs/util/HFactor.h +35 -6
- casadi/include/highs/util/HFactorConst.h +1 -1
- casadi/include/highs/util/HFactorDebug.h +1 -1
- casadi/include/highs/util/HSet.h +1 -1
- casadi/include/highs/util/HVector.h +1 -1
- casadi/include/highs/util/HVectorBase.h +1 -1
- casadi/include/highs/util/HighsCDouble.h +3 -3
- casadi/include/highs/util/HighsComponent.h +1 -1
- casadi/include/highs/util/HighsDataStack.h +4 -4
- casadi/include/highs/util/HighsDisjointSets.h +1 -1
- casadi/include/highs/util/HighsHash.h +28 -21
- casadi/include/highs/util/HighsHashTree.h +63 -63
- casadi/include/highs/util/HighsInt.h +1 -1
- casadi/include/highs/util/HighsIntegers.h +8 -9
- casadi/include/highs/util/HighsLinearSumBounds.h +1 -1
- casadi/include/highs/util/HighsMatrixPic.h +1 -1
- casadi/include/highs/util/HighsMatrixSlice.h +9 -6
- casadi/include/highs/util/HighsMatrixUtils.h +1 -1
- casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
- casadi/include/highs/util/HighsRandom.h +27 -15
- casadi/include/highs/util/HighsRbTree.h +2 -2
- casadi/include/highs/util/HighsSort.h +7 -7
- casadi/include/highs/util/HighsSparseMatrix.h +5 -2
- casadi/include/highs/util/HighsSparseVectorSum.h +2 -2
- casadi/include/highs/util/HighsSplay.h +1 -1
- casadi/include/highs/util/HighsTimer.h +18 -9
- casadi/include/highs/util/HighsUtils.h +15 -8
- casadi/include/highs/util/stringutil.h +9 -4
- casadi/include/highs/zstr/strict_fstream.hpp +237 -0
- casadi/include/highs/zstr/zstr.hpp +472 -0
- casadi/include/highs_export.h +43 -0
- casadi/include/licenses/daqp-external/LICENSE +21 -0
- casadi/include/licenses/{alpaqa-external/LICENSE → fatrop-external/LICENSE.txt} +2 -2
- casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
- casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
- casadi/include/licenses/fatrop-external/misc/license_header.txt +17 -0
- casadi/include/licenses/highs-external/{LICENSE → LICENSE.txt} +1 -1
- casadi/include/osqp/constants.h +2 -3
- casadi/include/osqp/version.h +9 -0
- casadi/include/sleqp/defs.h +4 -4
- casadi/include/sleqp/export.h +1 -0
- casadi/lib/cmake/tinyxml2/tinyxml2-config-version.cmake +0 -5
- casadi/lib/cmake/tinyxml2/tinyxml2-static-targets.cmake +10 -6
- casadi/lib/libtinyxml2.a +0 -0
- casadi/lib/pkgconfig/tinyxml2.pc +1 -1
- casadi/libCbc.3.10.11.dylib +0 -0
- casadi/libCbc.3.dylib +0 -0
- casadi/libCbc.dylib +0 -0
- casadi/libCbc.la +2 -2
- casadi/libCbcSolver.3.10.11.dylib +0 -0
- casadi/libCbcSolver.3.dylib +0 -0
- casadi/libCbcSolver.dylib +0 -0
- casadi/libCbcSolver.la +2 -2
- casadi/libCgl.1.10.8.dylib +0 -0
- casadi/libCgl.1.dylib +0 -0
- casadi/libCgl.dylib +0 -0
- casadi/libCgl.la +2 -2
- casadi/libClp.1.14.9.dylib +0 -0
- casadi/libClp.1.dylib +0 -0
- casadi/libClp.dylib +0 -0
- casadi/libClp.la +2 -2
- casadi/libClpSolver.1.14.9.dylib +0 -0
- casadi/libClpSolver.1.dylib +0 -0
- casadi/libClpSolver.dylib +0 -0
- casadi/libClpSolver.la +2 -2
- casadi/libCoinUtils.3.11.10.dylib +0 -0
- casadi/libCoinUtils.3.dylib +0 -0
- casadi/libCoinUtils.dylib +0 -0
- casadi/libCoinUtils.la +1 -1
- casadi/libOsi.1.13.9.dylib +0 -0
- casadi/libOsi.1.dylib +0 -0
- casadi/libOsi.dylib +0 -0
- casadi/libOsi.la +2 -2
- casadi/libOsiCbc.3.10.11.dylib +0 -0
- casadi/libOsiCbc.3.dylib +0 -0
- casadi/libOsiCbc.dylib +0 -0
- casadi/libOsiCbc.la +2 -2
- casadi/libOsiClp.1.14.9.dylib +0 -0
- casadi/libOsiClp.1.dylib +0 -0
- casadi/libOsiClp.dylib +0 -0
- casadi/libOsiClp.la +2 -2
- casadi/libOsiCommonTests.1.13.9.dylib +0 -0
- casadi/libOsiCommonTests.1.dylib +0 -0
- casadi/libOsiCommonTests.dylib +0 -0
- casadi/libOsiCommonTests.la +2 -2
- casadi/libblasfeo.dylib +0 -0
- casadi/libbonmin.4.8.9.dylib +0 -0
- casadi/libbonmin.4.dylib +0 -0
- casadi/libbonmin.dylib +0 -0
- casadi/libbonmin.la +2 -2
- casadi/libc++.1.0.dylib +0 -0
- casadi/libcasadi.3.7.dylib +0 -0
- casadi/libcasadi.dylib +0 -0
- casadi/libcasadi_conic_cbc.3.7.dylib +0 -0
- casadi/libcasadi_conic_cbc.dylib +0 -0
- casadi/libcasadi_conic_clp.3.7.dylib +0 -0
- casadi/libcasadi_conic_clp.dylib +0 -0
- casadi/libcasadi_conic_cplex.3.7.dylib +0 -0
- casadi/libcasadi_conic_cplex.dylib +0 -0
- casadi/libcasadi_conic_daqp.3.7.dylib +0 -0
- casadi/libcasadi_conic_daqp.dylib +0 -0
- casadi/libcasadi_conic_fatrop.3.7.dylib +0 -0
- casadi/libcasadi_conic_fatrop.dylib +0 -0
- casadi/libcasadi_conic_gurobi.3.7.dylib +0 -0
- casadi/libcasadi_conic_gurobi.dylib +0 -0
- casadi/libcasadi_conic_highs.3.7.dylib +0 -0
- casadi/libcasadi_conic_highs.dylib +0 -0
- casadi/libcasadi_conic_ipqp.3.7.dylib +0 -0
- casadi/libcasadi_conic_ipqp.dylib +0 -0
- casadi/libcasadi_conic_nlpsol.3.7.dylib +0 -0
- casadi/libcasadi_conic_nlpsol.dylib +0 -0
- casadi/libcasadi_conic_osqp.3.7.dylib +0 -0
- casadi/libcasadi_conic_osqp.dylib +0 -0
- casadi/libcasadi_conic_proxqp.3.7.dylib +0 -0
- casadi/libcasadi_conic_proxqp.dylib +0 -0
- casadi/libcasadi_conic_qpoases.3.7.dylib +0 -0
- casadi/libcasadi_conic_qpoases.dylib +0 -0
- casadi/libcasadi_conic_qrqp.3.7.dylib +0 -0
- casadi/libcasadi_conic_qrqp.dylib +0 -0
- casadi/libcasadi_conic_superscs.3.7.dylib +0 -0
- casadi/libcasadi_conic_superscs.dylib +0 -0
- casadi/libcasadi_importer_shell.3.7.dylib +0 -0
- casadi/libcasadi_importer_shell.dylib +0 -0
- casadi/libcasadi_integrator_collocation.3.7.dylib +0 -0
- casadi/libcasadi_integrator_collocation.dylib +0 -0
- casadi/libcasadi_integrator_cvodes.3.7.dylib +0 -0
- casadi/libcasadi_integrator_cvodes.dylib +0 -0
- casadi/libcasadi_integrator_idas.3.7.dylib +0 -0
- casadi/libcasadi_integrator_idas.dylib +0 -0
- casadi/libcasadi_integrator_rk.3.7.dylib +0 -0
- casadi/libcasadi_integrator_rk.dylib +0 -0
- casadi/libcasadi_interpolant_bspline.3.7.dylib +0 -0
- casadi/libcasadi_interpolant_bspline.dylib +0 -0
- casadi/libcasadi_interpolant_linear.3.7.dylib +0 -0
- casadi/libcasadi_interpolant_linear.dylib +0 -0
- casadi/libcasadi_linsol_csparse.3.7.dylib +0 -0
- casadi/libcasadi_linsol_csparse.dylib +0 -0
- casadi/libcasadi_linsol_csparsecholesky.3.7.dylib +0 -0
- casadi/libcasadi_linsol_csparsecholesky.dylib +0 -0
- casadi/libcasadi_linsol_lapacklu.3.7.dylib +0 -0
- casadi/libcasadi_linsol_lapacklu.dylib +0 -0
- casadi/libcasadi_linsol_lapackqr.3.7.dylib +0 -0
- casadi/libcasadi_linsol_lapackqr.dylib +0 -0
- casadi/libcasadi_linsol_ldl.3.7.dylib +0 -0
- casadi/libcasadi_linsol_ldl.dylib +0 -0
- casadi/libcasadi_linsol_lsqr.3.7.dylib +0 -0
- casadi/libcasadi_linsol_lsqr.dylib +0 -0
- casadi/libcasadi_linsol_ma27.3.7.dylib +0 -0
- casadi/libcasadi_linsol_ma27.dylib +0 -0
- casadi/libcasadi_linsol_mumps.3.7.dylib +0 -0
- casadi/libcasadi_linsol_mumps.dylib +0 -0
- casadi/libcasadi_linsol_qr.3.7.dylib +0 -0
- casadi/libcasadi_linsol_qr.dylib +0 -0
- casadi/libcasadi_linsol_symbolicqr.3.7.dylib +0 -0
- casadi/libcasadi_linsol_symbolicqr.dylib +0 -0
- casadi/libcasadi_linsol_tridiag.3.7.dylib +0 -0
- casadi/libcasadi_linsol_tridiag.dylib +0 -0
- casadi/libcasadi_nlpsol_ampl.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_ampl.dylib +0 -0
- casadi/libcasadi_nlpsol_blocksqp.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_blocksqp.dylib +0 -0
- casadi/libcasadi_nlpsol_bonmin.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_bonmin.dylib +0 -0
- casadi/libcasadi_nlpsol_fatrop.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_fatrop.dylib +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.dylib +0 -0
- casadi/libcasadi_nlpsol_ipopt.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_ipopt.dylib +0 -0
- casadi/libcasadi_nlpsol_knitro.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_knitro.dylib +0 -0
- casadi/libcasadi_nlpsol_madnlp.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_madnlp.dylib +0 -0
- casadi/libcasadi_nlpsol_qrsqp.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_qrsqp.dylib +0 -0
- casadi/libcasadi_nlpsol_scpgen.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_scpgen.dylib +0 -0
- casadi/libcasadi_nlpsol_sleqp.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_sleqp.dylib +0 -0
- casadi/libcasadi_nlpsol_snopt.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_snopt.dylib +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.dylib +0 -0
- casadi/libcasadi_rootfinder_fast_newton.3.7.dylib +0 -0
- casadi/libcasadi_rootfinder_fast_newton.dylib +0 -0
- casadi/libcasadi_rootfinder_kinsol.3.7.dylib +0 -0
- casadi/libcasadi_rootfinder_kinsol.dylib +0 -0
- casadi/libcasadi_rootfinder_newton.3.7.dylib +0 -0
- casadi/libcasadi_rootfinder_newton.dylib +0 -0
- casadi/libcasadi_rootfinder_nlpsol.3.7.dylib +0 -0
- casadi/libcasadi_rootfinder_nlpsol.dylib +0 -0
- casadi/libcasadi_sundials_common.3.7.dylib +0 -0
- casadi/libcasadi_sundials_common.dylib +0 -0
- casadi/libcasadi_xmlfile_tinyxml.3.7.dylib +0 -0
- casadi/libcasadi_xmlfile_tinyxml.dylib +0 -0
- casadi/libcoinmetis.2.dylib +0 -0
- casadi/libcoinmetis.dylib +0 -0
- casadi/libcoinmetis.la +1 -1
- casadi/libcoinmumps.3.dylib +0 -0
- casadi/libcoinmumps.dylib +0 -0
- casadi/libcoinmumps.la +2 -2
- casadi/libcplex_adaptor.dylib +0 -0
- casadi/{libamd.3.0.3.dylib → libdaqp.dylib} +0 -0
- casadi/libdaqpstat.a +0 -0
- casadi/libfatrop.dylib +0 -0
- casadi/libgcc_s.1.1.dylib +0 -0
- casadi/libgfortran.5.dylib +0 -0
- casadi/libgurobi_adaptor.dylib +0 -0
- casadi/libhighs.1.7.dylib +0 -0
- casadi/libhighs.1.dylib +0 -0
- casadi/libhighs.dylib +0 -0
- casadi/libindirect.a +0 -0
- casadi/libipopt.3.dylib +0 -0
- casadi/libipopt.dylib +0 -0
- casadi/libipopt.la +2 -2
- casadi/liblinsys.a +0 -0
- casadi/{libsuitesparseconfig.7.0.1.dylib → libmatlab_ipc.dylib} +0 -0
- casadi/libosqp.a +0 -0
- casadi/libosqp.dylib +0 -0
- casadi/libqdldl.a +0 -0
- casadi/libqdldl.dylib +0 -0
- casadi/libquadmath.0.dylib +0 -0
- casadi/libsipopt.3.dylib +0 -0
- casadi/libsipopt.dylib +0 -0
- casadi/libsipopt.la +2 -2
- casadi/libsleqp.1.0.1.dylib +0 -0
- casadi/libsleqp.dylib +0 -0
- casadi/libsuperscs.a +0 -0
- casadi/libtrlib.0.4.dylib +0 -0
- casadi/libtrlib.dylib +0 -0
- casadi/libz.1.2.13.dylib +0 -0
- casadi/pkgconfig/bonmin.pc +1 -1
- casadi/pkgconfig/casadi.pc +5 -5
- casadi/pkgconfig/cbc.pc +1 -1
- casadi/pkgconfig/cgl.pc +1 -1
- casadi/pkgconfig/clp.pc +1 -1
- casadi/pkgconfig/coinmetis.pc +1 -1
- casadi/pkgconfig/coinmumps.pc +2 -2
- casadi/pkgconfig/coinutils.pc +2 -2
- casadi/pkgconfig/highs.pc +4 -4
- casadi/pkgconfig/ipopt.pc +2 -2
- casadi/pkgconfig/osi-cbc.pc +1 -1
- casadi/pkgconfig/osi-clp.pc +1 -1
- casadi/pkgconfig/osi-unittests.pc +1 -1
- casadi/pkgconfig/osi.pc +1 -1
- casadi/pkgconfig/sleqp.pc +1 -1
- casadi/tools/__init__.py +4 -0
- casadi/tools/bounds.py +3 -3
- {casadi-3.6.5.dist-info → casadi-3.6.7.dist-info}/METADATA +2 -2
- {casadi-3.6.5.dist-info → casadi-3.6.7.dist-info}/RECORD +532 -477
- casadi/cmake/alpaqa/alpaqaConfig.cmake +0 -24
- casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +0 -70
- casadi/cmake/alpaqa/alpaqaTargets-release.cmake +0 -19
- casadi/cmake/alpaqa/alpaqaTargets.cmake +0 -116
- casadi/include/alpaqa/accelerators/anderson.hpp +0 -133
- casadi/include/alpaqa/accelerators/internal/anderson-helpers.hpp +0 -92
- casadi/include/alpaqa/accelerators/internal/limited-memory-qr.hpp +0 -295
- casadi/include/alpaqa/accelerators/lbfgs.hpp +0 -244
- casadi/include/alpaqa/accelerators/steihaugcg.hpp +0 -143
- casadi/include/alpaqa/alpaqa.hpp +0 -3
- casadi/include/alpaqa/casadi/CasADiControlProblem.hpp +0 -185
- casadi/include/alpaqa/casadi/CasADiFunctionWrapper.hpp +0 -104
- casadi/include/alpaqa/casadi/CasADiProblem.hpp +0 -102
- casadi/include/alpaqa/casadi-loader-export.hpp +0 -15
- casadi/include/alpaqa/casadi-ocp-loader-export.hpp +0 -15
- casadi/include/alpaqa/config/config.hpp +0 -165
- casadi/include/alpaqa/dl/dl-problem.h +0 -476
- casadi/include/alpaqa/dl/dl-problem.hpp +0 -301
- casadi/include/alpaqa/export.h +0 -42
- casadi/include/alpaqa/export.hpp +0 -30
- casadi/include/alpaqa/implementation/accelerators/lbfgs.tpp +0 -240
- casadi/include/alpaqa/implementation/casadi/CasADiControlProblem.tpp +0 -594
- casadi/include/alpaqa/implementation/casadi/CasADiLoader-util.hpp +0 -50
- casadi/include/alpaqa/implementation/casadi/CasADiProblem.tpp +0 -425
- casadi/include/alpaqa/implementation/inner/directions/panoc/structured-lbfgs.tpp +0 -164
- casadi/include/alpaqa/implementation/inner/panoc-helpers.tpp +0 -389
- casadi/include/alpaqa/implementation/inner/panoc-ocp.tpp +0 -798
- casadi/include/alpaqa/implementation/inner/panoc.tpp +0 -448
- casadi/include/alpaqa/implementation/inner/pantr.tpp +0 -474
- casadi/include/alpaqa/implementation/inner/zerofpr.tpp +0 -482
- casadi/include/alpaqa/implementation/outer/alm.tpp +0 -228
- casadi/include/alpaqa/implementation/outer/internal/alm-helpers.tpp +0 -80
- casadi/include/alpaqa/implementation/params/params.tpp +0 -158
- casadi/include/alpaqa/implementation/problem/ocproblem.tpp +0 -56
- casadi/include/alpaqa/implementation/problem/type-erased-problem.tpp +0 -211
- casadi/include/alpaqa/implementation/util/io/csv.tpp +0 -120
- casadi/include/alpaqa/implementation/util/print.tpp +0 -151
- casadi/include/alpaqa/inner/directions/panoc/anderson.hpp +0 -98
- casadi/include/alpaqa/inner/directions/panoc/lbfgs.hpp +0 -94
- casadi/include/alpaqa/inner/directions/panoc/structured-lbfgs.hpp +0 -146
- casadi/include/alpaqa/inner/directions/panoc/structured-newton.hpp +0 -264
- casadi/include/alpaqa/inner/directions/panoc-direction-update.hpp +0 -96
- casadi/include/alpaqa/inner/directions/panoc-ocp/lqr.hpp +0 -181
- casadi/include/alpaqa/inner/directions/panoc-ocp/ocp-vars.hpp +0 -492
- casadi/include/alpaqa/inner/directions/pantr/newton-tr.hpp +0 -192
- casadi/include/alpaqa/inner/directions/pantr/pantr-direction.hpp +0 -99
- casadi/include/alpaqa/inner/inner-solve-options.hpp +0 -30
- casadi/include/alpaqa/inner/internal/lipschitz.hpp +0 -27
- casadi/include/alpaqa/inner/internal/panoc-helpers.hpp +0 -10
- casadi/include/alpaqa/inner/internal/panoc-stop-crit.hpp +0 -124
- casadi/include/alpaqa/inner/internal/solverstatus.hpp +0 -42
- casadi/include/alpaqa/inner/panoc-ocp.hpp +0 -302
- casadi/include/alpaqa/inner/panoc.hpp +0 -274
- casadi/include/alpaqa/inner/pantr.hpp +0 -284
- casadi/include/alpaqa/inner/zerofpr.hpp +0 -274
- casadi/include/alpaqa/ipopt/ipopt-adapter.hpp +0 -81
- casadi/include/alpaqa/ipopt/ipopt-enums.hpp +0 -35
- casadi/include/alpaqa/lbfgsb/lbfgsb-adapter.hpp +0 -111
- casadi/include/alpaqa/newton-tr-pantr-alm.hpp +0 -27
- casadi/include/alpaqa/outer/alm.hpp +0 -190
- casadi/include/alpaqa/outer/internal/alm-helpers.hpp +0 -10
- casadi/include/alpaqa/panoc-alm.hpp +0 -27
- casadi/include/alpaqa/panoc-anderson-alm.hpp +0 -27
- casadi/include/alpaqa/params/params.hpp +0 -60
- casadi/include/alpaqa/problem/box-constr-problem.hpp +0 -220
- casadi/include/alpaqa/problem/box.hpp +0 -82
- casadi/include/alpaqa/problem/functional-problem.hpp +0 -73
- casadi/include/alpaqa/problem/kkt-error.hpp +0 -43
- casadi/include/alpaqa/problem/ocproblem-counters.hpp +0 -116
- casadi/include/alpaqa/problem/ocproblem.hpp +0 -662
- casadi/include/alpaqa/problem/problem-counters.hpp +0 -116
- casadi/include/alpaqa/problem/problem-with-counters.hpp +0 -141
- casadi/include/alpaqa/problem/type-erased-problem.hpp +0 -874
- casadi/include/alpaqa/problem/unconstr-problem.hpp +0 -37
- casadi/include/alpaqa/structured-panoc-alm.hpp +0 -27
- casadi/include/alpaqa/structured-zerofpr-alm.hpp +0 -27
- casadi/include/alpaqa/util/alloc-check.hpp +0 -23
- casadi/include/alpaqa/util/atomic-stop-signal.hpp +0 -24
- casadi/include/alpaqa/util/check-dim.hpp +0 -64
- casadi/include/alpaqa/util/copyable_unique_ptr.hpp +0 -32
- casadi/include/alpaqa/util/demangled-typename.hpp +0 -9
- casadi/include/alpaqa/util/enumerate.hpp +0 -70
- casadi/include/alpaqa/util/float.hpp +0 -25
- casadi/include/alpaqa/util/index-set.hpp +0 -97
- casadi/include/alpaqa/util/io/csv.hpp +0 -43
- casadi/include/alpaqa/util/iter-adapter.hpp +0 -68
- casadi/include/alpaqa/util/max-history.hpp +0 -47
- casadi/include/alpaqa/util/noop-delete.hpp +0 -15
- casadi/include/alpaqa/util/not-implemented.hpp +0 -12
- casadi/include/alpaqa/util/print.hpp +0 -78
- casadi/include/alpaqa/util/quadmath/quadmath-print.hpp +0 -20
- casadi/include/alpaqa/util/quadmath/quadmath.hpp +0 -137
- casadi/include/alpaqa/util/required-method.hpp +0 -29
- casadi/include/alpaqa/util/ringbuffer.hpp +0 -212
- casadi/include/alpaqa/util/set-intersection.hpp +0 -129
- casadi/include/alpaqa/util/sparse-ops.hpp +0 -164
- casadi/include/alpaqa/util/timed.hpp +0 -22
- casadi/include/alpaqa/util/type-erasure.hpp +0 -568
- casadi/include/alpaqa/util/type-traits.hpp +0 -58
- casadi/include/alpaqa/zerofpr-alm.hpp +0 -27
- casadi/include/alpaqa/zerofpr-anderson-alm.hpp +0 -27
- casadi/include/alpaqa-version.h +0 -8
- casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
- casadi/include/licenses/alpaqa-external/src/thirdparty/lbfgsb/Lbfgsb.3.0/License.txt +0 -71
- casadi/libFortranHighs.dylib +0 -0
- casadi/libalpaqa.1.0.0.dylib +0 -0
- casadi/libalpaqa.dylib +0 -0
- casadi/libcamd.3.0.3.dylib +0 -0
- casadi/libcasadi_nlpsol_alpaqa.3.7.dylib +0 -0
- casadi/libcasadi_nlpsol_alpaqa.dylib +0 -0
- casadi/libccolamd.3.0.3.dylib +0 -0
- casadi/libcholmod.4.0.3.dylib +0 -0
- casadi/libcholmod_cuda.4.0.3.dylib +0 -0
- casadi/libcolamd.3.0.3.dylib +0 -0
- casadi/libhighs.1.6.0.dylib +0 -0
- casadi/libhighs.1.6.dylib +0 -0
- casadi/libumfpack.6.1.0.dylib +0 -0
- {casadi-3.6.5.dist-info → casadi-3.6.7.dist-info}/WHEEL +0 -0
@@ -1,274 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include <alpaqa/export.hpp>
|
4
|
-
#include <alpaqa/inner/directions/panoc-direction-update.hpp>
|
5
|
-
#include <alpaqa/inner/inner-solve-options.hpp>
|
6
|
-
#include <alpaqa/inner/internal/lipschitz.hpp>
|
7
|
-
#include <alpaqa/inner/internal/panoc-helpers.hpp>
|
8
|
-
#include <alpaqa/inner/internal/panoc-stop-crit.hpp>
|
9
|
-
#include <alpaqa/inner/internal/solverstatus.hpp>
|
10
|
-
#include <alpaqa/problem/type-erased-problem.hpp>
|
11
|
-
#include <alpaqa/util/atomic-stop-signal.hpp>
|
12
|
-
|
13
|
-
#include <chrono>
|
14
|
-
#include <iostream>
|
15
|
-
#include <limits>
|
16
|
-
#include <string>
|
17
|
-
#include <type_traits>
|
18
|
-
|
19
|
-
namespace alpaqa {
|
20
|
-
|
21
|
-
/// Tuning parameters for the ZeroFPR algorithm.
|
22
|
-
template <Config Conf = DefaultConfig>
|
23
|
-
struct ZeroFPRParams {
|
24
|
-
USING_ALPAQA_CONFIG(Conf);
|
25
|
-
|
26
|
-
/// Parameters related to the Lipschitz constant estimate and step size.
|
27
|
-
LipschitzEstimateParams<config_t> Lipschitz;
|
28
|
-
/// Maximum number of inner ZeroFPR iterations.
|
29
|
-
unsigned max_iter = 100;
|
30
|
-
/// Maximum duration.
|
31
|
-
std::chrono::nanoseconds max_time = std::chrono::minutes(5);
|
32
|
-
/// Minimum weight factor between Newton step and projected gradient step.
|
33
|
-
real_t min_linesearch_coefficient = real_t(1. / 256);
|
34
|
-
/// Ignore the line search condition and always accept the accelerated step.
|
35
|
-
/// (For testing purposes only).
|
36
|
-
bool force_linesearch = false;
|
37
|
-
/// Parameter β used in the line search (see Algorithm 2 in
|
38
|
-
/// @cite de_marchi_proximal_2022). @f$ 0 < \beta < 1 @f$
|
39
|
-
real_t linesearch_strictness_factor = real_t(0.95);
|
40
|
-
/// Minimum Lipschitz constant estimate.
|
41
|
-
real_t L_min = real_t(1e-5);
|
42
|
-
/// Maximum Lipschitz constant estimate.
|
43
|
-
real_t L_max = real_t(1e20);
|
44
|
-
/// What stopping criterion to use.
|
45
|
-
PANOCStopCrit stop_crit = PANOCStopCrit::ApproxKKT;
|
46
|
-
/// Maximum number of iterations without any progress before giving up.
|
47
|
-
unsigned max_no_progress = 10;
|
48
|
-
|
49
|
-
/// When to print progress. If set to zero, nothing will be printed.
|
50
|
-
/// If set to N != 0, progress is printed every N iterations.
|
51
|
-
unsigned print_interval = 0;
|
52
|
-
/// The precision of the floating point values printed by the solver.
|
53
|
-
int print_precision = std::numeric_limits<real_t>::max_digits10 / 2;
|
54
|
-
|
55
|
-
real_t quadratic_upperbound_tolerance_factor =
|
56
|
-
10 * std::numeric_limits<real_t>::epsilon();
|
57
|
-
real_t linesearch_tolerance_factor =
|
58
|
-
10 * std::numeric_limits<real_t>::epsilon();
|
59
|
-
|
60
|
-
bool update_direction_in_candidate = false;
|
61
|
-
bool recompute_last_prox_step_after_lbfgs_flush = false;
|
62
|
-
bool update_direction_from_prox_step = false;
|
63
|
-
};
|
64
|
-
|
65
|
-
template <Config Conf = DefaultConfig>
|
66
|
-
struct ZeroFPRStats {
|
67
|
-
USING_ALPAQA_CONFIG(Conf);
|
68
|
-
|
69
|
-
SolverStatus status = SolverStatus::Busy;
|
70
|
-
real_t ε = inf<config_t>;
|
71
|
-
std::chrono::nanoseconds elapsed_time{};
|
72
|
-
std::chrono::nanoseconds time_progress_callback{};
|
73
|
-
unsigned iterations = 0;
|
74
|
-
unsigned linesearch_failures = 0;
|
75
|
-
unsigned linesearch_backtracks = 0;
|
76
|
-
unsigned stepsize_backtracks = 0;
|
77
|
-
unsigned lbfgs_failures = 0;
|
78
|
-
unsigned lbfgs_rejected = 0;
|
79
|
-
unsigned τ_1_accepted = 0;
|
80
|
-
unsigned count_τ = 0;
|
81
|
-
real_t sum_τ = 0;
|
82
|
-
real_t final_γ = 0;
|
83
|
-
real_t final_ψ = 0;
|
84
|
-
real_t final_h = 0;
|
85
|
-
real_t final_φγ = 0;
|
86
|
-
};
|
87
|
-
|
88
|
-
template <Config Conf = DefaultConfig>
|
89
|
-
struct ZeroFPRProgressInfo {
|
90
|
-
USING_ALPAQA_CONFIG(Conf);
|
91
|
-
|
92
|
-
unsigned k;
|
93
|
-
SolverStatus status;
|
94
|
-
crvec x;
|
95
|
-
crvec p;
|
96
|
-
real_t norm_sq_p;
|
97
|
-
crvec x̂;
|
98
|
-
real_t φγ;
|
99
|
-
real_t ψ;
|
100
|
-
crvec grad_ψ;
|
101
|
-
real_t ψ_hat;
|
102
|
-
crvec grad_ψ_hat;
|
103
|
-
crvec q;
|
104
|
-
real_t L;
|
105
|
-
real_t γ;
|
106
|
-
real_t τ;
|
107
|
-
real_t ε;
|
108
|
-
crvec Σ;
|
109
|
-
crvec y;
|
110
|
-
unsigned outer_iter;
|
111
|
-
const TypeErasedProblem<config_t> *problem;
|
112
|
-
const ZeroFPRParams<config_t> *params;
|
113
|
-
};
|
114
|
-
|
115
|
-
/// ZeroFPR solver for ALM.
|
116
|
-
/// @ingroup grp_InnerSolvers
|
117
|
-
template <class DirectionT>
|
118
|
-
class ZeroFPRSolver {
|
119
|
-
public:
|
120
|
-
USING_ALPAQA_CONFIG_TEMPLATE(DirectionT::config_t);
|
121
|
-
|
122
|
-
using Problem = TypeErasedProblem<config_t>;
|
123
|
-
using Params = ZeroFPRParams<config_t>;
|
124
|
-
using Direction = DirectionT;
|
125
|
-
using Stats = ZeroFPRStats<config_t>;
|
126
|
-
using ProgressInfo = ZeroFPRProgressInfo<config_t>;
|
127
|
-
using SolveOptions = InnerSolveOptions<config_t>;
|
128
|
-
|
129
|
-
ZeroFPRSolver(const Params ¶ms)
|
130
|
-
requires std::default_initializable<Direction>
|
131
|
-
: params(params) {}
|
132
|
-
ZeroFPRSolver(const Params ¶ms, Direction &&direction)
|
133
|
-
: params(params), direction(std::move(direction)) {}
|
134
|
-
ZeroFPRSolver(const Params ¶ms, const Direction &direction)
|
135
|
-
: params(params), direction(direction) {}
|
136
|
-
|
137
|
-
Stats operator()(const Problem &problem, // in
|
138
|
-
const SolveOptions &opts, // in
|
139
|
-
rvec x, // inout
|
140
|
-
rvec y, // inout
|
141
|
-
crvec Σ, // in
|
142
|
-
rvec err_z); // out
|
143
|
-
|
144
|
-
template <class P>
|
145
|
-
Stats operator()(const P &problem, const SolveOptions &opts, rvec x, rvec y,
|
146
|
-
crvec Σ, rvec e) {
|
147
|
-
return operator()(Problem::template make<P>(problem), opts, x, y, Σ, e);
|
148
|
-
}
|
149
|
-
|
150
|
-
template <class P>
|
151
|
-
Stats operator()(const P &problem, const SolveOptions &opts, rvec x) {
|
152
|
-
if (problem.get_m() != 0)
|
153
|
-
throw std::invalid_argument("Missing arguments y, Σ, e");
|
154
|
-
mvec y{nullptr, 0}, Σ{nullptr, 0}, e{nullptr, 0};
|
155
|
-
return operator()(problem, opts, x, y, Σ, e);
|
156
|
-
}
|
157
|
-
|
158
|
-
/// Specify a callable that is invoked with some intermediate results on
|
159
|
-
/// each iteration of the algorithm.
|
160
|
-
/// @see @ref ProgressInfo
|
161
|
-
ZeroFPRSolver &
|
162
|
-
set_progress_callback(std::function<void(const ProgressInfo &)> cb) {
|
163
|
-
this->progress_cb = cb;
|
164
|
-
return *this;
|
165
|
-
}
|
166
|
-
|
167
|
-
std::string get_name() const;
|
168
|
-
|
169
|
-
void stop() { stop_signal.stop(); }
|
170
|
-
|
171
|
-
const Params &get_params() const { return params; }
|
172
|
-
|
173
|
-
private:
|
174
|
-
Params params;
|
175
|
-
AtomicStopSignal stop_signal;
|
176
|
-
std::function<void(const ProgressInfo &)> progress_cb;
|
177
|
-
using Helpers = detail::PANOCHelpers<config_t>;
|
178
|
-
|
179
|
-
public:
|
180
|
-
Direction direction;
|
181
|
-
std::ostream *os = &std::cout;
|
182
|
-
};
|
183
|
-
|
184
|
-
template <class InnerSolverStats>
|
185
|
-
struct InnerStatsAccumulator;
|
186
|
-
|
187
|
-
template <Config Conf>
|
188
|
-
struct InnerStatsAccumulator<ZeroFPRStats<Conf>> {
|
189
|
-
USING_ALPAQA_CONFIG(Conf);
|
190
|
-
|
191
|
-
/// Total elapsed time in the inner solver.
|
192
|
-
std::chrono::nanoseconds elapsed_time{};
|
193
|
-
/// Total time spent in the user-provided progress callback.
|
194
|
-
std::chrono::nanoseconds time_progress_callback{};
|
195
|
-
/// Total number of inner ZeroFPR iterations.
|
196
|
-
unsigned iterations = 0;
|
197
|
-
/// Total number of ZeroFPR line search failures.
|
198
|
-
unsigned linesearch_failures = 0;
|
199
|
-
/// Total number of ZeroFPR line search backtracking steps.
|
200
|
-
unsigned linesearch_backtracks = 0;
|
201
|
-
/// Total number of ZeroFPR step size reductions.
|
202
|
-
unsigned stepsize_backtracks = 0;
|
203
|
-
/// Total number of times that the L-BFGS direction was not finite.
|
204
|
-
unsigned lbfgs_failures = 0;
|
205
|
-
/// Total number of times that the L-BFGS update was rejected (i.e. it
|
206
|
-
/// could have resulted in a non-positive definite Hessian estimate).
|
207
|
-
unsigned lbfgs_rejected = 0;
|
208
|
-
/// Total number of times that a line search parameter of @f$ \tau = 1 @f$
|
209
|
-
/// was accepted (i.e. no backtracking necessary).
|
210
|
-
unsigned τ_1_accepted = 0;
|
211
|
-
/// The total number of line searches performed (used for computing the
|
212
|
-
/// average value of @f$ \tau @f$).
|
213
|
-
unsigned count_τ = 0;
|
214
|
-
/// The sum of the line search parameter @f$ \tau @f$ in all iterations
|
215
|
-
/// (used for computing the average value of @f$ \tau @f$).
|
216
|
-
real_t sum_τ = 0;
|
217
|
-
/// The final ZeroFPR step size γ.
|
218
|
-
real_t final_γ = 0;
|
219
|
-
/// Final value of the smooth cost @f$ \psi(\hat x) @f$.
|
220
|
-
real_t final_ψ = 0;
|
221
|
-
/// Final value of the nonsmooth cost @f$ h(\hat x) @f$.
|
222
|
-
real_t final_h = 0;
|
223
|
-
/// Final value of the forward-backward envelope, @f$ \varphi_\gamma(x) @f$
|
224
|
-
/// (note that this is in the point @f$ x @f$, not @f$ \hat x @f$).
|
225
|
-
real_t final_φγ = 0;
|
226
|
-
};
|
227
|
-
|
228
|
-
template <Config Conf>
|
229
|
-
InnerStatsAccumulator<ZeroFPRStats<Conf>> &
|
230
|
-
operator+=(InnerStatsAccumulator<ZeroFPRStats<Conf>> &acc,
|
231
|
-
const ZeroFPRStats<Conf> &s) {
|
232
|
-
acc.iterations += s.iterations;
|
233
|
-
acc.elapsed_time += s.elapsed_time;
|
234
|
-
acc.time_progress_callback += s.time_progress_callback;
|
235
|
-
acc.linesearch_failures += s.linesearch_failures;
|
236
|
-
acc.linesearch_backtracks += s.linesearch_backtracks;
|
237
|
-
acc.stepsize_backtracks += s.stepsize_backtracks;
|
238
|
-
acc.lbfgs_failures += s.lbfgs_failures;
|
239
|
-
acc.lbfgs_rejected += s.lbfgs_rejected;
|
240
|
-
acc.τ_1_accepted += s.τ_1_accepted;
|
241
|
-
acc.count_τ += s.count_τ;
|
242
|
-
acc.sum_τ += s.sum_τ;
|
243
|
-
acc.final_γ = s.final_γ;
|
244
|
-
acc.final_ψ = s.final_ψ;
|
245
|
-
acc.final_h = s.final_h;
|
246
|
-
acc.final_φγ = s.final_φγ;
|
247
|
-
return acc;
|
248
|
-
}
|
249
|
-
|
250
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(struct, ZeroFPRParams, DefaultConfig);
|
251
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(struct, ZeroFPRParams, EigenConfigf);
|
252
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(struct, ZeroFPRParams, EigenConfigd);
|
253
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(struct, ZeroFPRParams, EigenConfigl);
|
254
|
-
#ifdef ALPAQA_WITH_QUAD_PRECISION
|
255
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(struct, ZeroFPRParams, EigenConfigq);
|
256
|
-
#endif
|
257
|
-
|
258
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(struct, ZeroFPRStats, DefaultConfig);
|
259
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(struct, ZeroFPRStats, EigenConfigf);
|
260
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(struct, ZeroFPRStats, EigenConfigd);
|
261
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(struct, ZeroFPRStats, EigenConfigl);
|
262
|
-
#ifdef ALPAQA_WITH_QUAD_PRECISION
|
263
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(struct, ZeroFPRStats, EigenConfigq);
|
264
|
-
#endif
|
265
|
-
|
266
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(struct, ZeroFPRProgressInfo, DefaultConfig);
|
267
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(struct, ZeroFPRProgressInfo, EigenConfigf);
|
268
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(struct, ZeroFPRProgressInfo, EigenConfigd);
|
269
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(struct, ZeroFPRProgressInfo, EigenConfigl);
|
270
|
-
#ifdef ALPAQA_WITH_QUAD_PRECISION
|
271
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(struct, ZeroFPRProgressInfo, EigenConfigq);
|
272
|
-
#endif
|
273
|
-
|
274
|
-
} // namespace alpaqa
|
@@ -1,81 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include <alpaqa/ipopt-adapter-export.h>
|
4
|
-
#include <alpaqa/problem/type-erased-problem.hpp>
|
5
|
-
|
6
|
-
#include <IpTNLP.hpp>
|
7
|
-
|
8
|
-
namespace alpaqa {
|
9
|
-
|
10
|
-
/// Based on https://coin-or.github.io/Ipopt/INTERFACES.html
|
11
|
-
class IPOPT_ADAPTER_EXPORT IpoptAdapter : public Ipopt::TNLP {
|
12
|
-
public:
|
13
|
-
USING_ALPAQA_CONFIG(DefaultConfig);
|
14
|
-
using Problem = TypeErasedProblem<config_t>;
|
15
|
-
const Problem &problem;
|
16
|
-
vec initial_guess;
|
17
|
-
vec initial_guess_bounds_multipliers_l;
|
18
|
-
vec initial_guess_bounds_multipliers_u;
|
19
|
-
vec initial_guess_multipliers;
|
20
|
-
using Index = Ipopt::Index;
|
21
|
-
using Number = Ipopt::Number;
|
22
|
-
|
23
|
-
struct Results {
|
24
|
-
Ipopt::SolverReturn status = Ipopt::SolverReturn::UNASSIGNED;
|
25
|
-
vec solution_x, solution_z_L, solution_z_U, solution_y, solution_g;
|
26
|
-
real_t solution_f, infeasibility, nlp_error;
|
27
|
-
length_t iter_count;
|
28
|
-
} results;
|
29
|
-
|
30
|
-
IpoptAdapter(const Problem &problem);
|
31
|
-
IpoptAdapter(Problem &&) = delete;
|
32
|
-
|
33
|
-
/// @name Functions required by Ipopt
|
34
|
-
/// @{
|
35
|
-
|
36
|
-
bool get_nlp_info(Index &n, Index &m, Index &nnz_jac_g, Index &nnz_h_lag,
|
37
|
-
IndexStyleEnum &index_style) override;
|
38
|
-
|
39
|
-
bool get_bounds_info(Index n, Number *x_l, Number *x_u, Index m,
|
40
|
-
Number *g_l, Number *g_u) override;
|
41
|
-
|
42
|
-
bool get_starting_point(Index n, bool init_x, Number *x, bool init_z,
|
43
|
-
Number *z_L, Number *z_U, Index m, bool init_lambda,
|
44
|
-
Number *lambda) override;
|
45
|
-
|
46
|
-
bool eval_f(Index n, const Number *x, bool new_x,
|
47
|
-
Number &obj_value) override;
|
48
|
-
|
49
|
-
bool eval_grad_f(Index n, const Number *x, bool new_x,
|
50
|
-
Number *grad_f) override;
|
51
|
-
|
52
|
-
bool eval_g(Index n, const Number *x, bool new_x, Index m,
|
53
|
-
Number *g) override;
|
54
|
-
|
55
|
-
bool eval_jac_g(Index n, const Number *x, bool new_x, Index m,
|
56
|
-
Index nele_jac, Index *iRow, Index *jCol,
|
57
|
-
Number *values) override;
|
58
|
-
|
59
|
-
bool eval_h(Index n, const Number *x, bool new_x, Number obj_factor,
|
60
|
-
Index m, const Number *lambda, bool new_lambda, Index nele_hess,
|
61
|
-
Index *iRow, Index *jCol, Number *values) override;
|
62
|
-
|
63
|
-
void finalize_solution(Ipopt::SolverReturn status, Index n, const Number *x,
|
64
|
-
const Number *z_L, const Number *z_U, Index m,
|
65
|
-
const Number *g, const Number *lambda,
|
66
|
-
Number obj_value, const Ipopt::IpoptData *ip_data,
|
67
|
-
Ipopt::IpoptCalculatedQuantities *ip_cq) override;
|
68
|
-
|
69
|
-
/// @}
|
70
|
-
|
71
|
-
private:
|
72
|
-
struct Sparsity {
|
73
|
-
length_t nnz;
|
74
|
-
indexvec inner_idx, outer_ptr;
|
75
|
-
} sparsity_J, sparsity_H;
|
76
|
-
|
77
|
-
static void set_sparsity(Index n, Index m, Index nele, Index *iRow,
|
78
|
-
Index *jCol, const Sparsity &sp);
|
79
|
-
};
|
80
|
-
|
81
|
-
} // namespace alpaqa
|
@@ -1,35 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include <IpIpoptApplication.hpp>
|
4
|
-
#include <string_view>
|
5
|
-
|
6
|
-
inline std::string_view enum_name(Ipopt::ApplicationReturnStatus s) {
|
7
|
-
using S = Ipopt::ApplicationReturnStatus;
|
8
|
-
switch (s) {
|
9
|
-
case S::Solve_Succeeded: return "Solve_Succeeded";
|
10
|
-
case S::Solved_To_Acceptable_Level: return "Solved_To_Acceptable_Level";
|
11
|
-
case S::Infeasible_Problem_Detected:
|
12
|
-
return "Infeasible_Problem_Detected";
|
13
|
-
case S::Search_Direction_Becomes_Too_Small:
|
14
|
-
return "Search_Direction_Becomes_Too_Small";
|
15
|
-
case S::Diverging_Iterates: return "Diverging_Iterates";
|
16
|
-
case S::User_Requested_Stop: return "User_Requested_Stop";
|
17
|
-
case S::Feasible_Point_Found: return "Feasible_Point_Found";
|
18
|
-
case S::Maximum_Iterations_Exceeded:
|
19
|
-
return "Maximum_Iterations_Exceeded";
|
20
|
-
case S::Restoration_Failed: return "Restoration_Failed";
|
21
|
-
case S::Error_In_Step_Computation: return "Error_In_Step_Computation";
|
22
|
-
case S::Maximum_CpuTime_Exceeded: return "Maximum_CpuTime_Exceeded";
|
23
|
-
case S::Maximum_WallTime_Exceeded: return "Maximum_WallTime_Exceeded";
|
24
|
-
case S::Not_Enough_Degrees_Of_Freedom:
|
25
|
-
return "Not_Enough_Degrees_Of_Freedom";
|
26
|
-
case S::Invalid_Problem_Definition: return "Invalid_Problem_Definition";
|
27
|
-
case S::Invalid_Option: return "Invalid_Option";
|
28
|
-
case S::Invalid_Number_Detected: return "Invalid_Number_Detected";
|
29
|
-
case S::Unrecoverable_Exception: return "Unrecoverable_Exception";
|
30
|
-
case S::NonIpopt_Exception_Thrown: return "NonIpopt_Exception_Thrown";
|
31
|
-
case S::Insufficient_Memory: return "Insufficient_Memory";
|
32
|
-
case S::Internal_Error: return "Internal_Error";
|
33
|
-
default: return "<unknown>";
|
34
|
-
}
|
35
|
-
}
|
@@ -1,111 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include <alpaqa/config/config.hpp>
|
4
|
-
#include <alpaqa/inner/inner-solve-options.hpp>
|
5
|
-
#include <alpaqa/inner/internal/panoc-stop-crit.hpp>
|
6
|
-
#include <alpaqa/inner/internal/solverstatus.hpp>
|
7
|
-
#include <alpaqa/lbfgsb-adapter-export.h>
|
8
|
-
#include <alpaqa/problem/type-erased-problem.hpp>
|
9
|
-
#include <alpaqa/util/atomic-stop-signal.hpp>
|
10
|
-
|
11
|
-
#include <chrono>
|
12
|
-
#include <iostream>
|
13
|
-
|
14
|
-
namespace alpaqa::lbfgsb {
|
15
|
-
|
16
|
-
struct LBFGSB_ADAPTER_EXPORT LBFGSBParams {
|
17
|
-
USING_ALPAQA_CONFIG(alpaqa::DefaultConfig);
|
18
|
-
|
19
|
-
unsigned memory = 10;
|
20
|
-
unsigned max_iter = 1000;
|
21
|
-
std::chrono::nanoseconds max_time = std::chrono::minutes(5);
|
22
|
-
PANOCStopCrit stop_crit = PANOCStopCrit::ProjGradUnitNorm;
|
23
|
-
int print = -1;
|
24
|
-
unsigned print_interval = 0;
|
25
|
-
int print_precision = std::numeric_limits<real_t>::max_digits10 / 2;
|
26
|
-
};
|
27
|
-
|
28
|
-
struct LBFGSB_ADAPTER_EXPORT LBFGSBStats {
|
29
|
-
USING_ALPAQA_CONFIG(alpaqa::DefaultConfig);
|
30
|
-
|
31
|
-
SolverStatus status = SolverStatus::Busy;
|
32
|
-
real_t ε = inf<config_t>;
|
33
|
-
std::chrono::nanoseconds elapsed_time{};
|
34
|
-
unsigned iterations = 0;
|
35
|
-
real_t final_ψ = 0;
|
36
|
-
unsigned lbfgs_rejected = 0;
|
37
|
-
};
|
38
|
-
|
39
|
-
/// L-BFGS-B solver for ALM.
|
40
|
-
/// @ingroup grp_InnerSolvers
|
41
|
-
class LBFGSB_ADAPTER_EXPORT LBFGSBSolver {
|
42
|
-
public:
|
43
|
-
USING_ALPAQA_CONFIG(alpaqa::DefaultConfig);
|
44
|
-
|
45
|
-
using Problem = TypeErasedProblem<config_t>;
|
46
|
-
using Params = LBFGSBParams;
|
47
|
-
using Stats = LBFGSBStats;
|
48
|
-
using SolveOptions = InnerSolveOptions<config_t>;
|
49
|
-
|
50
|
-
LBFGSBSolver(const Params ¶ms) : params(params) {}
|
51
|
-
|
52
|
-
Stats operator()(const Problem &problem, // in
|
53
|
-
const SolveOptions &opts, // in
|
54
|
-
rvec x, // inout
|
55
|
-
rvec y, // inout
|
56
|
-
crvec Σ, // in
|
57
|
-
rvec err_z); // out
|
58
|
-
|
59
|
-
template <class P>
|
60
|
-
Stats operator()(const P &problem, const SolveOptions &opts, rvec u, rvec y,
|
61
|
-
crvec Σ, rvec e) {
|
62
|
-
return operator()(Problem::template make<P>(problem), opts, u, y, Σ, e);
|
63
|
-
}
|
64
|
-
|
65
|
-
std::string get_name() const;
|
66
|
-
|
67
|
-
void stop() { stop_signal.stop(); }
|
68
|
-
|
69
|
-
const Params &get_params() const { return params; }
|
70
|
-
|
71
|
-
private:
|
72
|
-
Params params;
|
73
|
-
AtomicStopSignal stop_signal;
|
74
|
-
|
75
|
-
public:
|
76
|
-
std::ostream *os = &std::cout;
|
77
|
-
};
|
78
|
-
|
79
|
-
} // namespace alpaqa::lbfgsb
|
80
|
-
|
81
|
-
namespace alpaqa {
|
82
|
-
|
83
|
-
template <class InnerSolverStats>
|
84
|
-
struct InnerStatsAccumulator;
|
85
|
-
|
86
|
-
template <>
|
87
|
-
struct InnerStatsAccumulator<lbfgsb::LBFGSBStats> {
|
88
|
-
USING_ALPAQA_CONFIG(alpaqa::DefaultConfig);
|
89
|
-
|
90
|
-
/// Total elapsed time in the inner solver.
|
91
|
-
std::chrono::nanoseconds elapsed_time{};
|
92
|
-
/// Total number of inner PANOC iterations.
|
93
|
-
unsigned iterations = 0;
|
94
|
-
/// Final value of the smooth cost @f$ \psi(\hat x) @f$.
|
95
|
-
real_t final_ψ = 0;
|
96
|
-
/// Total number of times that the L-BFGS update was rejected (i.e. it
|
97
|
-
/// could have resulted in a non-positive definite Hessian estimate).
|
98
|
-
unsigned lbfgs_rejected = 0;
|
99
|
-
};
|
100
|
-
|
101
|
-
inline InnerStatsAccumulator<lbfgsb::LBFGSBStats> &
|
102
|
-
operator+=(InnerStatsAccumulator<lbfgsb::LBFGSBStats> &acc,
|
103
|
-
const lbfgsb::LBFGSBStats &s) {
|
104
|
-
acc.iterations += s.iterations;
|
105
|
-
acc.elapsed_time += s.elapsed_time;
|
106
|
-
acc.final_ψ = s.final_ψ;
|
107
|
-
acc.lbfgs_rejected += s.lbfgs_rejected;
|
108
|
-
return acc;
|
109
|
-
}
|
110
|
-
|
111
|
-
} // namespace alpaqa
|
@@ -1,27 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include <alpaqa/inner/directions/pantr/newton-tr.hpp>
|
4
|
-
#include <alpaqa/inner/pantr.hpp>
|
5
|
-
#include <alpaqa/outer/alm.hpp>
|
6
|
-
|
7
|
-
namespace alpaqa {
|
8
|
-
|
9
|
-
// clang-format off
|
10
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(class, PANTRSolver, NewtonTRDirection<DefaultConfig>);
|
11
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(class, PANTRSolver, NewtonTRDirection<EigenConfigf>);
|
12
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(class, PANTRSolver, NewtonTRDirection<EigenConfigd>);
|
13
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(class, PANTRSolver, NewtonTRDirection<EigenConfigl>);
|
14
|
-
#ifdef ALPAQA_WITH_QUAD_PRECISION
|
15
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(class, PANTRSolver, NewtonTRDirection<EigenConfigq>);
|
16
|
-
#endif
|
17
|
-
|
18
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ALMSolver, PANTRSolver<NewtonTRDirection<DefaultConfig>>);
|
19
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ALMSolver, PANTRSolver<NewtonTRDirection<EigenConfigf>>);
|
20
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ALMSolver, PANTRSolver<NewtonTRDirection<EigenConfigd>>);
|
21
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ALMSolver, PANTRSolver<NewtonTRDirection<EigenConfigl>>);
|
22
|
-
#ifdef ALPAQA_WITH_QUAD_PRECISION
|
23
|
-
ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ALMSolver, PANTRSolver<NewtonTRDirection<EigenConfigq>>);
|
24
|
-
#endif
|
25
|
-
// clang-format on
|
26
|
-
|
27
|
-
} // namespace alpaqa
|