2
我想在R(LPsolve)中運行LP,但是我的組合之一應該永遠不會發生。例如,如果我正在嘗試配對男性和女性(不是人類:-))來最大化函數值(下面稱爲「級別」的矩陣)。然而,其中一個男性是女性的一個完整的兄弟,所以我不希望這種交配永遠發生(例如,下面矩陣中的男性1 &女性1)。我希望所有的女性交配(即約束),並且我希望所有男性有2次交配(只有2次交配)(另一個約束)。我試着讓[1,1]交配真的是負面的,這可以幫助,但我希望它是愚蠢的證據。我試過NA,NULL等,但無濟於事。 在此先感謝R:LPsolve(線性編程)「缺失值」
rank <- matrix (0,3, 6) # matrix of males (rows) x females (columns) with the value to maximize for each combination
for (i in 1:3) {
for (j in 1:6)
{
rank[i,j] <-i*j
}
}
m <- NROW(rank) #number of males
f <- NCOL(rank) # number of females
row.signs <- c(rep("=", m))
row.rhs <- c(rep(2,m))
col.signs <- rep ("=", f)
col.rhs <- c(rep(1,f))
lp.transport (rank, "max", row.signs, row.rhs, col.signs, col.rhs)$solution
這工作一種享受!非常感謝!!! –