有沒有人知道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