casadi 3.6.4__cp36-none-manylinux2014_i686.whl → 3.6.6__cp36-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.
- casadi/_casadi.so +0 -0
- casadi/casadi.py +984 -500
- casadi/cbc +0 -0
- casadi/clp +0 -0
- casadi/cmake/casadi-config-version.cmake +1 -1
- casadi/cmake/highs/highs-config.cmake +6 -13
- casadi/cmake/highs/highs-targets-release.cmake +13 -13
- casadi/cmake/highs/highs-targets.cmake +13 -10
- casadi/highs +0 -0
- casadi/include/casadi/casadi.i +33 -15
- casadi/include/casadi/casadi_c.h +2 -0
- casadi/include/casadi/config.h +8 -8
- casadi/include/casadi/core/casadi_common.hpp +1 -0
- casadi/include/casadi/core/casadi_misc.hpp +13 -0
- casadi/include/casadi/core/casadi_types.hpp +3 -2
- casadi/include/casadi/core/code_generator.hpp +59 -2
- casadi/include/casadi/core/core.hpp +1 -0
- casadi/include/casadi/core/generic_expression.hpp +1 -1
- casadi/include/casadi/core/generic_type.hpp +25 -1
- casadi/include/casadi/core/global_options.hpp +2 -0
- casadi/include/casadi/core/matrix_decl.hpp +15 -0
- casadi/include/casadi/core/mx.hpp +13 -3
- casadi/include/casadi/core/optistack.hpp +23 -0
- casadi/include/casadi/core/runtime/casadi_nlp.hpp +133 -6
- 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/runtime/casadi_sqpmethod.hpp +11 -1
- casadi/include/casadi/core/serializing_stream.hpp +2 -2
- casadi/include/casadi/core/sparsity.hpp +12 -3
- casadi/include/casadi/core/tools.hpp +67 -0
- casadi/include/casadi/doc.i +2283 -1491
- casadi/include/casadi/doc_merged.i +1522 -1065
- casadi/include/casadi/mem.h +1 -0
- casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
- casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
- casadi/include/coin-or/IpAlgTypes.hpp +64 -0
- casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
- casadi/include/coin-or/IpBlas.hpp +426 -0
- casadi/include/coin-or/IpCachedResults.hpp +897 -0
- casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
- casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
- casadi/include/coin-or/IpCompoundVector.hpp +395 -0
- casadi/include/coin-or/IpConvCheck.hpp +97 -0
- casadi/include/coin-or/IpDebug.hpp +167 -0
- casadi/include/coin-or/IpDenseVector.hpp +626 -0
- casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
- casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
- casadi/include/coin-or/IpException.hpp +156 -0
- casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
- casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
- casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
- casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
- casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
- casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
- casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
- casadi/include/coin-or/IpIpoptData.hpp +966 -0
- casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
- casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
- casadi/include/coin-or/IpIteratesVector.hpp +840 -0
- casadi/include/coin-or/IpIterationOutput.hpp +78 -0
- casadi/include/coin-or/IpJournalist.hpp +573 -0
- casadi/include/coin-or/IpLapack.hpp +227 -0
- casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
- casadi/include/coin-or/IpLineSearch.hpp +106 -0
- casadi/include/coin-or/IpLinearSolvers.h +46 -0
- casadi/include/coin-or/IpMatrix.hpp +434 -0
- casadi/include/coin-or/IpMuUpdate.hpp +77 -0
- casadi/include/coin-or/IpNLP.hpp +306 -0
- casadi/include/coin-or/IpNLPScaling.hpp +582 -0
- casadi/include/coin-or/IpObserver.hpp +422 -0
- casadi/include/coin-or/IpOptionsList.hpp +412 -0
- casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
- casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
- casadi/include/coin-or/IpReferenced.hpp +262 -0
- casadi/include/coin-or/IpRegOptions.hpp +1152 -0
- casadi/include/coin-or/IpReturnCodes.h +23 -0
- casadi/include/coin-or/IpReturnCodes.hpp +18 -0
- casadi/include/coin-or/IpReturnCodes.inc +71 -0
- casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
- casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
- casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
- casadi/include/coin-or/IpSmartPtr.hpp +865 -0
- casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
- casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
- casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
- casadi/include/coin-or/IpStdCInterface.h +428 -0
- casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
- casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
- casadi/include/coin-or/IpSymMatrix.hpp +167 -0
- casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
- casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
- casadi/include/coin-or/IpTNLP.hpp +820 -0
- casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
- casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
- casadi/include/coin-or/IpTaggedObject.hpp +128 -0
- casadi/include/coin-or/IpTimedTask.hpp +218 -0
- casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
- casadi/include/coin-or/IpTripletHelper.hpp +308 -0
- casadi/include/coin-or/IpTypes.h +81 -0
- casadi/include/coin-or/IpTypes.hpp +30 -0
- casadi/include/coin-or/IpUtils.hpp +166 -0
- casadi/include/coin-or/IpVector.hpp +892 -0
- casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
- casadi/include/coin-or/IpoptConfig.h +45 -0
- casadi/include/coin-or/SensAlgorithm.hpp +114 -0
- casadi/include/coin-or/SensApplication.hpp +188 -0
- casadi/include/coin-or/SensBacksolver.hpp +36 -0
- casadi/include/coin-or/SensMeasurement.hpp +56 -0
- casadi/include/coin-or/SensPCalculator.hpp +137 -0
- casadi/include/coin-or/SensRegOp.hpp +21 -0
- casadi/include/coin-or/SensSchurData.hpp +182 -0
- casadi/include/coin-or/SensSchurDriver.hpp +118 -0
- casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
- casadi/include/coin-or/SensStepCalc.hpp +85 -0
- casadi/include/coin-or/SensUtils.hpp +63 -0
- casadi/include/coin-or/metis/defs.h +161 -0
- casadi/include/coin-or/metis/macros.h +143 -0
- casadi/include/coin-or/metis/metis.h +37 -0
- casadi/include/coin-or/metis/proto.h +505 -0
- casadi/include/coin-or/metis/rename.h +418 -0
- casadi/include/coin-or/metis/struct.h +251 -0
- casadi/include/coin-or/mumps/dmumps_c.h +142 -0
- casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
- casadi/include/coin-or/mumps/mumps_compat.h +27 -0
- casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
- casadi/include/coin-or/mumps/mumps_mpi.h +67 -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/highs/HConfig.h +6 -5
- 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/licenses/daqp-external/LICENSE +21 -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/lib/libtinyxml2.a +0 -0
- casadi/libCbc.so +0 -0
- casadi/libCbc.so.3 +0 -0
- casadi/libCbc.so.3.10.11 +0 -0
- casadi/libCbcSolver.so +0 -0
- casadi/libCbcSolver.so.3 +0 -0
- casadi/libCbcSolver.so.3.10.11 +0 -0
- casadi/libCgl.so +0 -0
- casadi/libCgl.so.1 +0 -0
- casadi/libCgl.so.1.10.8 +0 -0
- casadi/libClp.so +0 -0
- casadi/libClp.so.1 +0 -0
- casadi/libClp.so.1.14.9 +0 -0
- casadi/libClpSolver.so +0 -0
- casadi/libClpSolver.so.1 +0 -0
- casadi/libClpSolver.so.1.14.9 +0 -0
- casadi/libCoinUtils.so +0 -0
- casadi/libCoinUtils.so.3 +0 -0
- casadi/libCoinUtils.so.3.11.10 +0 -0
- casadi/libOsi.so +0 -0
- casadi/libOsi.so.1 +0 -0
- casadi/libOsi.so.1.13.9 +0 -0
- casadi/libOsiCbc.so +0 -0
- casadi/libOsiCbc.so.3 +0 -0
- casadi/libOsiCbc.so.3.10.11 +0 -0
- casadi/libOsiClp.so +0 -0
- casadi/libOsiClp.so.1 +0 -0
- casadi/libOsiClp.so.1.14.9 +0 -0
- casadi/libOsiCommonTests.so +0 -0
- casadi/libOsiCommonTests.so.1 +0 -0
- casadi/libOsiCommonTests.so.1.13.9 +0 -0
- casadi/libbonmin.so +0 -0
- casadi/libbonmin.so.4 +0 -0
- casadi/libbonmin.so.4.8.9 +0 -0
- casadi/libcasadi.so +0 -0
- casadi/libcasadi.so.3.7 +0 -0
- casadi/libcasadi_conic_cbc.so +0 -0
- casadi/libcasadi_conic_cbc.so.3.7 +0 -0
- casadi/libcasadi_conic_clp.so +0 -0
- casadi/libcasadi_conic_clp.so.3.7 +0 -0
- casadi/libcasadi_conic_daqp.so +0 -0
- casadi/libcasadi_conic_daqp.so.3.7 +0 -0
- casadi/libcasadi_conic_gurobi.so +0 -0
- casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
- casadi/libcasadi_conic_highs.so +0 -0
- casadi/libcasadi_conic_highs.so.3.7 +0 -0
- casadi/libcasadi_conic_ipqp.so +0 -0
- casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
- casadi/libcasadi_conic_nlpsol.so +0 -0
- casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
- casadi/libcasadi_conic_osqp.so +0 -0
- casadi/libcasadi_conic_osqp.so.3.7 +0 -0
- casadi/libcasadi_conic_proxqp.so +0 -0
- casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
- casadi/libcasadi_conic_qpoases.so +0 -0
- casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
- casadi/libcasadi_conic_qrqp.so +0 -0
- casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
- casadi/libcasadi_conic_superscs.so +0 -0
- casadi/libcasadi_conic_superscs.so.3.7 +0 -0
- casadi/libcasadi_integrator_collocation.so +0 -0
- casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
- casadi/libcasadi_integrator_cvodes.so +0 -0
- casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
- casadi/libcasadi_integrator_idas.so +0 -0
- casadi/libcasadi_integrator_idas.so.3.7 +0 -0
- casadi/libcasadi_integrator_rk.so +0 -0
- casadi/libcasadi_integrator_rk.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_alpaqa.so +0 -0
- casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_ampl.so +0 -0
- casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_blocksqp.so +0 -0
- casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_bonmin.so +0 -0
- casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_ipopt.so +0 -0
- casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_knitro.so +0 -0
- casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_madnlp.so +0 -0
- casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_qrsqp.so +0 -0
- casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_scpgen.so +0 -0
- casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_sleqp.so +0 -0
- casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_snopt.so +0 -0
- casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_worhp.so +0 -0
- casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_fast_newton.so +0 -0
- casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_kinsol.so +0 -0
- casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_newton.so +0 -0
- casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_nlpsol.so +0 -0
- casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
- casadi/libcasadi_sundials_common.so +0 -0
- casadi/libcasadi_sundials_common.so.3.7 +0 -0
- casadi/libdaqp.so +0 -0
- casadi/libdaqpstat.a +0 -0
- casadi/libhighs.so +0 -0
- casadi/libhighs.so.1 +0 -0
- casadi/libhighs.so.1.7.2 +0 -0
- casadi/libindirect.a +0 -0
- casadi/libipopt.so +0 -0
- casadi/libipopt.so.3 +0 -0
- casadi/libipopt.so.3.14.11 +0 -0
- casadi/liblinsys.a +0 -0
- casadi/libmatlab_ipc.so +0 -0
- casadi/libosqp.a +0 -0
- casadi/libosqp.so +0 -0
- casadi/libqdldl.a +0 -0
- casadi/libsipopt.so +0 -0
- casadi/libsipopt.so.3 +0 -0
- casadi/libsipopt.so.3.14.11 +0 -0
- casadi/libsleqp.so +0 -0
- casadi/libsleqp.so.1.0.1 +0 -0
- casadi/libspral.a +0 -0
- casadi/libsuperscs.a +0 -0
- casadi/pkgconfig/casadi.pc +1 -1
- casadi/pkgconfig/highs.pc +1 -1
- casadi/tools/__init__.py +4 -0
- casadi/tools/bounds.py +3 -3
- {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/METADATA +12 -4
- {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/RECORD +490 -281
- casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
- casadi/libFortranHighs.so +0 -0
- casadi/libhighs.so.1.6 +0 -0
- casadi/libhighs.so.1.6.0 +0 -0
- {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
|