meine Füße in R nach der Verwendung von Excel für viele Jahre tauchen und habe eine Frage. Ich bin sehr beeindruckt davon, wie viel schneller R ist, es dauerte Excel über eine Stunde zu tun, 10.000 Simulationen zu tun und R hat 25.000 der gleichen Sim in 4 Minuten. Genial.Bedingte Einschränkungen in RGLPK-Bibliothek für R
Dies ist Fantasy Football verwandt, da ich versuche, einen Lineup Optimizer in R zu erstellen und die RGLPK-Bibliothek als eine gute Option zu finden. Es gibt viele andere Fragen zu SO, die mir geholfen haben, dahin zu kommen, wo ich heute bin, aber ich habe eine Straßensperre erreicht. Hier sind einige der anderen Themen.
Fantasy football linear programming in R with RGLPK
Rglpk - Fantasy Football Lineup Optimiser - Rbind of For Loop Output
Rglpk - Fantasy Football Lineup Optimiser - Forcing the Inclusion of a Player
Hier ist mein Lager Optimierer
#stock optimal linups solver
name <- myData$Name
pos <- myData$Pos
pts <- myData$Projection
cost <- myData$Salary
team <- myData$Team
opp <- myData$Opp
num.players <- length(name)
f <- pts
var.types <- rep("B", num.players)
A <- rbind(as.numeric(pos=="QB")
, as.numeric(pos=="RB")
, as.numeric(pos=="WR")
, as.numeric(pos=="TE")
, as.numeric(pos=="K")
, as.numeric(pos=="D")
,cost)
dir <- c("=="
,"=="
,"=="
,"=="
,"=="
,"=="
,"<=")
b <- c(1
, 2
, 3
, 1
, 1
, 1
, 60000)
library(Rglpk)
sol <- Rglpk_solve_LP(obj = f
, mat = A
, dir = dir
, rhs = b
, types = var.types
, max=TRUE)
myData[sol$solution == 1,]
sprintf('Cost is:$%i', sum(cost[sol$solution > 0]))
sprintf('Projected Points is: %f', sol$optimum)
Hier ist ein Link auf die Daten Ich verwende.
https://www.dropbox.com/s/d5m8jjnq32f0cpe/Week6NFLProjections.csv?dl=0
Ich bin auch zu dem Punkt, wo ich kann die Codeschleife, indem das Ziel mehr Aufstellungen erstellen = zur vorherige Partitur - .01. Als Randnotiz wird dieser Prozess deutlich verlangsamt, wenn er weiterläuft (etwa in der Aufstellung # 50), ist das normal und gibt es einen effizienteren Weg, dies zu wiederholen?
Meine eigentliche Frage ist, wie kann ich einige umfangreichere Einschränkungen hinzufügen. In Fantasy Football ist es sinnvoll, Spieler aus dem gleichen Team zusammen zu "paaren", und ich kann mir nicht vorstellen, wie ich das in die Zwänge bringen würde.
Für ein einfaches Pairing-Beispiel, wie könnte ich eine Einschränkung hinzufügen, so dass meine "optimale Aufstellung" würde die D und K aus dem gleichen Team haben? Ich bin tatsächlich in der Lage gewesen, diese Frage zu umgehen, indem ich nur die D + K in der CSV-Datei kombiniere, aber interessiert bin, wie ich das in R codieren würde. Ein komplexeres Paarungsszenario wäre, meine QB und nur zu haben 1 der (3) WR/(1) TE sind im selben Team.
Eine andere wäre sicherzustellen, dass keiner der offensiven Spieler gegen meine eigene Verteidigung spielt.
Jede Hilfe würde sehr geschätzt werden. Ich kann nirgendwo eine Antwort finden.
Ich denke, ich könnte einen Vektor für Teams erstellen ich.e 'code' teams <- myData $ Team' code' Aber wie kann ich das verwenden, um sicherzustellen, dass meine ausgewählte D = ausgewählt K – NxtWrldChamp