CRAN 任务视图:优化和数学规划

维护者Florian Schwendinger,Hans W. Borchers
联系方式R-optimization at mailbox.org
版本2024-03-17
网址https://CRAN.R-project.org/view=Optimization
源代码https://github.com/cran-task-views/Optimization/
贡献欢迎对本任务视图提出建议和改进,可以通过 GitHub 上的问题或拉取请求,或通过电子邮件发送给维护者地址。有关更多详细信息,请参阅 贡献指南
引用Florian Schwendinger, Hans W. Borchers (2024). CRAN 任务视图:优化和数学规划。版本 2024-03-17。网址 https://CRAN.R-project.org/view=Optimization。
安装可以使用 ctv 包自动安装本任务视图中的包。例如,ctv::install.views("Optimization", coreOnly = TRUE) 安装所有核心包,或 ctv::update.views("Optimization") 安装所有尚未安装和更新的包。有关更多详细信息,请参阅 CRAN 任务视图计划

本 CRAN 任务视图包含一个提供解决优化问题的工具的包列表。尽管统计学中的每个回归模型都解决了一个优化问题,但它们不属于本视图。如果您正在寻找回归方法,以下视图也将包含有用的起点:机器学习计量经济学稳健 包根据以下部分进行分类。另请参阅结尾处的“相关链接”和“其他资源”部分。

内容

许多包提供了针对本任务视图末尾列出的多个主题的功能。例如,混合整数线性规划求解器通常提供标准线性规划例程,如单纯形算法。因此,在每个包描述之后,一个缩写列表描述了优化器的典型特征(即可以解决的问题)。方括号中给出的缩写的全名可以在本任务视图末尾的 **按主题分类** 下找到。

如果您认为列表中缺少某些软件包,请通过电子邮件联系维护者,或在上面链接的 GitHub 存储库中提交问题或拉取请求。

优化基础设施包

通用连续求解器

stats 包提供了一些通用的优化例程。对于一维无约束函数优化,存在 optimize(),它在一个区间内搜索最小值或最大值。函数 optim() 提供了 Broyden-Fletcher-Goldfarb-Shanno (BFGS) 方法、有界 BFGS、共轭梯度 (CG)、Nelder-Mead 和模拟退火 (SANN) 优化方法的实现。它利用提供的梯度,以实现更快的收敛。通常它用于无约束优化,但包括一个用于盒约束优化的选项。

此外,对于在满足线性不等式约束的情况下最小化函数,stats 包含例程 constrOptim()。然后是 nlm,它用于解决非线性无约束最小化问题。nlminb() 使用 PORT 例程提供盒约束优化。[RGA, QN]

二次优化

测试和基准集合

最小二乘问题

函数 solve.qr()(或 qr.solve())处理超定和欠定线性方程组,如果可能,返回最小二乘解。而包 stats 提供 nls() 来确定非线性模型参数的最小二乘估计。 nls2 通过蛮力或网格搜索增强了函数 nls(),以避免依赖于起始参数或陷入局部解。

半定和凸求解器

全局和随机优化

数学规划求解器

本节概述了开源和商业优化器。可以通过方括号中的缩写查看特定包或函数可以解决哪种类型的数学规划问题。有关 按主题分类,请参阅此任务视图末尾的列表。

开源优化器接口

商业优化器接口

本节概述了商业求解器的接口。通常,相应的库需要单独安装。

一些其他商业公司,例如 “LocalSolver”、“Artelys Knitro” 或 “FICO Xpress Optimization”,具有在安装软件时安装的 R 接口。试用许可证可用,有关更多信息,请访问相应的网站。

组合优化

多目标优化

优化中的特定应用

按主题分类

以下是按主题对包进行概述的尝试。主题的完整名称以及相应的 MSC 2010 代码(如果可用)在括号中给出。

CRAN 包

核心alabamaDEoptimdfoptimquadprogucminf.
常规ABCoptim, adagio, ao, BB, boot, bvls, calibrar, caRamel, cccp, CEoptim, clarabel, clue, cmaes, cmaesr, colf, coneproj, copulaedas, crs, CVXR, dclone, DEoptimR, desirability, Dykstra, ECOSolveR, ecr, emoa, flacco, FLSSS, GA, gafit, genalg, GenSA, globalOptTests, glpkAPI, GPareto, graDiEnt, gsl, gslnls, highs, igraph, irace, isotone, kernlab, kofnGA, lbfgs, lbfgsb3c, limSolve, linprog, LowRankQP, lpSolve, lpSolveAPI, lsei, ManifoldOptim, MaOEA, marqLevAlg, matchingMarkets, matchingR, maxLik, mcga, mco, metaheuristicOpt, minpack.lm, minqa, mixsqp, mize, mknapsack, mlrMBO, n1qn1, neighbours, neldermead, nilde, NlcOptim, nloptr, nls2, nlsic, nlsr, NMOF, nnls, nonneg.cg, nspmix, ompr, onls, OOR, optimizeR, optimParallel, optimsimplex, optimx, optmatch, osqp, parma, piqp, pso, psoptim, psqn, qap, qpmadr, quadprogXT, quantreg, rBayesianOptimization, rcdd, RCEIM, rCMA, Rcplex, RcppDE, RcppNumerical, Rcsdp, Rdsdp, REBayes, rgenoud, Rglpk, Rmalschains, rminizinc, rmoo, Rmosek, rneos, ROI, ROI.plugin.neos, ROI.plugin.qpoases, roptim, Rsolnp, Rsymphony, scs, sdpt3r, smoof, sna, soma, SPOT, stochQN, subplex, tabuSearch, TreeDist, trust, trustOptim, TSP.

相关链接

其他资源