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==