【发布时间】:2013-02-15 08:15:38
【问题描述】:
考虑到不同的限制条件,我正在努力挑选最好的梦幻足球队。我的目标是挑选能够最大化他们的投影总和的玩家。
约束是:
1) 团队必须包括:
-1 四分卫
-2 RB
-2 WR
-1 TE
2) 玩家的风险不得超过 6
3) 玩家的费用总和不得超过300。
我该怎么做? R 中优化这些约束的最佳包/功能是什么?给定这些约束,最大化投影点的函数调用会是什么样子?仅供参考,我将搜索 100-300 名玩家。
提前致谢!这是一个小的示例数据集:
name <- c("Aaron Rodgers","Tom Brady","Arian Foster","Ray Rice","LeSean McCoy","Calvin Johnson","Larry Fitzgerald","Wes Welker","Rob Gronkowski","Jimmy Graham")
pos <- c("QB","QB","RB","RB","RB","WR","WR","WR","TE","TE")
pts <- c(167, 136, 195, 174, 144, 135, 89, 81, 114, 111)
risk <- c(2.9, 3.4, 0.7, 1.1, 3.5, 5.0, 6.7, 4.7, 3.7, 8.8)
cost <- c(60, 47, 63, 62, 40, 60, 50, 35, 40, 40)
mydata <- data.frame(name, pos, pts, risk, cost)
【问题讨论】:
-
欢迎来到 SO。 :-) 你已经尝试过什么?这是一个有趣的问题,但这里的人们会希望看到你已经尝试过将某些东西放在一起。代码行开头的 4 个空格也将其格式化为代码块。
-
你打算搜索所有玩家吗?您想搜索多少个玩家?对于您的示例,只有 2*3*3*2=36 个团队。但如果有 100 名玩家,则可能有大约 20*20*(30*29/2)*(30*29)/2=7590000 支队伍。
-
嗨,西蒙和赛斯,谢谢。我可以使用 Excel 的求解器函数进行此优化,但我不熟悉如何在 R 中进行线性优化。我看到有很多不同的函数,但我不确定哪个最相关我的问题类型,我没有在 R 中为优化函数编写参数的经验。任何帮助将不胜感激。顺便说一句,我正在搜索大约 100-300 名玩家。
-
这似乎是一个很好的例子:fishyoperations.com/r/…
-
@dadrivr 如果它充分解决了您的问题,请不要忘记接受 Flodel 的回复。您可以通过检查响应旁边的勾号来做到这一点。这是“奖励”受访者帮助您的时间的一种小方法。
标签: r optimization constraints linear-programming