我用Excel求解解決優化問題,我試圖複製其在R.如何複製Excel求解中的R
我發現很多的包像的Optim,投資回報率等,但似乎所有的它們只將矢量作爲對象進行優化,並允許變量取任何連續的值。在我的情況下,我有一個約束矩陣,也需要滿足,我的變量只能採用二進制值。
這是問題,我想解決:
A-d是機器,1-3是任務,並在第一矩陣的數量是利用X光機做Ÿ任務所產生的價值。約束條件是:A-D可以做並且只能執行一項任務(不能分割);每個任務都可以工作,只能由一臺機器完成。
這裏是代碼我使用:
par = rep(c(0,1),6)
mat <- matrix(c(9,10,11,4,5,10,1,3,5,7,5,4), nrow = 3)
fr <- function(x) {
y= matrix(x,nrow = 4)
sum(mat %*% y)
}
a = optim(par, fr)
一些問題:如何優化最大,似乎這個功能默認優化最低?我該如何添加約束條件?我怎樣才能限制二元變量?
矩陣是一個畸形向量;重塑它,你很好去(假設你理解如何編碼矢量的優化)。 'xmat = matrix(1:4,ncol = 2); x = c(xmat)' – Frank
謝謝弗蘭克!我試過了,它工作。但我有一些跟進問題。我確實不知道如何編碼矢量的優化。 – Yoki
只需添加一個「 - 」減號來加總功能,優化就會最大化。 – forecaster