payoff <- matrix(c(-10000, 30000, 40000,
120000, 140000, 120000,
250000, 250000, 200000,
380000, 360000, 280000),
nrow=4, ncol=3, byrow=TRUE)
colnames(payoff) <- c("Technique A", "Technique B", "Technique C")
rownames(payoff) <- c("Demand 3,000", "Demand 4,000", "Demand 5,000", "Demand 6,000")
print(payoff)
Technique A Technique B Technique C
Demand 3,000 -10000 30000 40000
Demand 4,000 120000 140000 120000
Demand 5,000 250000 250000 200000
Demand 6,000 380000 360000 280000
# (a) MaxiMax
maximax <- apply(payoff, 2, max)
opt_maximax <- which.max(maximax)
print(maximax )
Technique A Technique B Technique C
380000 360000 280000
print(opt_maximax)
Technique A
1
cat("MaxiMax: ", names(maximax[opt_maximax]), "\n")
MaxiMax: Technique A
# (b) MaxMin
maxmin <- apply(payoff, 2, min)
opt_maxmin <- which.max(maxmin)
print(maximax )
Technique A Technique B Technique C
380000 360000 280000
print(opt_maxmin )
Technique C
3
cat("maxmin : ", names(maxmin[opt_maxmin ]), "\n")
maxmin : Technique C
# (c) MinMax Regret
regret <- matrix(0, nrow=nrow(payoff), ncol=ncol(payoff))
for(i in 1:nrow(payoff)){
best <- max(payoff[i, ])
regret[i, ] <- best - payoff[i, ]
}
colnames(regret) <- colnames(payoff)
rownames(regret) <- rownames(payoff)
print(regret)
Technique A Technique B Technique C
Demand 3,000 50000 10000 0e+00
Demand 4,000 20000 0 2e+04
Demand 5,000 0 0 5e+04
Demand 6,000 0 20000 1e+05
max_regret <- apply(regret, 2, max)
opt_minmax_regret <- which.min(max_regret)
print(max_regret )
Technique A Technique B Technique C
5e+04 2e+04 1e+05
print(opt_minmax_regret)
Technique B
2
cat("max_regret : ", names(max_regret[opt_minmax_regret]), "\n")
max_regret : Technique B
#(d) Laplace Criterion (Equal Likelihood)
laplace <- apply(payoff, 2, mean)
opt_laplace <- which.max(laplace)
print(laplace )
Technique A Technique B Technique C
185000 195000 160000
print(opt_laplace )
Technique B
2
cat("laplace : ", names(laplace [opt_laplace ]), "\n")
laplace : Technique B
# (e) Hurwicz Criterion (alpha = 0.4)
alpha <- 0.4
hurwicz <- alpha * apply(payoff, 2, max) + (1 - alpha) * apply(payoff, 2, min)
opt_hurwicz <- which.max(hurwicz)
print(hurwicz )
Technique A Technique B Technique C
146000 162000 136000
print(opt_hurwicz )
Technique B
2
cat("hurwicz : ", names(hurwicz [opt_hurwicz ]), "\n")
hurwicz : Technique B
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3J9CnBheW9mZiA8LSBtYXRyaXgoYygtMTAwMDAsIDMwMDAwLCA0MDAwMCwKICAgICAgICAgICAgICAgICAgIDEyMDAwMCwgMTQwMDAwLCAxMjAwMDAsCiAgICAgICAgICAgICAgICAgIDI1MDAwMCwgMjUwMDAwLCAyMDAwMDAsCiAgICAgICAgICAgICAgICAgMzgwMDAwLCAzNjAwMDAsIDI4MDAwMCksIAogICAgICAgICAgICAgICAgIG5yb3c9NCwgbmNvbD0zLCBieXJvdz1UUlVFKQpjb2xuYW1lcyhwYXlvZmYpIDwtIGMoIlRlY2huaXF1ZSBBIiwgIlRlY2huaXF1ZSBCIiwgIlRlY2huaXF1ZSBDIikKcm93bmFtZXMocGF5b2ZmKSA8LSBjKCJEZW1hbmQgMywwMDAiLCAiRGVtYW5kIDQsMDAwIiwgIkRlbWFuZCA1LDAwMCIsICJEZW1hbmQgNiwwMDAiKQpwcmludChwYXlvZmYpCmBgYAoKYGBge3J9CiMgKGEpIE1heGlNYXgKbWF4aW1heCA8LSBhcHBseShwYXlvZmYsIDIsIG1heCkKb3B0X21heGltYXggPC0gd2hpY2gubWF4KG1heGltYXgpCnByaW50KG1heGltYXggKQpwcmludChvcHRfbWF4aW1heCkKY2F0KCJNYXhpTWF4OiAiLCBuYW1lcyhtYXhpbWF4W29wdF9tYXhpbWF4XSksICJcbiIpCmBgYAoKYGBge3J9CiMgKGIpIE1heE1pbgptYXhtaW4gPC0gYXBwbHkocGF5b2ZmLCAyLCBtaW4pCm9wdF9tYXhtaW4gPC0gd2hpY2gubWF4KG1heG1pbikKcHJpbnQobWF4aW1heCApCnByaW50KG9wdF9tYXhtaW4gKQpjYXQoIm1heG1pbiA6ICIsIG5hbWVzKG1heG1pbltvcHRfbWF4bWluIF0pLCAiXG4iKQoKYGBgCgpgYGB7cn0KIyAoYykgTWluTWF4IFJlZ3JldApyZWdyZXQgPC0gbWF0cml4KDAsIG5yb3c9bnJvdyhwYXlvZmYpLCBuY29sPW5jb2wocGF5b2ZmKSkKZm9yKGkgaW4gMTpucm93KHBheW9mZikpewogIGJlc3QgPC0gbWF4KHBheW9mZltpLCBdKQogIHJlZ3JldFtpLCBdIDwtIGJlc3QgLSBwYXlvZmZbaSwgXQp9CmNvbG5hbWVzKHJlZ3JldCkgPC0gY29sbmFtZXMocGF5b2ZmKQpyb3duYW1lcyhyZWdyZXQpIDwtIHJvd25hbWVzKHBheW9mZikKcHJpbnQocmVncmV0KQptYXhfcmVncmV0IDwtIGFwcGx5KHJlZ3JldCwgMiwgbWF4KQpvcHRfbWlubWF4X3JlZ3JldCA8LSB3aGljaC5taW4obWF4X3JlZ3JldCkKcHJpbnQobWF4X3JlZ3JldCApCnByaW50KG9wdF9taW5tYXhfcmVncmV0KQpjYXQoIm1heF9yZWdyZXQgOiAiLCBuYW1lcyhtYXhfcmVncmV0W29wdF9taW5tYXhfcmVncmV0XSksICJcbiIpCmBgYAoKYGBge3J9CiMoZCkgTGFwbGFjZSBDcml0ZXJpb24gKEVxdWFsIExpa2VsaWhvb2QpCmxhcGxhY2UgPC0gYXBwbHkocGF5b2ZmLCAyLCBtZWFuKQpvcHRfbGFwbGFjZSA8LSB3aGljaC5tYXgobGFwbGFjZSkKcHJpbnQobGFwbGFjZSApCnByaW50KG9wdF9sYXBsYWNlICkKY2F0KCJsYXBsYWNlIDogIiwgbmFtZXMobGFwbGFjZSBbb3B0X2xhcGxhY2UgXSksICJcbiIpCmBgYAoKYGBge3J9CiMgKGUpIEh1cndpY3ogQ3JpdGVyaW9uIChhbHBoYSA9IDAuNCkKYWxwaGEgPC0gMC40Cmh1cndpY3ogPC0gYWxwaGEgKiBhcHBseShwYXlvZmYsIDIsIG1heCkgKyAoMSAtIGFscGhhKSAqIGFwcGx5KHBheW9mZiwgMiwgbWluKQpvcHRfaHVyd2ljeiA8LSB3aGljaC5tYXgoaHVyd2ljeikKcHJpbnQoaHVyd2ljeiApCnByaW50KG9wdF9odXJ3aWN6ICApCmNhdCgiaHVyd2ljeiA6ICIsIG5hbWVzKGh1cndpY3ogW29wdF9odXJ3aWN6ICBdKSwgIlxuIikKYGBgCg==