---------------- # Aufgabe 2d # ---------------- require(linprog) n = 9 x = runif(n,min=0,max=10) x = sort(x) x summary(x) median(x) e = rep(1,n) c = c(e,0,0) Id = diag(e) A1 = cbind( -Id , e , -e ) A2 = cbind( -Id , -e , e ) A = rbind( A1 , A2 ) b = c(x,-x) A b c # das primale Problem: minimiere g (oder maximiere -g) res = solveLP(c,b,A,maximum=FALSE) names(res) res$solution res$opt # das ist lambda_1, ... , lambda_n, mu_1, mu_2 # mit mu_opt = mu_1 - mu_2 = median(x), das passt. median(x) res$iter1 res$iter2 # das duale Problem: um es mit der solveLP()-Funktion # zu loesen, muessen wir es auf Standard-Ungleichungform # bringen: cd = -b Ad = -t(A) bd = c resd = solveLP(cd,bd,Ad,maximum=TRUE) resd$solution # ist aus dem R^{2n} = R^18; die ersten vier # und die letzten vier sind Einsen, das passt! resd$opt res$opt # sind identisch resd$iter1 resd$iter2