casadi 3.6.7__cp313-none-macosx_10_13_x86_64.macosx_10_13_intel.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/__init__.py +92 -0
- casadi/_casadi.so +0 -0
- casadi/casadi-cli +0 -0
- casadi/casadi.py +50976 -0
- casadi/cbc +0 -0
- casadi/clp +0 -0
- casadi/cmake/casadi-config-version.cmake +11 -0
- casadi/cmake/casadi-config.cmake +8 -0
- casadi/cmake/casadi-targets-release.cmake +19 -0
- casadi/cmake/casadi-targets.cmake +106 -0
- casadi/cmake/highs/highs-config.cmake +17 -0
- casadi/cmake/highs/highs-targets-release.cmake +28 -0
- casadi/cmake/highs/highs-targets.cmake +117 -0
- casadi/cmake/osqp/osqp-config.cmake +1 -0
- casadi/cmake/osqp/osqp-targets-noconfig.cmake +29 -0
- casadi/cmake/osqp/osqp-targets.cmake +113 -0
- casadi/cmake/qdldl/qdldl-config.cmake +1 -0
- casadi/cmake/qdldl/qdldl-targets-noconfig.cmake +29 -0
- casadi/cmake/qdldl/qdldl-targets.cmake +113 -0
- casadi/cmake/sleqp/sleqp-config-version.cmake +65 -0
- casadi/cmake/sleqp/sleqp-config.cmake +1 -0
- casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
- casadi/cmake/sleqp/sleqp-targets.cmake +106 -0
- casadi/cmake/trlib/trlib-config-release.cmake +19 -0
- casadi/cmake/trlib/trlib-config-version.cmake +83 -0
- casadi/cmake/trlib/trlib-config.cmake +107 -0
- casadi/highs +0 -0
- casadi/include/blasfeo.h +52 -0
- casadi/include/blasfeo_block_size.h +447 -0
- casadi/include/blasfeo_common.h +274 -0
- casadi/include/blasfeo_d_aux.h +255 -0
- casadi/include/blasfeo_d_aux_ext_dep.h +145 -0
- casadi/include/blasfeo_d_aux_ext_dep_ref.h +84 -0
- casadi/include/blasfeo_d_aux_old.h +75 -0
- casadi/include/blasfeo_d_aux_ref.h +208 -0
- casadi/include/blasfeo_d_aux_test.h +226 -0
- casadi/include/blasfeo_d_blas.h +46 -0
- casadi/include/blasfeo_d_blas_api.h +281 -0
- casadi/include/blasfeo_d_blasfeo_api.h +364 -0
- casadi/include/blasfeo_d_blasfeo_api_ref.h +147 -0
- casadi/include/blasfeo_d_blasfeo_hp_api.h +84 -0
- casadi/include/blasfeo_d_blasfeo_ref_api.h +283 -0
- casadi/include/blasfeo_d_kernel.h +1321 -0
- casadi/include/blasfeo_i_aux_ext_dep.h +69 -0
- casadi/include/blasfeo_m_aux.h +57 -0
- casadi/include/blasfeo_memory.h +62 -0
- casadi/include/blasfeo_naming.h +77 -0
- casadi/include/blasfeo_processor_features.h +88 -0
- casadi/include/blasfeo_s_aux.h +168 -0
- casadi/include/blasfeo_s_aux_ext_dep.h +141 -0
- casadi/include/blasfeo_s_aux_ext_dep_ref.h +82 -0
- casadi/include/blasfeo_s_aux_old.h +64 -0
- casadi/include/blasfeo_s_aux_ref.h +147 -0
- casadi/include/blasfeo_s_aux_test.h +177 -0
- casadi/include/blasfeo_s_blas.h +46 -0
- casadi/include/blasfeo_s_blas_api.h +182 -0
- casadi/include/blasfeo_s_blasfeo_api.h +284 -0
- casadi/include/blasfeo_s_blasfeo_api_ref.h +135 -0
- casadi/include/blasfeo_s_blasfeo_ref_api.h +252 -0
- casadi/include/blasfeo_s_kernel.h +692 -0
- casadi/include/blasfeo_stdlib.h +62 -0
- casadi/include/blasfeo_target.h +73 -0
- casadi/include/blasfeo_timing.h +114 -0
- casadi/include/blasfeo_v_aux_ext_dep.h +83 -0
- casadi/include/casadi/casadi.hpp +31 -0
- casadi/include/casadi/casadi.i +4691 -0
- casadi/include/casadi/casadi_c.h +138 -0
- casadi/include/casadi/casadi_numpy.hpp +97 -0
- casadi/include/casadi/config.h +46 -0
- casadi/include/casadi/core/calculus.hpp +1750 -0
- casadi/include/casadi/core/callback.hpp +226 -0
- casadi/include/casadi/core/casadi_common.hpp +318 -0
- casadi/include/casadi/core/casadi_enum.hpp +90 -0
- casadi/include/casadi/core/casadi_export.h +43 -0
- casadi/include/casadi/core/casadi_interrupt.hpp +83 -0
- casadi/include/casadi/core/casadi_limits.hpp +104 -0
- casadi/include/casadi/core/casadi_logger.hpp +134 -0
- casadi/include/casadi/core/casadi_meta.hpp +107 -0
- casadi/include/casadi/core/casadi_misc.hpp +1001 -0
- casadi/include/casadi/core/casadi_types.hpp +66 -0
- casadi/include/casadi/core/code_generator.hpp +975 -0
- casadi/include/casadi/core/conic.hpp +213 -0
- casadi/include/casadi/core/core.hpp +70 -0
- casadi/include/casadi/core/dae_builder.hpp +723 -0
- casadi/include/casadi/core/dm.hpp +87 -0
- casadi/include/casadi/core/dm_fwd.hpp +39 -0
- casadi/include/casadi/core/dple.hpp +138 -0
- casadi/include/casadi/core/exception.hpp +167 -0
- casadi/include/casadi/core/expm.hpp +84 -0
- casadi/include/casadi/core/external.hpp +70 -0
- casadi/include/casadi/core/fmu.hpp +224 -0
- casadi/include/casadi/core/function.hpp +1347 -0
- casadi/include/casadi/core/generic_expression.hpp +760 -0
- casadi/include/casadi/core/generic_matrix.hpp +1598 -0
- casadi/include/casadi/core/generic_type.hpp +311 -0
- casadi/include/casadi/core/global_options.hpp +97 -0
- casadi/include/casadi/core/im.hpp +52 -0
- casadi/include/casadi/core/im_fwd.hpp +35 -0
- casadi/include/casadi/core/importer.hpp +221 -0
- casadi/include/casadi/core/integration_tools.hpp +292 -0
- casadi/include/casadi/core/integrator.hpp +256 -0
- casadi/include/casadi/core/interpolant.hpp +163 -0
- casadi/include/casadi/core/linsol.hpp +171 -0
- casadi/include/casadi/core/matrix_decl.hpp +1352 -0
- casadi/include/casadi/core/matrix_fwd.hpp +37 -0
- casadi/include/casadi/core/mx.hpp +953 -0
- casadi/include/casadi/core/nlp_builder.hpp +162 -0
- casadi/include/casadi/core/nlp_tools.hpp +124 -0
- casadi/include/casadi/core/nlpsol.hpp +234 -0
- casadi/include/casadi/core/nonzeros.hpp +111 -0
- casadi/include/casadi/core/options.hpp +119 -0
- casadi/include/casadi/core/optistack.hpp +670 -0
- casadi/include/casadi/core/polynomial.hpp +126 -0
- casadi/include/casadi/core/printable.hpp +73 -0
- casadi/include/casadi/core/rootfinder.hpp +176 -0
- casadi/include/casadi/core/runtime/casadi_axpy.hpp +8 -0
- casadi/include/casadi/core/runtime/casadi_bfgs.hpp +49 -0
- casadi/include/casadi/core/runtime/casadi_bilin.hpp +42 -0
- casadi/include/casadi/core/runtime/casadi_bound_consistency.hpp +51 -0
- casadi/include/casadi/core/runtime/casadi_cache.hpp +59 -0
- casadi/include/casadi/core/runtime/casadi_clear.hpp +27 -0
- casadi/include/casadi/core/runtime/casadi_clip_max.hpp +33 -0
- casadi/include/casadi/core/runtime/casadi_clip_min.hpp +33 -0
- casadi/include/casadi/core/runtime/casadi_convexify.hpp +182 -0
- casadi/include/casadi/core/runtime/casadi_copy.hpp +31 -0
- casadi/include/casadi/core/runtime/casadi_cvx.hpp +463 -0
- casadi/include/casadi/core/runtime/casadi_de_boor.hpp +36 -0
- casadi/include/casadi/core/runtime/casadi_dense_lsqr.hpp +247 -0
- casadi/include/casadi/core/runtime/casadi_densify.hpp +48 -0
- casadi/include/casadi/core/runtime/casadi_dot.hpp +27 -0
- casadi/include/casadi/core/runtime/casadi_feasiblesqpmethod.hpp +208 -0
- casadi/include/casadi/core/runtime/casadi_file_slurp.hpp +32 -0
- casadi/include/casadi/core/runtime/casadi_fill.hpp +27 -0
- casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +345 -0
- casadi/include/casadi/core/runtime/casadi_flip.hpp +33 -0
- casadi/include/casadi/core/runtime/casadi_getu.hpp +35 -0
- casadi/include/casadi/core/runtime/casadi_iamax.hpp +36 -0
- casadi/include/casadi/core/runtime/casadi_interpn.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_interpn_grad.hpp +72 -0
- casadi/include/casadi/core/runtime/casadi_interpn_interpolate.hpp +43 -0
- casadi/include/casadi/core/runtime/casadi_interpn_weights.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_ipqp.hpp +868 -0
- casadi/include/casadi/core/runtime/casadi_jac.hpp +186 -0
- casadi/include/casadi/core/runtime/casadi_kkt.hpp +67 -0
- casadi/include/casadi/core/runtime/casadi_kron.hpp +50 -0
- casadi/include/casadi/core/runtime/casadi_ldl.hpp +109 -0
- casadi/include/casadi/core/runtime/casadi_logsumexp.hpp +41 -0
- casadi/include/casadi/core/runtime/casadi_low.hpp +65 -0
- casadi/include/casadi/core/runtime/casadi_lsqr.hpp +247 -0
- casadi/include/casadi/core/runtime/casadi_masked_norm_inf.hpp +33 -0
- casadi/include/casadi/core/runtime/casadi_max_viol.hpp +37 -0
- casadi/include/casadi/core/runtime/casadi_mmax.hpp +28 -0
- casadi/include/casadi/core/runtime/casadi_mmin.hpp +29 -0
- casadi/include/casadi/core/runtime/casadi_mtimes.hpp +75 -0
- casadi/include/casadi/core/runtime/casadi_mv.hpp +46 -0
- casadi/include/casadi/core/runtime/casadi_mv_dense.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_nd_boor_dual_eval.hpp +127 -0
- casadi/include/casadi/core/runtime/casadi_nd_boor_eval.hpp +120 -0
- casadi/include/casadi/core/runtime/casadi_newton.hpp +66 -0
- casadi/include/casadi/core/runtime/casadi_nlp.hpp +289 -0
- casadi/include/casadi/core/runtime/casadi_norm_1.hpp +29 -0
- casadi/include/casadi/core/runtime/casadi_norm_2.hpp +24 -0
- casadi/include/casadi/core/runtime/casadi_norm_inf.hpp +28 -0
- casadi/include/casadi/core/runtime/casadi_norm_inf_mul.hpp +105 -0
- 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_polyval.hpp +29 -0
- casadi/include/casadi/core/runtime/casadi_project.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_qp.hpp +86 -0
- casadi/include/casadi/core/runtime/casadi_qr.hpp +272 -0
- casadi/include/casadi/core/runtime/casadi_qrqp.hpp +1239 -0
- casadi/include/casadi/core/runtime/casadi_rank1.hpp +40 -0
- casadi/include/casadi/core/runtime/casadi_regularize.hpp +73 -0
- casadi/include/casadi/core/runtime/casadi_runtime.hpp +318 -0
- casadi/include/casadi/core/runtime/casadi_scal.hpp +26 -0
- casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
- casadi/include/casadi/core/runtime/casadi_sparsify.hpp +42 -0
- casadi/include/casadi/core/runtime/casadi_sparsity.hpp +24 -0
- casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +178 -0
- casadi/include/casadi/core/runtime/casadi_sum.hpp +31 -0
- casadi/include/casadi/core/runtime/casadi_sum_viol.hpp +37 -0
- casadi/include/casadi/core/runtime/casadi_swap.hpp +32 -0
- casadi/include/casadi/core/runtime/casadi_trans.hpp +35 -0
- casadi/include/casadi/core/runtime/casadi_tri_project.hpp +37 -0
- casadi/include/casadi/core/runtime/casadi_trilsolve.hpp +81 -0
- casadi/include/casadi/core/runtime/casadi_triusolve.hpp +81 -0
- casadi/include/casadi/core/runtime/casadi_vector_fmax.hpp +28 -0
- casadi/include/casadi/core/runtime/casadi_vector_fmin.hpp +28 -0
- casadi/include/casadi/core/runtime/casadi_vfmax.hpp +28 -0
- casadi/include/casadi/core/runtime/casadi_vfmin.hpp +28 -0
- casadi/include/casadi/core/runtime/shared.hpp +261 -0
- casadi/include/casadi/core/serializer.hpp +256 -0
- casadi/include/casadi/core/serializing_stream.hpp +329 -0
- casadi/include/casadi/core/shared_object.hpp +270 -0
- casadi/include/casadi/core/slice.hpp +149 -0
- casadi/include/casadi/core/sparsity.hpp +1495 -0
- casadi/include/casadi/core/sparsity_interface.hpp +745 -0
- casadi/include/casadi/core/submatrix.hpp +156 -0
- casadi/include/casadi/core/sx.hpp +203 -0
- casadi/include/casadi/core/sx_elem.hpp +351 -0
- casadi/include/casadi/core/sx_fwd.hpp +45 -0
- casadi/include/casadi/core/timing.hpp +98 -0
- casadi/include/casadi/core/tools.hpp +67 -0
- casadi/include/casadi/core/xml_file.hpp +93 -0
- casadi/include/casadi/core/xml_node.hpp +207 -0
- casadi/include/casadi/doc.i +58615 -0
- casadi/include/casadi/doc_merged.i +36123 -0
- casadi/include/casadi/mem.h +311 -0
- casadi/include/casadi/valgrind-casadi.supp +511 -0
- casadi/include/casadi/valgrind-python.supp +1416 -0
- casadi/include/coin/BonArraysHelpers.hpp +52 -0
- casadi/include/coin/BonAuxInfos.hpp +110 -0
- casadi/include/coin/BonBabInfos.hpp +57 -0
- casadi/include/coin/BonBabSetupBase.hpp +386 -0
- casadi/include/coin/BonBonminSetup.hpp +95 -0
- casadi/include/coin/BonBranchingTQP.hpp +197 -0
- casadi/include/coin/BonCbc.hpp +127 -0
- casadi/include/coin/BonCbcLpStrategy.hpp +45 -0
- casadi/include/coin/BonCbcNlpStrategy.hpp +98 -0
- casadi/include/coin/BonCbcNode.hpp +133 -0
- casadi/include/coin/BonChooseVariable.hpp +345 -0
- casadi/include/coin/BonCurvBranchingSolver.hpp +77 -0
- casadi/include/coin/BonCutStrengthener.hpp +244 -0
- casadi/include/coin/BonDiver.hpp +424 -0
- casadi/include/coin/BonDummyHeuristic.hpp +53 -0
- casadi/include/coin/BonDummyPump.hpp +43 -0
- casadi/include/coin/BonEcpCuts.hpp +97 -0
- casadi/include/coin/BonExitCodes.hpp +12 -0
- casadi/include/coin/BonFixAndSolveHeuristic.hpp +43 -0
- casadi/include/coin/BonGuessHeuristic.hpp +46 -0
- casadi/include/coin/BonHeuristicDive.hpp +88 -0
- casadi/include/coin/BonHeuristicDiveFractional.hpp +67 -0
- casadi/include/coin/BonHeuristicDiveMIP.hpp +83 -0
- casadi/include/coin/BonHeuristicDiveMIPFractional.hpp +67 -0
- casadi/include/coin/BonHeuristicDiveMIPVectorLength.hpp +74 -0
- casadi/include/coin/BonHeuristicDiveVectorLength.hpp +74 -0
- casadi/include/coin/BonHeuristicFPump.hpp +111 -0
- casadi/include/coin/BonHeuristicLocalBranching.hpp +59 -0
- casadi/include/coin/BonHeuristicRINS.hpp +55 -0
- casadi/include/coin/BonIpoptInteriorWarmStarter.hpp +103 -0
- casadi/include/coin/BonIpoptSolver.hpp +188 -0
- casadi/include/coin/BonIpoptWarmStart.hpp +148 -0
- casadi/include/coin/BonLinearCutsGenerator.hpp +75 -0
- casadi/include/coin/BonLocalSolverBasedHeuristic.hpp +102 -0
- casadi/include/coin/BonLpBranchingSolver.hpp +80 -0
- casadi/include/coin/BonMilpRounding.hpp +74 -0
- casadi/include/coin/BonOACutGenerator2.hpp +56 -0
- casadi/include/coin/BonOAMessages.hpp +44 -0
- casadi/include/coin/BonOaDecBase.hpp +297 -0
- casadi/include/coin/BonOaFeasChecker.hpp +73 -0
- casadi/include/coin/BonOaNlpOptim.hpp +116 -0
- casadi/include/coin/BonOsiTMINLPInterface.hpp +1342 -0
- casadi/include/coin/BonOuterApprox.hpp +123 -0
- casadi/include/coin/BonPseudoCosts.hpp +91 -0
- casadi/include/coin/BonPumpForMinlp.hpp +45 -0
- casadi/include/coin/BonQuadCut.hpp +217 -0
- casadi/include/coin/BonQuadRow.hpp +122 -0
- casadi/include/coin/BonRegisteredOptions.hpp +225 -0
- casadi/include/coin/BonStrongBranchingSolver.hpp +69 -0
- casadi/include/coin/BonSubMipSolver.hpp +143 -0
- casadi/include/coin/BonTMINLP.hpp +420 -0
- casadi/include/coin/BonTMINLP2OsiLP.hpp +164 -0
- casadi/include/coin/BonTMINLP2Quad.hpp +191 -0
- casadi/include/coin/BonTMINLP2TNLP.hpp +509 -0
- casadi/include/coin/BonTMINLPLinObj.hpp +216 -0
- casadi/include/coin/BonTMatrix.hpp +167 -0
- casadi/include/coin/BonTNLP2FPNLP.hpp +264 -0
- casadi/include/coin/BonTNLPSolver.hpp +241 -0
- casadi/include/coin/BonTypes.hpp +95 -0
- casadi/include/coin/BonminConfig.h +19 -0
- casadi/include/coin/CbcBranchActual.hpp +26 -0
- casadi/include/coin/CbcBranchAllDifferent.hpp +61 -0
- casadi/include/coin/CbcBranchBase.hpp +79 -0
- casadi/include/coin/CbcBranchCut.hpp +182 -0
- casadi/include/coin/CbcBranchDecision.hpp +135 -0
- casadi/include/coin/CbcBranchDefaultDecision.hpp +101 -0
- casadi/include/coin/CbcBranchDynamic.hpp +210 -0
- casadi/include/coin/CbcBranchLotsize.hpp +249 -0
- casadi/include/coin/CbcBranchToFixLots.hpp +94 -0
- casadi/include/coin/CbcBranchingObject.hpp +245 -0
- casadi/include/coin/CbcClique.hpp +309 -0
- casadi/include/coin/CbcCompare.hpp +46 -0
- casadi/include/coin/CbcCompareActual.hpp +16 -0
- casadi/include/coin/CbcCompareBase.hpp +155 -0
- casadi/include/coin/CbcCompareDefault.hpp +129 -0
- casadi/include/coin/CbcCompareDepth.hpp +48 -0
- casadi/include/coin/CbcCompareEstimate.hpp +48 -0
- casadi/include/coin/CbcCompareObjective.hpp +50 -0
- casadi/include/coin/CbcConfig.h +18 -0
- casadi/include/coin/CbcConsequence.hpp +50 -0
- casadi/include/coin/CbcCountRowCut.hpp +176 -0
- casadi/include/coin/CbcCutGenerator.hpp +550 -0
- casadi/include/coin/CbcCutModifier.hpp +59 -0
- casadi/include/coin/CbcCutSubsetModifier.hpp +69 -0
- casadi/include/coin/CbcDummyBranchingObject.hpp +83 -0
- casadi/include/coin/CbcEventHandler.hpp +250 -0
- casadi/include/coin/CbcFathom.hpp +136 -0
- casadi/include/coin/CbcFathomDynamicProgramming.hpp +177 -0
- casadi/include/coin/CbcFeasibilityBase.hpp +60 -0
- casadi/include/coin/CbcFixVariable.hpp +68 -0
- casadi/include/coin/CbcFollowOn.hpp +207 -0
- casadi/include/coin/CbcFullNodeInfo.hpp +171 -0
- casadi/include/coin/CbcGeneral.hpp +60 -0
- casadi/include/coin/CbcGeneralDepth.hpp +289 -0
- casadi/include/coin/CbcHeuristic.hpp +735 -0
- casadi/include/coin/CbcHeuristicDINS.hpp +98 -0
- casadi/include/coin/CbcHeuristicDW.hpp +374 -0
- casadi/include/coin/CbcHeuristicDive.hpp +198 -0
- casadi/include/coin/CbcHeuristicDiveCoefficient.hpp +52 -0
- casadi/include/coin/CbcHeuristicDiveFractional.hpp +52 -0
- casadi/include/coin/CbcHeuristicDiveGuided.hpp +55 -0
- casadi/include/coin/CbcHeuristicDiveLineSearch.hpp +52 -0
- casadi/include/coin/CbcHeuristicDivePseudoCost.hpp +60 -0
- casadi/include/coin/CbcHeuristicDiveVectorLength.hpp +52 -0
- casadi/include/coin/CbcHeuristicFPump.hpp +375 -0
- casadi/include/coin/CbcHeuristicGreedy.hpp +289 -0
- casadi/include/coin/CbcHeuristicLocal.hpp +276 -0
- casadi/include/coin/CbcHeuristicPivotAndFix.hpp +58 -0
- casadi/include/coin/CbcHeuristicRENS.hpp +79 -0
- casadi/include/coin/CbcHeuristicRINS.hpp +106 -0
- casadi/include/coin/CbcHeuristicRandRound.hpp +58 -0
- casadi/include/coin/CbcHeuristicVND.hpp +95 -0
- casadi/include/coin/CbcLinked.hpp +1443 -0
- casadi/include/coin/CbcMessage.hpp +94 -0
- casadi/include/coin/CbcMipStartIO.hpp +29 -0
- casadi/include/coin/CbcModel.hpp +3296 -0
- casadi/include/coin/CbcNWay.hpp +171 -0
- casadi/include/coin/CbcNode.hpp +380 -0
- casadi/include/coin/CbcNodeInfo.hpp +377 -0
- casadi/include/coin/CbcObject.hpp +288 -0
- casadi/include/coin/CbcObjectUpdateData.hpp +63 -0
- casadi/include/coin/CbcOrClpParam.cpp +4321 -0
- casadi/include/coin/CbcOrClpParam.hpp +585 -0
- casadi/include/coin/CbcParam.hpp +338 -0
- casadi/include/coin/CbcPartialNodeInfo.hpp +116 -0
- casadi/include/coin/CbcSOS.hpp +290 -0
- casadi/include/coin/CbcSimpleInteger.hpp +299 -0
- casadi/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +619 -0
- casadi/include/coin/CbcSimpleIntegerPseudoCost.hpp +122 -0
- casadi/include/coin/CbcSolver.hpp +460 -0
- casadi/include/coin/CbcStrategy.hpp +269 -0
- casadi/include/coin/CbcSubProblem.hpp +84 -0
- casadi/include/coin/CbcTree.hpp +493 -0
- casadi/include/coin/CbcTreeLocal.hpp +393 -0
- casadi/include/coin/Cbc_C_Interface.h +904 -0
- casadi/include/coin/Cgl012cut.hpp +464 -0
- casadi/include/coin/CglAllDifferent.hpp +115 -0
- casadi/include/coin/CglClique.hpp +312 -0
- casadi/include/coin/CglConfig.h +19 -0
- casadi/include/coin/CglCutGenerator.hpp +133 -0
- casadi/include/coin/CglDuplicateRow.hpp +189 -0
- casadi/include/coin/CglFlowCover.hpp +371 -0
- casadi/include/coin/CglGMI.hpp +364 -0
- casadi/include/coin/CglGMIParam.hpp +313 -0
- casadi/include/coin/CglGomory.hpp +204 -0
- casadi/include/coin/CglKnapsackCover.hpp +310 -0
- casadi/include/coin/CglLandP.hpp +306 -0
- casadi/include/coin/CglLandPValidator.hpp +130 -0
- casadi/include/coin/CglLiftAndProject.hpp +104 -0
- casadi/include/coin/CglMessage.hpp +49 -0
- casadi/include/coin/CglMixedIntegerRounding.hpp +429 -0
- casadi/include/coin/CglMixedIntegerRounding2.hpp +427 -0
- casadi/include/coin/CglOddHole.hpp +160 -0
- casadi/include/coin/CglParam.hpp +93 -0
- casadi/include/coin/CglPreProcess.hpp +600 -0
- casadi/include/coin/CglProbing.hpp +543 -0
- casadi/include/coin/CglRedSplit.hpp +448 -0
- casadi/include/coin/CglRedSplit2.hpp +494 -0
- casadi/include/coin/CglRedSplit2Param.hpp +495 -0
- casadi/include/coin/CglRedSplitParam.hpp +272 -0
- casadi/include/coin/CglResidualCapacity.hpp +240 -0
- casadi/include/coin/CglSimpleRounding.hpp +174 -0
- casadi/include/coin/CglStored.hpp +140 -0
- casadi/include/coin/CglTreeInfo.hpp +216 -0
- casadi/include/coin/CglTwomir.hpp +562 -0
- casadi/include/coin/CglZeroHalf.hpp +133 -0
- casadi/include/coin/ClpAmplObjective.hpp +113 -0
- casadi/include/coin/ClpCholeskyBase.hpp +321 -0
- casadi/include/coin/ClpCholeskyDense.hpp +157 -0
- casadi/include/coin/ClpCholeskyMumps.hpp +65 -0
- casadi/include/coin/ClpCholeskyPardiso.hpp +67 -0
- casadi/include/coin/ClpConfig.h +17 -0
- casadi/include/coin/ClpConstraint.hpp +129 -0
- casadi/include/coin/ClpConstraintAmpl.hpp +109 -0
- casadi/include/coin/ClpConstraintLinear.hpp +113 -0
- casadi/include/coin/ClpConstraintQuadratic.hpp +123 -0
- casadi/include/coin/ClpDualRowDantzig.hpp +72 -0
- casadi/include/coin/ClpDualRowPivot.hpp +136 -0
- casadi/include/coin/ClpDualRowSteepest.hpp +160 -0
- casadi/include/coin/ClpDummyMatrix.hpp +186 -0
- casadi/include/coin/ClpDynamicExampleMatrix.hpp +199 -0
- casadi/include/coin/ClpDynamicMatrix.hpp +420 -0
- casadi/include/coin/ClpEventHandler.hpp +193 -0
- casadi/include/coin/ClpFactorization.hpp +556 -0
- casadi/include/coin/ClpGubDynamicMatrix.hpp +270 -0
- casadi/include/coin/ClpGubMatrix.hpp +373 -0
- casadi/include/coin/ClpInterior.hpp +622 -0
- casadi/include/coin/ClpLinearObjective.hpp +104 -0
- casadi/include/coin/ClpMatrixBase.hpp +561 -0
- casadi/include/coin/ClpMessage.hpp +131 -0
- casadi/include/coin/ClpModel.hpp +1442 -0
- casadi/include/coin/ClpNetworkMatrix.hpp +235 -0
- casadi/include/coin/ClpNode.hpp +364 -0
- casadi/include/coin/ClpNonLinearCost.hpp +432 -0
- casadi/include/coin/ClpObjective.hpp +142 -0
- casadi/include/coin/ClpPEDualRowDantzig.hpp +84 -0
- casadi/include/coin/ClpPEDualRowSteepest.hpp +100 -0
- casadi/include/coin/ClpPEPrimalColumnDantzig.hpp +71 -0
- casadi/include/coin/ClpPEPrimalColumnSteepest.hpp +107 -0
- casadi/include/coin/ClpPESimplex.hpp +231 -0
- casadi/include/coin/ClpPackedMatrix.hpp +778 -0
- casadi/include/coin/ClpParameters.hpp +132 -0
- casadi/include/coin/ClpPdcoBase.hpp +110 -0
- casadi/include/coin/ClpPlusMinusOneMatrix.hpp +565 -0
- casadi/include/coin/ClpPresolve.hpp +379 -0
- casadi/include/coin/ClpPrimalColumnDantzig.hpp +74 -0
- casadi/include/coin/ClpPrimalColumnPivot.hpp +163 -0
- casadi/include/coin/ClpPrimalColumnSteepest.hpp +281 -0
- casadi/include/coin/ClpQuadraticObjective.hpp +161 -0
- casadi/include/coin/ClpSimplex.hpp +2137 -0
- casadi/include/coin/ClpSimplexDual.hpp +304 -0
- casadi/include/coin/ClpSimplexNonlinear.hpp +117 -0
- casadi/include/coin/ClpSimplexOther.hpp +282 -0
- casadi/include/coin/ClpSimplexPrimal.hpp +244 -0
- casadi/include/coin/ClpSolve.hpp +505 -0
- casadi/include/coin/Clp_C_Interface.h +554 -0
- casadi/include/coin/CoinAlloc.hpp +179 -0
- casadi/include/coin/CoinBuild.hpp +159 -0
- casadi/include/coin/CoinDenseFactorization.hpp +452 -0
- casadi/include/coin/CoinDenseVector.hpp +401 -0
- casadi/include/coin/CoinDistance.hpp +51 -0
- casadi/include/coin/CoinError.hpp +274 -0
- casadi/include/coin/CoinFactorization.hpp +2178 -0
- casadi/include/coin/CoinFileIO.hpp +185 -0
- casadi/include/coin/CoinFinite.hpp +37 -0
- casadi/include/coin/CoinFloatEqual.hpp +204 -0
- casadi/include/coin/CoinHelperFunctions.hpp +1270 -0
- casadi/include/coin/CoinIndexedVector.hpp +1437 -0
- casadi/include/coin/CoinLpIO.hpp +836 -0
- casadi/include/coin/CoinMessage.hpp +95 -0
- casadi/include/coin/CoinMessageHandler.hpp +717 -0
- casadi/include/coin/CoinModel.hpp +1214 -0
- casadi/include/coin/CoinModelUseful.hpp +518 -0
- casadi/include/coin/CoinMpsIO.hpp +1142 -0
- casadi/include/coin/CoinOslFactorization.hpp +287 -0
- casadi/include/coin/CoinPackedMatrix.hpp +956 -0
- casadi/include/coin/CoinPackedVector.hpp +670 -0
- casadi/include/coin/CoinPackedVectorBase.hpp +274 -0
- casadi/include/coin/CoinParam.hpp +644 -0
- casadi/include/coin/CoinPragma.hpp +29 -0
- casadi/include/coin/CoinPresolveDoubleton.hpp +76 -0
- casadi/include/coin/CoinPresolveDual.hpp +84 -0
- casadi/include/coin/CoinPresolveDupcol.hpp +259 -0
- casadi/include/coin/CoinPresolveEmpty.hpp +120 -0
- casadi/include/coin/CoinPresolveFixed.hpp +185 -0
- casadi/include/coin/CoinPresolveForcing.hpp +69 -0
- casadi/include/coin/CoinPresolveImpliedFree.hpp +66 -0
- casadi/include/coin/CoinPresolveIsolated.hpp +59 -0
- casadi/include/coin/CoinPresolveMatrix.hpp +1996 -0
- casadi/include/coin/CoinPresolveMonitor.hpp +105 -0
- casadi/include/coin/CoinPresolvePsdebug.hpp +169 -0
- casadi/include/coin/CoinPresolveSingleton.hpp +115 -0
- casadi/include/coin/CoinPresolveSubst.hpp +103 -0
- casadi/include/coin/CoinPresolveTighten.hpp +58 -0
- casadi/include/coin/CoinPresolveTripleton.hpp +69 -0
- casadi/include/coin/CoinPresolveUseless.hpp +63 -0
- casadi/include/coin/CoinPresolveZeros.hpp +65 -0
- casadi/include/coin/CoinRational.hpp +43 -0
- casadi/include/coin/CoinSearchTree.hpp +523 -0
- casadi/include/coin/CoinShallowPackedVector.hpp +149 -0
- casadi/include/coin/CoinSignal.hpp +127 -0
- casadi/include/coin/CoinSimpFactorization.hpp +432 -0
- casadi/include/coin/CoinSmartPtr.hpp +548 -0
- casadi/include/coin/CoinSnapshot.hpp +572 -0
- casadi/include/coin/CoinSort.hpp +753 -0
- casadi/include/coin/CoinStructuredModel.hpp +270 -0
- casadi/include/coin/CoinTime.hpp +350 -0
- casadi/include/coin/CoinTypes.hpp +67 -0
- casadi/include/coin/CoinUtility.hpp +26 -0
- casadi/include/coin/CoinUtilsConfig.h +34 -0
- casadi/include/coin/CoinWarmStart.hpp +56 -0
- casadi/include/coin/CoinWarmStartBasis.hpp +468 -0
- casadi/include/coin/CoinWarmStartDual.hpp +180 -0
- casadi/include/coin/CoinWarmStartPrimalDual.hpp +233 -0
- casadi/include/coin/CoinWarmStartVector.hpp +523 -0
- casadi/include/coin/Coin_C_defines.h +149 -0
- casadi/include/coin/Idiot.hpp +327 -0
- casadi/include/coin/OsiAuxInfo.hpp +261 -0
- casadi/include/coin/OsiBranchingObject.hpp +1097 -0
- casadi/include/coin/OsiCbcSolverInterface.hpp +791 -0
- casadi/include/coin/OsiChooseVariable.hpp +645 -0
- casadi/include/coin/OsiClpSolverInterface.hpp +1604 -0
- casadi/include/coin/OsiColCut.hpp +322 -0
- casadi/include/coin/OsiCollections.hpp +34 -0
- casadi/include/coin/OsiConfig.h +19 -0
- casadi/include/coin/OsiCut.hpp +251 -0
- casadi/include/coin/OsiCuts.hpp +505 -0
- casadi/include/coin/OsiPresolve.hpp +272 -0
- casadi/include/coin/OsiRowCut.hpp +345 -0
- casadi/include/coin/OsiRowCutDebugger.hpp +190 -0
- casadi/include/coin/OsiSolverBranch.hpp +169 -0
- casadi/include/coin/OsiSolverInterface.hpp +2221 -0
- casadi/include/coin/OsiSolverParameters.hpp +144 -0
- casadi/include/coin/OsiUnitTests.hpp +390 -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/d_blas.h +78 -0
- casadi/include/d_blas_64.h +73 -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 +21 -0
- casadi/include/highs/Highs.h +1529 -0
- casadi/include/highs/filereaderlp/builder.hpp +25 -0
- casadi/include/highs/filereaderlp/def.hpp +19 -0
- casadi/include/highs/filereaderlp/model.hpp +68 -0
- casadi/include/highs/filereaderlp/reader.hpp +10 -0
- casadi/include/highs/interfaces/highs_c_api.h +2283 -0
- casadi/include/highs/io/Filereader.h +47 -0
- casadi/include/highs/io/FilereaderEms.h +33 -0
- casadi/include/highs/io/FilereaderLp.h +54 -0
- casadi/include/highs/io/FilereaderMps.h +30 -0
- casadi/include/highs/io/HMPSIO.h +81 -0
- casadi/include/highs/io/HMpsFF.h +235 -0
- casadi/include/highs/io/HighsIO.h +109 -0
- casadi/include/highs/io/LoadOptions.h +27 -0
- casadi/include/highs/ipm/IpxSolution.h +35 -0
- casadi/include/highs/ipm/IpxWrapper.h +73 -0
- 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 +305 -0
- casadi/include/highs/lp_data/HStruct.h +146 -0
- casadi/include/highs/lp_data/HighsAnalysis.h +26 -0
- casadi/include/highs/lp_data/HighsCallback.h +40 -0
- casadi/include/highs/lp_data/HighsCallbackStruct.h +62 -0
- casadi/include/highs/lp_data/HighsDebug.h +37 -0
- casadi/include/highs/lp_data/HighsInfo.h +322 -0
- casadi/include/highs/lp_data/HighsInfoDebug.h +30 -0
- casadi/include/highs/lp_data/HighsLp.h +101 -0
- casadi/include/highs/lp_data/HighsLpSolverObject.h +48 -0
- casadi/include/highs/lp_data/HighsLpUtils.h +266 -0
- casadi/include/highs/lp_data/HighsModelUtils.h +109 -0
- casadi/include/highs/lp_data/HighsOptions.h +1357 -0
- casadi/include/highs/lp_data/HighsRanging.h +46 -0
- casadi/include/highs/lp_data/HighsRuntimeOptions.h +276 -0
- casadi/include/highs/lp_data/HighsSolution.h +137 -0
- casadi/include/highs/lp_data/HighsSolutionDebug.h +90 -0
- casadi/include/highs/lp_data/HighsSolve.h +26 -0
- casadi/include/highs/lp_data/HighsStatus.h +32 -0
- casadi/include/highs/mip/HighsCliqueTable.h +318 -0
- casadi/include/highs/mip/HighsConflictPool.h +112 -0
- casadi/include/highs/mip/HighsCutGeneration.h +96 -0
- casadi/include/highs/mip/HighsCutPool.h +171 -0
- casadi/include/highs/mip/HighsDebugSol.h +135 -0
- casadi/include/highs/mip/HighsDomain.h +641 -0
- casadi/include/highs/mip/HighsDomainChange.h +51 -0
- casadi/include/highs/mip/HighsDynamicRowMatrix.h +107 -0
- casadi/include/highs/mip/HighsGFkSolve.h +441 -0
- casadi/include/highs/mip/HighsImplications.h +146 -0
- casadi/include/highs/mip/HighsLpAggregator.h +53 -0
- casadi/include/highs/mip/HighsLpRelaxation.h +360 -0
- casadi/include/highs/mip/HighsMipSolver.h +105 -0
- casadi/include/highs/mip/HighsMipSolverData.h +236 -0
- casadi/include/highs/mip/HighsModkSeparator.h +63 -0
- casadi/include/highs/mip/HighsNodeQueue.h +314 -0
- casadi/include/highs/mip/HighsObjectiveFunction.h +74 -0
- casadi/include/highs/mip/HighsPathSeparator.h +42 -0
- casadi/include/highs/mip/HighsPrimalHeuristics.h +68 -0
- casadi/include/highs/mip/HighsPseudocost.h +363 -0
- casadi/include/highs/mip/HighsRedcostFixing.h +45 -0
- casadi/include/highs/mip/HighsSearch.h +244 -0
- casadi/include/highs/mip/HighsSeparation.h +44 -0
- casadi/include/highs/mip/HighsSeparator.h +56 -0
- casadi/include/highs/mip/HighsTableauSeparator.h +37 -0
- casadi/include/highs/mip/HighsTransformedLp.h +66 -0
- casadi/include/highs/model/HighsHessian.h +54 -0
- casadi/include/highs/model/HighsHessianUtils.h +49 -0
- casadi/include/highs/model/HighsModel.h +52 -0
- casadi/include/highs/parallel/HighsBinarySemaphore.h +113 -0
- casadi/include/highs/parallel/HighsCacheAlign.h +87 -0
- casadi/include/highs/parallel/HighsCombinable.h +121 -0
- casadi/include/highs/parallel/HighsMutex.h +129 -0
- casadi/include/highs/parallel/HighsParallel.h +133 -0
- casadi/include/highs/parallel/HighsRaceTimer.h +43 -0
- casadi/include/highs/parallel/HighsSchedulerConstants.h +24 -0
- casadi/include/highs/parallel/HighsSpinMutex.h +53 -0
- casadi/include/highs/parallel/HighsSplitDeque.h +583 -0
- casadi/include/highs/parallel/HighsTask.h +175 -0
- casadi/include/highs/parallel/HighsTaskExecutor.h +209 -0
- 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 +365 -0
- casadi/include/highs/presolve/HPresolveAnalysis.h +54 -0
- casadi/include/highs/presolve/HighsPostsolveStack.h +907 -0
- casadi/include/highs/presolve/HighsSymmetry.h +284 -0
- casadi/include/highs/presolve/ICrash.h +127 -0
- casadi/include/highs/presolve/ICrashUtil.h +65 -0
- casadi/include/highs/presolve/ICrashX.h +26 -0
- casadi/include/highs/presolve/PresolveComponent.h +93 -0
- casadi/include/highs/qpsolver/a_asm.hpp +67 -0
- casadi/include/highs/qpsolver/a_quass.hpp +19 -0
- 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/perturbation.hpp +8 -0
- casadi/include/highs/qpsolver/pricing.hpp +15 -0
- casadi/include/highs/qpsolver/qpconst.hpp +27 -0
- casadi/include/highs/qpsolver/qpvector.hpp +235 -0
- casadi/include/highs/qpsolver/quass.hpp +20 -0
- casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
- casadi/include/highs/qpsolver/runtime.hpp +38 -0
- casadi/include/highs/qpsolver/scaling.hpp +8 -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 +422 -0
- casadi/include/highs/simplex/HEkk.h +403 -0
- casadi/include/highs/simplex/HEkkDual.h +515 -0
- casadi/include/highs/simplex/HEkkDualRHS.h +137 -0
- casadi/include/highs/simplex/HEkkDualRow.h +204 -0
- casadi/include/highs/simplex/HEkkPrimal.h +195 -0
- casadi/include/highs/simplex/HSimplex.h +45 -0
- casadi/include/highs/simplex/HSimplexDebug.h +51 -0
- casadi/include/highs/simplex/HSimplexNla.h +184 -0
- casadi/include/highs/simplex/HSimplexReport.h +24 -0
- casadi/include/highs/simplex/HighsSimplexAnalysis.h +503 -0
- casadi/include/highs/simplex/SimplexConst.h +274 -0
- casadi/include/highs/simplex/SimplexStruct.h +264 -0
- casadi/include/highs/simplex/SimplexTimer.h +427 -0
- casadi/include/highs/test/DevKkt.h +146 -0
- casadi/include/highs/test/KktCh2.h +82 -0
- casadi/include/highs/util/FactorTimer.h +224 -0
- casadi/include/highs/util/HFactor.h +587 -0
- casadi/include/highs/util/HFactorConst.h +84 -0
- casadi/include/highs/util/HFactorDebug.h +58 -0
- casadi/include/highs/util/HSet.h +92 -0
- casadi/include/highs/util/HVector.h +25 -0
- casadi/include/highs/util/HVectorBase.h +105 -0
- casadi/include/highs/util/HighsCDouble.h +310 -0
- casadi/include/highs/util/HighsComponent.h +56 -0
- casadi/include/highs/util/HighsDataStack.h +86 -0
- casadi/include/highs/util/HighsDisjointSets.h +110 -0
- casadi/include/highs/util/HighsHash.h +1277 -0
- casadi/include/highs/util/HighsHashTree.h +1443 -0
- casadi/include/highs/util/HighsInt.h +39 -0
- casadi/include/highs/util/HighsIntegers.h +215 -0
- casadi/include/highs/util/HighsLinearSumBounds.h +160 -0
- casadi/include/highs/util/HighsMatrixPic.h +40 -0
- casadi/include/highs/util/HighsMatrixSlice.h +564 -0
- casadi/include/highs/util/HighsMatrixUtils.h +57 -0
- casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
- casadi/include/highs/util/HighsRandom.h +245 -0
- casadi/include/highs/util/HighsRbTree.h +455 -0
- casadi/include/highs/util/HighsSort.h +134 -0
- casadi/include/highs/util/HighsSparseMatrix.h +147 -0
- casadi/include/highs/util/HighsSparseVectorSum.h +98 -0
- casadi/include/highs/util/HighsSplay.h +138 -0
- casadi/include/highs/util/HighsTimer.h +343 -0
- casadi/include/highs/util/HighsUtils.h +210 -0
- casadi/include/highs/util/stringutil.h +44 -0
- 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/hpipm_aux_mem.h +52 -0
- casadi/include/hpipm_aux_string.h +50 -0
- casadi/include/hpipm_common.h +76 -0
- casadi/include/hpipm_d_cast_qcqp.h +71 -0
- casadi/include/hpipm_d_cond.h +135 -0
- casadi/include/hpipm_d_cond_aux.h +92 -0
- casadi/include/hpipm_d_cond_qcqp.h +129 -0
- casadi/include/hpipm_d_core_qp_ipm.h +101 -0
- casadi/include/hpipm_d_core_qp_ipm_aux.h +68 -0
- casadi/include/hpipm_d_dense_qcqp.h +199 -0
- casadi/include/hpipm_d_dense_qcqp_dim.h +98 -0
- casadi/include/hpipm_d_dense_qcqp_ipm.h +193 -0
- casadi/include/hpipm_d_dense_qcqp_res.h +108 -0
- casadi/include/hpipm_d_dense_qcqp_sol.h +85 -0
- casadi/include/hpipm_d_dense_qcqp_utils.h +82 -0
- casadi/include/hpipm_d_dense_qp.h +207 -0
- casadi/include/hpipm_d_dense_qp_dim.h +92 -0
- casadi/include/hpipm_d_dense_qp_ipm.h +260 -0
- casadi/include/hpipm_d_dense_qp_kkt.h +72 -0
- casadi/include/hpipm_d_dense_qp_res.h +106 -0
- casadi/include/hpipm_d_dense_qp_sol.h +94 -0
- casadi/include/hpipm_d_dense_qp_utils.h +83 -0
- casadi/include/hpipm_d_ocp_qcqp.h +322 -0
- casadi/include/hpipm_d_ocp_qcqp_dim.h +130 -0
- casadi/include/hpipm_d_ocp_qcqp_ipm.h +192 -0
- casadi/include/hpipm_d_ocp_qcqp_red.h +118 -0
- casadi/include/hpipm_d_ocp_qcqp_res.h +115 -0
- casadi/include/hpipm_d_ocp_qcqp_sol.h +114 -0
- casadi/include/hpipm_d_ocp_qcqp_utils.h +81 -0
- casadi/include/hpipm_d_ocp_qp.h +306 -0
- casadi/include/hpipm_d_ocp_qp_dim.h +142 -0
- casadi/include/hpipm_d_ocp_qp_ipm.h +252 -0
- casadi/include/hpipm_d_ocp_qp_kkt.h +66 -0
- casadi/include/hpipm_d_ocp_qp_red.h +117 -0
- casadi/include/hpipm_d_ocp_qp_res.h +113 -0
- casadi/include/hpipm_d_ocp_qp_sol.h +128 -0
- casadi/include/hpipm_d_ocp_qp_utils.h +82 -0
- casadi/include/hpipm_d_part_cond.h +115 -0
- casadi/include/hpipm_d_part_cond_qcqp.h +106 -0
- casadi/include/hpipm_d_sim_erk.h +122 -0
- casadi/include/hpipm_d_sim_rk.h +71 -0
- casadi/include/hpipm_d_tree_ocp_qcqp.h +213 -0
- casadi/include/hpipm_d_tree_ocp_qcqp_dim.h +117 -0
- casadi/include/hpipm_d_tree_ocp_qcqp_ipm.h +191 -0
- casadi/include/hpipm_d_tree_ocp_qcqp_res.h +109 -0
- casadi/include/hpipm_d_tree_ocp_qcqp_sol.h +99 -0
- casadi/include/hpipm_d_tree_ocp_qcqp_utils.h +84 -0
- casadi/include/hpipm_d_tree_ocp_qp.h +195 -0
- casadi/include/hpipm_d_tree_ocp_qp_dim.h +111 -0
- casadi/include/hpipm_d_tree_ocp_qp_ipm.h +209 -0
- casadi/include/hpipm_d_tree_ocp_qp_kkt.h +52 -0
- casadi/include/hpipm_d_tree_ocp_qp_res.h +107 -0
- casadi/include/hpipm_d_tree_ocp_qp_sol.h +100 -0
- casadi/include/hpipm_d_tree_ocp_qp_utils.h +83 -0
- casadi/include/hpipm_m_dense_qp.h +68 -0
- casadi/include/hpipm_m_dense_qp_dim.h +68 -0
- casadi/include/hpipm_m_ocp_qp.h +49 -0
- casadi/include/hpipm_m_ocp_qp_ipm_hard.h +115 -0
- casadi/include/hpipm_m_ocp_qp_kkt.h +45 -0
- casadi/include/hpipm_s_cast_qcqp.h +72 -0
- casadi/include/hpipm_s_cond.h +137 -0
- casadi/include/hpipm_s_cond_aux.h +92 -0
- casadi/include/hpipm_s_cond_qcqp.h +130 -0
- casadi/include/hpipm_s_core_qp_ipm.h +101 -0
- casadi/include/hpipm_s_core_qp_ipm_aux.h +68 -0
- casadi/include/hpipm_s_dense_qcqp.h +200 -0
- casadi/include/hpipm_s_dense_qcqp_dim.h +99 -0
- casadi/include/hpipm_s_dense_qcqp_ipm.h +204 -0
- casadi/include/hpipm_s_dense_qcqp_res.h +109 -0
- casadi/include/hpipm_s_dense_qcqp_sol.h +86 -0
- casadi/include/hpipm_s_dense_qcqp_utils.h +83 -0
- casadi/include/hpipm_s_dense_qp.h +207 -0
- casadi/include/hpipm_s_dense_qp_dim.h +94 -0
- casadi/include/hpipm_s_dense_qp_ipm.h +260 -0
- casadi/include/hpipm_s_dense_qp_kkt.h +72 -0
- casadi/include/hpipm_s_dense_qp_res.h +107 -0
- casadi/include/hpipm_s_dense_qp_sol.h +94 -0
- casadi/include/hpipm_s_dense_qp_utils.h +84 -0
- casadi/include/hpipm_s_ocp_qcqp.h +322 -0
- casadi/include/hpipm_s_ocp_qcqp_dim.h +131 -0
- casadi/include/hpipm_s_ocp_qcqp_ipm.h +193 -0
- casadi/include/hpipm_s_ocp_qcqp_red.h +119 -0
- casadi/include/hpipm_s_ocp_qcqp_res.h +116 -0
- casadi/include/hpipm_s_ocp_qcqp_sol.h +115 -0
- casadi/include/hpipm_s_ocp_qcqp_utils.h +82 -0
- casadi/include/hpipm_s_ocp_qp.h +306 -0
- casadi/include/hpipm_s_ocp_qp_dim.h +141 -0
- casadi/include/hpipm_s_ocp_qp_ipm.h +252 -0
- casadi/include/hpipm_s_ocp_qp_kkt.h +66 -0
- casadi/include/hpipm_s_ocp_qp_red.h +118 -0
- casadi/include/hpipm_s_ocp_qp_res.h +115 -0
- casadi/include/hpipm_s_ocp_qp_sol.h +128 -0
- casadi/include/hpipm_s_ocp_qp_utils.h +83 -0
- casadi/include/hpipm_s_part_cond.h +115 -0
- casadi/include/hpipm_s_part_cond_qcqp.h +107 -0
- casadi/include/hpipm_s_sim_erk.h +121 -0
- casadi/include/hpipm_s_sim_rk.h +72 -0
- casadi/include/hpipm_s_tree_ocp_qcqp.h +213 -0
- casadi/include/hpipm_s_tree_ocp_qcqp_dim.h +118 -0
- casadi/include/hpipm_s_tree_ocp_qcqp_ipm.h +192 -0
- casadi/include/hpipm_s_tree_ocp_qcqp_res.h +110 -0
- casadi/include/hpipm_s_tree_ocp_qcqp_sol.h +97 -0
- casadi/include/hpipm_s_tree_ocp_qcqp_utils.h +85 -0
- casadi/include/hpipm_s_tree_ocp_qp.h +196 -0
- casadi/include/hpipm_s_tree_ocp_qp_dim.h +111 -0
- casadi/include/hpipm_s_tree_ocp_qp_ipm.h +208 -0
- casadi/include/hpipm_s_tree_ocp_qp_kkt.h +54 -0
- casadi/include/hpipm_s_tree_ocp_qp_res.h +108 -0
- casadi/include/hpipm_s_tree_ocp_qp_sol.h +98 -0
- casadi/include/hpipm_s_tree_ocp_qp_utils.h +84 -0
- casadi/include/hpipm_scenario_tree.h +70 -0
- casadi/include/hpipm_timing.h +67 -0
- casadi/include/hpipm_tree.h +76 -0
- casadi/include/licenses/CSparse/Doc/License.txt +19 -0
- casadi/include/licenses/FMI-Standard-2.0.2/LICENSE.txt +473 -0
- casadi/include/licenses/FMI-Standard-3.0/LICENSE.txt +464 -0
- casadi/include/licenses/blasfeo-external/LICENSE.txt +26 -0
- casadi/include/licenses/bonmin-external/Bonmin/LICENSE +87 -0
- casadi/include/licenses/bonmin-external/LICENSE +3 -0
- casadi/include/licenses/casadi/LICENSE/LICENSE.txt +165 -0
- casadi/include/licenses/casadi-sundials/LICENSE +64 -0
- casadi/include/licenses/casadi-sundials/cvodes/LICENSE +60 -0
- casadi/include/licenses/casadi-sundials/idas/LICENSE +59 -0
- casadi/include/licenses/casadi-sundials/kinsol/LICENSE +59 -0
- casadi/include/licenses/casadi-sundials/sundials/LICENSE +67 -0
- casadi/include/licenses/cbc-external/Cbc/LICENSE +239 -0
- casadi/include/licenses/cbc-external/LICENSE +245 -0
- casadi/include/licenses/cgl-external/Cgl/LICENSE +239 -0
- casadi/include/licenses/cgl-external/LICENSE +245 -0
- casadi/include/licenses/clp-external/Clp/LICENSE +239 -0
- casadi/include/licenses/clp-external/LICENSE +245 -0
- casadi/include/licenses/coinutils-external/CoinUtils/LICENSE +239 -0
- casadi/include/licenses/coinutils-external/LICENSE +245 -0
- casadi/include/licenses/fatrop-external/LICENSE.txt +165 -0
- 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.txt +21 -0
- casadi/include/licenses/highs-external/extern/filereaderlp/LICENSE +19 -0
- casadi/include/licenses/highs-external/extern/pdqsort/license.txt +16 -0
- casadi/include/licenses/hpipm-external/LICENSE.txt +26 -0
- casadi/include/licenses/hpipm-external/experimental/andrea/prototype/code/plotregion/license.txt +24 -0
- casadi/include/licenses/ipopt-external/LICENSE +260 -0
- casadi/include/licenses/metis-external/LICENSE +87 -0
- casadi/include/licenses/metis-external/metis-4.0/LICENSE +18 -0
- casadi/include/licenses/mockups-external/LICENSE +21 -0
- casadi/include/licenses/mumps-external/LICENSE +87 -0
- casadi/include/licenses/mumps-external/MUMPS/LICENSE +50 -0
- casadi/include/licenses/osi-external/LICENSE +245 -0
- casadi/include/licenses/osi-external/Osi/LICENSE +239 -0
- casadi/include/licenses/osqp-external/LICENSE +201 -0
- casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/amd/LICENSE +36 -0
- casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/qdldl_sources/LICENSE +201 -0
- casadi/include/licenses/qpOASES/LICENSE.txt +503 -0
- casadi/include/licenses/sleqp-external/LICENSE +165 -0
- casadi/include/licenses/superscs-external/LICENSE.txt +24 -0
- casadi/include/licenses/tinyxml2-9.0.0/LICENSE.txt +18 -0
- casadi/include/licenses/trlib-external/LICENSE +21 -0
- casadi/include/osqp/auxil.h +181 -0
- casadi/include/osqp/constants.h +128 -0
- casadi/include/osqp/cs.h +180 -0
- casadi/include/osqp/ctrlc.h +56 -0
- casadi/include/osqp/error.h +38 -0
- casadi/include/osqp/glob_opts.h +167 -0
- casadi/include/osqp/lin_alg.h +216 -0
- casadi/include/osqp/lin_sys.h +54 -0
- casadi/include/osqp/osqp.h +430 -0
- casadi/include/osqp/osqp_configure.h +49 -0
- casadi/include/osqp/polish.h +25 -0
- casadi/include/osqp/proj.h +37 -0
- casadi/include/osqp/scaling.h +44 -0
- casadi/include/osqp/types.h +326 -0
- casadi/include/osqp/util.h +222 -0
- casadi/include/osqp/version.h +9 -0
- casadi/include/qdldl/qdldl.h +169 -0
- casadi/include/qdldl/qdldl_types.h +23 -0
- casadi/include/s_blas.h +78 -0
- casadi/include/s_blas_64.h +73 -0
- casadi/include/sleqp/defs.h +58 -0
- casadi/include/sleqp/export.h +43 -0
- casadi/include/sleqp/pub_cmp.h +18 -0
- casadi/include/sleqp/pub_dyn.h +140 -0
- casadi/include/sleqp/pub_error.h +50 -0
- casadi/include/sleqp/pub_func.h +257 -0
- casadi/include/sleqp/pub_hess_struct.h +105 -0
- casadi/include/sleqp/pub_iterate.h +88 -0
- casadi/include/sleqp/pub_log.h +88 -0
- casadi/include/sleqp/pub_lsq.h +158 -0
- casadi/include/sleqp/pub_mem.h +52 -0
- casadi/include/sleqp/pub_problem.h +213 -0
- casadi/include/sleqp/pub_scale.h +150 -0
- casadi/include/sleqp/pub_settings.h +162 -0
- casadi/include/sleqp/pub_solver.h +155 -0
- casadi/include/sleqp/pub_types.h +230 -0
- casadi/include/sleqp/pub_working_set.h +135 -0
- casadi/include/sleqp/sparse/pub_mat.h +153 -0
- casadi/include/sleqp/sparse/pub_vec.h +336 -0
- casadi/include/sleqp.h +38 -0
- casadi/include/superscs/cones.h +185 -0
- casadi/include/superscs/constants.h +144 -0
- casadi/include/superscs/cs.h +109 -0
- casadi/include/superscs/ctrlc.h +77 -0
- casadi/include/superscs/directions.h +125 -0
- casadi/include/superscs/glbopts.h +240 -0
- casadi/include/superscs/linAlg.h +437 -0
- casadi/include/superscs/linSys.h +205 -0
- casadi/include/superscs/linsys/amatrix.h +77 -0
- casadi/include/superscs/linsys/common.h +49 -0
- casadi/include/superscs/normalize.h +138 -0
- casadi/include/superscs/scs.h +656 -0
- casadi/include/superscs/scs_blas.h +79 -0
- casadi/include/superscs/scs_parser.h +187 -0
- casadi/include/superscs/unit_test_util.h +210 -0
- casadi/include/superscs/util.h +354 -0
- casadi/include/tinyxml2.h +2380 -0
- casadi/include/trlib/trlib_eigen_inverse.h +118 -0
- casadi/include/trlib/trlib_krylov.h +493 -0
- casadi/include/trlib/trlib_leftmost.h +181 -0
- casadi/include/trlib/trlib_private.h +109 -0
- casadi/include/trlib/trlib_quadratic_zero.h +57 -0
- casadi/include/trlib/trlib_tri_factor.h +409 -0
- casadi/include/trlib/trlib_types.h +36 -0
- casadi/include/trlib.h +44 -0
- casadi/lib/cmake/tinyxml2/tinyxml2-config-version.cmake +65 -0
- casadi/lib/cmake/tinyxml2/tinyxml2-config.cmake +57 -0
- casadi/lib/cmake/tinyxml2/tinyxml2-static-targets-release.cmake +19 -0
- casadi/lib/cmake/tinyxml2/tinyxml2-static-targets.cmake +107 -0
- casadi/lib/libtinyxml2.a +0 -0
- casadi/lib/pkgconfig/tinyxml2.pc +10 -0
- casadi/libCbc.3.10.11.dylib +0 -0
- casadi/libCbc.3.dylib +0 -0
- casadi/libCbc.dylib +0 -0
- casadi/libCbc.la +35 -0
- casadi/libCbcSolver.3.10.11.dylib +0 -0
- casadi/libCbcSolver.3.dylib +0 -0
- casadi/libCbcSolver.dylib +0 -0
- casadi/libCbcSolver.la +35 -0
- casadi/libCgl.1.10.8.dylib +0 -0
- casadi/libCgl.1.dylib +0 -0
- casadi/libCgl.dylib +0 -0
- casadi/libCgl.la +35 -0
- casadi/libClp.1.14.9.dylib +0 -0
- casadi/libClp.1.dylib +0 -0
- casadi/libClp.dylib +0 -0
- casadi/libClp.la +35 -0
- casadi/libClpSolver.1.14.9.dylib +0 -0
- casadi/libClpSolver.1.dylib +0 -0
- casadi/libClpSolver.dylib +0 -0
- casadi/libClpSolver.la +35 -0
- casadi/libCoinUtils.3.11.10.dylib +0 -0
- casadi/libCoinUtils.3.dylib +0 -0
- casadi/libCoinUtils.dylib +0 -0
- casadi/libCoinUtils.la +35 -0
- casadi/libOsi.1.13.9.dylib +0 -0
- casadi/libOsi.1.dylib +0 -0
- casadi/libOsi.dylib +0 -0
- casadi/libOsi.la +35 -0
- casadi/libOsiCbc.3.10.11.dylib +0 -0
- casadi/libOsiCbc.3.dylib +0 -0
- casadi/libOsiCbc.dylib +0 -0
- casadi/libOsiCbc.la +35 -0
- casadi/libOsiClp.1.14.9.dylib +0 -0
- casadi/libOsiClp.1.dylib +0 -0
- casadi/libOsiClp.dylib +0 -0
- casadi/libOsiClp.la +35 -0
- casadi/libOsiCommonTests.1.13.9.dylib +0 -0
- casadi/libOsiCommonTests.1.dylib +0 -0
- casadi/libOsiCommonTests.dylib +0 -0
- casadi/libOsiCommonTests.la +35 -0
- 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 +35 -0
- 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_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_hpipm.3.7.dylib +0 -0
- casadi/libcasadi_conic_hpipm.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_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 +41 -0
- casadi/libcoinmumps.3.dylib +0 -0
- casadi/libcoinmumps.dylib +0 -0
- casadi/libcoinmumps.la +41 -0
- casadi/libcplex_adaptor.dylib +0 -0
- casadi/libfatrop.dylib +0 -0
- casadi/libgcc_s.1.1.dylib +0 -0
- casadi/libgcc_s.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/libhpipm.dylib +0 -0
- casadi/libindirect.a +0 -0
- casadi/libipopt.3.dylib +0 -0
- casadi/libipopt.dylib +0 -0
- casadi/libipopt.la +41 -0
- casadi/liblinsys.a +0 -0
- casadi/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 +41 -0
- 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 +12 -0
- casadi/pkgconfig/casadi.pc +12 -0
- casadi/pkgconfig/cbc.pc +12 -0
- casadi/pkgconfig/cgl.pc +12 -0
- casadi/pkgconfig/clp.pc +12 -0
- casadi/pkgconfig/coinmetis.pc +13 -0
- casadi/pkgconfig/coinmumps.pc +15 -0
- casadi/pkgconfig/coinutils.pc +12 -0
- casadi/pkgconfig/highs.pc +12 -0
- casadi/pkgconfig/ipopt.pc +15 -0
- casadi/pkgconfig/osi-cbc.pc +12 -0
- casadi/pkgconfig/osi-clp.pc +12 -0
- casadi/pkgconfig/osi-unittests.pc +12 -0
- casadi/pkgconfig/osi.pc +12 -0
- casadi/pkgconfig/sleqp.pc +10 -0
- casadi/tools/__init__.py +52 -0
- casadi/tools/bounds.py +107 -0
- casadi/tools/graph/__init__.py +35 -0
- casadi/tools/graph/graph.py +747 -0
- casadi/tools/in_out.py +89 -0
- casadi/tools/structure.py +1446 -0
- casadi/tools/structure3.py +1441 -0
- casadi-3.6.7.dist-info/METADATA +45 -0
- casadi-3.6.7.dist-info/RECORD +1312 -0
- casadi-3.6.7.dist-info/WHEEL +5 -0
- dummy.txt +1 -0
@@ -0,0 +1,272 @@
|
|
1
|
+
// Name: CglRedSplitParam.hpp
|
2
|
+
// Author: Francois Margot
|
3
|
+
// Tepper School of Business
|
4
|
+
// Carnegie Mellon University, Pittsburgh, PA 15213
|
5
|
+
// email: fmargot@andrew.cmu.edu
|
6
|
+
// Date: 11/24/06
|
7
|
+
//
|
8
|
+
// $Id$
|
9
|
+
//-----------------------------------------------------------------------------
|
10
|
+
// Copyright (C) 2006, Francois Margot and others. All Rights Reserved.
|
11
|
+
// This code is licensed under the terms of the Eclipse Public License (EPL).
|
12
|
+
|
13
|
+
#ifndef CglRedSplitParam_H
|
14
|
+
#define CglRedSplitParam_H
|
15
|
+
|
16
|
+
#include "CglParam.hpp"
|
17
|
+
|
18
|
+
|
19
|
+
/**@name CglRedSplit Parameters */
|
20
|
+
//@{
|
21
|
+
|
22
|
+
/** Class collecting parameters the Reduced-and-split cut generator.
|
23
|
+
|
24
|
+
Parameters of the generator are listed below. Modifying the default
|
25
|
+
values for parameters other than the last four might result in
|
26
|
+
invalid cuts.
|
27
|
+
|
28
|
+
- LUB: Value considered large for the absolute value of a lower or upper
|
29
|
+
bound on a variable. See method setLUB().
|
30
|
+
- MAXDYN: Maximum ratio between largest and smallest non zero
|
31
|
+
coefficients in a cut. See method setMAXDYN().
|
32
|
+
- MAXDYN_LUB: Maximum ratio between largest and smallest non zero
|
33
|
+
coefficients in a cut involving structural variables with
|
34
|
+
lower or upper bound in absolute value larger than LUB.
|
35
|
+
Should logically be larger or equal to MAXDYN.
|
36
|
+
See method setMAXDYN_LUB().
|
37
|
+
- EPS_ELIM: Precision for deciding if a coefficient is zero when
|
38
|
+
eliminating slack variables. See method setEPS_ELIM().
|
39
|
+
- EPS_COEFF_LUB: Precision for deciding if a coefficient of a
|
40
|
+
generated cut is zero when the corresponding
|
41
|
+
variable has a lower or upper bound larger than
|
42
|
+
LUB in absolute value. See method setEPS_COEFF_LUB().
|
43
|
+
- MINVIOL: Minimum violation for the current basic solution in
|
44
|
+
a generated cut. See method setMINVIOL().
|
45
|
+
- USE_INTSLACKS: Use integer slacks to generate cuts. (not implemented).
|
46
|
+
See method setUSE_INTSLACKS().
|
47
|
+
- USE_CG2: Use alternative formula to generate a mixed integer Gomory
|
48
|
+
cut (see methods CglRedSPlit::generate_cgcut()
|
49
|
+
and CglRedSPlit::generate_cgcut_2()). See method setUSE_CG2().
|
50
|
+
- normIsZero: Norm of a vector is considered zero if smaller than
|
51
|
+
this value. See method setNormIsZero().
|
52
|
+
- minReduc: Reduction is performed only if the norm of the vector is
|
53
|
+
reduced by this fraction. See method setMinReduc().
|
54
|
+
- away: Look only at basic integer variables whose current value
|
55
|
+
is at least this value from being integer. See method setAway().
|
56
|
+
- maxTab: Controls the number of rows selected for the generation. See
|
57
|
+
method setMaxTab().
|
58
|
+
*/
|
59
|
+
//@}
|
60
|
+
|
61
|
+
class CglRedSplitParam : public CglParam {
|
62
|
+
|
63
|
+
public:
|
64
|
+
|
65
|
+
/**@name Set/get methods */
|
66
|
+
//@{
|
67
|
+
/** Set away, the minimum distance from being integer used for selecting
|
68
|
+
rows for cut generation; all rows whose pivot variable should be
|
69
|
+
integer but is more than away from integrality will be selected;
|
70
|
+
Default: 0.05 */
|
71
|
+
virtual void setAway(const double value);
|
72
|
+
/// Get value of away
|
73
|
+
inline double getAway() const {return away_;}
|
74
|
+
|
75
|
+
/** Set the value of LUB, value considered large for the absolute value of
|
76
|
+
a lower or upper bound on a variable;
|
77
|
+
Default: 1000 */
|
78
|
+
virtual void setLUB(const double value);
|
79
|
+
/** Get the value of LUB */
|
80
|
+
inline double getLUB() const {return LUB;}
|
81
|
+
|
82
|
+
/** Set the value of EPS_ELIM, epsilon for values of coefficients when
|
83
|
+
eliminating slack variables;
|
84
|
+
Default: 1e-12 */
|
85
|
+
void setEPS_ELIM(const double value);
|
86
|
+
/** Get the value of EPS_ELIM */
|
87
|
+
double getEPS_ELIM() const {return EPS_ELIM;}
|
88
|
+
|
89
|
+
/** Set EPS_RELAX_ABS */
|
90
|
+
virtual void setEPS_RELAX_ABS(const double eps_ra);
|
91
|
+
/** Get value of EPS_RELAX_ABS */
|
92
|
+
inline double getEPS_RELAX_ABS() const {return EPS_RELAX_ABS;}
|
93
|
+
|
94
|
+
/** Set EPS_RELAX_REL */
|
95
|
+
virtual void setEPS_RELAX_REL(const double eps_rr);
|
96
|
+
/** Get value of EPS_RELAX_REL */
|
97
|
+
inline double getEPS_RELAX_REL() const {return EPS_RELAX_REL;}
|
98
|
+
|
99
|
+
// Set the maximum ratio between largest and smallest non zero
|
100
|
+
// coefficients in a cut. Default: 1e8.
|
101
|
+
virtual void setMAXDYN(double value);
|
102
|
+
/** Get the value of MAXDYN */
|
103
|
+
inline double getMAXDYN() const {return MAXDYN_LUB;}
|
104
|
+
|
105
|
+
// Set the maximum ratio between largest and smallest non zero
|
106
|
+
// coefficient in a cut involving structural variables with
|
107
|
+
// lower or upper bound in absolute value larger than LUB.
|
108
|
+
// Should logically be larger or equal to MAXDYN. Default: 1e13.
|
109
|
+
virtual void setMAXDYN_LUB(double value);
|
110
|
+
/** Get the value of MAXDYN_LUB */
|
111
|
+
inline double getMAXDYN_LUB() const {return MAXDYN_LUB;}
|
112
|
+
|
113
|
+
/** Set the value of EPS_COEFF_LUB, epsilon for values of coefficients for
|
114
|
+
variables with absolute value of lower or upper bound larger than LUB;
|
115
|
+
Default: 1e-13 */
|
116
|
+
virtual void setEPS_COEFF_LUB(const double value);
|
117
|
+
/** Get the value of EPS_COEFF_LUB */
|
118
|
+
inline double getEPS_COEFF_LUB() const {return EPS_COEFF_LUB;}
|
119
|
+
|
120
|
+
/** Set the value of MINVIOL, the minimum violation for the current
|
121
|
+
basic solution in a generated cut. Default: 1e-7 */
|
122
|
+
virtual void setMINVIOL(double value);
|
123
|
+
/** Get the value of MINVIOL */
|
124
|
+
inline double getMINVIOL() const {return MINVIOL;}
|
125
|
+
|
126
|
+
/** Set the value of USE_INTSLACKS. Default: 0 */
|
127
|
+
virtual void setUSE_INTSLACKS(int value);
|
128
|
+
/** Get the value of USE_INTSLACKS */
|
129
|
+
inline int getUSE_INTSLACKS() const {return USE_INTSLACKS;}
|
130
|
+
|
131
|
+
/** Set the value of USE_CG2. Default: 0 */
|
132
|
+
virtual void setUSE_CG2(int value);
|
133
|
+
/** Get the value of USE_CG2 */
|
134
|
+
inline int getUSE_CG2() const {return USE_CG2;}
|
135
|
+
|
136
|
+
/** Set the value of normIsZero, the threshold for considering a norm to be
|
137
|
+
0; Default: 1e-5 */
|
138
|
+
virtual void setNormIsZero(const double value);
|
139
|
+
/** Get the value of normIsZero */
|
140
|
+
inline double getNormIsZero() const {return normIsZero;}
|
141
|
+
|
142
|
+
/** Set the value of minReduc, threshold for relative norm improvement for
|
143
|
+
performing a reduction; Default: 0.05 */
|
144
|
+
virtual void setMinReduc(const double value);
|
145
|
+
/// Get the value of minReduc
|
146
|
+
inline double getMinReduc() const {return minReduc;}
|
147
|
+
|
148
|
+
/** Set the maximum allowed value for (mTab * mTab * CoinMax(mTab, nTab)) where
|
149
|
+
mTab is the number of rows used in the combinations and nTab is the
|
150
|
+
number of continuous non basic variables. The work of the generator is
|
151
|
+
proportional to (mTab * mTab * CoinMax(mTab, nTab)). Reducing the value of
|
152
|
+
maxTab makes the generator faster, but weaker. Default: 1e7. */
|
153
|
+
virtual void setMaxTab(const double value);
|
154
|
+
/// Get the value of maxTab
|
155
|
+
inline double getMaxTab() const {return maxTab_;}
|
156
|
+
//@}
|
157
|
+
|
158
|
+
/**@name Constructors and destructors */
|
159
|
+
//@{
|
160
|
+
/// Default constructor
|
161
|
+
CglRedSplitParam(const double lub = 1000.0,
|
162
|
+
const double eps_elim = 1e-12,
|
163
|
+
const double eps_relax_abs = 1e-8,
|
164
|
+
const double eps_relax_rel = 0.0,
|
165
|
+
const double max_dyn = 1e8,
|
166
|
+
const double max_dyn_lub = 1e13,
|
167
|
+
const double eps_coeff_lub = 1e-13,
|
168
|
+
const double min_viol = 1e-7,
|
169
|
+
const int use_int_slacks = 0,
|
170
|
+
const int use_cg2 = 0,
|
171
|
+
const double norm_zero = 1e-5,
|
172
|
+
const double min_reduc = 0.05,
|
173
|
+
const double away = 0.05,
|
174
|
+
const double max_tab = 1e7);
|
175
|
+
|
176
|
+
/// Constructor from CglParam
|
177
|
+
CglRedSplitParam(const CglParam &source,
|
178
|
+
const double lub = 1000.0,
|
179
|
+
const double eps_elim = 1e-12,
|
180
|
+
const double eps_relax_abs = 1e-8,
|
181
|
+
const double eps_relax_rel = 0.0,
|
182
|
+
const double max_dyn = 1e8,
|
183
|
+
const double max_dyn_lub = 1e13,
|
184
|
+
const double eps_coeff_lub = 1e-13,
|
185
|
+
const double min_viol = 1e-7,
|
186
|
+
const int use_int_slacks = 0,
|
187
|
+
const int use_cg2 = 0,
|
188
|
+
const double norm_zero = 1e-5,
|
189
|
+
const double min_reduc = 0.05,
|
190
|
+
const double away = 0.05,
|
191
|
+
const double max_tab = 1e7);
|
192
|
+
|
193
|
+
/// Copy constructor
|
194
|
+
CglRedSplitParam(const CglRedSplitParam &source);
|
195
|
+
|
196
|
+
/// Clone
|
197
|
+
virtual CglRedSplitParam* clone() const;
|
198
|
+
|
199
|
+
/// Assignment operator
|
200
|
+
virtual CglRedSplitParam& operator=(const CglRedSplitParam &rhs);
|
201
|
+
|
202
|
+
/// Destructor
|
203
|
+
virtual ~CglRedSplitParam();
|
204
|
+
//@}
|
205
|
+
|
206
|
+
protected:
|
207
|
+
|
208
|
+
/**@name Parameters */
|
209
|
+
//@{
|
210
|
+
|
211
|
+
/** Value considered large for the absolute value of lower or upper
|
212
|
+
bound on a variable. Default: 1000. */
|
213
|
+
double LUB;
|
214
|
+
|
215
|
+
/** Epsilon for value of coefficients when eliminating slack variables.
|
216
|
+
Default: 1e-12. */
|
217
|
+
double EPS_ELIM;
|
218
|
+
|
219
|
+
/** Value added to the right hand side of each generated cut to relax it.
|
220
|
+
Default: 1e-8 */
|
221
|
+
double EPS_RELAX_ABS;
|
222
|
+
|
223
|
+
/** For a generated cut with right hand side rhs_val,
|
224
|
+
EPS_RELAX_EPS * fabs(rhs_val) is used to relax the constraint.
|
225
|
+
Default: 0 */
|
226
|
+
double EPS_RELAX_REL;
|
227
|
+
|
228
|
+
// Maximum ratio between largest and smallest non zero
|
229
|
+
// coefficients in a cut. Default: 1e8.
|
230
|
+
double MAXDYN;
|
231
|
+
|
232
|
+
// Maximum ratio between largest and smallest non zero
|
233
|
+
// coefficients in a cut involving structural variables with
|
234
|
+
// lower or upper bound in absolute value larger than LUB.
|
235
|
+
// Should logically be larger or equal to MAXDYN. Default: 1e13.
|
236
|
+
double MAXDYN_LUB;
|
237
|
+
|
238
|
+
/// Epsilon for value of coefficients for variables with absolute value of
|
239
|
+
/// lower or upper bound larger than LUB. Default: 1e-13.
|
240
|
+
double EPS_COEFF_LUB;
|
241
|
+
|
242
|
+
/// Minimum violation for the current basic solution in a generated cut.
|
243
|
+
/// Default: 1e-7.
|
244
|
+
double MINVIOL;
|
245
|
+
|
246
|
+
/// Use integer slacks to generate cuts if USE_INTSLACKS = 1. Default: 0.
|
247
|
+
int USE_INTSLACKS;
|
248
|
+
|
249
|
+
/// Use second way to generate a mixed integer Gomory cut
|
250
|
+
/// (see methods generate_cgcut()) and generate_cgcut_2()). Default: 0.
|
251
|
+
int USE_CG2;
|
252
|
+
|
253
|
+
/// Norm of a vector is considered zero if smaller than normIsZero;
|
254
|
+
/// Default: 1e-5.
|
255
|
+
double normIsZero;
|
256
|
+
|
257
|
+
/// Minimum reduction in percent that must be achieved by a potential
|
258
|
+
/// reduction step in order to be performed; Between 0 and 1, default: 0.05.
|
259
|
+
double minReduc;
|
260
|
+
|
261
|
+
/// Use row only if pivot variable should be integer but is more
|
262
|
+
/// than away_ from being integer.
|
263
|
+
double away_;
|
264
|
+
|
265
|
+
/// Maximum value for (mTab * mTab * CoinMax(mTab, nTab)). See method
|
266
|
+
/// setMaxTab().
|
267
|
+
double maxTab_;
|
268
|
+
|
269
|
+
//@}
|
270
|
+
};
|
271
|
+
|
272
|
+
#endif
|
@@ -0,0 +1,240 @@
|
|
1
|
+
// LAST EDIT:
|
2
|
+
//-----------------------------------------------------------------------------
|
3
|
+
// Implementation of Residual Capacity Inequalities
|
4
|
+
// Francisco Barahona (barahon@us.ibm.com)
|
5
|
+
//
|
6
|
+
// date: May 18, 2006
|
7
|
+
//-----------------------------------------------------------------------------
|
8
|
+
// Copyright (C) 2004, International Business Machines Corporation and others.
|
9
|
+
// All Rights Reserved.
|
10
|
+
// This code is published under the Eclipse Public License.
|
11
|
+
|
12
|
+
#ifndef CglResidualCapacity_H
|
13
|
+
#define CglResidualCapacity_H
|
14
|
+
|
15
|
+
#include <iostream>
|
16
|
+
#include <fstream>
|
17
|
+
//#include <vector>
|
18
|
+
|
19
|
+
#include "CoinError.hpp"
|
20
|
+
|
21
|
+
#include "CglCutGenerator.hpp"
|
22
|
+
|
23
|
+
//=============================================================================
|
24
|
+
|
25
|
+
#ifndef CGL_DEBUG
|
26
|
+
#define CGL_DEBUG 0
|
27
|
+
#endif
|
28
|
+
|
29
|
+
//=============================================================================
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
//=============================================================================
|
35
|
+
|
36
|
+
/** Residual Capacity Inequalities Cut Generator Class
|
37
|
+
|
38
|
+
References:
|
39
|
+
T Magnanti, P Mirchandani, R Vachani,
|
40
|
+
"The convex hull of two core capacitated network design problems,"
|
41
|
+
Math Programming 60 (1993), 233-250.
|
42
|
+
|
43
|
+
A Atamturk, D Rajan,
|
44
|
+
"On splittable and unsplittable flow capacitated network design
|
45
|
+
arc-set polyhedra," Math Programming 92 (2002), 315-333. **/
|
46
|
+
|
47
|
+
class CglResidualCapacity : public CglCutGenerator {
|
48
|
+
|
49
|
+
friend void CglResidualCapacityUnitTest(const OsiSolverInterface * siP,
|
50
|
+
const std::string mpdDir );
|
51
|
+
|
52
|
+
|
53
|
+
private:
|
54
|
+
//---------------------------------------------------------------------------
|
55
|
+
// Enumeration constants that describe the various types of rows
|
56
|
+
enum RowType {
|
57
|
+
/** row of the type a_1 c_1 + + a_k c_k - d z_1 - - d z_p <= b,
|
58
|
+
where c_i are continuous variables and z_j are integer variables
|
59
|
+
*/
|
60
|
+
ROW_L,
|
61
|
+
/** row of the type -a_1 c_1 - - a_k c_k + d z_1 + + d z_p >= b,
|
62
|
+
where c_i are continuous variables and z_j are integer variables
|
63
|
+
*/
|
64
|
+
ROW_G,
|
65
|
+
/** equation that can be treated as ROW_L and ROW_G
|
66
|
+
*/
|
67
|
+
ROW_BOTH,
|
68
|
+
/** Other types of rows
|
69
|
+
*/
|
70
|
+
ROW_OTHER
|
71
|
+
};
|
72
|
+
|
73
|
+
|
74
|
+
public:
|
75
|
+
/**@name Get and Set Parameters */
|
76
|
+
//@{
|
77
|
+
/// Set Epsilon
|
78
|
+
void setEpsilon(double value);
|
79
|
+
/// Get Epsilon
|
80
|
+
double getEpsilon() const;
|
81
|
+
/// Set Tolerance
|
82
|
+
void setTolerance(double value);
|
83
|
+
/// Get Tolerance
|
84
|
+
double getTolerance() const;
|
85
|
+
/// Set doPreproc
|
86
|
+
void setDoPreproc(int value);
|
87
|
+
/// Get doPreproc
|
88
|
+
bool getDoPreproc() const;
|
89
|
+
//@}
|
90
|
+
|
91
|
+
/**@name Generate Cuts */
|
92
|
+
//@{
|
93
|
+
/** Generate Residual Capacity cuts for the model data
|
94
|
+
contained in si. The generated cuts are inserted
|
95
|
+
in the collection of cuts cs.
|
96
|
+
*/
|
97
|
+
virtual void generateCuts(const OsiSolverInterface & si, OsiCuts & cs,
|
98
|
+
const CglTreeInfo info = CglTreeInfo());
|
99
|
+
//@}
|
100
|
+
|
101
|
+
//---------------------------------------------------------------------------
|
102
|
+
/**@name Constructors and destructors */
|
103
|
+
//@{
|
104
|
+
/// Default constructor
|
105
|
+
CglResidualCapacity ();
|
106
|
+
|
107
|
+
/// Alternate Constructor
|
108
|
+
CglResidualCapacity ( const double tolerance );
|
109
|
+
|
110
|
+
/// Copy constructor
|
111
|
+
CglResidualCapacity (
|
112
|
+
const CglResidualCapacity &);
|
113
|
+
|
114
|
+
/// Clone
|
115
|
+
virtual CglCutGenerator * clone() const;
|
116
|
+
|
117
|
+
/// Assignment operator
|
118
|
+
CglResidualCapacity &
|
119
|
+
operator=(
|
120
|
+
const CglResidualCapacity& rhs);
|
121
|
+
|
122
|
+
/// Destructor
|
123
|
+
virtual
|
124
|
+
~CglResidualCapacity ();
|
125
|
+
/// This is to refresh preprocessing
|
126
|
+
virtual void refreshPrep();
|
127
|
+
//@}
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
private:
|
132
|
+
//--------------------------------------------------------------------------
|
133
|
+
// Private member methods
|
134
|
+
|
135
|
+
// Construct
|
136
|
+
void gutsOfConstruct ( const double tolerance);
|
137
|
+
|
138
|
+
// Delete
|
139
|
+
void gutsOfDelete();
|
140
|
+
|
141
|
+
// Copy
|
142
|
+
void gutsOfCopy (const CglResidualCapacity& rhs);
|
143
|
+
|
144
|
+
// Do preprocessing.
|
145
|
+
// It determines the type of each row.
|
146
|
+
// It may change sense and RHS for ranged rows
|
147
|
+
void resCapPreprocess(const OsiSolverInterface& si);
|
148
|
+
|
149
|
+
// Determine the type of a given row.
|
150
|
+
RowType determineRowType(const OsiSolverInterface& si,
|
151
|
+
const int rowLen, const int* ind,
|
152
|
+
const double* coef, const char sense,
|
153
|
+
const double rhs,
|
154
|
+
const double* colLowerBound,
|
155
|
+
const double* colUpperBound) const;
|
156
|
+
// helps the function above
|
157
|
+
bool treatAsLessThan(const OsiSolverInterface& si,
|
158
|
+
const int rowLen, const int* ind,
|
159
|
+
const double* coef,
|
160
|
+
const double rhs,
|
161
|
+
const double* colLowerBound,
|
162
|
+
const double* colUpperBound) const;
|
163
|
+
|
164
|
+
// Generate Residual Capacity cuts
|
165
|
+
void generateResCapCuts( const OsiSolverInterface& si,
|
166
|
+
const double* xlp,
|
167
|
+
const double* colUpperBound,
|
168
|
+
const double* colLowerBound,
|
169
|
+
const CoinPackedMatrix& matrixByRow,
|
170
|
+
const double* LHS,
|
171
|
+
const double* coefByRow,
|
172
|
+
const int* colInds,
|
173
|
+
const CoinBigIndex* rowStarts,
|
174
|
+
const int* rowLengths,
|
175
|
+
OsiCuts& cs ) const;
|
176
|
+
|
177
|
+
|
178
|
+
// Residual Capacity separation
|
179
|
+
bool resCapSeparation(const OsiSolverInterface& si,
|
180
|
+
const int rowLen, const int* ind,
|
181
|
+
const double* coef,
|
182
|
+
const double rhs,
|
183
|
+
const double *xlp,
|
184
|
+
const double* colUpperBound,
|
185
|
+
const double* colLowerBound,
|
186
|
+
OsiRowCut& resCapCut) const;
|
187
|
+
|
188
|
+
|
189
|
+
|
190
|
+
private:
|
191
|
+
//---------------------------------------------------------------------------
|
192
|
+
// Private member data
|
193
|
+
/** Tolerance used for numerical purposes, default value: 1.e-6 **/
|
194
|
+
double EPSILON_;
|
195
|
+
/** If violation of a cut is greater that this number,
|
196
|
+
the cut is accepted, default value: 1.e-4 **/
|
197
|
+
double TOLERANCE_;
|
198
|
+
/** Controls the preprocessing of the matrix to identify rows suitable for
|
199
|
+
cut generation.<UL>
|
200
|
+
<LI> -1: preprocess according to solver settings;
|
201
|
+
<LI> 0: Do preprocessing only if it has not yet been done;
|
202
|
+
<LI> 1: Do preprocessing.
|
203
|
+
</UL>
|
204
|
+
Default value: -1 **/
|
205
|
+
int doPreproc_;
|
206
|
+
// The number of rows of the problem.
|
207
|
+
int numRows_;
|
208
|
+
// The number columns of the problem.
|
209
|
+
int numCols_;
|
210
|
+
// Indicates whether preprocessing has been done.
|
211
|
+
bool doneInitPre_;
|
212
|
+
// Array with the row types of the rows in the model.
|
213
|
+
RowType* rowTypes_;
|
214
|
+
// The indices of the rows of the initial matrix
|
215
|
+
int* indRows_;
|
216
|
+
// Sense of rows (modified if ranges)
|
217
|
+
char * sense_;
|
218
|
+
// RHS of rows (modified if ranges)
|
219
|
+
double * RHS_;
|
220
|
+
// The number of rows of type ROW_L
|
221
|
+
int numRowL_;
|
222
|
+
// The indices of the rows of type ROW_L
|
223
|
+
int* indRowL_;
|
224
|
+
// The number of rows of type ROW_G
|
225
|
+
int numRowG_;
|
226
|
+
// The indices of the rows of type ROW_G
|
227
|
+
int* indRowG_;
|
228
|
+
};
|
229
|
+
|
230
|
+
//#############################################################################
|
231
|
+
/** A function that tests the methods in the CglResidualCapacity class. The
|
232
|
+
only reason for it not to be a member method is that this way it doesn't
|
233
|
+
have to be compiled into the library. And that's a gain, because the
|
234
|
+
library should be compiled with optimization on, but this method should be
|
235
|
+
compiled with debugging. */
|
236
|
+
void CglResidualCapacityUnitTest(const OsiSolverInterface * siP,
|
237
|
+
const std::string mpdDir);
|
238
|
+
|
239
|
+
|
240
|
+
#endif
|
@@ -0,0 +1,174 @@
|
|
1
|
+
// $Id$
|
2
|
+
// Copyright (C) 2000, International Business Machines
|
3
|
+
// Corporation and others. All Rights Reserved.
|
4
|
+
// This code is licensed under the terms of the Eclipse Public License (EPL).
|
5
|
+
|
6
|
+
#ifndef CglSimpleRounding_H
|
7
|
+
#define CglSimpleRounding_H
|
8
|
+
|
9
|
+
#include <string>
|
10
|
+
|
11
|
+
#include "CglCutGenerator.hpp"
|
12
|
+
#include "CoinPackedMatrix.hpp"
|
13
|
+
|
14
|
+
/** Simple Rounding Cut Generator Class
|
15
|
+
|
16
|
+
This class generates simple rounding cuts via the following method:
|
17
|
+
For each contraint,
|
18
|
+
attempt to derive a <= inequality in all integer variables
|
19
|
+
by netting out any continuous variables.
|
20
|
+
Divide the resulting integer inequality through by
|
21
|
+
the greatest common denomimator (gcd) of the lhs coefficients.
|
22
|
+
Round down the rhs.
|
23
|
+
|
24
|
+
Warning: Use with careful attention to data precision.
|
25
|
+
|
26
|
+
(Reference: Nemhauser and Wolsey, Integer and Combinatorial Optimization, 1988, pg 211.)
|
27
|
+
*/
|
28
|
+
|
29
|
+
class CglSimpleRounding : public CglCutGenerator {
|
30
|
+
friend void CglSimpleRoundingUnitTest(const OsiSolverInterface * siP,
|
31
|
+
const std::string mpdDir );
|
32
|
+
|
33
|
+
public:
|
34
|
+
|
35
|
+
/**@name Generate Cuts */
|
36
|
+
//@{
|
37
|
+
/** Generate simple rounding cuts for the model accessed through the solver interface.
|
38
|
+
Insert generated cuts into the cut set cs.
|
39
|
+
*/
|
40
|
+
virtual void generateCuts( const OsiSolverInterface & si, OsiCuts & cs,
|
41
|
+
const CglTreeInfo info = CglTreeInfo());
|
42
|
+
//@}
|
43
|
+
|
44
|
+
/**@name Constructors and destructors */
|
45
|
+
//@{
|
46
|
+
/// Default constructor
|
47
|
+
CglSimpleRounding ();
|
48
|
+
|
49
|
+
/// Copy constructor
|
50
|
+
CglSimpleRounding (
|
51
|
+
const CglSimpleRounding &);
|
52
|
+
|
53
|
+
/// Clone
|
54
|
+
virtual CglCutGenerator * clone() const;
|
55
|
+
|
56
|
+
/// Assignment operator
|
57
|
+
CglSimpleRounding &
|
58
|
+
operator=(
|
59
|
+
const CglSimpleRounding& rhs);
|
60
|
+
|
61
|
+
/// Destructor
|
62
|
+
virtual
|
63
|
+
~CglSimpleRounding ();
|
64
|
+
/// Create C++ lines to get to current state
|
65
|
+
virtual std::string generateCpp( FILE * fp);
|
66
|
+
//@}
|
67
|
+
|
68
|
+
private:
|
69
|
+
|
70
|
+
// Private member methods
|
71
|
+
|
72
|
+
/**@name Private methods */
|
73
|
+
//@{
|
74
|
+
|
75
|
+
/// Derive a <= inequality in integer variables from the rowIndex-th constraint
|
76
|
+
bool deriveAnIntegerRow(
|
77
|
+
const OsiSolverInterface & si,
|
78
|
+
int rowIndex,
|
79
|
+
const CoinShallowPackedVector & matrixRow,
|
80
|
+
CoinPackedVector & irow,
|
81
|
+
double & b,
|
82
|
+
bool * negative) const;
|
83
|
+
|
84
|
+
|
85
|
+
/** Given a vector of doubles, x, with size elements and a positive tolerance,
|
86
|
+
dataTol, this method returns the smallest power of 10 needed so that
|
87
|
+
x[i]*10**power "is integer" for all i=0,...,size-1.
|
88
|
+
|
89
|
+
** change of definition of dataTol so that it refers to original
|
90
|
+
data, not to scaled data as that seems to lead to problems.
|
91
|
+
|
92
|
+
So if xScaled is x[i]*10**power and xInt is rounded(xScaled)
|
93
|
+
then fabs(xScaled-xInt) <= dataTol*10**power. This means that
|
94
|
+
dataTol should be smaller - say 1.0e-12 rather tahn 1.0e-8
|
95
|
+
|
96
|
+
Returns -number of times overflowed if the power is so big that it will
|
97
|
+
cause overflow (i.e. integer stored will be bigger than 2**31).
|
98
|
+
Test in cut generator.
|
99
|
+
*/
|
100
|
+
int power10ToMakeDoubleAnInt(
|
101
|
+
int size, // the length of the vector x
|
102
|
+
const double * x,
|
103
|
+
double dataTol ) const; // the precision of the data, i.e. the positive
|
104
|
+
// epsilon, which is equivalent to zero
|
105
|
+
|
106
|
+
/**@name Greatest common denominators methods */
|
107
|
+
//@{
|
108
|
+
/// Returns the greatest common denominator of two positive integers, a and b.
|
109
|
+
inline int gcd(int a, int b) const;
|
110
|
+
|
111
|
+
/** Returns the greatest common denominator of a vector of
|
112
|
+
positive integers, vi, of length n.
|
113
|
+
*/
|
114
|
+
inline int gcdv(int n, const int * const vi) const;
|
115
|
+
//@}
|
116
|
+
|
117
|
+
//@}
|
118
|
+
|
119
|
+
/**@name Private member data */
|
120
|
+
//@{
|
121
|
+
/// A value within an epsilon_ neighborhood of 0 is considered to be 0.
|
122
|
+
double epsilon_;
|
123
|
+
//@}
|
124
|
+
};
|
125
|
+
|
126
|
+
|
127
|
+
//-------------------------------------------------------------------
|
128
|
+
// Returns the greatest common denominator of two
|
129
|
+
// positive integers, a and b, found using Euclid's algorithm
|
130
|
+
//-------------------------------------------------------------------
|
131
|
+
int
|
132
|
+
CglSimpleRounding::gcd(int a, int b) const
|
133
|
+
{
|
134
|
+
if(a > b) {
|
135
|
+
// Swap a and b
|
136
|
+
int temp = a;
|
137
|
+
a = b;
|
138
|
+
b = temp;
|
139
|
+
}
|
140
|
+
int remainder = b % a;
|
141
|
+
if (remainder == 0) return a;
|
142
|
+
else return gcd(remainder,a);
|
143
|
+
}
|
144
|
+
|
145
|
+
//-------------------------------------------------------------------
|
146
|
+
// Returns the greatest common denominator of a vector of
|
147
|
+
// positive integers, vi, of length n.
|
148
|
+
//-------------------------------------------------------------------
|
149
|
+
int
|
150
|
+
CglSimpleRounding::gcdv(int n, const int* const vi) const
|
151
|
+
{
|
152
|
+
if (n==0)
|
153
|
+
abort();
|
154
|
+
|
155
|
+
if (n==1)
|
156
|
+
return vi[0];
|
157
|
+
|
158
|
+
int retval=gcd(vi[0], vi[1]);
|
159
|
+
for (int i=2; i<n; i++){
|
160
|
+
retval=gcd(retval,vi[i]);
|
161
|
+
}
|
162
|
+
return retval;
|
163
|
+
}
|
164
|
+
|
165
|
+
//#############################################################################
|
166
|
+
/** A function that tests the methods in the CglSimpleRounding class. The
|
167
|
+
only reason for it not to be a member method is that this way it doesn't
|
168
|
+
have to be compiled into the library. And that's a gain, because the
|
169
|
+
library should be compiled with optimization on, but this method should be
|
170
|
+
compiled with debugging. */
|
171
|
+
void CglSimpleRoundingUnitTest(const OsiSolverInterface * siP,
|
172
|
+
const std::string mpdDir );
|
173
|
+
|
174
|
+
#endif
|