dis <- function (C = 6, Dmin = 4, N = 4, p = 3/4, cos = 4, pvp = 5) {
D <- Dmin : (Dmin+N) P <- dbinom(0:N, N, p) V <- pmin(D, C) B <- pvp * V - cos * C P <- by(P, B, sum) B <- as.numeric (names (P)) list(val=B, prob=as.numeric(P)) }
mediaB <- function(...) {
distro <- dis(...) weighted.mean(distro$val, distro$prob) }
varB <- function(...) {
distro <- dis(...)
weighted.mean(distro$val^2, distro$prob) - mediaB(...)^2
}
mejor <- function (Dmin=4, N=4, ...) {
encargables <- Dmin : (Dmin+N) beneficios <- sapply(encargables, function(C) mediaB(C, Dmin, N, ...))
names(beneficios) <- encargables beneficios [which.max (beneficios)] }
plot(xx <- 4:24, sapply(xx, function(C) mediaB(N=20,C=C)))
mejor(N=20)