有没有人知道R的优化包(类似于NU + +的S +)?R的优化软件包
Q
R的优化软件包
7
A
回答
2
我已经使用linprog过去的线性问题。
5
由Galwegian提及的Linprog专注于通过单纯形算法进行线性编程。此外,如果您正在进行投资组合优化,您可能对fPortfolio感兴趣。
14
R有许多优化包;检查优化的CRAN任务视图:http://cran.r-project.org/web/views/Optimization.html。当然,对于非线性程序,有optim()
,这是标准的,包括Broyden-Fletcher-Goldfarb-Shanno算法和Nelder-Mead。这是一个很好的开始。
4
尝试lpSolve与R.
一个简单的例子:
# Maximize
# x1 + 9 x2 + x3
# Subject to:
# x1 + 2 x2 + 3 x3 <= 9
# 3 x1 + 2 x2 + 2 x3 <= 15
f.obj <- c(1, 9, 3)
f.con <- matrix(c(1, 2, 3, 3, 2, 2), nrow = 2, byrow = TRUE)
f.dir <- c("<=", "<=")
f.rhs <- c(9, 15)
lp("max", f.obj, f.con, f.dir, f.rhs)
lp("max", f.obj, f.con, f.dir, f.rhs)$solution
5
你也应该尝试Rglpk包解决LP问题GLPK (GNU Linear Programming Kit)。
一个例子:
## Simple linear program.
## maximize: 2 x_1 + 4 x_2 + 3 x_3
## subject to: 3 x_1 + 4 x_2 + 2 x_3 <= 60
## 2 x_1 + x_2 + x_3 <= 40
## x_1 + 3 x_2 + 2 x_3 <= 80
## x_1, x_2, x_3 are non-negative real numbers
obj <- c(2, 4, 3)
mat <- matrix(c(3, 2, 1, 4, 1, 3, 2, 2, 2), nrow = 3)
dir <- c("<=", "<=", "<=")
rhs <- c(60, 40, 80)
max <- TRUE
Rglpk_solve_LP(obj, mat, dir, rhs, max = max)
右输出:
(注意$status
与关于溶液状态的信息的整数返回如果控制参数canonicalize_status被设定(缺省值),那么它会为返回0找到最佳解决方案,否则为非零;如果控制参数设置为FALSE,它将返回GLPK状态码)。
$optimum
[1] 76.66667
$solution
[1] 0.000000 6.666667 16.666667
$status
[1] 0
1
我喜欢古罗比。许可证费用很高,但可以通过许多大学获得。看到这里http://www.gurobi.com/products/modeling-languages/r
相关问题
- 1. HexFile软件包R
- 2. 使用R中的quadprog软件包优化投资组合的重量限制
- 3. R中的hybridEnsemble软件包
- 4. R的betareg软件包2.15.0
- 5. Adabag软件包中的R
- 6. Pinning R软件包版本
- 7. KernelBB AdeHabitat软件包R
- 8. 安装软件包R(Ubuntu)
- 9. “GraphClusterAnalysis”软件包中R
- 10. R验证软件包
- 11. R Sparklines软件包错误
- 12. R g软件包错误
- 13. 加载rLingo软件包R
- 14. 在安装时安装软件包所需的R软件包
- 15. 使用R软件并行运行多个线性优化
- 16. Python 3.3的线性编程优化软件包?
- 17. 用于解决大规模优化问题的软件包
- 18. R - regd软件包依赖于另一个软件包
- 19. 针对虚拟机的软件优化
- 20. R中的优化
- 21. 优化中的R
- 22. 优化:R中
- 23. 我应该如何格式化R mlogit软件包的数据?
- 24. R Shiny所需的软件包和Github
- 25. R fpc软件包的安装
- 26. R,找到已安装的软件包
- 27. R-Studio中的tm软件包安装
- 28. r install.packages安装下载的软件包
- 29. 在Ubuntu的R软件包安装
- 30. R for windows的RSSA软件包
downvote for'这个问题没有显示任何研究努力' – Spacedman 2013-01-06 09:51:22
我“可能”已经提出了这个很长的问题,谈论我所需要的细节,以及我是如何研究linprog,并发现它想要的。或者我可以问一个非常简单的问题。我坚持这一决定。顺便说一句,虽然我不同意你低估我的原因,但至少你有礼貌给出一个理由。谢谢你的礼貌。 – wcm 2013-01-09 21:02:12