R(LPsolve)でLPを実行しようとしていますが、私の組み合わせのうちの1つが決して実行されるべきではありません。例えば、私は男性と女性を仲間にしようとしているのですが(人間ではありません:-))、関数の値を最大にするために(行列は以下「ランク」と呼ばれます)。しかし、男性の一人は女性の一人に完全な兄弟ですので、私はその仲間がこれまでに発生することは望んでいません(下記のマトリックスの男性1 &女性1)。私はすべての女性が交配された状態(つまり、制約条件)を欲し、すべての男性が2と2の交配(もう1つの制約)を持つようにしたい。私は[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
御馳走を働きました!非常に高く評価!!! –